<?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>232067</bug_id>
          
          <creation_ts>2021-10-21 01:05:28 -0700</creation_ts>
          <short_desc>FileSystemSyncAccessHandle should close platform file handle on close()</short_desc>
          <delta_ts>2021-10-26 14:38:45 -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>New Bugs</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>231706</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>jonlee</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1807034</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-10-21 01:05:28 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807035</commentid>
    <comment_count>1</comment_count>
      <attachid>441994</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-10-21 01:08:48 -0700</bug_when>
    <thetext>Created attachment 441994
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807157</commentid>
    <comment_count>2</comment_count>
      <attachid>442028</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-10-21 08:27:17 -0700</bug_when>
    <thetext>Created attachment 442028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807196</commentid>
    <comment_count>3</comment_count>
      <attachid>442028</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-21 09:17:52 -0700</bug_when>
    <thetext>Comment on attachment 442028
Patch

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

&gt; Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:53
&gt;          m_source-&gt;close(m_identifier, [](auto) { });

We should probably also make sure we close also if ScriptExecutionContext is stopped. Normally there should be no issue but it does not hurt to close sooner rather than later.

&gt; Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:100
&gt; +    if (m_state == State::Closing)

Why do we need the Closing state?
It seems only useful for the promise rejection message.
I am not sure this is worth the effort.

&gt; Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:130
&gt; +        return Exception { InvalidStateError, &quot;AccessHandle is being closed or closed&quot;_s };

I would write it as &quot;AccessHandle is closing or closed&quot; or &quot;AccessHandle is not active&quot;.

&gt; LayoutTests/imported/w3c/web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker-expected.txt:4
&gt; +FAIL SyncAccessHandle.read fails after SyncAccessHandle.close settles promise_test: Unhandled rejection with value: object &quot;InvalidStateError: AccessHandle is closed&quot;

Why are we failing those tests? Are we missing something to be able to run properly sync_access_handle_test.
It would seem worthwhile to make sure we run these tests properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807212</commentid>
    <comment_count>4</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-10-21 09:32:34 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; Comment on attachment 442028 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=442028&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:53
&gt; &gt;          m_source-&gt;close(m_identifier, [](auto) { });
&gt; 
&gt; We should probably also make sure we close also if ScriptExecutionContext is
&gt; stopped. Normally there should be no issue but it does not hurt to close
&gt; sooner rather than later.

Yeah I will follow up in a separate bugs, filed https://bugs.webkit.org/show_bug.cgi?id=231250 before. 

&gt; 
&gt; &gt; Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:100
&gt; &gt; +    if (m_state == State::Closing)
&gt; 
&gt; Why do we need the Closing state?
&gt; It seems only useful for the promise rejection message.
&gt; I am not sure this is worth the effort.

Will remove.

&gt; 
&gt; &gt; Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:130
&gt; &gt; +        return Exception { InvalidStateError, &quot;AccessHandle is being closed or closed&quot;_s };
&gt; 
&gt; I would write it as &quot;AccessHandle is closing or closed&quot; or &quot;AccessHandle is
&gt; not active&quot;.

Sure.

&gt; 
&gt; &gt; LayoutTests/imported/w3c/web-platform-tests/file-system-access/sandboxed_FileSystemSyncAccessHandle-close.https.tentative.worker-expected.txt:4
&gt; &gt; +FAIL SyncAccessHandle.read fails after SyncAccessHandle.close settles promise_test: Unhandled rejection with value: object &quot;InvalidStateError: AccessHandle is closed&quot;
&gt; 
&gt; Why are we failing those tests? Are we missing something to be able to run
&gt; properly sync_access_handle_test.
&gt; It would seem worthwhile to make sure we run these tests properly.

I don&apos;t think we are missing things for this test. I will adjust the implementation to match the test expectation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807288</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-21 11:47:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/84517013&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807295</commentid>
    <comment_count>6</comment_count>
      <attachid>442055</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2021-10-21 12:00:54 -0700</bug_when>
    <thetext>Created attachment 442055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807417</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-21 16:13:10 -0700</bug_when>
    <thetext>Committed r284652 (243372@main): &lt;https://commits.webkit.org/243372@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442055.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441994</attachid>
            <date>2021-10-21 01:08:48 -0700</date>
            <delta_ts>2021-10-21 08:27:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232067-20211021010847.patch</filename>
            <type>text/plain</type>
            <size>12916</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUxNmQ5MWU4OTdiNTU5
ZmQ0NGE3ZTYyOTAxMmMwZjQ4ZTA1Mjg0Yy4uOWQxMjc1MDgxZTAzZTY2MmJkZTAzOTJkZmQ2ZjI3
MzZiNjJjOTkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEwLTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlIHNob3VsZCBjbG9zZSBwbGF0Zm9ybSBmaWxlIGhhbmRsZSBvbiBjbG9zZSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwNjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gZW5zdXJlcyBubyByZXF1ZXN0IGlzIHNlbnQgYWZ0ZXIgY2xvc2UoKSBpcyBjYWxsZWQu
CisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNzLWhh
bmRsZS1jbG9zZS13b3JrZXIuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNj
ZXNzL0ZpbGVTeXN0ZW1GaWxlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0
ZW1GaWxlSGFuZGxlOjpjcmVhdGVTeW5jQWNjZXNzSGFuZGxlKToKKyAgICAgICAgKiBNb2R1bGVz
L2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OkZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxl
Ojp+RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5
c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OnRydW5jYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVT
eXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpnZXRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVT
eXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpmbHVzaCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lz
dGVtU3luY0FjY2Vzc0hhbmRsZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3Rl
bVN5bmNBY2Nlc3NIYW5kbGU6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0
ZW1TeW5jQWNjZXNzSGFuZGxlOjpyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1T
eW5jQWNjZXNzSGFuZGxlOjp3cml0ZSk6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNj
ZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmg6CisKIDIwMjEtMTAtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIGFzc2VydGlvbiBpbiBSZWdp
c3RyYXRpb25EYXRhYmFzZTo6aW1wb3J0UmVjb3JkcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbUZpbGVIYW5kbGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVTeXN0ZW1GaWxlSGFu
ZGxlLmNwcAppbmRleCBjYmU0NmYyMDFmMWUyYTBjYmUzMzliMDIxZjc3Y2NkMTZhZjEzZmJmLi43
ODQ0OGFjYmI4YjJhNGE5ZTQxZWM4ZTk2YzIzNDk1MmFhYjEyYTcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbUZpbGVIYW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lz
dGVtRmlsZUhhbmRsZS5jcHAKQEAgLTU4LDYgKzU4LDkgQEAgdm9pZCBGaWxlU3lzdGVtRmlsZUhh
bmRsZTo6Y3JlYXRlU3luY0FjY2Vzc0hhbmRsZShET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJm
YWMKICAgICAgICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChyZXN1bHQucmVsZWFzZUV4Y2Vw
dGlvbigpKTsKIAogICAgICAgICBhdXRvIHJlc3VsdFZhbHVlID0gcmVzdWx0LnJlbGVhc2VSZXR1
cm5WYWx1ZSgpOworICAgICAgICBpZiAocmVzdWx0VmFsdWUuc2Vjb25kID09IEZpbGVTeXN0ZW06
OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUpCisgICAgICAgICAgICByZXR1cm4gcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgVW5rbm93bkVycm9yLCAiSW52YWxpZCBwbGF0Zm9ybSBmaWxlIGhh
bmRsZSJfcyB9KTsKKwogICAgICAgICBwcm9taXNlLnNldHRsZShGaWxlU3lzdGVtU3luY0FjY2Vz
c0hhbmRsZTo6Y3JlYXRlKHByb3RlY3RlZFRoaXMuZ2V0KCksIHJlc3VsdFZhbHVlLmZpcnN0LCBy
ZXN1bHRWYWx1ZS5zZWNvbmQpKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbVN5
bmNBY2Nlc3NIYW5kbGUuY3BwCmluZGV4IDJiY2Y3NGEwODdiODM5N2YzMGEyMjYzNmQ4MDJlMGMx
ZTkwNjgyYWIuLjIzZjJlMGEzYmI3NzVmZDAxYjJkYWVlODc1OWRmZDUzOTE3ZGY3YjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVt
U3luY0FjY2Vzc0hhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtYWNjZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmNwcApAQCAtNDQsMTYgKzQ0LDIw
IEBAIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRs
ZShGaWxlU3lzdGVtRmlsZUhhbmRsZSYgc291CiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmll
cikKICAgICAsIG1fZmlsZShmaWxlKQogeworICAgIEFTU0VSVChtX2ZpbGUgIT0gRmlsZVN5c3Rl
bTo6aW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSk7CiB9CiAKIEZpbGVTeXN0ZW1TeW5jQWNjZXNz
SGFuZGxlOjp+RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUoKQogewotICAgIGlmICghbV9pc0Ns
b3NlZCkKKyAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6QWN0aXZlKQogICAgICAgICBtX3NvdXJj
ZS0+Y2xvc2UobV9pZGVudGlmaWVyLCBbXShhdXRvKSB7IH0pOwogfQogCiB2b2lkIEZpbGVTeXN0
ZW1TeW5jQWNjZXNzSGFuZGxlOjp0cnVuY2F0ZSh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgRE9N
UHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKIHsKKyAgICBpZiAobV9zdGF0ZSAhPSBT
dGF0ZTo6QWN0aXZlKQorICAgICAgICByZXR1cm4gcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IsICJBY2Nlc3NIYW5kbGUgaXMgYmVpbmcgY2xvc2VkIG9yIGNsb3Nl
ZCJfcyB9KTsKKwogICAgIG1fcGVuZGluZ09wZXJhdGlvbkNvdW50Kys7CiAgICAgbV9zb3VyY2Ut
PnRydW5jYXRlKG1faWRlbnRpZmllciwgc2l6ZSwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlz
IH0sIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvIHJlc3VsdCkgbXV0YWJsZSB7CiAg
ICAgICAgIGlmICh3ZWFrVGhpcykKQEAgLTY1LDYgKzY5LDkgQEAgdm9pZCBGaWxlU3lzdGVtU3lu
Y0FjY2Vzc0hhbmRsZTo6dHJ1bmNhdGUodW5zaWduZWQgbG9uZyBsb25nIHNpemUsIERPTVByb21p
c2VEZWYKIAogdm9pZCBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZTo6Z2V0U2l6ZShET01Qcm9t
aXNlRGVmZXJyZWQ8SURMVW5zaWduZWRMb25nTG9uZz4mJiBwcm9taXNlKQogeworICAgIGlmICht
X3N0YXRlICE9IFN0YXRlOjpBY3RpdmUpCisgICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChF
eGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkFjY2Vzc0hhbmRsZSBpcyBiZWluZyBjbG9z
ZWQgb3IgY2xvc2VkIl9zIH0pOworCiAgICAgbV9wZW5kaW5nT3BlcmF0aW9uQ291bnQrKzsKICAg
ICBtX3NvdXJjZS0+Z2V0U2l6ZShtX2lkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAq
dGhpcyB9LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oYXV0byByZXN1bHQpIG11dGFibGUg
ewogICAgICAgICBpZiAod2Vha1RoaXMpCkBAIC03Niw2ICs4Myw5IEBAIHZvaWQgRmlsZVN5c3Rl
bVN5bmNBY2Nlc3NIYW5kbGU6OmdldFNpemUoRE9NUHJvbWlzZURlZmVycmVkPElETFVuc2lnbmVk
TG9uZ0xvbmc+CiAKIHZvaWQgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OmZsdXNoKERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7CisgICAgaWYgKG1fc3RhdGUgIT0gU3Rh
dGU6OkFjdGl2ZSkKKyAgICAgICAgcmV0dXJuIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IElu
dmFsaWRTdGF0ZUVycm9yLCAiQWNjZXNzSGFuZGxlIGlzIGJlaW5nIGNsb3NlZCBvciBjbG9zZWQi
X3MgfSk7CisKICAgICBtX3BlbmRpbmdPcGVyYXRpb25Db3VudCsrOwogICAgIG1fc291cmNlLT5m
bHVzaChtX2lkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBwcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKV0oYXV0byByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAo
d2Vha1RoaXMpCkBAIC04Nyw4ICs5NywxNCBAQCB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFu
ZGxlOjpmbHVzaChET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogCiB2b2lkIEZp
bGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpjbG9zZShET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4m
JiBwcm9taXNlKQogewotICAgIGlmIChtX2lzQ2xvc2VkKQotICAgICAgICByZXR1cm4gcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgaWYgKG1fc3Rh
dGUgPT0gU3RhdGU6OkNsb3NpbmcpCisgICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChFeGNl
cHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkFjY2Vzc0hhbmRsZSBpcyBhbHJlYWR5IGJlaW5n
IGNsb3NlZCJfcyB9KTsKKyAgICAKKyAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkKQor
ICAgICAgICByZXR1cm4gcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IsICJBY2Nlc3NIYW5kbGUgaXMgY2xvc2VkIl9zIH0pOworCisgICAgRmlsZVN5c3RlbTo6Y2xv
c2VGaWxlKG1fZmlsZSk7CisgICAgbV9maWxlID0gRmlsZVN5c3RlbTo6aW52YWxpZFBsYXRmb3Jt
RmlsZUhhbmRsZTsKIAogICAgIG1fcGVuZGluZ09wZXJhdGlvbkNvdW50Kys7CiAgICAgbV9zb3Vy
Y2UtPmNsb3NlKG1faWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvIHJlc3VsdCkgbXV0YWJsZSB7CkBAIC0xMDMs
MTUgKzExOSwxNSBAQCB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpjbG9zZShET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogCiB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlOjpkaWRDbG9zZSgpCiB7Ci0gICAgbV9pc0Nsb3NlZCA9IHRydWU7CisgICAgbV9z
dGF0ZSA9IFN0YXRlOjpDbG9zZWQ7CiB9CiAKIEV4Y2VwdGlvbk9yPHVuc2lnbmVkIGxvbmcgbG9u
Zz4gRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OnJlYWQoQnVmZmVyU291cmNlJiYgYnVmZmVy
LCBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZTo6RmlsZXN5c3RlbVJlYWRXcml0ZU9wdGlvbnMg
b3B0aW9ucykKIHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKIAotICAgIGlmIChtX2Zp
bGUgPT0gRmlsZVN5c3RlbTo6aW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSB8fCBtX2lzQ2xvc2Vk
KQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKyAgICBp
ZiAobV9zdGF0ZSAhPSBTdGF0ZTo6QWN0aXZlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IsICJBY2Nlc3NIYW5kbGUgaXMgYmVpbmcgY2xvc2VkIG9yIGNsb3Nl
ZCJfcyB9OwogCiAgICAgaWYgKG1fcGVuZGluZ09wZXJhdGlvbkNvdW50KQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJBY2Nlc3MgaGFuZGxlIGhhcyB1bmZp
bmlzaGVkIG9wZXJhdGlvbiJfcyB9OwpAQCAtMTMxLDggKzE0Nyw4IEBAIEV4Y2VwdGlvbk9yPHVu
c2lnbmVkIGxvbmcgbG9uZz4gRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OndyaXRlKEJ1ZmZl
clNvdXJjZSYmCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKLSAgICBpZiAobV9m
aWxlID09IEZpbGVTeXN0ZW06OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUgfHwgbV9pc0Nsb3Nl
ZCkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CisgICAg
aWYgKG1fc3RhdGUgIT0gU3RhdGU6OkFjdGl2ZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yLCAiQWNjZXNzSGFuZGxlIGlzIGJlaW5nIGNsb3NlZCBvciBjbG9z
ZWQiX3MgfTsKIAogICAgIGlmIChtX3BlbmRpbmdPcGVyYXRpb25Db3VudCkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiQWNjZXNzIGhhbmRsZSBoYXMgdW5m
aW5pc2hlZCBvcGVyYXRpb24iX3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFu
ZGxlLmgKaW5kZXggMWZkOTI2YzMzMTM2M2Y3MWZmNDg3MTRkNGU4YmNkZjU2MmQwN2VmNy4uYzFj
NWE2ZTg4MDkzNDM4NDZmNDUzYTg3ODkwYjQ2MDIzNTRjODI5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFu
ZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVT
eXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmgKQEAgLTU5LDkgKzU5LDEwIEBAIHByaXZhdGU6CiAKICAg
ICBSZWY8RmlsZVN5c3RlbUZpbGVIYW5kbGU+IG1fc291cmNlOwogICAgIEZpbGVTeXN0ZW1TeW5j
QWNjZXNzSGFuZGxlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAgYm9vbCBtX2lzQ2xvc2Vk
IHsgZmFsc2UgfTsKICAgICB1aW50NjRfdCBtX3BlbmRpbmdPcGVyYXRpb25Db3VudCB7IDAgfTsK
ICAgICBGaWxlU3lzdGVtOjpQbGF0Zm9ybUZpbGVIYW5kbGUgbV9maWxlOworICAgIGVudW0gY2xh
c3MgU3RhdGUgOiB1aW50OF90IHsgQWN0aXZlLCBDbG9zaW5nLCBDbG9zZWQgfTsKKyAgICBTdGF0
ZSBtX3N0YXRlIHsgU3RhdGU6OkFjdGl2ZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGJlNmVmNmUxZDQ0NzcyODU3OTk5ZDU1ZDBmMDc5ODc3OTdhZGQwM2MuLmU0MTRl
ODNiNGU4MGY2NDJmYjc1ZTA3NmQzZTU2NzQ0ZmRhOGJkZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAyMS0xMC0yMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAg
ICBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZSBzaG91bGQgY2xvc2UgcGxhdGZvcm0gZmlsZSBo
YW5kbGUgb24gY2xvc2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyMDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNz
LWhhbmRsZS1jbG9zZS5qczogQWRkZWQuCisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAg
KGFzeW5jIHRlc3RGdW5jdGlvbnMpOgorICAgICAgICAoYXN5bmMgdGVzdCk6CisgICAgICAgICog
c3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNzLWhhbmRsZS1jbG9zZS13b3JrZXIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mv
c3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci5odG1sOiBBZGRlZC4KKwogMjAyMS0xMC0x
OSAgQXl1bWkgS29qaW1hICA8YXl1bWlfa29qaW1hQGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlP
UyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC9t
YW51YWwvd2lkZS1nYW11dC1jYW52YXMvY2FudmFzLWRpc3BsYXktcDMtZHJhd0ltYWdlLSB0ZXN0
cyBhcmUgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3Rl
bWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLmpzIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUt
Y2xvc2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg3ZTc5MjkyNGZhYjZiYTFlMTQ0MzBmYjhjOTIxM2VmY2Zj
NDZjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFj
Y2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLmpzCkBAIC0wLDAgKzEsNDgg
QEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcycpOworfQorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNo
ZWNrcyBjbG9zZSgpIG9mIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlIik7CisKK3ZhciBhY2Nl
c3NIYW5kbGUsIHByb21pc2U7CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoZXJyb3IpCit7CisgICAg
aWYgKGVycm9yKSB7CisgICAgICAgIHRlc3RGYWlsZWQoZXJyb3IpOworICAgIH0KKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKworYXN5bmMgZnVuY3Rpb24gdGVzdEZ1bmN0aW9ucygpCit7CisgICAg
c2hvdWxkVGhyb3coImF3YWl0IGFjY2Vzc0hhbmRsZS5jbG9zZSgpIik7CisgICAgc2hvdWxkVGhy
b3coImF3YWl0IGFjY2Vzc0hhbmRsZS5nZXRTaXplKCkiKTsKKyAgICBzaG91bGRUaHJvdygiYXdh
aXQgYWNjZXNzSGFuZGxlLmZsdXNoKCkiKTsKKyAgICBzaG91bGRUaHJvdygiYXdhaXQgYWNjZXNz
SGFuZGxlLnJlYWQobmV3IEFycmF5QnVmZmVyKDEpLCB7IFwiYXRcIiA6IDAgfSkiKTsKKyAgICBz
aG91bGRUaHJvdygiYXdhaXQgYWNjZXNzSGFuZGxlLndyaXRlKG5ldyBBcnJheUJ1ZmZlcigxKSwg
eyBcImF0XCIgOiAwIH0pIik7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgdHJ5
IHsKKyAgICAgICAgdmFyIHJvb3RIYW5kbGUgPSBhd2FpdCBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXRE
aXJlY3RvcnkoKTsKKyAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGZpbGUgZm9yIHRoaXMgdGVzdC4K
KyAgICAgICAgYXdhaXQgcm9vdEhhbmRsZS5yZW1vdmVFbnRyeSgic3luYy1hY2Nlc3MtaGFuZGxl
LWNsb3NlLnR4dCIpLnRoZW4oKCkgPT4geyB9LCAoKSA9PiB7IH0pOworICAgICAgICB2YXIgZmls
ZUhhbmRsZSA9IGF3YWl0IHJvb3RIYW5kbGUuZ2V0RmlsZUhhbmRsZSgic3luYy1hY2Nlc3MtaGFu
ZGxlLWNsb3NlLnR4dCIsIHsgImNyZWF0ZSIgOiB0cnVlICB9KTsKKyAgICAgICAgYWNjZXNzSGFu
ZGxlID0gYXdhaXQgZmlsZUhhbmRsZS5jcmVhdGVTeW5jQWNjZXNzSGFuZGxlKCk7CisKKyAgICAg
ICAgdmFyIGNsb3NlUHJvbWlzZSA9IGFjY2Vzc0hhbmRsZS5jbG9zZSgpOworICAgICAgICBkZWJ1
ZygidGVzdCBhZnRlciBpbnZva2luZyBjbG9zZSgpOiIpOworICAgICAgICB0ZXN0RnVuY3Rpb25z
KCk7CisKKyAgICAgICAgZGVidWcoInRlc3QgYWZ0ZXIgY2xvc2UoKSBpcyBkb25lOiIpOworICAg
ICAgICBhd2FpdCBjbG9zZVByb21pc2U7CisgICAgICAgIHRlc3RGdW5jdGlvbnMoKTsKKworICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgZmluaXNo
VGVzdChlcnJvcik7CisgICAgfQorfQorCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3lu
Yy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGVh
ZmY5YTdmOTA1Y2VhMTkxNjM1YTEzY2NhZTAwMGEyNTIwMWU5ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9zeW5jLWFjY2Vzcy1oYW5kbGUt
Y2xvc2Utd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitbV29ya2VyXSBUaGlz
IHRlc3QgY2hlY2tzIGNsb3NlKCkgb2YgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL3N5
bmMtYWNjZXNzLWhhbmRsZS1jbG9zZS5qcworW1dvcmtlcl0gdGVzdCBhZnRlciBpbnZva2luZyBj
bG9zZSgpOgorUEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NIYW5kbGUuY2xvc2UoKSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxl
Jy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLmdldFNpemUoKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4K
K1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLmZsdXNoKCkgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FjY2Vzc0hhbmRsZScuCitQQVNT
IFtXb3JrZXJdIGF3YWl0IGFjY2Vzc0hhbmRsZS5yZWFkKG5ldyBBcnJheUJ1ZmZlcigxKSwgeyAi
YXQiIDogMCB9KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRp
ZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLndy
aXRlKG5ldyBBcnJheUJ1ZmZlcigxKSwgeyAiYXQiIDogMCB9KSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1tXb3JrZXJd
IHRlc3QgYWZ0ZXIgY2xvc2UoKSBpcyBkb25lOgorUEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NI
YW5kbGUuY2xvc2UoKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRl
bnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxl
LmdldFNpemUoKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRp
ZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLmZs
dXNoKCkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIg
J2FjY2Vzc0hhbmRsZScuCitQQVNTIFtXb3JrZXJdIGF3YWl0IGFjY2Vzc0hhbmRsZS5yZWFkKG5l
dyBBcnJheUJ1ZmZlcigxKSwgeyAiYXQiIDogMCB9KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0g
YXdhaXQgYWNjZXNzSGFuZGxlLndyaXRlKG5ldyBBcnJheUJ1ZmZlcigxKSwgeyAiYXQiIDogMCB9
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNj
ZXNzSGFuZGxlJy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mv
c3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNzLWhhbmRsZS1jbG9zZS13b3JrZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZmIwODcxMjBmZjNiOWUwZDg3YTZmNmI4ZWUyZDIwM2M1NjZjZTEyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMt
YWNjZXNzLWhhbmRsZS1jbG9zZS13b3JrZXIuaHRtbApAQCAtMCwwICsxLDkgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgord29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291
cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMnKTs8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442028</attachid>
            <date>2021-10-21 08:27:17 -0700</date>
            <delta_ts>2021-10-21 12:00:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232067-20211021082716.patch</filename>
            <type>text/plain</type>
            <size>18789</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUxNmQ5MWU4OTdiNTU5
ZmQ0NGE3ZTYyOTAxMmMwZjQ4ZTA1Mjg0Yy4uOWQxMjc1MDgxZTAzZTY2MmJkZTAzOTJkZmQ2ZjI3
MzZiNjJjOTkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTEwLTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlIHNob3VsZCBjbG9zZSBwbGF0Zm9ybSBmaWxlIGhhbmRsZSBvbiBjbG9zZSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwNjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gZW5zdXJlcyBubyByZXF1ZXN0IGlzIHNlbnQgYWZ0ZXIgY2xvc2UoKSBpcyBjYWxsZWQu
CisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNzLWhh
bmRsZS1jbG9zZS13b3JrZXIuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNj
ZXNzL0ZpbGVTeXN0ZW1GaWxlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0
ZW1GaWxlSGFuZGxlOjpjcmVhdGVTeW5jQWNjZXNzSGFuZGxlKToKKyAgICAgICAgKiBNb2R1bGVz
L2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OkZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxl
Ojp+RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5
c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OnRydW5jYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVT
eXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpnZXRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVT
eXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpmbHVzaCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lz
dGVtU3luY0FjY2Vzc0hhbmRsZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3Rl
bVN5bmNBY2Nlc3NIYW5kbGU6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0
ZW1TeW5jQWNjZXNzSGFuZGxlOjpyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1T
eW5jQWNjZXNzSGFuZGxlOjp3cml0ZSk6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNj
ZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmg6CisKIDIwMjEtMTAtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIGFzc2VydGlvbiBpbiBSZWdp
c3RyYXRpb25EYXRhYmFzZTo6aW1wb3J0UmVjb3JkcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbUZpbGVIYW5kbGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVTeXN0ZW1GaWxlSGFu
ZGxlLmNwcAppbmRleCBjYmU0NmYyMDFmMWUyYTBjYmUzMzliMDIxZjc3Y2NkMTZhZjEzZmJmLi43
ODQ0OGFjYmI4YjJhNGE5ZTQxZWM4ZTk2YzIzNDk1MmFhYjEyYTcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbUZpbGVIYW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lz
dGVtRmlsZUhhbmRsZS5jcHAKQEAgLTU4LDYgKzU4LDkgQEAgdm9pZCBGaWxlU3lzdGVtRmlsZUhh
bmRsZTo6Y3JlYXRlU3luY0FjY2Vzc0hhbmRsZShET01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJm
YWMKICAgICAgICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChyZXN1bHQucmVsZWFzZUV4Y2Vw
dGlvbigpKTsKIAogICAgICAgICBhdXRvIHJlc3VsdFZhbHVlID0gcmVzdWx0LnJlbGVhc2VSZXR1
cm5WYWx1ZSgpOworICAgICAgICBpZiAocmVzdWx0VmFsdWUuc2Vjb25kID09IEZpbGVTeXN0ZW06
OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUpCisgICAgICAgICAgICByZXR1cm4gcHJvbWlzZS5y
ZWplY3QoRXhjZXB0aW9uIHsgVW5rbm93bkVycm9yLCAiSW52YWxpZCBwbGF0Zm9ybSBmaWxlIGhh
bmRsZSJfcyB9KTsKKwogICAgICAgICBwcm9taXNlLnNldHRsZShGaWxlU3lzdGVtU3luY0FjY2Vz
c0hhbmRsZTo6Y3JlYXRlKHByb3RlY3RlZFRoaXMuZ2V0KCksIHJlc3VsdFZhbHVlLmZpcnN0LCBy
ZXN1bHRWYWx1ZS5zZWNvbmQpKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbVN5
bmNBY2Nlc3NIYW5kbGUuY3BwCmluZGV4IDJiY2Y3NGEwODdiODM5N2YzMGEyMjYzNmQ4MDJlMGMx
ZTkwNjgyYWIuLjIzZjJlMGEzYmI3NzVmZDAxYjJkYWVlODc1OWRmZDUzOTE3ZGY3YjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVt
U3luY0FjY2Vzc0hhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtYWNjZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmNwcApAQCAtNDQsMTYgKzQ0LDIw
IEBAIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRs
ZShGaWxlU3lzdGVtRmlsZUhhbmRsZSYgc291CiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmll
cikKICAgICAsIG1fZmlsZShmaWxlKQogeworICAgIEFTU0VSVChtX2ZpbGUgIT0gRmlsZVN5c3Rl
bTo6aW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSk7CiB9CiAKIEZpbGVTeXN0ZW1TeW5jQWNjZXNz
SGFuZGxlOjp+RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUoKQogewotICAgIGlmICghbV9pc0Ns
b3NlZCkKKyAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6QWN0aXZlKQogICAgICAgICBtX3NvdXJj
ZS0+Y2xvc2UobV9pZGVudGlmaWVyLCBbXShhdXRvKSB7IH0pOwogfQogCiB2b2lkIEZpbGVTeXN0
ZW1TeW5jQWNjZXNzSGFuZGxlOjp0cnVuY2F0ZSh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgRE9N
UHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKIHsKKyAgICBpZiAobV9zdGF0ZSAhPSBT
dGF0ZTo6QWN0aXZlKQorICAgICAgICByZXR1cm4gcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IsICJBY2Nlc3NIYW5kbGUgaXMgYmVpbmcgY2xvc2VkIG9yIGNsb3Nl
ZCJfcyB9KTsKKwogICAgIG1fcGVuZGluZ09wZXJhdGlvbkNvdW50Kys7CiAgICAgbV9zb3VyY2Ut
PnRydW5jYXRlKG1faWRlbnRpZmllciwgc2l6ZSwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlz
IH0sIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvIHJlc3VsdCkgbXV0YWJsZSB7CiAg
ICAgICAgIGlmICh3ZWFrVGhpcykKQEAgLTY1LDYgKzY5LDkgQEAgdm9pZCBGaWxlU3lzdGVtU3lu
Y0FjY2Vzc0hhbmRsZTo6dHJ1bmNhdGUodW5zaWduZWQgbG9uZyBsb25nIHNpemUsIERPTVByb21p
c2VEZWYKIAogdm9pZCBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZTo6Z2V0U2l6ZShET01Qcm9t
aXNlRGVmZXJyZWQ8SURMVW5zaWduZWRMb25nTG9uZz4mJiBwcm9taXNlKQogeworICAgIGlmICht
X3N0YXRlICE9IFN0YXRlOjpBY3RpdmUpCisgICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChF
eGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkFjY2Vzc0hhbmRsZSBpcyBiZWluZyBjbG9z
ZWQgb3IgY2xvc2VkIl9zIH0pOworCiAgICAgbV9wZW5kaW5nT3BlcmF0aW9uQ291bnQrKzsKICAg
ICBtX3NvdXJjZS0+Z2V0U2l6ZShtX2lkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAq
dGhpcyB9LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oYXV0byByZXN1bHQpIG11dGFibGUg
ewogICAgICAgICBpZiAod2Vha1RoaXMpCkBAIC03Niw2ICs4Myw5IEBAIHZvaWQgRmlsZVN5c3Rl
bVN5bmNBY2Nlc3NIYW5kbGU6OmdldFNpemUoRE9NUHJvbWlzZURlZmVycmVkPElETFVuc2lnbmVk
TG9uZ0xvbmc+CiAKIHZvaWQgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OmZsdXNoKERPTVBy
b21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7CisgICAgaWYgKG1fc3RhdGUgIT0gU3Rh
dGU6OkFjdGl2ZSkKKyAgICAgICAgcmV0dXJuIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IElu
dmFsaWRTdGF0ZUVycm9yLCAiQWNjZXNzSGFuZGxlIGlzIGJlaW5nIGNsb3NlZCBvciBjbG9zZWQi
X3MgfSk7CisKICAgICBtX3BlbmRpbmdPcGVyYXRpb25Db3VudCsrOwogICAgIG1fc291cmNlLT5m
bHVzaChtX2lkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBwcm9taXNl
ID0gV1RGTW92ZShwcm9taXNlKV0oYXV0byByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAo
d2Vha1RoaXMpCkBAIC04Nyw4ICs5NywxNCBAQCB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFu
ZGxlOjpmbHVzaChET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogCiB2b2lkIEZp
bGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpjbG9zZShET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4m
JiBwcm9taXNlKQogewotICAgIGlmIChtX2lzQ2xvc2VkKQotICAgICAgICByZXR1cm4gcHJvbWlz
ZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfSk7CisgICAgaWYgKG1fc3Rh
dGUgPT0gU3RhdGU6OkNsb3NpbmcpCisgICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChFeGNl
cHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkFjY2Vzc0hhbmRsZSBpcyBhbHJlYWR5IGJlaW5n
IGNsb3NlZCJfcyB9KTsKKyAgICAKKyAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkKQor
ICAgICAgICByZXR1cm4gcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJy
b3IsICJBY2Nlc3NIYW5kbGUgaXMgY2xvc2VkIl9zIH0pOworCisgICAgRmlsZVN5c3RlbTo6Y2xv
c2VGaWxlKG1fZmlsZSk7CisgICAgbV9maWxlID0gRmlsZVN5c3RlbTo6aW52YWxpZFBsYXRmb3Jt
RmlsZUhhbmRsZTsKIAogICAgIG1fcGVuZGluZ09wZXJhdGlvbkNvdW50Kys7CiAgICAgbV9zb3Vy
Y2UtPmNsb3NlKG1faWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHBy
b21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvIHJlc3VsdCkgbXV0YWJsZSB7CkBAIC0xMDMs
MTUgKzExOSwxNSBAQCB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpjbG9zZShET01Q
cm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogCiB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlOjpkaWRDbG9zZSgpCiB7Ci0gICAgbV9pc0Nsb3NlZCA9IHRydWU7CisgICAgbV9z
dGF0ZSA9IFN0YXRlOjpDbG9zZWQ7CiB9CiAKIEV4Y2VwdGlvbk9yPHVuc2lnbmVkIGxvbmcgbG9u
Zz4gRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OnJlYWQoQnVmZmVyU291cmNlJiYgYnVmZmVy
LCBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZTo6RmlsZXN5c3RlbVJlYWRXcml0ZU9wdGlvbnMg
b3B0aW9ucykKIHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKIAotICAgIGlmIChtX2Zp
bGUgPT0gRmlsZVN5c3RlbTo6aW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSB8fCBtX2lzQ2xvc2Vk
KQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKyAgICBp
ZiAobV9zdGF0ZSAhPSBTdGF0ZTo6QWN0aXZlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IsICJBY2Nlc3NIYW5kbGUgaXMgYmVpbmcgY2xvc2VkIG9yIGNsb3Nl
ZCJfcyB9OwogCiAgICAgaWYgKG1fcGVuZGluZ09wZXJhdGlvbkNvdW50KQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJBY2Nlc3MgaGFuZGxlIGhhcyB1bmZp
bmlzaGVkIG9wZXJhdGlvbiJfcyB9OwpAQCAtMTMxLDggKzE0Nyw4IEBAIEV4Y2VwdGlvbk9yPHVu
c2lnbmVkIGxvbmcgbG9uZz4gRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OndyaXRlKEJ1ZmZl
clNvdXJjZSYmCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKLSAgICBpZiAobV9m
aWxlID09IEZpbGVTeXN0ZW06OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUgfHwgbV9pc0Nsb3Nl
ZCkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CisgICAg
aWYgKG1fc3RhdGUgIT0gU3RhdGU6OkFjdGl2ZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yLCAiQWNjZXNzSGFuZGxlIGlzIGJlaW5nIGNsb3NlZCBvciBjbG9z
ZWQiX3MgfTsKIAogICAgIGlmIChtX3BlbmRpbmdPcGVyYXRpb25Db3VudCkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiQWNjZXNzIGhhbmRsZSBoYXMgdW5m
aW5pc2hlZCBvcGVyYXRpb24iX3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFu
ZGxlLmgKaW5kZXggMWZkOTI2YzMzMTM2M2Y3MWZmNDg3MTRkNGU4YmNkZjU2MmQwN2VmNy4uYzFj
NWE2ZTg4MDkzNDM4NDZmNDUzYTg3ODkwYjQ2MDIzNTRjODI5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFu
ZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVT
eXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmgKQEAgLTU5LDkgKzU5LDEwIEBAIHByaXZhdGU6CiAKICAg
ICBSZWY8RmlsZVN5c3RlbUZpbGVIYW5kbGU+IG1fc291cmNlOwogICAgIEZpbGVTeXN0ZW1TeW5j
QWNjZXNzSGFuZGxlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAgYm9vbCBtX2lzQ2xvc2Vk
IHsgZmFsc2UgfTsKICAgICB1aW50NjRfdCBtX3BlbmRpbmdPcGVyYXRpb25Db3VudCB7IDAgfTsK
ICAgICBGaWxlU3lzdGVtOjpQbGF0Zm9ybUZpbGVIYW5kbGUgbV9maWxlOworICAgIGVudW0gY2xh
c3MgU3RhdGUgOiB1aW50OF90IHsgQWN0aXZlLCBDbG9zaW5nLCBDbG9zZWQgfTsKKyAgICBTdGF0
ZSBtX3N0YXRlIHsgU3RhdGU6OkFjdGl2ZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGJlNmVmNmUxZDQ0NzcyODU3OTk5ZDU1ZDBmMDc5ODc3OTdhZGQwM2MuLmU0MTRl
ODNiNGU4MGY2NDJmYjc1ZTA3NmQzZTU2NzQ0ZmRhOGJkZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAyMS0xMC0yMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KKworICAgICAg
ICBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZSBzaG91bGQgY2xvc2UgcGxhdGZvcm0gZmlsZSBo
YW5kbGUgb24gY2xvc2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyMDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNz
LWhhbmRsZS1jbG9zZS5qczogQWRkZWQuCisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAg
KGFzeW5jIHRlc3RGdW5jdGlvbnMpOgorICAgICAgICAoYXN5bmMgdGVzdCk6CisgICAgICAgICog
c3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNzLWhhbmRsZS1jbG9zZS13b3JrZXIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mv
c3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci5odG1sOiBBZGRlZC4KKwogMjAyMS0xMC0x
OSAgQXl1bWkgS29qaW1hICA8YXl1bWlfa29qaW1hQGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlP
UyBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jYW52YXMvZWxlbWVudC9t
YW51YWwvd2lkZS1nYW11dC1jYW52YXMvY2FudmFzLWRpc3BsYXktcDMtZHJhd0ltYWdlLSB0ZXN0
cyBhcmUgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDdjYmFkYTJi
ZWJkYTJkOTQxMWQzYjMyZjg5ZTEzYTM1Yjk0Mzc1ODMuLjRiM2FkNDUyMThiMjY2MDJiOTc2NGRl
N2MyYWNiZTFiZWQxMmViYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDIxLTEwLTIxICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgor
CisgICAgICAgIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlIHNob3VsZCBjbG9zZSBwbGF0Zm9y
bSBmaWxlIGhhbmRsZSBvbiBjbG9zZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzIwNjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9maWxlLXN5c3RlbS1hY2Nlc3Mv
c2FuZGJveGVkX0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLWNsb3NlLmh0dHBzLnRlbnRhdGl2
ZS53b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEwLTE5ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIHNvbWUgU1ZHIHByb3BlcnRp
ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmlsZS1zeXN0ZW0tYWNjZXNzL3NhbmRib3hlZF9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRs
ZS1jbG9zZS5odHRwcy50ZW50YXRpdmUud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmlsZS1zeXN0ZW0tYWNjZXNzL3NhbmRi
b3hlZF9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS1jbG9zZS5odHRwcy50ZW50YXRpdmUud29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCBiYjc3YTQ5OWJhMWM4YzllODI3NzYzMDUzNWEzNzc2NWYy
Mzk4OGVjLi43NjEwNTBmMGQ3NWU1Y2Q1Y2FhYTFjNzM5M2FkNzQ2NzNjNDMxZjE5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lz
dGVtLWFjY2Vzcy9zYW5kYm94ZWRfRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUtY2xvc2UuaHR0
cHMudGVudGF0aXZlLndvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9maWxlLXN5c3RlbS1hY2Nlc3Mvc2FuZGJveGVkX0Zp
bGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLWNsb3NlLmh0dHBzLnRlbnRhdGl2ZS53b3JrZXItZXhw
ZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDE0IEBACiAKLUZBSUwgU3luY0FjY2Vzc0hhbmRsZS5jbG9z
ZSBpcyBpZGVtcG90ZW50IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFs
aWQgc3RhdGUuIgorRkFJTCBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIGlzIGlkZW1wb3RlbnQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiSW52YWxp
ZFN0YXRlRXJyb3I6IEFjY2Vzc0hhbmRsZSBpcyBjbG9zZWQiCiBGQUlMIFN5bmNBY2Nlc3NIYW5k
bGUuY2xvc2UgaXMgaWRlbXBvdGVudCB3aGVuIGNhbGxlZCBpbW1lZGlhdGVseSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6
IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiB1bmtub3duIHRyYW5zaWVudCByZWFzb24gKGUu
Zy4gb3V0IG9mIG1lbW9yeSkuIgotRkFJTCBTeW5jQWNjZXNzSGFuZGxlLnJlYWQgZmFpbHMgYWZ0
ZXIgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBzZXR0bGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2Jq
ZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuIgotRkFJTCBTeW5jQWNjZXNzSGFuZGxlLnJlYWQg
ZmFpbHMgaW1tZWRpYXRlbHkgYWZ0ZXIgY2FsbGluZyBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkludmFs
aWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuIgotRkFJTCBT
eW5jQWNjZXNzSGFuZGxlLndyaXRlIGZhaWxzIGFmdGVyIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2Ug
c2V0dGxlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRl
LiIKLUZBSUwgU3luY0FjY2Vzc0hhbmRsZS53cml0ZSBmYWlscyBpbW1lZGlhdGVseSBhZnRlciBj
YWxsaW5nIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3Qg
aXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4iCi1GQUlMIFN5bmNBY2Nlc3NIYW5kbGUuZmx1c2ggZmFp
bHMgYWZ0ZXIgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBzZXR0bGVzIHByb21pc2VfcmVqZWN0c19k
b206IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJVbmtu
b3duRXJyb3I6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiB1bmtub3duIHRyYW5zaWVudCBy
ZWFzb24gKGUuZy4gb3V0IG9mIG1lbW9yeSkuIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJ
bnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDAsIGV4cGVjdGVk
IDExCitGQUlMIFN5bmNBY2Nlc3NIYW5kbGUucmVhZCBmYWlscyBhZnRlciBTeW5jQWNjZXNzSGFu
ZGxlLmNsb3NlIHNldHRsZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiSW52YWxpZFN0YXRlRXJyb3I6IEFjY2Vzc0hhbmRsZSBpcyBjbG9zZWQi
CitGQUlMIFN5bmNBY2Nlc3NIYW5kbGUucmVhZCBmYWlscyBpbW1lZGlhdGVseSBhZnRlciBjYWxs
aW5nIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiSW52YWxpZFN0YXRlRXJyb3I6IEFjY2Vzc0hhbmRsZSBp
cyBjbG9zZWQiCitGQUlMIFN5bmNBY2Nlc3NIYW5kbGUud3JpdGUgZmFpbHMgYWZ0ZXIgU3luY0Fj
Y2Vzc0hhbmRsZS5jbG9zZSBzZXR0bGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yOiBBY2Nlc3NIYW5kbGUgaXMg
Y2xvc2VkIgorRkFJTCBTeW5jQWNjZXNzSGFuZGxlLndyaXRlIGZhaWxzIGltbWVkaWF0ZWx5IGFm
dGVyIGNhbGxpbmcgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvcjogQWNjZXNz
SGFuZGxlIGlzIGNsb3NlZCIKK0ZBSUwgU3luY0FjY2Vzc0hhbmRsZS5mbHVzaCBmYWlscyBhZnRl
ciBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHNldHRsZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiSW52YWxpZFN0YXRlRXJyb3I6IEFjY2Vzc0hh
bmRsZSBpcyBjbG9zZWQiCiBGQUlMIFN5bmNBY2Nlc3NIYW5kbGUuZmx1c2ggZmFpbHMgaW1tZWRp
YXRlbHkgYWZ0ZXIgY2FsbGluZyBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHByb21pc2VfcmVqZWN0
c19kb206IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJV
bmtub3duRXJyb3I6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZvciBhbiB1bmtub3duIHRyYW5zaWVu
dCByZWFzb24gKGUuZy4gb3V0IG9mIG1lbW9yeSkuIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlv
biBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDAsIGV4cGVj
dGVkIDExCi1GQUlMIFN5bmNBY2Nlc3NIYW5kbGUuZ2V0U2l6ZSBmYWlscyBhZnRlciBTeW5jQWNj
ZXNzSGFuZGxlLmNsb3NlIHNldHRsZXMgcHJvbWlzZV9yZWplY3RzX2RvbTogZnVuY3Rpb24gImZ1
bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25vd25FcnJvcjogVGhlIG9w
ZXJhdGlvbiBmYWlsZWQgZm9yIGFuIHVua25vd24gdHJhbnNpZW50IHJlYXNvbiAoZS5nLiBvdXQg
b2YgbWVtb3J5KS4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9y
OiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMCwgZXhwZWN0ZWQgMTEKK0ZBSUwgU3luY0Fj
Y2Vzc0hhbmRsZS5nZXRTaXplIGZhaWxzIGFmdGVyIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2Ugc2V0
dGxlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJJbnZhbGlkU3RhdGVFcnJvcjogQWNjZXNzSGFuZGxlIGlzIGNsb3NlZCIKIEZBSUwgU3luY0Fj
Y2Vzc0hhbmRsZS5nZXRTaXplIGZhaWxzIGltbWVkaWF0ZWx5IGFmdGVyIGNhbGxpbmcgU3luY0Fj
Y2Vzc0hhbmRsZS5jbG9zZSBwcm9taXNlX3JlamVjdHNfZG9tOiBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVW5rbm93bkVycm9yOiBUaGUgb3BlcmF0aW9u
IGZhaWxlZCBmb3IgYW4gdW5rbm93biB0cmFuc2llbnQgcmVhc29uIChlLmcuIG91dCBvZiBtZW1v
cnkpLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHByb3Bl
cnR5ICJjb2RlIiBpcyBlcXVhbCB0byAwLCBleHBlY3RlZCAxMQotRkFJTCBTeW5jQWNjZXNzSGFu
ZGxlLnRydW5jYXRlIGZhaWxzIGFmdGVyIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2Ugc2V0dGxlcyBw
cm9taXNlX3JlamVjdHNfZG9tOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRo
cmV3IG9iamVjdCAiVW5rbm93bkVycm9yOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gdW5r
bm93biB0cmFuc2llbnQgcmVhc29uIChlLmcuIG91dCBvZiBtZW1vcnkpLiIgdGhhdCBpcyBub3Qg
YSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVh
bCB0byAwLCBleHBlY3RlZCAxMQorRkFJTCBTeW5jQWNjZXNzSGFuZGxlLnRydW5jYXRlIGZhaWxz
IGFmdGVyIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2Ugc2V0dGxlcyBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvcjogQWNj
ZXNzSGFuZGxlIGlzIGNsb3NlZCIKIEZBSUwgU3luY0FjY2Vzc0hhbmRsZS50cnVuY2F0ZSBmYWls
cyBpbW1lZGlhdGVseSBhZnRlciBjYWxsaW5nIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2UgcHJvbWlz
ZV9yZWplY3RzX2RvbTogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBv
YmplY3QgIlVua25vd25FcnJvcjogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIHVua25vd24g
dHJhbnNpZW50IHJlYXNvbiAoZS5nLiBvdXQgb2YgbWVtb3J5KS4iIHRoYXQgaXMgbm90IGEgRE9N
RXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8g
MCwgZXhwZWN0ZWQgMTEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lz
dGVtYWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3MvcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRs
ZS1jbG9zZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODdlNzkyOTI0ZmFiNmJhMWUxNDQzMGZiOGM5MjEzZWZj
ZmM0NmMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVt
YWNjZXNzL3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMKQEAgLTAsMCArMSw0
OCBAQAoraWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgeworICAgIGltcG9ydFNjcmlwdHMoJy4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzJyk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
Y2hlY2tzIGNsb3NlKCkgb2YgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUiKTsKKwordmFyIGFj
Y2Vzc0hhbmRsZSwgcHJvbWlzZTsKKworZnVuY3Rpb24gZmluaXNoVGVzdChlcnJvcikKK3sKKyAg
ICBpZiAoZXJyb3IpIHsKKyAgICAgICAgdGVzdEZhaWxlZChlcnJvcik7CisgICAgfQorICAgIGZp
bmlzaEpTVGVzdCgpOworfQorCithc3luYyBmdW5jdGlvbiB0ZXN0RnVuY3Rpb25zKCkKK3sKKyAg
ICBzaG91bGRUaHJvdygiYXdhaXQgYWNjZXNzSGFuZGxlLmNsb3NlKCkiKTsKKyAgICBzaG91bGRU
aHJvdygiYXdhaXQgYWNjZXNzSGFuZGxlLmdldFNpemUoKSIpOworICAgIHNob3VsZFRocm93KCJh
d2FpdCBhY2Nlc3NIYW5kbGUuZmx1c2goKSIpOworICAgIHNob3VsZFRocm93KCJhd2FpdCBhY2Nl
c3NIYW5kbGUucmVhZChuZXcgQXJyYXlCdWZmZXIoMSksIHsgXCJhdFwiIDogMCB9KSIpOworICAg
IHNob3VsZFRocm93KCJhd2FpdCBhY2Nlc3NIYW5kbGUud3JpdGUobmV3IEFycmF5QnVmZmVyKDEp
LCB7IFwiYXRcIiA6IDAgfSkiKTsKK30KKworYXN5bmMgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICB0
cnkgeworICAgICAgICB2YXIgcm9vdEhhbmRsZSA9IGF3YWl0IG5hdmlnYXRvci5zdG9yYWdlLmdl
dERpcmVjdG9yeSgpOworICAgICAgICAvLyBDcmVhdGUgYSBuZXcgZmlsZSBmb3IgdGhpcyB0ZXN0
LgorICAgICAgICBhd2FpdCByb290SGFuZGxlLnJlbW92ZUVudHJ5KCJzeW5jLWFjY2Vzcy1oYW5k
bGUtY2xvc2UudHh0IikudGhlbigoKSA9PiB7IH0sICgpID0+IHsgfSk7CisgICAgICAgIHZhciBm
aWxlSGFuZGxlID0gYXdhaXQgcm9vdEhhbmRsZS5nZXRGaWxlSGFuZGxlKCJzeW5jLWFjY2Vzcy1o
YW5kbGUtY2xvc2UudHh0IiwgeyAiY3JlYXRlIiA6IHRydWUgIH0pOworICAgICAgICBhY2Nlc3NI
YW5kbGUgPSBhd2FpdCBmaWxlSGFuZGxlLmNyZWF0ZVN5bmNBY2Nlc3NIYW5kbGUoKTsKKworICAg
ICAgICB2YXIgY2xvc2VQcm9taXNlID0gYWNjZXNzSGFuZGxlLmNsb3NlKCk7CisgICAgICAgIGRl
YnVnKCJ0ZXN0IGFmdGVyIGludm9raW5nIGNsb3NlKCk6Iik7CisgICAgICAgIHRlc3RGdW5jdGlv
bnMoKTsKKworICAgICAgICBkZWJ1ZygidGVzdCBhZnRlciBjbG9zZSgpIGlzIGRvbmU6Iik7Cisg
ICAgICAgIGF3YWl0IGNsb3NlUHJvbWlzZTsKKyAgICAgICAgdGVzdEZ1bmN0aW9ucygpOworCisg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgICBmaW5p
c2hUZXN0KGVycm9yKTsKKyAgICB9Cit9CisKK3Rlc3QoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2Utd29y
a2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9z
eW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2Utd29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
ZWFmZjlhN2Y5MDVjZWExOTE2MzVhMTNjY2FlMDAwYTI1MjAxZTlkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNzLWhhbmRs
ZS1jbG9zZS13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK1tXb3JrZXJdIFRo
aXMgdGVzdCBjaGVja3MgY2xvc2UoKSBvZiBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZQorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnRpbmcgd29ya2VyOiByZXNvdXJjZXMv
c3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLmpzCitbV29ya2VyXSB0ZXN0IGFmdGVyIGludm9raW5n
IGNsb3NlKCk6CitQQVNTIFtXb3JrZXJdIGF3YWl0IGFjY2Vzc0hhbmRsZS5jbG9zZSgpIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhY2Nlc3NIYW5k
bGUnLgorUEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NIYW5kbGUuZ2V0U2l6ZSgpIHRocmV3IGV4
Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhY2Nlc3NIYW5kbGUn
LgorUEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NIYW5kbGUuZmx1c2goKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BB
U1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLnJlYWQobmV3IEFycmF5QnVmZmVyKDEpLCB7
ICJhdCIgOiAwIH0pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVu
dGlmaWVyICdhY2Nlc3NIYW5kbGUnLgorUEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NIYW5kbGUu
d3JpdGUobmV3IEFycmF5QnVmZmVyKDEpLCB7ICJhdCIgOiAwIH0pIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhY2Nlc3NIYW5kbGUnLgorW1dvcmtl
cl0gdGVzdCBhZnRlciBjbG9zZSgpIGlzIGRvbmU6CitQQVNTIFtXb3JrZXJdIGF3YWl0IGFjY2Vz
c0hhbmRsZS5jbG9zZSgpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBp
ZGVudGlmaWVyICdhY2Nlc3NIYW5kbGUnLgorUEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NIYW5k
bGUuZ2V0U2l6ZSgpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVu
dGlmaWVyICdhY2Nlc3NIYW5kbGUnLgorUEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NIYW5kbGUu
Zmx1c2goKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmll
ciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLnJlYWQo
bmV3IEFycmF5QnVmZmVyKDEpLCB7ICJhdCIgOiAwIH0pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhY2Nlc3NIYW5kbGUnLgorUEFTUyBbV29ya2Vy
XSBhd2FpdCBhY2Nlc3NIYW5kbGUud3JpdGUobmV3IEFycmF5QnVmZmVyKDEpLCB7ICJhdCIgOiAw
IH0pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdh
Y2Nlc3NIYW5kbGUnLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vz
cy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2Utd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmYjA4NzEyMGZmM2I5ZTBkODdhNmY2YjhlZTJkMjAzYzU2NmNlMTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3lu
Yy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci5odG1sCkBAIC0wLDAgKzEsOSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit3b3JrZXIgPSBzdGFydFdvcmtlcigncmVz
b3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1jbG9zZS5qcycpOzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442055</attachid>
            <date>2021-10-21 12:00:54 -0700</date>
            <delta_ts>2021-10-21 16:13:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232067-20211021120053.patch</filename>
            <type>text/plain</type>
            <size>20467</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM5ZDcyYzVmYTU5YWRj
MTdlZmVmMzRiNjQxY2IyNGUzN2FiMjI2Yy4uMDEzNTZjYzM2NWY0NGE2MzlmNDBkMWZkMTM0YzYw
ZGZlZTkwNzU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlIHNob3VsZCBjbG9zZSBwbGF0Zm9ybSBmaWxlIGhhbmRsZSBvbiBjbG9zZSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwNjcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NTE3MDEzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBlbnN1cmVzIG5vIHJlcXVl
c3QgaXMgc2VudCBhZnRlciBjbG9zZSgpIGlzIGNhbGxlZC4KKworICAgICAgICBUZXN0OiBzdG9y
YWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci5odG1s
CisKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbUZpbGVIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbUZpbGVIYW5kbGU6OmNyZWF0ZVN5
bmNBY2Nlc3NIYW5kbGUpOgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxl
U3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVt
U3luY0FjY2Vzc0hhbmRsZTo6RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6On5GaWxlU3lzdGVtU3luY0FjY2Vz
c0hhbmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZTo6
aXNDbG9zaW5nT3JDbG9zZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbVN5
bmNBY2Nlc3NIYW5kbGU6OnRydW5jYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1T
eW5jQWNjZXNzSGFuZGxlOjpnZXRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1T
eW5jQWNjZXNzSGFuZGxlOjpmbHVzaCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtU3lu
Y0FjY2Vzc0hhbmRsZTo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbVN5bmNB
Y2Nlc3NIYW5kbGU6OmRpZENsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1TeW5j
QWNjZXNzSGFuZGxlOjpyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1TeW5jQWNj
ZXNzSGFuZGxlOjp3cml0ZSk6CisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0Zp
bGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmg6CisKIDIwMjEtMTAtMjEgIFR5bGVyIFdpbGNvY2sg
IDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQW55IGFkZGl0aW9uIG9mIGNoaWxk
cmVuIHNob3VsZCBmdW5uZWwgdGhyb3VnaCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphZGRDaGlsZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNzL0ZpbGVT
eXN0ZW1GaWxlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFj
Y2Vzcy9GaWxlU3lzdGVtRmlsZUhhbmRsZS5jcHAKaW5kZXggY2JlNDZmMjAxZjFlMmEwY2JlMzM5
YjAyMWY3N2NjZDE2YWYxM2ZiZi4uNzg0NDhhY2JiOGIyYTRhOWU0MWVjOGU5NmMyMzQ5NTJhYWIx
MmE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtYWNjZXNz
L0ZpbGVTeXN0ZW1GaWxlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zp
bGVzeXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbUZpbGVIYW5kbGUuY3BwCkBAIC01OCw2ICs1OCw5IEBA
IHZvaWQgRmlsZVN5c3RlbUZpbGVIYW5kbGU6OmNyZWF0ZVN5bmNBY2Nlc3NIYW5kbGUoRE9NUHJv
bWlzZURlZmVycmVkPElETEludGVyZmFjCiAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZS5yZWpl
Y3QocmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKSk7CiAKICAgICAgICAgYXV0byByZXN1bHRWYWx1
ZSA9IHJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKTsKKyAgICAgICAgaWYgKHJlc3VsdFZhbHVl
LnNlY29uZCA9PSBGaWxlU3lzdGVtOjppbnZhbGlkUGxhdGZvcm1GaWxlSGFuZGxlKQorICAgICAg
ICAgICAgcmV0dXJuIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IFVua25vd25FcnJvciwgIklu
dmFsaWQgcGxhdGZvcm0gZmlsZSBoYW5kbGUiX3MgfSk7CisKICAgICAgICAgcHJvbWlzZS5zZXR0
bGUoRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OmNyZWF0ZShwcm90ZWN0ZWRUaGlzLmdldCgp
LCByZXN1bHRWYWx1ZS5maXJzdCwgcmVzdWx0VmFsdWUuc2Vjb25kKSk7CiAgICAgfSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmlsZVN5
c3RlbVN5bmNBY2Nlc3NIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtYWNjZXNzL0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLmNwcAppbmRleCAyYmNmNzRhMDg3
YjgzOTdmMzBhMjI2MzZkODAyZTBjMWU5MDY4MmFiLi4xZWMwYjVjOWNhMjExMGZiMjQ2ZjI5OGZi
MTM1YzY2ODI4YzRiNWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVz
eXN0ZW1hY2Nlc3MvRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRs
ZS5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJGaWxlU3lzdGVtU3luY0FjY2Vzc0hh
bmRsZS5oIgogCiAjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKICNpbmNsdWRlICJGaWxlU3lzdGVtRmlsZUhhbmRsZS5oIgogI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CkBA
IC00NCwxNiArNDMsMjggQEAgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OkZpbGVTeXN0ZW1T
eW5jQWNjZXNzSGFuZGxlKEZpbGVTeXN0ZW1GaWxlSGFuZGxlJiBzb3UKICAgICAsIG1faWRlbnRp
ZmllcihpZGVudGlmaWVyKQogICAgICwgbV9maWxlKGZpbGUpCiB7CisgICAgQVNTRVJUKG1fZmls
ZSAhPSBGaWxlU3lzdGVtOjppbnZhbGlkUGxhdGZvcm1GaWxlSGFuZGxlKTsKIH0KIAogRmlsZVN5
c3RlbVN5bmNBY2Nlc3NIYW5kbGU6On5GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZSgpCiB7Ci0g
ICAgaWYgKCFtX2lzQ2xvc2VkKQotICAgICAgICBtX3NvdXJjZS0+Y2xvc2UobV9pZGVudGlmaWVy
LCBbXShhdXRvKSB7IH0pOworICAgIGlmIChtX2Nsb3NlUmVzdWx0KQorICAgICAgICByZXR1cm47
CisKKyAgICBBU1NFUlQobV9jbG9zZVByb21pc2VzLmlzRW1wdHkoKSk7CisgICAgbV9zb3VyY2Ut
PmNsb3NlKG1faWRlbnRpZmllciwgW10oYXV0bykgeyB9KTsKK30KKworYm9vbCBGaWxlU3lzdGVt
U3luY0FjY2Vzc0hhbmRsZTo6aXNDbG9zaW5nT3JDbG9zZWQoKSBjb25zdAoreworICAgIHJldHVy
biBtX2Nsb3NlUmVzdWx0IHx8ICFtX2Nsb3NlUHJvbWlzZXMuaXNFbXB0eSgpOwogfQogCiB2b2lk
IEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjp0cnVuY2F0ZSh1bnNpZ25lZCBsb25nIGxvbmcg
c2l6ZSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKIHsKKyAgICBpZiAoaXND
bG9zaW5nT3JDbG9zZWQoKSkKKyAgICAgICAgcmV0dXJuIHByb21pc2UucmVqZWN0KEV4Y2VwdGlv
biB7IEludmFsaWRTdGF0ZUVycm9yLCAiQWNjZXNzSGFuZGxlIGlzIGNsb3Npbmcgb3IgY2xvc2Vk
Il9zIH0pOworCiAgICAgbV9wZW5kaW5nT3BlcmF0aW9uQ291bnQrKzsKICAgICBtX3NvdXJjZS0+
dHJ1bmNhdGUobV9pZGVudGlmaWVyLCBzaXplLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMg
fSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGF1dG8gcmVzdWx0KSBtdXRhYmxlIHsKICAg
ICAgICAgaWYgKHdlYWtUaGlzKQpAQCAtNjUsNiArNzYsOSBAQCB2b2lkIEZpbGVTeXN0ZW1TeW5j
QWNjZXNzSGFuZGxlOjp0cnVuY2F0ZSh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSwgRE9NUHJvbWlz
ZURlZgogCiB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpnZXRTaXplKERPTVByb21p
c2VEZWZlcnJlZDxJRExVbnNpZ25lZExvbmdMb25nPiYmIHByb21pc2UpCiB7CisgICAgaWYgKGlz
Q2xvc2luZ09yQ2xvc2VkKCkpCisgICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChFeGNlcHRp
b24geyBJbnZhbGlkU3RhdGVFcnJvciwgIkFjY2Vzc0hhbmRsZSBpcyBjbG9zaW5nIG9yIGNsb3Nl
ZCJfcyB9KTsKKwogICAgIG1fcGVuZGluZ09wZXJhdGlvbkNvdW50Kys7CiAgICAgbV9zb3VyY2Ut
PmdldFNpemUobV9pZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKGF1dG8gcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAg
aWYgKHdlYWtUaGlzKQpAQCAtNzYsNiArOTAsOSBAQCB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNz
SGFuZGxlOjpnZXRTaXplKERPTVByb21pc2VEZWZlcnJlZDxJRExVbnNpZ25lZExvbmdMb25nPgog
CiB2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpmbHVzaChET01Qcm9taXNlRGVmZXJy
ZWQ8dm9pZD4mJiBwcm9taXNlKQogeworICAgIGlmIChpc0Nsb3NpbmdPckNsb3NlZCgpKQorICAg
ICAgICByZXR1cm4gcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3Is
ICJBY2Nlc3NIYW5kbGUgaXMgY2xvc2luZyBvciBjbG9zZWQiX3MgfSk7CisKICAgICBtX3BlbmRp
bmdPcGVyYXRpb25Db3VudCsrOwogICAgIG1fc291cmNlLT5mbHVzaChtX2lkZW50aWZpZXIsIFt3
ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0o
YXV0byByZXN1bHQpIG11dGFibGUgewogICAgICAgICBpZiAod2Vha1RoaXMpCkBAIC04NywzMSAr
MTA0LDM5IEBAIHZvaWQgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OmZsdXNoKERPTVByb21p
c2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiAKIHZvaWQgRmlsZVN5c3RlbVN5bmNBY2Nlc3NI
YW5kbGU6OmNsb3NlKERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCiB7Ci0gICAg
aWYgKG1faXNDbG9zZWQpCi0gICAgICAgIHJldHVybiBwcm9taXNlLnJlamVjdChFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciB9KTsKKyAgICBpZiAobV9jbG9zZVJlc3VsdCkKKyAgICAgICAg
cmV0dXJuIHByb21pc2Uuc2V0dGxlKEV4Y2VwdGlvbk9yPHZvaWQ+IHsgKm1fY2xvc2VSZXN1bHQg
fSk7CisgICAgCisgICAgYXV0byBpc0Nsb3NpbmcgPSAhbV9jbG9zZVByb21pc2VzLmlzRW1wdHko
KTsKKyAgICBtX2Nsb3NlUHJvbWlzZXMuYXBwZW5kKFdURk1vdmUocHJvbWlzZSkpOworICAgIGlm
IChpc0Nsb3NpbmcpCisgICAgICAgIHJldHVybjsKIAotICAgIG1fcGVuZGluZ09wZXJhdGlvbkNv
dW50Kys7Ci0gICAgbV9zb3VyY2UtPmNsb3NlKG1faWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vh
a1B0ciB7ICp0aGlzIH0sIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXShhdXRvIHJlc3VsdCkg
bXV0YWJsZSB7Ci0gICAgICAgIGlmICh3ZWFrVGhpcykgewotICAgICAgICAgICAgd2Vha1RoaXMt
Pm1fcGVuZGluZ09wZXJhdGlvbkNvdW50LS07Ci0gICAgICAgICAgICB3ZWFrVGhpcy0+ZGlkQ2xv
c2UoKTsKLSAgICAgICAgfQorICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShtX2ZpbGUpOworICAg
IG1fZmlsZSA9IEZpbGVTeXN0ZW06OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGU7CiAKLSAgICAg
ICAgcHJvbWlzZS5zZXR0bGUoV1RGTW92ZShyZXN1bHQpKTsKKyAgICBtX3BlbmRpbmdPcGVyYXRp
b25Db3VudCsrOworICAgIG1fc291cmNlLT5jbG9zZShtX2lkZW50aWZpZXIsIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfV0oYXV0byByZXN1bHQpIG11dGFibGUgeworICAgICAg
ICBtX3BlbmRpbmdPcGVyYXRpb25Db3VudC0tOworICAgICAgICBkaWRDbG9zZShXVEZNb3ZlKHJl
c3VsdCkpOwogICAgIH0pOwogfQogCi12b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpk
aWRDbG9zZSgpCit2b2lkIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlOjpkaWRDbG9zZShFeGNl
cHRpb25Pcjx2b2lkPiYmIHJlc3VsdCkKIHsKLSAgICBtX2lzQ2xvc2VkID0gdHJ1ZTsKKyAgICBt
X2Nsb3NlUmVzdWx0ID0gV1RGTW92ZShyZXN1bHQpOworCisgICAgYXV0byBwcm9taXNlcyA9IHN0
ZDo6ZXhjaGFuZ2UobV9jbG9zZVByb21pc2VzLCB7IH0pOworICAgIGZvciAoYXV0byBwcm9taXNl
IDogcHJvbWlzZXMpCisgICAgICAgIHByb21pc2Uuc2V0dGxlKEV4Y2VwdGlvbk9yPHZvaWQ+IHsg
Km1fY2xvc2VSZXN1bHQgfSk7CiB9CiAKIEV4Y2VwdGlvbk9yPHVuc2lnbmVkIGxvbmcgbG9uZz4g
RmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGU6OnJlYWQoQnVmZmVyU291cmNlJiYgYnVmZmVyLCBG
aWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZTo6RmlsZXN5c3RlbVJlYWRXcml0ZU9wdGlvbnMgb3B0
aW9ucykKIHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKIAotICAgIGlmIChtX2ZpbGUg
PT0gRmlsZVN5c3RlbTo6aW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSB8fCBtX2lzQ2xvc2VkKQot
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKyAgICBpZiAo
aXNDbG9zaW5nT3JDbG9zZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRT
dGF0ZUVycm9yLCAiQWNjZXNzSGFuZGxlIGlzIGNsb3Npbmcgb3IgY2xvc2VkIl9zIH07CiAKICAg
ICBpZiAobV9wZW5kaW5nT3BlcmF0aW9uQ291bnQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciwgIkFjY2VzcyBoYW5kbGUgaGFzIHVuZmluaXNoZWQgb3BlcmF0
aW9uIl9zIH07CkBAIC0xMzEsOCArMTU2LDggQEAgRXhjZXB0aW9uT3I8dW5zaWduZWQgbG9uZyBs
b25nPiBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZTo6d3JpdGUoQnVmZmVyU291cmNlJiYKIHsK
ICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKIAotICAgIGlmIChtX2ZpbGUgPT0gRmlsZVN5
c3RlbTo6aW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSB8fCBtX2lzQ2xvc2VkKQotICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKyAgICBpZiAoaXNDbG9zaW5n
T3JDbG9zZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAiQWNjZXNzSGFuZGxlIGlzIGNsb3Npbmcgb3IgY2xvc2VkIl9zIH07CiAKICAgICBpZiAobV9w
ZW5kaW5nT3BlcmF0aW9uQ291bnQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
U3RhdGVFcnJvciwgIkFjY2VzcyBoYW5kbGUgaGFzIHVuZmluaXNoZWQgb3BlcmF0aW9uIl9zIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW1hY2Nlc3MvRmls
ZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5oCmluZGV4IDFmZDkyNmMzMzEz
NjNmNzFmZjQ4NzE0ZDRlOGJjZGY1NjJkMDdlZjcuLmNiMzBkMTFlNmYxYTE1YzEwMDkyN2I4MTQ3
MjQwNGYyZWUwODY0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbWFjY2Vzcy9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS5o
CkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkJ1ZmZlclNvdXJj
ZS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbVN5bmNB
Y2Nlc3NIYW5kbGVJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRl
IDx3dGYvRmlsZVN5c3RlbS5oPgpAQCAtMzUsNyArMzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEZpbGVTeXN0ZW1GaWxlSGFuZGxlOwogdGVtcGxhdGU8dHlwZW5hbWU+IGNsYXNz
IERPTVByb21pc2VEZWZlcnJlZDsKLXRlbXBsYXRlPHR5cGVuYW1lPiBjbGFzcyBFeGNlcHRpb25P
cjsKIAogY2xhc3MgRmlsZVN5c3RlbVN5bmNBY2Nlc3NIYW5kbGUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxGaWxl
U3lzdGVtU3luY0FjY2Vzc0hhbmRsZT4gewogcHVibGljOgpAQCAtNTAsMTggKzUwLDIwIEBAIHB1
YmxpYzoKICAgICB2b2lkIGdldFNpemUoRE9NUHJvbWlzZURlZmVycmVkPElETFVuc2lnbmVkTG9u
Z0xvbmc+JiYpOwogICAgIHZvaWQgZmx1c2goRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwog
ICAgIHZvaWQgY2xvc2UoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwotICAgIHZvaWQgZGlk
Q2xvc2UoKTsKKyAgICB2b2lkIGRpZENsb3NlKEV4Y2VwdGlvbk9yPHZvaWQ+JiYpOwogICAgIEV4
Y2VwdGlvbk9yPHVuc2lnbmVkIGxvbmcgbG9uZz4gcmVhZChCdWZmZXJTb3VyY2UmJiwgRmlsZXN5
c3RlbVJlYWRXcml0ZU9wdGlvbnMpOwogICAgIEV4Y2VwdGlvbk9yPHVuc2lnbmVkIGxvbmcgbG9u
Zz4gd3JpdGUoQnVmZmVyU291cmNlJiYsIEZpbGVzeXN0ZW1SZWFkV3JpdGVPcHRpb25zKTsKIAog
cHJpdmF0ZToKICAgICBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZShGaWxlU3lzdGVtRmlsZUhh
bmRsZSYsIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlSWRlbnRpZmllciwgRmlsZVN5c3RlbTo6
UGxhdGZvcm1GaWxlSGFuZGxlKTsKKyAgICBib29sIGlzQ2xvc2luZ09yQ2xvc2VkKCkgY29uc3Q7
CiAKICAgICBSZWY8RmlsZVN5c3RlbUZpbGVIYW5kbGU+IG1fc291cmNlOwogICAgIEZpbGVTeXN0
ZW1TeW5jQWNjZXNzSGFuZGxlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0gICAgYm9vbCBtX2lz
Q2xvc2VkIHsgZmFsc2UgfTsKICAgICB1aW50NjRfdCBtX3BlbmRpbmdPcGVyYXRpb25Db3VudCB7
IDAgfTsKICAgICBGaWxlU3lzdGVtOjpQbGF0Zm9ybUZpbGVIYW5kbGUgbV9maWxlOworICAgIHN0
ZDo6b3B0aW9uYWw8RXhjZXB0aW9uT3I8dm9pZD4+IG1fY2xvc2VSZXN1bHQ7CisgICAgVmVjdG9y
PERPTVByb21pc2VEZWZlcnJlZDx2b2lkPj4gbV9jbG9zZVByb21pc2VzOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZmZmE4NzMyYWVjNjk1NjUzOTMzMDdkMzNlNDcyNDA0
N2NlNzQwM2QuLmY2ZjFiMmM3NGI2MTA0YmNhNTNkMWRjYzM3ZTIzOGI5MTIzMDMxYTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAyMS0xMC0yMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxl
LmNvbT4KKworICAgICAgICBGaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZSBzaG91bGQgY2xvc2Ug
cGxhdGZvcm0gZmlsZSBoYW5kbGUgb24gY2xvc2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMDY3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
NDUxNzAxMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFuZGxl
LWNsb3NlLmpzOiBBZGRlZC4KKyAgICAgICAgKGZpbmlzaFRlc3QpOgorICAgICAgICAoYXN5bmMg
dGVzdEZ1bmN0aW9ucyk6CisgICAgICAgIChhc3luYyB0ZXN0KToKKyAgICAgICAgKiBzdG9yYWdl
L2ZpbGVzeXN0ZW1hY2Nlc3Mvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9zeW5jLWFj
Y2Vzcy1oYW5kbGUtY2xvc2Utd29ya2VyLmh0bWw6IEFkZGVkLgorCiAyMDIxLTEwLTIxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIENTU1Byb3BlcnR5Wm9v
bSBuZWVkcyB3cmFwcGVyIHRoYXQgZW5zdXJlcyBpdCdzIGFsd2F5cyBibGVuZGVkIGludG8gYSBw
b3NpdGl2ZSB2YWx1ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDM4YTU2MGEz
ZGNhYzMyOTQ4OWNkZDNmMTIyNWUxYzY3ZGUyY2I0ODQuLmNlM2ViZGNhYjc5M2YwNzFlZjBhYmUy
MGQ4MThiMmY3NmUzZDI0OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDIxLTEwLTIxICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgor
CisgICAgICAgIEZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlIHNob3VsZCBjbG9zZSBwbGF0Zm9y
bSBmaWxlIGhhbmRsZSBvbiBjbG9zZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzIwNjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NTE3MDEz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lzdGVtLWFjY2Vzcy9zYW5kYm94ZWRfRmlsZVN5c3RlbVN5
bmNBY2Nlc3NIYW5kbGUtY2xvc2UuaHR0cHMudGVudGF0aXZlLndvcmtlci1leHBlY3RlZC50eHQ6
CisKIDIwMjEtMTAtMjAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBVUkxQYXJzZXIgc2hvdWxkIHJlamVjdCBob3N0cyB3aXRoIEMwIGNvbnRy
b2wgY2hhcmFjdGVycyBvciBVKzAwN0YKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmlsZS1zeXN0ZW0tYWNjZXNzL3NhbmRib3hlZF9GaWxl
U3lzdGVtU3luY0FjY2Vzc0hhbmRsZS1jbG9zZS5odHRwcy50ZW50YXRpdmUud29ya2VyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmls
ZS1zeXN0ZW0tYWNjZXNzL3NhbmRib3hlZF9GaWxlU3lzdGVtU3luY0FjY2Vzc0hhbmRsZS1jbG9z
ZS5odHRwcy50ZW50YXRpdmUud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBiYjc3YTQ5OWJhMWM4
YzllODI3NzYzMDUzNWEzNzc2NWYyMzk4OGVjLi4yN2ZjNjg3MDc1M2NiMTkyNmFjNzk5MjkxZjU2
M2JkNjE4MmViMjUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZpbGUtc3lzdGVtLWFjY2Vzcy9zYW5kYm94ZWRfRmlsZVN5c3RlbVN5bmNB
Y2Nlc3NIYW5kbGUtY2xvc2UuaHR0cHMudGVudGF0aXZlLndvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9maWxlLXN5c3Rl
bS1hY2Nlc3Mvc2FuZGJveGVkX0ZpbGVTeXN0ZW1TeW5jQWNjZXNzSGFuZGxlLWNsb3NlLmh0dHBz
LnRlbnRhdGl2ZS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDE0IEBACiAKLUZBSUwg
U3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBpcyBpZGVtcG90ZW50IHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yOiBUaGUg
b2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuIgotRkFJTCBTeW5jQWNjZXNzSGFuZGxlLmNs
b3NlIGlzIGlkZW1wb3RlbnQgd2hlbiBjYWxsZWQgaW1tZWRpYXRlbHkgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBUaGUg
b3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gdW5rbm93biB0cmFuc2llbnQgcmVhc29uIChlLmcuIG91
dCBvZiBtZW1vcnkpLiIKLUZBSUwgU3luY0FjY2Vzc0hhbmRsZS5yZWFkIGZhaWxzIGFmdGVyIFN5
bmNBY2Nlc3NIYW5kbGUuY2xvc2Ugc2V0dGxlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBp
cyBpbiBhbiBpbnZhbGlkIHN0YXRlLiIKLUZBSUwgU3luY0FjY2Vzc0hhbmRsZS5yZWFkIGZhaWxz
IGltbWVkaWF0ZWx5IGFmdGVyIGNhbGxpbmcgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJJbnZhbGlkU3Rh
dGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLiIKLUZBSUwgU3luY0Fj
Y2Vzc0hhbmRsZS53cml0ZSBmYWlscyBhZnRlciBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHNldHRs
ZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
SW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4iCi1G
QUlMIFN5bmNBY2Nlc3NIYW5kbGUud3JpdGUgZmFpbHMgaW1tZWRpYXRlbHkgYWZ0ZXIgY2FsbGlu
ZyBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGlu
IGFuIGludmFsaWQgc3RhdGUuIgotRkFJTCBTeW5jQWNjZXNzSGFuZGxlLmZsdXNoIGZhaWxzIGFm
dGVyIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2Ugc2V0dGxlcyBwcm9taXNlX3JlamVjdHNfZG9tOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVW5rbm93bkVy
cm9yOiBUaGUgb3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gdW5rbm93biB0cmFuc2llbnQgcmVhc29u
IChlLmcuIG91dCBvZiBtZW1vcnkpLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxp
ZFN0YXRlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAwLCBleHBlY3RlZCAxMQot
RkFJTCBTeW5jQWNjZXNzSGFuZGxlLmZsdXNoIGZhaWxzIGltbWVkaWF0ZWx5IGFmdGVyIGNhbGxp
bmcgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBwcm9taXNlX3JlamVjdHNfZG9tOiBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVW5rbm93bkVycm9yOiBUaGUg
b3BlcmF0aW9uIGZhaWxlZCBmb3IgYW4gdW5rbm93biB0cmFuc2llbnQgcmVhc29uIChlLmcuIG91
dCBvZiBtZW1vcnkpLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gSW52YWxpZFN0YXRlRXJy
b3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAwLCBleHBlY3RlZCAxMQotRkFJTCBTeW5j
QWNjZXNzSGFuZGxlLmdldFNpemUgZmFpbHMgYWZ0ZXIgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBz
ZXR0bGVzIHByb21pc2VfcmVqZWN0c19kb206IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93
IGUgfSIgdGhyZXcgb2JqZWN0ICJVbmtub3duRXJyb3I6IFRoZSBvcGVyYXRpb24gZmFpbGVkIGZv
ciBhbiB1bmtub3duIHRyYW5zaWVudCByZWFzb24gKGUuZy4gb3V0IG9mIG1lbW9yeSkuIiB0aGF0
IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogcHJvcGVydHkgImNvZGUi
IGlzIGVxdWFsIHRvIDAsIGV4cGVjdGVkIDExCi1GQUlMIFN5bmNBY2Nlc3NIYW5kbGUuZ2V0U2l6
ZSBmYWlscyBpbW1lZGlhdGVseSBhZnRlciBjYWxsaW5nIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2Ug
cHJvbWlzZV9yZWplY3RzX2RvbTogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0
aHJldyBvYmplY3QgIlVua25vd25FcnJvcjogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIHVu
a25vd24gdHJhbnNpZW50IHJlYXNvbiAoZS5nLiBvdXQgb2YgbWVtb3J5KS4iIHRoYXQgaXMgbm90
IGEgRE9NRXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1
YWwgdG8gMCwgZXhwZWN0ZWQgMTEKLUZBSUwgU3luY0FjY2Vzc0hhbmRsZS50cnVuY2F0ZSBmYWls
cyBhZnRlciBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHNldHRsZXMgcHJvbWlzZV9yZWplY3RzX2Rv
bTogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25v
d25FcnJvcjogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIHVua25vd24gdHJhbnNpZW50IHJl
YXNvbiAoZS5nLiBvdXQgb2YgbWVtb3J5KS4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIElu
dmFsaWRTdGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMCwgZXhwZWN0ZWQg
MTEKLUZBSUwgU3luY0FjY2Vzc0hhbmRsZS50cnVuY2F0ZSBmYWlscyBpbW1lZGlhdGVseSBhZnRl
ciBjYWxsaW5nIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2UgcHJvbWlzZV9yZWplY3RzX2RvbTogZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25vd25FcnJv
cjogVGhlIG9wZXJhdGlvbiBmYWlsZWQgZm9yIGFuIHVua25vd24gdHJhbnNpZW50IHJlYXNvbiAo
ZS5nLiBvdXQgb2YgbWVtb3J5KS4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIEludmFsaWRT
dGF0ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMCwgZXhwZWN0ZWQgMTEKK1BB
U1MgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBpcyBpZGVtcG90ZW50CitQQVNTIFN5bmNBY2Nlc3NI
YW5kbGUuY2xvc2UgaXMgaWRlbXBvdGVudCB3aGVuIGNhbGxlZCBpbW1lZGlhdGVseQorUEFTUyBT
eW5jQWNjZXNzSGFuZGxlLnJlYWQgZmFpbHMgYWZ0ZXIgU3luY0FjY2Vzc0hhbmRsZS5jbG9zZSBz
ZXR0bGVzCitQQVNTIFN5bmNBY2Nlc3NIYW5kbGUucmVhZCBmYWlscyBpbW1lZGlhdGVseSBhZnRl
ciBjYWxsaW5nIFN5bmNBY2Nlc3NIYW5kbGUuY2xvc2UKK1BBU1MgU3luY0FjY2Vzc0hhbmRsZS53
cml0ZSBmYWlscyBhZnRlciBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHNldHRsZXMKK1BBU1MgU3lu
Y0FjY2Vzc0hhbmRsZS53cml0ZSBmYWlscyBpbW1lZGlhdGVseSBhZnRlciBjYWxsaW5nIFN5bmNB
Y2Nlc3NIYW5kbGUuY2xvc2UKK1BBU1MgU3luY0FjY2Vzc0hhbmRsZS5mbHVzaCBmYWlscyBhZnRl
ciBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlIHNldHRsZXMKK1BBU1MgU3luY0FjY2Vzc0hhbmRsZS5m
bHVzaCBmYWlscyBpbW1lZGlhdGVseSBhZnRlciBjYWxsaW5nIFN5bmNBY2Nlc3NIYW5kbGUuY2xv
c2UKK1BBU1MgU3luY0FjY2Vzc0hhbmRsZS5nZXRTaXplIGZhaWxzIGFmdGVyIFN5bmNBY2Nlc3NI
YW5kbGUuY2xvc2Ugc2V0dGxlcworUEFTUyBTeW5jQWNjZXNzSGFuZGxlLmdldFNpemUgZmFpbHMg
aW1tZWRpYXRlbHkgYWZ0ZXIgY2FsbGluZyBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlCitQQVNTIFN5
bmNBY2Nlc3NIYW5kbGUudHJ1bmNhdGUgZmFpbHMgYWZ0ZXIgU3luY0FjY2Vzc0hhbmRsZS5jbG9z
ZSBzZXR0bGVzCitQQVNTIFN5bmNBY2Nlc3NIYW5kbGUudHJ1bmNhdGUgZmFpbHMgaW1tZWRpYXRl
bHkgYWZ0ZXIgY2FsbGluZyBTeW5jQWNjZXNzSGFuZGxlLmNsb3NlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3Mt
aGFuZGxlLWNsb3NlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3Jl
c291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg3ZTc5Mjky
NGZhYjZiYTFlMTQ0MzBmYjhjOTIxM2VmY2ZjNDZjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3RlbWFjY2Vzcy9yZXNvdXJjZXMvc3luYy1hY2Nlc3MtaGFu
ZGxlLWNsb3NlLmpzCkBAIC0wLDAgKzEsNDggQEAKK2lmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsK
KyAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcycpOworfQor
CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyBjbG9zZSgpIG9mIEZpbGVTeXN0ZW1TeW5j
QWNjZXNzSGFuZGxlIik7CisKK3ZhciBhY2Nlc3NIYW5kbGUsIHByb21pc2U7CisKK2Z1bmN0aW9u
IGZpbmlzaFRlc3QoZXJyb3IpCit7CisgICAgaWYgKGVycm9yKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoZXJyb3IpOworICAgIH0KKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworYXN5bmMgZnVuY3Rp
b24gdGVzdEZ1bmN0aW9ucygpCit7CisgICAgc2hvdWxkVGhyb3coImF3YWl0IGFjY2Vzc0hhbmRs
ZS5jbG9zZSgpIik7CisgICAgc2hvdWxkVGhyb3coImF3YWl0IGFjY2Vzc0hhbmRsZS5nZXRTaXpl
KCkiKTsKKyAgICBzaG91bGRUaHJvdygiYXdhaXQgYWNjZXNzSGFuZGxlLmZsdXNoKCkiKTsKKyAg
ICBzaG91bGRUaHJvdygiYXdhaXQgYWNjZXNzSGFuZGxlLnJlYWQobmV3IEFycmF5QnVmZmVyKDEp
LCB7IFwiYXRcIiA6IDAgfSkiKTsKKyAgICBzaG91bGRUaHJvdygiYXdhaXQgYWNjZXNzSGFuZGxl
LndyaXRlKG5ldyBBcnJheUJ1ZmZlcigxKSwgeyBcImF0XCIgOiAwIH0pIik7Cit9CisKK2FzeW5j
IGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHJvb3RIYW5kbGUgPSBh
d2FpdCBuYXZpZ2F0b3Iuc3RvcmFnZS5nZXREaXJlY3RvcnkoKTsKKyAgICAgICAgLy8gQ3JlYXRl
IGEgbmV3IGZpbGUgZm9yIHRoaXMgdGVzdC4KKyAgICAgICAgYXdhaXQgcm9vdEhhbmRsZS5yZW1v
dmVFbnRyeSgic3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLnR4dCIpLnRoZW4oKCkgPT4geyB9LCAo
KSA9PiB7IH0pOworICAgICAgICB2YXIgZmlsZUhhbmRsZSA9IGF3YWl0IHJvb3RIYW5kbGUuZ2V0
RmlsZUhhbmRsZSgic3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLnR4dCIsIHsgImNyZWF0ZSIgOiB0
cnVlICB9KTsKKyAgICAgICAgYWNjZXNzSGFuZGxlID0gYXdhaXQgZmlsZUhhbmRsZS5jcmVhdGVT
eW5jQWNjZXNzSGFuZGxlKCk7CisKKyAgICAgICAgdmFyIGNsb3NlUHJvbWlzZSA9IGFjY2Vzc0hh
bmRsZS5jbG9zZSgpOworICAgICAgICBkZWJ1ZygidGVzdCBhZnRlciBpbnZva2luZyBjbG9zZSgp
OiIpOworICAgICAgICB0ZXN0RnVuY3Rpb25zKCk7CisKKyAgICAgICAgZGVidWcoInRlc3QgYWZ0
ZXIgY2xvc2UoKSBpcyBkb25lOiIpOworICAgICAgICBhd2FpdCBjbG9zZVByb21pc2U7CisgICAg
ICAgIHRlc3RGdW5jdGlvbnMoKTsKKworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBjYXRj
aCAoZXJyb3IpIHsKKyAgICAgICAgZmluaXNoVGVzdChlcnJvcik7CisgICAgfQorfQorCit0ZXN0
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3lu
Yy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGVhZmY5YTdmOTA1Y2VhMTkxNjM1YTEzY2NhZTAwMGEy
NTIwMWU5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZmlsZXN5c3Rl
bWFjY2Vzcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2Utd29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIyIEBACitbV29ya2VyXSBUaGlzIHRlc3QgY2hlY2tzIGNsb3NlKCkgb2YgRmlsZVN5
c3RlbVN5bmNBY2Nlc3NIYW5kbGUKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1N0
YXJ0aW5nIHdvcmtlcjogcmVzb3VyY2VzL3N5bmMtYWNjZXNzLWhhbmRsZS1jbG9zZS5qcworW1dv
cmtlcl0gdGVzdCBhZnRlciBpbnZva2luZyBjbG9zZSgpOgorUEFTUyBbV29ya2VyXSBhd2FpdCBh
Y2Nlc3NIYW5kbGUuY2xvc2UoKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNz
SGFuZGxlLmdldFNpemUoKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
aWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFu
ZGxlLmZsdXNoKCkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50
aWZpZXIgJ2FjY2Vzc0hhbmRsZScuCitQQVNTIFtXb3JrZXJdIGF3YWl0IGFjY2Vzc0hhbmRsZS5y
ZWFkKG5ldyBBcnJheUJ1ZmZlcigxKSwgeyAiYXQiIDogMCB9KSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dv
cmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLndyaXRlKG5ldyBBcnJheUJ1ZmZlcigxKSwgeyAiYXQi
IDogMCB9KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmll
ciAnYWNjZXNzSGFuZGxlJy4KK1tXb3JrZXJdIHRlc3QgYWZ0ZXIgY2xvc2UoKSBpcyBkb25lOgor
UEFTUyBbV29ya2VyXSBhd2FpdCBhY2Nlc3NIYW5kbGUuY2xvc2UoKSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1Mg
W1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLmdldFNpemUoKSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1MgW1dv
cmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLmZsdXNoKCkgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2FjY2Vzc0hhbmRsZScuCitQQVNTIFtXb3JrZXJd
IGF3YWl0IGFjY2Vzc0hhbmRsZS5yZWFkKG5ldyBBcnJheUJ1ZmZlcigxKSwgeyAiYXQiIDogMCB9
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNj
ZXNzSGFuZGxlJy4KK1BBU1MgW1dvcmtlcl0gYXdhaXQgYWNjZXNzSGFuZGxlLndyaXRlKG5ldyBB
cnJheUJ1ZmZlcigxKSwgeyAiYXQiIDogMCB9KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnYWNjZXNzSGFuZGxlJy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2ZpbGVzeXN0ZW1hY2Nlc3Mvc3luYy1hY2Nlc3MtaGFuZGxlLWNsb3NlLXdvcmtl
ci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNz
LWhhbmRsZS1jbG9zZS13b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZmIwODcxMjBmZjNiOWUwZDg3
YTZmNmI4ZWUyZDIwM2M1NjZjZTEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9maWxlc3lzdGVtYWNjZXNzL3N5bmMtYWNjZXNzLWhhbmRsZS1jbG9zZS13b3JrZXIuaHRt
bApAQCAtMCwwICsxLDkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
d29ya2VyID0gc3RhcnRXb3JrZXIoJ3Jlc291cmNlcy9zeW5jLWFjY2Vzcy1oYW5kbGUtY2xvc2Uu
anMnKTs8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>