<?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>224550</bug_id>
          
          <creation_ts>2021-04-14 08:26:19 -0700</creation_ts>
          <short_desc>Use OptionSet for MediaProducer::MutedStateFlags</short_desc>
          <delta_ts>2021-05-03 01:13:01 -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>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1750118</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-14 08:26:19 -0700</bug_when>
    <thetext>Use OptionSet for MediaProducer::MediaStateFlags and MediaProducer::MutedStateFlags.
This would prevent things like https://bugs.webkit.org/show_bug.cgi?id=224548.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752754</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-21 08:27:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/76960294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755657</commentid>
    <comment_count>2</comment_count>
      <attachid>427410</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-30 05:51:59 -0700</bug_when>
    <thetext>Created attachment 427410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755672</commentid>
    <comment_count>3</comment_count>
      <attachid>427415</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-30 07:15:27 -0700</bug_when>
    <thetext>Created attachment 427415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755678</commentid>
    <comment_count>4</comment_count>
      <attachid>427418</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-30 07:53:50 -0700</bug_when>
    <thetext>Created attachment 427418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755679</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-04-30 07:54:41 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755683</commentid>
    <comment_count>6</comment_count>
      <attachid>427420</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-30 08:08:02 -0700</bug_when>
    <thetext>Created attachment 427420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755739</commentid>
    <comment_count>7</comment_count>
      <attachid>427420</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-30 10:23:07 -0700</bug_when>
    <thetext>Comment on attachment 427420
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1018
&gt; -        mutedState = WebCore::MediaProducer::AudioCaptureIsMuted;
&gt; +        mutedState.add(WebCore::MediaProducer::MutedState::AudioCaptureIsMuted);

It looks like this fixes a potential bug, nice!

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1039
&gt; -        mutedState = WebCore::MediaProducer::VideoCaptureIsMuted;
&gt; +        mutedState.add(WebCore::MediaProducer::MutedState::VideoCaptureIsMuted);

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756105</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-03 00:07:56 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #7)
&gt; Comment on attachment 427420 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=427420&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1018
&gt; &gt; -        mutedState = WebCore::MediaProducer::AudioCaptureIsMuted;
&gt; &gt; +        mutedState.add(WebCore::MediaProducer::MutedState::AudioCaptureIsMuted);
&gt; 
&gt; It looks like this fixes a potential bug, nice!
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1039
&gt; &gt; -        mutedState = WebCore::MediaProducer::VideoCaptureIsMuted;
&gt; &gt; +        mutedState.add(WebCore::MediaProducer::MutedState::VideoCaptureIsMuted);
&gt; 
&gt; Ditto

Good point, I updated the API test accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756106</commentid>
    <comment_count>9</comment_count>
      <attachid>427541</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-05-03 00:08:22 -0700</bug_when>
    <thetext>Created attachment 427541
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756113</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-03 01:12:59 -0700</bug_when>
    <thetext>Committed r276892 (237238@main): &lt;https://commits.webkit.org/237238@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427541.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427410</attachid>
            <date>2021-04-30 05:51:59 -0700</date>
            <delta_ts>2021-04-30 07:15:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224550-20210430145157.patch</filename>
            <type>text/plain</type>
            <size>20085</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZmZDk4OWZkYzBjM2U1
MWJmNjNhZDE4YWI2NjUwMTgxYTUxNjk0ZC4uNGMwZDRlNzQ0ZmFmYjRlOWI2MzczNDllNzMxYzY5
OWEwYjJiZTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVmYWN0b3JpbmcgdG8gaW1wcm92ZSB0eXBlIHNhZmV0eS4KKyAgICAgICAgTm8gY2hhbmdl
IG9mIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNh
cHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSk6CisgICAgICAgICogcGFnZS9NZWRpYVBy
b2R1Y2VyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojppc0F1ZGlvTXV0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXNNZWRpYUNh
cHR1cmVNdXRlZCBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRQYWdlTXV0ZWQpOgorCiAyMDIxLTA0LTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
Mjc2NjMzKTogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0ZWQu
aHRtbCBpcyBjb25zaXN0ZW50bHkgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhNjA0MTQzNzcwMTUx
MzY2MDMzZTdlYmM1YWZlNzMwZTNhZTA3MThlLi5kMzg4NDVhZDEyODI3NTA1NjE0ZjFmNjg0MWQz
ZGFkYTEyNGViMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRNdXRlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBzZXRNaWNyb3Bob25lQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgc2V0Q2FtZXJhQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0p
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldFBhZ2VNdXRlZDpdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJLaXQ6OnRvV0tNZWRp
YU11dGVkU3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUFjdGl2aXR5U3RhdGUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAyMS0wNC0yNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1lbW9yeSBhbGxvY2F0aW9uIGNo
ZWNrcyBpbiBtb3JlIHJlYWx0aW1lIGF1ZGlvIGNhcHR1cmUvcmVuZGVyaW5nIHBsYWNlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5jcHAKaW5kZXggNmMxZjE3YTAzZjc5MjI1MWE1MmJhOGFkNDAwMmRlOGFiYmE3YmU0Ny4u
MWI3NmI0ZmI4N2E1MzA4YTE4NDY4ZTQxNjYxMzRmMWY4NDc3NTdmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3Bw
CkBAIC00ODMsMTMgKzQ4MywxMyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1
cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQogCiAgICAgYXV0byog
YWN0aXZlQXVkaW9Tb3VyY2UgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24o
KS5hdWRpb0NhcHR1cmVGYWN0b3J5KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1
ZGlvU291cmNlICYmIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVB
dWRpb1NvdXJjZSwgZG9jdW1lbnQpKSB7Ci0gICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+
bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAgICAg
ICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdlLT5tdXRlZFN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpN
dXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkOwogICAgICAgICBhY3RpdmVBdWRpb1NvdXJj
ZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5z
ZXR0aW5ncygpLmludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkp
OwogICAgIH0KIAogICAgIGF1dG8qIGFjdGl2ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJj
ZSgpOwogICAgIGlmIChhY3RpdmVWaWRlb1NvdXJjZSAmJiBpc1NvdXJjZUNhcHR1cmluZ0ZvclRy
YWNrSW5Eb2N1bWVudCgqYWN0aXZlVmlkZW9Tb3VyY2UsIGRvY3VtZW50KSkgewotICAgICAgICBi
b29sIHBhZ2VNdXRlZCA9IHBhZ2UtPm11dGVkU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6OlZpZGVv
Q2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0
ZSgpICYgTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZDsKICAg
ICAgICAgYWN0aXZlVmlkZW9Tb3VyY2UtPnNldE11dGVkKHBhZ2VNdXRlZCB8fCBkb2N1bWVudC5o
aWRkZW4oKSk7CiAgICAgfQogI2Vsc2UKQEAgLTUwOSwxNCArNTA5LDE0IEBAIHZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSgpCiAKICAgICBzd2l0Y2ggKHNvdXJj
ZSgpLmRldmljZVR5cGUoKSkgewogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6
TWljcm9waG9uZToKLSAgICAgICAgbV9wcml2YXRlLT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0YXRl
KCkgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVJc011dGVkKTsKKyAgICAgICAgbV9wcml2
YXRlLT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0YXRlKCkuY29udGFpbnMoTWVkaWFQcm9kdWNlcjo6
TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCkpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYToKLSAgICAgICAgbV9wcml2YXRl
LT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1
cmVJc011dGVkKTsKKyAgICAgICAgbV9wcml2YXRlLT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0YXRl
KCkuY29udGFpbnMoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRl
ZCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlNjcmVlbjoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKLSAg
ICAgICAgbV9wcml2YXRlLT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0YXRlKCkgJiBNZWRpYVByb2R1
Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQo
cGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNj
cmVlbkNhcHR1cmVJc011dGVkKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU6OlVua25vd246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJv
ZHVjZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFQcm9kdWNlci5oCmluZGV4IGIxN2U2
OWYyMTA2YWE5Y2YyOGZhNGQ1MjYzZjk1MmE3N2ZjODVhMzAuLjI0MDMyNzY1NzJjOTEwZmVlMDY3
MTk0YjY0NWQyMWQ4YWE5NWYwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVk
aWFQcm9kdWNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFQcm9kdWNlci5oCkBA
IC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRz
Lmg+CisjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTc1LDE3ICs3NiwxNiBAQCBwdWJsaWM6CiAgICAg
ICAgIEF1ZGlvVmlkZW8KICAgICB9OwogCi0gICAgZW51bSBNdXRlZFN0YXRlIHsKLSAgICAgICAg
Tm9uZU11dGVkID0gMCwKKyAgICBlbnVtIGNsYXNzIE11dGVkU3RhdGUgewogICAgICAgICBBdWRp
b0lzTXV0ZWQgPSAxIDw8IDAsCiAgICAgICAgIEF1ZGlvQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDEs
CiAgICAgICAgIFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDIsCiAgICAgICAgIFNjcmVlbkNh
cHR1cmVJc011dGVkID0gMSA8PCAzLAotCi0gICAgICAgIEF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNN
dXRlZCA9IEF1ZGlvQ2FwdHVyZUlzTXV0ZWQgfCBWaWRlb0NhcHR1cmVJc011dGVkLAotICAgICAg
ICBNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkID0gQXVkaW9DYXB0dXJlSXNNdXRlZCB8IFZpZGVv
Q2FwdHVyZUlzTXV0ZWQgfCBTY3JlZW5DYXB0dXJlSXNNdXRlZCwKICAgICB9OwotICAgIHR5cGVk
ZWYgdW5zaWduZWQgTXV0ZWRTdGF0ZUZsYWdzOworCisgICAgdXNpbmcgTXV0ZWRTdGF0ZUZsYWdz
ID0gT3B0aW9uU2V0PE11dGVkU3RhdGU+OworICAgIHN0YXRpYyBjb25zdGV4cHIgTXV0ZWRTdGF0
ZUZsYWdzIEF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCA9IHsgTXV0ZWRTdGF0ZTo6QXVkaW9D
YXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCB9OworICAgIHN0
YXRpYyBjb25zdGV4cHIgTXV0ZWRTdGF0ZUZsYWdzIE1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQg
PSB7IE11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlZpZGVvQ2Fw
dHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkIH07CiAKICAgICB2
aXJ0dWFsIHZvaWQgcGFnZU11dGVkU3RhdGVEaWRDaGFuZ2UoKSA9IDA7CiAKQEAgLTEwNiw0ICsx
MDYsMTQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNZWRpYUNhcHR1cmVLaW5kPiB7CiAgICAgPjsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZT4geworICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGUsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6
OkF1ZGlvSXNNdXRlZCwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQKKyAgICA+OworfTsKKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAppbmRleCA2Yjc2Y2MxMTU4YzNmNmE0NDA4NzA0MDlmMTNmMGY3MjIxOTgz
MjM0Li5iMzY0ODFmMjEyNWJkMzY2Mzc0NGRjNzJkZjY3MjEwOTBjMDlkZDc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaApAQCAtNjk4LDggKzY5OCw4IEBAIHB1YmxpYzoKICAgICBNZWRpYVByb2R1Y2VyOjpNZWRp
YVN0YXRlRmxhZ3MgbWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZTsgfQog
ICAgIHZvaWQgdXBkYXRlSXNQbGF5aW5nTWVkaWEodWludDY0X3QpOwogICAgIE1lZGlhUHJvZHVj
ZXI6Ok11dGVkU3RhdGVGbGFncyBtdXRlZFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0
YXRlOyB9Ci0gICAgYm9vbCBpc0F1ZGlvTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3Rh
dGUgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQ7IH0KLSAgICBib29sIGlzTWVkaWFDYXB0
dXJlTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpN
ZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkOyB9OworICAgIGJvb2wgaXNBdWRpb011dGVkKCkgY29u
c3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3Rh
dGU6OkF1ZGlvSXNNdXRlZCk7IH0KKyAgICBib29sIGlzTWVkaWFDYXB0dXJlTXV0ZWQoKSBjb25z
dCB7IHJldHVybiBtX211dGVkU3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlcjo6TWVkaWFT
dHJlYW1DYXB0dXJlSXNNdXRlZCk7IH07CiAgICAgdm9pZCBzY2hlZHVsZVBsYXliYWNrQ29udHJv
bHNNYW5hZ2VyVXBkYXRlKCk7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHZvaWQgcGxheWJhY2tD
b250cm9sc01lZGlhRW5naW5lQ2hhbmdlZCgpOwpAQCAtOTUyLDcgKzk1Miw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2luTG93UXVhbGl0eUludGVycG9sYXRpb25Nb2RlIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fYXJlTWVtb3J5Q2FjaGVDbGllbnRDYWxsc0VuYWJsZWQgeyB0cnVlIH07CiAgICAg
ZmxvYXQgbV9tZWRpYVZvbHVtZSB7IDEgfTsKLSAgICBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRl
RmxhZ3MgbV9tdXRlZFN0YXRlIHsgTWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkIH07CisgICAgTWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG1fbXV0ZWRTdGF0ZTsKIAogICAgIGZsb2F0IG1f
cGFnZVNjYWxlRmFjdG9yIHsgMSB9OwogICAgIGZsb2F0IG1fem9vbWVkT3V0UGFnZVNjYWxlRmFj
dG9yIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGIyMzliZTFj
MzcyMGY4YzEzYzNjYWFlOGNlNjc1NzI5Zjk0ZDgyZjAuLmI5MzgyMjc0OGY2ODkyMWE1NDg1OTE3
OTNkNGFiY2ExMTc1ZDk1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAg
LTQ1ODYsMTQgKzQ1ODYsMTQgQEAgdm9pZCBJbnRlcm5hbHM6OnNldFBhZ2VNdXRlZChTdHJpbmdW
aWV3IHN0YXRlc1N0cmluZykKICAgICBpZiAoIWRvY3VtZW50KQogICAgICAgICByZXR1cm47CiAK
LSAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3Mgc3RhdGUgPSBNZWRp
YVByb2R1Y2VyOjpOb25lTXV0ZWQ7CisgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRT
dGF0ZUZsYWdzIHN0YXRlOwogICAgIGZvciAoU3RyaW5nVmlldyBzdGF0ZVN0cmluZyA6IHN0YXRl
c1N0cmluZy5zcGxpdCgnLCcpKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShzdGF0ZVN0cmluZywgImF1ZGlvIikpCi0gICAgICAgICAgICBzdGF0ZSB8PSBNZWRp
YVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQ7CisgICAgICAgICAgICBzdGF0ZS5hZGQoTWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKTsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKHN0YXRlU3RyaW5nLCAiY2FwdHVyZWRldmljZXMiKSkKLSAgICAg
ICAgICAgIHN0YXRlIHw9IE1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRl
ZDsKKyAgICAgICAgICAgIHN0YXRlLmFkZChNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2Fw
dHVyZUlzTXV0ZWQpOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
c3RhdGVTdHJpbmcsICJzY3JlZW5jYXB0dXJlIikpCi0gICAgICAgICAgICBzdGF0ZSB8PSBNZWRp
YVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgICAgIHN0YXRlLmFkZChN
ZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CiAgICAgfQog
CiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCA4YzJmYjBh
NTY0ZWMxODhiODkxOTBiYmI2M2UyN2MzZTI2ZGM4NGJkLi5jMmNhN2JiMzU3MWU0NDhiOTQxYTVm
MDA5NjRiZGM1ZmViYjUxMzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMjc1LDggKzI3NSwxMyBAQCBPcHRpb25hbDxX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzPiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNv
ZGUoSVBDOjpEZWNvZAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocGFyYW1ldGVycy5tZWRpYVZvbHVtZSkpCiAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm11dGVkKSkKKwor
ICAgIE9wdGlvbmFsPE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncz4gbXV0ZWRTdGF0ZUZs
YWdzOworICAgIGRlY29kZXIgPj4gbXV0ZWRTdGF0ZUZsYWdzOworICAgIGlmICghbXV0ZWRTdGF0
ZUZsYWdzKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHBhcmFtZXRlcnMubXV0
ZWQgPSAqbXV0ZWRTdGF0ZUZsYWdzOworCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0
ZXJzLm1heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tZWRpYVBsYXliYWNrSXNT
dXNwZW5kZWQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXgg
NDU1MDQ0NzgwNmY5NjNhNzBlNTQ0YjEyZGVjZWIxNGQxZjA2N2Q3Ny4uZjJlNzc3MWNiOGQxMjVm
ODYzM2E1OTBiZDk1ZjlkMmRlZjg5ZjY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwCkBAIC0yNzEyLDE0ICsyNzEyLDE0IEBAIHZvaWQgV0tQYWdlU2V0TWVkaWFW
b2x1bWUoV0tQYWdlUmVmIHBhZ2UsIGZsb2F0IHZvbHVtZSkKIAogdm9pZCBXS1BhZ2VTZXRNdXRl
ZChXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYU11dGVkU3RhdGUgbXV0ZWRTdGF0ZSkKIHsKLSAgICBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgY29yZVN0YXRlID0gV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkOworICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGVGbGFncyBjb3JlU3RhdGU7CiAKICAgICBpZiAobXV0ZWRTdGF0ZSAmIGtXS01l
ZGlhQXVkaW9NdXRlZCkKLSAgICAgICAgY29yZVN0YXRlIHw9IFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXI6OkF1ZGlvSXNNdXRlZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lzTXV0ZWQpOwogICAgIGlmIChtdXRlZFN0YXRlICYg
a1dLTWVkaWFDYXB0dXJlRGV2aWNlc011dGVkKQotICAgICAgICBjb3JlU3RhdGUgfD0gV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOworICAgICAgICBj
b3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJl
SXNNdXRlZCk7CiAgICAgaWYgKG11dGVkU3RhdGUgJiBrV0tNZWRpYVNjcmVlbkNhcHR1cmVNdXRl
ZCkKLSAgICAgICAgY29yZVN0YXRlIHw9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlNjcmVlbkNh
cHR1cmVJc011dGVkOworICAgICAgICBjb3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKIAogICAgIHRvSW1wbChwYWdl
KS0+c2V0TXV0ZWQoY29yZVN0YXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDEzMzc5M2Y0MTI5MTAzNjcwNjdlNjRlMjM3Yzcx
Nzc0ZjQyMzM3ODQuLmY5M2U1N2Q4MDA4NDU1Y2MwYzAwOTI3YzVjY2I0OGZkMjJiN2VlNjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAt
MTAxMiwxMCArMTAxMiwxMCBAQCBzdGF0aWMgV0tNZWRpYVBsYXliYWNrU3RhdGUgdG9XS01lZGlh
UGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZSBtZQogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIGF1dG8gbXV0ZWRTdGF0ZSA9IF9wYWdlLT5tdXRlZFN0YXRlRmxhZ3Mo
KTsKLSAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZSAmJiBtdXRlZFN0
YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZCkKLSAgICAg
ICAgbXV0ZWRTdGF0ZSBePSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVJc011
dGVkOworICAgIGlmIChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlKQorICAgICAg
ICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpB
dWRpb0NhcHR1cmVJc011dGVkKTsKICAgICBlbHNlIGlmIChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVy
ZVN0YXRlTXV0ZWQpCi0gICAgICAgIG11dGVkU3RhdGUgPSBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
OjpBdWRpb0NhcHR1cmVJc011dGVkOworICAgICAgICBtdXRlZFN0YXRlLmFkZChXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkKTsKICAgICBfcGFn
ZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRy
KGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogICAg
IH0pOwpAQCAtMTAzMywxMCArMTAzMywxMCBAQCBzdGF0aWMgV0tNZWRpYVBsYXliYWNrU3RhdGUg
dG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZSBtZQogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIGF1dG8gbXV0ZWRTdGF0ZSA9IF9wYWdlLT5tdXRlZFN0
YXRlRmxhZ3MoKTsKLSAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZSAm
JiBtdXRlZFN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRl
ZCkKLSAgICAgICAgbXV0ZWRTdGF0ZSBePSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpWaWRlb0Nh
cHR1cmVJc011dGVkOworICAgIGlmIChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZl
KQorICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsKICAgICBlbHNlIGlmIChzdGF0ZSA9PSBXS01l
ZGlhQ2FwdHVyZVN0YXRlTXV0ZWQpCi0gICAgICAgIG11dGVkU3RhdGUgPSBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVJc011dGVkOworICAgICAgICBtdXRlZFN0YXRlLmFkZChX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsK
ICAgICBfcGFnZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogICAgIH0pOwpAQCAtMzM0MCwxNCArMzM0MCwxNCBAQCBzdGF0aWMgaW5saW5lIE9wdGlv
blNldDxXZWJLaXQ6OkZpbmRPcHRpb25zPiB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdr
RmluZAogCiAtICh2b2lkKV9zZXRQYWdlTXV0ZWQ6KF9XS01lZGlhTXV0ZWRTdGF0ZSltdXRlZFN0
YXRlCiB7Ci0gICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNvcmVT
dGF0ZSA9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok5vbmVNdXRlZDsKKyAgICBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgY29yZVN0YXRlOwogCiAgICAgaWYgKG11dGVk
U3RhdGUgJiBfV0tNZWRpYUF1ZGlvTXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQoV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKTsKICAgICBpZiAo
bXV0ZWRTdGF0ZSAmIF9XS01lZGlhQ2FwdHVyZURldmljZXNNdXRlZCkKLSAgICAgICAgY29yZVN0
YXRlIHw9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRl
ZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0Fu
ZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwogICAgIGlmIChtdXRlZFN0YXRlICYgX1dLTWVkaWFTY3Jl
ZW5DYXB0dXJlTXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CiAKICAg
ICBfcGFnZS0+c2V0TXV0ZWQoY29yZVN0YXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW0KaW5kZXggNDRhODFkNDhiYTdjMTI0ZjJhMzgz
YmYzODA0YjQ5ODdjMDVhZTJkMy4uNzJjMWFiOGE0M2Q3ZDA4NjlmNTY2MGI2MjdiMGMyMGYyMjQ4
OTRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGls
aXRpZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRp
ZXMubW0KQEAgLTQ2LDEzICs0NiwxMSBAQCBfV0tNZWRpYUNhcHR1cmVTdGF0ZURlcHJlY2F0ZWQg
dG9XS01lZGlhQ2FwdHVyZVN0YXRlRGVwcmVjYXRlZChXZWJDb3JlOjpNZWRpYVBybwogX1dLTWVk
aWFNdXRlZFN0YXRlIHRvV0tNZWRpYU11dGVkU3RhdGUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TXV0ZWRTdGF0ZUZsYWdzIHN0YXRlKQogewogICAgIF9XS01lZGlhTXV0ZWRTdGF0ZSBtZWRpYU11
dGVkU3RhdGUgPSBfV0tNZWRpYU5vbmVNdXRlZDsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyOjpOb25lTXV0ZWQpCi0gICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8PSBfV0tN
ZWRpYU5vbmVNdXRlZDsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpB
dWRpb0lzTXV0ZWQpCisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0
ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKQogICAgICAgICBtZWRpYU11dGVkU3RhdGUgfD0gX1dLTWVk
aWFBdWRpb011dGVkOwogICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1
ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCkKICAgICAgICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9X
S01lZGlhQ2FwdHVyZURldmljZXNNdXRlZDsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkKICAgICAg
ICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9XS01lZGlhU2NyZWVuQ2FwdHVyZU11dGVkOwogICAgIHJl
dHVybiBtZWRpYU11dGVkU3RhdGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCA0YzEzMmY4MTkyYTRlNTEyMDQyMjMzMzI4ZjlmMjZhYmM3OTJjYmIzLi5i
ZGI0NGU4Mjc2NzJiMzExZjhkOTllMzMwZDBjMTcyOGE1YTU4NzYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTE5ODcsNyArMTk4Nyw3IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojp1cGRhdGVBY3Rpdml0eVN0YXRlKE9wdGlvblNldDxBY3Rpdml0eVN0YXRlOjpG
bGFnPiBmbGFnc1RvVXBkCiAgICAgICAgIG1fYWN0aXZpdHlTdGF0ZS5hZGQoQWN0aXZpdHlTdGF0
ZTo6SXNJbldpbmRvdyk7CiAgICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBBY3Rpdml0eVN0YXRlOjpJ
c1Zpc3VhbGx5SWRsZSAmJiBwYWdlQ2xpZW50KCkuaXNWaXN1YWxseUlkbGUoKSkKICAgICAgICAg
bV9hY3Rpdml0eVN0YXRlLmFkZChBY3Rpdml0eVN0YXRlOjpJc1Zpc3VhbGx5SWRsZSk7Ci0gICAg
aWYgKGZsYWdzVG9VcGRhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc0F1ZGlibGUgJiYgbV9tZWRpYVN0
YXRlICYgTWVkaWFQcm9kdWNlcjo6SXNQbGF5aW5nQXVkaW8gJiYgIShtX211dGVkU3RhdGUgJiBN
ZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQpKQorICAgIGlmIChmbGFnc1RvVXBkYXRlICYgQWN0
aXZpdHlTdGF0ZTo6SXNBdWRpYmxlICYmIG1fbWVkaWFTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6Oklz
UGxheWluZ0F1ZGlvICYmICEobV9tdXRlZFN0YXRlLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11
dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCkpKQogICAgICAgICBtX2FjdGl2aXR5U3RhdGUuYWRkKEFj
dGl2aXR5U3RhdGU6OklzQXVkaWJsZSk7CiAgICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBBY3Rpdml0
eVN0YXRlOjpJc0xvYWRpbmcgJiYgbV9wYWdlTG9hZFN0YXRlLmlzTG9hZGluZygpKQogICAgICAg
ICBtX2FjdGl2aXR5U3RhdGUuYWRkKEFjdGl2aXR5U3RhdGU6OklzTG9hZGluZyk7CkBAIC0yNDQ0
LDEwICsyNDQ0LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRFZGl0YWJsZShib29sIGVkaXRh
YmxlKQogICAgIAogdm9pZCBXZWJQYWdlUHJveHk6OnNldE1lZGlhU3RyZWFtQ2FwdHVyZU11dGVk
KGJvb2wgbXV0ZWQpCiB7CisgICAgYXV0byBzdGF0ZSA9IG1fbXV0ZWRTdGF0ZTsKICAgICBpZiAo
bXV0ZWQpCi0gICAgICAgIHNldE11dGVkKG1fbXV0ZWRTdGF0ZSB8IFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBzdGF0ZS5hZGQoV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCk7CiAgICAgZWxz
ZQotICAgICAgICBzZXRNdXRlZChtX211dGVkU3RhdGUgJiB+V2ViQ29yZTo6TWVkaWFQcm9kdWNl
cjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgIHN0YXRlLnJlbW92ZShXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkKTsKKyAgICBzZXRN
dXRlZChzdGF0ZSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjphY3RpdmF0ZU1lZGlhU3RyZWFt
Q2FwdHVyZUluUGFnZSgpCkBAIC0yNDU1LDcgKzI0NTcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
YWN0aXZhdGVNZWRpYVN0cmVhbUNhcHR1cmVJblBhZ2UoKQogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAgICAgV2ViUHJvY2Vzc1Byb3h5OjptdXRlQ2FwdHVyZUluUGFnZXNFeGNlcHQobV93ZWJQ
YWdlSUQpOwogI2VuZGlmCi0gICAgc2V0TXV0ZWQobV9tdXRlZFN0YXRlICYgfldlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQpOworICAgIHNldE1lZGlhU3Ry
ZWFtQ2FwdHVyZU11dGVkKGZhbHNlKTsKIH0KIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3NTZlYTUzMTBlZjVlYTBh
OTY3NTZkMjFhZDQ1MDkyZWY3ODIwZDA1Li42ODgwZjNjZjcxMDFlMzFkM2Y0YWVmZmY3NmYxZGY1
MTAzOWQ3NjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzMy
LDcgKzczMiw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRWRpdGFibGUoKSBjb25zdCB7IHJldHVy
biBtX2lzRWRpdGFibGU7IH0KIAogICAgIHZvaWQgYWN0aXZhdGVNZWRpYVN0cmVhbUNhcHR1cmVJ
blBhZ2UoKTsKLSAgICBib29sIGlzTWVkaWFTdHJlYW1DYXB0dXJlTXV0ZWQoKSBjb25zdCB7IHJl
dHVybiBtX211dGVkU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNh
cHR1cmVJc011dGVkOyB9CisgICAgYm9vbCBpc01lZGlhU3RyZWFtQ2FwdHVyZU11dGVkKCkgY29u
c3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQpOyB9CiAgICAgdm9pZCBzZXRNZWRpYVN0cmVh
bUNhcHR1cmVNdXRlZChib29sKTsKIAogICAgIHZvaWQgcmVxdWVzdEZvbnRBdHRyaWJ1dGVzQXRT
ZWxlY3Rpb25TdGFydChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkZvbnRB
dHRyaWJ1dGVzJik+JiYpOwpAQCAtMTM2Miw3ICsxMzYyLDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZXRNZWRpYVZvbHVtZShmbG9hdCk7CiAgICAgdm9pZCBzZXRNdXRlZChXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiA9
IFtdIHsgfSk7Ci0gICAgYm9vbCBpc0F1ZGlvTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVk
U3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQ7IH07CisgICAgYm9v
bCBpc0F1ZGlvTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUuY29udGFpbnMoV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKTsgfTsKICAgICB2
b2lkIHNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3coYm9vbCk7CiAgICAgYm9vbCBtYXlTdGFy
dE1lZGlhV2hlbkluV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9tYXlTdGFydE1lZGlhV2hlbklu
V2luZG93OyB9CiAgICAgdm9pZCBzZXRNZWRpYUNhcHR1cmVFbmFibGVkKGJvb2wpOwpAQCAtMjgy
MSw3ICsyODIxLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpMYXlvdXRQb2ludCBtX21heFN0
YWJsZUxheW91dFZpZXdwb3J0T3JpZ2luOwogCiAgICAgZmxvYXQgbV9tZWRpYVZvbHVtZSB7IDEg
fTsKLSAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgbV9tdXRlZFN0
YXRlIHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkIH07CisgICAgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG1fbXV0ZWRTdGF0ZTsKICAgICBib29sIG1f
bWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyB7IHRydWUgfTsKICAgICBib29sIG1fbWVkaWFQbGF5
YmFja0lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbWVkaWFDYXB0dXJlRW5hYmxl
ZCB7IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CmluZGV4IGJjZjJhOWYxNGFlOGJhMTRjYjY5ZDZiYzVmZjRiZThlZWFmM2UwZDMuLjcwZGU5YTE3
MWE4NzI2OTYxY2NlN2FiMzA0NGEwMTcwMThmNTdjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTc4NSw3ICsxNzg1LDcgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6Om11dGVDYXB0dXJlSW5QYWdlc0V4Y2VwdChXZWJDb3JlOjpQYWdlSWRlbnRp
ZmllciBwYWdlSUQpCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpwYWdlTXV0ZWRTdGF0ZUNoYW5n
ZWQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGZsYWdzKQogewotICAgIGJvb2wgbXV0ZWRGb3JDYXB0dXJl
ID0gZmxhZ3MgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7Cisg
ICAgYm9vbCBtdXRlZEZvckNhcHR1cmUgPSBmbGFncy5jb250YWluc0FueShNZWRpYVByb2R1Y2Vy
OjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwogICAgIGlmICghbXV0ZWRGb3JDYXB0dXJl
KQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427415</attachid>
            <date>2021-04-30 07:15:27 -0700</date>
            <delta_ts>2021-04-30 07:55:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224550-20210430161525.patch</filename>
            <type>text/plain</type>
            <size>20101</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZmZDk4OWZkYzBjM2U1
MWJmNjNhZDE4YWI2NjUwMTgxYTUxNjk0ZC4uNGMwZDRlNzQ0ZmFmYjRlOWI2MzczNDllNzMxYzY5
OWEwYjJiZTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVmYWN0b3JpbmcgdG8gaW1wcm92ZSB0eXBlIHNhZmV0eS4KKyAgICAgICAgTm8gY2hhbmdl
IG9mIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNh
cHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSk6CisgICAgICAgICogcGFnZS9NZWRpYVBy
b2R1Y2VyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojppc0F1ZGlvTXV0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXNNZWRpYUNh
cHR1cmVNdXRlZCBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRQYWdlTXV0ZWQpOgorCiAyMDIxLTA0LTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
Mjc2NjMzKTogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0ZWQu
aHRtbCBpcyBjb25zaXN0ZW50bHkgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhNjA0MTQzNzcwMTUx
MzY2MDMzZTdlYmM1YWZlNzMwZTNhZTA3MThlLi5kMzg4NDVhZDEyODI3NTA1NjE0ZjFmNjg0MWQz
ZGFkYTEyNGViMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRNdXRlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBzZXRNaWNyb3Bob25lQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgc2V0Q2FtZXJhQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0p
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldFBhZ2VNdXRlZDpdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW06CisgICAgICAgIChXZWJLaXQ6OnRvV0tNZWRp
YU11dGVkU3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUFjdGl2aXR5U3RhdGUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAyMS0wNC0yNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1lbW9yeSBhbGxvY2F0aW9uIGNo
ZWNrcyBpbiBtb3JlIHJlYWx0aW1lIGF1ZGlvIGNhcHR1cmUvcmVuZGVyaW5nIHBsYWNlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5jcHAKaW5kZXggNmMxZjE3YTAzZjc5MjI1MWE1MmJhOGFkNDAwMmRlOGFiYmE3YmU0Ny4u
NDIyNGQ5ZTI5NTgwODIyNmRhZDZkNWFiYjBiOTEzZjg4YjkyYmYxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3Bw
CkBAIC00ODMsMTMgKzQ4MywxMyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1
cmVBY2NvcmRpbmdUb011dGVkU3RhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQogCiAgICAgYXV0byog
YWN0aXZlQXVkaW9Tb3VyY2UgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24o
KS5hdWRpb0NhcHR1cmVGYWN0b3J5KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1
ZGlvU291cmNlICYmIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVB
dWRpb1NvdXJjZSwgZG9jdW1lbnQpKSB7Ci0gICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+
bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAgICAg
ICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdlLT5tdXRlZFN0YXRlKCkuY29udGFpbnMoTWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgIGFjdGl2ZUF1
ZGlvU291cmNlLT5zZXRNdXRlZChwYWdlTXV0ZWQgfHwgKGRvY3VtZW50LmhpZGRlbigpICYmIGRv
Y3VtZW50LnNldHRpbmdzKCkuaW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5h
YmxlZCgpKSk7CiAgICAgfQogCiAgICAgYXV0byogYWN0aXZlVmlkZW9Tb3VyY2UgPSBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS52aWRlb0NhcHR1cmVGYWN0b3J5KCkuYWN0
aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZVZpZGVvU291cmNlICYmIGlzU291cmNlQ2FwdHVy
aW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVWaWRlb1NvdXJjZSwgZG9jdW1lbnQpKSB7Ci0g
ICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNl
cjo6VmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdlLT5t
dXRlZFN0YXRlKCkuY29udGFpbnMoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0
dXJlSXNNdXRlZCk7CiAgICAgICAgIGFjdGl2ZVZpZGVvU291cmNlLT5zZXRNdXRlZChwYWdlTXV0
ZWQgfHwgZG9jdW1lbnQuaGlkZGVuKCkpOwogICAgIH0KICNlbHNlCkBAIC01MDksMTQgKzUwOSwx
NCBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoKQogCiAg
ICAgc3dpdGNoIChzb3VyY2UoKS5kZXZpY2VUeXBlKCkpIHsKICAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmU6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQo
cGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7
CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5z
KE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0g
ICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9k
dWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQo
cGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZp
ZGVvQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpXaW5kb3c6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0
ZSgpICYgTWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBtX3By
aXZhdGUtPnNldE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVByb2R1Y2Vy
OjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9NZWRpYVByb2R1Y2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVj
ZXIuaAppbmRleCBiMTdlNjlmMjEwNmFhOWNmMjhmYTRkNTI2M2Y5NTJhNzdmYzg1YTMwLi4yNDAz
Mjc2NTcyYzkxMGZlZTA2NzE5NGI2NDVkMjFkOGFhOTVmMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01l
ZGlhUHJvZHVjZXIuaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRl
IDx3dGYvRW51bVRyYWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRl
IDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03NSwxNyArNzYsMTYg
QEAgcHVibGljOgogICAgICAgICBBdWRpb1ZpZGVvCiAgICAgfTsKIAotICAgIGVudW0gTXV0ZWRT
dGF0ZSB7Ci0gICAgICAgIE5vbmVNdXRlZCA9IDAsCisgICAgZW51bSBjbGFzcyBNdXRlZFN0YXRl
IHsKICAgICAgICAgQXVkaW9Jc011dGVkID0gMSA8PCAwLAogICAgICAgICBBdWRpb0NhcHR1cmVJ
c011dGVkID0gMSA8PCAxLAogICAgICAgICBWaWRlb0NhcHR1cmVJc011dGVkID0gMSA8PCAyLAog
ICAgICAgICBTY3JlZW5DYXB0dXJlSXNNdXRlZCA9IDEgPDwgMywKLQotICAgICAgICBBdWRpb0Fu
ZFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSBBdWRpb0NhcHR1cmVJc011dGVkIHwgVmlkZW9DYXB0dXJl
SXNNdXRlZCwKLSAgICAgICAgTWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCA9IEF1ZGlvQ2FwdHVy
ZUlzTXV0ZWQgfCBWaWRlb0NhcHR1cmVJc011dGVkIHwgU2NyZWVuQ2FwdHVyZUlzTXV0ZWQsCiAg
ICAgfTsKLSAgICB0eXBlZGVmIHVuc2lnbmVkIE11dGVkU3RhdGVGbGFnczsKKworICAgIHVzaW5n
IE11dGVkU3RhdGVGbGFncyA9IE9wdGlvblNldDxNdXRlZFN0YXRlPjsKKyAgICBzdGF0aWMgY29u
c3RleHByIE11dGVkU3RhdGVGbGFncyBBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSB7IE11
dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlz
TXV0ZWQgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE11dGVkU3RhdGVGbGFncyBNZWRpYVN0cmVh
bUNhcHR1cmVJc011dGVkID0geyBNdXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkLCBNdXRl
ZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNN
dXRlZCB9OwogCiAgICAgdmlydHVhbCB2b2lkIHBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKCkgPSAw
OwogCkBAIC0xMDYsNCArMTA2LDE0IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2Vi
Q29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFDYXB0dXJlS2luZD4gewogICAgID47CiB9OwogCit0
ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVk
U3RhdGU+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsCisgICAgICAg
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVk
CisgICAgPjsKK307CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNmI3NmNjMTE1OGMzZjZhNDQwODcw
NDA5ZjEzZjBmNzIyMTk4MzIzNC4uYjM2NDgxZjIxMjViZDM2NjM3NDRkYzcyZGY2NzIxMDkwYzA5
ZGQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTY5OCw4ICs2OTgsOCBAQCBwdWJsaWM6CiAgICAgTWVk
aWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG1lZGlhU3RhdGUoKSBjb25zdCB7IHJldHVybiBt
X21lZGlhU3RhdGU7IH0KICAgICB2b2lkIHVwZGF0ZUlzUGxheWluZ01lZGlhKHVpbnQ2NF90KTsK
ICAgICBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgbXV0ZWRTdGF0ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbXV0ZWRTdGF0ZTsgfQotICAgIGJvb2wgaXNBdWRpb011dGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9tdXRlZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkOyB9Ci0gICAg
Ym9vbCBpc01lZGlhQ2FwdHVyZU11dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYg
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZDsgfTsKKyAgICBib29sIGlz
QXVkaW9NdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZS5jb250YWlucyhNZWRpYVBy
b2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lzTXV0ZWQpOyB9CisgICAgYm9vbCBpc01lZGlhQ2Fw
dHVyZU11dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlLmNvbnRhaW5zQW55KE1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQpOyB9OwogICAgIHZvaWQgc2NoZWR1
bGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlclVwZGF0ZSgpOwogI2lmIEVOQUJMRShWSURFTykKICAg
ICB2b2lkIHBsYXliYWNrQ29udHJvbHNNZWRpYUVuZ2luZUNoYW5nZWQoKTsKQEAgLTk1Miw3ICs5
NTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pbkxvd1F1YWxpdHlJbnRlcnBvbGF0aW9uTW9k
ZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2FyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVk
IHsgdHJ1ZSB9OwogICAgIGZsb2F0IG1fbWVkaWFWb2x1bWUgeyAxIH07Ci0gICAgTWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG1fbXV0ZWRTdGF0ZSB7IE1lZGlhUHJvZHVjZXI6Ok5vbmVN
dXRlZCB9OworICAgIE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBtX211dGVkU3RhdGU7
CiAKICAgICBmbG9hdCBtX3BhZ2VTY2FsZUZhY3RvciB7IDEgfTsKICAgICBmbG9hdCBtX3pvb21l
ZE91dFBhZ2VTY2FsZUZhY3RvciB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAppbmRleCBiMjM5YmUxYzM3MjBmOGMxM2MzY2FhZThjZTY3NTcyOWY5NGQ4MmYwLi5iOTM4MjI3
NDhmNjg5MjFhNTQ4NTkxNzkzZDRhYmNhMTE3NWQ5NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC00NTg2LDE0ICs0NTg2LDE0IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRQ
YWdlTXV0ZWQoU3RyaW5nVmlldyBzdGF0ZXNTdHJpbmcpCiAgICAgaWYgKCFkb2N1bWVudCkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZs
YWdzIHN0YXRlID0gTWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkOworICAgIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBzdGF0ZTsKICAgICBmb3IgKFN0cmluZ1ZpZXcgc3Rh
dGVTdHJpbmcgOiBzdGF0ZXNTdHJpbmcuc3BsaXQoJywnKSkgewogICAgICAgICBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RhdGVTdHJpbmcsICJhdWRpbyIpKQotICAgICAgICAg
ICAgc3RhdGUgfD0gTWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkOworICAgICAgICAgICAgc3Rh
dGUuYWRkKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCk7CiAgICAgICAg
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdGF0ZVN0cmluZywgImNhcHR1cmVk
ZXZpY2VzIikpCi0gICAgICAgICAgICBzdGF0ZSB8PSBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZp
ZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgICAgICBzdGF0ZS5hZGQoTWVkaWFQcm9kdWNlcjo6
QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkKTsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKHN0YXRlU3RyaW5nLCAic2NyZWVuY2FwdHVyZSIpKQotICAgICAgICAg
ICAgc3RhdGUgfD0gTWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAg
ICAgICBzdGF0ZS5hZGQoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlz
TXV0ZWQpOwogICAgIH0KIAogICAgIGlmIChQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5j
cHAKaW5kZXggOGMyZmIwYTU2NGVjMTg4Yjg5MTkwYmJiNjNlMjdjM2UyNmRjODRiZC4uYzJjYTdi
YjM1NzFlNDQ4Yjk0MWE1ZjAwOTY0YmRjNWZlYmI1MTM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTI3NSw4ICsyNzUs
MTMgQEAgT3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubWVkaWFWb2x1bWUpKQogICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1l
dGVycy5tdXRlZCkpCisKKyAgICBPcHRpb25hbDxNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxh
Z3M+IG11dGVkU3RhdGVGbGFnczsKKyAgICBkZWNvZGVyID4+IG11dGVkU3RhdGVGbGFnczsKKyAg
ICBpZiAoIW11dGVkU3RhdGVGbGFncykKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICBwYXJhbWV0ZXJzLm11dGVkID0gKm11dGVkU3RhdGVGbGFnczsKKwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocGFyYW1ldGVycy5tYXlTdGFydE1lZGlhV2hlbkluV2luZG93KSkKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMu
bWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuY3BwCmluZGV4IDQ1NTA0NDc4MDZmOTYzYTcwZTU0NGIxMmRlY2ViMTRkMWYwNjdkNzcu
LmYyZTc3NzFjYjhkMTI1Zjg2MzNhNTkwYmQ5NWY5ZDJkZWY4OWY2NDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMjcxMiwxNCArMjcxMiwxNCBAQCB2b2lk
IFdLUGFnZVNldE1lZGlhVm9sdW1lKFdLUGFnZVJlZiBwYWdlLCBmbG9hdCB2b2x1bWUpCiAKIHZv
aWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdlUmVmIHBhZ2UsIFdLTWVkaWFNdXRlZFN0YXRlIG11dGVk
U3RhdGUpCiB7Ci0gICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNv
cmVTdGF0ZSA9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok5vbmVNdXRlZDsKKyAgICBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgY29yZVN0YXRlOwogCiAgICAgaWYgKG11
dGVkU3RhdGUgJiBrV0tNZWRpYUF1ZGlvTXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKTsKICAgICBp
ZiAobXV0ZWRTdGF0ZSAmIGtXS01lZGlhQ2FwdHVyZURldmljZXNNdXRlZCkKLSAgICAgICAgY29y
ZVN0YXRlIHw9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNN
dXRlZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRp
b0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwogICAgIGlmIChtdXRlZFN0YXRlICYga1dLTWVkaWFT
Y3JlZW5DYXB0dXJlTXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CiAK
ICAgICB0b0ltcGwocGFnZSktPnNldE11dGVkKGNvcmVTdGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAxMzM3OTNmNDEyOTEw
MzY3MDY3ZTY0ZTIzN2M3MTc3NGY0MjMzNzg0Li5mOTNlNTdkODAwODQ1NWNjMGMwMDkyN2M1Y2Ni
NDhmZDIyYjdlZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTEwMTIsMTAgKzEwMTIsMTAgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFj
a1N0YXRlIHRvV0tNZWRpYVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUg
bWUKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+
bXV0ZWRTdGF0ZUZsYWdzKCk7Ci0gICAgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVB
Y3RpdmUgJiYgbXV0ZWRTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVy
ZUlzTXV0ZWQpCi0gICAgICAgIG11dGVkU3RhdGUgXj0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0
ZUFjdGl2ZSkKKyAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNl
cjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgZWxzZSBpZiAoc3RhdGUg
PT0gV0tNZWRpYUNhcHR1cmVTdGF0ZU11dGVkKQotICAgICAgICBtdXRlZFN0YXRlID0gV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgbXV0ZWRTdGF0
ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNN
dXRlZCk7CiAgICAgX3BhZ2UtPnNldE11dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxl
ciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoKTsKICAgICB9KTsKQEAgLTEwMzMsMTAgKzEwMzMsMTAgQEAgc3RhdGljIFdLTWVk
aWFQbGF5YmFja1N0YXRlIHRvV0tNZWRpYVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXli
YWNrU3RhdGUgbWUKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBhdXRvIG11dGVkU3RhdGUg
PSBfcGFnZS0+bXV0ZWRTdGF0ZUZsYWdzKCk7Ci0gICAgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0
dXJlU3RhdGVBY3RpdmUgJiYgbXV0ZWRTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlZp
ZGVvQ2FwdHVyZUlzTXV0ZWQpCi0gICAgICAgIG11dGVkU3RhdGUgXj0gV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNh
cHR1cmVTdGF0ZUFjdGl2ZSkKKyAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgZWxzZSBp
ZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZU11dGVkKQotICAgICAgICBtdXRlZFN0YXRl
ID0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAg
bXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9D
YXB0dXJlSXNNdXRlZCk7CiAgICAgX3BhZ2UtPnNldE11dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0
aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsKQEAgLTMzNDAsMTQgKzMzNDAsMTQgQEAgc3Rh
dGljIGlubGluZSBPcHRpb25TZXQ8V2ViS2l0OjpGaW5kT3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhf
V0tGaW5kT3B0aW9ucyB3a0ZpbmQKIAogLSAodm9pZClfc2V0UGFnZU11dGVkOihfV0tNZWRpYU11
dGVkU3RhdGUpbXV0ZWRTdGF0ZQogewotICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVk
U3RhdGVGbGFncyBjb3JlU3RhdGUgPSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpOb25lTXV0ZWQ7
CisgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNvcmVTdGF0ZTsK
IAogICAgIGlmIChtdXRlZFN0YXRlICYgX1dLTWVkaWFBdWRpb011dGVkKQotICAgICAgICBjb3Jl
U3RhdGUgfD0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkOworICAgICAgICBj
b3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNN
dXRlZCk7CiAgICAgaWYgKG11dGVkU3RhdGUgJiBfV0tNZWRpYUNhcHR1cmVEZXZpY2VzTXV0ZWQp
Ci0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZp
ZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkKTsKICAgICBpZiAobXV0ZWRTdGF0
ZSAmIF9XS01lZGlhU2NyZWVuQ2FwdHVyZU11dGVkKQotICAgICAgICBjb3JlU3RhdGUgfD0gV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIGNvcmVT
dGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVy
ZUlzTXV0ZWQpOwogCiAgICAgX3BhZ2UtPnNldE11dGVkKGNvcmVTdGF0ZSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9NZWRpYVV0aWxpdGllcy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1tCmluZGV4IDQ0YTgx
ZDQ4YmE3YzEyNGYyYTM4M2JmMzgwNGI0OTg3YzA1YWUyZDMuLjcyYzFhYjhhNDNkN2QwODY5ZjU2
NjBiNjI3YjBjMjBmMjI0ODk0ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL01lZGlhVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL01lZGlhVXRpbGl0aWVzLm1tCkBAIC00NiwxMyArNDYsMTEgQEAgX1dLTWVkaWFDYXB0dXJl
U3RhdGVEZXByZWNhdGVkIHRvV0tNZWRpYUNhcHR1cmVTdGF0ZURlcHJlY2F0ZWQoV2ViQ29yZTo6
TWVkaWFQcm8KIF9XS01lZGlhTXV0ZWRTdGF0ZSB0b1dLTWVkaWFNdXRlZFN0YXRlKFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBzdGF0ZSkKIHsKICAgICBfV0tNZWRpYU11
dGVkU3RhdGUgbWVkaWFNdXRlZFN0YXRlID0gX1dLTWVkaWFOb25lTXV0ZWQ7Ci0gICAgaWYgKHN0
YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkKQotICAgICAgICBtZWRpYU11
dGVkU3RhdGUgfD0gX1dLTWVkaWFOb25lTXV0ZWQ7Ci0gICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkKQorICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCkKICAgICAgICAgbWVkaWFNdXRl
ZFN0YXRlIHw9IF9XS01lZGlhQXVkaW9NdXRlZDsKICAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQpCiAgICAgICAgIG1lZGlh
TXV0ZWRTdGF0ZSB8PSBfV0tNZWRpYUNhcHR1cmVEZXZpY2VzTXV0ZWQ7Ci0gICAgaWYgKHN0YXRl
ICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpCisgICAgaWYg
KHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVy
ZUlzTXV0ZWQpCiAgICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8PSBfV0tNZWRpYVNjcmVlbkNhcHR1
cmVNdXRlZDsKICAgICByZXR1cm4gbWVkaWFNdXRlZFN0YXRlOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNGMxMzJmODE5MmE0ZTUxMjA0MjIzMzMyOGY5
ZjI2YWJjNzkyY2JiMy4uYmRiNDRlODI3NjcyYjMxMWY4ZDk5ZTMzMGQwYzE3MjhhNWE1ODc2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xOTg3LDcgKzE5
ODcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlQWN0aXZpdHlTdGF0ZShPcHRpb25TZXQ8
QWN0aXZpdHlTdGF0ZTo6RmxhZz4gZmxhZ3NUb1VwZAogICAgICAgICBtX2FjdGl2aXR5U3RhdGUu
YWRkKEFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwogICAgIGlmIChmbGFnc1RvVXBkYXRlICYg
QWN0aXZpdHlTdGF0ZTo6SXNWaXN1YWxseUlkbGUgJiYgcGFnZUNsaWVudCgpLmlzVmlzdWFsbHlJ
ZGxlKCkpCiAgICAgICAgIG1fYWN0aXZpdHlTdGF0ZS5hZGQoQWN0aXZpdHlTdGF0ZTo6SXNWaXN1
YWxseUlkbGUpOwotICAgIGlmIChmbGFnc1RvVXBkYXRlICYgQWN0aXZpdHlTdGF0ZTo6SXNBdWRp
YmxlICYmIG1fbWVkaWFTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OklzUGxheWluZ0F1ZGlvICYmICEo
bV9tdXRlZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkKSkKKyAgICBpZiAoZmxh
Z3NUb1VwZGF0ZSAmIEFjdGl2aXR5U3RhdGU6OklzQXVkaWJsZSAmJiBtX21lZGlhU3RhdGUgJiBN
ZWRpYVByb2R1Y2VyOjpJc1BsYXlpbmdBdWRpbyAmJiAhKG1fbXV0ZWRTdGF0ZS5jb250YWlucyhN
ZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lzTXV0ZWQpKSkKICAgICAgICAgbV9hY3Rp
dml0eVN0YXRlLmFkZChBY3Rpdml0eVN0YXRlOjpJc0F1ZGlibGUpOwogICAgIGlmIChmbGFnc1Rv
VXBkYXRlICYgQWN0aXZpdHlTdGF0ZTo6SXNMb2FkaW5nICYmIG1fcGFnZUxvYWRTdGF0ZS5pc0xv
YWRpbmcoKSkKICAgICAgICAgbV9hY3Rpdml0eVN0YXRlLmFkZChBY3Rpdml0eVN0YXRlOjpJc0xv
YWRpbmcpOwpAQCAtMjQ0NCwxMCArMjQ0NCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0RWRp
dGFibGUoYm9vbCBlZGl0YWJsZSkKICAgICAKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRNZWRpYVN0
cmVhbUNhcHR1cmVNdXRlZChib29sIG11dGVkKQogeworICAgIGF1dG8gc3RhdGUgPSBtX211dGVk
U3RhdGU7CiAgICAgaWYgKG11dGVkKQotICAgICAgICBzZXRNdXRlZChtX211dGVkU3RhdGUgfCBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkKTsKKyAgICAg
ICAgc3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlz
TXV0ZWQpOwogICAgIGVsc2UKLSAgICAgICAgc2V0TXV0ZWQobV9tdXRlZFN0YXRlICYgfldlYkNv
cmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBz
dGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNN
dXRlZCk7CisgICAgc2V0TXV0ZWQoc3RhdGUpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6YWN0
aXZhdGVNZWRpYVN0cmVhbUNhcHR1cmVJblBhZ2UoKQpAQCAtMjQ1NSw3ICsyNDU3LDcgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmFjdGl2YXRlTWVkaWFTdHJlYW1DYXB0dXJlSW5QYWdlKCkKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogICAgIFdlYlByb2Nlc3NQcm94eTo6bXV0ZUNhcHR1cmVJblBh
Z2VzRXhjZXB0KG1fd2ViUGFnZUlEKTsKICNlbmRpZgotICAgIHNldE11dGVkKG1fbXV0ZWRTdGF0
ZSAmIH5XZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkKTsK
KyAgICBzZXRNZWRpYVN0cmVhbUNhcHR1cmVNdXRlZChmYWxzZSk7CiB9CiAKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
NzU2ZWE1MzEwZWY1ZWEwYTk2NzU2ZDIxYWQ0NTA5MmVmNzgyMGQwNS4uNjg4MGYzY2Y3MTAxZTMx
ZDNmNGFlZmZmNzZmMWRmNTEwMzlkNzY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTczMiw3ICs3MzIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0VkaXRhYmxl
KCkgY29uc3QgeyByZXR1cm4gbV9pc0VkaXRhYmxlOyB9CiAKICAgICB2b2lkIGFjdGl2YXRlTWVk
aWFTdHJlYW1DYXB0dXJlSW5QYWdlKCk7Ci0gICAgYm9vbCBpc01lZGlhU3RyZWFtQ2FwdHVyZU11
dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
cjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZDsgfQorICAgIGJvb2wgaXNNZWRpYVN0cmVhbUNh
cHR1cmVNdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZS5jb250YWluc0FueShXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkKTsgfQogICAgIHZv
aWQgc2V0TWVkaWFTdHJlYW1DYXB0dXJlTXV0ZWQoYm9vbCk7CiAKICAgICB2b2lkIHJlcXVlc3RG
b250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25z
dCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpPiYmKTsKQEAgLTEzNjIsNyArMTM2Miw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2V0TWVkaWFWb2x1bWUoZmxvYXQpOwogICAgIHZvaWQgc2V0TXV0
ZWQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgPSBbXSB7IH0pOwotICAgIGJvb2wgaXNBdWRpb011dGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9tdXRlZFN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011
dGVkOyB9OworICAgIGJvb2wgaXNBdWRpb011dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0
YXRlLmNvbnRhaW5zKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNN
dXRlZCk7IH07CiAgICAgdm9pZCBzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wpOwog
ICAgIGJvb2wgbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdygpIGNvbnN0IHsgcmV0dXJuIG1fbWF5
U3RhcnRNZWRpYVdoZW5JbldpbmRvdzsgfQogICAgIHZvaWQgc2V0TWVkaWFDYXB0dXJlRW5hYmxl
ZChib29sKTsKQEAgLTI4MjEsNyArMjgyMSw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6TGF5
b3V0UG9pbnQgbV9tYXhTdGFibGVMYXlvdXRWaWV3cG9ydE9yaWdpbjsKIAogICAgIGZsb2F0IG1f
bWVkaWFWb2x1bWUgeyAxIH07Ci0gICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZUZsYWdzIG1fbXV0ZWRTdGF0ZSB7IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok5vbmVNdXRlZCB9
OworICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBtX211dGVkU3Rh
dGU7CiAgICAgYm9vbCBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgeyB0cnVlIH07CiAgICAg
Ym9vbCBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX21l
ZGlhQ2FwdHVyZUVuYWJsZWQgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmNwcAppbmRleCBiY2YyYTlmMTRhZThiYTE0Y2I2OWQ2YmM1ZmY0YmU4ZWVh
ZjNlMGQzLi43MGRlOWExNzFhODcyNjk2MWNjZTdhYjMwNDRhMDE3MDE4ZjU3Y2M3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTE3ODUsNyArMTc4
NSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjptdXRlQ2FwdHVyZUluUGFnZXNFeGNlcHQoV2Vi
Q29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlEKQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cGFn
ZU11dGVkU3RhdGVDaGFuZ2VkKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBmbGFncykKIHsKLSAgICBib29s
IG11dGVkRm9yQ2FwdHVyZSA9IGZsYWdzICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0Nh
cHR1cmVJc011dGVkOworICAgIGJvb2wgbXV0ZWRGb3JDYXB0dXJlID0gZmxhZ3MuY29udGFpbnNB
bnkoTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkKTsKICAgICBpZiAo
IW11dGVkRm9yQ2FwdHVyZSkKICAgICAgICAgcmV0dXJuOwogCg==
</data>
<flag name="commit-queue"
          id="448005"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427418</attachid>
            <date>2021-04-30 07:53:50 -0700</date>
            <delta_ts>2021-04-30 08:07:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224550-20210430165348.patch</filename>
            <type>text/plain</type>
            <size>21084</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZmZDk4OWZkYzBjM2U1
MWJmNjNhZDE4YWI2NjUwMTgxYTUxNjk0ZC4uNGMwZDRlNzQ0ZmFmYjRlOWI2MzczNDllNzMxYzY5
OWEwYjJiZTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVmYWN0b3JpbmcgdG8gaW1wcm92ZSB0eXBlIHNhZmV0eS4KKyAgICAgICAgTm8gY2hhbmdl
IG9mIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNh
cHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSk6CisgICAgICAgICogcGFnZS9NZWRpYVBy
b2R1Y2VyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojppc0F1ZGlvTXV0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXNNZWRpYUNh
cHR1cmVNdXRlZCBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRQYWdlTXV0ZWQpOgorCiAyMDIxLTA0LTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
Mjc2NjMzKTogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0ZWQu
aHRtbCBpcyBjb25zaXN0ZW50bHkgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhNjA0MTQzNzcwMTUx
MzY2MDMzZTdlYmM1YWZlNzMwZTNhZTA3MThlLi5iMzg5NzNiZTEwMmU3MWI3ZjZhMmEyODU0MDIy
NmY3OWQzYjg0ZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRNdXRlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBzZXRNaWNyb3Bob25lQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgc2V0Q2FtZXJhQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0p
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldFBhZ2VNdXRlZDpdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3Zp
ZXdfc2V0X2lzX211dGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRp
ZXMubW06CisgICAgICAgIChXZWJLaXQ6OnRvV0tNZWRpYU11dGVkU3RhdGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnVwZGF0ZUFjdGl2aXR5U3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKwogMjAyMS0wNC0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIG1lbW9yeSBhbGxvY2F0aW9uIGNoZWNrcyBpbiBtb3JlIHJlYWx0aW1lIGF1
ZGlvIGNhcHR1cmUvcmVuZGVyaW5nIHBsYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNmMxZjE3YTAz
Zjc5MjI1MWE1MmJhOGFkNDAwMmRlOGFiYmE3YmU0Ny4uNDIyNGQ5ZTI5NTgwODIyNmRhZDZkNWFi
YjBiOTEzZjg4YjkyYmYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC00ODMsMTMgKzQ4MywxMyBAQCB2
b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUo
RG9jdW1lbnQmIGRvY3VtZW50KQogCiAgICAgYXV0byogYWN0aXZlQXVkaW9Tb3VyY2UgPSBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5KCku
YWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNlICYmIGlzU291cmNlQ2Fw
dHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQpKSB7
Ci0gICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9k
dWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdl
LT5tdXRlZFN0YXRlKCkuY29udGFpbnMoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9D
YXB0dXJlSXNNdXRlZCk7CiAgICAgICAgIGFjdGl2ZUF1ZGlvU291cmNlLT5zZXRNdXRlZChwYWdl
TXV0ZWQgfHwgKGRvY3VtZW50LmhpZGRlbigpICYmIGRvY3VtZW50LnNldHRpbmdzKCkuaW50ZXJy
dXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZCgpKSk7CiAgICAgfQogCiAgICAg
YXV0byogYWN0aXZlVmlkZW9Tb3VyY2UgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5n
bGV0b24oKS52aWRlb0NhcHR1cmVGYWN0b3J5KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFj
dGl2ZVZpZGVvU291cmNlICYmIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCph
Y3RpdmVWaWRlb1NvdXJjZSwgZG9jdW1lbnQpKSB7Ci0gICAgICAgIGJvb2wgcGFnZU11dGVkID0g
cGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRlZDsK
KyAgICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdlLT5tdXRlZFN0YXRlKCkuY29udGFpbnMoTWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgIGFj
dGl2ZVZpZGVvU291cmNlLT5zZXRNdXRlZChwYWdlTXV0ZWQgfHwgZG9jdW1lbnQuaGlkZGVuKCkp
OwogICAgIH0KICNlbHNlCkBAIC01MDksMTQgKzUwOSwxNCBAQCB2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoKQogCiAgICAgc3dpdGNoIChzb3VyY2UoKS5kZXZp
Y2VUeXBlKCkpIHsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhv
bmU6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVk
aWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0
TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3Rh
dGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0
ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRl
ZCk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRh
aW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46
CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6Ci0gICAgICAgIG1f
cHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6U2Ny
ZWVuQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVkKHBhZ2UtPm11
dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0
dXJlSXNNdXRlZCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpV
bmtub3duOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAppbmRleCBiMTdlNjlmMjEwNmFh
OWNmMjhmYTRkNTI2M2Y5NTJhNzdmYzg1YTMwLi4yNDAzMjc2NTcyYzkxMGZlZTA2NzE5NGI2NDVk
MjFkOGFhOTVmMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVj
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaApAQCAtMjYsNiAr
MjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC03NSwxNyArNzYsMTYgQEAgcHVibGljOgogICAgICAgICBBdWRp
b1ZpZGVvCiAgICAgfTsKIAotICAgIGVudW0gTXV0ZWRTdGF0ZSB7Ci0gICAgICAgIE5vbmVNdXRl
ZCA9IDAsCisgICAgZW51bSBjbGFzcyBNdXRlZFN0YXRlIHsKICAgICAgICAgQXVkaW9Jc011dGVk
ID0gMSA8PCAwLAogICAgICAgICBBdWRpb0NhcHR1cmVJc011dGVkID0gMSA8PCAxLAogICAgICAg
ICBWaWRlb0NhcHR1cmVJc011dGVkID0gMSA8PCAyLAogICAgICAgICBTY3JlZW5DYXB0dXJlSXNN
dXRlZCA9IDEgPDwgMywKLQotICAgICAgICBBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSBB
dWRpb0NhcHR1cmVJc011dGVkIHwgVmlkZW9DYXB0dXJlSXNNdXRlZCwKLSAgICAgICAgTWVkaWFT
dHJlYW1DYXB0dXJlSXNNdXRlZCA9IEF1ZGlvQ2FwdHVyZUlzTXV0ZWQgfCBWaWRlb0NhcHR1cmVJ
c011dGVkIHwgU2NyZWVuQ2FwdHVyZUlzTXV0ZWQsCiAgICAgfTsKLSAgICB0eXBlZGVmIHVuc2ln
bmVkIE11dGVkU3RhdGVGbGFnczsKKworICAgIHVzaW5nIE11dGVkU3RhdGVGbGFncyA9IE9wdGlv
blNldDxNdXRlZFN0YXRlPjsKKyAgICBzdGF0aWMgY29uc3RleHByIE11dGVkU3RhdGVGbGFncyBB
dWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSB7IE11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlz
TXV0ZWQsIE11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBzdGF0aWMgY29u
c3RleHByIE11dGVkU3RhdGVGbGFncyBNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkID0geyBNdXRl
ZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011
dGVkLCBNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCB9OwogCiAgICAgdmlydHVhbCB2
b2lkIHBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKCkgPSAwOwogCkBAIC0xMDYsNCArMTA2LDE0IEBA
IHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVk
aWFDYXB0dXJlS2luZD4gewogICAgID47CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJh
aXRzPFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU+IHsKKyAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lz
TXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlv
Q2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3Rh
dGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkCisgICAgPjsKK307CisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKaW5kZXggNmI3NmNjMTE1OGMzZjZhNDQwODcwNDA5ZjEzZjBmNzIyMTk4MzIzNC4uYjM2
NDgxZjIxMjViZDM2NjM3NDRkYzcyZGY2NzIxMDkwYzA5ZGQ3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAg
LTY5OCw4ICs2OTgsOCBAQCBwdWJsaWM6CiAgICAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZs
YWdzIG1lZGlhU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGU7IH0KICAgICB2b2lk
IHVwZGF0ZUlzUGxheWluZ01lZGlhKHVpbnQ2NF90KTsKICAgICBNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlRmxhZ3MgbXV0ZWRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZTsgfQot
ICAgIGJvb2wgaXNBdWRpb011dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYgTWVk
aWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkOyB9Ci0gICAgYm9vbCBpc01lZGlhQ2FwdHVyZU11dGVk
KCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJl
YW1DYXB0dXJlSXNNdXRlZDsgfTsKKyAgICBib29sIGlzQXVkaW9NdXRlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbXV0ZWRTdGF0ZS5jb250YWlucyhNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRp
b0lzTXV0ZWQpOyB9CisgICAgYm9vbCBpc01lZGlhQ2FwdHVyZU11dGVkKCkgY29uc3QgeyByZXR1
cm4gbV9tdXRlZFN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2Fw
dHVyZUlzTXV0ZWQpOyB9OwogICAgIHZvaWQgc2NoZWR1bGVQbGF5YmFja0NvbnRyb2xzTWFuYWdl
clVwZGF0ZSgpOwogI2lmIEVOQUJMRShWSURFTykKICAgICB2b2lkIHBsYXliYWNrQ29udHJvbHNN
ZWRpYUVuZ2luZUNoYW5nZWQoKTsKQEAgLTk1Miw3ICs5NTIsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9pbkxvd1F1YWxpdHlJbnRlcnBvbGF0aW9uTW9kZSB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2FyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGZsb2F0IG1f
bWVkaWFWb2x1bWUgeyAxIH07Ci0gICAgTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG1f
bXV0ZWRTdGF0ZSB7IE1lZGlhUHJvZHVjZXI6Ok5vbmVNdXRlZCB9OworICAgIE1lZGlhUHJvZHVj
ZXI6Ok11dGVkU3RhdGVGbGFncyBtX211dGVkU3RhdGU7CiAKICAgICBmbG9hdCBtX3BhZ2VTY2Fs
ZUZhY3RvciB7IDEgfTsKICAgICBmbG9hdCBtX3pvb21lZE91dFBhZ2VTY2FsZUZhY3RvciB7IDAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiMjM5YmUxYzM3MjBmOGMx
M2MzY2FhZThjZTY3NTcyOWY5NGQ4MmYwLi5iOTM4MjI3NDhmNjg5MjFhNTQ4NTkxNzkzZDRhYmNh
MTE3NWQ5NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00NTg2LDE0
ICs0NTg2LDE0IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRQYWdlTXV0ZWQoU3RyaW5nVmlldyBzdGF0
ZXNTdHJpbmcpCiAgICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIHN0YXRlID0gTWVkaWFQcm9kdWNl
cjo6Tm9uZU11dGVkOworICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFn
cyBzdGF0ZTsKICAgICBmb3IgKFN0cmluZ1ZpZXcgc3RhdGVTdHJpbmcgOiBzdGF0ZXNTdHJpbmcu
c3BsaXQoJywnKSkgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
c3RhdGVTdHJpbmcsICJhdWRpbyIpKQotICAgICAgICAgICAgc3RhdGUgfD0gTWVkaWFQcm9kdWNl
cjo6QXVkaW9Jc011dGVkOworICAgICAgICAgICAgc3RhdGUuYWRkKE1lZGlhUHJvZHVjZXI6Ok11
dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCk7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShzdGF0ZVN0cmluZywgImNhcHR1cmVkZXZpY2VzIikpCi0gICAgICAgICAgICBz
dGF0ZSB8PSBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAg
ICAgICAgICBzdGF0ZS5hZGQoTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011
dGVkKTsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0YXRlU3Ry
aW5nLCAic2NyZWVuY2FwdHVyZSIpKQotICAgICAgICAgICAgc3RhdGUgfD0gTWVkaWFQcm9kdWNl
cjo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgICAgICBzdGF0ZS5hZGQoTWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogICAgIH0KIAogICAgIGlm
IChQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggOGMyZmIwYTU2NGVjMTg4
Yjg5MTkwYmJiNjNlMjdjM2UyNmRjODRiZC4uYzJjYTdiYjM1NzFlNDQ4Yjk0MWE1ZjAwOTY0YmRj
NWZlYmI1MTM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5jcHAKQEAgLTI3NSw4ICsyNzUsMTMgQEAgT3B0aW9uYWw8V2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6
RGVjb2QKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHBhcmFtZXRlcnMubWVkaWFWb2x1bWUpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tdXRlZCkpCisKKyAgICBPcHRp
b25hbDxNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3M+IG11dGVkU3RhdGVGbGFnczsKKyAg
ICBkZWNvZGVyID4+IG11dGVkU3RhdGVGbGFnczsKKyAgICBpZiAoIW11dGVkU3RhdGVGbGFncykK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBwYXJhbWV0ZXJzLm11dGVkID0gKm11
dGVkU3RhdGVGbGFnczsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tYXlT
dGFydE1lZGlhV2hlbkluV2luZG93KSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubWVkaWFQbGF5YmFja0lzU3VzcGVuZGVk
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDQ1NTA0NDc4
MDZmOTYzYTcwZTU0NGIxMmRlY2ViMTRkMWYwNjdkNzcuLmYyZTc3NzFjYjhkMTI1Zjg2MzNhNTkw
YmQ5NWY5ZDJkZWY4OWY2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcApAQCAtMjcxMiwxNCArMjcxMiwxNCBAQCB2b2lkIFdLUGFnZVNldE1lZGlhVm9sdW1lKFdL
UGFnZVJlZiBwYWdlLCBmbG9hdCB2b2x1bWUpCiAKIHZvaWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdl
UmVmIHBhZ2UsIFdLTWVkaWFNdXRlZFN0YXRlIG11dGVkU3RhdGUpCiB7Ci0gICAgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNvcmVTdGF0ZSA9IFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok5vbmVNdXRlZDsKKyAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlRmxhZ3MgY29yZVN0YXRlOwogCiAgICAgaWYgKG11dGVkU3RhdGUgJiBrV0tNZWRpYUF1ZGlv
TXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRp
b0lzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKTsKICAgICBpZiAobXV0ZWRTdGF0ZSAmIGtXS01lZGlh
Q2FwdHVyZURldmljZXNNdXRlZCkKLSAgICAgICAgY29yZVN0YXRlIHw9IFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgY29yZVN0YXRl
LmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQp
OwogICAgIGlmIChtdXRlZFN0YXRlICYga1dLTWVkaWFTY3JlZW5DYXB0dXJlTXV0ZWQpCi0gICAg
ICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNN
dXRlZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CiAKICAgICB0b0ltcGwocGFnZSktPnNldE11
dGVkKGNvcmVTdGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQppbmRleCAxMzM3OTNmNDEyOTEwMzY3MDY3ZTY0ZTIzN2M3MTc3NGY0MjMz
Nzg0Li5mOTNlNTdkODAwODQ1NWNjMGMwMDkyN2M1Y2NiNDhmZDIyYjdlZTYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTEwMTIsMTAg
KzEwMTIsMTAgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvV0tNZWRpYVBsYXliYWNr
U3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUgbWUKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+bXV0ZWRTdGF0ZUZsYWdzKCk7Ci0gICAg
aWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUgJiYgbXV0ZWRTdGF0ZSAmIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpCi0gICAgICAgIG11dGVk
U3RhdGUgXj0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAg
ICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZSkKKyAgICAgICAgbXV0ZWRT
dGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0
dXJlSXNNdXRlZCk7CiAgICAgZWxzZSBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZU11
dGVkKQotICAgICAgICBtdXRlZFN0YXRlID0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9D
YXB0dXJlSXNNdXRlZDsKKyAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgX3BhZ2UtPnNldE11
dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0
aW9uSGFuZGxlcildIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsKQEAg
LTEwMzMsMTAgKzEwMzMsMTAgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvV0tNZWRp
YVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUgbWUKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+bXV0ZWRTdGF0ZUZsYWdz
KCk7Ci0gICAgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUgJiYgbXV0ZWRT
dGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpCi0gICAg
ICAgIG11dGVkU3RhdGUgXj0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNN
dXRlZDsKKyAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZSkKKyAgICAg
ICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6
VmlkZW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgZWxzZSBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1
cmVTdGF0ZU11dGVkKQotICAgICAgICBtdXRlZFN0YXRlID0gV2ViQ29yZTo6TWVkaWFQcm9kdWNl
cjo6VmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgX3Bh
Z2UtPnNldE11dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0
cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAg
ICB9KTsKQEAgLTMzNDAsMTQgKzMzNDAsMTQgQEAgc3RhdGljIGlubGluZSBPcHRpb25TZXQ8V2Vi
S2l0OjpGaW5kT3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmQKIAog
LSAodm9pZClfc2V0UGFnZU11dGVkOihfV0tNZWRpYU11dGVkU3RhdGUpbXV0ZWRTdGF0ZQogewot
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBjb3JlU3RhdGUgPSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpOb25lTXV0ZWQ7CisgICAgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNvcmVTdGF0ZTsKIAogICAgIGlmIChtdXRlZFN0YXRlICYg
X1dLTWVkaWFBdWRpb011dGVkKQotICAgICAgICBjb3JlU3RhdGUgfD0gV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6QXVkaW9Jc011dGVkOworICAgICAgICBjb3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCk7CiAgICAgaWYgKG11dGVkU3Rh
dGUgJiBfV0tNZWRpYUNhcHR1cmVEZXZpY2VzTXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAg
ICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0Nh
cHR1cmVJc011dGVkKTsKICAgICBpZiAobXV0ZWRTdGF0ZSAmIF9XS01lZGlhU2NyZWVuQ2FwdHVy
ZU11dGVkKQotICAgICAgICBjb3JlU3RhdGUgfD0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6U2Ny
ZWVuQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogCiAgICAgX3BhZ2Ut
PnNldE11dGVkKGNvcmVTdGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IGQ0MTliZDRlOGMxMjkyODU1ZmQ3OTZl
NTJlYmE3NDY5NWJhOWMyYjEuLmExNDZmNjgwNThjOTI4MGU0YzQwMjIwNGRhMjRmZDk3M2NlYjVj
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YlZpZXcuY3BwCkBAIC0zMjcwLDcgKzMyNzAsMTAgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0
X2lzX211dGVkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGdib29sZWFuIG11dGVkKQogICAgIGlm
ICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2lzX211dGVkICh3ZWJWaWV3KSA9PSBtdXRlZCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgZ2V0UGFnZSh3ZWJWaWV3KS5zZXRNdXRlZChtdXRlZCA/IFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvSXNNdXRlZCA6IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok5vbmVNdXRlZCk7CisgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdz
IGF1ZGlvTXV0ZWRGbGFnOworICAgIGlmIChtdXRlZCkKKyAgICAgICAgYXVkaW9NdXRlZEZsYWcu
YWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvSXNNdXRlZCk7CisgICAgZ2V0UGFnZSh3
ZWJWaWV3KS5zZXRNdXRlZChhdWRpb011dGVkRmxhZyk7CiAgICAgZ19vYmplY3Rfbm90aWZ5X2J5
X3BzcGVjKEdfT0JKRUNUKHdlYlZpZXcpLCBzT2JqUHJvcGVydGllc1tQUk9QX0lTX01VVEVEXSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRp
bGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMu
bW0KaW5kZXggNDRhODFkNDhiYTdjMTI0ZjJhMzgzYmYzODA0YjQ5ODdjMDVhZTJkMy4uNzJjMWFi
OGE0M2Q3ZDA4NjlmNTY2MGI2MjdiMGMyMGYyMjQ4OTRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW0KQEAgLTQ2LDEzICs0NiwxMSBAQCBf
V0tNZWRpYUNhcHR1cmVTdGF0ZURlcHJlY2F0ZWQgdG9XS01lZGlhQ2FwdHVyZVN0YXRlRGVwcmVj
YXRlZChXZWJDb3JlOjpNZWRpYVBybwogX1dLTWVkaWFNdXRlZFN0YXRlIHRvV0tNZWRpYU11dGVk
U3RhdGUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIHN0YXRlKQogewog
ICAgIF9XS01lZGlhTXV0ZWRTdGF0ZSBtZWRpYU11dGVkU3RhdGUgPSBfV0tNZWRpYU5vbmVNdXRl
ZDsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpOb25lTXV0ZWQpCi0g
ICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8PSBfV0tNZWRpYU5vbmVNdXRlZDsKLSAgICBpZiAoc3Rh
dGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQpCisgICAgaWYgKHN0YXRl
ICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKQogICAg
ICAgICBtZWRpYU11dGVkU3RhdGUgfD0gX1dLTWVkaWFBdWRpb011dGVkOwogICAgIGlmIChzdGF0
ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCkK
ICAgICAgICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9XS01lZGlhQ2FwdHVyZURldmljZXNNdXRlZDsK
LSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNN
dXRlZCkKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRl
OjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkKICAgICAgICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9XS01l
ZGlhU2NyZWVuQ2FwdHVyZU11dGVkOwogICAgIHJldHVybiBtZWRpYU11dGVkU3RhdGU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA0YzEzMmY4MTkyYTRl
NTEyMDQyMjMzMzI4ZjlmMjZhYmM3OTJjYmIzLi5iZGI0NGU4Mjc2NzJiMzExZjhkOTllMzMwZDBj
MTcyOGE1YTU4NzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTE5ODcsNyArMTk4Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVBY3Rpdml0eVN0
YXRlKE9wdGlvblNldDxBY3Rpdml0eVN0YXRlOjpGbGFnPiBmbGFnc1RvVXBkCiAgICAgICAgIG1f
YWN0aXZpdHlTdGF0ZS5hZGQoQWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdyk7CiAgICAgaWYgKGZs
YWdzVG9VcGRhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc1Zpc3VhbGx5SWRsZSAmJiBwYWdlQ2xpZW50
KCkuaXNWaXN1YWxseUlkbGUoKSkKICAgICAgICAgbV9hY3Rpdml0eVN0YXRlLmFkZChBY3Rpdml0
eVN0YXRlOjpJc1Zpc3VhbGx5SWRsZSk7Ci0gICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBBY3Rpdml0
eVN0YXRlOjpJc0F1ZGlibGUgJiYgbV9tZWRpYVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SXNQbGF5
aW5nQXVkaW8gJiYgIShtX211dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQp
KQorICAgIGlmIChmbGFnc1RvVXBkYXRlICYgQWN0aXZpdHlTdGF0ZTo6SXNBdWRpYmxlICYmIG1f
bWVkaWFTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OklzUGxheWluZ0F1ZGlvICYmICEobV9tdXRlZFN0
YXRlLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCkpKQog
ICAgICAgICBtX2FjdGl2aXR5U3RhdGUuYWRkKEFjdGl2aXR5U3RhdGU6OklzQXVkaWJsZSk7CiAg
ICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc0xvYWRpbmcgJiYgbV9wYWdl
TG9hZFN0YXRlLmlzTG9hZGluZygpKQogICAgICAgICBtX2FjdGl2aXR5U3RhdGUuYWRkKEFjdGl2
aXR5U3RhdGU6OklzTG9hZGluZyk7CkBAIC0yNDQ0LDEwICsyNDQ0LDEyIEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpzZXRFZGl0YWJsZShib29sIGVkaXRhYmxlKQogICAgIAogdm9pZCBXZWJQYWdlUHJv
eHk6OnNldE1lZGlhU3RyZWFtQ2FwdHVyZU11dGVkKGJvb2wgbXV0ZWQpCiB7CisgICAgYXV0byBz
dGF0ZSA9IG1fbXV0ZWRTdGF0ZTsKICAgICBpZiAobXV0ZWQpCi0gICAgICAgIHNldE11dGVkKG1f
bXV0ZWRTdGF0ZSB8IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlz
TXV0ZWQpOworICAgICAgICBzdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFT
dHJlYW1DYXB0dXJlSXNNdXRlZCk7CiAgICAgZWxzZQotICAgICAgICBzZXRNdXRlZChtX211dGVk
U3RhdGUgJiB+V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRl
ZCk7CisgICAgICAgIHN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0
cmVhbUNhcHR1cmVJc011dGVkKTsKKyAgICBzZXRNdXRlZChzdGF0ZSk7CiB9CiAKIHZvaWQgV2Vi
UGFnZVByb3h5OjphY3RpdmF0ZU1lZGlhU3RyZWFtQ2FwdHVyZUluUGFnZSgpCkBAIC0yNDU1LDcg
KzI0NTcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6YWN0aXZhdGVNZWRpYVN0cmVhbUNhcHR1cmVJ
blBhZ2UoKQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgV2ViUHJvY2Vzc1Byb3h5Ojpt
dXRlQ2FwdHVyZUluUGFnZXNFeGNlcHQobV93ZWJQYWdlSUQpOwogI2VuZGlmCi0gICAgc2V0TXV0
ZWQobV9tdXRlZFN0YXRlICYgfldlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2Fw
dHVyZUlzTXV0ZWQpOworICAgIHNldE1lZGlhU3RyZWFtQ2FwdHVyZU11dGVkKGZhbHNlKTsKIH0K
IAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCA3NTZlYTUzMTBlZjVlYTBhOTY3NTZkMjFhZDQ1MDkyZWY3ODIwZDA1Li42
ODgwZjNjZjcxMDFlMzFkM2Y0YWVmZmY3NmYxZGY1MTAzOWQ3NjdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzMyLDcgKzczMiw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzRWRpdGFibGUoKSBjb25zdCB7IHJldHVybiBtX2lzRWRpdGFibGU7IH0KIAogICAgIHZv
aWQgYWN0aXZhdGVNZWRpYVN0cmVhbUNhcHR1cmVJblBhZ2UoKTsKLSAgICBib29sIGlzTWVkaWFT
dHJlYW1DYXB0dXJlTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUgJiBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkOyB9CisgICAgYm9vbCBp
c01lZGlhU3RyZWFtQ2FwdHVyZU11dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlLmNv
bnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0
ZWQpOyB9CiAgICAgdm9pZCBzZXRNZWRpYVN0cmVhbUNhcHR1cmVNdXRlZChib29sKTsKIAogICAg
IHZvaWQgcmVxdWVzdEZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik+JiYpOwpAQCAtMTM2Miw3
ICsxMzYyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRNZWRpYVZvbHVtZShmbG9hdCk7CiAg
ICAgdm9pZCBzZXRNdXRlZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3Ms
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiA9IFtdIHsgfSk7Ci0gICAgYm9vbCBpc0F1ZGlv
TXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpBdWRpb0lzTXV0ZWQ7IH07CisgICAgYm9vbCBpc0F1ZGlvTXV0ZWQoKSBjb25zdCB7IHJl
dHVybiBtX211dGVkU3RhdGUuY29udGFpbnMoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRT
dGF0ZTo6QXVkaW9Jc011dGVkKTsgfTsKICAgICB2b2lkIHNldE1heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3coYm9vbCk7CiAgICAgYm9vbCBtYXlTdGFydE1lZGlhV2hlbkluV2luZG93KCkgY29uc3Qg
eyByZXR1cm4gbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93OyB9CiAgICAgdm9pZCBzZXRNZWRp
YUNhcHR1cmVFbmFibGVkKGJvb2wpOwpAQCAtMjgyMSw3ICsyODIxLDcgQEAgcHJpdmF0ZToKICAg
ICBXZWJDb3JlOjpMYXlvdXRQb2ludCBtX21heFN0YWJsZUxheW91dFZpZXdwb3J0T3JpZ2luOwog
CiAgICAgZmxvYXQgbV9tZWRpYVZvbHVtZSB7IDEgfTsKLSAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgbV9tdXRlZFN0YXRlIHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
cjo6Tm9uZU11dGVkIH07CisgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZs
YWdzIG1fbXV0ZWRTdGF0ZTsKICAgICBib29sIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyB7
IHRydWUgfTsKICAgICBib29sIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVkIHsgZmFsc2UgfTsK
ICAgICBib29sIG1fbWVkaWFDYXB0dXJlRW5hYmxlZCB7IHRydWUgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGJjZjJhOWYxNGFlOGJhMTRjYjY5
ZDZiYzVmZjRiZThlZWFmM2UwZDMuLjcwZGU5YTE3MWE4NzI2OTYxY2NlN2FiMzA0NGEwMTcwMThm
NTdjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApA
QCAtMTc4NSw3ICsxNzg1LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6Om11dGVDYXB0dXJlSW5Q
YWdlc0V4Y2VwdChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQpCiAKIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpwYWdlTXV0ZWRTdGF0ZUNoYW5nZWQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIg
aWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGZsYWdz
KQogewotICAgIGJvb2wgbXV0ZWRGb3JDYXB0dXJlID0gZmxhZ3MgJiBNZWRpYVByb2R1Y2VyOjpB
dWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgYm9vbCBtdXRlZEZvckNhcHR1cmUgPSBm
bGFncy5jb250YWluc0FueShNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0
ZWQpOwogICAgIGlmICghbXV0ZWRGb3JDYXB0dXJlKQogICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427420</attachid>
            <date>2021-04-30 08:08:02 -0700</date>
            <delta_ts>2021-05-03 00:08:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224550-20210430170800.patch</filename>
            <type>text/plain</type>
            <size>21096</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZmZDk4OWZkYzBjM2U1
MWJmNjNhZDE4YWI2NjUwMTgxYTUxNjk0ZC4uNGMwZDRlNzQ0ZmFmYjRlOWI2MzczNDllNzMxYzY5
OWEwYjJiZTYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVmYWN0b3JpbmcgdG8gaW1wcm92ZSB0eXBlIHNhZmV0eS4KKyAgICAgICAgTm8gY2hhbmdl
IG9mIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNh
cHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSk6CisgICAgICAgICogcGFnZS9NZWRpYVBy
b2R1Y2VyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojppc0F1ZGlvTXV0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXNNZWRpYUNh
cHR1cmVNdXRlZCBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRQYWdlTXV0ZWQpOgorCiAyMDIxLTA0LTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
Mjc2NjMzKTogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tdHJhY2staW50ZXJydXB0ZWQu
aHRtbCBpcyBjb25zaXN0ZW50bHkgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhNjA0MTQzNzcwMTUx
MzY2MDMzZTdlYmM1YWZlNzMwZTNhZTA3MThlLi5iMzg5NzNiZTEwMmU3MWI3ZjZhMmEyODU0MDIy
NmY3OWQzYjg0ZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VTZXRNdXRlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBzZXRNaWNyb3Bob25lQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgc2V0Q2FtZXJhQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0p
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldFBhZ2VNdXRlZDpdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3Zp
ZXdfc2V0X2lzX211dGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRp
ZXMubW06CisgICAgICAgIChXZWJLaXQ6OnRvV0tNZWRpYU11dGVkU3RhdGUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnVwZGF0ZUFjdGl2aXR5U3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKwogMjAyMS0wNC0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIG1lbW9yeSBhbGxvY2F0aW9uIGNoZWNrcyBpbiBtb3JlIHJlYWx0aW1lIGF1
ZGlvIGNhcHR1cmUvcmVuZGVyaW5nIHBsYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNmMxZjE3YTAz
Zjc5MjI1MWE1MmJhOGFkNDAwMmRlOGFiYmE3YmU0Ny4uNDIyNGQ5ZTI5NTgwODIyNmRhZDZkNWFi
YjBiOTEzZjg4YjkyYmYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC00ODMsMTMgKzQ4MywxMyBAQCB2
b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3RhdGUo
RG9jdW1lbnQmIGRvY3VtZW50KQogCiAgICAgYXV0byogYWN0aXZlQXVkaW9Tb3VyY2UgPSBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5KCku
YWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFjdGl2ZUF1ZGlvU291cmNlICYmIGlzU291cmNlQ2Fw
dHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCphY3RpdmVBdWRpb1NvdXJjZSwgZG9jdW1lbnQpKSB7
Ci0gICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9k
dWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdl
LT5tdXRlZFN0YXRlKCkuY29udGFpbnMoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9D
YXB0dXJlSXNNdXRlZCk7CiAgICAgICAgIGFjdGl2ZUF1ZGlvU291cmNlLT5zZXRNdXRlZChwYWdl
TXV0ZWQgfHwgKGRvY3VtZW50LmhpZGRlbigpICYmIGRvY3VtZW50LnNldHRpbmdzKCkuaW50ZXJy
dXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5Q2hhbmdlRW5hYmxlZCgpKSk7CiAgICAgfQogCiAgICAg
YXV0byogYWN0aXZlVmlkZW9Tb3VyY2UgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5n
bGV0b24oKS52aWRlb0NhcHR1cmVGYWN0b3J5KCkuYWN0aXZlU291cmNlKCk7CiAgICAgaWYgKGFj
dGl2ZVZpZGVvU291cmNlICYmIGlzU291cmNlQ2FwdHVyaW5nRm9yVHJhY2tJbkRvY3VtZW50KCph
Y3RpdmVWaWRlb1NvdXJjZSwgZG9jdW1lbnQpKSB7Ci0gICAgICAgIGJvb2wgcGFnZU11dGVkID0g
cGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRlZDsK
KyAgICAgICAgYm9vbCBwYWdlTXV0ZWQgPSBwYWdlLT5tdXRlZFN0YXRlKCkuY29udGFpbnMoTWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgIGFj
dGl2ZVZpZGVvU291cmNlLT5zZXRNdXRlZChwYWdlTXV0ZWQgfHwgZG9jdW1lbnQuaGlkZGVuKCkp
OwogICAgIH0KICNlbHNlCkBAIC01MDksMTQgKzUwOSwxNCBAQCB2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoKQogCiAgICAgc3dpdGNoIChzb3VyY2UoKS5kZXZp
Y2VUeXBlKCkpIHsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhv
bmU6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVk
aWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0
TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3Rh
dGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0
ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNNdXRl
ZCk7CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRh
aW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46
CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6Ci0gICAgICAgIG1f
cHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6U2Ny
ZWVuQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVkKHBhZ2UtPm11
dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0
dXJlSXNNdXRlZCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpV
bmtub3duOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAppbmRleCBiMTdlNjlmMjEwNmFh
OWNmMjhmYTRkNTI2M2Y5NTJhNzdmYzg1YTMwLi4yNDAzMjc2NTcyYzkxMGZlZTA2NzE5NGI2NDVk
MjFkOGFhOTVmMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVj
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaApAQCAtMjYsNiAr
MjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC03NSwxNyArNzYsMTYgQEAgcHVibGljOgogICAgICAgICBBdWRp
b1ZpZGVvCiAgICAgfTsKIAotICAgIGVudW0gTXV0ZWRTdGF0ZSB7Ci0gICAgICAgIE5vbmVNdXRl
ZCA9IDAsCisgICAgZW51bSBjbGFzcyBNdXRlZFN0YXRlIHsKICAgICAgICAgQXVkaW9Jc011dGVk
ID0gMSA8PCAwLAogICAgICAgICBBdWRpb0NhcHR1cmVJc011dGVkID0gMSA8PCAxLAogICAgICAg
ICBWaWRlb0NhcHR1cmVJc011dGVkID0gMSA8PCAyLAogICAgICAgICBTY3JlZW5DYXB0dXJlSXNN
dXRlZCA9IDEgPDwgMywKLQotICAgICAgICBBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSBB
dWRpb0NhcHR1cmVJc011dGVkIHwgVmlkZW9DYXB0dXJlSXNNdXRlZCwKLSAgICAgICAgTWVkaWFT
dHJlYW1DYXB0dXJlSXNNdXRlZCA9IEF1ZGlvQ2FwdHVyZUlzTXV0ZWQgfCBWaWRlb0NhcHR1cmVJ
c011dGVkIHwgU2NyZWVuQ2FwdHVyZUlzTXV0ZWQsCiAgICAgfTsKLSAgICB0eXBlZGVmIHVuc2ln
bmVkIE11dGVkU3RhdGVGbGFnczsKKworICAgIHVzaW5nIE11dGVkU3RhdGVGbGFncyA9IE9wdGlv
blNldDxNdXRlZFN0YXRlPjsKKyAgICBzdGF0aWMgY29uc3RleHByIE11dGVkU3RhdGVGbGFncyBB
dWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSB7IE11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlz
TXV0ZWQsIE11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBzdGF0aWMgY29u
c3RleHByIE11dGVkU3RhdGVGbGFncyBNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkID0geyBNdXRl
ZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011
dGVkLCBNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCB9OwogCiAgICAgdmlydHVhbCB2
b2lkIHBhZ2VNdXRlZFN0YXRlRGlkQ2hhbmdlKCkgPSAwOwogCkBAIC0xMDYsNCArMTA2LDE0IEBA
IHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVk
aWFDYXB0dXJlS2luZD4gewogICAgID47CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJh
aXRzPFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU+IHsKKyAgICB1c2luZyB2YWx1
ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lz
TXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlv
Q2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3Rh
dGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkCisgICAgPjsKK307CisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKaW5kZXggNmI3NmNjMTE1OGMzZjZhNDQwODcwNDA5ZjEzZjBmNzIyMTk4MzIzNC4uYjM2
NDgxZjIxMjViZDM2NjM3NDRkYzcyZGY2NzIxMDkwYzA5ZGQ3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAg
LTY5OCw4ICs2OTgsOCBAQCBwdWJsaWM6CiAgICAgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZs
YWdzIG1lZGlhU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGU7IH0KICAgICB2b2lk
IHVwZGF0ZUlzUGxheWluZ01lZGlhKHVpbnQ2NF90KTsKICAgICBNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlRmxhZ3MgbXV0ZWRTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZTsgfQot
ICAgIGJvb2wgaXNBdWRpb011dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYgTWVk
aWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkOyB9Ci0gICAgYm9vbCBpc01lZGlhQ2FwdHVyZU11dGVk
KCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJl
YW1DYXB0dXJlSXNNdXRlZDsgfTsKKyAgICBib29sIGlzQXVkaW9NdXRlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbXV0ZWRTdGF0ZS5jb250YWlucyhNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRp
b0lzTXV0ZWQpOyB9CisgICAgYm9vbCBpc01lZGlhQ2FwdHVyZU11dGVkKCkgY29uc3QgeyByZXR1
cm4gbV9tdXRlZFN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2Fw
dHVyZUlzTXV0ZWQpOyB9OwogICAgIHZvaWQgc2NoZWR1bGVQbGF5YmFja0NvbnRyb2xzTWFuYWdl
clVwZGF0ZSgpOwogI2lmIEVOQUJMRShWSURFTykKICAgICB2b2lkIHBsYXliYWNrQ29udHJvbHNN
ZWRpYUVuZ2luZUNoYW5nZWQoKTsKQEAgLTk1Miw3ICs5NTIsNyBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9pbkxvd1F1YWxpdHlJbnRlcnBvbGF0aW9uTW9kZSB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2FyZU1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGZsb2F0IG1f
bWVkaWFWb2x1bWUgeyAxIH07Ci0gICAgTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG1f
bXV0ZWRTdGF0ZSB7IE1lZGlhUHJvZHVjZXI6Ok5vbmVNdXRlZCB9OworICAgIE1lZGlhUHJvZHVj
ZXI6Ok11dGVkU3RhdGVGbGFncyBtX211dGVkU3RhdGU7CiAKICAgICBmbG9hdCBtX3BhZ2VTY2Fs
ZUZhY3RvciB7IDEgfTsKICAgICBmbG9hdCBtX3pvb21lZE91dFBhZ2VTY2FsZUZhY3RvciB7IDAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiMjM5YmUxYzM3MjBmOGMx
M2MzY2FhZThjZTY3NTcyOWY5NGQ4MmYwLi5iOTM4MjI3NDhmNjg5MjFhNTQ4NTkxNzkzZDRhYmNh
MTE3NWQ5NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00NTg2LDE0
ICs0NTg2LDE0IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRQYWdlTXV0ZWQoU3RyaW5nVmlldyBzdGF0
ZXNTdHJpbmcpCiAgICAgaWYgKCFkb2N1bWVudCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIHN0YXRlID0gTWVkaWFQcm9kdWNl
cjo6Tm9uZU11dGVkOworICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFn
cyBzdGF0ZTsKICAgICBmb3IgKFN0cmluZ1ZpZXcgc3RhdGVTdHJpbmcgOiBzdGF0ZXNTdHJpbmcu
c3BsaXQoJywnKSkgewogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
c3RhdGVTdHJpbmcsICJhdWRpbyIpKQotICAgICAgICAgICAgc3RhdGUgfD0gTWVkaWFQcm9kdWNl
cjo6QXVkaW9Jc011dGVkOworICAgICAgICAgICAgc3RhdGUuYWRkKE1lZGlhUHJvZHVjZXI6Ok11
dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCk7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShzdGF0ZVN0cmluZywgImNhcHR1cmVkZXZpY2VzIikpCi0gICAgICAgICAgICBz
dGF0ZSB8PSBNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAg
ICAgICAgICBzdGF0ZS5hZGQoTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011
dGVkKTsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0YXRlU3Ry
aW5nLCAic2NyZWVuY2FwdHVyZSIpKQotICAgICAgICAgICAgc3RhdGUgfD0gTWVkaWFQcm9kdWNl
cjo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgICAgICBzdGF0ZS5hZGQoTWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogICAgIH0KIAogICAgIGlm
IChQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggOGMyZmIwYTU2NGVjMTg4
Yjg5MTkwYmJiNjNlMjdjM2UyNmRjODRiZC4uYzJjYTdiYjM1NzFlNDQ4Yjk0MWE1ZjAwOTY0YmRj
NWZlYmI1MTM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5jcHAKQEAgLTI3NSw4ICsyNzUsMTMgQEAgT3B0aW9uYWw8V2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6
RGVjb2QKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHBhcmFtZXRlcnMubWVkaWFWb2x1bWUpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tdXRlZCkpCisKKyAgICBPcHRp
b25hbDxNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3M+IG11dGVkU3RhdGVGbGFnczsKKyAg
ICBkZWNvZGVyID4+IG11dGVkU3RhdGVGbGFnczsKKyAgICBpZiAoIW11dGVkU3RhdGVGbGFncykK
ICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBwYXJhbWV0ZXJzLm11dGVkID0gKm11
dGVkU3RhdGVGbGFnczsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tYXlT
dGFydE1lZGlhV2hlbkluV2luZG93KSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubWVkaWFQbGF5YmFja0lzU3VzcGVuZGVk
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDQ1NTA0NDc4
MDZmOTYzYTcwZTU0NGIxMmRlY2ViMTRkMWYwNjdkNzcuLmYyZTc3NzFjYjhkMTI1Zjg2MzNhNTkw
YmQ5NWY5ZDJkZWY4OWY2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcApAQCAtMjcxMiwxNCArMjcxMiwxNCBAQCB2b2lkIFdLUGFnZVNldE1lZGlhVm9sdW1lKFdL
UGFnZVJlZiBwYWdlLCBmbG9hdCB2b2x1bWUpCiAKIHZvaWQgV0tQYWdlU2V0TXV0ZWQoV0tQYWdl
UmVmIHBhZ2UsIFdLTWVkaWFNdXRlZFN0YXRlIG11dGVkU3RhdGUpCiB7Ci0gICAgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNvcmVTdGF0ZSA9IFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok5vbmVNdXRlZDsKKyAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlRmxhZ3MgY29yZVN0YXRlOwogCiAgICAgaWYgKG11dGVkU3RhdGUgJiBrV0tNZWRpYUF1ZGlv
TXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRp
b0lzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKTsKICAgICBpZiAobXV0ZWRTdGF0ZSAmIGtXS01lZGlh
Q2FwdHVyZURldmljZXNNdXRlZCkKLSAgICAgICAgY29yZVN0YXRlIHw9IFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgY29yZVN0YXRl
LmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQp
OwogICAgIGlmIChtdXRlZFN0YXRlICYga1dLTWVkaWFTY3JlZW5DYXB0dXJlTXV0ZWQpCi0gICAg
ICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlSXNN
dXRlZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CiAKICAgICB0b0ltcGwocGFnZSktPnNldE11
dGVkKGNvcmVTdGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQppbmRleCAxMzM3OTNmNDEyOTEwMzY3MDY3ZTY0ZTIzN2M3MTc3NGY0MjMz
Nzg0Li5mOTNlNTdkODAwODQ1NWNjMGMwMDkyN2M1Y2NiNDhmZDIyYjdlZTYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTEwMTIsMTAg
KzEwMTIsMTAgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvV0tNZWRpYVBsYXliYWNr
U3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUgbWUKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+bXV0ZWRTdGF0ZUZsYWdzKCk7Ci0gICAg
aWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUgJiYgbXV0ZWRTdGF0ZSAmIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpCi0gICAgICAgIG11dGVk
U3RhdGUgXj0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlSXNNdXRlZDsKKyAg
ICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZSkKKyAgICAgICAgbXV0ZWRT
dGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0
dXJlSXNNdXRlZCk7CiAgICAgZWxzZSBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZU11
dGVkKQotICAgICAgICBtdXRlZFN0YXRlID0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9D
YXB0dXJlSXNNdXRlZDsKKyAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgX3BhZ2UtPnNldE11
dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0
aW9uSGFuZGxlcildIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICB9KTsKQEAg
LTEwMzMsMTAgKzEwMzMsMTAgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvV0tNZWRp
YVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUgbWUKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+bXV0ZWRTdGF0ZUZsYWdz
KCk7Ci0gICAgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUgJiYgbXV0ZWRT
dGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpCi0gICAg
ICAgIG11dGVkU3RhdGUgXj0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlSXNN
dXRlZDsKKyAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZSkKKyAgICAg
ICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6
VmlkZW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgZWxzZSBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1
cmVTdGF0ZU11dGVkKQotICAgICAgICBtdXRlZFN0YXRlID0gV2ViQ29yZTo6TWVkaWFQcm9kdWNl
cjo6VmlkZW9DYXB0dXJlSXNNdXRlZDsKKyAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgX3Bh
Z2UtPnNldE11dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0
cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAg
ICB9KTsKQEAgLTMzNDAsMTQgKzMzNDAsMTQgQEAgc3RhdGljIGlubGluZSBPcHRpb25TZXQ8V2Vi
S2l0OjpGaW5kT3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmQKIAog
LSAodm9pZClfc2V0UGFnZU11dGVkOihfV0tNZWRpYU11dGVkU3RhdGUpbXV0ZWRTdGF0ZQogewot
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBjb3JlU3RhdGUgPSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpOb25lTXV0ZWQ7CisgICAgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNvcmVTdGF0ZTsKIAogICAgIGlmIChtdXRlZFN0YXRlICYg
X1dLTWVkaWFBdWRpb011dGVkKQotICAgICAgICBjb3JlU3RhdGUgfD0gV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6QXVkaW9Jc011dGVkOworICAgICAgICBjb3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCk7CiAgICAgaWYgKG11dGVkU3Rh
dGUgJiBfV0tNZWRpYUNhcHR1cmVEZXZpY2VzTXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAg
ICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0Nh
cHR1cmVJc011dGVkKTsKICAgICBpZiAobXV0ZWRTdGF0ZSAmIF9XS01lZGlhU2NyZWVuQ2FwdHVy
ZU11dGVkKQotICAgICAgICBjb3JlU3RhdGUgfD0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6U2Ny
ZWVuQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogCiAgICAgX3BhZ2Ut
PnNldE11dGVkKGNvcmVTdGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IGQ0MTliZDRlOGMxMjkyODU1ZmQ3OTZl
NTJlYmE3NDY5NWJhOWMyYjEuLjllYjJmMDYxYWYxZjFlM2RlMDY4YTI1MjJhNjM3YjcwYjE1ZWEz
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YlZpZXcuY3BwCkBAIC0zMjcwLDcgKzMyNzAsMTAgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0
X2lzX211dGVkKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGdib29sZWFuIG11dGVkKQogICAgIGlm
ICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2lzX211dGVkICh3ZWJWaWV3KSA9PSBtdXRlZCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgZ2V0UGFnZSh3ZWJWaWV3KS5zZXRNdXRlZChtdXRlZCA/IFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvSXNNdXRlZCA6IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok5vbmVNdXRlZCk7CisgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdz
IGF1ZGlvTXV0ZWRGbGFnOworICAgIGlmIChtdXRlZCkKKyAgICAgICAgYXVkaW9NdXRlZEZsYWcu
YWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCk7Cisg
ICAgZ2V0UGFnZSh3ZWJWaWV3KS5zZXRNdXRlZChhdWRpb011dGVkRmxhZyk7CiAgICAgZ19vYmpl
Y3Rfbm90aWZ5X2J5X3BzcGVjKEdfT0JKRUNUKHdlYlZpZXcpLCBzT2JqUHJvcGVydGllc1tQUk9Q
X0lTX01VVEVEXSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL01lZGlhVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVk
aWFVdGlsaXRpZXMubW0KaW5kZXggNDRhODFkNDhiYTdjMTI0ZjJhMzgzYmYzODA0YjQ5ODdjMDVh
ZTJkMy4uNzJjMWFiOGE0M2Q3ZDA4NjlmNTY2MGI2MjdiMGMyMGYyMjQ4OTRkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTWVkaWFVdGlsaXRpZXMubW0KQEAgLTQ2LDEz
ICs0NiwxMSBAQCBfV0tNZWRpYUNhcHR1cmVTdGF0ZURlcHJlY2F0ZWQgdG9XS01lZGlhQ2FwdHVy
ZVN0YXRlRGVwcmVjYXRlZChXZWJDb3JlOjpNZWRpYVBybwogX1dLTWVkaWFNdXRlZFN0YXRlIHRv
V0tNZWRpYU11dGVkU3RhdGUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdz
IHN0YXRlKQogewogICAgIF9XS01lZGlhTXV0ZWRTdGF0ZSBtZWRpYU11dGVkU3RhdGUgPSBfV0tN
ZWRpYU5vbmVNdXRlZDsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpO
b25lTXV0ZWQpCi0gICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8PSBfV0tNZWRpYU5vbmVNdXRlZDsK
LSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQpCisg
ICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9J
c011dGVkKQogICAgICAgICBtZWRpYU11dGVkU3RhdGUgfD0gX1dLTWVkaWFBdWRpb011dGVkOwog
ICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0
dXJlSXNNdXRlZCkKICAgICAgICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9XS01lZGlhQ2FwdHVyZURl
dmljZXNNdXRlZDsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpTY3Jl
ZW5DYXB0dXJlSXNNdXRlZCkKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
OjpNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkKICAgICAgICAgbWVkaWFNdXRlZFN0
YXRlIHw9IF9XS01lZGlhU2NyZWVuQ2FwdHVyZU11dGVkOwogICAgIHJldHVybiBtZWRpYU11dGVk
U3RhdGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA0
YzEzMmY4MTkyYTRlNTEyMDQyMjMzMzI4ZjlmMjZhYmM3OTJjYmIzLi5iZGI0NGU4Mjc2NzJiMzEx
ZjhkOTllMzMwZDBjMTcyOGE1YTU4NzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTE5ODcsNyArMTk4Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRh
dGVBY3Rpdml0eVN0YXRlKE9wdGlvblNldDxBY3Rpdml0eVN0YXRlOjpGbGFnPiBmbGFnc1RvVXBk
CiAgICAgICAgIG1fYWN0aXZpdHlTdGF0ZS5hZGQoQWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdyk7
CiAgICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc1Zpc3VhbGx5SWRsZSAm
JiBwYWdlQ2xpZW50KCkuaXNWaXN1YWxseUlkbGUoKSkKICAgICAgICAgbV9hY3Rpdml0eVN0YXRl
LmFkZChBY3Rpdml0eVN0YXRlOjpJc1Zpc3VhbGx5SWRsZSk7Ci0gICAgaWYgKGZsYWdzVG9VcGRh
dGUgJiBBY3Rpdml0eVN0YXRlOjpJc0F1ZGlibGUgJiYgbV9tZWRpYVN0YXRlICYgTWVkaWFQcm9k
dWNlcjo6SXNQbGF5aW5nQXVkaW8gJiYgIShtX211dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpB
dWRpb0lzTXV0ZWQpKQorICAgIGlmIChmbGFnc1RvVXBkYXRlICYgQWN0aXZpdHlTdGF0ZTo6SXNB
dWRpYmxlICYmIG1fbWVkaWFTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OklzUGxheWluZ0F1ZGlvICYm
ICEobV9tdXRlZFN0YXRlLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlv
SXNNdXRlZCkpKQogICAgICAgICBtX2FjdGl2aXR5U3RhdGUuYWRkKEFjdGl2aXR5U3RhdGU6Oklz
QXVkaWJsZSk7CiAgICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBBY3Rpdml0eVN0YXRlOjpJc0xvYWRp
bmcgJiYgbV9wYWdlTG9hZFN0YXRlLmlzTG9hZGluZygpKQogICAgICAgICBtX2FjdGl2aXR5U3Rh
dGUuYWRkKEFjdGl2aXR5U3RhdGU6OklzTG9hZGluZyk7CkBAIC0yNDQ0LDEwICsyNDQ0LDEyIEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpzZXRFZGl0YWJsZShib29sIGVkaXRhYmxlKQogICAgIAogdm9p
ZCBXZWJQYWdlUHJveHk6OnNldE1lZGlhU3RyZWFtQ2FwdHVyZU11dGVkKGJvb2wgbXV0ZWQpCiB7
CisgICAgYXV0byBzdGF0ZSA9IG1fbXV0ZWRTdGF0ZTsKICAgICBpZiAobXV0ZWQpCi0gICAgICAg
IHNldE11dGVkKG1fbXV0ZWRTdGF0ZSB8IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3Ry
ZWFtQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBzdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCk7CiAgICAgZWxzZQotICAgICAgICBzZXRN
dXRlZChtX211dGVkU3RhdGUgJiB+V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJlYW1D
YXB0dXJlSXNNdXRlZCk7CisgICAgICAgIHN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkKTsKKyAgICBzZXRNdXRlZChzdGF0ZSk7CiB9
CiAKIHZvaWQgV2ViUGFnZVByb3h5OjphY3RpdmF0ZU1lZGlhU3RyZWFtQ2FwdHVyZUluUGFnZSgp
CkBAIC0yNDU1LDcgKzI0NTcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6YWN0aXZhdGVNZWRpYVN0
cmVhbUNhcHR1cmVJblBhZ2UoKQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgV2ViUHJv
Y2Vzc1Byb3h5OjptdXRlQ2FwdHVyZUluUGFnZXNFeGNlcHQobV93ZWJQYWdlSUQpOwogI2VuZGlm
Ci0gICAgc2V0TXV0ZWQobV9tdXRlZFN0YXRlICYgfldlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1l
ZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQpOworICAgIHNldE1lZGlhU3RyZWFtQ2FwdHVyZU11dGVk
KGZhbHNlKTsKIH0KIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3NTZlYTUzMTBlZjVlYTBhOTY3NTZkMjFhZDQ1MDky
ZWY3ODIwZDA1Li42ODgwZjNjZjcxMDFlMzFkM2Y0YWVmZmY3NmYxZGY1MTAzOWQ3NjdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNzMyLDcgKzczMiw3IEBAIHB1
YmxpYzoKICAgICBib29sIGlzRWRpdGFibGUoKSBjb25zdCB7IHJldHVybiBtX2lzRWRpdGFibGU7
IH0KIAogICAgIHZvaWQgYWN0aXZhdGVNZWRpYVN0cmVhbUNhcHR1cmVJblBhZ2UoKTsKLSAgICBi
b29sIGlzTWVkaWFTdHJlYW1DYXB0dXJlTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3Rh
dGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkOyB9
CisgICAgYm9vbCBpc01lZGlhU3RyZWFtQ2FwdHVyZU11dGVkKCkgY29uc3QgeyByZXR1cm4gbV9t
dXRlZFN0YXRlLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFt
Q2FwdHVyZUlzTXV0ZWQpOyB9CiAgICAgdm9pZCBzZXRNZWRpYVN0cmVhbUNhcHR1cmVNdXRlZChi
b29sKTsKIAogICAgIHZvaWQgcmVxdWVzdEZvbnRBdHRyaWJ1dGVzQXRTZWxlY3Rpb25TdGFydChD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkZvbnRBdHRyaWJ1dGVzJik+JiYp
OwpAQCAtMTM2Miw3ICsxMzYyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRNZWRpYVZvbHVt
ZShmbG9hdCk7CiAgICAgdm9pZCBzZXRNdXRlZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlRmxhZ3MsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiA9IFtdIHsgfSk7Ci0gICAg
Ym9vbCBpc0F1ZGlvTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUgJiBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQ7IH07CisgICAgYm9vbCBpc0F1ZGlvTXV0ZWQo
KSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUuY29udGFpbnMoV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkKTsgfTsKICAgICB2b2lkIHNldE1heVN0YXJ0
TWVkaWFXaGVuSW5XaW5kb3coYm9vbCk7CiAgICAgYm9vbCBtYXlTdGFydE1lZGlhV2hlbkluV2lu
ZG93KCkgY29uc3QgeyByZXR1cm4gbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93OyB9CiAgICAg
dm9pZCBzZXRNZWRpYUNhcHR1cmVFbmFibGVkKGJvb2wpOwpAQCAtMjgyMSw3ICsyODIxLDcgQEAg
cHJpdmF0ZToKICAgICBXZWJDb3JlOjpMYXlvdXRQb2ludCBtX21heFN0YWJsZUxheW91dFZpZXdw
b3J0T3JpZ2luOwogCiAgICAgZmxvYXQgbV9tZWRpYVZvbHVtZSB7IDEgfTsKLSAgICBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgbV9tdXRlZFN0YXRlIHsgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkIH07CisgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TXV0ZWRTdGF0ZUZsYWdzIG1fbXV0ZWRTdGF0ZTsKICAgICBib29sIG1fbWF5U3RhcnRNZWRpYVdo
ZW5JbldpbmRvdyB7IHRydWUgfTsKICAgICBib29sIG1fbWVkaWFQbGF5YmFja0lzU3VzcGVuZGVk
IHsgZmFsc2UgfTsKICAgICBib29sIG1fbWVkaWFDYXB0dXJlRW5hYmxlZCB7IHRydWUgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGJjZjJhOWYx
NGFlOGJhMTRjYjY5ZDZiYzVmZjRiZThlZWFmM2UwZDMuLjcwZGU5YTE3MWE4NzI2OTYxY2NlN2Fi
MzA0NGEwMTcwMThmNTdjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcApAQCAtMTc4NSw3ICsxNzg1LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6Om11
dGVDYXB0dXJlSW5QYWdlc0V4Y2VwdChXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBwYWdlSUQpCiAK
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpwYWdlTXV0ZWRTdGF0ZUNoYW5nZWQoV2ViQ29yZTo6UGFn
ZUlkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZUZsYWdzIGZsYWdzKQogewotICAgIGJvb2wgbXV0ZWRGb3JDYXB0dXJlID0gZmxhZ3MgJiBNZWRp
YVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgYm9vbCBtdXRlZEZv
ckNhcHR1cmUgPSBmbGFncy5jb250YWluc0FueShNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVv
Q2FwdHVyZUlzTXV0ZWQpOwogICAgIGlmICghbXV0ZWRGb3JDYXB0dXJlKQogICAgICAgICByZXR1
cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427541</attachid>
            <date>2021-05-03 00:08:22 -0700</date>
            <delta_ts>2021-05-03 01:13:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-224550-20210503090820.patch</filename>
            <type>text/plain</type>
            <size>25127</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZmZDk4OWZkYzBjM2U1
MWJmNjNhZDE4YWI2NjUwMTgxYTUxNjk0ZC4uMTc5MDhiZTMyZTU0NmU5MTRmOGZmYTMxM2EyN2Qy
ODY3YzE2ODNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZv
ciBNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzY5NjAyOTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAg
IFJlZmFjdG9yaW5nIHRvIGltcHJvdmUgdHlwZSBzYWZldHkuCisgICAgICAgIE5vIGNoYW5nZSBv
ZiBiZWhhdmlvci4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0
dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUpOgorICAgICAgICAqIHBhZ2UvTWVkaWFQcm9k
dWNlci5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6
aXNBdWRpb011dGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmlzTWVkaWFDYXB0
dXJlTXV0ZWQgY29uc3QpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6c2V0UGFnZU11dGVkKToKKwogMjAyMS0wNC0zMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3
NjYzMyk6IGZhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXRyYWNrLWludGVycnVwdGVkLmh0
bWwgaXMgY29uc2lzdGVudGx5IHRpbWluZyBvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTYwNDE0Mzc3MDE1MTM2
NjAzM2U3ZWJjNWFmZTczMGUzYWUwNzE4ZS4uZjQyMzE2ZGY3NDY4OTc1M2ZjYWI4OTVmNmFhMGU3
YWUxZjUzMTE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0wNC0zMCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIE9wdGlvblNldCBmb3Ig
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ1NTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2
OTYwMjk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBV
cGRhdGUgdG8gdXNlIG5ldyBPcHRpb25TZXQgTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdz
LgorICAgICAgICBGaXggYSBwb3RlbnRpYWwgYnVnIGluIGNhc2UgdGhlIHBhZ2UgaXMgdmlkZW8g
Y2FwdHVyZSBtdXRlZCwgY292ZXJlZCBieSB1cGRhdGVkIEFQSSB0ZXN0LgorCisgICAgICAgICog
U2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0TXV0ZWQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0
TWljcm9waG9uZUNhcHR1cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IHNldENhbWVyYUNhcHR1cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9zZXRQYWdlTXV0ZWQ6XSk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X3Nl
dF9pc19tdXRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1t
OgorICAgICAgICAoV2ViS2l0Ojp0b1dLTWVkaWFNdXRlZFN0YXRlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1
cGRhdGVBY3Rpdml0eVN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
CisKIDIwMjEtMDQtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBtZW1vcnkgYWxsb2NhdGlvbiBjaGVja3MgaW4gbW9yZSByZWFsdGltZSBhdWRpbyBj
YXB0dXJlL3JlbmRlcmluZyBwbGFjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDZjMWYxN2EwM2Y3OTIy
NTFhNTJiYThhZDQwMDJkZThhYmJhN2JlNDcuLjQyMjRkOWUyOTU4MDgyMjZkYWQ2ZDVhYmIwYjkx
M2Y4OGI5MmJmMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDgzLDEzICs0ODMsMTMgQEAgdm9pZCBN
ZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVDYXB0dXJlQWNjb3JkaW5nVG9NdXRlZFN0YXRlKERvY3Vt
ZW50JiBkb2N1bWVudCkKIAogICAgIGF1dG8qIGFjdGl2ZUF1ZGlvU291cmNlID0gUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2
ZVNvdXJjZSgpOwogICAgIGlmIChhY3RpdmVBdWRpb1NvdXJjZSAmJiBpc1NvdXJjZUNhcHR1cmlu
Z0ZvclRyYWNrSW5Eb2N1bWVudCgqYWN0aXZlQXVkaW9Tb3VyY2UsIGRvY3VtZW50KSkgewotICAg
ICAgICBib29sIHBhZ2VNdXRlZCA9IHBhZ2UtPm11dGVkU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6
OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0
ZWRTdGF0ZSgpLmNvbnRhaW5zKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVy
ZUlzTXV0ZWQpOwogICAgICAgICBhY3RpdmVBdWRpb1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVk
IHx8IChkb2N1bWVudC5oaWRkZW4oKSAmJiBkb2N1bWVudC5zZXR0aW5ncygpLmludGVycnVwdEF1
ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZUVuYWJsZWQoKSkpOwogICAgIH0KIAogICAgIGF1dG8q
IGFjdGl2ZVZpZGVvU291cmNlID0gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9u
KCkudmlkZW9DYXB0dXJlRmFjdG9yeSgpLmFjdGl2ZVNvdXJjZSgpOwogICAgIGlmIChhY3RpdmVW
aWRlb1NvdXJjZSAmJiBpc1NvdXJjZUNhcHR1cmluZ0ZvclRyYWNrSW5Eb2N1bWVudCgqYWN0aXZl
VmlkZW9Tb3VyY2UsIGRvY3VtZW50KSkgewotICAgICAgICBib29sIHBhZ2VNdXRlZCA9IHBhZ2Ut
Pm11dGVkU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAg
ICAgIGJvb2wgcGFnZU11dGVkID0gcGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5zKE1lZGlhUHJv
ZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICBhY3RpdmVW
aWRlb1NvdXJjZS0+c2V0TXV0ZWQocGFnZU11dGVkIHx8IGRvY3VtZW50LmhpZGRlbigpKTsKICAg
ICB9CiAjZWxzZQpAQCAtNTA5LDE0ICs1MDksMTQgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp1
cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKCkKIAogICAgIHN3aXRjaCAoc291cmNlKCkuZGV2aWNlVHlw
ZSgpKSB7CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgot
ICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKSAmIE1lZGlhUHJv
ZHVjZXI6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVk
KHBhZ2UtPm11dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpB
dWRpb0NhcHR1cmVJc011dGVkKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgotICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVkKHBh
Z2UtPm11dGVkU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwor
ICAgICAgICBtX3ByaXZhdGUtPnNldE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKS5jb250YWlucyhN
ZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKSk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuOgogICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgotICAgICAgICBtX3ByaXZh
dGUtPnNldE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6OlNjcmVlbkNh
cHR1cmVJc011dGVkKTsKKyAgICAgICAgbV9wcml2YXRlLT5zZXRNdXRlZChwYWdlLT5tdXRlZFN0
YXRlKCkuY29udGFpbnMoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlz
TXV0ZWQpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpTcGVha2VyOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93
bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFQcm9kdWNlci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgKaW5kZXggYjE3ZTY5ZjIxMDZhYTljZjI4
ZmE0ZDUyNjNmOTUyYTc3ZmM4NWEzMC4uMjQwMzI3NjU3MmM5MTBmZWUwNjcxOTRiNjQ1ZDIxZDhh
YTk1ZjBjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgKQEAgLTI2LDYgKzI2LDcg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKyNpbmNsdWRl
IDx3dGYvT3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNzUsMTcgKzc2LDE2IEBAIHB1YmxpYzoKICAgICAgICAgQXVkaW9WaWRl
bwogICAgIH07CiAKLSAgICBlbnVtIE11dGVkU3RhdGUgewotICAgICAgICBOb25lTXV0ZWQgPSAw
LAorICAgIGVudW0gY2xhc3MgTXV0ZWRTdGF0ZSB7CiAgICAgICAgIEF1ZGlvSXNNdXRlZCA9IDEg
PDwgMCwKICAgICAgICAgQXVkaW9DYXB0dXJlSXNNdXRlZCA9IDEgPDwgMSwKICAgICAgICAgVmlk
ZW9DYXB0dXJlSXNNdXRlZCA9IDEgPDwgMiwKICAgICAgICAgU2NyZWVuQ2FwdHVyZUlzTXV0ZWQg
PSAxIDw8IDMsCi0KLSAgICAgICAgQXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkID0gQXVkaW9D
YXB0dXJlSXNNdXRlZCB8IFZpZGVvQ2FwdHVyZUlzTXV0ZWQsCi0gICAgICAgIE1lZGlhU3RyZWFt
Q2FwdHVyZUlzTXV0ZWQgPSBBdWRpb0NhcHR1cmVJc011dGVkIHwgVmlkZW9DYXB0dXJlSXNNdXRl
ZCB8IFNjcmVlbkNhcHR1cmVJc011dGVkLAogICAgIH07Ci0gICAgdHlwZWRlZiB1bnNpZ25lZCBN
dXRlZFN0YXRlRmxhZ3M7CisKKyAgICB1c2luZyBNdXRlZFN0YXRlRmxhZ3MgPSBPcHRpb25TZXQ8
TXV0ZWRTdGF0ZT47CisgICAgc3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0YXRlRmxhZ3MgQXVkaW9B
bmRWaWRlb0NhcHR1cmVJc011dGVkID0geyBNdXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVk
LCBNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkIH07CisgICAgc3RhdGljIGNvbnN0ZXhw
ciBNdXRlZFN0YXRlRmxhZ3MgTWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCA9IHsgTXV0ZWRTdGF0
ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCwg
TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQgfTsKIAogICAgIHZpcnR1YWwgdm9pZCBw
YWdlTXV0ZWRTdGF0ZURpZENoYW5nZSgpID0gMDsKIApAQCAtMTA2LDQgKzEwNiwxNCBAQCB0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhQ2Fw
dHVyZUtpbmQ+IHsKICAgICA+OwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlPiB7CisgICAgdXNpbmcgdmFsdWVzID0g
RW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZSwK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVk
LAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0NhcHR1
cmVJc011dGVkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpW
aWRlb0NhcHR1cmVJc011dGVkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZAorICAgID47Cit9OworCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CmluZGV4IDZiNzZjYzExNThjM2Y2YTQ0MDg3MDQwOWYxM2YwZjcyMjE5ODMyMzQuLmIzNjQ4MWYy
MTI1YmQzNjYzNzQ0ZGM3MmRmNjcyMTA5MGMwOWRkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC02OTgs
OCArNjk4LDggQEAgcHVibGljOgogICAgIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBt
ZWRpYVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlOyB9CiAgICAgdm9pZCB1cGRh
dGVJc1BsYXlpbmdNZWRpYSh1aW50NjRfdCk7CiAgICAgTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZUZsYWdzIG11dGVkU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGU7IH0KLSAgICBi
b29sIGlzQXVkaW9NdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZSAmIE1lZGlhUHJv
ZHVjZXI6OkF1ZGlvSXNNdXRlZDsgfQotICAgIGJvb2wgaXNNZWRpYUNhcHR1cmVNdXRlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2Fw
dHVyZUlzTXV0ZWQ7IH07CisgICAgYm9vbCBpc0F1ZGlvTXV0ZWQoKSBjb25zdCB7IHJldHVybiBt
X211dGVkU3RhdGUuY29udGFpbnMoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9Jc011
dGVkKTsgfQorICAgIGJvb2wgaXNNZWRpYUNhcHR1cmVNdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
bXV0ZWRTdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJ
c011dGVkKTsgfTsKICAgICB2b2lkIHNjaGVkdWxlUGxheWJhY2tDb250cm9sc01hbmFnZXJVcGRh
dGUoKTsKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdm9pZCBwbGF5YmFja0NvbnRyb2xzTWVkaWFF
bmdpbmVDaGFuZ2VkKCk7CkBAIC05NTIsNyArOTUyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
aW5Mb3dRdWFsaXR5SW50ZXJwb2xhdGlvbk1vZGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hcmVN
ZW1vcnlDYWNoZUNsaWVudENhbGxzRW5hYmxlZCB7IHRydWUgfTsKICAgICBmbG9hdCBtX21lZGlh
Vm9sdW1lIHsgMSB9OwotICAgIE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBtX211dGVk
U3RhdGUgeyBNZWRpYVByb2R1Y2VyOjpOb25lTXV0ZWQgfTsKKyAgICBNZWRpYVByb2R1Y2VyOjpN
dXRlZFN0YXRlRmxhZ3MgbV9tdXRlZFN0YXRlOwogCiAgICAgZmxvYXQgbV9wYWdlU2NhbGVGYWN0
b3IgeyAxIH07CiAgICAgZmxvYXQgbV96b29tZWRPdXRQYWdlU2NhbGVGYWN0b3IgeyAwIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYjIzOWJlMWMzNzIwZjhjMTNjM2Nh
YWU4Y2U2NzU3MjlmOTRkODJmMC4uYjkzODIyNzQ4ZjY4OTIxYTU0ODU5MTc5M2Q0YWJjYTExNzVk
OTUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNDU4NiwxNCArNDU4
NiwxNCBAQCB2b2lkIEludGVybmFsczo6c2V0UGFnZU11dGVkKFN0cmluZ1ZpZXcgc3RhdGVzU3Ry
aW5nKQogICAgIGlmICghZG9jdW1lbnQpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBzdGF0ZSA9IE1lZGlhUHJvZHVjZXI6Ok5v
bmVNdXRlZDsKKyAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3Mgc3Rh
dGU7CiAgICAgZm9yIChTdHJpbmdWaWV3IHN0YXRlU3RyaW5nIDogc3RhdGVzU3RyaW5nLnNwbGl0
KCcsJykpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0YXRl
U3RyaW5nLCAiYXVkaW8iKSkKLSAgICAgICAgICAgIHN0YXRlIHw9IE1lZGlhUHJvZHVjZXI6OkF1
ZGlvSXNNdXRlZDsKKyAgICAgICAgICAgIHN0YXRlLmFkZChNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlOjpBdWRpb0lzTXV0ZWQpOwogICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2Uoc3RhdGVTdHJpbmcsICJjYXB0dXJlZGV2aWNlcyIpKQotICAgICAgICAgICAgc3RhdGUg
fD0gTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOworICAgICAgICAg
ICAgc3RhdGUuYWRkKE1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCk7
CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdGF0ZVN0cmluZywg
InNjcmVlbmNhcHR1cmUiKSkKLSAgICAgICAgICAgIHN0YXRlIHw9IE1lZGlhUHJvZHVjZXI6OlNj
cmVlbkNhcHR1cmVJc011dGVkOworICAgICAgICAgICAgc3RhdGUuYWRkKE1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKICAgICB9CiAKICAgICBpZiAoUGFn
ZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDhjMmZiMGE1NjRlYzE4OGI4OTE5
MGJiYjYzZTI3YzNlMjZkYzg0YmQuLmMyY2E3YmIzNTcxZTQ0OGI5NDFhNWYwMDk2NGJkYzVmZWJi
NTEzNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCkBAIC0yNzUsOCArMjc1LDEzIEBAIE9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29k
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShw
YXJhbWV0ZXJzLm1lZGlhVm9sdW1lKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubXV0ZWQpKQorCisgICAgT3B0aW9uYWw8
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzPiBtdXRlZFN0YXRlRmxhZ3M7CisgICAgZGVj
b2RlciA+PiBtdXRlZFN0YXRlRmxhZ3M7CisgICAgaWYgKCFtdXRlZFN0YXRlRmxhZ3MpCiAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgcGFyYW1ldGVycy5tdXRlZCA9ICptdXRlZFN0
YXRlRmxhZ3M7CisKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubWF5U3RhcnRN
ZWRpYVdoZW5JbldpbmRvdykpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm1lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCA0NTUwNDQ3ODA2Zjk2
M2E3MGU1NDRiMTJkZWNlYjE0ZDFmMDY3ZDc3Li5mMmU3NzcxY2I4ZDEyNWY4NjMzYTU5MGJkOTVm
OWQyZGVmODlmNjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
QEAgLTI3MTIsMTQgKzI3MTIsMTQgQEAgdm9pZCBXS1BhZ2VTZXRNZWRpYVZvbHVtZShXS1BhZ2VS
ZWYgcGFnZSwgZmxvYXQgdm9sdW1lKQogCiB2b2lkIFdLUGFnZVNldE11dGVkKFdLUGFnZVJlZiBw
YWdlLCBXS01lZGlhTXV0ZWRTdGF0ZSBtdXRlZFN0YXRlKQogewotICAgIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBjb3JlU3RhdGUgPSBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpOb25lTXV0ZWQ7CisgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZs
YWdzIGNvcmVTdGF0ZTsKIAogICAgIGlmIChtdXRlZFN0YXRlICYga1dLTWVkaWFBdWRpb011dGVk
KQotICAgICAgICBjb3JlU3RhdGUgfD0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011
dGVkOworICAgICAgICBjb3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVk
U3RhdGU6OkF1ZGlvSXNNdXRlZCk7CiAgICAgaWYgKG11dGVkU3RhdGUgJiBrV0tNZWRpYUNhcHR1
cmVEZXZpY2VzTXV0ZWQpCi0gICAgICAgIGNvcmVTdGF0ZSB8PSBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIGNvcmVTdGF0ZS5hZGQo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkKTsKICAg
ICBpZiAobXV0ZWRTdGF0ZSAmIGtXS01lZGlhU2NyZWVuQ2FwdHVyZU11dGVkKQotICAgICAgICBj
b3JlU3RhdGUgfD0gV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQ7
CisgICAgICAgIGNvcmVTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogCiAgICAgdG9JbXBsKHBhZ2UpLT5zZXRNdXRlZChj
b3JlU3RhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KaW5kZXggMTMzNzkzZjQxMjkxMDM2NzA2N2U2NGUyMzdjNzE3NzRmNDIzMzc4NC4u
ZjkzZTU3ZDgwMDg0NTVjYzBjMDA5MjdjNWNjYjQ4ZmQyMmI3ZWU2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDEyLDEwICsxMDEy
LDEwIEBAIHN0YXRpYyBXS01lZGlhUGxheWJhY2tTdGF0ZSB0b1dLTWVkaWFQbGF5YmFja1N0YXRl
KFdlYktpdDo6TWVkaWFQbGF5YmFja1N0YXRlIG1lCiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgYXV0byBtdXRlZFN0YXRlID0gX3BhZ2UtPm11dGVkU3RhdGVGbGFncygpOwotICAgIGlmIChz
dGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlICYmIG11dGVkU3RhdGUgJiBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVJc011dGVkKQotICAgICAgICBtdXRlZFN0YXRl
IF49IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgaWYg
KHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUpCisgICAgICAgIG11dGVkU3RhdGUu
cmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlz
TXV0ZWQpOwogICAgIGVsc2UgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVNdXRlZCkK
LSAgICAgICAgbXV0ZWRTdGF0ZSA9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVy
ZUlzTXV0ZWQ7CisgICAgICAgIG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpOwogICAgIF9wYWdlLT5zZXRNdXRlZCht
dXRlZFN0YXRlLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhh
bmRsZXIpXSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7CkBAIC0xMDMz
LDEwICsxMDMzLDEwIEBAIHN0YXRpYyBXS01lZGlhUGxheWJhY2tTdGF0ZSB0b1dLTWVkaWFQbGF5
YmFja1N0YXRlKFdlYktpdDo6TWVkaWFQbGF5YmFja1N0YXRlIG1lCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgYXV0byBtdXRlZFN0YXRlID0gX3BhZ2UtPm11dGVkU3RhdGVGbGFncygpOwot
ICAgIGlmIChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlICYmIG11dGVkU3RhdGUg
JiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVJc011dGVkKQotICAgICAgICBt
dXRlZFN0YXRlIF49IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQ7
CisgICAgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUpCisgICAgICAgIG11
dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVv
Q2FwdHVyZUlzTXV0ZWQpOwogICAgIGVsc2UgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0dXJlU3Rh
dGVNdXRlZCkKLSAgICAgICAgbXV0ZWRTdGF0ZSA9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlZp
ZGVvQ2FwdHVyZUlzTXV0ZWQ7CisgICAgICAgIG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwogICAgIF9wYWdlLT5z
ZXRNdXRlZChtdXRlZFN0YXRlLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29t
cGxldGlvbkhhbmRsZXIpXSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgfSk7
CkBAIC0zMzQwLDE0ICszMzQwLDE0IEBAIHN0YXRpYyBpbmxpbmUgT3B0aW9uU2V0PFdlYktpdDo6
RmluZE9wdGlvbnM+IHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kCiAKIC0gKHZv
aWQpX3NldFBhZ2VNdXRlZDooX1dLTWVkaWFNdXRlZFN0YXRlKW11dGVkU3RhdGUKIHsKLSAgICBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgY29yZVN0YXRlID0gV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6Tm9uZU11dGVkOworICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGVGbGFncyBjb3JlU3RhdGU7CiAKICAgICBpZiAobXV0ZWRTdGF0ZSAmIF9XS01l
ZGlhQXVkaW9NdXRlZCkKLSAgICAgICAgY29yZVN0YXRlIHw9IFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXI6OkF1ZGlvSXNNdXRlZDsKKyAgICAgICAgY29yZVN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lzTXV0ZWQpOwogICAgIGlmIChtdXRlZFN0YXRlICYg
X1dLTWVkaWFDYXB0dXJlRGV2aWNlc011dGVkKQotICAgICAgICBjb3JlU3RhdGUgfD0gV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOworICAgICAgICBj
b3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQW5kVmlkZW9DYXB0dXJl
SXNNdXRlZCk7CiAgICAgaWYgKG11dGVkU3RhdGUgJiBfV0tNZWRpYVNjcmVlbkNhcHR1cmVNdXRl
ZCkKLSAgICAgICAgY29yZVN0YXRlIHw9IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlNjcmVlbkNh
cHR1cmVJc011dGVkOworICAgICAgICBjb3JlU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKIAogICAgIF9wYWdlLT5zZXRN
dXRlZChjb3JlU3RhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCBkNDE5YmQ0ZThjMTI5Mjg1NWZkNzk2ZTUyZWJh
NzQ2OTViYTljMmIxLi45ZWIyZjA2MWFmMWYxZTNkZTA2OGEyNTIyYTYzN2I3MGIxNWVhMzUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3
LmNwcApAQCAtMzI3MCw3ICszMjcwLDEwIEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9pc19t
dXRlZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBnYm9vbGVhbiBtdXRlZCkKICAgICBpZiAod2Vi
a2l0X3dlYl92aWV3X2dldF9pc19tdXRlZCAod2ViVmlldykgPT0gbXV0ZWQpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGdldFBhZ2Uod2ViVmlldykuc2V0TXV0ZWQobXV0ZWQgPyBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQgOiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpOb25l
TXV0ZWQpOworICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBhdWRp
b011dGVkRmxhZzsKKyAgICBpZiAobXV0ZWQpCisgICAgICAgIGF1ZGlvTXV0ZWRGbGFnLmFkZChX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lzTXV0ZWQpOworICAgIGdl
dFBhZ2Uod2ViVmlldykuc2V0TXV0ZWQoYXVkaW9NdXRlZEZsYWcpOwogICAgIGdfb2JqZWN0X25v
dGlmeV9ieV9wc3BlYyhHX09CSkVDVCh3ZWJWaWV3KSwgc09ialByb3BlcnRpZXNbUFJPUF9JU19N
VVRFRF0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9N
ZWRpYVV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRp
bGl0aWVzLm1tCmluZGV4IDQ0YTgxZDQ4YmE3YzEyNGYyYTM4M2JmMzgwNGI0OTg3YzA1YWUyZDMu
LjcyYzFhYjhhNDNkN2QwODY5ZjU2NjBiNjI3YjBjMjBmMjI0ODk0ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01lZGlhVXRpbGl0aWVzLm1tCkBAIC00NiwxMyArNDYs
MTEgQEAgX1dLTWVkaWFDYXB0dXJlU3RhdGVEZXByZWNhdGVkIHRvV0tNZWRpYUNhcHR1cmVTdGF0
ZURlcHJlY2F0ZWQoV2ViQ29yZTo6TWVkaWFQcm8KIF9XS01lZGlhTXV0ZWRTdGF0ZSB0b1dLTWVk
aWFNdXRlZFN0YXRlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBzdGF0
ZSkKIHsKICAgICBfV0tNZWRpYU11dGVkU3RhdGUgbWVkaWFNdXRlZFN0YXRlID0gX1dLTWVkaWFO
b25lTXV0ZWQ7Ci0gICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6Tm9uZU11
dGVkKQotICAgICAgICBtZWRpYU11dGVkU3RhdGUgfD0gX1dLTWVkaWFOb25lTXV0ZWQ7Ci0gICAg
aWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkKQorICAgIGlm
IChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRl
ZCkKICAgICAgICAgbWVkaWFNdXRlZFN0YXRlIHw9IF9XS01lZGlhQXVkaW9NdXRlZDsKICAgICBp
ZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0FuZFZpZGVvQ2FwdHVyZUlz
TXV0ZWQpCiAgICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8PSBfV0tNZWRpYUNhcHR1cmVEZXZpY2Vz
TXV0ZWQ7Ci0gICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2Fw
dHVyZUlzTXV0ZWQpCisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0
ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpCiAgICAgICAgIG1lZGlhTXV0ZWRTdGF0ZSB8
PSBfV0tNZWRpYVNjcmVlbkNhcHR1cmVNdXRlZDsKICAgICByZXR1cm4gbWVkaWFNdXRlZFN0YXRl
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNGMxMzJm
ODE5MmE0ZTUxMjA0MjIzMzMyOGY5ZjI2YWJjNzkyY2JiMy4uYmRiNDRlODI3NjcyYjMxMWY4ZDk5
ZTMzMGQwYzE3MjhhNWE1ODc2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCkBAIC0xOTg3LDcgKzE5ODcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlQWN0
aXZpdHlTdGF0ZShPcHRpb25TZXQ8QWN0aXZpdHlTdGF0ZTo6RmxhZz4gZmxhZ3NUb1VwZAogICAg
ICAgICBtX2FjdGl2aXR5U3RhdGUuYWRkKEFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwogICAg
IGlmIChmbGFnc1RvVXBkYXRlICYgQWN0aXZpdHlTdGF0ZTo6SXNWaXN1YWxseUlkbGUgJiYgcGFn
ZUNsaWVudCgpLmlzVmlzdWFsbHlJZGxlKCkpCiAgICAgICAgIG1fYWN0aXZpdHlTdGF0ZS5hZGQo
QWN0aXZpdHlTdGF0ZTo6SXNWaXN1YWxseUlkbGUpOwotICAgIGlmIChmbGFnc1RvVXBkYXRlICYg
QWN0aXZpdHlTdGF0ZTo6SXNBdWRpYmxlICYmIG1fbWVkaWFTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6
OklzUGxheWluZ0F1ZGlvICYmICEobV9tdXRlZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9J
c011dGVkKSkKKyAgICBpZiAoZmxhZ3NUb1VwZGF0ZSAmIEFjdGl2aXR5U3RhdGU6OklzQXVkaWJs
ZSAmJiBtX21lZGlhU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpJc1BsYXlpbmdBdWRpbyAmJiAhKG1f
bXV0ZWRTdGF0ZS5jb250YWlucyhNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0lzTXV0
ZWQpKSkKICAgICAgICAgbV9hY3Rpdml0eVN0YXRlLmFkZChBY3Rpdml0eVN0YXRlOjpJc0F1ZGli
bGUpOwogICAgIGlmIChmbGFnc1RvVXBkYXRlICYgQWN0aXZpdHlTdGF0ZTo6SXNMb2FkaW5nICYm
IG1fcGFnZUxvYWRTdGF0ZS5pc0xvYWRpbmcoKSkKICAgICAgICAgbV9hY3Rpdml0eVN0YXRlLmFk
ZChBY3Rpdml0eVN0YXRlOjpJc0xvYWRpbmcpOwpAQCAtMjQ0NCwxMCArMjQ0NCwxMiBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6c2V0RWRpdGFibGUoYm9vbCBlZGl0YWJsZSkKICAgICAKIHZvaWQgV2Vi
UGFnZVByb3h5OjpzZXRNZWRpYVN0cmVhbUNhcHR1cmVNdXRlZChib29sIG11dGVkKQogeworICAg
IGF1dG8gc3RhdGUgPSBtX211dGVkU3RhdGU7CiAgICAgaWYgKG11dGVkKQotICAgICAgICBzZXRN
dXRlZChtX211dGVkU3RhdGUgfCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNh
cHR1cmVJc011dGVkKTsKKyAgICAgICAgc3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQpOwogICAgIGVsc2UKLSAgICAgICAgc2V0TXV0ZWQo
bV9tdXRlZFN0YXRlICYgfldlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RyZWFtQ2FwdHVy
ZUlzTXV0ZWQpOworICAgICAgICBzdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCk7CisgICAgc2V0TXV0ZWQoc3RhdGUpOwogfQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6YWN0aXZhdGVNZWRpYVN0cmVhbUNhcHR1cmVJblBhZ2UoKQpAQCAt
MjQ1NSw3ICsyNDU3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmFjdGl2YXRlTWVkaWFTdHJlYW1D
YXB0dXJlSW5QYWdlKCkKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIFdlYlByb2Nlc3NQ
cm94eTo6bXV0ZUNhcHR1cmVJblBhZ2VzRXhjZXB0KG1fd2ViUGFnZUlEKTsKICNlbmRpZgotICAg
IHNldE11dGVkKG1fbXV0ZWRTdGF0ZSAmIH5XZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0
cmVhbUNhcHR1cmVJc011dGVkKTsKKyAgICBzZXRNZWRpYVN0cmVhbUNhcHR1cmVNdXRlZChmYWxz
ZSk7CiB9CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggNzU2ZWE1MzEwZWY1ZWEwYTk2NzU2ZDIxYWQ0NTA5MmVmNzgy
MGQwNS4uNjg4MGYzY2Y3MTAxZTMxZDNmNGFlZmZmNzZmMWRmNTEwMzlkNzY3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTczMiw3ICs3MzIsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBpc0VkaXRhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9pc0VkaXRhYmxlOyB9CiAK
ICAgICB2b2lkIGFjdGl2YXRlTWVkaWFTdHJlYW1DYXB0dXJlSW5QYWdlKCk7Ci0gICAgYm9vbCBp
c01lZGlhU3RyZWFtQ2FwdHVyZU11dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYg
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZDsgfQorICAg
IGJvb2wgaXNNZWRpYVN0cmVhbUNhcHR1cmVNdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRT
dGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1
cmVJc011dGVkKTsgfQogICAgIHZvaWQgc2V0TWVkaWFTdHJlYW1DYXB0dXJlTXV0ZWQoYm9vbCk7
CiAKICAgICB2b2lkIHJlcXVlc3RGb250QXR0cmlidXRlc0F0U2VsZWN0aW9uU3RhcnQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpGb250QXR0cmlidXRlcyYpPiYmKTsKQEAg
LTEzNjIsNyArMTM2Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0TWVkaWFWb2x1bWUoZmxv
YXQpOwogICAgIHZvaWQgc2V0TXV0ZWQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZUZsYWdzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgPSBbXSB7IH0pOwotICAgIGJvb2wg
aXNBdWRpb011dGVkKCkgY29uc3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlICYgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6QXVkaW9Jc011dGVkOyB9OworICAgIGJvb2wgaXNBdWRpb011dGVkKCkgY29u
c3QgeyByZXR1cm4gbV9tdXRlZFN0YXRlLmNvbnRhaW5zKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCk7IH07CiAgICAgdm9pZCBzZXRNYXlTdGFydE1lZGlh
V2hlbkluV2luZG93KGJvb2wpOwogICAgIGJvb2wgbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdygp
IGNvbnN0IHsgcmV0dXJuIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdzsgfQogICAgIHZvaWQg
c2V0TWVkaWFDYXB0dXJlRW5hYmxlZChib29sKTsKQEAgLTI4MjEsNyArMjgyMSw3IEBAIHByaXZh
dGU6CiAgICAgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbV9tYXhTdGFibGVMYXlvdXRWaWV3cG9ydE9y
aWdpbjsKIAogICAgIGZsb2F0IG1fbWVkaWFWb2x1bWUgeyAxIH07Ci0gICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG1fbXV0ZWRTdGF0ZSB7IFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok5vbmVNdXRlZCB9OworICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVk
U3RhdGVGbGFncyBtX211dGVkU3RhdGU7CiAgICAgYm9vbCBtX21heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3cgeyB0cnVlIH07CiAgICAgYm9vbCBtX21lZGlhUGxheWJhY2tJc1N1c3BlbmRlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX21lZGlhQ2FwdHVyZUVuYWJsZWQgeyB0cnVlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBiY2YyYTlmMTRhZThi
YTE0Y2I2OWQ2YmM1ZmY0YmU4ZWVhZjNlMGQzLi43MGRlOWExNzFhODcyNjk2MWNjZTdhYjMwNDRh
MDE3MDE4ZjU3Y2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5jcHAKQEAgLTE3ODUsNyArMTc4NSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjptdXRlQ2Fw
dHVyZUluUGFnZXNFeGNlcHQoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgcGFnZUlEKQogCiB2b2lk
IFdlYlByb2Nlc3NQcm94eTo6cGFnZU11dGVkU3RhdGVDaGFuZ2VkKFdlYkNvcmU6OlBhZ2VJZGVu
dGlmaWVyIGlkZW50aWZpZXIsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFn
cyBmbGFncykKIHsKLSAgICBib29sIG11dGVkRm9yQ2FwdHVyZSA9IGZsYWdzICYgTWVkaWFQcm9k
dWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkOworICAgIGJvb2wgbXV0ZWRGb3JDYXB0
dXJlID0gZmxhZ3MuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlcjo6QXVkaW9BbmRWaWRlb0NhcHR1
cmVJc011dGVkKTsKICAgICBpZiAoIW11dGVkRm9yQ2FwdHVyZSkKICAgICAgICAgcmV0dXJuOwog
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2E5
YTg5Y2E0MzExMjUxMTQyYjU3ZGQxNDUzNmM0YzZlODM3ZDU1ZS4uNDAxYTY4ODc4YzUxYzc4ZWYy
MDE5ZDNmNGQ0OWNhOTI2YTY3NjExNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTAzICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgT3B0aW9uU2V0IGZvciBNZWRp
YVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNDU1MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzY5NjAy
OTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDQtMjYgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAg
PGVvY2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBtZWRpYS90cmFjay9p
bi1iYW5kLyBsYXlvdXQgdGVzdHMgaW50cm9kdWNlZCBpbiByMTU0OTA4IGFyZSBmYWlsaW5nCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWEubW0KaW5k
ZXggNjM4ODFmMzdjMGI4ZGRlMmFiOTViNzZlZGVkMThlNGE2Yjg5ODMwMy4uZWJjYmMwMWFmNGNm
NTc1ZDQyN2ZlYTJkOTJhZTg3Yjc5NzBjYzJjMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvR2V0VXNlck1lZGlhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYS5tbQpAQCAtMjgwLDYgKzI4MCw3IEBAIFRFU1Qo
V2ViS2l0MiwgQ2FwdHVyZU11dGVBUEkpCiAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAInN0b3AoKSJdOwogICAgIEVYUEVDVF9UUlVFKHdhaXRVbnRpbE1pY3JvcGhv
bmVTdGF0ZSh3ZWJWaWV3LmdldCgpLCBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkpOwogCisgICAg
Ly8gTXV0ZSBjYW1lcmEsIHRoZW4gbWljcm9waG9uZQogICAgIG1pY3JvcGhvbmVDYXB0dXJlU3Rh
dGVDaGFuZ2UgPSBmYWxzZTsKICAgICBjYW1lcmFDYXB0dXJlU3RhdGVDaGFuZ2UgPSBmYWxzZTsK
ICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY2FwdHVyZUF1ZGlv
QW5kVmlkZW8oKSJdOwpAQCAtMjkzLDggKzI5NCw4IEBAIFRFU1QoV2ViS2l0MiwgQ2FwdHVyZU11
dGVBUEkpCiAKICAgICBtaWNyb3Bob25lQ2FwdHVyZVN0YXRlQ2hhbmdlID0gZmFsc2U7CiAgICAg
W3dlYlZpZXcgc2V0TWljcm9waG9uZUNhcHR1cmVTdGF0ZTpXS01lZGlhQ2FwdHVyZVN0YXRlTXV0
ZWQgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxNaWNy
b3Bob25lU3RhdGUod2ViVmlldy5nZXQoKSwgV0tNZWRpYUNhcHR1cmVTdGF0ZU11dGVkKSk7CiAg
ICAgRVhQRUNUX1RSVUUod2FpdFVudGlsQ2FtZXJhU3RhdGUod2ViVmlldy5nZXQoKSwgV0tNZWRp
YUNhcHR1cmVTdGF0ZU11dGVkKSk7Ci0gICAgRVhQRUNUX1RSVUUod2FpdFVudGlsTWljcm9waG9u
ZVN0YXRlKHdlYlZpZXcuZ2V0KCksIFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUpKTsKIAogICAg
IG1pY3JvcGhvbmVDYXB0dXJlU3RhdGVDaGFuZ2UgPSBmYWxzZTsKICAgICBjYW1lcmFDYXB0dXJl
U3RhdGVDaGFuZ2UgPSBmYWxzZTsKQEAgLTMwMiw2ICszMDMsMzQgQEAgVEVTVChXZWJLaXQyLCBD
YXB0dXJlTXV0ZUFQSSkKICAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxNaWNyb3Bob25lU3RhdGUo
d2ViVmlldy5nZXQoKSwgV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUpKTsKICAgICBFWFBFQ1RfVFJV
RSh3YWl0VW50aWxDYW1lcmFTdGF0ZSh3ZWJWaWV3LmdldCgpLCBXS01lZGlhQ2FwdHVyZVN0YXRl
Tm9uZSkpOwogCisgICAgLy8gTXV0ZSBtaWNyb3Bob25lLCB0aGVuIGNhbWVyYQorICAgIG1pY3Jv
cGhvbmVDYXB0dXJlU3RhdGVDaGFuZ2UgPSBmYWxzZTsKKyAgICBjYW1lcmFDYXB0dXJlU3RhdGVD
aGFuZ2UgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAiY2FwdHVyZUF1ZGlvQW5kVmlkZW8oKSJdOworICAgIEVYUEVDVF9UUlVFKHdhaXRVbnRpbE1p
Y3JvcGhvbmVTdGF0ZSh3ZWJWaWV3LmdldCgpLCBXS01lZGlhQ2FwdHVyZVN0YXRlQWN0aXZlKSk7
CisgICAgRVhQRUNUX1RSVUUod2FpdFVudGlsQ2FtZXJhU3RhdGUod2ViVmlldy5nZXQoKSwgV0tN
ZWRpYUNhcHR1cmVTdGF0ZUFjdGl2ZSkpOworCisgICAgbWljcm9waG9uZUNhcHR1cmVTdGF0ZUNo
YW5nZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IHNldE1pY3JvcGhvbmVDYXB0dXJlU3RhdGU6V0tN
ZWRpYUNhcHR1cmVTdGF0ZU11dGVkIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisgICAgRVhQRUNU
X1RSVUUod2FpdFVudGlsTWljcm9waG9uZVN0YXRlKHdlYlZpZXcuZ2V0KCksIFdLTWVkaWFDYXB0
dXJlU3RhdGVNdXRlZCkpOworICAgIEVYUEVDVF9UUlVFKHdhaXRVbnRpbENhbWVyYVN0YXRlKHdl
YlZpZXcuZ2V0KCksIFdLTWVkaWFDYXB0dXJlU3RhdGVBY3RpdmUpKTsKKworICAgIGNhbWVyYUNh
cHR1cmVTdGF0ZUNoYW5nZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IHNldENhbWVyYUNhcHR1cmVT
dGF0ZTpXS01lZGlhQ2FwdHVyZVN0YXRlTXV0ZWQgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKyAg
ICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxDYW1lcmFTdGF0ZSh3ZWJWaWV3LmdldCgpLCBXS01lZGlh
Q2FwdHVyZVN0YXRlTXV0ZWQpKTsKKyAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxNaWNyb3Bob25l
U3RhdGUod2ViVmlldy5nZXQoKSwgV0tNZWRpYUNhcHR1cmVTdGF0ZU11dGVkKSk7CisKKyAgICAv
LyBTdG9wIG1pY3JvcGhvbmUsIHRoZW4gc3RvcCBjYW1lcmEKKyAgICBtaWNyb3Bob25lQ2FwdHVy
ZVN0YXRlQ2hhbmdlID0gZmFsc2U7CisgICAgW3dlYlZpZXcgc2V0TWljcm9waG9uZUNhcHR1cmVT
dGF0ZTpXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworICAg
IEVYUEVDVF9UUlVFKHdhaXRVbnRpbE1pY3JvcGhvbmVTdGF0ZSh3ZWJWaWV3LmdldCgpLCBXS01l
ZGlhQ2FwdHVyZVN0YXRlTm9uZSkpOworICAgIEVYUEVDVF9UUlVFKHdhaXRVbnRpbENhbWVyYVN0
YXRlKHdlYlZpZXcuZ2V0KCksIFdLTWVkaWFDYXB0dXJlU3RhdGVNdXRlZCkpOworCisgICAgY2Ft
ZXJhQ2FwdHVyZVN0YXRlQ2hhbmdlID0gZmFsc2U7CisgICAgW3dlYlZpZXcgc2V0Q2FtZXJhQ2Fw
dHVyZVN0YXRlOldLTWVkaWFDYXB0dXJlU3RhdGVOb25lIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07
CisgICAgRVhQRUNUX1RSVUUod2FpdFVudGlsQ2FtZXJhU3RhdGUod2ViVmlldy5nZXQoKSwgV0tN
ZWRpYUNhcHR1cmVTdGF0ZU5vbmUpKTsKKyAgICBFWFBFQ1RfVFJVRSh3YWl0VW50aWxNaWNyb3Bo
b25lU3RhdGUod2ViVmlldy5nZXQoKSwgV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUpKTsKKwogICAg
IFt3ZWJWaWV3IHJlbW92ZU9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktleVBhdGg6QCJtaWNy
b3Bob25lQ2FwdHVyZVN0YXRlIl07CiAgICAgW3dlYlZpZXcgcmVtb3ZlT2JzZXJ2ZXI6b2JzZXJ2
ZXIuZ2V0KCkgZm9yS2V5UGF0aDpAImNhbWVyYUNhcHR1cmVTdGF0ZSJdOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>