<?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>212165</bug_id>
          
          <creation_ts>2020-05-20 13:49:11 -0700</creation_ts>
          <short_desc>[ macOS iOS ] http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html is a rare flaky failure</short_desc>
          <delta_ts>2020-07-14 11:19:07 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jacob Uphoff">jacob_uphoff</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1654622</commentid>
    <comment_count>0</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-05-20 13:49:11 -0700</bug_when>
    <thetext>http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html

This test has been a rare flaky failure for all visible history.

History:

https://results.webkit.org/?suite=layout-tests&amp;test=http%2Ftests%2FresourceLoadStatistics%2Ftelemetry-generation-basic-functionality-database.html&amp;platform=ios&amp;platform=mac

Diff:

@@ -15,17 +15,18 @@
 PASS testResult.top3MedianUniqueRedirectsWithoutUI is 0
 PASS testResult.top3MedianDataRecordsRemovedWithoutUI is 0
 PASS Hosts classified as prevalent resources.
-PASS testResult.numberOfPrevalentResources is 4
-PASS testResult.numberOfPrevalentResourcesWithUserInteraction is 1
-PASS testResult.numberOfPrevalentResourcesWithoutUserInteraction is 3
+FAIL testResult.numberOfPrevalentResources should be 4. Was 0.
+FAIL testResult.numberOfPrevalentResourcesWithUserInteraction should be 1. Was 0.
+FAIL testResult.numberOfPrevalentResourcesWithoutUserInteraction should be 3. Was 0.
 PASS testResult.topPrevalentResourceWithUserInteractionDaysSinceUserInteraction is 0
 PASS testResult.medianDaysSinceUserInteractionPrevalentResourceWithUserInteraction is 0
 PASS testResult.top3NumberOfPrevalentResourcesWithUI is 0
-PASS testResult.top3MedianSubFrameWithoutUI is 4
-PASS testResult.top3MedianSubResourceWithoutUI is 4
-PASS testResult.top3MedianUniqueRedirectsWithoutUI is 4
+FAIL testResult.top3MedianSubFrameWithoutUI should be 4. Was 0.
+FAIL testResult.top3MedianSubResourceWithoutUI should be 4. Was 0.
+FAIL testResult.top3MedianUniqueRedirectsWithoutUI should be 4. Was 0.
 PASS testResult.top3MedianDataRecordsRemovedWithoutUI is 0
 PASS successfullyParsed is true
+Some tests failed.
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654623</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-20 13:49:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/63462045&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654634</commentid>
    <comment_count>2</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-05-20 14:01:40 -0700</bug_when>
    <thetext>set expectations here: https://trac.webkit.org/changeset/261952/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671248</commentid>
    <comment_count>3</comment_count>
      <attachid>404196</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-07-13 18:02:33 -0700</bug_when>
    <thetext>Created attachment 404196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671249</commentid>
    <comment_count>4</comment_count>
      <attachid>404197</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-07-13 18:08:33 -0700</bug_when>
    <thetext>Created attachment 404197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671254</commentid>
    <comment_count>5</comment_count>
      <attachid>404198</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-07-13 18:15:59 -0700</bug_when>
    <thetext>Created attachment 404198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671368</commentid>
    <comment_count>6</comment_count>
      <attachid>404198</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-07-14 08:37:46 -0700</bug_when>
    <thetext>Comment on attachment 404198
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671392</commentid>
    <comment_count>7</comment_count>
      <attachid>404198</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-07-14 09:26:59 -0700</bug_when>
    <thetext>Comment on attachment 404198
Patch

cq- because of wincairo build failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671407</commentid>
    <comment_count>8</comment_count>
      <attachid>404246</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-07-14 09:59:40 -0700</bug_when>
    <thetext>Created attachment 404246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671444</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-14 11:19:06 -0700</bug_when>
    <thetext>Committed r264356: &lt;https://trac.webkit.org/changeset/264356&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404246.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404196</attachid>
            <date>2020-07-13 18:02:33 -0700</date>
            <delta_ts>2020-07-13 18:08:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212165-20200713180232.patch</filename>
            <type>text/plain</type>
            <size>39929</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVmN2IzZDJhYjI3MmQxNWIw
NDI1MTM5NzIwZjIwYzkxZWU5OWY0ZDkuLjIwN2FmMmUzZGJmY2I1Mjk0NGMwZDlkMGIxODJiNTBk
NjM0MDMzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMjAtMDctMTMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBpT1Mg
XSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24t
YmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGlzIGEgcmFyZSBmbGFreSBmYWlsdXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIxNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNDYyMDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qgd2FzIGZsYWtpbmcgYmVjYXVzZSBvZiBt
dWx0aXBsZSBhc3luYyBjYWxscyB0byBzdWJtaXQgdGVsZW1ldHJ5LAorICAgICAgICB3aGljaCBo
YXBwZW4gd2hlbiBhIG5ldyBJVFAgc3RvcmUgaXMgY3JlYXRlZCBhbmQgYWdhaW4gd2hlbiB0aGUg
dGVzdAorICAgICAgICBtYWtlcyBhbiBTUEkgY2FsbC4gSWYgdGhlIGZpcnN0IHRlbGVtZXRyeSBj
YWxsIGlzIHJlcG9ydGVkIGFmdGVyIHRoZSB0ZXN0CisgICAgICAgIHNldHMgbm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgYnV0IGJlZm9yZSB0aGUgU1BJIGNhbGwgdG8gY2FwdHVy
ZQorICAgICAgICB0ZWxlbWV0cnkgaXMgc3VibWl0dGVkLCB0aGUgdGVzdCB3aWxsIHJlY2VpdmUg
dGhlIHdyb25nIGRhdGEuCisgICAgICAgIFRvIGZpeCB0aGlzLCB3ZSBzaG91bGQgc2ltcGxpZnkg
YnkgcmVtb3ZpbmcgdGhlIHNlcGFyYXRlIGZ1bmN0aW9uIHRvCisgICAgICAgIHRlbGwgSVRQIHRv
IHJlcG9ydCB0ZWxlbWV0cnksIGFuZCBpbnN0ZWFkIGFsd2F5cyByZXBvcnQgd2hlbiB0aGUgdGVz
dGluZworICAgICAgICBTUEkgY2FsbCBpcyBtYWRlLiAKKworICAgICAgICBObyBuZXcgdGVzdHMs
IHdpbGwgZml4IGZsYWt5IHRlc3RzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjYWxjdWxhdGVBbmRT
dWJtaXRUZWxlbWV0cnkgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6
Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5IGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OnN1Ym1pdFRlbGVtZXRyeSk6CisgICAgICAgIEFkZCBpbiBuZXcgZW51
bSB2YWx1ZSB0byBpbmRpY2F0ZSB3aGVuIHRoZSB0ZWxlbWV0cnkgY2FsbCBpcyBjb21pbmcKKyAg
ICAgICAgZnJvbSB0aGUgdGVzdGluZyBTUEkuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpjYWxjdWxhdGVB
bmRTdWJtaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVs
ZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5Lmg6CisgICAgICAgIFJlbW92ZSBzdGF0aWMg
Ym9vbCB2YXJpYWJsZSBub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBhbmQKKyAg
ICAgICAgcmVseSBvbiB0aGUgc3VibWl0VGVsZW1ldHJ5IGZ1bmN0aW9uIGNhbGwgdG8gbGV0IHVz
IGtub3cgd2hlbiB0byByZXBvcnQgdGVsZW1ldHJ5LgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3Rv
cmVTZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVs
ZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6
OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICBS
ZW1vdmUgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgZnVuY3Rpb24uCisK
IDIwMjAtMDctMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgYXV0b2NhcGl0YWxpemU9IndvcmRzIiBjYXBpdGFsaXplcyBldmVyeSB3b3JkJ3Mgc2Vj
b25kIGNoYXJhY3RlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RGF0YWJhc2VTdG9yZS5jcHAKaW5kZXggZTNiMzRhNjk5NWU0ODJjZDAxODczMmQ3ZjRlNWM0MjMy
NjE5MmVkNS4uMmVhYzgyNDZlMzZiZTExMzNiMzZkZTJkNWU1MzA0ZThiMTMyZTBkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3Bw
CkBAIC0xMjUyLDE0ICsxMjUyLDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFi
YXNlU3RvcmU6OmNhbGN1bGF0ZVRlbGVtZXRyeURhdGEoUHJldmFsZW50UmVzb3VyCiAgICAgfQog
fQogCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjYWxjdWxhdGVB
bmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KE5vdGlmeVBhZ2VzRm9yVGVz
dGluZyBzaG91bGROb3RpZnlQYWdlc0ZvclRlc3RpbmcpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7CiAKICAgICBpZiAocGFyYW1ldGVycygpLnNob3VsZFN1Ym1pdFRl
bGVtZXRyeSkgewogICAgICAgICBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5IHBy
ZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnk7CiAgICAgICAgIGNhbGN1bGF0ZVRlbGVt
ZXRyeURhdGEocHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7Ci0gICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywg
cHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7CisgICAgICAgIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywgcHJldmFsZW50
UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSwgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlLmgKaW5kZXggMTE2MGFhZTNiOTNiZDY3ZjA2M2NkZDY0Y2FjZjAwZjc0YjFhZDk2
Yy4uMTlmNzY4YmQzODA5NTRjNzBlMTgzNzY2MGI3YjVmY2JjMDcwZTZjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhYmFzZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTEyMyw3
ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8o
Y29uc3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVEb21h
aW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxjdWxh
dGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1bGF0
ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdlc0Zv
clRlc3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgaGFzU3RvcmFnZUFjY2Vz
cyhjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgT3B0aW9uYWw8
V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFN0
b3JhZ2VBY2Nlc3MoU3ViRnJhbWVEb21haW4mJiwgVG9wRnJhbWVEb21haW4mJiwgV2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6U3RvcmFn
ZUFjY2Vzc1Njb3BlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0b3JhZ2VBY2Nlc3NTdGF0dXMp
PiYmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZS5jcHAKaW5kZXggMDY2OTgyMGQ4NjU3ZTU5M2M0NjYyY2Y5NTY5Y2ZmMjgzOWZm
MjRjZS4uMDI5YzU0NWUxMTFhMmFmN2QyOWI0Y2Q2MGU0MDUyZjY0MGFlOTAzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKQEAgLTk4
LDEyICs5OCwxMiBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6c2V0
UGVyc2lzdGVudFN0b3JhZ2UoUmVzb3VyY2VMb2FkU3RhdGlzdAogICAgIG1fcGVyc2lzdGVudFN0
b3JhZ2UgPSBtYWtlV2Vha1B0cihwZXJzaXN0ZW50U3RvcmFnZSk7CiB9CiAKLXZvaWQgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpjYWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnko
KSBjb25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmNhbGN1bGF0
ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3Rpbmcgc2hvdWxkTm90aWZ5UGFn
ZXNGb3JUZXN0aW5nKSBjb25zdAogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwog
CiAgICAgaWYgKHBhcmFtZXRlcnMoKS5zaG91bGRTdWJtaXRUZWxlbWV0cnkpCi0gICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFuZFN1Ym1pdCgqdGhp
cyk7CisgICAgICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0
ZUFuZFN1Ym1pdCgqdGhpcywgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsKIH0KIAogc3Rh
dGljIHZvaWQgZW5zdXJlVGhpcmRQYXJ0eURhdGFGb3JTcGVjaWZpY0ZpcnN0UGFydHlEb21haW4o
VmVjdG9yPFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6VGhpcmRQYXJ0eURhdGFGb3JT
cGVjaWZpY0ZpcnN0UGFydHk+JiB0aGlyZFBhcnR5RGF0YUZvclNwZWNpZmljRmlyc3RQYXJ0eURv
bWFpbiwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGZpcnN0UGFydHlEb21haW4sIGJvb2wgdGhp
cmRQYXJ0eUhhc1N0b3JhZ2VBY2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlLmgKaW5kZXggMWNlYTBiZTJhODBiY2U4MmRmYTBjNzBjYmY4ZDA5
Y2M2MmVmOThkZC4uMDljOWViZThhN2ZjMDVkMDAxMDQ5NGIyNDUxZDMzYjZlNmY3ODlhMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaApAQCAt
OTYsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0
VG8oY29uc3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVE
b21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxj
dWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1
bGF0ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdl
c0ZvclRlc3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgYXJlQWxsVGhpcmRQ
YXJ0eUNvb2tpZXNCbG9ja2VkVW5kZXIoY29uc3QgVG9wRnJhbWVEb21haW4mKSBvdmVycmlkZTsK
ICAgICBDb29raWVBY2Nlc3MgY29va2llQWNjZXNzKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MmLCBjb25zdCBUb3BGcmFtZURvbWFpbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oCmluZGV4IGQ1NDlmYzFhMzc1MDU2NTYzMzBjMDQzMWQ0ZjViNTZhMWJjNTgx
YmUuLjM3ZWU0MDZiNWVhMTUyNjk5MTQ5OWJhYmJhYWRmY2M4MGY2M2FjMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTE1Niw3ICsxNTYsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRQcnVuZUVudHJpZXNEb3duVG8oc2l6ZV90IHBydW5lVGFyZ2V0Q291
bnQpOwogICAgIHZvaWQgcmVzZXRQYXJhbWV0ZXJzVG9EZWZhdWx0VmFsdWVzKCk7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgY2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkoTm90aWZ5UGFnZXNGb3JU
ZXN0aW5nID0gTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpObykgY29uc3QgPSAwOwogCiAgICAgdm9p
ZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZv
aWQgc2V0SXNSdW5uaW5nVGVzdChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXggZjFhODU2MDBhNDRmNGE3ZWQwNTI1ZDU0ZDAyOTRm
N2JjNmNhMzgwZC4uOGE2MGVmMjdlNmYyN2Y2MGM3OTMwYTE4MGQxNDBmZDEwNTNlMzM0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKQEAgLTE1
OSwxNCArMTU5LDYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFNo
b3VsZFN1Ym1pdFRlbGVtZXRyeShib29sIHZhbHVlKQogICAgIH0pOwogfQogCi12b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBXZWJL
aXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnNldE5vdGlmeVBhZ2VzV2hl
blRlbGVtZXRyeVdhc0NhcHR1cmVkKHZhbHVlKTsKLSAgICBjb21wbGV0aW9uSGFuZGxlcigpOwot
fQotCiBzdGF0aWMgUmVmPFdvcmtRdWV1ZT4gc2hhcmVkU3RhdGlzdGljc1F1ZXVlKCkKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVmPFdvcmtRdWV1ZT4+IHF1ZXVlKFdvcmtRdWV1ZTo6
Y3JlYXRlKCJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgUHJvY2VzcyBEYXRhIFF1ZXVl
IiwgV29ya1F1ZXVlOjpUeXBlOjpTZXJpYWwsIFdvcmtRdWV1ZTo6UU9TOjpVdGlsaXR5KSk7CkBA
IC03NjgsMTEgKzc2MCw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpz
dWJtaXRUZWxlbWV0cnkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmCiAgICAgcG9zdFRhc2so
W3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkg
bXV0YWJsZSAgewogICAgICAgICBpZiAoIW1fc3RhdGlzdGljc1N0b3JlKQogICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAKLSAgICAgICAgaWYgKGlzPFJlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZT4oKm1fc3RhdGlzdGljc1N0b3JlKSkKLSAgICAgICAgICAgIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFuZFN1Ym1pdChkb3duY2FzdDxSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZSkpOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZS0+Y2FsY3VsYXRlQW5kU3Vi
bWl0VGVsZW1ldHJ5KCk7CisgICAgICAgIG1fc3RhdGlzdGljc1N0b3JlLT5jYWxjdWxhdGVBbmRT
dWJtaXRUZWxlbWV0cnkoTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpZZXMpOwogICAgICAgICBwb3N0
VGFza1JlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICB9KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAppbmRleCBmM2MzZjc1M2Qz
YjhlNTI0ZDMyZjA0NzA1ZjE2ZGY1YWQ3ZDk3N2E1Li4xMzVmNmFlMmE3NjI5YzJmN2Y1ZTg1MTdi
MDExNGRiOWNkMzQzNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5oCkBAIC02OSw2ICs2OSw3IEBAIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIGVudW0g
Y2xhc3MgU2hvdWxkR3JhbmRmYXRoZXJTdGF0aXN0aWNzIDogYm9vbDsKIGVudW0gY2xhc3MgU2hv
dWxkSW5jbHVkZUxvY2FsaG9zdCA6IGJvb2wgeyBObywgWWVzIH07CiBlbnVtIGNsYXNzIEVuYWJs
ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUgOiBib29sIHsgTm8sIFllcyB9OworZW51
bSBjbGFzcyBOb3RpZnlQYWdlc0ZvclRlc3RpbmcgOiBib29sIHsgTm8sIFllcyB9Owogc3RydWN0
IFJlZ2lzdHJhYmxlRG9tYWluc1RvQmxvY2tDb29raWVzRm9yIHsKICAgICBWZWN0b3I8V2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4+IGRvbWFpbnNUb0Jsb2NrQW5kRGVsZXRlQ29va2llc0ZvcjsK
ICAgICBWZWN0b3I8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IGRvbWFpbnNUb0Jsb2NrQnV0
S2VlcENvb2tpZXNGb3I7CkBAIC0yMDcsNyArMjA4LDYgQEAgc3RydWN0IFRoaXJkUGFydHlEYXRh
IHsKIAogICAgIHZvaWQgcG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKGJvb2wpOwotICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNl
dFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTaG91bGRTdWJtaXRUZWxl
bWV0cnkoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVsZW1ldHJ5LmNwcAppbmRleCBhYWVhMjQ3MjhiMzlhYjI3NTAxMGFjY2RiMWExNTU3OTNj
MGRlYzQ4Li43MmJiODkwNWEzZTFiNjMyMjc5M2ViNTM5ZWVhYTIzMjRiNmQ0NWQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwCkBA
IC00NSw3ICs0NSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjb25zdCB1bnNpZ25l
ZCBtaW5pbXVtUHJldmFsZW50UmVzb3VyY2VzRm9yVGVsZW1ldHJ5ID0gMzsKIGNvbnN0IHVuc2ln
bmVkIHNpZ25pZmljYW50RmlndXJlc0ZvckxvZ2dlZFZhbHVlcyA9IDM7Ci1zdGF0aWMgYm9vbCBu
b3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9IGZhbHNlOwogCiBzdHJ1Y3QgUHJl
dmFsZW50UmVzb3VyY2VUZWxlbWV0cnkgewogICAgIHVuc2lnbmVkIG51bWJlck9mVGltZXNEYXRh
UmVjb3Jkc1JlbW92ZWQ7CkBAIC0yMTYsMTIgKzIxNSwxMiBAQCB2b2lkIHN0YXRpYyBub3RpZnlQ
YWdlcyhjb25zdCBWZWN0b3I8UHJldmFsZW50UmVzb3VyY2VUZWxlbWV0cnk+JiBzb3J0ZWRQcmV2
YWxlbgogICAgIG5vdGlmeVBhZ2VzKHNvcnRlZFByZXZhbGVudFJlc291cmNlcy5zaXplKCksIHRv
dGFsTnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0aW9uLCAwLCAwLCAw
LCAwLCBtZWRpYW4oc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlv
biwgMCwgMiwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0dldHRlciksIDAsIDAsIDAsICBz
dG9yZSk7CiB9CiAgICAgCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6
OmNhbGN1bGF0ZUFuZFN1Ym1pdChjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3Rv
cmUmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSkKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RlbGVtZXRyeTo6Y2FsY3VsYXRlQW5kU3VibWl0KGNvbnN0IFJlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZSYgcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLCBOb3RpZnlQ
YWdlc0ZvclRlc3Rpbmcgbm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpCiB7CiAg
ICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CiAgICAgCiAgICAgYXV0byBzb3J0ZWRQcmV2
YWxlbnRSZXNvdXJjZXMgPSBzb3J0ZWRQcmV2YWxlbnRSZXNvdXJjZVRlbGVtZXRyeShyZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUpOwotICAgIGlmIChub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZCAmJiBzb3J0ZWRQcmV2YWxlbnRSZXNvdXJjZXMuaXNFbXB0eSgpKSB7CisgICAg
aWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2VzRm9y
VGVzdGluZzo6WWVzICYmIHNvcnRlZFByZXZhbGVudFJlc291cmNlcy5pc0VtcHR5KCkpIHsKICAg
ICAgICAgbm90aWZ5UGFnZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgcmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLnN0b3JlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
MjM4LDE1ICsyMzcsMTUgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5
OjpjYWxjdWxhdGVBbmRTdWJtaXQoY29uc3QgUmVzb3VyY2VMb2FkU3QKICAgICB9CiAgICAgCiAg
ICAgLy8gRGlzcGF0Y2ggb24gdGhlIG1haW4gdGhyZWFkIHRvIG1ha2Ugc3VyZSB0aGUgV2ViUGFn
ZVByb3h5IHdlJ3JlIHVzaW5nIGRvZXNuJ3QgZ28gYXdheS4KLSAgICBSdW5Mb29wOjptYWluKCku
ZGlzcGF0Y2goW3NvcnRlZFByZXZhbGVudFJlc291cmNlcyA9IFdURk1vdmUoc29ydGVkUHJldmFs
ZW50UmVzb3VyY2VzKSwgc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFj
dGlvbiA9IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFj
dGlvbiksIHByZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiA9IFdURk1v
dmUocHJldmFsZW50UmVzb3VyY2VzRGF5c1NpbmNlVXNlckludGVyYWN0aW9uKSwgc3RvcmUgPSBt
YWtlUmVmKHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgeworICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbbm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQsIHNvcnRlZFByZXZhbGVudFJlc291cmNlcyA9IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVz
b3VyY2VzKSwgc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiA9
IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiks
IHByZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiA9IFdURk1vdmUocHJl
dmFsZW50UmVzb3VyY2VzRGF5c1NpbmNlVXNlckludGVyYWN0aW9uKSwgc3RvcmUgPSBtYWtlUmVm
KHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgewogICAgICAgICBhdXRv
IHdlYlBhZ2VQcm94eSA9IFdlYlBhZ2VQcm94eTo6bm9uRXBoZW1lcmFsV2ViUGFnZVByb3h5KCk7
CiAgICAgICAgIGlmICghd2ViUGFnZVByb3h5KSB7Ci0gICAgICAgICAgICBpZiAobm90aWZ5UGFn
ZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpCisgICAgICAgICAgICBpZiAobm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgPT0gTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpZZXMpCiAg
ICAgICAgICAgICAgICAgbm90aWZ5UGFnZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
c3RvcmUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAg
ICBpZiAobm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpIHsKKyAgICAgICAgaWYg
KG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2VzRm9yVGVz
dGluZzo6WWVzKSB7CiAgICAgICAgICAgICBub3RpZnlQYWdlcyhzb3J0ZWRQcmV2YWxlbnRSZXNv
dXJjZXMsIHNvcnRlZFByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24sIHBy
ZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbi5zaXplKCksIHN0b3JlKTsK
ICAgICAgICAgICAgIC8vIFRoZSBub3RpZnkgcGFnZXMgZnVuY3Rpb24gaXMgZm9yIHRlc3Rpbmcg
c28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbiBhY3R1YWwgc3VibWlzc2lvbi4KICAgICAgICAgICAg
IHJldHVybjsKQEAgLTMwMywyMCArMzAyLDIxIEBAIHN0YXRpYyB2b2lkIGRhdGFiYXNlU3VibWl0
VG9wTGlzdHMoY29uc3QgUHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYgdGVsCiAg
ICAgfQogfQogCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1p
dFRlbGVtZXRyeShjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZSYgcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLCBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1l
dHJ5JiBwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5KQordm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkoY29uc3QgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSwg
UHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYgcHJldmFsZW50UmVzb3VyY2VEYXRh
YmFzZVRlbGVtZXRyeSwgTm90aWZ5UGFnZXNGb3JUZXN0aW5nIG5vdGlmeVBhZ2VzV2hlblRlbGVt
ZXRyeVdhc0NhcHR1cmVkKQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCi0g
ICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkICYmICFwcmV2YWxlbnRS
ZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzKSB7Cisg
ICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2Vz
Rm9yVGVzdGluZzo6WWVzICYmICFwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5Lm51
bWJlck9mUHJldmFsZW50UmVzb3VyY2VzKSB7CiAgICAgICAgIG5vdGlmeVBhZ2VzKDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIERpc3BhdGNoIG9uIHRoZSBtYWlu
IHRocmVhZCB0byBtYWtlIHN1cmUgdGhlIFdlYlBhZ2VQcm94eSB3ZSdyZSB1c2luZyBkb2Vzbid0
IGdvIGF3YXkuCi0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0ZWxlbWV0cnkgPSBXVEZN
b3ZlKHByZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnkpLCBzdG9yZSA9IG1ha2VSZWYo
cmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLnN0b3JlKCkpXSAoKSB7CisgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFtub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCwgdGVs
ZW1ldHJ5ID0gV1RGTW92ZShwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5KSwgc3Rv
cmUgPSBtYWtlUmVmKHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgewog
CiAgICAgICAgIC8vIFRoZSBub3RpZnkgcGFnZXMgZnVuY3Rpb24gaXMgZm9yIHRlc3Rpbmcgc28g
d2UgZG9uJ3QgbmVlZCB0byBkbyBhbiBhY3R1YWwgc3VibWlzc2lvbi4KLSAgICAgICAgaWYgKG5v
dGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKSB7CisgICAgICAgIGlmIChub3RpZnlQ
YWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9PSBOb3RpZnlQYWdlc0ZvclRlc3Rpbmc6Olll
cykgeworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZCA9PSBOb3RpZnlQYWdlc0ZvclRlc3Rpbmc6OlllcyIpOwogICAgICAgICAgICAg
aWYgKHRlbGVtZXRyeS5udW1iZXJPZlByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJh
Y3Rpb24gPCAzKSB7CiAgICAgICAgICAgICAgICAgbm90aWZ5UGFnZXMoMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgc3RvcmUpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTM0OSwx
MiArMzQ5LDYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzdWJt
aXRUZWxlbWV0cnkoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGkKICAgICAgICAgZGF0YWJhc2VTdWJt
aXRUb3BMaXN0cyh0ZWxlbWV0cnksIHN0b3JlKTsKICAgICB9KTsKIH0KLSAgICAKLXZvaWQgV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1l
dHJ5V2FzQ2FwdHVyZWQoYm9vbCBhbHdheXMpCi17Ci0gICAgbm90aWZ5UGFnZXNXaGVuVGVsZW1l
dHJ5V2FzQ2FwdHVyZWQgPSBhbHdheXM7Ci19Ci0gICAgCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUZWxlbWV0cnkuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmgKaW5kZXggZDdlZTEw
N2E4MTEyMTk3NWVmYTI5Mjc5YjRiNmU2NzkyODM2Yzg1Zi4uOTk4YTNkNjE1NjNhOTdlMmYxMmUz
MTQwODc3OGM3YTg4NTAyNzY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1RlbGVtZXRyeS5oCkBAIC0zNyw5ICszNyw4IEBAIHN0cnVjdCBQcmV2YWxlbnRS
ZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5OwogCiBuYW1lc3BhY2UgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RlbGVtZXRyeSB7CiAgICAgCi12b2lkIGNhbGN1bGF0ZUFuZFN1Ym1pdChjb25zdCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmKTsKLXZvaWQgc3VibWl0VGVsZW1ldHJ5
KGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlJiwgUHJldmFsZW50UmVz
b3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYpOwotdm9pZCBzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0
cnlXYXNDYXB0dXJlZChib29sKTsKK3ZvaWQgY2FsY3VsYXRlQW5kU3VibWl0KGNvbnN0IFJlc291
cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZSYsIE5vdGlmeVBhZ2VzRm9yVGVzdGluZyA9IE5v
dGlmeVBhZ2VzRm9yVGVzdGluZzo6Tm8pOwordm9pZCBzdWJtaXRUZWxlbWV0cnkoY29uc3QgUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUmLCBQcmV2YWxlbnRSZXNvdXJjZURhdGFi
YXNlVGVsZW1ldHJ5JiwgTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsKICAgICAKIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggZmU2
OWMyZGM5Njc3MjhlZDE0MTk1ZGRlZDlmYTNhZjE0MjNhYWE4NS4uNTNhMWYyMWNhMmFjMjNlNjY4
ZTk2MjEyZjk1ZDg4MTY4ZWNmM2M4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTg2NywxOSArODY3LDYgQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6c2V0SXNSdW5uaW5nUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNz
aW9uSUQgc2Vzc2kKICAgICB9CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldE5vdGlmeVBh
Z2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9v
bCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQot
ewotICAgIGlmIChhdXRvKiBuZXR3b3JrU2Vzc2lvbiA9IHRoaXMtPm5ldHdvcmtTZXNzaW9uKHNl
c3Npb25JRCkpIHsKLSAgICAgICAgaWYgKGF1dG8qIHJlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBu
ZXR3b3JrU2Vzc2lvbi0+cmVzb3VyY2VMb2FkU3RhdGlzdGljcygpKQotICAgICAgICAgICAgcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy0+c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQodmFsdWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9Ci19
Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbihQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiBzdWJGcmFt
ZURvbWFpbiwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHRvcEZyYW1lRG9tYWluLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKGF1dG8q
IG5ldHdvcmtTZXNzaW9uID0gdGhpcy0+bmV0d29ya1Nlc3Npb24oc2Vzc2lvbklEKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDdmYjlm
N2JhMTdlNjRlNjU0YWM3YWVhNmQ1MDgwMjA2NGIxMTFhMWUuLmUxNDc5YzVkYWRmOTdhN2EzN2Y2
OGRmODk4ODk0ZjNkNGM1MWQ2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmgKQEAgLTI0OCw3ICsyNDgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoUEFMOjpTZXNzaW9uSUQsIFNl
Y29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXROb3RpZnlQ
YWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKFBBTDo6U2Vzc2lvbklELCBib29sIHZhbHVl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0SXNSdW5uaW5nUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXROb3RpZnlQYWdlc1doZW5UZWxl
bWV0cnlXYXNDYXB0dXJlZChQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkKFBBTDo6U2Vzc2lvbklELCBib29sKTsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NMb2dUZXN0aW5nRXZlbnQoYm9vbCk7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGVidWdNb2RlKFBBTDo6U2Vzc2lvbklELCBib29sIGRlYnVnTW9kZSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBkMmM4NjI4ZDdkYTA4NWYw
OTBhZDU1NDNmNTYyODYxOTQ1MmJhNWMyLi43MDIyMjg1ZTM2ODg1ZGU4NmYyZGFmNjg4OGIwMjQ3
Mjk5MzVjZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEyNyw3ICsxMjcsNiBAQCBtZXNzYWdlcyAt
PiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0U2hvdWxkQ2xhc3NpZnlS
ZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBib29sIHZhbHVlKSAtPiAoKSBBc3luYwogICAgIFNldE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlKSAtPiAo
KSBBc3luYwogICAgIFNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5bmMKLSAgICBTZXROb3Rp
ZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IGJvb2wgdmFsdWUpIC0+ICgpIEFzeW5jCiAgICAgU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rl
YnVnTW9kZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgZGVidWdNb2RlKSAtPiAoKSBB
c3luYwogICAgIFNldFZlcnlQcmV2YWxlbnRSZXNvdXJjZShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJlc291cmNlRG9tYWluKSAtPiAoKSBBc3lu
YwogICAgIFNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbihQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHN1YkZyYW1lRG9tYWluLCBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbiB0b3BGcmFtZURvbWFpbikgLT4gKCkgQXN5bmMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYu
Y3BwCmluZGV4IDY4NmU0NzQyZjc0MWY0MmE1YzBjNmFlNDFlNGI2ZTc0ZWZlNjc5ZDMuLjg3YTM3
MGNjNjEyODkyNThhMjYxZmYyM2ZkOTgxOGU0NmU3YWU1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAt
NDc0LDEzICs0NzQsNiBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTaG91
bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtbwogI2VuZGlmCiB9CiAKLXZv
aWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRy
eVdhc0NhcHR1cmVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFs
dWUpCi17Ci0jaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKLSAgICBXZWJLaXQ6
OnRvSW1wbChkYXRhU3RvcmVSZWYpLT5zZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCh2YWx1ZSwgW10oKSB7IH0pOwotI2VuZGlmCi19Ci0KIHZvaWQgV0tXZWJzaXRlRGF0YVN0
b3JlU2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbChXS1dl
YnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBkb3VibGUgc2Vjb25kcykKIHsKICNpZiBF
TkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAppbmRleCA2YTBjY2Q4N2M2
ODI2MGYxODRiZjBhMTYwNDc5YmRhZjNiNGI3YWE3Li5kOGI4ZDFmNDBiODY1NDM4YTI4ODE0Mzgw
OTdlYmMwZjBjN2UxZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaApAQCAtMTAyLDcgKzEwMiw2IEBAIFdLX0VYUE9S
VCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRh
UmVjb3Jkc1dlcmVTY2FuCiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0
aXN0aWNzSXNSdW5uaW5nVGVzdEZ1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tf
RVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0lzUnVubmluZ1Rlc3Qo
V0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1ZSwgdm9pZCogY29u
dGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0lzUnVubmluZ1Rlc3RGdW5jdGlv
biBjYWxsYmFjayk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0
aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1ZSk7Ci1XS19FWFBPUlQgdm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5
V2FzQ2FwdHVyZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1
ZSk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzTWluaW11
bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmVSZWYsIGRvdWJsZSBzZWNvbmRzKTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFT
dG9yZVNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmluZ1RpbWUoV0tXZWJzaXRlRGF0YVN0b3JlUmVm
IGRhdGFTdG9yZVJlZiwgZG91YmxlIHNlY29uZHMpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRl
RGF0YVN0b3JlU2V0U3RhdGlzdGljc01heFN0YXRpc3RpY3NFbnRyaWVzKFdLV2Vic2l0ZURhdGFT
dG9yZVJlZiBkYXRhU3RvcmVSZWYsIHVuc2lnbmVkIGVudHJpZXMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5k
ZXggOTUxYzJjNjNjMDRlZWU5Nzc0YzA2YTlkMDkwNjRiNmU0NTdmODRhNC4uODc0YjExMTQ4MDMz
NzFhZjY5YzEyNjhmNWMyOTVhNWM5NWE3NWNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC03MjUsMTYg
KzcyNSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0VGltZVRvTGl2ZVVzZXJJbnRl
cmFjdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAgICAgc2VuZFdpdGhBc3luY1JlcGx5
KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihz
ZXNzaW9uSUQsIHNlY29uZHMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZv
aWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2Fw
dHVyZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgaWYgKCFjYW5TZW5kTWVz
c2FnZSgpKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgCi0gICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJv
Y2Vzczo6U2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoc2Vzc2lvbklELCB2
YWx1ZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0KLQogdm9pZCBOZXR3b3JrUHJv
Y2Vzc1Byb3h5OjpzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghY2FuU2VuZE1lc3NhZ2UoKSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuaAppbmRleCBkNmVjYjU2Njc5ZmQ1ZTIxYTI4ZDhhMzllOWFkMTRjZTYxMWI0YzAxLi43
NWE0NGM1NDJlMDhmMjM0YjdhZDhmNjlkYTAzNzE2YjAxZDhhNjA5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAt
MTQxLDcgKzE0MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKFBBTDo6
U2Vzc2lvbklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChQQUw6OlNlc3Np
b25JRCwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldElz
UnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KFBBTDo6U2Vzc2lvbklELCBib29sLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVu
VGVsZW1ldHJ5V2FzQ2FwdHVyZWQoUEFMOjpTZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW4o
UEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN1YkZyYW1lRG9tYWluJiwgY29uc3QgVG9wRnJhbWVEb21h
aW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0U3VicmVzb3Vy
Y2VVbmRlclRvcEZyYW1lRG9tYWluKFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdWJSZXNvdXJjZURv
bWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhQQUw6OlNlc3Npb25J
RCwgY29uc3QgU3ViUmVzb3VyY2VEb21haW4mLCBjb25zdCBSZWRpcmVjdGVkVG9Eb21haW4mLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCBjZTliZDdm
OGI4NDExOWQ5MGE4MzhiNWFmZWUwNGI4YmY3OWUyZGQyLi5hZmE4NjQ5NjRlY2E2NDEyZjAzZTU4
NmRiY2RiMzIwZTNmMTljNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtMTY4NywxNCArMTY4Nyw2
IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0SXNSdW5uaW5nUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1Rlc3QoYm9vbCB2YWx1ZSwgQ29tcGxlCiAgICAgICAgIHByb2Nlc3NQb29sLT5lbnN1cmVO
ZXR3b3JrUHJvY2VzcygpLnNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KG1f
c2Vzc2lvbklELCB2YWx1ZSwgW3Byb2Nlc3NQb29sLCBjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7
CiB9CiAKLXZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5
V2FzQ2FwdHVyZWQoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQotewotICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2FsbGJhY2tB
Z2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgIAotICAg
IGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkKLSAgICAgICAgcHJvY2Vz
c1Bvb2wtPmVuc3VyZU5ldHdvcmtQcm9jZXNzKCkuc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5
V2FzQ2FwdHVyZWQobV9zZXNzaW9uSUQsIHZhbHVlLCBbcHJvY2Vzc1Bvb2wsIGNhbGxiYWNrQWdn
cmVnYXRvcl0geyB9KTsKLX0KLQogdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpnZXRBbGxTdG9yYWdl
QWNjZXNzRW50cmllcyhXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmIGRvbWFpbnMpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewogICAgIGF1dG8qIHdlYlBhZ2UgPSBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2UocGFnZUlE
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaAppbmRleCAwZjU1YjhiNWZhYzkzMjE3NTFhMjYzMTg0MWIwMWRjZDBmMjVm
ODFjLi42MGJiY2FlMDhkZGUyZDBmNzk5NjBkYmQxZjkzMzljZjAzZGQ5NjdkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5oCkBAIC0xODUsNyArMTg1LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlx
dWVSZWRpcmVjdEZyb20oY29uc3QgVVJMJiB0b3BGcmFtZUhvc3ROYW1lLCBjb25zdCBVUkwmIGhv
c3ROYW1lUmVkaXJlY3RlZEZyb20sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRNYXhTdGF0aXN0aWNzRW50cmllcyhzaXplX3QsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAgICAgdm9pZCBzZXRNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92
YWwoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIHNldE5v
dGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKGJvb2wsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBVUkwmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UHJldmFsZW50UmVzb3Vy
Y2VGb3JEZWJ1Z01vZGUoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
ICAgICB2b2lkIHNldFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1v
dmFsKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODE0Zjk5MjMwOTdiNzI1ZWJlNWNi
ZjNhY2I0NzU0Zjc1MjEyNGYzNS4uYTYzOWY3ZDQ0YzY2MDRjNzIxOTY2YjkzYWE4ZmFiZWM3NDhj
ZDJjOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDIwLTA3LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVu
ZXlAYXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgaU9TIF0gaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHkt
ZGF0YWJhc2UuaHRtbCBpcyBhIHJhcmUgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMTY1CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS82MzQ2MjA0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0bworICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBub3cgdGhhdAor
ICAgICAgICB0ZWxlbWV0cnkgcmVwb3J0cyBmcm9tIHRoZSB0ZXN0aW5nIFNQSSB3aWxsIGFsd2F5
cyBub3RpZnkgdGhlIHRlc3QKKyAgICAgICAgcnVubmVyLgorCisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAg
ICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5
V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGlj
c05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTogRGVsZXRlZC4KKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9u
OjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAy
MC0wNy0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBGbGFr
eSBBUEkgVGVzdDogVGVzdFdlYktpdEFQSS5TbGVlcERpc2FibGVyLk5hdmlnYXRlQmFjawpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9U
ZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggZGYxMWQ5NzlhNDY2YjQ2N2EzNjY2Y2M4MDdjYjY1
NTMyYzE0NWEyNi4uMDNlNWFiOGZhMTc4MzQ3OTliZmFmNzlmMTEyNWZjZmJiNjZhYmQ0OCAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9U
ZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC0zMzIsNyArMzMyLDYgQEAgaW50ZXJmYWNlIFRl
c3RSdW5uZXIgewogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSXNS
dW5uaW5nVGVzdChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRD
bGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sZWFuIHZhbHVlKTsK
LSAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJl
ZChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdl
ZW5EYXRhUmVjb3Jkc1JlbW92YWwoZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlz
dGljc0dyYW5kZmF0aGVyaW5nVGltZShkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzZXRTdGF0
aXN0aWNzTWF4U3RhdGlzdGljc0VudHJpZXModW5zaWduZWQgbG9uZyBlbnRyaWVzKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
CmluZGV4IDE1M2FkODIzYTRmYjM0ZDMzZTg4NDQ0OTE2NTEzNGQ4NWEwMzJlMDIuLmYyMDQ2Njc1
MjFmMGQwNDg3ZjBhYzE2Nzc0MTY3ZDhhYzQ3MTQ0YjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMjE3NSwxMyAr
MjE3NSw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVz
b3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvCiAgICAgV0tCdW5kbGVQb3N0U3luY2hy
b25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2Fn
ZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKIH0KIAotdm9pZCBUZXN0
UnVubmVyOjpzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQo
Ym9vbCB2YWx1ZSkKLXsKLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUg
PSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQiKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tCb29s
ZWFuUmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKHZhbHVlKSk7Ci0g
ICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxs
cHRyKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3
ZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoIlNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92
YWwiKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oCmluZGV4IGM2ZDY4ZDYxYTZkYzIyZjEwMTc1MjU0NGEzY2Q1YzYxOGU0NGVmYjQu
LmI4Yzc4YjY3ZjFmYmMxN2NkMTU5OGI0MmJiZjA5MmRkYWVjMDQwNjUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC00MzIs
NyArNDMyLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSXNS
dW5uaW5nVGVzdChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJl
c291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsKLSAgICB2b2lkIHNldFN0YXRp
c3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChib29sIHZhbHVlKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwo
ZG91YmxlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmluZ1RpbWUoZG91Ymxl
IHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc01heFN0YXRpc3RpY3NFbnRyaWVzKHVu
c2lnbmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXgg
MTNiZTFlOGY5NzA1NGIzOWEwNWQxNzA1NzY0YWI0ODRiNGJlMzhiZi4uYTYwZjk4NmFiMDE4MWYz
MDM1YWQxNzdhNzAyZjc4ZjVjYTBjYzZhNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKQEAgLTM3NTMsMTEgKzM3NTMsNiBAQCB2b2lkIFRlc3RDb250cm9sbGVy
OjpzZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1Jl
bW92YQogICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJl
c291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbCh3ZWJzaXRlRGF0YVN0b3JlKCksIHZhbHVl
KTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
blRlbGVtZXRyeVdhc0NhcHR1cmVkKGJvb2wgdmFsdWUpCi17Ci0gICAgV0tXZWJzaXRlRGF0YVN0
b3JlU2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKHdlYnNp
dGVEYXRhU3RvcmUoKSwgdmFsdWUpOwotfQotCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0
aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRz
KQogewogICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdl
ZW5EYXRhUmVjb3Jkc1JlbW92YWwod2Vic2l0ZURhdGFTdG9yZSgpLCBzZWNvbmRzKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBlYWZjYmQzZTEzNWViMjcwMmZl
YTQzMDZjZmY4MzZiMzJjN2I0NjJjLi5hMTMwODQ5YjNkM2FlYmEyZTIxZTZhMGEzNGQ0NjI5MmUx
OWQ0YTUwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC0yNTEs
NyArMjUxLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hl
bkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSXNS
dW5uaW5nVGVzdChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJl
c291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsKLSAgICB2b2lkIHNldFN0YXRp
c3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChib29sIHZhbHVlKTsKICAg
ICB2b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwo
ZG91YmxlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmluZ1RpbWUoZG91Ymxl
IHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc01heFN0YXRpc3RpY3NFbnRyaWVzKHVu
c2lnbmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXgg
MzAxNjEwN2YxOTJhZjZlMzExMjJjMjQ5ZGIzZWU1N2YzNGExZTA5Zi4uOTc1OTM1NWIxMjg1MWIw
ZWNjMzU2ODFlM2Y0MGIxZTU4Zjc0MTBhMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAKQEAgLTE1ODUsMTMgKzE1ODUsNiBAQCBXS1JldGFpblB0cjxXS1R5cGVS
ZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVj
dGVkQgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAgCi0gICAgaWYgKFdLU3Ry
aW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQiKSkgewotICAgICAgICBBU1NFUlQoV0tHZXRUeXBl
SUQobWVzc2FnZUJvZHkpID09IFdLQm9vbGVhbkdldFR5cGVJRCgpKTsKLSAgICAgICAgV0tCb29s
ZWFuUmVmIHZhbHVlID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihtZXNzYWdlQm9keSk7Ci0g
ICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoV0tCb29sZWFuR2V0VmFsdWUodmFsdWUpKTsKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIGlmIChXS1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVz
b3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsIikpIHsKICAgICAgICAgQVNTRVJUKFdLR2V0
VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Jvb2xlYW5HZXRUeXBlSUQoKSk7CiAgICAgICAgIFdL
Qm9vbGVhblJlZiB2YWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDliYmIxNWFiZjIxMTk0ZDhhZGI3YzlmODhhMzBiZWYxODVmYjI5ZGEuLjdkN2U2
ZTQ0ZmE3ZDIzMmEwNjk1MGQwZDIxNTc1Y2Y1OWVkYTY1NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBA
QAorMjAyMC0wNy0xMyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4K
KworICAgICAgICBbIG1hY09TIGlPUyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwg
aXMgYSByYXJlIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMjE2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM0NjIwNDU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IHVubmVjZXNzYXJ5IGNhbGwgdG8KKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90
aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgbm93IHRoYXQKKyAgICAgICAgdGVsZW1l
dHJ5IHJlcG9ydHMgZnJvbSB0aGUgdGVzdGluZyBTUEkgd2lsbCBhbHdheXMgbm90aWZ5IHRoZSB0
ZXN0CisgICAgICAgIHJ1bm5lci4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRh
dGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbDoK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdl
bmVyYXRpb24uaHRtbDoKKwogMjAyMC0wNy0wOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBhdXRvY2FwaXRhbGl6ZT0id29yZHMiIGNhcGl0YWxpemVz
IGV2ZXJ5IHdvcmQncyBzZWNvbmQgY2hhcmFjdGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2
YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1
bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbAppbmRleCA5OTdjY2U2ZjJmZGYwYzcwNzU1NTAzZDQ3
NWVjZGFiZDA0MWU0MmNhLi4zOGM2Y2UwY2I1OWYyN2E3Y2VmMWY3Y2YyYTk2NWYyZWM4MWI3ZWM0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90
ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwK
QEAgLTE0Nyw3ICsxNDcsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAg
ICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh0
cnVlKTsKICAgICAgICAgICAgIHNldFVwU3RhdGlzdGljc0FuZENvbnRpbnVlKCk7CiAgICAgICAg
IH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRh
dGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1s
CmluZGV4IGM0ODBkYjM0ZGI3ZDNlY2EzZjk5OWJiNTE2MWNkN2I2ZWZmYjlkYzMuLjI4MTM5MTll
MDkwODQxZmZjY2RkZDI5YTJjMjA3NWFmNmY2OTNmYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1i
YXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1
bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbApAQCAtMTI3LDcgKzEyNyw2IEBACiAKICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKHRydWUpOwogICAgICAgICAgICAgc2V0VXBJbnN1ZmZp
Y2llbnRTdGF0aXN0aWNzQW5kQ29udGludWUoKTsKICAgICAgICAgfSk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVt
ZXRyeS1nZW5lcmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24uaHRtbAppbmRleCA4NzdmOGQ5OTEzYTQ3
MzEwMmQwM2E0Yzg4Y2RiMTczOTcxMTljMWU2Li5iMzU1N2U4MjM5ODhiNzNhYzhlMDQzZjY3ZmRl
ZmVkOGRjNGY3MGQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24u
aHRtbApAQCAtMTEyLDcgKzExMiw2IEBACiAKICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1
cmVkKHRydWUpOwogICAgICAgICAgICAgc2V0VXBJbnN1ZmZpY2llbnRTdGF0aXN0aWNzQW5kQ29u
dGludWUoKTsKICAgICAgICAgfSk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404197</attachid>
            <date>2020-07-13 18:08:33 -0700</date>
            <delta_ts>2020-07-13 18:15:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212165-20200713180832.patch</filename>
            <type>text/plain</type>
            <size>40748</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVmN2IzZDJhYjI3MmQxNWIw
NDI1MTM5NzIwZjIwYzkxZWU5OWY0ZDkuLjIwN2FmMmUzZGJmY2I1Mjk0NGMwZDlkMGIxODJiNTBk
NjM0MDMzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMjAtMDctMTMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBpT1Mg
XSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24t
YmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGlzIGEgcmFyZSBmbGFreSBmYWlsdXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIxNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNDYyMDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qgd2FzIGZsYWtpbmcgYmVjYXVzZSBvZiBt
dWx0aXBsZSBhc3luYyBjYWxscyB0byBzdWJtaXQgdGVsZW1ldHJ5LAorICAgICAgICB3aGljaCBo
YXBwZW4gd2hlbiBhIG5ldyBJVFAgc3RvcmUgaXMgY3JlYXRlZCBhbmQgYWdhaW4gd2hlbiB0aGUg
dGVzdAorICAgICAgICBtYWtlcyBhbiBTUEkgY2FsbC4gSWYgdGhlIGZpcnN0IHRlbGVtZXRyeSBj
YWxsIGlzIHJlcG9ydGVkIGFmdGVyIHRoZSB0ZXN0CisgICAgICAgIHNldHMgbm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgYnV0IGJlZm9yZSB0aGUgU1BJIGNhbGwgdG8gY2FwdHVy
ZQorICAgICAgICB0ZWxlbWV0cnkgaXMgc3VibWl0dGVkLCB0aGUgdGVzdCB3aWxsIHJlY2VpdmUg
dGhlIHdyb25nIGRhdGEuCisgICAgICAgIFRvIGZpeCB0aGlzLCB3ZSBzaG91bGQgc2ltcGxpZnkg
YnkgcmVtb3ZpbmcgdGhlIHNlcGFyYXRlIGZ1bmN0aW9uIHRvCisgICAgICAgIHRlbGwgSVRQIHRv
IHJlcG9ydCB0ZWxlbWV0cnksIGFuZCBpbnN0ZWFkIGFsd2F5cyByZXBvcnQgd2hlbiB0aGUgdGVz
dGluZworICAgICAgICBTUEkgY2FsbCBpcyBtYWRlLiAKKworICAgICAgICBObyBuZXcgdGVzdHMs
IHdpbGwgZml4IGZsYWt5IHRlc3RzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjYWxjdWxhdGVBbmRT
dWJtaXRUZWxlbWV0cnkgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6
Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5IGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OnN1Ym1pdFRlbGVtZXRyeSk6CisgICAgICAgIEFkZCBpbiBuZXcgZW51
bSB2YWx1ZSB0byBpbmRpY2F0ZSB3aGVuIHRoZSB0ZWxlbWV0cnkgY2FsbCBpcyBjb21pbmcKKyAg
ICAgICAgZnJvbSB0aGUgdGVzdGluZyBTUEkuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpjYWxjdWxhdGVB
bmRTdWJtaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVs
ZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5Lmg6CisgICAgICAgIFJlbW92ZSBzdGF0aWMg
Ym9vbCB2YXJpYWJsZSBub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBhbmQKKyAg
ICAgICAgcmVseSBvbiB0aGUgc3VibWl0VGVsZW1ldHJ5IGZ1bmN0aW9uIGNhbGwgdG8gbGV0IHVz
IGtub3cgd2hlbiB0byByZXBvcnQgdGVsZW1ldHJ5LgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3Rv
cmVTZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVs
ZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6
OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICBS
ZW1vdmUgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgZnVuY3Rpb24uCisK
IDIwMjAtMDctMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgYXV0b2NhcGl0YWxpemU9IndvcmRzIiBjYXBpdGFsaXplcyBldmVyeSB3b3JkJ3Mgc2Vj
b25kIGNoYXJhY3RlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RGF0YWJhc2VTdG9yZS5jcHAKaW5kZXggZTNiMzRhNjk5NWU0ODJjZDAxODczMmQ3ZjRlNWM0MjMy
NjE5MmVkNS4uMmVhYzgyNDZlMzZiZTExMzNiMzZkZTJkNWU1MzA0ZThiMTMyZTBkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3Bw
CkBAIC0xMjUyLDE0ICsxMjUyLDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFi
YXNlU3RvcmU6OmNhbGN1bGF0ZVRlbGVtZXRyeURhdGEoUHJldmFsZW50UmVzb3VyCiAgICAgfQog
fQogCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjYWxjdWxhdGVB
bmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KE5vdGlmeVBhZ2VzRm9yVGVz
dGluZyBzaG91bGROb3RpZnlQYWdlc0ZvclRlc3RpbmcpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7CiAKICAgICBpZiAocGFyYW1ldGVycygpLnNob3VsZFN1Ym1pdFRl
bGVtZXRyeSkgewogICAgICAgICBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5IHBy
ZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnk7CiAgICAgICAgIGNhbGN1bGF0ZVRlbGVt
ZXRyeURhdGEocHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7Ci0gICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywg
cHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7CisgICAgICAgIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywgcHJldmFsZW50
UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSwgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlLmgKaW5kZXggMTE2MGFhZTNiOTNiZDY3ZjA2M2NkZDY0Y2FjZjAwZjc0YjFhZDk2
Yy4uMTlmNzY4YmQzODA5NTRjNzBlMTgzNzY2MGI3YjVmY2JjMDcwZTZjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhYmFzZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTEyMyw3
ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8o
Y29uc3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVEb21h
aW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxjdWxh
dGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1bGF0
ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdlc0Zv
clRlc3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgaGFzU3RvcmFnZUFjY2Vz
cyhjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgT3B0aW9uYWw8
V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFN0
b3JhZ2VBY2Nlc3MoU3ViRnJhbWVEb21haW4mJiwgVG9wRnJhbWVEb21haW4mJiwgV2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6U3RvcmFn
ZUFjY2Vzc1Njb3BlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0b3JhZ2VBY2Nlc3NTdGF0dXMp
PiYmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZS5jcHAKaW5kZXggMDY2OTgyMGQ4NjU3ZTU5M2M0NjYyY2Y5NTY5Y2ZmMjgzOWZm
MjRjZS4uMDI5YzU0NWUxMTFhMmFmN2QyOWI0Y2Q2MGU0MDUyZjY0MGFlOTAzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKQEAgLTk4
LDEyICs5OCwxMiBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6c2V0
UGVyc2lzdGVudFN0b3JhZ2UoUmVzb3VyY2VMb2FkU3RhdGlzdAogICAgIG1fcGVyc2lzdGVudFN0
b3JhZ2UgPSBtYWtlV2Vha1B0cihwZXJzaXN0ZW50U3RvcmFnZSk7CiB9CiAKLXZvaWQgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpjYWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnko
KSBjb25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmNhbGN1bGF0
ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3Rpbmcgc2hvdWxkTm90aWZ5UGFn
ZXNGb3JUZXN0aW5nKSBjb25zdAogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwog
CiAgICAgaWYgKHBhcmFtZXRlcnMoKS5zaG91bGRTdWJtaXRUZWxlbWV0cnkpCi0gICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFuZFN1Ym1pdCgqdGhp
cyk7CisgICAgICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0
ZUFuZFN1Ym1pdCgqdGhpcywgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsKIH0KIAogc3Rh
dGljIHZvaWQgZW5zdXJlVGhpcmRQYXJ0eURhdGFGb3JTcGVjaWZpY0ZpcnN0UGFydHlEb21haW4o
VmVjdG9yPFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6VGhpcmRQYXJ0eURhdGFGb3JT
cGVjaWZpY0ZpcnN0UGFydHk+JiB0aGlyZFBhcnR5RGF0YUZvclNwZWNpZmljRmlyc3RQYXJ0eURv
bWFpbiwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGZpcnN0UGFydHlEb21haW4sIGJvb2wgdGhp
cmRQYXJ0eUhhc1N0b3JhZ2VBY2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlLmgKaW5kZXggMWNlYTBiZTJhODBiY2U4MmRmYTBjNzBjYmY4ZDA5
Y2M2MmVmOThkZC4uMDljOWViZThhN2ZjMDVkMDAxMDQ5NGIyNDUxZDMzYjZlNmY3ODlhMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaApAQCAt
OTYsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0
VG8oY29uc3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVE
b21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxj
dWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1
bGF0ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdl
c0ZvclRlc3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgYXJlQWxsVGhpcmRQ
YXJ0eUNvb2tpZXNCbG9ja2VkVW5kZXIoY29uc3QgVG9wRnJhbWVEb21haW4mKSBvdmVycmlkZTsK
ICAgICBDb29raWVBY2Nlc3MgY29va2llQWNjZXNzKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MmLCBjb25zdCBUb3BGcmFtZURvbWFpbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oCmluZGV4IGQ1NDlmYzFhMzc1MDU2NTYzMzBjMDQzMWQ0ZjViNTZhMWJjNTgx
YmUuLjM3ZWU0MDZiNWVhMTUyNjk5MTQ5OWJhYmJhYWRmY2M4MGY2M2FjMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTE1Niw3ICsxNTYsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRQcnVuZUVudHJpZXNEb3duVG8oc2l6ZV90IHBydW5lVGFyZ2V0Q291
bnQpOwogICAgIHZvaWQgcmVzZXRQYXJhbWV0ZXJzVG9EZWZhdWx0VmFsdWVzKCk7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgY2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkoTm90aWZ5UGFnZXNGb3JU
ZXN0aW5nID0gTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpObykgY29uc3QgPSAwOwogCiAgICAgdm9p
ZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZv
aWQgc2V0SXNSdW5uaW5nVGVzdChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXggZjFhODU2MDBhNDRmNGE3ZWQwNTI1ZDU0ZDAyOTRm
N2JjNmNhMzgwZC4uOGE2MGVmMjdlNmYyN2Y2MGM3OTMwYTE4MGQxNDBmZDEwNTNlMzM0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKQEAgLTE1
OSwxNCArMTU5LDYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFNo
b3VsZFN1Ym1pdFRlbGVtZXRyeShib29sIHZhbHVlKQogICAgIH0pOwogfQogCi12b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBXZWJL
aXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnNldE5vdGlmeVBhZ2VzV2hl
blRlbGVtZXRyeVdhc0NhcHR1cmVkKHZhbHVlKTsKLSAgICBjb21wbGV0aW9uSGFuZGxlcigpOwot
fQotCiBzdGF0aWMgUmVmPFdvcmtRdWV1ZT4gc2hhcmVkU3RhdGlzdGljc1F1ZXVlKCkKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVmPFdvcmtRdWV1ZT4+IHF1ZXVlKFdvcmtRdWV1ZTo6
Y3JlYXRlKCJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgUHJvY2VzcyBEYXRhIFF1ZXVl
IiwgV29ya1F1ZXVlOjpUeXBlOjpTZXJpYWwsIFdvcmtRdWV1ZTo6UU9TOjpVdGlsaXR5KSk7CkBA
IC03NjgsMTEgKzc2MCw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpz
dWJtaXRUZWxlbWV0cnkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmCiAgICAgcG9zdFRhc2so
W3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkg
bXV0YWJsZSAgewogICAgICAgICBpZiAoIW1fc3RhdGlzdGljc1N0b3JlKQogICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAKLSAgICAgICAgaWYgKGlzPFJlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZT4oKm1fc3RhdGlzdGljc1N0b3JlKSkKLSAgICAgICAgICAgIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFuZFN1Ym1pdChkb3duY2FzdDxSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZSkpOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZS0+Y2FsY3VsYXRlQW5kU3Vi
bWl0VGVsZW1ldHJ5KCk7CisgICAgICAgIG1fc3RhdGlzdGljc1N0b3JlLT5jYWxjdWxhdGVBbmRT
dWJtaXRUZWxlbWV0cnkoTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpZZXMpOwogICAgICAgICBwb3N0
VGFza1JlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICB9KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAppbmRleCBmM2MzZjc1M2Qz
YjhlNTI0ZDMyZjA0NzA1ZjE2ZGY1YWQ3ZDk3N2E1Li4xMzVmNmFlMmE3NjI5YzJmN2Y1ZTg1MTdi
MDExNGRiOWNkMzQzNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5oCkBAIC02OSw2ICs2OSw3IEBAIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIGVudW0g
Y2xhc3MgU2hvdWxkR3JhbmRmYXRoZXJTdGF0aXN0aWNzIDogYm9vbDsKIGVudW0gY2xhc3MgU2hv
dWxkSW5jbHVkZUxvY2FsaG9zdCA6IGJvb2wgeyBObywgWWVzIH07CiBlbnVtIGNsYXNzIEVuYWJs
ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUgOiBib29sIHsgTm8sIFllcyB9OworZW51
bSBjbGFzcyBOb3RpZnlQYWdlc0ZvclRlc3RpbmcgOiBib29sIHsgTm8sIFllcyB9Owogc3RydWN0
IFJlZ2lzdHJhYmxlRG9tYWluc1RvQmxvY2tDb29raWVzRm9yIHsKICAgICBWZWN0b3I8V2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4+IGRvbWFpbnNUb0Jsb2NrQW5kRGVsZXRlQ29va2llc0ZvcjsK
ICAgICBWZWN0b3I8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IGRvbWFpbnNUb0Jsb2NrQnV0
S2VlcENvb2tpZXNGb3I7CkBAIC0yMDcsNyArMjA4LDYgQEAgc3RydWN0IFRoaXJkUGFydHlEYXRh
IHsKIAogICAgIHZvaWQgcG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKGJvb2wpOwotICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNl
dFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTaG91bGRTdWJtaXRUZWxl
bWV0cnkoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVsZW1ldHJ5LmNwcAppbmRleCBhYWVhMjQ3MjhiMzlhYjI3NTAxMGFjY2RiMWExNTU3OTNj
MGRlYzQ4Li5lNmZkY2IwNjUxOWU1NjBlODA4ZTA1MjNhODFiZGYyODBjMjc1ZTJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwCkBA
IC00NSw3ICs0NSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjb25zdCB1bnNpZ25l
ZCBtaW5pbXVtUHJldmFsZW50UmVzb3VyY2VzRm9yVGVsZW1ldHJ5ID0gMzsKIGNvbnN0IHVuc2ln
bmVkIHNpZ25pZmljYW50RmlndXJlc0ZvckxvZ2dlZFZhbHVlcyA9IDM7Ci1zdGF0aWMgYm9vbCBu
b3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9IGZhbHNlOwogCiBzdHJ1Y3QgUHJl
dmFsZW50UmVzb3VyY2VUZWxlbWV0cnkgewogICAgIHVuc2lnbmVkIG51bWJlck9mVGltZXNEYXRh
UmVjb3Jkc1JlbW92ZWQ7CkBAIC0yMTYsMTIgKzIxNSwxMiBAQCB2b2lkIHN0YXRpYyBub3RpZnlQ
YWdlcyhjb25zdCBWZWN0b3I8UHJldmFsZW50UmVzb3VyY2VUZWxlbWV0cnk+JiBzb3J0ZWRQcmV2
YWxlbgogICAgIG5vdGlmeVBhZ2VzKHNvcnRlZFByZXZhbGVudFJlc291cmNlcy5zaXplKCksIHRv
dGFsTnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0aW9uLCAwLCAwLCAw
LCAwLCBtZWRpYW4oc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlv
biwgMCwgMiwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0dldHRlciksIDAsIDAsIDAsICBz
dG9yZSk7CiB9CiAgICAgCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6
OmNhbGN1bGF0ZUFuZFN1Ym1pdChjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3Rv
cmUmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSkKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RlbGVtZXRyeTo6Y2FsY3VsYXRlQW5kU3VibWl0KGNvbnN0IFJlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZSYgcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLCBOb3RpZnlQ
YWdlc0ZvclRlc3Rpbmcgbm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpCiB7CiAg
ICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CiAgICAgCiAgICAgYXV0byBzb3J0ZWRQcmV2
YWxlbnRSZXNvdXJjZXMgPSBzb3J0ZWRQcmV2YWxlbnRSZXNvdXJjZVRlbGVtZXRyeShyZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUpOwotICAgIGlmIChub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZCAmJiBzb3J0ZWRQcmV2YWxlbnRSZXNvdXJjZXMuaXNFbXB0eSgpKSB7CisgICAg
aWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2VzRm9y
VGVzdGluZzo6WWVzICYmIHNvcnRlZFByZXZhbGVudFJlc291cmNlcy5pc0VtcHR5KCkpIHsKICAg
ICAgICAgbm90aWZ5UGFnZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgcmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLnN0b3JlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
MjM4LDE1ICsyMzcsMTUgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5
OjpjYWxjdWxhdGVBbmRTdWJtaXQoY29uc3QgUmVzb3VyY2VMb2FkU3QKICAgICB9CiAgICAgCiAg
ICAgLy8gRGlzcGF0Y2ggb24gdGhlIG1haW4gdGhyZWFkIHRvIG1ha2Ugc3VyZSB0aGUgV2ViUGFn
ZVByb3h5IHdlJ3JlIHVzaW5nIGRvZXNuJ3QgZ28gYXdheS4KLSAgICBSdW5Mb29wOjptYWluKCku
ZGlzcGF0Y2goW3NvcnRlZFByZXZhbGVudFJlc291cmNlcyA9IFdURk1vdmUoc29ydGVkUHJldmFs
ZW50UmVzb3VyY2VzKSwgc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFj
dGlvbiA9IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFj
dGlvbiksIHByZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiA9IFdURk1v
dmUocHJldmFsZW50UmVzb3VyY2VzRGF5c1NpbmNlVXNlckludGVyYWN0aW9uKSwgc3RvcmUgPSBt
YWtlUmVmKHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgeworICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbbm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQsIHNvcnRlZFByZXZhbGVudFJlc291cmNlcyA9IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVz
b3VyY2VzKSwgc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiA9
IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiks
IHByZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiA9IFdURk1vdmUocHJl
dmFsZW50UmVzb3VyY2VzRGF5c1NpbmNlVXNlckludGVyYWN0aW9uKSwgc3RvcmUgPSBtYWtlUmVm
KHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgewogICAgICAgICBhdXRv
IHdlYlBhZ2VQcm94eSA9IFdlYlBhZ2VQcm94eTo6bm9uRXBoZW1lcmFsV2ViUGFnZVByb3h5KCk7
CiAgICAgICAgIGlmICghd2ViUGFnZVByb3h5KSB7Ci0gICAgICAgICAgICBpZiAobm90aWZ5UGFn
ZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpCisgICAgICAgICAgICBpZiAobm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgPT0gTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpZZXMpCiAg
ICAgICAgICAgICAgICAgbm90aWZ5UGFnZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
c3RvcmUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAg
ICBpZiAobm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpIHsKKyAgICAgICAgaWYg
KG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2VzRm9yVGVz
dGluZzo6WWVzKSB7CiAgICAgICAgICAgICBub3RpZnlQYWdlcyhzb3J0ZWRQcmV2YWxlbnRSZXNv
dXJjZXMsIHNvcnRlZFByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24sIHBy
ZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbi5zaXplKCksIHN0b3JlKTsK
ICAgICAgICAgICAgIC8vIFRoZSBub3RpZnkgcGFnZXMgZnVuY3Rpb24gaXMgZm9yIHRlc3Rpbmcg
c28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbiBhY3R1YWwgc3VibWlzc2lvbi4KICAgICAgICAgICAg
IHJldHVybjsKQEAgLTMwMywyMCArMzAyLDIwIEBAIHN0YXRpYyB2b2lkIGRhdGFiYXNlU3VibWl0
VG9wTGlzdHMoY29uc3QgUHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYgdGVsCiAg
ICAgfQogfQogCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1p
dFRlbGVtZXRyeShjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZSYgcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLCBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1l
dHJ5JiBwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5KQordm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkoY29uc3QgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSwg
UHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYgcHJldmFsZW50UmVzb3VyY2VEYXRh
YmFzZVRlbGVtZXRyeSwgTm90aWZ5UGFnZXNGb3JUZXN0aW5nIG5vdGlmeVBhZ2VzV2hlblRlbGVt
ZXRyeVdhc0NhcHR1cmVkKQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCi0g
ICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkICYmICFwcmV2YWxlbnRS
ZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzKSB7Cisg
ICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2Vz
Rm9yVGVzdGluZzo6WWVzICYmICFwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5Lm51
bWJlck9mUHJldmFsZW50UmVzb3VyY2VzKSB7CiAgICAgICAgIG5vdGlmeVBhZ2VzKDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIERpc3BhdGNoIG9uIHRoZSBtYWlu
IHRocmVhZCB0byBtYWtlIHN1cmUgdGhlIFdlYlBhZ2VQcm94eSB3ZSdyZSB1c2luZyBkb2Vzbid0
IGdvIGF3YXkuCi0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0ZWxlbWV0cnkgPSBXVEZN
b3ZlKHByZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnkpLCBzdG9yZSA9IG1ha2VSZWYo
cmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLnN0b3JlKCkpXSAoKSB7CisgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFtub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCwgdGVs
ZW1ldHJ5ID0gV1RGTW92ZShwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5KSwgc3Rv
cmUgPSBtYWtlUmVmKHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgewog
CiAgICAgICAgIC8vIFRoZSBub3RpZnkgcGFnZXMgZnVuY3Rpb24gaXMgZm9yIHRlc3Rpbmcgc28g
d2UgZG9uJ3QgbmVlZCB0byBkbyBhbiBhY3R1YWwgc3VibWlzc2lvbi4KLSAgICAgICAgaWYgKG5v
dGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKSB7CisgICAgICAgIGlmIChub3RpZnlQ
YWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9PSBOb3RpZnlQYWdlc0ZvclRlc3Rpbmc6Olll
cykgewogICAgICAgICAgICAgaWYgKHRlbGVtZXRyeS5udW1iZXJPZlByZXZhbGVudFJlc291cmNl
c1dpdGhvdXRVc2VySW50ZXJhY3Rpb24gPCAzKSB7CiAgICAgICAgICAgICAgICAgbm90aWZ5UGFn
ZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgc3RvcmUpOwogICAgICAgICAgICAgICAg
IHJldHVybjsKQEAgLTM0OSwxMiArMzQ4LDYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVsZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGkKICAg
ICAgICAgZGF0YWJhc2VTdWJtaXRUb3BMaXN0cyh0ZWxlbWV0cnksIHN0b3JlKTsKICAgICB9KTsK
IH0KLSAgICAKLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeTo6c2V0Tm90
aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoYm9vbCBhbHdheXMpCi17Ci0gICAgbm90
aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgPSBhbHdheXM7Ci19Ci0gICAgCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1l
dHJ5LmgKaW5kZXggZDdlZTEwN2E4MTEyMTk3NWVmYTI5Mjc5YjRiNmU2NzkyODM2Yzg1Zi4uOTk4
YTNkNjE1NjNhOTdlMmYxMmUzMTQwODc3OGM3YTg4NTAyNzY1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUZWxlbWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5oCkBAIC0zNyw5ICszNyw4IEBA
IHN0cnVjdCBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5OwogCiBuYW1lc3BhY2Ug
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeSB7CiAgICAgCi12b2lkIGNhbGN1bGF0
ZUFuZFN1Ym1pdChjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmKTsKLXZv
aWQgc3VibWl0VGVsZW1ldHJ5KGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0
b3JlJiwgUHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYpOwotdm9pZCBzZXROb3Rp
ZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChib29sKTsKK3ZvaWQgY2FsY3VsYXRlQW5k
U3VibWl0KGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZSYsIE5vdGlmeVBh
Z2VzRm9yVGVzdGluZyA9IE5vdGlmeVBhZ2VzRm9yVGVzdGluZzo6Tm8pOwordm9pZCBzdWJtaXRU
ZWxlbWV0cnkoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUmLCBQcmV2
YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5JiwgTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsK
ICAgICAKIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5jcHAKaW5kZXggZmU2OWMyZGM5Njc3MjhlZDE0MTk1ZGRlZDlmYTNhZjE0MjNhYWE4NS4u
NTNhMWYyMWNhMmFjMjNlNjY4ZTk2MjEyZjk1ZDg4MTY4ZWNmM2M4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTg2NywxOSArODY3
LDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6c2V0SXNSdW5uaW5nUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1Rlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2kKICAgICB9CiB9CiAKLXZvaWQgTmV0d29ya1By
b2Nlc3M6OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmIChhdXRvKiBuZXR3b3JrU2Vzc2lvbiA9IHRoaXMt
Pm5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCkpIHsKLSAgICAgICAgaWYgKGF1dG8qIHJlc291cmNl
TG9hZFN0YXRpc3RpY3MgPSBuZXR3b3JrU2Vzc2lvbi0+cmVzb3VyY2VMb2FkU3RhdGlzdGljcygp
KQotICAgICAgICAgICAgcmVzb3VyY2VMb2FkU3RhdGlzdGljcy0+c2V0Tm90aWZ5UGFnZXNXaGVu
VGVsZW1ldHJ5V2FzQ2FwdHVyZWQodmFsdWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9IGVs
c2UgewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoKTsKLSAgICB9Ci19Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFN1YmZyYW1lVW5k
ZXJUb3BGcmFtZURvbWFpbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJh
YmxlRG9tYWluJiBzdWJGcmFtZURvbWFpbiwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHRvcEZy
YW1lRG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgaWYgKGF1dG8qIG5ldHdvcmtTZXNzaW9uID0gdGhpcy0+bmV0d29ya1Nlc3Npb24o
c2Vzc2lvbklEKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCmluZGV4IDdmYjlmN2JhMTdlNjRlNjU0YWM3YWVhNmQ1MDgwMjA2NGIxMTFhMWUuLmUx
NDc5YzVkYWRmOTdhN2EzN2Y2OGRmODk4ODk0ZjNkNGM1MWQ2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTI0OCw3ICsyNDgsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwo
UEFMOjpTZXNzaW9uSUQsIFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAg
ICAgdm9pZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKFBBTDo6U2Vz
c2lvbklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgc2V0SXNSdW5uaW5nUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNzaW9uSUQs
IGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXRO
b3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChQQUw6OlNlc3Npb25JRCwgYm9vbCB2
YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKFBBTDo6U2Vzc2lvbklELCBib29sKTsKICAgICB2b2lkIHNl
dFJlc291cmNlTG9hZFN0YXRpc3RpY3NMb2dUZXN0aW5nRXZlbnQoYm9vbCk7CiAgICAgdm9pZCBz
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlKFBBTDo6U2Vzc2lvbklELCBib29sIGRl
YnVnTW9kZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmZCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRl
eCBkMmM4NjI4ZDdkYTA4NWYwOTBhZDU1NDNmNTYyODYxOTQ1MmJhNWMyLi43MDIyMjg1ZTM2ODg1
ZGU4NmYyZGFmNjg4OGIwMjQ3Mjk5MzVjZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEyNyw3ICsx
MjcsNiBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAg
U2V0U2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlKSAtPiAoKSBBc3luYwogICAgIFNldE5vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBib29sIHZhbHVlKSAtPiAoKSBBc3luYwogICAgIFNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NUZXN0KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkg
QXN5bmMKLSAgICBTZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUpIC0+ICgpIEFzeW5jCiAgICAgU2V0UmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wg
ZGVidWdNb2RlKSAtPiAoKSBBc3luYwogICAgIFNldFZlcnlQcmV2YWxlbnRSZXNvdXJjZShQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJlc291cmNl
RG9tYWluKSAtPiAoKSBBc3luYwogICAgIFNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbihQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHN1YkZy
YW1lRG9tYWluLCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB0b3BGcmFtZURvbWFpbikgLT4g
KCkgQXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vi
c2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IDY4NmU0NzQyZjc0MWY0MmE1YzBjNmFlNDFlNGI2
ZTc0ZWZlNjc5ZDMuLjg3YTM3MGNjNjEyODkyNThhMjYxZmYyM2ZkOTgxOGU0NmU3YWU1M2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9y
ZVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0
YVN0b3JlUmVmLmNwcApAQCAtNDc0LDEzICs0NzQsNiBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9y
ZVNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVt
bwogI2VuZGlmCiB9CiAKLXZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc05vdGlm
eVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmVSZWYsIGJvb2wgdmFsdWUpCi17Ci0jaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElT
VElDUykKLSAgICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT5zZXROb3RpZnlQYWdlc1do
ZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh2YWx1ZSwgW10oKSB7IH0pOwotI2VuZGlmCi19Ci0KIHZv
aWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFS
ZWNvcmRzUmVtb3ZhbChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBkb3VibGUg
c2Vjb25kcykKIHsKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVm
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYu
aAppbmRleCA2YTBjY2Q4N2M2ODI2MGYxODRiZjBhMTYwNDc5YmRhZjNiNGI3YWE3Li5kOGI4ZDFm
NDBiODY1NDM4YTI4ODE0MzgwOTdlYmMwZjBjN2UxZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaApAQCAtMTAyLDcg
KzEwMiw2IEBAIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NO
b3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FuCiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNp
dGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzSXNSdW5uaW5nVGVzdEZ1bmN0aW9uKSh2b2lkKiBmdW5j
dGlvbkNvbnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlz
dGljc0lzUnVubmluZ1Rlc3QoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9v
bCB2YWx1ZSwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0lz
UnVubmluZ1Rlc3RGdW5jdGlvbiBjYWxsYmFjayk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVE
YXRhU3RvcmVTZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVj
b3Jkc1JlbW92YWwoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1
ZSk7Ci1XS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFT
dG9yZVJlZiwgYm9vbCB2YWx1ZSk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVT
ZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKFdLV2Vic2l0
ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGRvdWJsZSBzZWNvbmRzKTsKIFdLX0VYUE9SVCB2
b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmluZ1RpbWUoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgZG91YmxlIHNlY29uZHMpOwogV0tfRVhQ
T1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc01heFN0YXRpc3RpY3NFbnRy
aWVzKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHVuc2lnbmVkIGVudHJpZXMp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5jcHAKaW5kZXggOTUxYzJjNjNjMDRlZWU5Nzc0YzA2YTlkMDkwNjRiNmU0NTdm
ODRhNC4uODc0YjExMTQ4MDMzNzFhZjY5YzEyNjhmNWMyOTVhNWM5NWE3NWNjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuY3BwCkBAIC03MjUsMTYgKzcyNSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0
VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAgICAg
c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0VGltZVRvTGl2
ZVVzZXJJbnRlcmFjdGlvbihzZXNzaW9uSUQsIHNlY29uZHMpLCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0Tm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZh
bHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0g
ICAgaWYgKCFjYW5TZW5kTWVzc2FnZSgpKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgc2VuZFdpdGhBc3luY1JlcGx5KE1l
c3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2Fw
dHVyZWQoc2Vzc2lvbklELCB2YWx1ZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0K
LQogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghY2Fu
U2VuZE1lc3NhZ2UoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAppbmRleCBkNmVjYjU2Njc5ZmQ1ZTIxYTI4ZDhhMzll
OWFkMTRjZTYxMWI0YzAxLi43NWE0NGM1NDJlMDhmMjM0YjdhZDhmNjlkYTAzNzE2YjAxZDhhNjA5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuaApAQCAtMTQxLDcgKzE0MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVz
ZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJl
U2Nhbm5lZChQQUw6OlNlc3Npb25JRCwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKICAgICB2b2lkIHNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KFBBTDo6
U2Vzc2lvbklELCBib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQg
c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoUEFMOjpTZXNzaW9uSUQsIGJv
b2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVEb21haW4oUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFN1YkZyYW1lRG9tYWluJiwg
Y29uc3QgVG9wRnJhbWVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgc2V0U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluKFBBTDo6U2Vzc2lvbklELCBj
b25zdCBTdWJSZXNvdXJjZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJl
Y3RUbyhQQUw6OlNlc3Npb25JRCwgY29uc3QgU3ViUmVzb3VyY2VEb21haW4mLCBjb25zdCBSZWRp
cmVjdGVkVG9Eb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmNwcAppbmRleCBjZTliZDdmOGI4NDExOWQ5MGE4MzhiNWFmZWUwNGI4YmY3OWUyZGQyLi5hZmE4
NjQ5NjRlY2E2NDEyZjAzZTU4NmRiY2RiMzIwZTNmMTljNjliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApA
QCAtMTY4NywxNCArMTY4Nyw2IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0SXNSdW5uaW5n
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoYm9vbCB2YWx1ZSwgQ29tcGxlCiAgICAgICAgIHBy
b2Nlc3NQb29sLT5lbnN1cmVOZXR3b3JrUHJvY2VzcygpLnNldElzUnVubmluZ1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NUZXN0KG1fc2Vzc2lvbklELCB2YWx1ZSwgW3Byb2Nlc3NQb29sLCBjYWxsYmFj
a0FnZ3JlZ2F0b3JdIHsgfSk7CiB9CiAKLXZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Tm90aWZ5
UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGF1dG8gY2FsbGJhY2tBZ2dy
ZWdhdG9yID0gQ2FsbGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOwotICAgIAotICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMo
KSkKLSAgICAgICAgcHJvY2Vzc1Bvb2wtPmVuc3VyZU5ldHdvcmtQcm9jZXNzKCkuc2V0Tm90aWZ5
UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQobV9zZXNzaW9uSUQsIHZhbHVlLCBbcHJvY2Vz
c1Bvb2wsIGNhbGxiYWNrQWdncmVnYXRvcl0geyB9KTsKLX0KLQogdm9pZCBXZWJzaXRlRGF0YVN0
b3JlOjpnZXRBbGxTdG9yYWdlQWNjZXNzRW50cmllcyhXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBh
Z2VJRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmIGRvbWFpbnMpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8qIHdlYlBhZ2UgPSBXZWJQcm9jZXNzUHJv
eHk6OndlYlBhZ2UocGFnZUlEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCAwZjU1YjhiNWZhYzkzMjE3NTFh
MjYzMTg0MWIwMWRjZDBmMjVmODFjLi42MGJiY2FlMDhkZGUyZDBmNzk5NjBkYmQxZjkzMzljZjAz
ZGQ5NjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0xODUsNyArMTg1LDYgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVVJMJiB0b3BGcmFtZUhvc3RO
YW1lLCBjb25zdCBVUkwmIGhvc3ROYW1lUmVkaXJlY3RlZEZyb20sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRNYXhTdGF0aXN0aWNzRW50cmllcyhzaXplX3QsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRNaW5pbXVtVGltZUJldHdl
ZW5EYXRhUmVjb3Jkc1JlbW92YWwoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKLSAgICB2b2lkIHNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKGJvb2ws
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcmV2YWxlbnRSZXNv
dXJjZShjb25zdCBVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
c2V0UHJldmFsZW50UmVzb3VyY2VGb3JEZWJ1Z01vZGUoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVm
b3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODE0
Zjk5MjMwOTdiNzI1ZWJlNWNiZjNhY2I0NzU0Zjc1MjEyNGYzNS4uYTYzOWY3ZDQ0YzY2MDRjNzIx
OTY2YjkzYWE4ZmFiZWM3NDhjZDJjOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA3LTEzICBLYXRlIENoZW5l
eSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgaU9TIF0g
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJh
c2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBpcyBhIHJhcmUgZmxha3kgZmFpbHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMTY1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzQ2MjA0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0bworICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXND
YXB0dXJlZCBub3cgdGhhdAorICAgICAgICB0ZWxlbWV0cnkgcmVwb3J0cyBmcm9tIHRoZSB0ZXN0
aW5nIFNQSSB3aWxsIGFsd2F5cyBub3RpZnkgdGhlIHRlc3QKKyAgICAgICAgcnVubmVyLgorCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVu
bmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJv
bGxlcjo6c2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVj
dGVkQnVuZGxlKToKKwogMjAyMC0wNy0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBGbGFreSBBUEkgVGVzdDogVGVzdFdlYktpdEFQSS5TbGVlcERpc2FibGVy
Lk5hdmlnYXRlQmFjawpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggZGYxMWQ5NzlhNDY2
YjQ2N2EzNjY2Y2M4MDdjYjY1NTMyYzE0NWEyNi4uMDNlNWFiOGZhMTc4MzQ3OTliZmFmNzlmMTEy
NWZjZmJiNjZhYmQ0OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC0zMzIsNyArMzMy
LDYgQEAgaW50ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlm
eVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9p
ZCBzZXRTdGF0aXN0aWNzSXNSdW5uaW5nVGVzdChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNl
dFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3Zh
bChib29sZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5U
ZWxlbWV0cnlXYXNDYXB0dXJlZChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoZG91YmxlIHNlY29uZHMpOwog
ICAgIHZvaWQgc2V0U3RhdGlzdGljc0dyYW5kZmF0aGVyaW5nVGltZShkb3VibGUgc2Vjb25kcyk7
CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTWF4U3RhdGlzdGljc0VudHJpZXModW5zaWduZWQgbG9u
ZyBlbnRyaWVzKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IDE1M2FkODIzYTRmYjM0ZDMzZTg4NDQ0OTE2NTEzNGQ4
NWEwMzJlMDIuLmYyMDQ2Njc1MjFmMGQwNDg3ZjBhYzE2Nzc0MTY3ZDhhYzQ3MTQ0YjAgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcApAQCAtMjE3NSwxMyArMjE3NSw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGlj
c1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvCiAgICAg
V0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRy
KTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVs
ZW1ldHJ5V2FzQ2FwdHVyZWQoYm9vbCB2YWx1ZSkKLXsKLSAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQiKSk7Ci0gICAg
V0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0soV0tCb29sZWFu
Q3JlYXRlKHZhbHVlKSk7Ci0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVj
dGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3Nh
Z2VCb2R5LmdldCgpLCBudWxscHRyKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0
aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKQog
ewogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdl
ZW5EYXRhUmVjb3Jkc1JlbW92YWwiKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IGM2ZDY4ZDYxYTZkYzIyZjEwMTc1MjU0
NGEzY2Q1YzYxOGU0NGVmYjQuLmI4Yzc4YjY3ZjFmYmMxN2NkMTU5OGI0MmJiZjA5MmRkYWVjMDQw
NjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5oCkBAIC00MzIsNyArNDMyLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRTdGF0aXN0aWNzSXNSdW5uaW5nVGVzdChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsK
LSAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJl
ZChib29sIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5E
YXRhUmVjb3Jkc1JlbW92YWwoZG91YmxlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZh
dGhlcmluZ1RpbWUoZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc01heFN0
YXRpc3RpY3NFbnRyaWVzKHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKaW5kZXggMTNiZTFlOGY5NzA1NGIzOWEwNWQxNzA1NzY0YWI0ODRiNGJlMzhi
Zi4uYTYwZjk4NmFiMDE4MWYzMDM1YWQxNzdhNzAyZjc4ZjVjYTBjYzZhNCAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTM3NTMsMTEgKzM3NTMsNiBAQCB2
b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNC
ZWZvcmVEYXRhUmVjb3Jkc1JlbW92YQogICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3Rp
Y3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbCh3ZWJzaXRl
RGF0YVN0b3JlKCksIHZhbHVlKTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKGJvb2wgdmFsdWUpCi17Ci0g
ICAgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRy
eVdhc0NhcHR1cmVkKHdlYnNpdGVEYXRhU3RvcmUoKSwgdmFsdWUpOwotfQotCiB2b2lkIFRlc3RD
b250cm9sbGVyOjpzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1v
dmFsKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3Rp
Y3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwod2Vic2l0ZURhdGFTdG9yZSgp
LCBzZWNvbmRzKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBl
YWZjYmQzZTEzNWViMjcwMmZlYTQzMDZjZmY4MzZiMzJjN2I0NjJjLi5hMTMwODQ5YjNkM2FlYmEy
ZTIxZTZhMGEzNGQ0NjI5MmUxOWQ0YTUwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCkBAIC0yNTEsNyArMjUxLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhdGlz
dGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRTdGF0aXN0aWNzSXNSdW5uaW5nVGVzdChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsK
LSAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJl
ZChib29sIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5E
YXRhUmVjb3Jkc1JlbW92YWwoZG91YmxlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZh
dGhlcmluZ1RpbWUoZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc01heFN0
YXRpc3RpY3NFbnRyaWVzKHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHAKaW5kZXggMzAxNjEwN2YxOTJhZjZlMzExMjJjMjQ5ZGIzZWU1N2YzNGExZTA5
Zi4uOTc1OTM1NWIxMjg1MWIwZWNjMzU2ODFlM2Y0MGIxZTU4Zjc0MTBhMSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTE1ODUsMTMgKzE1ODUsNiBAQCBX
S1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25v
dXNNZXNzYWdlRnJvbUluamVjdGVkQgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAg
ICAgCi0gICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJT
dGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQiKSkgewotICAgICAg
ICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLQm9vbGVhbkdldFR5cGVJRCgp
KTsKLSAgICAgICAgV0tCb29sZWFuUmVmIHZhbHVlID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVm
PihtZXNzYWdlQm9keSk7Ci0gICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRT
dGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoV0tCb29sZWFuR2V0
VmFsdWUodmFsdWUpKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAg
IGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGlj
c1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsIikpIHsKICAg
ICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Jvb2xlYW5HZXRUeXBl
SUQoKSk7CiAgICAgICAgIFdLQm9vbGVhblJlZiB2YWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9vbGVh
blJlZj4obWVzc2FnZUJvZHkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDliYmIxNWFiZjIxMTk0ZDhhZGI3YzlmODhhMzBi
ZWYxODVmYjI5ZGEuLmRiNjRiYTExZjBkODEzYzg1NGViNmQzNzFhZTliODdiYWVhNGVjZTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0wNy0xMyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVf
Y2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIGlPUyBdIGh0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFs
aXR5LWRhdGFiYXNlLmh0bWwgaXMgYSByYXJlIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjE2NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjM0NjIwNDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGNhbGwgdG8KKyAgICAgICAgdGVzdFJ1bm5l
ci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgbm93IHRo
YXQKKyAgICAgICAgdGVsZW1ldHJ5IHJlcG9ydHMgZnJvbSB0aGUgdGVzdGluZyBTUEkgd2lsbCBh
bHdheXMgbm90aWZ5IHRoZSB0ZXN0CisgICAgICAgIHJ1bm5lci4gVXBkYXRlZCBleHBlY3RhdGlv
bnMgbm93IHRoYXQgdGVzdCBpcyBub3QgZXhwZWN0ZWQgdG8gZmxha2UuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2
YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlv
bmFsaXR5LWRhdGFiYXNlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDctMDggIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgYXV0b2NhcGl0YWxpemU9IndvcmRzIiBjYXBp
dGFsaXplcyBldmVyeSB3b3JkJ3Mgc2Vjb25kIGNoYXJhY3RlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0
aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZh
bmNlZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKaW5kZXggOTk3Y2NlNmYyZmRmMGM3MDc1
NTUwM2Q0NzVlY2RhYmQwNDFlNDJjYS4uMzhjNmNlMGNiNTlmMjdhN2NlZjFmN2NmMmE5NjVmMmVj
ODFiN2VjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0
YWJhc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFz
ZS5odG1sCkBAIC0xNDcsNyArMTQ3LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewogICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2Fw
dHVyZWQodHJ1ZSk7CiAgICAgICAgICAgICBzZXRVcFN0YXRpc3RpY3NBbmRDb250aW51ZSgpOwog
ICAgICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25h
bGl0eS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJh
c2UuaHRtbAppbmRleCBjNDgwZGIzNGRiN2QzZWNhM2Y5OTliYjUxNjFjZDdiNmVmZmI5ZGMzLi4y
ODEzOTE5ZTA5MDg0MWZmY2NkZGQyOWEyYzIwNzVhZjZmNjkzZmEzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVy
YXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1i
YXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKQEAgLTEyNyw3ICsxMjcsNiBAQAogCiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh0cnVlKTsKICAgICAgICAgICAgIHNldFVw
SW5zdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVlKCk7CiAgICAgICAgIH0pOwogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90ZWxlbWV0cnktZ2VuZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwKaW5kZXggODc3Zjhk
OTkxM2E0NzMxMDJkMDNhNGM4OGNkYjE3Mzk3MTE5YzFlNi4uYjM1NTdlODIzOTg4YjczYWM4ZTA0
M2Y2N2ZkZWZlZDhkYzRmNzBkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5l
cmF0aW9uLmh0bWwKQEAgLTExMiw3ICsxMTIsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZCh0cnVlKTsKICAgICAgICAgICAgIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGlj
c0FuZENvbnRpbnVlKCk7CiAgICAgICAgIH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWZiMGEyZTVkMzQwOGI0ZDJjMTNlYzEyZWI5ZTk3
NDZmN2EyYjQ3OC4uOGI0MTQ2YWFhMjBhYjgxZDNlZDhkM2YyYzZiMTEwMDM5OTMxNDc0OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE4ODgsOCArMTg4
OCw2IEBAIGh0dHAvdGVzdHMvZnJhbWUtdGhyb3R0bGluZy9yYWYtdGhyb3R0bGUtaW4tY3Jvc3Mt
b3JpZ2luLXN1YmZyYW1lLmh0bWwgWyBQYXNzIEZhCiAKIHdlYmtpdC5vcmcvYi8yMTE4OTEgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleGJveF9kaXJl
Y3Rpb24tcm93LXJldmVyc2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi13ZWJraXQub3Jn
L2IvMjEyMTY1IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2Vu
ZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQotCiB3ZWJraXQub3JnL2IvMjEyMjE1IG1lZGlhL3ZpZGVvLWlzcGxheWluZ3RvYXV0b21vdGl2
ZWhlYWR1bml0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjEyMjE5IG1l
ZGlhL3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404198</attachid>
            <date>2020-07-13 18:15:59 -0700</date>
            <delta_ts>2020-07-14 09:59:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212165-20200713181558.patch</filename>
            <type>text/plain</type>
            <size>40898</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVmN2IzZDJhYjI3MmQxNWIw
NDI1MTM5NzIwZjIwYzkxZWU5OWY0ZDkuLjIwN2FmMmUzZGJmY2I1Mjk0NGMwZDlkMGIxODJiNTBk
NjM0MDMzNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMjAtMDctMTMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBpT1Mg
XSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24t
YmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGlzIGEgcmFyZSBmbGFreSBmYWlsdXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIxNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNDYyMDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qgd2FzIGZsYWtpbmcgYmVjYXVzZSBvZiBt
dWx0aXBsZSBhc3luYyBjYWxscyB0byBzdWJtaXQgdGVsZW1ldHJ5LAorICAgICAgICB3aGljaCBo
YXBwZW4gd2hlbiBhIG5ldyBJVFAgc3RvcmUgaXMgY3JlYXRlZCBhbmQgYWdhaW4gd2hlbiB0aGUg
dGVzdAorICAgICAgICBtYWtlcyBhbiBTUEkgY2FsbC4gSWYgdGhlIGZpcnN0IHRlbGVtZXRyeSBj
YWxsIGlzIHJlcG9ydGVkIGFmdGVyIHRoZSB0ZXN0CisgICAgICAgIHNldHMgbm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgYnV0IGJlZm9yZSB0aGUgU1BJIGNhbGwgdG8gY2FwdHVy
ZQorICAgICAgICB0ZWxlbWV0cnkgaXMgc3VibWl0dGVkLCB0aGUgdGVzdCB3aWxsIHJlY2VpdmUg
dGhlIHdyb25nIGRhdGEuCisgICAgICAgIFRvIGZpeCB0aGlzLCB3ZSBzaG91bGQgc2ltcGxpZnkg
YnkgcmVtb3ZpbmcgdGhlIHNlcGFyYXRlIGZ1bmN0aW9uIHRvCisgICAgICAgIHRlbGwgSVRQIHRv
IHJlcG9ydCB0ZWxlbWV0cnksIGFuZCBpbnN0ZWFkIGFsd2F5cyByZXBvcnQgd2hlbiB0aGUgdGVz
dGluZworICAgICAgICBTUEkgY2FsbCBpcyBtYWRlLiAKKworICAgICAgICBObyBuZXcgdGVzdHMs
IHdpbGwgZml4IGZsYWt5IHRlc3RzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjYWxjdWxhdGVBbmRT
dWJtaXRUZWxlbWV0cnkgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6
Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5IGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OnN1Ym1pdFRlbGVtZXRyeSk6CisgICAgICAgIEFkZCBpbiBuZXcgZW51
bSB2YWx1ZSB0byBpbmRpY2F0ZSB3aGVuIHRoZSB0ZWxlbWV0cnkgY2FsbCBpcyBjb21pbmcKKyAg
ICAgICAgZnJvbSB0aGUgdGVzdGluZyBTUEkuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpjYWxjdWxhdGVB
bmRTdWJtaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVs
ZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5Lmg6CisgICAgICAgIFJlbW92ZSBzdGF0aWMg
Ym9vbCB2YXJpYWJsZSBub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBhbmQKKyAg
ICAgICAgcmVseSBvbiB0aGUgc3VibWl0VGVsZW1ldHJ5IGZ1bmN0aW9uIGNhbGwgdG8gbGV0IHVz
IGtub3cgd2hlbiB0byByZXBvcnQgdGVsZW1ldHJ5LgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3Rv
cmVTZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVs
ZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6
OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICBS
ZW1vdmUgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgZnVuY3Rpb24uCisK
IDIwMjAtMDctMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgYXV0b2NhcGl0YWxpemU9IndvcmRzIiBjYXBpdGFsaXplcyBldmVyeSB3b3JkJ3Mgc2Vj
b25kIGNoYXJhY3RlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
RGF0YWJhc2VTdG9yZS5jcHAKaW5kZXggZTNiMzRhNjk5NWU0ODJjZDAxODczMmQ3ZjRlNWM0MjMy
NjE5MmVkNS4uMmVhYzgyNDZlMzZiZTExMzNiMzZkZTJkNWU1MzA0ZThiMTMyZTBkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3Bw
CkBAIC0xMjUyLDE0ICsxMjUyLDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFi
YXNlU3RvcmU6OmNhbGN1bGF0ZVRlbGVtZXRyeURhdGEoUHJldmFsZW50UmVzb3VyCiAgICAgfQog
fQogCi12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjYWxjdWxhdGVB
bmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZTo6Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KE5vdGlmeVBhZ2VzRm9yVGVz
dGluZyBzaG91bGROb3RpZnlQYWdlc0ZvclRlc3RpbmcpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFS
dW5Mb29wOjppc01haW4oKSk7CiAKICAgICBpZiAocGFyYW1ldGVycygpLnNob3VsZFN1Ym1pdFRl
bGVtZXRyeSkgewogICAgICAgICBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5IHBy
ZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnk7CiAgICAgICAgIGNhbGN1bGF0ZVRlbGVt
ZXRyeURhdGEocHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7Ci0gICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywg
cHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7CisgICAgICAgIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywgcHJldmFsZW50
UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSwgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlLmgKaW5kZXggMTE2MGFhZTNiOTNiZDY3ZjA2M2NkZDY0Y2FjZjAwZjc0YjFhZDk2
Yy4uMTlmNzY4YmQzODA5NTRjNzBlMTgzNzY2MGI3YjVmY2JjMDcwZTZjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhYmFzZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTEyMyw3
ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8o
Y29uc3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVEb21h
aW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxjdWxh
dGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1bGF0
ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdlc0Zv
clRlc3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgaGFzU3RvcmFnZUFjY2Vz
cyhjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgT3B0aW9uYWw8
V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFN0
b3JhZ2VBY2Nlc3MoU3ViRnJhbWVEb21haW4mJiwgVG9wRnJhbWVEb21haW4mJiwgV2ViQ29yZTo6
RnJhbWVJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6U3RvcmFn
ZUFjY2Vzc1Njb3BlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0b3JhZ2VBY2Nlc3NTdGF0dXMp
PiYmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZS5jcHAKaW5kZXggMDY2OTgyMGQ4NjU3ZTU5M2M0NjYyY2Y5NTY5Y2ZmMjgzOWZm
MjRjZS4uMDI5YzU0NWUxMTFhMmFmN2QyOWI0Y2Q2MGU0MDUyZjY0MGFlOTAzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKQEAgLTk4
LDEyICs5OCwxMiBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6c2V0
UGVyc2lzdGVudFN0b3JhZ2UoUmVzb3VyY2VMb2FkU3RhdGlzdAogICAgIG1fcGVyc2lzdGVudFN0
b3JhZ2UgPSBtYWtlV2Vha1B0cihwZXJzaXN0ZW50U3RvcmFnZSk7CiB9CiAKLXZvaWQgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpjYWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnko
KSBjb25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmNhbGN1bGF0
ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3Rpbmcgc2hvdWxkTm90aWZ5UGFn
ZXNGb3JUZXN0aW5nKSBjb25zdAogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwog
CiAgICAgaWYgKHBhcmFtZXRlcnMoKS5zaG91bGRTdWJtaXRUZWxlbWV0cnkpCi0gICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFuZFN1Ym1pdCgqdGhp
cyk7CisgICAgICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0
ZUFuZFN1Ym1pdCgqdGhpcywgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsKIH0KIAogc3Rh
dGljIHZvaWQgZW5zdXJlVGhpcmRQYXJ0eURhdGFGb3JTcGVjaWZpY0ZpcnN0UGFydHlEb21haW4o
VmVjdG9yPFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6VGhpcmRQYXJ0eURhdGFGb3JT
cGVjaWZpY0ZpcnN0UGFydHk+JiB0aGlyZFBhcnR5RGF0YUZvclNwZWNpZmljRmlyc3RQYXJ0eURv
bWFpbiwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGZpcnN0UGFydHlEb21haW4sIGJvb2wgdGhp
cmRQYXJ0eUhhc1N0b3JhZ2VBY2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlLmgKaW5kZXggMWNlYTBiZTJhODBiY2U4MmRmYTBjNzBjYmY4ZDA5
Y2M2MmVmOThkZC4uMDljOWViZThhN2ZjMDVkMDAxMDQ5NGIyNDUxZDMzYjZlNmY3ODlhMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaApAQCAt
OTYsNyArOTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0
VG8oY29uc3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVE
b21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxj
dWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1
bGF0ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdl
c0ZvclRlc3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgYXJlQWxsVGhpcmRQ
YXJ0eUNvb2tpZXNCbG9ja2VkVW5kZXIoY29uc3QgVG9wRnJhbWVEb21haW4mKSBvdmVycmlkZTsK
ICAgICBDb29raWVBY2Nlc3MgY29va2llQWNjZXNzKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3MmLCBjb25zdCBUb3BGcmFtZURvbWFpbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5oCmluZGV4IGQ1NDlmYzFhMzc1MDU2NTYzMzBjMDQzMWQ0ZjViNTZhMWJjNTgx
YmUuLjM3ZWU0MDZiNWVhMTUyNjk5MTQ5OWJhYmJhYWRmY2M4MGY2M2FjMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTE1Niw3ICsxNTYsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRQcnVuZUVudHJpZXNEb3duVG8oc2l6ZV90IHBydW5lVGFyZ2V0Q291
bnQpOwogICAgIHZvaWQgcmVzZXRQYXJhbWV0ZXJzVG9EZWZhdWx0VmFsdWVzKCk7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgY2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkoTm90aWZ5UGFnZXNGb3JU
ZXN0aW5nID0gTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpObykgY29uc3QgPSAwOwogCiAgICAgdm9p
ZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZv
aWQgc2V0SXNSdW5uaW5nVGVzdChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5jcHAKaW5kZXggZjFhODU2MDBhNDRmNGE3ZWQwNTI1ZDU0ZDAyOTRm
N2JjNmNhMzgwZC4uOGE2MGVmMjdlNmYyN2Y2MGM3OTMwYTE4MGQxNDBmZDEwNTNlMzM0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAKQEAgLTE1
OSwxNCArMTU5LDYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnNldFNo
b3VsZFN1Ym1pdFRlbGVtZXRyeShib29sIHZhbHVlKQogICAgIH0pOwogfQogCi12b2lkIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQotewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0KLSAgICBXZWJL
aXQ6OldlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnNldE5vdGlmeVBhZ2VzV2hl
blRlbGVtZXRyeVdhc0NhcHR1cmVkKHZhbHVlKTsKLSAgICBjb21wbGV0aW9uSGFuZGxlcigpOwot
fQotCiBzdGF0aWMgUmVmPFdvcmtRdWV1ZT4gc2hhcmVkU3RhdGlzdGljc1F1ZXVlKCkKIHsKICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVmPFdvcmtRdWV1ZT4+IHF1ZXVlKFdvcmtRdWV1ZTo6
Y3JlYXRlKCJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgUHJvY2VzcyBEYXRhIFF1ZXVl
IiwgV29ya1F1ZXVlOjpUeXBlOjpTZXJpYWwsIFdvcmtRdWV1ZTo6UU9TOjpVdGlsaXR5KSk7CkBA
IC03NjgsMTEgKzc2MCw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpz
dWJtaXRUZWxlbWV0cnkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmCiAgICAgcG9zdFRhc2so
W3RoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkg
bXV0YWJsZSAgewogICAgICAgICBpZiAoIW1fc3RhdGlzdGljc1N0b3JlKQogICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAKLSAgICAgICAgaWYgKGlzPFJlc291cmNlTG9hZFN0YXRpc3RpY3NN
ZW1vcnlTdG9yZT4oKm1fc3RhdGlzdGljc1N0b3JlKSkKLSAgICAgICAgICAgIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFuZFN1Ym1pdChkb3duY2FzdDxSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+KCptX3N0YXRpc3RpY3NTdG9yZSkpOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZS0+Y2FsY3VsYXRlQW5kU3Vi
bWl0VGVsZW1ldHJ5KCk7CisgICAgICAgIG1fc3RhdGlzdGljc1N0b3JlLT5jYWxjdWxhdGVBbmRT
dWJtaXRUZWxlbWV0cnkoTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpZZXMpOwogICAgICAgICBwb3N0
VGFza1JlcGx5KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICB9KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaAppbmRleCBmM2MzZjc1M2Qz
YjhlNTI0ZDMyZjA0NzA1ZjE2ZGY1YWQ3ZDk3N2E1Li4xMzVmNmFlMmE3NjI5YzJmN2Y1ZTg1MTdi
MDExNGRiOWNkMzQzNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5oCkBAIC02OSw2ICs2OSw3IEBAIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIGVudW0g
Y2xhc3MgU2hvdWxkR3JhbmRmYXRoZXJTdGF0aXN0aWNzIDogYm9vbDsKIGVudW0gY2xhc3MgU2hv
dWxkSW5jbHVkZUxvY2FsaG9zdCA6IGJvb2wgeyBObywgWWVzIH07CiBlbnVtIGNsYXNzIEVuYWJs
ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUgOiBib29sIHsgTm8sIFllcyB9OworZW51
bSBjbGFzcyBOb3RpZnlQYWdlc0ZvclRlc3RpbmcgOiBib29sIHsgTm8sIFllcyB9Owogc3RydWN0
IFJlZ2lzdHJhYmxlRG9tYWluc1RvQmxvY2tDb29raWVzRm9yIHsKICAgICBWZWN0b3I8V2ViQ29y
ZTo6UmVnaXN0cmFibGVEb21haW4+IGRvbWFpbnNUb0Jsb2NrQW5kRGVsZXRlQ29va2llc0ZvcjsK
ICAgICBWZWN0b3I8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+IGRvbWFpbnNUb0Jsb2NrQnV0
S2VlcENvb2tpZXNGb3I7CkBAIC0yMDcsNyArMjA4LDYgQEAgc3RydWN0IFRoaXJkUGFydHlEYXRh
IHsKIAogICAgIHZvaWQgcG9wdWxhdGVNZW1vcnlTdG9yZUZyb21EaXNrKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKGJvb2wpOwotICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNl
dFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvb2wsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTaG91bGRTdWJtaXRUZWxl
bWV0cnkoYm9vbCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVsZW1ldHJ5LmNwcAppbmRleCBhYWVhMjQ3MjhiMzlhYjI3NTAxMGFjY2RiMWExNTU3OTNj
MGRlYzQ4Li5lNmZkY2IwNjUxOWU1NjBlODA4ZTA1MjNhODFiZGYyODBjMjc1ZTJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwCkBA
IC00NSw3ICs0NSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBjb25zdCB1bnNpZ25l
ZCBtaW5pbXVtUHJldmFsZW50UmVzb3VyY2VzRm9yVGVsZW1ldHJ5ID0gMzsKIGNvbnN0IHVuc2ln
bmVkIHNpZ25pZmljYW50RmlndXJlc0ZvckxvZ2dlZFZhbHVlcyA9IDM7Ci1zdGF0aWMgYm9vbCBu
b3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9IGZhbHNlOwogCiBzdHJ1Y3QgUHJl
dmFsZW50UmVzb3VyY2VUZWxlbWV0cnkgewogICAgIHVuc2lnbmVkIG51bWJlck9mVGltZXNEYXRh
UmVjb3Jkc1JlbW92ZWQ7CkBAIC0yMTYsMTIgKzIxNSwxMiBAQCB2b2lkIHN0YXRpYyBub3RpZnlQ
YWdlcyhjb25zdCBWZWN0b3I8UHJldmFsZW50UmVzb3VyY2VUZWxlbWV0cnk+JiBzb3J0ZWRQcmV2
YWxlbgogICAgIG5vdGlmeVBhZ2VzKHNvcnRlZFByZXZhbGVudFJlc291cmNlcy5zaXplKCksIHRv
dGFsTnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRoVXNlckludGVyYWN0aW9uLCAwLCAwLCAw
LCAwLCBtZWRpYW4oc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlv
biwgMCwgMiwgc3ViZnJhbWVVbmRlclRvcEZyYW1lT3JpZ2luc0dldHRlciksIDAsIDAsIDAsICBz
dG9yZSk7CiB9CiAgICAgCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6
OmNhbGN1bGF0ZUFuZFN1Ym1pdChjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3Rv
cmUmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSkKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RlbGVtZXRyeTo6Y2FsY3VsYXRlQW5kU3VibWl0KGNvbnN0IFJlc291cmNlTG9hZFN0
YXRpc3RpY3NNZW1vcnlTdG9yZSYgcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLCBOb3RpZnlQ
YWdlc0ZvclRlc3Rpbmcgbm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpCiB7CiAg
ICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CiAgICAgCiAgICAgYXV0byBzb3J0ZWRQcmV2
YWxlbnRSZXNvdXJjZXMgPSBzb3J0ZWRQcmV2YWxlbnRSZXNvdXJjZVRlbGVtZXRyeShyZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmUpOwotICAgIGlmIChub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZCAmJiBzb3J0ZWRQcmV2YWxlbnRSZXNvdXJjZXMuaXNFbXB0eSgpKSB7CisgICAg
aWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2VzRm9y
VGVzdGluZzo6WWVzICYmIHNvcnRlZFByZXZhbGVudFJlc291cmNlcy5pc0VtcHR5KCkpIHsKICAg
ICAgICAgbm90aWZ5UGFnZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgcmVzb3VyY2VM
b2FkU3RhdGlzdGljc1N0b3JlLnN0b3JlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
MjM4LDE1ICsyMzcsMTUgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5
OjpjYWxjdWxhdGVBbmRTdWJtaXQoY29uc3QgUmVzb3VyY2VMb2FkU3QKICAgICB9CiAgICAgCiAg
ICAgLy8gRGlzcGF0Y2ggb24gdGhlIG1haW4gdGhyZWFkIHRvIG1ha2Ugc3VyZSB0aGUgV2ViUGFn
ZVByb3h5IHdlJ3JlIHVzaW5nIGRvZXNuJ3QgZ28gYXdheS4KLSAgICBSdW5Mb29wOjptYWluKCku
ZGlzcGF0Y2goW3NvcnRlZFByZXZhbGVudFJlc291cmNlcyA9IFdURk1vdmUoc29ydGVkUHJldmFs
ZW50UmVzb3VyY2VzKSwgc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFj
dGlvbiA9IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFj
dGlvbiksIHByZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiA9IFdURk1v
dmUocHJldmFsZW50UmVzb3VyY2VzRGF5c1NpbmNlVXNlckludGVyYWN0aW9uKSwgc3RvcmUgPSBt
YWtlUmVmKHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgeworICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbbm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQsIHNvcnRlZFByZXZhbGVudFJlc291cmNlcyA9IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVz
b3VyY2VzKSwgc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiA9
IFdURk1vdmUoc29ydGVkUHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlvbiks
IHByZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiA9IFdURk1vdmUocHJl
dmFsZW50UmVzb3VyY2VzRGF5c1NpbmNlVXNlckludGVyYWN0aW9uKSwgc3RvcmUgPSBtYWtlUmVm
KHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgewogICAgICAgICBhdXRv
IHdlYlBhZ2VQcm94eSA9IFdlYlBhZ2VQcm94eTo6bm9uRXBoZW1lcmFsV2ViUGFnZVByb3h5KCk7
CiAgICAgICAgIGlmICghd2ViUGFnZVByb3h5KSB7Ci0gICAgICAgICAgICBpZiAobm90aWZ5UGFn
ZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpCisgICAgICAgICAgICBpZiAobm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgPT0gTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpZZXMpCiAg
ICAgICAgICAgICAgICAgbm90aWZ5UGFnZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
c3RvcmUpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAg
ICBpZiAobm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpIHsKKyAgICAgICAgaWYg
KG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2VzRm9yVGVz
dGluZzo6WWVzKSB7CiAgICAgICAgICAgICBub3RpZnlQYWdlcyhzb3J0ZWRQcmV2YWxlbnRSZXNv
dXJjZXMsIHNvcnRlZFByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24sIHBy
ZXZhbGVudFJlc291cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbi5zaXplKCksIHN0b3JlKTsK
ICAgICAgICAgICAgIC8vIFRoZSBub3RpZnkgcGFnZXMgZnVuY3Rpb24gaXMgZm9yIHRlc3Rpbmcg
c28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbiBhY3R1YWwgc3VibWlzc2lvbi4KICAgICAgICAgICAg
IHJldHVybjsKQEAgLTMwMywyMCArMzAyLDIwIEBAIHN0YXRpYyB2b2lkIGRhdGFiYXNlU3VibWl0
VG9wTGlzdHMoY29uc3QgUHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYgdGVsCiAg
ICAgfQogfQogCi12b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1p
dFRlbGVtZXRyeShjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZSYgcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLCBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1l
dHJ5JiBwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5KQordm9pZCBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkoY29uc3QgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSwg
UHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYgcHJldmFsZW50UmVzb3VyY2VEYXRh
YmFzZVRlbGVtZXRyeSwgTm90aWZ5UGFnZXNGb3JUZXN0aW5nIG5vdGlmeVBhZ2VzV2hlblRlbGVt
ZXRyeVdhc0NhcHR1cmVkKQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCi0g
ICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkICYmICFwcmV2YWxlbnRS
ZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5Lm51bWJlck9mUHJldmFsZW50UmVzb3VyY2VzKSB7Cisg
ICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkID09IE5vdGlmeVBhZ2Vz
Rm9yVGVzdGluZzo6WWVzICYmICFwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5Lm51
bWJlck9mUHJldmFsZW50UmVzb3VyY2VzKSB7CiAgICAgICAgIG5vdGlmeVBhZ2VzKDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDAsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIERpc3BhdGNoIG9uIHRoZSBtYWlu
IHRocmVhZCB0byBtYWtlIHN1cmUgdGhlIFdlYlBhZ2VQcm94eSB3ZSdyZSB1c2luZyBkb2Vzbid0
IGdvIGF3YXkuCi0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0ZWxlbWV0cnkgPSBXVEZN
b3ZlKHByZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnkpLCBzdG9yZSA9IG1ha2VSZWYo
cmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLnN0b3JlKCkpXSAoKSB7CisgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFtub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCwgdGVs
ZW1ldHJ5ID0gV1RGTW92ZShwcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5KSwgc3Rv
cmUgPSBtYWtlUmVmKHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgewog
CiAgICAgICAgIC8vIFRoZSBub3RpZnkgcGFnZXMgZnVuY3Rpb24gaXMgZm9yIHRlc3Rpbmcgc28g
d2UgZG9uJ3QgbmVlZCB0byBkbyBhbiBhY3R1YWwgc3VibWlzc2lvbi4KLSAgICAgICAgaWYgKG5v
dGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKSB7CisgICAgICAgIGlmIChub3RpZnlQ
YWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9PSBOb3RpZnlQYWdlc0ZvclRlc3Rpbmc6Olll
cykgewogICAgICAgICAgICAgaWYgKHRlbGVtZXRyeS5udW1iZXJPZlByZXZhbGVudFJlc291cmNl
c1dpdGhvdXRVc2VySW50ZXJhY3Rpb24gPCAzKSB7CiAgICAgICAgICAgICAgICAgbm90aWZ5UGFn
ZXMoMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgc3RvcmUpOwogICAgICAgICAgICAgICAg
IHJldHVybjsKQEAgLTM0OSwxMiArMzQ4LDYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVsZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGkKICAg
ICAgICAgZGF0YWJhc2VTdWJtaXRUb3BMaXN0cyh0ZWxlbWV0cnksIHN0b3JlKTsKICAgICB9KTsK
IH0KLSAgICAKLXZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeTo6c2V0Tm90
aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoYm9vbCBhbHdheXMpCi17Ci0gICAgbm90
aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgPSBhbHdheXM7Ci19Ci0gICAgCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1l
dHJ5LmgKaW5kZXggZDdlZTEwN2E4MTEyMTk3NWVmYTI5Mjc5YjRiNmU2NzkyODM2Yzg1Zi4uODM2
NjIzM2NiNWVjZmVjNzUwYzJmNDc1MzM4NzYxN2M2NjU0ZWI3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUZWxlbWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZp
ZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5oCkBAIC0zNCwxMiArMzQsMTIg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5
U3RvcmU7CiBjbGFzcyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTsKIHN0cnVj
dCBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5OworZW51bSBjbGFzcyBOb3RpZnlQ
YWdlc0ZvclRlc3RpbmcgOiBib29sOwogCiBuYW1lc3BhY2UgV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1RlbGVtZXRyeSB7CiAgICAgCi12b2lkIGNhbGN1bGF0ZUFuZFN1Ym1pdChjb25zdCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmKTsKLXZvaWQgc3VibWl0VGVsZW1ldHJ5KGNv
bnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlJiwgUHJldmFsZW50UmVzb3Vy
Y2VEYXRhYmFzZVRlbGVtZXRyeSYpOwotdm9pZCBzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZChib29sKTsKK3ZvaWQgY2FsY3VsYXRlQW5kU3VibWl0KGNvbnN0IFJlc291cmNl
TG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZSYsIE5vdGlmeVBhZ2VzRm9yVGVzdGluZyA9IE5vdGlm
eVBhZ2VzRm9yVGVzdGluZzo6Tm8pOwordm9pZCBzdWJtaXRUZWxlbWV0cnkoY29uc3QgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUmLCBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNl
VGVsZW1ldHJ5JiwgTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsKICAgICAKIH0KIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggZmU2OWMy
ZGM5Njc3MjhlZDE0MTk1ZGRlZDlmYTNhZjE0MjNhYWE4NS4uNTNhMWYyMWNhMmFjMjNlNjY4ZTk2
MjEyZjk1ZDg4MTY4ZWNmM2M4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTg2NywxOSArODY3LDYgQEAgdm9pZCBOZXR3b3JrUHJv
Y2Vzczo6c2V0SXNSdW5uaW5nUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNzaW9u
SUQgc2Vzc2kKICAgICB9CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldE5vdGlmeVBhZ2Vz
V2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2
YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewot
ICAgIGlmIChhdXRvKiBuZXR3b3JrU2Vzc2lvbiA9IHRoaXMtPm5ldHdvcmtTZXNzaW9uKHNlc3Np
b25JRCkpIHsKLSAgICAgICAgaWYgKGF1dG8qIHJlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBuZXR3
b3JrU2Vzc2lvbi0+cmVzb3VyY2VMb2FkU3RhdGlzdGljcygpKQotICAgICAgICAgICAgcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy0+c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQo
dmFsdWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLSAgICB9Ci19Ci0K
IHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbihQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiBzdWJGcmFtZURv
bWFpbiwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIHRvcEZyYW1lRG9tYWluLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgaWYgKGF1dG8qIG5l
dHdvcmtTZXNzaW9uID0gdGhpcy0+bmV0d29ya1Nlc3Npb24oc2Vzc2lvbklEKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDdmYjlmN2Jh
MTdlNjRlNjU0YWM3YWVhNmQ1MDgwMjA2NGIxMTFhMWUuLmUxNDc5YzVkYWRmOTdhN2EzN2Y2OGRm
ODk4ODk0ZjNkNGM1MWQ2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKQEAgLTI0OCw3ICsyNDgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRN
aW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoUEFMOjpTZXNzaW9uSUQsIFNlY29u
ZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXROb3RpZnlQYWdl
c1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKFBBTDo6U2Vzc2lvbklELCBib29sIHZhbHVlLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0SXNSdW5uaW5nUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1Rlc3QoUEFMOjpTZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0
cnlXYXNDYXB0dXJlZChQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVk
KFBBTDo6U2Vzc2lvbklELCBib29sKTsKICAgICB2b2lkIHNldFJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NMb2dUZXN0aW5nRXZlbnQoYm9vbCk7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGVidWdNb2RlKFBBTDo6U2Vzc2lvbklELCBib29sIGRlYnVnTW9kZSwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBkMmM4NjI4ZDdkYTA4NWYwOTBh
ZDU1NDNmNTYyODYxOTQ1MmJhNWMyLi43MDIyMjg1ZTM2ODg1ZGU4NmYyZGFmNjg4OGIwMjQ3Mjk5
MzVjZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEyNyw3ICsxMjcsNiBAQCBtZXNzYWdlcyAtPiBO
ZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0U2hvdWxkQ2xhc3NpZnlSZXNv
dXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBi
b29sIHZhbHVlKSAtPiAoKSBBc3luYwogICAgIFNldE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlKSAtPiAoKSBB
c3luYwogICAgIFNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5bmMKLSAgICBTZXROb3RpZnlQ
YWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJv
b2wgdmFsdWUpIC0+ICgpIEFzeW5jCiAgICAgU2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVn
TW9kZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgZGVidWdNb2RlKSAtPiAoKSBBc3lu
YwogICAgIFNldFZlcnlQcmV2YWxlbnRSZXNvdXJjZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHJlc291cmNlRG9tYWluKSAtPiAoKSBBc3luYwog
ICAgIFNldFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbihQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHN1YkZyYW1lRG9tYWluLCBXZWJDb3JlOjpS
ZWdpc3RyYWJsZURvbWFpbiB0b3BGcmFtZURvbWFpbikgLT4gKCkgQXN5bmMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3Bw
CmluZGV4IDY4NmU0NzQyZjc0MWY0MmE1YzBjNmFlNDFlNGI2ZTc0ZWZlNjc5ZDMuLjg3YTM3MGNj
NjEyODkyNThhMjYxZmYyM2ZkOTgxOGU0NmU3YWU1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtNDc0
LDEzICs0NzQsNiBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTaG91bGRD
bGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtbwogI2VuZGlmCiB9CiAKLXZvaWQg
V0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdh
c0NhcHR1cmVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUp
Ci17Ci0jaWYgRU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKLSAgICBXZWJLaXQ6OnRv
SW1wbChkYXRhU3RvcmVSZWYpLT5zZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJl
ZCh2YWx1ZSwgW10oKSB7IH0pOwotI2VuZGlmCi19Ci0KIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3Jl
U2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbChXS1dlYnNp
dGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBkb3VibGUgc2Vjb25kcykKIHsKICNpZiBFTkFC
TEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAppbmRleCA2YTBjY2Q4N2M2ODI2
MGYxODRiZjBhMTYwNDc5YmRhZjNiNGI3YWE3Li5kOGI4ZDFmNDBiODY1NDM4YTI4ODE0MzgwOTdl
YmMwZjBjN2UxZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1dlYnNpdGVEYXRhU3RvcmVSZWYuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaApAQCAtMTAyLDcgKzEwMiw2IEBAIFdLX0VYUE9SVCB2
b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVj
b3Jkc1dlcmVTY2FuCiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0
aWNzSXNSdW5uaW5nVGVzdEZ1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQ
T1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0lzUnVubmluZ1Rlc3QoV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1ZSwgdm9pZCogY29udGV4
dCwgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0lzUnVubmluZ1Rlc3RGdW5jdGlvbiBj
YWxsYmFjayk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNz
U2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1ZSk7Ci1XS19FWFBPUlQgdm9pZCBX
S1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCB2YWx1ZSk7
CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzTWluaW11bVRp
bWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3Rv
cmVSZWYsIGRvdWJsZSBzZWNvbmRzKTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9y
ZVNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmluZ1RpbWUoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRh
dGFTdG9yZVJlZiwgZG91YmxlIHNlY29uZHMpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0
YVN0b3JlU2V0U3RhdGlzdGljc01heFN0YXRpc3RpY3NFbnRyaWVzKFdLV2Vic2l0ZURhdGFTdG9y
ZVJlZiBkYXRhU3RvcmVSZWYsIHVuc2lnbmVkIGVudHJpZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXgg
OTUxYzJjNjNjMDRlZWU5Nzc0YzA2YTlkMDkwNjRiNmU0NTdmODRhNC4uODc0YjExMTQ4MDMzNzFh
ZjY5YzEyNjhmNWMyOTVhNWM5NWE3NWNjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC03MjUsMTYgKzcy
NSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFj
dGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1l
c3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2V0VGltZVRvTGl2ZVVzZXJJbnRlcmFjdGlvbihzZXNz
aW9uSUQsIHNlY29uZHMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQg
TmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCi17Ci0gICAgaWYgKCFjYW5TZW5kTWVzc2Fn
ZSgpKSB7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0gICAgCi0gICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vz
czo6U2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoc2Vzc2lvbklELCB2YWx1
ZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLX0KLQogdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpzZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghY2FuU2VuZE1lc3NhZ2UoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuaAppbmRleCBkNmVjYjU2Njc5ZmQ1ZTIxYTI4ZDhhMzllOWFkMTRjZTYxMWI0YzAxLi43NWE0
NGM1NDJlMDhmMjM0YjdhZDhmNjlkYTAzNzE2YjAxZDhhNjA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAtMTQx
LDcgKzE0MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVzZUlUUERhdGFiYXNlKFBBTDo6U2Vz
c2lvbklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgc2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChQQUw6OlNlc3Npb25J
RCwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldElzUnVu
bmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KFBBTDo6U2Vzc2lvbklELCBib29sLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuVGVs
ZW1ldHJ5V2FzQ2FwdHVyZWQoUEFMOjpTZXNzaW9uSUQsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW4oUEFM
OjpTZXNzaW9uSUQsIGNvbnN0IFN1YkZyYW1lRG9tYWluJiwgY29uc3QgVG9wRnJhbWVEb21haW4m
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0U3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lRG9tYWluKFBBTDo6U2Vzc2lvbklELCBjb25zdCBTdWJSZXNvdXJjZURvbWFp
biYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
ICAgICB2b2lkIHNldFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RUbyhQQUw6OlNlc3Npb25JRCwg
Y29uc3QgU3ViUmVzb3VyY2VEb21haW4mLCBjb25zdCBSZWRpcmVjdGVkVG9Eb21haW4mLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCBjZTliZDdmOGI4
NDExOWQ5MGE4MzhiNWFmZWUwNGI4YmY3OWUyZGQyLi5hZmE4NjQ5NjRlY2E2NDEyZjAzZTU4NmRi
Y2RiMzIwZTNmMTljNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcApAQCAtMTY4NywxNCArMTY4Nyw2IEBA
IHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0SXNSdW5uaW5nUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1Rlc3QoYm9vbCB2YWx1ZSwgQ29tcGxlCiAgICAgICAgIHByb2Nlc3NQb29sLT5lbnN1cmVOZXR3
b3JrUHJvY2VzcygpLnNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KG1fc2Vz
c2lvbklELCB2YWx1ZSwgW3Byb2Nlc3NQb29sLCBjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiB9
CiAKLXZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQotewotICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2FsbGJhY2tBZ2dy
ZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgIAotICAgIGZv
ciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBwcm9jZXNzUG9vbHMoKSkKLSAgICAgICAgcHJvY2Vzc1Bv
b2wtPmVuc3VyZU5ldHdvcmtQcm9jZXNzKCkuc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQobV9zZXNzaW9uSUQsIHZhbHVlLCBbcHJvY2Vzc1Bvb2wsIGNhbGxiYWNrQWdncmVn
YXRvcl0geyB9KTsKLX0KLQogdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpnZXRBbGxTdG9yYWdlQWNj
ZXNzRW50cmllcyhXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmIGRvbWFpbnMpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIGF1dG8qIHdlYlBhZ2UgPSBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2UocGFnZUlEKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuaAppbmRleCAwZjU1YjhiNWZhYzkzMjE3NTFhMjYzMTg0MWIwMWRjZDBmMjVmODFj
Li42MGJiY2FlMDhkZGUyZDBmNzk5NjBkYmQxZjkzMzljZjAzZGQ5NjdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
CkBAIC0xODUsNyArMTg1LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVS
ZWRpcmVjdEZyb20oY29uc3QgVVJMJiB0b3BGcmFtZUhvc3ROYW1lLCBjb25zdCBVUkwmIGhvc3RO
YW1lUmVkaXJlY3RlZEZyb20sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9p
ZCBzZXRNYXhTdGF0aXN0aWNzRW50cmllcyhzaXplX3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CiAgICAgdm9pZCBzZXRNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwo
U2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIHNldE5vdGlm
eVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcmV2YWxlbnRSZXNvdXJjZShjb25zdCBVUkwmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UHJldmFsZW50UmVzb3VyY2VG
b3JEZWJ1Z01vZGUoY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAg
ICB2b2lkIHNldFNob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFs
KGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODE0Zjk5MjMwOTdiNzI1ZWJlNWNiZjNh
Y2I0NzU0Zjc1MjEyNGYzNS4uYTYzOWY3ZDQ0YzY2MDRjNzIxOTY2YjkzYWE4ZmFiZWM3NDhjZDJj
OCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDIwLTA3LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlA
YXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgaU9TIF0gaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0
YWJhc2UuaHRtbCBpcyBhIHJhcmUgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMTY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS82MzQ2MjA0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0bworICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBub3cgdGhhdAorICAg
ICAgICB0ZWxlbWV0cnkgcmVwb3J0cyBmcm9tIHRoZSB0ZXN0aW5nIFNQSSB3aWxsIGFsd2F5cyBu
b3RpZnkgdGhlIHRlc3QKKyAgICAgICAgcnVubmVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAo
V1RSOjpUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpk
aWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAyMC0w
Ny0wOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBGbGFreSBB
UEkgVGVzdDogVGVzdFdlYktpdEFQSS5TbGVlcERpc2FibGVyLk5hdmlnYXRlQmFjawpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggZGYxMWQ5NzlhNDY2YjQ2N2EzNjY2Y2M4MDdjYjY1NTMy
YzE0NWEyNi4uMDNlNWFiOGZhMTc4MzQ3OTliZmFmNzlmMTEyNWZjZmJiNjZhYmQ0OCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC0zMzIsNyArMzMyLDYgQEAgaW50ZXJmYWNlIFRlc3RS
dW5uZXIgewogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRz
V2VyZVNjYW5uZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSXNSdW5u
aW5nVGVzdChib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRDbGFz
c2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sZWFuIHZhbHVlKTsKLSAg
ICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChi
b29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5E
YXRhUmVjb3Jkc1JlbW92YWwoZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGlj
c0dyYW5kZmF0aGVyaW5nVGltZShkb3VibGUgc2Vjb25kcyk7CiAgICAgdm9pZCBzZXRTdGF0aXN0
aWNzTWF4U3RhdGlzdGljc0VudHJpZXModW5zaWduZWQgbG9uZyBlbnRyaWVzKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmlu
ZGV4IDE1M2FkODIzYTRmYjM0ZDMzZTg4NDQ0OTE2NTEzNGQ4NWEwMzJlMDIuLmYyMDQ2Njc1MjFm
MGQwNDg3ZjBhYzE2Nzc0MTY3ZDhhYzQ3MTQ0YjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMjE3NSwxMyArMjE3
NSw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3Vy
Y2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKGJvCiAgICAgV0tCdW5kbGVQb3N0U3luY2hyb25v
dXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5h
bWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKIH0KIAotdm9pZCBUZXN0UnVu
bmVyOjpzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoYm9v
bCB2YWx1ZSkKLXsKLSAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBh
ZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTdGF0aXN0aWNzTm90aWZ5UGFn
ZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQiKSk7Ci0gICAgV0tSZXRhaW5QdHI8V0tCb29sZWFu
UmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKHZhbHVlKSk7Ci0gICAg
V0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRy
KTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVu
RGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKQogewogICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIlNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwi
KSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5oCmluZGV4IGM2ZDY4ZDYxYTZkYzIyZjEwMTc1MjU0NGEzY2Q1YzYxOGU0NGVmYjQuLmI4
Yzc4YjY3ZjFmYmMxN2NkMTU5OGI0MmJiZjA5MmRkYWVjMDQwNjUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC00MzIsNyAr
NDMyLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSXNSdW5u
aW5nVGVzdChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291
cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsKLSAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChib29sIHZhbHVlKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoZG91
YmxlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmluZ1RpbWUoZG91YmxlIHNl
Y29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc01heFN0YXRpc3RpY3NFbnRyaWVzKHVuc2ln
bmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMTNi
ZTFlOGY5NzA1NGIzOWEwNWQxNzA1NzY0YWI0ODRiNGJlMzhiZi4uYTYwZjk4NmFiMDE4MWYzMDM1
YWQxNzdhNzAyZjc4ZjVjYTBjYzZhNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKQEAgLTM3NTMsMTEgKzM3NTMsNiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpz
ZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92
YQogICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291
cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbCh3ZWJzaXRlRGF0YVN0b3JlKCksIHZhbHVlKTsK
IH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRl
bGVtZXRyeVdhc0NhcHR1cmVkKGJvb2wgdmFsdWUpCi17Ci0gICAgV0tXZWJzaXRlRGF0YVN0b3Jl
U2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKHdlYnNpdGVE
YXRhU3RvcmUoKSwgdmFsdWUpOwotfQotCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRTdGF0aXN0
aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKQog
ewogICAgIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5E
YXRhUmVjb3Jkc1JlbW92YWwod2Vic2l0ZURhdGFTdG9yZSgpLCBzZWNvbmRzKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBlYWZjYmQzZTEzNWViMjcwMmZlYTQz
MDZjZmY4MzZiMzJjN2I0NjJjLi5hMTMwODQ5YjNkM2FlYmEyZTIxZTZhMGEzNGQ0NjI5MmUxOWQ0
YTUwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC0yNTEsNyAr
MjUxLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRh
dGFSZWNvcmRzV2VyZVNjYW5uZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzSXNSdW5u
aW5nVGVzdChib29sKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291
cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sKTsKLSAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChib29sIHZhbHVlKTsKICAgICB2
b2lkIHNldFN0YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoZG91
YmxlKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NHcmFuZGZhdGhlcmluZ1RpbWUoZG91YmxlIHNl
Y29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc01heFN0YXRpc3RpY3NFbnRyaWVzKHVuc2ln
bmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggMzAx
NjEwN2YxOTJhZjZlMzExMjJjMjQ5ZGIzZWU1N2YzNGExZTA5Zi4uOTc1OTM1NWIxMjg1MWIwZWNj
MzU2ODFlM2Y0MGIxZTU4Zjc0MTBhMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHAKQEAgLTE1ODUsMTMgKzE1ODUsNiBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+
IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVk
QgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAgICAgCi0gICAgaWYgKFdLU3RyaW5n
SXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTdGF0aXN0aWNzTm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQiKSkgewotICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQo
bWVzc2FnZUJvZHkpID09IFdLQm9vbGVhbkdldFR5cGVJRCgpKTsKLSAgICAgICAgV0tCb29sZWFu
UmVmIHZhbHVlID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihtZXNzYWdlQm9keSk7Ci0gICAg
ICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoV0tCb29sZWFuR2V0VmFsdWUodmFsdWUpKTsKLSAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIGlmIChXS1N0cmluZ0lzRXF1YWxU
b1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3Vy
Y2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsIikpIHsKICAgICAgICAgQVNTRVJUKFdLR2V0VHlw
ZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Jvb2xlYW5HZXRUeXBlSUQoKSk7CiAgICAgICAgIFdLQm9v
bGVhblJlZiB2YWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDliYmIxNWFiZjIxMTk0ZDhhZGI3YzlmODhhMzBiZWYxODVmYjI5ZGEuLmRiNjRiYTEx
ZjBkODEzYzg1NGViNmQzNzFhZTliODdiYWVhNGVjZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAor
MjAyMC0wNy0xMyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKwor
ICAgICAgICBbIG1hY09TIGlPUyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90
ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwgaXMg
YSByYXJlIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjE2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM0NjIwNDU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVu
bmVjZXNzYXJ5IGNhbGwgdG8KKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgbm93IHRoYXQKKyAgICAgICAgdGVsZW1ldHJ5
IHJlcG9ydHMgZnJvbSB0aGUgdGVzdGluZyBTUEkgd2lsbCBhbHdheXMgbm90aWZ5IHRoZSB0ZXN0
CisgICAgICAgIHJ1bm5lci4gVXBkYXRlZCBleHBlY3RhdGlvbnMgbm93IHRoYXQgdGVzdCBpcyBu
b3QgZXhwZWN0ZWQgdG8gZmxha2UuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1k
YXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1n
ZW5lcmF0aW9uLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6
CisKIDIwMjAtMDctMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgYXV0b2NhcGl0YWxpemU9IndvcmRzIiBjYXBpdGFsaXplcyBldmVyeSB3b3JkJ3Mg
c2Vjb25kIGNoYXJhY3RlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9u
YWxpdHktZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNlZC1mdW5jdGlvbmFsaXR5LWRh
dGFiYXNlLmh0bWwKaW5kZXggOTk3Y2NlNmYyZmRmMGM3MDc1NTUwM2Q0NzVlY2RhYmQwNDFlNDJj
YS4uMzhjNmNlMGNiNTlmMjdhN2NlZjFmN2NmMmE5NjVmMmVjODFiN2VjNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1n
ZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVy
YXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sCkBAIC0xNDcsNyArMTQ3
LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgICAgICBzZXRFbmFibGVG
ZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0
aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQodHJ1ZSk7CiAgICAgICAg
ICAgICBzZXRVcFN0YXRpc3RpY3NBbmRDb250aW51ZSgpOwogICAgICAgICB9KTsKICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1n
ZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbAppbmRleCBjNDgwZGIz
NGRiN2QzZWNhM2Y5OTliYjUxNjFjZDdiNmVmZmI5ZGMzLi4yODEzOTE5ZTA5MDg0MWZmY2NkZGQy
OWEyYzIwNzVhZjZmNjkzZmEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25h
bGl0eS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRh
dGFiYXNlLmh0bWwKQEAgLTEyNyw3ICsxMjcsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CiAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZCh0cnVlKTsKICAgICAgICAgICAgIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGlj
c0FuZENvbnRpbnVlKCk7CiAgICAgICAgIH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Rl
bGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwKaW5kZXggODc3ZjhkOTkxM2E0NzMxMDJkMDNhNGM4OGNk
YjE3Mzk3MTE5YzFlNi4uYjM1NTdlODIzOTg4YjczYWM4ZTA0M2Y2N2ZkZWZlZDhkYzRmNzBkNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwKQEAgLTExMiw3
ICsxMTIsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHNldEVu
YWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh0cnVlKTsKICAg
ICAgICAgICAgIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVlKCk7CiAgICAg
ICAgIH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggZWZiMGEyZTVkMzQwOGI0ZDJjMTNlYzEyZWI5ZTk3NDZmN2EyYjQ3OC4uOGI0MTQ2YWFh
MjBhYjgxZDNlZDhkM2YyYzZiMTEwMDM5OTMxNDc0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE4ODgsOCArMTg4OCw2IEBAIGh0dHAvdGVzdHMvZnJh
bWUtdGhyb3R0bGluZy9yYWYtdGhyb3R0bGUtaW4tY3Jvc3Mtb3JpZ2luLXN1YmZyYW1lLmh0bWwg
WyBQYXNzIEZhCiAKIHdlYmtpdC5vcmcvYi8yMTE4OTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleGJveF9kaXJlY3Rpb24tcm93LXJldmVyc2UuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogCi13ZWJraXQub3JnL2IvMjEyMTY1IGh0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlv
bmFsaXR5LWRhdGFiYXNlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiB3ZWJraXQub3JnL2IvMjEy
MjE1IG1lZGlhL3ZpZGVvLWlzcGxheWluZ3RvYXV0b21vdGl2ZWhlYWR1bml0Lmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjEyMjE5IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1t
aXNzaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404246</attachid>
            <date>2020-07-14 09:59:40 -0700</date>
            <delta_ts>2020-07-14 11:19:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212165-20200714095939.patch</filename>
            <type>text/plain</type>
            <size>40745</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4NjdlYjE4N2M0OGU3NWIz
ZjFhMzY5ODNiZTY5YWJkYzYxNjU5MWQuLjc1NGNhMTZhNjI3MzY1YjA0NTMzYmY1ODFiYWZkZjZk
MjQyNzVmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMjAtMDctMTQgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBpT1Mg
XSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24t
YmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGlzIGEgcmFyZSBmbGFreSBmYWlsdXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIxNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNDYyMDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgVGVzdCB3YXMgZmxha2luZyBiZWNhdXNlIG9mIG11
bHRpcGxlIGFzeW5jIGNhbGxzIHRvIHN1Ym1pdCB0ZWxlbWV0cnksCisgICAgICAgIHdoaWNoIGhh
cHBlbiB3aGVuIGEgbmV3IElUUCBzdG9yZSBpcyBjcmVhdGVkIGFuZCBhZ2FpbiB3aGVuIHRoZSB0
ZXN0CisgICAgICAgIG1ha2VzIGFuIFNQSSBjYWxsLiBJZiB0aGUgZmlyc3QgdGVsZW1ldHJ5IGNh
bGwgaXMgcmVwb3J0ZWQgYWZ0ZXIgdGhlIHRlc3QKKyAgICAgICAgc2V0cyBub3RpZnlQYWdlc1do
ZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBidXQgYmVmb3JlIHRoZSBTUEkgY2FsbCB0byBjYXB0dXJl
CisgICAgICAgIHRlbGVtZXRyeSBpcyBzdWJtaXR0ZWQsIHRoZSB0ZXN0IHdpbGwgcmVjZWl2ZSB0
aGUgd3JvbmcgZGF0YS4KKyAgICAgICAgVG8gZml4IHRoaXMsIHdlIHNob3VsZCBzaW1wbGlmeSBi
eSByZW1vdmluZyB0aGUgc2VwYXJhdGUgZnVuY3Rpb24gdG8KKyAgICAgICAgdGVsbCBJVFAgdG8g
cmVwb3J0IHRlbGVtZXRyeSwgYW5kIGluc3RlYWQgYWx3YXlzIHJlcG9ydCB3aGVuIHRoZSB0ZXN0
aW5nCisgICAgICAgIFNQSSBjYWxsIGlzIG1hZGUuIAorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
d2lsbCBmaXggZmxha3kgdGVzdHMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmNhbGN1bGF0ZUFuZFN1
Ym1pdFRlbGVtZXRyeSBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmll
ci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpj
YWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkgY29uc3QpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmg6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6c3VibWl0VGVsZW1ldHJ5KToKKyAgICAgICAgUGFzcyBpbiBuZXcgZW51
bSB2YWx1ZSB0byBpbmRpY2F0ZSB3aGVuIHRoZSB0ZWxlbWV0cnkgY2FsbCBpcyBjb21pbmcKKyAg
ICAgICAgZnJvbSB0aGUgdGVzdGluZyBTUEkuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpjYWxjdWxhdGVB
bmRTdWJtaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVs
ZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5Lmg6CisgICAgICAgIFJlbW92ZSBzdGF0aWMg
Ym9vbCB2YXJpYWJsZSBub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBhbmQKKyAg
ICAgICAgcmVseSBvbiB0aGUgc3VibWl0VGVsZW1ldHJ5IGZ1bmN0aW9uIGNhbGwgdG8gbGV0IHVz
IGtub3cgd2hlbiB0byByZXBvcnQgdGVsZW1ldHJ5LgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6
c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dlYnNpdGVEYXRhU3Rv
cmVTZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0Tm90aWZ5UGFnZXNXaGVuVGVs
ZW1ldHJ5V2FzQ2FwdHVyZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6
OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICBS
ZW1vdmUgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgZnVuY3Rpb24uCisK
IDIwMjAtMDctMTMgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIENyYXNoIHVuZGVyIFdlYktpdDo6TGF1bmNoU2VydmljZXNEYXRhYmFzZU1hbmFnZXI6OmRp
ZENvbm5lY3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0
YWJhc2VTdG9yZS5jcHAKaW5kZXggZTNiMzRhNjk5NWU0ODJjZDAxODczMmQ3ZjRlNWM0MjMyNjE5
MmVkNS4uMmVhYzgyNDZlMzZiZTExMzNiMzZkZTJkNWU1MzA0ZThiMTMyZTBkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwCkBA
IC0xMjUyLDE0ICsxMjUyLDE0IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNl
U3RvcmU6OmNhbGN1bGF0ZVRlbGVtZXRyeURhdGEoUHJldmFsZW50UmVzb3VyCiAgICAgfQogfQog
Ci12b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjYWxjdWxhdGVBbmRT
dWJtaXRUZWxlbWV0cnkoKSBjb25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJh
c2VTdG9yZTo6Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KE5vdGlmeVBhZ2VzRm9yVGVzdGlu
ZyBzaG91bGROb3RpZnlQYWdlc0ZvclRlc3RpbmcpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFSdW5M
b29wOjppc01haW4oKSk7CiAKICAgICBpZiAocGFyYW1ldGVycygpLnNob3VsZFN1Ym1pdFRlbGVt
ZXRyeSkgewogICAgICAgICBQcmV2YWxlbnRSZXNvdXJjZURhdGFiYXNlVGVsZW1ldHJ5IHByZXZh
bGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnk7CiAgICAgICAgIGNhbGN1bGF0ZVRlbGVtZXRy
eURhdGEocHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7Ci0gICAgICAgIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywgcHJl
dmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSk7CisgICAgICAgIFdlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnN1Ym1pdFRlbGVtZXRyeSgqdGhpcywgcHJldmFsZW50UmVz
b3VyY2VEYXRhYmFzZVRlbGVtZXRyeSwgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlLmgKaW5kZXggMTE2MGFhZTNiOTNiZDY3ZjA2M2NkZDY0Y2FjZjAwZjc0YjFhZDk2Yy4u
MTlmNzY4YmQzODA5NTRjNzBlMTgzNzY2MGI3YjVmY2JjMDcwZTZjNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NEYXRhYmFzZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTEyMyw3ICsx
MjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8oY29u
c3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVEb21haW4m
LCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxjdWxhdGVB
bmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1bGF0ZUFu
ZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdlc0ZvclRl
c3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgaGFzU3RvcmFnZUFjY2Vzcyhj
b25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgT3B0aW9uYWw8V2Vi
Q29yZTo6RnJhbWVJZGVudGlmaWVyPiwgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFN0b3Jh
Z2VBY2Nlc3MoU3ViRnJhbWVEb21haW4mJiwgVG9wRnJhbWVEb21haW4mJiwgV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyLCBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViQ29yZTo6U3RvcmFnZUFj
Y2Vzc1Njb3BlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0b3JhZ2VBY2Nlc3NTdGF0dXMpPiYm
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1v
cnlTdG9yZS5jcHAKaW5kZXggMDY2OTgyMGQ4NjU3ZTU5M2M0NjYyY2Y5NTY5Y2ZmMjgzOWZmMjRj
ZS4uMDI5YzU0NWUxMTFhMmFmN2QyOWI0Y2Q2MGU0MDUyZjY0MGFlOTAzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NNZW1vcnlTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
bGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHAKQEAgLTk4LDEy
ICs5OCwxMiBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZTo6c2V0UGVy
c2lzdGVudFN0b3JhZ2UoUmVzb3VyY2VMb2FkU3RhdGlzdAogICAgIG1fcGVyc2lzdGVudFN0b3Jh
Z2UgPSBtYWtlV2Vha1B0cihwZXJzaXN0ZW50U3RvcmFnZSk7CiB9CiAKLXZvaWQgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOjpjYWxjdWxhdGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBj
b25zdAordm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU6OmNhbGN1bGF0ZUFu
ZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3Rpbmcgc2hvdWxkTm90aWZ5UGFnZXNG
b3JUZXN0aW5nKSBjb25zdAogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCiAg
ICAgaWYgKHBhcmFtZXRlcnMoKS5zaG91bGRTdWJtaXRUZWxlbWV0cnkpCi0gICAgICAgIFdlYlJl
c291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFuZFN1Ym1pdCgqdGhpcyk7
CisgICAgICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OmNhbGN1bGF0ZUFu
ZFN1Ym1pdCgqdGhpcywgc2hvdWxkTm90aWZ5UGFnZXNGb3JUZXN0aW5nKTsKIH0KIAogc3RhdGlj
IHZvaWQgZW5zdXJlVGhpcmRQYXJ0eURhdGFGb3JTcGVjaWZpY0ZpcnN0UGFydHlEb21haW4oVmVj
dG9yPFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6VGhpcmRQYXJ0eURhdGFGb3JTcGVj
aWZpY0ZpcnN0UGFydHk+JiB0aGlyZFBhcnR5RGF0YUZvclNwZWNpZmljRmlyc3RQYXJ0eURvbWFp
biwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mIGZpcnN0UGFydHlEb21haW4sIGJvb2wgdGhpcmRQ
YXJ0eUhhc1N0b3JhZ2VBY2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljc01lbW9yeVN0b3JlLmgKaW5kZXggMWNlYTBiZTJhODBiY2U4MmRmYTBjNzBjYmY4ZDA5Y2M2
MmVmOThkZC4uMDljOWViZThhN2ZjMDVkMDAxMDQ5NGIyNDUxZDMzYjZlNmY3ODlhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuaApAQCAtOTYs
NyArOTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0VG8o
Y29uc3QgVG9wRnJhbWVEb21haW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2V0VG9wRnJhbWVVbmlxdWVSZWRpcmVjdEZyb20oY29uc3QgVG9wRnJhbWVEb21h
aW4mLCBjb25zdCBSZWRpcmVjdERvbWFpbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjYWxjdWxh
dGVBbmRTdWJtaXRUZWxlbWV0cnkoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNhbGN1bGF0
ZUFuZFN1Ym1pdFRlbGVtZXRyeShOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdlc0Zv
clRlc3Rpbmc6Ok5vKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgYXJlQWxsVGhpcmRQYXJ0
eUNvb2tpZXNCbG9ja2VkVW5kZXIoY29uc3QgVG9wRnJhbWVEb21haW4mKSBvdmVycmlkZTsKICAg
ICBDb29raWVBY2Nlc3MgY29va2llQWNjZXNzKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3Mm
LCBjb25zdCBUb3BGcmFtZURvbWFpbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZS5oCmluZGV4IGQ1NDlmYzFhMzc1MDU2NTYzMzBjMDQzMWQ0ZjViNTZhMWJjNTgxYmUu
LjYwYjE0ZjQxNzczMmE3Njc3MDllN2IxMjQyNWVlNjhiNmUzOGZjODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1
ZGUgIlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgiCisjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1RlbGVtZXRyeS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnNvbGVUeXBl
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3Rm
L0NvbXBsZXRpb25IYW5kbGVyLmg+CkBAIC0xNTYsNyArMTU3LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UHJ1bmVFbnRyaWVzRG93blRvKHNpemVfdCBwcnVuZVRhcmdldENvdW50KTsKICAgICB2
b2lkIHJlc2V0UGFyYW1ldGVyc1RvRGVmYXVsdFZhbHVlcygpOwogCi0gICAgdmlydHVhbCB2b2lk
IGNhbGN1bGF0ZUFuZFN1Ym1pdFRlbGVtZXRyeSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgY2FsY3VsYXRlQW5kU3VibWl0VGVsZW1ldHJ5KE5vdGlmeVBhZ2VzRm9yVGVzdGluZyA9IE5v
dGlmeVBhZ2VzRm9yVGVzdGluZzo6Tm8pIGNvbnN0ID0gMDsKIAogICAgIHZvaWQgc2V0Tm90aWZ5
UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsKICAgICB2b2lkIHNldElzUnVu
bmluZ1Rlc3QoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmUuY3BwCmluZGV4IGI1NWVlZjYzMmIzNDMwM2JhNDQ4NGNkM2Q4YzlmOGZiYTc5NjIzNDYu
LmYzNDEyMGMxYzMyN2RjZmM1MzY5ZWI4ZTQzZTJhYTNkZTQxMjI1M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3Np
Zmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwCkBAIC0xNTksMTQgKzE1OSw2
IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpzZXRTaG91bGRTdWJtaXRU
ZWxlbWV0cnkoYm9vbCB2YWx1ZSkKICAgICB9KTsKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKGJv
b2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
LXsKLSAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwotCi0gICAgV2ViS2l0OjpXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzZXROb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlX
YXNDYXB0dXJlZCh2YWx1ZSk7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoKTsKLX0KLQogc3RhdGlj
IFJlZjxXb3JrUXVldWU+IHNoYXJlZFN0YXRpc3RpY3NRdWV1ZSgpCiB7CiAgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFJlZjxXb3JrUXVldWU+PiBxdWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIFByb2Nlc3MgRGF0YSBRdWV1ZSIsIFdvcmtRdWV1
ZTo6VHlwZTo6U2VyaWFsLCBXb3JrUXVldWU6OlFPUzo6VXRpbGl0eSkpOwpAQCAtNzY4LDExICs3
NjAsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6c3VibWl0VGVsZW1l
dHJ5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJgogICAgIHBvc3RUYXNrKFt0aGlzLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgIHsK
ICAgICAgICAgaWYgKCFtX3N0YXRpc3RpY3NTdG9yZSkKICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgCi0gICAgICAgIGlmIChpczxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmU+
KCptX3N0YXRpc3RpY3NTdG9yZSkpCi0gICAgICAgICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGVsZW1ldHJ5OjpjYWxjdWxhdGVBbmRTdWJtaXQoZG93bmNhc3Q8UmVzb3VyY2VMb2FkU3Rh
dGlzdGljc01lbW9yeVN0b3JlPigqbV9zdGF0aXN0aWNzU3RvcmUpKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbV9zdGF0aXN0aWNzU3RvcmUtPmNhbGN1bGF0ZUFuZFN1Ym1pdFRlbGVtZXRy
eSgpOworICAgICAgICBtX3N0YXRpc3RpY3NTdG9yZS0+Y2FsY3VsYXRlQW5kU3VibWl0VGVsZW1l
dHJ5KE5vdGlmeVBhZ2VzRm9yVGVzdGluZzo6WWVzKTsKICAgICAgICAgcG9zdFRhc2tSZXBseShX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmgKaW5kZXggZjNjM2Y3NTNkM2I4ZTUyNGQzMmYw
NDcwNWYxNmRmNWFkN2Q5NzdhNS4uMTNiODJlMTIyOTY5ZjAxNTkyOGQ3YTY2ZDU3NDJiNmM0Y2Ew
M2M2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVy
L1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuaApA
QCAtMjA3LDcgKzIwNyw2IEBAIHN0cnVjdCBUaGlyZFBhcnR5RGF0YSB7CiAKICAgICB2b2lkIHBv
cHVsYXRlTWVtb3J5U3RvcmVGcm9tRGlzayhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwog
ICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChib29sKTsK
LSAgICB2b2lkIHNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKGJvb2wsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRTaG91bGRDbGFzc2lmeVJl
c291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0U2hvdWxkU3VibWl0VGVsZW1ldHJ5KGJvb2wpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0NsYXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5jcHAK
aW5kZXggYWFlYTI0NzI4YjM5YWIyNzUwMTBhY2NkYjFhMTU1NzkzYzBkZWM0OC4uZTZmZGNiMDY1
MTllNTYwZTgwOGUwNTIzYTgxYmRmMjgwYzI3NWUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxl
bWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9X
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmNwcApAQCAtNDUsNyArNDUsNiBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogY29uc3QgdW5zaWduZWQgbWluaW11bVByZXZhbGVu
dFJlc291cmNlc0ZvclRlbGVtZXRyeSA9IDM7CiBjb25zdCB1bnNpZ25lZCBzaWduaWZpY2FudEZp
Z3VyZXNGb3JMb2dnZWRWYWx1ZXMgPSAzOwotc3RhdGljIGJvb2wgbm90aWZ5UGFnZXNXaGVuVGVs
ZW1ldHJ5V2FzQ2FwdHVyZWQgPSBmYWxzZTsKIAogc3RydWN0IFByZXZhbGVudFJlc291cmNlVGVs
ZW1ldHJ5IHsKICAgICB1bnNpZ25lZCBudW1iZXJPZlRpbWVzRGF0YVJlY29yZHNSZW1vdmVkOwpA
QCAtMjE2LDEyICsyMTUsMTIgQEAgdm9pZCBzdGF0aWMgbm90aWZ5UGFnZXMoY29uc3QgVmVjdG9y
PFByZXZhbGVudFJlc291cmNlVGVsZW1ldHJ5PiYgc29ydGVkUHJldmFsZW4KICAgICBub3RpZnlQ
YWdlcyhzb3J0ZWRQcmV2YWxlbnRSZXNvdXJjZXMuc2l6ZSgpLCB0b3RhbE51bWJlck9mUHJldmFs
ZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvbiwgMCwgMCwgMCwgMCwgbWVkaWFuKHNvcnRl
ZFByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24sIDAsIDIsIHN1YmZyYW1l
VW5kZXJUb3BGcmFtZU9yaWdpbnNHZXR0ZXIpLCAwLCAwLCAwLCAgc3RvcmUpOwogfQogICAgIAot
dm9pZCBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpjYWxjdWxhdGVBbmRTdWJt
aXQoY29uc3QgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlJiByZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUpCit2b2lkIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6
OmNhbGN1bGF0ZUFuZFN1Ym1pdChjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3Rv
cmUmIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSwgTm90aWZ5UGFnZXNGb3JUZXN0aW5nIG5v
dGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKQogewogICAgIEFTU0VSVCghUnVuTG9v
cDo6aXNNYWluKCkpOwogICAgIAogICAgIGF1dG8gc29ydGVkUHJldmFsZW50UmVzb3VyY2VzID0g
c29ydGVkUHJldmFsZW50UmVzb3VyY2VUZWxlbWV0cnkocmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlKTsKLSAgICBpZiAobm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgJiYgc29y
dGVkUHJldmFsZW50UmVzb3VyY2VzLmlzRW1wdHkoKSkgeworICAgIGlmIChub3RpZnlQYWdlc1do
ZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9PSBOb3RpZnlQYWdlc0ZvclRlc3Rpbmc6OlllcyAmJiBz
b3J0ZWRQcmV2YWxlbnRSZXNvdXJjZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG5vdGlmeVBhZ2Vz
KDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIHJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZS5zdG9yZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIzOCwxNSArMjM3LDE1IEBA
IHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeTo6Y2FsY3VsYXRlQW5kU3Vi
bWl0KGNvbnN0IFJlc291cmNlTG9hZFN0CiAgICAgfQogICAgIAogICAgIC8vIERpc3BhdGNoIG9u
IHRoZSBtYWluIHRocmVhZCB0byBtYWtlIHN1cmUgdGhlIFdlYlBhZ2VQcm94eSB3ZSdyZSB1c2lu
ZyBkb2Vzbid0IGdvIGF3YXkuCi0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtzb3J0ZWRQ
cmV2YWxlbnRSZXNvdXJjZXMgPSBXVEZNb3ZlKHNvcnRlZFByZXZhbGVudFJlc291cmNlcyksIHNv
cnRlZFByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24gPSBXVEZNb3ZlKHNv
cnRlZFByZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24pLCBwcmV2YWxlbnRS
ZXNvdXJjZXNEYXlzU2luY2VVc2VySW50ZXJhY3Rpb24gPSBXVEZNb3ZlKHByZXZhbGVudFJlc291
cmNlc0RheXNTaW5jZVVzZXJJbnRlcmFjdGlvbiksIHN0b3JlID0gbWFrZVJlZihyZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuc3RvcmUoKSldICgpIHsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlz
cGF0Y2goW25vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkLCBzb3J0ZWRQcmV2YWxl
bnRSZXNvdXJjZXMgPSBXVEZNb3ZlKHNvcnRlZFByZXZhbGVudFJlc291cmNlcyksIHNvcnRlZFBy
ZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24gPSBXVEZNb3ZlKHNvcnRlZFBy
ZXZhbGVudFJlc291cmNlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb24pLCBwcmV2YWxlbnRSZXNvdXJj
ZXNEYXlzU2luY2VVc2VySW50ZXJhY3Rpb24gPSBXVEZNb3ZlKHByZXZhbGVudFJlc291cmNlc0Rh
eXNTaW5jZVVzZXJJbnRlcmFjdGlvbiksIHN0b3JlID0gbWFrZVJlZihyZXNvdXJjZUxvYWRTdGF0
aXN0aWNzU3RvcmUuc3RvcmUoKSldICgpIHsKICAgICAgICAgYXV0byB3ZWJQYWdlUHJveHkgPSBX
ZWJQYWdlUHJveHk6Om5vbkVwaGVtZXJhbFdlYlBhZ2VQcm94eSgpOwogICAgICAgICBpZiAoIXdl
YlBhZ2VQcm94eSkgewotICAgICAgICAgICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdh
c0NhcHR1cmVkKQorICAgICAgICAgICAgaWYgKG5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0Nh
cHR1cmVkID09IE5vdGlmeVBhZ2VzRm9yVGVzdGluZzo6WWVzKQogICAgICAgICAgICAgICAgIG5v
dGlmeVBhZ2VzKDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIHN0b3JlKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgaWYgKG5vdGlmeVBhZ2Vz
V2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKSB7CisgICAgICAgIGlmIChub3RpZnlQYWdlc1doZW5U
ZWxlbWV0cnlXYXNDYXB0dXJlZCA9PSBOb3RpZnlQYWdlc0ZvclRlc3Rpbmc6OlllcykgewogICAg
ICAgICAgICAgbm90aWZ5UGFnZXMoc29ydGVkUHJldmFsZW50UmVzb3VyY2VzLCBzb3J0ZWRQcmV2
YWxlbnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uLCBwcmV2YWxlbnRSZXNvdXJjZXNE
YXlzU2luY2VVc2VySW50ZXJhY3Rpb24uc2l6ZSgpLCBzdG9yZSk7CiAgICAgICAgICAgICAvLyBU
aGUgbm90aWZ5IHBhZ2VzIGZ1bmN0aW9uIGlzIGZvciB0ZXN0aW5nIHNvIHdlIGRvbid0IG5lZWQg
dG8gZG8gYW4gYWN0dWFsIHN1Ym1pc3Npb24uCiAgICAgICAgICAgICByZXR1cm47CkBAIC0zMDMs
MjAgKzMwMiwyMCBAQCBzdGF0aWMgdm9pZCBkYXRhYmFzZVN1Ym1pdFRvcExpc3RzKGNvbnN0IFBy
ZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnkmIHRlbAogICAgIH0KIH0KIAotdm9pZCBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5OjpzdWJtaXRUZWxlbWV0cnkoY29uc3Qg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUmIHJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZSwgUHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSYgcHJldmFsZW50UmVz
b3VyY2VEYXRhYmFzZVRlbGVtZXRyeSkKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rl
bGVtZXRyeTo6c3VibWl0VGVsZW1ldHJ5KGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRh
YmFzZVN0b3JlJiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUsIFByZXZhbGVudFJlc291cmNl
RGF0YWJhc2VUZWxlbWV0cnkmIHByZXZhbGVudFJlc291cmNlRGF0YWJhc2VUZWxlbWV0cnksIE5v
dGlmeVBhZ2VzRm9yVGVzdGluZyBub3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCkK
IHsKICAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGlmIChub3RpZnlQYWdl
c1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCAmJiAhcHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRl
bGVtZXRyeS5udW1iZXJPZlByZXZhbGVudFJlc291cmNlcykgeworICAgIGlmIChub3RpZnlQYWdl
c1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCA9PSBOb3RpZnlQYWdlc0ZvclRlc3Rpbmc6OlllcyAm
JiAhcHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeS5udW1iZXJPZlByZXZhbGVudFJl
c291cmNlcykgewogICAgICAgICBub3RpZnlQYWdlcygwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCByZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuc3RvcmUoKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICAvLyBEaXNwYXRjaCBvbiB0aGUgbWFpbiB0aHJlYWQgdG8gbWFrZSBz
dXJlIHRoZSBXZWJQYWdlUHJveHkgd2UncmUgdXNpbmcgZG9lc24ndCBnbyBhd2F5LgotICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGVsZW1ldHJ5ID0gV1RGTW92ZShwcmV2YWxlbnRSZXNv
dXJjZURhdGFiYXNlVGVsZW1ldHJ5KSwgc3RvcmUgPSBtYWtlUmVmKHJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZS5zdG9yZSgpKV0gKCkgeworICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChb
bm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQsIHRlbGVtZXRyeSA9IFdURk1vdmUo
cHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVtZXRyeSksIHN0b3JlID0gbWFrZVJlZihyZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuc3RvcmUoKSldICgpIHsKIAogICAgICAgICAvLyBUaGUg
bm90aWZ5IHBhZ2VzIGZ1bmN0aW9uIGlzIGZvciB0ZXN0aW5nIHNvIHdlIGRvbid0IG5lZWQgdG8g
ZG8gYW4gYWN0dWFsIHN1Ym1pc3Npb24uCi0gICAgICAgIGlmIChub3RpZnlQYWdlc1doZW5UZWxl
bWV0cnlXYXNDYXB0dXJlZCkgeworICAgICAgICBpZiAobm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5
V2FzQ2FwdHVyZWQgPT0gTm90aWZ5UGFnZXNGb3JUZXN0aW5nOjpZZXMpIHsKICAgICAgICAgICAg
IGlmICh0ZWxlbWV0cnkubnVtYmVyT2ZQcmV2YWxlbnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVy
YWN0aW9uIDwgMykgewogICAgICAgICAgICAgICAgIG5vdGlmeVBhZ2VzKDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIHN0b3JlKTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0zNDks
MTIgKzM0OCw2IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeTo6c3Vi
bWl0VGVsZW1ldHJ5KGNvbnN0IFJlc291cmNlTG9hZFN0YXRpCiAgICAgICAgIGRhdGFiYXNlU3Vi
bWl0VG9wTGlzdHModGVsZW1ldHJ5LCBzdG9yZSk7CiAgICAgfSk7CiB9Ci0gICAgCi12b2lkIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NUZWxlbWV0cnk6OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVt
ZXRyeVdhc0NhcHR1cmVkKGJvb2wgYWx3YXlzKQotewotICAgIG5vdGlmeVBhZ2VzV2hlblRlbGVt
ZXRyeVdhc0NhcHR1cmVkID0gYWx3YXlzOwotfQotICAgIAogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RlbGVtZXRyeS5oCmluZGV4IGQ3ZWUx
MDdhODExMjE5NzVlZmEyOTI3OWI0YjZlNjc5MjgzNmM4NWYuLmIxNzg4NzBhZjI4ZDAyOTdlMzYx
ZTJjNzYwOTg0ZDllNWQ2MmMyOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9XZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVsZW1ldHJ5LmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1dlYlJlc291cmNlTG9h
ZFN0YXRpc3RpY3NUZWxlbWV0cnkuaApAQCAtMzQsMTIgKzM0LDEyIEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogY2xhc3MgUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlOwogY2xhc3MgUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU7CiBzdHJ1Y3QgUHJldmFsZW50UmVzb3Vy
Y2VEYXRhYmFzZVRlbGVtZXRyeTsKK2VudW0gY2xhc3MgTm90aWZ5UGFnZXNGb3JUZXN0aW5nIDog
Ym9vbCB7IE5vLCBZZXMgfTsKIAogbmFtZXNwYWNlIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NU
ZWxlbWV0cnkgewogICAgIAotdm9pZCBjYWxjdWxhdGVBbmRTdWJtaXQoY29uc3QgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc01lbW9yeVN0b3JlJik7Ci12b2lkIHN1Ym1pdFRlbGVtZXRyeShjb25zdCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZSYsIFByZXZhbGVudFJlc291cmNlRGF0
YWJhc2VUZWxlbWV0cnkmKTsKLXZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2Fw
dHVyZWQoYm9vbCk7Cit2b2lkIGNhbGN1bGF0ZUFuZFN1Ym1pdChjb25zdCBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzTWVtb3J5U3RvcmUmLCBOb3RpZnlQYWdlc0ZvclRlc3RpbmcgPSBOb3RpZnlQYWdl
c0ZvclRlc3Rpbmc6Ok5vKTsKK3ZvaWQgc3VibWl0VGVsZW1ldHJ5KGNvbnN0IFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlJiwgUHJldmFsZW50UmVzb3VyY2VEYXRhYmFzZVRlbGVt
ZXRyeSYsIE5vdGlmeVBhZ2VzRm9yVGVzdGluZyk7CiAgICAgCiB9CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IGMxMWZlNzM3OGU4
ZTI4MzViNjY5YTY4NTc2YTQzNTYyZGQ4MDg1MGEuLjIxYTBjYmRhODgzMmE1MWE1NThjOTFjNTM1
ODgyNzU2MjE5YzIzNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwCkBAIC04NzUsMTkgKzg3NSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OnNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0KFBBTDo6U2Vzc2lvbklEIHNl
c3NpCiAgICAgfQogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXROb3RpZnlQYWdlc1doZW5U
ZWxlbWV0cnlXYXNDYXB0dXJlZChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBp
ZiAoYXV0byogbmV0d29ya1Nlc3Npb24gPSB0aGlzLT5uZXR3b3JrU2Vzc2lvbihzZXNzaW9uSUQp
KSB7Ci0gICAgICAgIGlmIChhdXRvKiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzID0gbmV0d29ya1Nl
c3Npb24tPnJlc291cmNlTG9hZFN0YXRpc3RpY3MoKSkKLSAgICAgICAgICAgIHJlc291cmNlTG9h
ZFN0YXRpc3RpY3MtPnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKHZhbHVl
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgfQotfQotCiB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpzZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW4oUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgc3ViRnJhbWVEb21haW4s
IGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiB0b3BGcmFtZURvbWFpbiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChhdXRvKiBuZXR3b3Jr
U2Vzc2lvbiA9IHRoaXMtPm5ldHdvcmtTZXNzaW9uKHNlc3Npb25JRCkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBiOGNiMGU5NmVkNThh
ODAwNGJlNzIzNDgzZWY2OTFkNjk0YmU4OGYyLi5lNDk3YjkxNTM0MGEyODA3YjhjZWJjNDNlYWJj
YTAyYTU5NThjZmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oCkBAIC0yNDgsNyArMjQ4LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TWluaW11
bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKFBBTDo6U2Vzc2lvbklELCBTZWNvbmRzLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVu
RGF0YVJlY29yZHNXZXJlU2Nhbm5lZChQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldElzUnVubmluZ1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NUZXN0KFBBTDo6U2Vzc2lvbklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQgc2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2Fz
Q2FwdHVyZWQoUEFMOjpTZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZChQQUw6
OlNlc3Npb25JRCwgYm9vbCk7CiAgICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTG9n
VGVzdGluZ0V2ZW50KGJvb2wpOwogICAgIHZvaWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rl
YnVnTW9kZShQQUw6OlNlc3Npb25JRCwgYm9vbCBkZWJ1Z01vZGUsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJmQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZDJjODYyOGQ3ZGEwODVmMDkwYWQ1NTQz
ZjU2Mjg2MTk0NTJiYTVjMi4uNzAyMjI4NWUzNjg4NWRlODZmMmRhZjY4ODhiMDI0NzI5OTM1Y2Y2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xMjcsNyArMTI3LDYgQEAgbWVzc2FnZXMgLT4gTmV0d29y
a1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFNob3VsZENsYXNzaWZ5UmVzb3VyY2Vz
QmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2
YWx1ZSkgLT4gKCkgQXN5bmMKICAgICBTZXROb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVT
Y2FubmVkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5bmMK
ICAgICBTZXRJc1J1bm5pbmdSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdChQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUpIC0+ICgpIEFzeW5jCi0gICAgU2V0Tm90aWZ5UGFnZXNX
aGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZh
bHVlKSAtPiAoKSBBc3luYwogICAgIFNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIGRlYnVnTW9kZSkgLT4gKCkgQXN5bmMKICAg
ICBTZXRWZXJ5UHJldmFsZW50UmVzb3VyY2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbiByZXNvdXJjZURvbWFpbikgLT4gKCkgQXN5bmMKICAgICBT
ZXRTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW4oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBzdWJGcmFtZURvbWFpbiwgV2ViQ29yZTo6UmVnaXN0
cmFibGVEb21haW4gdG9wRnJhbWVEb21haW4pIC0+ICgpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAppbmRl
eCA2ODZlNDc0MmY3NDFmNDJhNWMwYzZhZTQxZTRiNmU3NGVmZTY3OWQzLi44N2EzNzBjYzYxMjg5
MjU4YTI2MWZmMjNmZDk4MThlNDZlN2FlNTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKQEAgLTQ3NCwxMyAr
NDc0LDYgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3Np
ZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW8KICNlbmRpZgogfQogCi12b2lkIFdLV2Vi
c2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0
dXJlZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBib29sIHZhbHVlKQotewot
I2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCi0gICAgV2ViS2l0Ojp0b0ltcGwo
ZGF0YVN0b3JlUmVmKS0+c2V0Tm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQodmFs
dWUsIFtdKCkgeyB9KTsKLSNlbmRpZgotfQotCiB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0
YXRpc3RpY3NNaW5pbXVtVGltZUJldHdlZW5EYXRhUmVjb3Jkc1JlbW92YWwoV0tXZWJzaXRlRGF0
YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgZG91YmxlIHNlY29uZHMpCiB7CiAjaWYgRU5BQkxFKFJF
U09VUkNFX0xPQURfU1RBVElTVElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKaW5kZXggNmEwY2NkODdjNjgyNjBmMTg0
YmYwYTE2MDQ3OWJkYWYzYjRiN2FhNy4uZDhiOGQxZjQwYjg2NTQzOGEyODgxNDM4MDk3ZWJjMGYw
YzdlMWZkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJz
aXRlRGF0YVN0b3JlUmVmLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmLmgKQEAgLTEwMiw3ICsxMDIsNiBAQCBXS19FWFBPUlQgdm9pZCBX
S1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNX
ZXJlU2NhbgogdHlwZWRlZiB2b2lkICgqV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc0lz
UnVubmluZ1Rlc3RGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2
b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NJc1J1bm5pbmdUZXN0KFdLV2Vic2l0
ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUsIHZvaWQqIGNvbnRleHQsIFdL
V2Vic2l0ZURhdGFTdG9yZVNldFN0YXRpc3RpY3NJc1J1bm5pbmdUZXN0RnVuY3Rpb24gY2FsbGJh
Y2spOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc1Nob3Vs
ZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1vdmFsKFdLV2Vic2l0ZURhdGFT
dG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUpOwotV0tfRVhQT1JUIHZvaWQgV0tXZWJz
aXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1
cmVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIGJvb2wgdmFsdWUpOwogV0tf
RVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0
d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVm
LCBkb3VibGUgc2Vjb25kcyk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRT
dGF0aXN0aWNzR3JhbmRmYXRoZXJpbmdUaW1lKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3Rv
cmVSZWYsIGRvdWJsZSBzZWNvbmRzKTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9y
ZVNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYg
ZGF0YVN0b3JlUmVmLCB1bnNpZ25lZCBlbnRyaWVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDk1MWMy
YzYzYzA0ZWVlOTc3NGMwNmE5ZDA5MDY0YjZlNDU3Zjg0YTQuLjg3NGIxMTE0ODAzMzcxYWY2OWMx
MjY4ZjVjMjk1YTVjOTVhNzVjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtNzI1LDE2ICs3MjUsNiBA
QCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELAogICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdl
czo6TmV0d29ya1Byb2Nlc3M6OlNldFRpbWVUb0xpdmVVc2VySW50ZXJhY3Rpb24oc2Vzc2lvbklE
LCBzZWNvbmRzKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIE5ldHdv
cmtQcm9jZXNzUHJveHk6OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIGlmICghY2FuU2VuZE1lc3NhZ2UoKSkg
ewotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
ICAgIAotICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNl
dE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKHNlc3Npb25JRCwgdmFsdWUpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci19Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94
eTo6c2V0Tm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZChQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgK
aW5kZXggY2E4YjllNmNmNzFiZTA5MjAwYjJiYjg1Y2JjZmYyNDlmYzdkYjZkNi4uODU0NTAyY2Jj
NmVkYTRhNjAwZmM4MWIxYmMyZTAwMWM2NjM4ZGE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTE0NSw3ICsx
NDUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVc2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25J
RCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNl
dE5vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQoUEFMOjpTZXNzaW9uSUQsIGJv
b2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRJc1J1bm5pbmdS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdChQQUw6OlNlc3Npb25JRCwgYm9vbCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIHNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRy
eVdhc0NhcHR1cmVkKFBBTDo6U2Vzc2lvbklELCBib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogICAgIHZvaWQgc2V0U3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluKFBBTDo6U2Vz
c2lvbklELCBjb25zdCBTdWJGcmFtZURvbWFpbiYsIGNvbnN0IFRvcEZyYW1lRG9tYWluJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFN1YnJlc291cmNlVW5kZXJU
b3BGcmFtZURvbWFpbihQQUw6OlNlc3Npb25JRCwgY29uc3QgU3ViUmVzb3VyY2VEb21haW4mLCBj
b25zdCBUb3BGcmFtZURvbWFpbiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0VG8oUEFMOjpTZXNzaW9uSUQsIGNvbnN0
IFN1YlJlc291cmNlRG9tYWluJiwgY29uc3QgUmVkaXJlY3RlZFRvRG9tYWluJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggY2U5YmQ3ZjhiODQxMTlk
OTBhODM4YjVhZmVlMDRiOGJmNzllMmRkMi4uYWZhODY0OTY0ZWNhNjQxMmYwM2U1ODZkYmNkYjMy
MGUzZjE5YzY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
c2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTE2ODcsMTQgKzE2ODcsNiBAQCB2b2lk
IFdlYnNpdGVEYXRhU3RvcmU6OnNldElzUnVubmluZ1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUZXN0
KGJvb2wgdmFsdWUsIENvbXBsZQogICAgICAgICBwcm9jZXNzUG9vbC0+ZW5zdXJlTmV0d29ya1By
b2Nlc3MoKS5zZXRJc1J1bm5pbmdSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGVzdChtX3Nlc3Npb25J
RCwgdmFsdWUsIFtwcm9jZXNzUG9vbCwgY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogfQogCi12
b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1
cmVkKGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKLXsKLSAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRv
cjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICAKLSAgICBmb3IgKGF1
dG8mIHByb2Nlc3NQb29sIDogcHJvY2Vzc1Bvb2xzKCkpCi0gICAgICAgIHByb2Nlc3NQb29sLT5l
bnN1cmVOZXR3b3JrUHJvY2VzcygpLnNldE5vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1
cmVkKG1fc2Vzc2lvbklELCB2YWx1ZSwgW3Byb2Nlc3NQb29sLCBjYWxsYmFja0FnZ3JlZ2F0b3Jd
IHsgfSk7Ci19Ci0KIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6Z2V0QWxsU3RvcmFnZUFjY2Vzc0Vu
dHJpZXMoV2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoVmVjdG9yPFN0cmluZz4mJiBkb21haW5zKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAg
ICBhdXRvKiB3ZWJQYWdlID0gV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlKHBhZ2VJRCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmgKaW5kZXggMGY1NWI4YjVmYWM5MzIxNzUxYTI2MzE4NDFiMDFkY2QwZjI1ZjgxYy4uNjBi
YmNhZTA4ZGRlMmQwZjc5OTYwZGJkMWY5MzM5Y2YwM2RkOTY3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAt
MTg1LDcgKzE4NSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRvcEZyYW1lVW5pcXVlUmVkaXJl
Y3RGcm9tKGNvbnN0IFVSTCYgdG9wRnJhbWVIb3N0TmFtZSwgY29uc3QgVVJMJiBob3N0TmFtZVJl
ZGlyZWN0ZWRGcm9tLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0
TWF4U3RhdGlzdGljc0VudHJpZXMoc2l6ZV90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYp
OwogICAgIHZvaWQgc2V0TWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKFNlY29u
ZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7Ci0gICAgdm9pZCBzZXROb3RpZnlQYWdl
c1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogICAgIHZvaWQgc2V0UHJldmFsZW50UmVzb3VyY2UoY29uc3QgVVJMJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFByZXZhbGVudFJlc291cmNlRm9yRGVi
dWdNb2RlKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9p
ZCBzZXRTaG91bGRDbGFzc2lmeVJlc291cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChib29s
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIxM2NlYWFkMjI1YzJmNGIwODMwY2Q3MDIzMDY2
NDUxZmQzZTQ0YWYuLjAxZGZlMzYwZjAxNTQ5YWM0ZDZjNmIwNThlY2ZjMTMxZTQ0MWZmODAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNiBAQAorMjAyMC0wNy0xNCAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxl
LmNvbT4KKworICAgICAgICBbIG1hY09TIGlPUyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNl
Lmh0bWwgaXMgYSByYXJlIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjE2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjM0
NjIwNDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBS
ZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0bworICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3Rp
Y3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCBub3cgdGhhdAorICAgICAgICB0
ZWxlbWV0cnkgcmVwb3J0cyBmcm9tIHRoZSB0ZXN0aW5nIFNQSSB3aWxsIGFsd2F5cyBub3RpZnkg
dGhlIHRlc3QKKyAgICAgICAgcnVubmVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0UnVubmVyOjpzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlzdGljc05vdGlmeVBh
Z2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNl
aXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKwogMjAyMC0wNy0xMyAg
U2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGUuY29tPgogCiAgICAgICAgIFRleHQgbWFuaXB1bGF0
aW9uIGRvZXMgbm90IG9ic2VydmUgbWFuaXB1bGF0ZWQgdGV4dCBhZnRlciB1cGRhdGUKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IGRmMTFkOTc5YTQ2NmI0NjdhMzY2NmNjODA3Y2I2NTUz
MmMxNDVhMjYuLjAzZTVhYjhmYTE3ODM0Nzk5YmZhZjc5ZjExMjVmY2ZiYjY2YWJkNDggMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAtMzMyLDcgKzMzMiw2IEBAIGludGVyZmFjZSBUZXN0
UnVubmVyIHsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jk
c1dlcmVTY2FubmVkKGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0lzUnVu
bmluZ1Rlc3QoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzU2hvdWxkQ2xh
c3NpZnlSZXNvdXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoYm9vbGVhbiB2YWx1ZSk7Ci0g
ICAgdm9pZCBzZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQo
Ym9vbGVhbiB2YWx1ZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVu
RGF0YVJlY29yZHNSZW1vdmFsKGRvdWJsZSBzZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3Rp
Y3NHcmFuZGZhdGhlcmluZ1RpbWUoZG91YmxlIHNlY29uZHMpOwogICAgIHZvaWQgc2V0U3RhdGlz
dGljc01heFN0YXRpc3RpY3NFbnRyaWVzKHVuc2lnbmVkIGxvbmcgZW50cmllcyk7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApp
bmRleCAxNTNhZDgyM2E0ZmIzNGQzM2U4ODQ0NDkxNjUxMzRkODVhMDMyZTAyLi5mMjA0NjY3NTIx
ZjBkMDQ4N2YwYWMxNjc3NDE2N2Q4YWM0NzE0NGIwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTIxNzUsMTMgKzIx
NzUsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291
cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbChibwogICAgIFdLQnVuZGxlUG9zdFN5bmNocm9u
b3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VO
YW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKLXZvaWQgVGVzdFJ1
bm5lcjo6c2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKGJv
b2wgdmFsdWUpCi17Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0g
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU3RhdGlzdGljc05vdGlmeVBh
Z2VzV2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkIikpOwotICAgIFdLUmV0YWluUHRyPFdLQm9vbGVh
blJlZj4gbWVzc2FnZUJvZHkgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZSh2YWx1ZSkpOwotICAg
IFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9u
KCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSwgbnVsbHB0
cik7Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc01pbmltdW1UaW1lQmV0d2Vl
bkRhdGFSZWNvcmRzUmVtb3ZhbChkb3VibGUgc2Vjb25kcykKIHsKICAgICBXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJTZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFs
IikpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuaAppbmRleCBjNmQ2OGQ2MWE2ZGMyMmYxMDE3NTI1NDRhM2NkNWM2MThlNDRlZmI0Li5i
OGM3OGI2N2YxZmJjMTdjZDE1OThiNDJiYmYwOTJkZGFlYzA0MDY1IDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtNDMyLDcg
KzQzMiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0lzUnVu
bmluZ1Rlc3QoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNv
dXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoYm9vbCk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0
aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoYm9vbCB2YWx1ZSk7CiAgICAg
dm9pZCBzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRv
dWJsZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJpbmdUaW1lKGRvdWJsZSBz
ZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1bnNp
Z25lZCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDU4
MjYxYTM2MWRhY2I5NDEyMmEwODk5NzIxNTMyZjU4YTQ2MTQxNWIuLjFiMTdiYWE4NWU3OWNkZTJi
YmE0ZjQ4MGRmMzg3NGE2YWFjNzM1MjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCkBAIC0zNzU1LDExICszNzU1LDYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6
c2V0U3RhdGlzdGljc1Nob3VsZENsYXNzaWZ5UmVzb3VyY2VzQmVmb3JlRGF0YVJlY29yZHNSZW1v
dmEKICAgICBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNv
dXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwod2Vic2l0ZURhdGFTdG9yZSgpLCB2YWx1ZSk7
CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5U
ZWxlbWV0cnlXYXNDYXB0dXJlZChib29sIHZhbHVlKQotewotICAgIFdLV2Vic2l0ZURhdGFTdG9y
ZVNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh3ZWJzaXRl
RGF0YVN0b3JlKCksIHZhbHVlKTsKLX0KLQogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0U3RhdGlz
dGljc01pbmltdW1UaW1lQmV0d2VlbkRhdGFSZWNvcmRzUmVtb3ZhbChkb3VibGUgc2Vjb25kcykK
IHsKICAgICBXS1dlYnNpdGVEYXRhU3RvcmVTZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVu
RGF0YVJlY29yZHNSZW1vdmFsKHdlYnNpdGVEYXRhU3RvcmUoKSwgc2Vjb25kcyk7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggZWFmY2JkM2UxMzVlYjI3MDJmZWE0
MzA2Y2ZmODM2YjMyYzdiNDYyYy4uYTEzMDg0OWIzZDNhZWJhMmUyMWU2YTBhMzRkNDYyOTJlMTlk
NGE1MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAtMjUxLDcg
KzI1MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3RhdGlzdGljc0lzUnVu
bmluZ1Rlc3QoYm9vbCk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzU2hvdWxkQ2xhc3NpZnlSZXNv
dXJjZXNCZWZvcmVEYXRhUmVjb3Jkc1JlbW92YWwoYm9vbCk7Ci0gICAgdm9pZCBzZXRTdGF0aXN0
aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQoYm9vbCB2YWx1ZSk7CiAgICAg
dm9pZCBzZXRTdGF0aXN0aWNzTWluaW11bVRpbWVCZXR3ZWVuRGF0YVJlY29yZHNSZW1vdmFsKGRv
dWJsZSk7CiAgICAgdm9pZCBzZXRTdGF0aXN0aWNzR3JhbmRmYXRoZXJpbmdUaW1lKGRvdWJsZSBz
ZWNvbmRzKTsKICAgICB2b2lkIHNldFN0YXRpc3RpY3NNYXhTdGF0aXN0aWNzRW50cmllcyh1bnNp
Z25lZCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IDMw
MTYxMDdmMTkyYWY2ZTMxMTIyYzI0OWRiM2VlNTdmMzRhMWUwOWYuLjk3NTkzNTViMTI4NTFiMGVj
YzM1NjgxZTNmNDBiMWU1OGY3NDEwYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCkBAIC0xNTg1LDEzICsxNTg1LDYgQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVm
PiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3Rl
ZEIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIAotICAgIGlmIChXS1N0cmlu
Z0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkIikpIHsKLSAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlE
KG1lc3NhZ2VCb2R5KSA9PSBXS0Jvb2xlYW5HZXRUeXBlSUQoKSk7Ci0gICAgICAgIFdLQm9vbGVh
blJlZiB2YWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpOwotICAg
ICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2Vz
V2hlblRlbGVtZXRyeVdhc0NhcHR1cmVkKFdLQm9vbGVhbkdldFZhbHVlKHZhbHVlKSk7Ci0gICAg
ICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFs
VG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NTaG91bGRDbGFzc2lmeVJlc291
cmNlc0JlZm9yZURhdGFSZWNvcmRzUmVtb3ZhbCIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5
cGVJRChtZXNzYWdlQm9keSkgPT0gV0tCb29sZWFuR2V0VHlwZUlEKCkpOwogICAgICAgICBXS0Jv
b2xlYW5SZWYgdmFsdWUgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNjQ3NTY4NzJjNmZmNmFmMTE2ZjExYTkzMGQ2YTMxNzRiYjQwNjYyLi45NDA5YWVi
NDgxMmRhMmQ2OWFiN2JiZTQ0ODQyZjFkMWE0YTQ5OTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMjAtMDctMTQgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisK
KyAgICAgICAgWyBtYWNPUyBpT1MgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
dGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sIGlz
IGEgcmFyZSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTIxNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYzNDYyMDQ1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgUmVtb3ZlIHVu
bmVjZXNzYXJ5IGNhbGwgdG8KKyAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVyZWQgbm93IHRoYXQKKyAgICAgICAgdGVsZW1ldHJ5
IHJlcG9ydHMgZnJvbSB0aGUgdGVzdGluZyBTUEkgd2lsbCBhbHdheXMgbm90aWZ5IHRoZSB0ZXN0
CisgICAgICAgIHJ1bm5lci4gVXBkYXRlZCBleHBlY3RhdGlvbnMgbm93IHRoYXQgdGVzdCBpcyBu
b3QgZXhwZWN0ZWQgdG8gZmxha2UuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1k
YXRhYmFzZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1n
ZW5lcmF0aW9uLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6
CisKIDIwMjAtMDctMTMgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGFydGlmaWNpYWwgZGVsYXkgdG8gV2ViU29ja2V0IGNvbm5lY3Rpb25z
IHRvIG1pdGlnYXRlIHBvcnQgc2Nhbm5pbmcgYXR0YWNrcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9u
LWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1hZHZhbmNl
ZC1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKaW5kZXggOTk3Y2NlNmYyZmRmMGM3MDc1NTUw
M2Q0NzVlY2RhYmQwNDFlNDJjYS4uMzhjNmNlMGNiNTlmMjdhN2NlZjFmN2NmMmE5NjVmMmVjODFi
N2VjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWFkdmFuY2VkLWZ1bmN0aW9uYWxpdHktZGF0YWJh
c2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYWR2YW5jZWQtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5o
dG1sCkBAIC0xNDcsNyArMTQ3LDYgQEAKIAogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewog
ICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuVGVsZW1ldHJ5V2FzQ2FwdHVy
ZWQodHJ1ZSk7CiAgICAgICAgICAgICBzZXRVcFN0YXRpc3RpY3NBbmRDb250aW51ZSgpOwogICAg
ICAgICB9KTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291
cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRpb24tYmFzaWMtZnVuY3Rpb25hbGl0
eS1kYXRhYmFzZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLWJhc2ljLWZ1bmN0aW9uYWxpdHktZGF0YWJhc2Uu
aHRtbAppbmRleCBjNDgwZGIzNGRiN2QzZWNhM2Y5OTliYjUxNjFjZDdiNmVmZmI5ZGMzLi4yODEz
OTE5ZTA5MDg0MWZmY2NkZGQyOWEyYzIwNzVhZjZmNjkzZmEzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvdGVsZW1ldHJ5LWdlbmVyYXRp
b24tYmFzaWMtZnVuY3Rpb25hbGl0eS1kYXRhYmFzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJhdGlvbi1iYXNp
Yy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwKQEAgLTEyNyw3ICsxMjcsNiBAQAogCiAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQ
YWdlc1doZW5UZWxlbWV0cnlXYXNDYXB0dXJlZCh0cnVlKTsKICAgICAgICAgICAgIHNldFVwSW5z
dWZmaWNpZW50U3RhdGlzdGljc0FuZENvbnRpbnVlKCk7CiAgICAgICAgIH0pOwogICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90
ZWxlbWV0cnktZ2VuZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwKaW5kZXggODc3ZjhkOTkx
M2E0NzMxMDJkMDNhNGM4OGNkYjE3Mzk3MTE5YzFlNi4uYjM1NTdlODIzOTg4YjczYWM4ZTA0M2Y2
N2ZkZWZlZDhkYzRmNzBkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0aW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3RlbGVtZXRyeS1nZW5lcmF0
aW9uLmh0bWwKQEAgLTExMiw3ICsxMTIsNiBAQAogCiAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CiAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5UZWxlbWV0cnlXYXND
YXB0dXJlZCh0cnVlKTsKICAgICAgICAgICAgIHNldFVwSW5zdWZmaWNpZW50U3RhdGlzdGljc0Fu
ZENvbnRpbnVlKCk7CiAgICAgICAgIH0pOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjE1Y2IwMzJjZjU2ZThjMDg1OGI0ZjA4N2VlNTk0MWJi
MmQxMjFhOC4uNTY1MThlOGE1MzdiYTVlMGQ4MGFiMWU5YjgwMTIzYTFkMmI2NmJjOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE4ODEsOCArMTg4MSw2
IEBAIGh0dHAvdGVzdHMvZnJhbWUtdGhyb3R0bGluZy9yYWYtdGhyb3R0bGUtaW4tY3Jvc3Mtb3Jp
Z2luLXN1YmZyYW1lLmh0bWwgWyBQYXNzIEZhCiAKIHdlYmtpdC5vcmcvYi8yMTE4OTEgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleGJveF9kaXJlY3Rp
b24tcm93LXJldmVyc2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi13ZWJraXQub3JnL2Iv
MjEyMTY1IGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy90ZWxlbWV0cnktZ2VuZXJh
dGlvbi1iYXNpYy1mdW5jdGlvbmFsaXR5LWRhdGFiYXNlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQot
CiB3ZWJraXQub3JnL2IvMjEyMjE1IG1lZGlhL3ZpZGVvLWlzcGxheWluZ3RvYXV0b21vdGl2ZWhl
YWR1bml0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjEyMjE5IG1lZGlh
L3RyYWNrL3RyYWNrLWN1ZS1taXNzaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>