<?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>189283</bug_id>
          
          <creation_ts>2018-09-04 16:31:58 -0700</creation_ts>
          <short_desc>[WebAuthN] Polish WebAuthN auto-test environment</short_desc>
          <delta_ts>2018-10-01 13:55:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>182769</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>alex.gaynor</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1456513</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-04 16:31:58 -0700</bug_when>
    <thetext>Currently, tests of WebAuthN spread in three places:
1) LayoutTests/http/tests/webauthn/
2) LayoutTests/http/tests/wpt/webauthn/
3) TestWebKitAPI/Tests/ios/LocalAuthenticator.mm

It will be great to have them all in LayoutTests/http/tests/wpt/webauthn/. This could be achieved by:
1) making tests under LayoutTests/http/tests/webauthn/ become wpt async tests.
2) mocking transport layer abstraction, says HIDService, and providing necessary test configuration functions in testRunner.idl such that layout tests could then directly manipulate the most underlying layer of WebAuthN to have test behaviors/results they expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456517</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-04 16:34:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/44117828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464202</commentid>
    <comment_count>2</comment_count>
      <attachid>351016</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-27 15:55:54 -0700</bug_when>
    <thetext>Created attachment 351016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464209</commentid>
    <comment_count>3</comment_count>
      <attachid>351019</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-27 16:32:37 -0700</bug_when>
    <thetext>Created attachment 351019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464564</commentid>
    <comment_count>4</comment_count>
      <attachid>351019</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-28 15:42:15 -0700</bug_when>
    <thetext>Comment on attachment 351019
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=351019&amp;action=review

r=me

&gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:582
&gt; +        MockWebAuthenticationConfiguration::Local local;

Any reason we are using a local variable instead of assigning straight into configuration.local?

&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:77
&gt; +        if (!configuration.local.value().acceptAuthentication) {

Cannot we use onfiguration.local-&gt;acceptAuthentication ?

&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:90
&gt; +        if (!configuration.local.value().acceptAuthentication) {

ditto.

&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:105
&gt; +        if (!configuration.local.value().acceptAttestation) {

ditto.

&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:118
&gt; +            (__bridge CFDataRef)adoptNS([[NSData alloc] initWithBase64EncodedString:configuration.local.value().privateKeyBase64 options:NSDataBase64DecodingIgnoreUnknownCharacters]).get(),

ditto.

&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalService.cpp:45
&gt; +    if (!m_configuration.local)

return !!m_configuration.local; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464576</commentid>
    <comment_count>5</comment_count>
      <attachid>351019</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-28 15:58:24 -0700</bug_when>
    <thetext>Comment on attachment 351019
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=351019&amp;action=review

Thanks Chris for r+ my patch.

&gt;&gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:582
&gt;&gt; +        MockWebAuthenticationConfiguration::Local local;
&gt; 
&gt; Any reason we are using a local variable instead of assigning straight into configuration.local?

configuration.local is a std::optional. How?

&gt;&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:77
&gt;&gt; +        if (!configuration.local.value().acceptAuthentication) {
&gt; 
&gt; Cannot we use onfiguration.local-&gt;acceptAuthentication ?

Sure.

&gt;&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:90
&gt;&gt; +        if (!configuration.local.value().acceptAuthentication) {
&gt; 
&gt; ditto.

Fixed.

&gt;&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:105
&gt;&gt; +        if (!configuration.local.value().acceptAttestation) {
&gt; 
&gt; ditto.

Fixed.

&gt;&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:118
&gt;&gt; +            (__bridge CFDataRef)adoptNS([[NSData alloc] initWithBase64EncodedString:configuration.local.value().privateKeyBase64 options:NSDataBase64DecodingIgnoreUnknownCharacters]).get(),
&gt; 
&gt; ditto.

Fixed.

&gt;&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalService.cpp:45
&gt;&gt; +    if (!m_configuration.local)
&gt; 
&gt; return !!m_configuration.local; ?

I don&apos;t think so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464577</commentid>
    <comment_count>6</comment_count>
      <attachid>351019</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-28 15:59:44 -0700</bug_when>
    <thetext>Comment on attachment 351019
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=351019&amp;action=review

&gt;&gt;&gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp:582
&gt;&gt;&gt; +        MockWebAuthenticationConfiguration::Local local;
&gt;&gt; 
&gt;&gt; Any reason we are using a local variable instead of assigning straight into configuration.local?
&gt; 
&gt; configuration.local is a std::optional. How?

Ah, I missed that it was an optional. Please disregard this comment.

&gt;&gt;&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalService.cpp:45
&gt;&gt;&gt; +    if (!m_configuration.local)
&gt;&gt; 
&gt;&gt; return !!m_configuration.local; ?
&gt; 
&gt; I don&apos;t think so.

Why not? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464580</commentid>
    <comment_count>7</comment_count>
      <attachid>351134</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-28 16:02:10 -0700</bug_when>
    <thetext>Created attachment 351134
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464584</commentid>
    <comment_count>8</comment_count>
      <attachid>351019</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-28 16:04:50 -0700</bug_when>
    <thetext>Comment on attachment 351019
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=351019&amp;action=review

&gt;&gt;&gt;&gt; Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalService.cpp:45
&gt;&gt;&gt;&gt; +    if (!m_configuration.local)
&gt;&gt;&gt; 
&gt;&gt;&gt; return !!m_configuration.local; ?
&gt;&gt; 
&gt;&gt; I don&apos;t think so.
&gt; 
&gt; Why not? :)

I was thinking you suggested me to replace !m_configuration.local with !!m_configuration.local. lol.
Yup. Why not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464598</commentid>
    <comment_count>9</comment_count>
      <attachid>351137</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-28 16:21:17 -0700</bug_when>
    <thetext>Created attachment 351137
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464618</commentid>
    <comment_count>10</comment_count>
      <attachid>351137</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-28 17:02:49 -0700</bug_when>
    <thetext>Comment on attachment 351137
Patch for landing

Clearing flags on attachment: 351137

Committed r236625: &lt;https://trac.webkit.org/changeset/236625&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351016</attachid>
            <date>2018-09-27 15:55:54 -0700</date>
            <delta_ts>2018-09-27 16:32:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189283-20180927155553.patch</filename>
            <type>text/plain</type>
            <size>128763</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwN2ViYjUzNzBmYjM5
MmMwYTQxZjA5ZmM4NDI0Y2ZmODAxNDYxYS4uMjNjMjdkZTM2NjVmMjMyN2JjNDc3NGUxNTEyZmQx
MmNmYTQyZWIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTA5LTI3ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQb2xp
c2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIG1vY2tpbmcgbWVjaGFuaXNtLgorCisgICAg
ICAgIFRlc3RzOiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRl
LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
d3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFt
ZXRlcnMuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwKKwor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6SW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsczo6bW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvciBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3IuaWRsOiBSZW1vdmVkLgorCiAyMDE4LTA5LTI1ICBKb2huIFdpbGFuZGVyICA8d2ls
YW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5nZSBmcm9tIEhBVkUoQ0ZORVRXT1JLX1NU
T1JBR0VfUEFSVElUSU9OSU5HKSB0byBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBlOTU5OTNlZDEyOGE3OWNhNDZmNDU3YjIyYzE3ZThhYWVhZGI5MWQwLi5kNGZi
M2FlYThiMGI2Njc1NGVhZTg5ODIzOTY0MzM3YTA3OGYzNTMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDE4LTA5LTI3ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dlYkF1dGhOXSBQb2xpc2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyBNb2NrV2ViQXV0
aGVudGljYXRpb25Db25maWd1cmF0aW9uLmxvY2FsIHRvIG9wdGlvbmFsIHN1Y2ggdGhhdCB0ZXN0
cyBjYW4gZXhwcmVzcworICAgICAgICBhYnNlbmNlIG9mIGxvY2FsIGF1dGhlbnRpY2F0b3JzLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6Cisg
ICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVTZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1
cmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2Nr
TG9jYWxDb25uZWN0aW9uLm1tOgorICAgICAgICAoV2ViS2l0OjpNb2NrTG9jYWxDb25uZWN0aW9u
OjpnZXRVc2VyQ29uc2VudCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Ok1vY2tMb2NhbENvbm5l
Y3Rpb246OmdldEF0dGVzdGF0aW9uIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxTZXJ2aWNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TW9ja0xvY2FsU2VydmljZTo6cGxhdGZvcm1TdGFydERpc2NvdmVyeSBjb25zdCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9u
Q29uZmlndXJhdGlvbi5oOgorCiAyMDE4LTA5LTI1ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYSBxdWljayBmaXggYWZ0ZXIgcjIzNjQ4
MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU5MDc4OWFjYWMyYzEyYzY2ZWU0
Y2VlODM0MzBkNDE2MTE4YmRmYWUuLjk5ZGNlNGRlMTcwZmE0ZWZhZmFhNDI0MDNiOTRiYzFlMTZi
OGM0YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtOTc2LDcgKzk3Niw2IEBA
IEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01hbGxvY1N0YXRpc3RpY3MuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3Rlc3RpbmcvTWVtb3J5SW5mby5pZGwgXAotICAgICQoV2ViQ29yZSkvdGVzdGlu
Zy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0
aW5nL01vY2tDRE1GYWN0b3J5LmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tDb250
ZW50RmlsdGVyU2V0dGluZ3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BhZ2VP
dmVybGF5LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMjVkYTU2NjM5ZDJiY2M1NTcxZjNlZmI3NDg3ODk2ZTAxNTY5NzQ5
My4uZmQ4NDllYjcyMmYyZGU3OGI4ODkxZDdhOTFjMWQwYTc5ZTRiZGY5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTc2OCw4
ICsxNzY4LDYgQEAKIAkJNTc1MEE5ODcxRTZBMjE2ODAwNzA1QzRBIC8qIENyeXB0b0FsZ29yaXRo
bUVDREguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
NTBBOTg1MUU2QTIxNjgwMDcwNUM0QSAvKiBDcnlwdG9BbGdvcml0aG1FQ0RILmggKi87IH07CiAJ
CTU3NTQ3MTlGMUVDRTYyODMwMERENjNCMiAvKiBKU1JzYVBzc1BhcmFtcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc1NDcxOTkxRUNFNUQyQTAwREQ2
M0IyIC8qIEpTUnNhUHNzUGFyYW1zLmggKi87IH07CiAJCTU3NjA4MjcyMjAyMTVBNTUwMDExNjY3
OCAvKiBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjA4MjcwMjAyMTUxM0YwMDExNjY3OCAvKiBB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1NzYwODI3QTIwMjRFQTVDMDAxMTY2NzggLyogTW9j
a0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTc2MDgyNzgyMDI0NERBQjAwMTE2Njc4IC8qIE1vY2tBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3IuaCAqLzsgfTsKLQkJNTc2MDgyN0IyMDI0RUQyOTAwMTE2Njc4IC8q
IE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2MDgyNzkyMDI0NERBQzAwMTE2Njc4IC8qIE1vY2tB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwICovOyB9OwogCQk1NzY4MTQyQTFFNkY5OUMxMDBF
Nzc3NTQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkaEtleURlcml2ZVBhcmFtcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2ODE0MjkxRTZGOTlDMTAwRTc3
NzU0IC8qIENyeXB0b0FsZ29yaXRobUVjZGhLZXlEZXJpdmVQYXJhbXMuaCAqLzsgfTsKIAkJNTc2
ODE0NDExRTcwOUZBNDAwRTc3NzU0IC8qIEpTRWNkaEtleURlcml2ZVBhcmFtcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2ODE0M0UxRTcwOUMzNjAw
RTc3NzU0IC8qIEpTRWNkaEtleURlcml2ZVBhcmFtcy5oICovOyB9OwogCQk1NzY4MTQ0NTFFNzBD
QjFGMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjgxNDQzMUU3MENCMTAwMEU3Nzc1NCAvKiBKU0Flc0tl
eVBhcmFtcy5oICovOyB9OwpAQCAtMTc5MSw4ICsxNzg5LDYgQEAKIAkJNTdEODQ2MjgxRkU4OTYw
NTAwQ0EzNjgyIC8qIE5hdmlnYXRvckNyZWRlbnRpYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0Q4NDYyNjFGRTg5NUY4MDBDQTM2ODIgLyogTmF2
aWdhdG9yQ3JlZGVudGlhbHMuaCAqLzsgfTsKIAkJNTdEODQ2MkUxRkVBRjY5OTAwQ0EzNjgyIC8q
IFB1YmxpY0tleUNyZWRlbnRpYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU3RDg0NjJCMUZFQUY2OEYwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVkZW50
aWFsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NTdEODQ2MzUxRkVBRkNEMzAwQ0EzNjgyIC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEODQ2MzAxRkVBRkMy
RjAwQ0EzNjgyIC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbC5oICovOyB9OwotCQk1N0RDRUQ2NzIx
NDA3NzVCMDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRUQ2MjIxNDA3NjND
MDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi87IH07Ci0JCTU3
RENFRDY5MjE0MDc3NjQwMDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VE
NjMyMTQwNzYzQzAwMTZCODQ3IC8qIEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAg
Ki87IH07CiAJCTU3RENFRDc0MjE0MzA1RjAwMDE2Qjg0NyAvKiBQdWJsaWNLZXlDcmVkZW50aWFs
RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdE
Q0VENzIyMTQzMDVGMDAwMTZCODQ3IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTdEQ0VEOTAyMTQ4
N0ZGNzAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDhDMjE0ODdFREIwMDE2Qjg0NyAv
KiBBdXRoZW50aWNhdG9yVHJhbnNwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTdEQ0VEOTgyMTQ4ODIxNjAwMTZCODQ3IC8qIEpTQXV0aGVu
dGljYXRvclRyYW5zcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTdEQ0VEOTIyMTQ4ODBDNjAwMTZCODQ3IC8qIEpTQXV0aGVudGljYXRvclRyYW5z
cG9ydC5oICovOyB9OwpAQCAtODU1OCw5ICs4NTU0LDYgQEAKIAkJNTc2MDgyNEYyMDExOEQ4RDAw
MTE2Njc4IC8qIEpTQmFzaWNDcmVkZW50aWFsQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTQmFzaWNDcmVkZW50aWFsQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTc2MDgyNTYyMDExQkUwMjAwMTE2Njc4IC8qIEpTQXV0aGVudGljYXRvclJlc3BvbnNlQ3Vz
dG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXV0aGVudGljYXRvclJlc3BvbnNlQ3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc2MDgyNzAyMDIxNTEzRjAwMTE2
Njc4IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJNTc2MDgyNzgyMDI0NERBQjAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1NzYwODI3OTIwMjQ0REFDMDAxMTY2NzggLyog
TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2Nr
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNTc2MDgyODAyMDI1NTZGNDAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1NzYwODI5MzIwMkJBOTUzMDAxMTY2NzggLyogQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dGhlbnRpY2F0
b3JDb29yZGluYXRvckNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3
NjgxNDI4MUU2Rjk4QUQwMEU3Nzc1NCAvKiBFY2RoS2V5RGVyaXZlUGFyYW1zLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBF
Y2RoS2V5RGVyaXZlUGFyYW1zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc2
ODE0MjkxRTZGOTlDMTAwRTc3NzU0IC8qIENyeXB0b0FsZ29yaXRobUVjZGhLZXlEZXJpdmVQYXJh
bXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtRWNk
aEtleURlcml2ZVBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODYxNSw4
ICs4NjA4LDYgQEAKIAkJNTdEODQ2MkQxRkVBRjY4RjAwQ0EzNjgyIC8qIFB1YmxpY0tleUNyZWRl
bnRpYWwuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFB1YmxpY0tleUNyZWRlbnRpYWwuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1N0Q4NDYzMDFGRUFGQzJGMDBDQTM2ODIgLyogSlNQdWJsaWNLZXlDcmVk
ZW50aWFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUHVibGljS2V5Q3Jl
ZGVudGlhbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0Q4NDYzMTFGRUFGQzJG
MDBDQTM2ODIgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTUHVibGljS2V5Q3JlZGVudGlhbC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTU3RENFRDYyMjE0MDc2M0MwMDE2Qjg0NyAvKiBKU01vY2tBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTU3RENFRDYzMjE0MDc2M0MwMDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2Nr
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTdEQ0VENzIyMTQzMDVGMDAwMTZCODQ3IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU3RENFRDhDMjE0ODdFREIwMDE2Qjg0NyAvKiBBdXRoZW50aWNhdG9y
VHJhbnNwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdEQ0VEOEUyMTQ4N0VEQjAwMTZCODQ3IC8qIEF1
dGhlbnRpY2F0b3JUcmFuc3BvcnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcwMDUsOSArMTY5OTYsNiBAQAogCQkJ
CUE3QkU3RURFMTRDOTE3NUEwMDE0NDg5RCAvKiBNYWxsb2NTdGF0aXN0aWNzLmlkbCAqLywKIAkJ
CQlDRDUzOTNDQjE3NURDQ0U2MDBDMDcxMjMgLyogTWVtb3J5SW5mby5oICovLAogCQkJCUNENTM5
M0NDMTc1RENDRTYwMEMwNzEyMyAvKiBNZW1vcnlJbmZvLmlkbCAqLywKLQkJCQk1NzYwODI3OTIw
MjQ0REFDMDAxMTY2NzggLyogTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgKi8sCi0J
CQkJNTc2MDgyNzgyMDI0NERBQjAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuaCAqLywKLQkJCQk1NzYwODI4MDIwMjU1NkY0MDAxMTY2NzggLyogTW9ja0F1dGhlbnRpY2F0
b3JDb29yZGluYXRvci5pZGwgKi8sCiAJCQkJQ0RGNEI3MjExRTAzQkY4MTAwRTIzNUEyIC8qIE1v
Y2tDRE1GYWN0b3J5LmNwcCAqLywKIAkJCQlDREY0QjcyMjFFMDNCRjgxMDBFMjM1QTIgLyogTW9j
a0NETUZhY3RvcnkuaCAqLywKIAkJCQlDREY0QjcxRjFFMDNCRjZGMDBFMjM1QTIgLyogTW9ja0NE
TUZhY3RvcnkuaWRsICovLApAQCAtMTcwNjIsOCArMTcwNTAsNiBAQAogCQkJCUE3QjRFQTY5MTRD
OTM0ODQwMEM4RjVCRiAvKiBKU01hbGxvY1N0YXRpc3RpY3MuaCAqLywKIAkJCQlDRDUzOTNEMTE3
NUUwMTg2MDBDMDcxMjMgLyogSlNNZW1vcnlJbmZvLmNwcCAqLywKIAkJCQlDRDUzOTNEMjE3NUUw
MTg2MDBDMDcxMjMgLyogSlNNZW1vcnlJbmZvLmggKi8sCi0JCQkJNTdEQ0VENjMyMTQwNzYzQzAw
MTZCODQ3IC8qIEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgKi8sCi0JCQkJNTdE
Q0VENjIyMTQwNzYzQzAwMTZCODQ3IC8qIEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5o
ICovLAogCQkJCUNERjRCNzJEMUUwM0NBNEEwMEUyMzVBMiAvKiBKU01vY2tDRE1GYWN0b3J5LmNw
cCAqLywKIAkJCQlDREY0QjcyRTFFMDNDQTRBMDBFMjM1QTIgLyogSlNNb2NrQ0RNRmFjdG9yeS5o
ICovLAogCQkJCUExOUFFQTFEMUFBQTgwNkUwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVy
U2V0dGluZ3MuY3BwICovLApAQCAtMTg3NzgsOCArMTg3NjQsNiBAQAogCQk1NzRGNTVERDIwNEYz
NzQ0MDAyOTQ4QzYgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAotCQkJCTU3NEY1NURFMjA0RjM3NDQwMDI5NDhDNiAvKiBMb2NhbEF1dGhlbnRpY2F0
b3IuaCAqLywKLQkJCQk1NzRGNTVERjIwNEYzNzQ0MDAyOTQ4QzYgLyogTG9jYWxBdXRoZW50aWNh
dG9yLm1tICovLAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0yNzEwMiw3ICsyNzA4Niw2IEBACiAJCQkJNTNFRDNGREYxNjdBODhFNzAwNjc2
MkU2IC8qIEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTc0MEI1OTUxNEM5MzVBQjAwQTc3RkE0IC8qIEpTTWFsbG9jU3RhdGlzdGljcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0Q1MzkzRDQxNzVFMDE4NjAwQzA3MTIzIC8qIEpTTWVtb3J5SW5mby5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNTdEQ0VENjcyMTQwNzc1QjAwMTZCODQ3IC8qIEpTTW9ja0F1dGhl
bnRpY2F0b3JDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTM4RUM5MzMxRjk5QjlG
NzAwNEQyMkE4IC8qIEpTTW9ja0NETUZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExOUFF
QTIxMUFBQTgwODYwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUzOEVDOTM0MUY5OUI5RjcwMDREMjJBOCAvKiBKU01vY2tQYWdlT3Zl
cmxheS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzExMSw3ICsyNzA5NCw2IEBACiAJCQkJNDI3REE3
MUUxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRUJGNTEyMUQxNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZlcnNpb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDREMyNkI0MTE2MEE4Q0NFMDAyNjc1N0IgLyogTGVnYWN5
TW9ja0NETS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTc2MDgyN0EyMDI0RUE1QzAwMTE2Njc4IC8q
IE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQkY2
QjgzMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTFCNUIyOUYxQUFBODQ2RjAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGlu
Z3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDU4QURDMUQ2NzkyQzEwMDlBNTM4QyAvKiBNb2Nr
R2FtZXBhZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTUyNCw3ICszMTUwNiw2IEBACiAJCQkJNTNF
RDNGREUxNjdBODhFNzAwNjc2MkU2IC8qIEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzhFQzkzMjFGOTlCOUY3MDA0RDIyQTggLyogSlNNYWxsb2NT
dGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENTM5M0QzMTc1RTAxODYwMEMwNzEy
MyAvKiBKU01lbW9yeUluZm8uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTdEQ0VENjkyMTQwNzc2
NDAwMTZCODQ3IC8qIEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlDREY0QjczMjFFMDNEMDYwMDBFMjM1QTIgLyogSlNNb2NrQ0RNRmFjdG9yeS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTlBRUEyMjFBQUE4MDhBMDBCNTJCMjUgLyogSlNNb2Nr
Q29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENDE1MERFMUMx
Rjg2OEMwMDBBM0JBMiAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMxNTMzLDcgKzMxNTE0LDYgQEAKIAkJCQk0MjdEQTcxRDEzNzM1REZBMDA3QzU3RkIgLyogSlNT
ZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUVCRjUxMjFDMTY5
NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDREMyNkI0MDE2MEE4Q0M2MDAyNjc1N0IgLyogTGVnYWN5TW9ja0NETS5jcHAgaW4gU291cmNl
cyAqLywKLQkJCQk1NzYwODI3QjIwMjRFRDI5MDAxMTY2NzggLyogTW9ja0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREY0QjczMTFFMDNEMDA3MDBFMjM1
QTIgLyogTW9ja0NETUZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFCRjZCODIxQUE5
NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUExQjVCMjlFMUFBQTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGFj
MWY5ZDBhZWIwNjk3NTkzNDQxYjQ4Mjg0ZmIwYjE2NzVjNGQ2MDIuLmI0ZTdiMGJmNTgyZWU4NzY5
YmM5MWI1NTMxMzM4Y2E0N2E3MDdlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTI2OCwxMSArMjY4LDYgQEAKICNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3IuaCIK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKFdFQl9BVVRITikKLSNpbmNsdWRlICJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3IuaCIKLSNpbmNsdWRlICJNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgi
Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgJiYgVVNFKExJQldFQlJUQykKICNpbmNsdWRl
IDx3ZWJydGMvc2RrL1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oPgogI2VuZGlmCkBA
IC01NTMsMTUgKzU0OCw2IEBAIEludGVybmFsczo6SW50ZXJuYWxzKERvY3VtZW50JiBkb2N1bWVu
dCkKICAgICAgICAgZnJhbWUtPnBhZ2UoKS0+c2V0UGF5bWVudENvb3JkaW5hdG9yKHN0ZDo6bWFr
ZV91bmlxdWU8UGF5bWVudENvb3JkaW5hdG9yPigqbV9tb2NrUGF5bWVudENvb3JkaW5hdG9yKSk7
CiAgICAgfQogI2VuZGlmCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIC8vIEZJWE1FKDE4
OTI4MykKLSAgICBpZiAoZG9jdW1lbnQucGFnZSgpKSB7Ci0gICAgICAgIGF1dG8gbW9ja0F1dGhl
bnRpY2F0b3JDb29yZGluYXRvciA9IHN0ZDo6bWFrZV91bmlxdWU8TW9ja0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvcj4oKTsKLSAgICAgICAgbV9tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yID0g
bWFrZVdlYWtQdHIobW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5nZXQoKSk7Ci0vLyAgICAg
ICAgZG9jdW1lbnQucGFnZSgpLT5hdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IoKS5zZXRDbGllbnQo
V1RGTW92ZShtb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yKSk7Ci0gICAgfQotI2VuZGlmCiB9
CiAKIERvY3VtZW50KiBJbnRlcm5hbHM6OmNvbnRleHREb2N1bWVudCgpIGNvbnN0CkBAIC00NjQ3
LDEzICs0NjMzLDYgQEAgTW9ja1BheW1lbnRDb29yZGluYXRvciYgSW50ZXJuYWxzOjptb2NrUGF5
bWVudENvb3JkaW5hdG9yKCkgY29uc3QKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKFdFQl9BVVRI
TikKLU1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3ImIEludGVybmFsczo6bW9ja0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICptX21vY2tBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3I7Ci19Ci0jZW5kaWYKLQogYm9vbCBJbnRlcm5hbHM6OmlzU3lzdGVtUHJl
dmlld0xpbmsoRWxlbWVudCYgZWxlbWVudCkgY29uc3QKIHsKICNpZiBVU0UoU1lTVEVNX1BSRVZJ
RVcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBiODFiOTU0MmUxOGJlOGY5ZmVi
NDFhYTQyODJiMWRkNzc2MDcwZGRkLi4xY2QxNjVmMWQwZDM2ODZkYjUzZmYwYjZiYzJmOWJkOWNh
YjNhZjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTc5LDcgKzc5LDYgQEAg
Y2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKIGNsYXNzIE1lbW9yeUluZm87CiBjbGFzcyBNb2NrQ0RN
RmFjdG9yeTsKIGNsYXNzIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M7Ci1jbGFzcyBNb2NrQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yOwogY2xhc3MgTW9ja1BhZ2VPdmVybGF5OwogY2xhc3MgTW9j
a1BheW1lbnRDb29yZGluYXRvcjsKIGNsYXNzIE5vZGVMaXN0OwpAQCAtNzA2LDEwICs3MDUsNiBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHRlc3RJbmNvbWluZ1N5bmNJUENNZXNzYWdlV2hpbGVXYWl0
aW5nRm9yU3luY1JlcGx5KCk7CiAKLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIE1vY2tBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3ImIG1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IoKSBjb25z
dDsKLSNlbmRpZgotCiAgICAgYm9vbCBpc1N5c3RlbVByZXZpZXdMaW5rKEVsZW1lbnQmKSBjb25z
dDsKICAgICBib29sIGlzU3lzdGVtUHJldmlld0ltYWdlKEVsZW1lbnQmKSBjb25zdDsKIApAQCAt
ODA4LDEwICs4MDMsNiBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgTW9j
a1BheW1lbnRDb29yZGluYXRvciogbV9tb2NrUGF5bWVudENvb3JkaW5hdG9yIHsgbnVsbHB0ciB9
OwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIFdlYWtQdHI8TW9ja0F1dGhl
bnRpY2F0b3JDb29yZGluYXRvcj4gbV9tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOwotI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKaW5kZXggZjQxNWEzMmEwYjhhNGNlNWYxZmQ5ODZkNmIwYWMzZWI4YTJlNzg3ZC4u
NDIyMmZjY2EwOGEyZWE2NTI0MjhkNDQ5MGQ1M2E4NjM0MTY2YTQyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNjg2LDcgKzY4Niw2IEBAIGVudW0gQ29tcG9zaXRpbmdQ
b2xpY3kgewogICAgIFtFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlvbnNdIHZvaWQgcGF1c2VU
aW1lbGluZShBbmltYXRpb25UaW1lbGluZSB0aW1lbGluZSk7CiAgICAgW0VuYWJsZWRBdFJ1bnRp
bWU9V2ViQW5pbWF0aW9uc10gdm9pZCBzZXRUaW1lbGluZUN1cnJlbnRUaW1lKEFuaW1hdGlvblRp
bWVsaW5lIHRpbWVsaW5lLCBkb3VibGUgY3VycmVudFRpbWUpOwogICAgIFtDb25kaXRpb25hbD1B
UFBMRV9QQVldIHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5bWVudENvb3JkaW5hdG9yIG1vY2tQ
YXltZW50Q29vcmRpbmF0b3I7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9BVVRITl0gcmVhZG9ubHkg
YXR0cmlidXRlIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IgbW9ja0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvcjsKIAogICAgIGJvb2xlYW4gaXNTeXN0ZW1QcmV2aWV3TGluayhFbGVtZW50IGVs
ZW1lbnQpOwogICAgIGJvb2xlYW4gaXNTeXN0ZW1QcmV2aWV3SW1hZ2UoRWxlbWVudCBlbGVtZW50
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDdkNjlhNjJk
NjBhZDk4NjQ3N2FkNmEzMmQ0ODZiMDRiNTRjZjkxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJNb2NrQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotCi0jaW5jbHVkZSAiSW50
ZXJuYWxzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVkZW50aWFsRGF0YS5oPgot
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12b2lkIE1v
Y2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OnNldENyZWF0aW9uUmV0dXJuQnVuZGxlKGNvbnN0
IEJ1ZmZlclNvdXJjZSYgY3JlZGVudGlhbElkLCBjb25zdCBCdWZmZXJTb3VyY2UmIGF0dGVzdGF0
aW9uT2JqZWN0KQotewotICAgIEFTU0VSVCghbV9jcmVkZW50aWFsSWQgJiYgIW1fYXR0ZXN0YXRp
b25PYmplY3QpOwotICAgIG1fY3JlZGVudGlhbElkID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShjcmVk
ZW50aWFsSWQuZGF0YSgpLCBjcmVkZW50aWFsSWQubGVuZ3RoKCkpOwotICAgIG1fYXR0ZXN0YXRp
b25PYmplY3QgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGF0dGVzdGF0aW9uT2JqZWN0LmRhdGEoKSwg
YXR0ZXN0YXRpb25PYmplY3QubGVuZ3RoKCkpOwotfQotCi12b2lkIE1vY2tBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3I6OnNldEFzc2VydGlvblJldHVybkJ1bmRsZShjb25zdCBCdWZmZXJTb3VyY2Um
IGNyZWRlbnRpYWxJZCwgY29uc3QgQnVmZmVyU291cmNlJiBhdXRoZW50aWNhdG9yRGF0YSwgY29u
c3QgQnVmZmVyU291cmNlJiBzaWduYXR1cmUsIGNvbnN0IEJ1ZmZlclNvdXJjZSYgdXNlckhhbmRs
ZSkKLXsKLSAgICBBU1NFUlQoIW1fY3JlZGVudGlhbElkICYmICFtX2F1dGhlbnRpY2F0b3JEYXRh
ICYmICFtX3NpZ25hdHVyZSAmJiAhbV91c2VySGFuZGxlKTsKLSAgICBtX2NyZWRlbnRpYWxJZCA9
IEFycmF5QnVmZmVyOjpjcmVhdGUoY3JlZGVudGlhbElkLmRhdGEoKSwgY3JlZGVudGlhbElkLmxl
bmd0aCgpKTsKLSAgICBtX2F1dGhlbnRpY2F0b3JEYXRhID0gQXJyYXlCdWZmZXI6OmNyZWF0ZShh
dXRoZW50aWNhdG9yRGF0YS5kYXRhKCksIGF1dGhlbnRpY2F0b3JEYXRhLmxlbmd0aCgpKTsKLSAg
ICBtX3NpZ25hdHVyZSA9IEFycmF5QnVmZmVyOjpjcmVhdGUoc2lnbmF0dXJlLmRhdGEoKSwgc2ln
bmF0dXJlLmxlbmd0aCgpKTsKLSAgICBtX3VzZXJIYW5kbGUgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRl
KHVzZXJIYW5kbGUuZGF0YSgpLCB1c2VySGFuZGxlLmxlbmd0aCgpKTsKLX0KLQotdm9pZCBNb2Nr
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3JlZGVudGlhbChjb25zdCBWZWN0b3I8dWlu
dDhfdD4mLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiwgUmVxdWVz
dENvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKLXsKLSAgICBpZiAoIXNldFJlcXVlc3RDb21w
bGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
aWYgKG1fZGlkVGltZU91dCkgewotICAgICAgICBtX2RpZFRpbWVPdXQgPSBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAobV9kaWRVc2VyQ2FuY2VsKSB7Ci0gICAgICAgIG1f
ZGlkVXNlckNhbmNlbCA9IGZhbHNlOwotICAgICAgICByZXF1ZXN0UmVwbHkoeyB9LCB7IE5vdEFs
bG93ZWRFcnJvciwgIlVzZXIgY2FuY2VsbGVkLiJfcyB9KTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBpZiAobV9jcmVkZW50aWFsSWQpIHsKLSAgICAgICAgQVNTRVJUKG1fYXR0ZXN0YXRp
b25PYmplY3QpOwotICAgICAgICByZXF1ZXN0UmVwbHkoUHVibGljS2V5Q3JlZGVudGlhbERhdGEg
eyBXVEZNb3ZlKG1fY3JlZGVudGlhbElkKSwgdHJ1ZSwgbnVsbHB0ciwgV1RGTW92ZShtX2F0dGVz
dGF0aW9uT2JqZWN0KSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciB9LCB7IH0pOwotICAgICAg
ICBtX2NyZWRlbnRpYWxJZCA9IG51bGxwdHI7Ci0gICAgICAgIG1fYXR0ZXN0YXRpb25PYmplY3Qg
PSBudWxscHRyOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotfQotCi12b2lkIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmdldEFzc2VydGlv
bihjb25zdCBWZWN0b3I8dWludDhfdD4mLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVz
dE9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQotewotICAgIGlm
ICghc2V0UmVxdWVzdENvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxlcikpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBpZiAobV9kaWRUaW1lT3V0KSB7Ci0gICAgICAgIG1fZGlkVGltZU91
dCA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChtX2RpZFVzZXJDYW5j
ZWwpIHsKLSAgICAgICAgbV9kaWRVc2VyQ2FuY2VsID0gZmFsc2U7Ci0gICAgICAgIHJlcXVlc3RS
ZXBseSh7IH0sIHsgTm90QWxsb3dlZEVycm9yLCAiVXNlciBjYW5jZWxsZWQuIl9zIH0pOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChtX2NyZWRlbnRpYWxJZCkgewotICAgICAgICBB
U1NFUlQobV9hdXRoZW50aWNhdG9yRGF0YSAmJiBtX3NpZ25hdHVyZSAmJiBtX3VzZXJIYW5kbGUp
OwotICAgICAgICByZXF1ZXN0UmVwbHkoUHVibGljS2V5Q3JlZGVudGlhbERhdGEgeyBXVEZNb3Zl
KG1fY3JlZGVudGlhbElkKSwgZmFsc2UsIG51bGxwdHIsIG51bGxwdHIsIFdURk1vdmUobV9hdXRo
ZW50aWNhdG9yRGF0YSksIFdURk1vdmUobV9zaWduYXR1cmUpLCBXVEZNb3ZlKG1fdXNlckhhbmRs
ZSkgfSwgeyB9KTsKLSAgICAgICAgbV9jcmVkZW50aWFsSWQgPSBudWxscHRyOwotICAgICAgICBt
X2F1dGhlbnRpY2F0b3JEYXRhID0gbnVsbHB0cjsKLSAgICAgICAgbV9zaWduYXR1cmUgPSBudWxs
cHRyOwotICAgICAgICBtX3VzZXJIYW5kbGUgPSBudWxscHRyOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIE1vY2tBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3I6OmlzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRvckF2YWls
YWJsZShRdWVyeUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKLXsKLSAgICBhdXRvIG1lc3Nh
Z2VJZCA9IGFkZFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSk7Ci0gICAg
aWYgKG1fZGlkVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRvclByZXNlbnQpIHsKLSAg
ICAgICAgaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlUmVwbHko
bWVzc2FnZUlkLCB0cnVlKTsKLSAgICAgICAgbV9kaWRVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRo
ZW50aWNhdG9yUHJlc2VudCA9IGZhbHNlOwotICAgIH0gZWxzZQotICAgICAgICBpc1VzZXJWZXJp
ZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGVSZXBseShtZXNzYWdlSWQsIGZhbHNl
KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFdFQl9B
VVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0F1dGhlbnRpY2F0
b3JDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0YWM0NWVhMmZm
MzQ1NzVlYTQ2NGI5NTFiY2QxMzZhNDUxMmJhYmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotCi0jaW5jbHVkZSAi
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xpZW50LmgiCi0jaW5jbHVkZSAiQnVmZmVyU291cmNl
LmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBJbnRlcm5hbHM7Ci0KLWNsYXNzIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IgZmlu
YWwgOiBwdWJsaWMgQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xpZW50IHsKLXB1YmxpYzoKLSAg
ICB2b2lkIHNldERpZFRpbWVPdXQoKSB7IG1fZGlkVGltZU91dCA9IHRydWU7IH0KLSAgICB2b2lk
IHNldERpZFVzZXJDYW5jZWwoKSB7IG1fZGlkVXNlckNhbmNlbCA9IHRydWU7IH0KLSAgICB2b2lk
IHNldERpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50KCkgeyBtX2Rp
ZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50ID0gdHJ1ZTsgfQotICAg
IHZvaWQgc2V0Q3JlYXRpb25SZXR1cm5CdW5kbGUoY29uc3QgQnVmZmVyU291cmNlJiBjcmVkZW50
aWFsSWQsIGNvbnN0IEJ1ZmZlclNvdXJjZSYgYXR0ZXN0YXRpb25PYmplY3QpOwotICAgIHZvaWQg
c2V0QXNzZXJ0aW9uUmV0dXJuQnVuZGxlKGNvbnN0IEJ1ZmZlclNvdXJjZSYgY3JlZGVudGlhbElk
LCBjb25zdCBCdWZmZXJTb3VyY2UmIGF1dGhlbnRpY2F0b3JEYXRhLCBjb25zdCBCdWZmZXJTb3Vy
Y2UmIHNpZ25hdHVyZSwgY29uc3QgQnVmZmVyU291cmNlJiB1c2VySGFuZGxlKTsKLQotICAgIC8v
IFJlZkNvdW50ZWQgaXMgcmVxdWlyZWQgZm9yIEpTIHdyYXBwZXIuIFRoZXJlZm9yZSwgZmFrZSB0
aGVtIHRvIGNvbXBpbGUuCi0gICAgdm9pZCByZWYoKSBjb25zdCB7IH0KLSAgICB2b2lkIGRlcmVm
KCkgY29uc3QgeyB9Ci0KLXByaXZhdGU6Ci0gICAgdm9pZCBtYWtlQ3JlZGVudGlhbChjb25zdCBW
ZWN0b3I8dWludDhfdD4mIGhhc2gsIGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJikgZmluYWw7Ci0gICAgdm9pZCBnZXRB
c3NlcnRpb24oY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBoYXNoLCBjb25zdCBQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJikgZmluYWw7
Ci0gICAgdm9pZCBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUo
UXVlcnlDb21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKLQotICAgIC8vIEFsbCBmb2xsb3dpbmcg
ZmllbGRzIGFyZSBkaXNwb3NhYmxlLgotICAgIGJvb2wgbV9kaWRUaW1lT3V0IHsgZmFsc2UgfTsK
LSAgICBib29sIG1fZGlkVXNlckNhbmNlbCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2RpZFVzZXJW
ZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50IHsgZmFsc2UgfTsKLSAgICBSZWZQ
dHI8QXJyYXlCdWZmZXI+IG1fY3JlZGVudGlhbElkOwotICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4g
bV9hdHRlc3RhdGlvbk9iamVjdDsKLSAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fYXV0aGVudGlj
YXRvckRhdGE7Ci0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBtX3NpZ25hdHVyZTsKLSAgICBSZWZQ
dHI8QXJyYXlCdWZmZXI+IG1fdXNlckhhbmRsZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZWFjNWNiMmVmODIwYjUwMjZhMjU5OGNmZDJmY2NiNjU3NTMz
ZWQ5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25h
bD1XRUJfQVVUSE4sCi0gICAgTm9JbnRlcmZhY2VPYmplY3QsCi1dIGludGVyZmFjZSBNb2NrQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yIHsKLSAgICB2b2lkIHNldERpZFRpbWVPdXQoKTsKLSAgICB2
b2lkIHNldERpZFVzZXJDYW5jZWwoKTsKLSAgICB2b2lkIHNldERpZFVzZXJWZXJpZnlpbmdQbGF0
Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50KCk7Ci0gICAgdm9pZCBzZXRDcmVhdGlvblJldHVybkJ1
bmRsZShCdWZmZXJTb3VyY2UgY3JlZGVudGlhbElkLCBCdWZmZXJTb3VyY2UgYXR0ZXN0YXRpb25P
YmplY3QpOwotICAgIHZvaWQgc2V0QXNzZXJ0aW9uUmV0dXJuQnVuZGxlKEJ1ZmZlclNvdXJjZSBj
cmVkZW50aWFsSWQsIEJ1ZmZlclNvdXJjZSBhdXRoZW50aWNhdG9yRGF0YSwgQnVmZmVyU291cmNl
IHNpZ25hdHVyZSwgQnVmZmVyU291cmNlIHVzZXJIYW5kbGUpOwotfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmlu
ZGV4IDRhNjFjOTUyMjVhM2I0NTY1NTM4MjQ5OGUwMDZhYWY1ZGQ3YTY2ODAuLjJlZTUzZDRhY2Mw
N2JkNTMxNTQ4NTQ4YzljZGM0NjRlYWNlMTMxNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtNTc1LDEy
ICs1NzUsMTYgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGlyZWN0b3J5KFdLV2Vic2l0ZURhdGFTdG9yZVIKIHZvaWQgV0tXZWJzaXRlRGF0YVN0
b3JlU2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbihXS1dlYnNpdGVEYXRhU3Rv
cmVSZWYgZGF0YVN0b3JlUmVmLCBXS0RpY3Rpb25hcnlSZWYgY29uZmlndXJhdGlvblJlZikKIHsK
ICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIGF1dG8gbG9jYWxSZWYgPSBzdGF0aWNfY2FzdDxX
S0RpY3Rpb25hcnlSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkoY29uZmlndXJhdGlvblJl
ZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTG9jYWwiKSkuZ2V0KCkp
KTsKLQogICAgIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlv
bjsKLSAgICBjb25maWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF1dGhlbnRpY2F0aW9uID0gV0tCb29s
ZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVt
Rm9yS2V5KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJB
Y2NlcHRBdXRoZW50aWNhdGlvbiIpKS5nZXQoKSkpKTsKLSAgICBjb25maWd1cmF0aW9uLmxvY2Fs
LmFjY2VwdEF0dGVzdGF0aW9uID0gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29s
ZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRBdHRlc3RhdGlvbiIpKS5nZXQoKSkpKTsK
LSAgICBjb25maWd1cmF0aW9uLmxvY2FsLnByaXZhdGVLZXlCYXNlNjQgPSBXZWJLaXQ6OnRvSW1w
bChzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShsb2Nh
bFJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiUHJpdmF0ZUtleUJh
c2U2NCIpKS5nZXQoKSkpKS0+c3RyaW5nKCk7CisKKyAgICBhdXRvIGxvY2FsUmVmID0gc3RhdGlj
X2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGNvbmZpZ3Vy
YXRpb25SZWYsIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkxvY2FsIikp
LmdldCgpKSk7CisgICAgaWYgKGxvY2FsUmVmKSB7CisgICAgICAgIE1vY2tXZWJBdXRoZW50aWNh
dGlvbkNvbmZpZ3VyYXRpb246OkxvY2FsIGxvY2FsOworICAgICAgICBsb2NhbC5hY2NlcHRBdXRo
ZW50aWNhdGlvbiA9IFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4o
V0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXV0aGVudGljYXRpb24iKSkuZ2V0KCkpKSk7CisgICAg
ICAgIGxvY2FsLmFjY2VwdEF0dGVzdGF0aW9uID0gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nh
c3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGxvY2FsUmVmLCBhZG9w
dFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRBdHRlc3RhdGlvbiIpKS5n
ZXQoKSkpKTsKKyAgICAgICAgbG9jYWwucHJpdmF0ZUtleUJhc2U2NCA9IFdlYktpdDo6dG9JbXBs
KHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGxvY2Fs
UmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJQcml2YXRlS2V5QmFz
ZTY0IikpLmdldCgpKSkpLT5zdHJpbmcoKTsKKyAgICAgICAgY29uZmlndXJhdGlvbi5sb2NhbCA9
IFdURk1vdmUobG9jYWwpOworICAgIH0KIAogICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJl
ZiktPndlYnNpdGVEYXRhU3RvcmUoKS5zZXRNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0
aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbENvbm5lY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01v
Y2tMb2NhbENvbm5lY3Rpb24ubW0KaW5kZXggNjI3YzkxZjM0Nzg1YjBmMzM4MjRjMDhmNTU1NWFh
YzVjNTQ1ZjkyZS4uYzUxNTg2NmM4Yjg1YzE0ZDlmMzljNzFmM2U3NGZkYjA3MWQyMGFkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9N
b2NrTG9jYWxDb25uZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlvbi5tbQpAQCAtNzMsNyArNzMsOCBA
QCB2b2lkIE1vY2tMb2NhbENvbm5lY3Rpb246OmdldFVzZXJDb25zZW50KGNvbnN0IFN0cmluZyYs
IFVzZXJDb25zZW50Q2FsbGJhY2smJiBjYQogewogICAgIC8vIE1vY2sgYXN5bmMgb3BlcmF0aW9u
cy4KICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbmZpZ3VyYXRpb24gPSBtX2NvbmZp
Z3VyYXRpb24sIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7Ci0gICAg
ICAgIGlmICghY29uZmlndXJhdGlvbi5sb2NhbC5hY2NlcHRBdXRoZW50aWNhdGlvbikgeworICAg
ICAgICBBU1NFUlQoY29uZmlndXJhdGlvbi5sb2NhbCk7CisgICAgICAgIGlmICghY29uZmlndXJh
dGlvbi5sb2NhbC52YWx1ZSgpLmFjY2VwdEF1dGhlbnRpY2F0aW9uKSB7CiAgICAgICAgICAgICBj
YWxsYmFjayhVc2VyQ29uc2VudDo6Tm8pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CkBAIC04NSw3ICs4Niw4IEBAIHZvaWQgTW9ja0xvY2FsQ29ubmVjdGlvbjo6Z2V0VXNlckNvbnNl
bnQoY29uc3QgU3RyaW5nJiwgU2VjQWNjZXNzQ29udHJvbFJlZiwgVXNlCiB7CiAgICAgLy8gTW9j
ayBhc3luYyBvcGVyYXRpb25zLgogICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29uZmln
dXJhdGlvbiA9IG1fY29uZmlndXJhdGlvbiwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0o
KSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCFjb25maWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF1dGhl
bnRpY2F0aW9uKSB7CisgICAgICAgIEFTU0VSVChjb25maWd1cmF0aW9uLmxvY2FsKTsKKyAgICAg
ICAgaWYgKCFjb25maWd1cmF0aW9uLmxvY2FsLnZhbHVlKCkuYWNjZXB0QXV0aGVudGljYXRpb24p
IHsKICAgICAgICAgICAgIGNhbGxiYWNrKFVzZXJDb25zZW50OjpObywgbmlsKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtOTksNyArMTAxLDggQEAgdm9pZCBNb2NrTG9jYWxD
b25uZWN0aW9uOjpnZXRBdHRlc3RhdGlvbihjb25zdCBTdHJpbmcmIHJwSWQsIGNvbnN0IFN0cmlu
ZyYgdXNlcm4KIAogICAgIC8vIE1vY2sgYXN5bmMgb3BlcmF0aW9ucy4KICAgICBSdW5Mb29wOjpt
YWluKCkuZGlzcGF0Y2goW2NvbmZpZ3VyYXRpb24gPSBtX2NvbmZpZ3VyYXRpb24sIHJwSWQsIHVz
ZXJuYW1lLCBoYXNoLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgewot
ICAgICAgICBpZiAoIWNvbmZpZ3VyYXRpb24ubG9jYWwuYWNjZXB0QXR0ZXN0YXRpb24pIHsKKyAg
ICAgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24ubG9jYWwpOworICAgICAgICBpZiAoIWNvbmZpZ3Vy
YXRpb24ubG9jYWwudmFsdWUoKS5hY2NlcHRBdHRlc3RhdGlvbikgewogICAgICAgICAgICAgY2Fs
bGJhY2soTlVMTCwgTlVMTCwgW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOk5TT1NTdGF0dXNFcnJv
ckRvbWFpbiBjb2RlOi0xIHVzZXJJbmZvOm5pbF0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CkBAIC0xMTIsNyArMTE1LDcgQEAgdm9pZCBNb2NrTG9jYWxDb25uZWN0aW9uOjpnZXRB
dHRlc3RhdGlvbihjb25zdCBTdHJpbmcmIHJwSWQsIGNvbnN0IFN0cmluZyYgdXNlcm4KICAgICAg
ICAgfTsKICAgICAgICAgQ0ZFcnJvclJlZiBlcnJvclJlZiA9IG51bGxwdHI7CiAgICAgICAgIGF1
dG8ga2V5ID0gYWRvcHRDRihTZWNLZXlDcmVhdGVXaXRoRGF0YSgKLSAgICAgICAgICAgIChfX2Jy
aWRnZSBDRkRhdGFSZWYpYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNv
ZGVkU3RyaW5nOmNvbmZpZ3VyYXRpb24ubG9jYWwucHJpdmF0ZUtleUJhc2U2NCBvcHRpb25zOk5T
RGF0YUJhc2U2NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKKyAgICAg
ICAgICAgIChfX2JyaWRnZSBDRkRhdGFSZWYpYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdp
dGhCYXNlNjRFbmNvZGVkU3RyaW5nOmNvbmZpZ3VyYXRpb24ubG9jYWwudmFsdWUoKS5wcml2YXRl
S2V5QmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFzZTY0RGVjb2RpbmdJZ25vcmVVbmtub3duQ2hhcmFj
dGVyc10pLmdldCgpLAogICAgICAgICAgICAgKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilvcHRp
b25zLAogICAgICAgICAgICAgJmVycm9yUmVmCiAgICAgICAgICkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxTZXJ2
aWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2sv
TW9ja0xvY2FsU2VydmljZS5jcHAKaW5kZXggZjBlNzk5OWM3MmIwY2ZmNmJiMTVmYjYxZWRkMWFj
MGE5MTRmZWM1ZC4uYWFkN2UzZWZhZDYyMTMwNmZlYzkxMWQwOGViMTg3NTk4ODUyYTQ1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9N
b2NrTG9jYWxTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbFNlcnZpY2UuY3BwCkBAIC00Miw3ICs0Miw4IEBAIE1v
Y2tMb2NhbFNlcnZpY2U6Ok1vY2tMb2NhbFNlcnZpY2UoT2JzZXJ2ZXImIG9ic2VydmVyLCBjb25z
dCBNb2NrV2ViQXV0aGVudGljYXRpCiAKIGJvb2wgTW9ja0xvY2FsU2VydmljZTo6cGxhdGZvcm1T
dGFydERpc2NvdmVyeSgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUUoMTg5NjQyKTogd2Ugc2hvdWxk
IHRlc3QgZmFsc2UgY2FzZS4KKyAgICBpZiAoIW1fY29uZmlndXJhdGlvbi5sb2NhbCkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tXZWJBdXRoZW50
aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCmluZGV4
IDA3NGZjYWNjNWM4NWVlYWYwMjBhMGMzZTgwOTdjNTNhYzYxOWQ5Y2MuLmZkY2ZmMzdlNjYxMGI0
ZDkyOWE5ODE3YWVlZWQwNmVmNDZjYjQ2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmln
dXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCkBAIC0zNiw3ICszNiw3
IEBAIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uIHsKICAgICAgICAg
U3RyaW5nIHByaXZhdGVLZXlCYXNlNjQ7CiAgICAgfTsKIAotICAgIExvY2FsIGxvY2FsOworICAg
IHN0ZDo6b3B0aW9uYWw8TG9jYWw+IGxvY2FsOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzVk
YzFhYjliNWQ1N2VlOGM4YTcwNmZjZjhlNTk2OTA3ZTQ4MGNiZi4uNmVjZjRkYTA5NDI3NjAxOWIy
NWViMWIzNjJiNDU5NmE3YzEzYjA3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA5LTI3ICBKaWV3ZW4gVGFu
ICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQb2xpc2ggV2Vi
QXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MTE3
ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAg
KFdUUjo6VGVzdFJ1bm5lcjo6c2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbik6
CisKIDIwMTgtMDktMjUgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbV2ViQXV0aE5dIE1ha2UgQXV0aGVudGljYXRvck1hbmFnZXIKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGYz
NjA0YjdlZWU1ODg5Y2M1NmRkMTJkMjY2ZmE1NzhlNWJhM2QxYjQuLmRkNGUzOTZiY2Q1YmY3YWRj
YTljM2RmMTA2OTE0NjEzOWJlZWJiOGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMjM1OCw1MiArMjM1OCw1NSBA
QCB2b2lkIFRlc3RSdW5uZXI6OnNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRpb24o
SlNWYWx1ZVJlZiBjb25maWd1cmF0aW9uVgogICAgICAgICByZXR1cm47CiAgICAgSlNPYmplY3RS
ZWYgY29uZmlndXJhdGlvbiA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBjb25maWd1cmF0aW9u
VmFsdWUsIDApOwogCisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4gY29uZmln
dXJhdGlvbktleXM7CisgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IGNvbmZpZ3Vy
YXRpb25WYWx1ZXM7CisKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbG9jYWxQcm9wZXJ0
eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsb2NhbCIpKTsKICAg
ICBKU1ZhbHVlUmVmIGxvY2FsVmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIGNv
bmZpZ3VyYXRpb24sIGxvY2FsUHJvcGVydHlOYW1lLmdldCgpLCAwKTsKLSAgICBpZiAoIUpTVmFs
dWVJc09iamVjdChjb250ZXh0LCBsb2NhbFZhbHVlKSkKLSAgICAgICAgcmV0dXJuOwotICAgIEpT
T2JqZWN0UmVmIGxvY2FsID0gSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGxvY2FsVmFsdWUsIDAp
OwotCi0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGFjY2VwdEF1dGhlbnRpY2F0aW9uUHJv
cGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYWNjZXB0QXV0
aGVudGljYXRpb24iKSk7Ci0gICAgSlNWYWx1ZVJlZiBhY2NlcHRBdXRoZW50aWNhdGlvblZhbHVl
ID0gSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBsb2NhbCwgYWNjZXB0QXV0aGVudGljYXRp
b25Qcm9wZXJ0eU5hbWUuZ2V0KCksIDApOwotICAgIGlmICghSlNWYWx1ZUlzQm9vbGVhbihjb250
ZXh0LCBhY2NlcHRBdXRoZW50aWNhdGlvblZhbHVlKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGJv
b2wgYWNjZXB0QXV0aGVudGljYXRpb24gPSBKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQsIGFjY2Vw
dEF1dGhlbnRpY2F0aW9uVmFsdWUpOwotCi0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGFj
Y2VwdEF0dGVzdGF0aW9uUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiYWNjZXB0QXR0ZXN0YXRpb24iKSk7Ci0gICAgSlNWYWx1ZVJlZiBhY2NlcHRBdHRl
c3RhdGlvblZhbHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBsb2NhbCwgYWNjZXB0
QXR0ZXN0YXRpb25Qcm9wZXJ0eU5hbWUuZ2V0KCksIDApOwotICAgIGlmICghSlNWYWx1ZUlzQm9v
bGVhbihjb250ZXh0LCBhY2NlcHRBdHRlc3RhdGlvblZhbHVlKSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGJvb2wgYWNjZXB0QXR0ZXN0YXRpb24gPSBKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQsIGFj
Y2VwdEF0dGVzdGF0aW9uVmFsdWUpOwotCi0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHBy
aXZhdGVLZXlCYXNlNjRQcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJwcml2YXRlS2V5QmFzZTY0IikpOwotICAgIEpTVmFsdWVSZWYgcHJpdmF0ZUtleUJh
c2U2NFZhbHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBsb2NhbCwgcHJpdmF0ZUtl
eUJhc2U2NFByb3BlcnR5TmFtZS5nZXQoKSwgMCk7Ci0gICAgaWYgKCFKU1ZhbHVlSXNTdHJpbmco
Y29udGV4dCwgcHJpdmF0ZUtleUJhc2U2NFZhbHVlKSkKLSAgICAgICAgcmV0dXJuOworICAgIGlm
ICghSlNWYWx1ZUlzTnVsbChjb250ZXh0LCBsb2NhbFZhbHVlKSkgeworICAgICAgICBpZiAoIUpT
VmFsdWVJc09iamVjdChjb250ZXh0LCBsb2NhbFZhbHVlKSkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgSlNPYmplY3RSZWYgbG9jYWwgPSBKU1ZhbHVlVG9PYmplY3QoY29udGV4dCwgbG9j
YWxWYWx1ZSwgMCk7CisKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGFjY2VwdEF1
dGhlbnRpY2F0aW9uUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiYWNjZXB0QXV0aGVudGljYXRpb24iKSk7CisgICAgICAgIEpTVmFsdWVSZWYgYWNjZXB0
QXV0aGVudGljYXRpb25WYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgbG9jYWws
IGFjY2VwdEF1dGhlbnRpY2F0aW9uUHJvcGVydHlOYW1lLmdldCgpLCAwKTsKKyAgICAgICAgaWYg
KCFKU1ZhbHVlSXNCb29sZWFuKGNvbnRleHQsIGFjY2VwdEF1dGhlbnRpY2F0aW9uVmFsdWUpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBib29sIGFjY2VwdEF1dGhlbnRpY2F0aW9uID0g
SlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCBhY2NlcHRBdXRoZW50aWNhdGlvblZhbHVlKTsKKwor
ICAgICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gYWNjZXB0QXR0ZXN0YXRpb25Qcm9wZXJ0
eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJhY2NlcHRBdHRlc3Rh
dGlvbiIpKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBhY2NlcHRBdHRlc3RhdGlvblZhbHVlID0gSlNP
YmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBsb2NhbCwgYWNjZXB0QXR0ZXN0YXRpb25Qcm9wZXJ0
eU5hbWUuZ2V0KCksIDApOworICAgICAgICBpZiAoIUpTVmFsdWVJc0Jvb2xlYW4oY29udGV4dCwg
YWNjZXB0QXR0ZXN0YXRpb25WYWx1ZSkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJv
b2wgYWNjZXB0QXR0ZXN0YXRpb24gPSBKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQsIGFjY2VwdEF0
dGVzdGF0aW9uVmFsdWUpOworCisgICAgICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBwcml2
YXRlS2V5QmFzZTY0UHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygicHJpdmF0ZUtleUJhc2U2NCIpKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBwcml2YXRlS2V5
QmFzZTY0VmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIGxvY2FsLCBwcml2YXRl
S2V5QmFzZTY0UHJvcGVydHlOYW1lLmdldCgpLCAwKTsKKyAgICAgICAgaWYgKCFKU1ZhbHVlSXNT
dHJpbmcoY29udGV4dCwgcHJpdmF0ZUtleUJhc2U2NFZhbHVlKSkKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBsb2NhbEtleXM7
CisgICAgICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiBsb2NhbFZhbHVlczsKKyAg
ICAgICAgbG9jYWxLZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJBY2NlcHRBdXRoZW50aWNhdGlvbiIpIH0pOworICAgICAgICBsb2NhbFZhbHVlcy5h
cHBlbmQoYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoYWNjZXB0QXV0aGVudGljYXRpb24pKS5nZXQo
KSk7CisgICAgICAgIGxvY2FsS2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygiQWNjZXB0QXR0ZXN0YXRpb24iKSB9KTsKKyAgICAgICAgbG9jYWxWYWx1
ZXMuYXBwZW5kKGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKGFjY2VwdEF0dGVzdGF0aW9uKSkuZ2V0
KCkpOworICAgICAgICBsb2NhbEtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoIlByaXZhdGVLZXlCYXNlNjQiKSB9KTsKKyAgICAgICAgbG9jYWxWYWx1
ZXMuYXBwZW5kKHRvV0soYWRvcHQoSlNWYWx1ZVRvU3RyaW5nQ29weShjb250ZXh0LCBwcml2YXRl
S2V5QmFzZTY0VmFsdWUsIDApKS5nZXQoKSkpOworCisgICAgICAgIFZlY3RvcjxXS1N0cmluZ1Jl
Zj4gcmF3TG9jYWxLZXlzOworICAgICAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdMb2NhbFZhbHVl
czsKKyAgICAgICAgcmF3TG9jYWxLZXlzLnJlc2l6ZShsb2NhbEtleXMuc2l6ZSgpKTsKKyAgICAg
ICAgcmF3TG9jYWxWYWx1ZXMucmVzaXplKGxvY2FsVmFsdWVzLnNpemUoKSk7CisgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbG9jYWxLZXlzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAg
ICByYXdMb2NhbEtleXNbaV0gPSBsb2NhbEtleXNbaV0uZ2V0KCk7CisgICAgICAgICAgICByYXdM
b2NhbFZhbHVlc1tpXSA9IGxvY2FsVmFsdWVzW2ldLmdldCgpOworICAgICAgICB9CiAKLSAgICBW
ZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBsb2NhbEtleXM7Ci0gICAgVmVjdG9yPFdL
UmV0YWluUHRyPFdLVHlwZVJlZj4+IGxvY2FsVmFsdWVzOwotICAgIGxvY2FsS2V5cy5hcHBlbmQo
eyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXV0aGVudGlj
YXRpb24iKSB9KTsKLSAgICBsb2NhbFZhbHVlcy5hcHBlbmQoYWRvcHRXSyhXS0Jvb2xlYW5DcmVh
dGUoYWNjZXB0QXV0aGVudGljYXRpb24pKS5nZXQoKSk7Ci0gICAgbG9jYWxLZXlzLmFwcGVuZCh7
IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRBdHRlc3RhdGlv
biIpIH0pOwotICAgIGxvY2FsVmFsdWVzLmFwcGVuZChhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShh
Y2NlcHRBdHRlc3RhdGlvbikpLmdldCgpKTsKLSAgICBsb2NhbEtleXMuYXBwZW5kKHsgQWRvcHRX
SywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlByaXZhdGVLZXlCYXNlNjQiKSB9KTsK
LSAgICBsb2NhbFZhbHVlcy5hcHBlbmQodG9XSyhhZG9wdChKU1ZhbHVlVG9TdHJpbmdDb3B5KGNv
bnRleHQsIHByaXZhdGVLZXlCYXNlNjRWYWx1ZSwgMCkpLmdldCgpKSk7Ci0KLSAgICBWZWN0b3I8
V0tTdHJpbmdSZWY+IHJhd0xvY2FsS2V5czsKLSAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdMb2Nh
bFZhbHVlczsKLSAgICByYXdMb2NhbEtleXMucmVzaXplKGxvY2FsS2V5cy5zaXplKCkpOwotICAg
IHJhd0xvY2FsVmFsdWVzLnJlc2l6ZShsb2NhbFZhbHVlcy5zaXplKCkpOwotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbG9jYWxLZXlzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIHJhd0xvY2Fs
S2V5c1tpXSA9IGxvY2FsS2V5c1tpXS5nZXQoKTsKLSAgICAgICAgcmF3TG9jYWxWYWx1ZXNbaV0g
PSBsb2NhbFZhbHVlc1tpXS5nZXQoKTsKKyAgICAgICAgY29uZmlndXJhdGlvbktleXMuYXBwZW5k
KHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkxvY2FsIikgfSk7Cisg
ICAgICAgIGNvbmZpZ3VyYXRpb25WYWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tEaWN0aW9uYXJ5
Q3JlYXRlKHJhd0xvY2FsS2V5cy5kYXRhKCksIHJhd0xvY2FsVmFsdWVzLmRhdGEoKSwgcmF3TG9j
YWxLZXlzLnNpemUoKSkgfSk7CiAgICAgfQogCi0gICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3Ry
aW5nUmVmPj4gY29uZmlndXJhdGlvbktleXM7Ci0gICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlw
ZVJlZj4+IGNvbmZpZ3VyYXRpb25WYWx1ZXM7Ci0gICAgY29uZmlndXJhdGlvbktleXMuYXBwZW5k
KHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkxvY2FsIikgfSk7Ci0g
ICAgY29uZmlndXJhdGlvblZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVh
dGUocmF3TG9jYWxLZXlzLmRhdGEoKSwgcmF3TG9jYWxWYWx1ZXMuZGF0YSgpLCByYXdMb2NhbEtl
eXMuc2l6ZSgpKSB9KTsKLQogICAgIFZlY3RvcjxXS1N0cmluZ1JlZj4gcmF3Q29uZmlndXJhdGlv
bktleXM7CiAgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3Q29uZmlndXJhdGlvblZhbHVlczsKICAg
ICByYXdDb25maWd1cmF0aW9uS2V5cy5yZXNpemUoY29uZmlndXJhdGlvbktleXMuc2l6ZSgpKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZDZjNTQ2Yjk5ZTg4ZTQwM2NlZjE1NmQyYmVkN2I5ZGQ4MWEyOTQwLi4yODEyOWIw
ZGNmNGUwNzExZTBmMzI5N2U0ZTM2ZGY2YTljYjZkZTViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAK
KzIwMTgtMDktMjcgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAg
ICBbV2ViQXV0aE5dIFBvbGlzaCBXZWJBdXRoTiBhdXRvLXRlc3QgZW52aXJvbm1lbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTI4MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDQxMTc4Mjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBkb2VzIHRoZSBmb2xsb3dpbmcgZmV3IHRo
aW5nczoKKyAgICAgICAgMS4gVXBkYXRlIHRlc3RzIHRoYXQgZW1wbG95IG9sZCBtb2NraW5nIG1l
Y2huaXNtIHRvIHRoZSBuZXcgb25lLgorICAgICAgICAyLiBNb3ZlIHRlc3RzIGZyb20gaHR0cC90
ZXN0cy93ZWJhdXRobiB0byBodHRwL3dwdC93ZWJhdXRobi4gQXMgYSByZXN1bHQsIHdlIGhhdmUg
b25lIHVuaWZpZWQgcGxhY2UgZm9yCisgICAgICAgIGFsbCBXZWJBdXRoTiB0ZXN0czogaHR0cC93
cHQvd2ViYXV0aG4uCisgICAgICAgIDMuIEFkZCBhIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBE
T01FeGNlcHRpb24gbWVzc2FnZSBhcyB3ZWxsLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1j
cmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdl
dC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1v
cmlnaW4td2l0aC1hbmNlc3RvcnMtMi5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmln
aW4td2l0aC1hbmNlc3RvcnMtMi5odHRwcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5j
ZXN0b3JzLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9y
cy5odHRwcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViYXV0aG4vcmVz
b3VyY2VzL2xhc3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy91dGlsLmpzOiBSZW1vdmVkLgorICAgICAgICAq
IGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1zdG9y
ZS1iYXNpY3MuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9pZGwuaHR0
cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93
ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlh
bC1jcmVhdGUtZmFpbHVyZS5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFy
YW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRl
cnMuaHR0cHMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0
aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5o
dHRwcy5odG1sLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVu
dGlhbC1nZXQtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdl
dC1mYWlsdXJlLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWdldC1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1
Y2Nlc3MuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwuCisgICAgICAgICog
aHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgt
YW5jZXN0b3JzLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3Jz
Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNl
cy9sYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0
L3dlYmF1dGhuL3Jlc291cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL3NlY29uZC1s
YXllci1mcmFtZS5odHRwcy5odG1sLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3Jlc291
cmNlcy91dGlsLmpzOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDktMjUgIEp1
c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJHTCAyIGNvbmZv
cm1hbmNlOiBleHBlY3RlZCB0ZXN0IHJlc3VsdHMgZm9yIHRoZSBkZXFwIHN1aXRlIChtYWMtbW9q
YXZlLXdrMikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg1N2FkNzA5YjMzNjA0MWQyY2VmOTBjNzEy
NmQwNmNjZjM3NTMzZmIuLmQ5MTEyY2JiOGE0NThkZTA0ZDM5OTgwYTAyYTk4MjU0OGQzODgzN2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjg2MiwxMSArMjg2MiwzIEBAIGZhc3QvZ3JhZGllbnRz
L2NvbmljLWdyYWRpZW50Lmh0bWwgWyBTa2lwIF0KIGZhc3QvZ3JhZGllbnRzL2NvbmljLXR3by1o
aW50cy5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xODc3NzMgaHR0cC90ZXN0cy93ZWJB
UElTdGF0aXN0aWNzIFsgU2tpcCBdCi0KLSMgVGVtcG9yYXJ5IGRpc2FibGVzIG9sZCBXZWJBdXRo
TiB0ZXN0cywgd2lsbCBlaXRoZXIgcmVlbmFibGUgb3IgcmVtb3ZlIHRoZW0gaW4gd2Via2l0Lm9y
Zy9iLzE4OTI4MwotaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29u
dGFpbmVyLXN0b3JlLWJhc2ljcy5odHRwcy5odG1sIFsgU2tpcCBdCi1odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMuaHRtbCBbIFNraXAg
XQotaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1zdWNjZXNz
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KLWh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVu
dGlhbC1nZXQtZmFpbHVyZS5odHRwcy5odG1sIFsgU2tpcCBdCi1odHRwL3dwdC93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMuaHRtbCBbIFNraXAgXQotaHR0
cC93cHQvd2ViYXV0aG4vaWRsLmh0dHBzLmh0bWwgWyBTa2lwIF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNlMWRmYmNlODY3ZTBjMDc1NTNk
MzhkMjRmNzY4NTc2NWE3ZmE5ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotVGVzdHMgdGhhdCBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tjcmVhdGVdXSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gaW52YWxpZCBvcHRpb25z
IGFyZSBwYXNzZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy5ycCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBQdWJsaWNLZXlDcmVk
ZW50aWFsUnBFbnRpdHkuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxp
ZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy51c2VyIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFB1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5LgotUEFTUyBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMuY2hhbGxlbmdlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIChBcnJh
eUJ1ZmZlclZpZXcgb3IgQXJyYXlCdWZmZXIpLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Y3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
TWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMucHViS2V5Q3JlZFBhcmFt
cyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBzZXF1ZW5jZS4KLVBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsUnBFbnRpdHku
bmFtZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCi1Q
QVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFVzZXJF
bnRpdHkubmFtZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJp
bmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlh
bFVzZXJFbnRpdHkuaWQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgKEFy
cmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZlcikuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFVzZXJFbnRpdHkuZGlzcGxheU5hbWUgaXMgcmVx
dWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NU3RyaW5nLgotUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzLnR5cGUg
aXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUHVibGljS2V5Q3JlZGVudGlh
bFR5cGUuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVu
dGlhbFBhcmFtZXRlcnMuYWxnIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IGxvbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVu
dGlhbERlc2NyaXB0b3IudHlwZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1l
bWJlciBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci5pZCBpcyByZXF1aXJlZCBhbmQgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiAoQXJyYXlCdWZmZXJWaWV3IG9yIEFycmF5QnVmZmVyKS4KLVBB
U1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3Ry
aW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wg
dG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBh
IHN5bWJvbCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShp
bnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBj
b252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Y3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0
aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNT
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZh
bGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
Ci1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5v
dCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRl
KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Y3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0
aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNT
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZh
bGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
Ci1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5h
dmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlk
T3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1Q
QVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIG51
bWJlci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9s
IHRvIGEgbnVtYmVyLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRP
cHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBB
U1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGlu
dmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNv
bnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBU
eXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRp
b25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFs
aWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
LVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRl
KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFy
YW1ldGVycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJs
aWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmMjRkNzNiMzFjMGFmYzIyN2FkODIy
YWQ3NGNlYTI0ZDk5ZjdjMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwxMjMgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgot
ICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tjcmVhdGVdXSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gaW52YWxpZCBvcHRpb25z
IGFyZSBwYXNzZWQuIik7Ci0KLSAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0
IHJwID0gewotICAgICAgICBuYW1lOiAiZXhhbXBsZS5jb20iCi0gICAgfTsKLSAgICBjb25zdCB1
c2VyID0gewotICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAotICAgICAgICBpZDogYXNj
aWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxlc2Vl
ZCIKLSAgICB9OwotICAgIGNvbnN0IGNoYWxsZW5nZSA9IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0
NTYiKTsKLSAgICBjb25zdCBwdWJLZXlDcmVkUGFyYW0gPSB7IHR5cGU6ICJwdWJsaWMta2V5Iiwg
YWxnOiAtNyB9OwotICAgIGNvbnN0IGV4Y2x1ZGVDcmVkZW50aWFscyA9IHsgdHlwZTogInB1Ymxp
Yy1rZXkiLCBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpIH07Ci0KLSAgICBjb25zdCBt
aXNzaW5nQXR0cmlidXRlVmVjdG9yID0gWwotICAgICAgICAvLyBtaXNzaW5nIHRvcCBsZXZlbCBh
dHRyaWJ1dGUKLSAgICAgICAgW3VuZGVmaW5lZCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3Jl
ZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdW5kZWZpbmVkLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVk
UGFyYW1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCB1bmRlZmluZWQsIFtwdWJLZXlDcmVkUGFyYW1d
XSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIHVuZGVmaW5lZF0sCi0gICAgICAgIC8v
IG1pc3NpbmcgcnAgYXR0cmlidXRlCi0gICAgICAgIFt7IG5hbWU6IHVuZGVmaW5lZCB9LCB1c2Vy
LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgLy8gbWlzc2luZyB1c2Vy
IGF0dHJpYnV0ZQotICAgICAgICBbcnAsIHsgbmFtZTogdW5kZWZpbmVkLCBpZDogdXNlci5pZCwg
ZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFy
YW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVuZGVmaW5lZCwgZGlz
cGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1d
XSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlO
YW1lOiB1bmRlZmluZWR9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAg
Ly8gbWlzc2luZyBwdWJLZXlDcmVkUGFyYW1zIGF0dHJpYnV0ZQotICAgICAgICBbcnAsIHVzZXIs
IGNoYWxsZW5nZSwgW3sgdHlwZTogdW5kZWZpbmVkLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcg
fV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogcHViS2V5Q3JlZFBh
cmFtLnR5cGUsIGFsZzogdW5kZWZpbmVkIH1dXSwKLSAgICAgICAgLy8gbWlzc2luZyBleGNsdWRl
Q3JlZGVudGlhbHMgYXR0cmlidXRlCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHVi
S2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiB1bmRlZmluZWQsIGlkOiBleGNsdWRl
Q3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUs
IGlkOiB1bmRlZmluZWQgfV1dCi0gICAgXTsKLQotICAgIGNvbnN0IHdyb25nVHlwZUF0dHJpYnV0
ZVZlY3RvciA9IFsKLSAgICAgICAgLy8gd3JvbmcgcnAgYXR0cmlidXRlIHR5cGUKLSAgICAgICAg
W3sgbmFtZTogU3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0s
Ci0gICAgICAgIFt7IG5hbWU6IHJwLm5hbWUsIGljb246IFN5bWJvbCgpIH0sIHVzZXIsIGNoYWxs
ZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbeyBuYW1lOiBycC5uYW1lLCBpZDog
U3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAg
IC8vIHdyb25nIHVzZXIgYXR0cmlidXRlIHR5cGUKLSAgICAgICAgW3JwLCB7IG5hbWU6IFN5bWJv
bCgpLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVu
Z2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwg
aWQ6IDEsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5
Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB0cnVlLCBk
aXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV1dLAotICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogbnVsbCwgZGlzcGxheU5h
bWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAg
ICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IFN5bWJvbCgpLCBkaXNwbGF5TmFtZTog
dXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAg
ICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogeyB9LCBkaXNwbGF5TmFtZTogdXNlci5kaXNw
bGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHsg
bmFtZTogdXNlci5uYW1lLCBpZDogImZvbyIsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1l
fSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgeyBuYW1lOiB1
c2VyLm5hbWUsIGlkOiBbIF0sIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxl
bmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUs
IGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTogU3ltYm9sKCl9LCBjaGFsbGVuZ2UsIFtwdWJLZXlD
cmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVzZXIuaWQs
IGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lLCBpY29uOiBTeW1ib2woKX0sIGNoYWxsZW5n
ZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICAvLyB3cm9uZyBjaGFsbGVuZ2UgdHlwZQot
ICAgICAgICBbcnAsIHVzZXIsIDEsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB1
c2VyLCB0cnVlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdXNlciwgbnVsbCwg
W3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHVzZXIsIFN5bWJvbCgpLCBbcHViS2V5
Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdXNlciwgImZvbyIsIFtwdWJLZXlDcmVkUGFyYW1d
XSwKLSAgICAgICAgW3JwLCB1c2VyLCBbIF0sIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAg
W3JwLCB1c2VyLCB7IH0sIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgLy8gd3JvbmcgcHVi
S2V5Q3JlZFBhcmFtIHR5cGUKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6
IDEsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hh
bGxlbmdlLCBbeyB0eXBlOiB0cnVlLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAotICAg
ICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogbnVsbCwgYWxnOiBwdWJLZXlDcmVk
UGFyYW0uYWxnIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IFN5
bWJvbCgpLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAotICAgICAgICBbcnAsIHVzZXIs
IGNoYWxsZW5nZSwgW3sgdHlwZTogImZvbyIsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0s
Ci0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBbIF0sIGFsZzogcHViS2V5
Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBl
OiB7IH0sIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAgICAgIFtycCwgdXNlciwg
Y2hhbGxlbmdlLCBbeyB0eXBlOiBwdWJLZXlDcmVkUGFyYW0udHlwZSwgYWxnOiBTeW1ib2woKSB9
XV0sCi0gICAgICAgIC8vIHdyb25nIHRpbWVvdXQgdHlwZQotICAgICAgICBbcnAsIHVzZXIsIGNo
YWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIFN5bWJvbCgpLCB1bmRlZmluZWRdLAotICAgICAg
ICAvLyB3cm9uZyBleGNsdWRlQ3JlZGVudGlhbHMKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVu
Z2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IDEsIGlkOiBleGNsdWRl
Q3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogdHJ1ZSwgaWQ6IGV4Y2x1ZGVDcmVkZW50
aWFscy5pZCB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBh
cmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBudWxsLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlk
IH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1
bmRlZmluZWQsIFt7IHR5cGU6IFN5bWJvbCgpLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1d
XSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRl
ZmluZWQsIFt7IHR5cGU6ICJmb28iLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKLSAg
ICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQs
IFt7IHR5cGU6IFsgXSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCi0gICAgICAgIFty
cCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBl
OiB7IH0sIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAgICBbcnAsIHVzZXIs
IGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVk
ZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiAxIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVu
Z2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50
aWFscy50eXBlLCBpZDogdHJ1ZSB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBb
cHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMu
dHlwZSwgaWQ6IG51bGwgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUs
IGlkOiBTeW1ib2woKSB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5
Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwg
aWQ6ICJmb28iIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVk
UGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDog
WyBdIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1d
LCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogeyB9IH1d
XQotICAgIF0KLQotICAgIGZ1bmN0aW9uIG1ha2VPcHRpb25zKGF0dHJpYnV0ZXMpCi0gICAgewot
ICAgICAgICBpZiAoYXR0cmlidXRlcy5sZW5ndGggPT0gNCkKLSAgICAgICAgICAgIHJldHVybiB7
IHB1YmxpY0tleTogeyBycDogYXR0cmlidXRlc1swXSwgdXNlcjogYXR0cmlidXRlc1sxXSwgY2hh
bGxlbmdlOiBhdHRyaWJ1dGVzWzJdLCBwdWJLZXlDcmVkUGFyYW1zOiBhdHRyaWJ1dGVzWzNdIH0g
fTsKLSAgICAgICAgcmV0dXJuIHsgcHVibGljS2V5OiB7IHJwOiBhdHRyaWJ1dGVzWzBdLCB1c2Vy
OiBhdHRyaWJ1dGVzWzFdLCBjaGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMl0sIHB1YktleUNyZWRQYXJh
bXM6IGF0dHJpYnV0ZXNbM10sIHRpbWVvdXQ6IGF0dHJpYnV0ZXNbNF0sICBleGNsdWRlQ3JlZGVu
dGlhbHM6IGF0dHJpYnV0ZXNbNV19IH07Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdChh
dHRyaWJ1dGVzVmVjdG9ycykgewotICAgICAgICBhdHRyaWJ1dGVzVmVjdG9ycy5mb3JFYWNoKGZ1
bmN0aW9uKGF0dHJpYnV0ZXNWZWN0b3IpIHsKLSAgICAgICAgICAgIGF0dHJpYnV0ZXNWZWN0b3Iu
Zm9yRWFjaChhc3luYyBmdW5jdGlvbihhdHRyaWJ1dGVzKSB7Ci0gICAgICAgICAgICAgICAgaW52
YWxpZE9wdGlvbnMgPSBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKTsKLSAgICAgICAgICAgICAgICBh
d2FpdCBzaG91bGRSZWplY3QoJ25hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9w
dGlvbnMpJyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgZmluaXNo
SlNUZXN0KCk7Ci0gICAgfQotCi0gICAgY29uc3QgdmVjdG9ycyA9IFtdOwotICAgIHZlY3RvcnMu
cHVzaChtaXNzaW5nQXR0cmlidXRlVmVjdG9yKTsKLSAgICB2ZWN0b3JzLnB1c2god3JvbmdUeXBl
QXR0cmlidXRlVmVjdG9yKTsKLSAgICBydW5UZXN0KHZlY3RvcnMpOwotPC9zY3JpcHQ+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NjODY3Njg3ZmU1MjY2ZDUyY2FkOWQ3
NzQ2NTdhNDVkY2YzN2RlYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVu
dGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotVGVzdHMgdGhhdCBQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tnZXRdXSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gaW52YWxpZCBvcHRpb25zIGFyZSBwYXNz
ZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmNoYWxsZW5nZSBp
cyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiAoQXJyYXlCdWZmZXJWaWV3IG9y
IEFycmF5QnVmZmVyKS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0
aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlD
cmVkZW50aWFsRGVzY3JpcHRvci50eXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
TWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmlkIGlzIHJlcXVpcmVkIGFuZCBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIChBcnJheUJ1ZmZlclZpZXcgb3IgQXJyYXlCdWZmZXIpLgot
UEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlv
bnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENh
bm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgbnVtYmVyLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5j
cmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFs
aWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
LVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxp
ZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgot
UEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJs
aWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1n
ZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTZhOGNiNjYyNjI2MDlmZWI2MTRlM2M1NWY2N2Y3MTI4NWZjYjMyMy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlk
LXBhcmFtZXRlcnMuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gdGhyb3dzIFR5
cGVFcnJvciB3aGVuIGludmFsaWQgb3B0aW9ucyBhcmUgcGFzc2VkLiIpOwotCi0gICAganNUZXN0
SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBjaGFsbGVuZ2UgPSBhc2NpaVRvVWludDhBcnJh
eSgiMTIzNDU2Iik7Ci0gICAgY29uc3QgYWxsb3dDcmVkZW50aWFsID0geyB0eXBlOiAicHVibGlj
LWtleSIsIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IikgfTsKLQotICAgIGNvbnN0IG1p
c3NpbmdBdHRyaWJ1dGVWZWN0b3IgPSBbCi0gICAgICAgIC8vIG1pc3NpbmcgdG9wIGxldmVsIGF0
dHJpYnV0ZQotICAgICAgICBbdW5kZWZpbmVkXSwKLSAgICAgICAgLy8gbWlzc2luZyBhbGxvd0Ny
ZWRlbnRpYWxzIGF0dHJpYnV0ZQotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVm
aW5lZCwgW3sgdHlwZTogdW5kZWZpbmVkLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAg
ICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3Jl
ZGVudGlhbC50eXBlLCBpZDogdW5kZWZpbmVkIH1dXQotICAgIF07Ci0KLSAgICBjb25zdCB3cm9u
Z1R5cGVBdHRyaWJ1dGVWZWN0b3IgPSBbCi0gICAgICAgIC8vIHdyb25nIGNoYWxsZW5nZSB0eXBl
Ci0gICAgICAgIFsxXSwKLSAgICAgICAgW3RydWVdLAotICAgICAgICBbbnVsbF0sCi0gICAgICAg
IFtTeW1ib2woKV0sCi0gICAgICAgIFsiZm9vIl0sCi0gICAgICAgIFtbIF1dLAotICAgICAgICBb
eyB9XSwKLSAgICAgICAgLy8gd3JvbmcgdGltZW91dCB0eXBlCi0gICAgICAgIFtjaGFsbGVuZ2Us
IFN5bWJvbCgpLCB1bmRlZmluZWQsIHVuZGVmaW5lZF0sCi0gICAgICAgIC8vIHdyb25nIHJwSWQg
dHlwZQotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIFN5bWJvbCgpLCB1bmRlZmluZWRd
LAotICAgICAgICAvLyB3cm9uZyBhbGxvd0NyZWRlbnRpYWxzIHR5cGUKLSAgICAgICAgW2NoYWxs
ZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IDEsIGlkOiBhbGxvd0NyZWRlbnRp
YWwuaWQgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sg
dHlwZTogdHJ1ZSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCi0gICAgICAgIFtjaGFsbGVu
Z2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBudWxsLCBpZDogYWxsb3dDcmVkZW50
aWFsLmlkIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7
IHR5cGU6IFN5bWJvbCgpLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAgW2No
YWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6ICJmb28iLCBpZDogYWxsb3dD
cmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IFsgXSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCi0gICAgICAgIFtj
aGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiB7IH0sIGlkOiBhbGxvd0Ny
ZWRlbnRpYWwuaWQgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5l
ZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiAxIH1dXSwKLSAgICAgICAgW2No
YWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50
eXBlLCBpZDogdHJ1ZSB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IG51bGwgfV1dLAotICAgICAg
ICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50
aWFsLnR5cGUsIGlkOiBTeW1ib2woKSB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5l
ZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6ICJmb28iIH1d
XSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFs
bG93Q3JlZGVudGlhbC50eXBlLCBpZDogWyBdIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5k
ZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogeyB9
IH1dXQotICAgIF07Ci0KLSAgICBmdW5jdGlvbiBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKQotICAg
IHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMubGVuZ3RoID09IDEpCi0gICAgICAgICAgICByZXR1
cm4geyBwdWJsaWNLZXk6IHsgY2hhbGxlbmdlOiBhdHRyaWJ1dGVzWzBdIH0gfTsKLSAgICAgICAg
cmV0dXJuIHsgcHVibGljS2V5OiB7IGNoYWxsZW5nZTogYXR0cmlidXRlc1swXSwgdGltZW91dDog
YXR0cmlidXRlc1sxXSwgcnBJZDogYXR0cmlidXRlc1syXSwgYWxsb3dDcmVkZW50aWFsczogYXR0
cmlidXRlc1szXSB9IH07Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdChhdHRyaWJ1dGVz
VmVjdG9ycykgewotICAgICAgICBhdHRyaWJ1dGVzVmVjdG9ycy5mb3JFYWNoKGZ1bmN0aW9uKGF0
dHJpYnV0ZXNWZWN0b3IpIHsKLSAgICAgICAgICAgIGF0dHJpYnV0ZXNWZWN0b3IuZm9yRWFjaChh
c3luYyBmdW5jdGlvbihhdHRyaWJ1dGVzKSB7Ci0gICAgICAgICAgICAgICAgaW52YWxpZE9wdGlv
bnMgPSBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKTsKLSAgICAgICAgICAgICAgICBhd2FpdCBzaG91
bGRSZWplY3QoJ25hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpJyk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0g
ICAgfQotCi0gICAgY29uc3QgdmVjdG9ycyA9IFtdOwotICAgIHZlY3RvcnMucHVzaChtaXNzaW5n
QXR0cmlidXRlVmVjdG9yKTsKLSAgICB2ZWN0b3JzLnB1c2god3JvbmdUeXBlQXR0cmlidXRlVmVj
dG9yKTsKLSAgICBydW5UZXN0KHZlY3RvcnMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy0yLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFs
LXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzM0YzRkOTY3NjE3M2Y3ZTYwOWRmNTE2ZDA2N2QyOTcw
YWY2NTNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUt
b3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0
aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRo
ZSBBUEkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRocm93IE5vdEFs
bG93ZWRFcnJvciBmb3IgYm90aCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSBhbmQg
W1tnZXRdXS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy0yLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1l
LW9yaWdpbi13aXRoLWFuY2VzdG9ycy0yLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGM5MDExYTk4NTE4YzkxNjdkNGJmZWU2ZmRkMGY2NmY5NTYwYjgxZjMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1h
bmNlc3RvcnMtMi5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGEgZnJhbWUgdGhhdCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbiB3
aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNvdWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS4iKTsKLSAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotICAgIDwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vi
YXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbCI+PC9pZnJhbWU+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMzRjNGQ5Njc2MTczZjdlNjA5ZGY1
MTZkMDY3ZDI5NzBhZjY1M2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9lc24n
dCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBub3Qg
YWNjZXNzIHRoZSBBUEkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRo
cm93IE5vdEFsbG93ZWRFcnJvciBmb3IgYm90aCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVh
dGVdXSBhbmQgW1tnZXRdXS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVT
VCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjhjOTVjZjc2M2Y4N2M5N2Y1OGIwYTJhNDE2NDc4NTBmMDEwZmVjZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13
aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGEgZnJhbWUgdGhhdCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdp
biB3aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNvdWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS4iKTsKLSAg
ICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2FnZSwgZmFsc2UpOwotICAgIDwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMv
d2ViYXV0aG4vcmVzb3VyY2VzL3NlY29uZC1sYXllci1mcmFtZS5odHRwcy5odG1sIj48L2lmcmFt
ZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2ViYXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXItZnJhbWUuaHR0cHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQyNmU1NzNkNDM4OGE4YWIyNGJl
ZDE4NWJjMmM4ZmU5M2EwNWE5MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0
LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9InV0aWwuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gbWVzc2FnZVRvVG9wKG1lc3NhZ2VQcmVmaXgpIHsKLSAg
ICAgICAgdG9wLnBvc3RNZXNzYWdlKG1lc3NhZ2VQcmVmaXgsICJodHRwczovLzEyNy4wLjAuMTo4
NDQzIik7Ci0gICAgfQotCi0gICAgY29uc3QgbWFrZU9wdGlvbnMgPSB7Ci0gICAgICAgIHB1Ymxp
Y0tleTogewotICAgICAgICAgICAgcnA6IHsKLSAgICAgICAgICAgICAgICBuYW1lOiAiZXhhbXBs
ZS5jb20iCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgdXNlcjogewotICAgICAgICAgICAg
ICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCi0gICAgICAgICAgICAgICAgaWQ6IGFzY2lpVG9V
aW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxl
c2VlZCIsCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWlu
dDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBl
OiAicHVibGljLWtleSIsIGFsZzogLTcgfV0KLSAgICAgICAgfQotICAgIH07Ci0gICAgY29uc3Qg
cmVxdWVzdE9wdGlvbnMgPSB7Ci0gICAgICAgIHB1YmxpY0tleTogewotICAgICAgICAgICAgY2hh
bGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAgIH0KLSAgICB9Owot
Ci0gICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShtYWtlT3B0aW9ucykudGhlbigKLSAg
ICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiQWNjZXNz
IGdyYW50ZWQuICIgKyB2YWx1ZSk7Ci0gICAgICAgIH0sCi0gICAgICAgIGZ1bmN0aW9uKGV4Y2Vw
dGlvbikgewotICAgICAgICAgICAgaWYgKGV4Y2VwdGlvbi5uYW1lID09ICJOb3RBbGxvd2VkRXJy
b3IiKQotICAgICAgICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KHJl
cXVlc3RPcHRpb25zKQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG1lc3NhZ2VU
b1RvcCgiVGhyb3cgIiArIGV4Y2VwdGlvbi5uYW1lICArICIuIik7Ci0gICAgICAgIH0KLSAgICAp
LnRoZW4oZnVuY3Rpb24odmFsdWUpIHsKLSAgICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiQWNjZXNz
IGdyYW50ZWQuICIgKyB2YWx1ZSk7Ci0gICAgICAgIH0sCi0gICAgICAgIGZ1bmN0aW9uKGV4Y2Vw
dGlvbikgewotICAgICAgICAgICAgaWYgKGV4Y2VwdGlvbi5uYW1lID09ICJOb3RBbGxvd2VkRXJy
b3IiKQotICAgICAgICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiUEFTUyBUaHJvdyBOb3RBbGxvd2Vk
RXJyb3IgZm9yIGJvdGggUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gYW5kIFtbZ2V0
XV0uIik7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJU
aHJvdyAiICsgZXhjZXB0aW9uLm5hbWUgICsgIi4iKTsKLSAgICB9KTsKLSAgICA8L3NjcmlwdD4K
LTwvaGVhZD4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
YXV0aG4vcmVzb3VyY2VzL3NlY29uZC1sYXllci1mcmFtZS5odHRwcy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZjE2MzBlNDBmNGNkMWI1YWVj
M2FiNmJiOWRhNDRjY2VmMzc2MjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvc2Vj
b25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAK
LTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxp
ZnJhbWUgc3JjPSJsYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9y
ZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3Vy
Y2VzL3V0aWwuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3YjZmNGU4NDI0NDQ0
YWU4NWY5MDdhNjVlMTMzYTUxOGEwZGRlNTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJj
ZXMvdXRpbC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLWZ1bmN0aW9uIHJlY2Vp
dmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gImh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMiKSB7Ci0gICAgICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MgIikg
IT09IC0xKQotICAgICAgICAgICAgdGVzdFBhc3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1Mg
IiwgIiIpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRh
KTsKLSAgICB9IGVsc2UKLSAgICAgICAgdGVzdEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZy
b20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIgKyBldmVudC5vcmlnaW4pOwotICAgIGZpbmlzaEpT
VGVzdCgpOwotfQotCi1mdW5jdGlvbiBhc2NpaVRvVWludDhBcnJheShzdHIpCi17Ci0gICAgY29u
c3QgY2hhcnMgPSBbXTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkK
LSAgICAgICAgY2hhcnMucHVzaChzdHIuY2hhckNvZGVBdChpKSk7Ci0gICAgcmV0dXJuIG5ldyBV
aW50OEFycmF5KGNoYXJzKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Ny
ZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1zdG9yZS1iYXNpY3MuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVk
ZW50aWFsc2NvbnRhaW5lci1zdG9yZS1iYXNpY3MuaHR0cHMuaHRtbAppbmRleCAyMzY5MTM1MGMw
NWVjZTAwODdlNTJlY2RjODE4NGUwZGRmZGU3OWU1Li5jNWRmMDI5ZDgxZTJmNWYwNDdiYWIzN2U0
OTE1YmEzZjg1OWRlNTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50
aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRl
bnRpYWxzY29udGFpbmVyLXN0b3JlLWJhc2ljcy5odHRwcy5odG1sCkBAIC0zLDYgKzMsMTEgQEAK
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQ+CisgICAgY29uc3QgdGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCA9CisgICAgICAgICJCRGov
enhTa3pLZ2FCdVMzY2RXREY1NThvZjhBYUlwZ0Zwc2pGL1FtMTc0OVZCSlBncVVJd2ZoV0hKOTFu
YjdVIiArCisgICAgICAgICJQSDc2YzArV0ZPelpLc2xQeXlGc2U0Z29HSVcyUjdrOVZITFBFWmw1
bmZuQmdFVkZoNXpldisveHBIUUl2dXE2IiArCisgICAgICAgICJSUT09IjsKKyAgICBjb25zdCB0
ZXN0UnBJZCA9ICJsb2NhbGhvc3QiOwogICAgIGZ1bmN0aW9uIGFzY2lpVG9VaW50OEFycmF5KHN0
cikKICAgICB7CiAgICAgICAgIHZhciBjaGFycyA9IFtdOwpAQCAtNDIsMTAgKzQ3LDE0IEBACiAg
ICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgICAgIC8vIEEgbW9jayBhdHRlc3RhdGlvbiBv
YmplY3QKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0
Q3JlYXRpb25SZXR1cm5CdW5kbGUoaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMCcpLCBoZXhTdHJp
bmdUb1VpbnQ4QXJyYXkoJzAxJykpOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRp
b24oeyBsb2NhbDogeyBhY2NlcHRBdXRoZW50aWNhdGlvbjogdHJ1ZSwgYWNjZXB0QXR0ZXN0YXRp
b246IHRydWUsIHByaXZhdGVLZXlCYXNlNjQ6IHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQgfSB9
KTsKICAgICAgICAgY29uc3QgY3JlZGVudGlhbCA9IGF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUob3B0aW9ucyk7CiAKICAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAi
Tm90U3VwcG9ydGVkRXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLnN0
b3JlKGNyZWRlbnRpYWwpKTsKKyAgICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5zdG9y
ZShjcmVkZW50aWFsKSkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFp
bih0ZXN0UnBJZCk7CisgICAgICAgIH0pOwogICAgIH0sICJuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
c3RvcmUoKS4iKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vaWRsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9p
ZGwuaHR0cHMuaHRtbAppbmRleCA0Y2Y4Y2FmZTI5Y2YzYWExMmQ4YzljZjUwZjI2YjJmODMxNDUx
ZWUxLi5hYjQxODI5Y2ZiM2Q5NDczM2U3MzEwOGJkOWE2ZDViNTQ2MTcxNDhkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9pZGwuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9pZGwuaHR0cHMuaHRtbApAQCAtMTksNiArMTksOSBA
QAogPGRpdiBpZD0nbG9nJz48L2Rpdj4KIAogPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLnNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRpb24o
eyBsb2NhbDogeyBhY2NlcHRBdXRoZW50aWNhdGlvbjogdHJ1ZSwgYWNjZXB0QXR0ZXN0YXRpb246
IHRydWUsIHByaXZhdGVLZXlCYXNlNjQ6IHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQgfSB9KTsK
KwogcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKICAgICBjb25zdCBpZGxVUkwgPSBbIldlYkF1
dGhOLmlkbCJdOwogICAgIGNvbnN0IGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7CkBAIC00NCwx
NSArNDcsMTMgQEAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICB1c2VyOiB7CiAgICAgICAgICAgICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVk
IiwKLSAgICAgICAgICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAg
ICAgICAgICAgICAgIGlkOiBCYXNlNjRVUkwucGFyc2UodGVzdFVzZXJoYW5kbGVCYXNlNjQpLAog
ICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIiwKICAgICAgICAgICAgIH0s
CiAgICAgICAgICAgICBjaGFsbGVuZ2U6IEJhc2U2NFVSTC5wYXJzZSgiTVRJek5EVTIiKSwKICAg
ICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAt
NyB9XSwKICAgICAgICAgfQogICAgIH07Ci0gICAgLy8gQSBtb2NrIGF0dGVzdGF0aW9uIG9iamVj
dAotICAgIGludGVybmFscy5tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLnNldENyZWF0aW9u
UmV0dXJuQnVuZGxlKGhleFN0cmluZ1RvVWludDhBcnJheSgnMDAnKSwgaGV4U3RyaW5nVG9VaW50
OEFycmF5KCcwMScpKTsKICAgICBjcmVhdGVkQ3JlZGVudGlhbCA9IGF3YWl0IG5hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUoY3JlYXRpb25PcHRpb25zKTsKIAogCkBAIC02MSwxMSArNjIsMTIg
QEAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKICAgICAgICAgICAgIGNoYWxsZW5nZTogQmFz
ZTY0VVJMLnBhcnNlKCJNVEl6TkRVMiIpLAogICAgICAgICB9CiAgICAgfTsKLSAgICAvLyBBIG1v
Y2sgYXNzZXJ0aW9uIHJldHVybiBidW5kbGUuCi0gICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3Iuc2V0QXNzZXJ0aW9uUmV0dXJuQnVuZGxlKGhleFN0cmluZ1RvVWludDhB
cnJheSgnMDAnKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMScpLCBoZXhTdHJpbmdUb1VpbnQ4
QXJyYXkoJzAyJyksIGhleFN0cmluZ1RvVWludDhBcnJheSgnMDMnKSk7CiAgICAgcmVxdWVzdGVk
Q3JlZGVudGlhbCA9IGF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQocmVxdWVzdE9wdGlv
bnMpOwogCiAgICAgaWRsQXJyYXkuYWRkX29iamVjdHMoeyJQdWJsaWNLZXlDcmVkZW50aWFsIjog
WyJjcmVhdGVkQ3JlZGVudGlhbCJdLCAiQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Ui
OiBbImNyZWF0ZWRDcmVkZW50aWFsLnJlc3BvbnNlIl0sICJBdXRoZW50aWNhdG9yQXNzZXJ0aW9u
UmVzcG9uc2UiOiBbInJlcXVlc3RlZENyZWRlbnRpYWwucmVzcG9uc2UiXX0pOwogICAgIGlkbEFy
cmF5LnRlc3QoKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1
bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJwSWQpOwogfSwgIlNldHVwIGZvciBXZWJBdXRoTiBB
UEkgSURMIHRlc3RzLiIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCmluZGV4IGFjM2E2MzYxMGNh
MDY4MGNjMWI5ODRiZWQwMjczMWM4ZWZmNTA5OGMuLjJiYzRkMWQxMzNmMTFkMWJmY2FjMWFmNzdh
Y2U1NTNhN2MyMTYzMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1j
cmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCkBAIC0yMyw3ICsyMyw3IEBACiAgICAgICAg
ICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC0z
NSB9LCB7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtMjU3IH1dLCAvLyBFUzM4NCwgUlMyNTYK
ICAgICAgICAgICAgIH0KICAgICAgICAgfTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0
cyh0LCAiTm90U3VwcG9ydGVkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9w
dGlvbnMpLCAiVGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IgZG9lc24ndCBzdXBw
b3J0IGFueSBwcm92aWRlZCBQdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1ldGVycy4iKTsKKyAgICAg
ICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJUaGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0
aGVudGljYXRvciBkb2Vzbid0IHN1cHBvcnQgYW55IHByb3ZpZGVkIFB1YmxpY0tleUNyZWRlbnRp
YWxQYXJhbWV0ZXJzLiIpOwogICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVd
XSB3aXRoIHVuc3VwcG9ydGVkIHB1YmxpYyBrZXkgY3JlZGVudGlhbCBwYXJhbWV0ZXJzIGluIGEg
bW9jayBsb2NhbCBhdXRoZW50aWNhdG9yLiIpOwogCiAgICAgcHJvbWlzZV90ZXN0KHQgPT4gewpA
QCAtNDQsNyArNDQsNyBAQAogICAgICAgICB9OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNoYWluKHRlc3RFUzI1
NlByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElkLCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCk7Ci0gICAg
ICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBt
YXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxh
dGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0
dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBh
biBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0
dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hh
aW4odGVzdFJwSWQpOwogICAgICAgICB9KTsKQEAgLTczLDcgKzczLDcgQEAKICAgICAgICAgfTsK
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5h
ZGRUZXN0S2V5VG9LZXljaGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwg
dGVzdFVzZXJoYW5kbGVCYXNlNjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQs
ICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMp
LCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVk
ZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3Iu
IikudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxs
b3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxl
YXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50
aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4o
KCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElkKTsKICAgICAgICAgfSk7CkBA
IC05NCw3ICs5NCw3IEBACiAgICAgICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlw
ZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dCiAgICAgICAgICAgICB9CiAgICAgICAgIH07Ci0g
ICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmln
YXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJDb3VsZG4ndCBnZXQgdXNlciBjb25z
ZW50LiIpOworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJv
ciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJDb3VsZG4ndCBnZXQg
dXNlciBjb25zZW50LiIpOwogICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVd
XSB3aXRob3V0IHVzZXIgY29uc2VudCBpbiBhIG1vY2sgbG9jYWwgYXV0aGVudGljYXRvci4iKTsK
IAogICAgIHByb21pc2VfdGVzdCh0ID0+IHsKQEAgLTExNCw3ICsxMTQsNyBAQAogICAgICAgICB9
OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVy
LnNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRpb24oeyBsb2NhbDogeyBhY2NlcHRB
dXRoZW50aWNhdGlvbjogdHJ1ZSwgYWNjZXB0QXR0ZXN0YXRpb246IGZhbHNlLCBwcml2YXRlS2V5
QmFzZTY0OiAiIiB9IH0pOwotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJVbmtu
b3duRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVW5rbm93
biBpbnRlcm5hbCBlcnJvci4iKTsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJV
bmtub3duRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVW5r
bm93biBpbnRlcm5hbCBlcnJvci4iKTsKICAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtb
Y3JlYXRlXV0gd2l0aG91dCBhdHRlc3RhdGlvbiBpbiBhIG1vY2sgbG9jYWwgYXV0aGVudGljYXRv
ci4iKTsKIAogICAgIHByb21pc2VfdGVzdCh0ID0+IHsKQEAgLTEzNiw3ICsxMzYsNyBAQAogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9u
KHsgbG9jYWw6IHsgYWNjZXB0QXV0aGVudGljYXRpb246IHRydWUsIGFjY2VwdEF0dGVzdGF0aW9u
OiBmYWxzZSwgcHJpdmF0ZUtleUJhc2U2NDogIiIgfSB9KTsKICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJw
SWQsIHRlc3RVc2VyaGFuZGxlQmFzZTY0KTsKICAgICAgICAgfQotICAgICAgICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzKHQsICJVbmtub3duRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKG9wdGlvbnMpLCAiVW5rbm93biBpbnRlcm5hbCBlcnJvci4iKS50aGVuKCgpID0+IHsKKyAg
ICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJVbmtub3duRXJyb3IiLCBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVW5rbm93biBpbnRlcm5hbCBlcnJvci4iKS50
aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAg
ICAgICAgICBhc3NlcnRfZmFsc2UodGVzdFJ1bm5lci5rZXlFeGlzdHNJbktleWNoYWluKHRlc3RS
cElkLCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCkpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUt
ZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IGM0NzYxZjNmNGFjMjEyZmVmYzJjOTA3Y2ExZWQwY2U3Mjk5NTUyOTYuLjA4MGQzY2Vj
ODJhM2NiNWIwNTA0ZmVjNzU3ODQxYjk1MDRlYmU2N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5o
dHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVi
bGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MSw2ICsxLDQgQEAKIAotUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IHRpbWVvdXQgCiBQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggYSBt
aXNtYXRjaGVkIFJQIElEIAogUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3
aXRoIGFuIGVtcHR5IHB1YktleUNyZWRQYXJhbXMgCi1QQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggdXNlciBjYW5jZWxsYXRpb25zIAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZh
aWx1cmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy5odG1sCmluZGV4IDQ1MDc3YTNjZjlk
MzM3MWZlYzZmZjZiOGJkYTViMjdkMmQ4NDE2ZDEuLmM1MjQ5NmM4NTM2YWZkZTM5YTVhNmEzMTE3
N2JhZTU0YzFmY2JjNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUt
ZmFpbHVyZS5odHRwcy5odG1sCkBAIC00LDI3ICs0LDMxIEBACiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotICAgIHByb21pc2VfdGVzdChmdW5j
dGlvbih0KSB7Ci0gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICAgICAgICBwdWJsaWNL
ZXk6IHsKLSAgICAgICAgICAgICAgICBycDogewotICAgICAgICAgICAgICAgICAgICBuYW1lOiAi
ZXhhbXBsZS5jb20iCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB1c2VyOiB7
Ci0gICAgICAgICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCi0gICAgICAgICAg
ICAgICAgICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAgICAgICAg
ICAgICAgIGRpc3BsYXlOYW1lOiAiSm9obiIsCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAg
ICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcg
fV0sCi0gICAgICAgICAgICAgICAgdGltZW91dDogMCwKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fTsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0RGlk
VGltZU91dCgpOworICAgIC8vIERlZmF1bHQgbW9jayBjb25maWd1cmF0aW9uLiBUZXN0cyBuZWVk
IHRvIG92ZXJyaWRlIGlmIHRoZXkgbmVlZCBkaWZmZXJlbnQgY29uZmlndXJhdGlvbi4KKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuc2V0V2ViQXV0aGVudGlj
YXRpb25Nb2NrQ29uZmlndXJhdGlvbih7IH0pOwogCi0gICAgICAgIHJldHVybiBwcm9taXNlX3Jl
amVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsCi0gICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKG9wdGlvbnMpKTsKLSAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtb
Y3JlYXRlXV0gd2l0aCB0aW1lb3V0Iik7CisgICAgLy8gRklYTUUoMTg5NjQyKTogUmUtZW5hYmxl
IHRoZSBmb2xsb3dpbmcgdGVzdC4KKyAgICAvLyBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICAgIC8vICAgICBjb25zdCBvcHRpb25zID0geworICAgIC8vICAgICAgICAgcHVibGljS2V5OiB7
CisgICAgLy8gICAgICAgICAgICAgcnA6IHsKKyAgICAvLyAgICAgICAgICAgICAgICAgbmFtZTog
ImV4YW1wbGUuY29tIgorICAgIC8vICAgICAgICAgICAgIH0sCisgICAgLy8gICAgICAgICAgICAg
dXNlcjogeworICAgIC8vICAgICAgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAor
ICAgIC8vICAgICAgICAgICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAor
ICAgIC8vICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogIkpvaG4iLAorICAgIC8vICAgICAg
ICAgICAgIH0sCisgICAgLy8gICAgICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJh
eSgiMTIzNDU2IiksCisgICAgLy8gICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlw
ZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dLAorICAgIC8vICAgICAgICAgICAgIHRpbWVvdXQ6
IDAsCisgICAgLy8gICAgICAgICB9CisgICAgLy8gICAgIH07CisgICAgLy8KKyAgICAvLyAgICAg
cmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLAorICAgIC8vICAgICAg
ICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIk9wZXJhdGlvbiB0aW1l
ZCBvdXQuIik7CisgICAgLy8gfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdp
dGggdGltZW91dCIpOwogCiAgICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAg
Y29uc3Qgb3B0aW9ucyA9IHsKQEAgLTQyLDggKzQ2LDkgQEAKICAgICAgICAgICAgICAgICBwdWJL
ZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0sCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH07Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIlNl
Y3VyaXR5RXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShv
cHRpb25zKSk7CisKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJTZWN1cml0eUVy
cm9yIiwKKyAgICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyks
ICJUaGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVudCBpcyBub3QgYSByZWdpc3RyYWJsZSBkb21haW4g
c3VmZml4IG9mIHRoZSBwcm92aWRlZCBSUCBJRC4iKTsKICAgICB9LCAiUHVibGljS2V5Q3JlZGVu
dGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBhIG1pc21hdGNoZWQgUlAgSUQiKTsKIAogICAgIHByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7CkBAIC02MiwyOSArNjcsOCBAQAogICAgICAgICAgICAgICAg
IHB1YktleUNyZWRQYXJhbXM6IFsgXSwKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKLSAgICAg
ICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90U3VwcG9ydGVkRXJyb3IiLAotICAgICAg
ICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSk7Ci0gICAgfSwgIlB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggYW4gZW1wdHkgcHViS2V5Q3JlZFBh
cmFtcyIpOwotCi0gICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgY29uc3Qg
b3B0aW9ucyA9IHsKLSAgICAgICAgICAgIHB1YmxpY0tleTogewotICAgICAgICAgICAgICAgIHJw
OiB7Ci0gICAgICAgICAgICAgICAgICAgIG5hbWU6ICJsb2NhbGhvc3QiLAotICAgICAgICAgICAg
ICAgICAgICBpZDogImxvY2FsaG9zdCIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgIHVzZXI6IHsKLSAgICAgICAgICAgICAgICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVkIiwK
LSAgICAgICAgICAgICAgICAgICAgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAg
ICAgICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6ICJKb2huIiwKLSAgICAgICAgICAgICAgICB9
LAotICAgICAgICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIp
LAotICAgICAgICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5
IiwgYWxnOiAtNyB9XSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgaW50ZXJu
YWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0RGlkVXNlckNhbmNlbCgpOwogCi0g
ICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsCi0gICAg
ICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpKTsKLSAgICB9LCAi
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB1c2VyIGNhbmNlbGxhdGlvbnMi
KTsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIs
CisgICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiTm8g
ZGVzaXJlZCBwcm9wZXJ0aWVzIG9mIHRoZSB0byBiZSBjcmVhdGVkIGNyZWRlbnRpYWwgYXJlIHBy
b3ZpZGVkLiIpOworICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IGFuIGVtcHR5IHB1YktleUNyZWRQYXJhbXMiKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1z
dWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhODY4NDA2YjU4MmY1MzRjOWQ2YTJiYjE1
MTNlZmVkYjk0N2VkMTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFs
LWNyZWF0ZS1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMg
KzAsMCBAQAotCi1QQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggbWlu
aW11bSBvcHRpb25zIAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXN1Y2Nlc3MuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3Vj
Y2Vzcy5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzU4NGEwMDEx
NzQwYmM2MDJhZTQzZGFkNzk0OWRjMWYzMzkzODdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1Ymxp
Yy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+V2ViIEF1dGhlbnRpY2F0
aW9uIEFQSTogUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gc3VjY2VzcyBjYXNlcy48
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LSAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBjb25zdCBvcHRpb25zID0g
ewotICAgICAgICAgICAgcHVibGljS2V5OiB7Ci0gICAgICAgICAgICAgICAgcnA6IHsKLSAgICAg
ICAgICAgICAgICAgICAgbmFtZTogImxvY2FsaG9zdCIsCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICB1c2VyOiB7Ci0gICAgICAgICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFw
cGxlc2VlZCIsCi0gICAgICAgICAgICAgICAgICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIz
NDU2IiksCi0gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIiwKLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGNoYWxsZW5nZTogQmFzZTY0VVJMLnBh
cnNlKCJNVEl6TkRVMiIpLAotICAgICAgICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5
cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9XSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsK
LSAgICAgICAgLy8gQSBtb2NrIGF0dGVzdGF0aW9uIG9iamVjdAotICAgICAgICBpbnRlcm5hbHMu
bW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5zZXRDcmVhdGlvblJldHVybkJ1bmRsZShoZXhT
dHJpbmdUb1VpbnQ4QXJyYXkoJzAwJyksIGhleFN0cmluZ1RvVWludDhBcnJheSgnMDEnKSk7Ci0K
LSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucykudGhl
bihmdW5jdGlvbihjcmVkZW50aWFsKSB7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhj
cmVkZW50aWFsLmlkLCAnQUEnKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNyZWRl
bnRpYWwudHlwZSwgJ3B1YmxpYy1rZXknKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGJ5dGVzVG9IZXhTdHJpbmcoY3JlZGVudGlhbC5yYXdJZCksICcwMCcpOwotICAgICAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0FTQ0lJU3RyaW5nKGNyZWRlbnRpYWwucmVzcG9uc2Uu
Y2xpZW50RGF0YUpTT04pLCAneyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoi
TVRJek5EVTIiLCJvcmlnaW4iOiJodHRwczovL2xvY2FsaG9zdDo5NDQzIiwiaGFzaEFsZ29yaXRo
bSI6IlNIQS0yNTYifScpOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hl
eFN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNlLmF0dGVzdGF0aW9uT2JqZWN0KSwgJzAxJyk7Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiTm90U3VwcG9ydGVkRXJyb3IiLCAoKSA9PiB7
IGNyZWRlbnRpYWwuZ2V0Q2xpZW50RXh0ZW5zaW9uUmVzdWx0cygpIH0pOwotICAgICAgICAgICAg
fSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggbWluaW11
bSBvcHRpb25zIik7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFt
ZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4v
cHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRw
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDU2NzMxYzQ2MDlkYzgzMjhlZDIzNDM0YjE5Y2I1
ZTJkNGI1NjhmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTcgQEAKKworUEFTUyBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxIAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJh
bWV0ZXJzLiAyIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tj
cmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0IAorUEFTUyBQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA1IAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiA2IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA3IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA4IAorUEFTUyBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA5
IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxp
ZCBwYXJhbWV0ZXJzLiAxMCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0g
d2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTEgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRp
YWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDEyIAorUEFTUyBQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0
ZXJzLiAxMyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRo
IGludmFsaWQgcGFyYW1ldGVycy4gMTQgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2Ny
ZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE1IAorUEFTUyBQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxNiAK
K1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQg
cGFyYW1ldGVycy4gMTcgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdp
dGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE4IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxOSAKK1BBU1MgUHVi
bGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVy
cy4gMjAgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBp
bnZhbGlkIHBhcmFtZXRlcnMuIDIxIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVh
dGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyMiAKK1BBU1MgUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjMgCitQ
QVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBh
cmFtZXRlcnMuIDI0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyNSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdz
IFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjYgCitQQVNTIFB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMu
IDI3IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52
YWxpZCBwYXJhbWV0ZXJzLiAyOCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRl
XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjkgCitQQVNTIFB1YmxpY0tleUNyZWRl
bnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDMwIAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJh
bWV0ZXJzLiAzMSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3
aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzIgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDMzIAorUEFTUyBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAz
NCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFs
aWQgcGFyYW1ldGVycy4gMzUgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1d
IHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDM2IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzNyAKK1BBU1Mg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1l
dGVycy4gMzggCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0
aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDM5IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tj
cmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0MCAKK1BBU1MgUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNDEg
CitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlk
IHBhcmFtZXRlcnMuIDQyIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3
aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0MyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNDQgCitQQVNTIFB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRl
cnMuIDQ1IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGgg
aW52YWxpZCBwYXJhbWV0ZXJzLiA0NiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3Jl
YXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNDcgCitQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQ4IAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiA0OSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0
aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNTAgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDUxIAorUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LiA1MiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gNTMgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0
ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDU0IAorUEFTUyBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA1NSAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRo
LWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0YzgzODYxNTAxNDBk
ZjlmMDM1OWExNzIxOTRlZmRkNmIxZmEwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52
YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMTUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPldlYiBBdXRoZW50aWNhdGlvbiBBUEk6IFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIGNvbnN0IHJwID0gewor
ICAgICAgICBuYW1lOiAiZXhhbXBsZS5jb20iCisgICAgfTsKKyAgICBjb25zdCB1c2VyID0gewor
ICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAorICAgICAgICBpZDogYXNjaWlUb1VpbnQ4
QXJyYXkoIjEyMzQ1NiIpLAorICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxlc2VlZCIKKyAgICB9
OworICAgIGNvbnN0IGNoYWxsZW5nZSA9IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKTsKKyAg
ICBjb25zdCBwdWJLZXlDcmVkUGFyYW0gPSB7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9
OworICAgIGNvbnN0IGV4Y2x1ZGVDcmVkZW50aWFscyA9IHsgdHlwZTogInB1YmxpYy1rZXkiLCBp
ZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpIH07CisKKyAgICBjb25zdCBtaXNzaW5nQXR0
cmlidXRlVmVjdG9yID0gWworICAgICAgICAvLyBtaXNzaW5nIHRvcCBsZXZlbCBhdHRyaWJ1dGUK
KyAgICAgICAgW3VuZGVmaW5lZCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0s
CisgICAgICAgIFtycCwgdW5kZWZpbmVkLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwK
KyAgICAgICAgW3JwLCB1c2VyLCB1bmRlZmluZWQsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAg
ICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIHVuZGVmaW5lZF0sCisgICAgICAgIC8vIG1pc3Npbmcg
cnAgYXR0cmlidXRlCisgICAgICAgIFt7IG5hbWU6IHVuZGVmaW5lZCB9LCB1c2VyLCBjaGFsbGVu
Z2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgLy8gbWlzc2luZyB1c2VyIGF0dHJpYnV0
ZQorICAgICAgICBbcnAsIHsgbmFtZTogdW5kZWZpbmVkLCBpZDogdXNlci5pZCwgZGlzcGxheU5h
bWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAg
ICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVuZGVmaW5lZCwgZGlzcGxheU5hbWU6
IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAg
ICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1lOiB1bmRl
ZmluZWR9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgLy8gbWlzc2lu
ZyBwdWJLZXlDcmVkUGFyYW1zIGF0dHJpYnV0ZQorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5n
ZSwgW3sgdHlwZTogdW5kZWZpbmVkLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAorICAg
ICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogcHViS2V5Q3JlZFBhcmFtLnR5cGUs
IGFsZzogdW5kZWZpbmVkIH1dXSwKKyAgICAgICAgLy8gbWlzc2luZyBleGNsdWRlQ3JlZGVudGlh
bHMgYXR0cmlidXRlCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBh
cmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiB1bmRlZmluZWQsIGlkOiBleGNsdWRlQ3JlZGVudGlh
bHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiB1bmRl
ZmluZWQgfV1dCisgICAgXTsKKworICAgIGNvbnN0IHdyb25nVHlwZUF0dHJpYnV0ZVZlY3RvciA9
IFsKKyAgICAgICAgLy8gd3JvbmcgcnAgYXR0cmlidXRlIHR5cGUKKyAgICAgICAgW3sgbmFtZTog
U3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAg
IFt7IG5hbWU6IHJwLm5hbWUsIGljb246IFN5bWJvbCgpIH0sIHVzZXIsIGNoYWxsZW5nZSwgW3B1
YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbeyBuYW1lOiBycC5uYW1lLCBpZDogU3ltYm9sKCkg
fSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIC8vIHdyb25n
IHVzZXIgYXR0cmlidXRlIHR5cGUKKyAgICAgICAgW3JwLCB7IG5hbWU6IFN5bWJvbCgpLCBpZDog
dXNlci5pZCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJL
ZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IDEsIGRp
c3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB0cnVlLCBkaXNwbGF5TmFt
ZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAg
ICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogbnVsbCwgZGlzcGxheU5hbWU6IHVzZXIu
ZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3Jw
LCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IFN5bWJvbCgpLCBkaXNwbGF5TmFtZTogdXNlci5kaXNw
bGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHsg
bmFtZTogdXNlci5uYW1lLCBpZDogeyB9LCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0s
IGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHsgbmFtZTogdXNl
ci5uYW1lLCBpZDogImZvbyIsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxl
bmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUs
IGlkOiBbIF0sIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHVi
S2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB1c2Vy
LmlkLCBkaXNwbGF5TmFtZTogU3ltYm9sKCl9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1d
XSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlO
YW1lOiB1c2VyLmRpc3BsYXlOYW1lLCBpY29uOiBTeW1ib2woKX0sIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV1dLAorICAgICAgICAvLyB3cm9uZyBjaGFsbGVuZ2UgdHlwZQorICAgICAgICBb
cnAsIHVzZXIsIDEsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCB0cnVl
LCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdXNlciwgbnVsbCwgW3B1YktleUNy
ZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVzZXIsIFN5bWJvbCgpLCBbcHViS2V5Q3JlZFBhcmFt
XV0sCisgICAgICAgIFtycCwgdXNlciwgImZvbyIsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAg
ICAgW3JwLCB1c2VyLCBbIF0sIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB1c2Vy
LCB7IH0sIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgLy8gd3JvbmcgcHViS2V5Q3JlZFBh
cmFtIHR5cGUKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IDEsIGFsZzog
cHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBb
eyB0eXBlOiB0cnVlLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAorICAgICAgICBbcnAs
IHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogbnVsbCwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxn
IH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IFN5bWJvbCgpLCBh
bGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5n
ZSwgW3sgdHlwZTogImZvbyIsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAg
IFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBbIF0sIGFsZzogcHViS2V5Q3JlZFBhcmFt
LmFsZyB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiB7IH0sIGFs
ZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdl
LCBbeyB0eXBlOiBwdWJLZXlDcmVkUGFyYW0udHlwZSwgYWxnOiBTeW1ib2woKSB9XV0sCisgICAg
ICAgIC8vIHdyb25nIHRpbWVvdXQgdHlwZQorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwg
W3B1YktleUNyZWRQYXJhbV0sIFN5bWJvbCgpLCB1bmRlZmluZWRdLAorICAgICAgICAvLyB3cm9u
ZyBleGNsdWRlQ3JlZGVudGlhbHMKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJL
ZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IDEsIGlkOiBleGNsdWRlQ3JlZGVudGlh
bHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogdHJ1ZSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9
XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5k
ZWZpbmVkLCBbeyB0eXBlOiBudWxsLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAg
ICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQs
IFt7IHR5cGU6IFN5bWJvbCgpLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAg
ICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7
IHR5cGU6ICJmb28iLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAgICAgW3Jw
LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6
IFsgXSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCisgICAgICAgIFtycCwgdXNlciwg
Y2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiB7IH0sIGlk
OiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5n
ZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRp
YWxzLnR5cGUsIGlkOiAxIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJL
ZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBl
LCBpZDogdHJ1ZSB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3Jl
ZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6
IG51bGwgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiBTeW1i
b2woKSB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6ICJmb28i
IH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1
bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogWyBdIH1dXSwK
KyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogeyB9IH1dXQorICAgIF07
CisKKyAgICBmdW5jdGlvbiBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKQorICAgIHsKKyAgICAgICAg
aWYgKGF0dHJpYnV0ZXMubGVuZ3RoID09IDQpCisgICAgICAgICAgICByZXR1cm4geyBwdWJsaWNL
ZXk6IHsgcnA6IGF0dHJpYnV0ZXNbMF0sIHVzZXI6IGF0dHJpYnV0ZXNbMV0sIGNoYWxsZW5nZTog
YXR0cmlidXRlc1syXSwgcHViS2V5Q3JlZFBhcmFtczogYXR0cmlidXRlc1szXSB9IH07CisgICAg
ICAgIHJldHVybiB7IHB1YmxpY0tleTogeyBycDogYXR0cmlidXRlc1swXSwgdXNlcjogYXR0cmli
dXRlc1sxXSwgY2hhbGxlbmdlOiBhdHRyaWJ1dGVzWzJdLCBwdWJLZXlDcmVkUGFyYW1zOiBhdHRy
aWJ1dGVzWzNdLCB0aW1lb3V0OiBhdHRyaWJ1dGVzWzRdLCAgZXhjbHVkZUNyZWRlbnRpYWxzOiBh
dHRyaWJ1dGVzWzVdfSB9OworICAgIH0KKworICAgIGxldCBpbmRleCA9IDE7CisgICAgZnVuY3Rp
b24gcnVuVGVzdChhdHRyaWJ1dGVzVmVjdG9ycykgeworICAgICAgICBhdHRyaWJ1dGVzVmVjdG9y
cy5mb3JFYWNoKGZ1bmN0aW9uKGF0dHJpYnV0ZXNWZWN0b3IpIHsKKyAgICAgICAgICAgIGF0dHJp
YnV0ZXNWZWN0b3IuZm9yRWFjaChhc3luYyBmdW5jdGlvbihhdHRyaWJ1dGVzKSB7CisgICAgICAg
ICAgICAgICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksCisgICAgICAgICAgICAg
ICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG1ha2VPcHRpb25zKGF0dHJp
YnV0ZXMpKSk7CisgICAgICAgICAgICAgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2Ny
ZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuICIgKyBpbmRleCk7CisgICAgICAg
ICAgICAgICAgaW5kZXggPSBpbmRleCArIDE7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7
CisgICAgfQorCisgICAgY29uc3QgdmVjdG9ycyA9IFtdOworICAgIHZlY3RvcnMucHVzaChtaXNz
aW5nQXR0cmlidXRlVmVjdG9yKTsKKyAgICB2ZWN0b3JzLnB1c2god3JvbmdUeXBlQXR0cmlidXRl
VmVjdG9yKTsKKyAgICBydW5UZXN0KHZlY3RvcnMpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZh
aWx1cmUtbG9jYWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCmluZGV4IDM5
NTRhMDY2YjExZjE2ODdiYTY3ZGNiY2MxYmIyY2Q5MWNiMmI4MmMuLjdmNGRkOTY5ODM4ZTAyNGRj
ZTE1MGZhNTAwYjhlYzQ4NTNiZWM2NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS1sb2NhbC5odHRwcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVu
dGlhbC1nZXQtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCkBAIC0yMSw3ICsyMSw3IEBACiAgICAg
ICAgICAgICB9CiAgICAgICAgIH07CiAKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0
LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSwg
Ik5vIG1hdGNoZWQgY3JlZGVudGlhbHMgYXJlIGZvdW5kIGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hl
ZCBhdXRoZW50aWNhdG9yLiIpOworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5v
dEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJObyBt
YXRjaGVkIGNyZWRlbnRpYWxzIGFyZSBmb3VuZCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0
aGVudGljYXRvci4iKTsKICAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0
aCBubyBtYXRjaGVkIGNyZWRlbnRpYWxzIGluIGEgbW9jayBsb2NhbCBhdXRoZW50aWNhdG9yLiIp
OwogCiAgICAgcHJvbWlzZV90ZXN0KHQgPT4gewpAQCAtMzYsNyArMzYsNyBAQAogCiAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtl
eVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2Vy
aGFuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxs
b3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSwgIk5vIG1hdGNo
ZWQgY3JlZGVudGlhbHMgYXJlIGZvdW5kIGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50
aWNhdG9yLiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwg
Ik5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJO
byBtYXRjaGVkIGNyZWRlbnRpYWxzIGFyZSBmb3VuZCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQg
YXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNo
YWluKHRlc3RScElkKTsKICAgICAgICAgICAgIH0pOwpAQCAtNTEsNyArNTEsNyBAQAogCiAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVz
dEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RV
c2VyaGFuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90
QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSwgIkNvdWxk
bid0IGdldCB1c2VyIGNvbnNlbnQuIikudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9t
aXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdl
dChvcHRpb25zKSwgIkNvdWxkbid0IGdldCB1c2VyIGNvbnNlbnQuIikudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJwSWQpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQt
ZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDJlODgwY2ZiN2E1ZjkzYTEzOGUxZTFjMmJmZDI4ZDBhOGYyZDI3NWYuLmRjMGI5MTdlMzBj
MWY2YjRkYjRiNzZhYTkyZjIwNjhjY2IxN2Y2MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMg
QEAKIAotUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHRpbWVvdXQgCiBQ
QVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggYSBtaXNtYXRjaGVkIFJQIElE
IAotUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHVzZXIgY2FuY2VsbGF0
aW9ucyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMuaHRt
bAppbmRleCAwZDRjMDQ1MjU2NzAzNTJlZjM3Yzg3ZjYwZGYyMzMyMWMzZGU3MmEzLi5jZTVlMjhi
YzcxY2MxYzA4YjE3YmRlOWU2NzM4YTUwZTAxMDViNGQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0
cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMuaHRtbApAQCAtNCwxOCArNCwyMiBAQAogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLSAgICBwcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBjb25zdCBvcHRpb25zID0gewotICAgICAg
ICAgICAgcHVibGljS2V5OiB7Ci0gICAgICAgICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWlu
dDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAgICAgICAgICAgdGltZW91dDogMCwKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3Iuc2V0RGlkVGltZU91dCgpOworICAgIC8vIERlZmF1bHQgbW9jayBjb25maWd1cmF0
aW9uLiBUZXN0cyBuZWVkIHRvIG92ZXJyaWRlIGlmIHRoZXkgbmVlZCBkaWZmZXJlbnQgY29uZmln
dXJhdGlvbi4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
c2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbih7IH0pOwogCi0gICAgICAgIHJl
dHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsCi0gICAgICAgICAgICBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpKTsKLSAgICB9LCAiUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB0aW1lb3V0Iik7CisgICAgLy8gRklYTUUoMTg5NjQyKTog
UmUtZW5hYmxlIHRoZSBmb2xsb3dpbmcgdGVzdC4KKyAgICAvLyBwcm9taXNlX3Rlc3QoZnVuY3Rp
b24odCkgeworICAgIC8vICAgICBjb25zdCBvcHRpb25zID0geworICAgIC8vICAgICAgICAgcHVi
bGljS2V5OiB7CisgICAgLy8gICAgICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJh
eSgiMTIzNDU2IiksCisgICAgLy8gICAgICAgICAgICAgdGltZW91dDogMCwKKyAgICAvLyAgICAg
ICAgIH0KKyAgICAvLyAgICAgfTsKKyAgICAvLworICAgIC8vICAgICByZXR1cm4gcHJvbWlzZVJl
amVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsCisgICAgLy8gICAgICAgICBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiT3BlcmF0aW9uIHRpbWVkIG91dC4iKTsKKyAgICAvLyB9
LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB0aW1lb3V0Iik7CiAKICAgICBw
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICBjb25zdCBvcHRpb25zID0gewpAQCAt
MjQsMjAgKzI4LDcgQEAKICAgICAgICAgICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFy
cmF5KCIxMjM0NTYiKSwKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKLSAgICAgICAgcmV0dXJu
IHByb21pc2VfcmVqZWN0cyh0LCAiU2VjdXJpdHlFcnJvciIsCi0gICAgICAgICAgICBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpKTsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWpl
Y3RzKHQsICJTZWN1cml0eUVycm9yIiwKKyAgICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5nZXQob3B0aW9ucyksICJUaGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVudCBpcyBub3QgYSByZWdp
c3RyYWJsZSBkb21haW4gc3VmZml4IG9mIHRoZSBwcm92aWRlZCBSUCBJRC4iKTsKICAgICB9LCAi
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCBhIG1pc21hdGNoZWQgUlAgSUQiKTsK
LQotICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGNvbnN0IG9wdGlvbnMg
PSB7Ci0gICAgICAgICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAgICAgICAgICBjaGFsbGVuZ2U6
IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAgICAgICAgICBhbGxvd0NyZWRl
bnRpYWxzOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIz
NDU2IikgfV0sCi0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAgICAgIGludGVybmFscy5t
b2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLnNldERpZFVzZXJDYW5jZWwoKTsKLQotICAgICAg
ICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLAotICAgICAgICAg
ICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSk7Ci0gICAgfSwgIlB1YmxpY0tl
eUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggdXNlciBjYW5jZWxsYXRpb25zIik7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGQ1MzcwOTQyM2Fl
MDVkNDM5M2YzOWVkNjFiOWRjNGU5YWM3MGI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwzICswLDAgQEAKLQotUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3
aXRoIG1pbmltdW0gb3B0aW9ucyAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1zdWNjZXNzLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1
Y2Nlc3MuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDY2NGIxYzg2
NDhhMmM5NzQ1YjdiMDdhNDYwMmMxNTUyZmRmY2NiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJs
aWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDI4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPldlYiBBdXRoZW50aWNhdGlv
biBBUEk6IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHN1Y2Nlc3MgY2FzZXMuPC90aXRs
ZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAg
Ly8gVGhlIGZvbGxvd2luZyB0ZXN0IGlzIHNwZWNpZmljYWxseSB0dW5lZCBmb3IgY3VycmVudCBk
dW1teSBhdXRoZW50aWNhdG9yLgotICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAg
ICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICAgICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAg
ICAgICAgICBjaGFsbGVuZ2U6IEJhc2U2NFVSTC5wYXJzZSgiTVRJek5EVTIiKSwKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgLy8gQSBtb2NrIGFzc2VydGlvbiByZXR1cm4gYnVu
ZGxlLgotICAgICAgICBpbnRlcm5hbHMubW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5zZXRB
c3NlcnRpb25SZXR1cm5CdW5kbGUoaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMCcpLCBoZXhTdHJp
bmdUb1VpbnQ4QXJyYXkoJzAxJyksIGhleFN0cmluZ1RvVWludDhBcnJheSgnMDInKSwgaGV4U3Ry
aW5nVG9VaW50OEFycmF5KCcwMycpKTsKLQotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldChvcHRpb25zKS50aGVuKGZ1bmN0aW9uKGNyZWRlbnRpYWwpIHsKLSAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoY3JlZGVudGlhbC5pZCwgJ0FBJyk7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGNyZWRlbnRpYWwudHlwZSwgJ3B1YmxpYy1rZXknKTsKLSAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoYnl0ZXNUb0hleFN0cmluZyhjcmVkZW50aWFsLnJhd0lkKSwgJzAwJyk7Ci0g
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVzVG9BU0NJSVN0cmluZyhjcmVkZW50aWFsLnJl
c3BvbnNlLmNsaWVudERhdGFKU09OKSwgJ3sidHlwZSI6IndlYmF1dGhuLmdldCIsImNoYWxsZW5n
ZSI6Ik1USXpORFUyIiwib3JpZ2luIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyIsImhhc2hBbGdv
cml0aG0iOiJTSEEtMjU2In0nKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hl
eFN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNlLmF1dGhlbnRpY2F0b3JEYXRhKSwgJzAxJyk7Ci0g
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVzVG9IZXhTdHJpbmcoY3JlZGVudGlhbC5yZXNw
b25zZS5zaWduYXR1cmUpLCAnMDInKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNU
b0hleFN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNlLnVzZXJIYW5kbGUpLCAnMDMnKTsKLSAgICAg
ICAgICAgIGFzc2VydF90aHJvd3MoIk5vdFN1cHBvcnRlZEVycm9yIiwgKCkgPT4geyBjcmVkZW50
aWFsLmdldENsaWVudEV4dGVuc2lvblJlc3VsdHMoKSB9KTsKLSAgICAgICAgfSk7Ci0gICAgfSwg
IlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggbWluaW11bSBvcHRpb25zIik7Ci08
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1Ymxp
Yy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGQ1YzkxZmU5YTc2Yzc1MTcxNzQ4MjAyYzhhNGFmZWE3N2E0NGJhNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVu
dGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjggQEAKKworUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tn
ZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyIAorUEFTUyBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzIAorUEFTUyBQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LiA0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxp
ZCBwYXJhbWV0ZXJzLiA1IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA2IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA3IAorUEFTUyBQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA4IAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0
ZXJzLiA5IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52
YWxpZCBwYXJhbWV0ZXJzLiAxMCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0g
d2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTEgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRp
YWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDEyIAorUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAx
MyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQg
cGFyYW1ldGVycy4gMTQgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGgg
d2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE1IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxNiAKK1BBU1MgUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTcgCitQ
QVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFt
ZXRlcnMuIDE4IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGgg
aW52YWxpZCBwYXJhbWV0ZXJzLiAxOSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0
XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjAgCitQQVNTIFB1YmxpY0tleUNyZWRl
bnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIxIAorUEFTUyBQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LiAyMiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFs
aWQgcGFyYW1ldGVycy4gMjMgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdp
dGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDI0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyNSAKK1BBU1MgUHVibGlj
S2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjYg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1p
bnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYWNkNjkwY2UwYTRlOWU2
ZTlhNzY4ODAxM2UwZThlM2U3OTYzOTYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQt
cGFyYW1ldGVycy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHRpdGxlPldlYiBBdXRoZW50aWNhdGlvbiBBUEk6IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dl
dF1dIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
dXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIGNvbnN0IGNoYWxsZW5nZSA9IGFzY2lp
VG9VaW50OEFycmF5KCIxMjM0NTYiKTsKKyAgICBjb25zdCBhbGxvd0NyZWRlbnRpYWwgPSB7IHR5
cGU6ICJwdWJsaWMta2V5IiwgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSB9OworCisg
ICAgY29uc3QgbWlzc2luZ0F0dHJpYnV0ZVZlY3RvciA9IFsKKyAgICAgICAgLy8gbWlzc2luZyB0
b3AgbGV2ZWwgYXR0cmlidXRlCisgICAgICAgIFt1bmRlZmluZWRdLAorICAgICAgICAvLyBtaXNz
aW5nIGFsbG93Q3JlZGVudGlhbHMgYXR0cmlidXRlCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVm
aW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiB1bmRlZmluZWQsIGlkOiBhbGxvd0NyZWRlbnRpYWwu
aWQgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlw
ZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiB1bmRlZmluZWQgfV1dCisgICAgXTsKKworICAg
IGNvbnN0IHdyb25nVHlwZUF0dHJpYnV0ZVZlY3RvciA9IFsKKyAgICAgICAgLy8gd3JvbmcgY2hh
bGxlbmdlIHR5cGUKKyAgICAgICAgWzFdLAorICAgICAgICBbdHJ1ZV0sCisgICAgICAgIFtudWxs
XSwKKyAgICAgICAgW1N5bWJvbCgpXSwKKyAgICAgICAgWyJmb28iXSwKKyAgICAgICAgW1sgXV0s
CisgICAgICAgIFt7IH1dLAorICAgICAgICAvLyB3cm9uZyB0aW1lb3V0IHR5cGUKKyAgICAgICAg
W2NoYWxsZW5nZSwgU3ltYm9sKCksIHVuZGVmaW5lZCwgdW5kZWZpbmVkXSwKKyAgICAgICAgLy8g
d3JvbmcgcnBJZCB0eXBlCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgU3ltYm9sKCks
IHVuZGVmaW5lZF0sCisgICAgICAgIC8vIHdyb25nIGFsbG93Q3JlZGVudGlhbHMgdHlwZQorICAg
ICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogMSwgaWQ6IGFs
bG93Q3JlZGVudGlhbC5pZCB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5k
ZWZpbmVkLCBbeyB0eXBlOiB0cnVlLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKKyAgICAg
ICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IG51bGwsIGlkOiBh
bGxvd0NyZWRlbnRpYWwuaWQgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVu
ZGVmaW5lZCwgW3sgdHlwZTogU3ltYm9sKCksIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAor
ICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogImZvbyIs
IGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmlu
ZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogWyBdLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwK
KyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IHsgfSwg
aWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5l
ZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IDEgfV1dLAor
ICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dD
cmVkZW50aWFsLnR5cGUsIGlkOiB0cnVlIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogbnVsbCB9
XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBh
bGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IFN5bWJvbCgpIH1dXSwKKyAgICAgICAgW2NoYWxsZW5n
ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBp
ZDogImZvbyIgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwg
W3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiBbIF0gfV1dLAorICAgICAgICBbY2hh
bGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5
cGUsIGlkOiB7IH0gfV1dCisgICAgXTsKKworICAgIGZ1bmN0aW9uIG1ha2VPcHRpb25zKGF0dHJp
YnV0ZXMpCisgICAgeworICAgICAgICBpZiAoYXR0cmlidXRlcy5sZW5ndGggPT0gMSkKKyAgICAg
ICAgICAgIHJldHVybiB7IHB1YmxpY0tleTogeyBjaGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMF0gfSB9
OworICAgICAgICByZXR1cm4geyBwdWJsaWNLZXk6IHsgY2hhbGxlbmdlOiBhdHRyaWJ1dGVzWzBd
LCB0aW1lb3V0OiBhdHRyaWJ1dGVzWzFdLCBycElkOiBhdHRyaWJ1dGVzWzJdLCBhbGxvd0NyZWRl
bnRpYWxzOiBhdHRyaWJ1dGVzWzNdIH0gfTsKKyAgICB9CisKKyAgICBsZXQgaW5kZXggPSAxOwor
ICAgIGZ1bmN0aW9uIHJ1blRlc3QoYXR0cmlidXRlc1ZlY3RvcnMpIHsKKyAgICAgICAgYXR0cmli
dXRlc1ZlY3RvcnMuZm9yRWFjaChmdW5jdGlvbihhdHRyaWJ1dGVzVmVjdG9yKSB7CisgICAgICAg
ICAgICBhdHRyaWJ1dGVzVmVjdG9yLmZvckVhY2goYXN5bmMgZnVuY3Rpb24oYXR0cmlidXRlcykg
eworICAgICAgICAgICAgICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgbmV3IFR5cGVFcnJvcigpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChtYWtlT3B0aW9u
cyhhdHRyaWJ1dGVzKSkpOworICAgICAgICAgICAgICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAiICsgaW5kZXgpOworICAg
ICAgICAgICAgICAgIGluZGV4ID0gaW5kZXggKyAxOworICAgICAgICAgICAgfSk7CisgICAgICAg
IH0pOworICAgIH0KKworICAgIGNvbnN0IHZlY3RvcnMgPSBbXTsKKyAgICB2ZWN0b3JzLnB1c2go
bWlzc2luZ0F0dHJpYnV0ZVZlY3Rvcik7CisgICAgdmVjdG9ycy5wdXNoKHdyb25nVHlwZUF0dHJp
YnV0ZVZlY3Rvcik7CisgICAgcnVuVGVzdCh2ZWN0b3JzKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNh
bWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRo
LWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNkMzc3ZjVkNTdjOTU3
MTg3ZTU5NmRiMjkxMzJiZWUyYmU1ZDBjNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRo
LWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisgIAorCitQQVNT
IFRlc3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdp
dGggYWxsIGl0cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLiAKK1BBU1MgVGVz
dHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBh
bGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuIDIgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1z
YW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0
b3JzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFmMTQ3YjI0ZGIxNWM4M2Y4OWIzZjIxNTVhMGI1
Zjk3MjEwOWRiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRw
cy5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgPHRpdGxlPldlYiBBdXRoZW50aWNhdGlv
biBBUEk6IFRlc3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3Jp
Z2luIHdpdGggYWxsIGl0cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLjwvdGl0
bGU+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICAgICAg
ICAgIHJldHVybiB3aXRoQ3Jvc3NPcmlnaW5JZnJhbWUoImxhc3QtbGF5ZXItZnJhbWUuaHR0cHMu
aHRtbCIpLnRoZW4oKG1lc3NhZ2UpID0+IHsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KG1lc3NhZ2UuZGF0YSwgIlBBU1MuIik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlRl
c3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGgg
YWxsIGl0cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLiIpOworCisgICAgICAg
IHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICAgICAgICAgIHJldHVybiB3aXRoQ3Jvc3NPcmlnaW5J
ZnJhbWUoInNlY29uZC1sYXllci1mcmFtZS5odHRwcy5odG1sIikudGhlbigobWVzc2FnZSkgPT4g
eworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5kYXRhLCAiUEFTUy4iKTsK
KyAgICAgICAgICAgIH0pOworICAgICAgICB9LCAiVGVzdHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9l
c24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBu
b3QgYWNjZXNzIHRoZSBBUEkuIDIiKTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0
LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9y
ZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNGRhNGNk
NWMyMmQzZTZlZWIxNTE5MzU4YzQ0YTYxZTE1YjgwZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRw
cy5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzxzY3JpcHQgc3JjPSIuL3V0aWwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK2Z1bmN0aW9uIG1lc3NhZ2VUb1RvcChtZXNzYWdlKSB7CisgICAgdG9wLnBv
c3RNZXNzYWdlKG1lc3NhZ2UsICIqIik7Cit9CisKK2NvbnN0IG1ha2VPcHRpb25zID0geworICAg
IHB1YmxpY0tleTogeworICAgICAgICBycDogeworICAgICAgICAgICAgbmFtZTogImV4YW1wbGUu
Y29tIgorICAgICAgICB9LAorICAgICAgICB1c2VyOiB7CisgICAgICAgICAgICBuYW1lOiAiSm9o
biBBcHBsZXNlZWQiLAorICAgICAgICAgICAgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYi
KSwKKyAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIiwKKyAgICAgICAgfSwKKyAg
ICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCisgICAgICAgIHB1
YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9XQorICAgIH0K
K307Citjb25zdCByZXF1ZXN0T3B0aW9ucyA9IHsKKyAgICBwdWJsaWNLZXk6IHsKKyAgICAgICAg
Y2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCisgICAgfQorfTsKKworCitu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG1ha2VPcHRpb25zKS50aGVuKAorICAgIGZ1bmN0
aW9uKHZhbHVlKSB7CisgICAgICAgIG1lc3NhZ2VUb1RvcCgiQWNjZXNzIGdyYW50ZWQuICIgKyB2
YWx1ZSk7CisgICAgfSwKKyAgICBmdW5jdGlvbihleGNlcHRpb24pIHsKKyAgICAgICAgaWYgKGV4
Y2VwdGlvbi5uYW1lID09ICJOb3RBbGxvd2VkRXJyb3IiICYmIGV4Y2VwdGlvbi5tZXNzYWdlID09
ICJUaGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVudCBpcyBub3QgdGhlIHNhbWUgYXMgaXRzIGFuY2Vz
dG9ycy4iKQorICAgICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQocmVx
dWVzdE9wdGlvbnMpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtZXNzYWdlVG9Ub3AoIlRo
cm93ICIgKyBleGNlcHRpb24ubmFtZSAgKyAiLiIpOworICAgIH0KKykudGhlbihmdW5jdGlvbih2
YWx1ZSkgeworICAgICAgICBtZXNzYWdlVG9Ub3AoIkFjY2VzcyBncmFudGVkLiAiICsgdmFsdWUp
OworICAgIH0sCisgICAgZnVuY3Rpb24oZXhjZXB0aW9uKSB7CisgICAgICAgIGlmIChleGNlcHRp
b24ubmFtZSA9PSAiTm90QWxsb3dlZEVycm9yIiAmJiBleGNlcHRpb24ubWVzc2FnZSA9PSAiVGhl
IG9yaWdpbiBvZiB0aGUgZG9jdW1lbnQgaXMgbm90IHRoZSBzYW1lIGFzIGl0cyBhbmNlc3RvcnMu
IikKKyAgICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiUEFTUy4iKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbWVzc2FnZVRvVG9wKCJUaHJvdyAiICsgZXhjZXB0aW9uLm5hbWUgICsgIi4iKTsK
KyAgICB9CispOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2NmMTYzMGU0MGY0Y2QxYjVhZWMzYWI2YmI5ZGE0NGNjZWYzNzYy
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3Jlc291
cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxpZnJhbWUg
c3JjPSJsYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2Vz
L3V0aWwuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5q
cwppbmRleCAxMjBmOTBkZjgyNDhiNzYxNzViODE5NmRiMzk4MDc0ZWRmNzY5ZDNiLi4xZTA2NDlm
ZWJiMTI1OTc1NDkzN2E4N2E2YWViNDI2NjY1MmVkZjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qcworKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qcwpAQCAtMSwzICsxLDE2IEBACitjb25z
dCB0ZXN0Q3JlZGVudGlhbElkQmFzZTY0dXJsID0gIlNNU1hIbmdGN2hFT3NFbEE3M0MzUlktOGJS
NCI7Citjb25zdCB0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0ID0KKyAgICAiQkRqL3p4U2t6S2dh
QnVTM2NkV0RGNTU4b2Y4QWFJcGdGcHNqRi9RbTE3NDlWQkpQZ3FVSXdmaFdISjkxbmI3VSIgKwor
ICAgICJQSDc2YzArV0ZPelpLc2xQeXlGc2U0Z29HSVcyUjdrOVZITFBFWmw1bmZuQmdFVkZoNXpl
disveHBIUUl2dXE2IiArCisgICAgIlJRPT0iOworY29uc3QgdGVzdEVTMjU2UHVibGljS2V5QmFz
ZTY0dXJsID0KKyAgICAiQkRqX3p4U2t6S2dhQnVTM2NkV0RGNTU4b2Y4QWFJcGdGcHNqRl9RbTE3
NDlWQkpQZ3FVSXdmaFdISjkxbmI3VSIgKworICAgICJQSDc2YzAtV0ZPelpLc2xQeXlGc2U0ZyI7
Citjb25zdCB0ZXN0UnBJZCA9ICJsb2NhbGhvc3QiOworY29uc3QgdGVzdFVzZXJoYW5kbGVCYXNl
NjQgPSAiQUFFQ0F3UUZCZ2NJQ1E9PSI7CisKK2NvbnN0IFJFU09VUkNFU19ESVIgPSAiL1dlYktp
dC93ZWJhdXRobi9yZXNvdXJjZXMvIjsKKwogZnVuY3Rpb24gYXNjaWlUb1VpbnQ4QXJyYXkoc3Ry
KQogewogICAgIHZhciBjaGFycyA9IFtdOwpAQCAtMTM4LDEzICsxNTEsMzEgQEAgZnVuY3Rpb24g
ZXh0cmFjdFJhd1NpZ25hdHVyZShhc24xc2lnbmF0dXJlKQogICAgIHJldHVybiB0bXAuYnVmZmVy
OwogfQogCi1jb25zdCB0ZXN0Q3JlZGVudGlhbElkQmFzZTY0dXJsID0gIlNNU1hIbmdGN2hFT3NF
bEE3M0MzUlktOGJSNCI7Ci1jb25zdCB0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0ID0KLSAgICAi
QkRqL3p4U2t6S2dhQnVTM2NkV0RGNTU4b2Y4QWFJcGdGcHNqRi9RbTE3NDlWQkpQZ3FVSXdmaFdI
SjkxbmI3VSIgKwotICAgICJQSDc2YzArV0ZPelpLc2xQeXlGc2U0Z29HSVcyUjdrOVZITFBFWmw1
bmZuQmdFVkZoNXpldisveHBIUUl2dXE2IiArCi0gICAgIlJRPT0iOwotY29uc3QgdGVzdEVTMjU2
UHVibGljS2V5QmFzZTY0dXJsID0KLSAgICAiQkRqX3p4U2t6S2dhQnVTM2NkV0RGNTU4b2Y4QWFJ
cGdGcHNqRl9RbTE3NDlWQkpQZ3FVSXdmaFdISjkxbmI3VSIgKwotICAgICJQSDc2YzAtV0ZPelpL
c2xQeXlGc2U0ZyI7Ci1jb25zdCB0ZXN0UnBJZCA9ICJsb2NhbGhvc3QiOwotY29uc3QgdGVzdFVz
ZXJoYW5kbGVCYXNlNjQgPSAiQUFFQ0F3UUZCZ2NJQ1E9PSI7CitmdW5jdGlvbiB3YWl0Rm9yTG9h
ZCgpCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKG1lc3NhZ2UpID0+IHsKKyAgICAgICAg
ICAgIHJlc29sdmUobWVzc2FnZSk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCitmdW5jdGlv
biB3aXRoQ3Jvc3NPcmlnaW5JZnJhbWUocmVzb3VyY2VGaWxlKQoreworICAgIHJldHVybiBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICB3YWl0Rm9yTG9hZCgpLnRoZW4oKG1lc3Nh
Z2UpID0+IHsKKyAgICAgICAgICAgIHJlc29sdmUobWVzc2FnZSk7CisgICAgICAgIH0pOworICAg
ICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAg
ICAgICBmcmFtZS5zcmMgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUFNfUkVNT1RFX09SSUdJTiArIFJF
U09VUkNFU19ESVIgKyByZXNvdXJjZUZpbGU7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZnJhbWUpOworICAgIH0pOworfQorCitmdW5jdGlvbiBwcm9taXNlUmVqZWN0cyh0ZXN0
LCBleHBlY3RlZCwgcHJvbWlzZSwgZGVzY3JpcHRpb24pCit7CisgICAgcmV0dXJuIHByb21pc2Uu
dGhlbih0ZXN0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgaGF2ZSByZWplY3RlZDogIiArIGRlc2Ny
aXB0aW9uKSkuY2F0Y2goZnVuY3Rpb24oZSkgeworICAgICAgICBhc3NlcnRfdGhyb3dzKGV4cGVj
dGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9LCBkZXNjcmlwdGlvbik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZS5tZXNzYWdlLCBkZXNjcmlwdGlvbik7CisgICAgfSk7Cit9ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA1ODEwMmI3MWQxYWU2OTUwNWY2MDUzNjA5NzZjYmNlZGUwZjYzZDA1Li44ZDUxMDA4
Mjg1MDcwMWZkZmNjOGIwMTU5ZGMwMTYxYmNkMDk5OGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTE1MCw3ICsxMTUwLDYgQEAgd2Via2l0Lm9yZy9i
LzE3NTQxOSBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvbmF2aWdhdGlvbi1yZWRpcmVjdC1tYWlu
LWZyYW1lLmh0dHAKIHdlYmtpdC5vcmcvYi8xNzU0MTkgaHR0cC93cHQvc2VydmljZS13b3JrZXJz
L3RoaXJkLXBhcnR5LXJlZ2lzdHJhdGlvbi5odG1sIFsgU2tpcCBdCiAKICMgU2tpcCBhbnl0aGlu
ZyByZWxhdGVkIHRvIFdlYkF1dGhOCi1odHRwL3Rlc3RzL3dlYmF1dGhuLyBbIFNraXAgXQogaHR0
cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBbIFNraXAgXQogaHR0cC93cHQvd2ViYXV0aG4v
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFu
YWdlbWVudC8gWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA3ZTk1ODAyZjI0Y2M3ZWE1Y2U4MmMyMmFkYWE2NTU4NzczNjJlN2Nk
Li45MGZkMGE0MmMyZTVhNTc3YjhkY2UwOWMyZDcyMGY0ODFkY2Q0NWU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTY5LDcgKzE5Njks
NiBAQCB3ZWJraXQub3JnL2IvMTgwMDYyIGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cyBb
IEltYWdlT25seUZhaWx1cmUgXQogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yYW5nZS10ZXN0
Lmh0bWwgWyBTa2lwIF0KIAogIyBTa2lwIGFueXRoaW5nIHJlbGF0ZWQgdG8gV2ViQXV0aE4KLWh0
dHAvdGVzdHMvd2ViYXV0aG4vIFsgU2tpcCBdCiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1l
bnQvIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJhdXRobi8gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBbIFNraXAgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDJlMDllMGQw
ODMxMmMwZDc0NDY4ZTE0MzBjOTdlNmRlMTllZDUxNmMuLjVlNmJmMTk5M2Y4YjhhMWM3MmViYjUz
ZDYzZmJiNDYxNzM4NTBiZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTU0NSw3ICs1NDUsNiBAQCB3ZWJraXQub3JnL2IvMTgxODYyIFsg
RGVidWcgXSBodHRwL3Rlc3RzL2ltYWdlcy9pbWFnZS1zdXBwb3J0cy12aWRlby5odG1sIFsgUGFz
cwogd2Via2l0Lm9yZy9iLzE3OTg1MyBpbXBvcnRlZC9ibGluay9mYXN0L3RleHQvaW50ZXJuYXRp
b25hbC1pdGVyYXRpb24tc2ltcGxlLXRleHQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMgU2tp
cCBhbnl0aGluZyByZWxhdGVkIHRvIFdlYkF1dGhOCi1odHRwL3Rlc3RzL3dlYmF1dGhuLyBbIFNr
aXAgXQogaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBbIFNraXAgXQogaHR0cC93cHQv
d2ViYXV0aG4vIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRl
bnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1YTE1MGMyZjFlMmM5OTNkNjc5YmMzZjlkMGExNjIz
ZGQxZjkwMmY2Li4xY2E5YTdkZDliMmEwZGI4MDdkZTkzZWI4MmIyZDE2YjJjNmM5ODg3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC04ODgs
MyArODg4LDYgQEAgaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0
ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGh0dHAvd3B0L3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy1sb2NhbC5odHRwcy5odG1sIFsgU2tp
cCBdCiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUt
bG9jYWwuaHR0cHMuaHRtbCBbIFNraXAgXQogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1j
cmVkZW50aWFsLWdldC1zdWNjZXNzLWxvY2FsLmh0dHBzLmh0bWwgWyBTa2lwIF0KKyMgVGhlIGZv
bGxvd2luZyB0ZXN0cyByZXF1aXJlIFB1YmxpY0tleUNyZWRlbnRpYWwgb2JqZWN0cy4gV2UgY2Fu
IG9ubHkgcHJvZHVjZSB0aGVtIHZpYSBsb2NhbCBhdXRoZW50aWNhdG9ycyBub3cuCitodHRwL3dw
dC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItc3RvcmUtYmFzaWNz
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvd3B0L3dlYmF1dGhuL2lkbC5odHRwcy5odG1sIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGVh
N2M3MDZlMmE3YjBjYmQ5NGE1NGMxMDA5MWE5ZjcwNzI5NjVmNjkuLjU4NzRhNDlhYjIyMGM5MGIw
OWUxYjcxNDE4NjlkZTM4ODY5N2QyNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCkBAIC02NDUsNyArNjQ1LDYgQEAgd2Via2l0Lm9yZy9iLzE0OTYzMCBjc3Mz
L2ZvbnQtdmFyaWFudC1hbGwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzE1ODgzNiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYSBb
IFNraXAgXQogCiAjIFNraXAgYW55dGhpbmcgcmVsYXRlZCB0byBXZWJBdXRoTgotaHR0cC90ZXN0
cy93ZWJhdXRobi8gWyBTa2lwIF0KIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBT
a2lwIF0KIGh0dHAvd3B0L3dlYmF1dGhuLyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NWE1NzYyNTFiMmZm
OTg3Njk0YTIzYTI4NTk2OTk3Zjk1MjQzOWI3Li5kMWE4OWVlZjBiMGM4ODE2Njk5NzMxM2ZhOTlm
M2VkNmJlODc0YWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTkyNCw3ICs5MjQsNiBAQCBodHRwL3Rlc3RzL3NzbCBbIFNraXAgXQog
CiBodHRwL3Rlc3RzL3N1YnJlc291cmNlLWludGVncml0eSBbIFNraXAgXQogaHR0cC90ZXN0cy93
ZWJhcmNoaXZlIFsgU2tpcCBdCi1odHRwL3Rlc3RzL3dlYmF1dGhuIFsgU2tpcCBdCiBodHRwL3Rl
c3RzL3dlYmdsIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3dlYnJ0YyBbIFNraXAgXQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDcxYjgxMGI5MzNmOTk5YTZi
MTMxODY5ZTIyM2QxMjQ0Y2VhNmUyMWQuLjQ5ZDllMDQ2MTg4YjYxNWI3MDFmNDkxYmNjMmJhYjc5
MzczYTYxMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xMjAsNyArMTIwLDYgQEAgd2Via2l0Lm9yZy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2Nh
cHR1cmVTdHJlYW0vY2FudmFzM2QuaHRtbCBbIENyYXNoIFRpbWVvdXQKIAogIyBTa2lwIGFueXRo
aW5nIHJlbGF0ZWQgdG8gV2ViQXV0aE4KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi1odHRwL3Rlc3RzL3dlYmF1dGhuLyBbIFNraXAgXQogaHR0cC93cHQvY3JlZGVudGlhbC1t
YW5hZ2VtZW50LyBbIFNraXAgXQogaHR0cC93cHQvd2ViYXV0aG4vIFsgU2tpcCBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351019</attachid>
            <date>2018-09-27 16:32:37 -0700</date>
            <delta_ts>2018-09-28 15:42:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189283-20180927163236.patch</filename>
            <type>text/plain</type>
            <size>129021</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThkMWYyY2FkMzBjOTM2
M2JkNDlmNzYwMzhkZTNmMGY0NjZlY2Q2Yi4uNmYzY2Q5OTYyNjAxMzlmMzlhYWRmNmU0NzY3NGFm
ODgxZTU0YjMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTA5LTI3ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQb2xp
c2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIG1vY2tpbmcgbWVjaGFuaXNtLgorCisgICAg
ICAgIFRlc3RzOiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRl
LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAv
d3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFt
ZXRlcnMuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwKKwor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6SW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsczo6bW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvciBjb25zdCk6IERlbGV0ZWQu
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3IuaWRsOiBSZW1vdmVkLgorCiAyMDE4LTA5LTI3ICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgd2F0Y2hPUyBidWlsZCBmaXg7IEZp
eCBkZWNsYXJhdGlvbiBmb3IgcG9ydHMgd2hpY2ggVVNFKEVOQ1JZUFRFRF9NRURJQSkgYnV0IGRv
bid0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDI3ZmM0MGUwMTk2OGU4YjQ2NGEyNTY5YjFhN2Y2MDY5MjQwMzViNDAu
LjlhN2Q0ZDRhYjkxYmVmNTQ4MDMxNmIzNzQwNTVjNzljZjgwMzcwODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjMgQEAKKzIwMTgtMDktMjcgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViQXV0aE5dIFBvbGlzaCBXZWJBdXRoTiBhdXRvLXRlc3QgZW52aXJv
bm1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
OTI4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxMTc4Mjg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIE1vY2tX
ZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24ubG9jYWwgdG8gb3B0aW9uYWwgc3VjaCB0aGF0
IHRlc3RzIGNhbiBleHByZXNzCisgICAgICAgIGFic2VuY2Ugb2YgbG9jYWwgYXV0aGVudGljYXRv
cnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNw
cDoKKyAgICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0Nv
bmZpZ3VyYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2Nr
L01vY2tMb2NhbENvbm5lY3Rpb24ubW06CisgICAgICAgIChXZWJLaXQ6Ok1vY2tMb2NhbENvbm5l
Y3Rpb246OmdldFVzZXJDb25zZW50IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TW9ja0xvY2Fs
Q29ubmVjdGlvbjo6Z2V0QXR0ZXN0YXRpb24gY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbFNlcnZpY2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpNb2NrTG9jYWxTZXJ2aWNlOjpwbGF0Zm9ybVN0YXJ0RGlzY292ZXJ5IGNvbnN0KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrV2ViQXV0aGVudGlj
YXRpb25Db25maWd1cmF0aW9uLmg6CisKIDIwMTgtMDktMjcgIEJyZW50IEZ1bGdoYW0gIDxiZnVs
Z2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWxsb3cgYWNjZXNzIHRvIFZvaWNlU2Vy
dmljZXMgZmVhdHVyZXMgbmVlZGVkIGZvciBhY2Nlc3NpYmlsaXR5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQppbmRleCA3YjhkNWMyM2YzMmEzMzNmZTlmMjEyMzBlM2EwNWE1ODA0NTgzYzRi
Li4zNjBmZGU3NDMxMjg1Y2FkYzY2Yzk3NzA3ZTUyZWNkMzM4NTUwMjJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKQEAgLTk3OCw3ICs5NzgsNiBAQCBKU19CSU5ESU5HX0lETFMgPSBc
CiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFscy5pZGwgXAogICAgICQoV2ViQ29yZSkv
dGVzdGluZy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01l
bW9yeUluZm8uaWRsIFwKLSAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmlk
bCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQx
MWVhZWEyNTc4OGEyMDNlOWU4NzkwMmY1NTNiNWUwMWZhYjlmODEuLjUyYWM5OTY4YTBjNTVmODM4
NTZmZWNlMTQwMjRjYjQ2NzQyYjlmM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3NjksOCArMTc2OSw2IEBACiAJCTU3NTBB
OTg3MUU2QTIxNjgwMDcwNUM0QSAvKiBDcnlwdG9BbGdvcml0aG1FQ0RILmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzUwQTk4NTFFNkEyMTY4MDA3MDVD
NEEgLyogQ3J5cHRvQWxnb3JpdGhtRUNESC5oICovOyB9OwogCQk1NzU0NzE5RjFFQ0U2MjgzMDBE
RDYzQjIgLyogSlNSc2FQc3NQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3NTQ3MTk5MUVDRTVEMkEwMERENjNCMiAvKiBKU1JzYVBzc1BhcmFt
cy5oICovOyB9OwogCQk1NzYwODI3MjIwMjE1QTU1MDAxMTY2NzggLyogQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1NzYwODI3MDIwMjE1MTNGMDAxMTY2NzggLyogQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJNTc2MDgyN0EyMDI0RUE1QzAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
NjA4Mjc4MjAyNDREQUIwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgg
Ki87IH07Ci0JCTU3NjA4MjdCMjAyNEVEMjkwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3NjA4Mjc5MjAyNDREQUMwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yLmNwcCAqLzsgfTsKIAkJNTc2ODE0MkExRTZGOTlDMTAwRTc3NzU0IC8qIENyeXB0b0FsZ29y
aXRobUVjZGhLZXlEZXJpdmVQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3NjgxNDI5MUU2Rjk5QzEwMEU3Nzc1NCAvKiBDcnlwdG9BbGdvcml0
aG1FY2RoS2V5RGVyaXZlUGFyYW1zLmggKi87IH07CiAJCTU3NjgxNDQxMUU3MDlGQTQwMEU3Nzc1
NCAvKiBKU0VjZGhLZXlEZXJpdmVQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjgxNDNFMUU3MDlDMzYwMEU3Nzc1NCAvKiBKU0VjZGhLZXlE
ZXJpdmVQYXJhbXMuaCAqLzsgfTsKIAkJNTc2ODE0NDUxRTcwQ0IxRjAwRTc3NzU0IC8qIEpTQWVz
S2V5UGFyYW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzY4MTQ0MzFFNzBDQjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuaCAqLzsgfTsKQEAg
LTE3OTIsOCArMTc5MCw2IEBACiAJCTU3RDg0NjI4MUZFODk2MDUwMENBMzY4MiAvKiBOYXZpZ2F0
b3JDcmVkZW50aWFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTdEODQ2MjYxRkU4OTVGODAwQ0EzNjgyIC8qIE5hdmlnYXRvckNyZWRlbnRpYWxzLmgg
Ki87IH07CiAJCTU3RDg0NjJFMUZFQUY2OTkwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVkZW50aWFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0Q4NDYy
QjFGRUFGNjhGMDBDQTM2ODIgLyogUHVibGljS2V5Q3JlZGVudGlhbC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3RDg0NjM1MUZFQUZDRDMwMENB
MzY4MiAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RDg0NjMwMUZFQUZDMkYwMENBMzY4MiAvKiBKU1B1Ymxp
Y0tleUNyZWRlbnRpYWwuaCAqLzsgfTsKLQkJNTdEQ0VENjcyMTQwNzc1QjAwMTZCODQ3IC8qIEpT
TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VENjIyMTQwNzYzQzAwMTZCODQ3IC8qIEpTTW9ja0F1
dGhlbnRpY2F0b3JDb29yZGluYXRvci5oICovOyB9OwotCQk1N0RDRUQ2OTIxNDA3NzY0MDAxNkI4
NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDYzMjE0MDc2M0MwMDE2Qjg0NyAv
KiBKU01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwICovOyB9OwogCQk1N0RDRUQ3NDIx
NDMwNUYwMDAxNkI4NDcgLyogUHVibGljS2V5Q3JlZGVudGlhbERhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDcyMjE0MzA1RjAwMDE2Qjg0
NyAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3RENFRDkwMjE0ODdGRjcwMDE2Qjg0NyAvKiBBdXRo
ZW50aWNhdG9yVHJhbnNwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1N0RDRUQ4QzIxNDg3RURCMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5z
cG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTU3RENFRDk4MjE0ODgyMTYwMDE2Qjg0NyAvKiBKU0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDkyMjE0
ODgwQzYwMDE2Qjg0NyAvKiBKU0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaCAqLzsgfTsKQEAgLTg1
NjgsOSArODU2NCw2IEBACiAJCTU3NjA4MjRGMjAxMThEOEQwMDExNjY3OCAvKiBKU0Jhc2ljQ3Jl
ZGVudGlhbEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Jhc2ljQ3JlZGVudGlhbEN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NjA4MjU2MjAxMUJFMDIw
MDExNjY3OCAvKiBKU0F1dGhlbnRpY2F0b3JSZXNwb25zZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0F1dGhlbnRpY2F0b3JSZXNwb25zZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU3NjA4MjcwMjAyMTUxM0YwMDExNjY3OCAvKiBBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3NjA4Mjc4MjAyNDRE
QUIwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNTc2MDgyNzkyMDI0NERBQzAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9ja0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3NjA4MjgwMjAyNTU2RjQw
MDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNb2NrQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTc2MDgyOTMyMDJCQTk1MzAwMTE2Njc4IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzY4MTQyODFFNkY5OEFEMDBFNzc3
NTQgLyogRWNkaEtleURlcml2ZVBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRWNkaEtleURlcml2ZVBhcmFtcy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NjgxNDI5MUU2Rjk5QzEwMEU3Nzc1
NCAvKiBDcnlwdG9BbGdvcml0aG1FY2RoS2V5RGVyaXZlUGFyYW1zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobUVjZGhLZXlEZXJpdmVQYXJhbXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg2MjUsOCArODYxOCw2IEBACiAJCTU3RDg0
NjJEMUZFQUY2OEYwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVkZW50aWFsLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdWJs
aWNLZXlDcmVkZW50aWFsLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdEODQ2
MzAxRkVBRkMyRjAwQ0EzNjgyIC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1B1YmxpY0tleUNyZWRlbnRpYWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdEODQ2MzExRkVBRkMyRjAwQ0EzNjgyIC8qIEpTUHVibGlj
S2V5Q3JlZGVudGlhbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1
N0RDRUQ2MjIxNDA3NjNDMDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1N0RDRUQ2MzIxNDA3
NjNDMDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RENFRDcyMjE0MzA1RjAw
MDE2Qjg0NyAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdWJs
aWNLZXlDcmVkZW50aWFsRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0RD
RUQ4QzIxNDg3RURCMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9ydC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBdXRoZW50aWNhdG9yVHJhbnNwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3RENFRDhFMjE0ODdFREIwMDE2Qjg0NyAvKiBBdXRoZW50aWNhdG9yVHJhbnNwb3J0
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBBdXRoZW50aWNhdG9yVHJhbnNwb3J0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE3MDM3LDkgKzE3MDI4LDYgQEAKIAkJCQlBN0JFN0VERTE0QzkxNzVBMDAx
NDQ4OUQgLyogTWFsbG9jU3RhdGlzdGljcy5pZGwgKi8sCiAJCQkJQ0Q1MzkzQ0IxNzVEQ0NFNjAw
QzA3MTIzIC8qIE1lbW9yeUluZm8uaCAqLywKIAkJCQlDRDUzOTNDQzE3NURDQ0U2MDBDMDcxMjMg
LyogTWVtb3J5SW5mby5pZGwgKi8sCi0JCQkJNTc2MDgyNzkyMDI0NERBQzAwMTE2Njc4IC8qIE1v
Y2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwICovLAotCQkJCTU3NjA4Mjc4MjAyNDREQUIw
MDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi8sCi0JCQkJNTc2MDgy
ODAyMDI1NTZGNDAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaWRsICov
LAogCQkJCUNERjRCNzIxMUUwM0JGODEwMEUyMzVBMiAvKiBNb2NrQ0RNRmFjdG9yeS5jcHAgKi8s
CiAJCQkJQ0RGNEI3MjIxRTAzQkY4MTAwRTIzNUEyIC8qIE1vY2tDRE1GYWN0b3J5LmggKi8sCiAJ
CQkJQ0RGNEI3MUYxRTAzQkY2RjAwRTIzNUEyIC8qIE1vY2tDRE1GYWN0b3J5LmlkbCAqLywKQEAg
LTE3MDk2LDggKzE3MDg0LDYgQEAKIAkJCQlBN0I0RUE2OTE0QzkzNDg0MDBDOEY1QkYgLyogSlNN
YWxsb2NTdGF0aXN0aWNzLmggKi8sCiAJCQkJQ0Q1MzkzRDExNzVFMDE4NjAwQzA3MTIzIC8qIEpT
TWVtb3J5SW5mby5jcHAgKi8sCiAJCQkJQ0Q1MzkzRDIxNzVFMDE4NjAwQzA3MTIzIC8qIEpTTWVt
b3J5SW5mby5oICovLAotCQkJCTU3RENFRDYzMjE0MDc2M0MwMDE2Qjg0NyAvKiBKU01vY2tBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwICovLAotCQkJCTU3RENFRDYyMjE0MDc2M0MwMDE2Qjg0
NyAvKiBKU01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCAqLywKIAkJCQlDREY0QjcyRDFF
MDNDQTRBMDBFMjM1QTIgLyogSlNNb2NrQ0RNRmFjdG9yeS5jcHAgKi8sCiAJCQkJQ0RGNEI3MkUx
RTAzQ0E0QTAwRTIzNUEyIC8qIEpTTW9ja0NETUZhY3RvcnkuaCAqLywKIAkJCQlBMTlBRUExRDFB
QUE4MDZFMDBCNTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCAqLywKQEAg
LTE4ODE0LDggKzE4ODAwLDYgQEAKIAkJNTc0RjU1REQyMDRGMzc0NDAwMjk0OEM2IC8qIGNvY29h
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1NzRGNTVE
RTIwNEYzNzQ0MDAyOTQ4QzYgLyogTG9jYWxBdXRoZW50aWNhdG9yLmggKi8sCi0JCQkJNTc0RjU1
REYyMDRGMzc0NDAwMjk0OEM2IC8qIExvY2FsQXV0aGVudGljYXRvci5tbSAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gY29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjcxMzgsNyAr
MjcxMjIsNiBAQAogCQkJCTUzRUQzRkRGMTY3QTg4RTcwMDY3NjJFNiAvKiBKU0ludGVybmFsU2V0
dGluZ3NHZW5lcmF0ZWQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NDBCNTk1MTRDOTM1QUIwMEE3
N0ZBNCAvKiBKU01hbGxvY1N0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENTM5M0Q0
MTc1RTAxODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uaCBpbiBIZWFkZXJzICovLAotCQkJCTU3
RENFRDY3MjE0MDc3NUIwMDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUzOEVDOTMzMUY5OUI5RjcwMDREMjJBOCAvKiBKU01vY2tD
RE1GYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTlBRUEyMTFBQUE4MDg2MDBCNTJCMjUg
LyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MzhF
QzkzNDFGOTlCOUY3MDA0RDIyQTggLyogSlNNb2NrUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICov
LApAQCAtMjcxNDgsNyArMjcxMzEsNiBAQAogCQkJCTQyN0RBNzFFMTM3MzVERkEwMDdDNTdGQiAv
KiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUVCRjUxMjFE
MTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0RDMjZCNDExNjBBOENDRTAwMjY3NTdCIC8qIExlZ2FjeU1vY2tDRE0uaCBpbiBIZWFkZXJz
ICovLAotCQkJCTU3NjA4MjdBMjAyNEVBNUMwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUJGNkI4MzFBQTk2QzdEMDBBRjRBOEEg
LyogTW9ja0NvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQjVCMjlGMUFBQTg0
NkYwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTA1OEFEQzFENjc5MkMxMDA5QTUzOEMgLyogTW9ja0dhbWVwYWQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzE1NjcsNyArMzE1NDksNiBAQAogCQkJCTUzRUQzRkRFMTY3QTg4RTcwMDY3NjJF
NiAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTM4RUM5MzIxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTWFsbG9jU3RhdGlzdGljcy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDRDUzOTNEMzE3NUUwMTg2MDBDMDcxMjMgLyogSlNNZW1vcnlJbmZvLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTU3RENFRDY5MjE0MDc3NjQwMDE2Qjg0NyAvKiBKU01vY2tB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RGNEI3MzIx
RTAzRDA2MDAwRTIzNUEyIC8qIEpTTW9ja0NETUZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTE5QUVBMjIxQUFBODA4QTAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5n
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDQxNTBERTFDMUY4NjhDMDAwQTNCQTIgLyogSlNN
b2NrUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTU3Nyw3ICszMTU1OCw2IEBA
CiAJCQkJNDI3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFs
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFQkY1MTIxQzE2OTY0OTZDMDA1NkJEMjUgLyogSlNU
eXBlQ29udmVyc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDMjZCNDAxNjBBOENDNjAw
MjY3NTdCIC8qIExlZ2FjeU1vY2tDRE0uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTc2MDgyN0Iy
MDI0RUQyOTAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQ0RGNEI3MzExRTAzRDAwNzAwRTIzNUEyIC8qIE1vY2tDRE1GYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExQkY2QjgyMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2Nr
Q29udGVudEZpbHRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUI1QjI5RTFBQUE4NDZFMDA4
QjYwNDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4MWI5MTJmNzRmOGIyZTc2NmI5ZjQ2
ZWM2ZGFlZjFhZDczM2MwODZkLi4yMjE5MjQzNzU2ODUwNjExNmY2ODNmMGU2YTZkOTdjMWY4MjJj
OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0yNjgsMTEgKzI2OCw2
IEBACiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJM
RShXRUJfQVVUSE4pCi0jaW5jbHVkZSAiQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgiCi0jaW5j
bHVkZSAiTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIgotI2VuZGlmCi0KICNpZiBQTEFU
Rk9STShNQUMpICYmIFVTRShMSUJXRUJSVEMpCiAjaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQv
VmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaD4KICNlbmRpZgpAQCAtNTUzLDE1ICs1NDgsNiBAQCBJ
bnRlcm5hbHM6OkludGVybmFscyhEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgICAgIGZyYW1lLT5w
YWdlKCktPnNldFBheW1lbnRDb29yZGluYXRvcihzdGQ6Om1ha2VfdW5pcXVlPFBheW1lbnRDb29y
ZGluYXRvcj4oKm1fbW9ja1BheW1lbnRDb29yZGluYXRvcikpOwogICAgIH0KICNlbmRpZgotCi0j
aWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICAvLyBGSVhNRSgxODkyODMpCi0gICAgaWYgKGRvY3Vt
ZW50LnBhZ2UoKSkgewotICAgICAgICBhdXRvIG1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Ig
PSBzdGQ6Om1ha2VfdW5pcXVlPE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I+KCk7Ci0gICAg
ICAgIG1fbW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvciA9IG1ha2VXZWFrUHRyKG1vY2tBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuZ2V0KCkpOwotLy8gICAgICAgIGRvY3VtZW50LnBhZ2UoKS0+
YXV0aGVudGljYXRvckNvb3JkaW5hdG9yKCkuc2V0Q2xpZW50KFdURk1vdmUobW9ja0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvcikpOwotICAgIH0KLSNlbmRpZgogfQogCiBEb2N1bWVudCogSW50ZXJu
YWxzOjpjb250ZXh0RG9jdW1lbnQoKSBjb25zdApAQCAtNDY0MCwxMyArNDYyNiw2IEBAIE1vY2tQ
YXltZW50Q29vcmRpbmF0b3ImIEludGVybmFsczo6bW9ja1BheW1lbnRDb29yZGluYXRvcigpIGNv
bnN0CiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJfQVVUSE4pCi1Nb2NrQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yJiBJbnRlcm5hbHM6Om1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IoKSBj
b25zdAotewotICAgIHJldHVybiAqbV9tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOwotfQot
I2VuZGlmCi0KIGJvb2wgSW50ZXJuYWxzOjppc1N5c3RlbVByZXZpZXdMaW5rKEVsZW1lbnQmIGVs
ZW1lbnQpIGNvbnN0CiB7CiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKaW5kZXggZGE3ZjFjYjE1OWExN2M5NzI1NjA4ZTdhZmQzYzFiNWU3YTcyYWZm
OC4uYjBmZDA5MGJjY2M3YWY3ZGE2ZjNmM2JmN2JhYzNjN2RlZGVjMTQ2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCkBAIC03OSw3ICs3OSw2IEBAIGNsYXNzIE1lZGlhU3RyZWFtVHJh
Y2s7CiBjbGFzcyBNZW1vcnlJbmZvOwogY2xhc3MgTW9ja0NETUZhY3Rvcnk7CiBjbGFzcyBNb2Nr
Q29udGVudEZpbHRlclNldHRpbmdzOwotY2xhc3MgTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRv
cjsKIGNsYXNzIE1vY2tQYWdlT3ZlcmxheTsKIGNsYXNzIE1vY2tQYXltZW50Q29vcmRpbmF0b3I7
CiBjbGFzcyBOb2RlTGlzdDsKQEAgLTcwNCwxMCArNzAzLDYgQEAgcHVibGljOgogICAgIHZvaWQg
cGF1c2VUaW1lbGluZShBbmltYXRpb25UaW1lbGluZSYpOwogICAgIHZvaWQgc2V0VGltZWxpbmVD
dXJyZW50VGltZShBbmltYXRpb25UaW1lbGluZSYsIGRvdWJsZSk7CiAKLSNpZiBFTkFCTEUoV0VC
X0FVVEhOKQotICAgIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3ImIG1vY2tBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3IoKSBjb25zdDsKLSNlbmRpZgotCiAgICAgYm9vbCBpc1N5c3RlbVByZXZp
ZXdMaW5rKEVsZW1lbnQmKSBjb25zdDsKICAgICBib29sIGlzU3lzdGVtUHJldmlld0ltYWdlKEVs
ZW1lbnQmKSBjb25zdDsKIApAQCAtODA2LDEwICs4MDEsNiBAQCBwcml2YXRlOgogI2lmIEVOQUJM
RShBUFBMRV9QQVkpCiAgICAgTW9ja1BheW1lbnRDb29yZGluYXRvciogbV9tb2NrUGF5bWVudENv
b3JkaW5hdG9yIHsgbnVsbHB0ciB9OwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQot
ICAgIFdlYWtQdHI8TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvcj4gbV9tb2NrQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yOwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMDc4Y2Y3NTQ0M2Y5YTNhMjk1NTc4
Y2Y5MGFiOWRjY2FhMjNmYTNkMC4uZmVkOThmNGM5OTZkNTNlNDMyMTUyYmNlNTVhMjZkOGI3Yzhm
ZTJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNjg0LDcgKzY4NCw2
IEBAIGVudW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIFtFbmFibGVkQXRSdW50aW1lPVdlYkFu
aW1hdGlvbnNdIHZvaWQgcGF1c2VUaW1lbGluZShBbmltYXRpb25UaW1lbGluZSB0aW1lbGluZSk7
CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9uc10gdm9pZCBzZXRUaW1lbGluZUN1
cnJlbnRUaW1lKEFuaW1hdGlvblRpbWVsaW5lIHRpbWVsaW5lLCBkb3VibGUgY3VycmVudFRpbWUp
OwogICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVldIHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5
bWVudENvb3JkaW5hdG9yIG1vY2tQYXltZW50Q29vcmRpbmF0b3I7Ci0gICAgW0NvbmRpdGlvbmFs
PVdFQl9BVVRITl0gcmVhZG9ubHkgYXR0cmlidXRlIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IgbW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvcjsKIAogICAgIGJvb2xlYW4gaXNTeXN0ZW1Q
cmV2aWV3TGluayhFbGVtZW50IGVsZW1lbnQpOwogICAgIGJvb2xlYW4gaXNTeXN0ZW1QcmV2aWV3
SW1hZ2UoRWxlbWVudCBlbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjZDdkNjlhNjJkNjBhZDk4NjQ3N2FkNmEzMmQ0ODZiMDRiNTRjZjkxLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSwxMTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCX0FV
VEhOKQotCi0jaW5jbHVkZSAiSW50ZXJuYWxzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNL
ZXlDcmVkZW50aWFsRGF0YS5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi12b2lkIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OnNldENyZWF0
aW9uUmV0dXJuQnVuZGxlKGNvbnN0IEJ1ZmZlclNvdXJjZSYgY3JlZGVudGlhbElkLCBjb25zdCBC
dWZmZXJTb3VyY2UmIGF0dGVzdGF0aW9uT2JqZWN0KQotewotICAgIEFTU0VSVCghbV9jcmVkZW50
aWFsSWQgJiYgIW1fYXR0ZXN0YXRpb25PYmplY3QpOwotICAgIG1fY3JlZGVudGlhbElkID0gQXJy
YXlCdWZmZXI6OmNyZWF0ZShjcmVkZW50aWFsSWQuZGF0YSgpLCBjcmVkZW50aWFsSWQubGVuZ3Ro
KCkpOwotICAgIG1fYXR0ZXN0YXRpb25PYmplY3QgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGF0dGVz
dGF0aW9uT2JqZWN0LmRhdGEoKSwgYXR0ZXN0YXRpb25PYmplY3QubGVuZ3RoKCkpOwotfQotCi12
b2lkIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OnNldEFzc2VydGlvblJldHVybkJ1bmRs
ZShjb25zdCBCdWZmZXJTb3VyY2UmIGNyZWRlbnRpYWxJZCwgY29uc3QgQnVmZmVyU291cmNlJiBh
dXRoZW50aWNhdG9yRGF0YSwgY29uc3QgQnVmZmVyU291cmNlJiBzaWduYXR1cmUsIGNvbnN0IEJ1
ZmZlclNvdXJjZSYgdXNlckhhbmRsZSkKLXsKLSAgICBBU1NFUlQoIW1fY3JlZGVudGlhbElkICYm
ICFtX2F1dGhlbnRpY2F0b3JEYXRhICYmICFtX3NpZ25hdHVyZSAmJiAhbV91c2VySGFuZGxlKTsK
LSAgICBtX2NyZWRlbnRpYWxJZCA9IEFycmF5QnVmZmVyOjpjcmVhdGUoY3JlZGVudGlhbElkLmRh
dGEoKSwgY3JlZGVudGlhbElkLmxlbmd0aCgpKTsKLSAgICBtX2F1dGhlbnRpY2F0b3JEYXRhID0g
QXJyYXlCdWZmZXI6OmNyZWF0ZShhdXRoZW50aWNhdG9yRGF0YS5kYXRhKCksIGF1dGhlbnRpY2F0
b3JEYXRhLmxlbmd0aCgpKTsKLSAgICBtX3NpZ25hdHVyZSA9IEFycmF5QnVmZmVyOjpjcmVhdGUo
c2lnbmF0dXJlLmRhdGEoKSwgc2lnbmF0dXJlLmxlbmd0aCgpKTsKLSAgICBtX3VzZXJIYW5kbGUg
PSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKHVzZXJIYW5kbGUuZGF0YSgpLCB1c2VySGFuZGxlLmxlbmd0
aCgpKTsKLX0KLQotdm9pZCBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3JlZGVu
dGlhbChjb25zdCBWZWN0b3I8dWludDhfdD4mLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsQ3Jl
YXRpb25PcHRpb25zJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKLXsKLSAg
ICBpZiAoIXNldFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fZGlkVGltZU91dCkgewotICAgICAgICBtX2RpZFRp
bWVPdXQgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAobV9kaWRVc2Vy
Q2FuY2VsKSB7Ci0gICAgICAgIG1fZGlkVXNlckNhbmNlbCA9IGZhbHNlOwotICAgICAgICByZXF1
ZXN0UmVwbHkoeyB9LCB7IE5vdEFsbG93ZWRFcnJvciwgIlVzZXIgY2FuY2VsbGVkLiJfcyB9KTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAobV9jcmVkZW50aWFsSWQpIHsKLSAgICAg
ICAgQVNTRVJUKG1fYXR0ZXN0YXRpb25PYmplY3QpOwotICAgICAgICByZXF1ZXN0UmVwbHkoUHVi
bGljS2V5Q3JlZGVudGlhbERhdGEgeyBXVEZNb3ZlKG1fY3JlZGVudGlhbElkKSwgdHJ1ZSwgbnVs
bHB0ciwgV1RGTW92ZShtX2F0dGVzdGF0aW9uT2JqZWN0KSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVs
bHB0ciB9LCB7IH0pOwotICAgICAgICBtX2NyZWRlbnRpYWxJZCA9IG51bGxwdHI7Ci0gICAgICAg
IG1fYXR0ZXN0YXRpb25PYmplY3QgPSBudWxscHRyOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIE1vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3I6OmdldEFzc2VydGlvbihjb25zdCBWZWN0b3I8dWludDhfdD4mLCBjb25zdCBQdWJs
aWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXIm
JiBoYW5kbGVyKQotewotICAgIGlmICghc2V0UmVxdWVzdENvbXBsZXRpb25IYW5kbGVyKFdURk1v
dmUoaGFuZGxlcikpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9kaWRUaW1lT3V0KSB7
Ci0gICAgICAgIG1fZGlkVGltZU91dCA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
ICAgIGlmIChtX2RpZFVzZXJDYW5jZWwpIHsKLSAgICAgICAgbV9kaWRVc2VyQ2FuY2VsID0gZmFs
c2U7Ci0gICAgICAgIHJlcXVlc3RSZXBseSh7IH0sIHsgTm90QWxsb3dlZEVycm9yLCAiVXNlciBj
YW5jZWxsZWQuIl9zIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChtX2NyZWRl
bnRpYWxJZCkgewotICAgICAgICBBU1NFUlQobV9hdXRoZW50aWNhdG9yRGF0YSAmJiBtX3NpZ25h
dHVyZSAmJiBtX3VzZXJIYW5kbGUpOwotICAgICAgICByZXF1ZXN0UmVwbHkoUHVibGljS2V5Q3Jl
ZGVudGlhbERhdGEgeyBXVEZNb3ZlKG1fY3JlZGVudGlhbElkKSwgZmFsc2UsIG51bGxwdHIsIG51
bGxwdHIsIFdURk1vdmUobV9hdXRoZW50aWNhdG9yRGF0YSksIFdURk1vdmUobV9zaWduYXR1cmUp
LCBXVEZNb3ZlKG1fdXNlckhhbmRsZSkgfSwgeyB9KTsKLSAgICAgICAgbV9jcmVkZW50aWFsSWQg
PSBudWxscHRyOwotICAgICAgICBtX2F1dGhlbnRpY2F0b3JEYXRhID0gbnVsbHB0cjsKLSAgICAg
ICAgbV9zaWduYXR1cmUgPSBudWxscHRyOwotICAgICAgICBtX3VzZXJIYW5kbGUgPSBudWxscHRy
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQot
Ci12b2lkIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmlzVXNlclZlcmlmeWluZ1BsYXRm
b3JtQXV0aGVudGljYXRvckF2YWlsYWJsZShRdWVyeUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxl
cikKLXsKLSAgICBhdXRvIG1lc3NhZ2VJZCA9IGFkZFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShoYW5kbGVyKSk7Ci0gICAgaWYgKG1fZGlkVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVu
dGljYXRvclByZXNlbnQpIHsKLSAgICAgICAgaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50
aWNhdG9yQXZhaWxhYmxlUmVwbHkobWVzc2FnZUlkLCB0cnVlKTsKLSAgICAgICAgbV9kaWRVc2Vy
VmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yUHJlc2VudCA9IGZhbHNlOwotICAgIH0gZWxz
ZQotICAgICAgICBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGVS
ZXBseShtZXNzYWdlSWQsIGZhbHNlKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDk0YWM0NWVhMmZmMzQ1NzVlYTQ2NGI5NTFiY2QxMzZhNDUxMmJhYmUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VC
X0FVVEhOKQotCi0jaW5jbHVkZSAiQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xpZW50LmgiCi0j
aW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBJbnRlcm5hbHM7Ci0KLWNsYXNzIE1vY2tBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3IgZmluYWwgOiBwdWJsaWMgQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
Q2xpZW50IHsKLXB1YmxpYzoKLSAgICB2b2lkIHNldERpZFRpbWVPdXQoKSB7IG1fZGlkVGltZU91
dCA9IHRydWU7IH0KLSAgICB2b2lkIHNldERpZFVzZXJDYW5jZWwoKSB7IG1fZGlkVXNlckNhbmNl
bCA9IHRydWU7IH0KLSAgICB2b2lkIHNldERpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRp
Y2F0b3JQcmVzZW50KCkgeyBtX2RpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQ
cmVzZW50ID0gdHJ1ZTsgfQotICAgIHZvaWQgc2V0Q3JlYXRpb25SZXR1cm5CdW5kbGUoY29uc3Qg
QnVmZmVyU291cmNlJiBjcmVkZW50aWFsSWQsIGNvbnN0IEJ1ZmZlclNvdXJjZSYgYXR0ZXN0YXRp
b25PYmplY3QpOwotICAgIHZvaWQgc2V0QXNzZXJ0aW9uUmV0dXJuQnVuZGxlKGNvbnN0IEJ1ZmZl
clNvdXJjZSYgY3JlZGVudGlhbElkLCBjb25zdCBCdWZmZXJTb3VyY2UmIGF1dGhlbnRpY2F0b3JE
YXRhLCBjb25zdCBCdWZmZXJTb3VyY2UmIHNpZ25hdHVyZSwgY29uc3QgQnVmZmVyU291cmNlJiB1
c2VySGFuZGxlKTsKLQotICAgIC8vIFJlZkNvdW50ZWQgaXMgcmVxdWlyZWQgZm9yIEpTIHdyYXBw
ZXIuIFRoZXJlZm9yZSwgZmFrZSB0aGVtIHRvIGNvbXBpbGUuCi0gICAgdm9pZCByZWYoKSBjb25z
dCB7IH0KLSAgICB2b2lkIGRlcmVmKCkgY29uc3QgeyB9Ci0KLXByaXZhdGU6Ci0gICAgdm9pZCBt
YWtlQ3JlZGVudGlhbChjb25zdCBWZWN0b3I8dWludDhfdD4mIGhhc2gsIGNvbnN0IFB1YmxpY0tl
eUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJikg
ZmluYWw7Ci0gICAgdm9pZCBnZXRBc3NlcnRpb24oY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBoYXNo
LCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxl
dGlvbkhhbmRsZXImJikgZmluYWw7Ci0gICAgdm9pZCBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1
dGhlbnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKLQot
ICAgIC8vIEFsbCBmb2xsb3dpbmcgZmllbGRzIGFyZSBkaXNwb3NhYmxlLgotICAgIGJvb2wgbV9k
aWRUaW1lT3V0IHsgZmFsc2UgfTsKLSAgICBib29sIG1fZGlkVXNlckNhbmNlbCB7IGZhbHNlIH07
Ci0gICAgYm9vbCBtX2RpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50
IHsgZmFsc2UgfTsKLSAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fY3JlZGVudGlhbElkOwotICAg
IFJlZlB0cjxBcnJheUJ1ZmZlcj4gbV9hdHRlc3RhdGlvbk9iamVjdDsKLSAgICBSZWZQdHI8QXJy
YXlCdWZmZXI+IG1fYXV0aGVudGljYXRvckRhdGE7Ci0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBt
X3NpZ25hdHVyZTsKLSAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fdXNlckhhbmRsZTsKLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWFjNWNiMmVmODIwYjUw
MjZhMjU5OGNmZDJmY2NiNjU3NTMzZWQ5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3IuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgTm9JbnRlcmZhY2VPYmplY3Qs
Ci1dIGludGVyZmFjZSBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yIHsKLSAgICB2b2lkIHNl
dERpZFRpbWVPdXQoKTsKLSAgICB2b2lkIHNldERpZFVzZXJDYW5jZWwoKTsKLSAgICB2b2lkIHNl
dERpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50KCk7Ci0gICAgdm9p
ZCBzZXRDcmVhdGlvblJldHVybkJ1bmRsZShCdWZmZXJTb3VyY2UgY3JlZGVudGlhbElkLCBCdWZm
ZXJTb3VyY2UgYXR0ZXN0YXRpb25PYmplY3QpOwotICAgIHZvaWQgc2V0QXNzZXJ0aW9uUmV0dXJu
QnVuZGxlKEJ1ZmZlclNvdXJjZSBjcmVkZW50aWFsSWQsIEJ1ZmZlclNvdXJjZSBhdXRoZW50aWNh
dG9yRGF0YSwgQnVmZmVyU291cmNlIHNpZ25hdHVyZSwgQnVmZmVyU291cmNlIHVzZXJIYW5kbGUp
OwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0
ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNp
dGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IDRhNjFjOTUyMjVhM2I0NTY1NTM4MjQ5OGUwMDZhYWY1
ZGQ3YTY2ODAuLjJlZTUzZDRhY2MwN2JkNTMxNTQ4NTQ4YzljZGM0NjRlYWNlMTMxNjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJl
Zi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0
b3JlUmVmLmNwcApAQCAtNTc1LDEyICs1NzUsMTYgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVT
ZXRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KFdLV2Vic2l0ZURhdGFTdG9yZVIK
IHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJh
dGlvbihXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS0RpY3Rpb25hcnlSZWYg
Y29uZmlndXJhdGlvblJlZikKIHsKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIGF1dG8gbG9j
YWxSZWYgPSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1G
b3JLZXkoY29uZmlndXJhdGlvblJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiTG9jYWwiKSkuZ2V0KCkpKTsKLQogICAgIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZp
Z3VyYXRpb24gY29uZmlndXJhdGlvbjsKLSAgICBjb25maWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF1
dGhlbnRpY2F0aW9uID0gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVm
PihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRBdXRoZW50aWNhdGlvbiIpKS5nZXQoKSkpKTsKLSAg
ICBjb25maWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF0dGVzdGF0aW9uID0gV0tCb29sZWFuR2V0VmFs
dWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGxv
Y2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRBdHRl
c3RhdGlvbiIpKS5nZXQoKSkpKTsKLSAgICBjb25maWd1cmF0aW9uLmxvY2FsLnByaXZhdGVLZXlC
YXNlNjQgPSBXZWJLaXQ6OnRvSW1wbChzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9u
YXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiUHJpdmF0ZUtleUJhc2U2NCIpKS5nZXQoKSkpKS0+c3RyaW5nKCk7CisKKyAgICBh
dXRvIGxvY2FsUmVmID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihXS0RpY3Rpb25hcnlH
ZXRJdGVtRm9yS2V5KGNvbmZpZ3VyYXRpb25SZWYsIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoIkxvY2FsIikpLmdldCgpKSk7CisgICAgaWYgKGxvY2FsUmVmKSB7CisgICAg
ICAgIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb246OkxvY2FsIGxvY2FsOworICAg
ICAgICBsb2NhbC5hY2NlcHRBdXRoZW50aWNhdGlvbiA9IFdLQm9vbGVhbkdldFZhbHVlKHN0YXRp
Y19jYXN0PFdLQm9vbGVhblJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwg
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXV0aGVudGljYXRp
b24iKSkuZ2V0KCkpKSk7CisgICAgICAgIGxvY2FsLmFjY2VwdEF0dGVzdGF0aW9uID0gV0tCb29s
ZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVt
Rm9yS2V5KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJB
Y2NlcHRBdHRlc3RhdGlvbiIpKS5nZXQoKSkpKTsKKyAgICAgICAgbG9jYWwucHJpdmF0ZUtleUJh
c2U2NCA9IFdlYktpdDo6dG9JbXBsKHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25h
cnlHZXRJdGVtRm9yS2V5KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJQcml2YXRlS2V5QmFzZTY0IikpLmdldCgpKSkpLT5zdHJpbmcoKTsKKyAgICAgICAg
Y29uZmlndXJhdGlvbi5sb2NhbCA9IFdURk1vdmUobG9jYWwpOworICAgIH0KIAogICAgIFdlYktp
dDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVEYXRhU3RvcmUoKS5zZXRNb2NrV2ViQXV0
aGVudGljYXRpb25Db25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9N
b2NrL01vY2tMb2NhbENvbm5lY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbENvbm5lY3Rpb24ubW0KaW5kZXggNjI3YzkxZjM0
Nzg1YjBmMzM4MjRjMDhmNTU1NWFhYzVjNTQ1ZjkyZS4uYzUxNTg2NmM4Yjg1YzE0ZDlmMzljNzFm
M2U3NGZkYjA3MWQyMGFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
QXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlv
bi5tbQpAQCAtNzMsNyArNzMsOCBAQCB2b2lkIE1vY2tMb2NhbENvbm5lY3Rpb246OmdldFVzZXJD
b25zZW50KGNvbnN0IFN0cmluZyYsIFVzZXJDb25zZW50Q2FsbGJhY2smJiBjYQogewogICAgIC8v
IE1vY2sgYXN5bmMgb3BlcmF0aW9ucy4KICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2Nv
bmZpZ3VyYXRpb24gPSBtX2NvbmZpZ3VyYXRpb24sIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFj
ayldKCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghY29uZmlndXJhdGlvbi5sb2NhbC5hY2NlcHRB
dXRoZW50aWNhdGlvbikgeworICAgICAgICBBU1NFUlQoY29uZmlndXJhdGlvbi5sb2NhbCk7Cisg
ICAgICAgIGlmICghY29uZmlndXJhdGlvbi5sb2NhbC52YWx1ZSgpLmFjY2VwdEF1dGhlbnRpY2F0
aW9uKSB7CiAgICAgICAgICAgICBjYWxsYmFjayhVc2VyQ29uc2VudDo6Tm8pOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CkBAIC04NSw3ICs4Niw4IEBAIHZvaWQgTW9ja0xvY2FsQ29u
bmVjdGlvbjo6Z2V0VXNlckNvbnNlbnQoY29uc3QgU3RyaW5nJiwgU2VjQWNjZXNzQ29udHJvbFJl
ZiwgVXNlCiB7CiAgICAgLy8gTW9jayBhc3luYyBvcGVyYXRpb25zLgogICAgIFJ1bkxvb3A6Om1h
aW4oKS5kaXNwYXRjaChbY29uZmlndXJhdGlvbiA9IG1fY29uZmlndXJhdGlvbiwgY2FsbGJhY2sg
PSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCFjb25maWd1cmF0
aW9uLmxvY2FsLmFjY2VwdEF1dGhlbnRpY2F0aW9uKSB7CisgICAgICAgIEFTU0VSVChjb25maWd1
cmF0aW9uLmxvY2FsKTsKKyAgICAgICAgaWYgKCFjb25maWd1cmF0aW9uLmxvY2FsLnZhbHVlKCku
YWNjZXB0QXV0aGVudGljYXRpb24pIHsKICAgICAgICAgICAgIGNhbGxiYWNrKFVzZXJDb25zZW50
OjpObywgbmlsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtOTksNyArMTAx
LDggQEAgdm9pZCBNb2NrTG9jYWxDb25uZWN0aW9uOjpnZXRBdHRlc3RhdGlvbihjb25zdCBTdHJp
bmcmIHJwSWQsIGNvbnN0IFN0cmluZyYgdXNlcm4KIAogICAgIC8vIE1vY2sgYXN5bmMgb3BlcmF0
aW9ucy4KICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbmZpZ3VyYXRpb24gPSBtX2Nv
bmZpZ3VyYXRpb24sIHJwSWQsIHVzZXJuYW1lLCBoYXNoLCBjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spXSgpIG11dGFibGUgewotICAgICAgICBpZiAoIWNvbmZpZ3VyYXRpb24ubG9jYWwuYWNj
ZXB0QXR0ZXN0YXRpb24pIHsKKyAgICAgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24ubG9jYWwpOwor
ICAgICAgICBpZiAoIWNvbmZpZ3VyYXRpb24ubG9jYWwudmFsdWUoKS5hY2NlcHRBdHRlc3RhdGlv
bikgewogICAgICAgICAgICAgY2FsbGJhY2soTlVMTCwgTlVMTCwgW05TRXJyb3IgZXJyb3JXaXRo
RG9tYWluOk5TT1NTdGF0dXNFcnJvckRvbWFpbiBjb2RlOi0xIHVzZXJJbmZvOm5pbF0pOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0xMTIsNyArMTE1LDcgQEAgdm9pZCBNb2Nr
TG9jYWxDb25uZWN0aW9uOjpnZXRBdHRlc3RhdGlvbihjb25zdCBTdHJpbmcmIHJwSWQsIGNvbnN0
IFN0cmluZyYgdXNlcm4KICAgICAgICAgfTsKICAgICAgICAgQ0ZFcnJvclJlZiBlcnJvclJlZiA9
IG51bGxwdHI7CiAgICAgICAgIGF1dG8ga2V5ID0gYWRvcHRDRihTZWNLZXlDcmVhdGVXaXRoRGF0
YSgKLSAgICAgICAgICAgIChfX2JyaWRnZSBDRkRhdGFSZWYpYWRvcHROUyhbW05TRGF0YSBhbGxv
Y10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmNvbmZpZ3VyYXRpb24ubG9jYWwucHJpdmF0
ZUtleUJhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJh
Y3RlcnNdKS5nZXQoKSwKKyAgICAgICAgICAgIChfX2JyaWRnZSBDRkRhdGFSZWYpYWRvcHROUyhb
W05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmNvbmZpZ3VyYXRpb24u
bG9jYWwudmFsdWUoKS5wcml2YXRlS2V5QmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFzZTY0RGVjb2Rp
bmdJZ25vcmVVbmtub3duQ2hhcmFjdGVyc10pLmdldCgpLAogICAgICAgICAgICAgKF9fYnJpZGdl
IENGRGljdGlvbmFyeVJlZilvcHRpb25zLAogICAgICAgICAgICAgJmVycm9yUmVmCiAgICAgICAg
ICkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vTW9jay9Nb2NrTG9jYWxTZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsU2VydmljZS5jcHAKaW5kZXggZjBlNzk5OWM3
MmIwY2ZmNmJiMTVmYjYxZWRkMWFjMGE5MTRmZWM1ZC4uYWFkN2UzZWZhZDYyMTMwNmZlYzkxMWQw
OGViMTg3NTk4ODUyYTQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
QXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbFNlcnZpY2UuY3Bw
CkBAIC00Miw3ICs0Miw4IEBAIE1vY2tMb2NhbFNlcnZpY2U6Ok1vY2tMb2NhbFNlcnZpY2UoT2Jz
ZXJ2ZXImIG9ic2VydmVyLCBjb25zdCBNb2NrV2ViQXV0aGVudGljYXRpCiAKIGJvb2wgTW9ja0xv
Y2FsU2VydmljZTo6cGxhdGZvcm1TdGFydERpc2NvdmVyeSgpIGNvbnN0CiB7Ci0gICAgLy8gRklY
TUUoMTg5NjQyKTogd2Ugc2hvdWxkIHRlc3QgZmFsc2UgY2FzZS4KKyAgICBpZiAoIW1fY29uZmln
dXJhdGlvbi5sb2NhbCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Nb2NrL01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9u
Q29uZmlndXJhdGlvbi5oCmluZGV4IDA3NGZjYWNjNWM4NWVlYWYwMjBhMGMzZTgwOTdjNTNhYzYx
OWQ5Y2MuLmZkY2ZmMzdlNjYxMGI0ZDkyOWE5ODE3YWVlZWQwNmVmNDZjYjQ2OWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dl
YkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJh
dGlvbi5oCkBAIC0zNiw3ICszNiw3IEBAIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25m
aWd1cmF0aW9uIHsKICAgICAgICAgU3RyaW5nIHByaXZhdGVLZXlCYXNlNjQ7CiAgICAgfTsKIAot
ICAgIExvY2FsIGxvY2FsOworICAgIHN0ZDo6b3B0aW9uYWw8TG9jYWw+IGxvY2FsOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggZjZlZjFlY2M3ODE0NTFhNjhiNGUzZDg4NjA0NDcyOGU2NmQ0MjVl
Ni4uYWQ5OTAxOTJkNmU2ODViYzkxZWUyNDA5ZWU4ZDVjMDE5OTg4M2IzMSAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE4LTA5LTI3ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W1dlYkF1dGhOXSBQb2xpc2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0V2ViQXV0aGVudGljYXRp
b25Nb2NrQ29uZmlndXJhdGlvbik6CisKIDIwMTgtMDktMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVUkxQYXJzZXIgc2hvdWxkIHVzZSBU
ZXh0RW5jb2RpbmcgdGhyb3VnaCBhbiBhYnN0cmFjdCBjbGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZjM2MDRi
N2VlZTU4ODljYzU2ZGQxMmQyNjZmYTU3OGU1YmEzZDFiNC4uZGQ0ZTM5NmJjZDViZjdhZGNhOWMz
ZGYxMDY5MTQ2MTM5YmVlYmI4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0yMzU4LDUyICsyMzU4LDU1IEBAIHZv
aWQgVGVzdFJ1bm5lcjo6c2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbihKU1Zh
bHVlUmVmIGNvbmZpZ3VyYXRpb25WCiAgICAgICAgIHJldHVybjsKICAgICBKU09iamVjdFJlZiBj
b25maWd1cmF0aW9uID0gSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGNvbmZpZ3VyYXRpb25WYWx1
ZSwgMCk7CiAKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+PiBjb25maWd1cmF0
aW9uS2V5czsKKyAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gY29uZmlndXJhdGlv
blZhbHVlczsKKwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsb2NhbFByb3BlcnR5TmFt
ZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxvY2FsIikpOwogICAgIEpT
VmFsdWVSZWYgbG9jYWxWYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgY29uZmln
dXJhdGlvbiwgbG9jYWxQcm9wZXJ0eU5hbWUuZ2V0KCksIDApOwotICAgIGlmICghSlNWYWx1ZUlz
T2JqZWN0KGNvbnRleHQsIGxvY2FsVmFsdWUpKQotICAgICAgICByZXR1cm47Ci0gICAgSlNPYmpl
Y3RSZWYgbG9jYWwgPSBKU1ZhbHVlVG9PYmplY3QoY29udGV4dCwgbG9jYWxWYWx1ZSwgMCk7Ci0K
LSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gYWNjZXB0QXV0aGVudGljYXRpb25Qcm9wZXJ0
eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJhY2NlcHRBdXRoZW50
aWNhdGlvbiIpKTsKLSAgICBKU1ZhbHVlUmVmIGFjY2VwdEF1dGhlbnRpY2F0aW9uVmFsdWUgPSBK
U09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIGxvY2FsLCBhY2NlcHRBdXRoZW50aWNhdGlvblBy
b3BlcnR5TmFtZS5nZXQoKSwgMCk7Ci0gICAgaWYgKCFKU1ZhbHVlSXNCb29sZWFuKGNvbnRleHQs
IGFjY2VwdEF1dGhlbnRpY2F0aW9uVmFsdWUpKQotICAgICAgICByZXR1cm47Ci0gICAgYm9vbCBh
Y2NlcHRBdXRoZW50aWNhdGlvbiA9IEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0QXV0
aGVudGljYXRpb25WYWx1ZSk7Ci0KLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gYWNjZXB0
QXR0ZXN0YXRpb25Qcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJhY2NlcHRBdHRlc3RhdGlvbiIpKTsKLSAgICBKU1ZhbHVlUmVmIGFjY2VwdEF0dGVzdGF0
aW9uVmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIGxvY2FsLCBhY2NlcHRBdHRl
c3RhdGlvblByb3BlcnR5TmFtZS5nZXQoKSwgMCk7Ci0gICAgaWYgKCFKU1ZhbHVlSXNCb29sZWFu
KGNvbnRleHQsIGFjY2VwdEF0dGVzdGF0aW9uVmFsdWUpKQotICAgICAgICByZXR1cm47Ci0gICAg
Ym9vbCBhY2NlcHRBdHRlc3RhdGlvbiA9IEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0
QXR0ZXN0YXRpb25WYWx1ZSk7Ci0KLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcHJpdmF0
ZUtleUJhc2U2NFByb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoInByaXZhdGVLZXlCYXNlNjQiKSk7Ci0gICAgSlNWYWx1ZVJlZiBwcml2YXRlS2V5QmFzZTY0
VmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIGxvY2FsLCBwcml2YXRlS2V5QmFz
ZTY0UHJvcGVydHlOYW1lLmdldCgpLCAwKTsKLSAgICBpZiAoIUpTVmFsdWVJc1N0cmluZyhjb250
ZXh0LCBwcml2YXRlS2V5QmFzZTY0VmFsdWUpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKCFK
U1ZhbHVlSXNOdWxsKGNvbnRleHQsIGxvY2FsVmFsdWUpKSB7CisgICAgICAgIGlmICghSlNWYWx1
ZUlzT2JqZWN0KGNvbnRleHQsIGxvY2FsVmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICBKU09iamVjdFJlZiBsb2NhbCA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBsb2NhbFZh
bHVlLCAwKTsKKworICAgICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gYWNjZXB0QXV0aGVu
dGljYXRpb25Qcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJhY2NlcHRBdXRoZW50aWNhdGlvbiIpKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBhY2NlcHRBdXRo
ZW50aWNhdGlvblZhbHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBsb2NhbCwgYWNj
ZXB0QXV0aGVudGljYXRpb25Qcm9wZXJ0eU5hbWUuZ2V0KCksIDApOworICAgICAgICBpZiAoIUpT
VmFsdWVJc0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0QXV0aGVudGljYXRpb25WYWx1ZSkpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGJvb2wgYWNjZXB0QXV0aGVudGljYXRpb24gPSBKU1Zh
bHVlVG9Cb29sZWFuKGNvbnRleHQsIGFjY2VwdEF1dGhlbnRpY2F0aW9uVmFsdWUpOworCisgICAg
ICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhY2NlcHRBdHRlc3RhdGlvblByb3BlcnR5TmFt
ZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImFjY2VwdEF0dGVzdGF0aW9u
IikpOworICAgICAgICBKU1ZhbHVlUmVmIGFjY2VwdEF0dGVzdGF0aW9uVmFsdWUgPSBKU09iamVj
dEdldFByb3BlcnR5KGNvbnRleHQsIGxvY2FsLCBhY2NlcHRBdHRlc3RhdGlvblByb3BlcnR5TmFt
ZS5nZXQoKSwgMCk7CisgICAgICAgIGlmICghSlNWYWx1ZUlzQm9vbGVhbihjb250ZXh0LCBhY2Nl
cHRBdHRlc3RhdGlvblZhbHVlKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYm9vbCBh
Y2NlcHRBdHRlc3RhdGlvbiA9IEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0QXR0ZXN0
YXRpb25WYWx1ZSk7CisKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHByaXZhdGVL
ZXlCYXNlNjRQcm9wZXJ0eU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJwcml2YXRlS2V5QmFzZTY0IikpOworICAgICAgICBKU1ZhbHVlUmVmIHByaXZhdGVLZXlCYXNl
NjRWYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgbG9jYWwsIHByaXZhdGVLZXlC
YXNlNjRQcm9wZXJ0eU5hbWUuZ2V0KCksIDApOworICAgICAgICBpZiAoIUpTVmFsdWVJc1N0cmlu
Zyhjb250ZXh0LCBwcml2YXRlS2V5QmFzZTY0VmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGxvY2FsS2V5czsKKyAg
ICAgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLVHlwZVJlZj4+IGxvY2FsVmFsdWVzOworICAgICAg
ICBsb2NhbEtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIkFjY2VwdEF1dGhlbnRpY2F0aW9uIikgfSk7CisgICAgICAgIGxvY2FsVmFsdWVzLmFwcGVu
ZChhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShhY2NlcHRBdXRoZW50aWNhdGlvbikpLmdldCgpKTsK
KyAgICAgICAgbG9jYWxLZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJBY2NlcHRBdHRlc3RhdGlvbiIpIH0pOworICAgICAgICBsb2NhbFZhbHVlcy5h
cHBlbmQoYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoYWNjZXB0QXR0ZXN0YXRpb24pKS5nZXQoKSk7
CisgICAgICAgIGxvY2FsS2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiUHJpdmF0ZUtleUJhc2U2NCIpIH0pOworICAgICAgICBsb2NhbFZhbHVlcy5h
cHBlbmQodG9XSyhhZG9wdChKU1ZhbHVlVG9TdHJpbmdDb3B5KGNvbnRleHQsIHByaXZhdGVLZXlC
YXNlNjRWYWx1ZSwgMCkpLmdldCgpKSk7CisKKyAgICAgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiBy
YXdMb2NhbEtleXM7CisgICAgICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd0xvY2FsVmFsdWVzOwor
ICAgICAgICByYXdMb2NhbEtleXMucmVzaXplKGxvY2FsS2V5cy5zaXplKCkpOworICAgICAgICBy
YXdMb2NhbFZhbHVlcy5yZXNpemUobG9jYWxWYWx1ZXMuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBsb2NhbEtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIHJh
d0xvY2FsS2V5c1tpXSA9IGxvY2FsS2V5c1tpXS5nZXQoKTsKKyAgICAgICAgICAgIHJhd0xvY2Fs
VmFsdWVzW2ldID0gbG9jYWxWYWx1ZXNbaV0uZ2V0KCk7CisgICAgICAgIH0KIAotICAgIFZlY3Rv
cjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGxvY2FsS2V5czsKLSAgICBWZWN0b3I8V0tSZXRh
aW5QdHI8V0tUeXBlUmVmPj4gbG9jYWxWYWx1ZXM7Ci0gICAgbG9jYWxLZXlzLmFwcGVuZCh7IEFk
b3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRBdXRoZW50aWNhdGlv
biIpIH0pOwotICAgIGxvY2FsVmFsdWVzLmFwcGVuZChhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShh
Y2NlcHRBdXRoZW50aWNhdGlvbikpLmdldCgpKTsKLSAgICBsb2NhbEtleXMuYXBwZW5kKHsgQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkFjY2VwdEF0dGVzdGF0aW9uIikg
fSk7Ci0gICAgbG9jYWxWYWx1ZXMuYXBwZW5kKGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKGFjY2Vw
dEF0dGVzdGF0aW9uKSkuZ2V0KCkpOwotICAgIGxvY2FsS2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiUHJpdmF0ZUtleUJhc2U2NCIpIH0pOwotICAg
IGxvY2FsVmFsdWVzLmFwcGVuZCh0b1dLKGFkb3B0KEpTVmFsdWVUb1N0cmluZ0NvcHkoY29udGV4
dCwgcHJpdmF0ZUtleUJhc2U2NFZhbHVlLCAwKSkuZ2V0KCkpKTsKLQotICAgIFZlY3RvcjxXS1N0
cmluZ1JlZj4gcmF3TG9jYWxLZXlzOwotICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd0xvY2FsVmFs
dWVzOwotICAgIHJhd0xvY2FsS2V5cy5yZXNpemUobG9jYWxLZXlzLnNpemUoKSk7Ci0gICAgcmF3
TG9jYWxWYWx1ZXMucmVzaXplKGxvY2FsVmFsdWVzLnNpemUoKSk7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBsb2NhbEtleXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgcmF3TG9jYWxLZXlz
W2ldID0gbG9jYWxLZXlzW2ldLmdldCgpOwotICAgICAgICByYXdMb2NhbFZhbHVlc1tpXSA9IGxv
Y2FsVmFsdWVzW2ldLmdldCgpOworICAgICAgICBjb25maWd1cmF0aW9uS2V5cy5hcHBlbmQoeyBB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTG9jYWwiKSB9KTsKKyAgICAg
ICAgY29uZmlndXJhdGlvblZhbHVlcy5hcHBlbmQoeyBBZG9wdFdLLCBXS0RpY3Rpb25hcnlDcmVh
dGUocmF3TG9jYWxLZXlzLmRhdGEoKSwgcmF3TG9jYWxWYWx1ZXMuZGF0YSgpLCByYXdMb2NhbEtl
eXMuc2l6ZSgpKSB9KTsKICAgICB9CiAKLSAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tTdHJpbmdS
ZWY+PiBjb25maWd1cmF0aW9uS2V5czsKLSAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVm
Pj4gY29uZmlndXJhdGlvblZhbHVlczsKLSAgICBjb25maWd1cmF0aW9uS2V5cy5hcHBlbmQoeyBB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiTG9jYWwiKSB9KTsKLSAgICBj
b25maWd1cmF0aW9uVmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShy
YXdMb2NhbEtleXMuZGF0YSgpLCByYXdMb2NhbFZhbHVlcy5kYXRhKCksIHJhd0xvY2FsS2V5cy5z
aXplKCkpIH0pOwotCiAgICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdDb25maWd1cmF0aW9uS2V5
czsKICAgICBWZWN0b3I8V0tUeXBlUmVmPiByYXdDb25maWd1cmF0aW9uVmFsdWVzOwogICAgIHJh
d0NvbmZpZ3VyYXRpb25LZXlzLnJlc2l6ZShjb25maWd1cmF0aW9uS2V5cy5zaXplKCkpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDZjMTc4NjMwODFlODk4NmE5MDVjMzZhYjBlYTkzYWE3MTA0MDVlNDEuLjczOTk2MDQ1ODk3
NDRlYWU0ZGZhZjc1YjNhNDk0YzY0NmViNzUyNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBAQAorMjAx
OC0wOS0yNyAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgorCisgICAgICAgIFtX
ZWJBdXRoTl0gUG9saXNoIFdlYkF1dGhOIGF1dG8tdGVzdCBlbnZpcm9ubWVudAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5MjgzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80NDExNzgyOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxvd2luZyBmZXcgdGhpbmdz
OgorICAgICAgICAxLiBVcGRhdGUgdGVzdHMgdGhhdCBlbXBsb3kgb2xkIG1vY2tpbmcgbWVjaG5p
c20gdG8gdGhlIG5ldyBvbmUuCisgICAgICAgIDIuIE1vdmUgdGVzdHMgZnJvbSBodHRwL3Rlc3Rz
L3dlYmF1dGhuIHRvIGh0dHAvd3B0L3dlYmF1dGhuLiBBcyBhIHJlc3VsdCwgd2UgaGF2ZSBvbmUg
dW5pZmllZCBwbGFjZSBmb3IKKyAgICAgICAgYWxsIFdlYkF1dGhOIHRlc3RzOiBodHRwL3dwdC93
ZWJhdXRobi4KKyAgICAgICAgMy4gQWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIERPTUV4
Y2VwdGlvbiBtZXNzYWdlIGFzIHdlbGwuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0
ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdp
dGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdp
bi13aXRoLWFuY2VzdG9ycy0yLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13
aXRoLWFuY2VzdG9ycy0yLmh0dHBzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3Rv
cnMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
YXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0
dHBzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJj
ZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL3V0aWwuanM6IFJlbW92ZWQuCisgICAgICAgICogaHR0
cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLXN0b3JlLWJh
c2ljcy5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL2lkbC5odHRwcy5o
dG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1j
cmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNy
ZWF0ZS1mYWlsdXJlLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVi
bGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwt
Y3JlYXRlLXN1Y2Nlc3MuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC93
ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0
ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0
aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5o
dHRwcy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBz
Lmh0bWwuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFs
LWdldC1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0
aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZh
aWx1cmUuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vz
cy5odHRwcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1Ymxp
Yy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWw6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlh
bC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbC4KKyAgICAgICAgKiBodHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNl
c3RvcnMuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJh
dXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0
cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2VzL2xh
c3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
YXV0aG4vcmVzb3VyY2VzL3NlY29uZC1sYXllci1mcmFtZS5odHRwcy5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxheWVy
LWZyYW1lLmh0dHBzLmh0bWwuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2Vz
L3V0aWwuanM6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOC0wOS0yNyAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24ocjIzNjUxMik6
IGZhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1hbmltYXRvci1vdmVybGF5LXNjcm9sbGJhcnMtY2xpY2tl
ZC5odG1sIGFuZCBlZGl0aW5nL3Bhc3RlYm9hcmQvZW1hY3MtY3RybC1hLWsteS5odG1sIGFyZSBm
bGFreQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzE2MWE4NGQ2OWZkNjcxNWJiYTZiY2IyYzIyYTY4
MjA1NGI3MmQ2NS4uOTQzODM4NjVhNGMwNjc4ODlhN2FmOWU4OWVlZmNjMTVjZWNhM2VhYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yODY1LDE0ICsyODY1LDYgQEAgZmFzdC9ncmFkaWVudHMvY29u
aWMtdHdvLWhpbnRzLmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzE4Nzc3MyBodHRwL3Rl
c3RzL3dlYkFQSVN0YXRpc3RpY3MgWyBTa2lwIF0KIAotIyBUZW1wb3JhcnkgZGlzYWJsZXMgb2xk
IFdlYkF1dGhOIHRlc3RzLCB3aWxsIGVpdGhlciByZWVuYWJsZSBvciByZW1vdmUgdGhlbSBpbiB3
ZWJraXQub3JnL2IvMTg5MjgzCi1odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVu
dGlhbHNjb250YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWh0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy5odG1s
IFsgU2tpcCBdCi1odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRl
LXN1Y2Nlc3MuaHR0cHMuaHRtbCBbIFNraXAgXQotaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWh0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRwcy5odG1sIFsgU2tp
cCBdCi1odHRwL3dwdC93ZWJhdXRobi9pZGwuaHR0cHMuaHRtbCBbIFNraXAgXQotCiB3ZWJraXQu
b3JnL2IvMTg5OTk3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX3RpbWluZy53b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQogCiAjIFRoaXMgaXMg
ZmFsbG91dCBmcm9tIHR1cm5pbmcgV2ViIEFuaW1hdGlvbnMgb24uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUt
d2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52
YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNmNlMWRmYmNlODY3ZTBjMDc1NTNkMzhkMjRmNzY4NTc2NWE3ZmE5ZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlk
LXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAs
MCBAQAotVGVzdHMgdGhhdCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB0aHJvd3Mg
VHlwZUVycm9yIHdoZW4gaW52YWxpZCBvcHRpb25zIGFyZSBwYXNzZWQuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5ycCBpcyByZXF1aXJlZCBhbmQgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBQdWJsaWNLZXlDcmVkZW50aWFsUnBFbnRpdHkuCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy51c2VyIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFB1YmxpY0tleUNy
ZWRlbnRpYWxVc2VyRW50aXR5LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGlu
dmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuY2hhbGxlbmdlIGlzIHJlcXVpcmVkIGFu
ZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIChBcnJheUJ1ZmZlclZpZXcgb3IgQXJyYXlCdWZmZXIp
LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxD
cmVhdGlvbk9wdGlvbnMucHViS2V5Q3JlZFBhcmFtcyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBzZXF1ZW5jZS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJl
ciBQdWJsaWNLZXlDcmVkZW50aWFsUnBFbnRpdHkubmFtZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBN
ZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFVzZXJFbnRpdHkubmFtZSBpcyByZXF1aXJlZCBhbmQg
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFVzZXJFbnRpdHkuaWQgaXMgcmVxdWlyZWQg
YW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgKEFycmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZl
cikuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlh
bFVzZXJFbnRpdHkuZGlzcGxheU5hbWUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgRE9NU3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFs
aWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1Ymxp
Y0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzLnR5cGUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMuYWxnIGlzIHJlcXVp
cmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIGxvbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IudHlwZSBpcyByZXF1
aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS4K
LVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsRGVz
Y3JpcHRvci5pZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiAoQXJyYXlC
dWZmZXJWaWV3IG9yIEFycmF5QnVmZmVyKS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENh
bm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIHN0cmluZy4KLVBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5n
LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVh
dGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBl
IGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25z
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRP
cHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBB
U1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3Ry
aW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wg
dG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVh
dGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBl
IGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25z
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRP
cHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQg
YSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUo
aW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBD
YW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIG51bWJlci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgbnVtYmVyLgotUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlv
bnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcu
Ci1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdp
dGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDVmMjRkNzNiMzFjMGFmYzIyN2FkODIyYWQ3NGNlYTI0ZDk5ZjdjMDIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1w
YXJhbWV0ZXJzLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMjMgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLSAgICBkZXNjcmlw
dGlvbigiVGVzdHMgdGhhdCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB0aHJvd3Mg
VHlwZUVycm9yIHdoZW4gaW52YWxpZCBvcHRpb25zIGFyZSBwYXNzZWQuIik7Ci0KLSAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgIGNvbnN0IHJwID0gewotICAgICAgICBuYW1lOiAiZXhh
bXBsZS5jb20iCi0gICAgfTsKLSAgICBjb25zdCB1c2VyID0gewotICAgICAgICBuYW1lOiAiSm9o
biBBcHBsZXNlZWQiLAotICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAot
ICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxlc2VlZCIKLSAgICB9OwotICAgIGNvbnN0IGNoYWxs
ZW5nZSA9IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKTsKLSAgICBjb25zdCBwdWJLZXlDcmVk
UGFyYW0gPSB7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9OwotICAgIGNvbnN0IGV4Y2x1
ZGVDcmVkZW50aWFscyA9IHsgdHlwZTogInB1YmxpYy1rZXkiLCBpZDogYXNjaWlUb1VpbnQ4QXJy
YXkoIjEyMzQ1NiIpIH07Ci0KLSAgICBjb25zdCBtaXNzaW5nQXR0cmlidXRlVmVjdG9yID0gWwot
ICAgICAgICAvLyBtaXNzaW5nIHRvcCBsZXZlbCBhdHRyaWJ1dGUKLSAgICAgICAgW3VuZGVmaW5l
ZCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdW5k
ZWZpbmVkLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB1c2Vy
LCB1bmRlZmluZWQsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFs
bGVuZ2UsIHVuZGVmaW5lZF0sCi0gICAgICAgIC8vIG1pc3NpbmcgcnAgYXR0cmlidXRlCi0gICAg
ICAgIFt7IG5hbWU6IHVuZGVmaW5lZCB9LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFy
YW1dXSwKLSAgICAgICAgLy8gbWlzc2luZyB1c2VyIGF0dHJpYnV0ZQotICAgICAgICBbcnAsIHsg
bmFtZTogdW5kZWZpbmVkLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5h
bWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6
IHVzZXIubmFtZSwgaWQ6IHVuZGVmaW5lZCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9
LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVz
ZXIubmFtZSwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1lOiB1bmRlZmluZWR9LCBjaGFsbGVuZ2Us
IFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgLy8gbWlzc2luZyBwdWJLZXlDcmVkUGFyYW1z
IGF0dHJpYnV0ZQotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogdW5kZWZp
bmVkLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNo
YWxsZW5nZSwgW3sgdHlwZTogcHViS2V5Q3JlZFBhcmFtLnR5cGUsIGFsZzogdW5kZWZpbmVkIH1d
XSwKLSAgICAgICAgLy8gbWlzc2luZyBleGNsdWRlQ3JlZGVudGlhbHMgYXR0cmlidXRlCi0gICAg
ICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBb
eyB0eXBlOiB1bmRlZmluZWQsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sg
dHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiB1bmRlZmluZWQgfV1dCi0gICAgXTsK
LQotICAgIGNvbnN0IHdyb25nVHlwZUF0dHJpYnV0ZVZlY3RvciA9IFsKLSAgICAgICAgLy8gd3Jv
bmcgcnAgYXR0cmlidXRlIHR5cGUKLSAgICAgICAgW3sgbmFtZTogU3ltYm9sKCkgfSwgdXNlciwg
Y2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFt7IG5hbWU6IHJwLm5hbWUs
IGljb246IFN5bWJvbCgpIH0sIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAot
ICAgICAgICBbeyBuYW1lOiBycC5uYW1lLCBpZDogU3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdl
LCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIC8vIHdyb25nIHVzZXIgYXR0cmlidXRlIHR5
cGUKLSAgICAgICAgW3JwLCB7IG5hbWU6IFN5bWJvbCgpLCBpZDogdXNlci5pZCwgZGlzcGxheU5h
bWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAg
ICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IDEsIGRpc3BsYXlOYW1lOiB1c2VyLmRp
c3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwg
eyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB0cnVlLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFt
ZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHsgbmFtZTog
dXNlci5uYW1lLCBpZDogbnVsbCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFs
bGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFt
ZSwgaWQ6IFN5bWJvbCgpLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5n
ZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBp
ZDogeyB9LCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogImZvbyIs
IGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBh
cmFtXV0sCi0gICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiBbIF0sIGRpc3BsYXlO
YW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0g
ICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTog
U3ltYm9sKCl9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7
IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlO
YW1lLCBpY29uOiBTeW1ib2woKX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAg
ICAgICAvLyB3cm9uZyBjaGFsbGVuZ2UgdHlwZQotICAgICAgICBbcnAsIHVzZXIsIDEsIFtwdWJL
ZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCB0cnVlLCBbcHViS2V5Q3JlZFBhcmFt
XV0sCi0gICAgICAgIFtycCwgdXNlciwgbnVsbCwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIFN5bWJvbCgpLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwg
dXNlciwgImZvbyIsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBbIF0s
IFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCB7IH0sIFtwdWJLZXlDcmVk
UGFyYW1dXSwKLSAgICAgICAgLy8gd3JvbmcgcHViS2V5Q3JlZFBhcmFtIHR5cGUKLSAgICAgICAg
W3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IDEsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFs
ZyB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiB0cnVlLCBhbGc6
IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwg
W3sgdHlwZTogbnVsbCwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKLSAgICAgICAgW3Jw
LCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IFN5bWJvbCgpLCBhbGc6IHB1YktleUNyZWRQYXJh
bS5hbGcgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogImZvbyIs
IGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxl
bmdlLCBbeyB0eXBlOiBbIF0sIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAgICAg
IFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiB7IH0sIGFsZzogcHViS2V5Q3JlZFBhcmFt
LmFsZyB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBwdWJLZXlD
cmVkUGFyYW0udHlwZSwgYWxnOiBTeW1ib2woKSB9XV0sCi0gICAgICAgIC8vIHdyb25nIHRpbWVv
dXQgdHlwZQotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0s
IFN5bWJvbCgpLCB1bmRlZmluZWRdLAotICAgICAgICAvLyB3cm9uZyBleGNsdWRlQ3JlZGVudGlh
bHMKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRl
ZmluZWQsIFt7IHR5cGU6IDEsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sg
dHlwZTogdHJ1ZSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCi0gICAgICAgIFtycCwg
dXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBu
dWxsLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBj
aGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IFN5bWJvbCgp
LCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFs
bGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6ICJmb28iLCBpZDog
ZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2Us
IFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IFsgXSwgaWQ6IGV4Y2x1ZGVD
cmVkZW50aWFscy5pZCB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5
Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiB7IH0sIGlkOiBleGNsdWRlQ3JlZGVudGlh
bHMuaWQgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiAxIH1d
XSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRl
ZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogdHJ1ZSB9XV0sCi0g
ICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVk
LCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IG51bGwgfV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sg
dHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiBTeW1ib2woKSB9XV0sCi0gICAgICAg
IFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0
eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6ICJmb28iIH1dXSwKLSAgICAgICAgW3Jw
LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6
IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogWyBdIH1dXSwKLSAgICAgICAgW3JwLCB1c2Vy
LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1
ZGVDcmVkZW50aWFscy50eXBlLCBpZDogeyB9IH1dXQotICAgIF0KLQotICAgIGZ1bmN0aW9uIG1h
a2VPcHRpb25zKGF0dHJpYnV0ZXMpCi0gICAgewotICAgICAgICBpZiAoYXR0cmlidXRlcy5sZW5n
dGggPT0gNCkKLSAgICAgICAgICAgIHJldHVybiB7IHB1YmxpY0tleTogeyBycDogYXR0cmlidXRl
c1swXSwgdXNlcjogYXR0cmlidXRlc1sxXSwgY2hhbGxlbmdlOiBhdHRyaWJ1dGVzWzJdLCBwdWJL
ZXlDcmVkUGFyYW1zOiBhdHRyaWJ1dGVzWzNdIH0gfTsKLSAgICAgICAgcmV0dXJuIHsgcHVibGlj
S2V5OiB7IHJwOiBhdHRyaWJ1dGVzWzBdLCB1c2VyOiBhdHRyaWJ1dGVzWzFdLCBjaGFsbGVuZ2U6
IGF0dHJpYnV0ZXNbMl0sIHB1YktleUNyZWRQYXJhbXM6IGF0dHJpYnV0ZXNbM10sIHRpbWVvdXQ6
IGF0dHJpYnV0ZXNbNF0sICBleGNsdWRlQ3JlZGVudGlhbHM6IGF0dHJpYnV0ZXNbNV19IH07Ci0g
ICAgfQotCi0gICAgZnVuY3Rpb24gcnVuVGVzdChhdHRyaWJ1dGVzVmVjdG9ycykgewotICAgICAg
ICBhdHRyaWJ1dGVzVmVjdG9ycy5mb3JFYWNoKGZ1bmN0aW9uKGF0dHJpYnV0ZXNWZWN0b3IpIHsK
LSAgICAgICAgICAgIGF0dHJpYnV0ZXNWZWN0b3IuZm9yRWFjaChhc3luYyBmdW5jdGlvbihhdHRy
aWJ1dGVzKSB7Ci0gICAgICAgICAgICAgICAgaW52YWxpZE9wdGlvbnMgPSBtYWtlT3B0aW9ucyhh
dHRyaWJ1dGVzKTsKLSAgICAgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoJ25hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpJyk7Ci0gICAgICAgICAgICB9KTsK
LSAgICAgICAgfSk7Ci0KLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfQotCi0gICAgY29u
c3QgdmVjdG9ycyA9IFtdOwotICAgIHZlY3RvcnMucHVzaChtaXNzaW5nQXR0cmlidXRlVmVjdG9y
KTsKLSAgICB2ZWN0b3JzLnB1c2god3JvbmdUeXBlQXR0cmlidXRlVmVjdG9yKTsKLSAgICBydW5U
ZXN0KHZlY3RvcnMpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQt
d2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxp
ZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggM2NjODY3Njg3ZmU1MjY2ZDUyY2FkOWQ3NzQ2NTdhNDVkY2YzN2RlYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFt
ZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAot
VGVzdHMgdGhhdCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB0aHJvd3MgVHlwZUVycm9y
IHdoZW4gaW52YWxpZCBvcHRpb25zIGFyZSBwYXNzZWQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KLQotCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVu
dGlhbFJlcXVlc3RPcHRpb25zLmNoYWxsZW5nZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiAoQXJyYXlCdWZmZXJWaWV3IG9yIEFycmF5QnVmZmVyKS4KLVBBU1MgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvci50eXBlIGlz
IHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFB1YmxpY0tleUNyZWRlbnRpYWxU
eXBlLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yLmlkIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIChBcnJh
eUJ1ZmZlclZpZXcgb3IgQXJyYXlCdWZmZXIpLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Z2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0
KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGlu
dmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEg
bnVtYmVyLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wg
dG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlv
bnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJv
bCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0
aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNT
IG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9u
cykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5h
dmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Z2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0
KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgt
aW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMu
aHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTZhOGNiNjYyNjI2MDlm
ZWI2MTRlM2M1NWY2N2Y3MTI4NWZjYjMyMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwv
aGVhZD4KLTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbZ2V0XV0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIGludmFsaWQgb3B0aW9u
cyBhcmUgcGFzc2VkLiIpOwotCi0gICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25z
dCBjaGFsbGVuZ2UgPSBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2Iik7Ci0gICAgY29uc3QgYWxs
b3dDcmVkZW50aWFsID0geyB0eXBlOiAicHVibGljLWtleSIsIGlkOiBhc2NpaVRvVWludDhBcnJh
eSgiMTIzNDU2IikgfTsKLQotICAgIGNvbnN0IG1pc3NpbmdBdHRyaWJ1dGVWZWN0b3IgPSBbCi0g
ICAgICAgIC8vIG1pc3NpbmcgdG9wIGxldmVsIGF0dHJpYnV0ZQotICAgICAgICBbdW5kZWZpbmVk
XSwKLSAgICAgICAgLy8gbWlzc2luZyBhbGxvd0NyZWRlbnRpYWxzIGF0dHJpYnV0ZQotICAgICAg
ICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogdW5kZWZpbmVkLCBp
ZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVk
LCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogdW5kZWZpbmVk
IH1dXQotICAgIF07Ci0KLSAgICBjb25zdCB3cm9uZ1R5cGVBdHRyaWJ1dGVWZWN0b3IgPSBbCi0g
ICAgICAgIC8vIHdyb25nIGNoYWxsZW5nZSB0eXBlCi0gICAgICAgIFsxXSwKLSAgICAgICAgW3Ry
dWVdLAotICAgICAgICBbbnVsbF0sCi0gICAgICAgIFtTeW1ib2woKV0sCi0gICAgICAgIFsiZm9v
Il0sCi0gICAgICAgIFtbIF1dLAotICAgICAgICBbeyB9XSwKLSAgICAgICAgLy8gd3JvbmcgdGlt
ZW91dCB0eXBlCi0gICAgICAgIFtjaGFsbGVuZ2UsIFN5bWJvbCgpLCB1bmRlZmluZWQsIHVuZGVm
aW5lZF0sCi0gICAgICAgIC8vIHdyb25nIHJwSWQgdHlwZQotICAgICAgICBbY2hhbGxlbmdlLCB1
bmRlZmluZWQsIFN5bWJvbCgpLCB1bmRlZmluZWRdLAotICAgICAgICAvLyB3cm9uZyBhbGxvd0Ny
ZWRlbnRpYWxzIHR5cGUKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQs
IFt7IHR5cGU6IDEsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAotICAgICAgICBbY2hhbGxl
bmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogdHJ1ZSwgaWQ6IGFsbG93Q3JlZGVu
dGlhbC5pZCB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBb
eyB0eXBlOiBudWxsLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAgW2NoYWxs
ZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IFN5bWJvbCgpLCBpZDogYWxsb3dD
cmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6ICJmb28iLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAg
W2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IFsgXSwgaWQ6IGFsbG93
Q3JlZGVudGlhbC5pZCB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCBbeyB0eXBlOiB7IH0sIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAotICAgICAgICBb
Y2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFs
LnR5cGUsIGlkOiAxIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogdHJ1ZSB9XV0sCi0gICAgICAg
IFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRp
YWwudHlwZSwgaWQ6IG51bGwgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVu
ZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiBTeW1ib2woKSB9XV0s
Ci0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxv
d0NyZWRlbnRpYWwudHlwZSwgaWQ6ICJmb28iIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5k
ZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogWyBd
IH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6
IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogeyB9IH1dXQotICAgIF07Ci0KLSAgICBmdW5jdGlv
biBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKQotICAgIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMu
bGVuZ3RoID09IDEpCi0gICAgICAgICAgICByZXR1cm4geyBwdWJsaWNLZXk6IHsgY2hhbGxlbmdl
OiBhdHRyaWJ1dGVzWzBdIH0gfTsKLSAgICAgICAgcmV0dXJuIHsgcHVibGljS2V5OiB7IGNoYWxs
ZW5nZTogYXR0cmlidXRlc1swXSwgdGltZW91dDogYXR0cmlidXRlc1sxXSwgcnBJZDogYXR0cmli
dXRlc1syXSwgYWxsb3dDcmVkZW50aWFsczogYXR0cmlidXRlc1szXSB9IH07Ci0gICAgfQotCi0g
ICAgZnVuY3Rpb24gcnVuVGVzdChhdHRyaWJ1dGVzVmVjdG9ycykgewotICAgICAgICBhdHRyaWJ1
dGVzVmVjdG9ycy5mb3JFYWNoKGZ1bmN0aW9uKGF0dHJpYnV0ZXNWZWN0b3IpIHsKLSAgICAgICAg
ICAgIGF0dHJpYnV0ZXNWZWN0b3IuZm9yRWFjaChhc3luYyBmdW5jdGlvbihhdHRyaWJ1dGVzKSB7
Ci0gICAgICAgICAgICAgICAgaW52YWxpZE9wdGlvbnMgPSBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVz
KTsKLSAgICAgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoJ25hdmlnYXRvci5jcmVkZW50
aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpJyk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7
Ci0KLSAgICAgICAgZmluaXNoSlNUZXN0KCk7Ci0gICAgfQotCi0gICAgY29uc3QgdmVjdG9ycyA9
IFtdOwotICAgIHZlY3RvcnMucHVzaChtaXNzaW5nQXR0cmlidXRlVmVjdG9yKTsKLSAgICB2ZWN0
b3JzLnB1c2god3JvbmdUeXBlQXR0cmlidXRlVmVjdG9yKTsKLSAgICBydW5UZXN0KHZlY3RvcnMp
OwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRo
LWFuY2VzdG9ycy0yLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3Jz
LTIuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzM0
YzRkOTY3NjE3M2Y3ZTYwOWRmNTE2ZDA2N2QyOTcwYWY2NTNiLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0
aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotVGVzdHMgdGhh
dCBhIGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRz
IGFuY2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KLQotCi1QQVNTIFRocm93IE5vdEFsbG93ZWRFcnJvciBmb3IgYm90aCBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSBhbmQgW1tnZXRdXS4KLVBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13
aXRoLWFuY2VzdG9ycy0yLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy0yLmh0
dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5MDExYTk4NTE4YzkxNjdk
NGJmZWU2ZmRkMGY2NmY5NTYwYjgxZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMtMi5odHRwcy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgZnJhbWUgdGhhdCBk
b2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNvdWxk
IG5vdCBhY2Nlc3MgdGhlIEFQSS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0K
LSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVzc2Fn
ZSwgZmFsc2UpOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFtZSBz
cmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2ViYXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXIt
ZnJhbWUuaHR0cHMuaHRtbCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1z
YW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13
aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDMzMzRjNGQ5Njc2MTczZjdlNjA5ZGY1MTZkMDY3ZDI5NzBhZjY1M2IuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNl
c3RvcnMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAot
VGVzdHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0
aCBhbGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuCi0KLU9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIFRocm93IE5vdEFsbG93ZWRFcnJvciBmb3IgYm90
aCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSBhbmQgW1tnZXRdXS4KLVBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1l
LW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3Rv
cnMuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjhjOTVjZjc2M2Y4
N2M5N2Y1OGIwYTJhNDE2NDc4NTBmMDEwZmVjZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1Ymxp
Yy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgot
ICAgIDxzY3JpcHQ+Ci0gICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGEgZnJhbWUgdGhh
dCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNv
dWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS4iKTsKLSAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7
Ci0KLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCByZWNlaXZlTWVz
c2FnZSwgZmFsc2UpOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFt
ZSBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2ViYXV0aG4vcmVzb3VyY2VzL3NlY29uZC1s
YXllci1mcmFtZS5odHRwcy5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5
ZXItZnJhbWUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVz
b3VyY2VzL2xhc3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNmQyNmU1NzNkNDM4OGE4YWIyNGJlZDE4NWJjMmM4ZmU5M2EwNWE5MC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9InV0aWwuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gbWVz
c2FnZVRvVG9wKG1lc3NhZ2VQcmVmaXgpIHsKLSAgICAgICAgdG9wLnBvc3RNZXNzYWdlKG1lc3Nh
Z2VQcmVmaXgsICJodHRwczovLzEyNy4wLjAuMTo4NDQzIik7Ci0gICAgfQotCi0gICAgY29uc3Qg
bWFrZU9wdGlvbnMgPSB7Ci0gICAgICAgIHB1YmxpY0tleTogewotICAgICAgICAgICAgcnA6IHsK
LSAgICAgICAgICAgICAgICBuYW1lOiAiZXhhbXBsZS5jb20iCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgdXNlcjogewotICAgICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIs
Ci0gICAgICAgICAgICAgICAgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAg
ICAgICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxlc2VlZCIsCi0gICAgICAgICAgICB9LAotICAg
ICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAg
ICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0K
LSAgICAgICAgfQotICAgIH07Ci0gICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB7Ci0gICAgICAg
IHB1YmxpY0tleTogewotICAgICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgi
MTIzNDU2IiksCi0gICAgICAgIH0KLSAgICB9OwotCi0gICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShtYWtlT3B0aW9ucykudGhlbigKLSAgICAgICAgZnVuY3Rpb24odmFsdWUpIHsKLSAg
ICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiQWNjZXNzIGdyYW50ZWQuICIgKyB2YWx1ZSk7Ci0gICAg
ICAgIH0sCi0gICAgICAgIGZ1bmN0aW9uKGV4Y2VwdGlvbikgewotICAgICAgICAgICAgaWYgKGV4
Y2VwdGlvbi5uYW1lID09ICJOb3RBbGxvd2VkRXJyb3IiKQotICAgICAgICAgICAgICAgIHJldHVy
biBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KHJlcXVlc3RPcHRpb25zKQotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiVGhyb3cgIiArIGV4Y2VwdGlvbi5u
YW1lICArICIuIik7Ci0gICAgICAgIH0KLSAgICApLnRoZW4oZnVuY3Rpb24odmFsdWUpIHsKLSAg
ICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiQWNjZXNzIGdyYW50ZWQuICIgKyB2YWx1ZSk7Ci0gICAg
ICAgIH0sCi0gICAgICAgIGZ1bmN0aW9uKGV4Y2VwdGlvbikgewotICAgICAgICAgICAgaWYgKGV4
Y2VwdGlvbi5uYW1lID09ICJOb3RBbGxvd2VkRXJyb3IiKQotICAgICAgICAgICAgICAgIG1lc3Nh
Z2VUb1RvcCgiUEFTUyBUaHJvdyBOb3RBbGxvd2VkRXJyb3IgZm9yIGJvdGggUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbY3JlYXRlXV0gYW5kIFtbZ2V0XV0uIik7Ci0gICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJUaHJvdyAiICsgZXhjZXB0aW9uLm5hbWUgICsg
Ii4iKTsKLSAgICB9KTsKLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL3NlY29uZC1sYXll
ci1mcmFtZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNv
dXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDNjZjE2MzBlNDBmNGNkMWI1YWVjM2FiNmJiOWRhNDRjY2VmMzc2MjcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08
aGVhZD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxpZnJhbWUgc3JjPSJsYXN0LWxheWVyLWZyYW1l
Lmh0dHBzLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL3V0aWwuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI3YjZmNGU4NDI0NDQ0YWU4NWY5MDdhNjVlMTMzYTUxOGEwZGRlNTYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qcworKysgL2Rldi9udWxsCkBA
IC0xLDE4ICswLDAgQEAKLWZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7Ci0gICAgaWYg
KGV2ZW50Lm9yaWdpbiA9PT0gImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiKSB7Ci0gICAgICAgIGlm
IChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MgIikgIT09IC0xKQotICAgICAgICAgICAgdGVzdFBh
c3NlZChldmVudC5kYXRhLnJlcGxhY2UoIlBBU1MgIiwgIiIpKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhKTsKLSAgICB9IGVsc2UKLSAgICAgICAgdGVz
dEZhaWxlZCgiUmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gYW4gdW5leHBlY3RlZCBvcmlnaW46ICIg
KyBldmVudC5vcmlnaW4pOwotICAgIGZpbmlzaEpTVGVzdCgpOwotfQotCi1mdW5jdGlvbiBhc2Np
aVRvVWludDhBcnJheShzdHIpCi17Ci0gICAgY29uc3QgY2hhcnMgPSBbXTsKLSAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkKLSAgICAgICAgY2hhcnMucHVzaChzdHIuY2hh
ckNvZGVBdChpKSk7Ci0gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGNoYXJzKTsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50
aWFsc2NvbnRhaW5lci1zdG9yZS1iYXNpY3MuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1zdG9yZS1iYXNp
Y3MuaHR0cHMuaHRtbAppbmRleCAyMzY5MTM1MGMwNWVjZTAwODdlNTJlY2RjODE4NGUwZGRmZGU3
OWU1Li5jNWRmMDI5ZDgxZTJmNWYwNDdiYWIzN2U0OTE1YmEzZjg1OWRlNTUxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNj
b250YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLXN0b3JlLWJhc2lj
cy5odHRwcy5odG1sCkBAIC0zLDYgKzMsMTEgQEAKIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CisgICAgY29uc3QgdGVzdEVTMjU2UHJp
dmF0ZUtleUJhc2U2NCA9CisgICAgICAgICJCRGovenhTa3pLZ2FCdVMzY2RXREY1NThvZjhBYUlw
Z0Zwc2pGL1FtMTc0OVZCSlBncVVJd2ZoV0hKOTFuYjdVIiArCisgICAgICAgICJQSDc2YzArV0ZP
elpLc2xQeXlGc2U0Z29HSVcyUjdrOVZITFBFWmw1bmZuQmdFVkZoNXpldisveHBIUUl2dXE2IiAr
CisgICAgICAgICJSUT09IjsKKyAgICBjb25zdCB0ZXN0UnBJZCA9ICJsb2NhbGhvc3QiOwogICAg
IGZ1bmN0aW9uIGFzY2lpVG9VaW50OEFycmF5KHN0cikKICAgICB7CiAgICAgICAgIHZhciBjaGFy
cyA9IFtdOwpAQCAtNDIsMTAgKzQ3LDE0IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAg
ICAgICAgIC8vIEEgbW9jayBhdHRlc3RhdGlvbiBvYmplY3QKLSAgICAgICAgaW50ZXJuYWxzLm1v
Y2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0Q3JlYXRpb25SZXR1cm5CdW5kbGUoaGV4U3Ry
aW5nVG9VaW50OEFycmF5KCcwMCcpLCBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAxJykpOworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFdl
YkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRpb24oeyBsb2NhbDogeyBhY2NlcHRBdXRoZW50
aWNhdGlvbjogdHJ1ZSwgYWNjZXB0QXR0ZXN0YXRpb246IHRydWUsIHByaXZhdGVLZXlCYXNlNjQ6
IHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQgfSB9KTsKICAgICAgICAgY29uc3QgY3JlZGVudGlh
bCA9IGF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyk7CiAKICAgICAg
ICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90U3VwcG9ydGVkRXJyb3IiLAotICAgICAg
ICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLnN0b3JlKGNyZWRlbnRpYWwpKTsKKyAgICAgICAg
ICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5zdG9yZShjcmVkZW50aWFsKSkudGhlbigoKSA9PiB7
CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFpbih0ZXN0UnBJZCk7CisgICAgICAgIH0pOwog
ICAgIH0sICJuYXZpZ2F0b3IuY3JlZGVudGlhbHMuc3RvcmUoKS4iKTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vaWRsLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9pZGwuaHR0cHMuaHRtbAppbmRleCA0Y2Y4Y2Fm
ZTI5Y2YzYWExMmQ4YzljZjUwZjI2YjJmODMxNDUxZWUxLi5hYjQxODI5Y2ZiM2Q5NDczM2U3MzEw
OGJkOWE2ZDViNTQ2MTcxNDhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJh
dXRobi9pZGwuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9p
ZGwuaHR0cHMuaHRtbApAQCAtMTksNiArMTksOSBAQAogPGRpdiBpZD0nbG9nJz48L2Rpdj4KIAog
PHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLnNldFdlYkF1
dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRpb24oeyBsb2NhbDogeyBhY2NlcHRBdXRoZW50aWNh
dGlvbjogdHJ1ZSwgYWNjZXB0QXR0ZXN0YXRpb246IHRydWUsIHByaXZhdGVLZXlCYXNlNjQ6IHRl
c3RFUzI1NlByaXZhdGVLZXlCYXNlNjQgfSB9KTsKKwogcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+
IHsKICAgICBjb25zdCBpZGxVUkwgPSBbIldlYkF1dGhOLmlkbCJdOwogICAgIGNvbnN0IGlkbEFy
cmF5ID0gbmV3IElkbEFycmF5KCk7CkBAIC00NCwxNSArNDcsMTMgQEAgcHJvbWlzZV90ZXN0KGFz
eW5jICgpID0+IHsKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB1c2VyOiB7CiAgICAgICAg
ICAgICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVkIiwKLSAgICAgICAgICAgICAgICBpZDogYXNj
aWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgICAgICAgICAgICAgIGlkOiBCYXNlNjRVUkwu
cGFyc2UodGVzdFVzZXJoYW5kbGVCYXNlNjQpLAogICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1l
OiAiQXBwbGVzZWVkIiwKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICBjaGFsbGVuZ2U6IEJh
c2U2NFVSTC5wYXJzZSgiTVRJek5EVTIiKSwKICAgICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6
IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9XSwKICAgICAgICAgfQogICAgIH07Ci0g
ICAgLy8gQSBtb2NrIGF0dGVzdGF0aW9uIG9iamVjdAotICAgIGludGVybmFscy5tb2NrQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yLnNldENyZWF0aW9uUmV0dXJuQnVuZGxlKGhleFN0cmluZ1RvVWlu
dDhBcnJheSgnMDAnKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMScpKTsKICAgICBjcmVhdGVk
Q3JlZGVudGlhbCA9IGF3YWl0IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoY3JlYXRpb25P
cHRpb25zKTsKIAogCkBAIC02MSwxMSArNjIsMTIgQEAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+
IHsKICAgICAgICAgICAgIGNoYWxsZW5nZTogQmFzZTY0VVJMLnBhcnNlKCJNVEl6TkRVMiIpLAog
ICAgICAgICB9CiAgICAgfTsKLSAgICAvLyBBIG1vY2sgYXNzZXJ0aW9uIHJldHVybiBidW5kbGUu
Ci0gICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0QXNzZXJ0aW9u
UmV0dXJuQnVuZGxlKGhleFN0cmluZ1RvVWludDhBcnJheSgnMDAnKSwgaGV4U3RyaW5nVG9VaW50
OEFycmF5KCcwMScpLCBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAyJyksIGhleFN0cmluZ1RvVWlu
dDhBcnJheSgnMDMnKSk7CiAgICAgcmVxdWVzdGVkQ3JlZGVudGlhbCA9IGF3YWl0IG5hdmlnYXRv
ci5jcmVkZW50aWFscy5nZXQocmVxdWVzdE9wdGlvbnMpOwogCiAgICAgaWRsQXJyYXkuYWRkX29i
amVjdHMoeyJQdWJsaWNLZXlDcmVkZW50aWFsIjogWyJjcmVhdGVkQ3JlZGVudGlhbCJdLCAiQXV0
aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2UiOiBbImNyZWF0ZWRDcmVkZW50aWFsLnJlc3Bv
bnNlIl0sICJBdXRoZW50aWNhdG9yQXNzZXJ0aW9uUmVzcG9uc2UiOiBbInJlcXVlc3RlZENyZWRl
bnRpYWwucmVzcG9uc2UiXX0pOwogICAgIGlkbEFycmF5LnRlc3QoKTsKKworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJw
SWQpOwogfSwgIlNldHVwIGZvciBXZWJBdXRoTiBBUEkgSURMIHRlc3RzLiIpOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2Nh
bC5odHRwcy5odG1sCmluZGV4IGFjM2E2MzYxMGNhMDY4MGNjMWI5ODRiZWQwMjczMWM4ZWZmNTA5
OGMuLjJiYzRkMWQxMzNmMTFkMWJmY2FjMWFmNzdhY2U1NTNhN2MyMTYzMDcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVh
dGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5o
dG1sCkBAIC0yMyw3ICsyMyw3IEBACiAgICAgICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczog
W3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC0zNSB9LCB7IHR5cGU6ICJwdWJsaWMta2V5Iiwg
YWxnOiAtMjU3IH1dLCAvLyBFUzM4NCwgUlMyNTYKICAgICAgICAgICAgIH0KICAgICAgICAgfTsK
LSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90U3VwcG9ydGVkRXJyb3IiLCBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVGhlIHBsYXRmb3JtIGF0dGFj
aGVkIGF1dGhlbnRpY2F0b3IgZG9lc24ndCBzdXBwb3J0IGFueSBwcm92aWRlZCBQdWJsaWNLZXlD
cmVkZW50aWFsUGFyYW1ldGVycy4iKTsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQs
ICJOb3RTdXBwb3J0ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9u
cyksICJUaGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvciBkb2Vzbid0IHN1cHBvcnQg
YW55IHByb3ZpZGVkIFB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzLiIpOwogICAgIH0sICJQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHVuc3VwcG9ydGVkIHB1YmxpYyBr
ZXkgY3JlZGVudGlhbCBwYXJhbWV0ZXJzIGluIGEgbW9jayBsb2NhbCBhdXRoZW50aWNhdG9yLiIp
OwogCiAgICAgcHJvbWlzZV90ZXN0KHQgPT4gewpAQCAtNDQsNyArNDQsNyBAQAogICAgICAgICB9
OwogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVy
LmFkZFRlc3RLZXlUb0tleWNoYWluKHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElk
LCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCk7Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHMo
dCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9u
cyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNs
dWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRv
ci4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RB
bGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQg
bGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRl
bnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhl
bigoKSA9PiB7CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJwSWQpOwogICAgICAgICB9KTsK
QEAgLTczLDcgKzczLDcgQEAKICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbih0ZXN0RVMy
NTZQcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJoYW5kbGVCYXNlNjQpOwotICAg
ICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwg
bWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBs
YXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CisgICAgICAgIHJl
dHVybiBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMg
YW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBh
dHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNo
YWluKHRlc3RScElkKTsKICAgICAgICAgfSk7CkBAIC05NCw3ICs5NCw3IEBACiAgICAgICAgICAg
ICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1d
CiAgICAgICAgICAgICB9CiAgICAgICAgIH07Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVj
dHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0
aW9ucyksICJDb3VsZG4ndCBnZXQgdXNlciBjb25zZW50LiIpOworICAgICAgICByZXR1cm4gcHJv
bWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5j
cmVhdGUob3B0aW9ucyksICJDb3VsZG4ndCBnZXQgdXNlciBjb25zZW50LiIpOwogICAgIH0sICJQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRob3V0IHVzZXIgY29uc2VudCBpbiBh
IG1vY2sgbG9jYWwgYXV0aGVudGljYXRvci4iKTsKIAogICAgIHByb21pc2VfdGVzdCh0ID0+IHsK
QEAgLTExNCw3ICsxMTQsNyBAQAogICAgICAgICB9OwogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0Nv
bmZpZ3VyYXRpb24oeyBsb2NhbDogeyBhY2NlcHRBdXRoZW50aWNhdGlvbjogdHJ1ZSwgYWNjZXB0
QXR0ZXN0YXRpb246IGZhbHNlLCBwcml2YXRlS2V5QmFzZTY0OiAiIiB9IH0pOwotICAgICAgICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJVbmtub3duRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVW5rbm93biBpbnRlcm5hbCBlcnJvci4iKTsKKyAgICAg
ICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJVbmtub3duRXJyb3IiLCBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVW5rbm93biBpbnRlcm5hbCBlcnJvci4iKTsKICAg
ICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aG91dCBhdHRlc3RhdGlv
biBpbiBhIG1vY2sgbG9jYWwgYXV0aGVudGljYXRvci4iKTsKIAogICAgIHByb21pc2VfdGVzdCh0
ID0+IHsKQEAgLTEzNiw3ICsxMzYsNyBAQAogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJB
dXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9uKHsgbG9jYWw6IHsgYWNjZXB0QXV0aGVudGlj
YXRpb246IHRydWUsIGFjY2VwdEF0dGVzdGF0aW9uOiBmYWxzZSwgcHJpdmF0ZUtleUJhc2U2NDog
IiIgfSB9KTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4odGVz
dEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2VyaGFuZGxlQmFzZTY0KTsK
ICAgICAgICAgfQotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJVbmtub3duRXJy
b3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVW5rbm93biBpbnRl
cm5hbCBlcnJvci4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3Rz
KHQsICJVbmtub3duRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMp
LCAiVW5rbm93biBpbnRlcm5hbCBlcnJvci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UodGVzdFJ1
bm5lci5rZXlFeGlzdHNJbktleWNoYWluKHRlc3RScElkLCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCkp
OwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3Jl
YXRlLWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGM0NzYxZjNmNGFjMjEyZmVmYzJj
OTA3Y2ExZWQwY2U3Mjk5NTUyOTYuLjA4MGQzY2VjODJhM2NiNWIwNTA0ZmVjNzU3ODQxYjk1MDRl
YmU2N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1m
YWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAKIAotUEFTUyBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHRpbWVvdXQgCiBQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggYSBtaXNtYXRjaGVkIFJQIElEIAogUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIGFuIGVtcHR5IHB1YktleUNyZWRQYXJh
bXMgCi1QQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggdXNlciBjYW5j
ZWxsYXRpb25zIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVy
ZS5odHRwcy5odG1sCmluZGV4IDQ1MDc3YTNjZjlkMzM3MWZlYzZmZjZiOGJkYTViMjdkMmQ4NDE2
ZDEuLmM1MjQ5NmM4NTM2YWZkZTM5YTVhNmEzMTE3N2JhZTU0YzFmY2JjNDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVh
dGUtZmFpbHVyZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy5odG1sCkBAIC00LDI3
ICs0LDMxIEBACiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0PgotICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGNvbnN0IG9w
dGlvbnMgPSB7Ci0gICAgICAgICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAgICAgICAgICBycDog
ewotICAgICAgICAgICAgICAgICAgICBuYW1lOiAiZXhhbXBsZS5jb20iCi0gICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICB1c2VyOiB7Ci0gICAgICAgICAgICAgICAgICAgIG5hbWU6
ICJKb2huIEFwcGxlc2VlZCIsCi0gICAgICAgICAgICAgICAgICAgIGlkOiBhc2NpaVRvVWludDhB
cnJheSgiMTIzNDU2IiksCi0gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAiSm9obiIs
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9V
aW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBb
eyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0sCi0gICAgICAgICAgICAgICAgdGltZW91
dDogMCwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0RGlkVGltZU91dCgpOworICAgIC8vIERlZmF1bHQg
bW9jayBjb25maWd1cmF0aW9uLiBUZXN0cyBuZWVkIHRvIG92ZXJyaWRlIGlmIHRoZXkgbmVlZCBk
aWZmZXJlbnQgY29uZmlndXJhdGlvbi4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHRlc3RSdW5uZXIuc2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbih7IH0p
OwogCi0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIs
Ci0gICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpKTsKLSAg
ICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB0aW1lb3V0Iik7Cisg
ICAgLy8gRklYTUUoMTg5NjQyKTogUmUtZW5hYmxlIHRoZSBmb2xsb3dpbmcgdGVzdC4KKyAgICAv
LyBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIC8vICAgICBjb25zdCBvcHRpb25zID0g
eworICAgIC8vICAgICAgICAgcHVibGljS2V5OiB7CisgICAgLy8gICAgICAgICAgICAgcnA6IHsK
KyAgICAvLyAgICAgICAgICAgICAgICAgbmFtZTogImV4YW1wbGUuY29tIgorICAgIC8vICAgICAg
ICAgICAgIH0sCisgICAgLy8gICAgICAgICAgICAgdXNlcjogeworICAgIC8vICAgICAgICAgICAg
ICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAorICAgIC8vICAgICAgICAgICAgICAgICBpZDog
YXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgIC8vICAgICAgICAgICAgICAgICBkaXNw
bGF5TmFtZTogIkpvaG4iLAorICAgIC8vICAgICAgICAgICAgIH0sCisgICAgLy8gICAgICAgICAg
ICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCisgICAgLy8gICAgICAg
ICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1d
LAorICAgIC8vICAgICAgICAgICAgIHRpbWVvdXQ6IDAsCisgICAgLy8gICAgICAgICB9CisgICAg
Ly8gICAgIH07CisgICAgLy8KKyAgICAvLyAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJO
b3RBbGxvd2VkRXJyb3IiLAorICAgIC8vICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShvcHRpb25zKSwgIk9wZXJhdGlvbiB0aW1lZCBvdXQuIik7CisgICAgLy8gfSwgIlB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggdGltZW91dCIpOwogCiAgICAgcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKQEAgLTQyLDgg
KzQ2LDkgQEAKICAgICAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVi
bGljLWtleSIsIGFsZzogLTcgfV0sCiAgICAgICAgICAgICB9CiAgICAgICAgIH07Ci0gICAgICAg
IHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIlNlY3VyaXR5RXJyb3IiLAotICAgICAgICAgICAg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSk7CisKKyAgICAgICAgcmV0dXJu
IHByb21pc2VSZWplY3RzKHQsICJTZWN1cml0eUVycm9yIiwKKyAgICAgICAgICAgIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJUaGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVu
dCBpcyBub3QgYSByZWdpc3RyYWJsZSBkb21haW4gc3VmZml4IG9mIHRoZSBwcm92aWRlZCBSUCBJ
RC4iKTsKICAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBhIG1p
c21hdGNoZWQgUlAgSUQiKTsKIAogICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CkBAIC02
MiwyOSArNjcsOCBAQAogICAgICAgICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFsgXSwKICAg
ICAgICAgICAgIH0KICAgICAgICAgfTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0
LCAiTm90U3VwcG9ydGVkRXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShvcHRpb25zKSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0
ZV1dIHdpdGggYW4gZW1wdHkgcHViS2V5Q3JlZFBhcmFtcyIpOwotCi0gICAgcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKLSAgICAgICAgICAgIHB1
YmxpY0tleTogewotICAgICAgICAgICAgICAgIHJwOiB7Ci0gICAgICAgICAgICAgICAgICAgIG5h
bWU6ICJsb2NhbGhvc3QiLAotICAgICAgICAgICAgICAgICAgICBpZDogImxvY2FsaG9zdCIKLSAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHVzZXI6IHsKLSAgICAgICAgICAgICAg
ICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVkIiwKLSAgICAgICAgICAgICAgICAgICAgaWQ6IGFz
Y2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAgICAgICAgICAgICAgZGlzcGxheU5h
bWU6ICJKb2huIiwKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGNoYWxsZW5n
ZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICAgICAgICAgIHB1YktleUNy
ZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9XSwKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfTsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3Iuc2V0RGlkVXNlckNhbmNlbCgpOwogCi0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVj
dHModCwgIk5vdEFsbG93ZWRFcnJvciIsCi0gICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKG9wdGlvbnMpKTsKLSAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3Jl
YXRlXV0gd2l0aCB1c2VyIGNhbmNlbGxhdGlvbnMiKTsKKyAgICAgICAgcmV0dXJuIHByb21pc2VS
ZWplY3RzKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsCisgICAgICAgICAgICBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiTm8gZGVzaXJlZCBwcm9wZXJ0aWVzIG9mIHRoZSB0
byBiZSBjcmVhdGVkIGNyZWRlbnRpYWwgYXJlIHByb3ZpZGVkLiIpOworICAgIH0sICJQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIGFuIGVtcHR5IHB1YktleUNyZWRQYXJhbXMi
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4v
cHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVh
dGUtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNhODY4NDA2YjU4MmY1MzRjOWQ2YTJiYjE1MTNlZmVkYjk0N2VkMTAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1QQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggbWluaW11bSBvcHRpb25zIAotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3Jl
YXRlLXN1Y2Nlc3MuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhYzU4NGEwMDExNzQwYmM2MDJhZTQzZGFkNzk0OWRjMWYzMzkz
ODdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3Vj
Y2Vzcy5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08dGl0bGU+V2ViIEF1dGhlbnRpY2F0aW9uIEFQSTogUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbY3JlYXRlXV0gc3VjY2VzcyBjYXNlcy48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgewotICAgICAgICBjb25zdCBvcHRpb25zID0gewotICAgICAgICAgICAgcHVibGljS2V5OiB7
Ci0gICAgICAgICAgICAgICAgcnA6IHsKLSAgICAgICAgICAgICAgICAgICAgbmFtZTogImxvY2Fs
aG9zdCIsCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB1c2VyOiB7Ci0gICAg
ICAgICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCi0gICAgICAgICAgICAgICAg
ICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAgICAgICAgICAgICAg
IGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIiwKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAg
ICAgICAgIGNoYWxsZW5nZTogQmFzZTY0VVJMLnBhcnNlKCJNVEl6TkRVMiIpLAotICAgICAgICAg
ICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9
XSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgLy8gQSBtb2NrIGF0dGVzdGF0
aW9uIG9iamVjdAotICAgICAgICBpbnRlcm5hbHMubW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRv
ci5zZXRDcmVhdGlvblJldHVybkJ1bmRsZShoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAwJyksIGhl
eFN0cmluZ1RvVWludDhBcnJheSgnMDEnKSk7Ci0KLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUob3B0aW9ucykudGhlbihmdW5jdGlvbihjcmVkZW50aWFsKSB7Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjcmVkZW50aWFsLmlkLCAnQUEnKTsKLSAgICAg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNyZWRlbnRpYWwudHlwZSwgJ3B1YmxpYy1rZXknKTsK
LSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVzVG9IZXhTdHJpbmcoY3JlZGVudGlh
bC5yYXdJZCksICcwMCcpOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0FT
Q0lJU3RyaW5nKGNyZWRlbnRpYWwucmVzcG9uc2UuY2xpZW50RGF0YUpTT04pLCAneyJ0eXBlIjoi
d2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiTVRJek5EVTIiLCJvcmlnaW4iOiJodHRwczov
L2xvY2FsaG9zdDo5NDQzIiwiaGFzaEFsZ29yaXRobSI6IlNIQS0yNTYifScpOwotICAgICAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hleFN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNl
LmF0dGVzdGF0aW9uT2JqZWN0KSwgJzAxJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93
cygiTm90U3VwcG9ydGVkRXJyb3IiLCAoKSA9PiB7IGNyZWRlbnRpYWwuZ2V0Q2xpZW50RXh0ZW5z
aW9uUmVzdWx0cygpIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRl
bnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggbWluaW11bSBvcHRpb25zIik7Ci08L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVu
dGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0
ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDU2NzMxYzQ2MDlkYzgzMjhlZDIzNDM0YjE5Y2I1ZTJkNGI1NjhmZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1j
cmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNTcgQEAKKworUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tj
cmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyIAorUEFTUyBQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzIAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiA0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA1IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA2IAorUEFTUyBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA3
IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxp
ZCBwYXJhbWV0ZXJzLiA4IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3
aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA5IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxMCAKK1BBU1MgUHVi
bGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVy
cy4gMTEgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBp
bnZhbGlkIHBhcmFtZXRlcnMuIDEyIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVh
dGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxMyAKK1BBU1MgUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTQgCitQ
QVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBh
cmFtZXRlcnMuIDE1IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxNiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdz
IFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTcgCitQQVNTIFB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMu
IDE4IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52
YWxpZCBwYXJhbWV0ZXJzLiAxOSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRl
XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjAgCitQQVNTIFB1YmxpY0tleUNyZWRl
bnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIxIAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJh
bWV0ZXJzLiAyMiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3
aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjMgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDI0IAorUEFTUyBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAy
NSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFs
aWQgcGFyYW1ldGVycy4gMjYgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1d
IHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDI3IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyOCAKK1BBU1Mg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1l
dGVycy4gMjkgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0
aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDMwIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tj
cmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzMSAKK1BBU1MgUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzIg
CitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlk
IHBhcmFtZXRlcnMuIDMzIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3
aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzNCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzUgCitQQVNTIFB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRl
cnMuIDM2IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGgg
aW52YWxpZCBwYXJhbWV0ZXJzLiAzNyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3Jl
YXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzggCitQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDM5IAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiA0MCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0
aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNDEgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQyIAorUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LiA0MyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gNDQgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0
ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQ1IAorUEFTUyBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0NiAKK1BB
U1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFy
YW1ldGVycy4gNDcgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGgg
d2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQ4IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0OSAKK1BBU1MgUHVibGlj
S2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4g
NTAgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZh
bGlkIHBhcmFtZXRlcnMuIDUxIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVd
XSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA1MiAKK1BBU1MgUHVibGljS2V5Q3JlZGVu
dGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNTMgCitQQVNT
IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFt
ZXRlcnMuIDU0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiA1NSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQt
cGFyYW1ldGVycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVi
bGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY0YzgzODYxNTAxNDBkZjlmMDM1OWExNzIxOTRlZmRkNmIxZmEwNDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMt
a2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwK
QEAgLTAsMCArMSwxMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPldlYiBBdXRoZW50aWNh
dGlvbiBBUEk6IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorICAgIGNvbnN0IHJwID0geworICAgICAgICBuYW1lOiAiZXhhbXBsZS5jb20i
CisgICAgfTsKKyAgICBjb25zdCB1c2VyID0geworICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNl
ZWQiLAorICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgICAgICBk
aXNwbGF5TmFtZTogIkFwcGxlc2VlZCIKKyAgICB9OworICAgIGNvbnN0IGNoYWxsZW5nZSA9IGFz
Y2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKTsKKyAgICBjb25zdCBwdWJLZXlDcmVkUGFyYW0gPSB7
IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9OworICAgIGNvbnN0IGV4Y2x1ZGVDcmVkZW50
aWFscyA9IHsgdHlwZTogInB1YmxpYy1rZXkiLCBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1
NiIpIH07CisKKyAgICBjb25zdCBtaXNzaW5nQXR0cmlidXRlVmVjdG9yID0gWworICAgICAgICAv
LyBtaXNzaW5nIHRvcCBsZXZlbCBhdHRyaWJ1dGUKKyAgICAgICAgW3VuZGVmaW5lZCwgdXNlciwg
Y2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdW5kZWZpbmVkLCBj
aGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCB1bmRlZmlu
ZWQsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIHVu
ZGVmaW5lZF0sCisgICAgICAgIC8vIG1pc3NpbmcgcnAgYXR0cmlidXRlCisgICAgICAgIFt7IG5h
bWU6IHVuZGVmaW5lZCB9LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAg
ICAgICAgLy8gbWlzc2luZyB1c2VyIGF0dHJpYnV0ZQorICAgICAgICBbcnAsIHsgbmFtZTogdW5k
ZWZpbmVkLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFs
bGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFt
ZSwgaWQ6IHVuZGVmaW5lZCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVu
Z2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwg
aWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1lOiB1bmRlZmluZWR9LCBjaGFsbGVuZ2UsIFtwdWJLZXlD
cmVkUGFyYW1dXSwKKyAgICAgICAgLy8gbWlzc2luZyBwdWJLZXlDcmVkUGFyYW1zIGF0dHJpYnV0
ZQorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogdW5kZWZpbmVkLCBhbGc6
IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwg
W3sgdHlwZTogcHViS2V5Q3JlZFBhcmFtLnR5cGUsIGFsZzogdW5kZWZpbmVkIH1dXSwKKyAgICAg
ICAgLy8gbWlzc2luZyBleGNsdWRlQ3JlZGVudGlhbHMgYXR0cmlidXRlCisgICAgICAgIFtycCwg
dXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiB1
bmRlZmluZWQsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhj
bHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiB1bmRlZmluZWQgfV1dCisgICAgXTsKKworICAgIGNv
bnN0IHdyb25nVHlwZUF0dHJpYnV0ZVZlY3RvciA9IFsKKyAgICAgICAgLy8gd3JvbmcgcnAgYXR0
cmlidXRlIHR5cGUKKyAgICAgICAgW3sgbmFtZTogU3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdl
LCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFt7IG5hbWU6IHJwLm5hbWUsIGljb246IFN5
bWJvbCgpIH0sIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBb
eyBuYW1lOiBycC5uYW1lLCBpZDogU3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5
Q3JlZFBhcmFtXV0sCisgICAgICAgIC8vIHdyb25nIHVzZXIgYXR0cmlidXRlIHR5cGUKKyAgICAg
ICAgW3JwLCB7IG5hbWU6IFN5bWJvbCgpLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IHVzZXIu
ZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3Jw
LCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IDEsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1l
fSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1
c2VyLm5hbWUsIGlkOiB0cnVlLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxs
ZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1l
LCBpZDogbnVsbCwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtw
dWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IFN5
bWJvbCgpLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogeyB9LCBk
aXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV1dLAorICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogImZvbyIsIGRpc3BsYXlO
YW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisg
ICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiBbIF0sIGRpc3BsYXlOYW1lOiB1c2Vy
LmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFty
cCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTogU3ltYm9sKCl9
LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVz
ZXIubmFtZSwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lLCBpY29u
OiBTeW1ib2woKX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICAvLyB3
cm9uZyBjaGFsbGVuZ2UgdHlwZQorICAgICAgICBbcnAsIHVzZXIsIDEsIFtwdWJLZXlDcmVkUGFy
YW1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCB0cnVlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAg
ICAgIFtycCwgdXNlciwgbnVsbCwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIFN5bWJvbCgpLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdXNlciwgImZv
byIsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBbIF0sIFtwdWJLZXlD
cmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCB7IH0sIFtwdWJLZXlDcmVkUGFyYW1dXSwK
KyAgICAgICAgLy8gd3JvbmcgcHViS2V5Q3JlZFBhcmFtIHR5cGUKKyAgICAgICAgW3JwLCB1c2Vy
LCBjaGFsbGVuZ2UsIFt7IHR5cGU6IDEsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisg
ICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiB0cnVlLCBhbGc6IHB1YktleUNy
ZWRQYXJhbS5hbGcgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTog
bnVsbCwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBj
aGFsbGVuZ2UsIFt7IHR5cGU6IFN5bWJvbCgpLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1d
LAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogImZvbyIsIGFsZzogcHVi
S2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0
eXBlOiBbIF0sIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwgdXNl
ciwgY2hhbGxlbmdlLCBbeyB0eXBlOiB7IH0sIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0s
CisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBwdWJLZXlDcmVkUGFyYW0u
dHlwZSwgYWxnOiBTeW1ib2woKSB9XV0sCisgICAgICAgIC8vIHdyb25nIHRpbWVvdXQgdHlwZQor
ICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIFN5bWJvbCgp
LCB1bmRlZmluZWRdLAorICAgICAgICAvLyB3cm9uZyBleGNsdWRlQ3JlZGVudGlhbHMKKyAgICAg
ICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7
IHR5cGU6IDEsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogdHJ1
ZSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hh
bGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBudWxsLCBpZDog
ZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2Us
IFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IFN5bWJvbCgpLCBpZDogZXhj
bHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtw
dWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6ICJmb28iLCBpZDogZXhjbHVkZUNy
ZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlD
cmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IFsgXSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFs
cy5pZCB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XSwgdW5kZWZpbmVkLCBbeyB0eXBlOiB7IH0sIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1d
LAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVm
aW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiAxIH1dXSwKKyAgICAg
ICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7
IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogdHJ1ZSB9XV0sCisgICAgICAgIFty
cCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBl
OiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IG51bGwgfV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhj
bHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiBTeW1ib2woKSB9XV0sCisgICAgICAgIFtycCwgdXNl
ciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNs
dWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6ICJmb28iIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBj
aGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVD
cmVkZW50aWFscy50eXBlLCBpZDogWyBdIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVu
Z2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50
aWFscy50eXBlLCBpZDogeyB9IH1dXQorICAgIF07CisKKyAgICBmdW5jdGlvbiBtYWtlT3B0aW9u
cyhhdHRyaWJ1dGVzKQorICAgIHsKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMubGVuZ3RoID09IDQp
CisgICAgICAgICAgICByZXR1cm4geyBwdWJsaWNLZXk6IHsgcnA6IGF0dHJpYnV0ZXNbMF0sIHVz
ZXI6IGF0dHJpYnV0ZXNbMV0sIGNoYWxsZW5nZTogYXR0cmlidXRlc1syXSwgcHViS2V5Q3JlZFBh
cmFtczogYXR0cmlidXRlc1szXSB9IH07CisgICAgICAgIHJldHVybiB7IHB1YmxpY0tleTogeyBy
cDogYXR0cmlidXRlc1swXSwgdXNlcjogYXR0cmlidXRlc1sxXSwgY2hhbGxlbmdlOiBhdHRyaWJ1
dGVzWzJdLCBwdWJLZXlDcmVkUGFyYW1zOiBhdHRyaWJ1dGVzWzNdLCB0aW1lb3V0OiBhdHRyaWJ1
dGVzWzRdLCAgZXhjbHVkZUNyZWRlbnRpYWxzOiBhdHRyaWJ1dGVzWzVdfSB9OworICAgIH0KKwor
ICAgIGxldCBpbmRleCA9IDE7CisgICAgZnVuY3Rpb24gcnVuVGVzdChhdHRyaWJ1dGVzVmVjdG9y
cykgeworICAgICAgICBhdHRyaWJ1dGVzVmVjdG9ycy5mb3JFYWNoKGZ1bmN0aW9uKGF0dHJpYnV0
ZXNWZWN0b3IpIHsKKyAgICAgICAgICAgIGF0dHJpYnV0ZXNWZWN0b3IuZm9yRWFjaChhc3luYyBm
dW5jdGlvbihhdHRyaWJ1dGVzKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCBu
ZXcgVHlwZUVycm9yKCksCisgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKG1ha2VPcHRpb25zKGF0dHJpYnV0ZXMpKSk7CisgICAgICAgICAgICAgICAg
fSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBh
cmFtZXRlcnMuICIgKyBpbmRleCk7CisgICAgICAgICAgICAgICAgaW5kZXggPSBpbmRleCArIDE7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgY29uc3QgdmVjdG9y
cyA9IFtdOworICAgIHZlY3RvcnMucHVzaChtaXNzaW5nQXR0cmlidXRlVmVjdG9yKTsKKyAgICB2
ZWN0b3JzLnB1c2god3JvbmdUeXBlQXR0cmlidXRlVmVjdG9yKTsKKyAgICBydW5UZXN0KHZlY3Rv
cnMpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFp
bHVyZS1sb2NhbC5odHRwcy5odG1sCmluZGV4IDM5NTRhMDY2YjExZjE2ODdiYTY3ZGNiY2MxYmIy
Y2Q5MWNiMmI4MmMuLjdmNGRkOTY5ODM4ZTAyNGRjZTE1MGZhNTAwYjhlYzQ4NTNiZWM2NzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVu
dGlhbC1nZXQtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS1sb2NhbC5odHRw
cy5odG1sCkBAIC0yMSw3ICsyMSw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAKLSAg
ICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSwgIk5vIG1hdGNoZWQgY3JlZGVudGlhbHMgYXJl
IGZvdW5kIGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpOworICAgICAg
ICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5j
cmVkZW50aWFscy5nZXQob3B0aW9ucyksICJObyBtYXRjaGVkIGNyZWRlbnRpYWxzIGFyZSBmb3Vu
ZCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKTsKICAgICB9LCAiUHVi
bGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCBubyBtYXRjaGVkIGNyZWRlbnRpYWxzIGlu
IGEgbW9jayBsb2NhbCBhdXRoZW50aWNhdG9yLiIpOwogCiAgICAgcHJvbWlzZV90ZXN0KHQgPT4g
ewpAQCAtMzYsNyArMzYsNyBAQAogCiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0
ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2VyaGFuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0
dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldChvcHRpb25zKSwgIk5vIG1hdGNoZWQgY3JlZGVudGlhbHMgYXJlIGZvdW5kIGlu
IHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4geworICAg
ICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJObyBtYXRjaGVkIGNyZWRlbnRpYWxzIGFyZSBm
b3VuZCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+
IHsKICAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElkKTsKICAgICAgICAgICAg
IH0pOwpAQCAtNTEsNyArNTEsNyBAQAogCiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJp
dmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2VyaGFuZGxlQmFzZTY0KTsKLSAgICAgICAg
cmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmdldChvcHRpb25zKSwgIkNvdWxkbid0IGdldCB1c2VyIGNvbnNlbnQuIikudGhl
bigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVy
cm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSwgIkNvdWxkbid0IGdldCB1
c2VyIGNvbnNlbnQuIikudGhlbigoKSA9PiB7CiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJw
SWQpOwogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0
LWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDJlODgwY2ZiN2E1ZjkzYTEzOGUxZTFj
MmJmZDI4ZDBhOGYyZDI3NWYuLmRjMGI5MTdlMzBjMWY2YjRkYjRiNzZhYTkyZjIwNjhjY2IxN2Y2
MjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKIAotUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tnZXRdXSB3aXRoIHRpbWVvdXQgCiBQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2dldF1dIHdpdGggYSBtaXNtYXRjaGVkIFJQIElEIAotUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tnZXRdXSB3aXRoIHVzZXIgY2FuY2VsbGF0aW9ucyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJl
Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMuaHRtbAppbmRleCAwZDRjMDQ1MjU2NzAzNTJlZjM3
Yzg3ZjYwZGYyMzMyMWMzZGU3MmEzLi5jZTVlMjhiYzcxY2MxYzA4YjE3YmRlOWU2NzM4YTUwZTAx
MDViNGQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMt
a2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMu
aHRtbApAQCAtNCwxOCArNCwyMiBAQAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdD4KLSAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAg
ICAgICBjb25zdCBvcHRpb25zID0gewotICAgICAgICAgICAgcHVibGljS2V5OiB7Ci0gICAgICAg
ICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAg
ICAgICAgICAgdGltZW91dDogMCwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAg
aW50ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0RGlkVGltZU91dCgpOwor
ICAgIC8vIERlZmF1bHQgbW9jayBjb25maWd1cmF0aW9uLiBUZXN0cyBuZWVkIHRvIG92ZXJyaWRl
IGlmIHRoZXkgbmVlZCBkaWZmZXJlbnQgY29uZmlndXJhdGlvbi4KKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuc2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29u
ZmlndXJhdGlvbih7IH0pOwogCi0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5v
dEFsbG93ZWRFcnJvciIsCi0gICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9w
dGlvbnMpKTsKLSAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB0aW1l
b3V0Iik7CisgICAgLy8gRklYTUUoMTg5NjQyKTogUmUtZW5hYmxlIHRoZSBmb2xsb3dpbmcgdGVz
dC4KKyAgICAvLyBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIC8vICAgICBjb25zdCBv
cHRpb25zID0geworICAgIC8vICAgICAgICAgcHVibGljS2V5OiB7CisgICAgLy8gICAgICAgICAg
ICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCisgICAgLy8gICAgICAg
ICAgICAgdGltZW91dDogMCwKKyAgICAvLyAgICAgICAgIH0KKyAgICAvLyAgICAgfTsKKyAgICAv
LworICAgIC8vICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIs
CisgICAgLy8gICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiT3Bl
cmF0aW9uIHRpbWVkIG91dC4iKTsKKyAgICAvLyB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtb
Z2V0XV0gd2l0aCB0aW1lb3V0Iik7CiAKICAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewog
ICAgICAgICBjb25zdCBvcHRpb25zID0gewpAQCAtMjQsMjAgKzI4LDcgQEAKICAgICAgICAgICAg
ICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKICAgICAgICAgICAg
IH0KICAgICAgICAgfTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiU2VjdXJp
dHlFcnJvciIsCi0gICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMp
KTsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJTZWN1cml0eUVycm9yIiwKKyAg
ICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJUaGUgb3JpZ2lu
IG9mIHRoZSBkb2N1bWVudCBpcyBub3QgYSByZWdpc3RyYWJsZSBkb21haW4gc3VmZml4IG9mIHRo
ZSBwcm92aWRlZCBSUCBJRC4iKTsKICAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0
XV0gd2l0aCBhIG1pc21hdGNoZWQgUlAgSUQiKTsKLQotICAgIHByb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7Ci0gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICAgICAgICBwdWJsaWNLZXk6
IHsKLSAgICAgICAgICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYi
KSwKLSAgICAgICAgICAgICAgICBhbGxvd0NyZWRlbnRpYWxzOiBbeyB0eXBlOiAicHVibGljLWtl
eSIsIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IikgfV0sCi0gICAgICAgICAgICB9Ci0g
ICAgICAgIH07Ci0gICAgICAgIGludGVybmFscy5tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
LnNldERpZFVzZXJDYW5jZWwoKTsKLQotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQs
ICJOb3RBbGxvd2VkRXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdl
dChvcHRpb25zKSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGgg
dXNlciBjYW5jZWxsYXRpb25zIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA3OGQ1MzcwOTQyM2FlMDVkNDM5M2YzOWVkNjFiOWRjNGU5YWM3MGI4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5o
dHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLQotUEFTUyBQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIG1pbmltdW0gb3B0aW9ucyAKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWdldC1zdWNjZXNzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDY2NGIxYzg2NDhhMmM5NzQ1YjdiMDdhNDYwMmMxNTUyZmRm
Y2NiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nl
c3MuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPHRpdGxlPldlYiBBdXRoZW50aWNhdGlvbiBBUEk6IFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2dldF1dIHN1Y2Nlc3MgY2FzZXMuPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgLy8gVGhlIGZvbGxvd2luZyB0ZXN0IGlzIHNw
ZWNpZmljYWxseSB0dW5lZCBmb3IgY3VycmVudCBkdW1teSBhdXRoZW50aWNhdG9yLgotICAgIHBy
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAg
ICAgICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAgICAgICAgICBjaGFsbGVuZ2U6IEJhc2U2NFVS
TC5wYXJzZSgiTVRJek5EVTIiKSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAg
Ly8gQSBtb2NrIGFzc2VydGlvbiByZXR1cm4gYnVuZGxlLgotICAgICAgICBpbnRlcm5hbHMubW9j
a0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5zZXRBc3NlcnRpb25SZXR1cm5CdW5kbGUoaGV4U3Ry
aW5nVG9VaW50OEFycmF5KCcwMCcpLCBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAxJyksIGhleFN0
cmluZ1RvVWludDhBcnJheSgnMDInKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMycpKTsKLQot
ICAgICAgICByZXR1cm4gbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKS50aGVuKGZ1
bmN0aW9uKGNyZWRlbnRpYWwpIHsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY3JlZGVudGlh
bC5pZCwgJ0FBJyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNyZWRlbnRpYWwudHlwZSwg
J3B1YmxpYy1rZXknKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hleFN0cmlu
ZyhjcmVkZW50aWFsLnJhd0lkKSwgJzAwJyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5
dGVzVG9BU0NJSVN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNlLmNsaWVudERhdGFKU09OKSwgJ3si
dHlwZSI6IndlYmF1dGhuLmdldCIsImNoYWxsZW5nZSI6Ik1USXpORFUyIiwib3JpZ2luIjoiaHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0MyIsImhhc2hBbGdvcml0aG0iOiJTSEEtMjU2In0nKTsKLSAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hleFN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNl
LmF1dGhlbnRpY2F0b3JEYXRhKSwgJzAxJyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5
dGVzVG9IZXhTdHJpbmcoY3JlZGVudGlhbC5yZXNwb25zZS5zaWduYXR1cmUpLCAnMDInKTsKLSAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hleFN0cmluZyhjcmVkZW50aWFsLnJlc3Bv
bnNlLnVzZXJIYW5kbGUpLCAnMDMnKTsKLSAgICAgICAgICAgIGFzc2VydF90aHJvd3MoIk5vdFN1
cHBvcnRlZEVycm9yIiwgKCkgPT4geyBjcmVkZW50aWFsLmdldENsaWVudEV4dGVuc2lvblJlc3Vs
dHMoKSB9KTsKLSAgICAgICAgfSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dl
dF1dIHdpdGggbWluaW11bSBvcHRpb25zIik7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1p
bnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1l
dGVycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ1YzkxZmU5YTc2Yzc1MTcxNzQ4
MjAyYzhhNGFmZWE3N2E0NGJhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFt
ZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKKworUEFTUyBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxIAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJh
bWV0ZXJzLiAyIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGgg
aW52YWxpZCBwYXJhbWV0ZXJzLiAzIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRd
XSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA1IAorUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA2
IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiA3IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiA4IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tn
ZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA5IAorUEFTUyBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxMCAKK1BBU1Mg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVy
cy4gMTEgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZh
bGlkIHBhcmFtZXRlcnMuIDEyIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3
aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxMyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTQgCitQQVNTIFB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE1
IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiAxNiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3
aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTcgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE4IAorUEFTUyBQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxOSAKK1BB
U1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1l
dGVycy4gMjAgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBp
bnZhbGlkIHBhcmFtZXRlcnMuIDIxIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRd
XSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyMiAKK1BBU1MgUHVibGljS2V5Q3JlZGVu
dGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjMgCitQQVNTIFB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMu
IDI0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxp
ZCBwYXJhbWV0ZXJzLiAyNSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0
aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjYgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlk
LXBhcmFtZXRlcnMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mYWNkNjkwY2UwYTRlOWU2ZTlhNzY4ODAxM2UwZThlM2U3OTYzOTYyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sCkBAIC0w
LDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPldlYiBBdXRoZW50aWNhdGlvbiBB
UEk6IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorICAgIGNvbnN0IGNoYWxsZW5nZSA9IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKTsKKyAg
ICBjb25zdCBhbGxvd0NyZWRlbnRpYWwgPSB7IHR5cGU6ICJwdWJsaWMta2V5IiwgaWQ6IGFzY2lp
VG9VaW50OEFycmF5KCIxMjM0NTYiKSB9OworCisgICAgY29uc3QgbWlzc2luZ0F0dHJpYnV0ZVZl
Y3RvciA9IFsKKyAgICAgICAgLy8gbWlzc2luZyB0b3AgbGV2ZWwgYXR0cmlidXRlCisgICAgICAg
IFt1bmRlZmluZWRdLAorICAgICAgICAvLyBtaXNzaW5nIGFsbG93Q3JlZGVudGlhbHMgYXR0cmli
dXRlCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiB1
bmRlZmluZWQsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAorICAgICAgICBbY2hhbGxlbmdl
LCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlk
OiB1bmRlZmluZWQgfV1dCisgICAgXTsKKworICAgIGNvbnN0IHdyb25nVHlwZUF0dHJpYnV0ZVZl
Y3RvciA9IFsKKyAgICAgICAgLy8gd3JvbmcgY2hhbGxlbmdlIHR5cGUKKyAgICAgICAgWzFdLAor
ICAgICAgICBbdHJ1ZV0sCisgICAgICAgIFtudWxsXSwKKyAgICAgICAgW1N5bWJvbCgpXSwKKyAg
ICAgICAgWyJmb28iXSwKKyAgICAgICAgW1sgXV0sCisgICAgICAgIFt7IH1dLAorICAgICAgICAv
LyB3cm9uZyB0aW1lb3V0IHR5cGUKKyAgICAgICAgW2NoYWxsZW5nZSwgU3ltYm9sKCksIHVuZGVm
aW5lZCwgdW5kZWZpbmVkXSwKKyAgICAgICAgLy8gd3JvbmcgcnBJZCB0eXBlCisgICAgICAgIFtj
aGFsbGVuZ2UsIHVuZGVmaW5lZCwgU3ltYm9sKCksIHVuZGVmaW5lZF0sCisgICAgICAgIC8vIHdy
b25nIGFsbG93Q3JlZGVudGlhbHMgdHlwZQorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQs
IHVuZGVmaW5lZCwgW3sgdHlwZTogMSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCisgICAg
ICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiB0cnVlLCBpZDog
YWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1
bmRlZmluZWQsIFt7IHR5cGU6IG51bGwsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAorICAg
ICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogU3ltYm9sKCks
IGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmlu
ZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogImZvbyIsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1d
LAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogWyBd
LCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IHsgfSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0s
CisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxv
d0NyZWRlbnRpYWwudHlwZSwgaWQ6IDEgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmlu
ZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiB0cnVlIH1d
XSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFs
bG93Q3JlZGVudGlhbC50eXBlLCBpZDogbnVsbCB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVu
ZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IFN5
bWJvbCgpIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7
IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogImZvbyIgfV1dLAorICAgICAgICBbY2hh
bGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5
cGUsIGlkOiBbIF0gfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5l
ZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiB7IH0gfV1dCisgICAgXTsKKwor
ICAgIGZ1bmN0aW9uIG1ha2VPcHRpb25zKGF0dHJpYnV0ZXMpCisgICAgeworICAgICAgICBpZiAo
YXR0cmlidXRlcy5sZW5ndGggPT0gMSkKKyAgICAgICAgICAgIHJldHVybiB7IHB1YmxpY0tleTog
eyBjaGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMF0gfSB9OworICAgICAgICByZXR1cm4geyBwdWJsaWNL
ZXk6IHsgY2hhbGxlbmdlOiBhdHRyaWJ1dGVzWzBdLCB0aW1lb3V0OiBhdHRyaWJ1dGVzWzFdLCBy
cElkOiBhdHRyaWJ1dGVzWzJdLCBhbGxvd0NyZWRlbnRpYWxzOiBhdHRyaWJ1dGVzWzNdIH0gfTsK
KyAgICB9CisKKyAgICBsZXQgaW5kZXggPSAxOworICAgIGZ1bmN0aW9uIHJ1blRlc3QoYXR0cmli
dXRlc1ZlY3RvcnMpIHsKKyAgICAgICAgYXR0cmlidXRlc1ZlY3RvcnMuZm9yRWFjaChmdW5jdGlv
bihhdHRyaWJ1dGVzVmVjdG9yKSB7CisgICAgICAgICAgICBhdHRyaWJ1dGVzVmVjdG9yLmZvckVh
Y2goYXN5bmMgZnVuY3Rpb24oYXR0cmlidXRlcykgeworICAgICAgICAgICAgICAgIHByb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlX3Jl
amVjdHModCwgbmV3IFR5cGVFcnJvcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmdldChtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKSkpOworICAgICAgICAg
ICAgICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxp
ZCBwYXJhbWV0ZXJzLiAiICsgaW5kZXgpOworICAgICAgICAgICAgICAgIGluZGV4ID0gaW5kZXgg
KyAxOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIGNvbnN0IHZl
Y3RvcnMgPSBbXTsKKyAgICB2ZWN0b3JzLnB1c2gobWlzc2luZ0F0dHJpYnV0ZVZlY3Rvcik7Cisg
ICAgdmVjdG9ycy5wdXNoKHdyb25nVHlwZUF0dHJpYnV0ZVZlY3Rvcik7CisgICAgcnVuVGVzdCh2
ZWN0b3JzKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
YXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGNkMzc3ZjVkNTdjOTU3MTg3ZTU5NmRiMjkxMzJiZWUyYmU1ZDBjNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACisgIAorCitQQVNTIFRlc3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRv
ZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGggYWxsIGl0cyBhbmNlc3RvcnMgY291bGQg
bm90IGFjY2VzcyB0aGUgQVBJLiAKK1BBU1MgVGVzdHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9lc24n
dCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBub3Qg
YWNjZXNzIHRoZSBBUEkuIDIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjFmMTQ3YjI0ZGIxNWM4M2Y4OWIzZjIxNTVhMGI1Zjk3MjEwOWRiZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1z
YW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
CisgICAgPHRpdGxlPldlYiBBdXRoZW50aWNhdGlvbiBBUEk6IFRlc3RzIHRoYXQgYSBmcmFtZSB0
aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGggYWxsIGl0cyBhbmNlc3RvcnMg
Y291bGQgbm90IGFjY2VzcyB0aGUgQVBJLjwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2Nv
bW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAg
IHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICAgICAgICAgIHJldHVybiB3aXRoQ3Jvc3NPcmlnaW5J
ZnJhbWUoImxhc3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbCIpLnRoZW4oKG1lc3NhZ2UpID0+IHsK
KyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YSwgIlBBU1MuIik7Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfSwgIlRlc3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNu
J3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGggYWxsIGl0cyBhbmNlc3RvcnMgY291bGQgbm90
IGFjY2VzcyB0aGUgQVBJLiIpOworCisgICAgICAgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICAg
ICAgICAgIHJldHVybiB3aXRoQ3Jvc3NPcmlnaW5JZnJhbWUoInNlY29uZC1sYXllci1mcmFtZS5o
dHRwcy5odG1sIikudGhlbigobWVzc2FnZSkgPT4geworICAgICAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMobWVzc2FnZS5kYXRhLCAiUEFTUy4iKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
LCAiVGVzdHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4g
d2l0aCBhbGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuIDIiKTsKKyAg
ICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNGRhNGNkNWMyMmQzZTZlZWIxNTE5MzU4YzQ0YTYxZTE1
YjgwZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9y
ZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzxz
Y3JpcHQgc3JjPSIuL3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIG1lc3Nh
Z2VUb1RvcChtZXNzYWdlKSB7CisgICAgdG9wLnBvc3RNZXNzYWdlKG1lc3NhZ2UsICIqIik7Cit9
CisKK2NvbnN0IG1ha2VPcHRpb25zID0geworICAgIHB1YmxpY0tleTogeworICAgICAgICBycDog
eworICAgICAgICAgICAgbmFtZTogImV4YW1wbGUuY29tIgorICAgICAgICB9LAorICAgICAgICB1
c2VyOiB7CisgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAorICAgICAgICAgICAg
aWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKKyAgICAgICAgICAgIGRpc3BsYXlOYW1l
OiAiQXBwbGVzZWVkIiwKKyAgICAgICAgfSwKKyAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWlu
dDhBcnJheSgiMTIzNDU2IiksCisgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJw
dWJsaWMta2V5IiwgYWxnOiAtNyB9XQorICAgIH0KK307Citjb25zdCByZXF1ZXN0T3B0aW9ucyA9
IHsKKyAgICBwdWJsaWNLZXk6IHsKKyAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJh
eSgiMTIzNDU2IiksCisgICAgfQorfTsKKworCituYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRl
KG1ha2VPcHRpb25zKS50aGVuKAorICAgIGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICAgIG1lc3Nh
Z2VUb1RvcCgiQWNjZXNzIGdyYW50ZWQuICIgKyB2YWx1ZSk7CisgICAgfSwKKyAgICBmdW5jdGlv
bihleGNlcHRpb24pIHsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbi5uYW1lID09ICJOb3RBbGxvd2Vk
RXJyb3IiICYmIGV4Y2VwdGlvbi5tZXNzYWdlID09ICJUaGUgb3JpZ2luIG9mIHRoZSBkb2N1bWVu
dCBpcyBub3QgdGhlIHNhbWUgYXMgaXRzIGFuY2VzdG9ycy4iKQorICAgICAgICAgICAgcmV0dXJu
IG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQocmVxdWVzdE9wdGlvbnMpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBtZXNzYWdlVG9Ub3AoIlRocm93ICIgKyBleGNlcHRpb24ubmFtZSAgKyAi
LiIpOworICAgIH0KKykudGhlbihmdW5jdGlvbih2YWx1ZSkgeworICAgICAgICBtZXNzYWdlVG9U
b3AoIkFjY2VzcyBncmFudGVkLiAiICsgdmFsdWUpOworICAgIH0sCisgICAgZnVuY3Rpb24oZXhj
ZXB0aW9uKSB7CisgICAgICAgIGlmIChleGNlcHRpb24ubmFtZSA9PSAiTm90QWxsb3dlZEVycm9y
IiAmJiBleGNlcHRpb24ubWVzc2FnZSA9PSAiVGhlIG9yaWdpbiBvZiB0aGUgZG9jdW1lbnQgaXMg
bm90IHRoZSBzYW1lIGFzIGl0cyBhbmNlc3RvcnMuIikKKyAgICAgICAgICAgIG1lc3NhZ2VUb1Rv
cCgiUEFTUy4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJUaHJv
dyAiICsgZXhjZXB0aW9uLm5hbWUgICsgIi4iKTsKKyAgICB9CispOworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxh
eWVyLWZyYW1lLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNv
dXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NmMTYzMGU0
MGY0Y2QxYjVhZWMzYWI2YmI5ZGE0NGNjZWYzNzYyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0
cHMuaHRtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxpZnJhbWUgc3JjPSJsYXN0LWxheWVyLWZyYW1lLmh0dHBz
Lmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2VzL3V0aWwuanMgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qcwppbmRleCAxMjBmOTBkZjgyNDhiNzYxNzVi
ODE5NmRiMzk4MDc0ZWRmNzY5ZDNiLi4xZTA2NDlmZWJiMTI1OTc1NDkzN2E4N2E2YWViNDI2NjY1
MmVkZjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJj
ZXMvdXRpbC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMv
dXRpbC5qcwpAQCAtMSwzICsxLDE2IEBACitjb25zdCB0ZXN0Q3JlZGVudGlhbElkQmFzZTY0dXJs
ID0gIlNNU1hIbmdGN2hFT3NFbEE3M0MzUlktOGJSNCI7Citjb25zdCB0ZXN0RVMyNTZQcml2YXRl
S2V5QmFzZTY0ID0KKyAgICAiQkRqL3p4U2t6S2dhQnVTM2NkV0RGNTU4b2Y4QWFJcGdGcHNqRi9R
bTE3NDlWQkpQZ3FVSXdmaFdISjkxbmI3VSIgKworICAgICJQSDc2YzArV0ZPelpLc2xQeXlGc2U0
Z29HSVcyUjdrOVZITFBFWmw1bmZuQmdFVkZoNXpldisveHBIUUl2dXE2IiArCisgICAgIlJRPT0i
OworY29uc3QgdGVzdEVTMjU2UHVibGljS2V5QmFzZTY0dXJsID0KKyAgICAiQkRqX3p4U2t6S2dh
QnVTM2NkV0RGNTU4b2Y4QWFJcGdGcHNqRl9RbTE3NDlWQkpQZ3FVSXdmaFdISjkxbmI3VSIgKwor
ICAgICJQSDc2YzAtV0ZPelpLc2xQeXlGc2U0ZyI7Citjb25zdCB0ZXN0UnBJZCA9ICJsb2NhbGhv
c3QiOworY29uc3QgdGVzdFVzZXJoYW5kbGVCYXNlNjQgPSAiQUFFQ0F3UUZCZ2NJQ1E9PSI7CisK
K2NvbnN0IFJFU09VUkNFU19ESVIgPSAiL1dlYktpdC93ZWJhdXRobi9yZXNvdXJjZXMvIjsKKwog
ZnVuY3Rpb24gYXNjaWlUb1VpbnQ4QXJyYXkoc3RyKQogewogICAgIHZhciBjaGFycyA9IFtdOwpA
QCAtMTM4LDEzICsxNTEsMzEgQEAgZnVuY3Rpb24gZXh0cmFjdFJhd1NpZ25hdHVyZShhc24xc2ln
bmF0dXJlKQogICAgIHJldHVybiB0bXAuYnVmZmVyOwogfQogCi1jb25zdCB0ZXN0Q3JlZGVudGlh
bElkQmFzZTY0dXJsID0gIlNNU1hIbmdGN2hFT3NFbEE3M0MzUlktOGJSNCI7Ci1jb25zdCB0ZXN0
RVMyNTZQcml2YXRlS2V5QmFzZTY0ID0KLSAgICAiQkRqL3p4U2t6S2dhQnVTM2NkV0RGNTU4b2Y4
QWFJcGdGcHNqRi9RbTE3NDlWQkpQZ3FVSXdmaFdISjkxbmI3VSIgKwotICAgICJQSDc2YzArV0ZP
elpLc2xQeXlGc2U0Z29HSVcyUjdrOVZITFBFWmw1bmZuQmdFVkZoNXpldisveHBIUUl2dXE2IiAr
Ci0gICAgIlJRPT0iOwotY29uc3QgdGVzdEVTMjU2UHVibGljS2V5QmFzZTY0dXJsID0KLSAgICAi
QkRqX3p4U2t6S2dhQnVTM2NkV0RGNTU4b2Y4QWFJcGdGcHNqRl9RbTE3NDlWQkpQZ3FVSXdmaFdI
SjkxbmI3VSIgKwotICAgICJQSDc2YzAtV0ZPelpLc2xQeXlGc2U0ZyI7Ci1jb25zdCB0ZXN0UnBJ
ZCA9ICJsb2NhbGhvc3QiOwotY29uc3QgdGVzdFVzZXJoYW5kbGVCYXNlNjQgPSAiQUFFQ0F3UUZC
Z2NJQ1E9PSI7CitmdW5jdGlvbiB3YWl0Rm9yTG9hZCgpCit7CisgICAgcmV0dXJuIG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNz
YWdlJywgKG1lc3NhZ2UpID0+IHsKKyAgICAgICAgICAgIHJlc29sdmUobWVzc2FnZSk7CisgICAg
ICAgIH0pOworICAgIH0pOworfQorCitmdW5jdGlvbiB3aXRoQ3Jvc3NPcmlnaW5JZnJhbWUocmVz
b3VyY2VGaWxlKQoreworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAg
ICAgICB3YWl0Rm9yTG9hZCgpLnRoZW4oKG1lc3NhZ2UpID0+IHsKKyAgICAgICAgICAgIHJlc29s
dmUobWVzc2FnZSk7CisgICAgICAgIH0pOworICAgICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgICAgICBmcmFtZS5zcmMgPSBnZXRfaG9zdF9p
bmZvKCkuSFRUUFNfUkVNT1RFX09SSUdJTiArIFJFU09VUkNFU19ESVIgKyByZXNvdXJjZUZpbGU7
CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICAgIH0pOworfQor
CitmdW5jdGlvbiBwcm9taXNlUmVqZWN0cyh0ZXN0LCBleHBlY3RlZCwgcHJvbWlzZSwgZGVzY3Jp
cHRpb24pCit7CisgICAgcmV0dXJuIHByb21pc2UudGhlbih0ZXN0LnVucmVhY2hlZF9mdW5jKCJT
aG91bGQgaGF2ZSByZWplY3RlZDogIiArIGRlc2NyaXB0aW9uKSkuY2F0Y2goZnVuY3Rpb24oZSkg
eworICAgICAgICBhc3NlcnRfdGhyb3dzKGV4cGVjdGVkLCBmdW5jdGlvbigpIHsgdGhyb3cgZSB9
LCBkZXNjcmlwdGlvbik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZS5tZXNzYWdlLCBkZXNjcmlw
dGlvbik7CisgICAgfSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1OGU3ZTI4MWM1NTBmYTM5OGQ0
NThmZDg5MzNiZGE1ODc0ODYwMjhiLi5lMWY4YjdmZjBhMmViM2JiYmU2MmY3NzhiMDQ3ZDllM2Ez
NzU3MDYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTE1MCw3ICsxMTUwLDYgQEAgd2Via2l0Lm9yZy9iLzE3NTQxOSBodHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvbmF2aWdhdGlvbi1yZWRpcmVjdC1tYWluLWZyYW1lLmh0dHAKIHdlYmtpdC5vcmcvYi8x
NzU0MTkgaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3RoaXJkLXBhcnR5LXJlZ2lzdHJhdGlvbi5o
dG1sIFsgU2tpcCBdCiAKICMgU2tpcCBhbnl0aGluZyByZWxhdGVkIHRvIFdlYkF1dGhOCi1odHRw
L3Rlc3RzL3dlYmF1dGhuLyBbIFNraXAgXQogaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50
LyBbIFNraXAgXQogaHR0cC93cHQvd2ViYXV0aG4vIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ZTk1ODAyZjI0
Y2M3ZWE1Y2U4MmMyMmFkYWE2NTU4NzczNjJlN2NkLi45MGZkMGE0MmMyZTVhNTc3YjhkY2UwOWMy
ZDcyMGY0ODFkY2Q0NWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xOTY5LDcgKzE5NjksNiBAQCB3ZWJraXQub3JnL2IvMTgwMDYyIGZh
c3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cyBbIEltYWdlT25seUZhaWx1cmUgXQogaHR0cC90
ZXN0cy94bWxodHRwcmVxdWVzdC9yYW5nZS10ZXN0Lmh0bWwgWyBTa2lwIF0KIAogIyBTa2lwIGFu
eXRoaW5nIHJlbGF0ZWQgdG8gV2ViQXV0aE4KLWh0dHAvdGVzdHMvd2ViYXV0aG4vIFsgU2tpcCBd
CiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJh
dXRobi8gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlh
bC1tYW5hZ2VtZW50LyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDJlMDllMGQwODMxMmMwZDc0NDY4ZTE0MzBjOTdlNmRlMTll
ZDUxNmMuLjVlNmJmMTk5M2Y4YjhhMWM3MmViYjUzZDYzZmJiNDYxNzM4NTBiZTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU0NSw3ICs1
NDUsNiBAQCB3ZWJraXQub3JnL2IvMTgxODYyIFsgRGVidWcgXSBodHRwL3Rlc3RzL2ltYWdlcy9p
bWFnZS1zdXBwb3J0cy12aWRlby5odG1sIFsgUGFzcwogd2Via2l0Lm9yZy9iLzE3OTg1MyBpbXBv
cnRlZC9ibGluay9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC1pdGVyYXRpb24tc2ltcGxlLXRleHQu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKICMgU2tpcCBhbnl0aGluZyByZWxhdGVkIHRvIFdlYkF1
dGhOCi1odHRwL3Rlc3RzL3dlYmF1dGhuLyBbIFNraXAgXQogaHR0cC93cHQvY3JlZGVudGlhbC1t
YW5hZ2VtZW50LyBbIFNraXAgXQogaHR0cC93cHQvd2ViYXV0aG4vIFsgU2tpcCBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBj
ZjUxMWE5MzQwN2MyMGVhMGIzYjdhMmQ0ODAzNDQ5YjNmZWVhYTFjLi4zNDZhMjg0MmU1ZWZlNGI2
ZDMxNzk0MmZmMThlMGRiOWMwYzVkMjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC04ODcsMyArODg3LDYgQEAgaHR0cC93cHQvd2ViYXV0
aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwg
WyBTa2lwIF0KIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUt
c3VjY2Vzcy1sb2NhbC5odHRwcy5odG1sIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJhdXRobi9wdWJs
aWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbCBbIFNraXAgXQog
aHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1zdWNjZXNzLWxvY2Fs
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KKyMgVGhlIGZvbGxvd2luZyB0ZXN0cyByZXF1aXJlIFB1Ymxp
Y0tleUNyZWRlbnRpYWwgb2JqZWN0cy4gV2UgY2FuIG9ubHkgcHJvZHVjZSB0aGVtIHZpYSBsb2Nh
bCBhdXRoZW50aWNhdG9ycyBub3cuCitodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3Jl
ZGVudGlhbHNjb250YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAv
d3B0L3dlYmF1dGhuL2lkbC5odHRwcy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDMzYTkzMDc0NzMxZTRlYzlhYWRkNzdiNzQxYjMy
MDgwZjA3Yjc2NjMuLjBiMGM0ZjY3YzUzMmFmMTAyNjE4NzNkMGVjYjdmMmYxZTkwODhmNzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC02NTQsNyArNjU0
LDYgQEAgd2Via2l0Lm9yZy9iLzE0OTYzMCBjc3MzL2ZvbnQtdmFyaWFudC1hbGwuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1ODgzNiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYSBbIFNraXAgXQogCiAjIFNraXAgYW55dGhpbmcg
cmVsYXRlZCB0byBXZWJBdXRoTgotaHR0cC90ZXN0cy93ZWJhdXRobi8gWyBTa2lwIF0KIGh0dHAv
d3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0KIGh0dHAvd3B0L3dlYmF1dGhuLyBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFn
ZW1lbnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA3NWE1NzYyNTFiMmZmOTg3Njk0YTIzYTI4NTk2OTk3Zjk1MjQzOWI3
Li5kMWE4OWVlZjBiMGM4ODE2Njk5NzMxM2ZhOTlmM2VkNmJlODc0YWE5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkyNCw3ICs5MjQs
NiBAQCBodHRwL3Rlc3RzL3NzbCBbIFNraXAgXQogCiBodHRwL3Rlc3RzL3N1YnJlc291cmNlLWlu
dGVncml0eSBbIFNraXAgXQogaHR0cC90ZXN0cy93ZWJhcmNoaXZlIFsgU2tpcCBdCi1odHRwL3Rl
c3RzL3dlYmF1dGhuIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3dlYmdsIFsgU2tpcCBdCiBodHRwL3Rl
c3RzL3dlYnJ0YyBbIFNraXAgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
cGUvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDcxYjgxMGI5MzNmOTk5YTZiMTMxODY5ZTIyM2QxMjQ0Y2VhNmUyMWQuLjQ5
ZDllMDQ2MTg4YjYxNWI3MDFmNDkxYmNjMmJhYjc5MzczYTYxMmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjAsNyArMTIwLDYgQEAgd2Via2l0Lm9y
Zy9iLzE2OTgxMSBmYXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzM2QuaHRtbCBb
IENyYXNoIFRpbWVvdXQKIAogIyBTa2lwIGFueXRoaW5nIHJlbGF0ZWQgdG8gV2ViQXV0aE4KICMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1odHRwL3Rlc3RzL3dlYmF1dGhuLyBb
IFNraXAgXQogaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBbIFNraXAgXQogaHR0cC93
cHQvd2ViYXV0aG4vIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Ny
ZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0K
</data>
<flag name="review"
          id="368389"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351134</attachid>
            <date>2018-09-28 16:02:10 -0700</date>
            <delta_ts>2018-09-28 16:03:49 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189283-20180928160210.patch</filename>
            <type>text/plain</type>
            <size>128981</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThkMWYyY2FkMzBjOTM2
M2JkNDlmNzYwMzhkZTNmMGY0NjZlY2Q2Yi4uYTU0OTJlNTlkYjQ3ZDJiOWY3ZTUxY2MzOTIwYTY4
MjE3MmFiZDQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTA5LTI3ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQb2xp
c2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAg
IFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIG1vY2tpbmcgbWVjaGFuaXNtLgorCisgICAgICAg
IFRlc3RzOiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdp
dGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRl
cnMuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwKKworICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6SW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6bW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvciBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaWRsOiBSZW1vdmVkLgorCiAyMDE4LTA5LTI3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgd2F0Y2hPUyBidWlsZCBmaXg7IEZpeCBk
ZWNsYXJhdGlvbiBmb3IgcG9ydHMgd2hpY2ggVVNFKEVOQ1JZUFRFRF9NRURJQSkgYnV0IGRvbid0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDI3ZmM0MGUwMTk2OGU4YjQ2NGEyNTY5YjFhN2Y2MDY5MjQwMzViNDAuLmMw
NmY4OGNmN2I5ODkwNGE3MzIzMmMzYjUxZjcxNTgyMjc4NzkwMjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMTgtMDktMjcgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4K
KworICAgICAgICBbV2ViQXV0aE5dIFBvbGlzaCBXZWJBdXRoTiBhdXRvLXRlc3QgZW52aXJvbm1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTI4
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxMTc4Mjg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2VzIE1vY2tXZWJBdXRo
ZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24ubG9jYWwgdG8gb3B0aW9uYWwgc3VjaCB0aGF0IHRlc3Rz
IGNhbiBleHByZXNzCisgICAgICAgIGFic2VuY2Ugb2YgbG9jYWwgYXV0aGVudGljYXRvcnMuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAg
ICAgICAgKFdLV2Vic2l0ZURhdGFTdG9yZVNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tM
b2NhbENvbm5lY3Rpb24ubW06CisgICAgICAgIChXZWJLaXQ6Ok1vY2tMb2NhbENvbm5lY3Rpb246
OmdldFVzZXJDb25zZW50IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TW9ja0xvY2FsQ29ubmVj
dGlvbjo6Z2V0QXR0ZXN0YXRpb24gY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbFNlcnZpY2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpN
b2NrTG9jYWxTZXJ2aWNlOjpwbGF0Zm9ybVN0YXJ0RGlzY292ZXJ5IGNvbnN0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrV2ViQXV0aGVudGljYXRpb25D
b25maWd1cmF0aW9uLmg6CisKIDIwMTgtMDktMjcgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWxsb3cgYWNjZXNzIHRvIFZvaWNlU2VydmljZXMg
ZmVhdHVyZXMgbmVlZGVkIGZvciBhY2Nlc3NpYmlsaXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA3YjhkNWMyM2YzMmEzMzNmZTlmMjEyMzBlM2EwNWE1ODA0NTgzYzRiLi4zNjBm
ZGU3NDMxMjg1Y2FkYzY2Yzk3NzA3ZTUyZWNkMzM4NTUwMjJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTk3OCw3ICs5NzgsNiBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAg
JChXZWJDb3JlKS90ZXN0aW5nL0ludGVybmFscy5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGlu
Zy9NYWxsb2NTdGF0aXN0aWNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01lbW9yeUlu
Zm8uaWRsIFwKLSAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQxMWVhZWEy
NTc4OGEyMDNlOWU4NzkwMmY1NTNiNWUwMWZhYjlmODEuLjUyYWM5OTY4YTBjNTVmODM4NTZmZWNl
MTQwMjRjYjQ2NzQyYjlmM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3NjksOCArMTc2OSw2IEBACiAJCTU3NTBBOTg3MUU2
QTIxNjgwMDcwNUM0QSAvKiBDcnlwdG9BbGdvcml0aG1FQ0RILmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzUwQTk4NTFFNkEyMTY4MDA3MDVDNEEgLyog
Q3J5cHRvQWxnb3JpdGhtRUNESC5oICovOyB9OwogCQk1NzU0NzE5RjFFQ0U2MjgzMDBERDYzQjIg
LyogSlNSc2FQc3NQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3NTQ3MTk5MUVDRTVEMkEwMERENjNCMiAvKiBKU1JzYVBzc1BhcmFtcy5oICov
OyB9OwogCQk1NzYwODI3MjIwMjE1QTU1MDAxMTY2NzggLyogQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1NzYwODI3MDIwMjE1MTNGMDAxMTY2NzggLyogQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xp
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
NTc2MDgyN0EyMDI0RUE1QzAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NjA4Mjc4
MjAyNDREQUIwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi87IH07
Ci0JCTU3NjA4MjdCMjAyNEVEMjkwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3
NjA4Mjc5MjAyNDREQUMwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNw
cCAqLzsgfTsKIAkJNTc2ODE0MkExRTZGOTlDMTAwRTc3NzU0IC8qIENyeXB0b0FsZ29yaXRobUVj
ZGhLZXlEZXJpdmVQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3NjgxNDI5MUU2Rjk5QzEwMEU3Nzc1NCAvKiBDcnlwdG9BbGdvcml0aG1FY2Ro
S2V5RGVyaXZlUGFyYW1zLmggKi87IH07CiAJCTU3NjgxNDQxMUU3MDlGQTQwMEU3Nzc1NCAvKiBK
U0VjZGhLZXlEZXJpdmVQYXJhbXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU3NjgxNDNFMUU3MDlDMzYwMEU3Nzc1NCAvKiBKU0VjZGhLZXlEZXJpdmVQ
YXJhbXMuaCAqLzsgfTsKIAkJNTc2ODE0NDUxRTcwQ0IxRjAwRTc3NzU0IC8qIEpTQWVzS2V5UGFy
YW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzY4
MTQ0MzFFNzBDQjEwMDBFNzc3NTQgLyogSlNBZXNLZXlQYXJhbXMuaCAqLzsgfTsKQEAgLTE3OTIs
OCArMTc5MCw2IEBACiAJCTU3RDg0NjI4MUZFODk2MDUwMENBMzY4MiAvKiBOYXZpZ2F0b3JDcmVk
ZW50aWFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTdEODQ2MjYxRkU4OTVGODAwQ0EzNjgyIC8qIE5hdmlnYXRvckNyZWRlbnRpYWxzLmggKi87IH07
CiAJCTU3RDg0NjJFMUZFQUY2OTkwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVkZW50aWFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0Q4NDYyQjFGRUFG
NjhGMDBDQTM2ODIgLyogUHVibGljS2V5Q3JlZGVudGlhbC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3RDg0NjM1MUZFQUZDRDMwMENBMzY4MiAv
KiBKU1B1YmxpY0tleUNyZWRlbnRpYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3RDg0NjMwMUZFQUZDMkYwMENBMzY4MiAvKiBKU1B1YmxpY0tleUNy
ZWRlbnRpYWwuaCAqLzsgfTsKLQkJNTdEQ0VENjcyMTQwNzc1QjAwMTZCODQ3IC8qIEpTTW9ja0F1
dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTdEQ0VENjIyMTQwNzYzQzAwMTZCODQ3IC8qIEpTTW9ja0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvci5oICovOyB9OwotCQk1N0RDRUQ2OTIxNDA3NzY0MDAxNkI4NDcgLyog
SlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDYzMjE0MDc2M0MwMDE2Qjg0NyAvKiBKU01v
Y2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwICovOyB9OwogCQk1N0RDRUQ3NDIxNDMwNUYw
MDAxNkI4NDcgLyogUHVibGljS2V5Q3JlZGVudGlhbERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDcyMjE0MzA1RjAwMDE2Qjg0NyAvKiBQ
dWJsaWNLZXlDcmVkZW50aWFsRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTU3RENFRDkwMjE0ODdGRjcwMDE2Qjg0NyAvKiBBdXRoZW50aWNh
dG9yVHJhbnNwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1N0RDRUQ4QzIxNDg3RURCMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9ydC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU3RENF
RDk4MjE0ODgyMTYwMDE2Qjg0NyAvKiBKU0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDkyMjE0ODgwQzYw
MDE2Qjg0NyAvKiBKU0F1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaCAqLzsgfTsKQEAgLTg1NjgsOSAr
ODU2NCw2IEBACiAJCTU3NjA4MjRGMjAxMThEOEQwMDExNjY3OCAvKiBKU0Jhc2ljQ3JlZGVudGlh
bEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Jhc2ljQ3JlZGVudGlhbEN1c3RvbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NjA4MjU2MjAxMUJFMDIwMDExNjY3
OCAvKiBKU0F1dGhlbnRpY2F0b3JSZXNwb25zZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0F1dGhlbnRpY2F0b3JSZXNwb25zZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3NjA4MjcwMjAyMTUxM0YwMDExNjY3OCAvKiBBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3NjA4Mjc4MjAyNDREQUIwMDEx
NjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1v
Y2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNTc2MDgyNzkyMDI0NERBQzAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3NjA4MjgwMjAyNTU2RjQwMDExNjY3
OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNb2NrQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc2MDgy
OTMyMDJCQTk1MzAwMTE2Njc4IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JDbGllbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzY4MTQyODFFNkY5OEFEMDBFNzc3NTQgLyog
RWNkaEtleURlcml2ZVBhcmFtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRWNkaEtleURlcml2ZVBhcmFtcy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NjgxNDI5MUU2Rjk5QzEwMEU3Nzc1NCAvKiBD
cnlwdG9BbGdvcml0aG1FY2RoS2V5RGVyaXZlUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobUVjZGhLZXlEZXJpdmVQYXJhbXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg2MjUsOCArODYxOCw2IEBACiAJCTU3RDg0NjJEMUZF
QUY2OEYwMENBMzY4MiAvKiBQdWJsaWNLZXlDcmVkZW50aWFsLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdWJsaWNLZXlD
cmVkZW50aWFsLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdEODQ2MzAxRkVB
RkMyRjAwQ0EzNjgyIC8qIEpTUHVibGljS2V5Q3JlZGVudGlhbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1B1YmxpY0tleUNyZWRlbnRpYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTdEODQ2MzExRkVBRkMyRjAwQ0EzNjgyIC8qIEpTUHVibGljS2V5Q3Jl
ZGVudGlhbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1B1Ymxp
Y0tleUNyZWRlbnRpYWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1N0RDRUQ2
MjIxNDA3NjNDMDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1N0RDRUQ2MzIxNDA3NjNDMDAx
NkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RENFRDcyMjE0MzA1RjAwMDE2Qjg0
NyAvKiBQdWJsaWNLZXlDcmVkZW50aWFsRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdWJsaWNLZXlD
cmVkZW50aWFsRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0RDRUQ4QzIx
NDg3RURCMDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9ydC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBdXRoZW50aWNhdG9yVHJhbnNwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU3RENFRDhFMjE0ODdFREIwMDE2Qjg0NyAvKiBBdXRoZW50aWNhdG9yVHJhbnNwb3J0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBBdXRoZW50aWNhdG9yVHJhbnNwb3J0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE3MDM3LDkgKzE3MDI4LDYgQEAKIAkJCQlBN0JFN0VERTE0QzkxNzVBMDAxNDQ4OUQg
LyogTWFsbG9jU3RhdGlzdGljcy5pZGwgKi8sCiAJCQkJQ0Q1MzkzQ0IxNzVEQ0NFNjAwQzA3MTIz
IC8qIE1lbW9yeUluZm8uaCAqLywKIAkJCQlDRDUzOTNDQzE3NURDQ0U2MDBDMDcxMjMgLyogTWVt
b3J5SW5mby5pZGwgKi8sCi0JCQkJNTc2MDgyNzkyMDI0NERBQzAwMTE2Njc4IC8qIE1vY2tBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwICovLAotCQkJCTU3NjA4Mjc4MjAyNDREQUIwMDExNjY3
OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggKi8sCi0JCQkJNTc2MDgyODAyMDI1
NTZGNDAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaWRsICovLAogCQkJ
CUNERjRCNzIxMUUwM0JGODEwMEUyMzVBMiAvKiBNb2NrQ0RNRmFjdG9yeS5jcHAgKi8sCiAJCQkJ
Q0RGNEI3MjIxRTAzQkY4MTAwRTIzNUEyIC8qIE1vY2tDRE1GYWN0b3J5LmggKi8sCiAJCQkJQ0RG
NEI3MUYxRTAzQkY2RjAwRTIzNUEyIC8qIE1vY2tDRE1GYWN0b3J5LmlkbCAqLywKQEAgLTE3MDk2
LDggKzE3MDg0LDYgQEAKIAkJCQlBN0I0RUE2OTE0QzkzNDg0MDBDOEY1QkYgLyogSlNNYWxsb2NT
dGF0aXN0aWNzLmggKi8sCiAJCQkJQ0Q1MzkzRDExNzVFMDE4NjAwQzA3MTIzIC8qIEpTTWVtb3J5
SW5mby5jcHAgKi8sCiAJCQkJQ0Q1MzkzRDIxNzVFMDE4NjAwQzA3MTIzIC8qIEpTTWVtb3J5SW5m
by5oICovLAotCQkJCTU3RENFRDYzMjE0MDc2M0MwMDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3IuY3BwICovLAotCQkJCTU3RENFRDYyMjE0MDc2M0MwMDE2Qjg0NyAvKiBK
U01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCAqLywKIAkJCQlDREY0QjcyRDFFMDNDQTRB
MDBFMjM1QTIgLyogSlNNb2NrQ0RNRmFjdG9yeS5jcHAgKi8sCiAJCQkJQ0RGNEI3MkUxRTAzQ0E0
QTAwRTIzNUEyIC8qIEpTTW9ja0NETUZhY3RvcnkuaCAqLywKIAkJCQlBMTlBRUExRDFBQUE4MDZF
MDBCNTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCAqLywKQEAgLTE4ODE0
LDggKzE4ODAwLDYgQEAKIAkJNTc0RjU1REQyMDRGMzc0NDAwMjk0OEM2IC8qIGNvY29hICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1NzRGNTVERTIwNEYz
NzQ0MDAyOTQ4QzYgLyogTG9jYWxBdXRoZW50aWNhdG9yLmggKi8sCi0JCQkJNTc0RjU1REYyMDRG
Mzc0NDAwMjk0OEM2IC8qIExvY2FsQXV0aGVudGljYXRvci5tbSAqLywKIAkJCSk7CiAJCQlwYXRo
ID0gY29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjcxMzgsNyArMjcxMjIs
NiBAQAogCQkJCTUzRUQzRkRGMTY3QTg4RTcwMDY3NjJFNiAvKiBKU0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NDBCNTk1MTRDOTM1QUIwMEE3N0ZBNCAv
KiBKU01hbGxvY1N0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENTM5M0Q0MTc1RTAx
ODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uaCBpbiBIZWFkZXJzICovLAotCQkJCTU3RENFRDY3
MjE0MDc3NUIwMDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUzOEVDOTMzMUY5OUI5RjcwMDREMjJBOCAvKiBKU01vY2tDRE1GYWN0
b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTlBRUEyMTFBQUE4MDg2MDBCNTJCMjUgLyogSlNN
b2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MzhFQzkzNDFG
OTlCOUY3MDA0RDIyQTggLyogSlNNb2NrUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLApAQCAt
MjcxNDgsNyArMjcxMzEsNiBAQAogCQkJCTQyN0RBNzFFMTM3MzVERkEwMDdDNTdGQiAvKiBKU1Nl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUVCRjUxMjFEMTY5NjQ5
NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RD
MjZCNDExNjBBOENDRTAwMjY3NTdCIC8qIExlZ2FjeU1vY2tDRE0uaCBpbiBIZWFkZXJzICovLAot
CQkJCTU3NjA4MjdBMjAyNEVBNUMwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUJGNkI4MzFBQTk2QzdEMDBBRjRBOEEgLyogTW9j
a0NvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQjVCMjlGMUFBQTg0NkYwMDhC
NjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTA1OEFEQzFENjc5MkMxMDA5QTUzOEMgLyogTW9ja0dhbWVwYWQuaCBpbiBIZWFkZXJzICovLApA
QCAtMzE1NjcsNyArMzE1NDksNiBAQAogCQkJCTUzRUQzRkRFMTY3QTg4RTcwMDY3NjJFNiAvKiBK
U0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RUM5
MzIxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTWFsbG9jU3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDRDUzOTNEMzE3NUUwMTg2MDBDMDcxMjMgLyogSlNNZW1vcnlJbmZvLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTU3RENFRDY5MjE0MDc3NjQwMDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RGNEI3MzIxRTAzRDA2
MDAwRTIzNUEyIC8qIEpTTW9ja0NETUZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE5
QUVBMjIxQUFBODA4QTAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyRDQxNTBERTFDMUY4NjhDMDAwQTNCQTIgLyogSlNNb2NrUGFn
ZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTU3Nyw3ICszMTU1OCw2IEBACiAJCQkJ
NDI3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFQkY1MTIxQzE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29u
dmVyc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDMjZCNDAxNjBBOENDNjAwMjY3NTdC
IC8qIExlZ2FjeU1vY2tDRE0uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTc2MDgyN0IyMDI0RUQy
OTAwMTE2Njc4IC8qIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQ0RGNEI3MzExRTAzRDAwNzAwRTIzNUEyIC8qIE1vY2tDRE1GYWN0b3J5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUExQkY2QjgyMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVu
dEZpbHRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUI1QjI5RTFBQUE4NDZFMDA4QjYwNDIg
LyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4MWI5MTJmNzRmOGIyZTc2NmI5ZjQ2ZWM2ZGFl
ZjFhZDczM2MwODZkLi4yMjE5MjQzNzU2ODUwNjExNmY2ODNmMGU2YTZkOTdjMWY4MjJjOWIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0yNjgsMTEgKzI2OCw2IEBACiAj
aW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJf
QVVUSE4pCi0jaW5jbHVkZSAiQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgiCi0jaW5jbHVkZSAi
TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIgotI2VuZGlmCi0KICNpZiBQTEFURk9STShN
QUMpICYmIFVTRShMSUJXRUJSVEMpCiAjaW5jbHVkZSA8d2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Q
cm9jZXNzaW5nU29mdExpbmsuaD4KICNlbmRpZgpAQCAtNTUzLDE1ICs1NDgsNiBAQCBJbnRlcm5h
bHM6OkludGVybmFscyhEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgICAgIGZyYW1lLT5wYWdlKCkt
PnNldFBheW1lbnRDb29yZGluYXRvcihzdGQ6Om1ha2VfdW5pcXVlPFBheW1lbnRDb29yZGluYXRv
cj4oKm1fbW9ja1BheW1lbnRDb29yZGluYXRvcikpOwogICAgIH0KICNlbmRpZgotCi0jaWYgRU5B
QkxFKFdFQl9BVVRITikKLSAgICAvLyBGSVhNRSgxODkyODMpCi0gICAgaWYgKGRvY3VtZW50LnBh
Z2UoKSkgewotICAgICAgICBhdXRvIG1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IgPSBzdGQ6
Om1ha2VfdW5pcXVlPE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I+KCk7Ci0gICAgICAgIG1f
bW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvciA9IG1ha2VXZWFrUHRyKG1vY2tBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3IuZ2V0KCkpOwotLy8gICAgICAgIGRvY3VtZW50LnBhZ2UoKS0+YXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yKCkuc2V0Q2xpZW50KFdURk1vdmUobW9ja0F1dGhlbnRpY2F0b3JD
b29yZGluYXRvcikpOwotICAgIH0KLSNlbmRpZgogfQogCiBEb2N1bWVudCogSW50ZXJuYWxzOjpj
b250ZXh0RG9jdW1lbnQoKSBjb25zdApAQCAtNDY0MCwxMyArNDYyNiw2IEBAIE1vY2tQYXltZW50
Q29vcmRpbmF0b3ImIEludGVybmFsczo6bW9ja1BheW1lbnRDb29yZGluYXRvcigpIGNvbnN0CiB9
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJfQVVUSE4pCi1Nb2NrQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yJiBJbnRlcm5hbHM6Om1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IoKSBjb25zdAot
ewotICAgIHJldHVybiAqbV9tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOwotfQotI2VuZGlm
Ci0KIGJvb2wgSW50ZXJuYWxzOjppc1N5c3RlbVByZXZpZXdMaW5rKEVsZW1lbnQmIGVsZW1lbnQp
IGNvbnN0CiB7CiAjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKaW5kZXggZGE3ZjFjYjE1OWExN2M5NzI1NjA4ZTdhZmQzYzFiNWU3YTcyYWZmOC4uYjBm
ZDA5MGJjY2M3YWY3ZGE2ZjNmM2JmN2JhYzNjN2RlZGVjMTQ2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCkBAIC03OSw3ICs3OSw2IEBAIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2s7CiBj
bGFzcyBNZW1vcnlJbmZvOwogY2xhc3MgTW9ja0NETUZhY3Rvcnk7CiBjbGFzcyBNb2NrQ29udGVu
dEZpbHRlclNldHRpbmdzOwotY2xhc3MgTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvcjsKIGNs
YXNzIE1vY2tQYWdlT3ZlcmxheTsKIGNsYXNzIE1vY2tQYXltZW50Q29vcmRpbmF0b3I7CiBjbGFz
cyBOb2RlTGlzdDsKQEAgLTcwNCwxMCArNzAzLDYgQEAgcHVibGljOgogICAgIHZvaWQgcGF1c2VU
aW1lbGluZShBbmltYXRpb25UaW1lbGluZSYpOwogICAgIHZvaWQgc2V0VGltZWxpbmVDdXJyZW50
VGltZShBbmltYXRpb25UaW1lbGluZSYsIGRvdWJsZSk7CiAKLSNpZiBFTkFCTEUoV0VCX0FVVEhO
KQotICAgIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3ImIG1vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3IoKSBjb25zdDsKLSNlbmRpZgotCiAgICAgYm9vbCBpc1N5c3RlbVByZXZpZXdMaW5r
KEVsZW1lbnQmKSBjb25zdDsKICAgICBib29sIGlzU3lzdGVtUHJldmlld0ltYWdlKEVsZW1lbnQm
KSBjb25zdDsKIApAQCAtODA2LDEwICs4MDEsNiBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShBUFBM
RV9QQVkpCiAgICAgTW9ja1BheW1lbnRDb29yZGluYXRvciogbV9tb2NrUGF5bWVudENvb3JkaW5h
dG9yIHsgbnVsbHB0ciB9OwogI2VuZGlmCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIFdl
YWtQdHI8TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvcj4gbV9tb2NrQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yOwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMDc4Y2Y3NTQ0M2Y5YTNhMjk1NTc4Y2Y5MGFi
OWRjY2FhMjNmYTNkMC4uZmVkOThmNGM5OTZkNTNlNDMyMTUyYmNlNTVhMjZkOGI3YzhmZTJhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNjg0LDcgKzY4NCw2IEBAIGVu
dW0gQ29tcG9zaXRpbmdQb2xpY3kgewogICAgIFtFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlv
bnNdIHZvaWQgcGF1c2VUaW1lbGluZShBbmltYXRpb25UaW1lbGluZSB0aW1lbGluZSk7CiAgICAg
W0VuYWJsZWRBdFJ1bnRpbWU9V2ViQW5pbWF0aW9uc10gdm9pZCBzZXRUaW1lbGluZUN1cnJlbnRU
aW1lKEFuaW1hdGlvblRpbWVsaW5lIHRpbWVsaW5lLCBkb3VibGUgY3VycmVudFRpbWUpOwogICAg
IFtDb25kaXRpb25hbD1BUFBMRV9QQVldIHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5bWVudENv
b3JkaW5hdG9yIG1vY2tQYXltZW50Q29vcmRpbmF0b3I7Ci0gICAgW0NvbmRpdGlvbmFsPVdFQl9B
VVRITl0gcmVhZG9ubHkgYXR0cmlidXRlIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IgbW9j
a0F1dGhlbnRpY2F0b3JDb29yZGluYXRvcjsKIAogICAgIGJvb2xlYW4gaXNTeXN0ZW1QcmV2aWV3
TGluayhFbGVtZW50IGVsZW1lbnQpOwogICAgIGJvb2xlYW4gaXNTeXN0ZW1QcmV2aWV3SW1hZ2Uo
RWxlbWVudCBlbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBjZDdkNjlhNjJkNjBhZDk4NjQ3N2FkNmEzMmQ0ODZiMDRiNTRjZjkxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwx
MTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJN
b2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQot
Ci0jaW5jbHVkZSAiSW50ZXJuYWxzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVk
ZW50aWFsRGF0YS5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi12b2lkIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OnNldENyZWF0aW9uUmV0
dXJuQnVuZGxlKGNvbnN0IEJ1ZmZlclNvdXJjZSYgY3JlZGVudGlhbElkLCBjb25zdCBCdWZmZXJT
b3VyY2UmIGF0dGVzdGF0aW9uT2JqZWN0KQotewotICAgIEFTU0VSVCghbV9jcmVkZW50aWFsSWQg
JiYgIW1fYXR0ZXN0YXRpb25PYmplY3QpOwotICAgIG1fY3JlZGVudGlhbElkID0gQXJyYXlCdWZm
ZXI6OmNyZWF0ZShjcmVkZW50aWFsSWQuZGF0YSgpLCBjcmVkZW50aWFsSWQubGVuZ3RoKCkpOwot
ICAgIG1fYXR0ZXN0YXRpb25PYmplY3QgPSBBcnJheUJ1ZmZlcjo6Y3JlYXRlKGF0dGVzdGF0aW9u
T2JqZWN0LmRhdGEoKSwgYXR0ZXN0YXRpb25PYmplY3QubGVuZ3RoKCkpOwotfQotCi12b2lkIE1v
Y2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OnNldEFzc2VydGlvblJldHVybkJ1bmRsZShjb25z
dCBCdWZmZXJTb3VyY2UmIGNyZWRlbnRpYWxJZCwgY29uc3QgQnVmZmVyU291cmNlJiBhdXRoZW50
aWNhdG9yRGF0YSwgY29uc3QgQnVmZmVyU291cmNlJiBzaWduYXR1cmUsIGNvbnN0IEJ1ZmZlclNv
dXJjZSYgdXNlckhhbmRsZSkKLXsKLSAgICBBU1NFUlQoIW1fY3JlZGVudGlhbElkICYmICFtX2F1
dGhlbnRpY2F0b3JEYXRhICYmICFtX3NpZ25hdHVyZSAmJiAhbV91c2VySGFuZGxlKTsKLSAgICBt
X2NyZWRlbnRpYWxJZCA9IEFycmF5QnVmZmVyOjpjcmVhdGUoY3JlZGVudGlhbElkLmRhdGEoKSwg
Y3JlZGVudGlhbElkLmxlbmd0aCgpKTsKLSAgICBtX2F1dGhlbnRpY2F0b3JEYXRhID0gQXJyYXlC
dWZmZXI6OmNyZWF0ZShhdXRoZW50aWNhdG9yRGF0YS5kYXRhKCksIGF1dGhlbnRpY2F0b3JEYXRh
Lmxlbmd0aCgpKTsKLSAgICBtX3NpZ25hdHVyZSA9IEFycmF5QnVmZmVyOjpjcmVhdGUoc2lnbmF0
dXJlLmRhdGEoKSwgc2lnbmF0dXJlLmxlbmd0aCgpKTsKLSAgICBtX3VzZXJIYW5kbGUgPSBBcnJh
eUJ1ZmZlcjo6Y3JlYXRlKHVzZXJIYW5kbGUuZGF0YSgpLCB1c2VySGFuZGxlLmxlbmd0aCgpKTsK
LX0KLQotdm9pZCBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3JlZGVudGlhbChj
b25zdCBWZWN0b3I8dWludDhfdD4mLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKLXsKLSAgICBpZiAo
IXNldFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgaWYgKG1fZGlkVGltZU91dCkgewotICAgICAgICBtX2RpZFRpbWVPdXQg
PSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAobV9kaWRVc2VyQ2FuY2Vs
KSB7Ci0gICAgICAgIG1fZGlkVXNlckNhbmNlbCA9IGZhbHNlOwotICAgICAgICByZXF1ZXN0UmVw
bHkoeyB9LCB7IE5vdEFsbG93ZWRFcnJvciwgIlVzZXIgY2FuY2VsbGVkLiJfcyB9KTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAobV9jcmVkZW50aWFsSWQpIHsKLSAgICAgICAgQVNT
RVJUKG1fYXR0ZXN0YXRpb25PYmplY3QpOwotICAgICAgICByZXF1ZXN0UmVwbHkoUHVibGljS2V5
Q3JlZGVudGlhbERhdGEgeyBXVEZNb3ZlKG1fY3JlZGVudGlhbElkKSwgdHJ1ZSwgbnVsbHB0ciwg
V1RGTW92ZShtX2F0dGVzdGF0aW9uT2JqZWN0KSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciB9
LCB7IH0pOwotICAgICAgICBtX2NyZWRlbnRpYWxJZCA9IG51bGxwdHI7Ci0gICAgICAgIG1fYXR0
ZXN0YXRpb25PYmplY3QgPSBudWxscHRyOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3I6OmdldEFzc2VydGlvbihjb25zdCBWZWN0b3I8dWludDhfdD4mLCBjb25zdCBQdWJsaWNLZXlD
cmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJiBoYW5k
bGVyKQotewotICAgIGlmICghc2V0UmVxdWVzdENvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFu
ZGxlcikpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9kaWRUaW1lT3V0KSB7Ci0gICAg
ICAgIG1fZGlkVGltZU91dCA9IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlm
IChtX2RpZFVzZXJDYW5jZWwpIHsKLSAgICAgICAgbV9kaWRVc2VyQ2FuY2VsID0gZmFsc2U7Ci0g
ICAgICAgIHJlcXVlc3RSZXBseSh7IH0sIHsgTm90QWxsb3dlZEVycm9yLCAiVXNlciBjYW5jZWxs
ZWQuIl9zIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChtX2NyZWRlbnRpYWxJ
ZCkgewotICAgICAgICBBU1NFUlQobV9hdXRoZW50aWNhdG9yRGF0YSAmJiBtX3NpZ25hdHVyZSAm
JiBtX3VzZXJIYW5kbGUpOwotICAgICAgICByZXF1ZXN0UmVwbHkoUHVibGljS2V5Q3JlZGVudGlh
bERhdGEgeyBXVEZNb3ZlKG1fY3JlZGVudGlhbElkKSwgZmFsc2UsIG51bGxwdHIsIG51bGxwdHIs
IFdURk1vdmUobV9hdXRoZW50aWNhdG9yRGF0YSksIFdURk1vdmUobV9zaWduYXR1cmUpLCBXVEZN
b3ZlKG1fdXNlckhhbmRsZSkgfSwgeyB9KTsKLSAgICAgICAgbV9jcmVkZW50aWFsSWQgPSBudWxs
cHRyOwotICAgICAgICBtX2F1dGhlbnRpY2F0b3JEYXRhID0gbnVsbHB0cjsKLSAgICAgICAgbV9z
aWduYXR1cmUgPSBudWxscHRyOwotICAgICAgICBtX3VzZXJIYW5kbGUgPSBudWxscHRyOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lk
IE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmlzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0
aGVudGljYXRvckF2YWlsYWJsZShRdWVyeUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKLXsK
LSAgICBhdXRvIG1lc3NhZ2VJZCA9IGFkZFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZSho
YW5kbGVyKSk7Ci0gICAgaWYgKG1fZGlkVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRv
clByZXNlbnQpIHsKLSAgICAgICAgaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9y
QXZhaWxhYmxlUmVwbHkobWVzc2FnZUlkLCB0cnVlKTsKLSAgICAgICAgbV9kaWRVc2VyVmVyaWZ5
aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yUHJlc2VudCA9IGZhbHNlOwotICAgIH0gZWxzZQotICAg
ICAgICBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGVSZXBseSht
ZXNzYWdlSWQsIGZhbHNlKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRU5BQkxFKFdFQl9BVVRITikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDk0YWM0NWVhMmZmMzQ1NzVlYTQ2NGI5NTFiY2QxMzZhNDUxMmJhYmUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OCAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCX0FVVEhO
KQotCi0jaW5jbHVkZSAiQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xpZW50LmgiCi0jaW5jbHVk
ZSAiQnVmZmVyU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBJbnRlcm5hbHM7Ci0KLWNsYXNzIE1vY2tBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3IgZmluYWwgOiBwdWJsaWMgQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xpZW50
IHsKLXB1YmxpYzoKLSAgICB2b2lkIHNldERpZFRpbWVPdXQoKSB7IG1fZGlkVGltZU91dCA9IHRy
dWU7IH0KLSAgICB2b2lkIHNldERpZFVzZXJDYW5jZWwoKSB7IG1fZGlkVXNlckNhbmNlbCA9IHRy
dWU7IH0KLSAgICB2b2lkIHNldERpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQ
cmVzZW50KCkgeyBtX2RpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50
ID0gdHJ1ZTsgfQotICAgIHZvaWQgc2V0Q3JlYXRpb25SZXR1cm5CdW5kbGUoY29uc3QgQnVmZmVy
U291cmNlJiBjcmVkZW50aWFsSWQsIGNvbnN0IEJ1ZmZlclNvdXJjZSYgYXR0ZXN0YXRpb25PYmpl
Y3QpOwotICAgIHZvaWQgc2V0QXNzZXJ0aW9uUmV0dXJuQnVuZGxlKGNvbnN0IEJ1ZmZlclNvdXJj
ZSYgY3JlZGVudGlhbElkLCBjb25zdCBCdWZmZXJTb3VyY2UmIGF1dGhlbnRpY2F0b3JEYXRhLCBj
b25zdCBCdWZmZXJTb3VyY2UmIHNpZ25hdHVyZSwgY29uc3QgQnVmZmVyU291cmNlJiB1c2VySGFu
ZGxlKTsKLQotICAgIC8vIFJlZkNvdW50ZWQgaXMgcmVxdWlyZWQgZm9yIEpTIHdyYXBwZXIuIFRo
ZXJlZm9yZSwgZmFrZSB0aGVtIHRvIGNvbXBpbGUuCi0gICAgdm9pZCByZWYoKSBjb25zdCB7IH0K
LSAgICB2b2lkIGRlcmVmKCkgY29uc3QgeyB9Ci0KLXByaXZhdGU6Ci0gICAgdm9pZCBtYWtlQ3Jl
ZGVudGlhbChjb25zdCBWZWN0b3I8dWludDhfdD4mIGhhc2gsIGNvbnN0IFB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJikgZmluYWw7
Ci0gICAgdm9pZCBnZXRBc3NlcnRpb24oY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBoYXNoLCBjb25z
dCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmLCBSZXF1ZXN0Q29tcGxldGlvbkhh
bmRsZXImJikgZmluYWw7Ci0gICAgdm9pZCBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRp
Y2F0b3JBdmFpbGFibGUoUXVlcnlDb21wbGV0aW9uSGFuZGxlciYmKSBmaW5hbDsKLQotICAgIC8v
IEFsbCBmb2xsb3dpbmcgZmllbGRzIGFyZSBkaXNwb3NhYmxlLgotICAgIGJvb2wgbV9kaWRUaW1l
T3V0IHsgZmFsc2UgfTsKLSAgICBib29sIG1fZGlkVXNlckNhbmNlbCB7IGZhbHNlIH07Ci0gICAg
Ym9vbCBtX2RpZFVzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50IHsgZmFs
c2UgfTsKLSAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fY3JlZGVudGlhbElkOwotICAgIFJlZlB0
cjxBcnJheUJ1ZmZlcj4gbV9hdHRlc3RhdGlvbk9iamVjdDsKLSAgICBSZWZQdHI8QXJyYXlCdWZm
ZXI+IG1fYXV0aGVudGljYXRvckRhdGE7Ci0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBtX3NpZ25h
dHVyZTsKLSAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fdXNlckhhbmRsZTsKLX07Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9y
LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWFjNWNiMmVmODIwYjUwMjZhMjU5
OGNmZDJmY2NiNjU3NTMzZWQ5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsK
LSAgICBDb25kaXRpb25hbD1XRUJfQVVUSE4sCi0gICAgTm9JbnRlcmZhY2VPYmplY3QsCi1dIGlu
dGVyZmFjZSBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yIHsKLSAgICB2b2lkIHNldERpZFRp
bWVPdXQoKTsKLSAgICB2b2lkIHNldERpZFVzZXJDYW5jZWwoKTsKLSAgICB2b2lkIHNldERpZFVz
ZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50KCk7Ci0gICAgdm9pZCBzZXRD
cmVhdGlvblJldHVybkJ1bmRsZShCdWZmZXJTb3VyY2UgY3JlZGVudGlhbElkLCBCdWZmZXJTb3Vy
Y2UgYXR0ZXN0YXRpb25PYmplY3QpOwotICAgIHZvaWQgc2V0QXNzZXJ0aW9uUmV0dXJuQnVuZGxl
KEJ1ZmZlclNvdXJjZSBjcmVkZW50aWFsSWQsIEJ1ZmZlclNvdXJjZSBhdXRoZW50aWNhdG9yRGF0
YSwgQnVmZmVyU291cmNlIHNpZ25hdHVyZSwgQnVmZmVyU291cmNlIHVzZXJIYW5kbGUpOwotfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFT
dG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRh
U3RvcmVSZWYuY3BwCmluZGV4IDRhNjFjOTUyMjVhM2I0NTY1NTM4MjQ5OGUwMDZhYWY1ZGQ3YTY2
ODAuLjJlZTUzZDRhY2MwN2JkNTMxNTQ4NTQ4YzljZGM0NjRlYWNlMTMxNjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVm
LmNwcApAQCAtNTc1LDEyICs1NzUsMTYgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KFdLV2Vic2l0ZURhdGFTdG9yZVIKIHZvaWQg
V0tXZWJzaXRlRGF0YVN0b3JlU2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbihX
S1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS0RpY3Rpb25hcnlSZWYgY29uZmln
dXJhdGlvblJlZikKIHsKICNpZiBFTkFCTEUoV0VCX0FVVEhOKQotICAgIGF1dG8gbG9jYWxSZWYg
PSBzdGF0aWNfY2FzdDxXS0RpY3Rpb25hcnlSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
Y29uZmlndXJhdGlvblJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
TG9jYWwiKSkuZ2V0KCkpKTsKLQogICAgIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRp
b24gY29uZmlndXJhdGlvbjsKLSAgICBjb25maWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF1dGhlbnRp
Y2F0aW9uID0gV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0Rp
Y3Rpb25hcnlHZXRJdGVtRm9yS2V5KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJBY2NlcHRBdXRoZW50aWNhdGlvbiIpKS5nZXQoKSkpKTsKLSAgICBjb25m
aWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF0dGVzdGF0aW9uID0gV0tCb29sZWFuR2V0VmFsdWUoc3Rh
dGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGxvY2FsUmVm
LCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRBdHRlc3RhdGlv
biIpKS5nZXQoKSkpKTsKLSAgICBjb25maWd1cmF0aW9uLmxvY2FsLnByaXZhdGVLZXlCYXNlNjQg
PSBXZWJLaXQ6OnRvSW1wbChzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0
SXRlbUZvcktleShsb2NhbFJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiUHJpdmF0ZUtleUJhc2U2NCIpKS5nZXQoKSkpKS0+c3RyaW5nKCk7CisKKyAgICBhdXRvIGxv
Y2FsUmVmID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihXS0RpY3Rpb25hcnlHZXRJdGVt
Rm9yS2V5KGNvbmZpZ3VyYXRpb25SZWYsIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIkxvY2FsIikpLmdldCgpKSk7CisgICAgaWYgKGxvY2FsUmVmKSB7CisgICAgICAgIE1v
Y2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb246OkxvY2FsIGxvY2FsOworICAgICAgICBs
b2NhbC5hY2NlcHRBdXRoZW50aWNhdGlvbiA9IFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0
PFdLQm9vbGVhblJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwgYWRvcHRX
SyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXV0aGVudGljYXRpb24iKSku
Z2V0KCkpKSk7CisgICAgICAgIGxvY2FsLmFjY2VwdEF0dGVzdGF0aW9uID0gV0tCb29sZWFuR2V0
VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5
KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJBY2NlcHRB
dHRlc3RhdGlvbiIpKS5nZXQoKSkpKTsKKyAgICAgICAgbG9jYWwucHJpdmF0ZUtleUJhc2U2NCA9
IFdlYktpdDo6dG9JbXBsKHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJ
dGVtRm9yS2V5KGxvY2FsUmVmLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJQcml2YXRlS2V5QmFzZTY0IikpLmdldCgpKSkpLT5zdHJpbmcoKTsKKyAgICAgICAgY29uZmln
dXJhdGlvbi5sb2NhbCA9IFdURk1vdmUobG9jYWwpOworICAgIH0KIAogICAgIFdlYktpdDo6dG9J
bXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVEYXRhU3RvcmUoKS5zZXRNb2NrV2ViQXV0aGVudGlj
YXRpb25Db25maWd1cmF0aW9uKFdURk1vdmUoY29uZmlndXJhdGlvbikpOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01v
Y2tMb2NhbENvbm5lY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9Nb2NrL01vY2tMb2NhbENvbm5lY3Rpb24ubW0KaW5kZXggNjI3YzkxZjM0Nzg1YjBm
MzM4MjRjMDhmNTU1NWFhYzVjNTQ1ZjkyZS4uMDkxZDQ0ZDNkMWE4N2Y4Mjc3ODAzMGJjNDAwYzBi
MzFhMTIyMTgyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlvbi5tbQpA
QCAtNzMsNyArNzMsOCBAQCB2b2lkIE1vY2tMb2NhbENvbm5lY3Rpb246OmdldFVzZXJDb25zZW50
KGNvbnN0IFN0cmluZyYsIFVzZXJDb25zZW50Q2FsbGJhY2smJiBjYQogewogICAgIC8vIE1vY2sg
YXN5bmMgb3BlcmF0aW9ucy4KICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbmZpZ3Vy
YXRpb24gPSBtX2NvbmZpZ3VyYXRpb24sIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkg
bXV0YWJsZSB7Ci0gICAgICAgIGlmICghY29uZmlndXJhdGlvbi5sb2NhbC5hY2NlcHRBdXRoZW50
aWNhdGlvbikgeworICAgICAgICBBU1NFUlQoY29uZmlndXJhdGlvbi5sb2NhbCk7CisgICAgICAg
IGlmICghY29uZmlndXJhdGlvbi5sb2NhbC0+YWNjZXB0QXV0aGVudGljYXRpb24pIHsKICAgICAg
ICAgICAgIGNhbGxiYWNrKFVzZXJDb25zZW50OjpObyk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KQEAgLTg1LDcgKzg2LDggQEAgdm9pZCBNb2NrTG9jYWxDb25uZWN0aW9uOjpnZXRV
c2VyQ29uc2VudChjb25zdCBTdHJpbmcmLCBTZWNBY2Nlc3NDb250cm9sUmVmLCBVc2UKIHsKICAg
ICAvLyBNb2NrIGFzeW5jIG9wZXJhdGlvbnMuCiAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNo
KFtjb25maWd1cmF0aW9uID0gbV9jb25maWd1cmF0aW9uLCBjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spXSgpIG11dGFibGUgewotICAgICAgICBpZiAoIWNvbmZpZ3VyYXRpb24ubG9jYWwuYWNj
ZXB0QXV0aGVudGljYXRpb24pIHsKKyAgICAgICAgQVNTRVJUKGNvbmZpZ3VyYXRpb24ubG9jYWwp
OworICAgICAgICBpZiAoIWNvbmZpZ3VyYXRpb24ubG9jYWwtPmFjY2VwdEF1dGhlbnRpY2F0aW9u
KSB7CiAgICAgICAgICAgICBjYWxsYmFjayhVc2VyQ29uc2VudDo6Tm8sIG5pbCk7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTk5LDcgKzEwMSw4IEBAIHZvaWQgTW9ja0xvY2Fs
Q29ubmVjdGlvbjo6Z2V0QXR0ZXN0YXRpb24oY29uc3QgU3RyaW5nJiBycElkLCBjb25zdCBTdHJp
bmcmIHVzZXJuCiAKICAgICAvLyBNb2NrIGFzeW5jIG9wZXJhdGlvbnMuCiAgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFtjb25maWd1cmF0aW9uID0gbV9jb25maWd1cmF0aW9uLCBycElkLCB1
c2VybmFtZSwgaGFzaCwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBtdXRhYmxlIHsK
LSAgICAgICAgaWYgKCFjb25maWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF0dGVzdGF0aW9uKSB7Cisg
ICAgICAgIEFTU0VSVChjb25maWd1cmF0aW9uLmxvY2FsKTsKKyAgICAgICAgaWYgKCFjb25maWd1
cmF0aW9uLmxvY2FsLT5hY2NlcHRBdHRlc3RhdGlvbikgewogICAgICAgICAgICAgY2FsbGJhY2so
TlVMTCwgTlVMTCwgW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOk5TT1NTdGF0dXNFcnJvckRvbWFp
biBjb2RlOi0xIHVzZXJJbmZvOm5pbF0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CkBAIC0xMTIsNyArMTE1LDcgQEAgdm9pZCBNb2NrTG9jYWxDb25uZWN0aW9uOjpnZXRBdHRlc3Rh
dGlvbihjb25zdCBTdHJpbmcmIHJwSWQsIGNvbnN0IFN0cmluZyYgdXNlcm4KICAgICAgICAgfTsK
ICAgICAgICAgQ0ZFcnJvclJlZiBlcnJvclJlZiA9IG51bGxwdHI7CiAgICAgICAgIGF1dG8ga2V5
ID0gYWRvcHRDRihTZWNLZXlDcmVhdGVXaXRoRGF0YSgKLSAgICAgICAgICAgIChfX2JyaWRnZSBD
RkRhdGFSZWYpYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3Ry
aW5nOmNvbmZpZ3VyYXRpb24ubG9jYWwucHJpdmF0ZUtleUJhc2U2NCBvcHRpb25zOk5TRGF0YUJh
c2U2NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKKyAgICAgICAgICAg
IChfX2JyaWRnZSBDRkRhdGFSZWYpYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNl
NjRFbmNvZGVkU3RyaW5nOmNvbmZpZ3VyYXRpb24ubG9jYWwtPnByaXZhdGVLZXlCYXNlNjQgb3B0
aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9yZVVua25vd25DaGFyYWN0ZXJzXSkuZ2V0KCks
CiAgICAgICAgICAgICAoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKW9wdGlvbnMsCiAgICAgICAg
ICAgICAmZXJyb3JSZWYKICAgICAgICAgKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbFNlcnZpY2UuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxTZXJ2
aWNlLmNwcAppbmRleCBmMGU3OTk5YzcyYjBjZmY2YmIxNWZiNjFlZGQxYWMwYTkxNGZlYzVkLi5h
YWQ3ZTNlZmFkNjIxMzA2ZmVjOTExZDA4ZWIxODc1OTg4NTJhNDU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbFNlcnZp
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01v
Y2svTW9ja0xvY2FsU2VydmljZS5jcHAKQEAgLTQyLDcgKzQyLDggQEAgTW9ja0xvY2FsU2Vydmlj
ZTo6TW9ja0xvY2FsU2VydmljZShPYnNlcnZlciYgb2JzZXJ2ZXIsIGNvbnN0IE1vY2tXZWJBdXRo
ZW50aWNhdGkKIAogYm9vbCBNb2NrTG9jYWxTZXJ2aWNlOjpwbGF0Zm9ybVN0YXJ0RGlzY292ZXJ5
KCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRSgxODk2NDIpOiB3ZSBzaG91bGQgdGVzdCBmYWxzZSBj
YXNlLgorICAgIGlmICghbV9jb25maWd1cmF0aW9uLmxvY2FsKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9j
ay9Nb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmgKaW5kZXggMDc0ZmNhY2M1Yzg1
ZWVhZjAyMGEwYzNlODA5N2M1M2FjNjE5ZDljYy4uZmRjZmYzN2U2NjEwYjRkOTI5YTk4MTdhZWVl
ZDA2ZWY0NmNiNDY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vTW9jay9Nb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrV2Vi
QXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmgKQEAgLTM2LDcgKzM2LDcgQEAgc3RydWN0IE1v
Y2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24gewogICAgICAgICBTdHJpbmcgcHJpdmF0
ZUtleUJhc2U2NDsKICAgICB9OwogCi0gICAgTG9jYWwgbG9jYWw7CisgICAgc3RkOjpvcHRpb25h
bDxMb2NhbD4gbG9jYWw7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmNmVmMWVjYzc4MTQ1MWE2
OGI0ZTNkODg2MDQ0NzI4ZTY2ZDQyNWU2Li4zNzhjZTExZTJjMmQ3ZTNlYTg1OGE1ODU5MzVkZGUy
ZDg1NmJhZWU3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMDktMjcgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFu
QGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aE5dIFBvbGlzaCBXZWJBdXRoTiBhdXRvLXRl
c3QgZW52aXJvbm1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4OTI4MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxMTc4Mjg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVy
OjpzZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9uKToKKwogMjAxOC0wOS0yNyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVS
TFBhcnNlciBzaG91bGQgdXNlIFRleHRFbmNvZGluZyB0aHJvdWdoIGFuIGFic3RyYWN0IGNsYXNz
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmNwcAppbmRleCBmMzYwNGI3ZWVlNTg4OWNjNTZkZDEyZDI2NmZhNTc4ZTViYTNkMWI0Li5k
ZDRlMzk2YmNkNWJmN2FkY2E5YzNkZjEwNjkxNDYxMzliZWViYjhlIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTIz
NTgsNTIgKzIzNTgsNTUgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRXZWJBdXRoZW50aWNhdGlvbk1v
Y2tDb25maWd1cmF0aW9uKEpTVmFsdWVSZWYgY29uZmlndXJhdGlvblYKICAgICAgICAgcmV0dXJu
OwogICAgIEpTT2JqZWN0UmVmIGNvbmZpZ3VyYXRpb24gPSBKU1ZhbHVlVG9PYmplY3QoY29udGV4
dCwgY29uZmlndXJhdGlvblZhbHVlLCAwKTsKIAorICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4+IGNvbmZpZ3VyYXRpb25LZXlzOworICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5
cGVSZWY+PiBjb25maWd1cmF0aW9uVmFsdWVzOworCiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IGxvY2FsUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygibG9jYWwiKSk7CiAgICAgSlNWYWx1ZVJlZiBsb2NhbFZhbHVlID0gSlNPYmplY3RHZXRQcm9w
ZXJ0eShjb250ZXh0LCBjb25maWd1cmF0aW9uLCBsb2NhbFByb3BlcnR5TmFtZS5nZXQoKSwgMCk7
Ci0gICAgaWYgKCFKU1ZhbHVlSXNPYmplY3QoY29udGV4dCwgbG9jYWxWYWx1ZSkpCi0gICAgICAg
IHJldHVybjsKLSAgICBKU09iamVjdFJlZiBsb2NhbCA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0
LCBsb2NhbFZhbHVlLCAwKTsKLQotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhY2NlcHRB
dXRoZW50aWNhdGlvblByb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoImFjY2VwdEF1dGhlbnRpY2F0aW9uIikpOwotICAgIEpTVmFsdWVSZWYgYWNjZXB0QXV0
aGVudGljYXRpb25WYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgbG9jYWwsIGFj
Y2VwdEF1dGhlbnRpY2F0aW9uUHJvcGVydHlOYW1lLmdldCgpLCAwKTsKLSAgICBpZiAoIUpTVmFs
dWVJc0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0QXV0aGVudGljYXRpb25WYWx1ZSkpCi0gICAgICAg
IHJldHVybjsKLSAgICBib29sIGFjY2VwdEF1dGhlbnRpY2F0aW9uID0gSlNWYWx1ZVRvQm9vbGVh
bihjb250ZXh0LCBhY2NlcHRBdXRoZW50aWNhdGlvblZhbHVlKTsKLQotICAgIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBhY2NlcHRBdHRlc3RhdGlvblByb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImFjY2VwdEF0dGVzdGF0aW9uIikpOwotICAgIEpTVmFs
dWVSZWYgYWNjZXB0QXR0ZXN0YXRpb25WYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4
dCwgbG9jYWwsIGFjY2VwdEF0dGVzdGF0aW9uUHJvcGVydHlOYW1lLmdldCgpLCAwKTsKLSAgICBp
ZiAoIUpTVmFsdWVJc0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0QXR0ZXN0YXRpb25WYWx1ZSkpCi0g
ICAgICAgIHJldHVybjsKLSAgICBib29sIGFjY2VwdEF0dGVzdGF0aW9uID0gSlNWYWx1ZVRvQm9v
bGVhbihjb250ZXh0LCBhY2NlcHRBdHRlc3RhdGlvblZhbHVlKTsKLQotICAgIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBwcml2YXRlS2V5QmFzZTY0UHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygicHJpdmF0ZUtleUJhc2U2NCIpKTsKLSAgICBKU1ZhbHVl
UmVmIHByaXZhdGVLZXlCYXNlNjRWYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwg
bG9jYWwsIHByaXZhdGVLZXlCYXNlNjRQcm9wZXJ0eU5hbWUuZ2V0KCksIDApOwotICAgIGlmICgh
SlNWYWx1ZUlzU3RyaW5nKGNvbnRleHQsIHByaXZhdGVLZXlCYXNlNjRWYWx1ZSkpCi0gICAgICAg
IHJldHVybjsKKyAgICBpZiAoIUpTVmFsdWVJc051bGwoY29udGV4dCwgbG9jYWxWYWx1ZSkpIHsK
KyAgICAgICAgaWYgKCFKU1ZhbHVlSXNPYmplY3QoY29udGV4dCwgbG9jYWxWYWx1ZSkpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIEpTT2JqZWN0UmVmIGxvY2FsID0gSlNWYWx1ZVRvT2Jq
ZWN0KGNvbnRleHQsIGxvY2FsVmFsdWUsIDApOworCisgICAgICAgIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBhY2NlcHRBdXRoZW50aWNhdGlvblByb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoImFjY2VwdEF1dGhlbnRpY2F0aW9uIikpOworICAgICAgICBK
U1ZhbHVlUmVmIGFjY2VwdEF1dGhlbnRpY2F0aW9uVmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5
KGNvbnRleHQsIGxvY2FsLCBhY2NlcHRBdXRoZW50aWNhdGlvblByb3BlcnR5TmFtZS5nZXQoKSwg
MCk7CisgICAgICAgIGlmICghSlNWYWx1ZUlzQm9vbGVhbihjb250ZXh0LCBhY2NlcHRBdXRoZW50
aWNhdGlvblZhbHVlKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYm9vbCBhY2NlcHRB
dXRoZW50aWNhdGlvbiA9IEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0QXV0aGVudGlj
YXRpb25WYWx1ZSk7CisKKyAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGFjY2VwdEF0
dGVzdGF0aW9uUHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiYWNjZXB0QXR0ZXN0YXRpb24iKSk7CisgICAgICAgIEpTVmFsdWVSZWYgYWNjZXB0QXR0ZXN0
YXRpb25WYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgbG9jYWwsIGFjY2VwdEF0
dGVzdGF0aW9uUHJvcGVydHlOYW1lLmdldCgpLCAwKTsKKyAgICAgICAgaWYgKCFKU1ZhbHVlSXNC
b29sZWFuKGNvbnRleHQsIGFjY2VwdEF0dGVzdGF0aW9uVmFsdWUpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBib29sIGFjY2VwdEF0dGVzdGF0aW9uID0gSlNWYWx1ZVRvQm9vbGVhbihj
b250ZXh0LCBhY2NlcHRBdHRlc3RhdGlvblZhbHVlKTsKKworICAgICAgICBKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gcHJpdmF0ZUtleUJhc2U2NFByb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoInByaXZhdGVLZXlCYXNlNjQiKSk7CisgICAgICAgIEpTVmFs
dWVSZWYgcHJpdmF0ZUtleUJhc2U2NFZhbHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0
LCBsb2NhbCwgcHJpdmF0ZUtleUJhc2U2NFByb3BlcnR5TmFtZS5nZXQoKSwgMCk7CisgICAgICAg
IGlmICghSlNWYWx1ZUlzU3RyaW5nKGNvbnRleHQsIHByaXZhdGVLZXlCYXNlNjRWYWx1ZSkpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPj4gbG9jYWxLZXlzOworICAgICAgICBWZWN0b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4g
bG9jYWxWYWx1ZXM7CisgICAgICAgIGxvY2FsS2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXV0aGVudGljYXRpb24iKSB9KTsKKyAgICAg
ICAgbG9jYWxWYWx1ZXMuYXBwZW5kKGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKGFjY2VwdEF1dGhl
bnRpY2F0aW9uKSkuZ2V0KCkpOworICAgICAgICBsb2NhbEtleXMuYXBwZW5kKHsgQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkFjY2VwdEF0dGVzdGF0aW9uIikgfSk7Cisg
ICAgICAgIGxvY2FsVmFsdWVzLmFwcGVuZChhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZShhY2NlcHRB
dHRlc3RhdGlvbikpLmdldCgpKTsKKyAgICAgICAgbG9jYWxLZXlzLmFwcGVuZCh7IEFkb3B0V0ss
IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJQcml2YXRlS2V5QmFzZTY0IikgfSk7Cisg
ICAgICAgIGxvY2FsVmFsdWVzLmFwcGVuZCh0b1dLKGFkb3B0KEpTVmFsdWVUb1N0cmluZ0NvcHko
Y29udGV4dCwgcHJpdmF0ZUtleUJhc2U2NFZhbHVlLCAwKSkuZ2V0KCkpKTsKKworICAgICAgICBW
ZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0xvY2FsS2V5czsKKyAgICAgICAgVmVjdG9yPFdLVHlwZVJl
Zj4gcmF3TG9jYWxWYWx1ZXM7CisgICAgICAgIHJhd0xvY2FsS2V5cy5yZXNpemUobG9jYWxLZXlz
LnNpemUoKSk7CisgICAgICAgIHJhd0xvY2FsVmFsdWVzLnJlc2l6ZShsb2NhbFZhbHVlcy5zaXpl
KCkpOworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxvY2FsS2V5cy5zaXplKCk7ICsr
aSkgeworICAgICAgICAgICAgcmF3TG9jYWxLZXlzW2ldID0gbG9jYWxLZXlzW2ldLmdldCgpOwor
ICAgICAgICAgICAgcmF3TG9jYWxWYWx1ZXNbaV0gPSBsb2NhbFZhbHVlc1tpXS5nZXQoKTsKKyAg
ICAgICAgfQogCi0gICAgVmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4gbG9jYWxLZXlz
OwotICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiBsb2NhbFZhbHVlczsKLSAgICBs
b2NhbEtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IkFjY2VwdEF1dGhlbnRpY2F0aW9uIikgfSk7Ci0gICAgbG9jYWxWYWx1ZXMuYXBwZW5kKGFkb3B0
V0soV0tCb29sZWFuQ3JlYXRlKGFjY2VwdEF1dGhlbnRpY2F0aW9uKSkuZ2V0KCkpOwotICAgIGxv
Y2FsS2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
QWNjZXB0QXR0ZXN0YXRpb24iKSB9KTsKLSAgICBsb2NhbFZhbHVlcy5hcHBlbmQoYWRvcHRXSyhX
S0Jvb2xlYW5DcmVhdGUoYWNjZXB0QXR0ZXN0YXRpb24pKS5nZXQoKSk7Ci0gICAgbG9jYWxLZXlz
LmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJQcml2YXRl
S2V5QmFzZTY0IikgfSk7Ci0gICAgbG9jYWxWYWx1ZXMuYXBwZW5kKHRvV0soYWRvcHQoSlNWYWx1
ZVRvU3RyaW5nQ29weShjb250ZXh0LCBwcml2YXRlS2V5QmFzZTY0VmFsdWUsIDApKS5nZXQoKSkp
OwotCi0gICAgVmVjdG9yPFdLU3RyaW5nUmVmPiByYXdMb2NhbEtleXM7Ci0gICAgVmVjdG9yPFdL
VHlwZVJlZj4gcmF3TG9jYWxWYWx1ZXM7Ci0gICAgcmF3TG9jYWxLZXlzLnJlc2l6ZShsb2NhbEtl
eXMuc2l6ZSgpKTsKLSAgICByYXdMb2NhbFZhbHVlcy5yZXNpemUobG9jYWxWYWx1ZXMuc2l6ZSgp
KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxvY2FsS2V5cy5zaXplKCk7ICsraSkgewot
ICAgICAgICByYXdMb2NhbEtleXNbaV0gPSBsb2NhbEtleXNbaV0uZ2V0KCk7Ci0gICAgICAgIHJh
d0xvY2FsVmFsdWVzW2ldID0gbG9jYWxWYWx1ZXNbaV0uZ2V0KCk7CisgICAgICAgIGNvbmZpZ3Vy
YXRpb25LZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJMb2NhbCIpIH0pOworICAgICAgICBjb25maWd1cmF0aW9uVmFsdWVzLmFwcGVuZCh7IEFkb3B0
V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShyYXdMb2NhbEtleXMuZGF0YSgpLCByYXdMb2NhbFZhbHVl
cy5kYXRhKCksIHJhd0xvY2FsS2V5cy5zaXplKCkpIH0pOwogICAgIH0KIAotICAgIFZlY3RvcjxX
S1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGNvbmZpZ3VyYXRpb25LZXlzOwotICAgIFZlY3RvcjxX
S1JldGFpblB0cjxXS1R5cGVSZWY+PiBjb25maWd1cmF0aW9uVmFsdWVzOwotICAgIGNvbmZpZ3Vy
YXRpb25LZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJMb2NhbCIpIH0pOwotICAgIGNvbmZpZ3VyYXRpb25WYWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywg
V0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0xvY2FsS2V5cy5kYXRhKCksIHJhd0xvY2FsVmFsdWVzLmRh
dGEoKSwgcmF3TG9jYWxLZXlzLnNpemUoKSkgfSk7Ci0KICAgICBWZWN0b3I8V0tTdHJpbmdSZWY+
IHJhd0NvbmZpZ3VyYXRpb25LZXlzOwogICAgIFZlY3RvcjxXS1R5cGVSZWY+IHJhd0NvbmZpZ3Vy
YXRpb25WYWx1ZXM7CiAgICAgcmF3Q29uZmlndXJhdGlvbktleXMucmVzaXplKGNvbmZpZ3VyYXRp
b25LZXlzLnNpemUoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmMxNzg2MzA4MWU4OTg2YTkwNWMzNmFiMGVhOTNhYTcx
MDQwNWU0MS4uOGZkNDdhZjQ5MjZmZThhNzI5YmZmYjI1M2UwZGIwZGE4NDhlYmQzYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDU1IEBACisyMDE4LTA5LTI3ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQb2xpc2ggV2ViQXV0aE4gYXV0by10ZXN0IGVu
dmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MTE3ODI4PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9s
bG93aW5nIGZldyB0aGluZ3M6CisgICAgICAgIDEuIFVwZGF0ZSB0ZXN0cyB0aGF0IGVtcGxveSBv
bGQgbW9ja2luZyBtZWNobmlzbSB0byB0aGUgbmV3IG9uZS4KKyAgICAgICAgMi4gTW92ZSB0ZXN0
cyBmcm9tIGh0dHAvdGVzdHMvd2ViYXV0aG4gdG8gaHR0cC93cHQvd2ViYXV0aG4uIEFzIGEgcmVz
dWx0LCB3ZSBoYXZlIG9uZSB1bmlmaWVkIHBsYWNlIGZvcgorICAgICAgICBhbGwgV2ViQXV0aE4g
dGVzdHM6IGh0dHAvd3B0L3dlYmF1dGhuLgorICAgICAgICAzLiBBZGQgYSBoZWxwZXIgZnVuY3Rp
b24gdG8gY2hlY2sgRE9NRXhjZXB0aW9uIG1lc3NhZ2UgYXMgd2VsbC4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0cHMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9y
aWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4t
d2l0aC1hbmNlc3RvcnMuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWw6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qczogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNj
b250YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2Vi
YXV0aG4vaWRsLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWw6CisgICAgICAg
ICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJl
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMt
a2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXN1Y2Nlc3MuaHR0cHMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1Ymxp
Yy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0
aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52
YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlk
LXBhcmFtZXRlcnMuaHR0cHMuaHRtbC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJs
aWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbDoKKyAgICAgICAg
KiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLWdldC1zdWNjZXNzLmh0dHBzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1l
dGVycy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0
cHMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVi
bGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1s
LgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1l
LW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13
aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJh
dXRobi9yZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBz
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291
cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbC4KKyAgICAgICAgKiBodHRwL3dwdC93
ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDE4LTA5LTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVn
cmVzc2lvbihyMjM2NTEyKTogZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWFuaW1hdG9yLW92ZXJsYXkt
c2Nyb2xsYmFycy1jbGlja2VkLmh0bWwgYW5kIGVkaXRpbmcvcGFzdGVib2FyZC9lbWFjcy1jdHJs
LWEtay15Lmh0bWwgYXJlIGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3MTYxYTg0ZDY5ZmQ2
NzE1YmJhNmJjYjJjMjJhNjgyMDU0YjcyZDY1Li45NDM4Mzg2NWE0YzA2Nzg4OWE3YWY5ZTg5ZWVm
Y2MxNWNlY2EzZWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI4NjUsMTQgKzI4NjUsNiBAQCBm
YXN0L2dyYWRpZW50cy9jb25pYy10d28taGludHMuaHRtbCBbIFNraXAgXQogCiB3ZWJraXQub3Jn
L2IvMTg3NzczIGh0dHAvdGVzdHMvd2ViQVBJU3RhdGlzdGljcyBbIFNraXAgXQogCi0jIFRlbXBv
cmFyeSBkaXNhYmxlcyBvbGQgV2ViQXV0aE4gdGVzdHMsIHdpbGwgZWl0aGVyIHJlZW5hYmxlIG9y
IHJlbW92ZSB0aGVtIGluIHdlYmtpdC5vcmcvYi8xODkyODMKLWh0dHAvd3B0L2NyZWRlbnRpYWwt
bWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1zdG9yZS1iYXNpY3MuaHR0cHMuaHRtbCBb
IFNraXAgXQotaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1m
YWlsdXJlLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy5odG1sIFsgU2tpcCBdCi1odHRwL3dwdC93
ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMuaHRtbCBbIFNr
aXAgXQotaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1zdWNjZXNz
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KLWh0dHAvd3B0L3dlYmF1dGhuL2lkbC5odHRwcy5odG1sIFsg
U2tpcCBdCi0KIHdlYmtpdC5vcmcvYi8xODk5OTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nLndvcmtlci5odG1sIFsgRmFpbHVy
ZSBdCiAKICMgVGhpcyBpcyBmYWxsb3V0IGZyb20gdHVybmluZyBXZWIgQW5pbWF0aW9ucyBvbi4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1j
cmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlh
bC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Y2UxZGZiY2U4NjdlMGMwNzU1M2QzOGQyNGY3Njg1
NzY1YTdmYTllLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNy
ZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw2NCArMCwwIEBACi1UZXN0cyB0aGF0IFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2NyZWF0ZV1dIHRocm93cyBUeXBlRXJyb3Igd2hlbiBpbnZhbGlkIG9wdGlvbnMgYXJlIHBhc3Nl
ZC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLnJwIGlzIHJl
cXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFB1YmxpY0tleUNyZWRlbnRpYWxScEVu
dGl0eS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zLnVzZXIgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgUHVibGljS2V5Q3JlZGVudGlhbFVzZXJFbnRpdHkuCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5jaGFsbGVu
Z2UgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgKEFycmF5QnVmZmVyVmll
dyBvciBBcnJheUJ1ZmZlcikuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5wdWJLZXlDcmVkUGFyYW1zIGlzIHJlcXVp
cmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIHNlcXVlbmNlLgotUEFTUyBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxScEVudGl0eS5uYW1lIGlzIHJl
cXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KLVBBU1MgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0eS5uYW1l
IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KLVBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0
eS5pZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiAoQXJyYXlCdWZmZXJW
aWV3IG9yIEFycmF5QnVmZmVyKS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShp
bnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQ
dWJsaWNLZXlDcmVkZW50aWFsVXNlckVudGl0eS5kaXNwbGF5TmFtZSBpcyByZXF1aXJlZCBhbmQg
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMudHlwZSBpcyByZXF1aXJl
ZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS4KLVBB
U1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1l
dGVycy5hbGcgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgbG9uZy4KLVBB
U1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3Jp
cHRvci50eXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFB1YmxpY0tl
eUNyZWRlbnRpYWxUeXBlLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFs
aWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1Ymxp
Y0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmlkIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIChBcnJheUJ1ZmZlclZpZXcgb3IgQXJyYXlCdWZmZXIpLgotUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNT
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIHN0cmlu
Zy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRv
IGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRp
b25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBz
eW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVh
dGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBl
IGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25z
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRP
cHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQg
YSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUo
aW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3Qg
Y29udmVydCBhIHN5bWJvbCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVh
dGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBl
IGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25z
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUo
aW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgbnVtYmVyLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBudW1i
ZXIuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlv
bnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5
bWJvbCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZh
bGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
Ci1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWYyNGQ3M2IzMWMwYWZjMjI3YWQ4MjJhZDc0Y2VhMjRk
OTlmN2MwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVh
dGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDEyMyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2Ny
aXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2NyZWF0ZV1dIHRocm93cyBUeXBlRXJyb3Igd2hlbiBpbnZhbGlkIG9wdGlvbnMgYXJlIHBhc3Nl
ZC4iKTsKLQotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0gICAgY29uc3QgcnAgPSB7Ci0g
ICAgICAgIG5hbWU6ICJleGFtcGxlLmNvbSIKLSAgICB9OwotICAgIGNvbnN0IHVzZXIgPSB7Ci0g
ICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCi0gICAgICAgIGlkOiBhc2NpaVRvVWludDhB
cnJheSgiMTIzNDU2IiksCi0gICAgICAgIGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIgotICAgIH07
Ci0gICAgY29uc3QgY2hhbGxlbmdlID0gYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpOwotICAg
IGNvbnN0IHB1YktleUNyZWRQYXJhbSA9IHsgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH07
Ci0gICAgY29uc3QgZXhjbHVkZUNyZWRlbnRpYWxzID0geyB0eXBlOiAicHVibGljLWtleSIsIGlk
OiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IikgfTsKLQotICAgIGNvbnN0IG1pc3NpbmdBdHRy
aWJ1dGVWZWN0b3IgPSBbCi0gICAgICAgIC8vIG1pc3NpbmcgdG9wIGxldmVsIGF0dHJpYnV0ZQot
ICAgICAgICBbdW5kZWZpbmVkLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwK
LSAgICAgICAgW3JwLCB1bmRlZmluZWQsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAot
ICAgICAgICBbcnAsIHVzZXIsIHVuZGVmaW5lZCwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgdW5kZWZpbmVkXSwKLSAgICAgICAgLy8gbWlzc2luZyBy
cCBhdHRyaWJ1dGUKLSAgICAgICAgW3sgbmFtZTogdW5kZWZpbmVkIH0sIHVzZXIsIGNoYWxsZW5n
ZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICAvLyBtaXNzaW5nIHVzZXIgYXR0cmlidXRl
Ci0gICAgICAgIFtycCwgeyBuYW1lOiB1bmRlZmluZWQsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFt
ZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAg
ICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogdW5kZWZpbmVkLCBkaXNwbGF5TmFtZTog
dXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAg
ICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IHVuZGVm
aW5lZH0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICAvLyBtaXNzaW5n
IHB1YktleUNyZWRQYXJhbXMgYXR0cmlidXRlCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdl
LCBbeyB0eXBlOiB1bmRlZmluZWQsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAg
ICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBwdWJLZXlDcmVkUGFyYW0udHlwZSwg
YWxnOiB1bmRlZmluZWQgfV1dLAotICAgICAgICAvLyBtaXNzaW5nIGV4Y2x1ZGVDcmVkZW50aWFs
cyBhdHRyaWJ1dGUKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFy
YW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IHVuZGVmaW5lZCwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFs
cy5pZCB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IHVuZGVm
aW5lZCB9XV0KLSAgICBdOwotCi0gICAgY29uc3Qgd3JvbmdUeXBlQXR0cmlidXRlVmVjdG9yID0g
WwotICAgICAgICAvLyB3cm9uZyBycCBhdHRyaWJ1dGUgdHlwZQotICAgICAgICBbeyBuYW1lOiBT
eW1ib2woKSB9LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAg
W3sgbmFtZTogcnAubmFtZSwgaWNvbjogU3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHVi
S2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFt7IG5hbWU6IHJwLm5hbWUsIGlkOiBTeW1ib2woKSB9
LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgLy8gd3Jvbmcg
dXNlciBhdHRyaWJ1dGUgdHlwZQotICAgICAgICBbcnAsIHsgbmFtZTogU3ltYm9sKCksIGlkOiB1
c2VyLmlkLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogMSwgZGlz
cGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1d
XSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHRydWUsIGRpc3BsYXlOYW1l
OiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAg
ICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiBudWxsLCBkaXNwbGF5TmFtZTogdXNlci5k
aXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAs
IHsgbmFtZTogdXNlci5uYW1lLCBpZDogU3ltYm9sKCksIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3Bs
YXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgeyBu
YW1lOiB1c2VyLm5hbWUsIGlkOiB7IH0sIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwg
Y2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgeyBuYW1lOiB1c2Vy
Lm5hbWUsIGlkOiAiZm9vIiwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVu
Z2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwg
aWQ6IFsgXSwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJL
ZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVzZXIu
aWQsIGRpc3BsYXlOYW1lOiBTeW1ib2woKX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1d
LAotICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogdXNlci5pZCwgZGlzcGxheU5h
bWU6IHVzZXIuZGlzcGxheU5hbWUsIGljb246IFN5bWJvbCgpfSwgY2hhbGxlbmdlLCBbcHViS2V5
Q3JlZFBhcmFtXV0sCi0gICAgICAgIC8vIHdyb25nIGNoYWxsZW5nZSB0eXBlCi0gICAgICAgIFty
cCwgdXNlciwgMSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHVzZXIsIHRydWUs
IFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBudWxsLCBbcHViS2V5Q3Jl
ZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdXNlciwgU3ltYm9sKCksIFtwdWJLZXlDcmVkUGFyYW1d
XSwKLSAgICAgICAgW3JwLCB1c2VyLCAiZm9vIiwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIFsgXSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHVzZXIs
IHsgfSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICAvLyB3cm9uZyBwdWJLZXlDcmVkUGFy
YW0gdHlwZQotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogMSwgYWxnOiBw
dWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7
IHR5cGU6IHRydWUsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAgICAgIFtycCwg
dXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBudWxsLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcg
fV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogU3ltYm9sKCksIGFs
ZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdl
LCBbeyB0eXBlOiAiZm9vIiwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKLSAgICAgICAg
W3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IFsgXSwgYWxnOiBwdWJLZXlDcmVkUGFyYW0u
YWxnIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IHsgfSwgYWxn
OiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2Us
IFt7IHR5cGU6IHB1YktleUNyZWRQYXJhbS50eXBlLCBhbGc6IFN5bWJvbCgpIH1dXSwKLSAgICAg
ICAgLy8gd3JvbmcgdGltZW91dCB0eXBlCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBb
cHViS2V5Q3JlZFBhcmFtXSwgU3ltYm9sKCksIHVuZGVmaW5lZF0sCi0gICAgICAgIC8vIHdyb25n
IGV4Y2x1ZGVDcmVkZW50aWFscwotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogMSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFs
cy5pZCB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XSwgdW5kZWZpbmVkLCBbeyB0eXBlOiB0cnVlLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1d
XSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRl
ZmluZWQsIFt7IHR5cGU6IG51bGwsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAg
ICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwg
W3sgdHlwZTogU3ltYm9sKCksIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sg
dHlwZTogImZvbyIsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAgICBbcnAs
IHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTog
WyBdLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBj
aGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IHsgfSwgaWQ6
IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdl
LCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlh
bHMudHlwZSwgaWQ6IDEgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUs
IGlkOiB0cnVlIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVk
UGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDog
bnVsbCB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IFN5bWJv
bCgpIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1d
LCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogImZvbyIg
fV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVu
ZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiBbIF0gfV1dLAot
ICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5l
ZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiB7IH0gfV1dCi0gICAgXQot
Ci0gICAgZnVuY3Rpb24gbWFrZU9wdGlvbnMoYXR0cmlidXRlcykKLSAgICB7Ci0gICAgICAgIGlm
IChhdHRyaWJ1dGVzLmxlbmd0aCA9PSA0KQotICAgICAgICAgICAgcmV0dXJuIHsgcHVibGljS2V5
OiB7IHJwOiBhdHRyaWJ1dGVzWzBdLCB1c2VyOiBhdHRyaWJ1dGVzWzFdLCBjaGFsbGVuZ2U6IGF0
dHJpYnV0ZXNbMl0sIHB1YktleUNyZWRQYXJhbXM6IGF0dHJpYnV0ZXNbM10gfSB9OwotICAgICAg
ICByZXR1cm4geyBwdWJsaWNLZXk6IHsgcnA6IGF0dHJpYnV0ZXNbMF0sIHVzZXI6IGF0dHJpYnV0
ZXNbMV0sIGNoYWxsZW5nZTogYXR0cmlidXRlc1syXSwgcHViS2V5Q3JlZFBhcmFtczogYXR0cmli
dXRlc1szXSwgdGltZW91dDogYXR0cmlidXRlc1s0XSwgIGV4Y2x1ZGVDcmVkZW50aWFsczogYXR0
cmlidXRlc1s1XX0gfTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KGF0dHJpYnV0ZXNW
ZWN0b3JzKSB7Ci0gICAgICAgIGF0dHJpYnV0ZXNWZWN0b3JzLmZvckVhY2goZnVuY3Rpb24oYXR0
cmlidXRlc1ZlY3RvcikgewotICAgICAgICAgICAgYXR0cmlidXRlc1ZlY3Rvci5mb3JFYWNoKGFz
eW5jIGZ1bmN0aW9uKGF0dHJpYnV0ZXMpIHsKLSAgICAgICAgICAgICAgICBpbnZhbGlkT3B0aW9u
cyA9IG1ha2VPcHRpb25zKGF0dHJpYnV0ZXMpOwotICAgICAgICAgICAgICAgIGF3YWl0IHNob3Vs
ZFJlamVjdCgnbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucyknKTsK
LSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLQotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
LSAgICB9Ci0KLSAgICBjb25zdCB2ZWN0b3JzID0gW107Ci0gICAgdmVjdG9ycy5wdXNoKG1pc3Np
bmdBdHRyaWJ1dGVWZWN0b3IpOwotICAgIHZlY3RvcnMucHVzaCh3cm9uZ1R5cGVBdHRyaWJ1dGVW
ZWN0b3IpOwotICAgIHJ1blRlc3QodmVjdG9ycyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlh
bC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2M4Njc2ODdmZTUyNjZkNTJjYWQ5ZDc3NDY1N2E0NWRj
ZjM3ZGVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13
aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwzNSArMCwwIEBACi1UZXN0cyB0aGF0IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1d
IHRocm93cyBUeXBlRXJyb3Igd2hlbiBpbnZhbGlkIG9wdGlvbnMgYXJlIHBhc3NlZC4KLQotT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdl
dChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJl
ciBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuY2hhbGxlbmdlIGlzIHJlcXVpcmVk
IGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIChBcnJheUJ1ZmZlclZpZXcgb3IgQXJyYXlCdWZm
ZXIpLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWpl
Y3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxE
ZXNjcmlwdG9yLnR5cGUgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUHVi
bGljS2V5Q3JlZGVudGlhbFR5cGUuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVi
bGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuaWQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgKEFycmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZlcikuCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0
KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGlu
dmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5j
cmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFs
aWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZl
cnQgYSBzeW1ib2wgdG8gYSBudW1iZXIuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQo
aW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3Qg
Y29udmVydCBhIHN5bWJvbCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdl
dChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5v
dCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9u
cykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5h
dmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2Ug
IHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Z2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmln
YXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0
KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGlu
dmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWlu
dmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlNmE4Y2I2NjI2MjYwOWZlYjYxNGUzYzU1ZjY3ZjcxMjg1ZmNiMzIzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVy
cy5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVz
dHMgdGhhdCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB0aHJvd3MgVHlwZUVycm9yIHdo
ZW4gaW52YWxpZCBvcHRpb25zIGFyZSBwYXNzZWQuIik7Ci0KLSAgICBqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKLQotICAgIGNvbnN0IGNoYWxsZW5nZSA9IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYi
KTsKLSAgICBjb25zdCBhbGxvd0NyZWRlbnRpYWwgPSB7IHR5cGU6ICJwdWJsaWMta2V5IiwgaWQ6
IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSB9OwotCi0gICAgY29uc3QgbWlzc2luZ0F0dHJp
YnV0ZVZlY3RvciA9IFsKLSAgICAgICAgLy8gbWlzc2luZyB0b3AgbGV2ZWwgYXR0cmlidXRlCi0g
ICAgICAgIFt1bmRlZmluZWRdLAotICAgICAgICAvLyBtaXNzaW5nIGFsbG93Q3JlZGVudGlhbHMg
YXR0cmlidXRlCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0
eXBlOiB1bmRlZmluZWQsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAotICAgICAgICBbY2hh
bGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5
cGUsIGlkOiB1bmRlZmluZWQgfV1dCi0gICAgXTsKLQotICAgIGNvbnN0IHdyb25nVHlwZUF0dHJp
YnV0ZVZlY3RvciA9IFsKLSAgICAgICAgLy8gd3JvbmcgY2hhbGxlbmdlIHR5cGUKLSAgICAgICAg
WzFdLAotICAgICAgICBbdHJ1ZV0sCi0gICAgICAgIFtudWxsXSwKLSAgICAgICAgW1N5bWJvbCgp
XSwKLSAgICAgICAgWyJmb28iXSwKLSAgICAgICAgW1sgXV0sCi0gICAgICAgIFt7IH1dLAotICAg
ICAgICAvLyB3cm9uZyB0aW1lb3V0IHR5cGUKLSAgICAgICAgW2NoYWxsZW5nZSwgU3ltYm9sKCks
IHVuZGVmaW5lZCwgdW5kZWZpbmVkXSwKLSAgICAgICAgLy8gd3JvbmcgcnBJZCB0eXBlCi0gICAg
ICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgU3ltYm9sKCksIHVuZGVmaW5lZF0sCi0gICAgICAg
IC8vIHdyb25nIGFsbG93Q3JlZGVudGlhbHMgdHlwZQotICAgICAgICBbY2hhbGxlbmdlLCB1bmRl
ZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogMSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0s
Ci0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiB0cnVl
LCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IG51bGwsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1d
LAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogU3lt
Ym9sKCksIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1
bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogImZvbyIsIGlkOiBhbGxvd0NyZWRlbnRpYWwu
aWQgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlw
ZTogWyBdLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwg
dW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IHsgfSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5p
ZCB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBl
OiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IDEgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1
bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiB0
cnVlIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5
cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogbnVsbCB9XV0sCi0gICAgICAgIFtjaGFsbGVu
Z2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwg
aWQ6IFN5bWJvbCgpIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogImZvbyIgfV1dLAotICAgICAg
ICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50
aWFsLnR5cGUsIGlkOiBbIF0gfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVu
ZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiB7IH0gfV1dCi0gICAg
XTsKLQotICAgIGZ1bmN0aW9uIG1ha2VPcHRpb25zKGF0dHJpYnV0ZXMpCi0gICAgewotICAgICAg
ICBpZiAoYXR0cmlidXRlcy5sZW5ndGggPT0gMSkKLSAgICAgICAgICAgIHJldHVybiB7IHB1Ymxp
Y0tleTogeyBjaGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMF0gfSB9OwotICAgICAgICByZXR1cm4geyBw
dWJsaWNLZXk6IHsgY2hhbGxlbmdlOiBhdHRyaWJ1dGVzWzBdLCB0aW1lb3V0OiBhdHRyaWJ1dGVz
WzFdLCBycElkOiBhdHRyaWJ1dGVzWzJdLCBhbGxvd0NyZWRlbnRpYWxzOiBhdHRyaWJ1dGVzWzNd
IH0gfTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBydW5UZXN0KGF0dHJpYnV0ZXNWZWN0b3JzKSB7
Ci0gICAgICAgIGF0dHJpYnV0ZXNWZWN0b3JzLmZvckVhY2goZnVuY3Rpb24oYXR0cmlidXRlc1Zl
Y3RvcikgewotICAgICAgICAgICAgYXR0cmlidXRlc1ZlY3Rvci5mb3JFYWNoKGFzeW5jIGZ1bmN0
aW9uKGF0dHJpYnV0ZXMpIHsKLSAgICAgICAgICAgICAgICBpbnZhbGlkT3B0aW9ucyA9IG1ha2VP
cHRpb25zKGF0dHJpYnV0ZXMpOwotICAgICAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgn
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucyknKTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9KTsKLQotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9Ci0KLSAg
ICBjb25zdCB2ZWN0b3JzID0gW107Ci0gICAgdmVjdG9ycy5wdXNoKG1pc3NpbmdBdHRyaWJ1dGVW
ZWN0b3IpOwotICAgIHZlY3RvcnMucHVzaCh3cm9uZ1R5cGVBdHRyaWJ1dGVWZWN0b3IpOwotICAg
IHJ1blRlc3QodmVjdG9ycyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFs
LXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmln
aW4td2l0aC1hbmNlc3RvcnMtMi5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDMzMzRjNGQ5Njc2MTczZjdlNjA5ZGY1MTZkMDY3ZDI5NzBhZjY1M2IuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0
aC1hbmNlc3RvcnMtMi5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCAr
MCwwIEBACi1UZXN0cyB0aGF0IGEgZnJhbWUgdGhhdCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9y
aWdpbiB3aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNvdWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS4KLQot
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhyb3cgTm90QWxsb3dlZEVycm9y
IGZvciBib3RoIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIGFuZCBbW2dldF1dLgot
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdp
dGgtYW5jZXN0b3JzLTIuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YzkwMTFhOTg1MThjOTE2N2Q0YmZlZTZmZGQwZjY2Zjk1NjBiODFmMy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy0y
Lmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRo
YXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGggYWxsIGl0
cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLiIpOwotICAgICAgICBqc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2Fn
ZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJhdXRobi9yZXNv
dXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzMzNGM0ZDk2NzYxNzNmN2U2MDlkZjUxNmQwNjdkMjk3
MGFmNjUzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1l
LW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSwxMCArMCwwIEBACi1UZXN0cyB0aGF0IGEgZnJhbWUgdGhhdCBkb2Vzbid0IHNoYXJlIHRo
ZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNvdWxkIG5vdCBhY2Nlc3MgdGhl
IEFQSS4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgVGhyb3cgTm90QWxs
b3dlZEVycm9yIGZvciBib3RoIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIGFuZCBb
W2dldF1dLgotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRF
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9y
aWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiOGM5NWNmNzYzZjg3Yzk3ZjU4YjBhMmE0MTY0Nzg1MGYwMTBmZWNlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0
b3JzLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGggYWxs
IGl0cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLiIpOwotICAgICAgICBqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKLQotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVz
c2FnZSIsIHJlY2VpdmVNZXNzYWdlLCBmYWxzZSk7Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keT4KLSAgICA8aWZyYW1lIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJhdXRobi9y
ZXNvdXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9y
ZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDI2ZTU3M2Q0Mzg4YThhYjI0YmVkMTg1YmMyYzhm
ZTkzYTA1YTkwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXItZnJh
bWUuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0idXRpbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4K
LSAgICBmdW5jdGlvbiBtZXNzYWdlVG9Ub3AobWVzc2FnZVByZWZpeCkgewotICAgICAgICB0b3Au
cG9zdE1lc3NhZ2UobWVzc2FnZVByZWZpeCwgImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMiKTsKLSAg
ICB9Ci0KLSAgICBjb25zdCBtYWtlT3B0aW9ucyA9IHsKLSAgICAgICAgcHVibGljS2V5OiB7Ci0g
ICAgICAgICAgICBycDogewotICAgICAgICAgICAgICAgIG5hbWU6ICJleGFtcGxlLmNvbSIKLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB1c2VyOiB7Ci0gICAgICAgICAgICAgICAgbmFtZTog
IkpvaG4gQXBwbGVzZWVkIiwKLSAgICAgICAgICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXko
IjEyMzQ1NiIpLAotICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIiwKLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIx
MjM0NTYiKSwKLSAgICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMt
a2V5IiwgYWxnOiAtNyB9XQotICAgICAgICB9Ci0gICAgfTsKLSAgICBjb25zdCByZXF1ZXN0T3B0
aW9ucyA9IHsKLSAgICAgICAgcHVibGljS2V5OiB7Ci0gICAgICAgICAgICBjaGFsbGVuZ2U6IGFz
Y2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG1ha2VPcHRpb25zKS50aGVuKAotICAgICAgICBmdW5j
dGlvbih2YWx1ZSkgewotICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJBY2Nlc3MgZ3JhbnRlZC4g
IiArIHZhbHVlKTsKLSAgICAgICAgfSwKLSAgICAgICAgZnVuY3Rpb24oZXhjZXB0aW9uKSB7Ci0g
ICAgICAgICAgICBpZiAoZXhjZXB0aW9uLm5hbWUgPT0gIk5vdEFsbG93ZWRFcnJvciIpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQocmVxdWVzdE9wdGlv
bnMpCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJUaHJv
dyAiICsgZXhjZXB0aW9uLm5hbWUgICsgIi4iKTsKLSAgICAgICAgfQotICAgICkudGhlbihmdW5j
dGlvbih2YWx1ZSkgewotICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJBY2Nlc3MgZ3JhbnRlZC4g
IiArIHZhbHVlKTsKLSAgICAgICAgfSwKLSAgICAgICAgZnVuY3Rpb24oZXhjZXB0aW9uKSB7Ci0g
ICAgICAgICAgICBpZiAoZXhjZXB0aW9uLm5hbWUgPT0gIk5vdEFsbG93ZWRFcnJvciIpCi0gICAg
ICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJQQVNTIFRocm93IE5vdEFsbG93ZWRFcnJvciBmb3Ig
Ym90aCBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSBhbmQgW1tnZXRdXS4iKTsKLSAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtZXNzYWdlVG9Ub3AoIlRocm93ICIgKyBl
eGNlcHRpb24ubmFtZSAgKyAiLiIpOwotICAgIH0pOwotICAgIDwvc2NyaXB0PgotPC9oZWFkPgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNv
dXJjZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYmF1dGhuL3Jlc291cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NmMTYzMGU0MGY0Y2QxYjVhZWMzYWI2YmI5ZGE0
NGNjZWYzNzYyNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy9zZWNvbmQtbGF5ZXIt
ZnJhbWUuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPGlmcmFtZSBzcmM9
Imxhc3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy91
dGlsLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdiNmY0ZTg0MjQ0NDRhZTg1ZjkwN2E2
NWUxMzNhNTE4YTBkZGU1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy91dGlsLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2Uo
ZXZlbnQpIHsKLSAgICBpZiAoZXZlbnQub3JpZ2luID09PSAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0
MyIpIHsKLSAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyAiKSAhPT0gLTEpCi0g
ICAgICAgICAgICB0ZXN0UGFzc2VkKGV2ZW50LmRhdGEucmVwbGFjZSgiUEFTUyAiLCAiIikpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRhdGEpOwotICAgIH0g
ZWxzZQotICAgICAgICB0ZXN0RmFpbGVkKCJSZWNlaXZlZCBhIG1lc3NhZ2UgZnJvbSBhbiB1bmV4
cGVjdGVkIG9yaWdpbjogIiArIGV2ZW50Lm9yaWdpbik7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19
Ci0KLWZ1bmN0aW9uIGFzY2lpVG9VaW50OEFycmF5KHN0cikKLXsKLSAgICBjb25zdCBjaGFycyA9
IFtdOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKQotICAgICAgICBj
aGFycy5wdXNoKHN0ci5jaGFyQ29kZUF0KGkpKTsKLSAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXko
Y2hhcnMpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1t
YW5hZ2VtZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLXN0b3JlLWJhc2ljcy5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRlbnRpYWxzY29u
dGFpbmVyLXN0b3JlLWJhc2ljcy5odHRwcy5odG1sCmluZGV4IDIzNjkxMzUwYzA1ZWNlMDA4N2U1
MmVjZGM4MTg0ZTBkZGZkZTc5ZTUuLmM1ZGYwMjlkODFlMmY1ZjA0N2JhYjM3ZTQ5MTViYTNmODU5
ZGU1NTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdl
bWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1zdG9yZS1iYXNpY3MuaHR0cHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250
YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0bWwKQEAgLTMsNiArMywxMSBAQAogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KKyAgICBj
b25zdCB0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0ID0KKyAgICAgICAgIkJEai96eFNrektnYUJ1
UzNjZFdERjU1OG9mOEFhSXBnRnBzakYvUW0xNzQ5VkJKUGdxVUl3ZmhXSEo5MW5iN1UiICsKKyAg
ICAgICAgIlBINzZjMCtXRk96WktzbFB5eUZzZTRnb0dJVzJSN2s5VkhMUEVabDVuZm5CZ0VWRmg1
emV2Ky94cEhRSXZ1cTYiICsKKyAgICAgICAgIlJRPT0iOworICAgIGNvbnN0IHRlc3RScElkID0g
ImxvY2FsaG9zdCI7CiAgICAgZnVuY3Rpb24gYXNjaWlUb1VpbnQ4QXJyYXkoc3RyKQogICAgIHsK
ICAgICAgICAgdmFyIGNoYXJzID0gW107CkBAIC00MiwxMCArNDcsMTQgQEAKICAgICAgICAgICAg
IH0KICAgICAgICAgfTsKICAgICAgICAgLy8gQSBtb2NrIGF0dGVzdGF0aW9uIG9iamVjdAotICAg
ICAgICBpbnRlcm5hbHMubW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5zZXRDcmVhdGlvblJl
dHVybkJ1bmRsZShoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAwJyksIGhleFN0cmluZ1RvVWludDhB
cnJheSgnMDEnKSk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbih7IGxvY2Fs
OiB7IGFjY2VwdEF1dGhlbnRpY2F0aW9uOiB0cnVlLCBhY2NlcHRBdHRlc3RhdGlvbjogdHJ1ZSwg
cHJpdmF0ZUtleUJhc2U2NDogdGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCB9IH0pOwogICAgICAg
ICBjb25zdCBjcmVkZW50aWFsID0gYXdhaXQgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShv
cHRpb25zKTsKIAogICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RTdXBwb3J0
ZWRFcnJvciIsCi0gICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuc3RvcmUoY3JlZGVu
dGlhbCkpOworICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLnN0b3JlKGNyZWRlbnRp
YWwpKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElk
KTsKKyAgICAgICAgfSk7CiAgICAgfSwgIm5hdmlnYXRvci5jcmVkZW50aWFscy5zdG9yZSgpLiIp
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9p
ZGwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL2lkbC5odHRwcy5o
dG1sCmluZGV4IDRjZjhjYWZlMjljZjNhYTEyZDhjOWNmNTBmMjZiMmY4MzE0NTFlZTEuLmFiNDE4
MjljZmIzZDk0NzMzZTczMTA4YmQ5YTZkNWI1NDYxNzE0OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1dGhuL2lkbC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL2lkbC5odHRwcy5odG1sCkBAIC0xOSw2ICsxOSw5IEBACiA8ZGl2IGlk
PSdsb2cnPjwvZGl2PgogCiA8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRl
c3RSdW5uZXIuc2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbih7IGxvY2FsOiB7
IGFjY2VwdEF1dGhlbnRpY2F0aW9uOiB0cnVlLCBhY2NlcHRBdHRlc3RhdGlvbjogdHJ1ZSwgcHJp
dmF0ZUtleUJhc2U2NDogdGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCB9IH0pOworCiBwcm9taXNl
X3Rlc3QoYXN5bmMgKCkgPT4gewogICAgIGNvbnN0IGlkbFVSTCA9IFsiV2ViQXV0aE4uaWRsIl07
CiAgICAgY29uc3QgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKQEAgLTQ0LDE1ICs0NywxMyBA
QCBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewogICAgICAgICAgICAgfSwKICAgICAgICAgICAg
IHVzZXI6IHsKICAgICAgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAotICAgICAg
ICAgICAgICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCisgICAgICAgICAgICAg
ICAgaWQ6IEJhc2U2NFVSTC5wYXJzZSh0ZXN0VXNlcmhhbmRsZUJhc2U2NCksCiAgICAgICAgICAg
ICAgICAgZGlzcGxheU5hbWU6ICJBcHBsZXNlZWQiLAogICAgICAgICAgICAgfSwKICAgICAgICAg
ICAgIGNoYWxsZW5nZTogQmFzZTY0VVJMLnBhcnNlKCJNVEl6TkRVMiIpLAogICAgICAgICAgICAg
cHViS2V5Q3JlZFBhcmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dLAogICAg
ICAgICB9CiAgICAgfTsKLSAgICAvLyBBIG1vY2sgYXR0ZXN0YXRpb24gb2JqZWN0Ci0gICAgaW50
ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0Q3JlYXRpb25SZXR1cm5CdW5k
bGUoaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMCcpLCBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAx
JykpOwogICAgIGNyZWF0ZWRDcmVkZW50aWFsID0gYXdhaXQgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShjcmVhdGlvbk9wdGlvbnMpOwogCiAKQEAgLTYxLDExICs2MiwxMiBAQCBwcm9taXNl
X3Rlc3QoYXN5bmMgKCkgPT4gewogICAgICAgICAgICAgY2hhbGxlbmdlOiBCYXNlNjRVUkwucGFy
c2UoIk1USXpORFUyIiksCiAgICAgICAgIH0KICAgICB9OwotICAgIC8vIEEgbW9jayBhc3NlcnRp
b24gcmV0dXJuIGJ1bmRsZS4KLSAgICBpbnRlcm5hbHMubW9ja0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5zZXRBc3NlcnRpb25SZXR1cm5CdW5kbGUoaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMCcp
LCBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAxJyksIGhleFN0cmluZ1RvVWludDhBcnJheSgnMDIn
KSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMycpKTsKICAgICByZXF1ZXN0ZWRDcmVkZW50aWFs
ID0gYXdhaXQgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChyZXF1ZXN0T3B0aW9ucyk7CiAKICAg
ICBpZGxBcnJheS5hZGRfb2JqZWN0cyh7IlB1YmxpY0tleUNyZWRlbnRpYWwiOiBbImNyZWF0ZWRD
cmVkZW50aWFsIl0sICJBdXRoZW50aWNhdG9yQXR0ZXN0YXRpb25SZXNwb25zZSI6IFsiY3JlYXRl
ZENyZWRlbnRpYWwucmVzcG9uc2UiXSwgIkF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZSI6
IFsicmVxdWVzdGVkQ3JlZGVudGlhbC5yZXNwb25zZSJdfSk7CiAgICAgaWRsQXJyYXkudGVzdCgp
OworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmNsZWFu
VXBLZXljaGFpbih0ZXN0UnBJZCk7CiB9LCAiU2V0dXAgZm9yIFdlYkF1dGhOIEFQSSBJREwgdGVz
dHMuIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNy
ZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKaW5kZXggYWMzYTYzNjEwY2EwNjgwY2MxYjk4
NGJlZDAyNzMxYzhlZmY1MDk4Yy4uMmJjNGQxZDEzM2YxMWQxYmZjYWMxYWY3N2FjZTU1M2E3YzIx
NjMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWls
dXJlLWxvY2FsLmh0dHBzLmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAKICAgICAgICAgICAgICAgICBw
dWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTM1IH0sIHsgdHlw
ZTogInB1YmxpYy1rZXkiLCBhbGc6IC0yNTcgfV0sIC8vIEVTMzg0LCBSUzI1NgogICAgICAgICAg
ICAgfQogICAgICAgICB9OwotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RT
dXBwb3J0ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJU
aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvciBkb2Vzbid0IHN1cHBvcnQgYW55IHBy
b3ZpZGVkIFB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzLiIpOworICAgICAgICByZXR1cm4g
cHJvbWlzZVJlamVjdHModCwgIk5vdFN1cHBvcnRlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmNyZWF0ZShvcHRpb25zKSwgIlRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9y
IGRvZXNuJ3Qgc3VwcG9ydCBhbnkgcHJvdmlkZWQgUHVibGljS2V5Q3JlZGVudGlhbFBhcmFtZXRl
cnMuIik7CiAgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggdW5z
dXBwb3J0ZWQgcHVibGljIGtleSBjcmVkZW50aWFsIHBhcmFtZXRlcnMgaW4gYSBtb2NrIGxvY2Fs
IGF1dGhlbnRpY2F0b3IuIik7CiAKICAgICBwcm9taXNlX3Rlc3QodCA9PiB7CkBAIC00NCw3ICs0
NCw3IEBACiAgICAgICAgIH07CiAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4odGVzdEVTMjU2UHJpdmF0ZUtl
eUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2VyaGFuZGxlQmFzZTY0KTsKLSAgICAgICAgcmV0dXJu
IHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4g
ZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRh
Y2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlz
ZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVh
dGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9m
IHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0
aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFpbih0ZXN0UnBJ
ZCk7CiAgICAgICAgIH0pOwpAQCAtNzMsNyArNzMsNyBAQAogICAgICAgICB9OwogICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlU
b0tleWNoYWluKHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElkLCB0ZXN0VXNlcmhh
bmRsZUJhc2U2NCk7Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93
ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFz
dCBvbmUgY3JlZGVudGlhbCBtYXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlh
bHMgbGlzdCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgp
ID0+IHsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3Ii
LCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNy
ZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBvZiB0aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3Qg
aW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJwSWQpOwogICAgICAgICB9KTsKQEAgLTk0LDcgKzk0
LDcgQEAKICAgICAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGlj
LWtleSIsIGFsZzogLTcgfV0KICAgICAgICAgICAgIH0KICAgICAgICAgfTsKLSAgICAgICAgcmV0
dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkNvdWxkbid0IGdldCB1c2VyIGNvbnNlbnQuIik7Cisg
ICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkNvdWxkbid0IGdldCB1c2VyIGNvbnNl
bnQuIik7CiAgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGhvdXQg
dXNlciBjb25zZW50IGluIGEgbW9jayBsb2NhbCBhdXRoZW50aWNhdG9yLiIpOwogCiAgICAgcHJv
bWlzZV90ZXN0KHQgPT4gewpAQCAtMTE0LDcgKzExNCw3IEBACiAgICAgICAgIH07CiAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0V2ViQXV0
aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbih7IGxvY2FsOiB7IGFjY2VwdEF1dGhlbnRpY2F0
aW9uOiB0cnVlLCBhY2NlcHRBdHRlc3RhdGlvbjogZmFsc2UsIHByaXZhdGVLZXlCYXNlNjQ6ICIi
IH0gfSk7Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIlVua25vd25FcnJvciIs
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJVbmtub3duIGludGVybmFs
IGVycm9yLiIpOworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIlVua25vd25FcnJv
ciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJVbmtub3duIGludGVy
bmFsIGVycm9yLiIpOwogICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3
aXRob3V0IGF0dGVzdGF0aW9uIGluIGEgbW9jayBsb2NhbCBhdXRoZW50aWNhdG9yLiIpOwogCiAg
ICAgcHJvbWlzZV90ZXN0KHQgPT4gewpAQCAtMTM2LDcgKzEzNiw3IEBACiAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRpb24oeyBsb2NhbDog
eyBhY2NlcHRBdXRoZW50aWNhdGlvbjogdHJ1ZSwgYWNjZXB0QXR0ZXN0YXRpb246IGZhbHNlLCBw
cml2YXRlS2V5QmFzZTY0OiAiIiB9IH0pOwogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0
S2V5VG9LZXljaGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVz
ZXJoYW5kbGVCYXNlNjQpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVj
dHModCwgIlVua25vd25FcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9u
cyksICJVbmtub3duIGludGVybmFsIGVycm9yLiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1
cm4gcHJvbWlzZVJlamVjdHModCwgIlVua25vd25FcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUob3B0aW9ucyksICJVbmtub3duIGludGVybmFsIGVycm9yLiIpLnRoZW4oKCkgPT4g
ewogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIGFz
c2VydF9mYWxzZSh0ZXN0UnVubmVyLmtleUV4aXN0c0luS2V5Y2hhaW4odGVzdFJwSWQsIHRlc3RV
c2VyaGFuZGxlQmFzZTY0KSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYzQ3
NjFmM2Y0YWMyMTJmZWZjMmM5MDdjYTFlZDBjZTcyOTk1NTI5Ni4uMDgwZDNjZWM4MmEzY2I1YjA1
MDRmZWM3NTc4NDFiOTUwNGViZTY3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNy
ZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBA
QAogCi1QQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggdGltZW91dCAK
IFBBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBhIG1pc21hdGNoZWQg
UlAgSUQgCiBQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggYW4gZW1w
dHkgcHViS2V5Q3JlZFBhcmFtcyAKLVBBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRl
XV0gd2l0aCB1c2VyIGNhbmNlbGxhdGlvbnMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWNyZWF0ZS1mYWlsdXJlLmh0dHBzLmh0bWwKaW5kZXggNDUwNzdhM2NmOWQzMzcxZmVjNmZm
NmI4YmRhNWIyN2QyZDg0MTZkMS4uYzUyNDk2Yzg1MzZhZmRlMzlhNWE2YTMxMTc3YmFlNTRjMWZj
YmM0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLmh0
dHBzLmh0bWwKQEAgLTQsMjcgKzQsMzEgQEAKIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGls
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
LSAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKLSAgICAgICAgICAgIHB1YmxpY0tleTogewotICAg
ICAgICAgICAgICAgIHJwOiB7Ci0gICAgICAgICAgICAgICAgICAgIG5hbWU6ICJleGFtcGxlLmNv
bSIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIHVzZXI6IHsKLSAgICAgICAg
ICAgICAgICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVkIiwKLSAgICAgICAgICAgICAgICAgICAg
aWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAgICAgICAgICAgICAgZGlz
cGxheU5hbWU6ICJKb2huIiwKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgIGNo
YWxsZW5nZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICAgICAgICAgIHB1
YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9XSwKLSAgICAg
ICAgICAgICAgICB0aW1lb3V0OiAwLAotICAgICAgICAgICAgfQotICAgICAgICB9OwotICAgICAg
ICBpbnRlcm5hbHMubW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5zZXREaWRUaW1lT3V0KCk7
CisgICAgLy8gRGVmYXVsdCBtb2NrIGNvbmZpZ3VyYXRpb24uIFRlc3RzIG5lZWQgdG8gb3ZlcnJp
ZGUgaWYgdGhleSBuZWVkIGRpZmZlcmVudCBjb25maWd1cmF0aW9uLgorICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tD
b25maWd1cmF0aW9uKHsgfSk7CiAKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAi
Tm90QWxsb3dlZEVycm9yIiwKLSAgICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVh
dGUob3B0aW9ucykpOwotICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3
aXRoIHRpbWVvdXQiKTsKKyAgICAvLyBGSVhNRSgxODk2NDIpOiBSZS1lbmFibGUgdGhlIGZvbGxv
d2luZyB0ZXN0LgorICAgIC8vIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgLy8gICAg
IGNvbnN0IG9wdGlvbnMgPSB7CisgICAgLy8gICAgICAgICBwdWJsaWNLZXk6IHsKKyAgICAvLyAg
ICAgICAgICAgICBycDogeworICAgIC8vICAgICAgICAgICAgICAgICBuYW1lOiAiZXhhbXBsZS5j
b20iCisgICAgLy8gICAgICAgICAgICAgfSwKKyAgICAvLyAgICAgICAgICAgICB1c2VyOiB7Cisg
ICAgLy8gICAgICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCisgICAgLy8gICAg
ICAgICAgICAgICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCisgICAgLy8gICAg
ICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAiSm9obiIsCisgICAgLy8gICAgICAgICAgICAgfSwK
KyAgICAvLyAgICAgICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYi
KSwKKyAgICAvLyAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGlj
LWtleSIsIGFsZzogLTcgfV0sCisgICAgLy8gICAgICAgICAgICAgdGltZW91dDogMCwKKyAgICAv
LyAgICAgICAgIH0KKyAgICAvLyAgICAgfTsKKyAgICAvLworICAgIC8vICAgICByZXR1cm4gcHJv
bWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsCisgICAgLy8gICAgICAgICBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiT3BlcmF0aW9uIHRpbWVkIG91dC4iKTsK
KyAgICAvLyB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB0aW1lb3V0
Iik7CiAKICAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICBjb25zdCBvcHRp
b25zID0gewpAQCAtNDIsOCArNDYsOSBAQAogICAgICAgICAgICAgICAgIHB1YktleUNyZWRQYXJh
bXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtNyB9XSwKICAgICAgICAgICAgIH0KICAg
ICAgICAgfTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiU2VjdXJpdHlFcnJv
ciIsCi0gICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpKTsK
KworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIlNlY3VyaXR5RXJyb3IiLAorICAg
ICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIlRoZSBvcmln
aW4gb2YgdGhlIGRvY3VtZW50IGlzIG5vdCBhIHJlZ2lzdHJhYmxlIGRvbWFpbiBzdWZmaXggb2Yg
dGhlIHByb3ZpZGVkIFJQIElELiIpOwogICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tj
cmVhdGVdXSB3aXRoIGEgbWlzbWF0Y2hlZCBSUCBJRCIpOwogCiAgICAgcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKQEAgLTYyLDI5ICs2Nyw4IEBACiAgICAgICAgICAgICAgICAgcHViS2V5Q3Jl
ZFBhcmFtczogWyBdLAogICAgICAgICAgICAgfQogICAgICAgICB9OwotICAgICAgICByZXR1cm4g
cHJvbWlzZV9yZWplY3RzKHQsICJOb3RTdXBwb3J0ZWRFcnJvciIsCi0gICAgICAgICAgICBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpKTsKLSAgICB9LCAiUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBhbiBlbXB0eSBwdWJLZXlDcmVkUGFyYW1zIik7Ci0K
LSAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBjb25zdCBvcHRpb25zID0g
ewotICAgICAgICAgICAgcHVibGljS2V5OiB7Ci0gICAgICAgICAgICAgICAgcnA6IHsKLSAgICAg
ICAgICAgICAgICAgICAgbmFtZTogImxvY2FsaG9zdCIsCi0gICAgICAgICAgICAgICAgICAgIGlk
OiAibG9jYWxob3N0IgotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgdXNlcjog
ewotICAgICAgICAgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAotICAgICAgICAg
ICAgICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICAgICAg
ICAgICAgICBkaXNwbGF5TmFtZTogIkpvaG4iLAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAg
ICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03
IH1dLAotICAgICAgICAgICAgfQotICAgICAgICB9OwotICAgICAgICBpbnRlcm5hbHMubW9ja0F1
dGhlbnRpY2F0b3JDb29yZGluYXRvci5zZXREaWRVc2VyQ2FuY2VsKCk7CiAKLSAgICAgICAgcmV0
dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwKLSAgICAgICAgICAgIG5h
dmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucykpOwotICAgIH0sICJQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHVzZXIgY2FuY2VsbGF0aW9ucyIpOworICAgICAg
ICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdFN1cHBvcnRlZEVycm9yIiwKKyAgICAgICAg
ICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJObyBkZXNpcmVkIHBy
b3BlcnRpZXMgb2YgdGhlIHRvIGJlIGNyZWF0ZWQgY3JlZGVudGlhbCBhcmUgcHJvdmlkZWQuIik7
CisgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggYW4gZW1wdHkg
cHViS2V5Q3JlZFBhcmFtcyIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXN1Y2Nlc3MuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggY2E4Njg0MDZiNTgyZjUzNGM5ZDZhMmJiMTUxM2VmZWRiOTQ3
ZWQxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXN1
Y2Nlc3MuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0K
LVBBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBtaW5pbXVtIG9wdGlv
bnMgCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjNTg0YTAwMTE3NDBiYzYwMmFl
NDNkYWQ3OTQ5ZGMxZjMzOTM4N2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRsZT5XZWIgQXV0aGVudGljYXRpb24gQVBJOiBQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSBzdWNjZXNzIGNhc2VzLjwvdGl0bGU+Ci08
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIHByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICAg
ICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAgICAgICAgICBycDogewotICAgICAgICAgICAgICAg
ICAgICBuYW1lOiAibG9jYWxob3N0IiwKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgIHVzZXI6IHsKLSAgICAgICAgICAgICAgICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVkIiwK
LSAgICAgICAgICAgICAgICAgICAgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAg
ICAgICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6ICJBcHBsZXNlZWQiLAotICAgICAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICAgICAgY2hhbGxlbmdlOiBCYXNlNjRVUkwucGFyc2UoIk1USXpO
RFUyIiksCi0gICAgICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlwZTogInB1Ymxp
Yy1rZXkiLCBhbGc6IC03IH1dLAotICAgICAgICAgICAgfQotICAgICAgICB9OwotICAgICAgICAv
LyBBIG1vY2sgYXR0ZXN0YXRpb24gb2JqZWN0Ci0gICAgICAgIGludGVybmFscy5tb2NrQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yLnNldENyZWF0aW9uUmV0dXJuQnVuZGxlKGhleFN0cmluZ1RvVWlu
dDhBcnJheSgnMDAnKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMScpKTsKLQotICAgICAgICBy
ZXR1cm4gbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKS50aGVuKGZ1bmN0aW9u
KGNyZWRlbnRpYWwpIHsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNyZWRlbnRpYWwu
aWQsICdBQScpOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY3JlZGVudGlhbC50eXBl
LCAncHVibGljLWtleScpOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hl
eFN0cmluZyhjcmVkZW50aWFsLnJhd0lkKSwgJzAwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhieXRlc1RvQVNDSUlTdHJpbmcoY3JlZGVudGlhbC5yZXNwb25zZS5jbGllbnREYXRh
SlNPTiksICd7InR5cGUiOiJ3ZWJhdXRobi5jcmVhdGUiLCJjaGFsbGVuZ2UiOiJNVEl6TkRVMiIs
Im9yaWdpbiI6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMiLCJoYXNoQWxnb3JpdGhtIjoiU0hBLTI1
NiJ9Jyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhieXRlc1RvSGV4U3RyaW5nKGNy
ZWRlbnRpYWwucmVzcG9uc2UuYXR0ZXN0YXRpb25PYmplY3QpLCAnMDEnKTsKLSAgICAgICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzKCJOb3RTdXBwb3J0ZWRFcnJvciIsICgpID0+IHsgY3JlZGVudGlh
bC5nZXRDbGllbnRFeHRlbnNpb25SZXN1bHRzKCkgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICB9
LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBtaW5pbXVtIG9wdGlvbnMi
KTsKLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4v
cHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNTY3MzFjNDYwOWRjODMyOGVkMjM0MzRiMTljYjVlMmQ0YjU2OGZl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1NyBAQAorCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDEgCitQQVNTIFB1YmxpY0tl
eUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIg
CitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlk
IHBhcmFtZXRlcnMuIDMgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdp
dGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDUgCitQQVNTIFB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMu
IDYgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZh
bGlkIHBhcmFtZXRlcnMuIDcgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1d
IHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDggCitQQVNTIFB1YmxpY0tleUNyZWRlbnRp
YWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDkgCitQQVNTIFB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRl
cnMuIDEwIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGgg
aW52YWxpZCBwYXJhbWV0ZXJzLiAxMSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3Jl
YXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTIgCitQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDEzIAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiAxNCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0
aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTUgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE2IAorUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LiAxNyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gMTggCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0
ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE5IAorUEFTUyBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyMCAKK1BB
U1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFy
YW1ldGVycy4gMjEgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGgg
d2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIyIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyMyAKK1BBU1MgUHVibGlj
S2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4g
MjQgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZh
bGlkIHBhcmFtZXRlcnMuIDI1IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVd
XSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyNiAKK1BBU1MgUHVibGljS2V5Q3JlZGVu
dGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjcgCitQQVNT
IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFt
ZXRlcnMuIDI4IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyOSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtb
Y3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzAgCitQQVNTIFB1YmxpY0tl
eUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDMx
IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxp
ZCBwYXJhbWV0ZXJzLiAzMiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0g
d2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzMgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRp
YWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDM0IAorUEFTUyBQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0
ZXJzLiAzNSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRo
IGludmFsaWQgcGFyYW1ldGVycy4gMzYgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2Ny
ZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDM3IAorUEFTUyBQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzOCAK
K1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQg
cGFyYW1ldGVycy4gMzkgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdp
dGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQwIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0MSAKK1BBU1MgUHVi
bGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVy
cy4gNDIgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBp
bnZhbGlkIHBhcmFtZXRlcnMuIDQzIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVh
dGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0NCAKK1BBU1MgUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNDUgCitQ
QVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBh
cmFtZXRlcnMuIDQ2IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0NyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdz
IFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNDggCitQQVNTIFB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMu
IDQ5IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52
YWxpZCBwYXJhbWV0ZXJzLiA1MCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRl
XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNTEgCitQQVNTIFB1YmxpY0tleUNyZWRl
bnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDUyIAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJh
bWV0ZXJzLiA1MyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3
aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNTQgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDU1IAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3Jl
YXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1w
YXJhbWV0ZXJzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRjODM4NjE1MDE0MGRmOWYwMzU5YTE3
MjE5NGVmZGQ2YjFmYTA0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFt
ZXRlcnMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDExNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0
bGU+V2ViIEF1dGhlbnRpY2F0aW9uIEFQSTogUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRl
XV0gd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgY29uc3QgcnAgPSB7CisgICAgICAgIG5h
bWU6ICJleGFtcGxlLmNvbSIKKyAgICB9OworICAgIGNvbnN0IHVzZXIgPSB7CisgICAgICAgIG5h
bWU6ICJKb2huIEFwcGxlc2VlZCIsCisgICAgICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIz
NDU2IiksCisgICAgICAgIGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIgorICAgIH07CisgICAgY29u
c3QgY2hhbGxlbmdlID0gYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpOworICAgIGNvbnN0IHB1
YktleUNyZWRQYXJhbSA9IHsgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH07CisgICAgY29u
c3QgZXhjbHVkZUNyZWRlbnRpYWxzID0geyB0eXBlOiAicHVibGljLWtleSIsIGlkOiBhc2NpaVRv
VWludDhBcnJheSgiMTIzNDU2IikgfTsKKworICAgIGNvbnN0IG1pc3NpbmdBdHRyaWJ1dGVWZWN0
b3IgPSBbCisgICAgICAgIC8vIG1pc3NpbmcgdG9wIGxldmVsIGF0dHJpYnV0ZQorICAgICAgICBb
dW5kZWZpbmVkLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAg
W3JwLCB1bmRlZmluZWQsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBb
cnAsIHVzZXIsIHVuZGVmaW5lZCwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIGNoYWxsZW5nZSwgdW5kZWZpbmVkXSwKKyAgICAgICAgLy8gbWlzc2luZyBycCBhdHRyaWJ1
dGUKKyAgICAgICAgW3sgbmFtZTogdW5kZWZpbmVkIH0sIHVzZXIsIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV1dLAorICAgICAgICAvLyBtaXNzaW5nIHVzZXIgYXR0cmlidXRlCisgICAgICAg
IFtycCwgeyBuYW1lOiB1bmRlZmluZWQsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTogdXNlci5k
aXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAs
IHsgbmFtZTogdXNlci5uYW1lLCBpZDogdW5kZWZpbmVkLCBkaXNwbGF5TmFtZTogdXNlci5kaXNw
bGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHsg
bmFtZTogdXNlci5uYW1lLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IHVuZGVmaW5lZH0sIGNo
YWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICAvLyBtaXNzaW5nIHB1YktleUNy
ZWRQYXJhbXMgYXR0cmlidXRlCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBl
OiB1bmRlZmluZWQsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwg
dXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBwdWJLZXlDcmVkUGFyYW0udHlwZSwgYWxnOiB1bmRl
ZmluZWQgfV1dLAorICAgICAgICAvLyBtaXNzaW5nIGV4Y2x1ZGVDcmVkZW50aWFscyBhdHRyaWJ1
dGUKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRl
ZmluZWQsIFt7IHR5cGU6IHVuZGVmaW5lZCwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0s
CisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZp
bmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IHVuZGVmaW5lZCB9XV0K
KyAgICBdOworCisgICAgY29uc3Qgd3JvbmdUeXBlQXR0cmlidXRlVmVjdG9yID0gWworICAgICAg
ICAvLyB3cm9uZyBycCBhdHRyaWJ1dGUgdHlwZQorICAgICAgICBbeyBuYW1lOiBTeW1ib2woKSB9
LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3sgbmFtZTog
cnAubmFtZSwgaWNvbjogU3ltYm9sKCkgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBh
cmFtXV0sCisgICAgICAgIFt7IG5hbWU6IHJwLm5hbWUsIGlkOiBTeW1ib2woKSB9LCB1c2VyLCBj
aGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgLy8gd3JvbmcgdXNlciBhdHRy
aWJ1dGUgdHlwZQorICAgICAgICBbcnAsIHsgbmFtZTogU3ltYm9sKCksIGlkOiB1c2VyLmlkLCBk
aXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV1dLAorICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogMSwgZGlzcGxheU5hbWU6
IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAg
ICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHRydWUsIGRpc3BsYXlOYW1lOiB1c2VyLmRp
c3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwg
eyBuYW1lOiB1c2VyLm5hbWUsIGlkOiBudWxsLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFt
ZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHsgbmFtZTog
dXNlci5uYW1lLCBpZDogU3ltYm9sKCksIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwg
Y2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1c2Vy
Lm5hbWUsIGlkOiB7IH0sIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdl
LCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlk
OiAiZm9vIiwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJL
ZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IFsgXSwg
ZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFy
YW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6IHVzZXIuaWQsIGRpc3Bs
YXlOYW1lOiBTeW1ib2woKX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAg
ICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IHVzZXIu
ZGlzcGxheU5hbWUsIGljb246IFN5bWJvbCgpfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XV0sCisgICAgICAgIC8vIHdyb25nIGNoYWxsZW5nZSB0eXBlCisgICAgICAgIFtycCwgdXNlciwg
MSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVzZXIsIHRydWUsIFtwdWJLZXlD
cmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBudWxsLCBbcHViS2V5Q3JlZFBhcmFtXV0s
CisgICAgICAgIFtycCwgdXNlciwgU3ltYm9sKCksIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAg
ICAgW3JwLCB1c2VyLCAiZm9vIiwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIFsgXSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVzZXIsIHsgfSwgW3B1
YktleUNyZWRQYXJhbV1dLAorICAgICAgICAvLyB3cm9uZyBwdWJLZXlDcmVkUGFyYW0gdHlwZQor
ICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogMSwgYWxnOiBwdWJLZXlDcmVk
UGFyYW0uYWxnIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IHRy
dWUsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hh
bGxlbmdlLCBbeyB0eXBlOiBudWxsLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAorICAg
ICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogU3ltYm9sKCksIGFsZzogcHViS2V5
Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBl
OiAiZm9vIiwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKKyAgICAgICAgW3JwLCB1c2Vy
LCBjaGFsbGVuZ2UsIFt7IHR5cGU6IFsgXSwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwK
KyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IHsgfSwgYWxnOiBwdWJLZXlD
cmVkUGFyYW0uYWxnIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6
IHB1YktleUNyZWRQYXJhbS50eXBlLCBhbGc6IFN5bWJvbCgpIH1dXSwKKyAgICAgICAgLy8gd3Jv
bmcgdGltZW91dCB0eXBlCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3Jl
ZFBhcmFtXSwgU3ltYm9sKCksIHVuZGVmaW5lZF0sCisgICAgICAgIC8vIHdyb25nIGV4Y2x1ZGVD
cmVkZW50aWFscworICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogMSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0s
CisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZp
bmVkLCBbeyB0eXBlOiB0cnVlLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAg
ICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7
IHR5cGU6IG51bGwsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAs
IHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTog
U3ltYm9sKCksIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogImZv
byIsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNo
YWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogWyBdLCBpZDog
ZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2Us
IFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IHsgfSwgaWQ6IGV4Y2x1ZGVD
cmVkZW50aWFscy5pZCB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5
Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwg
aWQ6IDEgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiB0cnVl
IH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1
bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogbnVsbCB9XV0s
CisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZp
bmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IFN5bWJvbCgpIH1dXSwK
KyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogImZvbyIgfV1dLAorICAg
ICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwg
W3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiBbIF0gfV1dLAorICAgICAgICBb
cnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlw
ZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiB7IH0gfV1dCisgICAgXTsKKworICAgIGZ1
bmN0aW9uIG1ha2VPcHRpb25zKGF0dHJpYnV0ZXMpCisgICAgeworICAgICAgICBpZiAoYXR0cmli
dXRlcy5sZW5ndGggPT0gNCkKKyAgICAgICAgICAgIHJldHVybiB7IHB1YmxpY0tleTogeyBycDog
YXR0cmlidXRlc1swXSwgdXNlcjogYXR0cmlidXRlc1sxXSwgY2hhbGxlbmdlOiBhdHRyaWJ1dGVz
WzJdLCBwdWJLZXlDcmVkUGFyYW1zOiBhdHRyaWJ1dGVzWzNdIH0gfTsKKyAgICAgICAgcmV0dXJu
IHsgcHVibGljS2V5OiB7IHJwOiBhdHRyaWJ1dGVzWzBdLCB1c2VyOiBhdHRyaWJ1dGVzWzFdLCBj
aGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMl0sIHB1YktleUNyZWRQYXJhbXM6IGF0dHJpYnV0ZXNbM10s
IHRpbWVvdXQ6IGF0dHJpYnV0ZXNbNF0sICBleGNsdWRlQ3JlZGVudGlhbHM6IGF0dHJpYnV0ZXNb
NV19IH07CisgICAgfQorCisgICAgbGV0IGluZGV4ID0gMTsKKyAgICBmdW5jdGlvbiBydW5UZXN0
KGF0dHJpYnV0ZXNWZWN0b3JzKSB7CisgICAgICAgIGF0dHJpYnV0ZXNWZWN0b3JzLmZvckVhY2go
ZnVuY3Rpb24oYXR0cmlidXRlc1ZlY3RvcikgeworICAgICAgICAgICAgYXR0cmlidXRlc1ZlY3Rv
ci5mb3JFYWNoKGFzeW5jIGZ1bmN0aW9uKGF0dHJpYnV0ZXMpIHsKKyAgICAgICAgICAgICAgICBw
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzKHQsIG5ldyBUeXBlRXJyb3IoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUobWFrZU9wdGlvbnMoYXR0cmlidXRlcykpKTsK
KyAgICAgICAgICAgICAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0
aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gIiArIGluZGV4KTsKKyAgICAgICAgICAgICAgICBp
bmRleCA9IGluZGV4ICsgMTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9CisK
KyAgICBjb25zdCB2ZWN0b3JzID0gW107CisgICAgdmVjdG9ycy5wdXNoKG1pc3NpbmdBdHRyaWJ1
dGVWZWN0b3IpOworICAgIHZlY3RvcnMucHVzaCh3cm9uZ1R5cGVBdHRyaWJ1dGVWZWN0b3IpOwor
ICAgIHJ1blRlc3QodmVjdG9ycyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS1sb2Nh
bC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1j
cmVkZW50aWFsLWdldC1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKaW5kZXggMzk1NGEwNjZiMTFm
MTY4N2JhNjdkY2JjYzFiYjJjZDkxY2IyYjgyYy4uN2Y0ZGQ5Njk4MzhlMDI0ZGNlMTUwZmE1MDBi
OGVjNDg1M2JlYzY3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4v
cHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1m
YWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAKICAgICAgICAgICAgIH0K
ICAgICAgICAgfTsKIAotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RBbGxv
d2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiTm8gbWF0Y2hl
ZCBjcmVkZW50aWFscyBhcmUgZm91bmQgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRp
Y2F0b3IuIik7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dlZEVy
cm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSwgIk5vIG1hdGNoZWQgY3Jl
ZGVudGlhbHMgYXJlIGZvdW5kIGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9y
LiIpOwogICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIG5vIG1hdGNo
ZWQgY3JlZGVudGlhbHMgaW4gYSBtb2NrIGxvY2FsIGF1dGhlbnRpY2F0b3IuIik7CiAKICAgICBw
cm9taXNlX3Rlc3QodCA9PiB7CkBAIC0zNiw3ICszNiw3IEBACiAKICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFp
bih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJoYW5kbGVCYXNl
NjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3Ii
LCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiTm8gbWF0Y2hlZCBjcmVkZW50
aWFscyBhcmUgZm91bmQgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIiku
dGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiTm90QWxsb3dl
ZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKSwgIk5vIG1hdGNoZWQg
Y3JlZGVudGlhbHMgYXJlIGZvdW5kIGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNh
dG9yLiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJw
SWQpOwogICAgICAgICAgICAgfSk7CkBAIC01MSw3ICs1MSw3IEBACiAKICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5hZGRUZXN0S2V5VG9LZXlj
aGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCB0ZXN0UnBJZCwgdGVzdFVzZXJoYW5kbGVC
YXNlNjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RBbGxvd2VkRXJy
b3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiQ291bGRuJ3QgZ2V0IHVz
ZXIgY29uc2VudC4iKS50aGVuKCgpID0+IHsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3Rz
KHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMp
LCAiQ291bGRuJ3QgZ2V0IHVzZXIgY29uc2VudC4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFu
VXBLZXljaGFpbih0ZXN0UnBJZCk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMmU4ODBj
ZmI3YTVmOTNhMTM4ZTFlMWMyYmZkMjhkMGE4ZjJkMjc1Zi4uZGMwYjkxN2UzMGMxZjZiNGRiNGI3
NmFhOTJmMjA2OGNjYjE3ZjYyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
YXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtZ2V0LWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAogCi1QQVNT
IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggdGltZW91dCAKIFBBU1MgUHVibGlj
S2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCBhIG1pc21hdGNoZWQgUlAgSUQgCi1QQVNTIFB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggdXNlciBjYW5jZWxsYXRpb25zIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy5odG1sCmluZGV4IDBk
NGMwNDUyNTY3MDM1MmVmMzdjODdmNjBkZjIzMzIxYzNkZTcyYTMuLmNlNWUyOGJjNzFjYzFjMDhi
MTdiZGU5ZTY3MzhhNTBlMDEwNWI0ZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1n
ZXQtZmFpbHVyZS5odHRwcy5odG1sCkBAIC00LDE4ICs0LDIyIEBACiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi9y
ZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotICAgIHByb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7Ci0gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICAgICAgICBwdWJs
aWNLZXk6IHsKLSAgICAgICAgICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIx
MjM0NTYiKSwKLSAgICAgICAgICAgICAgICB0aW1lb3V0OiAwLAotICAgICAgICAgICAgfQotICAg
ICAgICB9OwotICAgICAgICBpbnRlcm5hbHMubW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5z
ZXREaWRUaW1lT3V0KCk7CisgICAgLy8gRGVmYXVsdCBtb2NrIGNvbmZpZ3VyYXRpb24uIFRlc3Rz
IG5lZWQgdG8gb3ZlcnJpZGUgaWYgdGhleSBuZWVkIGRpZmZlcmVudCBjb25maWd1cmF0aW9uLgor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJBdXRo
ZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9uKHsgfSk7CiAKLSAgICAgICAgcmV0dXJuIHByb21p
c2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwKLSAgICAgICAgICAgIG5hdmlnYXRvci5j
cmVkZW50aWFscy5nZXQob3B0aW9ucykpOwotICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tnZXRdXSB3aXRoIHRpbWVvdXQiKTsKKyAgICAvLyBGSVhNRSgxODk2NDIpOiBSZS1lbmFibGUg
dGhlIGZvbGxvd2luZyB0ZXN0LgorICAgIC8vIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgLy8gICAgIGNvbnN0IG9wdGlvbnMgPSB7CisgICAgLy8gICAgICAgICBwdWJsaWNLZXk6IHsK
KyAgICAvLyAgICAgICAgICAgICBjaGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYi
KSwKKyAgICAvLyAgICAgICAgICAgICB0aW1lb3V0OiAwLAorICAgIC8vICAgICAgICAgfQorICAg
IC8vICAgICB9OworICAgIC8vCisgICAgLy8gICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAi
Tm90QWxsb3dlZEVycm9yIiwKKyAgICAvLyAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5n
ZXQob3B0aW9ucyksICJPcGVyYXRpb24gdGltZWQgb3V0LiIpOworICAgIC8vIH0sICJQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHRpbWVvdXQiKTsKIAogICAgIHByb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7CiAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7CkBAIC0yNCwyMCArMjgs
NyBAQAogICAgICAgICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1
NiIpLAogICAgICAgICAgICAgfQogICAgICAgICB9OwotICAgICAgICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzKHQsICJTZWN1cml0eUVycm9yIiwKLSAgICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50
aWFscy5nZXQob3B0aW9ucykpOworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIlNl
Y3VyaXR5RXJyb3IiLAorICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRp
b25zKSwgIlRoZSBvcmlnaW4gb2YgdGhlIGRvY3VtZW50IGlzIG5vdCBhIHJlZ2lzdHJhYmxlIGRv
bWFpbiBzdWZmaXggb2YgdGhlIHByb3ZpZGVkIFJQIElELiIpOwogICAgIH0sICJQdWJsaWNLZXlD
cmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIGEgbWlzbWF0Y2hlZCBSUCBJRCIpOwotCi0gICAgcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKLSAgICAg
ICAgICAgIHB1YmxpY0tleTogewotICAgICAgICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1Vp
bnQ4QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICAgICAgICAgIGFsbG93Q3JlZGVudGlhbHM6IFt7
IHR5cGU6ICJwdWJsaWMta2V5IiwgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSB9XSwK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3Iuc2V0RGlkVXNlckNhbmNlbCgpOwotCi0gICAgICAgIHJldHVybiBw
cm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsCi0gICAgICAgICAgICBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpKTsKLSAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbZ2V0XV0gd2l0aCB1c2VyIGNhbmNlbGxhdGlvbnMiKTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFs
LWdldC1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4ZDUzNzA5NDIzYWUwNWQ0MzkzZjM5
ZWQ2MWI5ZGM0ZTlhYzcwYjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWdldC1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMg
KzAsMCBAQAotCi1QQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggbWluaW11
bSBvcHRpb25zIAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRw
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjY0YjFjODY0OGEyYzk3NDVi
N2IwN2E0NjAyYzE1NTJmZGZjY2IzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+V2ViIEF1dGhlbnRpY2F0aW9uIEFQSTogUHVi
bGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gc3VjY2VzcyBjYXNlcy48L3RpdGxlPgotPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAgICAvLyBUaGUgZm9s
bG93aW5nIHRlc3QgaXMgc3BlY2lmaWNhbGx5IHR1bmVkIGZvciBjdXJyZW50IGR1bW15IGF1dGhl
bnRpY2F0b3IuCi0gICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICAgICAgY29uc3Qg
b3B0aW9ucyA9IHsKLSAgICAgICAgICAgIHB1YmxpY0tleTogewotICAgICAgICAgICAgICAgIGNo
YWxsZW5nZTogQmFzZTY0VVJMLnBhcnNlKCJNVEl6TkRVMiIpLAotICAgICAgICAgICAgfQotICAg
ICAgICB9OwotICAgICAgICAvLyBBIG1vY2sgYXNzZXJ0aW9uIHJldHVybiBidW5kbGUuCi0gICAg
ICAgIGludGVybmFscy5tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLnNldEFzc2VydGlvblJl
dHVybkJ1bmRsZShoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAwJyksIGhleFN0cmluZ1RvVWludDhB
cnJheSgnMDEnKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMicpLCBoZXhTdHJpbmdUb1VpbnQ4
QXJyYXkoJzAzJykpOwotCi0gICAgICAgIHJldHVybiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0
KG9wdGlvbnMpLnRoZW4oZnVuY3Rpb24oY3JlZGVudGlhbCkgewotICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhjcmVkZW50aWFsLmlkLCAnQUEnKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
Y3JlZGVudGlhbC50eXBlLCAncHVibGljLWtleScpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhieXRlc1RvSGV4U3RyaW5nKGNyZWRlbnRpYWwucmF3SWQpLCAnMDAnKTsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMoYnl0ZXNUb0FTQ0lJU3RyaW5nKGNyZWRlbnRpYWwucmVzcG9uc2UuY2xp
ZW50RGF0YUpTT04pLCAneyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiTVRJek5E
VTIiLCJvcmlnaW4iOiJodHRwczovL2xvY2FsaG9zdDo5NDQzIiwiaGFzaEFsZ29yaXRobSI6IlNI
QS0yNTYifScpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhieXRlc1RvSGV4U3RyaW5nKGNy
ZWRlbnRpYWwucmVzcG9uc2UuYXV0aGVudGljYXRvckRhdGEpLCAnMDEnKTsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMoYnl0ZXNUb0hleFN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNlLnNpZ25h
dHVyZSksICcwMicpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhieXRlc1RvSGV4U3RyaW5n
KGNyZWRlbnRpYWwucmVzcG9uc2UudXNlckhhbmRsZSksICcwMycpOwotICAgICAgICAgICAgYXNz
ZXJ0X3Rocm93cygiTm90U3VwcG9ydGVkRXJyb3IiLCAoKSA9PiB7IGNyZWRlbnRpYWwuZ2V0Q2xp
ZW50RXh0ZW5zaW9uUmVzdWx0cygpIH0pOwotICAgICAgICB9KTsKLSAgICB9LCAiUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCBtaW5pbXVtIG9wdGlvbnMiKTsKLTwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVk
ZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdp
dGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDVj
OTFmZTlhNzZjNzUxNzE3NDgyMDJjOGE0YWZlYTc3YTQ0YmE0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13
aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBA
QAorCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlk
IHBhcmFtZXRlcnMuIDEgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGgg
d2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDMgCitQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQgCitQQVNT
IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRl
cnMuIDUgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZh
bGlkIHBhcmFtZXRlcnMuIDYgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdp
dGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDcgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDggCitQQVNTIFB1YmxpY0tl
eUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDkgCitQ
QVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFt
ZXRlcnMuIDEwIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGgg
aW52YWxpZCBwYXJhbWV0ZXJzLiAxMSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0
XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTIgCitQQVNTIFB1YmxpY0tleUNyZWRl
bnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDEzIAorUEFTUyBQ
dWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LiAxNCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFs
aWQgcGFyYW1ldGVycy4gMTUgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdp
dGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE2IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxNyAKK1BBU1MgUHVibGlj
S2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTgg
CitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBh
cmFtZXRlcnMuIDE5IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyMCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtb
Z2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjEgCitQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIyIAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0
ZXJzLiAyMyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gMjQgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1d
IHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDI1IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyNiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFs
LWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWludmFsaWQtcGFy
YW1ldGVycy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhY2Q2OTBjZTBhNGU5ZTZlOWE3Njg4MDEz
ZTBlOGUzZTc5NjM5NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJz
Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+V2Vi
IEF1dGhlbnRpY2F0aW9uIEFQSTogUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCBp
bnZhbGlkIHBhcmFtZXRlcnMuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlsLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgY29uc3QgY2hhbGxlbmdlID0gYXNjaWlUb1VpbnQ4QXJy
YXkoIjEyMzQ1NiIpOworICAgIGNvbnN0IGFsbG93Q3JlZGVudGlhbCA9IHsgdHlwZTogInB1Ymxp
Yy1rZXkiLCBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpIH07CisKKyAgICBjb25zdCBt
aXNzaW5nQXR0cmlidXRlVmVjdG9yID0gWworICAgICAgICAvLyBtaXNzaW5nIHRvcCBsZXZlbCBh
dHRyaWJ1dGUKKyAgICAgICAgW3VuZGVmaW5lZF0sCisgICAgICAgIC8vIG1pc3NpbmcgYWxsb3dD
cmVkZW50aWFscyBhdHRyaWJ1dGUKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRl
ZmluZWQsIFt7IHR5cGU6IHVuZGVmaW5lZCwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCisg
ICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0Ny
ZWRlbnRpYWwudHlwZSwgaWQ6IHVuZGVmaW5lZCB9XV0KKyAgICBdOworCisgICAgY29uc3Qgd3Jv
bmdUeXBlQXR0cmlidXRlVmVjdG9yID0gWworICAgICAgICAvLyB3cm9uZyBjaGFsbGVuZ2UgdHlw
ZQorICAgICAgICBbMV0sCisgICAgICAgIFt0cnVlXSwKKyAgICAgICAgW251bGxdLAorICAgICAg
ICBbU3ltYm9sKCldLAorICAgICAgICBbImZvbyJdLAorICAgICAgICBbWyBdXSwKKyAgICAgICAg
W3sgfV0sCisgICAgICAgIC8vIHdyb25nIHRpbWVvdXQgdHlwZQorICAgICAgICBbY2hhbGxlbmdl
LCBTeW1ib2woKSwgdW5kZWZpbmVkLCB1bmRlZmluZWRdLAorICAgICAgICAvLyB3cm9uZyBycElk
IHR5cGUKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCBTeW1ib2woKSwgdW5kZWZpbmVk
XSwKKyAgICAgICAgLy8gd3JvbmcgYWxsb3dDcmVkZW50aWFscyB0eXBlCisgICAgICAgIFtjaGFs
bGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiAxLCBpZDogYWxsb3dDcmVkZW50
aWFsLmlkIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7
IHR5cGU6IHRydWUsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAorICAgICAgICBbY2hhbGxl
bmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogbnVsbCwgaWQ6IGFsbG93Q3JlZGVu
dGlhbC5pZCB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBb
eyB0eXBlOiBTeW1ib2woKSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCisgICAgICAgIFtj
aGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiAiZm9vIiwgaWQ6IGFsbG93
Q3JlZGVudGlhbC5pZCB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCBbeyB0eXBlOiBbIF0sIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAorICAgICAgICBb
Y2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogeyB9LCBpZDogYWxsb3dD
cmVkZW50aWFsLmlkIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogMSB9XV0sCisgICAgICAgIFtj
aGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwu
dHlwZSwgaWQ6IHRydWUgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVm
aW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiBudWxsIH1dXSwKKyAgICAg
ICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVu
dGlhbC50eXBlLCBpZDogU3ltYm9sKCkgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmlu
ZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiAiZm9vIiB9
XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBh
bGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IFsgXSB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVu
ZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IHsg
fSB9XV0KKyAgICBdOworCisgICAgZnVuY3Rpb24gbWFrZU9wdGlvbnMoYXR0cmlidXRlcykKKyAg
ICB7CisgICAgICAgIGlmIChhdHRyaWJ1dGVzLmxlbmd0aCA9PSAxKQorICAgICAgICAgICAgcmV0
dXJuIHsgcHVibGljS2V5OiB7IGNoYWxsZW5nZTogYXR0cmlidXRlc1swXSB9IH07CisgICAgICAg
IHJldHVybiB7IHB1YmxpY0tleTogeyBjaGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMF0sIHRpbWVvdXQ6
IGF0dHJpYnV0ZXNbMV0sIHJwSWQ6IGF0dHJpYnV0ZXNbMl0sIGFsbG93Q3JlZGVudGlhbHM6IGF0
dHJpYnV0ZXNbM10gfSB9OworICAgIH0KKworICAgIGxldCBpbmRleCA9IDE7CisgICAgZnVuY3Rp
b24gcnVuVGVzdChhdHRyaWJ1dGVzVmVjdG9ycykgeworICAgICAgICBhdHRyaWJ1dGVzVmVjdG9y
cy5mb3JFYWNoKGZ1bmN0aW9uKGF0dHJpYnV0ZXNWZWN0b3IpIHsKKyAgICAgICAgICAgIGF0dHJp
YnV0ZXNWZWN0b3IuZm9yRWFjaChhc3luYyBmdW5jdGlvbihhdHRyaWJ1dGVzKSB7CisgICAgICAg
ICAgICAgICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksCisgICAgICAgICAgICAg
ICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG1ha2VPcHRpb25zKGF0dHJpYnV0
ZXMpKSk7CisgICAgICAgICAgICAgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1d
IHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuICIgKyBpbmRleCk7CisgICAgICAgICAgICAg
ICAgaW5kZXggPSBpbmRleCArIDE7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAg
fQorCisgICAgY29uc3QgdmVjdG9ycyA9IFtdOworICAgIHZlY3RvcnMucHVzaChtaXNzaW5nQXR0
cmlidXRlVmVjdG9yKTsKKyAgICB2ZWN0b3JzLnB1c2god3JvbmdUeXBlQXR0cmlidXRlVmVjdG9y
KTsKKyAgICBydW5UZXN0KHZlY3RvcnMpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4t
d2l0aC1hbmNlc3RvcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3Jz
Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Y2QzNzdmNWQ1N2M5NTcxODdlNTk2ZGIy
OTEzMmJlZTJiZTVkMGM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3Jz
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKyAgCisKK1BBU1MgVGVzdHMgdGhh
dCBhIGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRz
IGFuY2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuIAorUEFTUyBUZXN0cyB0aGF0IGEg
ZnJhbWUgdGhhdCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5j
ZXN0b3JzIGNvdWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS4gMiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2lu
LXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMWYxNDdiMjRkYjE1YzgzZjg5YjNmMjE1NWEwYjVmOTcyMTA5ZGJm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwKQEAg
LTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8dGl0bGU+V2ViIEF1dGhlbnRpY2F0aW9uIEFQSTogVGVz
dHMgdGhhdCBhIGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBh
bGwgaXRzIGFuY2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuPC90aXRsZT4KKyAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAg
PHNjcmlwdD4KKyAgICAgICAgcHJvbWlzZV90ZXN0KHQgPT4geworICAgICAgICAgICAgcmV0dXJu
IHdpdGhDcm9zc09yaWdpbklmcmFtZSgibGFzdC1sYXllci1mcmFtZS5odHRwcy5odG1sIikudGhl
bigobWVzc2FnZSkgPT4geworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZS5k
YXRhLCAiUEFTUy4iKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9LCAiVGVzdHMgdGhhdCBh
IGZyYW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRzIGFu
Y2VzdG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuIik7CisKKyAgICAgICAgcHJvbWlzZV90
ZXN0KHQgPT4geworICAgICAgICAgICAgcmV0dXJuIHdpdGhDcm9zc09yaWdpbklmcmFtZSgic2Vj
b25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWwiKS50aGVuKChtZXNzYWdlKSA9PiB7CisgICAgICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEsICJQQVNTLiIpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0sICJUZXN0cyB0aGF0IGEgZnJhbWUgdGhhdCBkb2Vzbid0IHNoYXJl
IHRoZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNvdWxkIG5vdCBhY2Nlc3Mg
dGhlIEFQSS4gMiIpOworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXItZnJh
bWUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNlcy9s
YXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE0ZGE0Y2Q1YzIyZDNlNmVl
YjE1MTkzNThjNDRhNjFlMTViODBlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKQEAg
LTAsMCArMSw0OCBAQAorPHNjcmlwdCBzcmM9Ii4vdXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gbWVzc2FnZVRvVG9wKG1lc3NhZ2UpIHsKKyAgICB0b3AucG9zdE1lc3NhZ2Uo
bWVzc2FnZSwgIioiKTsKK30KKworY29uc3QgbWFrZU9wdGlvbnMgPSB7CisgICAgcHVibGljS2V5
OiB7CisgICAgICAgIHJwOiB7CisgICAgICAgICAgICBuYW1lOiAiZXhhbXBsZS5jb20iCisgICAg
ICAgIH0sCisgICAgICAgIHVzZXI6IHsKKyAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2Vl
ZCIsCisgICAgICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgICAg
ICAgICAgZGlzcGxheU5hbWU6ICJBcHBsZXNlZWQiLAorICAgICAgICB9LAorICAgICAgICBjaGFs
bGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKKyAgICAgICAgcHViS2V5Q3JlZFBh
cmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dCisgICAgfQorfTsKK2NvbnN0
IHJlcXVlc3RPcHRpb25zID0geworICAgIHB1YmxpY0tleTogeworICAgICAgICBjaGFsbGVuZ2U6
IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKKyAgICB9Cit9OworCisKK25hdmlnYXRvci5j
cmVkZW50aWFscy5jcmVhdGUobWFrZU9wdGlvbnMpLnRoZW4oCisgICAgZnVuY3Rpb24odmFsdWUp
IHsKKyAgICAgICAgbWVzc2FnZVRvVG9wKCJBY2Nlc3MgZ3JhbnRlZC4gIiArIHZhbHVlKTsKKyAg
ICB9LAorICAgIGZ1bmN0aW9uKGV4Y2VwdGlvbikgeworICAgICAgICBpZiAoZXhjZXB0aW9uLm5h
bWUgPT0gIk5vdEFsbG93ZWRFcnJvciIgJiYgZXhjZXB0aW9uLm1lc3NhZ2UgPT0gIlRoZSBvcmln
aW4gb2YgdGhlIGRvY3VtZW50IGlzIG5vdCB0aGUgc2FtZSBhcyBpdHMgYW5jZXN0b3JzLiIpCisg
ICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChyZXF1ZXN0T3B0aW9u
cyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiVGhyb3cgIiArIGV4
Y2VwdGlvbi5uYW1lICArICIuIik7CisgICAgfQorKS50aGVuKGZ1bmN0aW9uKHZhbHVlKSB7Cisg
ICAgICAgIG1lc3NhZ2VUb1RvcCgiQWNjZXNzIGdyYW50ZWQuICIgKyB2YWx1ZSk7CisgICAgfSwK
KyAgICBmdW5jdGlvbihleGNlcHRpb24pIHsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbi5uYW1lID09
ICJOb3RBbGxvd2VkRXJyb3IiICYmIGV4Y2VwdGlvbi5tZXNzYWdlID09ICJUaGUgb3JpZ2luIG9m
IHRoZSBkb2N1bWVudCBpcyBub3QgdGhlIHNhbWUgYXMgaXRzIGFuY2VzdG9ycy4iKQorICAgICAg
ICAgICAgbWVzc2FnZVRvVG9wKCJQQVNTLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBt
ZXNzYWdlVG9Ub3AoIlRocm93ICIgKyBleGNlcHRpb24ubmFtZSAgKyAiLiIpOworICAgIH0KKyk7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3Jl
c291cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYmF1dGhuL3Jlc291cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zY2YxNjMwZTQwZjRjZDFiNWFlYzNhYjZiYjlkYTQ0Y2NlZjM3NjI3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2VzL3NlY29u
ZC1sYXllci1mcmFtZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGlmcmFtZSBzcmM9Imxhc3Qt
bGF5ZXItZnJhbWUuaHR0cHMuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qcyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNlcy91dGlsLmpzCmluZGV4IDEy
MGY5MGRmODI0OGI3NjE3NWI4MTk2ZGIzOTgwNzRlZGY3NjlkM2IuLjFlMDY0OWZlYmIxMjU5NzU0
OTM3YTg3YTZhZWI0MjY2NjUyZWRmOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3dlYmF1dGhuL3Jlc291cmNlcy91dGlsLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YmF1dGhuL3Jlc291cmNlcy91dGlsLmpzCkBAIC0xLDMgKzEsMTYgQEAKK2NvbnN0IHRlc3RDcmVk
ZW50aWFsSWRCYXNlNjR1cmwgPSAiU01TWEhuZ0Y3aEVPc0VsQTczQzNSWS04YlI0IjsKK2NvbnN0
IHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQgPQorICAgICJCRGovenhTa3pLZ2FCdVMzY2RXREY1
NThvZjhBYUlwZ0Zwc2pGL1FtMTc0OVZCSlBncVVJd2ZoV0hKOTFuYjdVIiArCisgICAgIlBINzZj
MCtXRk96WktzbFB5eUZzZTRnb0dJVzJSN2s5VkhMUEVabDVuZm5CZ0VWRmg1emV2Ky94cEhRSXZ1
cTYiICsKKyAgICAiUlE9PSI7Citjb25zdCB0ZXN0RVMyNTZQdWJsaWNLZXlCYXNlNjR1cmwgPQor
ICAgICJCRGpfenhTa3pLZ2FCdVMzY2RXREY1NThvZjhBYUlwZ0Zwc2pGX1FtMTc0OVZCSlBncVVJ
d2ZoV0hKOTFuYjdVIiArCisgICAgIlBINzZjMC1XRk96WktzbFB5eUZzZTRnIjsKK2NvbnN0IHRl
c3RScElkID0gImxvY2FsaG9zdCI7Citjb25zdCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCA9ICJBQUVD
QXdRRkJnY0lDUT09IjsKKworY29uc3QgUkVTT1VSQ0VTX0RJUiA9ICIvV2ViS2l0L3dlYmF1dGhu
L3Jlc291cmNlcy8iOworCiBmdW5jdGlvbiBhc2NpaVRvVWludDhBcnJheShzdHIpCiB7CiAgICAg
dmFyIGNoYXJzID0gW107CkBAIC0xMzgsMTMgKzE1MSwzMSBAQCBmdW5jdGlvbiBleHRyYWN0UmF3
U2lnbmF0dXJlKGFzbjFzaWduYXR1cmUpCiAgICAgcmV0dXJuIHRtcC5idWZmZXI7CiB9CiAKLWNv
bnN0IHRlc3RDcmVkZW50aWFsSWRCYXNlNjR1cmwgPSAiU01TWEhuZ0Y3aEVPc0VsQTczQzNSWS04
YlI0IjsKLWNvbnN0IHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQgPQotICAgICJCRGovenhTa3pL
Z2FCdVMzY2RXREY1NThvZjhBYUlwZ0Zwc2pGL1FtMTc0OVZCSlBncVVJd2ZoV0hKOTFuYjdVIiAr
Ci0gICAgIlBINzZjMCtXRk96WktzbFB5eUZzZTRnb0dJVzJSN2s5VkhMUEVabDVuZm5CZ0VWRmg1
emV2Ky94cEhRSXZ1cTYiICsKLSAgICAiUlE9PSI7Ci1jb25zdCB0ZXN0RVMyNTZQdWJsaWNLZXlC
YXNlNjR1cmwgPQotICAgICJCRGpfenhTa3pLZ2FCdVMzY2RXREY1NThvZjhBYUlwZ0Zwc2pGX1Ft
MTc0OVZCSlBncVVJd2ZoV0hKOTFuYjdVIiArCi0gICAgIlBINzZjMC1XRk96WktzbFB5eUZzZTRn
IjsKLWNvbnN0IHRlc3RScElkID0gImxvY2FsaG9zdCI7Ci1jb25zdCB0ZXN0VXNlcmhhbmRsZUJh
c2U2NCA9ICJBQUVDQXdRRkJnY0lDUT09IjsKK2Z1bmN0aW9uIHdhaXRGb3JMb2FkKCkKK3sKKyAg
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobWVzc2FnZSkgPT4geworICAgICAgICAgICAgcmVzb2x2
ZShtZXNzYWdlKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHdpdGhDcm9z
c09yaWdpbklmcmFtZShyZXNvdXJjZUZpbGUpCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChy
ZXNvbHZlKSA9PiB7CisgICAgICAgIHdhaXRGb3JMb2FkKCkudGhlbigobWVzc2FnZSkgPT4gewor
ICAgICAgICAgICAgcmVzb2x2ZShtZXNzYWdlKTsKKyAgICAgICAgfSk7CisgICAgICAgIGNvbnN0
IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgICAgIGZyYW1l
LnNyYyA9IGdldF9ob3N0X2luZm8oKS5IVFRQU19SRU1PVEVfT1JJR0lOICsgUkVTT1VSQ0VTX0RJ
UiArIHJlc291cmNlRmlsZTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFt
ZSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHByb21pc2VSZWplY3RzKHRlc3QsIGV4cGVjdGVk
LCBwcm9taXNlLCBkZXNjcmlwdGlvbikKK3sKKyAgICByZXR1cm4gcHJvbWlzZS50aGVuKHRlc3Qu
dW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBoYXZlIHJlamVjdGVkOiAiICsgZGVzY3JpcHRpb24pKS5j
YXRjaChmdW5jdGlvbihlKSB7CisgICAgICAgIGFzc2VydF90aHJvd3MoZXhwZWN0ZWQsIGZ1bmN0
aW9uKCkgeyB0aHJvdyBlIH0sIGRlc2NyaXB0aW9uKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
Lm1lc3NhZ2UsIGRlc2NyaXB0aW9uKTsKKyAgICB9KTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDU4
ZTdlMjgxYzU1MGZhMzk4ZDQ1OGZkODkzM2JkYTU4NzQ4NjAyOGIuLmUxZjhiN2ZmMGEyZWIzYmJi
ZTYyZjc3OGIwNDdkOWUzYTM3NTcwNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xMTUwLDcgKzExNTAsNiBAQCB3ZWJraXQub3JnL2IvMTc1NDE5IGh0
dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW1haW4tZnJhbWUuaHR0
cAogd2Via2l0Lm9yZy9iLzE3NTQxOSBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvdGhpcmQtcGFy
dHktcmVnaXN0cmF0aW9uLmh0bWwgWyBTa2lwIF0KIAogIyBTa2lwIGFueXRoaW5nIHJlbGF0ZWQg
dG8gV2ViQXV0aE4KLWh0dHAvdGVzdHMvd2ViYXV0aG4vIFsgU2tpcCBdCiBodHRwL3dwdC9jcmVk
ZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJhdXRobi8gWyBTa2lwIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBb
IFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDdlOTU4MDJmMjRjYzdlYTVjZTgyYzIyYWRhYTY1NTg3NzM2MmU3Y2QuLjkwZmQwYTQy
YzJlNWE1NzdiOGRjZTA5YzJkNzIwZjQ4MWRjZDQ1ZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5NjksNyArMTk2OSw2IEBAIHdlYmtp
dC5vcmcvYi8xODAwNjIgZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JhbmdlLXRlc3QuaHRtbCBbIFNr
aXAgXQogCiAjIFNraXAgYW55dGhpbmcgcmVsYXRlZCB0byBXZWJBdXRoTgotaHR0cC90ZXN0cy93
ZWJhdXRobi8gWyBTa2lwIF0KIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lw
IF0KIGh0dHAvd3B0L3dlYmF1dGhuLyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMmUwOWUwZDA4MzEyYzBkNzQ0
NjhlMTQzMGM5N2U2ZGUxOWVkNTE2Yy4uNWU2YmYxOTkzZjhiOGExYzcyZWJiNTNkNjNmYmI0NjE3
Mzg1MGJlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNTQ1LDcgKzU0NSw2IEBAIHdlYmtpdC5vcmcvYi8xODE4NjIgWyBEZWJ1ZyBdIGh0
dHAvdGVzdHMvaW1hZ2VzL2ltYWdlLXN1cHBvcnRzLXZpZGVvLmh0bWwgWyBQYXNzCiB3ZWJraXQu
b3JnL2IvMTc5ODUzIGltcG9ydGVkL2JsaW5rL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsLWl0ZXJh
dGlvbi1zaW1wbGUtdGV4dC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogIyBTa2lwIGFueXRoaW5n
IHJlbGF0ZWQgdG8gV2ViQXV0aE4KLWh0dHAvdGVzdHMvd2ViYXV0aG4vIFsgU2tpcCBdCiBodHRw
L3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJhdXRobi8g
WyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5h
Z2VtZW50LyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGNmNTExYTkzNDA3YzIwZWEwYjNiN2EyZDQ4MDM0NDliM2ZlZWFhMWMu
LjM0NmEyODQyZTVlZmU0YjZkMzE3OTQyZmYxOGUwZGI5YzBjNWQyOTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg4NywzICs4ODcsNiBA
QCBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUt
bG9jYWwuaHR0cHMuaHRtbCBbIFNraXAgXQogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1j
cmVkZW50aWFsLWNyZWF0ZS1zdWNjZXNzLWxvY2FsLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGh0dHAv
d3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS1sb2NhbC5odHRw
cy5odG1sIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwt
Z2V0LXN1Y2Nlc3MtbG9jYWwuaHR0cHMuaHRtbCBbIFNraXAgXQorIyBUaGUgZm9sbG93aW5nIHRl
c3RzIHJlcXVpcmUgUHVibGljS2V5Q3JlZGVudGlhbCBvYmplY3RzLiBXZSBjYW4gb25seSBwcm9k
dWNlIHRoZW0gdmlhIGxvY2FsIGF1dGhlbnRpY2F0b3JzIG5vdy4KK2h0dHAvd3B0L2NyZWRlbnRp
YWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1zdG9yZS1iYXNpY3MuaHR0cHMuaHRt
bCBbIFNraXAgXQoraHR0cC93cHQvd2ViYXV0aG4vaWRsLmh0dHBzLmh0bWwgWyBTa2lwIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzNhOTMwNzQ3MzFl
NGVjOWFhZGQ3N2I3NDFiMzIwODBmMDdiNzY2My4uMGIwYzRmNjdjNTMyYWYxMDI2MTg3M2QwZWNi
N2YyZjFlOTA4OGY3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTY1NCw3ICs2NTQsNiBAQCB3ZWJraXQub3JnL2IvMTQ5NjMwIGNzczMvZm9udC12YXJp
YW50LWFsbC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTU4ODM2IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhIFsgU2tpcCBdCiAK
ICMgU2tpcCBhbnl0aGluZyByZWxhdGVkIHRvIFdlYkF1dGhOCi1odHRwL3Rlc3RzL3dlYmF1dGhu
LyBbIFNraXAgXQogaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBbIFNraXAgXQogaHR0
cC93cHQvd2ViYXV0aG4vIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc1YTU3NjI1MWIyZmY5ODc2OTRhMjNh
Mjg1OTY5OTdmOTUyNDM5YjcuLmQxYTg5ZWVmMGIwYzg4MTY2OTk3MzEzZmE5OWYzZWQ2YmU4NzRh
YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9u
cwpAQCAtOTI0LDcgKzkyNCw2IEBAIGh0dHAvdGVzdHMvc3NsIFsgU2tpcCBdCiAKIGh0dHAvdGVz
dHMvc3VicmVzb3VyY2UtaW50ZWdyaXR5IFsgU2tpcCBdCiBodHRwL3Rlc3RzL3dlYmFyY2hpdmUg
WyBTa2lwIF0KLWh0dHAvdGVzdHMvd2ViYXV0aG4gWyBTa2lwIF0KIGh0dHAvdGVzdHMvd2ViZ2wg
WyBTa2lwIF0KIGh0dHAvdGVzdHMvd2VicnRjIFsgU2tpcCBdCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzFiODEwYjkzM2Y5OTlhNmIxMzE4NjllMjIz
ZDEyNDRjZWE2ZTIxZC4uNDlkOWUwNDYxODhiNjE1YjcwMWY0OTFiY2MyYmFiNzkzNzNhNjEyYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMCw3ICsx
MjAsNiBAQCB3ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVyZVN0cmVh
bS9jYW52YXMzZC5odG1sIFsgQ3Jhc2ggVGltZW91dAogCiAjIFNraXAgYW55dGhpbmcgcmVsYXRl
ZCB0byBXZWJBdXRoTgogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWh0dHAv
dGVzdHMvd2ViYXV0aG4vIFsgU2tpcCBdCiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQv
IFsgU2tpcCBdCiBodHRwL3dwdC93ZWJhdXRobi8gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBbIFNraXAgXQo=
</data>
<flag name="commit-queue"
          id="368501"
          type_id="3"
          status="+"
          setter="jiewen_tan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351137</attachid>
            <date>2018-09-28 16:21:17 -0700</date>
            <delta_ts>2018-09-28 17:02:49 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189283-20180928162116.patch</filename>
            <type>text/plain</type>
            <size>128914</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI3Njc0MGFkMGRkMzcy
ZTg0MWYwMDc2MGI0MDAwZDg0ZTNlMjMyMi4uMTE3MTIzMDkyODQzMTI1OGQ2MDMzOTYxMzdlMzky
NzcwNGQxNzhjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTA5LTI3ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQb2xp
c2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAg
IFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIG1vY2tpbmcgbWVjaGFuaXNtLgorCisgICAgICAg
IFRlc3RzOiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdp
dGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRl
cnMuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLmh0dHBzLmh0bWwKKworICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6SW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6bW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvciBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuaWRsOiBSZW1vdmVkLgorCiAyMDE4LTA5LTI4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBbGxvdyBwcm9ncmFtbWF0aWMgZm9jdXMgd2hl
biBoYXJkd2FyZSBrZXlib2FyZCBpcyBhdHRhY2hlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2ZDExMzhiYjk1NDg2
YmU1NzU3MGRmMTEwNDdlYjU2YjIzYTc4NTVlLi4wMTI2ZmExNTY4ZDFlYmRiMTgwOWU5ZDY0NDdi
MDczNzhjNjY5YjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA5LTI3ICBKaWV3
ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQb2xp
c2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAg
IFRoaXMgcGF0Y2ggY2hhbmdlcyBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmxv
Y2FsIHRvIG9wdGlvbmFsIHN1Y2ggdGhhdCB0ZXN0cyBjYW4gZXhwcmVzcworICAgICAgICBhYnNl
bmNlIG9mIGxvY2FsIGF1dGhlbnRpY2F0b3JzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3RvcmVT
ZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpNb2NrTG9jYWxDb25uZWN0aW9uOjpnZXRVc2VyQ29uc2VudCBjb25zdCk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1vY2tMb2NhbENvbm5lY3Rpb246OmdldEF0dGVzdGF0aW9uIGNvbnN0
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxT
ZXJ2aWNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TW9ja0xvY2FsU2VydmljZTo6cGxhdGZvcm1T
dGFydERpc2NvdmVyeSBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oOgorCiAyMDE4LTA5
LTI4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBB
bGxvdyBwcm9ncmFtbWF0aWMgZm9jdXMgd2hlbiBoYXJkd2FyZSBrZXlib2FyZCBpcyBhdHRhY2hl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggN2I4ZDVjMjNmMzJhMzMzZmU5ZjIx
MjMwZTNhMDVhNTgwNDU4M2M0Yi4uMzYwZmRlNzQzMTI4NWNhZGM2NmM5NzcwN2U1MmVjZDMzODU1
MDIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05NzgsNyArOTc4LDYgQEAg
SlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9JbnRlcm5hbHMuaWRs
IFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGwgXAogICAgICQo
V2ViQ29yZSkvdGVzdGluZy9NZW1vcnlJbmZvLmlkbCBcCi0gICAgJChXZWJDb3JlKS90ZXN0aW5n
L01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3Rp
bmcvTW9ja0NETUZhY3RvcnkuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja0NvbnRl
bnRGaWx0ZXJTZXR0aW5ncy5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGFnZU92
ZXJsYXkuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA0MTFlYWVhMjU3ODhhMjAzZTllODc5MDJmNTUzYjVlMDFmYWI5Zjgx
Li41MmFjOTk2OGEwYzU1ZjgzODU2ZmVjZTE0MDI0Y2I0Njc0MmI5ZjNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzY5LDgg
KzE3NjksNiBAQAogCQk1NzUwQTk4NzFFNkEyMTY4MDA3MDVDNEEgLyogQ3J5cHRvQWxnb3JpdGht
RUNESC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc1
MEE5ODUxRTZBMjE2ODAwNzA1QzRBIC8qIENyeXB0b0FsZ29yaXRobUVDREguaCAqLzsgfTsKIAkJ
NTc1NDcxOUYxRUNFNjI4MzAwREQ2M0IyIC8qIEpTUnNhUHNzUGFyYW1zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzU0NzE5OTFFQ0U1RDJBMDBERDYz
QjIgLyogSlNSc2FQc3NQYXJhbXMuaCAqLzsgfTsKIAkJNTc2MDgyNzIyMDIxNUE1NTAwMTE2Njc4
IC8qIEF1dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2MDgyNzAyMDIxNTEzRjAwMTE2Njc4IC8qIEF1
dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTU3NjA4MjdBMjAyNEVBNUMwMDExNjY3OCAvKiBNb2Nr
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NzYwODI3ODIwMjQ0REFCMDAxMTY2NzggLyogTW9ja0F1dGhlbnRp
Y2F0b3JDb29yZGluYXRvci5oICovOyB9OwotCQk1NzYwODI3QjIwMjRFRDI5MDAxMTY2NzggLyog
TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzYwODI3OTIwMjQ0REFDMDAxMTY2NzggLyogTW9ja0F1
dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAgKi87IH07CiAJCTU3NjgxNDJBMUU2Rjk5QzEwMEU3
Nzc1NCAvKiBDcnlwdG9BbGdvcml0aG1FY2RoS2V5RGVyaXZlUGFyYW1zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzY4MTQyOTFFNkY5OUMxMDBFNzc3
NTQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkaEtleURlcml2ZVBhcmFtcy5oICovOyB9OwogCQk1NzY4
MTQ0MTFFNzA5RkE0MDBFNzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzY4MTQzRTFFNzA5QzM2MDBF
Nzc3NTQgLyogSlNFY2RoS2V5RGVyaXZlUGFyYW1zLmggKi87IH07CiAJCTU3NjgxNDQ1MUU3MENC
MUYwMEU3Nzc1NCAvKiBKU0Flc0tleVBhcmFtcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTc2ODE0NDMxRTcwQ0IxMDAwRTc3NzU0IC8qIEpTQWVzS2V5
UGFyYW1zLmggKi87IH07CkBAIC0xNzkyLDggKzE3OTAsNiBAQAogCQk1N0Q4NDYyODFGRTg5NjA1
MDBDQTM2ODIgLyogTmF2aWdhdG9yQ3JlZGVudGlhbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RDg0NjI2MUZFODk1RjgwMENBMzY4MiAvKiBOYXZp
Z2F0b3JDcmVkZW50aWFscy5oICovOyB9OwogCQk1N0Q4NDYyRTFGRUFGNjk5MDBDQTM2ODIgLyog
UHVibGljS2V5Q3JlZGVudGlhbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTdEODQ2MkIxRkVBRjY4RjAwQ0EzNjgyIC8qIFB1YmxpY0tleUNyZWRlbnRp
YWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
N0Q4NDYzNTFGRUFGQ0QzMDBDQTM2ODIgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0Q4NDYzMDFGRUFGQzJG
MDBDQTM2ODIgLyogSlNQdWJsaWNLZXlDcmVkZW50aWFsLmggKi87IH07Ci0JCTU3RENFRDY3MjE0
MDc3NUIwMDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RENFRDYyMjE0MDc2M0Mw
MDE2Qjg0NyAvKiBKU01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCAqLzsgfTsKLQkJNTdE
Q0VENjkyMTQwNzc2NDAwMTZCODQ3IC8qIEpTTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RDRUQ2
MzIxNDA3NjNDMDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCAq
LzsgfTsKIAkJNTdEQ0VENzQyMTQzMDVGMDAwMTZCODQ3IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxE
YXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0RD
RUQ3MjIxNDMwNUYwMDAxNkI4NDcgLyogUHVibGljS2V5Q3JlZGVudGlhbERhdGEuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1N0RDRUQ5MDIxNDg3
RkY3MDAxNkI4NDcgLyogQXV0aGVudGljYXRvclRyYW5zcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdEQ0VEOEMyMTQ4N0VEQjAwMTZCODQ3IC8q
IEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1N0RDRUQ5ODIxNDg4MjE2MDAxNkI4NDcgLyogSlNBdXRoZW50
aWNhdG9yVHJhbnNwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1N0RDRUQ5MjIxNDg4MEM2MDAxNkI4NDcgLyogSlNBdXRoZW50aWNhdG9yVHJhbnNw
b3J0LmggKi87IH07CkBAIC04NTY4LDkgKzg1NjQsNiBAQAogCQk1NzYwODI0RjIwMTE4RDhEMDAx
MTY2NzggLyogSlNCYXNpY0NyZWRlbnRpYWxDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNCYXNpY0NyZWRlbnRpYWxDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1NzYwODI1NjIwMTFCRTAyMDAxMTY2NzggLyogSlNBdXRoZW50aWNhdG9yUmVzcG9uc2VDdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBdXRoZW50aWNhdG9yUmVzcG9uc2VDdXN0b20u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzYwODI3MDIwMjE1MTNGMDAxMTY2
NzggLyogQXV0aGVudGljYXRvckNvb3JkaW5hdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1
dGhlbnRpY2F0b3JDb29yZGluYXRvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk1NzYwODI3ODIwMjQ0REFCMDAxMTY2NzggLyogTW9ja0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3NjA4Mjc5MjAyNDREQUMwMDExNjY3OCAvKiBN
b2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vY2tB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk1NzYwODI4MDIwMjU1NkY0MDAxMTY2NzggLyogTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRv
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU3NjA4MjkzMjAyQkE5NTMwMDExNjY3OCAvKiBBdXRoZW50aWNh
dG9yQ29vcmRpbmF0b3JDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc2
ODE0MjgxRTZGOThBRDAwRTc3NzU0IC8qIEVjZGhLZXlEZXJpdmVQYXJhbXMuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVj
ZGhLZXlEZXJpdmVQYXJhbXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzY4
MTQyOTFFNkY5OUMxMDBFNzc3NTQgLyogQ3J5cHRvQWxnb3JpdGhtRWNkaEtleURlcml2ZVBhcmFt
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1FY2Ro
S2V5RGVyaXZlUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NjI1LDgg
Kzg2MTgsNiBAQAogCQk1N0Q4NDYyRDFGRUFGNjhGMDBDQTM2ODIgLyogUHVibGljS2V5Q3JlZGVu
dGlhbC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUHVibGljS2V5Q3JlZGVudGlhbC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU3RDg0NjMwMUZFQUZDMkYwMENBMzY4MiAvKiBKU1B1YmxpY0tleUNyZWRl
bnRpYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQdWJsaWNLZXlDcmVk
ZW50aWFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RDg0NjMxMUZFQUZDMkYw
MENBMzY4MiAvKiBKU1B1YmxpY0tleUNyZWRlbnRpYWwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNQdWJsaWNLZXlDcmVkZW50aWFsLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNTdEQ0VENjIyMTQwNzYzQzAwMTZCODQ3IC8qIEpTTW9ja0F1dGhl
bnRpY2F0b3JDb29yZGluYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJNTdEQ0VENjMyMTQwNzYzQzAwMTZCODQ3IC8qIEpTTW9ja0F1dGhlbnRpY2F0b3JDb29y
ZGluYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1N0RDRUQ3MjIxNDMwNUYwMDAxNkI4NDcgLyogUHVibGljS2V5Q3JlZGVudGlhbERhdGEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHVibGljS2V5Q3JlZGVudGlhbERhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTdEQ0VEOEMyMTQ4N0VEQjAwMTZCODQ3IC8qIEF1dGhlbnRpY2F0b3JU
cmFuc3BvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0aGVudGljYXRvclRyYW5zcG9ydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0RDRUQ4RTIxNDg3RURCMDAxNkI4NDcgLyogQXV0
aGVudGljYXRvclRyYW5zcG9ydC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXV0aGVudGljYXRvclRyYW5zcG9ydC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzAzNyw5ICsxNzAyOCw2IEBACiAJCQkJ
QTdCRTdFREUxNEM5MTc1QTAwMTQ0ODlEIC8qIE1hbGxvY1N0YXRpc3RpY3MuaWRsICovLAogCQkJ
CUNENTM5M0NCMTc1RENDRTYwMEMwNzEyMyAvKiBNZW1vcnlJbmZvLmggKi8sCiAJCQkJQ0Q1Mzkz
Q0MxNzVEQ0NFNjAwQzA3MTIzIC8qIE1lbW9yeUluZm8uaWRsICovLAotCQkJCTU3NjA4Mjc5MjAy
NDREQUMwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCAqLywKLQkJ
CQk1NzYwODI3ODIwMjQ0REFCMDAxMTY2NzggLyogTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRv
ci5oICovLAotCQkJCTU3NjA4MjgwMjAyNTU2RjQwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yLmlkbCAqLywKIAkJCQlDREY0QjcyMTFFMDNCRjgxMDBFMjM1QTIgLyogTW9j
a0NETUZhY3RvcnkuY3BwICovLAogCQkJCUNERjRCNzIyMUUwM0JGODEwMEUyMzVBMiAvKiBNb2Nr
Q0RNRmFjdG9yeS5oICovLAogCQkJCUNERjRCNzFGMUUwM0JGNkYwMEUyMzVBMiAvKiBNb2NrQ0RN
RmFjdG9yeS5pZGwgKi8sCkBAIC0xNzA5Niw4ICsxNzA4NCw2IEBACiAJCQkJQTdCNEVBNjkxNEM5
MzQ4NDAwQzhGNUJGIC8qIEpTTWFsbG9jU3RhdGlzdGljcy5oICovLAogCQkJCUNENTM5M0QxMTc1
RTAxODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uY3BwICovLAogCQkJCUNENTM5M0QyMTc1RTAx
ODYwMEMwNzEyMyAvKiBKU01lbW9yeUluZm8uaCAqLywKLQkJCQk1N0RDRUQ2MzIxNDA3NjNDMDAx
NkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCAqLywKLQkJCQk1N0RD
RUQ2MjIxNDA3NjNDMDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmgg
Ki8sCiAJCQkJQ0RGNEI3MkQxRTAzQ0E0QTAwRTIzNUEyIC8qIEpTTW9ja0NETUZhY3RvcnkuY3Bw
ICovLAogCQkJCUNERjRCNzJFMUUwM0NBNEEwMEUyMzVBMiAvKiBKU01vY2tDRE1GYWN0b3J5Lmgg
Ki8sCiAJCQkJQTE5QUVBMUQxQUFBODA2RTAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJT
ZXR0aW5ncy5jcHAgKi8sCkBAIC0xODgxNCw4ICsxODgwMCw2IEBACiAJCTU3NEY1NUREMjA0RjM3
NDQwMDI5NDhDNiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCi0JCQkJNTc0RjU1REUyMDRGMzc0NDAwMjk0OEM2IC8qIExvY2FsQXV0aGVudGljYXRv
ci5oICovLAotCQkJCTU3NEY1NURGMjA0RjM3NDQwMDI5NDhDNiAvKiBMb2NhbEF1dGhlbnRpY2F0
b3IubW0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNvY29hOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTI3MTM4LDcgKzI3MTIyLDYgQEAKIAkJCQk1M0VEM0ZERjE2N0E4OEU3MDA2NzYy
RTYgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
NzQwQjU5NTE0QzkzNUFCMDBBNzdGQTQgLyogSlNNYWxsb2NTdGF0aXN0aWNzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDRDUzOTNENDE3NUUwMTg2MDBDMDcxMjMgLyogSlNNZW1vcnlJbmZvLmggaW4g
SGVhZGVycyAqLywKLQkJCQk1N0RDRUQ2NzIxNDA3NzVCMDAxNkI4NDcgLyogSlNNb2NrQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MzhFQzkzMzFGOTlCOUY3
MDA0RDIyQTggLyogSlNNb2NrQ0RNRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE5QUVB
MjExQUFBODA4NjAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTM4RUM5MzQxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTW9ja1BhZ2VPdmVy
bGF5LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MTQ4LDcgKzI3MTMxLDYgQEAKIAkJCQk0MjdEQTcx
RTEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFQkY1MTIxRDE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzI2QjQxMTYwQThDQ0UwMDI2NzU3QiAvKiBMZWdhY3lN
b2NrQ0RNLmggaW4gSGVhZGVycyAqLywKLQkJCQk1NzYwODI3QTIwMjRFQTVDMDAxMTY2NzggLyog
TW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFCRjZC
ODMxQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMUI1QjI5RjFBQUE4NDZGMDA4QjYwNDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5n
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNThBREMxRDY3OTJDMTAwOUE1MzhDIC8qIE1vY2tH
YW1lcGFkLmggaW4gSGVhZGVycyAqLywKQEAgLTMxNTY3LDcgKzMxNTQ5LDYgQEAKIAkJCQk1M0VE
M0ZERTE2N0E4OEU3MDA2NzYyRTYgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUzOEVDOTMyMUY5OUI5RjcwMDREMjJBOCAvKiBKU01hbGxvY1N0
YXRpc3RpY3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q1MzkzRDMxNzVFMDE4NjAwQzA3MTIz
IC8qIEpTTWVtb3J5SW5mby5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1N0RDRUQ2OTIxNDA3NzY0
MDAxNkI4NDcgLyogSlNNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUNERjRCNzMyMUUwM0QwNjAwMEUyMzVBMiAvKiBKU01vY2tDRE1GYWN0b3J5LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUExOUFFQTIyMUFBQTgwOEEwMEI1MkIyNSAvKiBKU01vY2tD
b250ZW50RmlsdGVyU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0MTUwREUxQzFG
ODY4QzAwMEEzQkEyIC8qIEpTTW9ja1BhZ2VPdmVybGF5LmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MzE1NzcsNyArMzE1NTgsNiBAQAogCQkJCTQyN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU1Nl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRUJGNTEyMUMxNjk2
NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZlcnNpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUNEQzI2QjQwMTYwQThDQzYwMDI2NzU3QiAvKiBMZWdhY3lNb2NrQ0RNLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTU3NjA4MjdCMjAyNEVEMjkwMDExNjY3OCAvKiBNb2NrQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNERjRCNzMxMUUwM0QwMDcwMEUyMzVB
MiAvKiBNb2NrQ0RNRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUJGNkI4MjFBQTk2
QzdEMDBBRjRBOEEgLyogTW9ja0NvbnRlbnRGaWx0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTFCNUIyOUUxQUFBODQ2RTAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggODFi
OTEyZjc0ZjhiMmU3NjZiOWY0NmVjNmRhZWYxYWQ3MzNjMDg2ZC4uMjIxOTI0Mzc1Njg1MDYxMTZm
NjgzZjBlNmE2ZDk3YzFmODIyYzliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cApAQCAtMjY4LDExICsyNjgsNiBAQAogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvci5oIgog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCX0FVVEhOKQotI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvci5oIgotI2luY2x1ZGUgIk1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCIK
LSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBVU0UoTElCV0VCUlRDKQogI2luY2x1ZGUg
PHdlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmg+CiAjZW5kaWYKQEAg
LTU1MywxNSArNTQ4LDYgQEAgSW50ZXJuYWxzOjpJbnRlcm5hbHMoRG9jdW1lbnQmIGRvY3VtZW50
KQogICAgICAgICBmcmFtZS0+cGFnZSgpLT5zZXRQYXltZW50Q29vcmRpbmF0b3Ioc3RkOjptYWtl
X3VuaXF1ZTxQYXltZW50Q29vcmRpbmF0b3I+KCptX21vY2tQYXltZW50Q29vcmRpbmF0b3IpKTsK
ICAgICB9CiAjZW5kaWYKLQotI2lmIEVOQUJMRShXRUJfQVVUSE4pCi0gICAgLy8gRklYTUUoMTg5
MjgzKQotICAgIGlmIChkb2N1bWVudC5wYWdlKCkpIHsKLSAgICAgICAgYXV0byBtb2NrQXV0aGVu
dGljYXRvckNvb3JkaW5hdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxNb2NrQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yPigpOwotICAgICAgICBtX21vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IgPSBt
YWtlV2Vha1B0cihtb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmdldCgpKTsKLS8vICAgICAg
ICBkb2N1bWVudC5wYWdlKCktPmF1dGhlbnRpY2F0b3JDb29yZGluYXRvcigpLnNldENsaWVudChX
VEZNb3ZlKG1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IpKTsKLSAgICB9Ci0jZW5kaWYKIH0K
IAogRG9jdW1lbnQqIEludGVybmFsczo6Y29udGV4dERvY3VtZW50KCkgY29uc3QKQEAgLTQ2NDAs
MTMgKzQ2MjYsNiBAQCBNb2NrUGF5bWVudENvb3JkaW5hdG9yJiBJbnRlcm5hbHM6Om1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IoKSBjb25zdAogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCX0FVVEhO
KQotTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvciYgSW50ZXJuYWxzOjptb2NrQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yKCkgY29uc3QKLXsKLSAgICByZXR1cm4gKm1fbW9ja0F1dGhlbnRpY2F0
b3JDb29yZGluYXRvcjsKLX0KLSNlbmRpZgotCiBib29sIEludGVybmFsczo6aXNTeXN0ZW1QcmV2
aWV3TGluayhFbGVtZW50JiBlbGVtZW50KSBjb25zdAogewogI2lmIFVTRShTWVNURU1fUFJFVklF
VykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGRhN2YxY2IxNTlhMTdjOTcyNTYw
OGU3YWZkM2MxYjVlN2E3MmFmZjguLmIwZmQwOTBiY2NjN2FmN2RhNmYzZjNiZjdiYWMzYzdkZWRl
YzE0NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNzksNyArNzksNiBAQCBj
bGFzcyBNZWRpYVN0cmVhbVRyYWNrOwogY2xhc3MgTWVtb3J5SW5mbzsKIGNsYXNzIE1vY2tDRE1G
YWN0b3J5OwogY2xhc3MgTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5nczsKLWNsYXNzIE1vY2tBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3I7CiBjbGFzcyBNb2NrUGFnZU92ZXJsYXk7CiBjbGFzcyBNb2Nr
UGF5bWVudENvb3JkaW5hdG9yOwogY2xhc3MgTm9kZUxpc3Q7CkBAIC03MDQsMTAgKzcwMyw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHBhdXNlVGltZWxpbmUoQW5pbWF0aW9uVGltZWxpbmUmKTsKICAg
ICB2b2lkIHNldFRpbWVsaW5lQ3VycmVudFRpbWUoQW5pbWF0aW9uVGltZWxpbmUmLCBkb3VibGUp
OwogCi0jaWYgRU5BQkxFKFdFQl9BVVRITikKLSAgICBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5h
dG9yJiBtb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yKCkgY29uc3Q7Ci0jZW5kaWYKLQogICAg
IGJvb2wgaXNTeXN0ZW1QcmV2aWV3TGluayhFbGVtZW50JikgY29uc3Q7CiAgICAgYm9vbCBpc1N5
c3RlbVByZXZpZXdJbWFnZShFbGVtZW50JikgY29uc3Q7CiAKQEAgLTgwNiwxMCArODAxLDYgQEAg
cHJpdmF0ZToKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIE1vY2tQYXltZW50Q29vcmRpbmF0
b3IqIG1fbW9ja1BheW1lbnRDb29yZGluYXRvciB7IG51bGxwdHIgfTsKICNlbmRpZgotCi0jaWYg
RU5BQkxFKFdFQl9BVVRITikKLSAgICBXZWFrUHRyPE1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3I+IG1fbW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvcjsKLSNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDA3
OGNmNzU0NDNmOWEzYTI5NTU3OGNmOTBhYjlkY2NhYTIzZmEzZDAuLmZlZDk4ZjRjOTk2ZDUzZTQz
MjE1MmJjZTU1YTI2ZDhiN2M4ZmUyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKQEAgLTY4NCw3ICs2ODQsNiBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBbRW5h
YmxlZEF0UnVudGltZT1XZWJBbmltYXRpb25zXSB2b2lkIHBhdXNlVGltZWxpbmUoQW5pbWF0aW9u
VGltZWxpbmUgdGltZWxpbmUpOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVdlYkFuaW1hdGlvbnNd
IHZvaWQgc2V0VGltZWxpbmVDdXJyZW50VGltZShBbmltYXRpb25UaW1lbGluZSB0aW1lbGluZSwg
ZG91YmxlIGN1cnJlbnRUaW1lKTsKICAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZXSByZWFkb25s
eSBhdHRyaWJ1dGUgTW9ja1BheW1lbnRDb29yZGluYXRvciBtb2NrUGF5bWVudENvb3JkaW5hdG9y
OwotICAgIFtDb25kaXRpb25hbD1XRUJfQVVUSE5dIHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yIG1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I7CiAKICAg
ICBib29sZWFuIGlzU3lzdGVtUHJldmlld0xpbmsoRWxlbWVudCBlbGVtZW50KTsKICAgICBib29s
ZWFuIGlzU3lzdGVtUHJldmlld0ltYWdlKEVsZW1lbnQgZWxlbWVudCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q3ZDY5YTYyZDYwYWQ5ODY0NzdhZDZhMzJk
NDg2YjA0YjU0Y2Y5MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oIgot
Ci0jaWYgRU5BQkxFKFdFQl9BVVRITikKLQotI2luY2x1ZGUgIkludGVybmFscy5oIgotI2luY2x1
ZGUgPFdlYkNvcmUvUHVibGljS2V5Q3JlZGVudGlhbERhdGEuaD4KLSNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdm9pZCBNb2NrQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yOjpzZXRDcmVhdGlvblJldHVybkJ1bmRsZShjb25zdCBCdWZmZXJTb3VyY2UmIGNy
ZWRlbnRpYWxJZCwgY29uc3QgQnVmZmVyU291cmNlJiBhdHRlc3RhdGlvbk9iamVjdCkKLXsKLSAg
ICBBU1NFUlQoIW1fY3JlZGVudGlhbElkICYmICFtX2F0dGVzdGF0aW9uT2JqZWN0KTsKLSAgICBt
X2NyZWRlbnRpYWxJZCA9IEFycmF5QnVmZmVyOjpjcmVhdGUoY3JlZGVudGlhbElkLmRhdGEoKSwg
Y3JlZGVudGlhbElkLmxlbmd0aCgpKTsKLSAgICBtX2F0dGVzdGF0aW9uT2JqZWN0ID0gQXJyYXlC
dWZmZXI6OmNyZWF0ZShhdHRlc3RhdGlvbk9iamVjdC5kYXRhKCksIGF0dGVzdGF0aW9uT2JqZWN0
Lmxlbmd0aCgpKTsKLX0KLQotdm9pZCBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpzZXRB
c3NlcnRpb25SZXR1cm5CdW5kbGUoY29uc3QgQnVmZmVyU291cmNlJiBjcmVkZW50aWFsSWQsIGNv
bnN0IEJ1ZmZlclNvdXJjZSYgYXV0aGVudGljYXRvckRhdGEsIGNvbnN0IEJ1ZmZlclNvdXJjZSYg
c2lnbmF0dXJlLCBjb25zdCBCdWZmZXJTb3VyY2UmIHVzZXJIYW5kbGUpCi17Ci0gICAgQVNTRVJU
KCFtX2NyZWRlbnRpYWxJZCAmJiAhbV9hdXRoZW50aWNhdG9yRGF0YSAmJiAhbV9zaWduYXR1cmUg
JiYgIW1fdXNlckhhbmRsZSk7Ci0gICAgbV9jcmVkZW50aWFsSWQgPSBBcnJheUJ1ZmZlcjo6Y3Jl
YXRlKGNyZWRlbnRpYWxJZC5kYXRhKCksIGNyZWRlbnRpYWxJZC5sZW5ndGgoKSk7Ci0gICAgbV9h
dXRoZW50aWNhdG9yRGF0YSA9IEFycmF5QnVmZmVyOjpjcmVhdGUoYXV0aGVudGljYXRvckRhdGEu
ZGF0YSgpLCBhdXRoZW50aWNhdG9yRGF0YS5sZW5ndGgoKSk7Ci0gICAgbV9zaWduYXR1cmUgPSBB
cnJheUJ1ZmZlcjo6Y3JlYXRlKHNpZ25hdHVyZS5kYXRhKCksIHNpZ25hdHVyZS5sZW5ndGgoKSk7
Ci0gICAgbV91c2VySGFuZGxlID0gQXJyYXlCdWZmZXI6OmNyZWF0ZSh1c2VySGFuZGxlLmRhdGEo
KSwgdXNlckhhbmRsZS5sZW5ndGgoKSk7Ci19Ci0KLXZvaWQgTW9ja0F1dGhlbnRpY2F0b3JDb29y
ZGluYXRvcjo6bWFrZUNyZWRlbnRpYWwoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgY29uc3QgUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyYsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxl
ciYmIGhhbmRsZXIpCi17Ci0gICAgaWYgKCFzZXRSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShoYW5kbGVyKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX2RpZFRpbWVPdXQp
IHsKLSAgICAgICAgbV9kaWRUaW1lT3V0ID0gZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgaWYgKG1fZGlkVXNlckNhbmNlbCkgewotICAgICAgICBtX2RpZFVzZXJDYW5jZWwgPSBm
YWxzZTsKLSAgICAgICAgcmVxdWVzdFJlcGx5KHsgfSwgeyBOb3RBbGxvd2VkRXJyb3IsICJVc2Vy
IGNhbmNlbGxlZC4iX3MgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKG1fY3Jl
ZGVudGlhbElkKSB7Ci0gICAgICAgIEFTU0VSVChtX2F0dGVzdGF0aW9uT2JqZWN0KTsKLSAgICAg
ICAgcmVxdWVzdFJlcGx5KFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhIHsgV1RGTW92ZShtX2NyZWRl
bnRpYWxJZCksIHRydWUsIG51bGxwdHIsIFdURk1vdmUobV9hdHRlc3RhdGlvbk9iamVjdCksIG51
bGxwdHIsIG51bGxwdHIsIG51bGxwdHIgfSwgeyB9KTsKLSAgICAgICAgbV9jcmVkZW50aWFsSWQg
PSBudWxscHRyOwotICAgICAgICBtX2F0dGVzdGF0aW9uT2JqZWN0ID0gbnVsbHB0cjsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotdm9pZCBN
b2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpnZXRBc3NlcnRpb24oY29uc3QgVmVjdG9yPHVp
bnQ4X3Q+JiwgY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiwgUmVxdWVz
dENvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKLXsKLSAgICBpZiAoIXNldFJlcXVlc3RDb21w
bGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
aWYgKG1fZGlkVGltZU91dCkgewotICAgICAgICBtX2RpZFRpbWVPdXQgPSBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAobV9kaWRVc2VyQ2FuY2VsKSB7Ci0gICAgICAgIG1f
ZGlkVXNlckNhbmNlbCA9IGZhbHNlOwotICAgICAgICByZXF1ZXN0UmVwbHkoeyB9LCB7IE5vdEFs
bG93ZWRFcnJvciwgIlVzZXIgY2FuY2VsbGVkLiJfcyB9KTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBpZiAobV9jcmVkZW50aWFsSWQpIHsKLSAgICAgICAgQVNTRVJUKG1fYXV0aGVudGlj
YXRvckRhdGEgJiYgbV9zaWduYXR1cmUgJiYgbV91c2VySGFuZGxlKTsKLSAgICAgICAgcmVxdWVz
dFJlcGx5KFB1YmxpY0tleUNyZWRlbnRpYWxEYXRhIHsgV1RGTW92ZShtX2NyZWRlbnRpYWxJZCks
IGZhbHNlLCBudWxscHRyLCBudWxscHRyLCBXVEZNb3ZlKG1fYXV0aGVudGljYXRvckRhdGEpLCBX
VEZNb3ZlKG1fc2lnbmF0dXJlKSwgV1RGTW92ZShtX3VzZXJIYW5kbGUpIH0sIHsgfSk7Ci0gICAg
ICAgIG1fY3JlZGVudGlhbElkID0gbnVsbHB0cjsKLSAgICAgICAgbV9hdXRoZW50aWNhdG9yRGF0
YSA9IG51bGxwdHI7Ci0gICAgICAgIG1fc2lnbmF0dXJlID0gbnVsbHB0cjsKLSAgICAgICAgbV91
c2VySGFuZGxlID0gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLX0KLQotdm9pZCBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpp
c1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21wbGV0
aW9uSGFuZGxlciYmIGhhbmRsZXIpCi17Ci0gICAgYXV0byBtZXNzYWdlSWQgPSBhZGRRdWVyeUNv
bXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxlcikpOwotICAgIGlmIChtX2RpZFVzZXJWZXJp
ZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JQcmVzZW50KSB7Ci0gICAgICAgIGlzVXNlclZlcmlm
eWluZ1BsYXRmb3JtQXV0aGVudGljYXRvckF2YWlsYWJsZVJlcGx5KG1lc3NhZ2VJZCwgdHJ1ZSk7
Ci0gICAgICAgIG1fZGlkVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRvclByZXNlbnQg
PSBmYWxzZTsKLSAgICB9IGVsc2UKLSAgICAgICAgaXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRo
ZW50aWNhdG9yQXZhaWxhYmxlUmVwbHkobWVzc2FnZUlkLCBmYWxzZSk7Ci19Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShXRUJfQVVUSE4pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGFjNDVlYTJmZjM0NTc1ZWE0NjRiOTUxYmNk
MTM2YTQ1MTJiYWJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5o
CisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25j
ZQotCi0jaWYgRU5BQkxFKFdFQl9BVVRITikKLQotI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JDb29y
ZGluYXRvckNsaWVudC5oIgotI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgotI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSW50ZXJuYWxzOwot
Ci1jbGFzcyBNb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yIGZpbmFsIDogcHVibGljIEF1dGhl
bnRpY2F0b3JDb29yZGluYXRvckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgdm9pZCBzZXREaWRUaW1l
T3V0KCkgeyBtX2RpZFRpbWVPdXQgPSB0cnVlOyB9Ci0gICAgdm9pZCBzZXREaWRVc2VyQ2FuY2Vs
KCkgeyBtX2RpZFVzZXJDYW5jZWwgPSB0cnVlOyB9Ci0gICAgdm9pZCBzZXREaWRVc2VyVmVyaWZ5
aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yUHJlc2VudCgpIHsgbV9kaWRVc2VyVmVyaWZ5aW5nUGxh
dGZvcm1BdXRoZW50aWNhdG9yUHJlc2VudCA9IHRydWU7IH0KLSAgICB2b2lkIHNldENyZWF0aW9u
UmV0dXJuQnVuZGxlKGNvbnN0IEJ1ZmZlclNvdXJjZSYgY3JlZGVudGlhbElkLCBjb25zdCBCdWZm
ZXJTb3VyY2UmIGF0dGVzdGF0aW9uT2JqZWN0KTsKLSAgICB2b2lkIHNldEFzc2VydGlvblJldHVy
bkJ1bmRsZShjb25zdCBCdWZmZXJTb3VyY2UmIGNyZWRlbnRpYWxJZCwgY29uc3QgQnVmZmVyU291
cmNlJiBhdXRoZW50aWNhdG9yRGF0YSwgY29uc3QgQnVmZmVyU291cmNlJiBzaWduYXR1cmUsIGNv
bnN0IEJ1ZmZlclNvdXJjZSYgdXNlckhhbmRsZSk7Ci0KLSAgICAvLyBSZWZDb3VudGVkIGlzIHJl
cXVpcmVkIGZvciBKUyB3cmFwcGVyLiBUaGVyZWZvcmUsIGZha2UgdGhlbSB0byBjb21waWxlLgot
ICAgIHZvaWQgcmVmKCkgY29uc3QgeyB9Ci0gICAgdm9pZCBkZXJlZigpIGNvbnN0IHsgfQotCi1w
cml2YXRlOgotICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBo
YXNoLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiwgUmVxdWVzdENv
bXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOwotICAgIHZvaWQgZ2V0QXNzZXJ0aW9uKGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYgaGFzaCwgY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpIGZpbmFsOwotICAgIHZvaWQgaXNVc2Vy
VmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKFF1ZXJ5Q29tcGxldGlvbkhh
bmRsZXImJikgZmluYWw7Ci0KLSAgICAvLyBBbGwgZm9sbG93aW5nIGZpZWxkcyBhcmUgZGlzcG9z
YWJsZS4KLSAgICBib29sIG1fZGlkVGltZU91dCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2RpZFVz
ZXJDYW5jZWwgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9kaWRVc2VyVmVyaWZ5aW5nUGxhdGZvcm1B
dXRoZW50aWNhdG9yUHJlc2VudCB7IGZhbHNlIH07Ci0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBt
X2NyZWRlbnRpYWxJZDsKLSAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fYXR0ZXN0YXRpb25PYmpl
Y3Q7Ci0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBtX2F1dGhlbnRpY2F0b3JEYXRhOwotICAgIFJl
ZlB0cjxBcnJheUJ1ZmZlcj4gbV9zaWduYXR1cmU7Ci0gICAgUmVmUHRyPEFycmF5QnVmZmVyPiBt
X3VzZXJIYW5kbGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBF
TkFCTEUoV0VCX0FVVEhOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGVhYzVjYjJlZjgyMGI1MDI2YTI1OThjZmQyZmNjYjY1NzUzM2VkOTIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCX0FVVEhOLAotICAg
IE5vSW50ZXJmYWNlT2JqZWN0LAotXSBpbnRlcmZhY2UgTW9ja0F1dGhlbnRpY2F0b3JDb29yZGlu
YXRvciB7Ci0gICAgdm9pZCBzZXREaWRUaW1lT3V0KCk7Ci0gICAgdm9pZCBzZXREaWRVc2VyQ2Fu
Y2VsKCk7Ci0gICAgdm9pZCBzZXREaWRVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9y
UHJlc2VudCgpOwotICAgIHZvaWQgc2V0Q3JlYXRpb25SZXR1cm5CdW5kbGUoQnVmZmVyU291cmNl
IGNyZWRlbnRpYWxJZCwgQnVmZmVyU291cmNlIGF0dGVzdGF0aW9uT2JqZWN0KTsKLSAgICB2b2lk
IHNldEFzc2VydGlvblJldHVybkJ1bmRsZShCdWZmZXJTb3VyY2UgY3JlZGVudGlhbElkLCBCdWZm
ZXJTb3VyY2UgYXV0aGVudGljYXRvckRhdGEsIEJ1ZmZlclNvdXJjZSBzaWduYXR1cmUsIEJ1ZmZl
clNvdXJjZSB1c2VySGFuZGxlKTsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRleCA0YTYxYzk1MjI1YTNi
NDU2NTUzODI0OThlMDA2YWFmNWRkN2E2NjgwLi4yZWU1M2Q0YWNjMDdiZDUzMTU0ODU0OGM5Y2Rj
NDY0ZWFjZTEzMTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTU3NSwxMiArNTc1LDE2IEBAIHZvaWQg
V0tXZWJzaXRlRGF0YVN0b3JlU2V0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeShX
S1dlYnNpdGVEYXRhU3RvcmVSCiB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFdlYkF1dGhlbnRp
Y2F0aW9uTW9ja0NvbmZpZ3VyYXRpb24oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
ZiwgV0tEaWN0aW9uYXJ5UmVmIGNvbmZpZ3VyYXRpb25SZWYpCiB7CiAjaWYgRU5BQkxFKFdFQl9B
VVRITikKLSAgICBhdXRvIGxvY2FsUmVmID0gc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihX
S0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KGNvbmZpZ3VyYXRpb25SZWYsIGFkb3B0V0soV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkxvY2FsIikpLmdldCgpKSk7Ci0KICAgICBNb2NrV2Vi
QXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb247Ci0gICAgY29uZmlndXJh
dGlvbi5sb2NhbC5hY2NlcHRBdXRoZW50aWNhdGlvbiA9IFdLQm9vbGVhbkdldFZhbHVlKHN0YXRp
Y19jYXN0PFdLQm9vbGVhblJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwg
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXV0aGVudGljYXRp
b24iKSkuZ2V0KCkpKSk7Ci0gICAgY29uZmlndXJhdGlvbi5sb2NhbC5hY2NlcHRBdHRlc3RhdGlv
biA9IFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4oV0tEaWN0aW9u
YXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiQWNjZXB0QXR0ZXN0YXRpb24iKSkuZ2V0KCkpKSk7Ci0gICAgY29uZmlndXJhdGlv
bi5sb2NhbC5wcml2YXRlS2V5QmFzZTY0ID0gV2ViS2l0Ojp0b0ltcGwoc3RhdGljX2Nhc3Q8V0tT
dHJpbmdSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobG9jYWxSZWYsIGFkb3B0V0soV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlByaXZhdGVLZXlCYXNlNjQiKSkuZ2V0KCkpKSkt
PnN0cmluZygpOworCisgICAgYXV0byBsb2NhbFJlZiA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFy
eVJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShjb25maWd1cmF0aW9uUmVmLCBhZG9wdFdL
KFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJMb2NhbCIpKS5nZXQoKSkpOworICAgIGlm
IChsb2NhbFJlZikgeworICAgICAgICBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9u
OjpMb2NhbCBsb2NhbDsKKyAgICAgICAgbG9jYWwuYWNjZXB0QXV0aGVudGljYXRpb24gPSBXS0Jv
b2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KFdLRGljdGlvbmFyeUdldEl0
ZW1Gb3JLZXkobG9jYWxSZWYsIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IkFjY2VwdEF1dGhlbnRpY2F0aW9uIikpLmdldCgpKSkpOworICAgICAgICBsb2NhbC5hY2NlcHRB
dHRlc3RhdGlvbiA9IFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4o
V0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXR0ZXN0YXRpb24iKSkuZ2V0KCkpKSk7CisgICAgICAg
IGxvY2FsLnByaXZhdGVLZXlCYXNlNjQgPSBXZWJLaXQ6OnRvSW1wbChzdGF0aWNfY2FzdDxXS1N0
cmluZ1JlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShsb2NhbFJlZiwgYWRvcHRXSyhXS1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiUHJpdmF0ZUtleUJhc2U2NCIpKS5nZXQoKSkpKS0+
c3RyaW5nKCk7CisgICAgICAgIGNvbmZpZ3VyYXRpb24ubG9jYWwgPSBXVEZNb3ZlKGxvY2FsKTsK
KyAgICB9CiAKICAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0
b3JlKCkuc2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbihXVEZNb3ZlKGNvbmZp
Z3VyYXRpb24pKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9u
Lm1tCmluZGV4IDYyN2M5MWYzNDc4NWIwZjMzODI0YzA4ZjU1NTVhYWM1YzU0NWY5MmUuLjA5MWQ0
NGQzZDFhODdmODI3NzgwMzBiYzQwMGMwYjMxYTEyMjE4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlv
bi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2Nr
L01vY2tMb2NhbENvbm5lY3Rpb24ubW0KQEAgLTczLDcgKzczLDggQEAgdm9pZCBNb2NrTG9jYWxD
b25uZWN0aW9uOjpnZXRVc2VyQ29uc2VudChjb25zdCBTdHJpbmcmLCBVc2VyQ29uc2VudENhbGxi
YWNrJiYgY2EKIHsKICAgICAvLyBNb2NrIGFzeW5jIG9wZXJhdGlvbnMuCiAgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFtjb25maWd1cmF0aW9uID0gbV9jb25maWd1cmF0aW9uLCBjYWxsYmFj
ayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIG11dGFibGUgewotICAgICAgICBpZiAoIWNvbmZpZ3Vy
YXRpb24ubG9jYWwuYWNjZXB0QXV0aGVudGljYXRpb24pIHsKKyAgICAgICAgQVNTRVJUKGNvbmZp
Z3VyYXRpb24ubG9jYWwpOworICAgICAgICBpZiAoIWNvbmZpZ3VyYXRpb24ubG9jYWwtPmFjY2Vw
dEF1dGhlbnRpY2F0aW9uKSB7CiAgICAgICAgICAgICBjYWxsYmFjayhVc2VyQ29uc2VudDo6Tm8p
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC04NSw3ICs4Niw4IEBAIHZvaWQg
TW9ja0xvY2FsQ29ubmVjdGlvbjo6Z2V0VXNlckNvbnNlbnQoY29uc3QgU3RyaW5nJiwgU2VjQWNj
ZXNzQ29udHJvbFJlZiwgVXNlCiB7CiAgICAgLy8gTW9jayBhc3luYyBvcGVyYXRpb25zLgogICAg
IFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29uZmlndXJhdGlvbiA9IG1fY29uZmlndXJhdGlv
biwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSBtdXRhYmxlIHsKLSAgICAgICAgaWYg
KCFjb25maWd1cmF0aW9uLmxvY2FsLmFjY2VwdEF1dGhlbnRpY2F0aW9uKSB7CisgICAgICAgIEFT
U0VSVChjb25maWd1cmF0aW9uLmxvY2FsKTsKKyAgICAgICAgaWYgKCFjb25maWd1cmF0aW9uLmxv
Y2FsLT5hY2NlcHRBdXRoZW50aWNhdGlvbikgewogICAgICAgICAgICAgY2FsbGJhY2soVXNlckNv
bnNlbnQ6Ok5vLCBuaWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC05OSw3
ICsxMDEsOCBAQCB2b2lkIE1vY2tMb2NhbENvbm5lY3Rpb246OmdldEF0dGVzdGF0aW9uKGNvbnN0
IFN0cmluZyYgcnBJZCwgY29uc3QgU3RyaW5nJiB1c2VybgogCiAgICAgLy8gTW9jayBhc3luYyBv
cGVyYXRpb25zLgogICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29uZmlndXJhdGlvbiA9
IG1fY29uZmlndXJhdGlvbiwgcnBJZCwgdXNlcm5hbWUsIGhhc2gsIGNhbGxiYWNrID0gV1RGTW92
ZShjYWxsYmFjayldKCkgbXV0YWJsZSB7Ci0gICAgICAgIGlmICghY29uZmlndXJhdGlvbi5sb2Nh
bC5hY2NlcHRBdHRlc3RhdGlvbikgeworICAgICAgICBBU1NFUlQoY29uZmlndXJhdGlvbi5sb2Nh
bCk7CisgICAgICAgIGlmICghY29uZmlndXJhdGlvbi5sb2NhbC0+YWNjZXB0QXR0ZXN0YXRpb24p
IHsKICAgICAgICAgICAgIGNhbGxiYWNrKE5VTEwsIE5VTEwsIFtOU0Vycm9yIGVycm9yV2l0aERv
bWFpbjpOU09TU3RhdHVzRXJyb3JEb21haW4gY29kZTotMSB1c2VySW5mbzpuaWxdKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTEyLDcgKzExNSw3IEBAIHZvaWQgTW9ja0xv
Y2FsQ29ubmVjdGlvbjo6Z2V0QXR0ZXN0YXRpb24oY29uc3QgU3RyaW5nJiBycElkLCBjb25zdCBT
dHJpbmcmIHVzZXJuCiAgICAgICAgIH07CiAgICAgICAgIENGRXJyb3JSZWYgZXJyb3JSZWYgPSBu
dWxscHRyOwogICAgICAgICBhdXRvIGtleSA9IGFkb3B0Q0YoU2VjS2V5Q3JlYXRlV2l0aERhdGEo
Ci0gICAgICAgICAgICAoX19icmlkZ2UgQ0ZEYXRhUmVmKWFkb3B0TlMoW1tOU0RhdGEgYWxsb2Nd
IGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0cmluZzpjb25maWd1cmF0aW9uLmxvY2FsLnByaXZhdGVL
ZXlCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9yZVVua25vd25DaGFyYWN0
ZXJzXSkuZ2V0KCksCisgICAgICAgICAgICAoX19icmlkZ2UgQ0ZEYXRhUmVmKWFkb3B0TlMoW1tO
U0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0cmluZzpjb25maWd1cmF0aW9uLmxv
Y2FsLT5wcml2YXRlS2V5QmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFzZTY0RGVjb2RpbmdJZ25vcmVV
bmtub3duQ2hhcmFjdGVyc10pLmdldCgpLAogICAgICAgICAgICAgKF9fYnJpZGdlIENGRGljdGlv
bmFyeVJlZilvcHRpb25zLAogICAgICAgICAgICAgJmVycm9yUmVmCiAgICAgICAgICkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9N
b2NrTG9jYWxTZXJ2aWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRp
Y2F0aW9uL01vY2svTW9ja0xvY2FsU2VydmljZS5jcHAKaW5kZXggZjBlNzk5OWM3MmIwY2ZmNmJi
MTVmYjYxZWRkMWFjMGE5MTRmZWM1ZC4uYjA1NGVlNjBmYzM1NmRiMDhlYzA3ODhiMWUxYmM2ZjY4
OGM3YWFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vTW9jay9Nb2NrTG9jYWxTZXJ2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbFNlcnZpY2UuY3BwCkBAIC00Miw4
ICs0Miw3IEBAIE1vY2tMb2NhbFNlcnZpY2U6Ok1vY2tMb2NhbFNlcnZpY2UoT2JzZXJ2ZXImIG9i
c2VydmVyLCBjb25zdCBNb2NrV2ViQXV0aGVudGljYXRpCiAKIGJvb2wgTW9ja0xvY2FsU2Vydmlj
ZTo6cGxhdGZvcm1TdGFydERpc2NvdmVyeSgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUUoMTg5NjQy
KTogd2Ugc2hvdWxkIHRlc3QgZmFsc2UgY2FzZS4KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gISFtX2NvbmZpZ3VyYXRpb24ubG9jYWw7CiB9CiAKIFVuaXF1ZVJlZjxMb2NhbENvbm5lY3Rp
b24+IE1vY2tMb2NhbFNlcnZpY2U6OmNyZWF0ZUxvY2FsQ29ubmVjdGlvbigpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01v
Y2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJh
dGlvbi5oCmluZGV4IDA3NGZjYWNjNWM4NWVlYWYwMjBhMGMzZTgwOTdjNTNhYzYxOWQ5Y2MuLmZk
Y2ZmMzdlNjYxMGI0ZDkyOWE5ODE3YWVlZWQwNmVmNDZjYjQ2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRp
Y2F0aW9uQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL01vY2svTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCkBA
IC0zNiw3ICszNiw3IEBAIHN0cnVjdCBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9u
IHsKICAgICAgICAgU3RyaW5nIHByaXZhdGVLZXlCYXNlNjQ7CiAgICAgfTsKIAotICAgIExvY2Fs
IGxvY2FsOworICAgIHN0ZDo6b3B0aW9uYWw8TG9jYWw+IGxvY2FsOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggOTE1MTIzOTE0MTYyYWZlYmYwMWMzZjFiMjI1ZTRkZmNhYjMzMWE3NC4uYzY5MGM0
OGZmODhhMTc2MTAyN2ViN2UzMGM3NGY0MmE3YWUxZjIxNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA5LTI3
ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhO
XSBQb2xpc2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoK
KyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmln
dXJhdGlvbik6CisKIDIwMTgtMDktMjggIEtvYnkgQm95YW5nbyAgPGtvYnkuYkBtY2Uuc3lzdGVt
cz4KIAogICAgICAgICBbV1RGXSBBZGQgRXh0ZXJuYWxTdHJpbmdJbXBsLCBhIFN0cmluZ0ltcGwg
Zm9yIHVzZXIgY29udHJvbGxlZCBidWZmZXJzCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBmMzYwNGI3ZWVlNTg4OWNj
NTZkZDEyZDI2NmZhNTc4ZTViYTNkMWI0Li5kZDRlMzk2YmNkNWJmN2FkY2E5YzNkZjEwNjkxNDYx
MzliZWViYjhlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTIzNTgsNTIgKzIzNTgsNTUgQEAgdm9pZCBUZXN0UnVu
bmVyOjpzZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9uKEpTVmFsdWVSZWYgY29u
ZmlndXJhdGlvblYKICAgICAgICAgcmV0dXJuOwogICAgIEpTT2JqZWN0UmVmIGNvbmZpZ3VyYXRp
b24gPSBKU1ZhbHVlVG9PYmplY3QoY29udGV4dCwgY29uZmlndXJhdGlvblZhbHVlLCAwKTsKIAor
ICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGNvbmZpZ3VyYXRpb25LZXlzOwor
ICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiBjb25maWd1cmF0aW9uVmFsdWVzOwor
CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxvY2FsUHJvcGVydHlOYW1lKEFkb3B0LCBK
U1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygibG9jYWwiKSk7CiAgICAgSlNWYWx1ZVJlZiBs
b2NhbFZhbHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBjb25maWd1cmF0aW9uLCBs
b2NhbFByb3BlcnR5TmFtZS5nZXQoKSwgMCk7Ci0gICAgaWYgKCFKU1ZhbHVlSXNPYmplY3QoY29u
dGV4dCwgbG9jYWxWYWx1ZSkpCi0gICAgICAgIHJldHVybjsKLSAgICBKU09iamVjdFJlZiBsb2Nh
bCA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBsb2NhbFZhbHVlLCAwKTsKLQotICAgIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBhY2NlcHRBdXRoZW50aWNhdGlvblByb3BlcnR5TmFtZShBZG9w
dCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImFjY2VwdEF1dGhlbnRpY2F0aW9uIikp
OwotICAgIEpTVmFsdWVSZWYgYWNjZXB0QXV0aGVudGljYXRpb25WYWx1ZSA9IEpTT2JqZWN0R2V0
UHJvcGVydHkoY29udGV4dCwgbG9jYWwsIGFjY2VwdEF1dGhlbnRpY2F0aW9uUHJvcGVydHlOYW1l
LmdldCgpLCAwKTsKLSAgICBpZiAoIUpTVmFsdWVJc0Jvb2xlYW4oY29udGV4dCwgYWNjZXB0QXV0
aGVudGljYXRpb25WYWx1ZSkpCi0gICAgICAgIHJldHVybjsKLSAgICBib29sIGFjY2VwdEF1dGhl
bnRpY2F0aW9uID0gSlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCBhY2NlcHRBdXRoZW50aWNhdGlv
blZhbHVlKTsKLQotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhY2NlcHRBdHRlc3RhdGlv
blByb3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImFjY2Vw
dEF0dGVzdGF0aW9uIikpOwotICAgIEpTVmFsdWVSZWYgYWNjZXB0QXR0ZXN0YXRpb25WYWx1ZSA9
IEpTT2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgbG9jYWwsIGFjY2VwdEF0dGVzdGF0aW9uUHJv
cGVydHlOYW1lLmdldCgpLCAwKTsKLSAgICBpZiAoIUpTVmFsdWVJc0Jvb2xlYW4oY29udGV4dCwg
YWNjZXB0QXR0ZXN0YXRpb25WYWx1ZSkpCi0gICAgICAgIHJldHVybjsKLSAgICBib29sIGFjY2Vw
dEF0dGVzdGF0aW9uID0gSlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCBhY2NlcHRBdHRlc3RhdGlv
blZhbHVlKTsKLQotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBwcml2YXRlS2V5QmFzZTY0
UHJvcGVydHlOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygicHJpdmF0
ZUtleUJhc2U2NCIpKTsKLSAgICBKU1ZhbHVlUmVmIHByaXZhdGVLZXlCYXNlNjRWYWx1ZSA9IEpT
T2JqZWN0R2V0UHJvcGVydHkoY29udGV4dCwgbG9jYWwsIHByaXZhdGVLZXlCYXNlNjRQcm9wZXJ0
eU5hbWUuZ2V0KCksIDApOwotICAgIGlmICghSlNWYWx1ZUlzU3RyaW5nKGNvbnRleHQsIHByaXZh
dGVLZXlCYXNlNjRWYWx1ZSkpCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAoIUpTVmFsdWVJc051
bGwoY29udGV4dCwgbG9jYWxWYWx1ZSkpIHsKKyAgICAgICAgaWYgKCFKU1ZhbHVlSXNPYmplY3Qo
Y29udGV4dCwgbG9jYWxWYWx1ZSkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIEpTT2Jq
ZWN0UmVmIGxvY2FsID0gSlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGxvY2FsVmFsdWUsIDApOwor
CisgICAgICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBhY2NlcHRBdXRoZW50aWNhdGlvblBy
b3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImFjY2VwdEF1
dGhlbnRpY2F0aW9uIikpOworICAgICAgICBKU1ZhbHVlUmVmIGFjY2VwdEF1dGhlbnRpY2F0aW9u
VmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIGxvY2FsLCBhY2NlcHRBdXRoZW50
aWNhdGlvblByb3BlcnR5TmFtZS5nZXQoKSwgMCk7CisgICAgICAgIGlmICghSlNWYWx1ZUlzQm9v
bGVhbihjb250ZXh0LCBhY2NlcHRBdXRoZW50aWNhdGlvblZhbHVlKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgYm9vbCBhY2NlcHRBdXRoZW50aWNhdGlvbiA9IEpTVmFsdWVUb0Jvb2xl
YW4oY29udGV4dCwgYWNjZXB0QXV0aGVudGljYXRpb25WYWx1ZSk7CisKKyAgICAgICAgSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IGFjY2VwdEF0dGVzdGF0aW9uUHJvcGVydHlOYW1lKEFkb3B0LCBK
U1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYWNjZXB0QXR0ZXN0YXRpb24iKSk7CisgICAg
ICAgIEpTVmFsdWVSZWYgYWNjZXB0QXR0ZXN0YXRpb25WYWx1ZSA9IEpTT2JqZWN0R2V0UHJvcGVy
dHkoY29udGV4dCwgbG9jYWwsIGFjY2VwdEF0dGVzdGF0aW9uUHJvcGVydHlOYW1lLmdldCgpLCAw
KTsKKyAgICAgICAgaWYgKCFKU1ZhbHVlSXNCb29sZWFuKGNvbnRleHQsIGFjY2VwdEF0dGVzdGF0
aW9uVmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBib29sIGFjY2VwdEF0dGVz
dGF0aW9uID0gSlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCBhY2NlcHRBdHRlc3RhdGlvblZhbHVl
KTsKKworICAgICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcHJpdmF0ZUtleUJhc2U2NFBy
b3BlcnR5TmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInByaXZhdGVL
ZXlCYXNlNjQiKSk7CisgICAgICAgIEpTVmFsdWVSZWYgcHJpdmF0ZUtleUJhc2U2NFZhbHVlID0g
SlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBsb2NhbCwgcHJpdmF0ZUtleUJhc2U2NFByb3Bl
cnR5TmFtZS5nZXQoKSwgMCk7CisgICAgICAgIGlmICghSlNWYWx1ZUlzU3RyaW5nKGNvbnRleHQs
IHByaXZhdGVLZXlCYXNlNjRWYWx1ZSkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
VmVjdG9yPFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPj4gbG9jYWxLZXlzOworICAgICAgICBWZWN0
b3I8V0tSZXRhaW5QdHI8V0tUeXBlUmVmPj4gbG9jYWxWYWx1ZXM7CisgICAgICAgIGxvY2FsS2V5
cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0
QXV0aGVudGljYXRpb24iKSB9KTsKKyAgICAgICAgbG9jYWxWYWx1ZXMuYXBwZW5kKGFkb3B0V0so
V0tCb29sZWFuQ3JlYXRlKGFjY2VwdEF1dGhlbnRpY2F0aW9uKSkuZ2V0KCkpOworICAgICAgICBs
b2NhbEtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IkFjY2VwdEF0dGVzdGF0aW9uIikgfSk7CisgICAgICAgIGxvY2FsVmFsdWVzLmFwcGVuZChhZG9w
dFdLKFdLQm9vbGVhbkNyZWF0ZShhY2NlcHRBdHRlc3RhdGlvbikpLmdldCgpKTsKKyAgICAgICAg
bG9jYWxLZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJQcml2YXRlS2V5QmFzZTY0IikgfSk7CisgICAgICAgIGxvY2FsVmFsdWVzLmFwcGVuZCh0b1dL
KGFkb3B0KEpTVmFsdWVUb1N0cmluZ0NvcHkoY29udGV4dCwgcHJpdmF0ZUtleUJhc2U2NFZhbHVl
LCAwKSkuZ2V0KCkpKTsKKworICAgICAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0xvY2FsS2V5
czsKKyAgICAgICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3TG9jYWxWYWx1ZXM7CisgICAgICAgIHJh
d0xvY2FsS2V5cy5yZXNpemUobG9jYWxLZXlzLnNpemUoKSk7CisgICAgICAgIHJhd0xvY2FsVmFs
dWVzLnJlc2l6ZShsb2NhbFZhbHVlcy5zaXplKCkpOworICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGxvY2FsS2V5cy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgcmF3TG9jYWxLZXlz
W2ldID0gbG9jYWxLZXlzW2ldLmdldCgpOworICAgICAgICAgICAgcmF3TG9jYWxWYWx1ZXNbaV0g
PSBsb2NhbFZhbHVlc1tpXS5nZXQoKTsKKyAgICAgICAgfQogCi0gICAgVmVjdG9yPFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPj4gbG9jYWxLZXlzOwotICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5
cGVSZWY+PiBsb2NhbFZhbHVlczsKLSAgICBsb2NhbEtleXMuYXBwZW5kKHsgQWRvcHRXSywgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkFjY2VwdEF1dGhlbnRpY2F0aW9uIikgfSk7Ci0g
ICAgbG9jYWxWYWx1ZXMuYXBwZW5kKGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKGFjY2VwdEF1dGhl
bnRpY2F0aW9uKSkuZ2V0KCkpOwotICAgIGxvY2FsS2V5cy5hcHBlbmQoeyBBZG9wdFdLLCBXS1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQWNjZXB0QXR0ZXN0YXRpb24iKSB9KTsKLSAgICBs
b2NhbFZhbHVlcy5hcHBlbmQoYWRvcHRXSyhXS0Jvb2xlYW5DcmVhdGUoYWNjZXB0QXR0ZXN0YXRp
b24pKS5nZXQoKSk7Ci0gICAgbG9jYWxLZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJQcml2YXRlS2V5QmFzZTY0IikgfSk7Ci0gICAgbG9jYWxWYWx1
ZXMuYXBwZW5kKHRvV0soYWRvcHQoSlNWYWx1ZVRvU3RyaW5nQ29weShjb250ZXh0LCBwcml2YXRl
S2V5QmFzZTY0VmFsdWUsIDApKS5nZXQoKSkpOwotCi0gICAgVmVjdG9yPFdLU3RyaW5nUmVmPiBy
YXdMb2NhbEtleXM7Ci0gICAgVmVjdG9yPFdLVHlwZVJlZj4gcmF3TG9jYWxWYWx1ZXM7Ci0gICAg
cmF3TG9jYWxLZXlzLnJlc2l6ZShsb2NhbEtleXMuc2l6ZSgpKTsKLSAgICByYXdMb2NhbFZhbHVl
cy5yZXNpemUobG9jYWxWYWx1ZXMuc2l6ZSgpKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGxvY2FsS2V5cy5zaXplKCk7ICsraSkgewotICAgICAgICByYXdMb2NhbEtleXNbaV0gPSBsb2Nh
bEtleXNbaV0uZ2V0KCk7Ci0gICAgICAgIHJhd0xvY2FsVmFsdWVzW2ldID0gbG9jYWxWYWx1ZXNb
aV0uZ2V0KCk7CisgICAgICAgIGNvbmZpZ3VyYXRpb25LZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJMb2NhbCIpIH0pOworICAgICAgICBjb25maWd1
cmF0aW9uVmFsdWVzLmFwcGVuZCh7IEFkb3B0V0ssIFdLRGljdGlvbmFyeUNyZWF0ZShyYXdMb2Nh
bEtleXMuZGF0YSgpLCByYXdMb2NhbFZhbHVlcy5kYXRhKCksIHJhd0xvY2FsS2V5cy5zaXplKCkp
IH0pOwogICAgIH0KIAotICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4+IGNvbmZp
Z3VyYXRpb25LZXlzOwotICAgIFZlY3RvcjxXS1JldGFpblB0cjxXS1R5cGVSZWY+PiBjb25maWd1
cmF0aW9uVmFsdWVzOwotICAgIGNvbmZpZ3VyYXRpb25LZXlzLmFwcGVuZCh7IEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJMb2NhbCIpIH0pOwotICAgIGNvbmZpZ3VyYXRp
b25WYWx1ZXMuYXBwZW5kKHsgQWRvcHRXSywgV0tEaWN0aW9uYXJ5Q3JlYXRlKHJhd0xvY2FsS2V5
cy5kYXRhKCksIHJhd0xvY2FsVmFsdWVzLmRhdGEoKSwgcmF3TG9jYWxLZXlzLnNpemUoKSkgfSk7
Ci0KICAgICBWZWN0b3I8V0tTdHJpbmdSZWY+IHJhd0NvbmZpZ3VyYXRpb25LZXlzOwogICAgIFZl
Y3RvcjxXS1R5cGVSZWY+IHJhd0NvbmZpZ3VyYXRpb25WYWx1ZXM7CiAgICAgcmF3Q29uZmlndXJh
dGlvbktleXMucmVzaXplKGNvbmZpZ3VyYXRpb25LZXlzLnNpemUoKSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzdjMzFm
YjgxZThkYmM1YmRkYTI5MTM0OTk3MWFhMzgwNmE4NjY5OC4uOGYyYTIyNTJjYjMzMzYzNzIzZTUw
ODNiN2QxYjJmMTI2YmY4YWY5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE4LTA5LTI3ICBK
aWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhOXSBQ
b2xpc2ggV2ViQXV0aE4gYXV0by10ZXN0IGVudmlyb25tZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyODMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQ0MTE3ODI4PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9sbG93aW5nIGZldyB0aGluZ3M6CisgICAgICAgIDEu
IFVwZGF0ZSB0ZXN0cyB0aGF0IGVtcGxveSBvbGQgbW9ja2luZyBtZWNobmlzbSB0byB0aGUgbmV3
IG9uZS4KKyAgICAgICAgMi4gTW92ZSB0ZXN0cyBmcm9tIGh0dHAvdGVzdHMvd2ViYXV0aG4gdG8g
aHR0cC93cHQvd2ViYXV0aG4uIEFzIGEgcmVzdWx0LCB3ZSBoYXZlIG9uZSB1bmlmaWVkIHBsYWNl
IGZvcgorICAgICAgICBhbGwgV2ViQXV0aE4gdGVzdHM6IGh0dHAvd3B0L3dlYmF1dGhuLgorICAg
ICAgICAzLiBBZGQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgRE9NRXhjZXB0aW9uIG1lc3Nh
Z2UgYXMgd2VsbC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxp
ZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBh
cmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0
b3JzLTIuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3Jz
LTIuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMt
a2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0LWxheWVy
LWZyYW1lLmh0dHBzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJhdXRo
bi9yZXNvdXJjZXMvdXRpbC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcmVkZW50
aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0
bWw6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vaWRsLmh0dHBzLmh0bWw6CisgICAgICAg
ICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJl
LWxvY2FsLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtl
eS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUu
aHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtY3JlYXRlLXN1Y2Nlc3MuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vz
cy5odHRwcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1Ymxp
Yy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3Jl
ZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUt
bG9jYWwuaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0
dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy5o
dG1sOgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1n
ZXQtc3VjY2Vzcy5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93
cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1zdWNjZXNzLmh0dHBzLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWdldC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQt
d2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRoLWlu
dmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhu
L3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvbGFzdC1sYXllci1mcmFt
ZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9yZXNvdXJj
ZXMvc2Vjb25kLWxheWVyLWZyYW1lLmh0dHBzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy9zZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMu
aHRtbC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvdXRpbC5qczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L3dwZS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE4LTA5LTI4ICBBbmR5IEVzdGVzICA8YWVzdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBwbGUgUGF5XSBSZW1vdmUgdGhlICJpbi1zdG9yZSIg
YnV0dG9uIHR5cGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDgyMzNlZWU5YTNlZmMyOTE4YTEzZTMz
M2MyNTFkYjJmY2VhY2E2YTAuLmY3NzVjYjE5ZGRjMDlmYTAyMGZjYWEwNjIxNzUwYmFlYmFmNTA3
MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjg3NSwxNCArMjg3NSw2IEBAIGZhc3QvZ3JhZGll
bnRzL2NvbmljLXR3by1oaW50cy5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi8xODc3NzMg
aHR0cC90ZXN0cy93ZWJBUElTdGF0aXN0aWNzIFsgU2tpcCBdCiAKLSMgVGVtcG9yYXJ5IGRpc2Fi
bGVzIG9sZCBXZWJBdXRoTiB0ZXN0cywgd2lsbCBlaXRoZXIgcmVlbmFibGUgb3IgcmVtb3ZlIHRo
ZW0gaW4gd2Via2l0Lm9yZy9iLzE4OTI4MwotaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50
L2NyZWRlbnRpYWxzY29udGFpbmVyLXN0b3JlLWJhc2ljcy5odHRwcy5odG1sIFsgU2tpcCBdCi1o
dHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0
cHMuaHRtbCBbIFNraXAgXQotaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFs
LWNyZWF0ZS1zdWNjZXNzLmh0dHBzLmh0bWwgWyBTa2lwIF0KLWh0dHAvd3B0L3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFpbHVyZS5odHRwcy5odG1sIFsgU2tpcCBdCi1odHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nlc3MuaHR0cHMuaHRt
bCBbIFNraXAgXQotaHR0cC93cHQvd2ViYXV0aG4vaWRsLmh0dHBzLmh0bWwgWyBTa2lwIF0KLQog
d2Via2l0Lm9yZy9iLzE4OTk5NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmcud29ya2VyLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBU
aGlzIGlzIGZhbGxvdXQgZnJvbSB0dXJuaW5nIFdlYiBBbmltYXRpb25zIG9uLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwt
Y3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13
aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDZjZTFkZmJjZTg2N2UwYzA3NTUzZDM4ZDI0Zjc2ODU3NjVhN2ZhOWUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgt
aW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDY0ICswLDAgQEAKLVRlc3RzIHRoYXQgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0g
dGhyb3dzIFR5cGVFcnJvciB3aGVuIGludmFsaWQgb3B0aW9ucyBhcmUgcGFzc2VkLgotCi1PbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVt
YmVyIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMucnAgaXMgcmVxdWlyZWQgYW5k
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUHVibGljS2V5Q3JlZGVudGlhbFJwRW50aXR5LgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlv
bk9wdGlvbnMudXNlciBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBQdWJs
aWNLZXlDcmVkZW50aWFsVXNlckVudGl0eS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNy
ZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1l
bWJlciBQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmNoYWxsZW5nZSBpcyByZXF1
aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiAoQXJyYXlCdWZmZXJWaWV3IG9yIEFycmF5
QnVmZmVyKS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9u
cykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVk
ZW50aWFsQ3JlYXRpb25PcHRpb25zLnB1YktleUNyZWRQYXJhbXMgaXMgcmVxdWlyZWQgYW5kIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2Ygc2VxdWVuY2UuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbFJwRW50aXR5Lm5hbWUgaXMgcmVxdWlyZWQgYW5k
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NU3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5Lm5hbWUgaXMgcmVxdWly
ZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NU3RyaW5nLgotUEFTUyBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5LmlkIGlzIHJl
cXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIChBcnJheUJ1ZmZlclZpZXcgb3IgQXJy
YXlCdWZmZXIpLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRp
b25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNy
ZWRlbnRpYWxVc2VyRW50aXR5LmRpc3BsYXlOYW1lIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIERPTVN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJl
ciBQdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1ldGVycy50eXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLgotUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxQYXJhbWV0ZXJzLmFsZyBp
cyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBsb25nLgotUEFTUyBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3
aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLnR5cGUg
aXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUHVibGljS2V5Q3JlZGVudGlh
bFR5cGUuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVu
dGlhbERlc2NyaXB0b3IuaWQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
KEFycmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZlcikuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBzdHJpbmcu
Ci1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBh
IHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9u
cykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5h
dmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlk
T3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1Q
QVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShp
bnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJy
b3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0
byBhIHN0cmluZy4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0
aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEg
c3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGlu
dmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9u
cykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5h
dmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlk
T3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1Q
QVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVk
IHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShp
bnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBj
b252ZXJ0IGEgc3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMu
Y3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjog
VHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0
aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNT
IG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVF
cnJvcjogQ2Fubm90IGNvbnZlcnQgYSBzeW1ib2wgdG8gYSBudW1iZXIuCi1QQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJvbCB0byBhIG51bWJlci4KLVBBU1Mg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFs
aWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
LVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0
ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEgc3ltYm9sIHRvIGEg
c3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25z
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2
aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFs
cy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRP
cHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBB
U1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGlu
dmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShpbnZhbGlkT3B0aW9ucykgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVU
RQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNy
ZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1ZjI0ZDczYjMxYzBhZmMyMjdhZDgyMmFkNzRjZWEyNGQ5OWY3YzAyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWlu
dmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIzICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIu
L3Jlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAg
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0g
dGhyb3dzIFR5cGVFcnJvciB3aGVuIGludmFsaWQgb3B0aW9ucyBhcmUgcGFzc2VkLiIpOwotCi0g
ICAganNUZXN0SXNBc3luYyA9IHRydWU7Ci0KLSAgICBjb25zdCBycCA9IHsKLSAgICAgICAgbmFt
ZTogImV4YW1wbGUuY29tIgotICAgIH07Ci0gICAgY29uc3QgdXNlciA9IHsKLSAgICAgICAgbmFt
ZTogIkpvaG4gQXBwbGVzZWVkIiwKLSAgICAgICAgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0
NTYiKSwKLSAgICAgICAgZGlzcGxheU5hbWU6ICJBcHBsZXNlZWQiCi0gICAgfTsKLSAgICBjb25z
dCBjaGFsbGVuZ2UgPSBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2Iik7Ci0gICAgY29uc3QgcHVi
S2V5Q3JlZFBhcmFtID0geyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfTsKLSAgICBjb25z
dCBleGNsdWRlQ3JlZGVudGlhbHMgPSB7IHR5cGU6ICJwdWJsaWMta2V5IiwgaWQ6IGFzY2lpVG9V
aW50OEFycmF5KCIxMjM0NTYiKSB9OwotCi0gICAgY29uc3QgbWlzc2luZ0F0dHJpYnV0ZVZlY3Rv
ciA9IFsKLSAgICAgICAgLy8gbWlzc2luZyB0b3AgbGV2ZWwgYXR0cmlidXRlCi0gICAgICAgIFt1
bmRlZmluZWQsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBb
cnAsIHVuZGVmaW5lZCwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFty
cCwgdXNlciwgdW5kZWZpbmVkLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdXNl
ciwgY2hhbGxlbmdlLCB1bmRlZmluZWRdLAotICAgICAgICAvLyBtaXNzaW5nIHJwIGF0dHJpYnV0
ZQotICAgICAgICBbeyBuYW1lOiB1bmRlZmluZWQgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5
Q3JlZFBhcmFtXV0sCi0gICAgICAgIC8vIG1pc3NpbmcgdXNlciBhdHRyaWJ1dGUKLSAgICAgICAg
W3JwLCB7IG5hbWU6IHVuZGVmaW5lZCwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1lOiB1c2VyLmRp
c3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwg
eyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB1bmRlZmluZWQsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3Bs
YXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgeyBu
YW1lOiB1c2VyLm5hbWUsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTogdW5kZWZpbmVkfSwgY2hh
bGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIC8vIG1pc3NpbmcgcHViS2V5Q3Jl
ZFBhcmFtcyBhdHRyaWJ1dGUKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6
IHVuZGVmaW5lZCwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKLSAgICAgICAgW3JwLCB1
c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IHB1YktleUNyZWRQYXJhbS50eXBlLCBhbGc6IHVuZGVm
aW5lZCB9XV0sCi0gICAgICAgIC8vIG1pc3NpbmcgZXhjbHVkZUNyZWRlbnRpYWxzIGF0dHJpYnV0
ZQotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVm
aW5lZCwgW3sgdHlwZTogdW5kZWZpbmVkLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwK
LSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogdW5kZWZpbmVkIH1dXQot
ICAgIF07Ci0KLSAgICBjb25zdCB3cm9uZ1R5cGVBdHRyaWJ1dGVWZWN0b3IgPSBbCi0gICAgICAg
IC8vIHdyb25nIHJwIGF0dHJpYnV0ZSB0eXBlCi0gICAgICAgIFt7IG5hbWU6IFN5bWJvbCgpIH0s
IHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICBbeyBuYW1lOiBy
cC5uYW1lLCBpY29uOiBTeW1ib2woKSB9LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFy
YW1dXSwKLSAgICAgICAgW3sgbmFtZTogcnAubmFtZSwgaWQ6IFN5bWJvbCgpIH0sIHVzZXIsIGNo
YWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAgICAvLyB3cm9uZyB1c2VyIGF0dHJp
YnV0ZSB0eXBlCi0gICAgICAgIFtycCwgeyBuYW1lOiBTeW1ib2woKSwgaWQ6IHVzZXIuaWQsIGRp
c3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XV0sCi0gICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiAxLCBkaXNwbGF5TmFtZTog
dXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAg
ICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogdHJ1ZSwgZGlzcGxheU5hbWU6IHVzZXIuZGlz
cGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7
IG5hbWU6IHVzZXIubmFtZSwgaWQ6IG51bGwsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1l
fSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgeyBuYW1lOiB1
c2VyLm5hbWUsIGlkOiBTeW1ib2woKSwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBj
aGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIu
bmFtZSwgaWQ6IHsgfSwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2Us
IFtwdWJLZXlDcmVkUGFyYW1dXSwKLSAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6
ICJmb28iLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1Yktl
eUNyZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogWyBdLCBk
aXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV1dLAotICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogdXNlci5pZCwgZGlzcGxh
eU5hbWU6IFN5bWJvbCgpfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAg
IFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTogdXNlci5k
aXNwbGF5TmFtZSwgaWNvbjogU3ltYm9sKCl9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1d
XSwKLSAgICAgICAgLy8gd3JvbmcgY2hhbGxlbmdlIHR5cGUKLSAgICAgICAgW3JwLCB1c2VyLCAx
LCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdXNlciwgdHJ1ZSwgW3B1YktleUNy
ZWRQYXJhbV1dLAotICAgICAgICBbcnAsIHVzZXIsIG51bGwsIFtwdWJLZXlDcmVkUGFyYW1dXSwK
LSAgICAgICAgW3JwLCB1c2VyLCBTeW1ib2woKSwgW3B1YktleUNyZWRQYXJhbV1dLAotICAgICAg
ICBbcnAsIHVzZXIsICJmb28iLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdXNl
ciwgWyBdLCBbcHViS2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIFtycCwgdXNlciwgeyB9LCBbcHVi
S2V5Q3JlZFBhcmFtXV0sCi0gICAgICAgIC8vIHdyb25nIHB1YktleUNyZWRQYXJhbSB0eXBlCi0g
ICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiAxLCBhbGc6IHB1YktleUNyZWRQ
YXJhbS5hbGcgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogdHJ1
ZSwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFs
bGVuZ2UsIFt7IHR5cGU6IG51bGwsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCi0gICAg
ICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBTeW1ib2woKSwgYWxnOiBwdWJLZXlD
cmVkUGFyYW0uYWxnIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6
ICJmb28iLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAotICAgICAgICBbcnAsIHVzZXIs
IGNoYWxsZW5nZSwgW3sgdHlwZTogWyBdLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAot
ICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogeyB9LCBhbGc6IHB1YktleUNy
ZWRQYXJhbS5hbGcgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTog
cHViS2V5Q3JlZFBhcmFtLnR5cGUsIGFsZzogU3ltYm9sKCkgfV1dLAotICAgICAgICAvLyB3cm9u
ZyB0aW1lb3V0IHR5cGUKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVk
UGFyYW1dLCBTeW1ib2woKSwgdW5kZWZpbmVkXSwKLSAgICAgICAgLy8gd3JvbmcgZXhjbHVkZUNy
ZWRlbnRpYWxzCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XSwgdW5kZWZpbmVkLCBbeyB0eXBlOiAxLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwK
LSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IHRydWUsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAg
ICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sg
dHlwZTogbnVsbCwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCi0gICAgICAgIFtycCwg
dXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBT
eW1ib2woKSwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCi0gICAgICAgIFtycCwgdXNl
ciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiAiZm9v
IiwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hh
bGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBbIF0sIGlkOiBl
eGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwg
W3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogeyB9LCBpZDogZXhjbHVkZUNy
ZWRlbnRpYWxzLmlkIH1dXSwKLSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlD
cmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBp
ZDogMSB9XV0sCi0gICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IHRydWUg
fV1dLAotICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVu
ZGVmaW5lZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiBudWxsIH1dXSwK
LSAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmlu
ZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogU3ltYm9sKCkgfV1dLAot
ICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5l
ZCwgW3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiAiZm9vIiB9XV0sCi0gICAg
ICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBb
eyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IFsgXSB9XV0sCi0gICAgICAgIFty
cCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBl
OiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IHsgfSB9XV0KLSAgICBdCi0KLSAgICBmdW5j
dGlvbiBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKQotICAgIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0
ZXMubGVuZ3RoID09IDQpCi0gICAgICAgICAgICByZXR1cm4geyBwdWJsaWNLZXk6IHsgcnA6IGF0
dHJpYnV0ZXNbMF0sIHVzZXI6IGF0dHJpYnV0ZXNbMV0sIGNoYWxsZW5nZTogYXR0cmlidXRlc1sy
XSwgcHViS2V5Q3JlZFBhcmFtczogYXR0cmlidXRlc1szXSB9IH07Ci0gICAgICAgIHJldHVybiB7
IHB1YmxpY0tleTogeyBycDogYXR0cmlidXRlc1swXSwgdXNlcjogYXR0cmlidXRlc1sxXSwgY2hh
bGxlbmdlOiBhdHRyaWJ1dGVzWzJdLCBwdWJLZXlDcmVkUGFyYW1zOiBhdHRyaWJ1dGVzWzNdLCB0
aW1lb3V0OiBhdHRyaWJ1dGVzWzRdLCAgZXhjbHVkZUNyZWRlbnRpYWxzOiBhdHRyaWJ1dGVzWzVd
fSB9OwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoYXR0cmlidXRlc1ZlY3RvcnMpIHsK
LSAgICAgICAgYXR0cmlidXRlc1ZlY3RvcnMuZm9yRWFjaChmdW5jdGlvbihhdHRyaWJ1dGVzVmVj
dG9yKSB7Ci0gICAgICAgICAgICBhdHRyaWJ1dGVzVmVjdG9yLmZvckVhY2goYXN5bmMgZnVuY3Rp
b24oYXR0cmlidXRlcykgewotICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zID0gbWFrZU9w
dGlvbnMoYXR0cmlidXRlcyk7Ci0gICAgICAgICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCdu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGludmFsaWRPcHRpb25zKScpOwotICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLQot
ICAgIGNvbnN0IHZlY3RvcnMgPSBbXTsKLSAgICB2ZWN0b3JzLnB1c2gobWlzc2luZ0F0dHJpYnV0
ZVZlY3Rvcik7Ci0gICAgdmVjdG9ycy5wdXNoKHdyb25nVHlwZUF0dHJpYnV0ZVZlY3Rvcik7Ci0g
ICAgcnVuVGVzdCh2ZWN0b3JzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC13aXRo
LWludmFsaWQtcGFyYW1ldGVycy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDNjYzg2NzY4N2ZlNTI2NmQ1MmNhZDlkNzc0NjU3YTQ1ZGNmMzdkZWEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxp
ZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICsw
LDAgQEAKLVRlc3RzIHRoYXQgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gdGhyb3dzIFR5
cGVFcnJvciB3aGVuIGludmFsaWQgb3B0aW9ucyBhcmUgcGFzc2VkLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRP
cHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogTWVtYmVyIFB1YmxpY0tl
eUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5jaGFsbGVuZ2UgaXMgcmVxdWlyZWQgYW5kIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgKEFycmF5QnVmZmVyVmlldyBvciBBcnJheUJ1ZmZlcikuCi1QQVNT
IG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBNZW1iZXIgUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3Iu
dHlwZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBQdWJsaWNLZXlDcmVk
ZW50aWFsVHlwZS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9u
cykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IE1lbWJlciBQdWJsaWNLZXlDcmVk
ZW50aWFsRGVzY3JpcHRvci5pZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiAoQXJyYXlCdWZmZXJWaWV3IG9yIEFycmF5QnVmZmVyKS4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlv
bnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNl
ICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBDYW5ub3QgY29udmVydCBhIHN5bWJv
bCB0byBhIG51bWJlci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0
aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IENhbm5vdCBjb252ZXJ0IGEg
c3ltYm9sIHRvIGEgc3RyaW5nLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFs
aWRPcHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
LVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQg
cHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5nZXQoaW52YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRP
cHRpb25zKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogQ2Fubm90IGNvbnZlcnQg
YSBzeW1ib2wgdG8gYSBzdHJpbmcuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52
YWxpZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9y
LgotUEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxp
ZE9wdGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgot
UEFTUyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9w
dGlvbnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKSByZWplY3RlZCBwcm9t
aXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgbmF2aWdhdG9yLmNyZWRlbnRp
YWxzLmdldChpbnZhbGlkT3B0aW9ucykgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCi1QQVNTIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQoaW52YWxpZE9wdGlv
bnMpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdl
dC13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJh
bWV0ZXJzLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2YThjYjY2
MjYyNjA5ZmViNjE0ZTNjNTVmNjdmNzEyODVmY2IzMjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdXRpbC5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IFB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHRocm93cyBUeXBlRXJyb3Igd2hlbiBpbnZhbGlk
IG9wdGlvbnMgYXJlIHBhc3NlZC4iKTsKLQotICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOwotCi0g
ICAgY29uc3QgY2hhbGxlbmdlID0gYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpOwotICAgIGNv
bnN0IGFsbG93Q3JlZGVudGlhbCA9IHsgdHlwZTogInB1YmxpYy1rZXkiLCBpZDogYXNjaWlUb1Vp
bnQ4QXJyYXkoIjEyMzQ1NiIpIH07Ci0KLSAgICBjb25zdCBtaXNzaW5nQXR0cmlidXRlVmVjdG9y
ID0gWwotICAgICAgICAvLyBtaXNzaW5nIHRvcCBsZXZlbCBhdHRyaWJ1dGUKLSAgICAgICAgW3Vu
ZGVmaW5lZF0sCi0gICAgICAgIC8vIG1pc3NpbmcgYWxsb3dDcmVkZW50aWFscyBhdHRyaWJ1dGUK
LSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IHVuZGVm
aW5lZCwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVu
ZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IHVu
ZGVmaW5lZCB9XV0KLSAgICBdOwotCi0gICAgY29uc3Qgd3JvbmdUeXBlQXR0cmlidXRlVmVjdG9y
ID0gWwotICAgICAgICAvLyB3cm9uZyBjaGFsbGVuZ2UgdHlwZQotICAgICAgICBbMV0sCi0gICAg
ICAgIFt0cnVlXSwKLSAgICAgICAgW251bGxdLAotICAgICAgICBbU3ltYm9sKCldLAotICAgICAg
ICBbImZvbyJdLAotICAgICAgICBbWyBdXSwKLSAgICAgICAgW3sgfV0sCi0gICAgICAgIC8vIHdy
b25nIHRpbWVvdXQgdHlwZQotICAgICAgICBbY2hhbGxlbmdlLCBTeW1ib2woKSwgdW5kZWZpbmVk
LCB1bmRlZmluZWRdLAotICAgICAgICAvLyB3cm9uZyBycElkIHR5cGUKLSAgICAgICAgW2NoYWxs
ZW5nZSwgdW5kZWZpbmVkLCBTeW1ib2woKSwgdW5kZWZpbmVkXSwKLSAgICAgICAgLy8gd3Jvbmcg
YWxsb3dDcmVkZW50aWFscyB0eXBlCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5k
ZWZpbmVkLCBbeyB0eXBlOiAxLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAgICAgICAg
W2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IHRydWUsIGlkOiBhbGxv
d0NyZWRlbnRpYWwuaWQgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVm
aW5lZCwgW3sgdHlwZTogbnVsbCwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCi0gICAgICAg
IFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBTeW1ib2woKSwgaWQ6
IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCBbeyB0eXBlOiAiZm9vIiwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCi0g
ICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBbIF0sIGlk
OiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQs
IHVuZGVmaW5lZCwgW3sgdHlwZTogeyB9LCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKLSAg
ICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3Jl
ZGVudGlhbC50eXBlLCBpZDogMSB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IHRydWUgfV1dLAot
ICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dD
cmVkZW50aWFsLnR5cGUsIGlkOiBudWxsIH1dXSwKLSAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZp
bmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogU3ltYm9s
KCkgfV1dLAotICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlw
ZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiAiZm9vIiB9XV0sCi0gICAgICAgIFtjaGFsbGVu
Z2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwg
aWQ6IFsgXSB9XV0sCi0gICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBb
eyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IHsgfSB9XV0KLSAgICBdOwotCi0gICAg
ZnVuY3Rpb24gbWFrZU9wdGlvbnMoYXR0cmlidXRlcykKLSAgICB7Ci0gICAgICAgIGlmIChhdHRy
aWJ1dGVzLmxlbmd0aCA9PSAxKQotICAgICAgICAgICAgcmV0dXJuIHsgcHVibGljS2V5OiB7IGNo
YWxsZW5nZTogYXR0cmlidXRlc1swXSB9IH07Ci0gICAgICAgIHJldHVybiB7IHB1YmxpY0tleTog
eyBjaGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMF0sIHRpbWVvdXQ6IGF0dHJpYnV0ZXNbMV0sIHJwSWQ6
IGF0dHJpYnV0ZXNbMl0sIGFsbG93Q3JlZGVudGlhbHM6IGF0dHJpYnV0ZXNbM10gfSB9OwotICAg
IH0KLQotICAgIGZ1bmN0aW9uIHJ1blRlc3QoYXR0cmlidXRlc1ZlY3RvcnMpIHsKLSAgICAgICAg
YXR0cmlidXRlc1ZlY3RvcnMuZm9yRWFjaChmdW5jdGlvbihhdHRyaWJ1dGVzVmVjdG9yKSB7Ci0g
ICAgICAgICAgICBhdHRyaWJ1dGVzVmVjdG9yLmZvckVhY2goYXN5bmMgZnVuY3Rpb24oYXR0cmli
dXRlcykgewotICAgICAgICAgICAgICAgIGludmFsaWRPcHRpb25zID0gbWFrZU9wdGlvbnMoYXR0
cmlidXRlcyk7Ci0gICAgICAgICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCduYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMuZ2V0KGludmFsaWRPcHRpb25zKScpOwotICAgICAgICAgICAgfSk7Ci0gICAg
ICAgIH0pOwotCi0gICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgIH0KLQotICAgIGNvbnN0IHZl
Y3RvcnMgPSBbXTsKLSAgICB2ZWN0b3JzLnB1c2gobWlzc2luZ0F0dHJpYnV0ZVZlY3Rvcik7Ci0g
ICAgdmVjdG9ycy5wdXNoKHdyb25nVHlwZUF0dHJpYnV0ZVZlY3Rvcik7Ci0gICAgcnVuVGVzdCh2
ZWN0b3JzKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmln
aW4td2l0aC1hbmNlc3RvcnMtMi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFu
Y2VzdG9ycy0yLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzMzNGM0ZDk2NzYxNzNmN2U2MDlkZjUxNmQwNjdkMjk3MGFmNjUzYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9y
cy0yLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVRl
c3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGgg
YWxsIGl0cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLgotCi1PbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaHJvdyBOb3RBbGxvd2VkRXJyb3IgZm9yIGJvdGgg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gYW5kIFtbZ2V0XV0uCi1QQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1v
cmlnaW4td2l0aC1hbmNlc3RvcnMtMi5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3Rv
cnMtMi5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTAxMWE5ODUx
OGM5MTY3ZDRiZmVlNmZkZDBmNjZmOTU2MGI4MWYzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVi
bGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgtYW5jZXN0b3JzLTIuaHR0cHMuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlsLmpzIj48L3Njcmlw
dD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGZyYW1l
IHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRzIGFuY2VzdG9y
cyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVjZWl2
ZU1lc3NhZ2UsIGZhbHNlKTsKLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxp
ZnJhbWUgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYmF1dGhuL3Jlc291cmNlcy9sYXN0
LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwiPjwvaWZyYW1lPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1v
cmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAzMzM0YzRkOTY3NjE3M2Y3ZTYwOWRmNTE2ZDA2N2QyOTcwYWY2NTNiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdp
dGgtYW5jZXN0b3JzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICsw
LDAgQEAKLVRlc3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3Jp
Z2luIHdpdGggYWxsIGl0cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLgotCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBUaHJvdyBOb3RBbGxvd2VkRXJyb3Ig
Zm9yIGJvdGggUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gYW5kIFtbZ2V0XV0uCi1Q
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLXNhbWUtb3JpZ2luLXdpdGgt
YW5jZXN0b3JzLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4Yzk1
Y2Y3NjNmODdjOTdmNThiMGEyYTQxNjQ3ODUwZjAxMGZlY2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJhdXRo
bi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08aGVhZD4KLSAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91dGlsLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIGZy
YW1lIHRoYXQgZG9lc24ndCBzaGFyZSB0aGUgc2FtZSBvcmlnaW4gd2l0aCBhbGwgaXRzIGFuY2Vz
dG9ycyBjb3VsZCBub3QgYWNjZXNzIHRoZSBBUEkuIik7Ci0gICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOwotCi0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgcmVj
ZWl2ZU1lc3NhZ2UsIGZhbHNlKTsKLSAgICA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAg
IDxpZnJhbWUgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYmF1dGhuL3Jlc291cmNlcy9z
ZWNvbmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbCI+PC9pZnJhbWU+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy9s
YXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1
dGhuL3Jlc291cmNlcy9sYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDZkMjZlNTczZDQzODhhOGFiMjRiZWQxODViYzJjOGZlOTNhMDVhOTAu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJhdXRobi9yZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLSAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotICAg
IDxzY3JpcHQgc3JjPSJ1dGlsLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgIGZ1bmN0
aW9uIG1lc3NhZ2VUb1RvcChtZXNzYWdlUHJlZml4KSB7Ci0gICAgICAgIHRvcC5wb3N0TWVzc2Fn
ZShtZXNzYWdlUHJlZml4LCAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MyIpOwotICAgIH0KLQotICAg
IGNvbnN0IG1ha2VPcHRpb25zID0gewotICAgICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAgICAg
IHJwOiB7Ci0gICAgICAgICAgICAgICAgbmFtZTogImV4YW1wbGUuY29tIgotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHVzZXI6IHsKLSAgICAgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBs
ZXNlZWQiLAotICAgICAgICAgICAgICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2Iiks
Ci0gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6ICJBcHBsZXNlZWQiLAotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAot
ICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6
IC03IH1dCi0gICAgICAgIH0KLSAgICB9OwotICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0gewot
ICAgICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1VpbnQ4
QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICB9Ci0gICAgfTsKLQotICAgIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUobWFrZU9wdGlvbnMpLnRoZW4oCi0gICAgICAgIGZ1bmN0aW9uKHZhbHVl
KSB7Ci0gICAgICAgICAgICBtZXNzYWdlVG9Ub3AoIkFjY2VzcyBncmFudGVkLiAiICsgdmFsdWUp
OwotICAgICAgICB9LAotICAgICAgICBmdW5jdGlvbihleGNlcHRpb24pIHsKLSAgICAgICAgICAg
IGlmIChleGNlcHRpb24ubmFtZSA9PSAiTm90QWxsb3dlZEVycm9yIikKLSAgICAgICAgICAgICAg
ICByZXR1cm4gbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChyZXF1ZXN0T3B0aW9ucykKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtZXNzYWdlVG9Ub3AoIlRocm93ICIgKyBleGNl
cHRpb24ubmFtZSAgKyAiLiIpOwotICAgICAgICB9Ci0gICAgKS50aGVuKGZ1bmN0aW9uKHZhbHVl
KSB7Ci0gICAgICAgICAgICBtZXNzYWdlVG9Ub3AoIkFjY2VzcyBncmFudGVkLiAiICsgdmFsdWUp
OwotICAgICAgICB9LAotICAgICAgICBmdW5jdGlvbihleGNlcHRpb24pIHsKLSAgICAgICAgICAg
IGlmIChleGNlcHRpb24ubmFtZSA9PSAiTm90QWxsb3dlZEVycm9yIikKLSAgICAgICAgICAgICAg
ICBtZXNzYWdlVG9Ub3AoIlBBU1MgVGhyb3cgTm90QWxsb3dlZEVycm9yIGZvciBib3RoIFB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIGFuZCBbW2dldF1dLiIpOwotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIG1lc3NhZ2VUb1RvcCgiVGhyb3cgIiArIGV4Y2VwdGlvbi5u
YW1lICArICIuIik7Ci0gICAgfSk7Ci0gICAgPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy9zZWNv
bmQtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0
aG4vcmVzb3VyY2VzL3NlY29uZC1sYXllci1mcmFtZS5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzY2YxNjMwZTQwZjRjZDFiNWFlYzNhYjZiYjlkYTQ0Y2NlZjM3NjI3
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL3NlY29uZC1sYXllci1mcmFtZS5odHRw
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8aWZyYW1lIHNyYz0ibGFzdC1sYXll
ci1mcmFtZS5odHRwcy5odG1sIj48L2lmcmFtZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL3V0aWwuanMgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYmF1dGhuL3Jlc291cmNlcy91dGlsLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyN2I2ZjRlODQyNDQ0NGFlODVmOTA3YTY1ZTEzM2E1MThh
MGRkZTU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2ViYXV0aG4vcmVzb3VyY2VzL3V0aWwuanMKKysrIC9kZXYv
bnVsbApAQCAtMSwxOCArMCwwIEBACi1mdW5jdGlvbiByZWNlaXZlTWVzc2FnZShldmVudCkgewot
ICAgIGlmIChldmVudC5vcmlnaW4gPT09ICJodHRwczovL2xvY2FsaG9zdDo4NDQzIikgewotICAg
ICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTICIpICE9PSAtMSkKLSAgICAgICAgICAg
IHRlc3RQYXNzZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJQQVNTICIsICIiKSk7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YSk7Ci0gICAgfSBlbHNlCi0gICAg
ICAgIHRlc3RGYWlsZWQoIlJlY2VpdmVkIGEgbWVzc2FnZSBmcm9tIGFuIHVuZXhwZWN0ZWQgb3Jp
Z2luOiAiICsgZXZlbnQub3JpZ2luKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rp
b24gYXNjaWlUb1VpbnQ4QXJyYXkoc3RyKQotewotICAgIGNvbnN0IGNoYXJzID0gW107Ci0gICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpCi0gICAgICAgIGNoYXJzLnB1c2go
c3RyLmNoYXJDb2RlQXQoaSkpOwotICAgIHJldHVybiBuZXcgVWludDhBcnJheShjaGFycyk7Ci19
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQv
Y3JlZGVudGlhbHNjb250YWluZXItc3RvcmUtYmFzaWNzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvY3JlZGVudGlhbHNjb250YWluZXItc3Rv
cmUtYmFzaWNzLmh0dHBzLmh0bWwKaW5kZXggMjM2OTEzNTBjMDVlY2UwMDg3ZTUyZWNkYzgxODRl
MGRkZmRlNzllNS4uYzVkZjAyOWQ4MWUyZjVmMDQ3YmFiMzdlNDkxNWJhM2Y4NTlkZTU1MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2NyZWRl
bnRpYWxzY29udGFpbmVyLXN0b3JlLWJhc2ljcy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC9jcmVkZW50aWFsc2NvbnRhaW5lci1zdG9y
ZS1iYXNpY3MuaHR0cHMuaHRtbApAQCAtMyw2ICszLDExIEBACiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgorICAgIGNvbnN0IHRlc3RF
UzI1NlByaXZhdGVLZXlCYXNlNjQgPQorICAgICAgICAiQkRqL3p4U2t6S2dhQnVTM2NkV0RGNTU4
b2Y4QWFJcGdGcHNqRi9RbTE3NDlWQkpQZ3FVSXdmaFdISjkxbmI3VSIgKworICAgICAgICAiUEg3
NmMwK1dGT3paS3NsUHl5RnNlNGdvR0lXMlI3azlWSExQRVpsNW5mbkJnRVZGaDV6ZXYrL3hwSFFJ
dnVxNiIgKworICAgICAgICAiUlE9PSI7CisgICAgY29uc3QgdGVzdFJwSWQgPSAibG9jYWxob3N0
IjsKICAgICBmdW5jdGlvbiBhc2NpaVRvVWludDhBcnJheShzdHIpCiAgICAgewogICAgICAgICB2
YXIgY2hhcnMgPSBbXTsKQEAgLTQyLDEwICs0NywxNCBAQAogICAgICAgICAgICAgfQogICAgICAg
ICB9OwogICAgICAgICAvLyBBIG1vY2sgYXR0ZXN0YXRpb24gb2JqZWN0Ci0gICAgICAgIGludGVy
bmFscy5tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLnNldENyZWF0aW9uUmV0dXJuQnVuZGxl
KGhleFN0cmluZ1RvVWludDhBcnJheSgnMDAnKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMScp
KTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9uKHsgbG9jYWw6IHsgYWNjZXB0
QXV0aGVudGljYXRpb246IHRydWUsIGFjY2VwdEF0dGVzdGF0aW9uOiB0cnVlLCBwcml2YXRlS2V5
QmFzZTY0OiB0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0IH0gfSk7CiAgICAgICAgIGNvbnN0IGNy
ZWRlbnRpYWwgPSBhd2FpdCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpOwog
CiAgICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdFN1cHBvcnRlZEVycm9yIiwK
LSAgICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5zdG9yZShjcmVkZW50aWFsKSk7Cisg
ICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuc3RvcmUoY3JlZGVudGlhbCkpLnRoZW4o
KCkgPT4geworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhblVwS2V5Y2hhaW4odGVzdFJwSWQpOworICAgICAg
ICB9KTsKICAgICB9LCAibmF2aWdhdG9yLmNyZWRlbnRpYWxzLnN0b3JlKCkuIik7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL2lkbC5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vaWRsLmh0dHBzLmh0bWwKaW5kZXgg
NGNmOGNhZmUyOWNmM2FhMTJkOGM5Y2Y1MGYyNmIyZjgzMTQ1MWVlMS4uYWI0MTgyOWNmYjNkOTQ3
MzNlNzMxMDhiZDlhNmQ1YjU0NjE3MTQ4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93
cHQvd2ViYXV0aG4vaWRsLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
YXV0aG4vaWRsLmh0dHBzLmh0bWwKQEAgLTE5LDYgKzE5LDkgQEAKIDxkaXYgaWQ9J2xvZyc+PC9k
aXY+CiAKIDxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5z
ZXRXZWJBdXRoZW50aWNhdGlvbk1vY2tDb25maWd1cmF0aW9uKHsgbG9jYWw6IHsgYWNjZXB0QXV0
aGVudGljYXRpb246IHRydWUsIGFjY2VwdEF0dGVzdGF0aW9uOiB0cnVlLCBwcml2YXRlS2V5QmFz
ZTY0OiB0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0IH0gfSk7CisKIHByb21pc2VfdGVzdChhc3lu
YyAoKSA9PiB7CiAgICAgY29uc3QgaWRsVVJMID0gWyJXZWJBdXRoTi5pZGwiXTsKICAgICBjb25z
dCBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwpAQCAtNDQsMTUgKzQ3LDEzIEBAIHByb21pc2Vf
dGVzdChhc3luYyAoKSA9PiB7CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgdXNlcjogewog
ICAgICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCi0gICAgICAgICAgICAgICAg
aWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKKyAgICAgICAgICAgICAgICBpZDogQmFz
ZTY0VVJMLnBhcnNlKHRlc3RVc2VyaGFuZGxlQmFzZTY0KSwKICAgICAgICAgICAgICAgICBkaXNw
bGF5TmFtZTogIkFwcGxlc2VlZCIsCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgY2hhbGxl
bmdlOiBCYXNlNjRVUkwucGFyc2UoIk1USXpORFUyIiksCiAgICAgICAgICAgICBwdWJLZXlDcmVk
UGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0sCiAgICAgICAgIH0KICAg
ICB9OwotICAgIC8vIEEgbW9jayBhdHRlc3RhdGlvbiBvYmplY3QKLSAgICBpbnRlcm5hbHMubW9j
a0F1dGhlbnRpY2F0b3JDb29yZGluYXRvci5zZXRDcmVhdGlvblJldHVybkJ1bmRsZShoZXhTdHJp
bmdUb1VpbnQ4QXJyYXkoJzAwJyksIGhleFN0cmluZ1RvVWludDhBcnJheSgnMDEnKSk7CiAgICAg
Y3JlYXRlZENyZWRlbnRpYWwgPSBhd2FpdCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKGNy
ZWF0aW9uT3B0aW9ucyk7CiAKIApAQCAtNjEsMTEgKzYyLDEyIEBAIHByb21pc2VfdGVzdChhc3lu
YyAoKSA9PiB7CiAgICAgICAgICAgICBjaGFsbGVuZ2U6IEJhc2U2NFVSTC5wYXJzZSgiTVRJek5E
VTIiKSwKICAgICAgICAgfQogICAgIH07Ci0gICAgLy8gQSBtb2NrIGFzc2VydGlvbiByZXR1cm4g
YnVuZGxlLgotICAgIGludGVybmFscy5tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLnNldEFz
c2VydGlvblJldHVybkJ1bmRsZShoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAwJyksIGhleFN0cmlu
Z1RvVWludDhBcnJheSgnMDEnKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMicpLCBoZXhTdHJp
bmdUb1VpbnQ4QXJyYXkoJzAzJykpOwogICAgIHJlcXVlc3RlZENyZWRlbnRpYWwgPSBhd2FpdCBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KHJlcXVlc3RPcHRpb25zKTsKIAogICAgIGlkbEFycmF5
LmFkZF9vYmplY3RzKHsiUHVibGljS2V5Q3JlZGVudGlhbCI6IFsiY3JlYXRlZENyZWRlbnRpYWwi
XSwgIkF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3BvbnNlIjogWyJjcmVhdGVkQ3JlZGVudGlh
bC5yZXNwb25zZSJdLCAiQXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlIjogWyJyZXF1ZXN0
ZWRDcmVkZW50aWFsLnJlc3BvbnNlIl19KTsKICAgICBpZGxBcnJheS50ZXN0KCk7CisKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWlu
KHRlc3RScElkKTsKIH0sICJTZXR1cCBmb3IgV2ViQXV0aE4gQVBJIElETCB0ZXN0cy4iKTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1
cmUtbG9jYWwuaHR0cHMuaHRtbAppbmRleCBhYzNhNjM2MTBjYTA2ODBjYzFiOTg0YmVkMDI3MzFj
OGVmZjUwOThjLi4yYmM0ZDFkMTMzZjExZDFiZmNhYzFhZjc3YWNlNTUzYTdjMjE2MzA3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUtbG9jYWwu
aHR0cHMuaHRtbApAQCAtMjMsNyArMjMsNyBAQAogICAgICAgICAgICAgICAgIHB1YktleUNyZWRQ
YXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAtMzUgfSwgeyB0eXBlOiAicHVibGlj
LWtleSIsIGFsZzogLTI1NyB9XSwgLy8gRVMzODQsIFJTMjU2CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH07Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdFN1cHBvcnRlZEVy
cm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIlRoZSBwbGF0Zm9y
bSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yIGRvZXNuJ3Qgc3VwcG9ydCBhbnkgcHJvdmlkZWQgUHVi
bGljS2V5Q3JlZGVudGlhbFBhcmFtZXRlcnMuIik7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVq
ZWN0cyh0LCAiTm90U3VwcG9ydGVkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRl
KG9wdGlvbnMpLCAiVGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IgZG9lc24ndCBz
dXBwb3J0IGFueSBwcm92aWRlZCBQdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1ldGVycy4iKTsKICAg
ICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB1bnN1cHBvcnRlZCBw
dWJsaWMga2V5IGNyZWRlbnRpYWwgcGFyYW1ldGVycyBpbiBhIG1vY2sgbG9jYWwgYXV0aGVudGlj
YXRvci4iKTsKIAogICAgIHByb21pc2VfdGVzdCh0ID0+IHsKQEAgLTQ0LDcgKzQ0LDcgQEAKICAg
ICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVz
dFJ1bm5lci5hZGRUZXN0S2V5VG9LZXljaGFpbih0ZXN0RVMyNTZQcml2YXRlS2V5QmFzZTY0LCB0
ZXN0UnBJZCwgdGVzdFVzZXJoYW5kbGVCYXNlNjQpOwotICAgICAgICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRl
KG9wdGlvbnMpLCAiQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgbWF0Y2hlcyBhbiBlbnRyeSBvZiB0
aGUgZXhjbHVkZUNyZWRlbnRpYWxzIGxpc3QgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhl
bnRpY2F0b3IuIikudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0
LCAiTm90QWxsb3dlZEVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25z
KSwgIkF0IGxlYXN0IG9uZSBjcmVkZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1
ZGVDcmVkZW50aWFscyBsaXN0IGluIHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9y
LiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWluKHRlc3RScElkKTsKICAgICAg
ICAgfSk7CkBAIC03Myw3ICs3Myw3IEBACiAgICAgICAgIH07CiAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIuYWRkVGVzdEtleVRvS2V5Y2hhaW4o
dGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCwgdGVzdFJwSWQsIHRlc3RVc2VyaGFuZGxlQmFzZTY0
KTsKLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwg
bmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIkF0IGxlYXN0IG9uZSBjcmVk
ZW50aWFsIG1hdGNoZXMgYW4gZW50cnkgb2YgdGhlIGV4Y2x1ZGVDcmVkZW50aWFscyBsaXN0IGlu
IHRoZSBwbGF0Zm9ybSBhdHRhY2hlZCBhdXRoZW50aWNhdG9yLiIpLnRoZW4oKCkgPT4geworICAg
ICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucyksICJBdCBsZWFzdCBvbmUgY3JlZGVudGlhbCBt
YXRjaGVzIGFuIGVudHJ5IG9mIHRoZSBleGNsdWRlQ3JlZGVudGlhbHMgbGlzdCBpbiB0aGUgcGxh
dGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+IHsKICAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFu
VXBLZXljaGFpbih0ZXN0UnBJZCk7CiAgICAgICAgIH0pOwpAQCAtOTQsNyArOTQsNyBAQAogICAg
ICAgICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxn
OiAtNyB9XQogICAgICAgICAgICAgfQogICAgICAgICB9OwotICAgICAgICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3Jl
YXRlKG9wdGlvbnMpLCAiQ291bGRuJ3QgZ2V0IHVzZXIgY29uc2VudC4iKTsKKyAgICAgICAgcmV0
dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiQ291bGRuJ3QgZ2V0IHVzZXIgY29uc2VudC4iKTsKICAg
ICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aG91dCB1c2VyIGNvbnNl
bnQgaW4gYSBtb2NrIGxvY2FsIGF1dGhlbnRpY2F0b3IuIik7CiAKICAgICBwcm9taXNlX3Rlc3Qo
dCA9PiB7CkBAIC0xMTQsNyArMTE0LDcgQEAKICAgICAgICAgfTsKICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJBdXRoZW50aWNhdGlv
bk1vY2tDb25maWd1cmF0aW9uKHsgbG9jYWw6IHsgYWNjZXB0QXV0aGVudGljYXRpb246IHRydWUs
IGFjY2VwdEF0dGVzdGF0aW9uOiBmYWxzZSwgcHJpdmF0ZUtleUJhc2U2NDogIiIgfSB9KTsKLSAg
ICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiVW5rbm93bkVycm9yIiwgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIlVua25vd24gaW50ZXJuYWwgZXJyb3IuIik7
CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiVW5rbm93bkVycm9yIiwgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIlVua25vd24gaW50ZXJuYWwgZXJyb3Iu
Iik7CiAgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGhvdXQgYXR0
ZXN0YXRpb24gaW4gYSBtb2NrIGxvY2FsIGF1dGhlbnRpY2F0b3IuIik7CiAKICAgICBwcm9taXNl
X3Rlc3QodCA9PiB7CkBAIC0xMzYsNyArMTM2LDcgQEAKICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0V2ViQXV0aGVudGljYXRpb25Nb2NrQ29uZmlndXJhdGlvbih7IGxvY2FsOiB7IGFjY2VwdEF1
dGhlbnRpY2F0aW9uOiB0cnVlLCBhY2NlcHRBdHRlc3RhdGlvbjogZmFsc2UsIHByaXZhdGVLZXlC
YXNlNjQ6ICIiIH0gfSk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNo
YWluKHRlc3RFUzI1NlByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElkLCB0ZXN0VXNlcmhhbmRsZUJh
c2U2NCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCAiVW5r
bm93bkVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIlVua25v
d24gaW50ZXJuYWwgZXJyb3IuIikudGhlbigoKSA9PiB7CisgICAgICAgIHJldHVybiBwcm9taXNl
UmVqZWN0cyh0LCAiVW5rbm93bkVycm9yIiwgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShv
cHRpb25zKSwgIlVua25vd24gaW50ZXJuYWwgZXJyb3IuIikudGhlbigoKSA9PiB7CiAgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNl
KHRlc3RSdW5uZXIua2V5RXhpc3RzSW5LZXljaGFpbih0ZXN0UnBJZCwgdGVzdFVzZXJoYW5kbGVC
YXNlNjQpKTsKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWNyZWF0ZS1mYWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBjNDc2MWYzZjRhYzIx
MmZlZmMyYzkwN2NhMWVkMGNlNzI5OTU1Mjk2Li4wODBkM2NlYzgyYTNjYjViMDUwNGZlYzc1Nzg0
MWI5NTA0ZWJlNjdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1j
cmVhdGUtZmFpbHVyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAKLVBBU1Mg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB0aW1lb3V0IAogUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIGEgbWlzbWF0Y2hlZCBSUCBJRCAKIFBB
U1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBhbiBlbXB0eSBwdWJLZXlD
cmVkUGFyYW1zIAotUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHVz
ZXIgY2FuY2VsbGF0aW9ucyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
YXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS1mYWlsdXJlLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRl
LWZhaWx1cmUuaHR0cHMuaHRtbAppbmRleCA0NTA3N2EzY2Y5ZDMzNzFmZWM2ZmY2YjhiZGE1YjI3
ZDJkODQxNmQxLi5jNTI0OTZjODUzNmFmZGUzOWE1YTZhMzExNzdiYWU1NGMxZmNiYzQyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLWZhaWx1cmUuaHR0cHMuaHRtbApA
QCAtNCwyNyArNCwzMSBAQAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdD4KLSAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBj
b25zdCBvcHRpb25zID0gewotICAgICAgICAgICAgcHVibGljS2V5OiB7Ci0gICAgICAgICAgICAg
ICAgcnA6IHsKLSAgICAgICAgICAgICAgICAgICAgbmFtZTogImV4YW1wbGUuY29tIgotICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgdXNlcjogewotICAgICAgICAgICAgICAgICAg
ICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAotICAgICAgICAgICAgICAgICAgICBpZDogYXNjaWlU
b1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZTog
IkpvaG4iLAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgY2hhbGxlbmdlOiBh
c2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAgICAgICAgICAgcHViS2V5Q3JlZFBh
cmFtczogW3sgdHlwZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dLAotICAgICAgICAgICAgICAg
IHRpbWVvdXQ6IDAsCi0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAgICAgIGludGVybmFs
cy5tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLnNldERpZFRpbWVPdXQoKTsKKyAgICAvLyBE
ZWZhdWx0IG1vY2sgY29uZmlndXJhdGlvbi4gVGVzdHMgbmVlZCB0byBvdmVycmlkZSBpZiB0aGV5
IG5lZWQgZGlmZmVyZW50IGNvbmZpZ3VyYXRpb24uCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICB0ZXN0UnVubmVyLnNldFdlYkF1dGhlbnRpY2F0aW9uTW9ja0NvbmZpZ3VyYXRp
b24oeyB9KTsKIAotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJOb3RBbGxvd2Vk
RXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25z
KSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggdGltZW91
dCIpOworICAgIC8vIEZJWE1FKDE4OTY0Mik6IFJlLWVuYWJsZSB0aGUgZm9sbG93aW5nIHRlc3Qu
CisgICAgLy8gcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAvLyAgICAgY29uc3Qgb3B0
aW9ucyA9IHsKKyAgICAvLyAgICAgICAgIHB1YmxpY0tleTogeworICAgIC8vICAgICAgICAgICAg
IHJwOiB7CisgICAgLy8gICAgICAgICAgICAgICAgIG5hbWU6ICJleGFtcGxlLmNvbSIKKyAgICAv
LyAgICAgICAgICAgICB9LAorICAgIC8vICAgICAgICAgICAgIHVzZXI6IHsKKyAgICAvLyAgICAg
ICAgICAgICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVkIiwKKyAgICAvLyAgICAgICAgICAgICAg
ICAgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKKyAgICAvLyAgICAgICAgICAgICAg
ICAgZGlzcGxheU5hbWU6ICJKb2huIiwKKyAgICAvLyAgICAgICAgICAgICB9LAorICAgIC8vICAg
ICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgIC8v
ICAgICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxn
OiAtNyB9XSwKKyAgICAvLyAgICAgICAgICAgICB0aW1lb3V0OiAwLAorICAgIC8vICAgICAgICAg
fQorICAgIC8vICAgICB9OworICAgIC8vCisgICAgLy8gICAgIHJldHVybiBwcm9taXNlUmVqZWN0
cyh0LCAiTm90QWxsb3dlZEVycm9yIiwKKyAgICAvLyAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50
aWFscy5jcmVhdGUob3B0aW9ucyksICJPcGVyYXRpb24gdGltZWQgb3V0LiIpOworICAgIC8vIH0s
ICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHRpbWVvdXQiKTsKIAogICAg
IHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7CkBA
IC00Miw4ICs0Niw5IEBACiAgICAgICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlw
ZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dLAogICAgICAgICAgICAgfQogICAgICAgICB9Owot
ICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsICJTZWN1cml0eUVycm9yIiwKLSAgICAg
ICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucykpOworCisgICAgICAg
IHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiU2VjdXJpdHlFcnJvciIsCisgICAgICAgICAgICBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLCAiVGhlIG9yaWdpbiBvZiB0aGUg
ZG9jdW1lbnQgaXMgbm90IGEgcmVnaXN0cmFibGUgZG9tYWluIHN1ZmZpeCBvZiB0aGUgcHJvdmlk
ZWQgUlAgSUQuIik7CiAgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdp
dGggYSBtaXNtYXRjaGVkIFJQIElEIik7CiAKICAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
ewpAQCAtNjIsMjkgKzY3LDggQEAKICAgICAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBb
IF0sCiAgICAgICAgICAgICB9CiAgICAgICAgIH07Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3Jl
amVjdHModCwgIk5vdFN1cHBvcnRlZEVycm9yIiwKLSAgICAgICAgICAgIG5hdmlnYXRvci5jcmVk
ZW50aWFscy5jcmVhdGUob3B0aW9ucykpOwotICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tjcmVhdGVdXSB3aXRoIGFuIGVtcHR5IHB1YktleUNyZWRQYXJhbXMiKTsKLQotICAgIHByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7Ci0gICAgICAg
ICAgICBwdWJsaWNLZXk6IHsKLSAgICAgICAgICAgICAgICBycDogewotICAgICAgICAgICAgICAg
ICAgICBuYW1lOiAibG9jYWxob3N0IiwKLSAgICAgICAgICAgICAgICAgICAgaWQ6ICJsb2NhbGhv
c3QiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB1c2VyOiB7Ci0gICAgICAg
ICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCi0gICAgICAgICAgICAgICAgICAg
IGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCi0gICAgICAgICAgICAgICAgICAgIGRp
c3BsYXlOYW1lOiAiSm9obiIsCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBj
aGFsbGVuZ2U6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKLSAgICAgICAgICAgICAgICBw
dWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0sCi0gICAg
ICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAgICAgIGludGVybmFscy5tb2NrQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yLnNldERpZFVzZXJDYW5jZWwoKTsKIAotICAgICAgICByZXR1cm4gcHJvbWlz
ZV9yZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggdXNlciBjYW5jZWxsYXRpb25zIik7CisgICAgICAgIHJldHVybiBw
cm9taXNlUmVqZWN0cyh0LCAiTm90U3VwcG9ydGVkRXJyb3IiLAorICAgICAgICAgICAgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKSwgIk5vIGRlc2lyZWQgcHJvcGVydGllcyBv
ZiB0aGUgdG8gYmUgY3JlYXRlZCBjcmVkZW50aWFsIGFyZSBwcm92aWRlZC4iKTsKKyAgICB9LCAi
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCBhbiBlbXB0eSBwdWJLZXlDcmVk
UGFyYW1zIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRp
YWwtY3JlYXRlLXN1Y2Nlc3MuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjYTg2ODQwNmI1ODJmNTM0YzlkNmEyYmIxNTEzZWZlZGI5NDdlZDEwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtc3VjY2Vzcy5odHRw
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLQotUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIG1pbmltdW0gb3B0aW9ucyAKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWNyZWF0ZS1zdWNjZXNzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJh
dXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3JlYXRlLXN1Y2Nlc3MuaHR0cHMuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWM1ODRhMDAxMTc0MGJjNjAyYWU0M2RhZDc5NDlk
YzFmMzM5Mzg3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtY3Jl
YXRlLXN1Y2Nlc3MuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPHRpdGxlPldlYiBBdXRoZW50aWNhdGlvbiBBUEk6IFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHN1Y2Nlc3MgY2FzZXMuPC90aXRsZT4KLTxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0gICAgcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKLSAgICAgICAgICAgIHB1Ymxp
Y0tleTogewotICAgICAgICAgICAgICAgIHJwOiB7Ci0gICAgICAgICAgICAgICAgICAgIG5hbWU6
ICJsb2NhbGhvc3QiLAotICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgdXNlcjog
ewotICAgICAgICAgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAotICAgICAgICAg
ICAgICAgICAgICBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAotICAgICAgICAgICAg
ICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxlc2VlZCIsCi0gICAgICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgICAgICBjaGFsbGVuZ2U6IEJhc2U2NFVSTC5wYXJzZSgiTVRJek5EVTIiKSwKLSAg
ICAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFs
ZzogLTcgfV0sCi0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAgICAgIC8vIEEgbW9jayBh
dHRlc3RhdGlvbiBvYmplY3QKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3Iuc2V0Q3JlYXRpb25SZXR1cm5CdW5kbGUoaGV4U3RyaW5nVG9VaW50OEFycmF5KCcw
MCcpLCBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAxJykpOwotCi0gICAgICAgIHJldHVybiBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLnRoZW4oZnVuY3Rpb24oY3JlZGVudGlh
bCkgewotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY3JlZGVudGlhbC5pZCwgJ0FBJyk7
Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjcmVkZW50aWFsLnR5cGUsICdwdWJsaWMt
a2V5Jyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhieXRlc1RvSGV4U3RyaW5nKGNy
ZWRlbnRpYWwucmF3SWQpLCAnMDAnKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5
dGVzVG9BU0NJSVN0cmluZyhjcmVkZW50aWFsLnJlc3BvbnNlLmNsaWVudERhdGFKU09OKSwgJ3si
dHlwZSI6IndlYmF1dGhuLmNyZWF0ZSIsImNoYWxsZW5nZSI6Ik1USXpORFUyIiwib3JpZ2luIjoi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyIsImhhc2hBbGdvcml0aG0iOiJTSEEtMjU2In0nKTsKLSAg
ICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVzVG9IZXhTdHJpbmcoY3JlZGVudGlhbC5y
ZXNwb25zZS5hdHRlc3RhdGlvbk9iamVjdCksICcwMScpOwotICAgICAgICAgICAgICAgIGFzc2Vy
dF90aHJvd3MoIk5vdFN1cHBvcnRlZEVycm9yIiwgKCkgPT4geyBjcmVkZW50aWFsLmdldENsaWVu
dEV4dGVuc2lvblJlc3VsdHMoKSB9KTsKLSAgICAgICAgICAgIH0pOwotICAgIH0sICJQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIG1pbmltdW0gb3B0aW9ucyIpOwotPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlh
bC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA1NjczMWM0NjA5ZGM4MzI4ZWQyMzQzNGIxOWNiNWUyZDRiNTY4ZmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtY3JlYXRlLXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDU3IEBACisKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0g
d2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMiAKK1BBU1MgUHVi
bGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVy
cy4gMyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gNCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRl
XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNSAKK1BBU1MgUHVibGljS2V5Q3JlZGVu
dGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNiAKK1BBU1Mg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1l
dGVycy4gNyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRo
IGludmFsaWQgcGFyYW1ldGVycy4gOCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3Jl
YXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gOSAKK1BBU1MgUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTAgCitQ
QVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBh
cmFtZXRlcnMuIDExIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxMiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdz
IFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTMgCitQQVNTIFB1Ymxp
Y0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMu
IDE0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52
YWxpZCBwYXJhbWV0ZXJzLiAxNSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRl
XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTYgCitQQVNTIFB1YmxpY0tleUNyZWRl
bnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE3IAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJh
bWV0ZXJzLiAxOCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3
aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTkgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBb
W2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIwIAorUEFTUyBQdWJsaWNL
ZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAy
MSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFs
aWQgcGFyYW1ldGVycy4gMjIgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1d
IHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIzIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyNCAKK1BBU1Mg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1l
dGVycy4gMjUgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0
aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDI2IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tj
cmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyNyAKK1BBU1MgUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjgg
CitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlk
IHBhcmFtZXRlcnMuIDI5IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3
aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAzMCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzEgCitQQVNTIFB1
YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRl
cnMuIDMyIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGgg
aW52YWxpZCBwYXJhbWV0ZXJzLiAzMyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3Jl
YXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzQgCitQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDM1IAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBw
YXJhbWV0ZXJzLiAzNiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0
aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMzcgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDM4IAorUEFTUyBQdWJs
aWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJz
LiAzOSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gNDAgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0
ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQxIAorUEFTUyBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0MiAKK1BB
U1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFy
YW1ldGVycy4gNDMgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGgg
d2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDQ0IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3Mg
W1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0NSAKK1BBU1MgUHVibGlj
S2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4g
NDYgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZh
bGlkIHBhcmFtZXRlcnMuIDQ3IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVd
XSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiA0OCAKK1BBU1MgUHVibGljS2V5Q3JlZGVu
dGlhbCdzIFtbY3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNDkgCitQQVNT
IFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFt
ZXRlcnMuIDUwIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiA1MSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtb
Y3JlYXRlXV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNTIgCitQQVNTIFB1YmxpY0tl
eUNyZWRlbnRpYWwncyBbW2NyZWF0ZV1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDUz
IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52YWxp
ZCBwYXJhbWV0ZXJzLiA1NCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbY3JlYXRlXV0g
d2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNTUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1p
bnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1
dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGM4Mzg2MTUwMTQwZGY5ZjAzNTlhMTcyMTk0ZWZkZDZi
MWZhMDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4v
cHVibGljLWtleS1jcmVkZW50aWFsLWNyZWF0ZS13aXRoLWludmFsaWQtcGFyYW1ldGVycy5odHRw
cy5odG1sCkBAIC0wLDAgKzEsMTE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5XZWIgQXV0
aGVudGljYXRpb24gQVBJOiBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyAgICBjb25zdCBycCA9IHsKKyAgICAgICAgbmFtZTogImV4YW1w
bGUuY29tIgorICAgIH07CisgICAgY29uc3QgdXNlciA9IHsKKyAgICAgICAgbmFtZTogIkpvaG4g
QXBwbGVzZWVkIiwKKyAgICAgICAgaWQ6IGFzY2lpVG9VaW50OEFycmF5KCIxMjM0NTYiKSwKKyAg
ICAgICAgZGlzcGxheU5hbWU6ICJBcHBsZXNlZWQiCisgICAgfTsKKyAgICBjb25zdCBjaGFsbGVu
Z2UgPSBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2Iik7CisgICAgY29uc3QgcHViS2V5Q3JlZFBh
cmFtID0geyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfTsKKyAgICBjb25zdCBleGNsdWRl
Q3JlZGVudGlhbHMgPSB7IHR5cGU6ICJwdWJsaWMta2V5IiwgaWQ6IGFzY2lpVG9VaW50OEFycmF5
KCIxMjM0NTYiKSB9OworCisgICAgY29uc3QgbWlzc2luZ0F0dHJpYnV0ZVZlY3RvciA9IFsKKyAg
ICAgICAgLy8gbWlzc2luZyB0b3AgbGV2ZWwgYXR0cmlidXRlCisgICAgICAgIFt1bmRlZmluZWQs
IHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVuZGVm
aW5lZCwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdXNlciwg
dW5kZWZpbmVkLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxl
bmdlLCB1bmRlZmluZWRdLAorICAgICAgICAvLyBtaXNzaW5nIHJwIGF0dHJpYnV0ZQorICAgICAg
ICBbeyBuYW1lOiB1bmRlZmluZWQgfSwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFt
XV0sCisgICAgICAgIC8vIG1pc3NpbmcgdXNlciBhdHRyaWJ1dGUKKyAgICAgICAgW3JwLCB7IG5h
bWU6IHVuZGVmaW5lZCwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1l
fSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1
c2VyLm5hbWUsIGlkOiB1bmRlZmluZWQsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwg
Y2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1c2Vy
Lm5hbWUsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTogdW5kZWZpbmVkfSwgY2hhbGxlbmdlLCBb
cHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIC8vIG1pc3NpbmcgcHViS2V5Q3JlZFBhcmFtcyBh
dHRyaWJ1dGUKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6IHVuZGVmaW5l
ZCwgYWxnOiBwdWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFs
bGVuZ2UsIFt7IHR5cGU6IHB1YktleUNyZWRQYXJhbS50eXBlLCBhbGc6IHVuZGVmaW5lZCB9XV0s
CisgICAgICAgIC8vIG1pc3NpbmcgZXhjbHVkZUNyZWRlbnRpYWxzIGF0dHJpYnV0ZQorICAgICAg
ICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sg
dHlwZTogdW5kZWZpbmVkLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAgICAg
W3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5
cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogdW5kZWZpbmVkIH1dXQorICAgIF07CisK
KyAgICBjb25zdCB3cm9uZ1R5cGVBdHRyaWJ1dGVWZWN0b3IgPSBbCisgICAgICAgIC8vIHdyb25n
IHJwIGF0dHJpYnV0ZSB0eXBlCisgICAgICAgIFt7IG5hbWU6IFN5bWJvbCgpIH0sIHVzZXIsIGNo
YWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbeyBuYW1lOiBycC5uYW1lLCBp
Y29uOiBTeW1ib2woKSB9LCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAg
ICAgICAgW3sgbmFtZTogcnAubmFtZSwgaWQ6IFN5bWJvbCgpIH0sIHVzZXIsIGNoYWxsZW5nZSwg
W3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICAvLyB3cm9uZyB1c2VyIGF0dHJpYnV0ZSB0eXBl
CisgICAgICAgIFtycCwgeyBuYW1lOiBTeW1ib2woKSwgaWQ6IHVzZXIuaWQsIGRpc3BsYXlOYW1l
OiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAg
ICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUsIGlkOiAxLCBkaXNwbGF5TmFtZTogdXNlci5kaXNw
bGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHsg
bmFtZTogdXNlci5uYW1lLCBpZDogdHJ1ZSwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9
LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVz
ZXIubmFtZSwgaWQ6IG51bGwsIGRpc3BsYXlOYW1lOiB1c2VyLmRpc3BsYXlOYW1lfSwgY2hhbGxl
bmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBuYW1lOiB1c2VyLm5hbWUs
IGlkOiBTeW1ib2woKSwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2Us
IFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6
IHsgfSwgZGlzcGxheU5hbWU6IHVzZXIuZGlzcGxheU5hbWV9LCBjaGFsbGVuZ2UsIFtwdWJLZXlD
cmVkUGFyYW1dXSwKKyAgICAgICAgW3JwLCB7IG5hbWU6IHVzZXIubmFtZSwgaWQ6ICJmb28iLCBk
aXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJh
bV1dLAorICAgICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogWyBdLCBkaXNwbGF5TmFt
ZTogdXNlci5kaXNwbGF5TmFtZX0sIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAg
ICAgICBbcnAsIHsgbmFtZTogdXNlci5uYW1lLCBpZDogdXNlci5pZCwgZGlzcGxheU5hbWU6IFN5
bWJvbCgpfSwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgeyBu
YW1lOiB1c2VyLm5hbWUsIGlkOiB1c2VyLmlkLCBkaXNwbGF5TmFtZTogdXNlci5kaXNwbGF5TmFt
ZSwgaWNvbjogU3ltYm9sKCl9LCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAg
ICAgLy8gd3JvbmcgY2hhbGxlbmdlIHR5cGUKKyAgICAgICAgW3JwLCB1c2VyLCAxLCBbcHViS2V5
Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdXNlciwgdHJ1ZSwgW3B1YktleUNyZWRQYXJhbV1d
LAorICAgICAgICBbcnAsIHVzZXIsIG51bGwsIFtwdWJLZXlDcmVkUGFyYW1dXSwKKyAgICAgICAg
W3JwLCB1c2VyLCBTeW1ib2woKSwgW3B1YktleUNyZWRQYXJhbV1dLAorICAgICAgICBbcnAsIHVz
ZXIsICJmb28iLCBbcHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdXNlciwgWyBdLCBb
cHViS2V5Q3JlZFBhcmFtXV0sCisgICAgICAgIFtycCwgdXNlciwgeyB9LCBbcHViS2V5Q3JlZFBh
cmFtXV0sCisgICAgICAgIC8vIHdyb25nIHB1YktleUNyZWRQYXJhbSB0eXBlCisgICAgICAgIFty
cCwgdXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiAxLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcg
fV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogdHJ1ZSwgYWxnOiBw
dWJLZXlDcmVkUGFyYW0uYWxnIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7
IHR5cGU6IG51bGwsIGFsZzogcHViS2V5Q3JlZFBhcmFtLmFsZyB9XV0sCisgICAgICAgIFtycCwg
dXNlciwgY2hhbGxlbmdlLCBbeyB0eXBlOiBTeW1ib2woKSwgYWxnOiBwdWJLZXlDcmVkUGFyYW0u
YWxnIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFt7IHR5cGU6ICJmb28iLCBh
bGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5n
ZSwgW3sgdHlwZTogWyBdLCBhbGc6IHB1YktleUNyZWRQYXJhbS5hbGcgfV1dLAorICAgICAgICBb
cnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogeyB9LCBhbGc6IHB1YktleUNyZWRQYXJhbS5h
bGcgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3sgdHlwZTogcHViS2V5Q3Jl
ZFBhcmFtLnR5cGUsIGFsZzogU3ltYm9sKCkgfV1dLAorICAgICAgICAvLyB3cm9uZyB0aW1lb3V0
IHR5cGUKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCBT
eW1ib2woKSwgdW5kZWZpbmVkXSwKKyAgICAgICAgLy8gd3JvbmcgZXhjbHVkZUNyZWRlbnRpYWxz
CisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZp
bmVkLCBbeyB0eXBlOiAxLCBpZDogZXhjbHVkZUNyZWRlbnRpYWxzLmlkIH1dXSwKKyAgICAgICAg
W3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5
cGU6IHRydWUsIGlkOiBleGNsdWRlQ3JlZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVz
ZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogbnVs
bCwgaWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hh
bGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBTeW1ib2woKSwg
aWQ6IGV4Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxl
bmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiAiZm9vIiwgaWQ6IGV4
Y2x1ZGVDcmVkZW50aWFscy5pZCB9XV0sCisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBb
cHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBbIF0sIGlkOiBleGNsdWRlQ3Jl
ZGVudGlhbHMuaWQgfV1dLAorICAgICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNy
ZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlwZTogeyB9LCBpZDogZXhjbHVkZUNyZWRlbnRpYWxz
LmlkIH1dXSwKKyAgICAgICAgW3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1d
LCB1bmRlZmluZWQsIFt7IHR5cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogMSB9XV0s
CisgICAgICAgIFtycCwgdXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZp
bmVkLCBbeyB0eXBlOiBleGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IHRydWUgfV1dLAorICAg
ICAgICBbcnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwg
W3sgdHlwZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiBudWxsIH1dXSwKKyAgICAgICAg
W3JwLCB1c2VyLCBjaGFsbGVuZ2UsIFtwdWJLZXlDcmVkUGFyYW1dLCB1bmRlZmluZWQsIFt7IHR5
cGU6IGV4Y2x1ZGVDcmVkZW50aWFscy50eXBlLCBpZDogU3ltYm9sKCkgfV1dLAorICAgICAgICBb
cnAsIHVzZXIsIGNoYWxsZW5nZSwgW3B1YktleUNyZWRQYXJhbV0sIHVuZGVmaW5lZCwgW3sgdHlw
ZTogZXhjbHVkZUNyZWRlbnRpYWxzLnR5cGUsIGlkOiAiZm9vIiB9XV0sCisgICAgICAgIFtycCwg
dXNlciwgY2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBl
eGNsdWRlQ3JlZGVudGlhbHMudHlwZSwgaWQ6IFsgXSB9XV0sCisgICAgICAgIFtycCwgdXNlciwg
Y2hhbGxlbmdlLCBbcHViS2V5Q3JlZFBhcmFtXSwgdW5kZWZpbmVkLCBbeyB0eXBlOiBleGNsdWRl
Q3JlZGVudGlhbHMudHlwZSwgaWQ6IHsgfSB9XV0KKyAgICBdOworCisgICAgZnVuY3Rpb24gbWFr
ZU9wdGlvbnMoYXR0cmlidXRlcykKKyAgICB7CisgICAgICAgIGlmIChhdHRyaWJ1dGVzLmxlbmd0
aCA9PSA0KQorICAgICAgICAgICAgcmV0dXJuIHsgcHVibGljS2V5OiB7IHJwOiBhdHRyaWJ1dGVz
WzBdLCB1c2VyOiBhdHRyaWJ1dGVzWzFdLCBjaGFsbGVuZ2U6IGF0dHJpYnV0ZXNbMl0sIHB1Yktl
eUNyZWRQYXJhbXM6IGF0dHJpYnV0ZXNbM10gfSB9OworICAgICAgICByZXR1cm4geyBwdWJsaWNL
ZXk6IHsgcnA6IGF0dHJpYnV0ZXNbMF0sIHVzZXI6IGF0dHJpYnV0ZXNbMV0sIGNoYWxsZW5nZTog
YXR0cmlidXRlc1syXSwgcHViS2V5Q3JlZFBhcmFtczogYXR0cmlidXRlc1szXSwgdGltZW91dDog
YXR0cmlidXRlc1s0XSwgIGV4Y2x1ZGVDcmVkZW50aWFsczogYXR0cmlidXRlc1s1XX0gfTsKKyAg
ICB9CisKKyAgICBsZXQgaW5kZXggPSAxOworICAgIGZ1bmN0aW9uIHJ1blRlc3QoYXR0cmlidXRl
c1ZlY3RvcnMpIHsKKyAgICAgICAgYXR0cmlidXRlc1ZlY3RvcnMuZm9yRWFjaChmdW5jdGlvbihh
dHRyaWJ1dGVzVmVjdG9yKSB7CisgICAgICAgICAgICBhdHRyaWJ1dGVzVmVjdG9yLmZvckVhY2go
YXN5bmMgZnVuY3Rpb24oYXR0cmlidXRlcykgeworICAgICAgICAgICAgICAgIHByb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlX3JlamVj
dHModCwgbmV3IFR5cGVFcnJvcigpLAorICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9y
LmNyZWRlbnRpYWxzLmNyZWF0ZShtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKSkpOworICAgICAgICAg
ICAgICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tjcmVhdGVdXSB3aXRoIHdpdGggaW52
YWxpZCBwYXJhbWV0ZXJzLiAiICsgaW5kZXgpOworICAgICAgICAgICAgICAgIGluZGV4ID0gaW5k
ZXggKyAxOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIGNvbnN0
IHZlY3RvcnMgPSBbXTsKKyAgICB2ZWN0b3JzLnB1c2gobWlzc2luZ0F0dHJpYnV0ZVZlY3Rvcik7
CisgICAgdmVjdG9ycy5wdXNoKHdyb25nVHlwZUF0dHJpYnV0ZVZlY3Rvcik7CisgICAgcnVuVGVz
dCh2ZWN0b3JzKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwt
Z2V0LWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbAppbmRleCAzOTU0YTA2NmIxMWYxNjg3YmE2N2Rj
YmNjMWJiMmNkOTFjYjJiODJjLi43ZjRkZDk2OTgzOGUwMjRkY2UxNTBmYTUwMGI4ZWM0ODUzYmVj
NjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5
LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUtbG9jYWwuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUtbG9j
YWwuaHR0cHMuaHRtbApAQCAtMjEsNyArMjEsNyBAQAogICAgICAgICAgICAgfQogICAgICAgICB9
OwogCi0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIs
IG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJObyBtYXRjaGVkIGNyZWRlbnRp
YWxzIGFyZSBmb3VuZCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKTsK
KyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiTm8gbWF0Y2hlZCBjcmVkZW50aWFscyBh
cmUgZm91bmQgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIik7CiAgICAg
fSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggbm8gbWF0Y2hlZCBjcmVkZW50
aWFscyBpbiBhIG1vY2sgbG9jYWwgYXV0aGVudGljYXRvci4iKTsKIAogICAgIHByb21pc2VfdGVz
dCh0ID0+IHsKQEAgLTM2LDcgKzM2LDcgQEAKIAogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNoYWluKHRlc3RFUzI1
NlByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElkLCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCk7Ci0gICAg
ICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJObyBtYXRjaGVkIGNyZWRlbnRpYWxzIGFyZSBm
b3VuZCBpbiB0aGUgcGxhdGZvcm0gYXR0YWNoZWQgYXV0aGVudGljYXRvci4iKS50aGVuKCgpID0+
IHsKKyAgICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2VkRXJyb3IiLCBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiTm8gbWF0Y2hlZCBjcmVkZW50aWFs
cyBhcmUgZm91bmQgaW4gdGhlIHBsYXRmb3JtIGF0dGFjaGVkIGF1dGhlbnRpY2F0b3IuIikudGhl
bigoKSA9PiB7CiAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLmNsZWFuVXBLZXljaGFpbih0ZXN0UnBJZCk7CiAgICAg
ICAgICAgICB9KTsKQEAgLTUxLDcgKzUxLDcgQEAKIAogICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmFkZFRlc3RLZXlUb0tleWNoYWluKHRlc3RF
UzI1NlByaXZhdGVLZXlCYXNlNjQsIHRlc3RScElkLCB0ZXN0VXNlcmhhbmRsZUJhc2U2NCk7Ci0g
ICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIk5vdEFsbG93ZWRFcnJvciIsIG5hdmln
YXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJDb3VsZG4ndCBnZXQgdXNlciBjb25zZW50
LiIpLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdHModCwgIk5vdEFs
bG93ZWRFcnJvciIsIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyksICJDb3VsZG4n
dCBnZXQgdXNlciBjb25zZW50LiIpLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuY2xlYW5VcEtleWNoYWlu
KHRlc3RScElkKTsKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50
aWFsLWdldC1mYWlsdXJlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyZTg4MGNmYjdhNWY5M2Ex
MzhlMWUxYzJiZmQyOGQwYThmMmQyNzVmLi5kYzBiOTE3ZTMwYzFmNmI0ZGI0Yjc2YWE5MmYyMDY4
Y2NiMTdmNjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJs
aWMta2V5LWNyZWRlbnRpYWwtZ2V0LWZhaWx1cmUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtZmFp
bHVyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACiAKLVBBU1MgUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB0aW1lb3V0IAogUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tnZXRdXSB3aXRoIGEgbWlzbWF0Y2hlZCBSUCBJRCAKLVBBU1MgUHVibGljS2V5Q3Jl
ZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB1c2VyIGNhbmNlbGxhdGlvbnMgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQt
ZmFpbHVyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGlj
LWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0dHBzLmh0bWwKaW5kZXggMGQ0YzA0NTI1Njcw
MzUyZWYzN2M4N2Y2MGRmMjMzMjFjM2RlNzJhMy4uY2U1ZTI4YmM3MWNjMWMwOGIxN2JkZTllNjcz
OGE1MGUwMTA1YjRkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4v
cHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJl
Lmh0dHBzLmh0bWwKQEAgLTQsMTggKzQsMjIgQEAKIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKLSAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKLSAgICAgICAgICAgIHB1YmxpY0tleTogewot
ICAgICAgICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAot
ICAgICAgICAgICAgICAgIHRpbWVvdXQ6IDAsCi0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0g
ICAgICAgIGludGVybmFscy5tb2NrQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLnNldERpZFRpbWVP
dXQoKTsKKyAgICAvLyBEZWZhdWx0IG1vY2sgY29uZmlndXJhdGlvbi4gVGVzdHMgbmVlZCB0byBv
dmVycmlkZSBpZiB0aGV5IG5lZWQgZGlmZmVyZW50IGNvbmZpZ3VyYXRpb24uCisgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNldFdlYkF1dGhlbnRpY2F0aW9u
TW9ja0NvbmZpZ3VyYXRpb24oeyB9KTsKIAotICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
KHQsICJOb3RBbGxvd2VkRXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmdldChvcHRpb25zKSk7Ci0gICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdp
dGggdGltZW91dCIpOworICAgIC8vIEZJWE1FKDE4OTY0Mik6IFJlLWVuYWJsZSB0aGUgZm9sbG93
aW5nIHRlc3QuCisgICAgLy8gcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAvLyAgICAg
Y29uc3Qgb3B0aW9ucyA9IHsKKyAgICAvLyAgICAgICAgIHB1YmxpY0tleTogeworICAgIC8vICAg
ICAgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgIC8v
ICAgICAgICAgICAgIHRpbWVvdXQ6IDAsCisgICAgLy8gICAgICAgICB9CisgICAgLy8gICAgIH07
CisgICAgLy8KKyAgICAvLyAgICAgcmV0dXJuIHByb21pc2VSZWplY3RzKHQsICJOb3RBbGxvd2Vk
RXJyb3IiLAorICAgIC8vICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25z
KSwgIk9wZXJhdGlvbiB0aW1lZCBvdXQuIik7CisgICAgLy8gfSwgIlB1YmxpY0tleUNyZWRlbnRp
YWwncyBbW2dldF1dIHdpdGggdGltZW91dCIpOwogCiAgICAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKQEAgLTI0LDIwICsyOCw3IEBACiAgICAg
ICAgICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCiAgICAg
ICAgICAgICB9CiAgICAgICAgIH07Ci0gICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwg
IlNlY3VyaXR5RXJyb3IiLAotICAgICAgICAgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChv
cHRpb25zKSk7CisgICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0cyh0LCAiU2VjdXJpdHlFcnJv
ciIsCisgICAgICAgICAgICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLCAiVGhl
IG9yaWdpbiBvZiB0aGUgZG9jdW1lbnQgaXMgbm90IGEgcmVnaXN0cmFibGUgZG9tYWluIHN1ZmZp
eCBvZiB0aGUgcHJvdmlkZWQgUlAgSUQuIik7CiAgICAgfSwgIlB1YmxpY0tleUNyZWRlbnRpYWwn
cyBbW2dldF1dIHdpdGggYSBtaXNtYXRjaGVkIFJQIElEIik7Ci0KLSAgICBwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgewotICAgICAgICBjb25zdCBvcHRpb25zID0gewotICAgICAgICAgICAgcHVi
bGljS2V5OiB7Ci0gICAgICAgICAgICAgICAgY2hhbGxlbmdlOiBhc2NpaVRvVWludDhBcnJheSgi
MTIzNDU2IiksCi0gICAgICAgICAgICAgICAgYWxsb3dDcmVkZW50aWFsczogW3sgdHlwZTogInB1
YmxpYy1rZXkiLCBpZDogYXNjaWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpIH1dLAotICAgICAgICAg
ICAgfQotICAgICAgICB9OwotICAgICAgICBpbnRlcm5hbHMubW9ja0F1dGhlbnRpY2F0b3JDb29y
ZGluYXRvci5zZXREaWRVc2VyQ2FuY2VsKCk7Ci0KLSAgICAgICAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0cyh0LCAiTm90QWxsb3dlZEVycm9yIiwKLSAgICAgICAgICAgIG5hdmlnYXRvci5jcmVkZW50
aWFscy5nZXQob3B0aW9ucykpOwotICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRd
XSB3aXRoIHVzZXIgY2FuY2VsbGF0aW9ucyIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1Y2Nl
c3MuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVi
bGljLWtleS1jcmVkZW50aWFsLWdldC1zdWNjZXNzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhkNTM3MDk0MjNhZTA1ZDQzOTNmMzllZDYxYjlkYzRl
OWFjNzBiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXN1
Y2Nlc3MuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0K
LVBBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCBtaW5pbXVtIG9wdGlvbnMg
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXkt
Y3JlZGVudGlhbC1nZXQtc3VjY2Vzcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
d2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1zdWNjZXNzLmh0dHBzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2NjRiMWM4NjQ4YTJjOTc0NWI3YjA3YTQ2MDJj
MTU1MmZkZmNjYjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdl
dC1zdWNjZXNzLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTx0aXRsZT5XZWIgQXV0aGVudGljYXRpb24gQVBJOiBQdWJsaWNLZXlDcmVk
ZW50aWFsJ3MgW1tnZXRdXSBzdWNjZXNzIGNhc2VzLjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIC8vIFRoZSBmb2xsb3dpbmcgdGVz
dCBpcyBzcGVjaWZpY2FsbHkgdHVuZWQgZm9yIGN1cnJlbnQgZHVtbXkgYXV0aGVudGljYXRvci4K
LSAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgICAgICBjb25zdCBvcHRpb25zID0g
ewotICAgICAgICAgICAgcHVibGljS2V5OiB7Ci0gICAgICAgICAgICAgICAgY2hhbGxlbmdlOiBC
YXNlNjRVUkwucGFyc2UoIk1USXpORFUyIiksCi0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0g
ICAgICAgIC8vIEEgbW9jayBhc3NlcnRpb24gcmV0dXJuIGJ1bmRsZS4KLSAgICAgICAgaW50ZXJu
YWxzLm1vY2tBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iuc2V0QXNzZXJ0aW9uUmV0dXJuQnVuZGxl
KGhleFN0cmluZ1RvVWludDhBcnJheSgnMDAnKSwgaGV4U3RyaW5nVG9VaW50OEFycmF5KCcwMScp
LCBoZXhTdHJpbmdUb1VpbnQ4QXJyYXkoJzAyJyksIGhleFN0cmluZ1RvVWludDhBcnJheSgnMDMn
KSk7Ci0KLSAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucyku
dGhlbihmdW5jdGlvbihjcmVkZW50aWFsKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNy
ZWRlbnRpYWwuaWQsICdBQScpOwotICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjcmVkZW50aWFs
LnR5cGUsICdwdWJsaWMta2V5Jyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVzVG9I
ZXhTdHJpbmcoY3JlZGVudGlhbC5yYXdJZCksICcwMCcpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhieXRlc1RvQVNDSUlTdHJpbmcoY3JlZGVudGlhbC5yZXNwb25zZS5jbGllbnREYXRhSlNP
TiksICd7InR5cGUiOiJ3ZWJhdXRobi5nZXQiLCJjaGFsbGVuZ2UiOiJNVEl6TkRVMiIsIm9yaWdp
biI6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMiLCJoYXNoQWxnb3JpdGhtIjoiU0hBLTI1NiJ9Jyk7
Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVzVG9IZXhTdHJpbmcoY3JlZGVudGlhbC5y
ZXNwb25zZS5hdXRoZW50aWNhdG9yRGF0YSksICcwMScpOwotICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhieXRlc1RvSGV4U3RyaW5nKGNyZWRlbnRpYWwucmVzcG9uc2Uuc2lnbmF0dXJlKSwgJzAy
Jyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGJ5dGVzVG9IZXhTdHJpbmcoY3JlZGVudGlh
bC5yZXNwb25zZS51c2VySGFuZGxlKSwgJzAzJyk7Ci0gICAgICAgICAgICBhc3NlcnRfdGhyb3dz
KCJOb3RTdXBwb3J0ZWRFcnJvciIsICgpID0+IHsgY3JlZGVudGlhbC5nZXRDbGllbnRFeHRlbnNp
b25SZXN1bHRzKCkgfSk7Ci0gICAgICAgIH0pOwotICAgIH0sICJQdWJsaWNLZXlDcmVkZW50aWFs
J3MgW1tnZXRdXSB3aXRoIG1pbmltdW0gb3B0aW9ucyIpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0
LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlk
LXBhcmFtZXRlcnMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkNWM5MWZlOWE3NmM3
NTE3MTc0ODIwMmM4YTRhZmVhNzdhNDRiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxp
ZC1wYXJhbWV0ZXJzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBACisKK1BBU1Mg
UHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVy
cy4gMSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFs
aWQgcGFyYW1ldGVycy4gMiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0
aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdz
IFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNCAKK1BBU1MgUHVibGljS2V5
Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gNSAKK1BB
U1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1l
dGVycy4gNiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gNyAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0g
d2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gOCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlh
bCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gOSAKK1BBU1MgUHVibGlj
S2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTAg
CitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBh
cmFtZXRlcnMuIDExIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdp
dGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxMiAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtb
Z2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMTMgCitQQVNTIFB1YmxpY0tleUNy
ZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE0IAorUEFT
UyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0
ZXJzLiAxNSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGlu
dmFsaWQgcGFyYW1ldGVycy4gMTYgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1d
IHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDE3IAorUEFTUyBQdWJsaWNLZXlDcmVkZW50
aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAxOCAKK1BBU1MgUHVi
bGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4g
MTkgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlk
IHBhcmFtZXRlcnMuIDIwIAorUEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRo
IHdpdGggaW52YWxpZCBwYXJhbWV0ZXJzLiAyMSAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdz
IFtbZ2V0XV0gd2l0aCB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4gMjIgCitQQVNTIFB1YmxpY0tl
eUNyZWRlbnRpYWwncyBbW2dldF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDIzIAor
UEFTUyBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIHdpdGggaW52YWxpZCBwYXJh
bWV0ZXJzLiAyNCAKK1BBU1MgUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRo
IGludmFsaWQgcGFyYW1ldGVycy4gMjUgCitQQVNTIFB1YmxpY0tleUNyZWRlbnRpYWwncyBbW2dl
dF1dIHdpdGggd2l0aCBpbnZhbGlkIHBhcmFtZXRlcnMuIDI2IAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgt
aW52YWxpZC1wYXJhbWV0ZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJh
dXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtZ2V0LXdpdGgtaW52YWxpZC1wYXJhbWV0ZXJzLmh0
dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFjZDY5MGNlMGE0ZTllNmU5YTc2ODgwMTNlMGU4ZTNlNzk2
Mzk2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1
YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtd2l0aC1pbnZhbGlkLXBhcmFtZXRlcnMuaHR0cHMuaHRt
bApAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5XZWIgQXV0aGVudGlj
YXRpb24gQVBJOiBQdWJsaWNLZXlDcmVkZW50aWFsJ3MgW1tnZXRdXSB3aXRoIGludmFsaWQgcGFy
YW1ldGVycy48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyAgICBjb25zdCBjaGFsbGVuZ2UgPSBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2
Iik7CisgICAgY29uc3QgYWxsb3dDcmVkZW50aWFsID0geyB0eXBlOiAicHVibGljLWtleSIsIGlk
OiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IikgfTsKKworICAgIGNvbnN0IG1pc3NpbmdBdHRy
aWJ1dGVWZWN0b3IgPSBbCisgICAgICAgIC8vIG1pc3NpbmcgdG9wIGxldmVsIGF0dHJpYnV0ZQor
ICAgICAgICBbdW5kZWZpbmVkXSwKKyAgICAgICAgLy8gbWlzc2luZyBhbGxvd0NyZWRlbnRpYWxz
IGF0dHJpYnV0ZQorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sg
dHlwZTogdW5kZWZpbmVkLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKKyAgICAgICAgW2No
YWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50
eXBlLCBpZDogdW5kZWZpbmVkIH1dXQorICAgIF07CisKKyAgICBjb25zdCB3cm9uZ1R5cGVBdHRy
aWJ1dGVWZWN0b3IgPSBbCisgICAgICAgIC8vIHdyb25nIGNoYWxsZW5nZSB0eXBlCisgICAgICAg
IFsxXSwKKyAgICAgICAgW3RydWVdLAorICAgICAgICBbbnVsbF0sCisgICAgICAgIFtTeW1ib2wo
KV0sCisgICAgICAgIFsiZm9vIl0sCisgICAgICAgIFtbIF1dLAorICAgICAgICBbeyB9XSwKKyAg
ICAgICAgLy8gd3JvbmcgdGltZW91dCB0eXBlCisgICAgICAgIFtjaGFsbGVuZ2UsIFN5bWJvbCgp
LCB1bmRlZmluZWQsIHVuZGVmaW5lZF0sCisgICAgICAgIC8vIHdyb25nIHJwSWQgdHlwZQorICAg
ICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIFN5bWJvbCgpLCB1bmRlZmluZWRdLAorICAgICAg
ICAvLyB3cm9uZyBhbGxvd0NyZWRlbnRpYWxzIHR5cGUKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5k
ZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IDEsIGlkOiBhbGxvd0NyZWRlbnRpYWwuaWQgfV1d
LAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogdHJ1
ZSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVm
aW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiBudWxsLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1d
XSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IFN5
bWJvbCgpLCBpZDogYWxsb3dDcmVkZW50aWFsLmlkIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwg
dW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6ICJmb28iLCBpZDogYWxsb3dDcmVkZW50aWFs
LmlkIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5
cGU6IFsgXSwgaWQ6IGFsbG93Q3JlZGVudGlhbC5pZCB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2Us
IHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0eXBlOiB7IH0sIGlkOiBhbGxvd0NyZWRlbnRpYWwu
aWQgfV1dLAorICAgICAgICBbY2hhbGxlbmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlw
ZTogYWxsb3dDcmVkZW50aWFsLnR5cGUsIGlkOiAxIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwg
dW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDog
dHJ1ZSB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBbeyB0
eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6IG51bGwgfV1dLAorICAgICAgICBbY2hhbGxl
bmdlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgW3sgdHlwZTogYWxsb3dDcmVkZW50aWFsLnR5cGUs
IGlkOiBTeW1ib2woKSB9XV0sCisgICAgICAgIFtjaGFsbGVuZ2UsIHVuZGVmaW5lZCwgdW5kZWZp
bmVkLCBbeyB0eXBlOiBhbGxvd0NyZWRlbnRpYWwudHlwZSwgaWQ6ICJmb28iIH1dXSwKKyAgICAg
ICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVu
dGlhbC50eXBlLCBpZDogWyBdIH1dXSwKKyAgICAgICAgW2NoYWxsZW5nZSwgdW5kZWZpbmVkLCB1
bmRlZmluZWQsIFt7IHR5cGU6IGFsbG93Q3JlZGVudGlhbC50eXBlLCBpZDogeyB9IH1dXQorICAg
IF07CisKKyAgICBmdW5jdGlvbiBtYWtlT3B0aW9ucyhhdHRyaWJ1dGVzKQorICAgIHsKKyAgICAg
ICAgaWYgKGF0dHJpYnV0ZXMubGVuZ3RoID09IDEpCisgICAgICAgICAgICByZXR1cm4geyBwdWJs
aWNLZXk6IHsgY2hhbGxlbmdlOiBhdHRyaWJ1dGVzWzBdIH0gfTsKKyAgICAgICAgcmV0dXJuIHsg
cHVibGljS2V5OiB7IGNoYWxsZW5nZTogYXR0cmlidXRlc1swXSwgdGltZW91dDogYXR0cmlidXRl
c1sxXSwgcnBJZDogYXR0cmlidXRlc1syXSwgYWxsb3dDcmVkZW50aWFsczogYXR0cmlidXRlc1sz
XSB9IH07CisgICAgfQorCisgICAgbGV0IGluZGV4ID0gMTsKKyAgICBmdW5jdGlvbiBydW5UZXN0
KGF0dHJpYnV0ZXNWZWN0b3JzKSB7CisgICAgICAgIGF0dHJpYnV0ZXNWZWN0b3JzLmZvckVhY2go
ZnVuY3Rpb24oYXR0cmlidXRlc1ZlY3RvcikgeworICAgICAgICAgICAgYXR0cmlidXRlc1ZlY3Rv
ci5mb3JFYWNoKGFzeW5jIGZ1bmN0aW9uKGF0dHJpYnV0ZXMpIHsKKyAgICAgICAgICAgICAgICBw
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzKHQsIG5ldyBUeXBlRXJyb3IoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQobWFrZU9wdGlvbnMoYXR0cmlidXRlcykpKTsKKyAg
ICAgICAgICAgICAgICB9LCAiUHVibGljS2V5Q3JlZGVudGlhbCdzIFtbZ2V0XV0gd2l0aCB3aXRo
IGludmFsaWQgcGFyYW1ldGVycy4gIiArIGluZGV4KTsKKyAgICAgICAgICAgICAgICBpbmRleCA9
IGluZGV4ICsgMTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBj
b25zdCB2ZWN0b3JzID0gW107CisgICAgdmVjdG9ycy5wdXNoKG1pc3NpbmdBdHRyaWJ1dGVWZWN0
b3IpOworICAgIHZlY3RvcnMucHVzaCh3cm9uZ1R5cGVBdHRyaWJ1dGVWZWN0b3IpOworICAgIHJ1
blRlc3QodmVjdG9ycyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2Vz
dG9ycy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjZDM3N2Y1ZDU3Yzk1NzE4N2U1OTZkYjI5MTMyYmVlMmJl
NWQwYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9w
dWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorICAKKworUEFTUyBUZXN0cyB0aGF0IGEgZnJhbWUg
dGhhdCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5jZXN0b3Jz
IGNvdWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS4gCitQQVNTIFRlc3RzIHRoYXQgYSBmcmFtZSB0aGF0
IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUgb3JpZ2luIHdpdGggYWxsIGl0cyBhbmNlc3RvcnMgY291
bGQgbm90IGFjY2VzcyB0aGUgQVBJLiAyIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNl
c3RvcnMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1r
ZXktY3JlZGVudGlhbC1zYW1lLW9yaWdpbi13aXRoLWFuY2VzdG9ycy5odHRwcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIxZjE0N2IyNGRiMTVjODNmODliM2YyMTU1YTBiNWY5NzIxMDlkYmYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRl
bnRpYWwtc2FtZS1vcmlnaW4td2l0aC1hbmNlc3RvcnMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDI3
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorICAgIDx0aXRsZT5XZWIgQXV0aGVudGljYXRpb24gQVBJOiBUZXN0cyB0aGF0IGEg
ZnJhbWUgdGhhdCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5j
ZXN0b3JzIGNvdWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS48L3RpdGxlPgorICAgIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi9yZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgICAgICAgICByZXR1cm4gd2l0aENyb3Nz
T3JpZ2luSWZyYW1lKCJsYXN0LWxheWVyLWZyYW1lLmh0dHBzLmh0bWwiKS50aGVuKChtZXNzYWdl
KSA9PiB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtZXNzYWdlLmRhdGEsICJQQVNT
LiIpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sICJUZXN0cyB0aGF0IGEgZnJhbWUgdGhh
dCBkb2Vzbid0IHNoYXJlIHRoZSBzYW1lIG9yaWdpbiB3aXRoIGFsbCBpdHMgYW5jZXN0b3JzIGNv
dWxkIG5vdCBhY2Nlc3MgdGhlIEFQSS4iKTsKKworICAgICAgICBwcm9taXNlX3Rlc3QodCA9PiB7
CisgICAgICAgICAgICByZXR1cm4gd2l0aENyb3NzT3JpZ2luSWZyYW1lKCJzZWNvbmQtbGF5ZXIt
ZnJhbWUuaHR0cHMuaHRtbCIpLnRoZW4oKG1lc3NhZ2UpID0+IHsKKyAgICAgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKG1lc3NhZ2UuZGF0YSwgIlBBU1MuIik7CisgICAgICAgICAgICB9KTsKKyAg
ICAgICAgfSwgIlRlc3RzIHRoYXQgYSBmcmFtZSB0aGF0IGRvZXNuJ3Qgc2hhcmUgdGhlIHNhbWUg
b3JpZ2luIHdpdGggYWxsIGl0cyBhbmNlc3RvcnMgY291bGQgbm90IGFjY2VzcyB0aGUgQVBJLiAy
Iik7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvbGFzdC1sYXllci1mcmFtZS5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXIt
ZnJhbWUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTRkYTRjZDVjMjJkM2U2ZWViMTUxOTM1OGM0
NGE2MWUxNWI4MGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
YXV0aG4vcmVzb3VyY2VzL2xhc3QtbGF5ZXItZnJhbWUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQ4
IEBACis8c2NyaXB0IHNyYz0iLi91dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlv
biBtZXNzYWdlVG9Ub3AobWVzc2FnZSkgeworICAgIHRvcC5wb3N0TWVzc2FnZShtZXNzYWdlLCAi
KiIpOworfQorCitjb25zdCBtYWtlT3B0aW9ucyA9IHsKKyAgICBwdWJsaWNLZXk6IHsKKyAgICAg
ICAgcnA6IHsKKyAgICAgICAgICAgIG5hbWU6ICJleGFtcGxlLmNvbSIKKyAgICAgICAgfSwKKyAg
ICAgICAgdXNlcjogeworICAgICAgICAgICAgbmFtZTogIkpvaG4gQXBwbGVzZWVkIiwKKyAgICAg
ICAgICAgIGlkOiBhc2NpaVRvVWludDhBcnJheSgiMTIzNDU2IiksCisgICAgICAgICAgICBkaXNw
bGF5TmFtZTogIkFwcGxlc2VlZCIsCisgICAgICAgIH0sCisgICAgICAgIGNoYWxsZW5nZTogYXNj
aWlUb1VpbnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0
eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0KKyAgICB9Cit9OworY29uc3QgcmVxdWVzdE9w
dGlvbnMgPSB7CisgICAgcHVibGljS2V5OiB7CisgICAgICAgIGNoYWxsZW5nZTogYXNjaWlUb1Vp
bnQ4QXJyYXkoIjEyMzQ1NiIpLAorICAgIH0KK307CisKKworbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmNyZWF0ZShtYWtlT3B0aW9ucykudGhlbigKKyAgICBmdW5jdGlvbih2YWx1ZSkgeworICAgICAg
ICBtZXNzYWdlVG9Ub3AoIkFjY2VzcyBncmFudGVkLiAiICsgdmFsdWUpOworICAgIH0sCisgICAg
ZnVuY3Rpb24oZXhjZXB0aW9uKSB7CisgICAgICAgIGlmIChleGNlcHRpb24ubmFtZSA9PSAiTm90
QWxsb3dlZEVycm9yIiAmJiBleGNlcHRpb24ubWVzc2FnZSA9PSAiVGhlIG9yaWdpbiBvZiB0aGUg
ZG9jdW1lbnQgaXMgbm90IHRoZSBzYW1lIGFzIGl0cyBhbmNlc3RvcnMuIikKKyAgICAgICAgICAg
IHJldHVybiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KHJlcXVlc3RPcHRpb25zKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgbWVzc2FnZVRvVG9wKCJUaHJvdyAiICsgZXhjZXB0aW9uLm5h
bWUgICsgIi4iKTsKKyAgICB9CispLnRoZW4oZnVuY3Rpb24odmFsdWUpIHsKKyAgICAgICAgbWVz
c2FnZVRvVG9wKCJBY2Nlc3MgZ3JhbnRlZC4gIiArIHZhbHVlKTsKKyAgICB9LAorICAgIGZ1bmN0
aW9uKGV4Y2VwdGlvbikgeworICAgICAgICBpZiAoZXhjZXB0aW9uLm5hbWUgPT0gIk5vdEFsbG93
ZWRFcnJvciIgJiYgZXhjZXB0aW9uLm1lc3NhZ2UgPT0gIlRoZSBvcmlnaW4gb2YgdGhlIGRvY3Vt
ZW50IGlzIG5vdCB0aGUgc2FtZSBhcyBpdHMgYW5jZXN0b3JzLiIpCisgICAgICAgICAgICBtZXNz
YWdlVG9Ub3AoIlBBU1MuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1lc3NhZ2VUb1Rv
cCgiVGhyb3cgIiArIGV4Y2VwdGlvbi5uYW1lICArICIuIik7CisgICAgfQorKTsKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2VzL3Nl
Y29uZC1sYXllci1mcmFtZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0
aG4vcmVzb3VyY2VzL3NlY29uZC1sYXllci1mcmFtZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNj
ZjE2MzBlNDBmNGNkMWI1YWVjM2FiNmJiOWRhNDRjY2VmMzc2MjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJhdXRobi9yZXNvdXJjZXMvc2Vjb25kLWxheWVyLWZy
YW1lLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aWZyYW1lIHNyYz0ibGFzdC1sYXllci1mcmFt
ZS5odHRwcy5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYmF1dGhuL3Jlc291cmNlcy91dGlsLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2ViYXV0aG4vcmVzb3VyY2VzL3V0aWwuanMKaW5kZXggMTIwZjkwZGY4MjQ4
Yjc2MTc1YjgxOTZkYjM5ODA3NGVkZjc2OWQzYi4uMWUwNjQ5ZmViYjEyNTk3NTQ5MzdhODdhNmFl
YjQyNjY2NTJlZGY5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4v
cmVzb3VyY2VzL3V0aWwuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2ViYXV0aG4vcmVz
b3VyY2VzL3V0aWwuanMKQEAgLTEsMyArMSwxNiBAQAorY29uc3QgdGVzdENyZWRlbnRpYWxJZEJh
c2U2NHVybCA9ICJTTVNYSG5nRjdoRU9zRWxBNzNDM1JZLThiUjQiOworY29uc3QgdGVzdEVTMjU2
UHJpdmF0ZUtleUJhc2U2NCA9CisgICAgIkJEai96eFNrektnYUJ1UzNjZFdERjU1OG9mOEFhSXBn
RnBzakYvUW0xNzQ5VkJKUGdxVUl3ZmhXSEo5MW5iN1UiICsKKyAgICAiUEg3NmMwK1dGT3paS3Ns
UHl5RnNlNGdvR0lXMlI3azlWSExQRVpsNW5mbkJnRVZGaDV6ZXYrL3hwSFFJdnVxNiIgKworICAg
ICJSUT09IjsKK2NvbnN0IHRlc3RFUzI1NlB1YmxpY0tleUJhc2U2NHVybCA9CisgICAgIkJEal96
eFNrektnYUJ1UzNjZFdERjU1OG9mOEFhSXBnRnBzakZfUW0xNzQ5VkJKUGdxVUl3ZmhXSEo5MW5i
N1UiICsKKyAgICAiUEg3NmMwLVdGT3paS3NsUHl5RnNlNGciOworY29uc3QgdGVzdFJwSWQgPSAi
bG9jYWxob3N0IjsKK2NvbnN0IHRlc3RVc2VyaGFuZGxlQmFzZTY0ID0gIkFBRUNBd1FGQmdjSUNR
PT0iOworCitjb25zdCBSRVNPVVJDRVNfRElSID0gIi9XZWJLaXQvd2ViYXV0aG4vcmVzb3VyY2Vz
LyI7CisKIGZ1bmN0aW9uIGFzY2lpVG9VaW50OEFycmF5KHN0cikKIHsKICAgICB2YXIgY2hhcnMg
PSBbXTsKQEAgLTEzOCwxMyArMTUxLDMxIEBAIGZ1bmN0aW9uIGV4dHJhY3RSYXdTaWduYXR1cmUo
YXNuMXNpZ25hdHVyZSkKICAgICByZXR1cm4gdG1wLmJ1ZmZlcjsKIH0KIAotY29uc3QgdGVzdENy
ZWRlbnRpYWxJZEJhc2U2NHVybCA9ICJTTVNYSG5nRjdoRU9zRWxBNzNDM1JZLThiUjQiOwotY29u
c3QgdGVzdEVTMjU2UHJpdmF0ZUtleUJhc2U2NCA9Ci0gICAgIkJEai96eFNrektnYUJ1UzNjZFdE
RjU1OG9mOEFhSXBnRnBzakYvUW0xNzQ5VkJKUGdxVUl3ZmhXSEo5MW5iN1UiICsKLSAgICAiUEg3
NmMwK1dGT3paS3NsUHl5RnNlNGdvR0lXMlI3azlWSExQRVpsNW5mbkJnRVZGaDV6ZXYrL3hwSFFJ
dnVxNiIgKwotICAgICJSUT09IjsKLWNvbnN0IHRlc3RFUzI1NlB1YmxpY0tleUJhc2U2NHVybCA9
Ci0gICAgIkJEal96eFNrektnYUJ1UzNjZFdERjU1OG9mOEFhSXBnRnBzakZfUW0xNzQ5VkJKUGdx
VUl3ZmhXSEo5MW5iN1UiICsKLSAgICAiUEg3NmMwLVdGT3paS3NsUHl5RnNlNGciOwotY29uc3Qg
dGVzdFJwSWQgPSAibG9jYWxob3N0IjsKLWNvbnN0IHRlc3RVc2VyaGFuZGxlQmFzZTY0ID0gIkFB
RUNBd1FGQmdjSUNRPT0iOworZnVuY3Rpb24gd2FpdEZvckxvYWQoKQoreworICAgIHJldHVybiBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbWVzc2FnZScsIChtZXNzYWdlKSA9PiB7CisgICAgICAgICAgICByZXNvbHZlKG1lc3NhZ2Up
OworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gd2l0aENyb3NzT3JpZ2luSWZy
YW1lKHJlc291cmNlRmlsZSkKK3sKKyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKKyAgICAgICAgd2FpdEZvckxvYWQoKS50aGVuKChtZXNzYWdlKSA9PiB7CisgICAgICAgICAg
ICByZXNvbHZlKG1lc3NhZ2UpOworICAgICAgICB9KTsKKyAgICAgICAgY29uc3QgZnJhbWUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAgICAgZnJhbWUuc3JjID0gZ2V0
X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU4gKyBSRVNPVVJDRVNfRElSICsgcmVzb3Vy
Y2VGaWxlOworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgICB9
KTsKK30KKworZnVuY3Rpb24gcHJvbWlzZVJlamVjdHModGVzdCwgZXhwZWN0ZWQsIHByb21pc2Us
IGRlc2NyaXB0aW9uKQoreworICAgIHJldHVybiBwcm9taXNlLnRoZW4odGVzdC51bnJlYWNoZWRf
ZnVuYygiU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6ICIgKyBkZXNjcmlwdGlvbikpLmNhdGNoKGZ1bmN0
aW9uKGUpIHsKKyAgICAgICAgYXNzZXJ0X3Rocm93cyhleHBlY3RlZCwgZnVuY3Rpb24oKSB7IHRo
cm93IGUgfSwgZGVzY3JpcHRpb24pOworICAgICAgICBhc3NlcnRfZXF1YWxzKGUubWVzc2FnZSwg
ZGVzY3JpcHRpb24pOworICAgIH0pOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNThlN2UyODFjNTUw
ZmEzOThkNDU4ZmQ4OTMzYmRhNTg3NDg2MDI4Yi4uZTFmOGI3ZmYwYTJlYjNiYmJlNjJmNzc4YjA0
N2Q5ZTNhMzc1NzA2MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTExNTAsNyArMTE1MCw2IEBAIHdlYmtpdC5vcmcvYi8xNzU0MTkgaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFtZS5odHRwCiB3ZWJraXQu
b3JnL2IvMTc1NDE5IGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy90aGlyZC1wYXJ0eS1yZWdpc3Ry
YXRpb24uaHRtbCBbIFNraXAgXQogCiAjIFNraXAgYW55dGhpbmcgcmVsYXRlZCB0byBXZWJBdXRo
TgotaHR0cC90ZXN0cy93ZWJhdXRobi8gWyBTa2lwIF0KIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFu
YWdlbWVudC8gWyBTa2lwIF0KIGh0dHAvd3B0L3dlYmF1dGhuLyBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggN2U5
NTgwMmYyNGNjN2VhNWNlODJjMjJhZGFhNjU1ODc3MzYyZTdjZC4uOTBmZDBhNDJjMmU1YTU3N2I4
ZGNlMDljMmQ3MjBmNDgxZGNkNDVlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTk2OSw3ICsxOTY5LDYgQEAgd2Via2l0Lm9yZy9iLzE4
MDA2MiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmFuZ2UtdGVzdC5odG1sIFsgU2tpcCBdCiAKICMg
U2tpcCBhbnl0aGluZyByZWxhdGVkIHRvIFdlYkF1dGhOCi1odHRwL3Rlc3RzL3dlYmF1dGhuLyBb
IFNraXAgXQogaHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2VtZW50LyBbIFNraXAgXQogaHR0cC93
cHQvd2ViYXV0aG4vIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Ny
ZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyZTA5ZTBkMDgzMTJjMGQ3NDQ2OGUxNDMwYzk3
ZTZkZTE5ZWQ1MTZjLi41ZTZiZjE5OTNmOGI4YTFjNzJlYmI1M2Q2M2ZiYjQ2MTczODUwYmUwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC01
NDUsNyArNTQ1LDYgQEAgd2Via2l0Lm9yZy9iLzE4MTg2MiBbIERlYnVnIF0gaHR0cC90ZXN0cy9p
bWFnZXMvaW1hZ2Utc3VwcG9ydHMtdmlkZW8uaHRtbCBbIFBhc3MKIHdlYmtpdC5vcmcvYi8xNzk4
NTMgaW1wb3J0ZWQvYmxpbmsvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwtaXRlcmF0aW9uLXNpbXBs
ZS10ZXh0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiAjIFNraXAgYW55dGhpbmcgcmVsYXRlZCB0
byBXZWJBdXRoTgotaHR0cC90ZXN0cy93ZWJhdXRobi8gWyBTa2lwIF0KIGh0dHAvd3B0L2NyZWRl
bnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0KIGh0dHAvd3B0L3dlYmF1dGhuLyBbIFNraXAgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsg
U2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggY2Y1MTFhOTM0MDdjMjBlYTBiM2I3YTJkNDgwMzQ0OWIzZmVlYWExYy4uMzQ2YTI4NDJl
NWVmZTRiNmQzMTc5NDJmZjE4ZTBkYjljMGM1ZDI5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODg3LDMgKzg4Nyw2IEBAIGh0dHAvd3B0
L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1jcmVhdGUtZmFpbHVyZS1sb2NhbC5odHRw
cy5odG1sIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJhdXRobi9wdWJsaWMta2V5LWNyZWRlbnRpYWwt
Y3JlYXRlLXN1Y2Nlc3MtbG9jYWwuaHR0cHMuaHRtbCBbIFNraXAgXQogaHR0cC93cHQvd2ViYXV0
aG4vcHVibGljLWtleS1jcmVkZW50aWFsLWdldC1mYWlsdXJlLWxvY2FsLmh0dHBzLmh0bWwgWyBT
a2lwIF0KIGh0dHAvd3B0L3dlYmF1dGhuL3B1YmxpYy1rZXktY3JlZGVudGlhbC1nZXQtc3VjY2Vz
cy1sb2NhbC5odHRwcy5odG1sIFsgU2tpcCBdCisjIFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVxdWly
ZSBQdWJsaWNLZXlDcmVkZW50aWFsIG9iamVjdHMuIFdlIGNhbiBvbmx5IHByb2R1Y2UgdGhlbSB2
aWEgbG9jYWwgYXV0aGVudGljYXRvcnMgbm93LgoraHR0cC93cHQvY3JlZGVudGlhbC1tYW5hZ2Vt
ZW50L2NyZWRlbnRpYWxzY29udGFpbmVyLXN0b3JlLWJhc2ljcy5odHRwcy5odG1sIFsgU2tpcCBd
CitodHRwL3dwdC93ZWJhdXRobi9pZGwuaHR0cHMuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzM2E5MzA3NDczMWU0ZWM5YWFkZDc3
Yjc0MWIzMjA4MGYwN2I3NjYzLi4wYjBjNGY2N2M1MzJhZjEwMjYxODczZDBlY2I3ZjJmMWU5MDg4
ZjczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjU0
LDcgKzY1NCw2IEBAIHdlYmtpdC5vcmcvYi8xNDk2MzAgY3NzMy9mb250LXZhcmlhbnQtYWxsLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTg4MzYgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEgWyBTa2lwIF0KIAogIyBTa2lwIGFu
eXRoaW5nIHJlbGF0ZWQgdG8gV2ViQXV0aE4KLWh0dHAvdGVzdHMvd2ViYXV0aG4vIFsgU2tpcCBd
CiBodHRwL3dwdC9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCiBodHRwL3dwdC93ZWJh
dXRobi8gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlh
bC1tYW5hZ2VtZW50LyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNzVhNTc2MjUxYjJmZjk4NzY5NGEyM2EyODU5Njk5N2Y5
NTI0MzliNy4uZDFhODllZWYwYjBjODgxNjY5OTczMTNmYTk5ZjNlZDZiZTg3NGFhOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC05MjQs
NyArOTI0LDYgQEAgaHR0cC90ZXN0cy9zc2wgWyBTa2lwIF0KIAogaHR0cC90ZXN0cy9zdWJyZXNv
dXJjZS1pbnRlZ3JpdHkgWyBTa2lwIF0KIGh0dHAvdGVzdHMvd2ViYXJjaGl2ZSBbIFNraXAgXQot
aHR0cC90ZXN0cy93ZWJhdXRobiBbIFNraXAgXQogaHR0cC90ZXN0cy93ZWJnbCBbIFNraXAgXQog
aHR0cC90ZXN0cy93ZWJydGMgWyBTa2lwIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA3MWI4MTBiOTMzZjk5OWE2YjEzMTg2OWUyMjNkMTI0NGNlYTZl
MjFkLi40OWQ5ZTA0NjE4OGI2MTViNzAxZjQ5MWJjYzJiYWI3OTM3M2E2MTJiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIwLDcgKzEyMCw2IEBAIHdl
YmtpdC5vcmcvYi8xNjk4MTEgZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtL2NhbnZhczNk
Lmh0bWwgWyBDcmFzaCBUaW1lb3V0CiAKICMgU2tpcCBhbnl0aGluZyByZWxhdGVkIHRvIFdlYkF1
dGhOCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotaHR0cC90ZXN0cy93ZWJh
dXRobi8gWyBTa2lwIF0KIGh0dHAvd3B0L2NyZWRlbnRpYWwtbWFuYWdlbWVudC8gWyBTa2lwIF0K
IGh0dHAvd3B0L3dlYmF1dGhuLyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvIFsgU2tpcCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>