<?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>229041</bug_id>
          
          <creation_ts>2021-08-12 09:25:11 -0700</creation_ts>
          <short_desc>Add Cross-Origin-Embedder-Policy support for Blob URLs</short_desc>
          <delta_ts>2021-08-13 19:29:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</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>https://github.com/whatwg/html/issues/5198</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>228755</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>calvaris</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1783852</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-12 09:25:11 -0700</bug_when>
    <thetext>Add Cross-Origin-Embedder-Policy support for Blob URLs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783858</commentid>
    <comment_count>1</comment_count>
      <attachid>435430</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-12 09:52:25 -0700</bug_when>
    <thetext>Created attachment 435430
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783865</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-12 10:07:14 -0700</bug_when>
    <thetext>imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/blob.https.html is completely failing still, even though html/cross-origin-opener-policy/coep-blob-popup.https.html is fully passing :/ Investigating...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784253</commentid>
    <comment_count>3</comment_count>
      <attachid>435521</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-13 15:19:06 -0700</bug_when>
    <thetext>Created attachment 435521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784272</commentid>
    <comment_count>4</comment_count>
      <attachid>435521</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-08-13 16:28:23 -0700</bug_when>
    <thetext>Comment on attachment 435521
Patch

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

&gt; Source/WebKitLegacy/win/WebCoreSupport/WebPlatformStrategies.cpp:84
&gt; +    void registerBlobURL(const URL&amp; url, const URL&amp; srcURL, const CrossOriginOpenerPolicy&amp; coop, const CrossOriginEmbedderPolicy&amp; coep) final { m_blobRegistry.registerBlobURL(url, srcURL, coop, coep); }

Should we make a struct that contains both and call it CrossOriginPolicies?

&gt; LayoutTests/platform/mac-wk1/TestExpectations:376
&gt; +imported/w3c/web-platform-tests/html/cross-origin-opener-policy/coep-blob-popup.https.html [ Skip ]

Why not skip the whole directory?

&gt; LayoutTests/platform/win/TestExpectations:3728
&gt; +imported/w3c/web-platform-tests/html/cross-origin-opener-policy/coep-blob-popup.https.html [ Skip ]

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784273</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-13 16:30:02 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 435521 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=435521&amp;action=review
&gt; 
&gt; &gt; Source/WebKitLegacy/win/WebCoreSupport/WebPlatformStrategies.cpp:84
&gt; &gt; +    void registerBlobURL(const URL&amp; url, const URL&amp; srcURL, const CrossOriginOpenerPolicy&amp; coop, const CrossOriginEmbedderPolicy&amp; coep) final { m_blobRegistry.registerBlobURL(url, srcURL, coop, coep); }
&gt; 
&gt; Should we make a struct that contains both and call it CrossOriginPolicies?

Sure, why not.

&gt; 
&gt; &gt; LayoutTests/platform/mac-wk1/TestExpectations:376
&gt; &gt; +imported/w3c/web-platform-tests/html/cross-origin-opener-policy/coep-blob-popup.https.html [ Skip ]
&gt; 
&gt; Why not skip the whole directory?
&gt; 
&gt; &gt; LayoutTests/platform/win/TestExpectations:3728
&gt; &gt; +imported/w3c/web-platform-tests/html/cross-origin-opener-policy/coep-blob-popup.https.html [ Skip ]
&gt; 
&gt; ditto

I guess we could. I don&apos;t really care about COOP for WK1. That said, COOP is implemented and working in WebKit1. The only reason this test fails on WK1 is because the test relies on COEP in addition to COOP (and COEP is unimplemented in WK1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784285</commentid>
    <comment_count>6</comment_count>
      <attachid>435529</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-13 17:17:04 -0700</bug_when>
    <thetext>Created attachment 435529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784286</commentid>
    <comment_count>7</comment_count>
      <attachid>435529</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-13 17:21:42 -0700</bug_when>
    <thetext>Comment on attachment 435529
Patch

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

&gt; Source/WebCore/dom/SecurityContext.h:30
&gt; +#include &quot;PolicyContainer.h&quot;

Typically we don’t need to include a header just to declare a function with that type as a return value. It can be a forward declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784290</commentid>
    <comment_count>8</comment_count>
      <attachid>435530</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-13 17:51:38 -0700</bug_when>
    <thetext>Created attachment 435530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784301</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-13 19:28:27 -0700</bug_when>
    <thetext>Committed r281055 (240518@main): &lt;https://commits.webkit.org/240518@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435530.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784302</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-13 19:29:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/81925692&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435430</attachid>
            <date>2021-08-12 09:52:25 -0700</date>
            <delta_ts>2021-08-13 15:19:04 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>COEP_blob_support_wip.patch</filename>
            <type>text/plain</type>
            <size>39490</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDFhMzZjM2NlYzdmYS4uY2Y0MWY2ZTNiMzc4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTcyMSwxMSArNzIxLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3MK
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVy
LXBvbGljeS9uby1odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9uby1zZWN1cmUtY29udGV4
dC5odG1sIFsgU2tpcCBdCiAKLSMgQ09FUCB0ZXN0IHRpbWluZyBvdXQgZHVlIHRvIGxhY2sgb2Yg
QmxvYiBVUkwgc3VwcG9ydC4KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Jsb2IuaHR0cHMuaHRtbCBbIFNraXAgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvY3Jvc3Mtb3JpZ2luLWlzb2xhdGVkLXBlcm1pc3Npb24uaHR0cHMuaHRtbCBbIFNraXAg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVu
ZXItcG9saWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy5odG1sIFsgU2tpcCBdCi0KICMgVGhpcyB0
ZXN0IG1ha2VzIHRoZSBhc3N1bXB0aW9uIHRoYXQgZ2V0X2hvc3RfaW5mbygpLlJFTU9URV9PUklH
SU4gaXMgc2FtZS1zaXRlLCB3aGljaCBpcyBub3QgdHJ1ZSBmb3IKICMgb3VyIGxheW91dCB0ZXN0
cy4gV2UgbWFpbnRhaW4gb3VyIG93biB2ZXJzaW9uIG9mIHRoaXMgdGVzdCBpbiBodHRwL3dwdC4K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRk
ZXItcG9saWN5L3JlcXVpcmUtY29ycC5odHRwcy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0ZWQtcGVybWlzc2lvbi5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0
ZWQtcGVybWlzc2lvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZTcwMDU5MDNhYzc5Li4zYjc3
NjYxMzM4OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Nyb3NzLW9yaWdpbi1p
c29sYXRlZC1wZXJtaXNzaW9uLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVy
LXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0ZWQtcGVybWlzc2lvbi5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTEsMTggKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgJ2Js
b2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8wNjI2MTE2ZS0zNDE0LTRmMzUtYmQxZS0wMDdmMTMx
MmI3OWUnIHdvcmtlciBiZWNhdXNlIG9mIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kuCi1D
T05TT0xFIE1FU1NBR0U6IFdvcmtlciBsb2FkIHdhcyBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbi1F
bWJlZGRlci1Qb2xpY3kKLUNPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgYmxvYjpodHRwczov
L2xvY2FsaG9zdDo5NDQzLzA2MjYxMTZlLTM0MTQtNGYzNS1iZDFlLTAwN2YxMzEyYjc5ZSBkdWUg
dG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxv
YWQgJ2Jsb2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9hOTllYjM0MS00NjQwLTQwM2EtYThmNC1j
MmZjZjI4ZWRlMjAnIHdvcmtlciBiZWNhdXNlIG9mIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xp
Y3kuCi1DT05TT0xFIE1FU1NBR0U6IFdvcmtlciBsb2FkIHdhcyBibG9ja2VkIGJ5IENyb3NzLU9y
aWdpbi1FbWJlZGRlci1Qb2xpY3kKLUNPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgYmxvYjpo
dHRwczovL2xvY2FsaG9zdDo5NDQzL2E5OWViMzQxLTQ2NDAtNDAzYS1hOGY0LWMyZmNmMjhlZGUy
MCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2Vk
IHRvIGxvYWQgJ2Jsb2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My85MjlkNjMzZS1jZTQ4LTQzZmYt
Yjg5ZC1lNGUyMGZjYTY3NTMnIHdvcmtlciBiZWNhdXNlIG9mIENyb3NzLU9yaWdpbi1FbWJlZGRl
ci1Qb2xpY3kuCi1DT05TT0xFIE1FU1NBR0U6IFdvcmtlciBsb2FkIHdhcyBibG9ja2VkIGJ5IENy
b3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kKLUNPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQg
YmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzLzkyOWQ2MzNlLWNlNDgtNDNmZi1iODlkLWU0ZTIw
ZmNhNjc1MyBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgotQ09OU09MRSBNRVNTQUdFOiBS
ZWZ1c2VkIHRvIGxvYWQgJ2Jsb2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8wYzhiNjkxNC01OGRi
LTQxN2MtOWUwYy1lN2VjYWNjNGExNmEnIHdvcmtlciBiZWNhdXNlIG9mIENyb3NzLU9yaWdpbi1F
bWJlZGRlci1Qb2xpY3kuCi1DT05TT0xFIE1FU1NBR0U6IFdvcmtlciBsb2FkIHdhcyBibG9ja2Vk
IGJ5IENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kKLUNPTlNPTEUgTUVTU0FHRTogQ2Fubm90
IGxvYWQgYmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzLzBjOGI2OTE0LTU4ZGItNDE3Yy05ZTBj
LWU3ZWNhY2M0YTE2YSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgotCi0KLUhhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAogCiBGQUlMIGZyYW1lOiBvcmlnaW4gPSBo
dHRwczovL2xvY2FsaG9zdDo5NDQzLCB2YWx1ZSA9IHVuZGVmaW5lZCBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKIEZBSUwgZnJhbWU6IG9yaWdpbiA9IGh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMsIHZhbHVlID0gKiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1
dCBnb3QgZmFsc2UKQEAgLTMwLDEwICsxNSwxMCBAQCBQQVNTIGRlZGljYXRlZCB3b3JrZXI6IHNj
aGVtZSA9IGRhdGEsIHZhbHVlID0gdW5kZWZpbmVkCiBQQVNTIGRlZGljYXRlZCB3b3JrZXI6IHNj
aGVtZSA9IGRhdGEsIHZhbHVlID0gKgogUEFTUyBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBk
YXRhLCB2YWx1ZSA9IHNlbGYKIFBBU1MgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gZGF0YSwg
dmFsdWUgPSAoXCkKLVRJTUVPVVQgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gYmxvYiwgdmFs
dWUgPSB1bmRlZmluZWQgVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgZGVkaWNhdGVkIHdvcmtlcjog
c2NoZW1lID0gYmxvYiwgdmFsdWUgPSAqIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGRlZGljYXRl
ZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVlID0gc2VsZiBUZXN0IHRpbWVkIG91dAotVElN
RU9VVCBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9IChcKSBUZXN0IHRp
bWVkIG91dAorRkFJTCBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9IHVu
ZGVmaW5lZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK0ZBSUwg
ZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gYmxvYiwgdmFsdWUgPSAqIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQorRkFJTCBkZWRpY2F0ZWQgd29ya2VyOiBzY2hl
bWUgPSBibG9iLCB2YWx1ZSA9IHNlbGYgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQg
Z290IGZhbHNlCitQQVNTIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVlID0g
KFwpCiBGQUlMIHNoYXJlZCB3b3JrZXI6IHdpdGhDb29wQ29lcCA9IGZhbHNlIENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgogRkFJTCBzaGFyZWQgd29ya2VyOiB3aXRoQ29vcENvZXAg
PSB0cnVlIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgogRkFJTCBzZXJ2aWNlIHdv
cmtlcjogd2l0aENvb3BDb2VwID0gZmFsc2UgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKGJvb2xl
YW4pIGZhbHNlIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2lu
LW9wZW5lci1wb2xpY3kvY29lcC1ibG9iLXBvcHVwLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
b3BlbmVyLXBvbGljeS9jb2VwLWJsb2ItcG9wdXAuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDQw
NmZlNjkxNWNlZS4uNzZmYmQ2ZTFmN2JjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kv
Y29lcC1ibG9iLXBvcHVwLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xp
Y3kvY29lcC1ibG9iLXBvcHVwLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDExIEBACitD
T05TT0xFIE1FU1NBR0U6IENhbmNlbGxlZCBsb2FkIHRvIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMv
Y29tbW9uL2JsYW5rLmh0bWwgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgcmVzb3VyY2UncyBDcm9z
cy1PcmlnaW4tUmVzb3VyY2UtUG9saWN5IHJlc3BvbnNlIGhlYWRlci4KK0NPTlNPTEUgTUVTU0FH
RTogRmV0Y2ggQVBJIGNhbm5vdCBsb2FkIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2Js
YW5rLmh0bWwgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTog
Q2FuY2VsbGVkIGxvYWQgdG8gaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRt
bCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSByZXNvdXJjZSdzIENyb3NzLU9yaWdpbi1SZXNvdXJj
ZS1Qb2xpY3kgcmVzcG9uc2UgaGVhZGVyLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fu
bm90IGxvYWQgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBkdWUgdG8g
YWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBDYW5jZWxsZWQgbG9hZCB0
byBodHRwczovLzEyNy4wLjAuMTo5NDQzL2NvbW1vbi9ibGFuay5odG1sIGJlY2F1c2UgaXQgdmlv
bGF0ZXMgdGhlIHJlc291cmNlJ3MgQ3Jvc3MtT3JpZ2luLVJlc291cmNlLVBvbGljeSByZXNwb25z
ZSBoZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczov
LzEyNy4wLjAuMTo5NDQzL2NvbW1vbi9ibGFuay5odG1sIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBj
aGVja3MuCiAKLUZBSUwgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiB3aW5kb3cub3BlbigpIGFz
c2VydF90cnVlOiBDcm9zcy1vcmlnaW4gd2l0aG91dCBDT1JQIGRpZCBub3QgZmFpbCBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBDT09QK0NPRVAgYmxvYiBVUkwgcG9wdXA6IDxhPiBhc3Nl
cnRfdHJ1ZTogQ3Jvc3Mtb3JpZ2luIHdpdGhvdXQgQ09SUCBkaWQgbm90IGZhaWwgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKLUZBSUwgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiA8YSByZWw9bm9v
cGVuZXI+IGFzc2VydF90cnVlOiBDcm9zcy1vcmlnaW4gd2l0aG91dCBDT1JQIGRpZCBub3QgZmFp
bCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBDT09QK0NPRVAgYmxvYiBVUkwgcG9wdXA6
IHdpbmRvdy5vcGVuKCkKK1BBU1MgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiA8YT4KK1BBU1Mg
Q09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiA8YSByZWw9bm9vcGVuZXI+CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZDRlOWJjZTVjYmE2Li5m
YzZjYzdmMDM3NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2Fk
ZXIuY3BwCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0TG9hZGluZ0Js
b2JVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJs
b2JVUkwoY29udGV4dC5zZWN1cml0eU9yaWdpbigpLCBjb250ZXh0LmNyb3NzT3JpZ2luT3BlbmVy
UG9saWN5KCksIG1fdXJsRm9yUmVhZGluZywgYmxvYlVSTCk7CisgICAgVGhyZWFkYWJsZUJsb2JS
ZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnRleHQuc2VjdXJpdHlPcmlnaW4oKSwgY29udGV4
dC5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpLCBjb250ZXh0LmNyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3koKSwgbV91cmxGb3JSZWFkaW5nLCBibG9iVVJMKTsKIAogICAgIFJlc291cmNlUmVxdWVz
dCByZXF1ZXN0KG1fdXJsRm9yUmVhZGluZyk7CiAgICAgcmVxdWVzdC5zZXRJbml0aWF0b3JJZGVu
dGlmaWVyKGNvbnRleHQucmVzb3VyY2VSZXF1ZXN0SWRlbnRpZmllcigpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0Jsb2IuY3BwCmluZGV4IDJiOGQxYWFjY2I1NS4uYWU5M2JhZGNmMjRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvQmxvYi5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogdm9pZCBCbG9iVVJMUmVnaXN0
cnk6OnJlZ2lzdGVyVVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFVS
TCYgcHVibGljVVJMLCBVUkxSZWdpc3RyYWJsZSYgYmxvYikKIHsKICAgICBBU1NFUlQoJmJsb2Iu
cmVnaXN0cnkoKSA9PSB0aGlzKTsKLSAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3Rl
ckJsb2JVUkwoY29udGV4dC5zZWN1cml0eU9yaWdpbigpLCBjb250ZXh0LmNyb3NzT3JpZ2luT3Bl
bmVyUG9saWN5KCksIHB1YmxpY1VSTCwgc3RhdGljX2Nhc3Q8QmxvYiY+KGJsb2IpLnVybCgpKTsK
KyAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoY29udGV4dC5zZWN1
cml0eU9yaWdpbigpLCBjb250ZXh0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCksIGNvbnRleHQu
Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCBwdWJsaWNVUkwsIHN0YXRpY19jYXN0PEJsb2Im
PihibG9iKS51cmwoKSk7CiB9CiAKIHZvaWQgQmxvYlVSTFJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyVVJM
KGNvbnN0IFVSTCYgdXJsKQpAQCAtMTM3LDcgKzEzNyw3IEBAIEJsb2I6OkJsb2IoRGVzZXJpYWxp
emF0aW9uQ29udHJ1Y3RvciwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3Qg
VVJMCiAgICAgLCBtX2ludGVybmFsVVJMKEJsb2JVUkw6OmNyZWF0ZUludGVybmFsVVJMKCkpCiB7
CiAgICAgaWYgKGZpbGVCYWNrZWRQYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgVGhyZWFkYWJsZUJs
b2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKG51bGxwdHIsIHsgfSwgbV9pbnRlcm5hbFVSTCwg
c3JjVVJMKTsKKyAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJM
KG51bGxwdHIsIHsgfSwgeyB9LCBtX2ludGVybmFsVVJMLCBzcmNVUkwpOwogICAgIGVsc2UKICAg
ICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZp
bGVCYWNrZWQobV9pbnRlcm5hbFVSTCwgc3JjVVJMLCBmaWxlQmFja2VkUGF0aCwgbV90eXBlKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCmluZGV4IDE3
YjMyMWQ3MzFmOC4uZjk5ZGU5ZTliYTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZVJlYWRlckxvYWRlci5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBGaWxlUmVhZGVyTG9hZGVy
OjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBC
bG8KICAgICAgICAgZmFpbGVkKFNlY3VyaXR5RXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChzY3JpcHRFeGVj
dXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5j
cm9zc09yaWdpbk9wZW5lclBvbGljeSgpLCBtX3VybEZvclJlYWRpbmcsIGJsb2IudXJsKCkpOwor
ICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChzY3JpcHRFeGVjdXRp
b25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5jcm9z
c09yaWdpbk9wZW5lclBvbGljeSgpLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0LT5jcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5KCksIG1fdXJsRm9yUmVhZGluZywgYmxvYi51cmwoKSk7CiAKICAgICAv
LyBDb25zdHJ1Y3QgYW5kIGxvYWQgdGhlIHJlcXVlc3QuCiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QobV91cmxGb3JSZWFkaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1Ro
cmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwCmluZGV4IDI0YWI1NjA1ZmM2Mi4uMWRiMWIxYWEwMWNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0
cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3Ry
eS5jcHAKQEAgLTEwMCwxOSArMTAwLDE5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0Jsb2JVUkxD
b250YWluc051bGxPcmlnaW4oY29uc3QgVVJMJiB1cmwpCiAgICAgcmV0dXJuIHVybC5zdHJpbmco
KS5zdWJzdHJpbmcoc3RhcnRJbmRleCwgZW5kSW5kZXggLSBzdGFydEluZGV4IC0gMSkgPT0gIm51
bGwiOwogfQogCi12b2lkIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChT
ZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29v
cCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMKQordm9pZCBUaHJlYWRhYmxlQmxv
YlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgY29uc3Qg
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNvb3AsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3kmIGNvZXAsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCkKIHsKICAgICAv
LyBJZiB0aGUgYmxvYiBVUkwgY29udGFpbnMgbnVsbCBvcmlnaW4sIGFzIGluIHRoZSBjb250ZXh0
IHdpdGggdW5pcXVlIHNlY3VyaXR5IG9yaWdpbiBvciBmaWxlIFVSTCwgc2F2ZSB0aGUgbWFwcGlu
ZyBiZXR3ZWVuIHVybCBhbmQgb3JpZ2luIHNvIHRoYXQgdGhlIG9yaWdpbiBjYW4gYmUgcmV0cml2
ZWQgd2hlbiBkb2luZyBzZWN1cml0eSBvcmlnaW4gY2hlY2suCiAgICAgaWYgKG9yaWdpbiAmJiBp
c0Jsb2JVUkxDb250YWluc051bGxPcmlnaW4odXJsKSkKICAgICAgICAgb3JpZ2luTWFwKCktPmFk
ZCh1cmwuc3RyaW5nKCksIG9yaWdpbik7CiAKICAgICBpZiAoaXNNYWluVGhyZWFkKCkpIHsKLSAg
ICAgICAgYmxvYlJlZ2lzdHJ5KCkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBjb29wKTsK
KyAgICAgICAgYmxvYlJlZ2lzdHJ5KCkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBjb29w
LCBjb2VwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGNhbGxPbk1haW5UaHJlYWQo
W3VybCA9IHVybC5pc29sYXRlZENvcHkoKSwgc3JjVVJMID0gc3JjVVJMLmlzb2xhdGVkQ29weSgp
LCBjb29wID0gY3Jvc3NUaHJlYWRDb3B5KGNvb3ApXSB7Ci0gICAgICAgIGJsb2JSZWdpc3RyeSgp
LnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgY29vcCk7CisgICAgY2FsbE9uTWFpblRocmVh
ZChbdXJsID0gdXJsLmlzb2xhdGVkQ29weSgpLCBzcmNVUkwgPSBzcmNVUkwuaXNvbGF0ZWRDb3B5
KCksIGNvb3AgPSBjcm9zc1RocmVhZENvcHkoY29vcCksIGNvZXAgPSBjcm9zc1RocmVhZENvcHko
Y29lcCldIHsKKyAgICAgICAgYmxvYlJlZ2lzdHJ5KCkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3Jj
VVJMLCBjb29wLCBjb2VwKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuaAppbmRleCBhNjhhNTFkZjBjM2EuLjA2NjYxMGEw
OTAyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJl
Z2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lz
dHJ5LmgKQEAgLTM4LDEzICszOCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBCbG9i
UGFydDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogCitzdHJ1Y3QgQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeTsKIHN0cnVjdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeTsKIAogY2xhc3MgVGhyZWFk
YWJsZUJsb2JSZWdpc3RyeSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJGaWxl
QmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYgcmVw
bGFjZW1lbnRQYXRoLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICBzdGF0aWMgdm9p
ZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgVmVjdG9yPEJsb2JQYXJ0PiYmIGJsb2JQYXJ0
cywgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7Ci0gICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJC
bG9iVVJMKFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBj
b25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCk7CisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJC
bG9iVVJMKFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBj
b25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiwgY29uc3QgVVJMJiwgY29uc3QgVVJMJiBz
cmNVUkwpOwogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFj
a2VkKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBTdHJpbmcmIGZpbGVCYWNr
ZWRQYXRoLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICBzdGF0aWMgdm9pZCByZWdp
c3RlckJsb2JVUkxGb3JTbGljZShjb25zdCBVUkwmIG5ld1VSTCwgY29uc3QgVVJMJiBzcmNVUkws
IGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlw
ZSk7CiAgICAgc3RhdGljIHZvaWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBlM2ExZjQyMDc3YzYuLjMw
MWMzOTBkNjg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC0xNTUyLDcgKzE1NTIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZShj
b25zdCBVUkwmIGluaXRpYWxVUkwsIENvbnRlbnRUeXBlJiBjb250ZW50VAogICAgICAgICBpZiAo
IW1fYmxvYlVSTEZvclJlYWRpbmcuaXNFbXB0eSgpKQogICAgICAgICAgICAgVGhyZWFkYWJsZUJs
b2JSZWdpc3RyeTo6dW5yZWdpc3RlckJsb2JVUkwobV9ibG9iVVJMRm9yUmVhZGluZyk7CiAgICAg
ICAgIG1fYmxvYlVSTEZvclJlYWRpbmcgPSBCbG9iVVJMOjpjcmVhdGVQdWJsaWNVUkwoJmRvY3Vt
ZW50KCkuc2VjdXJpdHlPcmlnaW4oKSk7Ci0gICAgICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6
OnJlZ2lzdGVyQmxvYlVSTCgmZG9jdW1lbnQoKS5zZWN1cml0eU9yaWdpbigpLCBkb2N1bWVudCgp
LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCksIG1fYmxvYlVSTEZvclJlYWRpbmcsIG1fYmxvYi0+
dXJsKCkpOworICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwo
JmRvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKSwgZG9jdW1lbnQoKS5jcm9zc09yaWdpbk9wZW5l
clBvbGljeSgpLCBkb2N1bWVudCgpLmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgbV9ibG9i
VVJMRm9yUmVhZGluZywgbV9ibG9iLT51cmwoKSk7CiAKICAgICAgICAgaWYgKCFtX3BsYXllci0+
bG9hZChtX2Jsb2JVUkxGb3JSZWFkaW5nLCBjb250ZW50VHlwZSwga2V5U3lzdGVtKSkKICAgICAg
ICAgICAgIG1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlOjpGb3Jt
YXRFcnJvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeS5jcHAKaW5kZXggOTAxZmZmYWQ0ZjE3Li41YTcxODJkYjI3YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5jcHAK
QEAgLTc0LDQgKzc0LDIyIEBAIENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgQ3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICB9OwogfQogCit2b2lkIGFk
ZENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lIZWFkZXJzKFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjb2VwKQoreworICAgIGlmIChj
b2VwLnZhbHVlICE9IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZSkg
eworICAgICAgICBBU1NFUlQoY29lcC52YWx1ZSA9PSBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
VmFsdWU6OlJlcXVpcmVDT1JQKTsKKyAgICAgICAgaWYgKGNvZXAucmVwb3J0aW5nRW5kcG9pbnQu
aXNFbXB0eSgpKQorICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCAicmVxdWlyZS1jb3JwIl9zKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCBtYWtlU3RyaW5nKCJyZXF1
aXJlLWNvcnA7IHJlcG9ydC10bz1cIiIsIGNvZXAucmVwb3J0aW5nRW5kcG9pbnQsICdcIicpKTsK
KyAgICB9CisgICAgaWYgKGNvZXAucmVwb3J0T25seVZhbHVlICE9IENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZSkgeworICAgICAgICBBU1NFUlQoY29lcC5yZXBvcnRP
bmx5VmFsdWUgPT0gQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpSZXF1aXJlQ09SUCk7
CisgICAgICAgIGlmIChjb2VwLnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludC5pc0VtcHR5KCkp
CisgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6
OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lSZXBvcnRPbmx5LCAicmVxdWlyZS1jb3JwIl9zKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5UmVwb3J0T25seSwgbWFrZVN0
cmluZygicmVxdWlyZS1jb3JwOyByZXBvcnQtdG89XCIiLCBjb2VwLnJlcG9ydE9ubHlSZXBvcnRp
bmdFbmRwb2ludCwgJ1wiJykpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3kuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmgK
aW5kZXggOTQzNzY3YmVjY2Q0Li5mOTI5OGE3N2U2ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaApAQCAtNTAsNiArNTAsMTEgQEAg
c3RydWN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgewogICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k+IGRl
Y29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3kmIGEsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3km
IGIpCit7CisgICAgcmV0dXJuIGEudmFsdWUgPT0gYi52YWx1ZSAmJiBhLnJlcG9ydGluZ0VuZHBv
aW50ID09IGIucmVwb3J0aW5nRW5kcG9pbnQgJiYgYS5yZXBvcnRPbmx5VmFsdWUgPT0gYi5yZXBv
cnRPbmx5VmFsdWUgJiYgYS5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQgPT0gYi5yZXBvcnRP
bmx5UmVwb3J0aW5nRW5kcG9pbnQ7Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lk
IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogewpAQCAtODgsNiArOTMsNyBAQCBzdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3k+IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k6OmRlY29kZShEZWNvZAogfQogCiBDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5IG9idGFpbkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKK1dF
QkNPUkVfRVhQT1JUIHZvaWQgYWRkQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUhlYWRlcnMoUmVz
b3VyY2VSZXNwb25zZSYsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmKTsKIAogZW51
bSBjbGFzcyBJc1NlY3VyZUNvbnRleHQgOiBib29sIHsgTm8sIFllcyB9OwogV0VCQ09SRV9FWFBP
UlQgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBvYnRhaW5Dcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBJc1NlY3VyZUNvbnRleHQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGljeS5jcHAKaW5kZXggMWZj
ZWUyZmEwMGU3Li4wNDAxNTU2YTg3NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpbk9wZW5lclBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmNwcApAQCAtMTAzLDE2ICsxMDMsMTIgQEAgdm9pZCBh
ZGRDcm9zc09yaWdpbk9wZW5lclBvbGljeUhlYWRlcnMoUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UsIGNvbnN0IENyb3NzT3IKICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVs
ZChIVFRQSGVhZGVyTmFtZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3ksIGNyb3NzT3JpZ2luT3Bl
bmVyUG9saWN5VG9TdHJpbmcoY29vcC52YWx1ZSkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5LCBtYWtlU3RyaW5nKGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5VG9TdHJpbmco
Y29vcC52YWx1ZSksICI7IHJlcG9ydC10bz1cIiIsIGNvb3AucmVwb3J0aW5nRW5kcG9pbnQsICdc
IicpKTsKLSAgICAgICAgaWYgKGNvb3AudmFsdWUgPT0gQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lW
YWx1ZTo6U2FtZU9yaWdpblBsdXNDT0VQKQotICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhl
YWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LCAicmVx
dWlyZS1jb3JwIl9zKTsgLy8gRklYTUU6IFBhc3MgaW4gY29lcCBhbmQgc2V0IGhlYWRlciB2YWx1
ZSBjb3JyZWN0bHkuCiAgICAgfQogICAgIGlmIChjb29wLnJlcG9ydE9ubHlWYWx1ZSAhPSBDcm9z
c09yaWdpbk9wZW5lclBvbGljeVZhbHVlOjpVbnNhZmVOb25lKSB7CiAgICAgICAgIGlmIChjb29w
LnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXNw
b25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luT3BlbmVy
UG9saWN5UmVwb3J0T25seSwgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lUb1N0cmluZyhjb29wLnJl
cG9ydE9ubHlWYWx1ZSkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXNwb25zZS5zZXRI
VFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luT3BlbmVyUG9saWN5UmVw
b3J0T25seSwgbWFrZVN0cmluZyhjcm9zc09yaWdpbk9wZW5lclBvbGljeVRvU3RyaW5nKGNvb3Au
cmVwb3J0T25seVZhbHVlKSwgIjsgcmVwb3J0LXRvPVwiIiwgY29vcC5yZXBvcnRPbmx5UmVwb3J0
aW5nRW5kcG9pbnQsICdcIicpKTsKLSAgICAgICAgaWYgKGNvb3AucmVwb3J0T25seVZhbHVlID09
IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5VmFsdWU6OlNhbWVPcmlnaW5QbHVzQ09FUCkKLSAgICAg
ICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeVJlcG9ydE9ubHksICJyZXF1aXJlLWNvcnAiX3MpOyAvLyBGSVhN
RTogUGFzcyBpbiBjb2VwIGFuZCBzZXQgaGVhZGVyIHZhbHVlIGNvcnJlY3RseS4KICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGExZTI4NGI1NDA2Ni4u
NTRhYTNlZWZkY2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTc1
MSw3ICs3NTEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlz
cGF0Y2gpCiAKICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKS0+ZGlkUmVjZWl2ZUhlYWRlcnMoQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzKG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkpLCByZWZlcnJlcigpLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OlJlcG9ydFBhcnNpbmdFcnJvcnM6Ok5vKTsKIAotICAgICAgICBpZiAobV9m
cmFtZS5kb2N1bWVudCgpLT51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCisgICAgICAg
IGlmIChtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSB8
fCBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnByb3RvY29sSXNCbG9iKCkpCiAgICAgICAgICAg
ICBtX2ZyYW1lLmRvY3VtZW50KCktPnNldENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kob2J0YWlu
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeShtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLCAq
bV9mcmFtZS5kb2N1bWVudCgpKSk7CiAKICAgICAgICAgU3RyaW5nIHJlZmVycmVyUG9saWN5ID0g
bV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5h
bWU6OlJlZmVycmVyUG9saWN5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQmxvYkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxv
YkRhdGEuaAppbmRleCA5YzU1NGIwY2Q2ZjguLjZmNGFkMDQ5NDcwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmlu
ZSBCbG9iRGF0YV9oCiAKICNpbmNsdWRlICJCbG9iRGF0YUZpbGVSZWZlcmVuY2UuaCIKKyNpbmNs
dWRlICJDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3kuaCIKICNpbmNsdWRlICJUaHJlYWRTYWZlRGF0YUJ1ZmZlci5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC0xMDgsNiArMTA5LDggQEAgcHVibGljOgogCiAgICAgY29u
c3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCkgY29u
c3QgeyByZXR1cm4gbV9jb29wOyB9CiAgICAgdm9pZCBzZXRDcm9zc09yaWdpbk9wZW5lclBvbGlj
eShjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCkgeyBtX2Nvb3AgPSBjb29wOyB9
CisgICAgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fY29lcDsgfQorICAgIHZvaWQgc2V0Q3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeShjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjb2VwKSB7
IG1fY29lcCA9IGNvZXA7IH0KIAogICAgIGNvbnN0IEJsb2JEYXRhSXRlbUxpc3QmIGl0ZW1zKCkg
Y29uc3QgeyByZXR1cm4gbV9pdGVtczsgfQogICAgIHZvaWQgc3dhcEl0ZW1zKEJsb2JEYXRhSXRl
bUxpc3QmKTsKQEAgLTEyNiw2ICsxMjksNyBAQCBwcml2YXRlOgogCiAgICAgU3RyaW5nIG1fY29u
dGVudFR5cGU7CiAgICAgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgbV9jb29wOworICAgIENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3kgbV9jb2VwOwogICAgIEJsb2JEYXRhSXRlbUxpc3QgbV9pdGVt
czsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxv
YlJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3Ry
eS5oCmluZGV4IGUyNDdlODU0NGMyZi4uYjU1NTk5ODJhN2VmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xh
c3MgQmxvYlBhcnQ7CiBjbGFzcyBCbG9iUmVnaXN0cnk7CiBjbGFzcyBCbG9iUmVnaXN0cnlJbXBs
OwogCitzdHJ1Y3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTsKIHN0cnVjdCBDcm9zc09yaWdp
bk9wZW5lclBvbGljeTsKIAogV0VCQ09SRV9FWFBPUlQgQmxvYlJlZ2lzdHJ5JiBibG9iUmVnaXN0
cnkoKTsKQEAgLTU2LDcgKzU3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWdpc3Rl
ckJsb2JVUkwoY29uc3QgVVJMJiwgVmVjdG9yPEJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcmIGNv
bnRlbnRUeXBlKSA9IDA7CiAgICAgCiAgICAgLy8gUmVnaXN0ZXJzIGEgbmV3IGJsb2IgVVJMIHJl
ZmVycmluZyB0byB0aGUgYmxvYiBkYXRhIGlkZW50aWZpZWQgYnkgdGhlIHNwZWNpZmllZCBzcmNV
UkwuCi0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBV
UkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwg
Y29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5JikgPSAwOwogCiAgICAgLy8gUmVnaXN0ZXJzIGEgbmV3IGJsb2IgVVJMIHJlZmVycmlu
ZyB0byB0aGUgYmxvYiBkYXRhIGlkZW50aWZpZWQgYnkgdGhlIHNwZWNpZmllZCBzcmNVUkwgb3Is
IGlmIG5vbmUgZm91bmQsIHJlZmVycmluZyB0byB0aGUgZmlsZSBmb3VuZCBhdCB0aGUgZ2l2ZW4g
cGF0aC4KICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNr
ZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxCbG9iRGF0YUZpbGVSZWZl
cmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCmluZGV4IGY1
NWY1YjM1ZGRhNy4uYjZlYzY4Nzk1NDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKQEAgLTE1MiwyMyArMTUyLDI0IEBA
IHZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBW
ZWN0b3I8QmxvYlBhcnQ+JiYgYmxvYlBhCiAgICAgYWRkQmxvYkRhdGEodXJsLnN0cmluZygpLCBX
VEZNb3ZlKGJsb2JEYXRhKSk7CiB9CiAKLXZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJC
bG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3kmIGNvb3ApCit2b2lkIEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxv
YlVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5JiBjb29wLCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjb2Vw
KQogewotICAgIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKHVybCwgc3JjVVJM
LCBudWxscHRyLCB7IH0sIGNvb3ApOworICAgIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxl
QmFja2VkKHVybCwgc3JjVVJMLCBudWxscHRyLCB7IH0sIGNvb3AsIGNvZXApOwogfQogCi12b2lk
IEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVy
ZW5jZT4mJiBmaWxlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBDcm9zc09yaWdp
bk9wZW5lclBvbGljeSYgY29vcCkKK3ZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9i
VVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJM
LCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmIGZpbGUsIGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29wLCBjb25zdCBDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5JiBjb2VwKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CiAgICAgcmVnaXN0ZXJCbG9iUmVzb3VyY2VIYW5kbGVDb25zdHJ1Y3RvcigpOwogCiAgICAg
QmxvYkRhdGEqIHNyYyA9IGdldEJsb2JEYXRhRnJvbVVSTChzcmNVUkwpOwogICAgIGlmIChzcmMp
IHsKLSAgICAgICAgaWYgKHNyYy0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSA9PSBjb29wKQor
ICAgICAgICBpZiAoc3JjLT5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpID09IGNvb3AgJiYgc3Jj
LT5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCkgPT0gY29lcCkKICAgICAgICAgICAgIGFkZEJs
b2JEYXRhKHVybC5zdHJpbmcoKSwgc3JjKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBh
dXRvIGNsb25lID0gc3JjLT5jbG9uZSgpOwogICAgICAgICAgICAgY2xvbmUtPnNldENyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5KGNvb3ApOworICAgICAgICAgICAgY2xvbmUtPnNldENyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3koY29lcCk7CiAgICAgICAgICAgICBhZGRCbG9iRGF0YSh1cmwuc3RyaW5n
KCksIFdURk1vdmUoY2xvbmUpKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CkBAIC0xODAs
NiArMTgxLDcgQEAgdm9pZCBCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3RlckJsb2JVUkxPcHRpb25h
bGx5RmlsZUJhY2tlZChjb25zdCBVUkwmIHVybCwgY29uc3QKICAgICBhdXRvIGJhY2tpbmdGaWxl
ID0gQmxvYkRhdGE6OmNyZWF0ZShjb250ZW50VHlwZSk7CiAgICAgYmFja2luZ0ZpbGUtPmFwcGVu
ZEZpbGUoZmlsZS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICBiYWNraW5nRmlsZS0+c2V0Q3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3koY29vcCk7CisgICAgYmFja2luZ0ZpbGUtPnNldENyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3koY29lcCk7CiAKICAgICBhZGRCbG9iRGF0YSh1cmwuc3RyaW5nKCksIFdU
Rk1vdmUoYmFja2luZ0ZpbGUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmgKaW5kZXggNzFiOTQ3MDM1ZTk5Li42YmQ5MTVkOTI2
NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lz
dHJ5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lz
dHJ5SW1wbC5oCkBAIC02Miw4ICs2Miw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVnaXN0ZXJG
aWxlQmxvYlVSTChjb25zdCBVUkwmLCBSZWY8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmLCBjb25z
dCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBV
UkwmLCBWZWN0b3I8QmxvYlBhcnQ+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwotICAg
IHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25z
dCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYpOwotICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0
aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxC
bG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0
IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5Jik7CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29u
c3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5
JiwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYpOworICAgIHZvaWQgcmVnaXN0ZXJC
bG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkws
IFJlZlB0cjxCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5
cGUsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeSYpOwogICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMRm9yU2xpY2UoY29uc3QgVVJM
JiwgY29uc3QgVVJMJiBzcmNVUkwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29u
c3QgU3RyaW5nJiBjb250ZW50VHlwZSk7CiAgICAgdm9pZCB1bnJlZ2lzdGVyQmxvYlVSTChjb25z
dCBVUkwmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDMwYzgxNjU0NDljNC4uZWY2ZWU2MDJhZGU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhh
bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3Vy
Y2VIYW5kbGUuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAKICNpbmNsdWRlICJBc3luY0ZpbGVTdHJl
YW0uaCIKICNpbmNsdWRlICJCbG9iRGF0YS5oIgorI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kuaCIKICNpbmNsdWRlICJDcm9zc09yaWdpbk9wZW5lclBvbGljeS5oIgogI2luY2x1
ZGUgIkZpbGVTdHJlYW0uaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTmFtZXMuaCIKQEAgLTU3OCw2
ICs1NzksNyBAQCB2b2lkIEJsb2JSZXNvdXJjZUhhbmRsZTo6bm90aWZ5UmVzcG9uc2VPblN1Y2Nl
c3MoKQogICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29u
dGVudFR5cGUsIG1fYmxvYkRhdGEtPmNvbnRlbnRUeXBlKCkpOwogICAgIHJlc3BvbnNlLnNldEhU
VFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudExlbmd0aCwgU3RyaW5nOjpudW1i
ZXIobV90b3RhbFJlbWFpbmluZ1NpemUpKTsKICAgICBhZGRDcm9zc09yaWdpbk9wZW5lclBvbGlj
eUhlYWRlcnMocmVzcG9uc2UsIG1fYmxvYkRhdGEtPmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCkp
OworICAgIGFkZENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lIZWFkZXJzKHJlc3BvbnNlLCBtX2Js
b2JEYXRhLT5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCkpOwogCiAgICAgaWYgKGlzUmFuZ2VS
ZXF1ZXN0KQogICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5h
bWU6OkNvbnRlbnRSYW5nZSwgUGFyc2VkQ29udGVudFJhbmdlKG1fcmFuZ2VPZmZzZXQsIG1fcmFu
Z2VFbmQsIG1fdG90YWxTaXplKS5oZWFkZXJWYWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggYWM3N2U0MWE0NzI2Li4zMTZjYzM2ZGQxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCkBAIC04MjgsMTMgKzgyOCwxMyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpyZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIFZlY3RvcjxCbG9i
UAogICAgIHNlc3Npb24tPmJsb2JSZWdpc3RyeSgpLnJlZ2lzdGVyQmxvYlVSTCh1cmwsIFdURk1v
dmUoYmxvYlBhcnRzKSwgY29udGVudFR5cGUpOwogfQogCi12b2lkIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjpyZWdpc3RlckJsb2JVUkxGcm9tVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBVUkwmIHNyY1VSTCwgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmJiBjb29wKQordm9pZCBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChjb25zdCBV
UkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiYgY29v
cCwgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYmIGNvZXApCiB7CiAgICAgYXV0byogc2Vzc2lv
biA9IG5ldHdvcmtTZXNzaW9uKCk7CiAgICAgaWYgKCFzZXNzaW9uKQogICAgICAgICByZXR1cm47
CiAKLSAgICBzZXNzaW9uLT5ibG9iUmVnaXN0cnkoKS5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNV
UkwsIFdURk1vdmUoY29vcCkpOworICAgIHNlc3Npb24tPmJsb2JSZWdpc3RyeSgpLnJlZ2lzdGVy
QmxvYlVSTCh1cmwsIHNyY1VSTCwgV1RGTW92ZShjb29wKSwgV1RGTW92ZShjb2VwKSk7CiB9CiAK
IHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlZ2lzdGVyQmxvYlVSTE9wdGlv
bmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3Qg
U3RyaW5nJiBmaWxlQmFja2VkUGF0aCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkKQEAgLTg0
NSw3ICs4NDUsNyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWdpc3Rl
ckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUgogICAgIGlmICghc2Vzc2lvbikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgc2Vzc2lvbi0+YmxvYlJlZ2lzdHJ5KCkucmVnaXN0ZXJC
bG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQodXJsLCBzcmNVUkwsIEJsb2JEYXRhRmlsZVJlZmVy
ZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGUoZmlsZUJhY2tlZFBhdGgpLCBjb250ZW50
VHlwZSwgeyB9KTsKKyAgICBzZXNzaW9uLT5ibG9iUmVnaXN0cnkoKS5yZWdpc3RlckJsb2JVUkxP
cHRpb25hbGx5RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwgQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0
aFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZShmaWxlQmFja2VkUGF0aCksIGNvbnRlbnRUeXBlLCB7
IH0sIHsgfSk7CiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlZ2lz
dGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgaW50
NjRfdCBzdGFydCwgaW50NjRfdCBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggNmEwNTk0Y2UxNTYxLi4zMzdiYjA0ODQ3OWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTY2LDYgKzY2LDcgQEAgY2xhc3MgUmVzb3VyY2VFcnJv
cjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGVudW0gY2xhc3MgU3RvcmFnZUFjY2Vzc1Njb3Bl
IDogYm9vbDsKIGVudW0gY2xhc3MgU2hvdWxkQXNrSVRQIDogYm9vbDsKK3N0cnVjdCBDcm9zc09y
aWdpbkVtYmVkZGVyUG9saWN5Owogc3RydWN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5Owogc3Ry
dWN0IFJlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0Owogc3RydWN0IFNhbWVTaXRlSW5mbzsKQEAg
LTIzMCw3ICsyMzEsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJM
KGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVu
dFBhdGgsIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRU
eXBlKTsKICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBWZWN0b3I8V2ViQ29y
ZTo6QmxvYlBhcnQ+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwotICAgIHZvaWQgcmVn
aXN0ZXJCbG9iVVJMRnJvbVVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgV2ViQ29y
ZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmJik7CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkxG
cm9tVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBXZWJDb3JlOjpDcm9zc09yaWdp
bk9wZW5lclBvbGljeSYmLCBXZWJDb3JlOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiYpOwog
ICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiwg
Y29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFN0cmluZyYgZmlsZUJhY2tlZFBhdGgsIGNvbnN0IFN0
cmluZyYgY29udGVudFR5cGUpOwogICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMRm9yU2xpY2UoY29u
c3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGludDY0X3Qgc3RhcnQsIGludDY0X3QgZW5kLCBj
b25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICB2b2lkIGJsb2JTaXplKGNvbnN0IFVSTCYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGZhOTBmZjRhNmQ4OS4uNDlhOTIyMmMyNTY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUwLDcg
KzUwLDcgQEAgbWVzc2FnZXMgLT4gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgTGVnYWN5
UmVjZWl2ZXIgewogCiAgICAgUmVnaXN0ZXJGaWxlQmxvYlVSTChVUkwgdXJsLCBTdHJpbmcgcGF0
aCwgU3RyaW5nIHJlcGxhY2VtZW50UGF0aCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGUgZXh0ZW5zaW9uSGFuZGxlLCBTdHJpbmcgY29udGVudFR5cGUpCiAgICAgUmVnaXN0ZXJCbG9i
VVJMKFVSTCB1cmwsIFZlY3RvcjxXZWJDb3JlOjpCbG9iUGFydD4gYmxvYlBhcnRzLCBTdHJpbmcg
Y29udGVudFR5cGUpCi0gICAgUmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChVUkwgdXJsLCBVUkwgc3Jj
VVJMLCBzdHJ1Y3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgY29vcCkKKyAgICBS
ZWdpc3RlckJsb2JVUkxGcm9tVVJMKFVSTCB1cmwsIFVSTCBzcmNVUkwsIHN0cnVjdCBXZWJDb3Jl
OjpDcm9zc09yaWdpbk9wZW5lclBvbGljeSBjb29wLCBzdHJ1Y3QgV2ViQ29yZTo6Q3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeSBjb2VwKQogICAgIFJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxl
QmFja2VkKFVSTCB1cmwsIFVSTCBzcmNVUkwsIFN0cmluZyBmaWxlQmFja2VkUGF0aCwgU3RyaW5n
IGNvbnRlbnRUeXBlKQogICAgIFJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKFVSTCB1cmwsIFVSTCBz
cmNVUkwsIGludDY0X3Qgc3RhcnQsIGludDY0X3QgZW5kLCBTdHJpbmcgY29udGVudFR5cGUpCiAg
ICAgVW5yZWdpc3RlckJsb2JVUkwoVVJMIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrQmxvYi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFza0Jsb2IuY3BwCmluZGV4IDQwMzZmYzk1MTFkMS4u
OTE2YmFiMWRiODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtEYXRhVGFza0Jsb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0RhdGFUYXNrQmxvYi5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJXZWJF
cnJvcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0FzeW5jRmlsZVN0cmVhbS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvQmxvYlJlZ2lzdHJ5SW1wbC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQYXJzZXJzLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QYXJzZWRDb250ZW50UmFuZ2UuaD4KQEAgLTI2Niw2ICsyNjcsNyBAQCB2b2lkIE5ldHdv
cmtEYXRhVGFza0Jsb2I6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKEVycm9yIGVycm9yQ29k
ZSkKICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpD
b250ZW50VHlwZSwgbV9ibG9iRGF0YS0+Y29udGVudFR5cGUoKSk7CiAgICAgICAgIHJlc3BvbnNl
LnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudExlbmd0aCwgU3RyaW5n
OjpudW1iZXIobV90b3RhbFJlbWFpbmluZ1NpemUpKTsKICAgICAgICAgYWRkQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3lIZWFkZXJzKHJlc3BvbnNlLCBtX2Jsb2JEYXRhLT5jcm9zc09yaWdpbk9wZW5l
clBvbGljeSgpKTsKKyAgICAgICAgYWRkQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUhlYWRlcnMo
cmVzcG9uc2UsIG1fYmxvYkRhdGEtPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSk7CiAKICAg
ICAgICAgaWYgKGlzUmFuZ2VSZXF1ZXN0KQogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhl
YWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50UmFuZ2UsIFBhcnNlZENvbnRlbnRSYW5n
ZShtX3JhbmdlT2Zmc2V0LCBtX3JhbmdlRW5kLCBtX3RvdGFsU2l6ZSkuaGVhZGVyVmFsdWUoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
UGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDI1OTA3ZmZjMGE0OS4uZWE1
ZjUwYWM3NzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtNTksNyAr
NTksNyBAQCBCbG9iUmVnaXN0cnkqIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzOjpj
cmVhdGVCbG9iUmVnaXN0cnkoKQogICAgIGNsYXNzIEVtcHR5QmxvYlJlZ2lzdHJ5IDogcHVibGlj
IFdlYkNvcmU6OkJsb2JSZWdpc3RyeSB7CiAgICAgICAgIHZvaWQgcmVnaXN0ZXJGaWxlQmxvYlVS
TChjb25zdCBVUkwmLCBSZWY8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmLCBjb25zdCBTdHJpbmcm
IHBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgQVNTRVJUX05PVF9SRUFD
SEVEKCk7IH0KICAgICAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgVmVjdG9y
PEJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyB9Ci0gICAgICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYs
IGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBXZWJDb3JlOjpDcm9zc09yaWdpbk9wZW5lclBvbGlj
eSYpIGZpbmFsIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICAgICAgdm9pZCByZWdpc3Rl
ckJsb2JVUkwoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFdlYkNvcmU6OkNy
b3NzT3JpZ2luT3BlbmVyUG9saWN5JiwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeSYpIGZpbmFsIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICAgICAgdm9pZCBy
ZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmLCBjb25zdCBVUkwm
IHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSkgZmluYWwgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogICAgICAgICB2b2lk
IHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBs
b25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUp
IGZpbmFsIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICAgICAgdm9pZCB1bnJlZ2lzdGVy
QmxvYlVSTChjb25zdCBVUkwmKSBmaW5hbCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94
eS5jcHAKaW5kZXggM2FmNDliNDM3MmU4Li5hZGU5MWEwZDExMGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5jcHAKQEAg
LTU0LDkgKzU0LDkgQEAgdm9pZCBCbG9iUmVnaXN0cnlQcm94eTo6cmVnaXN0ZXJCbG9iVVJMKGNv
bnN0IFVSTCYgdXJsLCBWZWN0b3I8QmxvYlBhcnQ+JiYgYmxvYlAKICAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCku
c2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlZ2lzdGVyQmxv
YlVSTCh1cmwsIGJsb2JQYXJ0cywgY29udGVudFR5cGUpLCAwKTsKIH0KIAotdm9pZCBCbG9iUmVn
aXN0cnlQcm94eTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNy
Y1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNvb3ApCit2b2lkIEJsb2JSZWdp
c3RyeVByb3h5OjpyZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3Jj
VVJMLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCwgY29uc3QgQ3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeSYgY29lcCkKIHsKLSAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5l
bnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdl
czo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlZ2lzdGVyQmxvYlVSTEZyb21VUkwg
eyB1cmwsIHNyY1VSTCwgY29vcCB9LCAwKTsKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5l
bnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdl
czo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlZ2lzdGVyQmxvYlVSTEZyb21VUkwg
eyB1cmwsIHNyY1VSTCwgY29vcCwgY29lcCB9LCAwKTsKIH0KIAogdm9pZCBCbG9iUmVnaXN0cnlQ
cm94eTo6cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1cmws
IGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8V2ViQ29yZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNl
PiYmIGZpbGUsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuaAppbmRleCAwYjFjMTc4
YTgzMGMuLmEzN2JiOTRmYTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5oCkBAIC0zMyw3ICszMyw3IEBAIGNsYXNzIEJs
b2JSZWdpc3RyeVByb3h5IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkJsb2JSZWdpc3RyeSB7CiBw
dWJsaWM6CiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYsIFJlZjxXZWJD
b3JlOjpCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWw7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29u
c3QgVVJMJiwgVmVjdG9yPFdlYkNvcmU6OkJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcmIGNvbnRl
bnRUeXBlKSBmaW5hbDsKLSAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25z
dCBVUkwmIHNyY1VSTCwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKSBm
aW5hbDsKKyAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNy
Y1VSTCwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBjb25zdCBXZWJD
b3JlOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JikgZmluYWw7CiAgICAgdm9pZCByZWdpc3Rl
ckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VS
TCwgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5n
JiBjb250ZW50VHlwZSkgZmluYWw7CiAgICAgdm9pZCB1bnJlZ2lzdGVyQmxvYlVSTChjb25zdCBV
UkwmKSBmaW5hbDsKICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYs
IGNvbnN0IFVSTCYgc3JjVVJMLCBsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQsIGNvbnN0
IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1t
CmluZGV4IGYwZmJhM2VkODE1Yi4uY2JlMDEzM2ZiMWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLm1tCkBAIC04NSw4ICs4NSw4IEBAIGNsYXNzIFdlYkJsb2JSZWdpc3RyeSBmaW5hbCA6
IHB1YmxpYyBCbG9iUmVnaXN0cnkgewogcHJpdmF0ZToKICAgICB2b2lkIHJlZ2lzdGVyRmlsZUJs
b2JVUkwoY29uc3QgVVJMJiB1cmwsIFJlZjxCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYgcmVmZXJl
bmNlLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IG1f
YmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyRmlsZUJsb2JVUkwodXJsLCBXVEZNb3ZlKHJlZmVyZW5jZSks
IGNvbnRlbnRUeXBlKTsgfQogICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJs
LCBWZWN0b3I8QmxvYlBhcnQ+JiYgcGFydHMsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZp
bmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgV1RGTW92ZShwYXJ0cyks
IGNvbnRlbnRUeXBlKTsgfQotICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNvb3Ap
IGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBjb29w
KTsgfQotICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNl
PiYmIHJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JS
ZWdpc3RyeS5yZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwg
V1RGTW92ZShyZWZlcmVuY2UpLCBjb250ZW50VHlwZSwgeyB9KTsgfQorICAgIHZvaWQgcmVnaXN0
ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3kmIGNvb3AsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3km
IGNvZXApIGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJM
LCBjb29wLCBjb2VwKTsgfQorICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVC
YWNrZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFG
aWxlUmVmZXJlbmNlPiYmIHJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmlu
YWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCh1
cmwsIHNyY1VSTCwgV1RGTW92ZShyZWZlcmVuY2UpLCBjb250ZW50VHlwZSwgeyB9LCB7IH0pOyB9
CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxGb3JTbGljZShjb25zdCBVUkwmIHVybCwgY29uc3Qg
VVJMJiBzcmNVUkwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5n
JiBjb250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkxGb3JT
bGljZSh1cmwsIHNyY1VSTCwgc3RhcnQsIGVuZCwgY29udGVudFR5cGUpOyB9CiAgICAgdm9pZCB1
bnJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS51
bnJlZ2lzdGVyQmxvYlVSTCh1cmwpOyB9CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGJsb2JTaXpl
KGNvbnN0IFVSTCYgdXJsKSBmaW5hbCB7IHJldHVybiBtX2Jsb2JSZWdpc3RyeS5ibG9iU2l6ZSh1
cmwpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCAzOGI2ODM5NDBjOGQu
LjU2OGEwNDY4YmQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBAIC04MSw4
ICs4MSw4IEBAIGNsYXNzIFdlYkJsb2JSZWdpc3RyeSBmaW5hbCA6IHB1YmxpYyBCbG9iUmVnaXN0
cnkgewogcHJpdmF0ZToKICAgICB2b2lkIHJlZ2lzdGVyRmlsZUJsb2JVUkwoY29uc3QgVVJMJiB1
cmwsIFJlZjxCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYgcmVmZXJlbmNlLCBjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lz
dGVyRmlsZUJsb2JVUkwodXJsLCBXVEZNb3ZlKHJlZmVyZW5jZSksIGNvbnRlbnRUeXBlKTsgfQog
ICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBWZWN0b3I8QmxvYlBhcnQ+
JiYgcGFydHMsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9ibG9iUmVnaXN0
cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgV1RGTW92ZShwYXJ0cyksIGNvbnRlbnRUeXBlKTsgfQot
ICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VS
TCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNvb3ApIGZpbmFsIHsgbV9ibG9iUmVn
aXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBjb29wKTsgfQotICAgIHZvaWQgcmVn
aXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVS
TCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmIHJlZmVyZW5jZSwgY29u
c3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJs
b2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwgV1RGTW92ZShyZWZlcmVuY2Up
LCBjb250ZW50VHlwZSwgeyB9KTsgfQorICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3km
IGNvb3AsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmIGNvZXApIGZpbmFsIHsgbV9i
bG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBjb29wLCBjb2VwKTsgfQor
ICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmIHJl
ZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3Ry
eS5yZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwgV1RGTW92
ZShyZWZlcmVuY2UpLCBjb250ZW50VHlwZSwgeyB9LCB7IH0pOyB9CiAgICAgdm9pZCByZWdpc3Rl
ckJsb2JVUkxGb3JTbGljZShjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGxvbmcg
bG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmlu
YWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkxGb3JTbGljZSh1cmwsIHNyY1VSTCwg
c3RhcnQsIGVuZCwgY29udGVudFR5cGUpOyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyQmxvYlVSTChj
b25zdCBVUkwmIHVybCkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS51bnJlZ2lzdGVyQmxvYlVSTCh1
cmwpOyB9CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGJsb2JTaXplKGNvbnN0IFVSTCYgdXJsKSBm
aW5hbCB7IHJldHVybiBtX2Jsb2JSZWdpc3RyeS5ibG9iU2l6ZSh1cmwpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435521</attachid>
            <date>2021-08-13 15:19:06 -0700</date>
            <delta_ts>2021-08-13 17:17:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229041-20210813151906.patch</filename>
            <type>text/plain</type>
            <size>53360</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UyZTBhNmE4OTk4NjBi
ZWExN2Q0NTY4YjQzMmNiNDdhYWE1ZjAwZC4uYjFmYjUyMDFkMGNlMGExMDMzODllOTBjZWJhMzhl
MmE1NGE2YzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIxLTA4LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENyb3NzLU9yaWdpbi1F
bWJlZGRlci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBVUkxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwNDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBv
bGljeSAoQ09FUCkgc3VwcG9ydCBmb3IgQmxvYiBVUkxzLiBXZSBkbyB0aGUgc2FtZSB0aGluZyBh
cyBmb3IgQ09PUCwKKyAgICAgICAgd2UgcGFzcyB0aGUgQ09FUCBwb2xpY3kgd2hlbiByZWdpc3Rl
cmluZyB0aGUgQmxvYiBVUkwgYW5kIHN0b3JlIGl0IGluIHRoZSBCbG9iRGF0YS4gV2hlbiB3ZSBu
ZWVkCisgICAgICAgIHRoZSBjb25zdHJ1Y3QgYSBCbG9iIHJlc291cmNlIHJlc3BvbnNlIGFzIGEg
cmVzdWx0IG9mIGEgbG9hZCwgd2UgYWRkIHRoZSByaWdodCBDT0VQIGhlYWRlcnMKKyAgICAgICAg
YmFzZWQgb24gdGhlIEJsb2JEYXRhJ3MgQ09FUCBwb2xpY3kuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCByZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvZmV0
Y2gvRmV0Y2hMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0
TG9hZGluZ0Jsb2JVUkwpOgorICAgICAgICAqIGZpbGVhcGkvQmxvYi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpCbG9iVVJMUmVnaXN0cnk6OnJlZ2lzdGVyVVJMKToKKyAgICAgICAgKFdlYkNvcmU6
OkJsb2I6OkJsb2IpOgorICAgICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVyTG9hZGVyOjpzdGFydCk6CisgICAgICAgICogZmls
ZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVh
ZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTCk6CisgICAgICAgICogZmlsZWFwaS9U
aHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRSZXNvdXJjZSk6
CisgICAgICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6YWRkQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUhlYWRlcnMpOgorICAgICAg
ICAqIGxvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpvcGVyYXRvcj09KToKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3ku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6YWRkQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lIZWFkZXJz
KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXI6OmRpZEJlZ2luRG9jdW1lbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvQmxvYkRhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJsb2JEYXRhOjpjcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJsb2JEYXRhOjpzZXRDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JS
ZWdpc3RyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3RlckJsb2JVUkwp
OgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMT3B0
aW9uYWxseUZpbGVCYWNrZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lz
dHJ5SW1wbC5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJsb2JSZXNvdXJjZUhhbmRsZTo6bm90aWZ5UmVzcG9u
c2VPblN1Y2Nlc3MpOgorCiAyMDIxLTA4LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODEwMDku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDBiNzUyZDE5YTQ5N2ZlNTJkMTlhYzY1ZjE3ZWNlMWViNGY5ZGNjYzIuLmNl
MGRjN2FkYzczZWUyZDA2YmQ4NWZhMTQ2NDdmMzAwMmFlYmNkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMjEtMDgtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeSBzdXBwb3J0IGZvciBCbG9i
IFVSTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
OTA0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJM
RnJvbVVSTCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQmxvYjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2Up
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9GaWxlQVBJL0Js
b2JSZWdpc3RyeVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QmxvYlJlZ2lzdHJ5UHJveHk6
OnJlZ2lzdGVyQmxvYlVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdp
c3RyeVByb3h5Lmg6CisKIDIwMjEtMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIE92ZXJseSB2ZXJib3NlIGNhdGNoYWJsZSBmZXRjaCBlcnJvciBtZXNz
YWdlcyBsZWFkIHRvIGNyb3NzLW9yaWdpbiBsZWFrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CmluZGV4IDlmMTQ3N2FkZjNkYTBiMzVjMTdmZjc1NmJmMTk5ZmJmZDA3YjI2MjAuLjE0ZDdhM2Yy
Y2FmM2U3YTIzZTI4NzgwNDU3MzIwMzMyODNlNWI0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wOC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IHN1
cHBvcnQgZm9yIEJsb2IgVVJMcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI5MDQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW06CisK
IDIwMjEtMDgtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZWdyZXNzaW9uKHIyNzMxOTQpIEV4Y2VwdGlvbiBiZWluZyB0aHJvd24gaW4gW1dlYk1haW5UaHJl
YWRJbnZva2VyIGZvcndhcmRJbnZvY2F0aW9uXSBzaG91bGQgYmUgYXV0b3JlbGVhc2VkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggOTI1NDIwODE1MTc4MjI3NzgxN2ZiNWZlM2VmNTM5
ZWU2MzkyYWQ1OC4uNzA1NDY2NjlkNjEyNWFmNjdiZmJiMzVjZDdhNzE1YjlkMmZlNDdhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA4LTEzICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENyb3NzLU9yaWdp
bi1FbWJlZGRlci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBVUkxzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwNDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRm
b3JtU3RyYXRlZ2llcy5jcHA6CisKIDIwMjEtMDgtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLU9wZW5lci1Qb2xpY3kgc3VwcG9y
dCBmb3IgQmxvYiBVUkxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2Fk
ZXIuY3BwCmluZGV4IGQ0ZTliY2U1Y2JhNmUzYTk1OGRhZDhlOWVhNzgxYmRkMzIyOWRhODAuLmZj
NmNjN2YwMzc1M2IwMWUxNzU0MmFmOTM2MzRjY2ZiMWY4YjUxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQg
RmV0Y2hMb2FkZXI6OnN0YXJ0TG9hZGluZ0Jsb2JVUkwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgY29uc3QgVVJMCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBUaHJlYWRh
YmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoY29udGV4dC5zZWN1cml0eU9yaWdpbigp
LCBjb250ZXh0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCksIG1fdXJsRm9yUmVhZGluZywgYmxv
YlVSTCk7CisgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnRl
eHQuc2VjdXJpdHlPcmlnaW4oKSwgY29udGV4dC5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpLCBj
b250ZXh0LmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwgbV91cmxGb3JSZWFkaW5nLCBibG9i
VVJMKTsKIAogICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fdXJsRm9yUmVhZGluZyk7CiAg
ICAgcmVxdWVzdC5zZXRJbml0aWF0b3JJZGVudGlmaWVyKGNvbnRleHQucmVzb3VyY2VSZXF1ZXN0
SWRlbnRpZmllcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2IuY3BwCmluZGV4IDJiOGQxYWFjY2I1NTli
MDE2ZGMxMDIxNzcyN2UxNGY3NjIwZDk5ODUuLmFlOTNiYWRjZjI0ZTM1ZjE1MGYwYmQ3YTJkMDJj
YzAyYzMwNjYyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcApAQCAtNjIsNyArNjIsNyBAQCBw
dWJsaWM6CiB2b2lkIEJsb2JVUkxSZWdpc3RyeTo6cmVnaXN0ZXJVUkwoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiBwdWJsaWNVUkwsIFVSTFJlZ2lzdHJhYmxlJiBi
bG9iKQogewogICAgIEFTU0VSVCgmYmxvYi5yZWdpc3RyeSgpID09IHRoaXMpOwotICAgIFRocmVh
ZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChjb250ZXh0LnNlY3VyaXR5T3JpZ2lu
KCksIGNvbnRleHQuY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSwgcHVibGljVVJMLCBzdGF0aWNf
Y2FzdDxCbG9iJj4oYmxvYikudXJsKCkpOworICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnJl
Z2lzdGVyQmxvYlVSTChjb250ZXh0LnNlY3VyaXR5T3JpZ2luKCksIGNvbnRleHQuY3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3koKSwgY29udGV4dC5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCksIHB1
YmxpY1VSTCwgc3RhdGljX2Nhc3Q8QmxvYiY+KGJsb2IpLnVybCgpKTsKIH0KIAogdm9pZCBCbG9i
VVJMUmVnaXN0cnk6OnVucmVnaXN0ZXJVUkwoY29uc3QgVVJMJiB1cmwpCkBAIC0xMzcsNyArMTM3
LDcgQEAgQmxvYjo6QmxvYihEZXNlcmlhbGl6YXRpb25Db250cnVjdG9yLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBVUkwKICAgICAsIG1faW50ZXJuYWxVUkwoQmxvYlVS
TDo6Y3JlYXRlSW50ZXJuYWxVUkwoKSkKIHsKICAgICBpZiAoZmlsZUJhY2tlZFBhdGguaXNFbXB0
eSgpKQotICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwobnVs
bHB0ciwgeyB9LCBtX2ludGVybmFsVVJMLCBzcmNVUkwpOworICAgICAgICBUaHJlYWRhYmxlQmxv
YlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwobnVsbHB0ciwgeyB9LCB7IH0sIG1faW50ZXJuYWxV
UkwsIHNyY1VSTCk7CiAgICAgZWxzZQogICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Ojpy
ZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChtX2ludGVybmFsVVJMLCBzcmNVUkws
IGZpbGVCYWNrZWRQYXRoLCBtX3R5cGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZVJlYWRlckxvYWRlci5jcHAKaW5kZXggMTdiMzIxZDczMWY4ODg5NTUzNzAxODE5N2ZiM2ZhMTYz
MzM0ZmFmNS4uZjk5ZGU5ZTliYTM1ZDdjODZiMzc1YWIwNWVkNWJkZDRiODNhMzAzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCkBAIC04Miw3ICs4Miw3
IEBAIHZvaWQgRmlsZVJlYWRlckxvYWRlcjo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgQmxvCiAgICAgICAgIGZhaWxlZChTZWN1cml0eUVycm9y
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Ojpy
ZWdpc3RlckJsb2JVUkwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwg
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSwgbV91cmxG
b3JSZWFkaW5nLCBibG9iLnVybCgpKTsKKyAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdp
c3RlckJsb2JVUkwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSwgc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpLCBtX3VybEZvclJlYWRp
bmcsIGJsb2IudXJsKCkpOwogCiAgICAgLy8gQ29uc3RydWN0IGFuZCBsb2FkIHRoZSByZXF1ZXN0
LgogICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fdXJsRm9yUmVhZGluZyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcAppbmRleCAy
NGFiNTYwNWZjNjJiMDhmMmY2Mzc5YjgyNTQ4M2UyNDMzNDMxOGRmLi4xZGIxYjFhYTAxY2JiNjJj
Y2Q2MDYxMDIzMDg1MjI3ZmVmZTcyZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAKQEAgLTEwMCwxOSArMTAwLDE5IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBpc0Jsb2JVUkxDb250YWluc051bGxPcmlnaW4oY29uc3QgVVJMJiB1cmwp
CiAgICAgcmV0dXJuIHVybC5zdHJpbmcoKS5zdWJzdHJpbmcoc3RhcnRJbmRleCwgZW5kSW5kZXgg
LSBzdGFydEluZGV4IC0gMSkgPT0gIm51bGwiOwogfQogCi12b2lkIFRocmVhZGFibGVCbG9iUmVn
aXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBDcm9z
c09yaWdpbk9wZW5lclBvbGljeSYgY29vcCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3Jj
VVJMKQordm9pZCBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoU2VjdXJp
dHlPcmlnaW4qIG9yaWdpbiwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNvb3AsIGNv
bnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmIGNvZXAsIGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBVUkwmIHNyY1VSTCkKIHsKICAgICAvLyBJZiB0aGUgYmxvYiBVUkwgY29udGFpbnMgbnVsbCBv
cmlnaW4sIGFzIGluIHRoZSBjb250ZXh0IHdpdGggdW5pcXVlIHNlY3VyaXR5IG9yaWdpbiBvciBm
aWxlIFVSTCwgc2F2ZSB0aGUgbWFwcGluZyBiZXR3ZWVuIHVybCBhbmQgb3JpZ2luIHNvIHRoYXQg
dGhlIG9yaWdpbiBjYW4gYmUgcmV0cml2ZWQgd2hlbiBkb2luZyBzZWN1cml0eSBvcmlnaW4gY2hl
Y2suCiAgICAgaWYgKG9yaWdpbiAmJiBpc0Jsb2JVUkxDb250YWluc051bGxPcmlnaW4odXJsKSkK
ICAgICAgICAgb3JpZ2luTWFwKCktPmFkZCh1cmwuc3RyaW5nKCksIG9yaWdpbik7CiAKICAgICBp
ZiAoaXNNYWluVGhyZWFkKCkpIHsKLSAgICAgICAgYmxvYlJlZ2lzdHJ5KCkucmVnaXN0ZXJCbG9i
VVJMKHVybCwgc3JjVVJMLCBjb29wKTsKKyAgICAgICAgYmxvYlJlZ2lzdHJ5KCkucmVnaXN0ZXJC
bG9iVVJMKHVybCwgc3JjVVJMLCBjb29wLCBjb2VwKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIGNhbGxPbk1haW5UaHJlYWQoW3VybCA9IHVybC5pc29sYXRlZENvcHkoKSwgc3JjVVJM
ID0gc3JjVVJMLmlzb2xhdGVkQ29weSgpLCBjb29wID0gY3Jvc3NUaHJlYWRDb3B5KGNvb3ApXSB7
Ci0gICAgICAgIGJsb2JSZWdpc3RyeSgpLnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgY29v
cCk7CisgICAgY2FsbE9uTWFpblRocmVhZChbdXJsID0gdXJsLmlzb2xhdGVkQ29weSgpLCBzcmNV
UkwgPSBzcmNVUkwuaXNvbGF0ZWRDb3B5KCksIGNvb3AgPSBjcm9zc1RocmVhZENvcHkoY29vcCks
IGNvZXAgPSBjcm9zc1RocmVhZENvcHkoY29lcCldIHsKKyAgICAgICAgYmxvYlJlZ2lzdHJ5KCku
cmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBjb29wLCBjb2VwKTsKICAgICB9KTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5
LmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuaAppbmRl
eCBhNjhhNTFkZjBjM2E3MWYwNDhlMzZlYWMxZTIxMWM2YzU3ZTk4MDhkLi4wNjY2MTBhMDkwMjZl
ZmE1NWZjMmY0NWViMjQ2YzJiZjUxNzg0NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuaApAQCAtMzgsMTMgKzM4LDE0IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEJsb2JQYXJ0OwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKK3N0
cnVjdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Owogc3RydWN0IENyb3NzT3JpZ2luT3BlbmVy
UG9saWN5OwogCiBjbGFzcyBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5IHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYg
cGF0aCwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudFBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVu
dFR5cGUpOwogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBWZWN0
b3I8QmxvYlBhcnQ+JiYgYmxvYlBhcnRzLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKLSAg
ICBzdGF0aWMgdm9pZCByZWdpc3RlckJsb2JVUkwoU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBDcm9z
c09yaWdpbk9wZW5lclBvbGljeSYsIGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMKTsKKyAg
ICBzdGF0aWMgdm9pZCByZWdpc3RlckJsb2JVUkwoU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBDcm9z
c09yaWdpbk9wZW5lclBvbGljeSYsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmLCBj
b25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCk7CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJC
bG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkws
IGNvbnN0IFN0cmluZyYgZmlsZUJhY2tlZFBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUp
OwogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYgbmV3
VVJMLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgZW5kLCBj
b25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICBzdGF0aWMgdm9pZCB1bnJlZ2lzdGVyQmxv
YlVSTChjb25zdCBVUkwmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IGUzYTFmNDIwNzdjNmFmYjFlMzAxZTA1Y2JmNDIwNmY0NjY0MjVmMzIuLjMwMWMzOTBk
Njg2YjU4NTdmOTM2ODc2Yzg2OThiYjMxNGEyN2NkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTU1Miw3ICsxNTUyLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50Ojpsb2FkUmVzb3VyY2UoY29uc3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50VHlwZSYg
Y29udGVudFQKICAgICAgICAgaWYgKCFtX2Jsb2JVUkxGb3JSZWFkaW5nLmlzRW1wdHkoKSkKICAg
ICAgICAgICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnVucmVnaXN0ZXJCbG9iVVJMKG1fYmxv
YlVSTEZvclJlYWRpbmcpOwogICAgICAgICBtX2Jsb2JVUkxGb3JSZWFkaW5nID0gQmxvYlVSTDo6
Y3JlYXRlUHVibGljVVJMKCZkb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCkpOwotICAgICAgICBU
aHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoJmRvY3VtZW50KCkuc2VjdXJp
dHlPcmlnaW4oKSwgZG9jdW1lbnQoKS5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpLCBtX2Jsb2JV
UkxGb3JSZWFkaW5nLCBtX2Jsb2ItPnVybCgpKTsKKyAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdp
c3RyeTo6cmVnaXN0ZXJCbG9iVVJMKCZkb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCksIGRvY3Vt
ZW50KCkuY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSwgZG9jdW1lbnQoKS5jcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5KCksIG1fYmxvYlVSTEZvclJlYWRpbmcsIG1fYmxvYi0+dXJsKCkpOwogCiAg
ICAgICAgIGlmICghbV9wbGF5ZXItPmxvYWQobV9ibG9iVVJMRm9yUmVhZGluZywgY29udGVudFR5
cGUsIGtleVN5c3RlbSkpCiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5
ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwCmluZGV4IDkwMWZmZmFkNGYxN2U5
NmFjMjU1NWEyYWNjZTNkOWEzNDFiMWIwZGYuLjVhNzE4MmRiMjdhYjRjYjhmNTU2ZTM3YWZkMmRh
ODUyMzVjMGQ0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeS5jcHAKQEAgLTc0LDQgKzc0LDIyIEBAIENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QK
ICAgICB9OwogfQogCit2b2lkIGFkZENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lIZWFkZXJzKFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
JiBjb2VwKQoreworICAgIGlmIChjb2VwLnZhbHVlICE9IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3lWYWx1ZTo6VW5zYWZlTm9uZSkgeworICAgICAgICBBU1NFUlQoY29lcC52YWx1ZSA9PSBDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlJlcXVpcmVDT1JQKTsKKyAgICAgICAgaWYgKGNv
ZXAucmVwb3J0aW5nRW5kcG9pbnQuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmVzcG9uc2Uuc2V0
SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
LCAicmVxdWlyZS1jb3JwIl9zKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzcG9uc2Uu
c2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5LCBtYWtlU3RyaW5nKCJyZXF1aXJlLWNvcnA7IHJlcG9ydC10bz1cIiIsIGNvZXAucmVwb3J0
aW5nRW5kcG9pbnQsICdcIicpKTsKKyAgICB9CisgICAgaWYgKGNvZXAucmVwb3J0T25seVZhbHVl
ICE9IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZSkgeworICAgICAg
ICBBU1NFUlQoY29lcC5yZXBvcnRPbmx5VmFsdWUgPT0gQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eVZhbHVlOjpSZXF1aXJlQ09SUCk7CisgICAgICAgIGlmIChjb2VwLnJlcG9ydE9ubHlSZXBvcnRp
bmdFbmRwb2ludC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVy
RmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lSZXBvcnRPbmx5
LCAicmVxdWlyZS1jb3JwIl9zKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzcG9uc2Uu
c2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5UmVwb3J0T25seSwgbWFrZVN0cmluZygicmVxdWlyZS1jb3JwOyByZXBvcnQtdG89XCIiLCBj
b2VwLnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludCwgJ1wiJykpOworICAgIH0KK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09y
aWdpbkVtYmVkZGVyUG9saWN5LmgKaW5kZXggOTQzNzY3YmVjY2Q0NmMzZmU3OTFjMjRlNjQ0NDdh
OTE2OTYxOGYzMC4uZjkyOThhNzdlNmQzZDJjY2Y0NGQxYzE3MGZmYjdkMTU5NDFjMDAwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5o
CkBAIC01MCw2ICs1MCwxMSBAQCBzdHJ1Y3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSB7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeT4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBib29sIG9w
ZXJhdG9yPT0oY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgYSwgY29uc3QgQ3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeSYgYikKK3sKKyAgICByZXR1cm4gYS52YWx1ZSA9PSBiLnZhbHVl
ICYmIGEucmVwb3J0aW5nRW5kcG9pbnQgPT0gYi5yZXBvcnRpbmdFbmRwb2ludCAmJiBhLnJlcG9y
dE9ubHlWYWx1ZSA9PSBiLnJlcG9ydE9ubHlWYWx1ZSAmJiBhLnJlcG9ydE9ubHlSZXBvcnRpbmdF
bmRwb2ludCA9PSBiLnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludDsKK30KKwogdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiB7CkBAIC04OCw2ICs5Myw3IEBAIHN0ZDo6b3B0aW9uYWw8
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeT4gQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTo6ZGVj
b2RlKERlY29kCiB9CiAKIENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgb2J0YWluQ3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYpOworV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRDcm9zc09yaWdpbkVtYmVk
ZGVyUG9saWN5SGVhZGVycyhSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeSYpOwogCiBlbnVtIGNsYXNzIElzU2VjdXJlQ29udGV4dCA6IGJvb2wgeyBObywg
WWVzIH07CiBXRUJDT1JFX0VYUE9SVCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5IG9idGFpbkNy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIElzU2VjdXJl
Q29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luT3BlbmVy
UG9saWN5LmNwcAppbmRleCAxZmNlZTJmYTAwZTcwMTBhMTk0NzkxNGUyMmM4ZGQ4NGEyZmJlOGVl
Li4wNDAxNTU2YTg3NjJiMzdmMTc5Y2MwMjNiZDRlNmMzZGE5YzA1YTE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGljeS5jcHAKQEAgLTEwMywx
NiArMTAzLDEyIEBAIHZvaWQgYWRkQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lIZWFkZXJzKFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBDcm9zc09yCiAgICAgICAgICAgICByZXNwb25z
ZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5LCBjcm9zc09yaWdpbk9wZW5lclBvbGljeVRvU3RyaW5nKGNvb3AudmFsdWUpKTsKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFk
ZXJOYW1lOjpDcm9zc09yaWdpbk9wZW5lclBvbGljeSwgbWFrZVN0cmluZyhjcm9zc09yaWdpbk9w
ZW5lclBvbGljeVRvU3RyaW5nKGNvb3AudmFsdWUpLCAiOyByZXBvcnQtdG89XCIiLCBjb29wLnJl
cG9ydGluZ0VuZHBvaW50LCAnXCInKSk7Ci0gICAgICAgIGlmIChjb29wLnZhbHVlID09IENyb3Nz
T3JpZ2luT3BlbmVyUG9saWN5VmFsdWU6OlNhbWVPcmlnaW5QbHVzQ09FUCkKLSAgICAgICAgICAg
IHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeSwgInJlcXVpcmUtY29ycCJfcyk7IC8vIEZJWE1FOiBQYXNzIGluIGNvZXAg
YW5kIHNldCBoZWFkZXIgdmFsdWUgY29ycmVjdGx5LgogICAgIH0KICAgICBpZiAoY29vcC5yZXBv
cnRPbmx5VmFsdWUgIT0gQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZSkg
ewogICAgICAgICBpZiAoY29vcC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQuaXNFbXB0eSgp
KQogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpDcm9zc09yaWdpbk9wZW5lclBvbGljeVJlcG9ydE9ubHksIGNyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5VG9TdHJpbmcoY29vcC5yZXBvcnRPbmx5VmFsdWUpKTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09y
aWdpbk9wZW5lclBvbGljeVJlcG9ydE9ubHksIG1ha2VTdHJpbmcoY3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3lUb1N0cmluZyhjb29wLnJlcG9ydE9ubHlWYWx1ZSksICI7IHJlcG9ydC10bz1cIiIsIGNv
b3AucmVwb3J0T25seVJlcG9ydGluZ0VuZHBvaW50LCAnXCInKSk7Ci0gICAgICAgIGlmIChjb29w
LnJlcG9ydE9ubHlWYWx1ZSA9PSBDcm9zc09yaWdpbk9wZW5lclBvbGljeVZhbHVlOjpTYW1lT3Jp
Z2luUGx1c0NPRVApCi0gICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lSZXBvcnRPbmx5LCAicmVxdWly
ZS1jb3JwIl9zKTsgLy8gRklYTUU6IFBhc3MgaW4gY29lcCBhbmQgc2V0IGhlYWRlciB2YWx1ZSBj
b3JyZWN0bHkuCiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApp
bmRleCBhMWUyODRiNTQwNjY0OTk3NGJmODNiZjU5YzgyNTQyMmNiN2FiYjYwLi41NGFhM2VlZmRj
ZWZmNGZjY2U2YWU1YTJjMGZkNTYwNWUxNTRiMDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAKQEAgLTc1MSw3ICs3NTEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpkaWRCZWdp
bkRvY3VtZW50KGJvb2wgZGlzcGF0Y2gpCiAKICAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5j
b250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcnMoQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzKG1fZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkpLCByZWZl
cnJlcigpLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydFBhcnNpbmdFcnJvcnM6Ok5vKTsK
IAotICAgICAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5wcm90b2NvbElzSW5IVFRQ
RmFtaWx5KCkpCisgICAgICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnByb3RvY29s
SXNJbkhUVFBGYW1pbHkoKSB8fCBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnByb3RvY29sSXNC
bG9iKCkpCiAgICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPnNldENyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kob2J0YWluQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeShtX2RvY3VtZW50TG9h
ZGVyLT5yZXNwb25zZSgpLCAqbV9mcmFtZS5kb2N1bWVudCgpKSk7CiAKICAgICAgICAgU3RyaW5n
IHJlZmVycmVyUG9saWN5ID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5odHRwSGVhZGVy
RmllbGQoSFRUUEhlYWRlck5hbWU6OlJlZmVycmVyUG9saWN5KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAppbmRleCA5YzU1NGIwY2Q2ZjhmMDFkMTZmOTM1ZDY3
OGM1ZDU5ODA3ZGU3YWMzLi42ZjRhZDA0OTQ3MDA2MDk5MGZhMDczYzFlNWY2ZDJlMGMzOWZjYjM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0zMiw2
ICszMiw3IEBACiAjZGVmaW5lIEJsb2JEYXRhX2gKIAogI2luY2x1ZGUgIkJsb2JEYXRhRmlsZVJl
ZmVyZW5jZS5oIgorI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCIKICNpbmNs
dWRlICJDcm9zc09yaWdpbk9wZW5lclBvbGljeS5oIgogI2luY2x1ZGUgIlRocmVhZFNhZmVEYXRh
QnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTEwOCw2ICsxMDksOCBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX2Nvb3A7IH0KICAgICB2b2lkIHNldENyb3Nz
T3JpZ2luT3BlbmVyUG9saWN5KGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29wKSB7
IG1fY29vcCA9IGNvb3A7IH0KKyAgICBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBj
cm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9jb2VwOyB9CisgICAg
dm9pZCBzZXRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KGNvbnN0IENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kmIGNvZXApIHsgbV9jb2VwID0gY29lcDsgfQogCiAgICAgY29uc3QgQmxvYkRhdGFJ
dGVtTGlzdCYgaXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2l0ZW1zOyB9CiAgICAgdm9pZCBzd2Fw
SXRlbXMoQmxvYkRhdGFJdGVtTGlzdCYpOwpAQCAtMTI2LDYgKzEyOSw3IEBAIHByaXZhdGU6CiAK
ICAgICBTdHJpbmcgbV9jb250ZW50VHlwZTsKICAgICBDcm9zc09yaWdpbk9wZW5lclBvbGljeSBt
X2Nvb3A7CisgICAgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBtX2NvZXA7CiAgICAgQmxvYkRh
dGFJdGVtTGlzdCBtX2l0ZW1zOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQmxvYlJlZ2lzdHJ5LmgKaW5kZXggZTI0N2U4NTQ0YzJmNjJlZWZiZmRmYjEwZGMwMDUy
MDdiMzA0Y2MyNC4uYjU1NTk5ODJhN2VmMDkxMmI4MjViZWM4YjdlZDRjOTZkZjE1M2JlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCkBAIC00
MSw2ICs0MSw3IEBAIGNsYXNzIEJsb2JQYXJ0OwogY2xhc3MgQmxvYlJlZ2lzdHJ5OwogY2xhc3Mg
QmxvYlJlZ2lzdHJ5SW1wbDsKIAorc3RydWN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k7CiBz
dHJ1Y3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k7CiAKIFdFQkNPUkVfRVhQT1JUIEJsb2JSZWdp
c3RyeSYgYmxvYlJlZ2lzdHJ5KCk7CkBAIC01Niw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIFZlY3RvcjxCbG9iUGFydD4mJiwg
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgPSAwOwogICAgIAogICAgIC8vIFJlZ2lzdGVycyBh
IG5ldyBibG9iIFVSTCByZWZlcnJpbmcgdG8gdGhlIGJsb2IgZGF0YSBpZGVudGlmaWVkIGJ5IHRo
ZSBzcGVjaWZpZWQgc3JjVVJMLgotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckJsb2JVUkwoY29u
c3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgY29u
c3QgVVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiwgY29uc3QgQ3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSYpID0gMDsKIAogICAgIC8vIFJlZ2lzdGVycyBhIG5ldyBi
bG9iIFVSTCByZWZlcnJpbmcgdG8gdGhlIGJsb2IgZGF0YSBpZGVudGlmaWVkIGJ5IHRoZSBzcGVj
aWZpZWQgc3JjVVJMIG9yLCBpZiBub25lIGZvdW5kLCByZWZlcnJpbmcgdG8gdGhlIGZpbGUgZm91
bmQgYXQgdGhlIGdpdmVuIHBhdGguCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9w
dGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8
QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3Ry
eUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJ
bXBsLmNwcAppbmRleCBmNTVmNWIzNWRkYTc3YmMzMGQ4Nzk3MTc4NTBiYWMxYTUzMjE1OWI1Li5i
NmVjNjg3OTU0NTYyOTNhMzdlZmRjMjI5ZGNjNzkzZTIxYzRhZjYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKQEAgLTE1
MiwyMyArMTUyLDI0IEBAIHZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMKGNv
bnN0IFVSTCYgdXJsLCBWZWN0b3I8QmxvYlBhcnQ+JiYgYmxvYlBhCiAgICAgYWRkQmxvYkRhdGEo
dXJsLnN0cmluZygpLCBXVEZNb3ZlKGJsb2JEYXRhKSk7CiB9CiAKLXZvaWQgQmxvYlJlZ2lzdHJ5
SW1wbDo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwg
Y29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNvb3ApCit2b2lkIEJsb2JSZWdpc3RyeUlt
cGw6OnJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGNv
bnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29wLCBjb25zdCBDcm9zc09yaWdpbkVtYmVk
ZGVyUG9saWN5JiBjb2VwKQogewotICAgIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFj
a2VkKHVybCwgc3JjVVJMLCBudWxscHRyLCB7IH0sIGNvb3ApOworICAgIHJlZ2lzdGVyQmxvYlVS
TE9wdGlvbmFsbHlGaWxlQmFja2VkKHVybCwgc3JjVVJMLCBudWxscHRyLCB7IH0sIGNvb3AsIGNv
ZXApOwogfQogCi12b2lkIEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFs
bHlGaWxlQmFja2VkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJs
b2JEYXRhRmlsZVJlZmVyZW5jZT4mJiBmaWxlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBj
b25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCkKK3ZvaWQgQmxvYlJlZ2lzdHJ5SW1w
bDo6cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmIGZpbGUsIGNv
bnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBj
b29wLCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjb2VwKQogewogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CiAgICAgcmVnaXN0ZXJCbG9iUmVzb3VyY2VIYW5kbGVDb25zdHJ1
Y3RvcigpOwogCiAgICAgQmxvYkRhdGEqIHNyYyA9IGdldEJsb2JEYXRhRnJvbVVSTChzcmNVUkwp
OwogICAgIGlmIChzcmMpIHsKLSAgICAgICAgaWYgKHNyYy0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3koKSA9PSBjb29wKQorICAgICAgICBpZiAoc3JjLT5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgp
ID09IGNvb3AgJiYgc3JjLT5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCkgPT0gY29lcCkKICAg
ICAgICAgICAgIGFkZEJsb2JEYXRhKHVybC5zdHJpbmcoKSwgc3JjKTsKICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBhdXRvIGNsb25lID0gc3JjLT5jbG9uZSgpOwogICAgICAgICAgICAgY2xv
bmUtPnNldENyb3NzT3JpZ2luT3BlbmVyUG9saWN5KGNvb3ApOworICAgICAgICAgICAgY2xvbmUt
PnNldENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koY29lcCk7CiAgICAgICAgICAgICBhZGRCbG9i
RGF0YSh1cmwuc3RyaW5nKCksIFdURk1vdmUoY2xvbmUpKTsKICAgICAgICAgfQogICAgICAgICBy
ZXR1cm47CkBAIC0xODAsNiArMTgxLDcgQEAgdm9pZCBCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3Rl
ckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmIHVybCwgY29uc3QKICAgICBh
dXRvIGJhY2tpbmdGaWxlID0gQmxvYkRhdGE6OmNyZWF0ZShjb250ZW50VHlwZSk7CiAgICAgYmFj
a2luZ0ZpbGUtPmFwcGVuZEZpbGUoZmlsZS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICBiYWNraW5n
RmlsZS0+c2V0Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koY29vcCk7CisgICAgYmFja2luZ0ZpbGUt
PnNldENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koY29lcCk7CiAKICAgICBhZGRCbG9iRGF0YSh1
cmwuc3RyaW5nKCksIFdURk1vdmUoYmFja2luZ0ZpbGUpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmgKaW5kZXggNzFiOTQ3MDM1
ZTk5NzBiNzFhNjJlYTExZjBhMDkyZWY0ODQ5NGJhOS4uNmJkOTE1ZDkyNjY1NDc0MTk1OTllZDQx
YTkwNTZmMGZhY2QyNWY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVnaXN0cnlJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVnaXN0cnlJbXBsLmgKQEAgLTYyLDggKzYyLDggQEAgcHVibGljOgogCiAgICAg
dm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYsIFJlZjxCbG9iRGF0YUZpbGVSZWZl
cmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwogICAgIHZvaWQgcmVnaXN0ZXJC
bG9iVVJMKGNvbnN0IFVSTCYsIFZlY3RvcjxCbG9iUGFydD4mJiwgY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSk7Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgY29uc3QgVVJM
JiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5Jik7Ci0gICAgdm9pZCByZWdp
c3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNy
Y1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKTsKKyAgICB2b2lkIHJlZ2lz
dGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3kmLCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Jik7CisgICAg
dm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmLCBjb25z
dCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3QgU3Ry
aW5nJiBjb250ZW50VHlwZSwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBjb25zdCBD
cm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Jik7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxGb3JT
bGljZShjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25n
IGxvbmcgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICB2b2lkIHVucmVnaXN0
ZXJCbG9iVVJMKGNvbnN0IFVSTCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggMzBjODE2NTQ0OWM0MTNi
ZmI2NDBhNmYwN2MxZjgwMDlmZmQ3MzI4Ni4uZWY2ZWU2MDJhZGU4MzA0YWVjMzQ3OTAwNWZlZjQz
ZWI1OTI4OTRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iUmVzb3VyY2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcApAQCAtMzQsNiArMzQsNyBAQAogCiAjaW5jbHVkZSAi
QXN5bmNGaWxlU3RyZWFtLmgiCiAjaW5jbHVkZSAiQmxvYkRhdGEuaCIKKyNpbmNsdWRlICJDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5LmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3kuaCIKICNpbmNsdWRlICJGaWxlU3RyZWFtLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVz
LmgiCkBAIC01NzgsNiArNTc5LDcgQEAgdm9pZCBCbG9iUmVzb3VyY2VIYW5kbGU6Om5vdGlmeVJl
c3BvbnNlT25TdWNjZXNzKCkKICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhl
YWRlck5hbWU6OkNvbnRlbnRUeXBlLCBtX2Jsb2JEYXRhLT5jb250ZW50VHlwZSgpKTsKICAgICBy
ZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRMZW5ndGgs
IFN0cmluZzo6bnVtYmVyKG1fdG90YWxSZW1haW5pbmdTaXplKSk7CiAgICAgYWRkQ3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3lIZWFkZXJzKHJlc3BvbnNlLCBtX2Jsb2JEYXRhLT5jcm9zc09yaWdpbk9w
ZW5lclBvbGljeSgpKTsKKyAgICBhZGRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5SGVhZGVycyhy
ZXNwb25zZSwgbV9ibG9iRGF0YS0+Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpKTsKIAogICAg
IGlmIChpc1JhbmdlUmVxdWVzdCkKICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxk
KEhUVFBIZWFkZXJOYW1lOjpDb250ZW50UmFuZ2UsIFBhcnNlZENvbnRlbnRSYW5nZShtX3Jhbmdl
T2Zmc2V0LCBtX3JhbmdlRW5kLCBtX3RvdGFsU2l6ZSkuaGVhZGVyVmFsdWUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGFjNzdlNDFhNDcyNmI5M2Y2MTFiZDM0MmUyMGU0YTQ0
YTU5ZDQzNzAuLjMxNmNjMzZkZDE0YTQyYjVhNDFkZWI1MzIxZTdhYjZkNGFkOGUwZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC04MjgsMTMgKzgyOCwxMyBAQCB2b2lkIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmws
IFZlY3RvcjxCbG9iUAogICAgIHNlc3Npb24tPmJsb2JSZWdpc3RyeSgpLnJlZ2lzdGVyQmxvYlVS
TCh1cmwsIFdURk1vdmUoYmxvYlBhcnRzKSwgY29udGVudFR5cGUpOwogfQogCi12b2lkIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWdpc3RlckJsb2JVUkxGcm9tVVJMKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmJiBjb29w
KQordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJMRnJv
bVVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIENyb3NzT3JpZ2luT3BlbmVy
UG9saWN5JiYgY29vcCwgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYmIGNvZXApCiB7CiAgICAg
YXV0byogc2Vzc2lvbiA9IG5ldHdvcmtTZXNzaW9uKCk7CiAgICAgaWYgKCFzZXNzaW9uKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBzZXNzaW9uLT5ibG9iUmVnaXN0cnkoKS5yZWdpc3RlckJsb2JV
UkwodXJsLCBzcmNVUkwsIFdURk1vdmUoY29vcCkpOworICAgIHNlc3Npb24tPmJsb2JSZWdpc3Ry
eSgpLnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgV1RGTW92ZShjb29wKSwgV1RGTW92ZShj
b2VwKSk7CiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlZ2lzdGVy
QmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNy
Y1VSTCwgY29uc3QgU3RyaW5nJiBmaWxlQmFja2VkUGF0aCwgY29uc3QgU3RyaW5nJiBjb250ZW50
VHlwZSkKQEAgLTg0NSw3ICs4NDUsNyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpyZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUgogICAgIGlm
ICghc2Vzc2lvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2Vzc2lvbi0+YmxvYlJlZ2lzdHJ5
KCkucmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQodXJsLCBzcmNVUkwsIEJsb2JE
YXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGUoZmlsZUJhY2tlZFBh
dGgpLCBjb250ZW50VHlwZSwgeyB9KTsKKyAgICBzZXNzaW9uLT5ibG9iUmVnaXN0cnkoKS5yZWdp
c3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwgQmxvYkRhdGFGaWxl
UmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZShmaWxlQmFja2VkUGF0aCksIGNv
bnRlbnRUeXBlLCB7IH0sIHsgfSk7CiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OnJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwm
IHNyY1VSTCwgaW50NjRfdCBzdGFydCwgaW50NjRfdCBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVu
dFR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggNmEwNTk0Y2UxNTYxOGFiMzI3ZTA2
ZWExZjZjYWE0YjhhZGNjNmNkMi4uMzM3YmIwNDg0NzlmNjI5NmFkMThiNzYwMzM2ZGM5OTU1ZjIx
Y2ZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtNjYsNiArNjYsNyBAQCBjbGFzcyBS
ZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogZW51bSBjbGFzcyBTdG9yYWdl
QWNjZXNzU2NvcGUgOiBib29sOwogZW51bSBjbGFzcyBTaG91bGRBc2tJVFAgOiBib29sOworc3Ry
dWN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k7CiBzdHJ1Y3QgQ3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3k7CiBzdHJ1Y3QgUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ7CiBzdHJ1Y3QgU2FtZVNp
dGVJbmZvOwpAQCAtMjMwLDcgKzIzMSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHJlZ2lzdGVy
RmlsZUJsb2JVUkwoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBTdHJpbmcm
IHJlcGxhY2VtZW50UGF0aCwgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiYsIGNvbnN0IFN0cmlu
ZyYgY29udGVudFR5cGUpOwogICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIFZl
Y3RvcjxXZWJDb3JlOjpCbG9iUGFydD4mJiwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7Ci0g
ICAgdm9pZCByZWdpc3RlckJsb2JVUkxGcm9tVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3Jj
VVJMLCBXZWJDb3JlOjpDcm9zc09yaWdpbk9wZW5lclBvbGljeSYmKTsKKyAgICB2b2lkIHJlZ2lz
dGVyQmxvYlVSTEZyb21VUkwoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIFdlYkNvcmU6
OkNyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiYsIFdlYkNvcmU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3kmJik7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChj
b25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgU3RyaW5nJiBmaWxlQmFja2VkUGF0
aCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxG
b3JTbGljZShjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgaW50NjRfdCBzdGFydCwgaW50
NjRfdCBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwogICAgIHZvaWQgYmxvYlNpemUo
Y29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCh1aW50NjRfdCk+JiYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZmE5MGZmNGE2ZDg5MzU5
OGVlMGFkMDkxMzM1MTBlZTVlYTkyZTdhNy4uNDlhOTIyMmMyNTY3ZTJmMWYzNGIwYTBjYjE5MTgz
Yzc4YWViODdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CkBAIC01MCw3ICs1MCw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzIExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIFJlZ2lzdGVyRmlsZUJsb2JVUkwoVVJMIHVybCwg
U3RyaW5nIHBhdGgsIFN0cmluZyByZXBsYWNlbWVudFBhdGgsIFdlYktpdDo6U2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlIGV4dGVuc2lvbkhhbmRsZSwgU3RyaW5nIGNvbnRlbnRUeXBlKQogICAgIFJl
Z2lzdGVyQmxvYlVSTChVUkwgdXJsLCBWZWN0b3I8V2ViQ29yZTo6QmxvYlBhcnQ+IGJsb2JQYXJ0
cywgU3RyaW5nIGNvbnRlbnRUeXBlKQotICAgIFJlZ2lzdGVyQmxvYlVSTEZyb21VUkwoVVJMIHVy
bCwgVVJMIHNyY1VSTCwgc3RydWN0IFdlYkNvcmU6OkNyb3NzT3JpZ2luT3BlbmVyUG9saWN5IGNv
b3ApCisgICAgUmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChVUkwgdXJsLCBVUkwgc3JjVVJMLCBzdHJ1
Y3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgY29vcCwgc3RydWN0IFdlYkNvcmU6
OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgY29lcCkKICAgICBSZWdpc3RlckJsb2JVUkxPcHRp
b25hbGx5RmlsZUJhY2tlZChVUkwgdXJsLCBVUkwgc3JjVVJMLCBTdHJpbmcgZmlsZUJhY2tlZFBh
dGgsIFN0cmluZyBjb250ZW50VHlwZSkKICAgICBSZWdpc3RlckJsb2JVUkxGb3JTbGljZShVUkwg
dXJsLCBVUkwgc3JjVVJMLCBpbnQ2NF90IHN0YXJ0LCBpbnQ2NF90IGVuZCwgU3RyaW5nIGNvbnRl
bnRUeXBlKQogICAgIFVucmVnaXN0ZXJCbG9iVVJMKFVSTCB1cmwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFza0Jsb2IuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmNwcAppbmRleCA0MDM2
ZmM5NTExZDE3YzIyOWJiYjUyYzlkMDFiMTk2NDUwZTBlOTc1Li45MTZiYWIxZGI4OWQxZTQ5YTJj
MjA1OWNhYzYwODAyZTFlZmIxZTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtEYXRhVGFza0Jsb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrQmxvYi5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNs
dWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0FzeW5jRmlsZVN0cmVhbS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQmxvYlJlZ2lzdHJ5SW1wbC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQYXJzZXJzLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QYXJzZWRDb250ZW50UmFuZ2UuaD4KQEAgLTI2Niw2ICsyNjcsNyBAQCB2
b2lkIE5ldHdvcmtEYXRhVGFza0Jsb2I6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKEVycm9y
IGVycm9yQ29kZSkKICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFk
ZXJOYW1lOjpDb250ZW50VHlwZSwgbV9ibG9iRGF0YS0+Y29udGVudFR5cGUoKSk7CiAgICAgICAg
IHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudExlbmd0
aCwgU3RyaW5nOjpudW1iZXIobV90b3RhbFJlbWFpbmluZ1NpemUpKTsKICAgICAgICAgYWRkQ3Jv
c3NPcmlnaW5PcGVuZXJQb2xpY3lIZWFkZXJzKHJlc3BvbnNlLCBtX2Jsb2JEYXRhLT5jcm9zc09y
aWdpbk9wZW5lclBvbGljeSgpKTsKKyAgICAgICAgYWRkQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eUhlYWRlcnMocmVzcG9uc2UsIG1fYmxvYkRhdGEtPmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ko
KSk7CiAKICAgICAgICAgaWYgKGlzUmFuZ2VSZXF1ZXN0KQogICAgICAgICAgICAgcmVzcG9uc2Uu
c2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50UmFuZ2UsIFBhcnNlZENv
bnRlbnRSYW5nZShtX3JhbmdlT2Zmc2V0LCBtX3JhbmdlRW5kLCBtX3RvdGFsU2l6ZSkuaGVhZGVy
VmFsdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDI1OTA3ZmZj
MGE0OWUyMjY3NmMyZTE5MzZiMDIxYmYzZjkyM2I1MGIuLmVhNWY1MGFjNzczYjAxODg3OWM2Zjgz
ZTg3MmVjODNjZWQyMTY1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBA
IC01OSw3ICs1OSw3IEBAIEJsb2JSZWdpc3RyeSogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0
ZWdpZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeSgpCiAgICAgY2xhc3MgRW1wdHlCbG9iUmVnaXN0cnkg
OiBwdWJsaWMgV2ViQ29yZTo6QmxvYlJlZ2lzdHJ5IHsKICAgICAgICAgdm9pZCByZWdpc3RlckZp
bGVCbG9iVVJMKGNvbnN0IFVSTCYsIFJlZjxCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0
IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsgfQogICAgICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwm
LCBWZWN0b3I8QmxvYlBhcnQ+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsg
QVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLSAgICAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29u
c3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFdlYkNvcmU6OkNyb3NzT3JpZ2luT3Bl
bmVyUG9saWN5JikgZmluYWwgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorICAgICAgICB2b2lk
IHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgV2Vi
Q29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBjb25zdCBXZWJDb3JlOjpDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5JikgZmluYWwgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogICAgICAg
ICB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYsIGNv
bnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmLCBjb25zdCBT
dHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAg
ICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMRm9yU2xpY2UoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBz
cmNVUkwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250
ZW50VHlwZSkgZmluYWwgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogICAgICAgICB2b2lkIHVu
cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYpIGZpbmFsIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdp
c3RyeVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdp
c3RyeVByb3h5LmNwcAppbmRleCAzYWY0OWI0MzcyZTg2NzdhNTdkMmVmYzhlODhjODY3MzM5NDU1
ZGMxLi5hZGU5MWEwZDExMGY4YzljY2FmY2Q0MWE0OTk1ODE4ODYwN2M1MmRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHku
Y3BwCkBAIC01NCw5ICs1NCw5IEBAIHZvaWQgQmxvYlJlZ2lzdHJ5UHJveHk6OnJlZ2lzdGVyQmxv
YlVSTChjb25zdCBVUkwmIHVybCwgVmVjdG9yPEJsb2JQYXJ0PiYmIGJsb2JQCiAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZWdp
c3RlckJsb2JVUkwodXJsLCBibG9iUGFydHMsIGNvbnRlbnRUeXBlKSwgMCk7CiB9CiAKLXZvaWQg
QmxvYlJlZ2lzdHJ5UHJveHk6OnJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwgY29uc3Qg
VVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29wKQordm9pZCBC
bG9iUmVnaXN0cnlQcm94eTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBV
UkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNvb3AsIGNvbnN0IENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmIGNvZXApCiB7Ci0gICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZWdpc3RlckJsb2JVUkxG
cm9tVVJMIHsgdXJsLCBzcmNVUkwsIGNvb3AgfSwgMCk7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZWdpc3RlckJsb2JVUkxG
cm9tVVJMIHsgdXJsLCBzcmNVUkwsIGNvb3AsIGNvZXAgfSwgMCk7CiB9CiAKIHZvaWQgQmxvYlJl
Z2lzdHJ5UHJveHk6OnJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJl
ZmVyZW5jZT4mJiBmaWxlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmgKaW5kZXgg
MGIxYzE3OGE4MzBjYzBhMmIwMzljNGExNGFhNDIzMDJkY2Q3MzhjNi4uYTM3YmI5NGZhNzg4OThi
NGI2MDkyYmQ4ODFkMTNlN2Q5Mjg0MmJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5oCkBAIC0zMyw3ICszMyw3IEBAIGNs
YXNzIEJsb2JSZWdpc3RyeVByb3h5IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkJsb2JSZWdpc3Ry
eSB7CiBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYsIFJl
ZjxXZWJDb3JlOjpCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgcGF0aCwg
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWw7CiAgICAgdm9pZCByZWdpc3RlckJsb2JV
UkwoY29uc3QgVVJMJiwgVmVjdG9yPFdlYkNvcmU6OkJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlKSBmaW5hbDsKLSAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwm
LCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3kmKSBmaW5hbDsKKyAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBV
UkwmIHNyY1VSTCwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBjb25z
dCBXZWJDb3JlOjpDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JikgZmluYWw7CiAgICAgdm9pZCBy
ZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmLCBjb25zdCBVUkwm
IHNyY1VSTCwgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3Qg
U3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWw7CiAgICAgdm9pZCB1bnJlZ2lzdGVyQmxvYlVSTChj
b25zdCBVUkwmKSBmaW5hbDsKICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0
IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQs
IGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLm1tCmluZGV4IGYwZmJhM2VkODE1Yjc2NmI4YWNlOTlmNWU2OGYzYzM4YTg4NjM5ZDIuLmNi
ZTAxMzNmYjFhMTllN2E0NzMwZWM5NTYzZTI3NTM2Y2FiNjNhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMubW0KQEAgLTg1LDggKzg1LDggQEAgY2xhc3MgV2ViQmxvYlJlZ2lzdHJ5IGZp
bmFsIDogcHVibGljIEJsb2JSZWdpc3RyeSB7CiBwcml2YXRlOgogICAgIHZvaWQgcmVnaXN0ZXJG
aWxlQmxvYlVSTChjb25zdCBVUkwmIHVybCwgUmVmPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiBy
ZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFs
IHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJGaWxlQmxvYlVSTCh1cmwsIFdURk1vdmUocmVmZXJl
bmNlKSwgY29udGVudFR5cGUpOyB9CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJM
JiB1cmwsIFZlY3RvcjxCbG9iUGFydD4mJiBwYXJ0cywgY29uc3QgU3RyaW5nJiBjb250ZW50VHlw
ZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBXVEZNb3ZlKHBh
cnRzKSwgY29udGVudFR5cGUpOyB9Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYg
Y29vcCkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkws
IGNvb3ApOyB9Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChj
b25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxCbG9iRGF0YUZpbGVSZWZl
cmVuY2U+JiYgcmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IG1f
YmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKHVybCwgc3Jj
VVJMLCBXVEZNb3ZlKHJlZmVyZW5jZSksIGNvbnRlbnRUeXBlLCB7IH0pOyB9CisgICAgdm9pZCBy
ZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBD
cm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCwgY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeSYgY29lcCkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBz
cmNVUkwsIGNvb3AsIGNvZXApOyB9CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5
RmlsZUJhY2tlZChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxCbG9i
RGF0YUZpbGVSZWZlcmVuY2U+JiYgcmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBl
KSBmaW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFj
a2VkKHVybCwgc3JjVVJMLCBXVEZNb3ZlKHJlZmVyZW5jZSksIGNvbnRlbnRUeXBlLCB7IH0sIHsg
fSk7IH0KICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYgdXJsLCBj
b25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgZW5kLCBjb25zdCBT
dHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVS
TEZvclNsaWNlKHVybCwgc3JjVVJMLCBzdGFydCwgZW5kLCBjb250ZW50VHlwZSk7IH0KICAgICB2
b2lkIHVucmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsKSBmaW5hbCB7IG1fYmxvYlJlZ2lz
dHJ5LnVucmVnaXN0ZXJCbG9iVVJMKHVybCk7IH0KICAgICB1bnNpZ25lZCBsb25nIGxvbmcgYmxv
YlNpemUoY29uc3QgVVJMJiB1cmwpIGZpbmFsIHsgcmV0dXJuIG1fYmxvYlJlZ2lzdHJ5LmJsb2JT
aXplKHVybCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDM4YjY4Mzk0
MGM4ZGY4ZmJmMTJlNGQ3NDU5ZjQwZmE0NzkwN2U2NzEuLjU2OGEwNDY4YmQ0YTA1MWI2Mzk5NzAx
YjY1Nzc1ZjhhMTVjMTY1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAt
ODEsOCArODEsOCBAQCBjbGFzcyBXZWJCbG9iUmVnaXN0cnkgZmluYWwgOiBwdWJsaWMgQmxvYlJl
Z2lzdHJ5IHsKIHByaXZhdGU6CiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVS
TCYgdXJsLCBSZWY8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmIHJlZmVyZW5jZSwgY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5y
ZWdpc3RlckZpbGVCbG9iVVJMKHVybCwgV1RGTW92ZShyZWZlcmVuY2UpLCBjb250ZW50VHlwZSk7
IH0KICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwgVmVjdG9yPEJsb2JQ
YXJ0PiYmIHBhcnRzLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IG1fYmxvYlJl
Z2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTCh1cmwsIFdURk1vdmUocGFydHMpLCBjb250ZW50VHlwZSk7
IH0KLSAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBz
cmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29wKSBmaW5hbCB7IG1fYmxv
YlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgY29vcCk7IH0KLSAgICB2b2lk
IHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiByZWZlcmVuY2Us
IGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0
ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQodXJsLCBzcmNVUkwsIFdURk1vdmUocmVmZXJl
bmNlKSwgY29udGVudFR5cGUsIHsgfSk7IH0KKyAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25z
dCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5JiBjb29wLCBjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5JiBjb2VwKSBmaW5hbCB7
IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgY29vcCwgY29lcCk7
IH0KKyAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4m
JiByZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9ibG9iUmVn
aXN0cnkucmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQodXJsLCBzcmNVUkwsIFdU
Rk1vdmUocmVmZXJlbmNlKSwgY29udGVudFR5cGUsIHsgfSwgeyB9KTsgfQogICAgIHZvaWQgcmVn
aXN0ZXJCbG9iVVJMRm9yU2xpY2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBs
b25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUp
IGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMRm9yU2xpY2UodXJsLCBzcmNV
UkwsIHN0YXJ0LCBlbmQsIGNvbnRlbnRUeXBlKTsgfQogICAgIHZvaWQgdW5yZWdpc3RlckJsb2JV
UkwoY29uc3QgVVJMJiB1cmwpIGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkudW5yZWdpc3RlckJsb2JV
UkwodXJsKTsgfQogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBibG9iU2l6ZShjb25zdCBVUkwmIHVy
bCkgZmluYWwgeyByZXR1cm4gbV9ibG9iUmVnaXN0cnkuYmxvYlNpemUodXJsKTsgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGM0MjI2Yzg0NjZhNDUwNTlkYjQ0ODIxNmM0NDkxZGZkODg0YTA1NzYuLjljNzRlNDI2NTVjZDU5
MzZlODNkNzkwYmY3ZjFhYTVlNjVjNmViMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
OC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBDcm9z
cy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IHN1cHBvcnQgZm9yIEJsb2IgVVJMcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3QgZXhwZWN0
YXRpb25zIHRvIHVuc2tpcCB0ZXN0cyB0aGF0IGFyZSBub3cgcGFzc2luZy4KKworICAgICAgICAq
IFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDgtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBwcm9maWxlIGF1dG8gbGV2ZWwgZm9yIFdlYlJUQyBI
MjY0IGVuY29kZXIgb24gQXBwbGUgU2lsaWNvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggYmI4NjcwMGJiODk2N2FmYzBiY2YyYWViMTJjYTdjY2YxY2EyYWI5YS4uZDFlM2JmY2Nj
OGE2MDdhOWRlNTE0Nzc5ZTBlNjE0ODI4ZmNmYjBmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDgtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeSBz
dXBwb3J0IGZvciBCbG9iIFVSTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyOTA0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIG5vdyB0aGF0IG1vcmUgY2hlY2tzIGFy
ZSBwYXNzaW5nLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9ibG9iLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Nyb3Nz
LW9yaWdpbi1pc29sYXRlZC1wZXJtaXNzaW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb2Vw
LWJsb2ItcG9wdXAuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTEzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cmV2ZXJ0aW5nIHIyODEwMDkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkM2UzMjgzZmRhNGZlOTVk
ZTNkYWNmMjFkZWViNzQ1YTBhMTNhNTQzLi5lNGY3MzVlZWQ5ZGE4M2Y0YjQwOWJmNDAzZTdkZDNj
NWVhYWUwZGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQwMSw2ICs0MDEsNyBAQCBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRp
b24taW50ZXJmYWNlL2xvYwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jy
b3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1z
ZXR0ZXItbm9uLWJyb2tlbi13ZWlyZC5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jv
c3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbCBbIER1bXBKU0NvbnNv
bGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJv
d3NlcnMvc2FuZGJveGluZy9zYW5kYm94LWRpc2FsbG93LXBvcHVwcy5odG1sIFsgRHVtcEpTQ29u
c29sZUxvZ0luU3RkRXJyIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Jsb2IuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNv
bGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvbmF2aWdhdGUtdG8tYWJvdXRibGFuay5odHRwcy5odG1s
IFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9uYXZpZ2F0ZS10b3AtdG8tYWJv
dXRibGFuay5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90
aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lLW5ldHdvcmstZXJyb3Iuc3ViLmh0bWwgWyBEdW1wSlND
b25zb2xlTG9nSW5TdGRFcnIgXQpAQCAtNzIyLDExICs3MjMsNiBAQCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50
aWFsbGVzcwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1vcGVuZXItcG9saWN5L25vLWh0dHBzLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L25vLXNlY3Vy
ZS1jb250ZXh0Lmh0bWwgWyBTa2lwIF0KIAotIyBDT0VQIHRlc3QgdGltaW5nIG91dCBkdWUgdG8g
bGFjayBvZiBCbG9iIFVSTCBzdXBwb3J0LgotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sIFsgU2tp
cCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVt
YmVkZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0ZWQtcGVybWlzc2lvbi5odHRwcy5odG1s
IFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLW9wZW5lci1wb2xpY3kvY29lcC1ibG9iLXBvcHVwLmh0dHBzLmh0bWwgWyBTa2lwIF0KLQog
IyBUaGlzIHRlc3QgbWFrZXMgdGhlIGFzc3VtcHRpb24gdGhhdCBnZXRfaG9zdF9pbmZvKCkuUkVN
T1RFX09SSUdJTiBpcyBzYW1lLXNpdGUsIHdoaWNoIGlzIG5vdCB0cnVlIGZvcgogIyBvdXIgbGF5
b3V0IHRlc3RzLiBXZSBtYWludGFpbiBvdXIgb3duIHZlcnNpb24gb2YgdGhpcyB0ZXN0IGluIGh0
dHAvd3B0LgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvcmVxdWlyZS1jb3JwLmh0dHBzLmh0bWwgWyBTa2lwIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Jsb2IuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZmQwNDU2MTZl
NDhkYjE5MmQyMjgzY2M4NWRmNThiOTI1MTk1ZDRkOS4uMGFmOGM0NzMxNDNmODg2Mjk1NmU2MzBk
Y2RlODU5MTM5NjNhNzlhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5o
dHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTAgQEAKLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0
byBkaXNwbGF5ICdibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvY2U3NTJmNzgtOWY1NC00MTky
LTg4NWYtZDMzODIyMmRiZjg5JyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVt
YmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdibG9i
Omh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvMmQ2MDk0ODQtZmM4Yy00MTYyLWI0NTEtNWU1YTYwY2E2
ZmIwJyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4K
LUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdibG9iOmh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvZDZjNjliMWItYjllMi00NjhmLWFmZDUtM2VlMGNhMWYyNmNkJyBpbiBhIGZyYW1l
IGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FH
RTogUmVmdXNlZCB0byBkaXNwbGF5ICdibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvYTJmNDhm
NzQtYzExNS00NTM1LTg5NDUtODQ1NTQwZDA4MjYwJyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jv
c3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBk
aXNwbGF5ICdibG9iOmh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvZTQ2MzUyZDgtNGYzOS00MzQ4LWFk
ZGMtY2YzYmU0YzI3MWQ1JyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVk
ZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdibG9iOmh0
dHBzOi8vMTI3LjAuMC4xOjk0NDMvZDRiNjhjOGItZTc0ZS00N2E1LWEwOGQtNjEyYmYwZDcwOWQ3
JyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KIAot
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCitIYXJuZXNzIEVycm9yIChG
QUlMKSwgbWVzc2FnZSA9IDIgZHVwbGljYXRlIHRlc3QgbmFtZXM6ICJDcm9zcy1PcmlnaW4tRW1i
ZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGlu
IHN1YmZyYW1lIHZpYSBzdWJmcmFtZSIsICJDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFu
ZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBu
YXZpZ2F0ZSIKIAotVElNRU9VVCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9i
OiBVUkwgZnJvbSBodHRwczovL2xvY2FsaG9zdDo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFt
ZSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFu
ZCBibG9iOiBVUkwgZnJvbSBodHRwczovL2xvY2FsaG9zdDo5NDQzIGluIHN1YmZyYW1lIHZpYSBu
YXZpZ2F0ZSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9s
aWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1l
IHZpYSBzdWJmcmFtZSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBDcm9zcy1PcmlnaW4tRW1iZWRk
ZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1
YmZyYW1lIHZpYSBuYXZpZ2F0ZSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBDcm9zcy1PcmlnaW4t
RW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQz
IGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBDcm9zcy1P
cmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAu
MTo5NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZSBUZXN0IHRpbWVkIG91dAorUEFTUyBDcm9z
cy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovL2xvY2Fs
aG9zdDo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZQorUEFTUyBDcm9zcy1PcmlnaW4tRW1i
ZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlu
IHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZQorUEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5
IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZp
YSBzdWJmcmFtZQorUEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBV
UkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZQor
UEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRw
czovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZQorUEFTUyBDcm9zcy1P
cmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAu
MTo5NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVk
ZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0ZWQtcGVybWlzc2lvbi5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
Y3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0ZWQtcGVybWlz
c2lvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZTcwMDU5MDNhYzc5OTQ4MjJmZjc3MmI0NDZj
YzcyOGQ4NTYxNTg1Mi4uM2I3NzY2MTMzODk0MDdlZGM0MzgyZDhiODJlNmY3YjBkOWYyZTcyYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3Jvc3Mtb3JpZ2luLWlzb2xhdGVkLXBl
cm1pc3Npb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Ny
b3NzLW9yaWdpbi1pc29sYXRlZC1wZXJtaXNzaW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwx
OCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCAnYmxvYjpodHRwczov
L2xvY2FsaG9zdDo5NDQzLzA2MjYxMTZlLTM0MTQtNGYzNS1iZDFlLTAwN2YxMzEyYjc5ZScgd29y
a2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVT
U0FHRTogV29ya2VyIGxvYWQgd2FzIGJsb2NrZWQgYnkgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBv
bGljeQotQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBibG9iOmh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvMDYyNjExNmUtMzQxNC00ZjM1LWJkMWUtMDA3ZjEzMTJiNzllIGR1ZSB0byBhY2Nlc3Mg
Y29udHJvbCBjaGVja3MuCi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCAnYmxvYjpo
dHRwczovL2xvY2FsaG9zdDo5NDQzL2E5OWViMzQxLTQ2NDAtNDAzYS1hOGY0LWMyZmNmMjhlZGUy
MCcgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNP
TEUgTUVTU0FHRTogV29ya2VyIGxvYWQgd2FzIGJsb2NrZWQgYnkgQ3Jvc3MtT3JpZ2luLUVtYmVk
ZGVyLVBvbGljeQotQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBibG9iOmh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvYTk5ZWIzNDEtNDY0MC00MDNhLWE4ZjQtYzJmY2YyOGVkZTIwIGR1ZSB0byBh
Y2Nlc3MgY29udHJvbCBjaGVja3MuCi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCAn
YmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzLzkyOWQ2MzNlLWNlNDgtNDNmZi1iODlkLWU0ZTIw
ZmNhNjc1Mycgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4K
LUNPTlNPTEUgTUVTU0FHRTogV29ya2VyIGxvYWQgd2FzIGJsb2NrZWQgYnkgQ3Jvc3MtT3JpZ2lu
LUVtYmVkZGVyLVBvbGljeQotQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBibG9iOmh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvOTI5ZDYzM2UtY2U0OC00M2ZmLWI4OWQtZTRlMjBmY2E2NzUzIGR1
ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8g
bG9hZCAnYmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzLzBjOGI2OTE0LTU4ZGItNDE3Yy05ZTBj
LWU3ZWNhY2M0YTE2YScgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBv
bGljeS4KLUNPTlNPTEUgTUVTU0FHRTogV29ya2VyIGxvYWQgd2FzIGJsb2NrZWQgYnkgQ3Jvc3Mt
T3JpZ2luLUVtYmVkZGVyLVBvbGljeQotQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBibG9i
Omh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvMGM4YjY5MTQtNThkYi00MTdjLTllMGMtZTdlY2FjYzRh
MTZhIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCi0KLQotSGFybmVzcyBFcnJvciAoVElN
RU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKIEZBSUwgZnJhbWU6IG9yaWdpbiA9IGh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMsIHZhbHVlID0gdW5kZWZpbmVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRy
dWUgYnV0IGdvdCBmYWxzZQogRkFJTCBmcmFtZTogb3JpZ2luID0gaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0MywgdmFsdWUgPSAqIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxz
ZQpAQCAtMzAsMTAgKzE1LDEwIEBAIFBBU1MgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gZGF0
YSwgdmFsdWUgPSB1bmRlZmluZWQKIFBBU1MgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gZGF0
YSwgdmFsdWUgPSAqCiBQQVNTIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGRhdGEsIHZhbHVl
ID0gc2VsZgogUEFTUyBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBkYXRhLCB2YWx1ZSA9IChc
KQotVElNRU9VVCBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9IHVuZGVm
aW5lZCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBi
bG9iLCB2YWx1ZSA9ICogVGVzdCB0aW1lZCBvdXQKLVRJTUVPVVQgZGVkaWNhdGVkIHdvcmtlcjog
c2NoZW1lID0gYmxvYiwgdmFsdWUgPSBzZWxmIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGRlZGlj
YXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVlID0gKFwpIFRlc3QgdGltZWQgb3V0CitG
QUlMIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVlID0gdW5kZWZpbmVkIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQorRkFJTCBkZWRpY2F0ZWQg
d29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9ICogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
dHJ1ZSBidXQgZ290IGZhbHNlCitGQUlMIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2Is
IHZhbHVlID0gc2VsZiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UK
K1BBU1MgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gYmxvYiwgdmFsdWUgPSAoXCkKIEZBSUwg
c2hhcmVkIHdvcmtlcjogd2l0aENvb3BDb2VwID0gZmFsc2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2hhcmVkV29ya2VyCiBGQUlMIHNoYXJlZCB3b3JrZXI6IHdpdGhDb29wQ29lcCA9IHRydWUgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiBGQUlMIHNlcnZpY2Ugd29ya2VyOiB3aXRo
Q29vcENvZXAgPSBmYWxzZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoYm9vbGVhbikgZmFsc2Ug
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBv
bGljeS9jb2VwLWJsb2ItcG9wdXAuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9s
aWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDA2ZmU2OTE1Y2Vl
ZGZjYmFiYmE3YjhhNzk2OWJiZjdkMzEzYWY2Mi4uNzZmYmQ2ZTFmN2JjNzg4MzlmM2FjNDdlMmI5
NWZmNDc1NDE0NjY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2NvZXAtYmxvYi1w
b3B1cC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2NvZXAtYmxv
Yi1wb3B1cC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwxMSBAQAorQ09OU09MRSBNRVNT
QUdFOiBDYW5jZWxsZWQgbG9hZCB0byBodHRwczovLzEyNy4wLjAuMTo5NDQzL2NvbW1vbi9ibGFu
ay5odG1sIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIHJlc291cmNlJ3MgQ3Jvc3MtT3JpZ2luLVJl
c291cmNlLVBvbGljeSByZXNwb25zZSBoZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQ
SSBjYW5ub3QgbG9hZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL2NvbW1vbi9ibGFuay5odG1sIGR1
ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IENhbmNlbGxlZCBs
b2FkIHRvIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2JsYW5rLmh0bWwgYmVjYXVzZSBp
dCB2aW9sYXRlcyB0aGUgcmVzb3VyY2UncyBDcm9zcy1PcmlnaW4tUmVzb3VyY2UtUG9saWN5IHJl
c3BvbnNlIGhlYWRlci4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2ggQVBJIGNhbm5vdCBsb2FkIGh0
dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2JsYW5rLmh0bWwgZHVlIHRvIGFjY2VzcyBjb250
cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogQ2FuY2VsbGVkIGxvYWQgdG8gaHR0cHM6Ly8x
MjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBy
ZXNvdXJjZSdzIENyb3NzLU9yaWdpbi1SZXNvdXJjZS1Qb2xpY3kgcmVzcG9uc2UgaGVhZGVyLgor
Q09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9jb21tb24vYmxhbmsuaHRtbCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgogCi1G
QUlMIENPT1ArQ09FUCBibG9iIFVSTCBwb3B1cDogd2luZG93Lm9wZW4oKSBhc3NlcnRfdHJ1ZTog
Q3Jvc3Mtb3JpZ2luIHdpdGhvdXQgQ09SUCBkaWQgbm90IGZhaWwgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiA8YT4gYXNzZXJ0X3RydWU6IENy
b3NzLW9yaWdpbiB3aXRob3V0IENPUlAgZGlkIG5vdCBmYWlsIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIENPT1ArQ09FUCBibG9iIFVSTCBwb3B1cDogPGEgcmVsPW5vb3BlbmVyPiBhc3Nl
cnRfdHJ1ZTogQ3Jvc3Mtb3JpZ2luIHdpdGhvdXQgQ09SUCBkaWQgbm90IGZhaWwgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKK1BBU1MgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiB3aW5kb3cub3Bl
bigpCitQQVNTIENPT1ArQ09FUCBibG9iIFVSTCBwb3B1cDogPGE+CitQQVNTIENPT1ArQ09FUCBi
bG9iIFVSTCBwb3B1cDogPGEgcmVsPW5vb3BlbmVyPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmY4NDYzMzc1ZGVkZDYyZWFiOWQwNzI5
MjI2MGFiMDNlZjJkN2VhNS4uOTg5ZTdkY2VkYzM2OGM4MmVmMmEzN2Y1Y2NjNTMwYTRjMGY2MjBl
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzczLDYgKzM3Myw3IEBAIGh0dHAvd3B0L3dlYnJ0Yy90cmFuc2Zlci1kYXRhY2hhbm5lbC1z
ZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sIFsgU2tpcCBdCiAKICMgTm8gQ3Jvc3MtT3JpZ2luLUVt
YmVkZGVyLVBvbGljeSBpbiBXSzEuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2NvZXAtYmxv
Yi1wb3B1cC5odHRwcy5odG1sIFsgU2tpcCBdCiBodHRwL3dwdC9odG1sL2Nyb3NzLW9yaWdpbi1l
bWJlZGRlci1wb2xpY3kvcmVxdWlyZS1jb3JwLmh0dHBzLmh0bWwgWyBTa2lwIF0KIAogIyBRdW90
YSBjaGVjayBtaXNzaW5nIGluIFdLMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBlZmNlNmJlMzM3NGVkZTIxZTAxNWRhNGE0MmQ1ZTRiM2YyMjZiOGY3Li4z
MjZjZjk2ZjI1YjYwOWY1ZmFlZDkyNzRmMzhjMTczNDk0MzVjMjg4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzcyNSw2ICszNzI1LDcgQEAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9wYWludC13b3JrbGV0LXNlcnZpY2Ut
d29ya2VyLWludGVyY2VwdGkKIAogIyBObyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGlu
IFdLMS4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5IFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29lcC1ibG9iLXBvcHVwLmh0dHBzLmh0
bWwgWyBTa2lwIF0KIGh0dHAvd3B0L2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9y
ZXF1aXJlLWNvcnAuaHR0cHMuaHRtbCBbIFNraXAgXQogCiAjIE5vIGhlYWRlciBmaWx0ZXJpbmcg
Zm9yIFdLMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435529</attachid>
            <date>2021-08-13 17:17:04 -0700</date>
            <delta_ts>2021-08-13 17:51:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229041-20210813171703.patch</filename>
            <type>text/plain</type>
            <size>63685</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY4NDAyYzQ5MDk2YWRm
NDkyYjM1NmM1N2IxZGEwMzNmOTc2ZjNlNC4uZjRkYjY1Y2VlZmQyYTlkYjJhMDM0NjUxMzU4MDE2
MzRhMDg0NWVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIxLTA4LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENyb3NzLU9yaWdpbi1F
bWJlZGRlci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBVUkxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwNDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIEFkZCBDcm9zcy1PcmlnaW4tRW1iZWRkZXIt
UG9saWN5IChDT0VQKSBzdXBwb3J0IGZvciBCbG9iIFVSTHMuIFdlIGRvIHRoZSBzYW1lIHRoaW5n
IGFzIGZvciBDT09QLAorICAgICAgICB3ZSBwYXNzIHRoZSBDT0VQIHBvbGljeSB3aGVuIHJlZ2lz
dGVyaW5nIHRoZSBCbG9iIFVSTCBhbmQgc3RvcmUgaXQgaW4gdGhlIEJsb2JEYXRhLiBXaGVuIHdl
IG5lZWQKKyAgICAgICAgdGhlIGNvbnN0cnVjdCBhIEJsb2IgcmVzb3VyY2UgcmVzcG9uc2UgYXMg
YSByZXN1bHQgb2YgYSBsb2FkLCB3ZSBhZGQgdGhlIHJpZ2h0IENPRVAgaGVhZGVycworICAgICAg
ICBiYXNlZCBvbiB0aGUgQmxvYkRhdGEncyBDT0VQIHBvbGljeS4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaExvYWRlcjo6c3Rh
cnRMb2FkaW5nQmxvYlVSTCk6CisgICAgICAgICogZmlsZWFwaS9CbG9iLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJsb2JVUkxSZWdpc3RyeTo6cmVnaXN0ZXJVUkwpOgorICAgICAgICAoV2ViQ29y
ZTo6QmxvYjo6QmxvYik6CisgICAgICAgICogZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXJMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBm
aWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKToKKyAgICAgICAgKiBmaWxlYXBp
L1RocmVhZGFibGVCbG9iUmVnaXN0cnkuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNl
KToKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjphZGRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5SGVhZGVycyk6CisgICAg
ICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGlj
eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRDcm9zc09yaWdpbk9wZW5lclBvbGljeUhlYWRl
cnMpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9CbG9iRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6QmxvYkRhdGE6OmNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYkRhdGE6OnNldENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxv
YlJlZ2lzdHJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxvYlVS
TCk6CisgICAgICAgIChXZWJDb3JlOjpCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3RlckJsb2JVUkxP
cHRpb25hbGx5RmlsZUJhY2tlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVn
aXN0cnlJbXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpub3RpZnlSZXNw
b25zZU9uU3VjY2Vzcyk6CisKIDIwMjEtMDgtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjI4MTAxMgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAyYjZkODY5Yjg0NTZlNWY5NGM2NGFmMTcwMzY3ZmQ2OTVkZDgxMWEzLi5lZWI4
OTUzNWM3Njc5YzM5NWZiNjA3NmMwNDk3ZTU1NTE3MDk3NjY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDIxLTA4LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBV
UkxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkw
NDEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJM
RnJvbVVSTCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQmxvYjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2Up
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9GaWxlQVBJL0Js
b2JSZWdpc3RyeVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QmxvYlJlZ2lzdHJ5UHJveHk6
OnJlZ2lzdGVyQmxvYlVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdp
c3RyeVByb3h5Lmg6CisKIDIwMjEtMDgtMTMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvY29hXSBSZW1vdGVNZWRpYVBsYXllclByb3h5IGRvZXMgbm90IHJl
Y2VpdmUgYWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKSB3aGVuIHZpZGVvIGVsZW1l
bnQgc3dpdGNoZXMgc291cmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDlmMTQ3
N2FkZjNkYTBiMzVjMTdmZjc1NmJmMTk5ZmJmZDA3YjI2MjAuLjBlNjNmNWFkNzI0ZGU3NjhjMDZk
MGY5NjRiNGE5N2RjZTIyMzhjMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMS0wOC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IHN1cHBvcnQgZm9yIEJs
b2IgVVJMcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI5MDQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKwogMjAyMS0wOC0x
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24o
cjI3MzE5NCkgRXhjZXB0aW9uIGJlaW5nIHRocm93biBpbiBbV2ViTWFpblRocmVhZEludm9rZXIg
Zm9yd2FyZEludm9jYXRpb25dIHNob3VsZCBiZSBhdXRvcmVsZWFzZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwppbmRleCA5MjU0MjA4MTUxNzgyMjc3ODE3ZmI1ZmUzZWY1MzllZTYzOTJhZDU4
Li4xZGI3NTBlOWVlN2Y0OWMzNDg1ODNjMWM2Nzg0YTA5ZjM1ODBmZWU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMTMgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVy
LVBvbGljeSBzdXBwb3J0IGZvciBCbG9iIFVSTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTA0MQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXgg
Q2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwOgorCiAyMDIxLTA4LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IHN1cHBvcnQgZm9yIEJs
b2IgVVJMcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYWY1NzkyNTZkZjA1NDgwMWE3ZTkyNTEwOTIz
MWI5YmNkNjljOWJkMC4uM2M3ZjRiOTJhNmNmMDNiM2VjYjJlYzcyNzY2Njk4NmYyMDQ0M2E3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCkBAIC04MDksNiArODA5LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogICAgIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRl
ci5oCiAgICAgbG9hZGVyL1BpbmdMb2FkZXIuaAogICAgIGxvYWRlci9Qb2xpY3lDaGVja2VyLmgK
KyAgICBsb2FkZXIvUG9saWN5Q29udGFpbmVyLmgKICAgICBsb2FkZXIvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQuaAogICAgIGxvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAogICAgIGxvYWRlci9Qcm9n
cmVzc1RyYWNrZXJDbGllbnQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
TG9hZGVyLmNwcAppbmRleCBkNGU5YmNlNWNiYTZlM2E5NThkYWQ4ZTllYTc4MWJkZDMyMjlkYTgw
Li44NmY1MzQ3ZmQ5MTMzZGMwZWFiMzViZGVlYzM2ZTZiMzkwYjlmMmU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAtNjUsNyArNjUsNyBAQCB2
b2lkIEZldGNoTG9hZGVyOjpzdGFydExvYWRpbmdCbG9iVVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IFVSTAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgVGhy
ZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnRleHQuc2VjdXJpdHlPcmln
aW4oKSwgY29udGV4dC5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpLCBtX3VybEZvclJlYWRpbmcs
IGJsb2JVUkwpOworICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChj
b250ZXh0LnNlY3VyaXR5T3JpZ2luKCksIGNvbnRleHQucG9saWN5Q29udGFpbmVyKCksIG1fdXJs
Rm9yUmVhZGluZywgYmxvYlVSTCk7CiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChtX3Vy
bEZvclJlYWRpbmcpOwogICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9ySWRlbnRpZmllcihjb250ZXh0
LnJlc291cmNlUmVxdWVzdElkZW50aWZpZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTU3NmNkYTdlMmFiOTE3ZWVhNjQ3
ZTk5ZTNmYjkzMDQwODU3Zjc0NC4uODJhMWVlZjZkNjYwOGQ4YTBjZjhlNDEzYTY1MTE3OTY2NmQz
NDMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTI3OSw2ICsxMjc5LDcgQEAKIAkJNDY1MzA3RDAxREI2RUU0ODAwRTQxMzdD
IC8qIEpTVUlFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzRTA0NUVGMURBQTEwNEYwMEIwRDhCOSAvKiBKU1VJRXZlbnRJbml0LmggKi87
IH07CiAJCTQ2NjE3MkVDMjNBMkFDMUYwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NjE3MkVCMjNB
MkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjY1OERDOTFGQTI0Qjg3MDBGN0RENTQg
LyogU1dDb250ZXh0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDY3MjQxM0IxRkEyNEIxNDAwODhCRDZEIC8qIFNXQ29udGV4dE1hbmFnZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NjZD
MkRBRDI2QzczQUZDMDA2NTE5MzEgLyogUG9saWN5Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZDMkRBQjI2QzczQUZCMDA2NTE5MzEg
LyogUG9saWN5Q29udGFpbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDY2RUQ4RDMxRURFMDE0NDAwNUU0M0Y2IC8qIEpTRE9NUmVjdExpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NkVEOEQy
MUVERTAxMzUwMDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggKi87IH07CiAJCTQ2NzFFMDY2MUQ2
N0E1OTYwMEM2QjQ5NyAvKiBDYW52YXNQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcxRTA2NDFENjdBNTdCMDBDNkI0OTcgLyogQ2FudmFzUGF0
aC5oICovOyB9OwogCQk0NjcyQUE5ODI2QjA5NDMzMDBFNkVDMzggLyogQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDY3MkFBOTYyNkIwOTQyMTAwRTZFQzM4IC8qIENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ku
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODI4
MCw2ICs4MjgxLDcgQEAKIAkJNDY2MTcyRTkyM0EyQUJGQTAwM0FCMzA5IC8qIFBvc3RNZXNzYWdl
T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9zdE1lc3NhZ2VPcHRpb25zLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2MTcyRUIyM0EyQUJGQTAwM0FCMzA5
IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQb3N0TWVzc2FnZU9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2
NTM2RkEyNjRDOEREMTAwQUFEMUQ3IC8qIEpTQXVkaW9Ob2RlQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQXVkaW9Ob2RlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDY2QzJEQUIyNkM3M0FGQjAwNjUxOTMxIC8qIFBvbGljeUNvbnRhaW5lci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb2xpY3lDb250YWluZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2REM2QUIxRURFMDIxRDAwNzQ2MjI0IC8qIEpTRE9NUmVj
dExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01SZWN0
TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkVEOEQyMUVERTAxMzUw
MDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTRE9NUmVjdExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY3MUUw
NjMxRDY3QTU3QjAwQzZCNDk3IC8qIENhbnZhc1BhdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ2FudmFzUGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yNzM1OCw2ICsyNzM2MCw3IEBACiAJCQkJRDBGRjJBNUMxMUY4QzQ1QTAwN0U3NEUw
IC8qIFBpbmdMb2FkZXIuaCAqLywKIAkJCQk5NzA1OTk3NTEwN0Q5NzUyMDBBNTBBN0MgLyogUG9s
aWN5Q2hlY2tlci5jcHAgKi8sCiAJCQkJOTcwNTk5NzYxMDdEOTc1MjAwQTUwQTdDIC8qIFBvbGlj
eUNoZWNrZXIuaCAqLywKKwkJCQk0NjZDMkRBQjI2QzczQUZCMDA2NTE5MzEgLyogUG9saWN5Q29u
dGFpbmVyLmggKi8sCiAJCQkJNkIwQTA3RjEyMUZBNEI1QzAwRDU3MzkxIC8qIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50LmNwcCAqLywKIAkJCQk2QjBBMDdGMDIxRkE0QjVDMDBENTczOTEgLyogUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQuaCAqLywKIAkJCQkxQTJBNjgyMTBCNUJFREU3MDAwMkE0ODAg
LyogUHJvZ3Jlc3NUcmFja2VyLmNwcCAqLywKQEAgLTMzOTkwLDYgKzMzOTkzLDcgQEAKIAkJCQkz
RkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwNTk5N0ExMDdEOTc1MjAwQTUwQTdDIC8qIFBvbGlj
eUNoZWNrZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2NkMyREFEMjZDNzNBRkMwMDY1MTkzMSAv
KiBQb2xpY3lDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENDVBOTU3MTc1RDQxNEMw
MEMyMUVDOCAvKiBQb2x5Z29uU2hhcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNzRFMjBBMTBB
MUY0NEYwMEY5NUU2RiAvKiBQb3BTdGF0ZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNjY4
RTE4QjBBREQ5NjI0MDA0MTI4RTAgLyogUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCBlNTEyYmVl
NTEwYWIyMGRjNDJmODk1YzQxZTU0MTA5Y2M4MDczNmE1Li5iYWU5MTEyMmYzZDAyYWNhZjFmNzM2
OTliZDNiNjllY2ExNDkwNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwCkBAIC0zMzYsMTIgKzMzNiw2IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6c3RvcEFjdGl2ZURPTU9iamVjdHMoKQogICAgIH0pOwogfQogCi1jb25zdCBDcm9z
c09yaWdpbk9wZW5lclBvbGljeSYgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3koKSBjb25zdAotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxDcm9zc09y
aWdpbk9wZW5lclBvbGljeT4gY29vcDsKLSAgICByZXR1cm4gY29vcDsKLX0KLQogdm9pZCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpzdXNwZW5kQWN0aXZlRE9NT2JqZWN0SWZOZWVkZWQoQWN0aXZl
RE9NT2JqZWN0JiBhY3RpdmVET01PYmplY3QpCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZlRE9NT2Jq
ZWN0cy5jb250YWlucygmYWN0aXZlRE9NT2JqZWN0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCAyOTkzMzUwODMzODM3MTA5ZGUzMDlkNzM3ZWI4
MDNlMThlMzdkZTYxLi5kNGJiOGUxOWFlNzhmN2U4MWE2Y2I2MWZiNmU1NTIzYzEwNGM0ZGRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTc4LDgg
Kzc4LDYgQEAgY2xhc3MgU29ja2V0UHJvdmlkZXI7CiBlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5
IDogdWludDhfdDsKIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3Q7CiAKLXN0cnVjdCBD
cm9zc09yaWdpbk9wZW5lclBvbGljeTsKLQogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIGNs
YXNzIFNlcnZpY2VXb3JrZXI7CiBjbGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOwpAQCAtMTQ4
LDggKzE0Niw2IEBAIHB1YmxpYzoKICAgICBib29sIGFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5k
ZWQoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQ7IH0KICAg
ICBib29sIGFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9hY3Rp
dmVET01PYmplY3RzQXJlU3RvcHBlZDsgfQogCi0gICAgdmlydHVhbCBjb25zdCBDcm9zc09yaWdp
bk9wZW5lclBvbGljeSYgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSBjb25zdDsKLQogICAgIEpT
Qzo6U2NyaXB0RXhlY3V0aW9uU3RhdHVzIGpzY1NjcmlwdEV4ZWN1dGlvblN0YXR1cygpIGNvbnN0
OwogCiAgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9ycyBv
ZiBBY3RpdmVET01PYmplY3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJp
dHlDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuY3BwCmlu
ZGV4IDlmOTIwZDRlZTlmZTdiMWMxNWVlNzllZDBmMDUwMmMyZGExMzFjOTMuLmJiYjY1ZTBjNzI1
ODY2MjMwMDU0MmI3ZDUxMzQwOGMyMDg1ZWZjOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TZWN1cml0eUNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0
eUNvbnRleHQuY3BwCkBAIC0xNTksNCArMTU5LDE4IEBAIFNhbmRib3hGbGFncyBTZWN1cml0eUNv
bnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSwgU3RyaW5nJiBp
CiAgICAgcmV0dXJuIGZsYWdzOwogfQogCitjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYg
U2VjdXJpdHlDb250ZXh0Ojpjcm9zc09yaWdpbk9wZW5lclBvbGljeSgpIGNvbnN0Cit7CisgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPENyb3NzT3JpZ2luT3BlbmVyUG9saWN5PiBjb29wOworICAg
IHJldHVybiBjb29wOworfQorCitQb2xpY3lDb250YWluZXIgU2VjdXJpdHlDb250ZXh0Ojpwb2xp
Y3lDb250YWluZXIoKSBjb25zdAoreworICAgIHJldHVybiB7CisgICAgICAgIGNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3koKSwKKyAgICAgICAgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKQorICAg
IH07Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaAppbmRleCAwNTE5MjE0
YzY3ZWQ2YmIyNDM4YWRiYjc5Y2QzZmM5YTU0MDc5NjVmLi5lN2IwYjczNWM5MTI2MTI4YjgyYmQ4
MjVhOGFhNDc5ZTIwN2U4MGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJp
dHlDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCkBA
IC0yNyw3ICsyNyw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeS5oIgorI2luY2x1ZGUgIlBvbGljeUNvbnRhaW5lci5oIgogI2luY2x1ZGUg
PG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25T
ZXQuaD4KQEAgLTkxLDYgKzkxLDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBDcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5JiBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4g
bV9jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5OyB9CiAgICAgdm9pZCBzZXRDcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5KGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmIGNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kpIHsgbV9jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5ID0gY3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeTsgfQogCisgICAgdmlydHVhbCBjb25zdCBDcm9zc09yaWdpbk9wZW5l
clBvbGljeSYgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSBjb25zdDsKKworICAgIFBvbGljeUNv
bnRhaW5lciBwb2xpY3lDb250YWluZXIoKSBjb25zdDsKKwogICAgIFdFQkNPUkVfRVhQT1JUIFNl
Y3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbigpIGNvbnN0OwogCiAgICAgc3RhdGljIFNhbmRi
b3hGbGFncyBwYXJzZVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3ksIFN0cmluZyYg
aW52YWxpZFRva2Vuc0Vycm9yTWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0Jsb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAppbmRleCAy
YjhkMWFhY2NiNTU5YjAxNmRjMTAyMTc3MjdlMTRmNzYyMGQ5OTg1Li5iNjNhYTdjMmNmNjU0NTE4
YWIwOTI1ZTA0OGU3MGI1NDE3ZDNjMzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0Jsb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlICJCbG9iVVJMLmgiCiAjaW5jbHVkZSAiRmlsZS5oIgogI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiUG9saWN5Q29udGFpbmVy
LmgiCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVh
bVNvdXJjZS5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTYyLDcg
KzYzLDcgQEAgcHVibGljOgogdm9pZCBCbG9iVVJMUmVnaXN0cnk6OnJlZ2lzdGVyVVJMKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFVSTCYgcHVibGljVVJMLCBVUkxSZWdp
c3RyYWJsZSYgYmxvYikKIHsKICAgICBBU1NFUlQoJmJsb2IucmVnaXN0cnkoKSA9PSB0aGlzKTsK
LSAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoY29udGV4dC5zZWN1
cml0eU9yaWdpbigpLCBjb250ZXh0LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCksIHB1YmxpY1VS
TCwgc3RhdGljX2Nhc3Q8QmxvYiY+KGJsb2IpLnVybCgpKTsKKyAgICBUaHJlYWRhYmxlQmxvYlJl
Z2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoY29udGV4dC5zZWN1cml0eU9yaWdpbigpLCBjb250ZXh0
LnBvbGljeUNvbnRhaW5lcigpLCBwdWJsaWNVUkwsIHN0YXRpY19jYXN0PEJsb2ImPihibG9iKS51
cmwoKSk7CiB9CiAKIHZvaWQgQmxvYlVSTFJlZ2lzdHJ5Ojp1bnJlZ2lzdGVyVVJMKGNvbnN0IFVS
TCYgdXJsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5jcHAKaW5k
ZXggMTdiMzIxZDczMWY4ODg5NTUzNzAxODE5N2ZiM2ZhMTYzMzM0ZmFmNS4uNDQzYzU0OWMxNWE1
NzFlYjNiNWU0ODY0YWI3OTUzYjM0MzI4NjVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGVSZWFkZXJMb2FkZXIuY3BwCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgRmlsZVJlYWRlckxv
YWRlcjo6c3RhcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgQmxvCiAgICAgICAgIGZhaWxlZChTZWN1cml0eUVycm9yKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dC0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSwgbV91cmxGb3JSZWFkaW5nLCBibG9iLnVybCgp
KTsKKyAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+
cG9saWN5Q29udGFpbmVyKCksIG1fdXJsRm9yUmVhZGluZywgYmxvYi51cmwoKSk7CiAKICAgICAv
LyBDb25zdHJ1Y3QgYW5kIGxvYWQgdGhlIHJlcXVlc3QuCiAgICAgUmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QobV91cmxGb3JSZWFkaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1Ro
cmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwCmluZGV4IDI0YWI1NjA1ZmM2MmIwOGYyZjYzNzliODI1
NDgzZTI0MzM0MzE4ZGYuLmNmZmI0ZTY4ODVjMGYxZGI0MWI1NTllNGNlZmQxZjhlODM2M2MzM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3Ry
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5
LmNwcApAQCAtMTAwLDE5ICsxMDAsMTkgQEAgc3RhdGljIGlubGluZSBib29sIGlzQmxvYlVSTENv
bnRhaW5zTnVsbE9yaWdpbihjb25zdCBVUkwmIHVybCkKICAgICByZXR1cm4gdXJsLnN0cmluZygp
LnN1YnN0cmluZyhzdGFydEluZGV4LCBlbmRJbmRleCAtIHN0YXJ0SW5kZXggLSAxKSA9PSAibnVs
bCI7CiB9CiAKLXZvaWQgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKFNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4sIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29w
LCBjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwpCit2b2lkIFRocmVhZGFibGVCbG9i
UmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBQ
b2xpY3lDb250YWluZXImIHBvbGljeUNvbnRhaW5lciwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVS
TCYgc3JjVVJMKQogewogICAgIC8vIElmIHRoZSBibG9iIFVSTCBjb250YWlucyBudWxsIG9yaWdp
biwgYXMgaW4gdGhlIGNvbnRleHQgd2l0aCB1bmlxdWUgc2VjdXJpdHkgb3JpZ2luIG9yIGZpbGUg
VVJMLCBzYXZlIHRoZSBtYXBwaW5nIGJldHdlZW4gdXJsIGFuZCBvcmlnaW4gc28gdGhhdCB0aGUg
b3JpZ2luIGNhbiBiZSByZXRyaXZlZCB3aGVuIGRvaW5nIHNlY3VyaXR5IG9yaWdpbiBjaGVjay4K
ICAgICBpZiAob3JpZ2luICYmIGlzQmxvYlVSTENvbnRhaW5zTnVsbE9yaWdpbih1cmwpKQogICAg
ICAgICBvcmlnaW5NYXAoKS0+YWRkKHVybC5zdHJpbmcoKSwgb3JpZ2luKTsKIAogICAgIGlmIChp
c01haW5UaHJlYWQoKSkgewotICAgICAgICBibG9iUmVnaXN0cnkoKS5yZWdpc3RlckJsb2JVUkwo
dXJsLCBzcmNVUkwsIGNvb3ApOworICAgICAgICBibG9iUmVnaXN0cnkoKS5yZWdpc3RlckJsb2JV
UkwodXJsLCBzcmNVUkwsIHBvbGljeUNvbnRhaW5lcik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBjYWxsT25NYWluVGhyZWFkKFt1cmwgPSB1cmwuaXNvbGF0ZWRDb3B5KCksIHNyY1VS
TCA9IHNyY1VSTC5pc29sYXRlZENvcHkoKSwgY29vcCA9IGNyb3NzVGhyZWFkQ29weShjb29wKV0g
ewotICAgICAgICBibG9iUmVnaXN0cnkoKS5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkwsIGNv
b3ApOworICAgIGNhbGxPbk1haW5UaHJlYWQoW3VybCA9IHVybC5pc29sYXRlZENvcHkoKSwgc3Jj
VVJMID0gc3JjVVJMLmlzb2xhdGVkQ29weSgpLCBwb2xpY3lDb250YWluZXIgPSBjcm9zc1RocmVh
ZENvcHkocG9saWN5Q29udGFpbmVyKV0geworICAgICAgICBibG9iUmVnaXN0cnkoKS5yZWdpc3Rl
ckJsb2JVUkwodXJsLCBzcmNVUkwsIHBvbGljeUNvbnRhaW5lcik7CiAgICAgfSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5o
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgKaW5kZXgg
YTY4YTUxZGYwYzNhNzFmMDQ4ZTM2ZWFjMWUyMTFjNmM1N2U5ODA4ZC4uNWIxZTJlMzlkNTc0YTRm
NmJhZDUyZDAzZjY2YTM1ODRiNzczOTlkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmgKQEAgLTM4LDEzICszOCwxMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBCbG9iUGFydDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogCi1zdHJ1
Y3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k7CitzdHJ1Y3QgUG9saWN5Q29udGFpbmVyOwogCiBj
bGFzcyBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBy
ZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3Qg
U3RyaW5nJiByZXBsYWNlbWVudFBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwogICAg
IHN0YXRpYyB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBWZWN0b3I8QmxvYlBhcnQ+
JiYgYmxvYlBhcnRzLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKLSAgICBzdGF0aWMgdm9p
ZCByZWdpc3RlckJsb2JVUkwoU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBDcm9zc09yaWdpbk9wZW5l
clBvbGljeSYsIGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMKTsKKyAgICBzdGF0aWMgdm9p
ZCByZWdpc3RlckJsb2JVUkwoU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBQb2xpY3lDb250YWluZXIm
LCBjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCk7CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0
ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNV
UkwsIGNvbnN0IFN0cmluZyYgZmlsZUJhY2tlZFBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVudFR5
cGUpOwogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYg
bmV3VVJMLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgZW5k
LCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICBzdGF0aWMgdm9pZCB1bnJlZ2lzdGVy
QmxvYlVSTChjb25zdCBVUkwmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCmluZGV4IGUzYTFmNDIwNzdjNmFmYjFlMzAxZTA1Y2JmNDIwNmY0NjY0MjVmMzIuLmI2MGQz
YzNjMjM3NGUxYjI0MDlhOTkyYzQyOGQ2M2YzYjhlOTUwNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTU1Miw3ICsxNTUyLDcgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50Ojpsb2FkUmVzb3VyY2UoY29uc3QgVVJMJiBpbml0aWFsVVJMLCBDb250ZW50VHlw
ZSYgY29udGVudFQKICAgICAgICAgaWYgKCFtX2Jsb2JVUkxGb3JSZWFkaW5nLmlzRW1wdHkoKSkK
ICAgICAgICAgICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnVucmVnaXN0ZXJCbG9iVVJMKG1f
YmxvYlVSTEZvclJlYWRpbmcpOwogICAgICAgICBtX2Jsb2JVUkxGb3JSZWFkaW5nID0gQmxvYlVS
TDo6Y3JlYXRlUHVibGljVVJMKCZkb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCkpOwotICAgICAg
ICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoJmRvY3VtZW50KCkuc2Vj
dXJpdHlPcmlnaW4oKSwgZG9jdW1lbnQoKS5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpLCBtX2Js
b2JVUkxGb3JSZWFkaW5nLCBtX2Jsb2ItPnVybCgpKTsKKyAgICAgICAgVGhyZWFkYWJsZUJsb2JS
ZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKCZkb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCksIGRv
Y3VtZW50KCkucG9saWN5Q29udGFpbmVyKCksIG1fYmxvYlVSTEZvclJlYWRpbmcsIG1fYmxvYi0+
dXJsKCkpOwogCiAgICAgICAgIGlmICghbV9wbGF5ZXItPmxvYWQobV9ibG9iVVJMRm9yUmVhZGlu
ZywgY29udGVudFR5cGUsIGtleVN5c3RlbSkpCiAgICAgICAgICAgICBtZWRpYUxvYWRpbmdGYWls
ZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3IpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwCmluZGV4IDkw
MWZmZmFkNGYxN2U5NmFjMjU1NWEyYWNjZTNkOWEzNDFiMWIwZGYuLjVhNzE4MmRiMjdhYjRjYjhm
NTU2ZTM3YWZkMmRhODUyMzVjMGQ0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5jcHAKQEAgLTc0LDQgKzc0LDIyIEBAIENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3kgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTo6aXNvbGF0ZWRD
b3B5KCkgY29uc3QKICAgICB9OwogfQogCit2b2lkIGFkZENyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3lIZWFkZXJzKFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBDcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5JiBjb2VwKQoreworICAgIGlmIChjb2VwLnZhbHVlICE9IENyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9uZSkgeworICAgICAgICBBU1NFUlQoY29lcC52
YWx1ZSA9PSBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlJlcXVpcmVDT1JQKTsKKyAg
ICAgICAgaWYgKGNvZXAucmVwb3J0aW5nRW5kcG9pbnQuaXNFbXB0eSgpKQorICAgICAgICAgICAg
cmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5LCAicmVxdWlyZS1jb3JwIl9zKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5LCBtYWtlU3RyaW5nKCJyZXF1aXJlLWNvcnA7IHJlcG9ydC10bz1cIiIs
IGNvZXAucmVwb3J0aW5nRW5kcG9pbnQsICdcIicpKTsKKyAgICB9CisgICAgaWYgKGNvZXAucmVw
b3J0T25seVZhbHVlICE9IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6VW5zYWZlTm9u
ZSkgeworICAgICAgICBBU1NFUlQoY29lcC5yZXBvcnRPbmx5VmFsdWUgPT0gQ3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeVZhbHVlOjpSZXF1aXJlQ09SUCk7CisgICAgICAgIGlmIChjb2VwLnJlcG9y
dE9ubHlSZXBvcnRpbmdFbmRwb2ludC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXNwb25zZS5z
ZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3lSZXBvcnRPbmx5LCAicmVxdWlyZS1jb3JwIl9zKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5UmVwb3J0T25seSwgbWFrZVN0cmluZygicmVxdWlyZS1jb3JwOyByZXBv
cnQtdG89XCIiLCBjb2VwLnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludCwgJ1wiJykpOworICAg
IH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmgKaW5kZXggOTQzNzY3YmVjY2Q0NmMzZmU3
OTFjMjRlNjQ0NDdhOTE2OTYxOGYzMC4uZjkyOThhNzdlNmQzZDJjY2Y0NGQxYzE3MGZmYjdkMTU5
NDFjMDAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeS5oCkBAIC01MCw2ICs1MCwxMSBAQCBzdHJ1Y3QgQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeSB7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9u
YWw8Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeT4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lu
bGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgYSwg
Y29uc3QgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgYikKK3sKKyAgICByZXR1cm4gYS52YWx1
ZSA9PSBiLnZhbHVlICYmIGEucmVwb3J0aW5nRW5kcG9pbnQgPT0gYi5yZXBvcnRpbmdFbmRwb2lu
dCAmJiBhLnJlcG9ydE9ubHlWYWx1ZSA9PSBiLnJlcG9ydE9ubHlWYWx1ZSAmJiBhLnJlcG9ydE9u
bHlSZXBvcnRpbmdFbmRwb2ludCA9PSBiLnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludDsKK30K
KwogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CkBAIC04OCw2ICs5Myw3IEBAIHN0
ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeT4gQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeTo6ZGVjb2RlKERlY29kCiB9CiAKIENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgb2J0
YWluQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29u
c3QgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRDcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5SGVhZGVycyhSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgQ3Jv
c3NPcmlnaW5FbWJlZGRlclBvbGljeSYpOwogCiBlbnVtIGNsYXNzIElzU2VjdXJlQ29udGV4dCA6
IGJvb2wgeyBObywgWWVzIH07CiBXRUJDT1JFX0VYUE9SVCBDcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5IG9idGFpbkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYsIElzU2VjdXJlQ29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3Nz
T3JpZ2luT3BlbmVyUG9saWN5LmNwcAppbmRleCAxZmNlZTJmYTAwZTcwMTBhMTk0NzkxNGUyMmM4
ZGQ4NGEyZmJlOGVlLi4wNDAxNTU2YTg3NjJiMzdmMTc5Y2MwMjNiZDRlNmMzZGE5YzA1YTE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3ku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGljeS5j
cHAKQEAgLTEwMywxNiArMTAzLDEyIEBAIHZvaWQgYWRkQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lI
ZWFkZXJzKFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBDcm9zc09yCiAgICAgICAg
ICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5LCBjcm9zc09yaWdpbk9wZW5lclBvbGljeVRvU3RyaW5nKGNvb3AudmFs
dWUpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbk9wZW5lclBvbGljeSwgbWFrZVN0cmluZyhj
cm9zc09yaWdpbk9wZW5lclBvbGljeVRvU3RyaW5nKGNvb3AudmFsdWUpLCAiOyByZXBvcnQtdG89
XCIiLCBjb29wLnJlcG9ydGluZ0VuZHBvaW50LCAnXCInKSk7Ci0gICAgICAgIGlmIChjb29wLnZh
bHVlID09IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5VmFsdWU6OlNhbWVPcmlnaW5QbHVzQ09FUCkK
LSAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgInJlcXVpcmUtY29ycCJfcyk7IC8vIEZJWE1FOiBQ
YXNzIGluIGNvZXAgYW5kIHNldCBoZWFkZXIgdmFsdWUgY29ycmVjdGx5LgogICAgIH0KICAgICBp
ZiAoY29vcC5yZXBvcnRPbmx5VmFsdWUgIT0gQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lWYWx1ZTo6
VW5zYWZlTm9uZSkgewogICAgICAgICBpZiAoY29vcC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9p
bnQuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhU
VFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbk9wZW5lclBvbGljeVJlcG9ydE9ubHksIGNyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5VG9TdHJpbmcoY29vcC5yZXBvcnRPbmx5VmFsdWUpKTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJO
YW1lOjpDcm9zc09yaWdpbk9wZW5lclBvbGljeVJlcG9ydE9ubHksIG1ha2VTdHJpbmcoY3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3lUb1N0cmluZyhjb29wLnJlcG9ydE9ubHlWYWx1ZSksICI7IHJlcG9y
dC10bz1cIiIsIGNvb3AucmVwb3J0T25seVJlcG9ydGluZ0VuZHBvaW50LCAnXCInKSk7Ci0gICAg
ICAgIGlmIChjb29wLnJlcG9ydE9ubHlWYWx1ZSA9PSBDcm9zc09yaWdpbk9wZW5lclBvbGljeVZh
bHVlOjpTYW1lT3JpZ2luUGx1c0NPRVApCi0gICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVh
ZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lSZXBvcnRP
bmx5LCAicmVxdWlyZS1jb3JwIl9zKTsgLy8gRklYTUU6IFBhc3MgaW4gY29lcCBhbmQgc2V0IGhl
YWRlciB2YWx1ZSBjb3JyZWN0bHkuCiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCBhMWUyODRiNTQwNjY0OTk3NGJmODNiZjU5YzgyNTQyMmNiN2FiYjYw
Li41NGFhM2VlZmRjZWZmNGZjY2U2YWU1YTJjMGZkNTYwNWUxNTRiMDlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTc1MSw3ICs3NTEsNyBAQCB2b2lkIEZyYW1lTG9h
ZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlzcGF0Y2gpCiAKICAgICAgICAgbV9mcmFtZS5k
b2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+ZGlkUmVjZWl2ZUhlYWRlcnMoQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKG1fZG9jdW1lbnRMb2FkZXItPnJlc3Bv
bnNlKCkpLCByZWZlcnJlcigpLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OlJlcG9ydFBhcnNpbmdF
cnJvcnM6Ok5vKTsKIAotICAgICAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKS5wcm90
b2NvbElzSW5IVFRQRmFtaWx5KCkpCisgICAgICAgIGlmIChtX2ZyYW1lLmRvY3VtZW50KCktPnVy
bCgpLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSB8fCBtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgp
LnByb3RvY29sSXNCbG9iKCkpCiAgICAgICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCktPnNldENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kob2J0YWluQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSht
X2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZSgpLCAqbV9mcmFtZS5kb2N1bWVudCgpKSk7CiAKICAg
ICAgICAgU3RyaW5nIHJlZmVycmVyUG9saWN5ID0gbV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2Uo
KS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlJlZmVycmVyUG9saWN5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDb250YWluZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Qb2xpY3lDb250YWluZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzFjZjFjNWIyYmQx
ZjkwM2QxNmJlYWY3NzEyMGQ3MWE2MTA1OWNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1BvbGljeUNvbnRhaW5lci5oCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ku
aCIKKyNpbmNsdWRlICJDcm9zc09yaWdpbk9wZW5lclBvbGljeS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKKy8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL29yaWdp
bi5odG1sI3BvbGljeS1jb250YWluZXIKK3N0cnVjdCBQb2xpY3lDb250YWluZXIgeworICAgIENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTsKKyAgICBD
cm9zc09yaWdpbk9wZW5lclBvbGljeSBjcm9zc09yaWdpbk9wZW5lclBvbGljeTsKKyAgICAvLyBG
SVhNRTogQ1NQIGxpc3QgYW5kIHJlZmVycmVyIHBvbGljeSBzaG91bGQgYmUgcGFydCBvZiB0aGUg
UG9saWN5Q29udGFpbmVyLgorCisgICAgUG9saWN5Q29udGFpbmVyIGlzb2xhdGVkQ29weSgpIGNv
bnN0OworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBj
b25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxQ
b2xpY3lDb250YWluZXI+IGRlY29kZShEZWNvZGVyJik7Cit9OworCitpbmxpbmUgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IFBvbGljeUNvbnRhaW5lciYgYSwgY29uc3QgUG9saWN5Q29udGFpbmVyJiBi
KQoreworICAgIHJldHVybiBhLmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kgPT0gYi5jcm9zc09y
aWdpbkVtYmVkZGVyUG9saWN5ICYmIGEuY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgPT0gYi5jcm9z
c09yaWdpbk9wZW5lclBvbGljeTsKK30KKworaW5saW5lIFBvbGljeUNvbnRhaW5lciBQb2xpY3lD
b250YWluZXI6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsKKyAgICAgICAg
Y3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5pc29sYXRlZENvcHkoKSwKKyAgICAgICAgY3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3kuaXNvbGF0ZWRDb3B5KCkKKyAgICB9OworfQorCit0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPgordm9pZCBQb2xpY3lDb250YWluZXI6OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSA8
PCBjcm9zc09yaWdpbk9wZW5lclBvbGljeTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4K
K3N0ZDo6b3B0aW9uYWw8UG9saWN5Q29udGFpbmVyPiBQb2xpY3lDb250YWluZXI6OmRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8Q3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeT4gY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTsKKyAgICBkZWNvZGVyID4+IGNyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3k7CisgICAgaWYgKCFjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxDcm9z
c09yaWdpbk9wZW5lclBvbGljeT4gY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k7CisgICAgZGVjb2Rl
ciA+PiBjcm9zc09yaWdpbk9wZW5lclBvbGljeTsKKyAgICBpZiAoIWNyb3NzT3JpZ2luT3BlbmVy
UG9saWN5KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHt7Cisg
ICAgICAgIFdURk1vdmUoKmNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kpLAorICAgICAgICBXVEZN
b3ZlKCpjcm9zc09yaWdpbk9wZW5lclBvbGljeSkKKyAgICB9fTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNw
cAppbmRleCA1MGE0MWMxODE5OGMwMzJiZjYzM2Q4OGZmYmI3NDQ3NTk5MjgxM2U4Li4wZTI3NzFl
ZjgwODQxMTU4MTUwN2ZmY2IyNGY1ZjI2Yzc2NmYwODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcApAQCAtODEsNyArODEsNyBAQCB2b2lkIEJsb2JE
YXRhOjphcHBlbmRGaWxlKFJlZjxCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYgZmlsZSkKIFJlZjxC
bG9iRGF0YT4gQmxvYkRhdGE6OmNsb25lKCkgY29uc3QKIHsKICAgICBhdXRvIGJsb2JEYXRhID0g
QmxvYkRhdGE6OmNyZWF0ZShtX2NvbnRlbnRUeXBlKTsKLSAgICBibG9iRGF0YS0+bV9jb29wID0g
bV9jb29wOworICAgIGJsb2JEYXRhLT5tX3BvbGljeUNvbnRhaW5lciA9IG1fcG9saWN5Q29udGFp
bmVyOwogICAgIGJsb2JEYXRhLT5tX2l0ZW1zID0gbV9pdGVtczsKICAgICByZXR1cm4gYmxvYkRh
dGE7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JE
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXgg
OWM1NTRiMGNkNmY4ZjAxZDE2ZjkzNWQ2NzhjNWQ1OTgwN2RlN2FjMy4uZWIyY2Q2ODgyZmVjM2Q0
ODBkMGNjMDg0ODJhMTIwM2Q4NTMyYzZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQmxvYkRhdGEuaApAQCAtMzIsNyArMzIsNyBAQAogI2RlZmluZSBCbG9iRGF0YV9oCiAK
ICNpbmNsdWRlICJCbG9iRGF0YUZpbGVSZWZlcmVuY2UuaCIKLSNpbmNsdWRlICJDcm9zc09yaWdp
bk9wZW5lclBvbGljeS5oIgorI2luY2x1ZGUgIlBvbGljeUNvbnRhaW5lci5oIgogI2luY2x1ZGUg
IlRocmVhZFNhZmVEYXRhQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KQEAgLTEwNiw4ICsxMDYsOCBAQCBwdWJs
aWM6CiAKICAgICBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50VHlwZTsgfQogCi0gICAgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNyb3Nz
T3JpZ2luT3BlbmVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9jb29wOyB9Ci0gICAgdm9pZCBz
ZXRDcm9zc09yaWdpbk9wZW5lclBvbGljeShjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYg
Y29vcCkgeyBtX2Nvb3AgPSBjb29wOyB9CisgICAgY29uc3QgUG9saWN5Q29udGFpbmVyJiBwb2xp
Y3lDb250YWluZXIoKSBjb25zdCB7IHJldHVybiBtX3BvbGljeUNvbnRhaW5lcjsgfQorICAgIHZv
aWQgc2V0UG9saWN5Q29udGFpbmVyKGNvbnN0IFBvbGljeUNvbnRhaW5lciYgcG9saWN5Q29udGFp
bmVyKSB7IG1fcG9saWN5Q29udGFpbmVyID0gcG9saWN5Q29udGFpbmVyOyB9CiAKICAgICBjb25z
dCBCbG9iRGF0YUl0ZW1MaXN0JiBpdGVtcygpIGNvbnN0IHsgcmV0dXJuIG1faXRlbXM7IH0KICAg
ICB2b2lkIHN3YXBJdGVtcyhCbG9iRGF0YUl0ZW1MaXN0Jik7CkBAIC0xMjUsNyArMTI1LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGFwcGVuZEZpbGUoQmxvYkRhdGFGaWxlUmVmZXJlbmNlKiwgbG9u
ZyBsb25nIG9mZnNldCwgbG9uZyBsb25nIGxlbmd0aCk7CiAKICAgICBTdHJpbmcgbV9jb250ZW50
VHlwZTsKLSAgICBDcm9zc09yaWdpbk9wZW5lclBvbGljeSBtX2Nvb3A7CisgICAgUG9saWN5Q29u
dGFpbmVyIG1fcG9saWN5Q29udGFpbmVyOwogICAgIEJsb2JEYXRhSXRlbUxpc3QgbV9pdGVtczsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJl
Z2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5o
CmluZGV4IGUyNDdlODU0NGMyZjYyZWVmYmZkZmIxMGRjMDA1MjA3YjMwNGNjMjQuLmE2MTg3MzU5
NmI0ZDFiODQyMmExOGVkZGI3YTRkMDJkMWY1NWU2MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBC
bG9iUGFydDsKIGNsYXNzIEJsb2JSZWdpc3RyeTsKIGNsYXNzIEJsb2JSZWdpc3RyeUltcGw7CiAK
LXN0cnVjdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeTsKK3N0cnVjdCBQb2xpY3lDb250YWluZXI7
CiAKIFdFQkNPUkVfRVhQT1JUIEJsb2JSZWdpc3RyeSYgYmxvYlJlZ2lzdHJ5KCk7CiAKQEAgLTU2
LDcgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckJsb2JVUkwoY29u
c3QgVVJMJiwgVmVjdG9yPEJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSA9
IDA7CiAgICAgCiAgICAgLy8gUmVnaXN0ZXJzIGEgbmV3IGJsb2IgVVJMIHJlZmVycmluZyB0byB0
aGUgYmxvYiBkYXRhIGlkZW50aWZpZWQgYnkgdGhlIHNwZWNpZmllZCBzcmNVUkwuCi0gICAgdmly
dHVhbCB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwg
Y29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgUG9saWN5
Q29udGFpbmVyJikgPSAwOwogCiAgICAgLy8gUmVnaXN0ZXJzIGEgbmV3IGJsb2IgVVJMIHJlZmVy
cmluZyB0byB0aGUgYmxvYiBkYXRhIGlkZW50aWZpZWQgYnkgdGhlIHNwZWNpZmllZCBzcmNVUkwg
b3IsIGlmIG5vbmUgZm91bmQsIHJlZmVycmluZyB0byB0aGUgZmlsZSBmb3VuZCBhdCB0aGUgZ2l2
ZW4gcGF0aC4KICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVC
YWNrZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxCbG9iRGF0YUZpbGVS
ZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCmluZGV4
IGY1NWY1YjM1ZGRhNzdiYzMwZDg3OTcxNzg1MGJhYzFhNTMyMTU5YjUuLjMzN2VhZjk5ZWQyOTQ4
ZmMwNzkwYmY3ZThjZTU4ZDc1NjExNTA1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmNwcApAQCAtMzUsNiArMzUsNyBAQAog
I2luY2x1ZGUgIkJsb2JEYXRhLmgiCiAjaW5jbHVkZSAiQmxvYlBhcnQuaCIKICNpbmNsdWRlICJC
bG9iUmVzb3VyY2VIYW5kbGUuaCIKKyNpbmNsdWRlICJQb2xpY3lDb250YWluZXIuaCIKICNpbmNs
dWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNs
dWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKQEAgLTE1MiwyMyArMTUzLDIzIEBAIHZvaWQgQmxvYlJl
Z2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBWZWN0b3I8QmxvYlBh
cnQ+JiYgYmxvYlBhCiAgICAgYWRkQmxvYkRhdGEodXJsLnN0cmluZygpLCBXVEZNb3ZlKGJsb2JE
YXRhKSk7CiB9CiAKLXZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3kmIGNvb3ApCit2b2lkIEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxvYlVSTChjb25zdCBV
UkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFBvbGljeUNvbnRhaW5lciYgcG9saWN5
Q29udGFpbmVyKQogewotICAgIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKHVy
bCwgc3JjVVJMLCBudWxscHRyLCB7IH0sIGNvb3ApOworICAgIHJlZ2lzdGVyQmxvYlVSTE9wdGlv
bmFsbHlGaWxlQmFja2VkKHVybCwgc3JjVVJMLCBudWxscHRyLCB7IH0sIHBvbGljeUNvbnRhaW5l
cik7CiB9CiAKLXZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxs
eUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8Qmxv
YkRhdGFGaWxlUmVmZXJlbmNlPiYmIGZpbGUsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNv
bnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29wKQordm9pZCBCbG9iUmVnaXN0cnlJbXBs
OjpyZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmIHVybCwgY29u
c3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYgZmlsZSwgY29u
c3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgUG9saWN5Q29udGFpbmVyJiBwb2xpY3lDb250
YWluZXIpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICByZWdpc3RlckJsb2JS
ZXNvdXJjZUhhbmRsZUNvbnN0cnVjdG9yKCk7CiAKICAgICBCbG9iRGF0YSogc3JjID0gZ2V0Qmxv
YkRhdGFGcm9tVVJMKHNyY1VSTCk7CiAgICAgaWYgKHNyYykgewotICAgICAgICBpZiAoc3JjLT5j
cm9zc09yaWdpbk9wZW5lclBvbGljeSgpID09IGNvb3ApCisgICAgICAgIGlmIChzcmMtPnBvbGlj
eUNvbnRhaW5lcigpID09IHBvbGljeUNvbnRhaW5lcikKICAgICAgICAgICAgIGFkZEJsb2JEYXRh
KHVybC5zdHJpbmcoKSwgc3JjKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBhdXRvIGNs
b25lID0gc3JjLT5jbG9uZSgpOwotICAgICAgICAgICAgY2xvbmUtPnNldENyb3NzT3JpZ2luT3Bl
bmVyUG9saWN5KGNvb3ApOworICAgICAgICAgICAgY2xvbmUtPnNldFBvbGljeUNvbnRhaW5lcihw
b2xpY3lDb250YWluZXIpOwogICAgICAgICAgICAgYWRkQmxvYkRhdGEodXJsLnN0cmluZygpLCBX
VEZNb3ZlKGNsb25lKSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwpAQCAtMTc5LDcgKzE4
MCw3IEBAIHZvaWQgQmxvYlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZp
bGVCYWNrZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0CiAKICAgICBhdXRvIGJhY2tpbmdGaWxlID0g
QmxvYkRhdGE6OmNyZWF0ZShjb250ZW50VHlwZSk7CiAgICAgYmFja2luZ0ZpbGUtPmFwcGVuZEZp
bGUoZmlsZS5yZWxlYXNlTm9uTnVsbCgpKTsKLSAgICBiYWNraW5nRmlsZS0+c2V0Q3Jvc3NPcmln
aW5PcGVuZXJQb2xpY3koY29vcCk7CisgICAgYmFja2luZ0ZpbGUtPnNldFBvbGljeUNvbnRhaW5l
cihwb2xpY3lDb250YWluZXIpOwogCiAgICAgYWRkQmxvYkRhdGEodXJsLnN0cmluZygpLCBXVEZN
b3ZlKGJhY2tpbmdGaWxlKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5oCmluZGV4IDcxYjk0NzAzNWU5OTcwYjcxYTYyZWExMWYw
YTA5MmVmNDg0OTRiYTkuLjc5N2ViZDY4Y2YyZDg0ZjJjODU0Njg5Y2JjNmIxMDRlNWViODExM2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5
SW1wbC5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxlOwogY2xhc3MgUmVz
b3VyY2VIYW5kbGVDbGllbnQ7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBUaHJlYWRT
YWZlRGF0YUJ1ZmZlcjsKLXN0cnVjdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeTsKK3N0cnVjdCBQ
b2xpY3lDb250YWluZXI7CiAKIC8vIEJsb2JSZWdpc3RyeUltcGwgaXMgbm90IHRocmVhZC1zYWZl
LiBJdCBzaG91bGQgb25seSBiZSBjYWxsZWQgZnJvbSBtYWluIHRocmVhZC4KIGNsYXNzIFdFQkNP
UkVfRVhQT1JUIEJsb2JSZWdpc3RyeUltcGwgewpAQCAtNjIsOCArNjIsOCBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHJlZ2lzdGVyRmlsZUJsb2JVUkwoY29uc3QgVVJMJiwgUmVmPEJsb2JEYXRhRmls
ZVJlZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7CiAgICAgdm9pZCByZWdp
c3RlckJsb2JVUkwoY29uc3QgVVJMJiwgVmVjdG9yPEJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlKTsKLSAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25z
dCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKTsKLSAgICB2b2lk
IHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYsIGNvbnN0IFVS
TCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYpOworICAgIHZvaWQg
cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBQb2xp
Y3lDb250YWluZXImKTsKKyAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFj
a2VkKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVm
ZXJlbmNlPiYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBjb25zdCBQb2xpY3lDb250YWlu
ZXImKTsKICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYsIGNvbnN0
IFVSTCYgc3JjVVJMLCBsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQsIGNvbnN0IFN0cmlu
ZyYgY29udGVudFR5cGUpOwogICAgIHZvaWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291
cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291
cmNlSGFuZGxlLmNwcAppbmRleCAzMGM4MTY1NDQ5YzQxM2JmYjY0MGE2ZjA3YzFmODAwOWZmZDcz
Mjg2Li4zMTcwYmFhODA4MzE3MTc1MTFkNTRjYmQ4MGEyZTRhNDNkMmNjNmMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUu
Y3BwCkBAIC0zNCw3ICszNCw2IEBACiAKICNpbmNsdWRlICJBc3luY0ZpbGVTdHJlYW0uaCIKICNp
bmNsdWRlICJCbG9iRGF0YS5oIgotI2luY2x1ZGUgIkNyb3NzT3JpZ2luT3BlbmVyUG9saWN5Lmgi
CiAjaW5jbHVkZSAiRmlsZVN0cmVhbS5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJOYW1lcy5oIgog
I2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCkBAIC01NzcsNyArNTc2LDggQEAgdm9pZCBCbG9iUmVz
b3VyY2VIYW5kbGU6Om5vdGlmeVJlc3BvbnNlT25TdWNjZXNzKCkKIAogICAgIHJlc3BvbnNlLnNl
dEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUsIG1fYmxvYkRhdGEt
PmNvbnRlbnRUeXBlKCkpOwogICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVh
ZGVyTmFtZTo6Q29udGVudExlbmd0aCwgU3RyaW5nOjpudW1iZXIobV90b3RhbFJlbWFpbmluZ1Np
emUpKTsKLSAgICBhZGRDcm9zc09yaWdpbk9wZW5lclBvbGljeUhlYWRlcnMocmVzcG9uc2UsIG1f
YmxvYkRhdGEtPmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCkpOworICAgIGFkZENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5SGVhZGVycyhyZXNwb25zZSwgbV9ibG9iRGF0YS0+cG9saWN5Q29udGFpbmVy
KCkuY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kpOworICAgIGFkZENyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3lIZWFkZXJzKHJlc3BvbnNlLCBtX2Jsb2JEYXRhLT5wb2xpY3lDb250YWluZXIoKS5jcm9z
c09yaWdpbkVtYmVkZGVyUG9saWN5KTsKIAogICAgIGlmIChpc1JhbmdlUmVxdWVzdCkKICAgICAg
ICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50UmFu
Z2UsIFBhcnNlZENvbnRlbnRSYW5nZShtX3JhbmdlT2Zmc2V0LCBtX3JhbmdlRW5kLCBtX3RvdGFs
U2l6ZSkuaGVhZGVyVmFsdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IGFj
NzdlNDFhNDcyNmI5M2Y2MTFiZDM0MmUyMGU0YTQ0YTU5ZDQzNzAuLmQ5NjJhOThhZjU0Njc1NDRm
YjQwODdjNDgxYWEyMmVhN2VhNWY2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBA
IC04MjgsMTMgKzgyOCwxMyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpy
ZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIFZlY3RvcjxCbG9iUAogICAgIHNlc3Npb24t
PmJsb2JSZWdpc3RyeSgpLnJlZ2lzdGVyQmxvYlVSTCh1cmwsIFdURk1vdmUoYmxvYlBhcnRzKSwg
Y29udGVudFR5cGUpOwogfQogCi12b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpy
ZWdpc3RlckJsb2JVUkxGcm9tVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwg
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmJiBjb29wKQordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChjb25zdCBVUkwmIHVybCwgY29uc3Qg
VVJMJiBzcmNVUkwsIFBvbGljeUNvbnRhaW5lciYmIHBvbGljeUNvbnRhaW5lcikKIHsKICAgICBh
dXRvKiBzZXNzaW9uID0gbmV0d29ya1Nlc3Npb24oKTsKICAgICBpZiAoIXNlc3Npb24pCiAgICAg
ICAgIHJldHVybjsKIAotICAgIHNlc3Npb24tPmJsb2JSZWdpc3RyeSgpLnJlZ2lzdGVyQmxvYlVS
TCh1cmwsIHNyY1VSTCwgV1RGTW92ZShjb29wKSk7CisgICAgc2Vzc2lvbi0+YmxvYlJlZ2lzdHJ5
KCkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBXVEZNb3ZlKHBvbGljeUNvbnRhaW5lcikp
OwogfQogCiB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWdpc3RlckJsb2JV
UkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkws
IGNvbnN0IFN0cmluZyYgZmlsZUJhY2tlZFBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggNmEwNTk0Y2UxNTYxOGFiMzI3ZTA2ZWExZjZj
YWE0YjhhZGNjNmNkMi4uNWUwNzA5MWUzNzM2ZGUzNTIxOTJjZmU3ODY3OWNiNjIyYjIzZGYyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtNjYsNyArNjYsNyBAQCBjbGFzcyBSZXNvdXJj
ZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogZW51bSBjbGFzcyBTdG9yYWdlQWNjZXNz
U2NvcGUgOiBib29sOwogZW51bSBjbGFzcyBTaG91bGRBc2tJVFAgOiBib29sOwotc3RydWN0IENy
b3NzT3JpZ2luT3BlbmVyUG9saWN5Oworc3RydWN0IFBvbGljeUNvbnRhaW5lcjsKIHN0cnVjdCBS
ZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDsKIHN0cnVjdCBTYW1lU2l0ZUluZm87CiAKQEAgLTIz
MCw3ICsyMzAsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudFBh
dGgsIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBl
KTsKICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBWZWN0b3I8V2ViQ29yZTo6
QmxvYlBhcnQ+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwotICAgIHZvaWQgcmVnaXN0
ZXJCbG9iVVJMRnJvbVVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgV2ViQ29yZTo6
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmJik7CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkxGcm9t
VVJMKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBXZWJDb3JlOjpQb2xpY3lDb250YWlu
ZXImJik7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25z
dCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgU3RyaW5nJiBmaWxlQmFja2VkUGF0aCwg
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxGb3JT
bGljZShjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgaW50NjRfdCBzdGFydCwgaW50NjRf
dCBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwogICAgIHZvaWQgYmxvYlNpemUoY29u
c3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCh1aW50NjRfdCk+JiYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZmE5MGZmNGE2ZDg5MzU5OGVl
MGFkMDkxMzM1MTBlZTVlYTkyZTdhNy4uYmU5MjQ0ZTg2ZmNkZTM1Yzk4YzYwYzcwNGNiYWVmMjQw
MmZkMGQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBA
IC01MCw3ICs1MCw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
IExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIFJlZ2lzdGVyRmlsZUJsb2JVUkwoVVJMIHVybCwgU3Ry
aW5nIHBhdGgsIFN0cmluZyByZXBsYWNlbWVudFBhdGgsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlIGV4dGVuc2lvbkhhbmRsZSwgU3RyaW5nIGNvbnRlbnRUeXBlKQogICAgIFJlZ2lz
dGVyQmxvYlVSTChVUkwgdXJsLCBWZWN0b3I8V2ViQ29yZTo6QmxvYlBhcnQ+IGJsb2JQYXJ0cywg
U3RyaW5nIGNvbnRlbnRUeXBlKQotICAgIFJlZ2lzdGVyQmxvYlVSTEZyb21VUkwoVVJMIHVybCwg
VVJMIHNyY1VSTCwgc3RydWN0IFdlYkNvcmU6OkNyb3NzT3JpZ2luT3BlbmVyUG9saWN5IGNvb3Ap
CisgICAgUmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChVUkwgdXJsLCBVUkwgc3JjVVJMLCBzdHJ1Y3Qg
V2ViQ29yZTo6UG9saWN5Q29udGFpbmVyIHBvbGljeUNvbnRhaW5lcikKICAgICBSZWdpc3RlckJs
b2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChVUkwgdXJsLCBVUkwgc3JjVVJMLCBTdHJpbmcgZmls
ZUJhY2tlZFBhdGgsIFN0cmluZyBjb250ZW50VHlwZSkKICAgICBSZWdpc3RlckJsb2JVUkxGb3JT
bGljZShVUkwgdXJsLCBVUkwgc3JjVVJMLCBpbnQ2NF90IHN0YXJ0LCBpbnQ2NF90IGVuZCwgU3Ry
aW5nIGNvbnRlbnRUeXBlKQogICAgIFVucmVnaXN0ZXJCbG9iVVJMKFVSTCB1cmwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFza0Jsb2IuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmNwcApp
bmRleCA0MDM2ZmM5NTExZDE3YzIyOWJiYjUyYzlkMDFiMTk2NDUwZTBlOTc1Li5kMzNkODRhYWJl
ZTQ2ZWE2MzA2NzlhOWMzMDk0ZGI1YTczNTNjNjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFza0Jsb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrQmxvYi5jcHAKQEAgLTQxLDYgKzQxLDcg
QEAKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0FzeW5jRmlsZVN0
cmVhbS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQmxvYlJlZ2lzdHJ5SW1wbC5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBQYXJzZXJz
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYXJzZWRDb250ZW50UmFuZ2UuaD4KQEAgLTI2NSw3ICsy
NjYsOCBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0Jsb2I6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3Bv
bnNlKEVycm9yIGVycm9yQ29kZSkKIAogICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmll
bGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlLCBtX2Jsb2JEYXRhLT5jb250ZW50VHlwZSgp
KTsKICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpD
b250ZW50TGVuZ3RoLCBTdHJpbmc6Om51bWJlcihtX3RvdGFsUmVtYWluaW5nU2l6ZSkpOwotICAg
ICAgICBhZGRDcm9zc09yaWdpbk9wZW5lclBvbGljeUhlYWRlcnMocmVzcG9uc2UsIG1fYmxvYkRh
dGEtPmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCkpOworICAgICAgICBhZGRDcm9zc09yaWdpbk9w
ZW5lclBvbGljeUhlYWRlcnMocmVzcG9uc2UsIG1fYmxvYkRhdGEtPnBvbGljeUNvbnRhaW5lcigp
LmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KTsKKyAgICAgICAgYWRkQ3Jvc3NPcmlnaW5FbWJlZGRl
clBvbGljeUhlYWRlcnMocmVzcG9uc2UsIG1fYmxvYkRhdGEtPnBvbGljeUNvbnRhaW5lcigpLmNy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kpOwogCiAgICAgICAgIGlmIChpc1JhbmdlUmVxdWVzdCkK
ICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
Q29udGVudFJhbmdlLCBQYXJzZWRDb250ZW50UmFuZ2UobV9yYW5nZU9mZnNldCwgbV9yYW5nZUVu
ZCwgbV90b3RhbFNpemUpLmhlYWRlclZhbHVlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAppbmRleCAyNTkwN2ZmYzBhNDllMjI2NzZjMmUxOTM2YjAyMWJmM2Y5MjNiNTBiLi5k
ODE1OTE2ODM3ODI3MmM0ODhkMDgyN2UxZTk5YjdmMGViNGViZDM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtNTksNyArNTksNyBAQCBCbG9iUmVnaXN0cnkqIE5ldHdv
cmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVCbG9iUmVnaXN0cnkoKQogICAgIGNs
YXNzIEVtcHR5QmxvYlJlZ2lzdHJ5IDogcHVibGljIFdlYkNvcmU6OkJsb2JSZWdpc3RyeSB7CiAg
ICAgICAgIHZvaWQgcmVnaXN0ZXJGaWxlQmxvYlVSTChjb25zdCBVUkwmLCBSZWY8QmxvYkRhdGFG
aWxlUmVmZXJlbmNlPiYmLCBjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVu
dFR5cGUpIGZpbmFsIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICAgICAgdm9pZCByZWdp
c3RlckJsb2JVUkwoY29uc3QgVVJMJiwgVmVjdG9yPEJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlKSBmaW5hbCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0gICAgICAgIHZv
aWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBX
ZWJDb3JlOjpDcm9zc09yaWdpbk9wZW5lclBvbGljeSYpIGZpbmFsIHsgQVNTRVJUX05PVF9SRUFD
SEVEKCk7IH0KKyAgICAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgY29uc3Qg
VVJMJiBzcmNVUkwsIGNvbnN0IFBvbGljeUNvbnRhaW5lciYpIGZpbmFsIHsgQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0KICAgICAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJh
Y2tlZChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJl
ZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQogICAgICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0
IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQs
IGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IH0KICAgICAgICAgdm9pZCB1bnJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmKSBmaW5hbCB7IEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5jcHAKaW5kZXggNGZlNDVmZjEwOTQ4ODMwZjg3
NDhhZDE4ZDc2MDgxMzAzOTNhZTk0OC4uZmE4ZGI4ZGE1YTRiMGU1Nzg1ZGQ1YmE0N2ZlMTNlZWY4
MGQ2NWViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0ZpbGVBUEkvQmxv
YlJlZ2lzdHJ5UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GaWxlQVBJ
L0Jsb2JSZWdpc3RyeVByb3h5LmNwcApAQCAtNTYsOSArNTYsOSBAQCB2b2lkIEJsb2JSZWdpc3Ry
eVByb3h5OjpyZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIFZlY3RvcjxCbG9iUGFydD4m
JiBibG9iUAogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6UmVnaXN0ZXJCbG9iVVJMKHVybCwgYmxvYlBhcnRzLCBjb250ZW50VHlw
ZSksIDApOwogfQogCi12b2lkIEJsb2JSZWdpc3RyeVByb3h5OjpyZWdpc3RlckJsb2JVUkwoY29u
c3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBv
bGljeSYgY29vcCkKK3ZvaWQgQmxvYlJlZ2lzdHJ5UHJveHk6OnJlZ2lzdGVyQmxvYlVSTChjb25z
dCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFBvbGljeUNvbnRhaW5lciYgcG9s
aWN5Q29udGFpbmVyKQogewotICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVnaXN0ZXJCbG9iVVJMRnJvbVVSTCB7IHVybCwgc3Jj
VVJMLCBjb29wIH0sIDApOworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVnaXN0ZXJCbG9iVVJMRnJvbVVSTCB7IHVybCwgc3Jj
VVJMLCBwb2xpY3lDb250YWluZXIgfSwgMCk7CiB9CiAKIHZvaWQgQmxvYlJlZ2lzdHJ5UHJveHk6
OnJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBVUkwmIHNyY1VSTCwgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiBm
aWxlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmgKaW5kZXggMGIxYzE3OGE4MzBj
YzBhMmIwMzljNGExNGFhNDIzMDJkY2Q3MzhjNi4uZjA0OWQ2OTlkZDcwZDk3MDQ1MGEzNDBkNDIw
ZmI2MWZkNWY5YTQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0ZpbGVB
UEkvQmxvYlJlZ2lzdHJ5UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRmls
ZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5oCkBAIC0zMyw3ICszMyw3IEBAIGNsYXNzIEJsb2JSZWdp
c3RyeVByb3h5IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkJsb2JSZWdpc3RyeSB7CiBwdWJsaWM6
CiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYsIFJlZjxXZWJDb3JlOjpC
bG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5n
JiBjb250ZW50VHlwZSkgZmluYWw7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJM
JiwgVmVjdG9yPFdlYkNvcmU6OkJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBl
KSBmaW5hbDsKLSAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwm
IHNyY1VSTCwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKSBmaW5hbDsK
KyAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwg
Y29uc3QgV2ViQ29yZTo6UG9saWN5Q29udGFpbmVyJikgZmluYWw7CiAgICAgdm9pZCByZWdpc3Rl
ckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VS
TCwgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5n
JiBjb250ZW50VHlwZSkgZmluYWw7CiAgICAgdm9pZCB1bnJlZ2lzdGVyQmxvYlVSTChjb25zdCBV
UkwmKSBmaW5hbDsKICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYs
IGNvbnN0IFVSTCYgc3JjVVJMLCBsb25nIGxvbmcgc3RhcnQsIGxvbmcgbG9uZyBlbmQsIGNvbnN0
IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1t
CmluZGV4IGYwZmJhM2VkODE1Yjc2NmI4YWNlOTlmNWU2OGYzYzM4YTg4NjM5ZDIuLjM4N2U0MjZm
ZDhjNjAwZDljMjczMjRiYmM5ZjI3ZjhkZjU3OGEyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMubW0KQEAgLTg1LDcgKzg1LDcgQEAgY2xhc3MgV2ViQmxvYlJlZ2lzdHJ5IGZpbmFsIDog
cHVibGljIEJsb2JSZWdpc3RyeSB7CiBwcml2YXRlOgogICAgIHZvaWQgcmVnaXN0ZXJGaWxlQmxv
YlVSTChjb25zdCBVUkwmIHVybCwgUmVmPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiByZWZlcmVu
Y2UsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9i
bG9iUmVnaXN0cnkucmVnaXN0ZXJGaWxlQmxvYlVSTCh1cmwsIFdURk1vdmUocmVmZXJlbmNlKSwg
Y29udGVudFR5cGUpOyB9CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmws
IFZlY3RvcjxCbG9iUGFydD4mJiBwYXJ0cywgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmlu
YWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBXVEZNb3ZlKHBhcnRzKSwg
Y29udGVudFR5cGUpOyB9Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmws
IGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCkg
ZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkwsIGNvb3Ap
OyB9CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYg
c3JjVVJMLCBjb25zdCBQb2xpY3lDb250YWluZXImIHBvbGljeUNvbnRhaW5lcikgZmluYWwgeyBt
X2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkwsIHBvbGljeUNvbnRhaW5l
cik7IH0KICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5j
ZT4mJiByZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9ibG9i
UmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQodXJsLCBzcmNVUkws
IFdURk1vdmUocmVmZXJlbmNlKSwgY29udGVudFR5cGUsIHsgfSk7IH0KICAgICB2b2lkIHJlZ2lz
dGVyQmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9u
ZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBm
aW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKHVybCwgc3JjVVJM
LCBzdGFydCwgZW5kLCBjb250ZW50VHlwZSk7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJCbG9iVVJM
KGNvbnN0IFVSTCYgdXJsKSBmaW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnVucmVnaXN0ZXJCbG9iVVJM
KHVybCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDM4YjY4Mzk0MGM4
ZGY4ZmJmMTJlNGQ3NDU5ZjQwZmE0NzkwN2U2NzEuLjA1NDUwNjU4NjM3M2YwOTA2YzNlOTNlNGIz
NDE5Mzk1ZjZiYzg4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtODEs
NyArODEsNyBAQCBjbGFzcyBXZWJCbG9iUmVnaXN0cnkgZmluYWwgOiBwdWJsaWMgQmxvYlJlZ2lz
dHJ5IHsKIHByaXZhdGU6CiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYg
dXJsLCBSZWY8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmIHJlZmVyZW5jZSwgY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdp
c3RlckZpbGVCbG9iVVJMKHVybCwgV1RGTW92ZShyZWZlcmVuY2UpLCBjb250ZW50VHlwZSk7IH0K
ICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwgVmVjdG9yPEJsb2JQYXJ0
PiYmIHBhcnRzLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IG1fYmxvYlJlZ2lz
dHJ5LnJlZ2lzdGVyQmxvYlVSTCh1cmwsIFdURk1vdmUocGFydHMpLCBjb250ZW50VHlwZSk7IH0K
LSAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNV
UkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBjb29wKSBmaW5hbCB7IG1fYmxvYlJl
Z2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgY29vcCk7IH0KKyAgICB2b2lkIHJl
Z2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFBv
bGljeUNvbnRhaW5lciYgcG9saWN5Q29udGFpbmVyKSBmaW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnJl
Z2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgcG9saWN5Q29udGFpbmVyKTsgfQogICAgIHZvaWQg
cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmIHJlZmVyZW5jZSwg
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3Rl
ckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwgV1RGTW92ZShyZWZlcmVu
Y2UpLCBjb250ZW50VHlwZSwgeyB9KTsgfQogICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMRm9yU2xp
Y2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBsb25nIGxvbmcgc3RhcnQsIGxv
bmcgbG9uZyBlbmQsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9ibG9iUmVn
aXN0cnkucmVnaXN0ZXJCbG9iVVJMRm9yU2xpY2UodXJsLCBzcmNVUkwsIHN0YXJ0LCBlbmQsIGNv
bnRlbnRUeXBlKTsgfQogICAgIHZvaWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwp
IGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkudW5yZWdpc3RlckJsb2JVUkwodXJsKTsgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDQ3ZTc4NzhhYzc4OGNhMDk3MmFjMWE4NTgzY2NhYTJlNTVmMDliNWUuLjcwYjA3ZjM3ZjI3YmFj
MjE4MjJkYjVmMjU4Y2RhODlhMzM1NDQ0YWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
OC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBDcm9z
cy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IHN1cHBvcnQgZm9yIEJsb2IgVVJMcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MDQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBl
Y3RhdGlvbnMgdG8gdW5za2lwIHRlc3RzIHRoYXQgYXJlIG5vdyBwYXNzaW5nLgorCisgICAgICAg
ICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOC0xMyAgQXl1bWkgS29qaW1hICA8YXl1bWlf
a29qaW1hQGFwcGxlLmNvbT4KIAogICAgICAgICBbIFdpbiBFV1MgXSBodHRwL3Rlc3RzL21pc2Mv
d2VidGltaW5nLXNsb3ctbG9hZC5weSBpcyBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggYmI4NjcwMGJiODk2N2FmYzBiY2YyYWViMTJjYTdjY2YxY2EyYWI5YS4uOWQ5
MjdmMTI2NWEzNzNjYmZmNWQxNjZlMjljMWQxNjgyZmQ2NDc2MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDgtMTMgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBv
bGljeSBzdXBwb3J0IGZvciBCbG9iIFVSTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyOTA0MQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hy
aXN0ZW5zZW4uCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdHMgbm93IHRoYXQgbW9yZSBj
aGVja3MgYXJlIHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Jsb2IuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xp
Y3kvY3Jvc3Mtb3JpZ2luLWlzb2xhdGVkLXBlcm1pc3Npb24uaHR0cHMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9s
aWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMTMgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI4MTAwOS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQzZTMyODNm
ZGE0ZmU5NWRlM2RhY2YyMWRlZWI3NDVhMGExM2E1NDMuLmU0ZjczNWVlZDlkYTgzZjRiNDA5YmY0
MDNlN2RkM2M1ZWFhZTBkZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDAxLDYgKzQwMSw3IEBA
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9oaXN0b3J5L3Ro
ZS1sb2NhdGlvbi1pbnRlcmZhY2UvbG9jCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvY2F0aW9uLXBy
b3RvY29sLXNldHRlci1ub24tYnJva2VuLXdlaXJkLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5T
dGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29y
aWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy5odG1sIFsgRHVt
cEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9icm93c2Vycy9zYW5kYm94aW5nL3NhbmRib3gtZGlzYWxsb3ctcG9wdXBzLmh0bWwgWyBE
dW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sIFsgRHVt
cEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9uYXZpZ2F0ZS10by1hYm91dGJsYW5rLmh0
dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L25hdmlnYXRlLXRv
cC10by1hYm91dGJsYW5rLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWUtbmV0d29yay1lcnJvci5zdWIuaHRtbCBb
IER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCkBAIC03MjIsMTEgKzcyMyw2IEBAIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5
L2NyZWRlbnRpYWxsZXNzCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvbm8taHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kv
bm8tc2VjdXJlLWNvbnRleHQuaHRtbCBbIFNraXAgXQogCi0jIENPRVAgdGVzdCB0aW1pbmcgb3V0
IGR1ZSB0byBsYWNrIG9mIEJsb2IgVVJMIHN1cHBvcnQuCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9ibG9iLmh0dHBzLmh0
bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5L2Nyb3NzLW9yaWdpbi1pc29sYXRlZC1wZXJtaXNzaW9uLmh0
dHBzLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb2VwLWJsb2ItcG9wdXAuaHR0cHMuaHRtbCBbIFNr
aXAgXQotCiAjIFRoaXMgdGVzdCBtYWtlcyB0aGUgYXNzdW1wdGlvbiB0aGF0IGdldF9ob3N0X2lu
Zm8oKS5SRU1PVEVfT1JJR0lOIGlzIHNhbWUtc2l0ZSwgd2hpY2ggaXMgbm90IHRydWUgZm9yCiAj
IG91ciBsYXlvdXQgdGVzdHMuIFdlIG1haW50YWluIG91ciBvd24gdmVyc2lvbiBvZiB0aGlzIHRl
c3QgaW4gaHR0cC93cHQuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXF1aXJlLWNvcnAuaHR0cHMuaHRtbCBbIFNraXAg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9ibG9iLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBm
ZDA0NTYxNmU0OGRiMTkyZDIyODNjYzg1ZGY1OGI5MjUxOTVkNGQ5Li4wYWY4YzQ3MzE0M2Y4ODYy
OTU2ZTYzMGRjZGU4NTkxMzk2M2E3OWFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGlj
eS9ibG9iLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9ibG9i
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNiArMSwxMCBAQAotQ09OU09MRSBNRVNTQUdFOiBS
ZWZ1c2VkIHRvIGRpc3BsYXkgJ2Jsb2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9jZTc1MmY3OC05
ZjU0LTQxOTItODg1Zi1kMzM4MjIyZGJmODknIGluIGEgZnJhbWUgYmVjYXVzZSBvZiBDcm9zcy1P
cmlnaW4tRW1iZWRkZXItUG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGRpc3Bs
YXkgJ2Jsb2I6aHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My8yZDYwOTQ4NC1mYzhjLTQxNjItYjQ1MS01
ZTVhNjBjYTZmYjAnIGluIGEgZnJhbWUgYmVjYXVzZSBvZiBDcm9zcy1PcmlnaW4tRW1iZWRkZXIt
UG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGRpc3BsYXkgJ2Jsb2I6aHR0cHM6
Ly8xMjcuMC4wLjE6OTQ0My9kNmM2OWIxYi1iOWUyLTQ2OGYtYWZkNS0zZWUwY2ExZjI2Y2QnIGlu
IGEgZnJhbWUgYmVjYXVzZSBvZiBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5LgotQ09OU09M
RSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGRpc3BsYXkgJ2Jsb2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9hMmY0OGY3NC1jMTE1LTQ1MzUtODk0NS04NDU1NDBkMDgyNjAnIGluIGEgZnJhbWUgYmVjYXVz
ZSBvZiBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBSZWZ1
c2VkIHRvIGRpc3BsYXkgJ2Jsb2I6aHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9lNDYzNTJkOC00ZjM5
LTQzNDgtYWRkYy1jZjNiZTRjMjcxZDUnIGluIGEgZnJhbWUgYmVjYXVzZSBvZiBDcm9zcy1Pcmln
aW4tRW1iZWRkZXItUG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGRpc3BsYXkg
J2Jsb2I6aHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9kNGI2OGM4Yi1lNzRlLTQ3YTUtYTA4ZC02MTJi
ZjBkNzA5ZDcnIGluIGEgZnJhbWUgYmVjYXVzZSBvZiBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9s
aWN5LgogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKK0hhcm5lc3Mg
RXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gMiBkdXBsaWNhdGUgdGVzdCBuYW1lczogIkNyb3NzLU9y
aWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vMTI3LjAuMC4x
Ojk0NDMgaW4gc3ViZnJhbWUgdmlhIHN1YmZyYW1lIiwgIkNyb3NzLU9yaWdpbi1FbWJlZGRlci1Q
b2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMgaW4gc3ViZnJh
bWUgdmlhIG5hdmlnYXRlIgogCi1USU1FT1VUIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kg
YW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaW4gc3ViZnJhbWUgdmlh
IHN1YmZyYW1lIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Q
b2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaW4gc3ViZnJh
bWUgdmlhIG5hdmlnYXRlIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIENyb3NzLU9yaWdpbi1FbWJl
ZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMgaW4g
c3ViZnJhbWUgdmlhIHN1YmZyYW1lIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIENyb3NzLU9yaWdp
bi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMgaW4gc3ViZnJhbWUgdmlhIG5hdmlnYXRlIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIENyb3Nz
LU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMgaW4gc3ViZnJhbWUgdmlhIHN1YmZyYW1lIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VU
IENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8v
MTI3LjAuMC4xOjk0NDMgaW4gc3ViZnJhbWUgdmlhIG5hdmlnYXRlIFRlc3QgdGltZWQgb3V0CitQ
QVNTIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMgaW4gc3ViZnJhbWUgdmlhIHN1YmZyYW1lCitQQVNTIENyb3NzLU9y
aWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMgaW4gc3ViZnJhbWUgdmlhIG5hdmlnYXRlCitQQVNTIENyb3NzLU9yaWdpbi1FbWJlZGRl
ci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMgaW4gc3Vi
ZnJhbWUgdmlhIHN1YmZyYW1lCitQQVNTIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5k
IGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMgaW4gc3ViZnJhbWUgdmlhIG5h
dmlnYXRlCitQQVNTIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBm
cm9tIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMgaW4gc3ViZnJhbWUgdmlhIHN1YmZyYW1lCitQQVNT
IENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgYW5kIGJsb2I6IFVSTCBmcm9tIGh0dHBzOi8v
MTI3LjAuMC4xOjk0NDMgaW4gc3ViZnJhbWUgdmlhIG5hdmlnYXRlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmln
aW4tZW1iZWRkZXItcG9saWN5L2Nyb3NzLW9yaWdpbi1pc29sYXRlZC1wZXJtaXNzaW9uLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Nyb3NzLW9yaWdpbi1pc29sYXRl
ZC1wZXJtaXNzaW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBlNzAwNTkwM2FjNzk5NDgyMmZm
NzcyYjQ0NmNjNzI4ZDg1NjE1ODUyLi4zYjc3NjYxMzM4OTQwN2VkYzQzODJkOGI4MmU2ZjdiMGQ5
ZjJlNzJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNv
bGF0ZWQtcGVybWlzc2lvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvY3Jvc3Mtb3JpZ2luLWlzb2xhdGVkLXBlcm1pc3Npb24uaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0xLDE4ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBsb2FkICdibG9i
Omh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvMDYyNjExNmUtMzQxNC00ZjM1LWJkMWUtMDA3ZjEzMTJi
NzllJyB3b3JrZXIgYmVjYXVzZSBvZiBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5LgotQ09O
U09MRSBNRVNTQUdFOiBXb3JrZXIgbG9hZCB3YXMgYmxvY2tlZCBieSBDcm9zcy1PcmlnaW4tRW1i
ZWRkZXItUG9saWN5Ci1DT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGJsb2I6aHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My8wNjI2MTE2ZS0zNDE0LTRmMzUtYmQxZS0wMDdmMTMxMmI3OWUgZHVlIHRv
IGFjY2VzcyBjb250cm9sIGNoZWNrcy4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBsb2Fk
ICdibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvYTk5ZWIzNDEtNDY0MC00MDNhLWE4ZjQtYzJm
Y2YyOGVkZTIwJyB3b3JrZXIgYmVjYXVzZSBvZiBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5
LgotQ09OU09MRSBNRVNTQUdFOiBXb3JrZXIgbG9hZCB3YXMgYmxvY2tlZCBieSBDcm9zcy1Pcmln
aW4tRW1iZWRkZXItUG9saWN5Ci1DT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGJsb2I6aHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0My9hOTllYjM0MS00NjQwLTQwM2EtYThmNC1jMmZjZjI4ZWRlMjAg
ZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0
byBsb2FkICdibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvOTI5ZDYzM2UtY2U0OC00M2ZmLWI4
OWQtZTRlMjBmY2E2NzUzJyB3b3JrZXIgYmVjYXVzZSBvZiBDcm9zcy1PcmlnaW4tRW1iZWRkZXIt
UG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBXb3JrZXIgbG9hZCB3YXMgYmxvY2tlZCBieSBDcm9z
cy1PcmlnaW4tRW1iZWRkZXItUG9saWN5Ci1DT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGJs
b2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My85MjlkNjMzZS1jZTQ4LTQzZmYtYjg5ZC1lNGUyMGZj
YTY3NTMgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KLUNPTlNPTEUgTUVTU0FHRTogUmVm
dXNlZCB0byBsb2FkICdibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvMGM4YjY5MTQtNThkYi00
MTdjLTllMGMtZTdlY2FjYzRhMTZhJyB3b3JrZXIgYmVjYXVzZSBvZiBDcm9zcy1PcmlnaW4tRW1i
ZWRkZXItUG9saWN5LgotQ09OU09MRSBNRVNTQUdFOiBXb3JrZXIgbG9hZCB3YXMgYmxvY2tlZCBi
eSBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5Ci1DT05TT0xFIE1FU1NBR0U6IENhbm5vdCBs
b2FkIGJsb2I6aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8wYzhiNjkxNC01OGRiLTQxN2MtOWUwYy1l
N2VjYWNjNGExNmEgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KLQotCi1IYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKIAogRkFJTCBmcmFtZTogb3JpZ2luID0gaHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0MywgdmFsdWUgPSB1bmRlZmluZWQgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCiBGQUlMIGZyYW1lOiBvcmlnaW4gPSBodHRwczovL2xv
Y2FsaG9zdDo5NDQzLCB2YWx1ZSA9ICogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQg
Z290IGZhbHNlCkBAIC0zMCwxMCArMTUsMTAgQEAgUEFTUyBkZWRpY2F0ZWQgd29ya2VyOiBzY2hl
bWUgPSBkYXRhLCB2YWx1ZSA9IHVuZGVmaW5lZAogUEFTUyBkZWRpY2F0ZWQgd29ya2VyOiBzY2hl
bWUgPSBkYXRhLCB2YWx1ZSA9ICoKIFBBU1MgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gZGF0
YSwgdmFsdWUgPSBzZWxmCiBQQVNTIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGRhdGEsIHZh
bHVlID0gKFwpCi1USU1FT1VUIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVl
ID0gdW5kZWZpbmVkIFRlc3QgdGltZWQgb3V0Ci1USU1FT1VUIGRlZGljYXRlZCB3b3JrZXI6IHNj
aGVtZSA9IGJsb2IsIHZhbHVlID0gKiBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBkZWRpY2F0ZWQg
d29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9IHNlbGYgVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gYmxvYiwgdmFsdWUgPSAoXCkgVGVzdCB0aW1l
ZCBvdXQKK0ZBSUwgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gYmxvYiwgdmFsdWUgPSB1bmRl
ZmluZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitGQUlMIGRl
ZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVlID0gKiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK0ZBSUwgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1l
ID0gYmxvYiwgdmFsdWUgPSBzZWxmIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdv
dCBmYWxzZQorUEFTUyBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9IChc
KQogRkFJTCBzaGFyZWQgd29ya2VyOiB3aXRoQ29vcENvZXAgPSBmYWxzZSBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKIEZBSUwgc2hhcmVkIHdvcmtlcjogd2l0aENvb3BDb2VwID0g
dHJ1ZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKIEZBSUwgc2VydmljZSB3b3Jr
ZXI6IHdpdGhDb29wQ29lcCA9IGZhbHNlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChib29sZWFu
KSBmYWxzZSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1v
cGVuZXItcG9saWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9w
ZW5lci1wb2xpY3kvY29lcC1ibG9iLXBvcHVwLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0MDZm
ZTY5MTVjZWVkZmNiYWJiYTdiOGE3OTY5YmJmN2QzMTNhZjYyLi43NmZiZDZlMWY3YmM3ODgzOWYz
YWM0N2UyYjk1ZmY0NzU0MTQ2Njc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29l
cC1ibG9iLXBvcHVwLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kv
Y29lcC1ibG9iLXBvcHVwLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDExIEBACitDT05T
T0xFIE1FU1NBR0U6IENhbmNlbGxlZCBsb2FkIHRvIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29t
bW9uL2JsYW5rLmh0bWwgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgcmVzb3VyY2UncyBDcm9zcy1P
cmlnaW4tUmVzb3VyY2UtUG9saWN5IHJlc3BvbnNlIGhlYWRlci4KK0NPTlNPTEUgTUVTU0FHRTog
RmV0Y2ggQVBJIGNhbm5vdCBsb2FkIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2JsYW5r
Lmh0bWwgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogQ2Fu
Y2VsbGVkIGxvYWQgdG8gaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBi
ZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSByZXNvdXJjZSdzIENyb3NzLU9yaWdpbi1SZXNvdXJjZS1Q
b2xpY3kgcmVzcG9uc2UgaGVhZGVyLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fubm90
IGxvYWQgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBkdWUgdG8gYWNj
ZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBDYW5jZWxsZWQgbG9hZCB0byBo
dHRwczovLzEyNy4wLjAuMTo5NDQzL2NvbW1vbi9ibGFuay5odG1sIGJlY2F1c2UgaXQgdmlvbGF0
ZXMgdGhlIHJlc291cmNlJ3MgQ3Jvc3MtT3JpZ2luLVJlc291cmNlLVBvbGljeSByZXNwb25zZSBo
ZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovLzEy
Ny4wLjAuMTo5NDQzL2NvbW1vbi9ibGFuay5odG1sIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVj
a3MuCiAKLUZBSUwgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiB3aW5kb3cub3BlbigpIGFzc2Vy
dF90cnVlOiBDcm9zcy1vcmlnaW4gd2l0aG91dCBDT1JQIGRpZCBub3QgZmFpbCBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBDT09QK0NPRVAgYmxvYiBVUkwgcG9wdXA6IDxhPiBhc3NlcnRf
dHJ1ZTogQ3Jvc3Mtb3JpZ2luIHdpdGhvdXQgQ09SUCBkaWQgbm90IGZhaWwgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiA8YSByZWw9bm9vcGVu
ZXI+IGFzc2VydF90cnVlOiBDcm9zcy1vcmlnaW4gd2l0aG91dCBDT1JQIGRpZCBub3QgZmFpbCBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBDT09QK0NPRVAgYmxvYiBVUkwgcG9wdXA6IHdp
bmRvdy5vcGVuKCkKK1BBU1MgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVwOiA8YT4KK1BBU1MgQ09P
UCtDT0VQIGJsb2IgVVJMIHBvcHVwOiA8YSByZWw9bm9vcGVuZXI+CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2Zjg0NjMzNzVkZWRkNjJl
YWI5ZDA3MjkyMjYwYWIwM2VmMmQ3ZWE1Li45ODllN2RjZWRjMzY4YzgyZWYyYTM3ZjVjY2M1MzBh
NGMwZjYyMGUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCkBAIC0zNzMsNiArMzczLDcgQEAgaHR0cC93cHQvd2VicnRjL3RyYW5zZmVyLWRhdGFj
aGFubmVsLXNlcnZpY2Utd29ya2VyLmh0dHBzLmh0bWwgWyBTa2lwIF0KIAogIyBObyBDcm9zcy1P
cmlnaW4tRW1iZWRkZXItUG9saWN5IGluIFdLMS4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5IFsgU2tpcCBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kv
Y29lcC1ibG9iLXBvcHVwLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGh0dHAvd3B0L2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXF1aXJlLWNvcnAuaHR0cHMuaHRtbCBbIFNraXAgXQog
CiAjIFF1b3RhIGNoZWNrIG1pc3NpbmcgaW4gV0sxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDVjYjk5NDkzNDkxNDM4MTY3ZTY0ZTNiNmE0ZTM2NjRlZWFi
ODE5ZjMuLmMyNjg2NzU1NWNmZTM3NDg5NTkwNWVhYWQ4MTZjMGY1Zjg2MWI4NGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNzI3LDYgKzM3MjcsNyBA
QCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtsZXRzL3BhaW50LXdvcmtsZXQt
c2VydmljZS13b3JrZXItaW50ZXJjZXB0aQogCiAjIE5vIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Q
b2xpY3kgaW4gV0sxLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb2VwLWJsb2ItcG9wdXAu
aHR0cHMuaHRtbCBbIFNraXAgXQogaHR0cC93cHQvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L3JlcXVpcmUtY29ycC5odHRwcy5odG1sIFsgU2tpcCBdCiAKICMgTm8gaGVhZGVyIGZp
bHRlcmluZyBmb3IgV0sxCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435530</attachid>
            <date>2021-08-13 17:51:38 -0700</date>
            <delta_ts>2021-08-13 19:28:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229041-20210813175137.patch</filename>
            <type>text/plain</type>
            <size>64040</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY4NDAyYzQ5MDk2YWRm
NDkyYjM1NmM1N2IxZGEwMzNmOTc2ZjNlNC4uZjRkYjY1Y2VlZmQyYTlkYjJhMDM0NjUxMzU4MDE2
MzRhMDg0NWVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIxLTA4LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENyb3NzLU9yaWdpbi1F
bWJlZGRlci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBVUkxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwNDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIEFkZCBDcm9zcy1PcmlnaW4tRW1iZWRkZXIt
UG9saWN5IChDT0VQKSBzdXBwb3J0IGZvciBCbG9iIFVSTHMuIFdlIGRvIHRoZSBzYW1lIHRoaW5n
IGFzIGZvciBDT09QLAorICAgICAgICB3ZSBwYXNzIHRoZSBDT0VQIHBvbGljeSB3aGVuIHJlZ2lz
dGVyaW5nIHRoZSBCbG9iIFVSTCBhbmQgc3RvcmUgaXQgaW4gdGhlIEJsb2JEYXRhLiBXaGVuIHdl
IG5lZWQKKyAgICAgICAgdGhlIGNvbnN0cnVjdCBhIEJsb2IgcmVzb3VyY2UgcmVzcG9uc2UgYXMg
YSByZXN1bHQgb2YgYSBsb2FkLCB3ZSBhZGQgdGhlIHJpZ2h0IENPRVAgaGVhZGVycworICAgICAg
ICBiYXNlZCBvbiB0aGUgQmxvYkRhdGEncyBDT0VQIHBvbGljeS4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaExvYWRlcjo6c3Rh
cnRMb2FkaW5nQmxvYlVSTCk6CisgICAgICAgICogZmlsZWFwaS9CbG9iLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJsb2JVUkxSZWdpc3RyeTo6cmVnaXN0ZXJVUkwpOgorICAgICAgICAoV2ViQ29y
ZTo6QmxvYjo6QmxvYik6CisgICAgICAgICogZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZpbGVSZWFkZXJMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBm
aWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKToKKyAgICAgICAgKiBmaWxlYXBp
L1RocmVhZGFibGVCbG9iUmVnaXN0cnkuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNl
KToKKyAgICAgICAgKiBsb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjphZGRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5SGVhZGVycyk6CisgICAg
ICAgICogbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIGxvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGlj
eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjphZGRDcm9zc09yaWdpbk9wZW5lclBvbGljeUhlYWRl
cnMpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9CbG9iRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6QmxvYkRhdGE6OmNyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QmxvYkRhdGE6OnNldENy
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvQmxv
YlJlZ2lzdHJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxvYlVS
TCk6CisgICAgICAgIChXZWJDb3JlOjpCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3RlckJsb2JVUkxP
cHRpb25hbGx5RmlsZUJhY2tlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVn
aXN0cnlJbXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpub3RpZnlSZXNw
b25zZU9uU3VjY2Vzcyk6CisKIDIwMjEtMDgtMTMgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjI4MTAxMgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAyYjZkODY5Yjg0NTZlNWY5NGM2NGFmMTcwMzY3ZmQ2OTVkZDgxMWEzLi5lZWI4
OTUzNWM3Njc5YzM5NWZiNjA3NmMwNDk3ZTU1NTE3MDk3NjY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDIxLTA4LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBV
UkxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkw
NDEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJM
RnJvbVVSTCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpyZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQmxvYjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2Up
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmNyZWF0ZUJsb2JSZWdpc3RyeSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9GaWxlQVBJL0Js
b2JSZWdpc3RyeVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QmxvYlJlZ2lzdHJ5UHJveHk6
OnJlZ2lzdGVyQmxvYlVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdp
c3RyeVByb3h5Lmg6CisKIDIwMjEtMDgtMTMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvY29hXSBSZW1vdGVNZWRpYVBsYXllclByb3h5IGRvZXMgbm90IHJl
Y2VpdmUgYWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKSB3aGVuIHZpZGVvIGVsZW1l
bnQgc3dpdGNoZXMgc291cmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDlmMTQ3
N2FkZjNkYTBiMzVjMTdmZjc1NmJmMTk5ZmJmZDA3YjI2MjAuLjBlNjNmNWFkNzI0ZGU3NjhjMDZk
MGY5NjRiNGE5N2RjZTIyMzhjMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMS0wOC0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IHN1cHBvcnQgZm9yIEJs
b2IgVVJMcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI5MDQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKwogMjAyMS0wOC0x
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24o
cjI3MzE5NCkgRXhjZXB0aW9uIGJlaW5nIHRocm93biBpbiBbV2ViTWFpblRocmVhZEludm9rZXIg
Zm9yd2FyZEludm9jYXRpb25dIHNob3VsZCBiZSBhdXRvcmVsZWFzZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwppbmRleCA5MjU0MjA4MTUxNzgyMjc3ODE3ZmI1ZmUzZWY1MzllZTYzOTJhZDU4
Li4xZGI3NTBlOWVlN2Y0OWMzNDg1ODNjMWM2Nzg0YTA5ZjM1ODBmZWU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDgtMTMgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVy
LVBvbGljeSBzdXBwb3J0IGZvciBCbG9iIFVSTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTA0MQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXgg
Q2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwOgorCiAyMDIxLTA4LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5IHN1cHBvcnQgZm9yIEJs
b2IgVVJMcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYWY1NzkyNTZkZjA1NDgwMWE3ZTkyNTEwOTIz
MWI5YmNkNjljOWJkMC4uM2M3ZjRiOTJhNmNmMDNiM2VjYjJlYzcyNzY2Njk4NmYyMDQ0M2E3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCkBAIC04MDksNiArODA5LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogICAgIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRl
ci5oCiAgICAgbG9hZGVyL1BpbmdMb2FkZXIuaAogICAgIGxvYWRlci9Qb2xpY3lDaGVja2VyLmgK
KyAgICBsb2FkZXIvUG9saWN5Q29udGFpbmVyLmgKICAgICBsb2FkZXIvUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQuaAogICAgIGxvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAogICAgIGxvYWRlci9Qcm9n
cmVzc1RyYWNrZXJDbGllbnQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
TG9hZGVyLmNwcAppbmRleCBkNGU5YmNlNWNiYTZlM2E5NThkYWQ4ZTllYTc4MWJkZDMyMjlkYTgw
Li44NmY1MzQ3ZmQ5MTMzZGMwZWFiMzViZGVlYzM2ZTZiMzkwYjlmMmU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAtNjUsNyArNjUsNyBAQCB2
b2lkIEZldGNoTG9hZGVyOjpzdGFydExvYWRpbmdCbG9iVVJMKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IFVSTAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgVGhy
ZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnRleHQuc2VjdXJpdHlPcmln
aW4oKSwgY29udGV4dC5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpLCBtX3VybEZvclJlYWRpbmcs
IGJsb2JVUkwpOworICAgIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTChj
b250ZXh0LnNlY3VyaXR5T3JpZ2luKCksIGNvbnRleHQucG9saWN5Q29udGFpbmVyKCksIG1fdXJs
Rm9yUmVhZGluZywgYmxvYlVSTCk7CiAKICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChtX3Vy
bEZvclJlYWRpbmcpOwogICAgIHJlcXVlc3Quc2V0SW5pdGlhdG9ySWRlbnRpZmllcihjb250ZXh0
LnJlc291cmNlUmVxdWVzdElkZW50aWZpZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTU3NmNkYTdlMmFiOTE3ZWVhNjQ3
ZTk5ZTNmYjkzMDQwODU3Zjc0NC4uODJhMWVlZjZkNjYwOGQ4YTBjZjhlNDEzYTY1MTE3OTY2NmQz
NDMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTI3OSw2ICsxMjc5LDcgQEAKIAkJNDY1MzA3RDAxREI2RUU0ODAwRTQxMzdD
IC8qIEpTVUlFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzRTA0NUVGMURBQTEwNEYwMEIwRDhCOSAvKiBKU1VJRXZlbnRJbml0LmggKi87
IH07CiAJCTQ2NjE3MkVDMjNBMkFDMUYwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NjE3MkVCMjNB
MkFCRkEwMDNBQjMwOSAvKiBQb3N0TWVzc2FnZU9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjY1OERDOTFGQTI0Qjg3MDBGN0RENTQg
LyogU1dDb250ZXh0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDY3MjQxM0IxRkEyNEIxNDAwODhCRDZEIC8qIFNXQ29udGV4dE1hbmFnZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NjZD
MkRBRDI2QzczQUZDMDA2NTE5MzEgLyogUG9saWN5Q29udGFpbmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZDMkRBQjI2QzczQUZCMDA2NTE5MzEg
LyogUG9saWN5Q29udGFpbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDY2RUQ4RDMxRURFMDE0NDAwNUU0M0Y2IC8qIEpTRE9NUmVjdExpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NkVEOEQy
MUVERTAxMzUwMDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggKi87IH07CiAJCTQ2NzFFMDY2MUQ2
N0E1OTYwMEM2QjQ5NyAvKiBDYW52YXNQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjcxRTA2NDFENjdBNTdCMDBDNkI0OTcgLyogQ2FudmFzUGF0
aC5oICovOyB9OwogCQk0NjcyQUE5ODI2QjA5NDMzMDBFNkVDMzggLyogQ3Jvc3NPcmlnaW5FbWJl
ZGRlclBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDY3MkFBOTYyNkIwOTQyMTAwRTZFQzM4IC8qIENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ku
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODI4
MCw2ICs4MjgxLDcgQEAKIAkJNDY2MTcyRTkyM0EyQUJGQTAwM0FCMzA5IC8qIFBvc3RNZXNzYWdl
T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9zdE1lc3NhZ2VPcHRpb25zLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2MTcyRUIyM0EyQUJGQTAwM0FCMzA5
IC8qIFBvc3RNZXNzYWdlT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQb3N0TWVzc2FnZU9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2
NTM2RkEyNjRDOEREMTAwQUFEMUQ3IC8qIEpTQXVkaW9Ob2RlQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQXVkaW9Ob2RlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDY2QzJEQUIyNkM3M0FGQjAwNjUxOTMxIC8qIFBvbGljeUNvbnRhaW5lci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb2xpY3lDb250YWluZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2REM2QUIxRURFMDIxRDAwNzQ2MjI0IC8qIEpTRE9NUmVj
dExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01SZWN0
TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkVEOEQyMUVERTAxMzUw
MDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTRE9NUmVjdExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY3MUUw
NjMxRDY3QTU3QjAwQzZCNDk3IC8qIENhbnZhc1BhdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ2FudmFzUGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yNzM1OCw2ICsyNzM2MCw3IEBACiAJCQkJRDBGRjJBNUMxMUY4QzQ1QTAwN0U3NEUw
IC8qIFBpbmdMb2FkZXIuaCAqLywKIAkJCQk5NzA1OTk3NTEwN0Q5NzUyMDBBNTBBN0MgLyogUG9s
aWN5Q2hlY2tlci5jcHAgKi8sCiAJCQkJOTcwNTk5NzYxMDdEOTc1MjAwQTUwQTdDIC8qIFBvbGlj
eUNoZWNrZXIuaCAqLywKKwkJCQk0NjZDMkRBQjI2QzczQUZCMDA2NTE5MzEgLyogUG9saWN5Q29u
dGFpbmVyLmggKi8sCiAJCQkJNkIwQTA3RjEyMUZBNEI1QzAwRDU3MzkxIC8qIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50LmNwcCAqLywKIAkJCQk2QjBBMDdGMDIxRkE0QjVDMDBENTczOTEgLyogUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQuaCAqLywKIAkJCQkxQTJBNjgyMTBCNUJFREU3MDAwMkE0ODAg
LyogUHJvZ3Jlc3NUcmFja2VyLmNwcCAqLywKQEAgLTMzOTkwLDYgKzMzOTkzLDcgQEAKIAkJCQkz
RkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwNTk5N0ExMDdEOTc1MjAwQTUwQTdDIC8qIFBvbGlj
eUNoZWNrZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2NkMyREFEMjZDNzNBRkMwMDY1MTkzMSAv
KiBQb2xpY3lDb250YWluZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENDVBOTU3MTc1RDQxNEMw
MEMyMUVDOCAvKiBQb2x5Z29uU2hhcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNzRFMjBBMTBB
MUY0NEYwMEY5NUU2RiAvKiBQb3BTdGF0ZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNjY4
RTE4QjBBREQ5NjI0MDA0MTI4RTAgLyogUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCBlNTEyYmVl
NTEwYWIyMGRjNDJmODk1YzQxZTU0MTA5Y2M4MDczNmE1Li5iYWU5MTEyMmYzZDAyYWNhZjFmNzM2
OTliZDNiNjllY2ExNDkwNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwCkBAIC0zMzYsMTIgKzMzNiw2IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6c3RvcEFjdGl2ZURPTU9iamVjdHMoKQogICAgIH0pOwogfQogCi1jb25zdCBDcm9z
c09yaWdpbk9wZW5lclBvbGljeSYgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3koKSBjb25zdAotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxDcm9zc09y
aWdpbk9wZW5lclBvbGljeT4gY29vcDsKLSAgICByZXR1cm4gY29vcDsKLX0KLQogdm9pZCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpzdXNwZW5kQWN0aXZlRE9NT2JqZWN0SWZOZWVkZWQoQWN0aXZl
RE9NT2JqZWN0JiBhY3RpdmVET01PYmplY3QpCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZlRE9NT2Jq
ZWN0cy5jb250YWlucygmYWN0aXZlRE9NT2JqZWN0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCAyOTkzMzUwODMzODM3MTA5ZGUzMDlkNzM3ZWI4
MDNlMThlMzdkZTYxLi5kNGJiOGUxOWFlNzhmN2U4MWE2Y2I2MWZiNmU1NTIzYzEwNGM0ZGRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTc4LDgg
Kzc4LDYgQEAgY2xhc3MgU29ja2V0UHJvdmlkZXI7CiBlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5
IDogdWludDhfdDsKIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3Q7CiAKLXN0cnVjdCBD
cm9zc09yaWdpbk9wZW5lclBvbGljeTsKLQogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIGNs
YXNzIFNlcnZpY2VXb3JrZXI7CiBjbGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOwpAQCAtMTQ4
LDggKzE0Niw2IEBAIHB1YmxpYzoKICAgICBib29sIGFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5k
ZWQoKSBjb25zdCB7IHJldHVybiBtX2FjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQ7IH0KICAg
ICBib29sIGFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9hY3Rp
dmVET01PYmplY3RzQXJlU3RvcHBlZDsgfQogCi0gICAgdmlydHVhbCBjb25zdCBDcm9zc09yaWdp
bk9wZW5lclBvbGljeSYgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSBjb25zdDsKLQogICAgIEpT
Qzo6U2NyaXB0RXhlY3V0aW9uU3RhdHVzIGpzY1NjcmlwdEV4ZWN1dGlvblN0YXR1cygpIGNvbnN0
OwogCiAgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9ycyBv
ZiBBY3RpdmVET01PYmplY3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJp
dHlDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuY3BwCmlu
ZGV4IDlmOTIwZDRlZTlmZTdiMWMxNWVlNzllZDBmMDUwMmMyZGExMzFjOTMuLjQ4NGMzOTI2NWY1
NDYxM2Y4M2UzMGExNWZiMjA5YWY0NDFlNjc4NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TZWN1cml0eUNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0
eUNvbnRleHQuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJDb250ZW50U2VjdXJp
dHlQb2xpY3kuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCisjaW5jbHVkZSAiUG9s
aWN5Q29udGFpbmVyLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpblBvbGljeS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIu
aD4KQEAgLTE1OSw0ICsxNjAsMTggQEAgU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29udGV4dDo6cGFy
c2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5LCBTdHJpbmcmIGkKICAgICByZXR1
cm4gZmxhZ3M7CiB9CiAKK2NvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiBTZWN1cml0eUNv
bnRleHQ6OmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k+IGNvb3A7CisgICAgcmV0dXJuIGNv
b3A7Cit9CisKK1BvbGljeUNvbnRhaW5lciBTZWN1cml0eUNvbnRleHQ6OnBvbGljeUNvbnRhaW5l
cigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsKKyAgICAgICAgY3Jvc3NPcmlnaW5FbWJlZGRlclBv
bGljeSgpLAorICAgICAgICBjcm9zc09yaWdpbk9wZW5lclBvbGljeSgpCisgICAgfTsKK30KKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCmluZGV4IDA1MTkyMTRjNjdlZDZiYjI0
MzhhZGJiNzljZDNmYzlhNTQwNzk2NWYuLjBlZGE0Mjg0NDZkZWYwZWVjNzFhNzZkYzEwMTJiNWI3
N2QzNzBmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmgKQEAgLTM4LDYgKzM4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBT
ZWN1cml0eU9yaWdpblBvbGljeTsKIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeTsKK3N0cnVj
dCBDcm9zc09yaWdpbk9wZW5lclBvbGljeTsKK3N0cnVjdCBQb2xpY3lDb250YWluZXI7CiAKIGVu
dW0gU2FuZGJveEZsYWcgewogICAgIC8vIFNlZSBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNhdHRyLWlmcmFtZS1zYW5kYm94IGZvciBhIGxpc3Qgb2Yg
dGhlIHNhbmRib3ggZmxhZ3MuCkBAIC05MSw2ICs5MywxMCBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSgpIGNv
bnN0IHsgcmV0dXJuIG1fY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeTsgfQogICAgIHZvaWQgc2V0
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeShjb25zdCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
JiBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KSB7IG1fY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eSA9IGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k7IH0KIAorICAgIHZpcnR1YWwgY29uc3QgQ3Jv
c3NPcmlnaW5PcGVuZXJQb2xpY3kmIGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCkgY29uc3Q7CisK
KyAgICBQb2xpY3lDb250YWluZXIgcG9saWN5Q29udGFpbmVyKCkgY29uc3Q7CisKICAgICBXRUJD
T1JFX0VYUE9SVCBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4oKSBjb25zdDsKIAogICAg
IHN0YXRpYyBTYW5kYm94RmxhZ3MgcGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9s
aWN5LCBTdHJpbmcmIGludmFsaWRUb2tlbnNFcnJvck1lc3NhZ2UpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxv
Yi5jcHAKaW5kZXggMmI4ZDFhYWNjYjU1OWIwMTZkYzEwMjE3NzI3ZTE0Zjc2MjBkOTk4NS4uYjYz
YWE3YzJjZjY1NDUxOGFiMDkyNWUwNDhlNzBiNTQxN2QzYzMwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Js
b2IuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiQmxvYlVSTC5oIgogI2luY2x1ZGUg
IkZpbGUuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIlBv
bGljeUNvbnRhaW5lci5oIgogI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtLmgiCiAjaW5jbHVkZSAi
UmVhZGFibGVTdHJlYW1Tb3VyY2UuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCkBAIC02Miw3ICs2Myw3IEBAIHB1YmxpYzoKIHZvaWQgQmxvYlVSTFJlZ2lzdHJ5OjpyZWdp
c3RlclVSTChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBVUkwmIHB1Ymxp
Y1VSTCwgVVJMUmVnaXN0cmFibGUmIGJsb2IpCiB7CiAgICAgQVNTRVJUKCZibG9iLnJlZ2lzdHJ5
KCkgPT0gdGhpcyk7Ci0gICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJM
KGNvbnRleHQuc2VjdXJpdHlPcmlnaW4oKSwgY29udGV4dC5jcm9zc09yaWdpbk9wZW5lclBvbGlj
eSgpLCBwdWJsaWNVUkwsIHN0YXRpY19jYXN0PEJsb2ImPihibG9iKS51cmwoKSk7CisgICAgVGhy
ZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnRleHQuc2VjdXJpdHlPcmln
aW4oKSwgY29udGV4dC5wb2xpY3lDb250YWluZXIoKSwgcHVibGljVVJMLCBzdGF0aWNfY2FzdDxC
bG9iJj4oYmxvYikudXJsKCkpOwogfQogCiB2b2lkIEJsb2JVUkxSZWdpc3RyeTo6dW5yZWdpc3Rl
clVSTChjb25zdCBVUkwmIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlckxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJM
b2FkZXIuY3BwCmluZGV4IDE3YjMyMWQ3MzFmODg4OTU1MzcwMTgxOTdmYjNmYTE2MzMzNGZhZjUu
LjQ0M2M1NDljMTVhNTcxZWIzYjVlNDg2NGFiNzk1M2IzNDMyODY1YTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9hZGVyLmNwcApAQCAtODIsNyArODIsNyBAQCB2b2lk
IEZpbGVSZWFkZXJMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQsIEJsbwogICAgICAgICBmYWlsZWQoU2VjdXJpdHlFcnJvcik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJC
bG9iVVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQtPmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KCksIG1fdXJsRm9yUmVhZGlu
ZywgYmxvYi51cmwoKSk7CisgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9i
VVJMKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQtPnBvbGljeUNvbnRhaW5lcigpLCBtX3VybEZvclJlYWRpbmcsIGJsb2IudXJs
KCkpOwogCiAgICAgLy8gQ29uc3RydWN0IGFuZCBsb2FkIHRoZSByZXF1ZXN0LgogICAgIFJlc291
cmNlUmVxdWVzdCByZXF1ZXN0KG1fdXJsRm9yUmVhZGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL1RocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcAppbmRleCAyNGFiNTYwNWZjNjJi
MDhmMmY2Mzc5YjgyNTQ4M2UyNDMzNDMxOGRmLi5jZmZiNGU2ODg1YzBmMWRiNDFiNTU5ZTRjZWZk
MWY4ZTgzNjNjMzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1RocmVhZGFi
bGVCbG9iUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvVGhyZWFkYWJs
ZUJsb2JSZWdpc3RyeS5jcHAKQEAgLTEwMCwxOSArMTAwLDE5IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc0Jsb2JVUkxDb250YWluc051bGxPcmlnaW4oY29uc3QgVVJMJiB1cmwpCiAgICAgcmV0dXJu
IHVybC5zdHJpbmcoKS5zdWJzdHJpbmcoc3RhcnRJbmRleCwgZW5kSW5kZXggLSBzdGFydEluZGV4
IC0gMSkgPT0gIm51bGwiOwogfQogCi12b2lkIFRocmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lz
dGVyQmxvYlVSTChTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBDcm9zc09yaWdpbk9wZW5l
clBvbGljeSYgY29vcCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMKQordm9pZCBU
aHJlYWRhYmxlQmxvYlJlZ2lzdHJ5OjpyZWdpc3RlckJsb2JVUkwoU2VjdXJpdHlPcmlnaW4qIG9y
aWdpbiwgY29uc3QgUG9saWN5Q29udGFpbmVyJiBwb2xpY3lDb250YWluZXIsIGNvbnN0IFVSTCYg
dXJsLCBjb25zdCBVUkwmIHNyY1VSTCkKIHsKICAgICAvLyBJZiB0aGUgYmxvYiBVUkwgY29udGFp
bnMgbnVsbCBvcmlnaW4sIGFzIGluIHRoZSBjb250ZXh0IHdpdGggdW5pcXVlIHNlY3VyaXR5IG9y
aWdpbiBvciBmaWxlIFVSTCwgc2F2ZSB0aGUgbWFwcGluZyBiZXR3ZWVuIHVybCBhbmQgb3JpZ2lu
IHNvIHRoYXQgdGhlIG9yaWdpbiBjYW4gYmUgcmV0cml2ZWQgd2hlbiBkb2luZyBzZWN1cml0eSBv
cmlnaW4gY2hlY2suCiAgICAgaWYgKG9yaWdpbiAmJiBpc0Jsb2JVUkxDb250YWluc051bGxPcmln
aW4odXJsKSkKICAgICAgICAgb3JpZ2luTWFwKCktPmFkZCh1cmwuc3RyaW5nKCksIG9yaWdpbik7
CiAKICAgICBpZiAoaXNNYWluVGhyZWFkKCkpIHsKLSAgICAgICAgYmxvYlJlZ2lzdHJ5KCkucmVn
aXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBjb29wKTsKKyAgICAgICAgYmxvYlJlZ2lzdHJ5KCku
cmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBwb2xpY3lDb250YWluZXIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgY2FsbE9uTWFpblRocmVhZChbdXJsID0gdXJsLmlzb2xhdGVk
Q29weSgpLCBzcmNVUkwgPSBzcmNVUkwuaXNvbGF0ZWRDb3B5KCksIGNvb3AgPSBjcm9zc1RocmVh
ZENvcHkoY29vcCldIHsKLSAgICAgICAgYmxvYlJlZ2lzdHJ5KCkucmVnaXN0ZXJCbG9iVVJMKHVy
bCwgc3JjVVJMLCBjb29wKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFt1cmwgPSB1cmwuaXNvbGF0
ZWRDb3B5KCksIHNyY1VSTCA9IHNyY1VSTC5pc29sYXRlZENvcHkoKSwgcG9saWN5Q29udGFpbmVy
ID0gY3Jvc3NUaHJlYWRDb3B5KHBvbGljeUNvbnRhaW5lcildIHsKKyAgICAgICAgYmxvYlJlZ2lz
dHJ5KCkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBwb2xpY3lDb250YWluZXIpOwogICAg
IH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1RocmVhZGFibGVC
bG9iUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdp
c3RyeS5oCmluZGV4IGE2OGE1MWRmMGMzYTcxZjA0OGUzNmVhYzFlMjExYzZjNTdlOTgwOGQuLjVi
MWUyZTM5ZDU3NGE0ZjZiYWQ1MmQwM2Y2NmEzNTg0Yjc3Mzk5ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oCkBAIC0zOCwxMyArMzgsMTMg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQmxvYlBhcnQ7CiBjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIAotc3RydWN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5Oworc3RydWN0IFBvbGljeUNv
bnRhaW5lcjsKIAogY2xhc3MgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgcmVnaXN0ZXJGaWxlQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
IHBhdGgsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRQYXRoLCBjb25zdCBTdHJpbmcmIGNvbnRl
bnRUeXBlKTsKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgVmVj
dG9yPEJsb2JQYXJ0PiYmIGJsb2JQYXJ0cywgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7Ci0g
ICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgQ3Jv
c3NPcmlnaW5PcGVuZXJQb2xpY3kmLCBjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCk7Cisg
ICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgUG9s
aWN5Q29udGFpbmVyJiwgY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwpOwogICAgIHN0YXRp
YyB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYsIGNv
bnN0IFVSTCYgc3JjVVJMLCBjb25zdCBTdHJpbmcmIGZpbGVCYWNrZWRQYXRoLCBjb25zdCBTdHJp
bmcmIGNvbnRlbnRUeXBlKTsKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckJsb2JVUkxGb3JTbGlj
ZShjb25zdCBVUkwmIG5ld1VSTCwgY29uc3QgVVJMJiBzcmNVUkwsIGxvbmcgbG9uZyBzdGFydCwg
bG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7CiAgICAgc3RhdGljIHZv
aWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAppbmRleCBlM2ExZjQyMDc3YzZhZmIxZTMwMWUwNWNiZjQyMDZmNDY2
NDI1ZjMyLi5iNjBkM2MzYzIzNzRlMWIyNDA5YTk5MmM0MjhkNjNmM2I4ZTk1MDQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE1NTIsNyArMTU1Miw3IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZFJlc291cmNlKGNvbnN0IFVSTCYgaW5pdGlhbFVS
TCwgQ29udGVudFR5cGUmIGNvbnRlbnRUCiAgICAgICAgIGlmICghbV9ibG9iVVJMRm9yUmVhZGlu
Zy5pc0VtcHR5KCkpCiAgICAgICAgICAgICBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Ojp1bnJlZ2lz
dGVyQmxvYlVSTChtX2Jsb2JVUkxGb3JSZWFkaW5nKTsKICAgICAgICAgbV9ibG9iVVJMRm9yUmVh
ZGluZyA9IEJsb2JVUkw6OmNyZWF0ZVB1YmxpY1VSTCgmZG9jdW1lbnQoKS5zZWN1cml0eU9yaWdp
bigpKTsKLSAgICAgICAgVGhyZWFkYWJsZUJsb2JSZWdpc3RyeTo6cmVnaXN0ZXJCbG9iVVJMKCZk
b2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCksIGRvY3VtZW50KCkuY3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3koKSwgbV9ibG9iVVJMRm9yUmVhZGluZywgbV9ibG9iLT51cmwoKSk7CisgICAgICAgIFRo
cmVhZGFibGVCbG9iUmVnaXN0cnk6OnJlZ2lzdGVyQmxvYlVSTCgmZG9jdW1lbnQoKS5zZWN1cml0
eU9yaWdpbigpLCBkb2N1bWVudCgpLnBvbGljeUNvbnRhaW5lcigpLCBtX2Jsb2JVUkxGb3JSZWFk
aW5nLCBtX2Jsb2ItPnVybCgpKTsKIAogICAgICAgICBpZiAoIW1fcGxheWVyLT5sb2FkKG1fYmxv
YlVSTEZvclJlYWRpbmcsIGNvbnRlbnRUeXBlLCBrZXlTeXN0ZW0pKQogICAgICAgICAgICAgbWVk
aWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9yKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9s
aWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
LmNwcAppbmRleCA5MDFmZmZhZDRmMTdlOTZhYzI1NTVhMmFjY2UzZDlhMzQxYjFiMGRmLi41YTcx
ODJkYjI3YWI0Y2I4ZjU1NmUzN2FmZDJkYTg1MjM1YzBkNDFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuY3BwCkBAIC03NCw0ICs3
NCwyMiBAQCBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xp
Y3k6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgfTsKIH0KIAordm9pZCBhZGRDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5SGVhZGVycyhSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3Qg
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSYgY29lcCkKK3sKKyAgICBpZiAoY29lcC52YWx1ZSAh
PSBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFsdWU6OlVuc2FmZU5vbmUpIHsKKyAgICAgICAg
QVNTRVJUKGNvZXAudmFsdWUgPT0gQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVZhbHVlOjpSZXF1
aXJlQ09SUCk7CisgICAgICAgIGlmIChjb2VwLnJlcG9ydGluZ0VuZHBvaW50LmlzRW1wdHkoKSkK
KyAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgInJlcXVpcmUtY29ycCJfcyk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFt
ZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSwgbWFrZVN0cmluZygicmVxdWlyZS1jb3JwOyBy
ZXBvcnQtdG89XCIiLCBjb2VwLnJlcG9ydGluZ0VuZHBvaW50LCAnXCInKSk7CisgICAgfQorICAg
IGlmIChjb2VwLnJlcG9ydE9ubHlWYWx1ZSAhPSBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5VmFs
dWU6OlVuc2FmZU5vbmUpIHsKKyAgICAgICAgQVNTRVJUKGNvZXAucmVwb3J0T25seVZhbHVlID09
IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3lWYWx1ZTo6UmVxdWlyZUNPUlApOworICAgICAgICBp
ZiAoY29lcC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQuaXNFbXB0eSgpKQorICAgICAgICAg
ICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdp
bkVtYmVkZGVyUG9saWN5UmVwb3J0T25seSwgInJlcXVpcmUtY29ycCJfcyk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFt
ZTo6Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeVJlcG9ydE9ubHksIG1ha2VTdHJpbmcoInJlcXVp
cmUtY29ycDsgcmVwb3J0LXRvPVwiIiwgY29lcC5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQs
ICdcIicpKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5oCmluZGV4IDk0Mzc2
N2JlY2NkNDZjM2ZlNzkxYzI0ZTY0NDQ3YTkxNjk2MThmMzAuLmY5Mjk4YTc3ZTZkM2QyY2NmNDRk
MWMxNzBmZmI3ZDE1OTQxYzAwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9D
cm9zc09yaWdpbkVtYmVkZGVyUG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaApAQCAtNTAsNiArNTAsMTEgQEAgc3RydWN0IENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3kgewogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k+IGRlY29kZShEZWNvZGVy
Jik7CiB9OwogCitpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENyb3NzT3JpZ2luRW1iZWRk
ZXJQb2xpY3kmIGEsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmIGIpCit7CisgICAg
cmV0dXJuIGEudmFsdWUgPT0gYi52YWx1ZSAmJiBhLnJlcG9ydGluZ0VuZHBvaW50ID09IGIucmVw
b3J0aW5nRW5kcG9pbnQgJiYgYS5yZXBvcnRPbmx5VmFsdWUgPT0gYi5yZXBvcnRPbmx5VmFsdWUg
JiYgYS5yZXBvcnRPbmx5UmVwb3J0aW5nRW5kcG9pbnQgPT0gYi5yZXBvcnRPbmx5UmVwb3J0aW5n
RW5kcG9pbnQ7Cit9CisKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIENyb3NzT3JpZ2lu
RW1iZWRkZXJQb2xpY3k6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewpAQCAtODgs
NiArOTMsNyBAQCBzdGQ6Om9wdGlvbmFsPENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k+IENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3k6OmRlY29kZShEZWNvZAogfQogCiBDcm9zc09yaWdpbkVtYmVk
ZGVyUG9saWN5IG9idGFpbkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYsIGNvbnN0IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKK1dFQkNPUkVfRVhQT1JU
IHZvaWQgYWRkQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeUhlYWRlcnMoUmVzb3VyY2VSZXNwb25z
ZSYsIGNvbnN0IENyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kmKTsKIAogZW51bSBjbGFzcyBJc1Nl
Y3VyZUNvbnRleHQgOiBib29sIHsgTm8sIFllcyB9OwogV0VCQ09SRV9FWFBPUlQgQ3Jvc3NPcmln
aW5FbWJlZGRlclBvbGljeSBvYnRhaW5Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmLCBJc1NlY3VyZUNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Dcm9zc09yaWdpbk9wZW5lclBvbGljeS5jcHAKaW5kZXggMWZjZWUyZmEwMGU3MDEw
YTE5NDc5MTRlMjJjOGRkODRhMmZiZThlZS4uMDQwMTU1NmE4NzYyYjM3ZjE3OWNjMDIzYmQ0ZTZj
M2RhOWMwNWExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3kuY3BwCkBAIC0xMDMsMTYgKzEwMywxMiBAQCB2b2lkIGFkZENyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5SGVhZGVycyhSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgQ3Jv
c3NPcgogICAgICAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJO
YW1lOjpDcm9zc09yaWdpbk9wZW5lclBvbGljeSwgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lUb1N0
cmluZyhjb29wLnZhbHVlKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJlc3BvbnNlLnNl
dEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3ks
IG1ha2VTdHJpbmcoY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lUb1N0cmluZyhjb29wLnZhbHVlKSwg
IjsgcmVwb3J0LXRvPVwiIiwgY29vcC5yZXBvcnRpbmdFbmRwb2ludCwgJ1wiJykpOwotICAgICAg
ICBpZiAoY29vcC52YWx1ZSA9PSBDcm9zc09yaWdpbk9wZW5lclBvbGljeVZhbHVlOjpTYW1lT3Jp
Z2luUGx1c0NPRVApCi0gICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ksICJyZXF1aXJlLWNvcnAiX3Mp
OyAvLyBGSVhNRTogUGFzcyBpbiBjb2VwIGFuZCBzZXQgaGVhZGVyIHZhbHVlIGNvcnJlY3RseS4K
ICAgICB9CiAgICAgaWYgKGNvb3AucmVwb3J0T25seVZhbHVlICE9IENyb3NzT3JpZ2luT3BlbmVy
UG9saWN5VmFsdWU6OlVuc2FmZU5vbmUpIHsKICAgICAgICAgaWYgKGNvb3AucmVwb3J0T25seVJl
cG9ydGluZ0VuZHBvaW50LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lSZXBvcnRP
bmx5LCBjcm9zc09yaWdpbk9wZW5lclBvbGljeVRvU3RyaW5nKGNvb3AucmVwb3J0T25seVZhbHVl
KSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVs
ZChIVFRQSGVhZGVyTmFtZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lSZXBvcnRPbmx5LCBtYWtl
U3RyaW5nKGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5VG9TdHJpbmcoY29vcC5yZXBvcnRPbmx5VmFs
dWUpLCAiOyByZXBvcnQtdG89XCIiLCBjb29wLnJlcG9ydE9ubHlSZXBvcnRpbmdFbmRwb2ludCwg
J1wiJykpOwotICAgICAgICBpZiAoY29vcC5yZXBvcnRPbmx5VmFsdWUgPT0gQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3lWYWx1ZTo6U2FtZU9yaWdpblBsdXNDT0VQKQotICAgICAgICAgICAgcmVzcG9u
c2Uuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDcm9zc09yaWdpbkVtYmVkZGVy
UG9saWN5UmVwb3J0T25seSwgInJlcXVpcmUtY29ycCJfcyk7IC8vIEZJWE1FOiBQYXNzIGluIGNv
ZXAgYW5kIHNldCBoZWFkZXIgdmFsdWUgY29ycmVjdGx5LgogICAgIH0KIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggYTFlMjg0YjU0MDY2NDk5NzRiZjgzYmY1OWM4
MjU0MjJjYjdhYmI2MC4uNTRhYTNlZWZkY2VmZjRmY2NlNmFlNWEyYzBmZDU2MDVlMTU0YjA5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC03NTEsNyArNzUxLDcgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudChib29sIGRpc3BhdGNoKQogCiAgICAg
ICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmRpZFJlY2Vp
dmVIZWFkZXJzKENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhtX2RvY3VtZW50
TG9hZGVyLT5yZXNwb25zZSgpKSwgcmVmZXJyZXIoKSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpS
ZXBvcnRQYXJzaW5nRXJyb3JzOjpObyk7CiAKLSAgICAgICAgaWYgKG1fZnJhbWUuZG9jdW1lbnQo
KS0+dXJsKCkucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQorICAgICAgICBpZiAobV9mcmFtZS5k
b2N1bWVudCgpLT51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgbV9mcmFtZS5kb2N1
bWVudCgpLT51cmwoKS5wcm90b2NvbElzQmxvYigpKQogICAgICAgICAgICAgbV9mcmFtZS5kb2N1
bWVudCgpLT5zZXRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KG9idGFpbkNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kobV9kb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKSwgKm1fZnJhbWUuZG9jdW1l
bnQoKSkpOwogCiAgICAgICAgIFN0cmluZyByZWZlcnJlclBvbGljeSA9IG1fZG9jdW1lbnRMb2Fk
ZXItPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpSZWZlcnJlclBv
bGljeSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q29udGFpbmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q29udGFpbmVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDMxY2YxYzViMmJkMWY5MDNkMTZiZWFmNzcxMjBkNzFhNjEwNTljZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDb250YWluZXIuaApAQCAtMCwwICsxLDgy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDcm9zc09yaWdpbkVt
YmVkZGVyUG9saWN5LmgiCisjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211
bHRpcGFnZS9vcmlnaW4uaHRtbCNwb2xpY3ktY29udGFpbmVyCitzdHJ1Y3QgUG9saWN5Q29udGFp
bmVyIHsKKyAgICBDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5IGNyb3NzT3JpZ2luRW1iZWRkZXJQ
b2xpY3k7CisgICAgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgY3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3k7CisgICAgLy8gRklYTUU6IENTUCBsaXN0IGFuZCByZWZlcnJlciBwb2xpY3kgc2hvdWxkIGJl
IHBhcnQgb2YgdGhlIFBvbGljeUNvbnRhaW5lci4KKworICAgIFBvbGljeUNvbnRhaW5lciBpc29s
YXRlZENvcHkoKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29k
ZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0
ZDo6b3B0aW9uYWw8UG9saWN5Q29udGFpbmVyPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKworaW5s
aW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQb2xpY3lDb250YWluZXImIGEsIGNvbnN0IFBvbGlj
eUNvbnRhaW5lciYgYikKK3sKKyAgICByZXR1cm4gYS5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5
ID09IGIuY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSAmJiBhLmNyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5ID09IGIuY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k7Cit9CisKK2lubGluZSBQb2xpY3lDb250
YWluZXIgUG9saWN5Q29udGFpbmVyOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVy
biB7CisgICAgICAgIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaXNvbGF0ZWRDb3B5KCksCisg
ICAgICAgIGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5Lmlzb2xhdGVkQ29weSgpCisgICAgfTsKK30K
KwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgUG9saWN5Q29udGFpbmVyOjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IGNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kgPDwgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k7Cit9CisKK3RlbXBsYXRlPGNs
YXNzIERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPFBvbGljeUNvbnRhaW5lcj4gUG9saWN5Q29udGFp
bmVyOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3k+IGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3k7CisgICAgZGVj
b2RlciA+PiBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5OworICAgIGlmICghY3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k+IGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5
OworICAgIGRlY29kZXIgPj4gY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k7CisgICAgaWYgKCFjcm9z
c09yaWdpbk9wZW5lclBvbGljeSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAg
IHJldHVybiB7eworICAgICAgICBXVEZNb3ZlKCpjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KSwK
KyAgICAgICAgV1RGTW92ZSgqY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kpCisgICAgfX07Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYkRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9CbG9iRGF0YS5jcHAKaW5kZXggNTBhNDFjMTgxOThjMDMyYmY2MzNkODhmZmJiNzQ0NzU5OTI4
MTNlOC4uMGUyNzcxZWY4MDg0MTE1ODE1MDdmZmNiMjRmNWYyNmM3NjZmMDgzMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5jcHAKQEAgLTgxLDcgKzgxLDcg
QEAgdm9pZCBCbG9iRGF0YTo6YXBwZW5kRmlsZShSZWY8QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYm
IGZpbGUpCiBSZWY8QmxvYkRhdGE+IEJsb2JEYXRhOjpjbG9uZSgpIGNvbnN0CiB7CiAgICAgYXV0
byBibG9iRGF0YSA9IEJsb2JEYXRhOjpjcmVhdGUobV9jb250ZW50VHlwZSk7Ci0gICAgYmxvYkRh
dGEtPm1fY29vcCA9IG1fY29vcDsKKyAgICBibG9iRGF0YS0+bV9wb2xpY3lDb250YWluZXIgPSBt
X3BvbGljeUNvbnRhaW5lcjsKICAgICBibG9iRGF0YS0+bV9pdGVtcyA9IG1faXRlbXM7CiAgICAg
cmV0dXJuIGJsb2JEYXRhOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
RGF0YS5oCmluZGV4IDljNTU0YjBjZDZmOGYwMWQxNmY5MzVkNjc4YzVkNTk4MDdkZTdhYzMuLmVi
MmNkNjg4MmZlYzNkNDgwZDBjYzA4NDgyYTEyMDNkODUzMmM2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTMyLDcgKzMyLDcgQEAKICNkZWZpbmUg
QmxvYkRhdGFfaAogCiAjaW5jbHVkZSAiQmxvYkRhdGFGaWxlUmVmZXJlbmNlLmgiCi0jaW5jbHVk
ZSAiQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaCIKKyNpbmNsdWRlICJQb2xpY3lDb250YWluZXIu
aCIKICNpbmNsdWRlICJUaHJlYWRTYWZlRGF0YUJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CkBAIC0xMDYsOCAr
MTA2LDggQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY29udGVudFR5cGU7IH0KIAotICAgIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVy
UG9saWN5JiBjcm9zc09yaWdpbk9wZW5lclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fY29vcDsg
fQotICAgIHZvaWQgc2V0Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koY29uc3QgQ3Jvc3NPcmlnaW5P
cGVuZXJQb2xpY3kmIGNvb3ApIHsgbV9jb29wID0gY29vcDsgfQorICAgIGNvbnN0IFBvbGljeUNv
bnRhaW5lciYgcG9saWN5Q29udGFpbmVyKCkgY29uc3QgeyByZXR1cm4gbV9wb2xpY3lDb250YWlu
ZXI7IH0KKyAgICB2b2lkIHNldFBvbGljeUNvbnRhaW5lcihjb25zdCBQb2xpY3lDb250YWluZXIm
IHBvbGljeUNvbnRhaW5lcikgeyBtX3BvbGljeUNvbnRhaW5lciA9IHBvbGljeUNvbnRhaW5lcjsg
fQogCiAgICAgY29uc3QgQmxvYkRhdGFJdGVtTGlzdCYgaXRlbXMoKSBjb25zdCB7IHJldHVybiBt
X2l0ZW1zOyB9CiAgICAgdm9pZCBzd2FwSXRlbXMoQmxvYkRhdGFJdGVtTGlzdCYpOwpAQCAtMTI1
LDcgKzEyNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhcHBlbmRGaWxlKEJsb2JEYXRhRmlsZVJl
ZmVyZW5jZSosIGxvbmcgbG9uZyBvZmZzZXQsIGxvbmcgbG9uZyBsZW5ndGgpOwogCiAgICAgU3Ry
aW5nIG1fY29udGVudFR5cGU7Ci0gICAgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kgbV9jb29wOwor
ICAgIFBvbGljeUNvbnRhaW5lciBtX3BvbGljeUNvbnRhaW5lcjsKICAgICBCbG9iRGF0YUl0ZW1M
aXN0IG1faXRlbXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iUmVnaXN0cnkuaAppbmRleCBlMjQ3ZTg1NDRjMmY2MmVlZmJmZGZiMTBkYzAwNTIwN2IzMDRj
YzI0Li5hNjE4NzM1OTZiNGQxYjg0MjJhMThlZGRiN2E0ZDAyZDFmNTVlNjFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmgKQEAgLTQxLDcgKzQx
LDcgQEAgY2xhc3MgQmxvYlBhcnQ7CiBjbGFzcyBCbG9iUmVnaXN0cnk7CiBjbGFzcyBCbG9iUmVn
aXN0cnlJbXBsOwogCi1zdHJ1Y3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3k7CitzdHJ1Y3QgUG9s
aWN5Q29udGFpbmVyOwogCiBXRUJDT1JFX0VYUE9SVCBCbG9iUmVnaXN0cnkmIGJsb2JSZWdpc3Ry
eSgpOwogCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0
ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIFZlY3RvcjxCbG9iUGFydD4mJiwgY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSkgPSAwOwogICAgIAogICAgIC8vIFJlZ2lzdGVycyBhIG5ldyBibG9iIFVSTCBy
ZWZlcnJpbmcgdG8gdGhlIGJsb2IgZGF0YSBpZGVudGlmaWVkIGJ5IHRoZSBzcGVjaWZpZWQgc3Jj
VVJMLgotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgY29uc3Qg
VVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JikgPSAwOworICAgIHZp
cnR1YWwgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkws
IGNvbnN0IFBvbGljeUNvbnRhaW5lciYpID0gMDsKIAogICAgIC8vIFJlZ2lzdGVycyBhIG5ldyBi
bG9iIFVSTCByZWZlcnJpbmcgdG8gdGhlIGJsb2IgZGF0YSBpZGVudGlmaWVkIGJ5IHRoZSBzcGVj
aWZpZWQgc3JjVVJMIG9yLCBpZiBub25lIGZvdW5kLCByZWZlcnJpbmcgdG8gdGhlIGZpbGUgZm91
bmQgYXQgdGhlIGdpdmVuIHBhdGguCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9w
dGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8
QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3Ry
eUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJ
bXBsLmNwcAppbmRleCBmNTVmNWIzNWRkYTc3YmMzMGQ4Nzk3MTc4NTBiYWMxYTUzMjE1OWI1Li4z
MzdlYWY5OWVkMjk0OGZjMDc5MGJmN2U4Y2U1OGQ3NTYxMTUwNTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5SW1wbC5jcHAKQEAgLTM1
LDYgKzM1LDcgQEAKICNpbmNsdWRlICJCbG9iRGF0YS5oIgogI2luY2x1ZGUgIkJsb2JQYXJ0Lmgi
CiAjaW5jbHVkZSAiQmxvYlJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUG9saWN5Q29udGFp
bmVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCkBAIC0xNTIsMjMgKzE1MywyMyBA
QCB2b2lkIEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCwg
VmVjdG9yPEJsb2JQYXJ0PiYmIGJsb2JQYQogICAgIGFkZEJsb2JEYXRhKHVybC5zdHJpbmcoKSwg
V1RGTW92ZShibG9iRGF0YSkpOwogfQogCi12b2lkIEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVy
QmxvYlVSTChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3Jp
Z2luT3BlbmVyUG9saWN5JiBjb29wKQordm9pZCBCbG9iUmVnaXN0cnlJbXBsOjpyZWdpc3RlckJs
b2JVUkwoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBQb2xpY3lDb250
YWluZXImIHBvbGljeUNvbnRhaW5lcikKIHsKLSAgICByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5
RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwgbnVsbHB0ciwgeyB9LCBjb29wKTsKKyAgICByZWdpc3Rl
ckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZCh1cmwsIHNyY1VSTCwgbnVsbHB0ciwgeyB9LCBw
b2xpY3lDb250YWluZXIpOwogfQogCi12b2lkIEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxv
YlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VS
TCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiBmaWxlLCBjb25zdCBTdHJpbmcmIGNv
bnRlbnRUeXBlLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCkKK3ZvaWQgQmxv
YlJlZ2lzdHJ5SW1wbDo6cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBSZWZQdHI8QmxvYkRhdGFGaWxlUmVmZXJlbmNl
PiYmIGZpbGUsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBvbGljeUNvbnRhaW5l
ciYgcG9saWN5Q29udGFpbmVyKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAg
cmVnaXN0ZXJCbG9iUmVzb3VyY2VIYW5kbGVDb25zdHJ1Y3RvcigpOwogCiAgICAgQmxvYkRhdGEq
IHNyYyA9IGdldEJsb2JEYXRhRnJvbVVSTChzcmNVUkwpOwogICAgIGlmIChzcmMpIHsKLSAgICAg
ICAgaWYgKHNyYy0+Y3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSA9PSBjb29wKQorICAgICAgICBp
ZiAoc3JjLT5wb2xpY3lDb250YWluZXIoKSA9PSBwb2xpY3lDb250YWluZXIpCiAgICAgICAgICAg
ICBhZGRCbG9iRGF0YSh1cmwuc3RyaW5nKCksIHNyYyk7CiAgICAgICAgIGVsc2UgewogICAgICAg
ICAgICAgYXV0byBjbG9uZSA9IHNyYy0+Y2xvbmUoKTsKLSAgICAgICAgICAgIGNsb25lLT5zZXRD
cm9zc09yaWdpbk9wZW5lclBvbGljeShjb29wKTsKKyAgICAgICAgICAgIGNsb25lLT5zZXRQb2xp
Y3lDb250YWluZXIocG9saWN5Q29udGFpbmVyKTsKICAgICAgICAgICAgIGFkZEJsb2JEYXRhKHVy
bC5zdHJpbmcoKSwgV1RGTW92ZShjbG9uZSkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsK
QEAgLTE3OSw3ICsxODAsNyBAQCB2b2lkIEJsb2JSZWdpc3RyeUltcGw6OnJlZ2lzdGVyQmxvYlVS
TE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVSTCYgdXJsLCBjb25zdAogCiAgICAgYXV0byBi
YWNraW5nRmlsZSA9IEJsb2JEYXRhOjpjcmVhdGUoY29udGVudFR5cGUpOwogICAgIGJhY2tpbmdG
aWxlLT5hcHBlbmRGaWxlKGZpbGUucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgYmFja2luZ0ZpbGUt
PnNldENyb3NzT3JpZ2luT3BlbmVyUG9saWN5KGNvb3ApOworICAgIGJhY2tpbmdGaWxlLT5zZXRQ
b2xpY3lDb250YWluZXIocG9saWN5Q29udGFpbmVyKTsKIAogICAgIGFkZEJsb2JEYXRhKHVybC5z
dHJpbmcoKSwgV1RGTW92ZShiYWNraW5nRmlsZSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnlJbXBsLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeUltcGwuaAppbmRleCA3MWI5NDcwMzVlOTk3
MGI3MWE2MmVhMTFmMGEwOTJlZjQ4NDk0YmE5Li43OTdlYmQ2OGNmMmQ4NGYyYzg1NDY4OWNiYzZi
MTA0ZTVlYjgxMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeUltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZWdpc3RyeUltcGwuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBSZXNvdXJjZUhhbmRs
ZTsKIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owog
Y2xhc3MgVGhyZWFkU2FmZURhdGFCdWZmZXI7Ci1zdHJ1Y3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3k7CitzdHJ1Y3QgUG9saWN5Q29udGFpbmVyOwogCiAvLyBCbG9iUmVnaXN0cnlJbXBsIGlzIG5v
dCB0aHJlYWQtc2FmZS4gSXQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZyb20gbWFpbiB0aHJlYWQu
CiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBCbG9iUmVnaXN0cnlJbXBsIHsKQEAgLTYyLDggKzYyLDgg
QEAgcHVibGljOgogCiAgICAgdm9pZCByZWdpc3RlckZpbGVCbG9iVVJMKGNvbnN0IFVSTCYsIFJl
ZjxCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwog
ICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIFZlY3RvcjxCbG9iUGFydD4mJiwg
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSk7Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29u
c3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IENyb3NzT3JpZ2luT3BlbmVyUG9saWN5
Jik7Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBV
UkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwg
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3km
KTsKKyAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VS
TCwgY29uc3QgUG9saWN5Q29udGFpbmVyJik7CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRp
b25hbGx5RmlsZUJhY2tlZChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJs
b2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3Qg
UG9saWN5Q29udGFpbmVyJik7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxGb3JTbGljZShjb25z
dCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxvbmcgZW5k
LCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICB2b2lkIHVucmVnaXN0ZXJCbG9iVVJM
KGNvbnN0IFVSTCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggMzBjODE2NTQ0OWM0MTNiZmI2NDBhNmYw
N2MxZjgwMDlmZmQ3MzI4Ni4uMzE3MGJhYTgwODMxNzE3NTExZDU0Y2JkODBhMmU0YTQzZDJjYzZj
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3Vy
Y2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJl
c291cmNlSGFuZGxlLmNwcApAQCAtMzQsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAiQXN5bmNGaWxl
U3RyZWFtLmgiCiAjaW5jbHVkZSAiQmxvYkRhdGEuaCIKLSNpbmNsdWRlICJDcm9zc09yaWdpbk9w
ZW5lclBvbGljeS5oIgogI2luY2x1ZGUgIkZpbGVTdHJlYW0uaCIKICNpbmNsdWRlICJIVFRQSGVh
ZGVyTmFtZXMuaCIKICNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgpAQCAtNTc3LDcgKzU3Niw4IEBA
IHZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpub3RpZnlSZXNwb25zZU9uU3VjY2VzcygpCiAKICAg
ICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBl
LCBtX2Jsb2JEYXRhLT5jb250ZW50VHlwZSgpKTsKICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVy
RmllbGQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRMZW5ndGgsIFN0cmluZzo6bnVtYmVyKG1fdG90
YWxSZW1haW5pbmdTaXplKSk7Ci0gICAgYWRkQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lIZWFkZXJz
KHJlc3BvbnNlLCBtX2Jsb2JEYXRhLT5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpKTsKKyAgICBh
ZGRDcm9zc09yaWdpbk9wZW5lclBvbGljeUhlYWRlcnMocmVzcG9uc2UsIG1fYmxvYkRhdGEtPnBv
bGljeUNvbnRhaW5lcigpLmNyb3NzT3JpZ2luT3BlbmVyUG9saWN5KTsKKyAgICBhZGRDcm9zc09y
aWdpbkVtYmVkZGVyUG9saWN5SGVhZGVycyhyZXNwb25zZSwgbV9ibG9iRGF0YS0+cG9saWN5Q29u
dGFpbmVyKCkuY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSk7CiAKICAgICBpZiAoaXNSYW5nZVJl
cXVlc3QpCiAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFt
ZTo6Q29udGVudFJhbmdlLCBQYXJzZWRDb250ZW50UmFuZ2UobV9yYW5nZU9mZnNldCwgbV9yYW5n
ZUVuZCwgbV90b3RhbFNpemUpLmhlYWRlclZhbHVlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcAppbmRleCBhYzc3ZTQxYTQ3MjZiOTNmNjExYmQzNDJlMjBlNGE0NGE1OWQ0MzcwLi5kOTYy
YTk4YWY1NDY3NTQ0ZmI0MDg3YzQ4MWFhMjJlYTdlYTVmNjIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcApAQCAtODI4LDEzICs4MjgsMTMgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBWZWN0b3I8QmxvYlAK
ICAgICBzZXNzaW9uLT5ibG9iUmVnaXN0cnkoKS5yZWdpc3RlckJsb2JVUkwodXJsLCBXVEZNb3Zl
KGJsb2JQYXJ0cyksIGNvbnRlbnRUeXBlKTsKIH0KIAotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6cmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChjb25zdCBVUkwmIHVybCwgY29uc3Qg
VVJMJiBzcmNVUkwsIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiYgY29vcCkKK3ZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlZ2lzdGVyQmxvYlVSTEZyb21VUkwoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBQb2xpY3lDb250YWluZXImJiBwb2xpY3lDb250YWlu
ZXIpCiB7CiAgICAgYXV0byogc2Vzc2lvbiA9IG5ldHdvcmtTZXNzaW9uKCk7CiAgICAgaWYgKCFz
ZXNzaW9uKQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXNzaW9uLT5ibG9iUmVnaXN0cnkoKS5y
ZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkwsIFdURk1vdmUoY29vcCkpOworICAgIHNlc3Npb24t
PmJsb2JSZWdpc3RyeSgpLnJlZ2lzdGVyQmxvYlVSTCh1cmwsIHNyY1VSTCwgV1RGTW92ZShwb2xp
Y3lDb250YWluZXIpKTsKIH0KIAogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
cmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFVSTCYgc3JjVVJMLCBjb25zdCBTdHJpbmcmIGZpbGVCYWNrZWRQYXRoLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDZhMDU5NGNlMTU2MThh
YjMyN2UwNmVhMWY2Y2FhNGI4YWRjYzZjZDIuLjVlMDcwOTFlMzczNmRlMzUyMTkyY2ZlNzg2Nzlj
YjYyMmIyM2RmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTY2LDcgKzY2LDcgQEAg
Y2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGVudW0gY2xhc3Mg
U3RvcmFnZUFjY2Vzc1Njb3BlIDogYm9vbDsKIGVudW0gY2xhc3MgU2hvdWxkQXNrSVRQIDogYm9v
bDsKLXN0cnVjdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeTsKK3N0cnVjdCBQb2xpY3lDb250YWlu
ZXI7CiBzdHJ1Y3QgUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ7CiBzdHJ1Y3QgU2FtZVNpdGVJ
bmZvOwogCkBAIC0yMzAsNyArMjMwLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVnaXN0ZXJG
aWxlQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYg
cmVwbGFjZW1lbnRQYXRoLCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmJiwgY29uc3QgU3RyaW5n
JiBjb250ZW50VHlwZSk7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgVmVj
dG9yPFdlYkNvcmU6OkJsb2JQYXJ0PiYmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKLSAg
ICB2b2lkIHJlZ2lzdGVyQmxvYlVSTEZyb21VUkwoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNV
UkwsIFdlYkNvcmU6OkNyb3NzT3JpZ2luT3BlbmVyUG9saWN5JiYpOworICAgIHZvaWQgcmVnaXN0
ZXJCbG9iVVJMRnJvbVVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgV2ViQ29yZTo6
UG9saWN5Q29udGFpbmVyJiYpOwogICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZp
bGVCYWNrZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFN0cmluZyYgZmls
ZUJhY2tlZFBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpOwogICAgIHZvaWQgcmVnaXN0
ZXJCbG9iVVJMRm9yU2xpY2UoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIGludDY0X3Qg
c3RhcnQsIGludDY0X3QgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKTsKICAgICB2b2lk
IGJsb2JTaXplKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGZhOTBm
ZjRhNmQ4OTM1OThlZTBhZDA5MTMzNTEwZWU1ZWE5MmU3YTcuLmJlOTI0NGU4NmZjZGUzNWM5OGM2
MGM3MDRjYmFlZjI0MDJmZDBkNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgpAQCAtNTAsNyArNTAsNyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAKICAgICBSZWdpc3RlckZpbGVCbG9iVVJM
KFVSTCB1cmwsIFN0cmluZyBwYXRoLCBTdHJpbmcgcmVwbGFjZW1lbnRQYXRoLCBXZWJLaXQ6OlNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSBleHRlbnNpb25IYW5kbGUsIFN0cmluZyBjb250ZW50VHlw
ZSkKICAgICBSZWdpc3RlckJsb2JVUkwoVVJMIHVybCwgVmVjdG9yPFdlYkNvcmU6OkJsb2JQYXJ0
PiBibG9iUGFydHMsIFN0cmluZyBjb250ZW50VHlwZSkKLSAgICBSZWdpc3RlckJsb2JVUkxGcm9t
VVJMKFVSTCB1cmwsIFVSTCBzcmNVUkwsIHN0cnVjdCBXZWJDb3JlOjpDcm9zc09yaWdpbk9wZW5l
clBvbGljeSBjb29wKQorICAgIFJlZ2lzdGVyQmxvYlVSTEZyb21VUkwoVVJMIHVybCwgVVJMIHNy
Y1VSTCwgc3RydWN0IFdlYkNvcmU6OlBvbGljeUNvbnRhaW5lciBwb2xpY3lDb250YWluZXIpCiAg
ICAgUmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoVVJMIHVybCwgVVJMIHNyY1VS
TCwgU3RyaW5nIGZpbGVCYWNrZWRQYXRoLCBTdHJpbmcgY29udGVudFR5cGUpCiAgICAgUmVnaXN0
ZXJCbG9iVVJMRm9yU2xpY2UoVVJMIHVybCwgVVJMIHNyY1VSTCwgaW50NjRfdCBzdGFydCwgaW50
NjRfdCBlbmQsIFN0cmluZyBjb250ZW50VHlwZSkKICAgICBVbnJlZ2lzdGVyQmxvYlVSTChVUkwg
dXJsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0
YVRhc2tCbG9iLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFU
YXNrQmxvYi5jcHAKaW5kZXggNDAzNmZjOTUxMWQxN2MyMjliYmI1MmM5ZDAxYjE5NjQ1MGUwZTk3
NS4uZDMzZDg0YWFiZWU0NmVhNjMwNjc5YTljMzA5NGRiNWE3MzUzYzY4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2tCbG9iLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFza0Jsb2IuY3BwCkBA
IC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9Bc3luY0ZpbGVTdHJlYW0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Jsb2JSZWdpc3RyeUltcGwu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9IVFRQUGFyc2Vycy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFyc2VkQ29udGVudFJhbmdlLmg+
CkBAIC0yNjUsNyArMjY2LDggQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tCbG9iOjpkaXNwYXRjaERp
ZFJlY2VpdmVSZXNwb25zZShFcnJvciBlcnJvckNvZGUpCiAKICAgICAgICAgcmVzcG9uc2Uuc2V0
SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSwgbV9ibG9iRGF0YS0+
Y29udGVudFR5cGUoKSk7CiAgICAgICAgIHJlc3BvbnNlLnNldEhUVFBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6Q29udGVudExlbmd0aCwgU3RyaW5nOjpudW1iZXIobV90b3RhbFJlbWFpbmlu
Z1NpemUpKTsKLSAgICAgICAgYWRkQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lIZWFkZXJzKHJlc3Bv
bnNlLCBtX2Jsb2JEYXRhLT5jcm9zc09yaWdpbk9wZW5lclBvbGljeSgpKTsKKyAgICAgICAgYWRk
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3lIZWFkZXJzKHJlc3BvbnNlLCBtX2Jsb2JEYXRhLT5wb2xp
Y3lDb250YWluZXIoKS5jcm9zc09yaWdpbk9wZW5lclBvbGljeSk7CisgICAgICAgIGFkZENyb3Nz
T3JpZ2luRW1iZWRkZXJQb2xpY3lIZWFkZXJzKHJlc3BvbnNlLCBtX2Jsb2JEYXRhLT5wb2xpY3lD
b250YWluZXIoKS5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KTsKIAogICAgICAgICBpZiAoaXNS
YW5nZVJlcXVlc3QpCiAgICAgICAgICAgICByZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoSFRU
UEhlYWRlck5hbWU6OkNvbnRlbnRSYW5nZSwgUGFyc2VkQ29udGVudFJhbmdlKG1fcmFuZ2VPZmZz
ZXQsIG1fcmFuZ2VFbmQsIG1fdG90YWxTaXplKS5oZWFkZXJWYWx1ZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc1Bs
YXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5kZXggMjU5MDdmZmMwYTQ5ZTIyNjc2YzJlMTkzNmIwMjFi
ZjNmOTIzYjUwYi4uZDgxNTkxNjgzNzgyNzJjNDg4ZDA4MjdlMWU5OWI3ZjBlYjRlYmQzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc1BsYXRm
b3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgQmxvYlJl
Z2lzdHJ5KiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlQmxvYlJlZ2lz
dHJ5KCkKICAgICBjbGFzcyBFbXB0eUJsb2JSZWdpc3RyeSA6IHB1YmxpYyBXZWJDb3JlOjpCbG9i
UmVnaXN0cnkgewogICAgICAgICB2b2lkIHJlZ2lzdGVyRmlsZUJsb2JVUkwoY29uc3QgVVJMJiwg
UmVmPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiwgY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBT
dHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAg
ICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYsIFZlY3RvcjxCbG9iUGFydD4mJiwg
Y29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsg
fQotICAgICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTChjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNy
Y1VSTCwgY29uc3QgV2ViQ29yZTo6Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kmKSBmaW5hbCB7IEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisgICAgICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0
IFVSTCYsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBQb2xpY3lDb250YWluZXImKSBmaW5hbCB7
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAgICAgICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0
aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxC
bG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFs
IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxG
b3JTbGljZShjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBs
b25nIGxvbmcgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbCB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyB9CiAgICAgICAgIHZvaWQgdW5yZWdpc3RlckJsb2JVUkwoY29uc3QgVVJM
JikgZmluYWwgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuY3BwCmluZGV4IDRmZTQ1
ZmYxMDk0ODgzMGY4NzQ4YWQxOGQ3NjA4MTMwMzkzYWU5NDguLmZhOGRiOGRhNWE0YjBlNTc4NWRk
NWJhNDdmZTEzZWVmODBkNjVlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5jcHAKQEAgLTU2LDkgKzU2LDkgQEAgdm9p
ZCBCbG9iUmVnaXN0cnlQcm94eTo6cmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBWZWN0
b3I8QmxvYlBhcnQ+JiYgYmxvYlAKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlZ2lzdGVyQmxvYlVSTCh1cmwsIGJsb2JQYXJ0
cywgY29udGVudFR5cGUpLCAwKTsKIH0KIAotdm9pZCBCbG9iUmVnaXN0cnlQcm94eTo6cmVnaXN0
ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NP
cmlnaW5PcGVuZXJQb2xpY3kmIGNvb3ApCit2b2lkIEJsb2JSZWdpc3RyeVByb3h5OjpyZWdpc3Rl
ckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3JjVVJMLCBjb25zdCBQb2xpY3lD
b250YWluZXImIHBvbGljeUNvbnRhaW5lcikKIHsKLSAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNz
YWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlZ2lzdGVyQmxvYlVSTEZyb21V
UkwgeyB1cmwsIHNyY1VSTCwgY29vcCB9LCAwKTsKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNz
YWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlZ2lzdGVyQmxvYlVSTEZyb21V
UkwgeyB1cmwsIHNyY1VSTCwgcG9saWN5Q29udGFpbmVyIH0sIDApOwogfQogCiB2b2lkIEJsb2JS
ZWdpc3RyeVByb3h5OjpyZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5RmlsZUJhY2tlZChjb25zdCBV
UkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxXZWJDb3JlOjpCbG9iRGF0YUZpbGVS
ZWZlcmVuY2U+JiYgZmlsZSwgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRmlsZUFQSS9CbG9iUmVnaXN0cnlQcm94eS5oCmluZGV4
IDBiMWMxNzhhODMwY2MwYTJiMDM5YzRhMTRhYTQyMzAyZGNkNzM4YzYuLmYwNDlkNjk5ZGQ3MGQ5
NzA0NTBhMzQwZDQyMGZiNjFmZDVmOWE0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9GaWxlQVBJL0Jsb2JSZWdpc3RyeVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0ZpbGVBUEkvQmxvYlJlZ2lzdHJ5UHJveHkuaApAQCAtMzMsNyArMzMsNyBAQCBj
bGFzcyBCbG9iUmVnaXN0cnlQcm94eSBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpCbG9iUmVnaXN0
cnkgewogcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJGaWxlQmxvYlVSTChjb25zdCBVUkwmLCBS
ZWY8V2ViQ29yZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiYmLCBjb25zdCBTdHJpbmcmIHBhdGgs
IGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsOwogICAgIHZvaWQgcmVnaXN0ZXJCbG9i
VVJMKGNvbnN0IFVSTCYsIFZlY3RvcjxXZWJDb3JlOjpCbG9iUGFydD4mJiwgY29uc3QgU3RyaW5n
JiBjb250ZW50VHlwZSkgZmluYWw7Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJM
JiwgY29uc3QgVVJMJiBzcmNVUkwsIGNvbnN0IFdlYkNvcmU6OkNyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5JikgZmluYWw7CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiwgY29uc3Qg
VVJMJiBzcmNVUkwsIGNvbnN0IFdlYkNvcmU6OlBvbGljeUNvbnRhaW5lciYpIGZpbmFsOwogICAg
IHZvaWQgcmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQoY29uc3QgVVJMJiwgY29u
c3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxXZWJDb3JlOjpCbG9iRGF0YUZpbGVSZWZlcmVuY2U+JiYs
IGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsOwogICAgIHZvaWQgdW5yZWdpc3RlckJs
b2JVUkwoY29uc3QgVVJMJikgZmluYWw7CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxGb3JTbGlj
ZShjb25zdCBVUkwmLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBsb25nIHN0YXJ0LCBsb25nIGxv
bmcgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5tbQppbmRleCBmMGZiYTNlZDgxNWI3NjZiOGFjZTk5ZjVlNjhmM2MzOGE4ODYz
OWQyLi4zODdlNDI2ZmQ4YzYwMGQ5YzI3MzI0YmJjOWYyN2Y4ZGY1NzhhMjBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLm1tCkBAIC04NSw3ICs4NSw3IEBAIGNsYXNzIFdlYkJsb2JSZWdp
c3RyeSBmaW5hbCA6IHB1YmxpYyBCbG9iUmVnaXN0cnkgewogcHJpdmF0ZToKICAgICB2b2lkIHJl
Z2lzdGVyRmlsZUJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIFJlZjxCbG9iRGF0YUZpbGVSZWZlcmVu
Y2U+JiYgcmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBl
KSBmaW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyRmlsZUJsb2JVUkwodXJsLCBXVEZNb3Zl
KHJlZmVyZW5jZSksIGNvbnRlbnRUeXBlKTsgfQogICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNv
bnN0IFVSTCYgdXJsLCBWZWN0b3I8QmxvYlBhcnQ+JiYgcGFydHMsIGNvbnN0IFN0cmluZyYgY29u
dGVudFR5cGUpIGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgV1RG
TW92ZShwYXJ0cyksIGNvbnRlbnRUeXBlKTsgfQotICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgQ3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3kmIGNvb3ApIGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwg
c3JjVVJMLCBjb29wKTsgfQorICAgIHZvaWQgcmVnaXN0ZXJCbG9iVVJMKGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBVUkwmIHNyY1VSTCwgY29uc3QgUG9saWN5Q29udGFpbmVyJiBwb2xpY3lDb250YWlu
ZXIpIGZpbmFsIHsgbV9ibG9iUmVnaXN0cnkucmVnaXN0ZXJCbG9iVVJMKHVybCwgc3JjVVJMLCBw
b2xpY3lDb250YWluZXIpOyB9CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkxPcHRpb25hbGx5Rmls
ZUJhY2tlZChjb25zdCBVUkwmIHVybCwgY29uc3QgVVJMJiBzcmNVUkwsIFJlZlB0cjxCbG9iRGF0
YUZpbGVSZWZlcmVuY2U+JiYgcmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBm
aW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2Vk
KHVybCwgc3JjVVJMLCBXVEZNb3ZlKHJlZmVyZW5jZSksIGNvbnRlbnRUeXBlLCB7IH0pOyB9CiAg
ICAgdm9pZCByZWdpc3RlckJsb2JVUkxGb3JTbGljZShjb25zdCBVUkwmIHVybCwgY29uc3QgVVJM
JiBzcmNVUkwsIGxvbmcgbG9uZyBzdGFydCwgbG9uZyBsb25nIGVuZCwgY29uc3QgU3RyaW5nJiBj
b250ZW50VHlwZSkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkxGb3JTbGlj
ZSh1cmwsIHNyY1VSTCwgc3RhcnQsIGVuZCwgY29udGVudFR5cGUpOyB9CiAgICAgdm9pZCB1bnJl
Z2lzdGVyQmxvYlVSTChjb25zdCBVUkwmIHVybCkgZmluYWwgeyBtX2Jsb2JSZWdpc3RyeS51bnJl
Z2lzdGVyQmxvYlVSTCh1cmwpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRl
eCAzOGI2ODM5NDBjOGRmOGZiZjEyZTRkNzQ1OWY0MGZhNDc5MDdlNjcxLi4wNTQ1MDY1ODYzNzNm
MDkwNmMzZTkzZTRiMzQxOTM5NWY2YmM4OGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5jcHAKQEAgLTgxLDcgKzgxLDcgQEAgY2xhc3MgV2ViQmxvYlJlZ2lzdHJ5IGZpbmFsIDogcHVi
bGljIEJsb2JSZWdpc3RyeSB7CiBwcml2YXRlOgogICAgIHZvaWQgcmVnaXN0ZXJGaWxlQmxvYlVS
TChjb25zdCBVUkwmIHVybCwgUmVmPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4mJiByZWZlcmVuY2Us
IGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9ibG9i
UmVnaXN0cnkucmVnaXN0ZXJGaWxlQmxvYlVSTCh1cmwsIFdURk1vdmUocmVmZXJlbmNlKSwgY29u
dGVudFR5cGUpOyB9CiAgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIFZl
Y3RvcjxCbG9iUGFydD4mJiBwYXJ0cywgY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSkgZmluYWwg
eyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBXVEZNb3ZlKHBhcnRzKSwgY29u
dGVudFR5cGUpOyB9Ci0gICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFVSTCYgc3JjVVJMLCBjb25zdCBDcm9zc09yaWdpbk9wZW5lclBvbGljeSYgY29vcCkgZmlu
YWwgeyBtX2Jsb2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkwsIGNvb3ApOyB9
CisgICAgdm9pZCByZWdpc3RlckJsb2JVUkwoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFVSTCYgc3Jj
VVJMLCBjb25zdCBQb2xpY3lDb250YWluZXImIHBvbGljeUNvbnRhaW5lcikgZmluYWwgeyBtX2Js
b2JSZWdpc3RyeS5yZWdpc3RlckJsb2JVUkwodXJsLCBzcmNVUkwsIHBvbGljeUNvbnRhaW5lcik7
IH0KICAgICB2b2lkIHJlZ2lzdGVyQmxvYlVSTE9wdGlvbmFsbHlGaWxlQmFja2VkKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgUmVmUHRyPEJsb2JEYXRhRmlsZVJlZmVyZW5jZT4m
JiByZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpIGZpbmFsIHsgbV9ibG9iUmVn
aXN0cnkucmVnaXN0ZXJCbG9iVVJMT3B0aW9uYWxseUZpbGVCYWNrZWQodXJsLCBzcmNVUkwsIFdU
Rk1vdmUocmVmZXJlbmNlKSwgY29udGVudFR5cGUsIHsgfSk7IH0KICAgICB2b2lkIHJlZ2lzdGVy
QmxvYlVSTEZvclNsaWNlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBVUkwmIHNyY1VSTCwgbG9uZyBs
b25nIHN0YXJ0LCBsb25nIGxvbmcgZW5kLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKSBmaW5h
bCB7IG1fYmxvYlJlZ2lzdHJ5LnJlZ2lzdGVyQmxvYlVSTEZvclNsaWNlKHVybCwgc3JjVVJMLCBz
dGFydCwgZW5kLCBjb250ZW50VHlwZSk7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJCbG9iVVJMKGNv
bnN0IFVSTCYgdXJsKSBmaW5hbCB7IG1fYmxvYlJlZ2lzdHJ5LnVucmVnaXN0ZXJCbG9iVVJMKHVy
bCk7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA0N2U3ODc4YWM3ODhjYTA5NzJhYzFhODU4M2NjYWEyZTU1ZjA5YjVlLi43
MGIwN2YzN2YyN2JhYzIxODIyZGI1ZjI1OGNkYTg5YTMzNTQ0NGFiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjEtMDgtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeSBzdXBwb3J0IGZvciBCbG9iIFVS
THMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTA0
MQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgVXBk
YXRlIHRlc3QgZXhwZWN0YXRpb25zIHRvIHVuc2tpcCB0ZXN0cyB0aGF0IGFyZSBub3cgcGFzc2lu
Zy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDgtMTMgIEF5dW1pIEtv
amltYSAgPGF5dW1pX2tvamltYUBhcHBsZS5jb20+CiAKICAgICAgICAgWyBXaW4gRVdTIF0gaHR0
cC90ZXN0cy9taXNjL3dlYnRpbWluZy1zbG93LWxvYWQucHkgaXMgZmFpbGluZy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGJiODY3MDBiYjg5NjdhZmMwYmNmMmFlYjEyY2E3Y2Nm
MWNhMmFiOWEuLjlkOTI3ZjEyNjVhMzczY2JmZjVkMTY2ZTI5YzFkMTY4MmZkNjQ3NjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA4LTEzICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENyb3NzLU9yaWdp
bi1FbWJlZGRlci1Qb2xpY3kgc3VwcG9ydCBmb3IgQmxvYiBVUkxzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkwNDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIG5v
dyB0aGF0IG1vcmUgY2hlY2tzIGFyZSBwYXNzaW5nLgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9ibG9iLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5L2Nyb3NzLW9yaWdpbi1pc29sYXRlZC1wZXJtaXNzaW9uLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmln
aW4tb3BlbmVyLXBvbGljeS9jb2VwLWJsb2ItcG9wdXAuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAy
MDIxLTA4LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODEwMDkuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBkM2UzMjgzZmRhNGZlOTVkZTNkYWNmMjFkZWViNzQ1YTBhMTNhNTQzLi5lNGY3MzVlZWQ5
ZGE4M2Y0YjQwOWJmNDAzZTdkZDNjNWVhYWUwZGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQw
MSw2ICs0MDEsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50ZXJmYWNlL2xvYwogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFj
ZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXItbm9uLWJyb2tlbi13ZWlyZC5odG1sIFsgRHVtcEpT
Q29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVj
dHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvc2FuZGJveGluZy9zYW5kYm94LWRpc2FsbG93LXBv
cHVwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Jsb2IuaHR0
cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvbmF2aWdhdGUtdG8t
YWJvdXRibGFuay5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGlj
eS9uYXZpZ2F0ZS10b3AtdG8tYWJvdXRibGFuay5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxv
Z0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lLW5ldHdvcmstZXJy
b3Iuc3ViLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQpAQCAtNzIyLDExICs3MjMs
NiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVt
YmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L25vLWh0dHBzLmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1i
ZWRkZXItcG9saWN5L25vLXNlY3VyZS1jb250ZXh0Lmh0bWwgWyBTa2lwIF0KIAotIyBDT0VQIHRl
c3QgdGltaW5nIG91dCBkdWUgdG8gbGFjayBvZiBCbG9iIFVSTCBzdXBwb3J0LgotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kv
YmxvYi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0ZWQt
cGVybWlzc2lvbi5odHRwcy5odG1sIFsgU2tpcCBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29lcC1ibG9iLXBvcHVwLmh0
dHBzLmh0bWwgWyBTa2lwIF0KLQogIyBUaGlzIHRlc3QgbWFrZXMgdGhlIGFzc3VtcHRpb24gdGhh
dCBnZXRfaG9zdF9pbmZvKCkuUkVNT1RFX09SSUdJTiBpcyBzYW1lLXNpdGUsIHdoaWNoIGlzIG5v
dCB0cnVlIGZvcgogIyBvdXIgbGF5b3V0IHRlc3RzLiBXZSBtYWludGFpbiBvdXIgb3duIHZlcnNp
b24gb2YgdGhpcyB0ZXN0IGluIGh0dHAvd3B0LgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVxdWlyZS1jb3JwLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Jsb2IuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggZmQwNDU2MTZlNDhkYjE5MmQyMjgzY2M4NWRmNThiOTI1MTk1ZDRkOS4uMGFm
OGM0NzMxNDNmODg2Mjk1NmU2MzBkY2RlODU5MTM5NjNhNzlhZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1l
bWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3kvYmxvYi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTAgQEAKLUNPTlNP
TEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvY2U3NTJmNzgtOWY1NC00MTkyLTg4NWYtZDMzODIyMmRiZjg5JyBpbiBhIGZyYW1lIGJlY2F1
c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogUmVm
dXNlZCB0byBkaXNwbGF5ICdibG9iOmh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvMmQ2MDk0ODQtZmM4
Yy00MTYyLWI0NTEtNWU1YTYwY2E2ZmIwJyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3Jp
Z2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5
ICdibG9iOmh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvZDZjNjliMWItYjllMi00NjhmLWFmZDUtM2Vl
MGNhMWYyNmNkJyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBv
bGljeS4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdibG9iOmh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvYTJmNDhmNzQtYzExNS00NTM1LTg5NDUtODQ1NTQwZDA4MjYwJyBpbiBh
IGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUg
TUVTU0FHRTogUmVmdXNlZCB0byBkaXNwbGF5ICdibG9iOmh0dHBzOi8vMTI3LjAuMC4xOjk0NDMv
ZTQ2MzUyZDgtNGYzOS00MzQ4LWFkZGMtY2YzYmU0YzI3MWQ1JyBpbiBhIGZyYW1lIGJlY2F1c2Ug
b2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNl
ZCB0byBkaXNwbGF5ICdibG9iOmh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvZDRiNjhjOGItZTc0ZS00
N2E1LWEwOGQtNjEyYmYwZDcwOWQ3JyBpbiBhIGZyYW1lIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2lu
LUVtYmVkZGVyLVBvbGljeS4KIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBu
dWxsCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IDIgZHVwbGljYXRlIHRlc3QgbmFt
ZXM6ICJDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRw
czovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZSIsICJDcm9zcy1Pcmln
aW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5
NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZSIKIAotVElNRU9VVCBDcm9zcy1PcmlnaW4tRW1i
ZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlu
IHN1YmZyYW1lIHZpYSBzdWJmcmFtZSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBDcm9zcy1Pcmln
aW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovL2xvY2FsaG9zdDo5
NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZSBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBDcm9z
cy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4w
LjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZSBUZXN0IHRpbWVkIG91dAotVElNRU9V
VCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczov
LzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZSBUZXN0IHRpbWVkIG91dAot
VElNRU9VVCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBo
dHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZSBUZXN0IHRpbWVk
IG91dAotVElNRU9VVCBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwg
ZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZSBUZXN0
IHRpbWVkIG91dAorUEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBV
UkwgZnJvbSBodHRwczovL2xvY2FsaG9zdDo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZQor
UEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRw
czovL2xvY2FsaG9zdDo5NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZQorUEFTUyBDcm9zcy1P
cmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAu
MTo5NDQzIGluIHN1YmZyYW1lIHZpYSBzdWJmcmFtZQorUEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRk
ZXItUG9saWN5IGFuZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1
YmZyYW1lIHZpYSBuYXZpZ2F0ZQorUEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFu
ZCBibG9iOiBVUkwgZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBz
dWJmcmFtZQorUEFTUyBDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5IGFuZCBibG9iOiBVUkwg
ZnJvbSBodHRwczovLzEyNy4wLjAuMTo5NDQzIGluIHN1YmZyYW1lIHZpYSBuYXZpZ2F0ZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcm9zcy1vcmlnaW4taXNvbGF0ZWQtcGVy
bWlzc2lvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcm9zcy1v
cmlnaW4taXNvbGF0ZWQtcGVybWlzc2lvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZTcwMDU5
MDNhYzc5OTQ4MjJmZjc3MmI0NDZjYzcyOGQ4NTYxNTg1Mi4uM2I3NzY2MTMzODk0MDdlZGM0Mzgy
ZDhiODJlNmY3YjBkOWYyZTcyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3Jv
c3Mtb3JpZ2luLWlzb2xhdGVkLXBlcm1pc3Npb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmln
aW4tZW1iZWRkZXItcG9saWN5L2Nyb3NzLW9yaWdpbi1pc29sYXRlZC1wZXJtaXNzaW9uLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMSwxOCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQg
dG8gbG9hZCAnYmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzLzA2MjYxMTZlLTM0MTQtNGYzNS1i
ZDFlLTAwN2YxMzEyYjc5ZScgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVy
LVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogV29ya2VyIGxvYWQgd2FzIGJsb2NrZWQgYnkgQ3Jv
c3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeQotQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBi
bG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvMDYyNjExNmUtMzQxNC00ZjM1LWJkMWUtMDA3ZjEz
MTJiNzllIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCi1DT05TT0xFIE1FU1NBR0U6IFJl
ZnVzZWQgdG8gbG9hZCAnYmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzL2E5OWViMzQxLTQ2NDAt
NDAzYS1hOGY0LWMyZmNmMjhlZGUyMCcgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3JpZ2luLUVt
YmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogV29ya2VyIGxvYWQgd2FzIGJsb2NrZWQg
YnkgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeQotQ09OU09MRSBNRVNTQUdFOiBDYW5ub3Qg
bG9hZCBibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvYTk5ZWIzNDEtNDY0MC00MDNhLWE4ZjQt
YzJmY2YyOGVkZTIwIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCi1DT05TT0xFIE1FU1NB
R0U6IFJlZnVzZWQgdG8gbG9hZCAnYmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzLzkyOWQ2MzNl
LWNlNDgtNDNmZi1iODlkLWU0ZTIwZmNhNjc1Mycgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jvc3MtT3Jp
Z2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogV29ya2VyIGxvYWQgd2FzIGJs
b2NrZWQgYnkgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeQotQ09OU09MRSBNRVNTQUdFOiBD
YW5ub3QgbG9hZCBibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvOTI5ZDYzM2UtY2U0OC00M2Zm
LWI4OWQtZTRlMjBmY2E2NzUzIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCi1DT05TT0xF
IE1FU1NBR0U6IFJlZnVzZWQgdG8gbG9hZCAnYmxvYjpodHRwczovL2xvY2FsaG9zdDo5NDQzLzBj
OGI2OTE0LTU4ZGItNDE3Yy05ZTBjLWU3ZWNhY2M0YTE2YScgd29ya2VyIGJlY2F1c2Ugb2YgQ3Jv
c3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeS4KLUNPTlNPTEUgTUVTU0FHRTogV29ya2VyIGxvYWQg
d2FzIGJsb2NrZWQgYnkgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeQotQ09OU09MRSBNRVNT
QUdFOiBDYW5ub3QgbG9hZCBibG9iOmh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvMGM4YjY5MTQtNThk
Yi00MTdjLTllMGMtZTdlY2FjYzRhMTZhIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCi0K
LQotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCiAKIEZBSUwgZnJhbWU6
IG9yaWdpbiA9IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMsIHZhbHVlID0gdW5kZWZpbmVkIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZQogRkFJTCBmcmFtZTogb3JpZ2lu
ID0gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MywgdmFsdWUgPSAqIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIHRydWUgYnV0IGdvdCBmYWxzZQpAQCAtMzAsMTAgKzE1LDEwIEBAIFBBU1MgZGVkaWNhdGVk
IHdvcmtlcjogc2NoZW1lID0gZGF0YSwgdmFsdWUgPSB1bmRlZmluZWQKIFBBU1MgZGVkaWNhdGVk
IHdvcmtlcjogc2NoZW1lID0gZGF0YSwgdmFsdWUgPSAqCiBQQVNTIGRlZGljYXRlZCB3b3JrZXI6
IHNjaGVtZSA9IGRhdGEsIHZhbHVlID0gc2VsZgogUEFTUyBkZWRpY2F0ZWQgd29ya2VyOiBzY2hl
bWUgPSBkYXRhLCB2YWx1ZSA9IChcKQotVElNRU9VVCBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUg
PSBibG9iLCB2YWx1ZSA9IHVuZGVmaW5lZCBUZXN0IHRpbWVkIG91dAotVElNRU9VVCBkZWRpY2F0
ZWQgd29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9ICogVGVzdCB0aW1lZCBvdXQKLVRJTUVP
VVQgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gYmxvYiwgdmFsdWUgPSBzZWxmIFRlc3QgdGlt
ZWQgb3V0Ci1USU1FT1VUIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVlID0g
KFwpIFRlc3QgdGltZWQgb3V0CitGQUlMIGRlZGljYXRlZCB3b3JrZXI6IHNjaGVtZSA9IGJsb2Is
IHZhbHVlID0gdW5kZWZpbmVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHRydWUgYnV0IGdvdCBm
YWxzZQorRkFJTCBkZWRpY2F0ZWQgd29ya2VyOiBzY2hlbWUgPSBibG9iLCB2YWx1ZSA9ICogYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlCitGQUlMIGRlZGljYXRlZCB3
b3JrZXI6IHNjaGVtZSA9IGJsb2IsIHZhbHVlID0gc2VsZiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCB0cnVlIGJ1dCBnb3QgZmFsc2UKK1BBU1MgZGVkaWNhdGVkIHdvcmtlcjogc2NoZW1lID0gYmxv
YiwgdmFsdWUgPSAoXCkKIEZBSUwgc2hhcmVkIHdvcmtlcjogd2l0aENvb3BDb2VwID0gZmFsc2Ug
Q2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiBGQUlMIHNoYXJlZCB3b3JrZXI6IHdp
dGhDb29wQ29lcCA9IHRydWUgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCiBGQUlM
IHNlcnZpY2Ugd29ya2VyOiB3aXRoQ29vcENvZXAgPSBmYWxzZSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAoYm9vbGVhbikgZmFsc2UgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb2VwLWJsb2ItcG9wdXAuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Ny
b3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggNDA2ZmU2OTE1Y2VlZGZjYmFiYmE3YjhhNzk2OWJiZjdkMzEzYWY2Mi4uNzZmYmQ2
ZTFmN2JjNzg4MzlmM2FjNDdlMmI5NWZmNDc1NDE0NjY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVu
ZXItcG9saWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1v
cGVuZXItcG9saWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBDYW5jZWxsZWQgbG9hZCB0byBodHRwczovLzEyNy4w
LjAuMTo5NDQzL2NvbW1vbi9ibGFuay5odG1sIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIHJlc291
cmNlJ3MgQ3Jvc3MtT3JpZ2luLVJlc291cmNlLVBvbGljeSByZXNwb25zZSBoZWFkZXIuCitDT05T
T0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovLzEyNy4wLjAuMTo5NDQz
L2NvbW1vbi9ibGFuay5odG1sIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xF
IE1FU1NBR0U6IENhbmNlbGxlZCBsb2FkIHRvIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9u
L2JsYW5rLmh0bWwgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgcmVzb3VyY2UncyBDcm9zcy1Pcmln
aW4tUmVzb3VyY2UtUG9saWN5IHJlc3BvbnNlIGhlYWRlci4KK0NPTlNPTEUgTUVTU0FHRTogRmV0
Y2ggQVBJIGNhbm5vdCBsb2FkIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2JsYW5rLmh0
bWwgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogQ2FuY2Vs
bGVkIGxvYWQgdG8gaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBiZWNh
dXNlIGl0IHZpb2xhdGVzIHRoZSByZXNvdXJjZSdzIENyb3NzLU9yaWdpbi1SZXNvdXJjZS1Qb2xp
Y3kgcmVzcG9uc2UgaGVhZGVyLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fubm90IGxv
YWQgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBkdWUgdG8gYWNjZXNz
IGNvbnRyb2wgY2hlY2tzLgogCi1GQUlMIENPT1ArQ09FUCBibG9iIFVSTCBwb3B1cDogd2luZG93
Lm9wZW4oKSBhc3NlcnRfdHJ1ZTogQ3Jvc3Mtb3JpZ2luIHdpdGhvdXQgQ09SUCBkaWQgbm90IGZh
aWwgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgQ09PUCtDT0VQIGJsb2IgVVJMIHBvcHVw
OiA8YT4gYXNzZXJ0X3RydWU6IENyb3NzLW9yaWdpbiB3aXRob3V0IENPUlAgZGlkIG5vdCBmYWls
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIENPT1ArQ09FUCBibG9iIFVSTCBwb3B1cDog
PGEgcmVsPW5vb3BlbmVyPiBhc3NlcnRfdHJ1ZTogQ3Jvc3Mtb3JpZ2luIHdpdGhvdXQgQ09SUCBk
aWQgbm90IGZhaWwgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgQ09PUCtDT0VQIGJsb2Ig
VVJMIHBvcHVwOiB3aW5kb3cub3BlbigpCitQQVNTIENPT1ArQ09FUCBibG9iIFVSTCBwb3B1cDog
PGE+CitQQVNTIENPT1ArQ09FUCBibG9iIFVSTCBwb3B1cDogPGEgcmVsPW5vb3BlbmVyPgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmY4
NDYzMzc1ZGVkZDYyZWFiOWQwNzI5MjI2MGFiMDNlZjJkN2VhNS4uOTg5ZTdkY2VkYzM2OGM4MmVm
MmEzN2Y1Y2NjNTMwYTRjMGY2MjBlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzczLDYgKzM3Myw3IEBAIGh0dHAvd3B0L3dlYnJ0Yy90
cmFuc2Zlci1kYXRhY2hhbm5lbC1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sIFsgU2tpcCBdCiAK
ICMgTm8gQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeSBpbiBXSzEuCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSBbIFNr
aXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1v
cGVuZXItcG9saWN5L2NvZXAtYmxvYi1wb3B1cC5odHRwcy5odG1sIFsgU2tpcCBdCiBodHRwL3dw
dC9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVxdWlyZS1jb3JwLmh0dHBzLmh0
bWwgWyBTa2lwIF0KIAogIyBRdW90YSBjaGVjayBtaXNzaW5nIGluIFdLMQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1Y2I5OTQ5MzQ5MTQzODE2N2U2NGUz
YjZhNGUzNjY0ZWVhYjgxOWYzLi5jMjY4Njc1NTVjZmUzNzQ4OTU5MDVlYWFkODE2YzBmNWY4NjFi
ODRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzcy
Nyw2ICszNzI3LDcgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrbGV0cy9w
YWludC13b3JrbGV0LXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGkKIAogIyBObyBDcm9zcy1Pcmln
aW4tRW1iZWRkZXItUG9saWN5IGluIFdLMS4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5IFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29l
cC1ibG9iLXBvcHVwLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGh0dHAvd3B0L2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9yZXF1aXJlLWNvcnAuaHR0cHMuaHRtbCBbIFNraXAgXQogCiAj
IE5vIGhlYWRlciBmaWx0ZXJpbmcgZm9yIFdLMQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>