<?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>235838</bug_id>
          
          <creation_ts>2022-01-28 15:08:20 -0800</creation_ts>
          <short_desc>[macOS] Expose screen and window capture state to WKWebView</short_desc>
          <delta_ts>2022-02-01 10:35:37 -0800</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 Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kangil.han</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>1835160</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-28 15:08:20 -0800</bug_when>
    <thetext>Expose screen and window capture state to WKWebView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835167</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-28 15:41:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/88207924&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835178</commentid>
    <comment_count>2</comment_count>
      <attachid>450287</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-28 16:23:18 -0800</bug_when>
    <thetext>Created attachment 450287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835618</commentid>
    <comment_count>3</comment_count>
      <attachid>450426</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-31 11:52:42 -0800</bug_when>
    <thetext>Created attachment 450426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835621</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-01-31 11:54:39 -0800</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>1835659</commentid>
    <comment_count>5</comment_count>
      <attachid>450439</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-31 13:08:40 -0800</bug_when>
    <thetext>Created attachment 450439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835720</commentid>
    <comment_count>6</comment_count>
      <attachid>450439</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-31 14:15:16 -0800</bug_when>
    <thetext>Comment on attachment 450439
Patch

Probably worth adding a test validating we delay with a timer the start capture/stop capture.
While this is mostly useful for camera, it is good to validate this will work for display as well.

Another question worth exploring. We might add in the future getViewPortMedia which is specific to capturing the self tab.
We probably want a different delegate, but it may be ok to keep the same display states/mutators APIs.
Wdyt?

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4873
&gt; +    UNUSED_PARAM(isFromDisplayCapture);

FIXME: Remove isFromDisplayCapture?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835724</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-31 14:28:32 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; Comment on attachment 450439 [details]
&gt; Patch
&gt; 
&gt; Probably worth adding a test validating we delay with a timer the start
&gt; capture/stop capture.
&gt; While this is mostly useful for camera, it is good to validate this will
&gt; work for display as well.
&gt; 
&gt; Another question worth exploring. We might add in the future
&gt; getViewPortMedia which is specific to capturing the self tab.
&gt; We probably want a different delegate, but it may be ok to keep the same
&gt; display states/mutators APIs.
&gt; Wdyt?
&gt; 

Seems reasonable.

&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450439&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:4873
&gt; &gt; +    UNUSED_PARAM(isFromDisplayCapture);
&gt; 
&gt; FIXME: Remove isFromDisplayCapture?

Good idea, I&apos;ll do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835729</commentid>
    <comment_count>8</comment_count>
      <attachid>450466</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-31 14:32:28 -0800</bug_when>
    <thetext>Created attachment 450466
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835762</commentid>
    <comment_count>9</comment_count>
      <attachid>450473</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-31 16:45:07 -0800</bug_when>
    <thetext>Created attachment 450473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835996</commentid>
    <comment_count>10</comment_count>
      <attachid>450536</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-02-01 08:56:50 -0800</bug_when>
    <thetext>Created attachment 450536
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836048</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-01 10:35:31 -0800</bug_when>
    <thetext>Committed r288894 (246639@main): &lt;https://commits.webkit.org/246639@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450536.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450287</attachid>
            <date>2022-01-28 16:23:18 -0800</date>
            <delta_ts>2022-01-31 11:52:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235838-20220128162317.patch</filename>
            <type>text/plain</type>
            <size>87318</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjM2M4MzlhNWEzY2M1
MTYwNzUzZDM0YTdiMjI4M2Y4NWM2NjFhZS4uN2ZkYTViMDA0YzA2MDU5NjM4YTFlMzhiNGU5NWEw
NzMwMDAyNmQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIyLTAxLTI4ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gRXhw
b3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8gV0tXZWJWaWV3CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4MzgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVu
IEFQSSB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9NZWRpYURldmljZUluZm9LaW5kKTogQWRkIFN5c3Rl
bUF1ZGlvLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNvdXJjZUNhcHR1cmVTdGF0ZSk6IERpZmZlcmVudGlh
dGUgc3RhdGUgb2Ygd2luZG93IGFuZCBzY3JlZW4gY2FwdHVyZSB0cmFja3MuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKTogTmV3Lgor
ICAgICAgICAoV2ViQ29yZTo6dHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKTog
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjplbmRDYXB0dXJlKTogQ2hhbmdl
IHBhcmFtZXRlciB0byBPcHRpb25TZXQ8PiBzbyBtb3JlIHRoYW4KKyAgICAgICAgb25lIHRyYWNr
IHR5cGUgY2FuIGJlIHN0b3BwZWQgd2l0aCBvbmUgY2FsbC4KKyAgICAgICAgKFdlYkNvcmU6OnRy
YWNrTWF0Y2hlc0tpbmQpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5oOgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2Vy
TWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6Om1l
ZGlhU3RyZWFtRGlkRmFpbCk6IEluY2x1ZGUgbmV3IHNvdXJjZSB0eXBlcy4KKworICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6YWRkVHJhY2spOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmNyZWF0ZVNv
dXJjZUFuZFJUQ1RyYWNrKToKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6c3RvcE1lZGlhQ2FwdHVyZSk6IENoYW5nZSBwYXJhbWV0ZXIg
dG8gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kPgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorCisgICAgICAgICogcGFnZS9NZWRpYVByb2R1Y2VyLmg6CisKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RvcE1lZGlhQ2Fw
dHVyZSk6IERpdHRvLgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2tzKTogSW5jbHVkZSBuZXcgdHJh
Y2sgdHlwZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291
cmNlQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUNhcHR1cmVTb3VyY2VDb2Nv
YTo6Y3JlYXRlKTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
RGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eUNhcHR1cmVNYW5hZ2VyQ29jb2E6OmNhcHR1cmVEZXZpY2VXaXRoUGVyc2lzdGVudElEKTogRGl0
dG8uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtp
dENhcHR1cmVTb3VyY2UubW06CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpwYWdlTWVkaWFTdGF0ZSk6IFVwZGF0ZSB3aXRo
IG5ldyBhbmQgY2hhbmdlZCB0eXBlIG5hbWVzLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxz
OjpzdG9wT2JzZXJ2aW5nUmVhbHRpbWVNZWRpYVNvdXJjZSk6IEluY2x1ZGUgbmV3IHRyYWNrIHR5
cGVzLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFj
ayk6IERpdHRvLgorCiAyMDIyLTAxLTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBbQ1NTIENvbnRhaW5lciBRdWVyaWVzXSBjb250YWluZXItdHlwZSBwcm9w
ZXJ0eSBzaG91bGQgZXN0YWJsaXNoIGNvbnRhaW5tZW50IGZvciAnc2l6ZScgYW5kICdpbmxpbmUt
c2l6ZScgdmFsdWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1ZmM0ZTRiNTJmMGE0YWFjNzM2NjU1YzA2MjMwNDNi
ZWNjMjY1ZjEuLjhkMzlhMDZhMjdiZDQ1ZDEwYjJkYzUwMWFmZWY5N2I4MWNhM2U0MDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNzUgQEAKKzIwMjItMDEtMjggIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2Fy
bHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBFeHBvc2Ugc2NyZWVuIGFuZCB3aW5k
b3cgY2FwdHVyZSBzdGF0ZSB0byBXS1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTgzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODgy
MDc5MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlR2V0TWVkaWFTdGF0ZSk6
IFJlbmFtZSAqRGlzcGxheUNhcHR1cmVEZXZpY2UgdG8gKlNjcmVlbkNhcHR1cmVEZXZpY2UuIEFk
ZCBlbnVtcworICAgICAgICBmb3Igd2luZG93IGNhcHR1cmUuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lmg6IERyaXZlIGJ5OiBmaXggdHlwbyBpbiBoZWFkZXIgZG9jLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmll
dyBzZXRNaWNyb3Bob25lQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW8gCisgICAgICAgIHdhcyByZW5hbWVkIHRvIE1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lLgorICAgICAgICAoLVtXS1dl
YlZpZXcgc2V0Q2FtZXJhQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6VmlkZW8gCisgICAgICAgIHdhcyByZW5hbWVkIHRvIE1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmEuCisgICAgICAgICgtW1dLV2ViVmll
dyBfc3RvcE1lZGlhQ2FwdHVyZV0pOiBzdG9wTWVkaWFDYXB0dXJlIHRha2VzIGFuIG9wdGlvblNl
dC4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSk6IEV4cG9z
ZSB0aGUgdHlwZShzKSBvZiBkaXNwbGF5cyBzdXJmYWNlcworICAgICAgICBiZWluZyBjYXB0dXJl
ZC4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSk6IEV4cG9zZSB0
aGUgZGlzcGxheSBjYXB0dXJlIHN0YXRlLgorICAgICAgICAoLVtXS1dlYlZpZXcgX3N5c3RlbUF1
ZGlvQ2FwdHVyZVN0YXRlXSk6IEV4cG9zZSB0aGUgc3lzdGVtIGF1ZGlvIGNhcHR1cmUgc3RhdGUu
CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpjb21wbGV0aW9u
SGFuZGxlcjpdKTogQ2hhbmdlIHRoZSBkaXNwbGF5CisgICAgICAgIGNhcHR1cmUgc3RhdGUuCisg
ICAgICAgICgtW1dLV2ViVmlldyBfc2V0U3lzdGVtQXVkaW9DYXB0dXJlU3RhdGU6Y29tcGxldGlv
bkhhbmRsZXI6XSk6IENoYW5nZSB0aGUgc3lzdGVtIAorICAgICAgICBhdWRpbyBjYXB0dXJlIHN0
YXRlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgor
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKTogS1ZP
IHN1cHBvcnQuCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpc3BsYXlD
YXB0dXJlU3VyZmFjZXNXaWxsQ2hhbmdlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VD
bGllbnRJbXBsQ29jb2E6OnN5c3RlbUF1ZGlvQ2FwdHVyZVdpbGxDaGFuZ2UpOiBEaXR0by4KKyAg
ICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVDaGFuZ2Vk
KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpc3BsYXlD
YXB0dXJlU3VyZmFjZXNDaGFuZ2VkKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsQ29jb2E6OnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQpOiBEaXR0by4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6U291cmNlUHJveHk6
OlNvdXJjZVByb3h5KTogU3VwcG9ydCBuZXcgdHlwZXMuCisgICAgICAgIChXZWJLaXQ6OlVzZXJN
ZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OlNvdXJjZVByb3h5Ojp+U291cmNlUHJveHkpOiBEaXR0
by4KKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Y3JlYXRl
TWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0cmFpbnRzKTogRGl0dG8uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xp
ZW50OjpkaXNwbGF5Q2FwdHVyZVdpbGxDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xp
ZW50OjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnQ6OnN5c3RlbUF1ZGlvQ2FwdHVyZVdpbGxDaGFuZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50OjpkaXNwbGF5Q2FwdHVyZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50OjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJLaXQ6OlBhZ2VDbGllbnQ6OnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQpOgorCisgICAgICAg
ICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6
On5Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSk6CisgICAgICAgIE1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvIC0+IE1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQuCisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzdG9wQ2FwdHVyZSk6IERpdHRvLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6c3RvcE1lZGlhQ2FwdHVyZSk6IFBhcmFtZXRlciBjaGFuZ2VkIHRvIE9wdGlvblNldDw+
LgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0
dXJlU3RhdGUpOiBEZWFsIHdpdGggbmV3IHR5cGVzLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c3RvcE1lZGlhQ2FwdHVyZSk6IFBhcmFtZXRlciBj
aGFuZ2VkIHRvIE9wdGlvblNldDw+LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KToKKwogMjAyMi0wMS0yNiAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIE1v
dXNlIGludGVyYWN0aW9uIGZvciA8bW9kZWw+IGlzIGZsaXBwZWQgaW4gdGhlIHktYXhpcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3Bw
CmluZGV4IDFhZTUwZTlkNGJlYjA5NmUwYjAyMTY5NTRkZmY0NjY2YzUyMjNhNWEuLjAwNGJiM2Fi
NmI1ZjgwZWMzZDU1MDBiN2ZhOTY3NDc3NjNhNDg1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKQEAgLTI4MSw2ICsyODEs
NyBAQCBzdGF0aWMgaW5saW5lIE1lZGlhRGV2aWNlSW5mbzo6S2luZCB0b01lZGlhRGV2aWNlSW5m
b0tpbmQoQ2FwdHVyZURldmljZTo6RGV2aWNlVAogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2
aWNlVHlwZTo6U2NyZWVuOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2lu
ZG93OgogICAgICAgICByZXR1cm4gTWVkaWFEZXZpY2VJbmZvOjpLaW5kOjpWaWRlb2lucHV0Owor
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgY2Fz
ZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAxNjA5MTk2ZDEyNDQ2M2IwYzM2
YmQ1NzhhMjUwMTBhNTM5ZDU1NGE2Li4yNTYwYThkY2YxYmJmODk4NzA1NmYxZDdkYWI2ZmY4NGEx
ZTZkNmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTQzNiwxNCArNDM2LDIyIEBAIE1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlRmxhZ3Mgc291cmNlQ2FwdHVyZVN0YXRlKFJlYWx0aW1lTWVkaWFTb3VyY2Um
IHNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
QWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENhcHR1
cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKKyAgICAgICAgaWYgKHNvdXJjZS5tdXRlZCgp
KQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFNj
cmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGlmIChzb3VyY2UuaW50ZXJydXB0ZWQoKSkKKyAg
ICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRT
Y3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBpZiAoc291cmNlLmlzUHJvZHVjaW5nRGF0YSgp
KQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVT
Y3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBicmVhazsKICAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OldpbmRvdzoKICAgICAgICAgaWYgKHNvdXJjZS5tdXRlZCgpKQotICAg
ICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZERpc3BsYXlD
YXB0dXJlRGV2aWNlOworICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2U7CiAgICAgICAgIGlmIChzb3VyY2UuaW50ZXJy
dXB0ZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
SW50ZXJydXB0ZWREaXNwbGF5Q2FwdHVyZURldmljZTsKKyAgICAgICAgICAgIHJldHVybiBNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlOwog
ICAgICAgICBpZiAoc291cmNlLmlzUHJvZHVjaW5nRGF0YSgpKQotICAgICAgICAgICAgcmV0dXJu
IE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZTsK
KyAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2lu
ZG93Q2FwdHVyZURldmljZTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDYXB0dXJlRGV2aWNl
OjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtu
b3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTUyMSw2ICs1MjksNyBAQCB2
b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoKQogICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgogICAgICAgICBtX3ByaXZhdGUtPnNl
dE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0
ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTUyOCwyNCAr
NTM3LDMzIEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0ZSgp
CiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgdHJhY2tNYXRjaGVzS2luZChSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kIGtp
bmQpCi17Ci0gICAgc3dpdGNoIChraW5kKSB7Ci0gICAgY2FzZSBNZWRpYVByb2R1Y2VyTWVkaWFD
YXB0dXJlS2luZDo6QXVkaW86Ci0gICAgICAgIHJldHVybiB0eXBlID09IFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OkF1ZGlvOwotICAgIGNhc2UgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OkF1ZGlvVmlkZW86Ci0gICAgICAgIHJldHVybiB0eXBlICE9IFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6Ok5vbmU7Ci0gICAgY2FzZSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
VmlkZW86Ci0gICAgICAgIHJldHVybiB0eXBlID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OlZpZGVvOworc3RhdGljIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kIHRyYWNrVHlwZUZv
ck1lZGlhUHJvZHVjZXJDYXB0dXJlS2luZChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUp
Cit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpBdWRpbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpNaWNyb3Bob25lOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVt
QXVkaW86CisgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6U3lz
dGVtQXVkaW87CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKKyAg
ICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmE7CisgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAgIHJldHVybiBN
ZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6U2NyZWVuOworICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgorICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OldpbmRvdzsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6Ok5vbmU6CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmVuZENhcHR1cmUoRG9jdW1l
bnQmIGRvY3VtZW50LCBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCBraW5kKQordm9pZCBN
ZWRpYVN0cmVhbVRyYWNrOjplbmRDYXB0dXJlKERvY3VtZW50JiBkb2N1bWVudCwgT3B0aW9uU2V0
PE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kPiBraW5kcykKIHsKICAgICBib29sIGRpZEVu
ZENhcHR1cmUgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8qIGNhcHR1cmVUcmFjayA6IGFsbENhcHR1
cmVUcmFja3MoKSkgewotICAgICAgICBpZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpICE9ICZk
b2N1bWVudCB8fCAhdHJhY2tNYXRjaGVzS2luZChjYXB0dXJlVHJhY2stPnByaXZhdGVUcmFjaygp
LnR5cGUoKSwga2luZCkpCisgICAgICAgIGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0g
JmRvY3VtZW50KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1dG8gdHJhY2tLaW5k
ID0gdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKGNhcHR1cmVUcmFjay0+cHJp
dmF0ZVRyYWNrKCkudHlwZSgpKTsKKyAgICAgICAgaWYgKCFraW5kcy5jb250YWluc0FueSh0cmFj
a0tpbmQpICYmICFraW5kcy5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZDo6RXZlcnlLaW5kKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBjYXB0dXJlVHJh
Y2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRyYWNrOjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKICAg
ICAgICAgZGlkRW5kQ2FwdHVyZSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCmluZGV4IDliOTViOThmZmM4YzM3
ZWU1YTk5MDUwNzAxZmQxOTUxZTk3Yzg3NTAuLmMyZWY2ZDk3NDk0ZWM4M2QwNDljZTlmNjU4Yjc3
ZmRkNDhjMmY5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPE1lZGlhU3RyZWFtVHJhY2s+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmKTsKICAgICB2aXJ0dWFsIH5NZWRpYVN0
cmVhbVRyYWNrKCk7CiAKLSAgICBzdGF0aWMgdm9pZCBlbmRDYXB0dXJlKERvY3VtZW50JiwgTWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQpOworICAgIHN0YXRpYyB2b2lkIGVuZENhcHR1cmUo
RG9jdW1lbnQmLCBPcHRpb25TZXQ8TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ+KTsKIAog
ICAgIHN0YXRpYyBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZUZsYWdzIGNhcHR1cmVTdGF0ZShEb2N1
bWVudCYpOwogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZUNhcHR1cmVBY2NvcmRpbmdUb011dGVkU3Rh
dGUoRG9jdW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCmluZGV4IDUyN2ZiYjRhMjlhZDdlMTJlOTMxZGQz
YTkwYzFmZjFhYjQyMTNkYTIuLmUxNTdhYjlkNzY5MWQ1YTQ2MTZhOTJhYmVlZjU3N2I1Y2IyNDVi
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1l
ZGlhUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9V
c2VyTWVkaWFSZXF1ZXN0LmNwcApAQCAtMjcxLDYgKzI3MSwxNSBAQCB2b2lkIFVzZXJNZWRpYVJl
cXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUp
CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKICAgICAgICAgdHlw
ZURlc2NyaXB0aW9uID0gInZpZGVvIjsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJz
Y3JlZW4iOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OldpbmRvdzoKKyAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gIndpbmRvdyI7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86
CisgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJzeXN0ZW0gYXVkaW8iOworICAgICAgICBicmVh
azsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAgIHR5
cGVEZXNjcmlwdGlvbiA9ICJ1bmtub3duIjsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IGJmYzI3MDgwMzA4ZWZmMmU0YmMy
NDA0MzE2M2YwZjYyNThhNGM0OTQuLjVjM2MyMmM3NTY2ZTIxOWYxZTAyNGUzNWQ4ZjJhZWE4YjMw
MjE1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBA
IC0yMDQsNiArMjA0LDkgQEAgYm9vbCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjphZGRUcmFjayhM
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kJiBzZW5kZXIsIE1lZGlhU3QKICAgICAgICAgc291cmNl
ID0gV1RGTW92ZSh2aWRlb1NvdXJjZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9u
ZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
QEAgLTQxNiwxMiArNDE5LDE1IEBAIHN0ZDo6cGFpcjxMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5k
OjpTb3VyY2UsIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6Ok1lZGlhU3RyCiAgICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlv
OiB7CiAgICAgICAgIGF1dG8gYXVkaW9Tb3VyY2UgPSBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3Vy
Y2U6OmNyZWF0ZSh0cmFjay5wcml2YXRlVHJhY2soKSk7CiAgICAgICAgIHJ0Y1RyYWNrID0gbV9w
ZWVyQ29ubmVjdGlvbkZhY3RvcnktPkNyZWF0ZUF1ZGlvVHJhY2sodHJhY2suaWQoKS51dGY4KCku
ZGF0YSgpLCBhdWRpb1NvdXJjZS5wdHIoKSk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVk
aW9Tb3VyY2UpOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpXaW5kb3c6CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewog
ICAgICAgICBhdXRvIHZpZGVvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpj
cmVhdGUodHJhY2sucHJpdmF0ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNv
bm5lY3Rpb25GYWN0b3J5LT5DcmVhdGVWaWRlb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEo
KSwgdmlkZW9Tb3VyY2UucHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYjVhNDE1
YWViNzc2MzM4MDc4NzRiZjk2ZjllNjk4MTM4YTM4NTFlNC4uZDgwMzlkNjIwZWRhYzBkNWQ2Yzg5
YmYyOTQ3ZDYyMTkxODYwYWZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC04MjM5LDkg
KzgyMzksOSBAQCB2b2lkIERvY3VtZW50OjpvcmllbnRhdGlvbkNoYW5nZWQoaW50IG9yaWVudGF0
aW9uKQogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAotdm9pZCBEb2N1bWVudDo6c3RvcE1l
ZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCBraW5kKQordm9pZCBEb2N1
bWVudDo6c3RvcE1lZGlhQ2FwdHVyZShPcHRpb25TZXQ8TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ+IGtpbmRzKQogewotICAgIE1lZGlhU3RyZWFtVHJhY2s6OmVuZENhcHR1cmUoKnRoaXMs
IGtpbmQpOworICAgIE1lZGlhU3RyZWFtVHJhY2s6OmVuZENhcHR1cmUoKnRoaXMsIGtpbmRzKTsK
IH0KIAogdm9pZCBEb2N1bWVudDo6bWVkaWFTdHJlYW1DYXB0dXJlU3RhdGVDaGFuZ2VkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKaW5kZXggZTliYzA3MWNmOGZiOTVlYWYzYTUzMjMxYTEzMjgwZjFiYmI0
NzRiNy4uZDhmNjJkNTU1YTE0ZTVlZWY0MDhjZjc3YjJlNmE0ZWI1N2I3ZjRhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTE0NzIsNyArMTQ3Miw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIHZvaWQgc2V0SGFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2soKSB7IG1f
aGFzSGFkQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2sgPSB0cnVlOyB9CiAgICAgYm9vbCBoYXNIYWRD
YXB0dXJlTWVkaWFTdHJlYW1UcmFjaygpIGNvbnN0IHsgcmV0dXJuIG1faGFzSGFkQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2s7IH0KLSAgICB2b2lkIHN0b3BNZWRpYUNhcHR1cmUoTWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUtpbmQpOworICAgIHZvaWQgc3RvcE1lZGlhQ2FwdHVyZShPcHRpb25TZXQ8
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ+KTsKICAgICB2b2lkIG1lZGlhU3RyZWFtQ2Fw
dHVyZVN0YXRlQ2hhbmdlZCgpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTWVkaWFQcm9kdWNlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2Vy
LmgKaW5kZXggNGUxOWU4Y2Q3MWE2NTI5Zjk4YWY2NDgyZTZjYTVhMDUyYjFmNzM5My4uYTI3M2Mw
YzNkMzI3Zjk1MjMxMWViYzgxMWI5MzRmMmRjZDgyNWZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRp
YVByb2R1Y2VyLmgKQEAgLTUwLDE2ICs1MCwyNSBAQCBlbnVtIGNsYXNzIE1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlIDogdWludDMyX3QgewogICAgIEhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2
aWNlID0gMSA8PCAxNSwKICAgICBIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSA9IDEg
PDwgMTYsCiAgICAgSGFzVXNlckludGVyYWN0ZWRXaXRoTWVkaWFFbGVtZW50ID0gMSA8PCAxNywK
LSAgICBIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwgMTgsCi0gICAgSGFzTXV0
ZWREaXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwgMTksCi0gICAgSGFzSW50ZXJydXB0ZWREaXNw
bGF5Q2FwdHVyZURldmljZSA9IDEgPDwgMjAsCisgICAgSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURl
dmljZSA9IDEgPDwgMTgsCisgICAgSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlID0gMSA8PCAx
OSwKKyAgICBIYXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDIwLAorICAg
IEhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8IDIxLAorICAgIEhhc011dGVkV2lu
ZG93Q2FwdHVyZURldmljZSA9IDEgPDwgMjIsCisgICAgSGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0
dXJlRGV2aWNlID0gMSA8PCAyMywKKyAgICBIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZp
Y2UgPSAxIDw8IDI0LAorICAgIEhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlID0gMSA8
PCAyNSwKKyAgICBIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSA9IDEgPDwg
MjYsCiB9OwogdXNpbmcgTWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncyA9IE9wdGlvblNldDxN
ZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT47CiAKIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQgOiB1aW50OF90IHsKLSAgICBBdWRpbywKLSAgICBWaWRlbywKLSAgICBBdWRp
b1ZpZGVvCisgICAgTWljcm9waG9uZSwKKyAgICBDYW1lcmEsCisgICAgU2NyZWVuLAorICAgIFdp
bmRvdywKKyAgICBTeXN0ZW1BdWRpbywKKyAgICBFdmVyeUtpbmQsCiB9OwogCiBlbnVtIGNsYXNz
IE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlIDogdWludDhfdCB7CkBAIC02Nyw2ICs3Niw4IEBAIGVu
dW0gY2xhc3MgTWVkaWFQcm9kdWNlck11dGVkU3RhdGUgOiB1aW50OF90IHsKICAgICBBdWRpb0Nh
cHR1cmVJc011dGVkID0gMSA8PCAxLAogICAgIFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDIs
CiAgICAgU2NyZWVuQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDMsCisgICAgV2luZG93Q2FwdHVyZUlz
TXV0ZWQgPSAxIDw8IDQsCisgICAgU3lzdGVtQXVkaW9DYXB0dXJlSXNNdXRlZCA9IDEgPDwgNCwK
IH07CiB1c2luZyBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZUZsYWdzID0gT3B0aW9uU2V0PE1lZGlh
UHJvZHVjZXJNdXRlZFN0YXRlPjsKIApAQCAtNzgsMTkgKzg5LDQ2IEBAIHB1YmxpYzoKICAgICB1
c2luZyBNdXRlZFN0YXRlRmxhZ3MgPSBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZUZsYWdzOwogCiAg
ICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgSXNOb3RQbGF5aW5nID0geyB9Owot
ICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIEF1ZGlvQ2FwdHVyZU1hc2sgPSB7
IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFz
TXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9D
YXB0dXJlRGV2aWNlIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgTWlj
cm9waG9uZUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVE
ZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRl
OjpIYXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSB9OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgTWVkaWFTdGF0ZUZsYWdzIFZpZGVvQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0Fj
dGl2ZVZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVE
ZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNlIH07Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgRGlzcGxheUNhcHR1cmVNYXNrID0g
eyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6
SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZSB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZs
YWdzIEFjdGl2ZUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1
cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFT
dGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UgfTsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIE1lZGlhU3RhdGVGbGFncyBNdXRlZENhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNN
dXRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVE
ZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgfTsKLSAgICBz
dGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNZWRpYUNhcHR1cmVNYXNrID0geyBNZWRp
YVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVk
QXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVy
ZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0
YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0
ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJl
RGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlLCBNZWRpYVN0
YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIH07CisKKyAgICBzdGF0aWMg
Y29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBTY3JlZW5DYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0
ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3Jl
ZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVE
ZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBXaW5kb3dDYXB0
dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSwgTWVk
aWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRl
cnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlh
U3RhdGVGbGFncyBBY3RpdmVEaXNwbGF5Q2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0Fj
dGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVdpbmRvd0NhcHR1
cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNdXRlZERp
c3BsYXlDYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2
aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0
aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBEaXNwbGF5Q2FwdHVyZU1hc2sgPSB7IEFjdGl2
ZURpc3BsYXlDYXB0dXJlTWFzayB8IE11dGVkRGlzcGxheUNhcHR1cmVNYXNrIH07CisKKyAgICBz
dGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBTeXN0ZW1BdWRpb0NhcHR1cmVNYXNrID0g
eyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3Rh
dGU6Okhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRl
cnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSB9OworCisgICAgc3RhdGljIGNvbnN0ZXhw
ciBNZWRpYVN0YXRlRmxhZ3MgQWN0aXZlQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0Fj
dGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJl
RGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0
YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVT
eXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3Rh
dGVGbGFncyBNdXRlZENhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2Fw
dHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlh
U3RhdGU6Okhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRX
aW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVy
ZURldmljZSB9OworCisgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgTWVkaWFD
YXB0dXJlTWFzayA9IHsKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJl
RGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSwK
KyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsCisg
ICAgICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSwKKyAgICAgICAg
TWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3Rh
dGU6Okhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRl
OjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNN
dXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0ludGVycnVw
dGVkU2NyZWVuQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2lu
ZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0
dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFdpbmRvd0NhcHR1
cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVy
ZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVE
ZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU3lzdGVtQXVkaW9DYXB0
dXJlRGV2aWNlCisgICAgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBJ
c0NhcHR1cmluZ0F1ZGlvTWFzayA9IHsgTWljcm9waG9uZUNhcHR1cmVNYXNrIHwgU3lzdGVtQXVk
aW9DYXB0dXJlTWFzayB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIElz
Q2FwdHVyaW5nVmlkZW9NYXNrID0geyBWaWRlb0NhcHR1cmVNYXNrIHwgRGlzcGxheUNhcHR1cmVN
YXNrIH07CiAKICAgICBzdGF0aWMgYm9vbCBpc0NhcHR1cmluZyhNZWRpYVN0YXRlRmxhZ3Mgc3Rh
dGUpIHsgcmV0dXJuIHN0YXRlLmNvbnRhaW5zQW55KEFjdGl2ZUNhcHR1cmVNYXNrKSB8fCBzdGF0
ZS5jb250YWluc0FueShNdXRlZENhcHR1cmVNYXNrKTsgfQogCiAgICAgdmlydHVhbCBNZWRpYVN0
YXRlRmxhZ3MgbWVkaWFTdGF0ZSgpIGNvbnN0ID0gMDsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIg
TXV0ZWRTdGF0ZUZsYWdzIEF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCA9IHsgTXV0ZWRTdGF0
ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCB9
OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTXV0ZWRTdGF0ZUZsYWdzIE1lZGlhU3RyZWFtQ2FwdHVy
ZUlzTXV0ZWQgPSB7IE11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6
OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkIH07
CisgICAgc3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0YXRlRmxhZ3MgTWVkaWFTdHJlYW1DYXB0dXJl
SXNNdXRlZCA9IHsgTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6
VmlkZW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQsIE11
dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpTeXN0ZW1BdWRpb0Nh
cHR1cmVJc011dGVkIH07CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFnZU11dGVkU3RhdGVEaWRDaGFu
Z2UoKSA9IDA7CiAKQEAgLTEwNSw5ICsxNDMsMTIgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0
ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbywKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbworICAgICAgICBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZSwKKyAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwKKyAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlNjcmVlbiwKKyAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OldpbmRvdywKKyAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlN5c3RlbUF1ZGlvLAorICAgICAgICBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kCiAgICAgPjsKIH07CiAK
QEAgLTEzMiw5ICsxNzMsMTUgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT4gewogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsCiAgICAgICAg
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFZpZGVvQ2Fw
dHVyZURldmljZSwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c1VzZXJJbnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlLAotICAgICAg
ICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVy
ZURldmljZSwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0lu
dGVycnVwdGVkRGlzcGxheUNhcHR1cmVEZXZpY2UKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZp
Y2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1
cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAor
ICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRX
aW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFT
dGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZp
Y2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1
cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZQogICAgID47CiB9OwogCkBAIC0xNDQsNyArMTkx
LDkgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TXV0ZWRTdGF0ZT4gewogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6
QXVkaW9Jc011dGVkLAogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6
QXVkaW9DYXB0dXJlSXNNdXRlZCwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVk
U3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZAorICAgICAgICBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpXaW5kb3dDYXB0dXJlSXNNdXRlZCwKKyAgICAg
ICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OlN5c3RlbUF1ZGlvQ2FwdHVyZUlz
TXV0ZWQKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYzg4MWIyNmJhMjhkZDU4
N2UxN2Y4ZWIzODlkNDI1MGI0MDg5MWZmNy4uYWEwMGQyZGNhNjUxNTYwMGRhNzA2MGFlNDkxMmVj
YzI1ZDk4NGVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yMjYyLDEyICsyMjYyLDEyIEBAIHZv
aWQgUGFnZTo6c2V0TXV0ZWQoTWVkaWFQcm9kdWNlck11dGVkU3RhdGVGbGFncyBtdXRlZCkKICAg
ICB9KTsKIH0KIAotdm9pZCBQYWdlOjpzdG9wTWVkaWFDYXB0dXJlKE1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kIGtpbmQpCit2b2lkIFBhZ2U6OnN0b3BNZWRpYUNhcHR1cmUoT3B0aW9uU2V0
PE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kPiBraW5kcykKIHsKLSAgICBVTlVTRURfUEFS
QU0oa2luZCk7CisgICAgVU5VU0VEX1BBUkFNKGtpbmRzKTsKICNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQotICAgIGZvckVhY2hEb2N1bWVudChba2luZF0gKERvY3VtZW50JiBkb2N1bWVudCkgewot
ICAgICAgICBkb2N1bWVudC5zdG9wTWVkaWFDYXB0dXJlKGtpbmQpOworICAgIGZvckVhY2hEb2N1
bWVudChba2luZHNdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgZG9jdW1lbnQuc3Rv
cE1lZGlhQ2FwdHVyZShraW5kcyk7CiAgICAgfSk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5k
ZXggYmU3ZjgxMzkwNDgyYWI5MTg1YjIwMTY4OWNkMjQ5MTY1ZTU1MWZkZi4uNDJjOTAzYjFjMDkw
MjY5YzMwNTk1Y2YxYWQ1MzI2OGM4NzFiYWQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTc3NSw3ICs3
NzUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE11dGVk
KE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlRmxhZ3MpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzdG9wTWVkaWFDYXB0dXJlKE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHN0b3BNZWRpYUNhcHR1cmUoT3B0aW9uU2V0PE1lZGlhUHJvZHVj
ZXJNZWRpYUNhcHR1cmVLaW5kPik7CiAKICAgICBNZWRpYVNlc3Npb25Hcm91cElkZW50aWZpZXIg
bWVkaWFTZXNzaW9uR3JvdXBJZGVudGlmaWVyKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
Ym9vbCBtZWRpYVBsYXliYWNrRXhpc3RzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCmlu
ZGV4IDlhMWQwNmM4MjBjODg5OTY4NWI3NTIzN2Q1NjYzZDEzMGVkNjg1NTMuLjExOTMxNzcyMmM4
OTFmMmUyNDIxY2UzZWI3NjA5MmQ2ODc4MDE5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUu
Y3BwCkBAIC00NCw2ICs0NCw4IEBAIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpBdWRpb1ZpZGVvU2Vs
ZWN0ZWRUcmFja3MgTWVkaWFSZWNvcmRlclByaXZhdGU6OnNlbGVjdFRyYWNrCiAgICAgICAgIGlm
ICh0cmFjay5lbmRlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzd2l0Y2ggKHRy
YWNrLnR5cGUoKSkgeworICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNj
cmVlbjoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAg
ICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsKICAgICAgICAg
ICAgIGF1dG8mIHNldHRpbmdzID0gdHJhY2suc2V0dGluZ3MoKTsKICAgICAgICAgICAgIGlmICgh
c2VsZWN0ZWRUcmFja3MudmlkZW9UcmFjayAmJiBzZXR0aW5ncy5zdXBwb3J0c1dpZHRoKCkgJiYg
c2V0dGluZ3Muc3VwcG9ydHNIZWlnaHQoKSkKQEAgLTUxLDYgKzUzLDcgQEAgTWVkaWFSZWNvcmRl
clByaXZhdGU6OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6
c2VsZWN0VHJhY2sKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86CisgICAgICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgICAgICBpZiAoIXNlbGVjdGVk
VHJhY2tzLmF1ZGlvVHJhY2spCiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFja3MuYXVkaW9U
cmFjayA9ICZ0cmFjazsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5oCmluZGV4IGVkMWEzNzEzNTU2
NzI2YTA5MjEwMzU1MmZkODQyMDUxMDJjZGU0NTUuLjYyOTQ1ZDk2ZTE2Zjc4MjM2MDU4YTQ5ODQ1
YWZiODQwMzliMDc1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL0NhcHR1cmVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9DYXB0dXJlRGV2aWNlLmgKQEAgLTMxLDcgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBDYXB0dXJlRGV2aWNlIHsKIHB1YmxpYzoKLSAgICBlbnVtIGNsYXNzIERl
dmljZVR5cGUgeyBVbmtub3duLCBNaWNyb3Bob25lLCBTcGVha2VyLCBDYW1lcmEsIFNjcmVlbiwg
V2luZG93IH07CisgICAgZW51bSBjbGFzcyBEZXZpY2VUeXBlIHsgVW5rbm93biwgTWljcm9waG9u
ZSwgU3BlYWtlciwgQ2FtZXJhLCBTY3JlZW4sIFdpbmRvdywgU3lzdGVtQXVkaW8gfTsKIAogICAg
IENhcHR1cmVEZXZpY2UoY29uc3QgU3RyaW5nJiBwZXJzaXN0ZW50SWQsIERldmljZVR5cGUgdHlw
ZSwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBncm91cElkID0gZW1wdHlTdHJp
bmcoKSwgYm9vbCBpc0VuYWJsZWQgPSBmYWxzZSwgYm9vbCBpc0RlZmF1bHQgPSBmYWxzZSwgYm9v
bCBpc01vY2sgPSBmYWxzZSkKICAgICAgICAgOiBtX3BlcnNpc3RlbnRJZChwZXJzaXN0ZW50SWQp
CkBAIC0xOTEsNyArMTkxLDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3Jl
OjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlPiB7CiAgICAgICAgIFdlYkNvcmU6OkNhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXIsCiAgICAgICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OkNhbWVyYSwKICAgICAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZTo6U2NyZWVuLAotICAgICAgICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpXaW5kb3cKKyAgICAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6V2luZG93LAorICAgICAgICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpT
eXN0ZW1BdWRpbwogICAgID47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKaW5kZXggYzk1OTIzNGY2
NThhNTI2NzQwYmQ3ODBkZDk5YTQ3MDQ3OWNjMTU4Yi4uY2E4Y2M5ZDU2YTVkZjFhZWEyZGEyZmFm
YmYxMTFmOGUxMjJlZTFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaApAQCAtMTE1LDcgKzExNSw3IEBA
IHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgcGVyc2lzdGVudElEKCkgY29uc3QgeyByZXR1
cm4gbV9wZXJzaXN0ZW50SUQ7IH0KIAotICAgIGVudW0gY2xhc3MgVHlwZSB7IE5vbmUsIEF1ZGlv
LCBWaWRlbyB9OworICAgIGVudW0gY2xhc3MgVHlwZSB7IE5vbmUsIEF1ZGlvLCBWaWRlbywgU2Ny
ZWVuLCBXaW5kb3csIFN5c3RlbUF1ZGlvIH07CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1
cm4gbV90eXBlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgd2hlblJlYWR5KENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoU3RyaW5nKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNl
Q29jb2EuY3BwCmluZGV4IDJjODUyNjY0ZGUxZTY5NGI0ZmMxOGVjMDlhMGM3NjNjOTEyNTg2YmEu
LjRlODdiNWFlYjU3NzQxZmIxYzViZGQyYzkyNWNlNzZhOGY1ZWE5NGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291
cmNlQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nv
Y29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwCkBAIC03OCw2ICs3OCw3IEBAIENhcHR1
cmVTb3VyY2VPckVycm9yIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmNyZWF0ZShjb25zdCBD
YXB0dXJlRGV2aWNlJiBkZXZpCiAgICAgICAgICAgICByZXR1cm4gY3JlYXRlKFNjcmVlbkNhcHR1
cmVLaXRDYXB0dXJlU291cmNlOjpjcmVhdGUoZGV2aWNlLCBjb25zdHJhaW50cyksIGRldmljZSwg
V1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKICNlbmRpZgogICAgICAgICBicmVhazsK
KyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNh
c2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKICAgICBjYXNlIENhcHR1
cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpDYW1lcmE6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29h
LmNwcAppbmRleCAyYWRjOTM3OTExYTk5Zjg2MGQ4Mjg2NmRhMTczNTdjNWQyZDlkYjE1Li41MWZm
M2JiNzhjMWY4MTFjMjdhNDJkYjJjMmUxMzFkMjRmOWM0NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29j
b2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQCBzdGQ6Om9wdGlv
bmFsPENhcHR1cmVEZXZpY2U+IERpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hOjpjYXB0dXJlRGV2
aWNlV2l0aFBlcnNpcwogICAgICAgICByZXR1cm4gd2luZG93Q2FwdHVyZURldmljZVdpdGhQZXJz
aXN0ZW50SUQoaWQpOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgQ2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpDYW1lcmE6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bo
b25lOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5DYXB0
dXJlS2l0Q2FwdHVyZVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9TY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5tbQppbmRleCA1NTMwODUxY2Qz
OWY4NDY2MGUyYjNhZDk0MTcxYjM4NmMxMGQzNWM1Li4yODdlODU4ZTU0NGQzZTk5YzRmNGEzYWU0
YTVhNWZhODcyNmM4ZDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2UubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJl
U291cmNlLm1tCkBAIC01NSwxMCArNTUsNiBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBX
S1NDRnJhbWVTdGF0dXMpIHsKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCiAjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bmd1YXJkZWQtYXZhaWxhYmlsaXR5LW5ldyIK
IAotQGludGVyZmFjZSBTQ1N0cmVhbSAoU0NTdHJlYW1fRGVwcmVjYXRlZCkKLS0gKHZvaWQpc3Rh
cnRDYXB0dXJlV2l0aENGcmFtZUhhbmRsZXI6KFNDU3RyZWFtQnVmZmVyRnJhbWVBdmFpbGFibGVI
YW5kbGVyKWZyYW1lSGFuZGxlciBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNFcnJvciAq
ZXJyb3IpKWNvbXBsZXRpb25IYW5kbGVyOwotQGVuZAotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIEBpbnRlcmZhY2UgV2ViQ29yZVNjcmVlbkNhcHR1cmVLaXRIZWxwZXIgOiBOU09iamVjdDxT
Q1N0cmVhbURlbGVnYXRlPiB7CiAgICAgV2Vha1B0cjxTY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNv
dXJjZT4gX2NhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAppbmRleCA1YzgzNGUz
NGQyMmU2NTQ4NGMzODNiYzMxZmQyMjcxN2Y5ZjUwNGY1Li4wOTJkMmZlNjExOTM0OGY5ODY1YTg4
ZmIyNzkxZTNhMmQ3MTRhNDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcApAQCAtMTk2
LDYgKzE5Niw3IEBAIHB1YmxpYzoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpNaWNyb3Bob25lOgogICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlNwZWFrZXI6CiAgICAgICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJh
OgorICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgog
ICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAgICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDU0ZWNmNWMyYmI4NGVmZTBlN2E1OWQzMzY4MjAy
MjVjMGZmNmY1NjcuLjg1NmI0ZWFiMzlhODc3MDU3ZDhlZGNhMjhjYTVhOTkzNjcwNjE0OWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ3MzYsMjAgKzQ3MzYsNDIgQEAg
U3RyaW5nIEludGVybmFsczo6cGFnZU1lZGlhU3RhdGUoKQogICAgICAgICBzdHJpbmcuYXBwZW5k
KCJIYXNQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUxpc3RlbmVyLCIpOwogICAgIGlmIChzdGF0
ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQXVkaW9PclZpZGVvKSkK
ICAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQXVkaW9PclZpZGVvLCIpOworCiAgICAgaWYgKHN0
YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0Nh
cHR1cmVEZXZpY2UpKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBY3RpdmVBdWRpb0NhcHR1
cmVEZXZpY2UsIik7Ci0gICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlOjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UpKQotICAgICAgICBzdHJpbmcuYXBw
ZW5kKCJIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UsIik7CiAgICAgaWYgKHN0YXRlLmNvbnRh
aW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmlj
ZSkpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCIp
OworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
SW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJI
YXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSwiKTsKKworICAgIGlmIChzdGF0ZS5jb250
YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2
aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNl
LCIpOwogICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UpKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNN
dXRlZFZpZGVvQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNlKSkK
KyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2Us
Iik7CisKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6
Okhhc1VzZXJJbnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCkpCiAgICAgICAgIHN0cmluZy5hcHBl
bmQoIkhhc1VzZXJJbnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCwiKTsKLSAgICBpZiAoc3RhdGUu
Y29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0
dXJlRGV2aWNlKSkKLSAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlRGlzcGxheUNhcHR1
cmVEZXZpY2UsIik7Ci0gICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlOjpIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlKSkKLSAgICAgICAgc3RyaW5nLmFw
cGVuZCgiSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSwiKTsKKworICAgIGlmIChzdGF0ZS5j
b250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVy
ZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVE
ZXZpY2UsIik7CisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5k
KCJIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsIik7CisKKyAgICBpZiAoc3RhdGUuY29udGFp
bnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZp
Y2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNl
LCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFz
TXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShN
ZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2aWNl
KSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2
aWNlLCIpOworCisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcu
YXBwZW5kKCJIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0
YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1
ZGlvQ2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkU3lzdGVt
QXVkaW9DYXB0dXJlRGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVBy
b2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2Up
KQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVy
ZURldmljZSwiKTsKIAogICAgIGlmIChzdHJpbmcuaXNFbXB0eSgpKQogICAgICAgICBzdHJpbmcu
YXBwZW5kKCJJc05vdFBsYXlpbmciKTsKQEAgLTU0NDIsOSArNTQ2NCwxMiBAQCB2b2lkIEludGVy
bmFsczo6c3RvcE9ic2VydmluZ1JlYWx0aW1lTWVkaWFTb3VyY2UoKQogCiAgICAgc3dpdGNoICht
X3RyYWNrU291cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OkF1ZGlvOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVk
aW86CiAgICAgICAgIG1fdHJhY2tTb3VyY2UtPnJlbW92ZUF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRo
aXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OlZpZGVvOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgorICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICBtX3RyYWNr
U291cmNlLT5yZW1vdmVWaWRlb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpAQCAtNTQ2NSw5ICs1
NDkwLDEyIEBAIHZvaWQgSW50ZXJuYWxzOjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0
cmVhbVRyYWNrJiB0cmFjaykKICAgICBtX3RyYWNrU291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7
CiAgICAgc3dpdGNoIChtX3RyYWNrU291cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgIG1fdHJhY2tTb3VyY2UtPmFkZEF1ZGlvU2FtcGxl
T2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OlZpZGVvOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
U2NyZWVuOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAg
ICAgICBtX3RyYWNrU291cmNlLT5hZGRWaWRlb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCmluZGV4IDg1YjM5MTFjZDE3ODgxMDFmY2Y5MTk2NjkxZWVlNTcyNjg4OTczNzMuLjM0
NDQwODE4YjQ5NjE2ODRkNWQ0OWNjOWJhMDY5NWNhODU4YjE4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAg
LTE3Myw2ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgd2lsbFN0YXJ0Q2FwdHVyZShDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlIHR5cGUpIGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICBz
d2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpT
eXN0ZW1BdWRpbzoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtu
b3duOgogICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmNwcAppbmRleCA1MDliOWIyNWYzOTRmNmIzNjdjYmI4ZDY4NzU4N2MxNGQyODg1YjYwLi4y
MGExZTMwMmRkYmQyYTYxZTNjNWEyY2Q1ZWYxMWQzNWM5NGJmZmJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTI5NjYsMTAgKzI5NjYsMTQgQEAgV0tNZWRp
YVN0YXRlIFdLUGFnZUdldE1lZGlhU3RhdGUoV0tQYWdlUmVmIHBhZ2UpCiAgICAgICAgIHN0YXRl
IHw9IGtXS01lZGlhSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2U7CiAgICAgaWYgKGNvcmVTdGF0
ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVy
ZURldmljZSkKICAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRlZFZpZGVvQ2FwdHVyZURl
dmljZTsKLSAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3Rh
dGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKQotICAgICAgICBzdGF0ZSB8PSBrV0tN
ZWRpYUhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlOwotICAgIGlmIChjb3JlU3RhdGUgJiBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURl
dmljZSkKLSAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2
aWNlOworICAgIGlmIChjb3JlU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0
ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSkKKyAgICAgICAgc3RhdGUgfD0ga1dLTWVk
aWFIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgIGlmIChjb3JlU3RhdGUgJiBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNl
KQorICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZTsK
KyAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UpCisgICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFz
QWN0aXZlV2luZG93Q2FwdHVyZURldmljZTsKKyAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSkKKyAg
ICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2U7CiAKICAg
ICByZXR1cm4gc3RhdGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2VQcml2YXRlLmgKaW5kZXggZTJlYzJlZDE0ZmI1Mzc5ZTNlZGY5ZmM2Y2RlYTVkMTVkMGNlZjJi
ZS4uMmRjNDliNGMyMTE1ZmVhYWE5ZWU0YTQwYjA5ZDEwMDg3OWI3YWI2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaApAQCAtMTQ2LDggKzE0Niwx
MiBAQCBlbnVtIHsKICAgICBrV0tNZWRpYUhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSA9IDEg
PDwgMywKICAgICBrV0tNZWRpYUhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlID0gMSA8PCA0LAog
ICAgIGtXS01lZGlhSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDUsCi0gICAga1dL
TWVkaWFIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwgNiwKLSAgICBrV0tNZWRp
YUhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgPSAxIDw8IDcsCisgICAga1dLTWVkaWFIYXNB
Y3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlID0gMSA8PCA2LAorICAgIGtXS01lZGlhSGFzQWN0aXZl
RGlzcGxheUNhcHR1cmVEZXZpY2UgPSBrV0tNZWRpYUhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZp
Y2UsCisgICAga1dLTWVkaWFIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDcsCisg
ICAga1dLTWVkaWFIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlID0ga1dLTWVkaWFIYXNNdXRl
ZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAga1dLTWVkaWFIYXNBY3RpdmVXaW5kb3dDYXB0dXJl
RGV2aWNlID0gMSA8PCA4LAorICAgIGtXS01lZGlhSGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNl
ID0gMSA8PCA5LAogfTsKIHR5cGVkZWYgdWludDMyX3QgV0tNZWRpYVN0YXRlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKaW5kZXggZWQ0OGVhM2Mz
MjQ4MjUxNjE0NmZlNTlkZWZkNDNlZjExYmQ2NzgyYy4uNWQ5ZTg2YzdlNjE4OTk3MDQ3ZmJhMTZm
ZTJhYmQzZWM5MGRjNDc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcuaApAQCAtNDA2LDcgKzQwNiw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFdLRnVsbHNjcmVlblN0YXRlKSB7CiAKIC8qISBAYWJzdHJhY3QgU2V0IG1pY3JvcGhvbmUg
Y2FwdHVyZSBzdGF0ZSBvZiBhIFdLV2ViVmlldy4KICBAcGFyYW0gc3RhdGUgc3RhdGUgdG8gYXBw
bHkgZm9yIGNhcHR1cmUuCi0gQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52
b2tlIGFmdGVyIHRoZSBjYW1lcmEgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZC4KKyBAcGFyYW0gY29t
cGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2UgYWZ0ZXIgdGhlIG1pY3JvcGhvbmUgc3Rh
dGUgaGFzIGJlZW4gY2hhbmdlZC4KICBAZGlzY3Vzc2lvbgogIElmIHZhbHVlIGlzIFdLTWVkaWFD
YXB0dXJlU3RhdGVOb25lLCB0aGlzIHdpbGwgc3RvcCBhbnkgbWljcm9waG9uZSBjYXB0dXJlLgog
IElmIHZhbHVlIGlzIFdLTWVkaWFDYXB0dXJlU3RhdGVNdXRlZCwgYW55IGFjdGl2ZSBtaWNyb3Bo
b25lIGNhcHR1cmUgd2lsbCBiZWNvbWUgbXV0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjYWNhZWI0MWViMjY1NTlhYzU5MDUxYjQx
MmQ4ZTFhMjBkYjMxMTQ0Li45NDk4MzVlN2NkNjI2NzU3M2NmNzU5YzUyN2Q0ZTg1YjE5ZDMwN2Q1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
QEAgLTEwNjksNyArMTA2OSw3IEBAIHN0YXRpYyBXS01lZGlhUGxheWJhY2tTdGF0ZSB0b1dLTWVk
aWFQbGF5YmFja1N0YXRlKFdlYktpdDo6TWVkaWFQbGF5YmFja1N0YXRlIG1lCiAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyID0gW10geyB9OwogCiAgICAgaWYgKHN0YXRlID09IFdLTWVkaWFDYXB0
dXJlU3RhdGVOb25lKSB7Ci0gICAgICAgIF9wYWdlLT5zdG9wTWVkaWFDYXB0dXJlKFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbywgW2NvbXBsZXRpb25IYW5kbGVy
ID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICBfcGFnZS0+c3Rv
cE1lZGlhQ2FwdHVyZSh7IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpN
aWNyb3Bob25lIH0sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9u
SGFuZGxlcildIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0p
OwogICAgICAgICByZXR1cm47CkBAIC0xMDkxLDcgKzEwOTEsNyBAQCBzdGF0aWMgV0tNZWRpYVBs
YXliYWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJhY2tT
dGF0ZSBtZQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsgfTsKIAogICAgIGlmIChz
dGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkgewotICAgICAgICBfcGFnZS0+c3RvcE1l
ZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6VmlkZW8s
IFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsK
KyAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoeyBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TWVkaWFDYXB0dXJlS2luZDo6Q2FtZXJhIH0sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9j
a1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CkBAIC0yMzMyLDcgKzIzMzIsNyBAQCBz
dGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+IHdrVGV4dE1hbmlwdWxhdGlvbkVycm9ycyhOU0FycmF5
PF9XS1RleHRNYW5pcHVsYXRpb25JdAogLSAodm9pZClfc3RvcE1lZGlhQ2FwdHVyZQogewogICAg
IFRIUk9XX0lGX1NVU1BFTkRFRDsKLSAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbyk7CisgICAgX3BhZ2Ut
PnN0b3BNZWRpYUNhcHR1cmUoeyBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZDo6RXZlcnlLaW5kIH0pOwogfQogCiAtICh2b2lkKV9zdG9wQWxsTWVkaWFQbGF5YmFjawpAQCAt
MzcwNiw2ICszNzA2LDgzIEBAIHN0YXRpYyBpbmxpbmUgT3B0aW9uU2V0PFdlYktpdDo6RmluZE9w
dGlvbnM+IHRvRmluZE9wdGlvbnMoX1dLRmluZE9wdGlvbnMgd2tGaW5kCiAgICAgW3NlbGYgX2lu
dGVybmFsRG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6dXBkYXRlQmxvY2sgd2l0aG91dFdh
aXRpbmdGb3JQYWludGluZzpZRVMgd2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZTpOT107
CiB9CiAKKy0gKFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcykgX2Rpc3BsYXlDYXB0dXJlU3VyZmFj
ZXMKK3sKKyAgICBhdXRvIHBhZ2VTdGF0ZSA9IF9wYWdlLT5yZXBvcnRlZE1lZGlhU3RhdGUoKTsK
KyAgICBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgc3RhdGUgPSBXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZU5vbmU7CisgICAgaWYgKHBhZ2VTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpTY3JlZW5DYXB0dXJlTWFzaykpCisgICAgICAgIHN0YXRlIHw9IFdLRGlzcGxheUNh
cHR1cmVTdXJmYWNlU2NyZWVuOworICAgIGlmIChwYWdlU3RhdGUuY29udGFpbnNBbnkoV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6V2luZG93Q2FwdHVyZU1hc2spKQorICAgICAgICBzdGF0ZSB8PSBX
S0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvdzsKKyAgICByZXR1cm4gc3RhdGU7Cit9CisKKy0g
KFdLRGlzcGxheUNhcHR1cmVTdGF0ZSkgX2Rpc3BsYXlDYXB0dXJlU3RhdGUKK3sKKyAgICBhdXRv
IHN0YXRlID0gX3BhZ2UtPnJlcG9ydGVkTWVkaWFTdGF0ZSgpOworICAgIGlmIChzdGF0ZSAmIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkFjdGl2ZURpc3BsYXlDYXB0dXJlTWFzaykKKyAgICAgICAg
cmV0dXJuIFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZTsKKyAgICBpZiAoc3RhdGUgJiBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZERpc3BsYXlDYXB0dXJlTWFzaykKKyAgICAgICAgcmV0
dXJuIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkOworICAgIHJldHVybiBXS0Rpc3BsYXlDYXB0
dXJlU3RhdGVOb25lOworfQorCistIChXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlKV9zeXN0ZW1B
dWRpb0NhcHR1cmVTdGF0ZQoreworICAgIGF1dG8gc3RhdGUgPSBfcGFnZS0+cmVwb3J0ZWRNZWRp
YVN0YXRlKCk7CisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3Rh
dGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSkKKyAgICAgICAgcmV0dXJuIFdL
U3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVBY3RpdmU7CisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNl
KQorICAgICAgICByZXR1cm4gV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU11dGVkOworICAgIHJl
dHVybiBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTm9uZTsKK30KKworLSAodm9pZClfc2V0RGlz
cGxheUNhcHR1cmVTdGF0ZTooV0tEaXNwbGF5Q2FwdHVyZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25I
YW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIFRIUk9XX0lG
X1NVU1BFTkRFRDsKKyAgICBpZiAoIWNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICBjb21wbGV0
aW9uSGFuZGxlciA9IFtdIHsgfTsKKworICAgIGlmIChzdGF0ZSA9PSBXS0Rpc3BsYXlDYXB0dXJl
U3RhdGVOb25lKSB7CisgICAgICAgIF9wYWdlLT5zdG9wTWVkaWFDYXB0dXJlKHsgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlNjcmVlbiwgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhQ2FwdHVyZUtpbmQ6OldpbmRvdyB9LCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtl
QmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNvbnN0
ZXhwciBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MgZGlzcGxheU11dGVk
RmxhZ3MgPSB7IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1
cmVJc011dGVkLCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpXaW5kb3dDYXB0
dXJlSXNNdXRlZCB9OworICAgIGF1dG8gbXV0ZWRTdGF0ZSA9IF9wYWdlLT5tdXRlZFN0YXRlRmxh
Z3MoKTsKKyAgICBpZiAoc3RhdGUgPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlKQorICAg
ICAgICBtdXRlZFN0YXRlLnJlbW92ZShkaXNwbGF5TXV0ZWRGbGFncyk7CisgICAgZWxzZSBpZiAo
c3RhdGUgPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQpCisgICAgICAgIG11dGVkU3RhdGUu
YWRkKGRpc3BsYXlNdXRlZEZsYWdzKTsKKyAgICBfcGFnZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSwg
W2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0pOworfQorCistICh2b2lkKV9zZXRT
eXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZTooV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSlzdGF0ZSBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAg
ICBUSFJPV19JRl9TVVNQRU5ERUQ7CisgICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIgPSBbXSB7IH07CisKKyAgICBpZiAoc3RhdGUgPT0gV0tTeXN0
ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmUpIHsKKyAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1
cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlN5c3RlbUF1ZGlvLCBb
Y29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSB7Cisg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+bXV0ZWRTdGF0ZUZsYWdz
KCk7CisgICAgaWYgKHN0YXRlID09IFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVBY3RpdmUpCisg
ICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRl
OjpXaW5kb3dDYXB0dXJlSXNNdXRlZCk7CisgICAgZWxzZSBpZiAoc3RhdGUgPT0gV0tTeXN0ZW1B
dWRpb0NhcHR1cmVTdGF0ZU11dGVkKQorICAgICAgICBtdXRlZFN0YXRlLmFkZChXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQpOworICAgIF9wYWdl
LT5zZXRNdXRlZChtdXRlZFN0YXRlLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIo
Y29tcGxldGlvbkhhbmRsZXIpXSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAg
fSk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdLV2ViVmlldyAoV0tEZXByZWNhdGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmgKaW5kZXggYzlmMTIzYzA2Yjc4ZTBlMzg2ZWRkYTg3NTMwMjllMGM2YWMzMTFlNS4u
YjVjNGM1MTU3NTI2ZjdmYjljMjQ4OTJmMjg4NzQ1MTZmNmY0YTI5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC00
MjcsNiArNDI3LDY1IEBAIGZvciB0aGlzIHByb3BlcnR5LgogCiAtICh2b2lkKV9yZXF1ZXN0UmVz
b3VyY2U6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3QgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXiko
TlNEYXRhICosIE5TVVJMUmVzcG9uc2UgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlciBX
S19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCit0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpIHsKKyAgICBX
S0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25lLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2
ZSwKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCwKK30gV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwordHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSkgeworICAgIFdLU3lzdGVtQXVkaW9D
YXB0dXJlU3RhdGVOb25lLAorICAgIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVBY3RpdmUsCisg
ICAgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU11dGVkLAorfSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCit0eXBlZGVmIE5TX09QVElPTlMo
TlNVSW50ZWdlciwgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzKSB7CisgICAgV0tEaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VOb25lID0gMCwKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbiA9
IDB4MSwKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvdyA9IDB4MiwKK307CisKKy8q
ISBAYWJzdHJhY3QgVGhlIHR5cGUocykgb2YgZGlzcGxheXMgYmVpbmcgY2FwdHVyZWQgb24gYSB3
ZWIgcGFnZS4KKyBAZGlzY3Vzc2lvbiBAbGluayBXS1dlYlZpZXcgQC9saW5rIGlzIGtleS12YWx1
ZSBvYnNlcnZpbmcgKEtWTykgY29tcGxpYW50CisgZm9yIHRoaXMgcHJvcGVydHkuCisgKi8KK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzIF9k
aXNwbGF5Q2FwdHVyZVN1cmZhY2VzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CisKKy8qISBAYWJzdHJhY3QgVGhlIHN0YXRlIG9mIGRpc3BsYXkg
Y2FwdHVyZSBvbiBhIHdlYiBwYWdlLgorIEBkaXNjdXNzaW9uIEBsaW5rIFdLV2ViVmlldyBAL2xp
bmsgaXMga2V5LXZhbHVlIG9ic2VydmluZyAoS1ZPKSBjb21wbGlhbnQKKyBmb3IgdGhpcyBwcm9w
ZXJ0eS4KKyAqLworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS0Rpc3BsYXlDYXB0
dXJlU3RhdGUgX2Rpc3BsYXlDYXB0dXJlU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohIEBhYnN0cmFjdCBUaGUgc3RhdGUgb2Yg
c3lzdGVtIGF1ZGlvIGNhcHR1cmUgb24gYSB3ZWIgcGFnZS4KKyBAZGlzY3Vzc2lvbiBAbGluayBX
S1dlYlZpZXcgQC9saW5rIGlzIGtleS12YWx1ZSBvYnNlcnZpbmcgKEtWTykgY29tcGxpYW50Cisg
Zm9yIHRoaXMgcHJvcGVydHkuCisgKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkg
V0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSBfc3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohIEBh
YnN0cmFjdCBTZXQgZGlzcGxheSBjYXB0dXJlIHN0YXRlIG9mIGEgV0tXZWJWaWV3LgorIEBwYXJh
bSBzdGF0ZSBTdGF0ZSB0byBhcHBseSBmb3IgY2FwdHVyZS4KKyBAcGFyYW0gY29tcGxldGlvbkhh
bmRsZXIgQSBibG9jayB0byBpbnZva2UgYWZ0ZXIgdGhlIHNjcmVlbiBzdGF0ZSBoYXMgYmVlbiBj
aGFuZ2VkLgorIEBkaXNjdXNzaW9uCisgSWYgdmFsdWUgaXMgV0tEaXNwbGF5Q2FwdHVyZVN0YXRl
Tm9uZSwgdGhpcyB3aWxsIHN0b3AgYWxsIGRpc3BsYXkgY2FwdHVyZS4KKyBJZiB2YWx1ZSBpcyBX
S0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCwgYWxsIGFjdGl2ZSBkaXNwbGF5IGNhcHR1cmVzIHdp
bGwgYmVjb21lIG11dGVkLgorIElmIHZhbHVlIGlzIFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2
ZSwgYWxsIG11dGVkIGRpc3BsYXkgY2FwdHVyZXMgd2lsbCBiZWNvbWUgYWN0aXZlLgorICovCist
ICh2b2lkKV9zZXREaXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpc3Rh
dGUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8q
ISBAYWJzdHJhY3QgU2V0IHN5c3RlbSBhdWRpbyBjYXB0dXJlIHN0YXRlIG9mIGEgV0tXZWJWaWV3
LgorIEBwYXJhbSBzdGF0ZSBTdGF0ZSB0byBhcHBseSBmb3Igc3lzdGVtIGF1ZGlvIGNhcHR1cmUu
CisgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIGFmdGVyIHRoZSBz
eXN0ZW0gYXVkaW8gc3RhdGUgaGFzIGJlZW4gY2hhbmdlZC4KKyBAZGlzY3Vzc2lvbgorIElmIHZh
bHVlIGlzIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVOb25lLCB0aGlzIHdpbGwgc3RvcCBhbnkg
c3lzdGVtIGF1ZGlvIGNhcHR1cmUuCisgSWYgdmFsdWUgaXMgV0tTeXN0ZW1BdWRpb0NhcHR1cmVT
dGF0ZU11dGVkLCBhbnkgYWN0aXZlIHN5c3RlbSBhdWRpbyBjYXB0dXJlIHdpbGwgYmVjb21lIG11
dGVkLgorIElmIHZhbHVlIGlzIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVBY3RpdmUsIGFueSBt
dXRlZCBzeXN0ZW0gYXVkaW8gY2FwdHVyZSB3aWxsIGJlY29tZSBhY3RpdmUuCisgQG5vdGUgV2hl
biBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBpcyBhY3RpdmUsIGlmIHNjcmVlbkNhcHR1cmVTdGF0ZSBp
cyBhY3RpdmUsIGFsbCBzeXN0ZW0gYXVkaW8gd2lsbCBiZSBjYXB0dXJlZC4KKyBPdGhlcndpc2Us
IGlmIHdpbmRvd0NhcHR1cmVTdGF0ZSBpcyBhY3RpdmUsIG9ubHkgdGhlIGFwcGxpY2F0aW9uIHdo
b3NlIHdpbmRvdyBiZWluZyBpcyBjYXB0dXJlZCB3aWxsIGhhdmUgaXRzIGF1ZGlvIGNhcHR1cmVk
LgorIElmIGJvdGggc2NyZWVuQ2FwdHVyZVN0YXRlIGFuZCB3aW5kb3dDYXB0dXJlU3RhdGUgYXJl
IE5vbmUgb3IgTXV0ZWQsIG5vIHN5c3RlbSBhdWRpbyB3aWxsIGJlIGNhcHR1cmVkLgorICovCist
ICh2b2lkKV9zZXRTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZTooV0tTeXN0ZW1BdWRpb0NhcHR1cmVT
dGF0ZSlzdGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKKwogQGVuZAogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmluZGV4IDg2MGFhZjgyNWU2
YmY1NTY0ZjgwNDczOGIzNTg1ZGVkYjBiZDkyYTIuLmEyMTdjMWY5ZWZiZTA0MGQ1NmE0ZjRiZWE1
MWQ4NTZhNGI4N2NjODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTg0LDggKzg0LDE1IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgbWljcm9waG9uZUNhcHR1cmVXaWxsQ2hhbmdlKCkgZmluYWw7CiAgICAgdm9pZCBjYW1l
cmFDYXB0dXJlV2lsbENoYW5nZSgpIGZpbmFsOworICAgIHZvaWQgZGlzcGxheUNhcHR1cmVXaWxs
Q2hhbmdlKCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5n
ZSgpIGZpbmFsOworICAgIHZvaWQgc3lzdGVtQXVkaW9DYXB0dXJlV2lsbENoYW5nZSgpIGZpbmFs
OworCiAgICAgdm9pZCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKICAgICB2b2lk
IGNhbWVyYUNhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZUNo
YW5nZWQoKSBmaW5hbDsKKyAgICB2b2lkIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKCkg
ZmluYWw7CisgICAgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CiAKICAg
ICBXaW5kb3dLaW5kIHdpbmRvd0tpbmQoKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNjBkYTNiNDUw
MjE2YjA1OGY1YmM1ZDBjNTZjOGFkODAwY2Y2ZmNlMC4uNWQ1YjE0NjE1NWNlOGYxNjFlYjAzYTBl
NWJiMzdlOTRkMzBjOTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCkBAIC0xODMsNiArMTgzLDIxIEBAIHZvaWQgUGFn
ZUNsaWVudEltcGxDb2NvYTo6Y2FtZXJhQ2FwdHVyZVdpbGxDaGFuZ2UoKQogICAgIFttX3dlYlZp
ZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiY2FtZXJhQ2FwdHVyZVN0YXRlIl07CiB9CiAKK3Zv
aWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAg
ICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRl
Il07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNl
c1dpbGxDaGFuZ2UoKQoreworICAgIFttX3dlYlZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAi
X2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMiXTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbENvY29h
OjpzeXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxD
aGFuZ2VWYWx1ZUZvcktleTpAIl9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSJdOworfQorCiB2b2lk
IFBhZ2VDbGllbnRJbXBsQ29jb2E6Om1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpCiB7CiAgICAg
W21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAIm1pY3JvcGhvbmVDYXB0dXJlU3RhdGUi
XTsKQEAgLTE5Myw2ICsyMDgsMjEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpjYW1lcmFD
YXB0dXJlQ2hhbmdlZCgpCiAgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImNh
bWVyYUNhcHR1cmVTdGF0ZSJdOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpc3Bs
YXlDYXB0dXJlQ2hhbmdlZCgpCit7CisgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktl
eTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2Nv
YTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlk
Q2hhbmdlVmFsdWVGb3JLZXk6QCJfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyJdOworfQorCit2b2lk
IFBhZ2VDbGllbnRJbXBsQ29jb2E6OnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKQoreworICAg
IFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJfc3lzdGVtQXVkaW9DYXB0dXJlU3Rh
dGUiXTsKK30KKwogV2luZG93S2luZCBQYWdlQ2xpZW50SW1wbENvY29hOjp3aW5kb3dLaW5kKCkK
IHsKICAgICBhdXRvIHdpbmRvdyA9IFttX3dlYlZpZXcgd2luZG93XTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eS5jcHAKaW5kZXggYmRhZjk4ZDEwZGQzNThiZGQ3YmY3OTMzYWJkMTQ4NjUwN2NjZWQ4
Ni4uMmFmNzgyOTBmNTA3M2VhMWM5NzYxOTcyMzhjZjU2MjRmNjlkOGExYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eS5jcHAKQEAgLTY2LDkgKzY2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9z
b3VyY2UtPmFkZE9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgc3dpdGNoIChtX3NvdXJjZS0+dHlw
ZSgpKSB7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86Cisg
ICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAg
ICAgICAgICBtX3NvdXJjZS0+YWRkQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRl
bzoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAg
ICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICAgICAg
bV9zb3VyY2UtPmFkZFZpZGVvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKQEAgLTgz
LDkgKzg2LDEyIEBAIHB1YmxpYzoKIAogICAgICAgICBzd2l0Y2ggKG1fc291cmNlLT50eXBlKCkp
IHsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAg
ICAgIG1fc291cmNlLT5yZW1vdmVBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVv
OgorICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgICAgICBt
X3NvdXJjZS0+cmVtb3ZlVmlkZW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpAQCAt
Mjg4LDYgKzI5NCw3IEBAIHZvaWQgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Y3JlYXRl
TWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0cmFpCiAgICAgY2FzZSBXZWJDb3Jl
OjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgICAgIHNvdXJjZU9yRXJy
b3IgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5kaXNwbGF5Q2FwdHVy
ZUZhY3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2FwdHVyZVNvdXJjZShkZXZpY2UsIFdURk1vdmUoaGFz
aFNhbHQpLCBjb25zdHJhaW50cyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViQ29yZTo6
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBXZWJDb3Jl
OjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAgIGNhc2UgV2ViQ29yZTo6
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggNTE2OWQ3MWY1
ODQwYjFhMmFjNDMyNDk2ODNhZTM4YWRlN2JiMTE4Yy4uM2E3MTBmMWE3MWZlYWEzODQzMjE0ODg5
MDlhMDljYjIzM2VmNDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
NTY1LDggKzU2NSwxNCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgbWljcm9waG9uZUNh
cHR1cmVXaWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNhbWVyYUNhcHR1cmVXaWxs
Q2hhbmdlKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlDYXB0dXJlV2lsbENoYW5nZSgp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIG1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBk
aXNwbGF5Q2FwdHVyZUNoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGxheUNhcHR1
cmVTdXJmYWNlc0NoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3lzdGVtQXVkaW9DYXB0
dXJlQ2hhbmdlZCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHZpZGVvQ29udHJvbHNNYW5hZ2Vy
RGlkQ2hhbmdlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRl
eCBlMGI1ZTI5NzgyMjg2ZjZhOTNiMmIzYjRhMzVhY2E4YzA3NzA3ZWY3Li4zNDYxNWY0YmY4YTJj
NDIzMTFjNDJlZGUwMGVhY2RhN2NhNTNhZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuY3BwCkBAIC05OSw3ICs5OSw3IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eShXCiAKIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkoKQogewotICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFD
YXB0dXJlS2luZDo6QXVkaW9WaWRlbyB9LCBbXSB7IH0pOworICAgIG1fcGFnZS5zZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1
Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kIH0sIFtdIHsgfSk7CiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCkucmV2
b2tlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZChwYWdlKCkucHJvY2VzcygpKTsKICAgICBwcm94
aWVzKCkucmVtb3ZlKHRoaXMpOwpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkKIHsKICAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIpOwogICAgIGludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMoKTsKLSAg
ICBtX3BhZ2Uuc3RvcE1lZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
QXVkaW9WaWRlbyk7CisgICAgbV9wYWdlLnN0b3BNZWRpYUNhcHR1cmUoeyBNZWRpYVByb2R1Y2Vy
TWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kIH0pOwogfQogCiB2b2lkIFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpjYXB0dXJlRGV2aWNlc0NoYW5nZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZjI0MGZmNDkwMmJmYTFiNjQw
YzA3NDJiYmI2YTlkYzI1Yzc0MDcxNy4uYTk5NWY5ZDk2OTQ2ZmViNjU3NWM0N2E2MjZkNDk0Yzk1
MjBiZDQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02
MzAwLDcgKzYzMDAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0TWVkaWFDYXB0dXJlRW5hYmxl
ZChib29sIGVuYWJsZWQpCiAjZW5kaWYKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnN0b3BNZWRp
YUNhcHR1cmUoTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQga2luZCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYWdlUHJveHk6OnN0
b3BNZWRpYUNhcHR1cmUoT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kPiBr
aW5kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKCk7CkBAIC02MzA4LDcgKzYzMDgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c3RvcE1l
ZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCBraW5kLCBDb21wbGV0aQog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgaWYgKG1fdXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKQogICAgICAgICBtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
ci0+cmVzZXRBY2Nlc3MoKTsKLSAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBh
Z2U6OlN0b3BNZWRpYUNhcHR1cmUoa2luZCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
KyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1
cmUoa2luZHMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAjZW5kaWYKIH0KIApAQCAt
OTU5NywxMyArOTU5NywzNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlUmVwb3J0ZWRNZWRp
YUNhcHR1cmVTdGF0ZSgpCiAKICAgICBXRUJQQUdFUFJPWFlfUkVMRUFTRV9MT0coV2ViUlRDLCAi
dXBkYXRlUmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZTogZnJvbSAlZCB0byAlZCIsIG1fcmVwb3J0
ZWRNZWRpYUNhcHR1cmVTdGF0ZS50b1JhdygpLCBhY3RpdmVDYXB0dXJlU3RhdGUudG9SYXcoKSk7
CiAKLSAgICBib29sIG1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCA9IChtX3JlcG9ydGVkTWVkaWFD
YXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrKSAhPSAoYWN0aXZl
Q2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlTWFzayk7CisgICAgYm9v
bCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRl
ICYgTWVkaWFQcm9kdWNlcjo6TWljcm9waG9uZUNhcHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVy
ZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6TWljcm9waG9uZUNhcHR1cmVNYXNrKTsKICAgICBib29s
IGNhbWVyYUNhcHR1cmVDaGFuZ2VkID0gKG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSAmIE1l
ZGlhUHJvZHVjZXI6OlZpZGVvQ2FwdHVyZU1hc2spICE9IChhY3RpdmVDYXB0dXJlU3RhdGUgJiBN
ZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKTsKKyAgICBib29sIGRpc3BsYXlDYXB0dXJl
Q2hhbmdlZCA9IChtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpE
aXNwbGF5Q2FwdHVyZU1hc2spICE9IChhY3RpdmVDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2Vy
OjpEaXNwbGF5Q2FwdHVyZU1hc2spOworICAgIGJvb2wgc3lzdGVtQXVkaW9DYXB0dXJlQ2hhbmdl
ZCA9IChtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpTeXN0ZW1B
dWRpb0NhcHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6
U3lzdGVtQXVkaW9DYXB0dXJlTWFzayk7CisKKyAgICBPcHRpb25TZXQ8TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ+IHJlcG9ydGVkRGlzcGxheVN1cmZhY2VzOworICAgIGlmIChtX3JlcG9y
dGVkTWVkaWFDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpTY3JlZW5DYXB0dXJlTWFzaykK
KyAgICAgICAgcmVwb3J0ZWREaXNwbGF5U3VyZmFjZXMuYWRkKE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpTY3JlZW4pOworICAgIGlmIChtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUg
JiBNZWRpYVByb2R1Y2VyOjpXaW5kb3dDYXB0dXJlTWFzaykKKyAgICAgICAgcmVwb3J0ZWREaXNw
bGF5U3VyZmFjZXMuYWRkKE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpXaW5kb3cpOwor
CisgICAgT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kPiBhY3RpdmVEaXNw
bGF5U3VyZmFjZXM7CisgICAgaWYgKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6
OlNjcmVlbkNhcHR1cmVNYXNrKQorICAgICAgICBhY3RpdmVEaXNwbGF5U3VyZmFjZXMuYWRkKE1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTY3JlZW4pOworICAgIGlmIChhY3RpdmVDYXB0
dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpXaW5kb3dDYXB0dXJlTWFzaykKKyAgICAgICAgYWN0
aXZlRGlzcGxheVN1cmZhY2VzLmFkZChNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6V2lu
ZG93KTsKKyAgICBhdXRvIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkID0gcmVwb3J0ZWRE
aXNwbGF5U3VyZmFjZXMgIT0gYWN0aXZlRGlzcGxheVN1cmZhY2VzOwogCiAgICAgaWYgKG1pY3Jv
cGhvbmVDYXB0dXJlQ2hhbmdlZCkKICAgICAgICAgcGFnZUNsaWVudCgpLm1pY3JvcGhvbmVDYXB0
dXJlV2lsbENoYW5nZSgpOwogICAgIGlmIChjYW1lcmFDYXB0dXJlQ2hhbmdlZCkKICAgICAgICAg
cGFnZUNsaWVudCgpLmNhbWVyYUNhcHR1cmVXaWxsQ2hhbmdlKCk7CisgICAgaWYgKGRpc3BsYXlD
YXB0dXJlQ2hhbmdlZCkKKyAgICAgICAgcGFnZUNsaWVudCgpLmRpc3BsYXlDYXB0dXJlV2lsbENo
YW5nZSgpOworICAgIGlmIChkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzQ2hhbmdlZCkKKyAgICAgICAg
cGFnZUNsaWVudCgpLmRpc3BsYXlDYXB0dXJlU3VyZmFjZXNXaWxsQ2hhbmdlKCk7CisgICAgaWYg
KHN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5zeXN0ZW1B
dWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCk7CiAKICAgICBtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3Rh
dGUgPSBhY3RpdmVDYXB0dXJlU3RhdGU7CiAgICAgbV91aUNsaWVudC0+bWVkaWFDYXB0dXJlU3Rh
dGVEaWRDaGFuZ2UobV9tZWRpYVN0YXRlKTsKQEAgLTk2MTIsNiArOTYzMywxMiBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6dXBkYXRlUmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSgpCiAgICAgICAgIHBh
Z2VDbGllbnQoKS5taWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQoKTsKICAgICBpZiAoY2FtZXJhQ2Fw
dHVyZUNoYW5nZWQpCiAgICAgICAgIHBhZ2VDbGllbnQoKS5jYW1lcmFDYXB0dXJlQ2hhbmdlZCgp
OworICAgIGlmIChkaXNwbGF5Q2FwdHVyZUNoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5k
aXNwbGF5Q2FwdHVyZUNoYW5nZWQoKTsKKyAgICBpZiAoZGlzcGxheUNhcHR1cmVTdXJmYWNlc0No
YW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzQ2hhbmdl
ZCgpOworICAgIGlmIChzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKQorICAgICAgICBwYWdlQ2xp
ZW50KCkuc3lzdGVtQXVkaW9DYXB0dXJlQ2hhbmdlZCgpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94
eTo6dmlkZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAppbmRleCAwYzg2MDYwYjNjMGI0OGM1ZTYwNmYxNTg1MDY4NTNhMjZmZjAz
MDg0Li5jZTA2NTIxODQ3ZWI3NzdiZjhkYWMwYWU5NzQzMDdiMmVhNmM0YmY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTQyNiw3ICsxNDI2LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdygpIGNvbnN0IHsgcmV0dXJuIG1f
bWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdzsgfQogICAgIHZvaWQgc2V0TWVkaWFDYXB0dXJlRW5h
YmxlZChib29sKTsKICAgICBib29sIG1lZGlhQ2FwdHVyZUVuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX21lZGlhQ2FwdHVyZUVuYWJsZWQ7IH0KLSAgICB2b2lkIHN0b3BNZWRpYUNhcHR1cmUoV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiA9IFtdIHsgfSk7CisgICAgdm9pZCBzdG9wTWVkaWFDYXB0dXJlKE9wdGlvblNldDxX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZD4sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiA9IFtdIHsgfSk7CiAKICAgICB2b2lkIHBhdXNlQWxsTWVkaWFQbGF5YmFjayhD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc3VzcGVuZEFsbE1lZGlhUGxh
eWJhY2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKQEAgLTE1NDAsOCArMTU0MCw4IEBA
IHB1YmxpYzoKIAogICAgIGVudW0gY2xhc3MgQ2FuRGVsYXlOb3RpZmljYXRpb24geyBObywgWWVz
IH07CiAgICAgdm9pZCB1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGVGbGFncywgQ2FuRGVsYXlOb3RpZmljYXRpb24gPSBDYW5EZWxheU5v
dGlmaWNhdGlvbjo6Tm8pOwotICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRpbygpIGNvbnN0IHsgcmV0
dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRp
b0NhcHR1cmVNYXNrKTsgfQotICAgIGJvb2wgaXNDYXB0dXJpbmdWaWRlbygpIGNvbnN0IHsgcmV0
dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpWaWRl
b0NhcHR1cmVNYXNrKTsgfQorICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRpbygpIGNvbnN0IHsgcmV0
dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpJc0Nh
cHR1cmluZ0F1ZGlvTWFzayk7IH0KKyAgICBib29sIGlzQ2FwdHVyaW5nVmlkZW8oKSBjb25zdCB7
IHJldHVybiBtX21lZGlhU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
SXNDYXB0dXJpbmdWaWRlb01hc2spOyB9CiAgICAgYm9vbCBoYXNBY3RpdmVBdWRpb1N0cmVhbSgp
IGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKTsgfQogICAgIGJv
b2wgaGFzQWN0aXZlVmlkZW9TdHJlYW0oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUuY29u
dGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVv
Q2FwdHVyZURldmljZSk7IH0KICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZUZs
YWdzIHJlcG9ydGVkTWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwb3J0ZWRNZWRpYUNh
cHR1cmVTdGF0ZSB8IChtX21lZGlhU3RhdGUgLSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRp
YUNhcHR1cmVNYXNrKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBmYzE4NTA5MGVjODg2MjZhODkwNzg3NDE1M2RiZGZhNzIzOTlhY2I0Li5h
NWRmMTYxN2Y1NGE2ODllNmQ4YjRkOWI4MmI1MmJkZDgwNmVjMzc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTYzNiwxMCArNTYzNiwxMCBA
QCB2b2lkIFdlYlBhZ2U6OnNldE11dGVkKE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlRmxhZ3Mgc3Rh
dGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaQogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAK
LXZvaWQgV2ViUGFnZTo6c3RvcE1lZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZCBraW5kLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit2b2lkIFdlYlBhZ2U6OnN0b3BNZWRpYUNhcHR1cmUoT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kPiBraW5kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgbV9wYWdlLT5z
dG9wTWVkaWFDYXB0dXJlKGtpbmQpOworICAgIG1fcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShraW5k
cyk7CiAjZW5kaWYKICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGZlZGJlNjA1ZDUyNmIwODhhOTY0NGZl
ZTI2OTNhNDczYjVmOGYzY2EuLjU1YTUyMzAwOWZhMjJlMjkxMDdhYTc5ZTg5YzUzZDVmYmFhMzJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTEw
MzEsNyArMTAzMSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1lZGlhVm9sdW1lKGZsb2F0KTsK
ICAgICB2b2lkIHNldE11dGVkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlRmxhZ3Ms
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRNYXlTdGFydE1lZGlh
V2hlbkluV2luZG93KGJvb2wpOwotICAgIHZvaWQgc3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKKyAgICB2b2lkIHN0b3BNZWRpYUNhcHR1cmUoT3B0aW9uU2V0PFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXJNZWRpYUNhcHR1cmVLaW5kPiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIAog
ICAgIHZvaWQgdXBkYXRlTWFpbkZyYW1lU2Nyb2xsT2Zmc2V0UGlubmluZygpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpp
bmRleCA3YjVmM2Q4Zjg2OWU3MjRiY2QzOTBlMDcyN2U5MGU1OTlmYTM3OWI1Li40NjA4ZTBlNTYw
MTQzMzVkZWM4NmU5M2VmNzlmODBlODM1ZDRmNWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTQyNCw3ICs0MjQs
NyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6
OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAgIFNldE1lZGlhVm9sdW1lKGZsb2F0IHZv
bHVtZSkKICAgICBTZXRNdXRlZChPcHRpb25TZXQ8V2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVk
U3RhdGU+IG11dGVkKSAtPiAoKSBBc3luYwogICAgIFNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5k
b3coYm9vbCBtYXlTdGFydE1lZGlhKQotICAgIFN0b3BNZWRpYUNhcHR1cmUoZW51bTp1aW50OF90
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kIGtpbmQpIC0+ICgpIEFzeW5j
CisgICAgU3RvcE1lZGlhQ2FwdHVyZShPcHRpb25TZXQ8V2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ+IGtpbmRzKSAtPiAoKSBBc3luYwogCiAgICAgU2V0Q2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKGJvb2wgY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKQog
ICAgIFNldENhblJ1bk1vZGFsKGJvb2wgY2FuUnVuTW9kYWwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZWUxNDM0YmRhODdiNDM5MTE0NWM0Njg5NTM3MDk2ZDA2
YWUzOTg4MC4uZTI1ZDhmM2U2OTE2ZGJhYzVjM2U4NDc5ZWE1N2MzMjY1ZTkzMDk0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTk3Niw3ICsxOTc2LDcgQEAg
c3RhdGljIGlubGluZSB2b2lkIGNoZWNrRG9jdW1lbnRzQ2FwdHVyZVN0YXRlQ29uc2lzdGVuY3ko
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGUKIHsKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgIGJvb2wg
aXNDYXB0dXJpbmdBdWRpbyA9IFdURjo6YW55T2YoRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgp
LnZhbHVlcygpLCBbXShhdXRvKiBkb2N1bWVudCkgewotICAgICAgICByZXR1cm4gZG9jdW1lbnQt
Pm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2s7CisgICAgICAg
IHJldHVybiBkb2N1bWVudC0+bWVkaWFTdGF0ZSgpICYgTWVkaWFQcm9kdWNlcjo6TWljcm9waG9u
ZUNhcHR1cmVNYXNrOwogICAgIH0pOwogICAgIGJvb2wgaXNDYXB0dXJpbmdWaWRlbyA9IFdURjo6
YW55T2YoRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLnZhbHVlcygpLCBbXShhdXRvKiBkb2N1
bWVudCkgewogICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJv
ZHVjZXI6OlZpZGVvQ2FwdHVyZU1hc2s7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggYTI0NTk0MWM4MTAwZjBiMWQyM2EzN2VlNjgyZmExMDM3NWFi
ZjM4Zi4uZmFkYTRmYjNiNTA5MTRlMTJkZTQzOWI4MTU5MDg4MzM2OTllYmJmYSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBA
CisyMDIyLTAxLTI4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gRXhwb3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzU4MzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1Rlc3RXZWJLaXRBUEku
eGNzY2hlbWU6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXRE
aXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW06CisgICAgICAgICgtW0Rpc3BsYXlDYXB0dXJl
T2JzZXJ2ZXIgb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9iamVjdDpjaGFuZ2U6Y29udGV4dDpd
KToKKyAgICAgICAgKC1bRGlzcGxheUNhcHR1cmVPYnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1
cmVTdGF0ZTpdKToKKyAgICAgICAgKC1bRGlzcGxheUNhcHR1cmVPYnNlcnZlciB3YWl0Rm9yRGlz
cGxheUNhcHR1cmVTdXJmYWNlczpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
CiAyMDIyLTAxLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBDKysyMCB3YXJuaW5ncyBpbiBUZXN0Q29uc29sZU1lc3NhZ2UKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1l
ZGlhV2luZG93QW5kU2NyZWVuLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9HZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW0KaW5kZXggNzNjMjE5MjhhN2Yx
NTZlZDQ5NTMyMzJhOTA3NmE5YTVjZWU3NjcxMC4uMDBmMmNhZDQ1OWIwMTA3ZmRkMDljY2U5MjFk
MmQyNTk2OTRiMmFjYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9HZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3Jl
ZW4ubW0KQEAgLTMzLDkgKzMzLDkgQEAKICNpbXBvcnQgIlVzZXJNZWRpYUNhcHR1cmVVSURlbGVn
YXRlLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KICNpbXBvcnQg
PFdlYktpdC9XS1VJRGVsZWdhdGVQcml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3
Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8
V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQv
V0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JU
ZXN0aW5nLmg+CiAKIEBpbnRlcmZhY2UgV2luZG93QW5kU2NyZWVuQ2FwdHVyZVRlc3RWaWV3IDog
VGVzdFdLV2ViVmlldwpAQCAtNTgsNiArNTgsNjIgQEAKIH0KIEBlbmQKIAorQGludGVyZmFjZSBE
aXNwbGF5Q2FwdHVyZU9ic2VydmVyIDogTlNPYmplY3QgeworICAgIFdLRGlzcGxheUNhcHR1cmVT
dXJmYWNlcyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlczsKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3Rh
dGUgX2Rpc3BsYXlDYXB0dXJlU3RhdGU7Cit9CisKK0Bwcm9wZXJ0eSBXS0Rpc3BsYXlDYXB0dXJl
U3RhdGUgZGlzcGxheUNhcHR1cmVTdGF0ZTsKK0Bwcm9wZXJ0eSBXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXMgZGlzcGxheUNhcHR1cmVTdXJmYWNlczsKKworLSAodm9pZClvYnNlcnZlVmFsdWVGb3JL
ZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5T
RGljdGlvbmFyeTxOU1N0cmluZyAqLCBpZD4gKiljaGFuZ2UgY29udGV4dDoodm9pZCAqKWNvbnRl
eHQ7CistIChCT09MKXdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJl
U3RhdGUpZXhwZWN0ZWRTdGF0ZTsKKy0gKEJPT0wpd2FpdEZvckRpc3BsYXlDYXB0dXJlU3VyZmFj
ZXM6KFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcylleHBlY3RlZFN0YXRlOworQGVuZAorCitAaW1w
bGVtZW50YXRpb24gRGlzcGxheUNhcHR1cmVPYnNlcnZlcgorCitAc3ludGhlc2l6ZSBkaXNwbGF5
Q2FwdHVyZVN1cmZhY2VzID0gX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CitAc3ludGhlc2l6ZSBk
aXNwbGF5Q2FwdHVyZVN0YXRlID0gX2Rpc3BsYXlDYXB0dXJlU3RhdGU7CisKKy0gKHZvaWQpb2Jz
ZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJpbmcgKilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmpl
Y3QgY2hhbmdlOihOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopY2hhbmdlIGNvbnRleHQ6
KHZvaWQgKiljb250ZXh0Cit7CisgICAgRVhQRUNUX1RSVUUoW2tleVBhdGggaXNFcXVhbFRvU3Ry
aW5nOk5TU3RyaW5nRnJvbVNlbGVjdG9yKEBzZWxlY3RvcihfZGlzcGxheUNhcHR1cmVTdXJmYWNl
cykpXSB8fCBba2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6TlNTdHJpbmdGcm9tU2VsZWN0b3IoQHNl
bGVjdG9yKF9kaXNwbGF5Q2FwdHVyZVN0YXRlKSldKTsKKworICAgIGlmIChba2V5UGF0aCBpc0Vx
dWFsVG9TdHJpbmc6TlNTdHJpbmdGcm9tU2VsZWN0b3IoQHNlbGVjdG9yKF9kaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VzKSldKSB7CisgICAgICAgIF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzID0gKFdLRGlz
cGxheUNhcHR1cmVTdXJmYWNlcylbW2NoYW5nZSBvYmplY3RGb3JLZXk6TlNLZXlWYWx1ZUNoYW5n
ZU5ld0tleV0gdW5zaWduZWRJbnRlZ2VyVmFsdWVdOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIF9kaXNwbGF5Q2FwdHVyZVN0YXRlID0gKFdLRGlzcGxheUNhcHR1cmVTdGF0ZSlbW2NoYW5n
ZSBvYmplY3RGb3JLZXk6TlNLZXlWYWx1ZUNoYW5nZU5ld0tleV0gdW5zaWduZWRJbnRlZ2VyVmFs
dWVdOworfQorCitzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHN0YXRlQ2hhbmdlUXVlcnlNYXhD
b3VudCA9IDMwOworCistIChCT09MKXdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3Bs
YXlDYXB0dXJlU3RhdGUpZXhwZWN0ZWRTdGF0ZQoreworICAgIHVuc2lnbmVkIHRyaWVzID0gMDsK
KyAgICBkbyB7CisgICAgICAgIGlmIChleHBlY3RlZFN0YXRlID09IF9kaXNwbGF5Q2FwdHVyZVN0
YXRlKQorICAgICAgICAgICAgcmV0dXJuIFlFUzsKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6c2xlZXAoMC4xKTsKKyAgICB9IHdoaWxlICgrK3RyaWVzIDw9IHN0YXRlQ2hhbmdlUXVlcnlN
YXhDb3VudCk7CisKKyAgICByZXR1cm4gZXhwZWN0ZWRTdGF0ZSA9PSBfZGlzcGxheUNhcHR1cmVT
dGF0ZTsKK30KKworLSAoQk9PTCl3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczooV0tEaXNw
bGF5Q2FwdHVyZVN1cmZhY2VzKWV4cGVjdGVkU3RhdGUKK3sKKyAgICB1bnNpZ25lZCB0cmllcyA9
IDA7CisgICAgZG8geworICAgICAgICBpZiAoZXhwZWN0ZWRTdGF0ZSA9PSBfZGlzcGxheUNhcHR1
cmVTdXJmYWNlcykKKyAgICAgICAgICAgIHJldHVybiBZRVM7CisgICAgICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnNsZWVwKDAuMSk7CisgICAgfSB3aGlsZSAoKyt0cmllcyA8PSBzdGF0ZUNoYW5n
ZVF1ZXJ5TWF4Q291bnQpOworCisgICAgcmV0dXJuIGV4cGVjdGVkU3RhdGUgPT0gX2Rpc3BsYXlD
YXB0dXJlU3VyZmFjZXM7Cit9CitAZW5kCisKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAog
VEVTVChXZWJLaXQyLCBHZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW5Qcm9tcHQpCkBAIC03
NywxMyArMTMzLDIzIEBAIFRFU1QoV2ViS2l0MiwgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2Ny
ZWVuUHJvbXB0KQogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXaW5kb3dBbmRTY3JlZW5D
YXB0dXJlVGVzdFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAs
IDUwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgW3dlYlZpZXcg
c2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKKyAgICBhdXRvIG9ic2VydmVyID0gYWRv
cHROUyhbW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmll
dyBhZGRPYnNlcnZlcjpvYnNlcnZlci5nZXQoKSBmb3JLZXlQYXRoOkAiX2Rpc3BsYXlDYXB0dXJl
U3VyZmFjZXMiIG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk5ldyBjb250ZXh0Om5p
bF07CisgICAgW3dlYlZpZXcgYWRkT2JzZXJ2ZXI6b2JzZXJ2ZXIuZ2V0KCkgZm9yS2V5UGF0aDpA
Il9kaXNwbGF5Q2FwdHVyZVN0YXRlIiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25O
ZXcgY29udGV4dDpuaWxdOworCiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFn
ZU5hbWVkOkAiZ2V0RGlzcGxheU1lZGlhIl07CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rp
c3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVY
UEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlD
YXB0dXJlU3VyZmFjZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2Fw
dHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25lKTsKKyAgICBFWFBFQ1RfVFJV
RShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1
cmZhY2VOb25lKTsKIAogICAgIC8vIENoZWNrICJEb27igJl0IEFsbG93IgogICAgIFtkZWxlZ2F0
ZSBzZXRHZXREaXNwbGF5TWVkaWFEZWNpc2lvbjpXS0Rpc3BsYXlDYXB0dXJlUGVybWlzc2lvbkRl
Y2lzaW9uRGVueV07CiAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
InByb21wdEZvckNhcHR1cmUoeyB2aWRlbyA6IHRydWUgfSkiXTsKICAgICBbZGVsZWdhdGUgd2Fp
dFVudGlsUHJvbXB0ZWRdOwogICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IGhhdmVTdHJlYW06Tk9d
KTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tE
aXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlTm9uZSk7CiAKICAg
ICAvLyBDaGVjayAiQWxsb3cgU2NyZWVuIgogICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJzdG9wKCkiXTsKQEAgLTk1LDkgKzE2MSw0MiBAQCBURVNUKFdlYktpdDIs
IEdldERpc3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVlblByb21wdCkKICAgICBFWFBFQ1RfVFJVRShb
d2ViVmlldyBoYXZlU3RyZWFtOllFU10pOwogICAgIGF1dG8gbGFiZWwgPSBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0ubGFi
ZWwiXTsKICAgICBFWFBFQ1RfV0tfU1RSRVEobGFiZWwsIEAiTW9jayBzY3JlZW4gZGV2aWNlIDEi
KTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlDYXB0dXJlU3RhdGU6
V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlXSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVy
IHdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzOldLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2Ny
ZWVuXSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09
IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVy
IGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7Cisg
ICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlz
cGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlz
cGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOwor
CisgICAgLy8gTXV0ZSBhbmQgdW5tdXRlIHNjcmVlbiBjYXB0dXJlCisgICAgX19ibG9jayBib29s
IGNvbXBsZXRpb25DYWxsZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfc2V0RGlzcGxheUNhcHR1
cmVTdGF0ZTpXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCBjb21wbGV0aW9uSGFuZGxlcjpeKCkg
eworICAgICAgICBjb21wbGV0aW9uQ2FsbGVkID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmNvbXBsZXRpb25DYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKFt3
ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRl
ZCk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdL
RGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlz
cGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOwor
ICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rp
c3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7CisKKyAgICBjb21wbGV0aW9uQ2FsbGVkID0gZmFs
c2U7CisgICAgW3dlYlZpZXcgX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVy
ZVN0YXRlQWN0aXZlIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAgIGNvbXBsZXRpb25D
YWxsZWQgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY29t
cGxldGlvbkNhbGxlZCk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJl
U3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUo
W29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFj
dGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNd
ID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuKTsKKyAgICBFWFBFQ1RfVFJVRShbb2Jz
ZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VT
Y3JlZW4pOworCisgICAgLy8gU3RvcCBhbGwgY2FwdHVyZQorICAgIFt3ZWJWaWV3IHN0cmluZ0J5
RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJzdG9wKCkiXTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmll
dyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSk7Cisg
ICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlz
cGxheUNhcHR1cmVTdXJmYWNlTm9uZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3Bs
YXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVD
VF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0
dXJlU3VyZmFjZU5vbmUpOwogCiAgICAgLy8gQ2hlY2sgIkFsbG93IFdpbmRvdyIKLSAgICBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07CiAgICAgW2RlbGVn
YXRlIHJlc2V0V2FzUHJvbXB0ZWRdOwogICAgIFt3ZWJWaWV3IF9zZXRJbmRleE9mR2V0RGlzcGxh
eU1lZGlhRGV2aWNlU2VsZWN0ZWRGb3JUZXN0aW5nOkAwXTsKICAgICBbZGVsZWdhdGUgc2V0R2V0
RGlzcGxheU1lZGlhRGVjaXNpb246V0tEaXNwbGF5Q2FwdHVyZVBlcm1pc3Npb25EZWNpc2lvbldp
bmRvd1Byb21wdF07CkBAIC0xMDYsOSArMjA1LDM5IEBAIFRFU1QoV2ViS2l0MiwgR2V0RGlzcGxh
eU1lZGlhV2luZG93QW5kU2NyZWVuUHJvbXB0KQogICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IGhh
dmVTdHJlYW06WUVTXSk7CiAgICAgbGFiZWwgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAic3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0ubGFiZWwiXTsKICAgICBFWFBF
Q1RfV0tfU1RSRVEobGFiZWwsIEAiTW9jayB3aW5kb3cgZGV2aWNlIDEiKTsKKyAgICBFWFBFQ1Rf
VFJVRShbb2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVy
ZVN0YXRlQWN0aXZlXSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5
Q2FwdHVyZVN1cmZhY2VzOldLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93XSk7CisgICAgRVhQ
RUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1
cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJl
U3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUo
W3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJm
YWNlV2luZG93KTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJm
YWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOworCisgICAgLy8gTXV0ZSBh
bmQgdW5tdXRlCisgICAgY29tcGxldGlvbkNhbGxlZCA9IGZhbHNlOworICAgIFt3ZWJWaWV3IF9z
ZXREaXNwbGF5Q2FwdHVyZVN0YXRlOldLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkIGNvbXBsZXRp
b25IYW5kbGVyOl4oKSB7CisgICAgICAgIGNvbXBsZXRpb25DYWxsZWQgPSB0cnVlOworICAgIH1d
OworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY29tcGxldGlvbkNhbGxlZCk7CisgICAg
RVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNh
cHR1cmVTdGF0ZU11dGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1
cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQpOworICAgIEVYUEVDVF9UUlVF
KFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZVdpbmRvdyk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93KTsKKworICAgIGNvbXBsZXRp
b25DYWxsZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpX
S0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUgY29tcGxldGlvbkhhbmRsZXI6XigpIHsKKyAgICAg
ICAgY29tcGxldGlvbkNhbGxlZCA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZjb21wbGV0aW9uQ2FsbGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBf
ZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlKTsKKyAg
ICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5
Q2FwdHVyZVN0YXRlQWN0aXZlKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNh
cHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOworICAgIEVY
UEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlD
YXB0dXJlU3VyZmFjZVdpbmRvdyk7CiAKICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAic3RvcCgpIl07CiAgICAgW3dlYlZpZXcgX3NldEluZGV4T2ZHZXREaXNwbGF5
TWVkaWFEZXZpY2VTZWxlY3RlZEZvclRlc3Rpbmc6bmlsXTsKKworICAgIFt3ZWJWaWV3IHJlbW92
ZU9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktleVBhdGg6QCJfZGlzcGxheUNhcHR1cmVTdXJm
YWNlcyJdOworICAgIFt3ZWJWaWV3IHJlbW92ZU9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktl
eVBhdGg6QCJfZGlzcGxheUNhcHR1cmVTdGF0ZSJdOwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggM2Q1ZGVlMTAzZjY1ZTZlNWEyMWQ0MzI2ZTQ2MjljMWU1YTg2ZDc2
OS4uYzUzMjJmYTkyZmY0MjY1NTViNWI1N2Q4NWUzZTU4ODkyN2NlM2Y0YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDIyLTAxLTI4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFttYWNPU10gRXhwb3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUg
c3RhdGUgdG8gV0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzU4MzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9tZWRp
YXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sOiBVcGRhdGUgZm9yIG5ldyBhbmQg
cmVuYW1lZCBzdGF0ZXMuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0t
cGFnZS1tdXRlZC1leHBlY3RlZC50eHQ6IERpdHRvLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJl
YW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbDogRGl0dG8uCisKIDIwMjItMDEtMjYgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVy
IFF1ZXJpZXNdIGNvbnRhaW5lci10eXBlIHByb3BlcnR5IHNob3VsZCBlc3RhYmxpc2ggY29udGFp
bm1lbnQgZm9yICdzaXplJyBhbmQgJ2lubGluZS1zaXplJyB2YWx1ZXMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRt
bAppbmRleCBhMDFiMjllZjg5ZDM0OGFiNThkNmQ2MzczNzFhZjUyY2UzZTg5ZmUyLi5jODVkZDk3
NDJmMTM1ZmY0OTQyZTU5NmYzYzg3YjFiMDk1NWJhNWMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sCkBA
IC00MSw3ICs0MSw3IEBACiAgICAgICAgICAgICBsZXQgc3RyZWFtID0gYXdhaXQgY2FsbEdldERp
c3BsYXlNZWRpYSh7IHZpZGVvOiB0cnVlIH0pOwogICAgICAgICAgICAgbGV0IHBhZ2VNZWRpYVN0
YXRlID0gaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCk7CiAKLSAgICAgICAgICAgIGFzc2VydF9m
YWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmlj
ZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVkRGlzcGxheUNhcHR1cmVE
ZXZpY2UnKTsKKyAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRl
cygnSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGlu
Y2x1ZGUgSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyk7CiAgICAgICAgICAgICBhc3NlcnRf
ZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNl
JyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZp
Y2UnKTsKICAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygn
SGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVk
ZSBIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZScpOwogCkBAIC01OCwxNCArNTgsMTQgQEAKICAg
ICAgICAgICAgICAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoYFBhZ2Ugc3RhdGUgZGlkIG5v
dCBjaGFuZ2UgZnJvbSAke3BhZ2VNZWRpYVN0YXRlfWApOwogCiAgICAgICAgICAgICAgICAgICAg
IHBhZ2VNZWRpYVN0YXRlID0gaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCk7Ci0gICAgICAgICAg
ICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011
dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UnKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Ry
dWUocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNl
JyksICdwYWdlIHN0YXRlIGluY2x1ZGVzIEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlJyk7
CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRl
cygnSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGlu
Y2x1ZGUgSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyk7CisgICAgICAgICAgICAgICAgICAg
IGFzc2VydF90cnVlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNBY3RpdmVTY3JlZW5DYXB0
dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGluY2x1ZGVzIEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVE
ZXZpY2UnKTsKICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpCiAgICAgICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICAgICAgcGFnZU1lZGlhU3RhdGUgPSBpbnRlcm5hbHMucGFnZU1lZGlh
U3RhdGUoKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNs
dWRlcygnSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNsdWRl
cyBIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0
X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURl
dmljZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc0FjdGl2ZURpc3BsYXlDYXB0
dXJlRGV2aWNlJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1lZGlhU3RhdGUu
aW5jbHVkZXMoJ0hhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNs
dWRlcyBIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UnKTsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc0FjdGl2ZVNjcmVlbkNhcHR1cmVE
ZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNBY3RpdmVTY3JlZW5DYXB0
dXJlRGV2aWNlJyk7CiAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldE1lZGlhU3RyZWFtVHJh
Y2tNdXRlZCh0cmFjaywgZmFsc2UpCiAgICAgICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRl
ZC1leHBlY3RlZC50eHQKaW5kZXggOTNlN2RlYzc1OTQyYmQ4MzBlNWRlMTdlMTQyYmUwZDMyYTI5
MWEyZS4uOWI4YWJiMTlhN2VkNGRkMWYyNTNjZDU4ZDg0MTQyYzA0Y2EzNGFlNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJl
YW0tcGFnZS1tdXRlZC1leHBlY3RlZC50eHQKQEAgLTE2LDggKzE2LDggQEAgRVZFTlQ6IG11dGUK
IFBBU1Mgc2NyZWVuQ2FwdHVyZVRyYWNrLm11dGVkIGlzIHRydWUKIFBBU1MgbWljcm9waG9uZUNh
cHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQogUEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQg
aXMgZmFsc2UKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVz
KEhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCi1QQVNTIHdpbmRvdy5p
bnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVEaXNwbGF5Q2FwdHVy
ZURldmljZSkgYmVjYW1lIGZhbHNlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3Rh
dGUoKS5pbmNsdWRlcyhIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCitQ
QVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVT
Y3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5w
YWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVj
YW1lIHRydWUKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVz
KEhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93Lmlu
dGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURl
dmljZSkgYmVjYW1lIHRydWUKQEAgLTI5LDggKzI5LDggQEAgRVZFTlQ6IG11dGUKIFBBU1Mgc2Ny
ZWVuQ2FwdHVyZVRyYWNrLm11dGVkIGlzIHRydWUKIFBBU1MgbWljcm9waG9uZUNhcHR1cmVUcmFj
ay5tdXRlZCBpcyB0cnVlCiBQQVNTIGNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCBpcyB0cnVlCi1Q
QVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZERp
c3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBh
Z2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UpIGJl
Y2FtZSBmYWxzZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVk
ZXMoSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQorUEFTUyB3aW5kb3cu
aW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlU2NyZWVuQ2FwdHVy
ZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3Rh
dGUoKS5pbmNsdWRlcyhIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKIFBB
U1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1
ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFn
ZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSkgYmVjYW1l
IHRydWUKQEAgLTQyLDggKzQyLDggQEAgRVZFTlQ6IHVubXV0ZQogUEFTUyBzY3JlZW5DYXB0dXJl
VHJhY2subXV0ZWQgaXMgdHJ1ZQogUEFTUyBtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11dGVkIGlz
IGZhbHNlCiBQQVNTIGNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQotUEFTUyB3aW5k
b3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWREaXNwbGF5Q2Fw
dHVyZURldmljZSkgYmVjYW1lIHRydWUKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFT
dGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFs
c2UKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011
dGVkU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKK1BBU1Mgd2luZG93LmludGVybmFs
cy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2Up
IGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5j
bHVkZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQogUEFTUyB3aW5k
b3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRBdWRpb0NhcHR1
cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0
YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQpA
QCAtNTQsOCArNTQsOCBAQCBFVkVOVDogdW5tdXRlCiBQQVNTIHNjcmVlbkNhcHR1cmVUcmFjay5t
dXRlZCBpcyBmYWxzZQogUEFTUyBtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZhbHNl
CiBQQVNTIGNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQotUEFTUyB3aW5kb3cuaW50
ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVE
ZXZpY2UpIGJlY2FtZSB0cnVlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUo
KS5pbmNsdWRlcyhIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKK1BB
U1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZVNj
cmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFn
ZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpIGJlY2Ft
ZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMo
SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQogUEFTUyB3aW5kb3cuaW50
ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZp
Y2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCku
aW5jbHVkZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1t
dXRlZC5odG1sCmluZGV4IDZkMjE5Yjc3N2NiNjk3MmRhNzQ4OGZjODBjMTlmYzg0ZjFmZTNkNjku
LmM4MTE0MmM5YmU2ZGUwMzg4YTZhY2I2ZmYyZDc4ZmRkZmM1NDM0ZTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVk
Lmh0bWwKQEAgLTExNCw3ICsxMTQsNyBAQAogICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgibWlj
cm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgi
Y2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIik7CiAKLSAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFn
ZVN0YXRlKCJIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZURpc3BsYXlD
YXB0dXJlRGV2aWNlIik7CisgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0
ZWRTY3JlZW5DYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UiKTsK
ICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVE
ZXZpY2UiLCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgICAgIGF3YWl0
IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFzTXV0ZWRB
dWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgfQpAQCAtMTMzLDcgKzEzMyw3IEBACiAgICAg
ICAgICAgICBzaG91bGRCZVRydWUoIm1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQiKTsKICAg
ICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIik7CiAKLSAg
ICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2
aWNlIiwgIkhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlIik7CisgICAgICAgICAgICBhd2Fp
dCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2
ZVNjcmVlbkNhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRl
KCJIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZp
Y2UiKTsKICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZFZpZGVvQ2Fw
dHVyZURldmljZSIsICJIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgfQpA
QCAtMTUyLDcgKzE1Miw3IEBACiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJtaWNyb3Bob25l
Q2FwdHVyZVRyYWNrLm11dGVkIik7CiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjYW1lcmFD
YXB0dXJlVHJhY2subXV0ZWQiKTsKIAotICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUo
Ikhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVE
ZXZpY2UiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZFNjcmVl
bkNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSIpOwogICAgICAg
ICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIs
ICJIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQ
YWdlU3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2Fw
dHVyZURldmljZSIpOwogICAgICAgICB9CkBAIC0xNzAsNyArMTcwLDcgQEAKICAgICAgICAgICAg
IHNob3VsZEJlRmFsc2UoIm1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQiKTsKICAgICAgICAg
ICAgIHNob3VsZEJlRmFsc2UoImNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCIpOwogCi0gICAgICAg
ICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2Ui
LCAiSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSIpOworICAgICAgICAgICAgYXdhaXQgY2hl
Y2tQYWdlU3RhdGUoIkhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UiLCAiSGFzTXV0ZWRTY3Jl
ZW5DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFz
QWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7
CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlQXVkaW9DYXB0dXJl
RGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450426</attachid>
            <date>2022-01-31 11:52:42 -0800</date>
            <delta_ts>2022-01-31 13:57:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235838-20220131115241.patch</filename>
            <type>text/plain</type>
            <size>84205</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjM2M4MzlhNWEzY2M1
MTYwNzUzZDM0YTdiMjI4M2Y4NWM2NjFhZS4uMzI0NTlhMmZlMzk2N2FlNTRhOTkwZjBjZTEwMmM4
ODAwOTVjNDQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTAxLTI4ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gRXhw
b3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8gV0tXZWJWaWV3CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4MzgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVu
IEFQSSB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9NZWRpYURldmljZUluZm9LaW5kKTogQWRkIFN5c3Rl
bUF1ZGlvLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNvdXJjZUNhcHR1cmVTdGF0ZSk6IERpZmZlcmVudGlh
dGUgc3RhdGUgb2Ygd2luZG93IGFuZCBzY3JlZW4gY2FwdHVyZSB0cmFja3MuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKTogTmV3Lgor
ICAgICAgICAoV2ViQ29yZTo6dHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKTog
CisgICAgICAgIChXZWJDb3JlOjp0cmFja01hdGNoZXNLaW5kKTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKworICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbURpZEZhaWwpOiBJbmNsdWRlIG5ldyBzb3Vy
Y2UgdHlwZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlh
RW5kcG9pbnQ6OmFkZFRyYWNrKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENN
ZWRpYUVuZHBvaW50OjpjcmVhdGVTb3VyY2VBbmRSVENUcmFjayk6CisKKyAgICAgICAgKiBwYWdl
L01lZGlhUHJvZHVjZXIuaDoKKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclBy
aXZhdGU6OnNlbGVjdFRyYWNrcyk6IEluY2x1ZGUgbmV3IHRyYWNrIHR5cGVzLgorCisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmNyZWF0ZSk6IERpdHRvLgor
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdl
ckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29h
OjpjYXB0dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRCk6IERpdHRvLgorCisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlLm1tOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3Bw
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6cGFnZU1lZGlhU3RhdGUpOiBVcGRhdGUgd2l0aCBuZXcgYW5kIGNoYW5nZWQgdHlw
ZSBuYW1lcy4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c3RvcE9ic2VydmluZ1JlYWx0
aW1lTWVkaWFTb3VyY2UpOiBJbmNsdWRlIG5ldyB0cmFjayB0eXBlcy4KKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2spOiBEaXR0by4KKwogMjAyMi0w
MS0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBD
b250YWluZXIgUXVlcmllc10gY29udGFpbmVyLXR5cGUgcHJvcGVydHkgc2hvdWxkIGVzdGFibGlz
aCBjb250YWlubWVudCBmb3IgJ3NpemUnIGFuZCAnaW5saW5lLXNpemUnIHZhbHVlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA5NWZjNGU0YjUyZjBhNGFhYzczNjY1NWMwNjIzMDQzYmVjYzI2NWYxLi5hNDcxZGM5YTY1
NDQ5NzhlN2U2OGRlZDUyMDBhODVhNDE5YzU0OTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBA
CisyMDIyLTAxLTI4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gRXhwb3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzU4MzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcDoKKyAgICAgICAgKFdLUGFnZUdldE1lZGlhU3RhdGUpOiBSZW5hbWUgKkRpc3BsYXlDYXB0
dXJlRGV2aWNlIHRvICpTY3JlZW5DYXB0dXJlRGV2aWNlLiBBZGQgZW51bXMKKyAgICAgICAgZm9y
IHdpbmRvdyBjYXB0dXJlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZh
dGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oOiBEcml2ZSBi
eTogZml4IHR5cG8gaW4gaGVhZGVyIGRvYy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0TWljcm9waG9uZUNhcHR1
cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OkF1ZGlvIAorICAgICAgICB3YXMgcmVuYW1lZCB0byBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6TWljcm9waG9uZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IHNldENhbWVyYUNhcHR1
cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OlZpZGVvIAorICAgICAgICB3YXMgcmVuYW1lZCB0byBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6Q2FtZXJhLgorICAgICAgICAoLVtXS1dlYlZpZXcgX3N0b3BNZWRpYUNhcHR1cmVd
KTogc3RvcE1lZGlhQ2FwdHVyZSB0YWtlcyBhbiBvcHRpb25TZXQuCisgICAgICAgICgtW1dLV2Vi
VmlldyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10pOiBFeHBvc2UgdGhlIHR5cGUocykgb2YgZGlz
cGxheXMgc3VyZmFjZXMKKyAgICAgICAgYmVpbmcgY2FwdHVyZWQuCisgICAgICAgICgtW1dLV2Vi
VmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0pOiBFeHBvc2UgdGhlIGRpc3BsYXkgY2FwdHVyZSBz
dGF0ZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZV0pOiBF
eHBvc2UgdGhlIHN5c3RlbSBhdWRpbyBjYXB0dXJlIHN0YXRlLgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6Y29tcGxldGlvbkhhbmRsZXI6XSk6IENoYW5nZSB0
aGUgZGlzcGxheQorICAgICAgICBjYXB0dXJlIHN0YXRlLgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldFN5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBDaGFuZ2Ug
dGhlIHN5c3RlbSAKKyAgICAgICAgYXVkaW8gY2FwdHVyZSBzdGF0ZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
Q29jb2E6OmRpc3BsYXlDYXB0dXJlV2lsbENoYW5nZSk6IEtWTyBzdXBwb3J0LgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENo
YW5nZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0
ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VD
bGllbnRJbXBsQ29jb2E6OmRpc3BsYXlDYXB0dXJlQ2hhbmdlZCk6IERpdHRvLgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzQ2hhbmdl
ZCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0ZW1B
dWRpb0NhcHR1cmVDaGFuZ2VkKTogRGl0dG8uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJN
ZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OlNvdXJjZVByb3h5OjpTb3VyY2VQcm94eSk6IFN1cHBv
cnQgbmV3IHR5cGVzLgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5OjpTb3VyY2VQcm94eTo6flNvdXJjZVByb3h5KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OmNyZWF0ZU1lZGlhU291cmNlRm9yQ2FwdHVy
ZURldmljZVdpdGhDb25zdHJhaW50cyk6IERpdHRvLgorCisgICAgICAgICogVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1cmVX
aWxsQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1cmVT
dXJmYWNlc1dpbGxDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpzeXN0ZW1B
dWRpb0NhcHR1cmVXaWxsQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlz
cGxheUNhcHR1cmVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxh
eUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50Ojpz
eXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkpOgorICAgICAgICBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6QXVkaW9WaWRlbyAtPiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlL
aW5kLgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eTo6c3RvcENhcHR1cmUpOiBEaXR0by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVk
TWVkaWFDYXB0dXJlU3RhdGUpOiBEZWFsIHdpdGggbmV3IHR5cGVzLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OmNoZWNrRG9jdW1lbnRzQ2FwdHVyZVN0YXRlQ29uc2lzdGVu
Y3kpOgorCiAyMDIyLTAxLTI2ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgog
CiAgICAgICAgIFtNb2RlbF0gTW91c2UgaW50ZXJhY3Rpb24gZm9yIDxtb2RlbD4gaXMgZmxpcHBl
ZCBpbiB0aGUgeS1heGlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhRGV2aWNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhRGV2aWNlcy5jcHAKaW5kZXggMWFlNTBlOWQ0YmViMDk2ZTBiMDIxNjk1NGRmZjQ2
NjZjNTIyM2E1YS4uMDA0YmIzYWI2YjVmODBlYzNkNTUwMGI3ZmE5Njc0Nzc2M2E0ODU0NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2Vz
LmNwcApAQCAtMjgxLDYgKzI4MSw3IEBAIHN0YXRpYyBpbmxpbmUgTWVkaWFEZXZpY2VJbmZvOjpL
aW5kIHRvTWVkaWFEZXZpY2VJbmZvS2luZChDYXB0dXJlRGV2aWNlOjpEZXZpY2VUCiAgICAgY2Fz
ZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46CiAgICAgY2FzZSBDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgICAgIHJldHVybiBNZWRpYURldmljZUluZm86
OktpbmQ6OlZpZGVvaW5wdXQ7CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpT
eXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4
IDE2MDkxOTZkMTI0NDYzYjBjMzZiZDU3OGEyNTAxMGE1MzlkNTU0YTYuLmU5NjNkYWRmOWYxZDFl
MDhlNGE4NTcyZjY2N2RlNzAxOWNmMjIyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDM2LDE0ICs0
MzYsMjIgQEAgTWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncyBzb3VyY2VDYXB0dXJlU3RhdGUo
UmVhbHRpbWVNZWRpYVNvdXJjZSYgc291cmNlKQogICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2U7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuOgorICAgICAg
ICBpZiAoc291cmNlLm11dGVkKCkpCisgICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGU6Okhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZTsKKyAgICAgICAgaWYgKHNvdXJj
ZS5pbnRlcnJ1cHRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGlmIChzb3Vy
Y2UuaXNQcm9kdWNpbmdEYXRhKCkpCisgICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgogICAgICAgICBpZiAo
c291cmNlLm11dGVkKCkpCi0gICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhU3Rh
dGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2U7CisgICAgICAgICAgICByZXR1cm4gTWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2FwdHVyZURldmljZTsKICAgICAg
ICAgaWYgKHNvdXJjZS5pbnRlcnJ1cHRlZCgpKQotICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlOworICAg
ICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFdp
bmRvd0NhcHR1cmVEZXZpY2U7CiAgICAgICAgIGlmIChzb3VyY2UuaXNQcm9kdWNpbmdEYXRhKCkp
Ci0gICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZURp
c3BsYXlDYXB0dXJlRGV2aWNlOworICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlOwogICAgICAgICBicmVhazsKKyAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpA
QCAtNTIxLDYgKzUyOSw3IEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0
ZWRTdGF0ZSgpCiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAg
ICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5zKE1l
ZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkpOwogICAgICAgICBi
cmVhazsKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgog
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENh
cHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpAQCAtNTI4LDE1ICs1MzcsMjAgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp1cGRh
dGVUb1BhZ2VNdXRlZFN0YXRlKCkKICAgICB9CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCB0cmFj
a01hdGNoZXNLaW5kKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlwZSwgTWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUtpbmQga2luZCkKK3N0YXRpYyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZCB0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVyZUtpbmQoUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZSB0eXBlKQogewotICAgIHN3aXRjaCAoa2luZCkgewotICAgIGNhc2UgTWVkaWFQ
cm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvOgotICAgICAgICByZXR1cm4gdHlwZSA9PSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzsKLSAgICBjYXNlIE1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvOgotICAgICAgICByZXR1cm4gdHlwZSAhPSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOwotICAgIGNhc2UgTWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6OlZpZGVvOgotICAgICAgICByZXR1cm4gdHlwZSA9PSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpWaWRlbzsKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUtpbmQ6Ok1pY3JvcGhvbmU7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbzsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OlZpZGVvOgorICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OkNhbWVyYTsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoK
KyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKKyAgICAgICAgcmV0
dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5OworICAgIGNhc2UgUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC01NDUsNyArNTU5LDkgQEAgdm9p
ZCBNZWRpYVN0cmVhbVRyYWNrOjplbmRDYXB0dXJlKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFQ
cm9kdWNlck1lZGlhQ2FwdHVyZUsKIHsKICAgICBib29sIGRpZEVuZENhcHR1cmUgPSBmYWxzZTsK
ICAgICBmb3IgKGF1dG8qIGNhcHR1cmVUcmFjayA6IGFsbENhcHR1cmVUcmFja3MoKSkgewotICAg
ICAgICBpZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpICE9ICZkb2N1bWVudCB8fCAhdHJhY2tN
YXRjaGVzS2luZChjYXB0dXJlVHJhY2stPnByaXZhdGVUcmFjaygpLnR5cGUoKSwga2luZCkpCisg
ICAgICAgIGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50KQorICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIGlmIChraW5kICE9IE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpFdmVyeUtpbmQgJiYga2luZCAhPSB0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2Vy
Q2FwdHVyZUtpbmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2soKS50eXBlKCkpKQogICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIGNhcHR1cmVUcmFjay0+c3RvcFRyYWNrKE1lZGlhU3Ry
ZWFtVHJhY2s6OlN0b3BNb2RlOjpQb3N0RXZlbnQpOwogICAgICAgICBkaWRFbmRDYXB0dXJlID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNl
ck1lZGlhUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuY3BwCmluZGV4IDUyN2ZiYjRhMjlhZDdlMTJlOTMxZGQzYTkwYzFmZjFh
YjQyMTNkYTIuLmUxNTdhYjlkNzY5MWQ1YTQ2MTZhOTJhYmVlZjU3N2I1Y2IyNDViZDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVz
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmNwcApAQCAtMjcxLDYgKzI3MSwxNSBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1l
ZGlhU3RyZWFtRGlkRmFpbChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKICAgICAgICAgdHlwZURlc2NyaXB0
aW9uID0gInZpZGVvIjsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJzY3JlZW4iOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRv
dzoKKyAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gIndpbmRvdyI7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CisgICAgICAg
IHR5cGVEZXNjcmlwdGlvbiA9ICJzeXN0ZW0gYXVkaW8iOworICAgICAgICBicmVhazsKICAgICBj
YXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAgIHR5cGVEZXNjcmlw
dGlvbiA9ICJ1bmtub3duIjsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IGJmYzI3MDgwMzA4ZWZmMmU0YmMyNDA0MzE2M2Yw
ZjYyNThhNGM0OTQuLjVjM2MyMmM3NTY2ZTIxOWYxZTAyNGUzNWQ4ZjJhZWE4YjMwMjE1NmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yMDQsNiAr
MjA0LDkgQEAgYm9vbCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjphZGRUcmFjayhMaWJXZWJSVENS
dHBTZW5kZXJCYWNrZW5kJiBzZW5kZXIsIE1lZGlhU3QKICAgICAgICAgc291cmNlID0gV1RGTW92
ZSh2aWRlb1NvdXJjZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OldpbmRvdzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3Rl
bUF1ZGlvOgogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQxNiwx
MiArNDE5LDE1IEBAIHN0ZDo6cGFpcjxMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpTb3VyY2Us
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6Ok1lZGlhU3RyCiAgICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpOb25lOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1B
dWRpbzoKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOiB7CiAgICAg
ICAgIGF1dG8gYXVkaW9Tb3VyY2UgPSBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OmNyZWF0
ZSh0cmFjay5wcml2YXRlVHJhY2soKSk7CiAgICAgICAgIHJ0Y1RyYWNrID0gbV9wZWVyQ29ubmVj
dGlvbkZhY3RvcnktPkNyZWF0ZUF1ZGlvVHJhY2sodHJhY2suaWQoKS51dGY4KCkuZGF0YSgpLCBh
dWRpb1NvdXJjZS5wdHIoKSk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVkaW9Tb3VyY2Up
OwogICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6
CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICBh
dXRvIHZpZGVvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpjcmVhdGUodHJh
Y2sucHJpdmF0ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25G
YWN0b3J5LT5DcmVhdGVWaWRlb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgdmlkZW9T
b3VyY2UucHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1
Y2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAppbmRleCA0ZTE5ZThj
ZDcxYTY1MjlmOThhZjY0ODJlNmNhNWEwNTJiMWY3MzkzLi5kNjhlNzUzOTgyODBhMTY2MDU3YjYy
Y2VkNzhhMjZhMzYyMjNiMzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlh
UHJvZHVjZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaApAQCAt
NTAsMTYgKzUwLDI0IEBAIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck1lZGlhU3RhdGUgOiB1aW50
MzJfdCB7CiAgICAgSGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDE1LAog
ICAgIEhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNlID0gMSA8PCAxNiwKICAgICBIYXNV
c2VySW50ZXJhY3RlZFdpdGhNZWRpYUVsZW1lbnQgPSAxIDw8IDE3LAotICAgIEhhc0FjdGl2ZURp
c3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8PCAxOCwKLSAgICBIYXNNdXRlZERpc3BsYXlDYXB0dXJl
RGV2aWNlID0gMSA8PCAxOSwKLSAgICBIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNl
ID0gMSA8PCAyMCwKKyAgICBIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlID0gMSA8PCAxOCwK
KyAgICBIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDE5LAorICAgIEhhc0ludGVy
cnVwdGVkU2NyZWVuQ2FwdHVyZURldmljZSA9IDEgPDwgMjAsCisgICAgSGFzQWN0aXZlV2luZG93
Q2FwdHVyZURldmljZSA9IDEgPDwgMjEsCisgICAgSGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNl
ID0gMSA8PCAyMiwKKyAgICBIYXNJbnRlcnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8
IDIzLAorICAgIEhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSA9IDEgPDwgMjQsCisg
ICAgSGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDI1LAorICAgIEhhc0lu
dGVycnVwdGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlID0gMSA8PCAyNiwKIH07CiB1c2luZyBN
ZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZUZsYWdzID0gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlPjsKIAogZW51bSBjbGFzcyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCA6IHVp
bnQ4X3QgewotICAgIEF1ZGlvLAotICAgIFZpZGVvLAotICAgIEF1ZGlvVmlkZW8KKyAgICBNaWNy
b3Bob25lLAorICAgIENhbWVyYSwKKyAgICBEaXNwbGF5LAorICAgIFN5c3RlbUF1ZGlvLAorICAg
IEV2ZXJ5S2luZCwKIH07CiAKIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck11dGVkU3RhdGUgOiB1
aW50OF90IHsKQEAgLTY3LDYgKzc1LDggQEAgZW51bSBjbGFzcyBNZWRpYVByb2R1Y2VyTXV0ZWRT
dGF0ZSA6IHVpbnQ4X3QgewogICAgIEF1ZGlvQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDEsCiAgICAg
VmlkZW9DYXB0dXJlSXNNdXRlZCA9IDEgPDwgMiwKICAgICBTY3JlZW5DYXB0dXJlSXNNdXRlZCA9
IDEgPDwgMywKKyAgICBXaW5kb3dDYXB0dXJlSXNNdXRlZCA9IDEgPDwgNCwKKyAgICBTeXN0ZW1B
dWRpb0NhcHR1cmVJc011dGVkID0gMSA8PCA0LAogfTsKIHVzaW5nIE1lZGlhUHJvZHVjZXJNdXRl
ZFN0YXRlRmxhZ3MgPSBPcHRpb25TZXQ8TWVkaWFQcm9kdWNlck11dGVkU3RhdGU+OwogCkBAIC03
OCwxOSArODgsNDYgQEAgcHVibGljOgogICAgIHVzaW5nIE11dGVkU3RhdGVGbGFncyA9IE1lZGlh
UHJvZHVjZXJNdXRlZFN0YXRlRmxhZ3M7CiAKICAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3Rh
dGVGbGFncyBJc05vdFBsYXlpbmcgPSB7IH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0
YXRlRmxhZ3MgQXVkaW9DYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9D
YXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVk
aWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMg
Y29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNaWNyb3Bob25lQ2FwdHVyZU1hc2sgPSB7IE1lZGlh
U3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRB
dWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJl
RGV2aWNlIH07CiAgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgVmlkZW9DYXB0
dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRp
YVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzSW50ZXJy
dXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UgfTsKLSAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3Rh
dGVGbGFncyBEaXNwbGF5Q2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3Bs
YXlDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNl
LCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIH07Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgQWN0aXZlQ2FwdHVyZU1hc2sgPSB7IE1l
ZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0
aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVy
ZURldmljZSB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE11dGVkQ2Fw
dHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRp
YVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZSB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZs
YWdzIE1lZGlhQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVy
ZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3Rh
dGU6Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3Rp
dmVWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkVmlkZW9DYXB0dXJlRGV2
aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFT
dGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVk
RGlzcGxheUNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkRGlzcGxheUNh
cHR1cmVEZXZpY2UgfTsKKworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIFNj
cmVlbkNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2
aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6
Okhhc0ludGVycnVwdGVkU2NyZWVuQ2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25zdGV4
cHIgTWVkaWFTdGF0ZUZsYWdzIFdpbmRvd0NhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNB
Y3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1
cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkV2luZG93Q2FwdHVyZURldmljZSB9
OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIEFjdGl2ZURpc3BsYXlDYXB0
dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSwgTWVk
aWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25z
dGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE11dGVkRGlzcGxheUNhcHR1cmVNYXNrID0geyBNZWRpYVN0
YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkV2lu
ZG93Q2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdz
IERpc3BsYXlDYXB0dXJlTWFzayA9IHsgQWN0aXZlRGlzcGxheUNhcHR1cmVNYXNrIHwgTXV0ZWRE
aXNwbGF5Q2FwdHVyZU1hc2sgfTsKKworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZs
YWdzIFN5c3RlbUF1ZGlvQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3Rl
bUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1
cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2
aWNlIH07CisKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBBY3RpdmVDYXB0
dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRp
YVN0YXRlOjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2
ZVNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVE
ZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSB9Owor
ICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE11dGVkQ2FwdHVyZU1hc2sgPSB7
IE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNN
dXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJl
RGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsIE1lZGlhU3Rh
dGU6Okhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlIH07CisKKyAgICBzdGF0aWMgY29u
c3RleHByIE1lZGlhU3RhdGVGbGFncyBNZWRpYUNhcHR1cmVNYXNrID0geworICAgICAgICBNZWRp
YVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6
Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNJbnRl
cnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZl
VmlkZW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2Fw
dHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1
cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZp
Y2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwKKyAg
ICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAg
ICAgICBNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBN
ZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3Rh
dGU6Okhhc0ludGVycnVwdGVkV2luZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0
ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRl
OjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6
SGFzSW50ZXJydXB0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UKKyAgICB9OworICAgIHN0YXRp
YyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIElzQ2FwdHVyaW5nQXVkaW9NYXNrID0geyBNaWNy
b3Bob25lQ2FwdHVyZU1hc2sgfCBTeXN0ZW1BdWRpb0NhcHR1cmVNYXNrIH07CisgICAgc3RhdGlj
IGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgSXNDYXB0dXJpbmdWaWRlb01hc2sgPSB7IFZpZGVv
Q2FwdHVyZU1hc2sgfCBEaXNwbGF5Q2FwdHVyZU1hc2sgfTsKIAogICAgIHN0YXRpYyBib29sIGlz
Q2FwdHVyaW5nKE1lZGlhU3RhdGVGbGFncyBzdGF0ZSkgeyByZXR1cm4gc3RhdGUuY29udGFpbnNB
bnkoQWN0aXZlQ2FwdHVyZU1hc2spIHx8IHN0YXRlLmNvbnRhaW5zQW55KE11dGVkQ2FwdHVyZU1h
c2spOyB9CiAKICAgICB2aXJ0dWFsIE1lZGlhU3RhdGVGbGFncyBtZWRpYVN0YXRlKCkgY29uc3Qg
PSAwOwogCiAgICAgc3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0YXRlRmxhZ3MgQXVkaW9BbmRWaWRl
b0NhcHR1cmVJc011dGVkID0geyBNdXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkLCBNdXRl
ZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBNdXRl
ZFN0YXRlRmxhZ3MgTWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCA9IHsgTXV0ZWRTdGF0ZTo6QXVk
aW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRT
dGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE11dGVk
U3RhdGVGbGFncyBNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkID0geyBNdXRlZFN0YXRlOjpBdWRp
b0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkLCBNdXRlZFN0
YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0
ZWQsIE11dGVkU3RhdGU6OlN5c3RlbUF1ZGlvQ2FwdHVyZUlzTXV0ZWQgfTsKIAogICAgIHZpcnR1
YWwgdm9pZCBwYWdlTXV0ZWRTdGF0ZURpZENoYW5nZSgpID0gMDsKIApAQCAtMTA1LDkgKzE0Miwx
MSBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ+IHsKICAgICB1c2luZyB2YWx1ZXMgPSBF
bnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZCwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlv
LAotICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6VmlkZW8s
Ci0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1Zp
ZGVvCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNy
b3Bob25lLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
Q2FtZXJhLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
RGlzcGxheSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6
OlN5c3RlbUF1ZGlvLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6RXZlcnlLaW5kCiAgICAgPjsKIH07CiAKQEAgLTEzMiw5ICsxNzEsMTUgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT4g
ewogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0
ZWRBdWRpb0NhcHR1cmVEZXZpY2UsCiAgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSwKICAgICAgICAgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc1VzZXJJbnRlcmFjdGVkV2l0aE1lZGlhRWxl
bWVudCwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2
ZURpc3BsYXlDYXB0dXJlRGV2aWNlLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSwKLSAgICAgICAgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkRGlzcGxheUNhcHR1cmVEZXZp
Y2UKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNj
cmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dD
YXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAg
ICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9D
YXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmlj
ZQogICAgID47CiB9OwogCkBAIC0xNDQsNyArMTg5LDkgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51
bVRyYWl0czxXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZT4gewogICAgICAgICBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkLAogICAgICAgICBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwKICAgICAg
ICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQs
Ci0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJl
SXNNdXRlZAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVu
Q2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRl
OjpXaW5kb3dDYXB0dXJlSXNNdXRlZCwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11
dGVkU3RhdGU6OlN5c3RlbUF1ZGlvQ2FwdHVyZUlzTXV0ZWQKICAgICA+OwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlLmNwcAppbmRleCA5YTFkMDZjODIwYzg4OTk2ODViNzUyMzdkNTY2M2Qx
MzBlZDY4NTUzLi4xMTkzMTc3MjJjODkxZjJlMjQyMWNlM2ViNzYwOTJkNjg3ODAxOTM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApAQCAtNDQsNiArNDQsOCBAQCBNZWRpYVJlY29yZGVy
UHJpdmF0ZTo6QXVkaW9WaWRlb1NlbGVjdGVkVHJhY2tzIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpz
ZWxlY3RUcmFjawogICAgICAgICBpZiAodHJhY2suZW5kZWQoKSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgc3dpdGNoICh0cmFjay50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OlZpZGVvOiB7CiAgICAgICAgICAgICBhdXRvJiBzZXR0aW5ncyA9IHRyYWNrLnNldHRpbmdz
KCk7CiAgICAgICAgICAgICBpZiAoIXNlbGVjdGVkVHJhY2tzLnZpZGVvVHJhY2sgJiYgc2V0dGlu
Z3Muc3VwcG9ydHNXaWR0aCgpICYmIHNldHRpbmdzLnN1cHBvcnRzSGVpZ2h0KCkpCkBAIC01MSw2
ICs1Myw3IEBAIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpBdWRpb1ZpZGVvU2VsZWN0ZWRUcmFja3Mg
TWVkaWFSZWNvcmRlclByaXZhdGU6OnNlbGVjdFRyYWNrCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgor
ICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAg
ICAgICAgICAgaWYgKCFzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrKQogICAgICAgICAgICAgICAg
IHNlbGVjdGVkVHJhY2tzLmF1ZGlvVHJhY2sgPSAmdHJhY2s7CiAgICAgICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVE
ZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZp
Y2UuaAppbmRleCBlZDFhMzcxMzU1NjcyNmEwOTIxMDM1NTJmZDg0MjA1MTAyY2RlNDU1Li42Mjk0
NWQ5NmUxNmY3ODIzNjA1OGE0OTg0NWFmYjg0MDM5YjA3NTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5oCkBAIC0zMSw3ICsz
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FwdHVyZURldmljZSB7CiBwdWJs
aWM6Ci0gICAgZW51bSBjbGFzcyBEZXZpY2VUeXBlIHsgVW5rbm93biwgTWljcm9waG9uZSwgU3Bl
YWtlciwgQ2FtZXJhLCBTY3JlZW4sIFdpbmRvdyB9OworICAgIGVudW0gY2xhc3MgRGV2aWNlVHlw
ZSB7IFVua25vd24sIE1pY3JvcGhvbmUsIFNwZWFrZXIsIENhbWVyYSwgU2NyZWVuLCBXaW5kb3cs
IFN5c3RlbUF1ZGlvIH07CiAKICAgICBDYXB0dXJlRGV2aWNlKGNvbnN0IFN0cmluZyYgcGVyc2lz
dGVudElkLCBEZXZpY2VUeXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmlu
ZyYgZ3JvdXBJZCA9IGVtcHR5U3RyaW5nKCksIGJvb2wgaXNFbmFibGVkID0gZmFsc2UsIGJvb2wg
aXNEZWZhdWx0ID0gZmFsc2UsIGJvb2wgaXNNb2NrID0gZmFsc2UpCiAgICAgICAgIDogbV9wZXJz
aXN0ZW50SWQocGVyc2lzdGVudElkKQpAQCAtMTkxLDcgKzE5MSw4IEBAIHRlbXBsYXRlPD4gc3Ry
dWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZT4gewogICAg
ICAgICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyLAogICAgICAg
ICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmEsCiAgICAgICAgIFdl
YkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbiwKLSAgICAgICAgV2ViQ29y
ZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93CisgICAgICAgIFdlYkNvcmU6OkNh
cHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdywKKyAgICAgICAgV2ViQ29yZTo6Q2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW8KICAgICA+OwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNv
dXJjZS5oCmluZGV4IGM5NTkyMzRmNjU4YTUyNjc0MGJkNzgwZGQ5OWE0NzA0NzljYzE1OGIuLmNh
OGNjOWQ1NmE1ZGYxYWVhMmRhMmZhZmJmMTExZjhlMTIyZWUxZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNl
LmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIHBlcnNp
c3RlbnRJRCgpIGNvbnN0IHsgcmV0dXJuIG1fcGVyc2lzdGVudElEOyB9CiAKLSAgICBlbnVtIGNs
YXNzIFR5cGUgeyBOb25lLCBBdWRpbywgVmlkZW8gfTsKKyAgICBlbnVtIGNsYXNzIFR5cGUgeyBO
b25lLCBBdWRpbywgVmlkZW8sIFNjcmVlbiwgV2luZG93LCBTeXN0ZW1BdWRpbyB9OwogICAgIFR5
cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHdo
ZW5SZWFkeShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVT
b3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2Nv
YS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAppbmRleCAyYzg1MjY2NGRlMWU2OTRiNGZj
MThlYzA5YTBjNzYzYzkxMjU4NmJhLi40ZTg3YjVhZWI1Nzc0MWZiMWM1YmRkMmM5MjVjZTc2YThm
NWVhOTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9j
b2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApA
QCAtNzgsNiArNzgsNyBAQCBDYXB0dXJlU291cmNlT3JFcnJvciBEaXNwbGF5Q2FwdHVyZVNvdXJj
ZUNvY29hOjpjcmVhdGUoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aQogICAgICAgICAgICAgcmV0
dXJuIGNyZWF0ZShTY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRldmljZSwg
Y29uc3RyYWludHMpLCBkZXZpY2UsIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7CiAj
ZW5kaWYKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBl
OjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3Jv
cGhvbmU6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdl
ckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKaW5kZXggMmFkYzkzNzkxMWE5OWY4NjBkODI4NjZk
YTE3MzU3YzVkMmQ5ZGIxNS4uNTFmZjNiYjc4YzFmODExYzI3YTQyZGIyYzJlMTMxZDI0ZjljNDUy
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rp
c3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCkBAIC0xMjks
NiArMTI5LDcgQEAgc3RkOjpvcHRpb25hbDxDYXB0dXJlRGV2aWNlPiBEaXNwbGF5Q2FwdHVyZU1h
bmFnZXJDb2NvYTo6Y2FwdHVyZURldmljZVdpdGhQZXJzaXMKICAgICAgICAgcmV0dXJuIHdpbmRv
d0NhcHR1cmVEZXZpY2VXaXRoUGVyc2lzdGVudElEKGlkKTsKICAgICAgICAgYnJlYWs7CiAKKyAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgogICAgIGNhc2UgQ2FwdHVyZURldmlj
ZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU6OlNwZWFrZXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2UubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3Vy
Y2UubW0KaW5kZXggNTUzMDg1MWNkMzlmODQ2NjBlMmIzYWQ5NDE3MWIzODZjMTBkMzVjNS4uMjg3
ZTg1OGU1NDRkM2U5OWM0ZjRhM2FlNGE1YTVmYTg3MjZjOGQyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJl
U291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9T
Y3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5tbQpAQCAtNTUsMTAgKzU1LDYgQEAgdHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgV0tTQ0ZyYW1lU3RhdHVzKSB7CiAjcHJhZ21hIGNsYW5nIGRp
YWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW5ndWFy
ZGVkLWF2YWlsYWJpbGl0eS1uZXciCiAKLUBpbnRlcmZhY2UgU0NTdHJlYW0gKFNDU3RyZWFtX0Rl
cHJlY2F0ZWQpCi0tICh2b2lkKXN0YXJ0Q2FwdHVyZVdpdGhDRnJhbWVIYW5kbGVyOihTQ1N0cmVh
bUJ1ZmZlckZyYW1lQXZhaWxhYmxlSGFuZGxlcilmcmFtZUhhbmRsZXIgY29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQgKF4pKE5TRXJyb3IgKmVycm9yKSljb21wbGV0aW9uSGFuZGxlcjsKLUBlbmQKLQog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBAaW50ZXJmYWNlIFdlYkNvcmVTY3JlZW5DYXB0dXJl
S2l0SGVscGVyIDogTlNPYmplY3Q8U0NTdHJlYW1EZWxlZ2F0ZT4gewogICAgIFdlYWtQdHI8U2Ny
ZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2U+IF9jYWxsYmFjazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5jcHAKaW5kZXggNWM4MzRlMzRkMjJlNjU0ODRjMzgzYmMzMWZkMjI3MTdmOWY1MDRmNS4u
MDkyZDJmZTYxMTkzNDhmOTg2NWE4OGZiMjc5MWUzYTJkNzE0YTQwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5jcHAKQEAgLTE5Niw2ICsxOTYsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKICAgICAgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAgICAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OkNhbWVyYToKKyAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpVbmtub3duOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1NGVjZjVj
MmJiODRlZmUwZTdhNTlkMzM2ODIwMjI1YzBmZjZmNTY3Li44NTZiNGVhYjM5YTg3NzA1N2Q4ZWRj
YTI4Y2E1YTk5MzY3MDYxNDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC00NzM2LDIwICs0NzM2LDQyIEBAIFN0cmluZyBJbnRlcm5hbHM6OnBhZ2VNZWRpYVN0YXRlKCkK
ICAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlMaXN0
ZW5lciwiKTsKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3Rh
dGU6Okhhc0F1ZGlvT3JWaWRlbykpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0F1ZGlvT3JW
aWRlbywiKTsKKwogICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFT
dGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSkKICAgICAgICAgc3RyaW5nLmFwcGVu
ZCgiSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlLCIpOwotICAgIGlmIChzdGF0ZS5jb250YWlu
c0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNl
KSkKLSAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCIp
OwogICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
TXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UpKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNNdXRl
ZEF1ZGlvQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlKSkKKyAg
ICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIik7
CisKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0Fj
dGl2ZVZpZGVvQ2FwdHVyZURldmljZSwiKTsKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlKSkKICAgICAg
ICAgc3RyaW5nLmFwcGVuZCgiSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYg
KHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRl
ZFZpZGVvQ2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0ludGVycnVw
dGVkVmlkZW9DYXB0dXJlRGV2aWNlLCIpOworCiAgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1l
ZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNVc2VySW50ZXJhY3RlZFdpdGhNZWRpYUVsZW1lbnQp
KQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNVc2VySW50ZXJhY3RlZFdpdGhNZWRpYUVsZW1l
bnQsIik7Ci0gICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkpCi0gICAgICAgIHN0cmluZy5hcHBlbmQo
Ikhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlLCIpOwotICAgIGlmIChzdGF0ZS5jb250YWlu
c0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmlj
ZSkpCi0gICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2Us
Iik7CisKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6
Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJI
YXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0Fu
eShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKSkK
KyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLCIpOwor
CisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNB
Y3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0
aXZlV2luZG93Q2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSkpCisgICAg
ICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSwiKTsKKyAgICBp
ZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVw
dGVkV2luZG93Q2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0ludGVy
cnVwdGVkV2luZG93Q2FwdHVyZURldmljZSwiKTsKKworICAgIGlmIChzdGF0ZS5jb250YWluc0Fu
eShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2
aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJl
RGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFT
dGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcu
YXBwZW5kKCJIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3Rh
dGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU3lz
dGVtQXVkaW9DYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJy
dXB0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIik7CiAKICAgICBpZiAoc3RyaW5nLmlzRW1w
dHkoKSkKICAgICAgICAgc3RyaW5nLmFwcGVuZCgiSXNOb3RQbGF5aW5nIik7CkBAIC01NDQyLDkg
KzU0NjQsMTIgQEAgdm9pZCBJbnRlcm5hbHM6OnN0b3BPYnNlcnZpbmdSZWFsdGltZU1lZGlhU291
cmNlKCkKIAogICAgIHN3aXRjaCAobV90cmFja1NvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICBtX3RyYWNrU291cmNlLT5yZW1vdmVB
dWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Oldp
bmRvdzoKICAgICAgICAgbV90cmFja1NvdXJjZS0+cmVtb3ZlVmlkZW9TYW1wbGVPYnNlcnZlcigq
dGhpcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6Tm9uZToKQEAgLTU0NjUsOSArNTQ5MCwxMiBAQCB2b2lkIEludGVybmFsczo6b2JzZXJ2ZU1l
ZGlhU3RyZWFtVHJhY2soTWVkaWFTdHJlYW1UcmFjayYgdHJhY2spCiAgICAgbV90cmFja1NvdXJj
ZS0+YWRkT2JzZXJ2ZXIoKnRoaXMpOwogICAgIHN3aXRjaCAobV90cmFja1NvdXJjZS0+dHlwZSgp
KSB7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICBtX3RyYWNr
U291cmNlLT5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKKyAgICBjYXNlIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OldpbmRvdzoKICAgICAgICAgbV90cmFja1NvdXJjZS0+YWRkVmlkZW9TYW1wbGVP
YnNlcnZlcigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6Tm9uZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA4NWIzOTExY2QxNzg4MTAxZmNmOTE5
NjY5MWVlZTU3MjY4ODk3MzczLi4zNDQ0MDgxOGI0OTYxNjg0ZDVkNDljYzliYTA2OTVjYTg1OGIx
OGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0xNzMsNiArMTczLDcgQEAgcHJpdmF0ZToKICAgICBib29s
IHdpbGxTdGFydENhcHR1cmUoQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZSB0eXBlKSBjb25zdCBm
aW5hbAogICAgIHsKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgIGNhc2UgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpTcGVha2VyOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNTA5YjliMjVmMzk0ZjZiMzY3Y2Ji
OGQ2ODc1ODdjMTRkMjg4NWI2MC4uMjBhMWUzMDJkZGJkMmE2MWUzYzVhMmNkNWVmMTFkMzVjOTRi
ZmZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0yOTY2
LDEwICsyOTY2LDE0IEBAIFdLTWVkaWFTdGF0ZSBXS1BhZ2VHZXRNZWRpYVN0YXRlKFdLUGFnZVJl
ZiBwYWdlKQogICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc011dGVkQXVkaW9DYXB0dXJlRGV2
aWNlOwogICAgIGlmIChjb3JlU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0
ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UpCiAgICAgICAgIHN0YXRlIHw9IGtXS01lZGlh
SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2U7Ci0gICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkK
LSAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZTsK
LSAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpCi0gICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFz
TXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZTsKKyAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UpCisg
ICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZTsKKyAg
ICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011
dGVkU2NyZWVuQ2FwdHVyZURldmljZSkKKyAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRl
ZFNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlKQorICAgICAg
ICBzdGF0ZSB8PSBrV0tNZWRpYUhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2U7CisgICAgaWYg
KGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdp
bmRvd0NhcHR1cmVEZXZpY2UpCisgICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0ZWRXaW5k
b3dDYXB0dXJlRGV2aWNlOwogCiAgICAgcmV0dXJuIHN0YXRlOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCmluZGV4IGUyZWMyZWQxNGZiNTM3OWUz
ZWRmOWZjNmNkZWE1ZDE1ZDBjZWYyYmUuLjJkYzQ5YjRjMjExNWZlYWFhOWVlNGE0MGIwOWQxMDA4
NzliN2FiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2
YXRlLmgKQEAgLTE0Niw4ICsxNDYsMTIgQEAgZW51bSB7CiAgICAga1dLTWVkaWFIYXNBY3RpdmVW
aWRlb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDMsCiAgICAga1dLTWVkaWFIYXNNdXRlZEF1ZGlvQ2Fw
dHVyZURldmljZSA9IDEgPDwgNCwKICAgICBrV0tNZWRpYUhhc011dGVkVmlkZW9DYXB0dXJlRGV2
aWNlID0gMSA8PCA1LAotICAgIGtXS01lZGlhSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2Ug
PSAxIDw8IDYsCi0gICAga1dLTWVkaWFIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8
PCA3LAorICAgIGtXS01lZGlhSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSA9IDEgPDwgNiwK
KyAgICBrV0tNZWRpYUhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlID0ga1dLTWVkaWFIYXNB
Y3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgIGtXS01lZGlhSGFzTXV0ZWRTY3JlZW5DYXB0
dXJlRGV2aWNlID0gMSA8PCA3LAorICAgIGtXS01lZGlhSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURl
dmljZSA9IGtXS01lZGlhSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgIGtXS01lZGlh
SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSA9IDEgPDwgOCwKKyAgICBrV0tNZWRpYUhhc011
dGVkV2luZG93Q2FwdHVyZURldmljZSA9IDEgPDwgOSwKIH07CiB0eXBlZGVmIHVpbnQzMl90IFdL
TWVkaWFTdGF0ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5oCmluZGV4IGVkNDhlYTNjMzI0ODI1MTYxNDZmZTU5ZGVmZDQzZWYxMWJkNjc4MmMuLjVk
OWU4NmM3ZTYxODk5NzA0N2ZiYTE2ZmUyYWJkM2VjOTBkYzQ3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKQEAgLTQwNiw3ICs0MDYsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0Z1bGxzY3JlZW5TdGF0ZSkgewogCiAvKiEgQGFi
c3RyYWN0IFNldCBtaWNyb3Bob25lIGNhcHR1cmUgc3RhdGUgb2YgYSBXS1dlYlZpZXcuCiAgQHBh
cmFtIHN0YXRlIHN0YXRlIHRvIGFwcGx5IGZvciBjYXB0dXJlLgotIEBwYXJhbSBjb21wbGV0aW9u
SGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSBhZnRlciB0aGUgY2FtZXJhIHN0YXRlIGhhcyBiZWVu
IGNoYW5nZWQuCisgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIGFm
dGVyIHRoZSBtaWNyb3Bob25lIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQuCiAgQGRpc2N1c3Npb24K
ICBJZiB2YWx1ZSBpcyBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSwgdGhpcyB3aWxsIHN0b3AgYW55
IG1pY3JvcGhvbmUgY2FwdHVyZS4KICBJZiB2YWx1ZSBpcyBXS01lZGlhQ2FwdHVyZVN0YXRlTXV0
ZWQsIGFueSBhY3RpdmUgbWljcm9waG9uZSBjYXB0dXJlIHdpbGwgYmVjb21lIG11dGVkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggY2Fj
YWViNDFlYjI2NTU5YWM1OTA1MWI0MTJkOGUxYTIwZGIzMTE0NC4uNmQ0ZjVlOTAxMTg3YTA4NTAw
NWQxYjJmZmZjNWVjZmU5ZmU5ZDQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDY5LDcgKzEwNjksNyBAQCBzdGF0aWMgV0tNZWRp
YVBsYXliYWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJh
Y2tTdGF0ZSBtZQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsgfTsKIAogICAgIGlm
IChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkgewotICAgICAgICBfcGFnZS0+c3Rv
cE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVk
aW8sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcild
IHsKKyAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUtpbmQ6Ok1pY3JvcGhvbmUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VC
bG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CkBAIC0xMDkxLDcgKzEwOTEsNyBA
QCBzdGF0aWMgV0tNZWRpYVBsYXliYWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJL
aXQ6Ok1lZGlhUGxheWJhY2tTdGF0ZSBtZQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtd
IHsgfTsKIAogICAgIGlmIChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkgewotICAg
ICAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFD
YXB0dXJlS2luZDo6VmlkZW8sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21w
bGV0aW9uSGFuZGxlcildIHsKKyAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwgW2NvbXBsZXRpb25IYW5k
bGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKQEAgLTIzMzIs
NyArMjMzMiw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gd2tUZXh0TWFuaXB1bGF0aW9u
RXJyb3JzKE5TQXJyYXk8X1dLVGV4dE1hbmlwdWxhdGlvbkl0CiAtICh2b2lkKV9zdG9wTWVkaWFD
YXB0dXJlCiB7CiAgICAgVEhST1dfSUZfU1VTUEVOREVEOwotICAgIF9wYWdlLT5zdG9wTWVkaWFD
YXB0dXJlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVv
KTsKKyAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kKTsKIH0KIAogLSAodm9pZClfc3RvcEFsbE1lZGlhUGxh
eWJhY2sKQEAgLTM3MDYsNiArMzcwNiw4MyBAQCBzdGF0aWMgaW5saW5lIE9wdGlvblNldDxXZWJL
aXQ6OkZpbmRPcHRpb25zPiB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZAogICAg
IFtzZWxmIF9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOnVwZGF0ZUJsb2Nr
IHdpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmc6WUVTIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRS
ZXNpemU6Tk9dOwogfQogCistIChXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpIF9kaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VzCit7CisgICAgYXV0byBwYWdlU3RhdGUgPSBfcGFnZS0+cmVwb3J0ZWRNZWRp
YVN0YXRlKCk7CisgICAgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzIHN0YXRlID0gV0tEaXNwbGF5
Q2FwdHVyZVN1cmZhY2VOb25lOworICAgIGlmIChwYWdlU3RhdGUuY29udGFpbnNBbnkoV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZU1hc2spKQorICAgICAgICBzdGF0ZSB8PSBX
S0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbjsKKyAgICBpZiAocGFnZVN0YXRlLmNvbnRhaW5z
QW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OldpbmRvd0NhcHR1cmVNYXNrKSkKKyAgICAgICAg
c3RhdGUgfD0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3c7CisgICAgcmV0dXJuIHN0YXRl
OworfQorCistIChXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpIF9kaXNwbGF5Q2FwdHVyZVN0YXRlCit7
CisgICAgYXV0byBzdGF0ZSA9IF9wYWdlLT5yZXBvcnRlZE1lZGlhU3RhdGUoKTsKKyAgICBpZiAo
c3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBY3RpdmVEaXNwbGF5Q2FwdHVyZU1hc2sp
CisgICAgICAgIHJldHVybiBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmU7CisgICAgaWYgKHN0
YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWREaXNwbGF5Q2FwdHVyZU1hc2spCisg
ICAgICAgIHJldHVybiBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZDsKKyAgICByZXR1cm4gV0tE
aXNwbGF5Q2FwdHVyZVN0YXRlTm9uZTsKK30KKworLSAoV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0
ZSlfc3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUKK3sKKyAgICBhdXRvIHN0YXRlID0gX3BhZ2UtPnJl
cG9ydGVkTWVkaWFTdGF0ZSgpOworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpCisgICAgICAg
IHJldHVybiBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlQWN0aXZlOworICAgIGlmIChzdGF0ZSAm
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2Fw
dHVyZURldmljZSkKKyAgICAgICAgcmV0dXJuIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRl
ZDsKKyAgICByZXR1cm4gV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmU7Cit9CisKKy0gKHZv
aWQpX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6KFdLRGlzcGxheUNhcHR1cmVTdGF0ZSlzdGF0ZSBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAg
ICBUSFJPV19JRl9TVVNQRU5ERUQ7CisgICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIgPSBbXSB7IH07CisKKyAgICBpZiAoc3RhdGUgPT0gV0tEaXNw
bGF5Q2FwdHVyZVN0YXRlTm9uZSkgeworICAgICAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheSwgW2NvbXBsZXRp
b25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBjb25zdGV4cHIgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZs
YWdzIGRpc3BsYXlNdXRlZEZsYWdzID0geyBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0
YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRT
dGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFn
ZS0+bXV0ZWRTdGF0ZUZsYWdzKCk7CisgICAgaWYgKHN0YXRlID09IFdLRGlzcGxheUNhcHR1cmVT
dGF0ZUFjdGl2ZSkKKyAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoZGlzcGxheU11dGVkRmxhZ3Mp
OworICAgIGVsc2UgaWYgKHN0YXRlID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKQorICAg
ICAgICBtdXRlZFN0YXRlLmFkZChkaXNwbGF5TXV0ZWRGbGFncyk7CisgICAgX3BhZ2UtPnNldE11
dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0
aW9uSGFuZGxlcildIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9KTsKK30K
KworLSAodm9pZClfc2V0U3lzdGVtQXVkaW9DYXB0dXJlU3RhdGU6KFdLU3lzdGVtQXVkaW9DYXB0
dXJlU3RhdGUpc3RhdGUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyCit7CisgICAgVEhST1dfSUZfU1VTUEVOREVEOworICAgIGlmICghY29tcGxldGlv
bkhhbmRsZXIpCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyID0gW10geyB9OworCisgICAgaWYg
KHN0YXRlID09IFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVOb25lKSB7CisgICAgICAgIF9wYWdl
LT5zdG9wTWVkaWFDYXB0dXJlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpTeXN0ZW1BdWRpbywgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKV0geworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgYXV0byBtdXRlZFN0YXRlID0gX3BhZ2Ut
Pm11dGVkU3RhdGVGbGFncygpOworICAgIGlmIChzdGF0ZSA9PSBXS1N5c3RlbUF1ZGlvQ2FwdHVy
ZVN0YXRlQWN0aXZlKQorICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTXV0ZWRTdGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQpOworICAgIGVsc2UgaWYgKHN0
YXRlID09IFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZCkKKyAgICAgICAgbXV0ZWRTdGF0
ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011
dGVkKTsKKyAgICBfcGFnZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSwgW2NvbXBsZXRpb25IYW5kbGVy
ID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcigpOworICAgIH0pOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZp
ZXcgKFdLRGVwcmVjYXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGM5ZjEyM2MwNmI3OGUwZTM4NmVkZGE4NzUz
MDI5ZTBjNmFjMzExZTUuLmI1YzRjNTE1NzUyNmY3ZmI5YzI0ODkyZjI4ODc0NTE2ZjZmNGEyOWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaApAQCAtNDI3LDYgKzQyNyw2NSBAQCBmb3IgdGhpcyBwcm9wZXJ0eS4KIAogLSAo
dm9pZClfcmVxdWVzdFJlc291cmNlOihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGNvbXBsZXRpb25I
YW5kbGVyOih2b2lkKF4pKE5TRGF0YSAqLCBOU1VSTFJlc3BvbnNlICosIE5TRXJyb3IgKikpY29t
cGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKIAordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tEaXNwbGF5Q2FwdHVy
ZVN0YXRlKSB7CisgICAgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSwKKyAgICBXS0Rpc3BsYXlD
YXB0dXJlU3RhdGVBY3RpdmUsCisgICAgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQsCit9IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK3R5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUpIHsKKyAg
ICBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTm9uZSwKKyAgICBXS1N5c3RlbUF1ZGlvQ2FwdHVy
ZVN0YXRlQWN0aXZlLAorICAgIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZCwKK30gV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwordHlw
ZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcykgewor
ICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlTm9uZSA9IDAsCisgICAgV0tEaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VTY3JlZW4gPSAweDEsCisgICAgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cg
PSAweDIsCit9OworCisvKiEgQGFic3RyYWN0IFRoZSB0eXBlKHMpIG9mIGRpc3BsYXlzIGJlaW5n
IGNhcHR1cmVkIG9uIGEgd2ViIHBhZ2UuCisgQGRpc2N1c3Npb24gQGxpbmsgV0tXZWJWaWV3IEAv
bGluayBpcyBrZXktdmFsdWUgb2JzZXJ2aW5nIChLVk8pIGNvbXBsaWFudAorIGZvciB0aGlzIHBy
b3BlcnR5LgorICovCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLRGlzcGxheUNh
cHR1cmVTdXJmYWNlcyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEgQGFic3RyYWN0IFRoZSBz
dGF0ZSBvZiBkaXNwbGF5IGNhcHR1cmUgb24gYSB3ZWIgcGFnZS4KKyBAZGlzY3Vzc2lvbiBAbGlu
ayBXS1dlYlZpZXcgQC9saW5rIGlzIGtleS12YWx1ZSBvYnNlcnZpbmcgKEtWTykgY29tcGxpYW50
CisgZm9yIHRoaXMgcHJvcGVydHkuCisgKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlIF9kaXNwbGF5Q2FwdHVyZVN0YXRlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qISBAYWJzdHJh
Y3QgVGhlIHN0YXRlIG9mIHN5c3RlbSBhdWRpbyBjYXB0dXJlIG9uIGEgd2ViIHBhZ2UuCisgQGRp
c2N1c3Npb24gQGxpbmsgV0tXZWJWaWV3IEAvbGluayBpcyBrZXktdmFsdWUgb2JzZXJ2aW5nIChL
Vk8pIGNvbXBsaWFudAorIGZvciB0aGlzIHByb3BlcnR5LgorICovCitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUgX3N5c3RlbUF1ZGlvQ2Fw
dHVyZVN0YXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CisKKy8qISBAYWJzdHJhY3QgU2V0IGRpc3BsYXkgY2FwdHVyZSBzdGF0ZSBvZiBhIFdL
V2ViVmlldy4KKyBAcGFyYW0gc3RhdGUgU3RhdGUgdG8gYXBwbHkgZm9yIGNhcHR1cmUuCisgQHBh
cmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIGFmdGVyIHRoZSBzY3JlZW4g
c3RhdGUgaGFzIGJlZW4gY2hhbmdlZC4KKyBAZGlzY3Vzc2lvbgorIElmIHZhbHVlIGlzIFdLRGlz
cGxheUNhcHR1cmVTdGF0ZU5vbmUsIHRoaXMgd2lsbCBzdG9wIGFsbCBkaXNwbGF5IGNhcHR1cmUu
CisgSWYgdmFsdWUgaXMgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQsIGFsbCBhY3RpdmUgZGlz
cGxheSBjYXB0dXJlcyB3aWxsIGJlY29tZSBtdXRlZC4KKyBJZiB2YWx1ZSBpcyBXS0Rpc3BsYXlD
YXB0dXJlU3RhdGVBY3RpdmUsIGFsbCBtdXRlZCBkaXNwbGF5IGNhcHR1cmVzIHdpbGwgYmVjb21l
IGFjdGl2ZS4KKyAqLworLSAodm9pZClfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTooV0tEaXNwbGF5
Q2FwdHVyZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21w
bGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOworCisvKiEgQGFic3RyYWN0IFNldCBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBzdGF0
ZSBvZiBhIFdLV2ViVmlldy4KKyBAcGFyYW0gc3RhdGUgU3RhdGUgdG8gYXBwbHkgZm9yIHN5c3Rl
bSBhdWRpbyBjYXB0dXJlLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGlu
dm9rZSBhZnRlciB0aGUgc3lzdGVtIGF1ZGlvIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQuCisgQGRp
c2N1c3Npb24KKyBJZiB2YWx1ZSBpcyBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTm9uZSwgdGhp
cyB3aWxsIHN0b3AgYW55IHN5c3RlbSBhdWRpbyBjYXB0dXJlLgorIElmIHZhbHVlIGlzIFdLU3lz
dGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZCwgYW55IGFjdGl2ZSBzeXN0ZW0gYXVkaW8gY2FwdHVy
ZSB3aWxsIGJlY29tZSBtdXRlZC4KKyBJZiB2YWx1ZSBpcyBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0
YXRlQWN0aXZlLCBhbnkgbXV0ZWQgc3lzdGVtIGF1ZGlvIGNhcHR1cmUgd2lsbCBiZWNvbWUgYWN0
aXZlLgorIEBub3RlIFdoZW4gc3lzdGVtIGF1ZGlvIGNhcHR1cmUgaXMgYWN0aXZlLCBpZiBzY3Jl
ZW5DYXB0dXJlU3RhdGUgaXMgYWN0aXZlLCBhbGwgc3lzdGVtIGF1ZGlvIHdpbGwgYmUgY2FwdHVy
ZWQuCisgT3RoZXJ3aXNlLCBpZiB3aW5kb3dDYXB0dXJlU3RhdGUgaXMgYWN0aXZlLCBvbmx5IHRo
ZSBhcHBsaWNhdGlvbiB3aG9zZSB3aW5kb3cgYmVpbmcgaXMgY2FwdHVyZWQgd2lsbCBoYXZlIGl0
cyBhdWRpbyBjYXB0dXJlZC4KKyBJZiBib3RoIHNjcmVlbkNhcHR1cmVTdGF0ZSBhbmQgd2luZG93
Q2FwdHVyZVN0YXRlIGFyZSBOb25lIG9yIE11dGVkLCBubyBzeXN0ZW0gYXVkaW8gd2lsbCBiZSBj
YXB0dXJlZC4KKyAqLworLSAodm9pZClfc2V0U3lzdGVtQXVkaW9DYXB0dXJlU3RhdGU6KFdLU3lz
dGVtQXVkaW9DYXB0dXJlU3RhdGUpc3RhdGUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZv
aWQpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CisKIEBlbmQKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKaW5k
ZXggMTBhMTA5ZmI5MjFmNWRjMjBmMDhhY2U1MjU5NWVlZGE1NWQ3MTgxYS4uYzQ2YzY0Yzg2YWVh
MGYyODM5NjZlOGM4YTA1ZDQ4MTBkMTg2ODMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTQ4NzAsNiArNDg3MCw3IEBA
IHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9jb3JzX2FsbG93bGlzdChXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3LCBjb25zdCBnY2hhciogY29uCiAKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25m
aWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQgY2FwdHVyZUtpbmQsIFdlYktpdE1lZGlhQ2FwdHVyZVN0
YXRlIGNhcHR1cmVTdGF0ZSwgYm9vbCBpc0Zyb21EaXNwbGF5Q2FwdHVyZSA9IGZhbHNlKQogewor
ICAgIFVOVVNFRF9QQVJBTShpc0Zyb21EaXNwbGF5Q2FwdHVyZSk7CiAgICAgYXV0byYgcGFnZSA9
IGdldFBhZ2Uod2ViVmlldyk7CiAgICAgYXV0byBtdXRlZFN0YXRlID0gcGFnZS5tdXRlZFN0YXRl
RmxhZ3MoKTsKIApAQCAtNDg3NywxMyArNDg3OCwxNSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJW
aWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNvcmU6
OgogICAgIGNhc2UgV0VCS0lUX01FRElBX0NBUFRVUkVfU1RBVEVfTk9ORToKICAgICAgICAgcGFn
ZS5zdG9wTWVkaWFDYXB0dXJlKGNhcHR1cmVLaW5kLCBbd2ViVmlldywgY2FwdHVyZUtpbmRdIHsK
ICAgICAgICAgICAgIHN3aXRjaCAoY2FwdHVyZUtpbmQpIHsKLSAgICAgICAgICAgIGNhc2UgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvOgorICAgICAgICAgICAg
Y2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZToK
ICAgICAgICAgICAgICAgICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoR19PQkpFQ1Qod2ViVmll
dyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfTUlDUk9QSE9ORV9DQVBUVVJFX1NUQVRFXSk7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYUNhcHR1cmVLaW5kOjpWaWRlbzoKICAgICAgICAgICAgICAgICBnX29iamVjdF9ub3Rp
ZnlfYnlfcHNwZWMoR19PQkpFQ1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfQ0FNRVJB
X0NBUFRVUkVfU1RBVEVdKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvVmlkZW86Cisg
ICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpE
aXNwbGF5OgorICAgICAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6U3lzdGVtQXVkaW86CisgICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQ6CiAgICAgICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQpA
QCAtNDg5MSwxNiArNDg5NCwxNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3Q29uZmlndXJl
TWVkaWFDYXB0dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNvcmU6OgogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX0FDVElWRToKICAgICAg
ICAgc3dpdGNoIChjYXB0dXJlS2luZCkgewotICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZToKICAgICAgICAgICAgIG11dGVk
U3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvQ2Fw
dHVyZUlzTXV0ZWQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvOgotICAgICAgICAgICAgaWYgKGlz
RnJvbURpc3BsYXlDYXB0dXJlKQotICAgICAgICAgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsK
LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsKKyAg
ICAgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVk
U3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkRpc3BsYXk6Cisg
ICAgICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRl
ZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRl
bzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
U3lzdGVtQXVkaW86CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2Fw
dHVyZUtpbmQ6OkV2ZXJ5S2luZDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC00OTA4LDE2ICs0OTEyLDE3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmll
dyogd2ViVmlldywgV2ViQ29yZTo6CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV0VCS0lUX01F
RElBX0NBUFRVUkVfU1RBVEVfTVVURUQ6CiAgICAgICAgIHN3aXRjaCAoY2FwdHVyZUtpbmQpIHsK
LSAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVk
aW86CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6
Ok1pY3JvcGhvbmU6CiAgICAgICAgICAgICBtdXRlZFN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpNdXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkKTsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpWaWRlbzoKLSAgICAgICAgICAgIGlmIChpc0Zyb21EaXNwbGF5Q2FwdHVyZSkKLSAgICAgICAg
ICAgICAgICBtdXRlZFN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRl
OjpTY3JlZW5DYXB0dXJlSXNNdXRlZCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6Vmlk
ZW9DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgICAgICBtdXRlZFN0YXRlLmFkZChXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpEaXNwbGF5OgorICAgICAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OkF1ZGlvVmlkZW86CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OlN5c3RlbUF1ZGlvOgorICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQ6CiAgICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNTAwNyw3
ICs1MDEyLDcgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0X21pY3JvcGhvbmVfY2FwdHVyZV9z
dGF0ZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXQKICAgICBpZiAod2Via2l0X3dlYl92
aWV3X2dldF9taWNyb3Bob25lX2NhcHR1cmVfc3RhdGUod2ViVmlldykgPT0gV0VCS0lUX01FRElB
X0NBUFRVUkVfU1RBVEVfTk9ORSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2Via2l0V2ViVmll
d0NvbmZpZ3VyZU1lZGlhQ2FwdHVyZSh3ZWJWaWV3LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFDYXB0dXJlS2luZDo6QXVkaW8sIHN0YXRlKTsKKyAgICB3ZWJraXRXZWJWaWV3Q29uZmlndXJl
TWVkaWFDYXB0dXJlKHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kOjpNaWNyb3Bob25lLCBzdGF0ZSk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmluZGV4IDg2MGFhZjgyNWU2
YmY1NTY0ZjgwNDczOGIzNTg1ZGVkYjBiZDkyYTIuLmEyMTdjMWY5ZWZiZTA0MGQ1NmE0ZjRiZWE1
MWQ4NTZhNGI4N2NjODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTg0LDggKzg0LDE1IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgbWljcm9waG9uZUNhcHR1cmVXaWxsQ2hhbmdlKCkgZmluYWw7CiAgICAgdm9pZCBjYW1l
cmFDYXB0dXJlV2lsbENoYW5nZSgpIGZpbmFsOworICAgIHZvaWQgZGlzcGxheUNhcHR1cmVXaWxs
Q2hhbmdlKCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5n
ZSgpIGZpbmFsOworICAgIHZvaWQgc3lzdGVtQXVkaW9DYXB0dXJlV2lsbENoYW5nZSgpIGZpbmFs
OworCiAgICAgdm9pZCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKICAgICB2b2lk
IGNhbWVyYUNhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZUNo
YW5nZWQoKSBmaW5hbDsKKyAgICB2b2lkIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKCkg
ZmluYWw7CisgICAgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CiAKICAg
ICBXaW5kb3dLaW5kIHdpbmRvd0tpbmQoKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNjBkYTNiNDUw
MjE2YjA1OGY1YmM1ZDBjNTZjOGFkODAwY2Y2ZmNlMC4uNWQ1YjE0NjE1NWNlOGYxNjFlYjAzYTBl
NWJiMzdlOTRkMzBjOTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCkBAIC0xODMsNiArMTgzLDIxIEBAIHZvaWQgUGFn
ZUNsaWVudEltcGxDb2NvYTo6Y2FtZXJhQ2FwdHVyZVdpbGxDaGFuZ2UoKQogICAgIFttX3dlYlZp
ZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiY2FtZXJhQ2FwdHVyZVN0YXRlIl07CiB9CiAKK3Zv
aWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAg
ICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRl
Il07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNl
c1dpbGxDaGFuZ2UoKQoreworICAgIFttX3dlYlZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAi
X2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMiXTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbENvY29h
OjpzeXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxD
aGFuZ2VWYWx1ZUZvcktleTpAIl9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSJdOworfQorCiB2b2lk
IFBhZ2VDbGllbnRJbXBsQ29jb2E6Om1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpCiB7CiAgICAg
W21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAIm1pY3JvcGhvbmVDYXB0dXJlU3RhdGUi
XTsKQEAgLTE5Myw2ICsyMDgsMjEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpjYW1lcmFD
YXB0dXJlQ2hhbmdlZCgpCiAgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImNh
bWVyYUNhcHR1cmVTdGF0ZSJdOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpc3Bs
YXlDYXB0dXJlQ2hhbmdlZCgpCit7CisgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktl
eTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2Nv
YTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlk
Q2hhbmdlVmFsdWVGb3JLZXk6QCJfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyJdOworfQorCit2b2lk
IFBhZ2VDbGllbnRJbXBsQ29jb2E6OnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKQoreworICAg
IFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJfc3lzdGVtQXVkaW9DYXB0dXJlU3Rh
dGUiXTsKK30KKwogV2luZG93S2luZCBQYWdlQ2xpZW50SW1wbENvY29hOjp3aW5kb3dLaW5kKCkK
IHsKICAgICBhdXRvIHdpbmRvdyA9IFttX3dlYlZpZXcgd2luZG93XTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eS5jcHAKaW5kZXggYmRhZjk4ZDEwZGQzNThiZGQ3YmY3OTMzYWJkMTQ4NjUwN2NjZWQ4
Ni4uMmFmNzgyOTBmNTA3M2VhMWM5NzYxOTcyMzhjZjU2MjRmNjlkOGExYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eS5jcHAKQEAgLTY2LDkgKzY2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9z
b3VyY2UtPmFkZE9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgc3dpdGNoIChtX3NvdXJjZS0+dHlw
ZSgpKSB7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86Cisg
ICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAg
ICAgICAgICBtX3NvdXJjZS0+YWRkQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRl
bzoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAg
ICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICAgICAg
bV9zb3VyY2UtPmFkZFZpZGVvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKQEAgLTgz
LDkgKzg2LDEyIEBAIHB1YmxpYzoKIAogICAgICAgICBzd2l0Y2ggKG1fc291cmNlLT50eXBlKCkp
IHsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAg
ICAgIG1fc291cmNlLT5yZW1vdmVBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVv
OgorICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgICAgICBt
X3NvdXJjZS0+cmVtb3ZlVmlkZW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpAQCAt
Mjg4LDYgKzI5NCw3IEBAIHZvaWQgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Y3JlYXRl
TWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0cmFpCiAgICAgY2FzZSBXZWJDb3Jl
OjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgICAgIHNvdXJjZU9yRXJy
b3IgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5kaXNwbGF5Q2FwdHVy
ZUZhY3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2FwdHVyZVNvdXJjZShkZXZpY2UsIFdURk1vdmUoaGFz
aFNhbHQpLCBjb25zdHJhaW50cyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViQ29yZTo6
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBXZWJDb3Jl
OjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAgIGNhc2UgV2ViQ29yZTo6
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggNTE2OWQ3MWY1
ODQwYjFhMmFjNDMyNDk2ODNhZTM4YWRlN2JiMTE4Yy4uM2E3MTBmMWE3MWZlYWEzODQzMjE0ODg5
MDlhMDljYjIzM2VmNDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
NTY1LDggKzU2NSwxNCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgbWljcm9waG9uZUNh
cHR1cmVXaWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNhbWVyYUNhcHR1cmVXaWxs
Q2hhbmdlKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlDYXB0dXJlV2lsbENoYW5nZSgp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIG1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBk
aXNwbGF5Q2FwdHVyZUNoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGxheUNhcHR1
cmVTdXJmYWNlc0NoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3lzdGVtQXVkaW9DYXB0
dXJlQ2hhbmdlZCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHZpZGVvQ29udHJvbHNNYW5hZ2Vy
RGlkQ2hhbmdlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRl
eCBlMGI1ZTI5NzgyMjg2ZjZhOTNiMmIzYjRhMzVhY2E4YzA3NzA3ZWY3Li45ZjM2MzEwMTllOGE0
Yzk1Y2M1NzJmYWVhY2U0NjFlNjRhOTYzMjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuY3BwCkBAIC05OSw3ICs5OSw3IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eShXCiAKIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkoKQogewotICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFD
YXB0dXJlS2luZDo6QXVkaW9WaWRlbyB9LCBbXSB7IH0pOworICAgIG1fcGFnZS5zZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1
Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kIH0sIFtdIHsgfSk7CiAjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCkucmV2
b2tlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZChwYWdlKCkucHJvY2VzcygpKTsKICAgICBwcm94
aWVzKCkucmVtb3ZlKHRoaXMpOwpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkKIHsKICAgICBBTFdBWVNf
TE9HKExPR0lERU5USUZJRVIpOwogICAgIGludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMoKTsKLSAg
ICBtX3BhZ2Uuc3RvcE1lZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
QXVkaW9WaWRlbyk7CisgICAgbV9wYWdlLnN0b3BNZWRpYUNhcHR1cmUoTWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZCk7CiB9CiAKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHk6OmNhcHR1cmVEZXZpY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmMjQwZmY0OTAyYmZhMWI2NDBjMDc0
MmJiYjZhOWRjMjVjNzQwNzE3Li40NmI1OTdlYmYwOTUwM2Q0NDdhNGQxN2ZhOTY4OGY2OWIxOGFh
NTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTk1OTcs
MTMgKzk1OTcsMjUgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0
dXJlU3RhdGUoKQogCiAgICAgV0VCUEFHRVBST1hZX1JFTEVBU0VfTE9HKFdlYlJUQywgInVwZGF0
ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGU6IGZyb20gJWQgdG8gJWQiLCBtX3JlcG9ydGVkTWVk
aWFDYXB0dXJlU3RhdGUudG9SYXcoKSwgYWN0aXZlQ2FwdHVyZVN0YXRlLnRvUmF3KCkpOwogCi0g
ICAgYm9vbCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVy
ZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1
cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2spOworICAgIGJvb2wgbWlj
cm9waG9uZUNhcHR1cmVDaGFuZ2VkID0gKG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSAmIE1l
ZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0
ZSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzayk7CiAgICAgYm9vbCBjYW1l
cmFDYXB0dXJlQ2hhbmdlZCA9IChtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiBNZWRpYVBy
b2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVyZVN0YXRlICYgTWVkaWFQ
cm9kdWNlcjo6VmlkZW9DYXB0dXJlTWFzayk7CisgICAgYm9vbCBkaXNwbGF5Q2FwdHVyZUNoYW5n
ZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6RGlzcGxh
eUNhcHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6RGlz
cGxheUNhcHR1cmVNYXNrKTsKKyAgICBib29sIHN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQgPSAo
bV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6U3lzdGVtQXVkaW9D
YXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OlN5c3Rl
bUF1ZGlvQ2FwdHVyZU1hc2spOworCisgICAgYXV0byByZXBvcnRlZERpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXMgPSBtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiAoTWVkaWFQcm9kdWNlcjo6U2Ny
ZWVuQ2FwdHVyZU1hc2sgfCBNZWRpYVByb2R1Y2VyOjpXaW5kb3dDYXB0dXJlTWFzayk7CisgICAg
YXV0byBhY3RpdmVEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzID0gYWN0aXZlQ2FwdHVyZVN0YXRlICYg
KE1lZGlhUHJvZHVjZXI6OlNjcmVlbkNhcHR1cmVNYXNrIHwgTWVkaWFQcm9kdWNlcjo6V2luZG93
Q2FwdHVyZU1hc2spOworICAgIGF1dG8gZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQgPSBy
ZXBvcnRlZERpc3BsYXlDYXB0dXJlU3VyZmFjZXMgIT0gYWN0aXZlRGlzcGxheUNhcHR1cmVTdXJm
YWNlczsKIAogICAgIGlmIChtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQpCiAgICAgICAgIHBhZ2VD
bGllbnQoKS5taWNyb3Bob25lQ2FwdHVyZVdpbGxDaGFuZ2UoKTsKICAgICBpZiAoY2FtZXJhQ2Fw
dHVyZUNoYW5nZWQpCiAgICAgICAgIHBhZ2VDbGllbnQoKS5jYW1lcmFDYXB0dXJlV2lsbENoYW5n
ZSgpOworICAgIGlmIChkaXNwbGF5Q2FwdHVyZUNoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQo
KS5kaXNwbGF5Q2FwdHVyZVdpbGxDaGFuZ2UoKTsKKyAgICBpZiAoZGlzcGxheUNhcHR1cmVTdXJm
YWNlc0NoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5kaXNwbGF5Q2FwdHVyZVN1cmZhY2Vz
V2lsbENoYW5nZSgpOworICAgIGlmIChzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKQorICAgICAg
ICBwYWdlQ2xpZW50KCkuc3lzdGVtQXVkaW9DYXB0dXJlV2lsbENoYW5nZSgpOwogCiAgICAgbV9y
ZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlID0gYWN0aXZlQ2FwdHVyZVN0YXRlOwogICAgIG1fdWlD
bGllbnQtPm1lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlKG1fbWVkaWFTdGF0ZSk7CkBAIC05NjEy
LDYgKzk2MjQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0
dXJlU3RhdGUoKQogICAgICAgICBwYWdlQ2xpZW50KCkubWljcm9waG9uZUNhcHR1cmVDaGFuZ2Vk
KCk7CiAgICAgaWYgKGNhbWVyYUNhcHR1cmVDaGFuZ2VkKQogICAgICAgICBwYWdlQ2xpZW50KCku
Y2FtZXJhQ2FwdHVyZUNoYW5nZWQoKTsKKyAgICBpZiAoZGlzcGxheUNhcHR1cmVDaGFuZ2VkKQor
ICAgICAgICBwYWdlQ2xpZW50KCkuZGlzcGxheUNhcHR1cmVDaGFuZ2VkKCk7CisgICAgaWYgKGRp
c3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuZGlzcGxh
eUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKTsKKyAgICBpZiAoc3lzdGVtQXVkaW9DYXB0dXJlQ2hh
bmdlZCkKKyAgICAgICAgcGFnZUNsaWVudCgpLnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKTsK
IH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OnZpZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMGM4NjA2MGIzYzBiNDhj
NWU2MDZmMTU4NTA2ODUzYTI2ZmYwMzA4NC4uYTJmMjBhYWE1ZjY4N2JjNzIyZmMzMTZkYTcxZWNm
M2RjOWUzYmM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1
NDAsOCArMTU0MCw4IEBAIHB1YmxpYzoKIAogICAgIGVudW0gY2xhc3MgQ2FuRGVsYXlOb3RpZmlj
YXRpb24geyBObywgWWVzIH07CiAgICAgdm9pZCB1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2Uo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncywgQ2FuRGVsYXlOb3RpZmljYXRp
b24gPSBDYW5EZWxheU5vdGlmaWNhdGlvbjo6Tm8pOwotICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRp
bygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrKTsgfQotICAgIGJvb2wgaXNDYXB0dXJpbmdWaWRl
bygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKTsgfQorICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRp
bygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpJc0NhcHR1cmluZ0F1ZGlvTWFzayk7IH0KKyAgICBib29sIGlzQ2FwdHVyaW5n
VmlkZW8oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6SXNDYXB0dXJpbmdWaWRlb01hc2spOyB9CiAgICAgYm9vbCBoYXNBY3Rp
dmVBdWRpb1N0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2
aWNlKTsgfQogICAgIGJvb2wgaGFzQWN0aXZlVmlkZW9TdHJlYW0oKSBjb25zdCB7IHJldHVybiBt
X21lZGlhU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6
Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSk7IH0KICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTWVkaWFTdGF0ZUZsYWdzIHJlcG9ydGVkTWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSB8IChtX21lZGlhU3RhdGUgLSBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpNZWRpYUNhcHR1cmVNYXNrKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCmluZGV4IGVlMTQzNGJkYTg3YjQzOTExNDVjNDY4OTUzNzA5NmQwNmFlMzk4
ODAuLmUyNWQ4ZjNlNjkxNmRiYWM1YzNlODQ3OWVhNTdjMzI2NWU5MzA5NDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE5NzYsNyArMTk3Niw3IEBAIHN0YXRp
YyBpbmxpbmUgdm9pZCBjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBlCiB7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIGlzQ2Fw
dHVyaW5nQXVkaW8gPSBXVEY6OmFueU9mKERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS52YWx1
ZXMoKSwgW10oYXV0byogZG9jdW1lbnQpIHsKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tZWRp
YVN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrOworICAgICAgICByZXR1
cm4gZG9jdW1lbnQtPm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0
dXJlTWFzazsKICAgICB9KTsKICAgICBib29sIGlzQ2FwdHVyaW5nVmlkZW8gPSBXVEY6OmFueU9m
KERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS52YWx1ZXMoKSwgW10oYXV0byogZG9jdW1lbnQp
IHsKICAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tZWRpYVN0YXRlKCkgJiBNZWRpYVByb2R1Y2Vy
OjpWaWRlb0NhcHR1cmVNYXNrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGEyNDU5NDFjODEwMGYwYjFkMjNhMzdlZTY4MmZhMTAzNzVhYmYzOGYu
LmZhZGE0ZmIzYjUwOTE0ZTEyZGU0MzliODE1OTA4ODMzNjk5ZWJiZmEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAy
Mi0wMS0yOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAg
ICBbbWFjT1NdIEV4cG9zZSBzY3JlZW4gYW5kIHdpbmRvdyBjYXB0dXJlIHN0YXRlIHRvIFdLV2Vi
VmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1
ODM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODIwNzkyND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2No
ZW1lOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxh
eU1lZGlhV2luZG93QW5kU2NyZWVuLm1tOgorICAgICAgICAoLVtEaXNwbGF5Q2FwdHVyZU9ic2Vy
dmVyIG9ic2VydmVWYWx1ZUZvcktleVBhdGg6b2ZPYmplY3Q6Y2hhbmdlOmNvbnRleHQ6XSk6Cisg
ICAgICAgICgtW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlDYXB0dXJlU3Rh
dGU6XSk6CisgICAgICAgICgtW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlD
YXB0dXJlU3VyZmFjZXM6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAy
Mi0wMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dUS10gQysrMjAgd2FybmluZ3MgaW4gVGVzdENvbnNvbGVNZXNzYWdlCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3hjc2hhcmVkZGF0
YS94Y3NjaGVtZXMvVGVzdFdlYktpdEFQSS54Y3NjaGVtZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0
QVBJLnhjc2NoZW1lCmluZGV4IDVmNWVjMmU0YWVjMzllZGMzOWZjN2Y4NWM3ZDk2N2U1YzQ5NDY5
NGUuLjE3MDZlOTI4MjA4ODhjNzZkMDUzNzc4MzMxZjM5ODk5YmU5NzFjYjggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2oveGNzaGFyZWRkYXRh
L3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2NoZW1lCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2Vi
S2l0QVBJLnhjc2NoZW1lCkBAIC01MCw2ICs1MCwxMiBAQAogICAgICAgICAgICAgUmVmZXJlbmNl
ZENvbnRhaW5lciA9ICJjb250YWluZXI6VGVzdFdlYktpdEFQSS54Y29kZXByb2oiPgogICAgICAg
ICAgPC9CdWlsZGFibGVSZWZlcmVuY2U+CiAgICAgICA8L0J1aWxkYWJsZVByb2R1Y3RSdW5uYWJs
ZT4KKyAgICAgIDxDb21tYW5kTGluZUFyZ3VtZW50cz4KKyAgICAgICAgIDxDb21tYW5kTGluZUFy
Z3VtZW50CisgICAgICAgICAgICBhcmd1bWVudCA9ICItLWd0ZXN0X2ZpbHRlcj1XZWJLaXQyLkNh
cHR1cmVNdXRlQVBJIgorICAgICAgICAgICAgaXNFbmFibGVkID0gIllFUyI+CisgICAgICAgICA8
L0NvbW1hbmRMaW5lQXJndW1lbnQ+CisgICAgICA8L0NvbW1hbmRMaW5lQXJndW1lbnRzPgogICAg
PC9MYXVuY2hBY3Rpb24+CiAgICA8UHJvZmlsZUFjdGlvbgogICAgICAgYnVpbGRDb25maWd1cmF0
aW9uID0gIlJlbGVhc2UiCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0dldERpc3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVlbi5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVu
Lm1tCmluZGV4IDczYzIxOTI4YTdmMTU2ZWQ0OTUzMjMyYTkwNzZhOWE1Y2VlNzY3MTAuLjAwZjJj
YWQ0NTliMDEwN2ZkZDA5Y2NlOTIxZDJkMjU5Njk0YjJhY2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2Ny
ZWVuLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlz
cGxheU1lZGlhV2luZG93QW5kU2NyZWVuLm1tCkBAIC0zMyw5ICszMyw5IEBACiAjaW1wb3J0ICJV
c2VyTWVkaWFDYXB0dXJlVUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgotI2lt
cG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0
ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktp
dC9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgogCiBAaW50ZXJmYWNlIFdpbmRvd0FuZFNj
cmVlbkNhcHR1cmVUZXN0VmlldyA6IFRlc3RXS1dlYlZpZXcKQEAgLTU4LDYgKzU4LDYyIEBACiB9
CiBAZW5kCiAKK0BpbnRlcmZhY2UgRGlzcGxheUNhcHR1cmVPYnNlcnZlciA6IE5TT2JqZWN0IHsK
KyAgICBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXM7Cisg
ICAgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlIF9kaXNwbGF5Q2FwdHVyZVN0YXRlOworfQorCitAcHJv
cGVydHkgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlIGRpc3BsYXlDYXB0dXJlU3RhdGU7CitAcHJvcGVy
dHkgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CisKKy0g
KHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJpbmcgKilrZXlQYXRoIG9mT2JqZWN0
OihpZClvYmplY3QgY2hhbmdlOihOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopY2hhbmdl
IGNvbnRleHQ6KHZvaWQgKiljb250ZXh0OworLSAoQk9PTCl3YWl0Rm9yRGlzcGxheUNhcHR1cmVT
dGF0ZTooV0tEaXNwbGF5Q2FwdHVyZVN0YXRlKWV4cGVjdGVkU3RhdGU7CistIChCT09MKXdhaXRG
b3JEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzOihXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpZXhwZWN0
ZWRTdGF0ZTsKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIERpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIK
KworQHN5bnRoZXNpemUgZGlzcGxheUNhcHR1cmVTdXJmYWNlcyA9IF9kaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzOworQHN5bnRoZXNpemUgZGlzcGxheUNhcHR1cmVTdGF0ZSA9IF9kaXNwbGF5Q2FwdHVy
ZVN0YXRlOworCistICh2b2lkKW9ic2VydmVWYWx1ZUZvcktleVBhdGg6KE5TU3RyaW5nICopa2V5
UGF0aCBvZk9iamVjdDooaWQpb2JqZWN0IGNoYW5nZTooTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICos
IGlkPiAqKWNoYW5nZSBjb250ZXh0Oih2b2lkICopY29udGV4dAoreworICAgIEVYUEVDVF9UUlVF
KFtrZXlQYXRoIGlzRXF1YWxUb1N0cmluZzpOU1N0cmluZ0Zyb21TZWxlY3RvcihAc2VsZWN0b3Io
X2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpKV0gfHwgW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOk5T
U3RyaW5nRnJvbVNlbGVjdG9yKEBzZWxlY3RvcihfZGlzcGxheUNhcHR1cmVTdGF0ZSkpXSk7CisK
KyAgICBpZiAoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOk5TU3RyaW5nRnJvbVNlbGVjdG9yKEBz
ZWxlY3RvcihfZGlzcGxheUNhcHR1cmVTdXJmYWNlcykpXSkgeworICAgICAgICBfZGlzcGxheUNh
cHR1cmVTdXJmYWNlcyA9IChXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpW1tjaGFuZ2Ugb2JqZWN0
Rm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VOZXdLZXldIHVuc2lnbmVkSW50ZWdlclZhbHVlXTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBfZGlzcGxheUNhcHR1cmVTdGF0ZSA9IChXS0Rpc3Bs
YXlDYXB0dXJlU3RhdGUpW1tjaGFuZ2Ugb2JqZWN0Rm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VOZXdL
ZXldIHVuc2lnbmVkSW50ZWdlclZhbHVlXTsKK30KKworc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25l
ZCBzdGF0ZUNoYW5nZVF1ZXJ5TWF4Q291bnQgPSAzMDsKKworLSAoQk9PTCl3YWl0Rm9yRGlzcGxh
eUNhcHR1cmVTdGF0ZTooV0tEaXNwbGF5Q2FwdHVyZVN0YXRlKWV4cGVjdGVkU3RhdGUKK3sKKyAg
ICB1bnNpZ25lZCB0cmllcyA9IDA7CisgICAgZG8geworICAgICAgICBpZiAoZXhwZWN0ZWRTdGF0
ZSA9PSBfZGlzcGxheUNhcHR1cmVTdGF0ZSkKKyAgICAgICAgICAgIHJldHVybiBZRVM7CisgICAg
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CisgICAgfSB3aGlsZSAoKyt0cmll
cyA8PSBzdGF0ZUNoYW5nZVF1ZXJ5TWF4Q291bnQpOworCisgICAgcmV0dXJuIGV4cGVjdGVkU3Rh
dGUgPT0gX2Rpc3BsYXlDYXB0dXJlU3RhdGU7Cit9CisKKy0gKEJPT0wpd2FpdEZvckRpc3BsYXlD
YXB0dXJlU3VyZmFjZXM6KFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcylleHBlY3RlZFN0YXRlCit7
CisgICAgdW5zaWduZWQgdHJpZXMgPSAwOworICAgIGRvIHsKKyAgICAgICAgaWYgKGV4cGVjdGVk
U3RhdGUgPT0gX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpCisgICAgICAgICAgICByZXR1cm4gWUVT
OworICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjEpOworICAgIH0gd2hpbGUg
KCsrdHJpZXMgPD0gc3RhdGVDaGFuZ2VRdWVyeU1heENvdW50KTsKKworICAgIHJldHVybiBleHBl
Y3RlZFN0YXRlID09IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzOworfQorQGVuZAorCiBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSSB7CiAKIFRFU1QoV2ViS2l0MiwgR2V0RGlzcGxheU1lZGlhV2luZG93
QW5kU2NyZWVuUHJvbXB0KQpAQCAtNzcsMTMgKzEzMywyMyBAQCBURVNUKFdlYktpdDIsIEdldERp
c3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVlblByb21wdCkKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbV2luZG93QW5kU2NyZWVuQ2FwdHVyZVRlc3RWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
OkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5n
ZXQoKV0pOwogICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCisg
ICAgYXV0byBvYnNlcnZlciA9IGFkb3B0TlMoW1tEaXNwbGF5Q2FwdHVyZU9ic2VydmVyIGFsbG9j
XSBpbml0XSk7CisgICAgW3dlYlZpZXcgYWRkT2JzZXJ2ZXI6b2JzZXJ2ZXIuZ2V0KCkgZm9yS2V5
UGF0aDpAIl9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzIiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZp
bmdPcHRpb25OZXcgY29udGV4dDpuaWxdOworICAgIFt3ZWJWaWV3IGFkZE9ic2VydmVyOm9ic2Vy
dmVyLmdldCgpIGZvcktleVBhdGg6QCJfZGlzcGxheUNhcHR1cmVTdGF0ZSIgb3B0aW9uczpOU0tl
eVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3IGNvbnRleHQ6bmlsXTsKKwogICAgIFt3ZWJWaWV3IHN5
bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImdldERpc3BsYXlNZWRpYSJdOworICAgIEVY
UEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0
dXJlU3RhdGVOb25lKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVT
dXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VOb25lKTsKKyAgICBFWFBFQ1RfVFJV
RShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRl
Tm9uZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNd
ID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlTm9uZSk7CiAKICAgICAvLyBDaGVjayAiRG9u4oCZ
dCBBbGxvdyIKICAgICBbZGVsZWdhdGUgc2V0R2V0RGlzcGxheU1lZGlhRGVjaXNpb246V0tEaXNw
bGF5Q2FwdHVyZVBlcm1pc3Npb25EZWNpc2lvbkRlbnldOwogICAgIFt3ZWJWaWV3IHN0cmluZ0J5
RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJwcm9tcHRGb3JDYXB0dXJlKHsgdmlkZW8gOiB0cnVlIH0p
Il07CiAgICAgW2RlbGVnYXRlIHdhaXRVbnRpbFByb21wdGVkXTsKICAgICBFWFBFQ1RfVFJVRShb
d2ViVmlldyBoYXZlU3RyZWFtOk5PXSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3Bs
YXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVD
VF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0
dXJlU3VyZmFjZU5vbmUpOwogCiAgICAgLy8gQ2hlY2sgIkFsbG93IFNjcmVlbiIKICAgICBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07CkBAIC05NSw5ICsx
NjEsNDIgQEAgVEVTVChXZWJLaXQyLCBHZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW5Qcm9t
cHQpCiAgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgaGF2ZVN0cmVhbTpZRVNdKTsKICAgICBhdXRv
IGxhYmVsID0gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0cmVhbS5n
ZXRWaWRlb1RyYWNrcygpWzBdLmxhYmVsIl07CiAgICAgRVhQRUNUX1dLX1NUUkVRKGxhYmVsLCBA
Ik1vY2sgc2NyZWVuIGRldmljZSAxIik7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRG
b3JEaXNwbGF5Q2FwdHVyZVN0YXRlOldLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZV0pOworICAg
IEVYUEVDVF9UUlVFKFtvYnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczpXS0Rp
c3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbl0pOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9k
aXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAg
IEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlD
YXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7CisgICAgRVhQ
RUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNh
cHR1cmVTdXJmYWNlU2NyZWVuKTsKKworICAgIC8vIE11dGUgYW5kIHVubXV0ZSBzY3JlZW4gY2Fw
dHVyZQorICAgIF9fYmxvY2sgYm9vbCBjb21wbGV0aW9uQ2FsbGVkID0gZmFsc2U7CisgICAgW3dl
YlZpZXcgX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQg
Y29tcGxldGlvbkhhbmRsZXI6XigpIHsKKyAgICAgICAgY29tcGxldGlvbkNhbGxlZCA9IHRydWU7
CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjb21wbGV0aW9uQ2FsbGVk
KTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tE
aXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNw
bGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCk7CisgICAgRVhQ
RUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNh
cHR1cmVTdXJmYWNlU2NyZWVuKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNh
cHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworCisgICAg
Y29tcGxldGlvbkNhbGxlZCA9IGZhbHNlOworICAgIFt3ZWJWaWV3IF9zZXREaXNwbGF5Q2FwdHVy
ZVN0YXRlOldLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSBjb21wbGV0aW9uSGFuZGxlcjpeKCkg
eworICAgICAgICBjb21wbGV0aW9uQ2FsbGVkID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmNvbXBsZXRpb25DYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKFt3
ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3Rp
dmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBX
S0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9k
aXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7
CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdL
RGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuKTsKKworICAgIC8vIFN0b3AgYWxsIGNhcHR1cmUK
KyAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07Cisg
ICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxh
eUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUpOworICAgIEVYUEVD
VF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJl
U3RhdGVOb25lKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJm
YWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VOb25lKTsKIAogICAgIC8vIENoZWNrICJB
bGxvdyBXaW5kb3ciCi0gICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
InN0b3AoKSJdOwogICAgIFtkZWxlZ2F0ZSByZXNldFdhc1Byb21wdGVkXTsKICAgICBbd2ViVmll
dyBfc2V0SW5kZXhPZkdldERpc3BsYXlNZWRpYURldmljZVNlbGVjdGVkRm9yVGVzdGluZzpAMF07
CiAgICAgW2RlbGVnYXRlIHNldEdldERpc3BsYXlNZWRpYURlY2lzaW9uOldLRGlzcGxheUNhcHR1
cmVQZXJtaXNzaW9uRGVjaXNpb25XaW5kb3dQcm9tcHRdOwpAQCAtMTA2LDkgKzIwNSwzOSBAQCBU
RVNUKFdlYktpdDIsIEdldERpc3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVlblByb21wdCkKICAgICBF
WFBFQ1RfVFJVRShbd2ViVmlldyBoYXZlU3RyZWFtOllFU10pOwogICAgIGxhYmVsID0gW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0cmVhbS5nZXRWaWRlb1RyYWNrcygp
WzBdLmxhYmVsIl07CiAgICAgRVhQRUNUX1dLX1NUUkVRKGxhYmVsLCBAIk1vY2sgd2luZG93IGRl
dmljZSAxIik7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2FwdHVy
ZVN0YXRlOldLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZV0pOworICAgIEVYUEVDVF9UUlVFKFtv
YnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczpXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZVdpbmRvd10pOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0
YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFtv
YnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3Rp
dmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9
PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvdyk7CisgICAgRVhQRUNUX1RSVUUoW29ic2Vy
dmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2lu
ZG93KTsKKworICAgIC8vIE11dGUgYW5kIHVubXV0ZQorICAgIGNvbXBsZXRpb25DYWxsZWQgPSBm
YWxzZTsKKyAgICBbd2ViVmlldyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpXS0Rpc3BsYXlDYXB0
dXJlU3RhdGVNdXRlZCBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBjb21wbGV0aW9u
Q2FsbGVkID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNv
bXBsZXRpb25DYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVy
ZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCk7CisgICAgRVhQRUNUX1RSVUUo
W29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11
dGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10g
PT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOworICAgIEVYUEVDVF9UUlVFKFtvYnNl
cnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdp
bmRvdyk7CisKKyAgICBjb21wbGV0aW9uQ2FsbGVkID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX3Nl
dERpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlIGNvbXBsZXRp
b25IYW5kbGVyOl4oKSB7CisgICAgICAgIGNvbXBsZXRpb25DYWxsZWQgPSB0cnVlOworICAgIH1d
OworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY29tcGxldGlvbkNhbGxlZCk7CisgICAg
RVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNh
cHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0
dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RS
VUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVT
dXJmYWNlV2luZG93KTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVT
dXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOwogCiAgICAgW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0b3AoKSJdOwogICAgIFt3ZWJWaWV3
IF9zZXRJbmRleE9mR2V0RGlzcGxheU1lZGlhRGV2aWNlU2VsZWN0ZWRGb3JUZXN0aW5nOm5pbF07
CisKKyAgICBbd2ViVmlldyByZW1vdmVPYnNlcnZlcjpvYnNlcnZlci5nZXQoKSBmb3JLZXlQYXRo
OkAiX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMiXTsKKyAgICBbd2ViVmlldyByZW1vdmVPYnNlcnZl
cjpvYnNlcnZlci5nZXQoKSBmb3JLZXlQYXRoOkAiX2Rpc3BsYXlDYXB0dXJlU3RhdGUiXTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNkNWRlZTEwM2Y2NWU2ZTVh
MjFkNDMyNmU0NjI5YzFlNWE4NmQ3NjkuLmM1MzIyZmE5MmZmNDI2NTU1YjViNTdkODVlM2U1ODg5
MjdjZTNmNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wMS0yOCAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIEV4cG9zZSBzY3Jl
ZW4gYW5kIHdpbmRvdyBjYXB0dXJlIHN0YXRlIHRvIFdLV2ViVmlldworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1ODM4CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84ODIwNzkyND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRt
bDogVXBkYXRlIGZvciBuZXcgYW5kIHJlbmFtZWQgc3RhdGVzLgorICAgICAgICAqIGZhc3QvbWVk
aWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAg
ICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLmh0bWw6IERp
dHRvLgorCiAyMDIyLTAxLTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbQ1NTIENvbnRhaW5lciBRdWVyaWVzXSBjb250YWluZXItdHlwZSBwcm9wZXJ0eSBz
aG91bGQgZXN0YWJsaXNoIGNvbnRhaW5tZW50IGZvciAnc2l6ZScgYW5kICdpbmxpbmUtc2l6ZScg
dmFsdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC1kaXNw
bGF5LW1lZGlhLW11dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC1k
aXNwbGF5LW1lZGlhLW11dGVkLmh0bWwKaW5kZXggYTAxYjI5ZWY4OWQzNDhhYjU4ZDZkNjM3Mzcx
YWY1MmNlM2U4OWZlMi4uYzg1ZGQ5NzQyZjEzNWZmNDk0MmU1OTZmM2M4N2IxYjA5NTViYTVjMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRp
YS1tdXRlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3Bs
YXktbWVkaWEtbXV0ZWQuaHRtbApAQCAtNDEsNyArNDEsNyBAQAogICAgICAgICAgICAgbGV0IHN0
cmVhbSA9IGF3YWl0IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKICAgICAg
ICAgICAgIGxldCBwYWdlTWVkaWFTdGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpOwog
Ci0gICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011
dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBI
YXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyk7CisgICAgICAgICAgICBhc3NlcnRfZmFsc2Uo
cGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpLCAn
cGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScp
OwogICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNN
dXRlZFZpZGVvQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhh
c011dGVkVmlkZW9DYXB0dXJlRGV2aWNlJyk7CiAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFn
ZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlJyksICdwYWdl
IHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UnKTsKIApA
QCAtNTgsMTQgKzU4LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdW5yZWFj
aGVkKGBQYWdlIHN0YXRlIGRpZCBub3QgY2hhbmdlIGZyb20gJHtwYWdlTWVkaWFTdGF0ZX1gKTsK
IAogICAgICAgICAgICAgICAgICAgICBwYWdlTWVkaWFTdGF0ZSA9IGludGVybmFscy5wYWdlTWVk
aWFTdGF0ZSgpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3Rh
dGUuaW5jbHVkZXMoJ0hhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUg
ZG9lcyBub3QgaW5jbHVkZSBIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyk7Ci0gICAgICAg
ICAgICAgICAgICAgIGFzc2VydF90cnVlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNBY3Rp
dmVEaXNwbGF5Q2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNsdWRlcyBIYXNBY3RpdmVE
aXNwbGF5Q2FwdHVyZURldmljZScpOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2Uo
cGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpLCAn
cGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScp
OworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRl
cygnSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNsdWRlcyBI
YXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlJyk7CiAgICAgICAgICAgICAgICAgICAgIHJlc29s
dmUoKQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIHBhZ2VNZWRpYVN0YXRl
ID0gaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X3Ry
dWUocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2Un
KSwgJ3BhZ2Ugc3RhdGUgaW5jbHVkZXMgSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpOwot
ICAgICAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFz
QWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVk
ZSBIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZScpOworICAgICAgICAgICAgICAgIGFzc2Vy
dF90cnVlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZp
Y2UnKSwgJ3BhZ2Ugc3RhdGUgaW5jbHVkZXMgSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyk7
CisgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdI
YXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1
ZGUgSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZScpOwogICAgICAgICAgICAgICAgIGludGVy
bmFscy5zZXRNZWRpYVN0cmVhbVRyYWNrTXV0ZWQodHJhY2ssIGZhbHNlKQogICAgICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVh
bS1wYWdlLW11dGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
bWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDkzZTdkZWM3NTk0MmJk
ODMwZTVkZTE3ZTE0MmJlMGQzMmEyOTFhMmUuLjliOGFiYjE5YTdlZDRkZDFmMjUzY2Q1OGQ4NDE0
MmMwNGNhMzRhZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVk
aWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0CkBAIC0xNiw4
ICsxNiw4IEBAIEVWRU5UOiBtdXRlCiBQQVNTIHNjcmVlbkNhcHR1cmVUcmFjay5tdXRlZCBpcyB0
cnVlCiBQQVNTIG1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgY2Ft
ZXJhQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZhbHNlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFn
ZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNh
bWUgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMo
SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQorUEFTUyB3aW5kb3cu
aW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRTY3JlZW5DYXB0dXJl
RGV2aWNlKSBiZWNhbWUgdHJ1ZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRl
KCkuaW5jbHVkZXMoSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQ
QVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVB
dWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFn
ZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1l
IGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhI
YXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCkBAIC0yOSw4ICsyOSw4IEBA
IEVWRU5UOiBtdXRlCiBQQVNTIHNjcmVlbkNhcHR1cmVUcmFjay5tdXRlZCBpcyB0cnVlCiBQQVNT
IG1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQgaXMgdHJ1ZQogUEFTUyBjYW1lcmFDYXB0dXJl
VHJhY2subXV0ZWQgaXMgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRl
KCkuaW5jbHVkZXMoSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKLVBB
U1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZURp
c3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKK1BBU1Mgd2luZG93LmludGVybmFscy5w
YWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSkgYmVj
YW1lIHRydWUKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVz
KEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cu
aW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRBdWRpb0NhcHR1cmVE
ZXZpY2UpIGJlY2FtZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUo
KS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFT
UyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRWaWRl
b0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCkBAIC00Miw4ICs0Miw4IEBAIEVWRU5UOiB1bm11
dGUKIFBBU1Mgc2NyZWVuQ2FwdHVyZVRyYWNrLm11dGVkIGlzIHRydWUKIFBBU1MgbWljcm9waG9u
ZUNhcHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQogUEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0
ZWQgaXMgZmFsc2UKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1
ZGVzKEhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCi1QQVNTIHdpbmRv
dy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVEaXNwbGF5Q2Fw
dHVyZURldmljZSkgYmVjYW1lIGZhbHNlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlh
U3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVl
CitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3Rp
dmVTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFs
cy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkg
YmVjYW1lIHRydWUKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1
ZGVzKEhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93
LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVy
ZURldmljZSkgYmVjYW1lIHRydWUKQEAgLTU0LDggKzU0LDggQEAgRVZFTlQ6IHVubXV0ZQogUEFT
UyBzY3JlZW5DYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgbWljcm9waG9uZUNhcHR1
cmVUcmFjay5tdXRlZCBpcyBmYWxzZQogUEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQgaXMg
ZmFsc2UKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhh
c0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQotUEFTUyB3aW5kb3cuaW50
ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURl
dmljZSkgYmVjYW1lIGZhbHNlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUo
KS5pbmNsdWRlcyhIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQorUEFT
UyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRTY3Jl
ZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdl
TWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1l
IHRydWUKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhh
c011dGVkQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVy
bmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmlj
ZSkgYmVjYW1lIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
bWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbAppbmRleCA2ZDIxOWI3NzdjYjY5NzJkYTc0
ODhmYzgwYzE5ZmM4NGYxZmUzZDY5Li5jODExNDJjOWJlNmRlMDM4OGE2YWNiNmZmMmQ3OGZkZGZj
NTQzNGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0
cmVhbS1wYWdlLW11dGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9t
ZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC5odG1sCkBAIC0xMTQsNyArMTE0LDcgQEAKICAgICAgICAg
ICAgIHNob3VsZEJlRmFsc2UoIm1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQiKTsKICAgICAg
ICAgICAgIHNob3VsZEJlRmFsc2UoImNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCIpOwogCi0gICAg
ICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmlj
ZSIsICJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIpOworICAgICAgICAgICAgYXdhaXQg
Y2hlY2tQYWdlU3RhdGUoIkhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVT
Y3JlZW5DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgi
SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNl
Iik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlQXVkaW9DYXB0
dXJlRGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgIH0KQEAg
LTEzMyw3ICsxMzMsNyBAQAogICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJtaWNyb3Bob25lQ2Fw
dHVyZVRyYWNrLm11dGVkIik7CiAgICAgICAgICAgICBzaG91bGRCZVRydWUoImNhbWVyYUNhcHR1
cmVUcmFjay5tdXRlZCIpOwogCi0gICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFz
TXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmlj
ZSIpOworICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkU2NyZWVuQ2Fw
dHVyZURldmljZSIsICJIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAg
ICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFz
QWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VT
dGF0ZSgiSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlVmlkZW9DYXB0dXJl
RGV2aWNlIik7CiAgICAgICAgIH0KQEAgLTE1Miw3ICsxNTIsNyBAQAogICAgICAgICAgICAgc2hv
dWxkQmVGYWxzZSgibWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAg
c2hvdWxkQmVGYWxzZSgiY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIik7CiAKLSAgICAgICAgICAg
IGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIiwgIkhh
c0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlIik7CisgICAgICAgICAgICBhd2FpdCBjaGVja1Bh
Z2VTdGF0ZSgiSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZVNjcmVlbkNh
cHR1cmVEZXZpY2UiKTsKICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3Rp
dmVBdWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAg
ICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZp
Y2UiLCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgfQpAQCAtMTcwLDcg
KzE3MCw3IEBACiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJtaWNyb3Bob25lQ2FwdHVyZVRy
YWNrLm11dGVkIik7CiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjYW1lcmFDYXB0dXJlVHJh
Y2subXV0ZWQiKTsKIAotICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2
ZURpc3BsYXlDYXB0dXJlRGV2aWNlIiwgIkhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiKTsK
KyAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVTY3JlZW5DYXB0dXJl
RGV2aWNlIiwgIkhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdh
aXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRl
ZEF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUo
Ikhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmlj
ZSIpOwogICAgICAgICB9Cg==
</data>
<flag name="commit-queue"
          id="476854"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450439</attachid>
            <date>2022-01-31 13:08:40 -0800</date>
            <delta_ts>2022-01-31 14:15:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235838-20220131130839.patch</filename>
            <type>text/plain</type>
            <size>86530</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjM2M4MzlhNWEzY2M1
MTYwNzUzZDM0YTdiMjI4M2Y4NWM2NjFhZS4uMzI0NTlhMmZlMzk2N2FlNTRhOTkwZjBjZTEwMmM4
ODAwOTVjNDQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTAxLTI4ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gRXhw
b3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8gV0tXZWJWaWV3CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4MzgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVu
IEFQSSB0ZXN0LgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9NZWRpYURldmljZUluZm9LaW5kKTogQWRkIFN5c3Rl
bUF1ZGlvLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNvdXJjZUNhcHR1cmVTdGF0ZSk6IERpZmZlcmVudGlh
dGUgc3RhdGUgb2Ygd2luZG93IGFuZCBzY3JlZW4gY2FwdHVyZSB0cmFja3MuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVUb1BhZ2VNdXRlZFN0YXRlKTogTmV3Lgor
ICAgICAgICAoV2ViQ29yZTo6dHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKTog
CisgICAgICAgIChXZWJDb3JlOjp0cmFja01hdGNoZXNLaW5kKTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKworICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbURpZEZhaWwpOiBJbmNsdWRlIG5ldyBzb3Vy
Y2UgdHlwZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlh
RW5kcG9pbnQ6OmFkZFRyYWNrKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENN
ZWRpYUVuZHBvaW50OjpjcmVhdGVTb3VyY2VBbmRSVENUcmFjayk6CisKKyAgICAgICAgKiBwYWdl
L01lZGlhUHJvZHVjZXIuaDoKKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlclBy
aXZhdGU6OnNlbGVjdFRyYWNrcyk6IEluY2x1ZGUgbmV3IHRyYWNrIHR5cGVzLgorCisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmNyZWF0ZSk6IERpdHRvLgor
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdl
ckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29h
OjpjYXB0dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRCk6IERpdHRvLgorCisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlLm1tOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3Bw
OgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsczo6cGFnZU1lZGlhU3RhdGUpOiBVcGRhdGUgd2l0aCBuZXcgYW5kIGNoYW5nZWQgdHlw
ZSBuYW1lcy4KKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6c3RvcE9ic2VydmluZ1JlYWx0
aW1lTWVkaWFTb3VyY2UpOiBJbmNsdWRlIG5ldyB0cmFjayB0eXBlcy4KKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2spOiBEaXR0by4KKwogMjAyMi0w
MS0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBD
b250YWluZXIgUXVlcmllc10gY29udGFpbmVyLXR5cGUgcHJvcGVydHkgc2hvdWxkIGVzdGFibGlz
aCBjb250YWlubWVudCBmb3IgJ3NpemUnIGFuZCAnaW5saW5lLXNpemUnIHZhbHVlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA5NWZjNGU0YjUyZjBhNGFhYzczNjY1NWMwNjIzMDQzYmVjYzI2NWYxLi44ZGFjYmE5ZWM4
NTk3MGEyNGQ1N2ZhNGQ2OWZhZjcxNjE3NmMyOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBA
CisyMDIyLTAxLTI4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gRXhwb3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzU4MzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcDoKKyAgICAgICAgKFdLUGFnZUdldE1lZGlhU3RhdGUpOiBSZW5hbWUgKkRpc3BsYXlDYXB0
dXJlRGV2aWNlIHRvICpTY3JlZW5DYXB0dXJlRGV2aWNlLiBBZGQgZW51bXMKKyAgICAgICAgZm9y
IHdpbmRvdyBjYXB0dXJlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZh
dGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oOiBEcml2ZSBi
eTogZml4IHR5cG8gaW4gaGVhZGVyIGRvYy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0TWljcm9waG9uZUNhcHR1
cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OkF1ZGlvIAorICAgICAgICB3YXMgcmVuYW1lZCB0byBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6TWljcm9waG9uZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IHNldENhbWVyYUNhcHR1
cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OlZpZGVvIAorICAgICAgICB3YXMgcmVuYW1lZCB0byBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6Q2FtZXJhLgorICAgICAgICAoLVtXS1dlYlZpZXcgX3N0b3BNZWRpYUNhcHR1cmVd
KTogc3RvcE1lZGlhQ2FwdHVyZSB0YWtlcyBhbiBvcHRpb25TZXQuCisgICAgICAgICgtW1dLV2Vi
VmlldyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10pOiBFeHBvc2UgdGhlIHR5cGUocykgb2YgZGlz
cGxheXMgc3VyZmFjZXMKKyAgICAgICAgYmVpbmcgY2FwdHVyZWQuCisgICAgICAgICgtW1dLV2Vi
VmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0pOiBFeHBvc2UgdGhlIGRpc3BsYXkgY2FwdHVyZSBz
dGF0ZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZV0pOiBF
eHBvc2UgdGhlIHN5c3RlbSBhdWRpbyBjYXB0dXJlIHN0YXRlLgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6Y29tcGxldGlvbkhhbmRsZXI6XSk6IENoYW5nZSB0
aGUgZGlzcGxheQorICAgICAgICBjYXB0dXJlIHN0YXRlLgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldFN5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBDaGFuZ2Ug
dGhlIHN5c3RlbSAKKyAgICAgICAgYXVkaW8gY2FwdHVyZSBzdGF0ZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdNZWRp
YUNhcHR1cmVTdGF0ZURpZENoYW5nZSk6IE1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2sg
LT4gCisgICAgICAgIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzay4KKyAgICAg
ICAgKHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUpOiBVcGRhdGUgZm9yIE1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kIGNoYW5nZXMuCisgICAgICAgICh3ZWJraXRfd2ViX3Zp
ZXdfc2V0X21pY3JvcGhvbmVfY2FwdHVyZV9zdGF0ZSk6IERpdHRvLgorICAgICAgICAod2Via2l0
X3dlYl92aWV3X3NldF9jYW1lcmFfY2FwdHVyZV9zdGF0ZSk6IE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpWaWRlbyAtPiAKKyAgICAgICAgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OkNhbWVyYQorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldF9kaXNwbGF5X2NhcHR1cmVf
c3RhdGUpOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfZGlzcGxheV9jYXB0
dXJlX3N0YXRlKTogTWVkaWFTdGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UgLT4K
KyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZS4gTWVkaWFT
dGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSAtPgorICAgICAgICBNZWRpYVN0YXRl
OjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UKKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VD
bGllbnRJbXBsQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6
OmRpc3BsYXlDYXB0dXJlV2lsbENoYW5nZSk6IEtWTyBzdXBwb3J0LgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSk6
IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0ZW1BdWRp
b0NhcHR1cmVXaWxsQ2hhbmdlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJ
bXBsQ29jb2E6OmRpc3BsYXlDYXB0dXJlQ2hhbmdlZCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzQ2hhbmdlZCk6IERp
dHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0ZW1BdWRpb0Nh
cHR1cmVDaGFuZ2VkKTogRGl0dG8uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1l
ZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNh
cHR1cmVNYW5hZ2VyUHJveHk6OlNvdXJjZVByb3h5OjpTb3VyY2VQcm94eSk6IFN1cHBvcnQgbmV3
IHR5cGVzLgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpT
b3VyY2VQcm94eTo6flNvdXJjZVByb3h5KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlVzZXJN
ZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OmNyZWF0ZU1lZGlhU291cmNlRm9yQ2FwdHVyZURldmlj
ZVdpdGhDb25zdHJhaW50cyk6IERpdHRvLgorCisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1cmVXaWxsQ2hh
bmdlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1cmVTdXJmYWNl
c1dpbGxDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpzeXN0ZW1BdWRpb0Nh
cHR1cmVXaWxsQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNh
cHR1cmVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1
cmVTdXJmYWNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpzeXN0ZW1B
dWRpb0NhcHR1cmVDaGFuZ2VkKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkpOgorICAgICAgICBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
QXVkaW9WaWRlbyAtPiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kLgor
ICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6
c3RvcENhcHR1cmUpOiBEaXR0by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFD
YXB0dXJlU3RhdGUpOiBEZWFsIHdpdGggbmV3IHR5cGVzLgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OmNoZWNrRG9jdW1lbnRzQ2FwdHVyZVN0YXRlQ29uc2lzdGVuY3kpOgor
CiAyMDIyLTAxLTI2ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtNb2RlbF0gTW91c2UgaW50ZXJhY3Rpb24gZm9yIDxtb2RlbD4gaXMgZmxpcHBlZCBpbiB0
aGUgeS1heGlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhRGV2aWNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhRGV2aWNlcy5jcHAKaW5kZXggMWFlNTBlOWQ0YmViMDk2ZTBiMDIxNjk1NGRmZjQ2NjZjNTIy
M2E1YS4uMDA0YmIzYWI2YjVmODBlYzNkNTUwMGI3ZmE5Njc0Nzc2M2E0ODU0NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcApA
QCAtMjgxLDYgKzI4MSw3IEBAIHN0YXRpYyBpbmxpbmUgTWVkaWFEZXZpY2VJbmZvOjpLaW5kIHRv
TWVkaWFEZXZpY2VJbmZvS2luZChDYXB0dXJlRGV2aWNlOjpEZXZpY2VUCiAgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgICAgIHJldHVybiBNZWRpYURldmljZUluZm86OktpbmQ6
OlZpZGVvaW5wdXQ7CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1B
dWRpbzoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDE2MDkx
OTZkMTI0NDYzYjBjMzZiZDU3OGEyNTAxMGE1MzlkNTU0YTYuLmU5NjNkYWRmOWYxZDFlMDhlNGE4
NTcyZjY2N2RlNzAxOWNmMjIyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDM2LDE0ICs0MzYsMjIg
QEAgTWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncyBzb3VyY2VDYXB0dXJlU3RhdGUoUmVhbHRp
bWVNZWRpYVNvdXJjZSYgc291cmNlKQogICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlOjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2U7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuOgorICAgICAgICBpZiAo
c291cmNlLm11dGVkKCkpCisgICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhU3Rh
dGU6Okhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZTsKKyAgICAgICAgaWYgKHNvdXJjZS5pbnRl
cnJ1cHRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpI
YXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGlmIChzb3VyY2UuaXNQ
cm9kdWNpbmdEYXRhKCkpCisgICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhU3Rh
dGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgogICAgICAgICBpZiAoc291cmNl
Lm11dGVkKCkpCi0gICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2U7CisgICAgICAgICAgICByZXR1cm4gTWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2FwdHVyZURldmljZTsKICAgICAgICAgaWYg
KHNvdXJjZS5pbnRlcnJ1cHRlZCgpKQotICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlOworICAgICAgICAg
ICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFdpbmRvd0Nh
cHR1cmVEZXZpY2U7CiAgICAgICAgIGlmIChzb3VyY2UuaXNQcm9kdWNpbmdEYXRhKCkpCi0gICAg
ICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlD
YXB0dXJlRGV2aWNlOworICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlOwogICAgICAgICBicmVhazsKKyAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OlVua25vd246CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNTIx
LDYgKzUyOSw3IEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0ZWRTdGF0
ZSgpCiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgICAg
IG1fcHJpdmF0ZS0+c2V0TXV0ZWQocGFnZS0+bXV0ZWRTdGF0ZSgpLmNvbnRhaW5zKE1lZGlhUHJv
ZHVjZXJNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCkpOwogICAgICAgICBicmVhazsK
KyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNh
c2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwpAQCAtNTI4LDE1ICs1MzcsMjAgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp1cGRhdGVUb1Bh
Z2VNdXRlZFN0YXRlKCkKICAgICB9CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCB0cmFja01hdGNo
ZXNLaW5kKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlwZSwgTWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQga2luZCkKK3N0YXRpYyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCB0
cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVyZUtpbmQoUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZSB0eXBlKQogewotICAgIHN3aXRjaCAoa2luZCkgewotICAgIGNhc2UgTWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvOgotICAgICAgICByZXR1cm4gdHlwZSA9PSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzsKLSAgICBjYXNlIE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpBdWRpb1ZpZGVvOgotICAgICAgICByZXR1cm4gdHlwZSAhPSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpOb25lOwotICAgIGNhc2UgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OlZpZGVvOgotICAgICAgICByZXR1cm4gdHlwZSA9PSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbzsKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6Ok1pY3JvcGhvbmU7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTeXN0ZW1BdWRpbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpTeXN0ZW1BdWRpbzsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OlZpZGVvOgorICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNh
bWVyYTsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICBj
YXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKKyAgICAgICAgcmV0dXJuIE1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5OworICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CkBAIC01NDUsNyArNTU5LDkgQEAgdm9pZCBNZWRp
YVN0cmVhbVRyYWNrOjplbmRDYXB0dXJlKERvY3VtZW50JiBkb2N1bWVudCwgTWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUsKIHsKICAgICBib29sIGRpZEVuZENhcHR1cmUgPSBmYWxzZTsKICAgICBm
b3IgKGF1dG8qIGNhcHR1cmVUcmFjayA6IGFsbENhcHR1cmVUcmFja3MoKSkgewotICAgICAgICBp
ZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpICE9ICZkb2N1bWVudCB8fCAhdHJhY2tNYXRjaGVz
S2luZChjYXB0dXJlVHJhY2stPnByaXZhdGVUcmFjaygpLnR5cGUoKSwga2luZCkpCisgICAgICAg
IGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50KQorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIGlmIChraW5kICE9IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kOjpFdmVyeUtpbmQgJiYga2luZCAhPSB0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVy
ZUtpbmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2soKS50eXBlKCkpKQogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIGNhcHR1cmVUcmFjay0+c3RvcFRyYWNrKE1lZGlhU3RyZWFtVHJh
Y2s6OlN0b3BNb2RlOjpQb3N0RXZlbnQpOwogICAgICAgICBkaWRFbmRDYXB0dXJlID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuY3BwCmluZGV4IDUyN2ZiYjRhMjlhZDdlMTJlOTMxZGQzYTkwYzFmZjFhYjQyMTNk
YTIuLmUxNTdhYjlkNzY5MWQ1YTQ2MTZhOTJhYmVlZjU3N2I1Y2IyNDViZDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
LmNwcApAQCAtMjcxLDYgKzI3MSwxNSBAQCB2b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3Ry
ZWFtRGlkRmFpbChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCiAgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKICAgICAgICAgdHlwZURlc2NyaXB0aW9uID0g
InZpZGVvIjsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTY3JlZW46CisgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJzY3JlZW4iOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKKyAg
ICAgICAgdHlwZURlc2NyaXB0aW9uID0gIndpbmRvdyI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CisgICAgICAgIHR5cGVE
ZXNjcmlwdGlvbiA9ICJzeXN0ZW0gYXVkaW8iOworICAgICAgICBicmVhazsKICAgICBjYXNlIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9
ICJ1bmtub3duIjsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01l
ZGlhRW5kcG9pbnQuY3BwCmluZGV4IGJmYzI3MDgwMzA4ZWZmMmU0YmMyNDA0MzE2M2YwZjYyNThh
NGM0OTQuLjVjM2MyMmM3NTY2ZTIxOWYxZTAyNGUzNWQ4ZjJhZWE4YjMwMjE1NmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yMDQsNiArMjA0LDkg
QEAgYm9vbCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjphZGRUcmFjayhMaWJXZWJSVENSdHBTZW5k
ZXJCYWNrZW5kJiBzZW5kZXIsIE1lZGlhU3QKICAgICAgICAgc291cmNlID0gV1RGTW92ZSh2aWRl
b1NvdXJjZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OldpbmRvdzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlv
OgogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQxNiwxMiArNDE5
LDE1IEBAIHN0ZDo6cGFpcjxMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpTb3VyY2UsIHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6Ok1lZGlhU3RyCiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpOb25lOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoK
ICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOiB7CiAgICAgICAgIGF1
dG8gYXVkaW9Tb3VyY2UgPSBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OmNyZWF0ZSh0cmFj
ay5wcml2YXRlVHJhY2soKSk7CiAgICAgICAgIHJ0Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlvbkZh
Y3RvcnktPkNyZWF0ZUF1ZGlvVHJhY2sodHJhY2suaWQoKS51dGY4KCkuZGF0YSgpLCBhdWRpb1Nv
dXJjZS5wdHIoKSk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVkaW9Tb3VyY2UpOwogICAg
ICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpT
Y3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICBhdXRvIHZp
ZGVvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpjcmVhdGUodHJhY2sucHJp
dmF0ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0b3J5
LT5DcmVhdGVWaWRlb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgdmlkZW9Tb3VyY2Uu
cHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAppbmRleCA0ZTE5ZThjZDcxYTY1
MjlmOThhZjY0ODJlNmNhNWEwNTJiMWY3MzkzLi5kNjhlNzUzOTgyODBhMTY2MDU3YjYyY2VkNzhh
MjZhMzYyMjNiMzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVj
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaApAQCAtNTAsMTYg
KzUwLDI0IEBAIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck1lZGlhU3RhdGUgOiB1aW50MzJfdCB7
CiAgICAgSGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDE1LAogICAgIEhh
c0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNlID0gMSA8PCAxNiwKICAgICBIYXNVc2VySW50
ZXJhY3RlZFdpdGhNZWRpYUVsZW1lbnQgPSAxIDw8IDE3LAotICAgIEhhc0FjdGl2ZURpc3BsYXlD
YXB0dXJlRGV2aWNlID0gMSA8PCAxOCwKLSAgICBIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNl
ID0gMSA8PCAxOSwKLSAgICBIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8
PCAyMCwKKyAgICBIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlID0gMSA8PCAxOCwKKyAgICBI
YXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDE5LAorICAgIEhhc0ludGVycnVwdGVk
U2NyZWVuQ2FwdHVyZURldmljZSA9IDEgPDwgMjAsCisgICAgSGFzQWN0aXZlV2luZG93Q2FwdHVy
ZURldmljZSA9IDEgPDwgMjEsCisgICAgSGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlID0gMSA8
PCAyMiwKKyAgICBIYXNJbnRlcnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8IDIzLAor
ICAgIEhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSA9IDEgPDwgMjQsCisgICAgSGFz
TXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDI1LAorICAgIEhhc0ludGVycnVw
dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlID0gMSA8PCAyNiwKIH07CiB1c2luZyBNZWRpYVBy
b2R1Y2VyTWVkaWFTdGF0ZUZsYWdzID0gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
PjsKIAogZW51bSBjbGFzcyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCA6IHVpbnQ4X3Qg
ewotICAgIEF1ZGlvLAotICAgIFZpZGVvLAotICAgIEF1ZGlvVmlkZW8KKyAgICBNaWNyb3Bob25l
LAorICAgIENhbWVyYSwKKyAgICBEaXNwbGF5LAorICAgIFN5c3RlbUF1ZGlvLAorICAgIEV2ZXJ5
S2luZCwKIH07CiAKIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck11dGVkU3RhdGUgOiB1aW50OF90
IHsKQEAgLTY3LDYgKzc1LDggQEAgZW51bSBjbGFzcyBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZSA6
IHVpbnQ4X3QgewogICAgIEF1ZGlvQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDEsCiAgICAgVmlkZW9D
YXB0dXJlSXNNdXRlZCA9IDEgPDwgMiwKICAgICBTY3JlZW5DYXB0dXJlSXNNdXRlZCA9IDEgPDwg
MywKKyAgICBXaW5kb3dDYXB0dXJlSXNNdXRlZCA9IDEgPDwgNCwKKyAgICBTeXN0ZW1BdWRpb0Nh
cHR1cmVJc011dGVkID0gMSA8PCA0LAogfTsKIHVzaW5nIE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRl
RmxhZ3MgPSBPcHRpb25TZXQ8TWVkaWFQcm9kdWNlck11dGVkU3RhdGU+OwogCkBAIC03OCwxOSAr
ODgsNDYgQEAgcHVibGljOgogICAgIHVzaW5nIE11dGVkU3RhdGVGbGFncyA9IE1lZGlhUHJvZHVj
ZXJNdXRlZFN0YXRlRmxhZ3M7CiAKICAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFn
cyBJc05vdFBsYXlpbmcgPSB7IH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxh
Z3MgQXVkaW9DYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJl
RGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0
ZTo6SGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIE1lZGlhU3RhdGVGbGFncyBNaWNyb3Bob25lQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6
Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRBdWRpb0Nh
cHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNl
IH07CiAgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgVmlkZW9DYXB0dXJlTWFz
ayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRl
OjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRW
aWRlb0NhcHR1cmVEZXZpY2UgfTsKLSAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFn
cyBEaXNwbGF5Q2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0
dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlLCBNZWRp
YVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIH07Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgQWN0aXZlQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3Rh
dGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlk
ZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmlj
ZSB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE11dGVkQ2FwdHVyZU1h
c2sgPSB7IE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRl
OjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5
Q2FwdHVyZURldmljZSB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE1l
ZGlhQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmlj
ZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhh
c0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVWaWRl
b0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlLCBN
ZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6
SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxh
eUNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkRGlzcGxheUNhcHR1cmVE
ZXZpY2UgfTsKKworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIFNjcmVlbkNh
cHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLCBN
ZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0lu
dGVycnVwdGVkU2NyZWVuQ2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVk
aWFTdGF0ZUZsYWdzIFdpbmRvd0NhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVX
aW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZp
Y2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkV2luZG93Q2FwdHVyZURldmljZSB9OworICAg
IHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIEFjdGl2ZURpc3BsYXlDYXB0dXJlTWFz
ayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0
ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIg
TWVkaWFTdGF0ZUZsYWdzIE11dGVkRGlzcGxheUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpI
YXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2Fw
dHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIERpc3Bs
YXlDYXB0dXJlTWFzayA9IHsgQWN0aXZlRGlzcGxheUNhcHR1cmVNYXNrIHwgTXV0ZWREaXNwbGF5
Q2FwdHVyZU1hc2sgfTsKKworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIFN5
c3RlbUF1ZGlvQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlv
Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZp
Y2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlIH07
CisKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBBY3RpdmVDYXB0dXJlTWFz
ayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRl
OjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVl
bkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2Us
IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSB9OworICAgIHN0
YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE11dGVkQ2FwdHVyZU1hc2sgPSB7IE1lZGlh
U3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFZp
ZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNl
LCBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhh
c011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlIH07CisKKyAgICBzdGF0aWMgY29uc3RleHBy
IE1lZGlhU3RhdGVGbGFncyBNZWRpYUNhcHR1cmVNYXNrID0geworICAgICAgICBNZWRpYVN0YXRl
OjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc011
dGVkQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRl
ZEF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9D
YXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURl
dmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZp
Y2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UsCisg
ICAgICAgIE1lZGlhU3RhdGU6Okhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwKKyAgICAgICAg
TWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBN
ZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0
YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhh
c0ludGVycnVwdGVkV2luZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFz
QWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNN
dXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50
ZXJydXB0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UKKyAgICB9OworICAgIHN0YXRpYyBjb25z
dGV4cHIgTWVkaWFTdGF0ZUZsYWdzIElzQ2FwdHVyaW5nQXVkaW9NYXNrID0geyBNaWNyb3Bob25l
Q2FwdHVyZU1hc2sgfCBTeXN0ZW1BdWRpb0NhcHR1cmVNYXNrIH07CisgICAgc3RhdGljIGNvbnN0
ZXhwciBNZWRpYVN0YXRlRmxhZ3MgSXNDYXB0dXJpbmdWaWRlb01hc2sgPSB7IFZpZGVvQ2FwdHVy
ZU1hc2sgfCBEaXNwbGF5Q2FwdHVyZU1hc2sgfTsKIAogICAgIHN0YXRpYyBib29sIGlzQ2FwdHVy
aW5nKE1lZGlhU3RhdGVGbGFncyBzdGF0ZSkgeyByZXR1cm4gc3RhdGUuY29udGFpbnNBbnkoQWN0
aXZlQ2FwdHVyZU1hc2spIHx8IHN0YXRlLmNvbnRhaW5zQW55KE11dGVkQ2FwdHVyZU1hc2spOyB9
CiAKICAgICB2aXJ0dWFsIE1lZGlhU3RhdGVGbGFncyBtZWRpYVN0YXRlKCkgY29uc3QgPSAwOwog
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0YXRlRmxhZ3MgQXVkaW9BbmRWaWRlb0NhcHR1
cmVJc011dGVkID0geyBNdXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRl
OjpWaWRlb0NhcHR1cmVJc011dGVkIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0YXRl
RmxhZ3MgTWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCA9IHsgTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0
dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6
U2NyZWVuQ2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE11dGVkU3RhdGVG
bGFncyBNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkID0geyBNdXRlZFN0YXRlOjpBdWRpb0NhcHR1
cmVJc011dGVkLCBNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpT
Y3JlZW5DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQsIE11
dGVkU3RhdGU6OlN5c3RlbUF1ZGlvQ2FwdHVyZUlzTXV0ZWQgfTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBwYWdlTXV0ZWRTdGF0ZURpZENoYW5nZSgpID0gMDsKIApAQCAtMTA1LDkgKzE0MiwxMSBAQCBu
YW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ+IHsKICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFs
dWVzPAogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCwKLSAg
ICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvLAotICAg
ICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6VmlkZW8sCi0gICAg
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvCisg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25l
LAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6Q2FtZXJh
LAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxh
eSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlN5c3Rl
bUF1ZGlvLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6
RXZlcnlLaW5kCiAgICAgPjsKIH07CiAKQEAgLTEzMiw5ICsxNzEsMTUgQEAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT4gewogICAg
ICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRBdWRp
b0NhcHR1cmVEZXZpY2UsCiAgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSwKICAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc1VzZXJJbnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCwK
LSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3Bs
YXlDYXB0dXJlRGV2aWNlLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0
ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkRGlzcGxheUNhcHR1cmVEZXZpY2UKKyAg
ICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNh
cHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpI
YXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAg
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJl
RGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0
ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJl
RGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0
ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZQogICAg
ID47CiB9OwogCkBAIC0xNDQsNyArMTg5LDkgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZT4gewogICAgICAgICBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6QXVkaW9Jc011dGVkLAogICAgICAgICBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwKICAgICAgICAgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsCi0gICAg
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRl
ZAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVy
ZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpXaW5k
b3dDYXB0dXJlSXNNdXRlZCwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3Rh
dGU6OlN5c3RlbUF1ZGlvQ2FwdHVyZUlzTXV0ZWQKICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlLmNwcAppbmRleCA5YTFkMDZjODIwYzg4OTk2ODViNzUyMzdkNTY2M2QxMzBlZDY4
NTUzLi4xMTkzMTc3MjJjODkxZjJlMjQyMWNlM2ViNzYwOTJkNjg3ODAxOTM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlLmNwcApAQCAtNDQsNiArNDQsOCBAQCBNZWRpYVJlY29yZGVyUHJpdmF0
ZTo6QXVkaW9WaWRlb1NlbGVjdGVkVHJhY2tzIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpzZWxlY3RU
cmFjawogICAgICAgICBpZiAodHJhY2suZW5kZWQoKSkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgc3dpdGNoICh0cmFjay50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6V2luZG93OgogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZp
ZGVvOiB7CiAgICAgICAgICAgICBhdXRvJiBzZXR0aW5ncyA9IHRyYWNrLnNldHRpbmdzKCk7CiAg
ICAgICAgICAgICBpZiAoIXNlbGVjdGVkVHJhY2tzLnZpZGVvVHJhY2sgJiYgc2V0dGluZ3Muc3Vw
cG9ydHNXaWR0aCgpICYmIHNldHRpbmdzLnN1cHBvcnRzSGVpZ2h0KCkpCkBAIC01MSw2ICs1Myw3
IEBAIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpBdWRpb1ZpZGVvU2VsZWN0ZWRUcmFja3MgTWVkaWFS
ZWNvcmRlclByaXZhdGU6OnNlbGVjdFRyYWNrCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgICAg
ICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICAg
ICAgaWYgKCFzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrKQogICAgICAgICAgICAgICAgIHNlbGVj
dGVkVHJhY2tzLmF1ZGlvVHJhY2sgPSAmdHJhY2s7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2UuaApp
bmRleCBlZDFhMzcxMzU1NjcyNmEwOTIxMDM1NTJmZDg0MjA1MTAyY2RlNDU1Li42Mjk0NWQ5NmUx
NmY3ODIzNjA1OGE0OTg0NWFmYjg0MDM5YjA3NTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5oCkBAIC0zMSw3ICszMSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FwdHVyZURldmljZSB7CiBwdWJsaWM6Ci0g
ICAgZW51bSBjbGFzcyBEZXZpY2VUeXBlIHsgVW5rbm93biwgTWljcm9waG9uZSwgU3BlYWtlciwg
Q2FtZXJhLCBTY3JlZW4sIFdpbmRvdyB9OworICAgIGVudW0gY2xhc3MgRGV2aWNlVHlwZSB7IFVu
a25vd24sIE1pY3JvcGhvbmUsIFNwZWFrZXIsIENhbWVyYSwgU2NyZWVuLCBXaW5kb3csIFN5c3Rl
bUF1ZGlvIH07CiAKICAgICBDYXB0dXJlRGV2aWNlKGNvbnN0IFN0cmluZyYgcGVyc2lzdGVudElk
LCBEZXZpY2VUeXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgZ3Jv
dXBJZCA9IGVtcHR5U3RyaW5nKCksIGJvb2wgaXNFbmFibGVkID0gZmFsc2UsIGJvb2wgaXNEZWZh
dWx0ID0gZmFsc2UsIGJvb2wgaXNNb2NrID0gZmFsc2UpCiAgICAgICAgIDogbV9wZXJzaXN0ZW50
SWQocGVyc2lzdGVudElkKQpAQCAtMTkxLDcgKzE5MSw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVu
dW1UcmFpdHM8V2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZT4gewogICAgICAgICBX
ZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyLAogICAgICAgICBXZWJD
b3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmEsCiAgICAgICAgIFdlYkNvcmU6
OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbiwKLSAgICAgICAgV2ViQ29yZTo6Q2Fw
dHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93CisgICAgICAgIFdlYkNvcmU6OkNhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdywKKyAgICAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmlj
ZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW8KICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5o
CmluZGV4IGM5NTkyMzRmNjU4YTUyNjc0MGJkNzgwZGQ5OWE0NzA0NzljYzE1OGIuLmNhOGNjOWQ1
NmE1ZGYxYWVhMmRhMmZhZmJmMTExZjhlMTIyZWUxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAg
LTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIHBlcnNpc3RlbnRJ
RCgpIGNvbnN0IHsgcmV0dXJuIG1fcGVyc2lzdGVudElEOyB9CiAKLSAgICBlbnVtIGNsYXNzIFR5
cGUgeyBOb25lLCBBdWRpbywgVmlkZW8gfTsKKyAgICBlbnVtIGNsYXNzIFR5cGUgeyBOb25lLCBB
dWRpbywgVmlkZW8sIFNjcmVlbiwgV2luZG93LCBTeXN0ZW1BdWRpbyB9OwogICAgIFR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHdoZW5SZWFk
eShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0cmluZyk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VD
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNw
bGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAppbmRleCAyYzg1MjY2NGRlMWU2OTRiNGZjMThlYzA5
YTBjNzYzYzkxMjU4NmJhLi40ZTg3YjVhZWI1Nzc0MWZiMWM1YmRkMmM5MjVjZTc2YThmNWVhOTRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9E
aXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApAQCAtNzgs
NiArNzgsNyBAQCBDYXB0dXJlU291cmNlT3JFcnJvciBEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29h
OjpjcmVhdGUoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aQogICAgICAgICAgICAgcmV0dXJuIGNy
ZWF0ZShTY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRldmljZSwgY29uc3Ry
YWludHMpLCBkZXZpY2UsIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7CiAjZW5kaWYK
ICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0
ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmU6
CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29h
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2Fw
dHVyZU1hbmFnZXJDb2NvYS5jcHAKaW5kZXggMmFkYzkzNzkxMWE5OWY4NjBkODI4NjZkYTE3MzU3
YzVkMmQ5ZGIxNS4uNTFmZjNiYjc4YzFmODExYzI3YTQyZGIyYzJlMTMxZDI0ZjljNDUyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlD
YXB0dXJlTWFuYWdlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCkBAIC0xMjksNiArMTI5
LDcgQEAgc3RkOjpvcHRpb25hbDxDYXB0dXJlRGV2aWNlPiBEaXNwbGF5Q2FwdHVyZU1hbmFnZXJD
b2NvYTo6Y2FwdHVyZURldmljZVdpdGhQZXJzaXMKICAgICAgICAgcmV0dXJuIHdpbmRvd0NhcHR1
cmVEZXZpY2VXaXRoUGVyc2lzdGVudElEKGlkKTsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2
aWNlVHlwZTo6TWljcm9waG9uZToKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlNwZWFrZXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2UubW0K
aW5kZXggNTUzMDg1MWNkMzlmODQ2NjBlMmIzYWQ5NDE3MWIzODZjMTBkMzVjNS4uMjg3ZTg1OGU1
NDRkM2U5OWM0ZjRhM2FlNGE1YTVmYTg3MjZjOGQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNl
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5D
YXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5tbQpAQCAtNTUsMTAgKzU1LDYgQEAgdHlwZWRlZiBOU19F
TlVNKE5TSW50ZWdlciwgV0tTQ0ZyYW1lU3RhdHVzKSB7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW5ndWFyZGVkLWF2
YWlsYWJpbGl0eS1uZXciCiAKLUBpbnRlcmZhY2UgU0NTdHJlYW0gKFNDU3RyZWFtX0RlcHJlY2F0
ZWQpCi0tICh2b2lkKXN0YXJ0Q2FwdHVyZVdpdGhDRnJhbWVIYW5kbGVyOihTQ1N0cmVhbUJ1ZmZl
ckZyYW1lQXZhaWxhYmxlSGFuZGxlcilmcmFtZUhhbmRsZXIgY29tcGxldGlvbkhhbmRsZXI6KHZv
aWQgKF4pKE5TRXJyb3IgKmVycm9yKSljb21wbGV0aW9uSGFuZGxlcjsKLUBlbmQKLQogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiBAaW50ZXJmYWNlIFdlYkNvcmVTY3JlZW5DYXB0dXJlS2l0SGVs
cGVyIDogTlNPYmplY3Q8U0NTdHJlYW1EZWxlZ2F0ZT4gewogICAgIFdlYWtQdHI8U2NyZWVuQ2Fw
dHVyZUtpdENhcHR1cmVTb3VyY2U+IF9jYWxsYmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5j
cHAKaW5kZXggNWM4MzRlMzRkMjJlNjU0ODRjMzgzYmMzMWZkMjI3MTdmOWY1MDRmNS4uMDkyZDJm
ZTYxMTkzNDhmOTg2NWE4OGZiMjc5MWUzYTJkNzE0YTQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5jcHAKQEAgLTE5Niw2ICsxOTYsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OkNhbWVyYToKKyAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBl
OjpTeXN0ZW1BdWRpbzoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpV
bmtub3duOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICBi
cmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1NGVjZjVjMmJiODRl
ZmUwZTdhNTlkMzM2ODIwMjI1YzBmZjZmNTY3Li44NTZiNGVhYjM5YTg3NzA1N2Q4ZWRjYTI4Y2E1
YTk5MzY3MDYxNDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00NzM2
LDIwICs0NzM2LDQyIEBAIFN0cmluZyBJbnRlcm5hbHM6OnBhZ2VNZWRpYVN0YXRlKCkKICAgICAg
ICAgc3RyaW5nLmFwcGVuZCgiSGFzUGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlMaXN0ZW5lciwi
KTsKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c0F1ZGlvT3JWaWRlbykpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0F1ZGlvT3JWaWRlbywi
KTsKKwogICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSkKICAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFz
QWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlLCIpOwotICAgIGlmIChzdGF0ZS5jb250YWluc0FueShN
ZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlKSkKLSAg
ICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCIpOwogICAg
IGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRB
dWRpb0NhcHR1cmVEZXZpY2UpKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNNdXRlZEF1ZGlv
Q2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNl
ck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlKSkKKyAgICAgICAg
c3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIik7CisKKyAg
ICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2
ZVZpZGVvQ2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVZp
ZGVvQ2FwdHVyZURldmljZSwiKTsKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlKSkKICAgICAgICAgc3Ry
aW5nLmFwcGVuZCgiSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRl
LmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFZpZGVv
Q2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0ludGVycnVwdGVkVmlk
ZW9DYXB0dXJlRGV2aWNlLCIpOworCiAgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNVc2VySW50ZXJhY3RlZFdpdGhNZWRpYUVsZW1lbnQpKQogICAg
ICAgICBzdHJpbmcuYXBwZW5kKCJIYXNVc2VySW50ZXJhY3RlZFdpdGhNZWRpYUVsZW1lbnQsIik7
Ci0gICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNB
Y3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkpCi0gICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0Fj
dGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlLCIpOwotICAgIGlmIChzdGF0ZS5jb250YWluc0FueShN
ZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSkpCi0g
ICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UsIik7CisK
KyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0Fj
dGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBY3Rp
dmVTY3JlZW5DYXB0dXJlRGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKSkKKyAgICAg
ICAgc3RyaW5nLmFwcGVuZCgiSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLCIpOworCisgICAg
aWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVX
aW5kb3dDYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlV2lu
ZG93Q2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSkpCisgICAgICAgIHN0
cmluZy5hcHBlbmQoIkhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3Rh
dGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkV2lu
ZG93Q2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0ludGVycnVwdGVk
V2luZG93Q2FwdHVyZURldmljZSwiKTsKKworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlKSkK
KyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNl
LCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5k
KCJIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29u
dGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU3lzdGVtQXVk
aW9DYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJydXB0ZWRT
eXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIik7CiAKICAgICBpZiAoc3RyaW5nLmlzRW1wdHkoKSkK
ICAgICAgICAgc3RyaW5nLmFwcGVuZCgiSXNOb3RQbGF5aW5nIik7CkBAIC01NDQyLDkgKzU0NjQs
MTIgQEAgdm9pZCBJbnRlcm5hbHM6OnN0b3BPYnNlcnZpbmdSZWFsdGltZU1lZGlhU291cmNlKCkK
IAogICAgIHN3aXRjaCAobV90cmFja1NvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICBtX3RyYWNrU291cmNlLT5yZW1vdmVBdWRpb1Nh
bXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoK
ICAgICAgICAgbV90cmFja1NvdXJjZS0+cmVtb3ZlVmlkZW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9u
ZToKQEAgLTU0NjUsOSArNTQ5MCwxMiBAQCB2b2lkIEludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3Ry
ZWFtVHJhY2soTWVkaWFTdHJlYW1UcmFjayYgdHJhY2spCiAgICAgbV90cmFja1NvdXJjZS0+YWRk
T2JzZXJ2ZXIoKnRoaXMpOwogICAgIHN3aXRjaCAobV90cmFja1NvdXJjZS0+dHlwZSgpKSB7CiAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICBjYXNlIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICBtX3RyYWNrU291cmNl
LT5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKKyAgICBjYXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OldpbmRvdzoKICAgICAgICAgbV90cmFja1NvdXJjZS0+YWRkVmlkZW9TYW1wbGVPYnNlcnZl
cigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6Tm9uZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA4NWIzOTExY2QxNzg4MTAxZmNmOTE5NjY5MWVl
ZTU3MjY4ODk3MzczLi4zNDQ0MDgxOGI0OTYxNjg0ZDVkNDljYzliYTA2OTVjYTg1OGIxOGYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCkBAIC0xNzMsNiArMTczLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHdpbGxT
dGFydENhcHR1cmUoQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZSB0eXBlKSBjb25zdCBmaW5hbAog
ICAgIHsKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgQ2FwdHVyZURldmlj
ZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgIGNhc2UgQ2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpTcGVha2VyOgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggNTA5YjliMjVmMzk0ZjZiMzY3Y2JiOGQ2ODc1
ODdjMTRkMjg4NWI2MC4uMjBhMWUzMDJkZGJkMmE2MWUzYzVhMmNkNWVmMTFkMzVjOTRiZmZiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0yOTY2LDEwICsy
OTY2LDE0IEBAIFdLTWVkaWFTdGF0ZSBXS1BhZ2VHZXRNZWRpYVN0YXRlKFdLUGFnZVJlZiBwYWdl
KQogICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlOwog
ICAgIGlmIChjb3JlU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
TXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UpCiAgICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0
ZWRWaWRlb0NhcHR1cmVEZXZpY2U7Ci0gICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkKLSAgICAg
ICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZTsKLSAgICBp
ZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVk
RGlzcGxheUNhcHR1cmVEZXZpY2UpCi0gICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZTsKKyAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UpCisgICAgICAg
IHN0YXRlIHw9IGtXS01lZGlhSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZTsKKyAgICBpZiAo
Y29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkU2Ny
ZWVuQ2FwdHVyZURldmljZSkKKyAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRlZFNjcmVl
bkNhcHR1cmVEZXZpY2U7CisgICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlKQorICAgICAgICBzdGF0
ZSB8PSBrV0tNZWRpYUhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2U7CisgICAgaWYgKGNvcmVT
dGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0Nh
cHR1cmVEZXZpY2UpCisgICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0ZWRXaW5kb3dDYXB0
dXJlRGV2aWNlOwogCiAgICAgcmV0dXJuIHN0YXRlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCmluZGV4IGUyZWMyZWQxNGZiNTM3OWUzZWRmOWZj
NmNkZWE1ZDE1ZDBjZWYyYmUuLjJkYzQ5YjRjMjExNWZlYWFhOWVlNGE0MGIwOWQxMDA4NzliN2Fi
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgK
QEAgLTE0Niw4ICsxNDYsMTIgQEAgZW51bSB7CiAgICAga1dLTWVkaWFIYXNBY3RpdmVWaWRlb0Nh
cHR1cmVEZXZpY2UgPSAxIDw8IDMsCiAgICAga1dLTWVkaWFIYXNNdXRlZEF1ZGlvQ2FwdHVyZURl
dmljZSA9IDEgPDwgNCwKICAgICBrV0tNZWRpYUhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlID0g
MSA8PCA1LAotICAgIGtXS01lZGlhSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UgPSAxIDw8
IDYsCi0gICAga1dLTWVkaWFIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8PCA3LAor
ICAgIGtXS01lZGlhSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSA9IDEgPDwgNiwKKyAgICBr
V0tNZWRpYUhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlID0ga1dLTWVkaWFIYXNBY3RpdmVT
Y3JlZW5DYXB0dXJlRGV2aWNlLAorICAgIGtXS01lZGlhSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2
aWNlID0gMSA8PCA3LAorICAgIGtXS01lZGlhSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSA9
IGtXS01lZGlhSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgIGtXS01lZGlhSGFzQWN0
aXZlV2luZG93Q2FwdHVyZURldmljZSA9IDEgPDwgOCwKKyAgICBrV0tNZWRpYUhhc011dGVkV2lu
ZG93Q2FwdHVyZURldmljZSA9IDEgPDwgOSwKIH07CiB0eXBlZGVmIHVpbnQzMl90IFdLTWVkaWFT
dGF0ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5o
CmluZGV4IGVkNDhlYTNjMzI0ODI1MTYxNDZmZTU5ZGVmZDQzZWYxMWJkNjc4MmMuLjVkOWU4NmM3
ZTYxODk5NzA0N2ZiYTE2ZmUyYWJkM2VjOTBkYzQ3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKQEAgLTQwNiw3ICs0MDYsNyBAQCB0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBXS0Z1bGxzY3JlZW5TdGF0ZSkgewogCiAvKiEgQGFic3RyYWN0
IFNldCBtaWNyb3Bob25lIGNhcHR1cmUgc3RhdGUgb2YgYSBXS1dlYlZpZXcuCiAgQHBhcmFtIHN0
YXRlIHN0YXRlIHRvIGFwcGx5IGZvciBjYXB0dXJlLgotIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxl
ciBBIGJsb2NrIHRvIGludm9rZSBhZnRlciB0aGUgY2FtZXJhIHN0YXRlIGhhcyBiZWVuIGNoYW5n
ZWQuCisgQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIGFmdGVyIHRo
ZSBtaWNyb3Bob25lIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQuCiAgQGRpc2N1c3Npb24KICBJZiB2
YWx1ZSBpcyBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSwgdGhpcyB3aWxsIHN0b3AgYW55IG1pY3Jv
cGhvbmUgY2FwdHVyZS4KICBJZiB2YWx1ZSBpcyBXS01lZGlhQ2FwdHVyZVN0YXRlTXV0ZWQsIGFu
eSBhY3RpdmUgbWljcm9waG9uZSBjYXB0dXJlIHdpbGwgYmVjb21lIG11dGVkLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggY2FjYWViNDFl
YjI2NTU5YWM1OTA1MWI0MTJkOGUxYTIwZGIzMTE0NC4uNmQ0ZjVlOTAxMTg3YTA4NTAwNWQxYjJm
ZmZjNWVjZmU5ZmU5ZDQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDY5LDcgKzEwNjksNyBAQCBzdGF0aWMgV0tNZWRpYVBsYXli
YWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0
ZSBtZQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsgfTsKIAogICAgIGlmIChzdGF0
ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkgewotICAgICAgICBfcGFnZS0+c3RvcE1lZGlh
Q2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW8sIFtj
b21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKKyAg
ICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6Ok1pY3JvcGhvbmUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0
cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7
CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CkBAIC0xMDkxLDcgKzEwOTEsNyBAQCBzdGF0
aWMgV0tNZWRpYVBsYXliYWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1l
ZGlhUGxheWJhY2tTdGF0ZSBtZQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsgfTsK
IAogICAgIGlmIChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkgewotICAgICAgICBf
cGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6VmlkZW8sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9u
SGFuZGxlcildIHsKKyAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwgW2NvbXBsZXRpb25IYW5kbGVyID0g
bWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKQEAgLTIzMzIsNyArMjMz
Miw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gd2tUZXh0TWFuaXB1bGF0aW9uRXJyb3Jz
KE5TQXJyYXk8X1dLVGV4dE1hbmlwdWxhdGlvbkl0CiAtICh2b2lkKV9zdG9wTWVkaWFDYXB0dXJl
CiB7CiAgICAgVEhST1dfSUZfU1VTUEVOREVEOwotICAgIF9wYWdlLT5zdG9wTWVkaWFDYXB0dXJl
KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvKTsKKyAg
ICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6RXZlcnlLaW5kKTsKIH0KIAogLSAodm9pZClfc3RvcEFsbE1lZGlhUGxheWJhY2sK
QEAgLTM3MDYsNiArMzcwNiw4MyBAQCBzdGF0aWMgaW5saW5lIE9wdGlvblNldDxXZWJLaXQ6OkZp
bmRPcHRpb25zPiB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZAogICAgIFtzZWxm
IF9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOnVwZGF0ZUJsb2NrIHdpdGhv
dXRXYWl0aW5nRm9yUGFpbnRpbmc6WUVTIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6
Tk9dOwogfQogCistIChXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpIF9kaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzCit7CisgICAgYXV0byBwYWdlU3RhdGUgPSBfcGFnZS0+cmVwb3J0ZWRNZWRpYVN0YXRl
KCk7CisgICAgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzIHN0YXRlID0gV0tEaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VOb25lOworICAgIGlmIChwYWdlU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZU1hc2spKQorICAgICAgICBzdGF0ZSB8PSBXS0Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZVNjcmVlbjsKKyAgICBpZiAocGFnZVN0YXRlLmNvbnRhaW5zQW55KFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6OldpbmRvd0NhcHR1cmVNYXNrKSkKKyAgICAgICAgc3RhdGUg
fD0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3c7CisgICAgcmV0dXJuIHN0YXRlOworfQor
CistIChXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpIF9kaXNwbGF5Q2FwdHVyZVN0YXRlCit7CisgICAg
YXV0byBzdGF0ZSA9IF9wYWdlLT5yZXBvcnRlZE1lZGlhU3RhdGUoKTsKKyAgICBpZiAoc3RhdGUg
JiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBY3RpdmVEaXNwbGF5Q2FwdHVyZU1hc2spCisgICAg
ICAgIHJldHVybiBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmU7CisgICAgaWYgKHN0YXRlICYg
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWREaXNwbGF5Q2FwdHVyZU1hc2spCisgICAgICAg
IHJldHVybiBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZDsKKyAgICByZXR1cm4gV0tEaXNwbGF5
Q2FwdHVyZVN0YXRlTm9uZTsKK30KKworLSAoV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSlfc3lz
dGVtQXVkaW9DYXB0dXJlU3RhdGUKK3sKKyAgICBhdXRvIHN0YXRlID0gX3BhZ2UtPnJlcG9ydGVk
TWVkaWFTdGF0ZSgpOworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpCisgICAgICAgIHJldHVy
biBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlQWN0aXZlOworICAgIGlmIChzdGF0ZSAmIFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURl
dmljZSkKKyAgICAgICAgcmV0dXJuIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZDsKKyAg
ICByZXR1cm4gV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmU7Cit9CisKKy0gKHZvaWQpX3Nl
dERpc3BsYXlDYXB0dXJlU3RhdGU6KFdLRGlzcGxheUNhcHR1cmVTdGF0ZSlzdGF0ZSBjb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBUSFJP
V19JRl9TVVNQRU5ERUQ7CisgICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIgPSBbXSB7IH07CisKKyAgICBpZiAoc3RhdGUgPT0gV0tEaXNwbGF5Q2Fw
dHVyZVN0YXRlTm9uZSkgeworICAgICAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheSwgW2NvbXBsZXRpb25IYW5k
bGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBjb25zdGV4cHIgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGRp
c3BsYXlNdXRlZEZsYWdzID0geyBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpT
Y3JlZW5DYXB0dXJlSXNNdXRlZCwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6
V2luZG93Q2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+bXV0
ZWRTdGF0ZUZsYWdzKCk7CisgICAgaWYgKHN0YXRlID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFj
dGl2ZSkKKyAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoZGlzcGxheU11dGVkRmxhZ3MpOworICAg
IGVsc2UgaWYgKHN0YXRlID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKQorICAgICAgICBt
dXRlZFN0YXRlLmFkZChkaXNwbGF5TXV0ZWRGbGFncyk7CisgICAgX3BhZ2UtPnNldE11dGVkKG11
dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFu
ZGxlcildIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9KTsKK30KKworLSAo
dm9pZClfc2V0U3lzdGVtQXVkaW9DYXB0dXJlU3RhdGU6KFdLU3lzdGVtQXVkaW9DYXB0dXJlU3Rh
dGUpc3RhdGUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5k
bGVyCit7CisgICAgVEhST1dfSUZfU1VTUEVOREVEOworICAgIGlmICghY29tcGxldGlvbkhhbmRs
ZXIpCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyID0gW10geyB9OworCisgICAgaWYgKHN0YXRl
ID09IFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVOb25lKSB7CisgICAgICAgIF9wYWdlLT5zdG9w
TWVkaWFDYXB0dXJlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0
ZW1BdWRpbywgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5k
bGVyKV0geworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgYXV0byBtdXRlZFN0YXRlID0gX3BhZ2UtPm11dGVk
U3RhdGVGbGFncygpOworICAgIGlmIChzdGF0ZSA9PSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRl
QWN0aXZlKQorICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TXV0ZWRTdGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQpOworICAgIGVsc2UgaWYgKHN0YXRlID09
IFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZCkKKyAgICAgICAgbXV0ZWRTdGF0ZS5hZGQo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011dGVkKTsK
KyAgICBfcGFnZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOworICAgIH0pOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXcgKFdL
RGVwcmVjYXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGM5ZjEyM2MwNmI3OGUwZTM4NmVkZGE4NzUzMDI5ZTBj
NmFjMzExZTUuLmI1YzRjNTE1NzUyNmY3ZmI5YzI0ODkyZjI4ODc0NTE2ZjZmNGEyOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaApAQCAtNDI3LDYgKzQyNyw2NSBAQCBmb3IgdGhpcyBwcm9wZXJ0eS4KIAogLSAodm9pZClf
cmVxdWVzdFJlc291cmNlOihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkKF4pKE5TRGF0YSAqLCBOU1VSTFJlc3BvbnNlICosIE5TRXJyb3IgKikpY29tcGxldGlv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKIAordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tEaXNwbGF5Q2FwdHVyZVN0YXRl
KSB7CisgICAgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSwKKyAgICBXS0Rpc3BsYXlDYXB0dXJl
U3RhdGVBY3RpdmUsCisgICAgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQsCit9IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK3R5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUpIHsKKyAgICBXS1N5
c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTm9uZSwKKyAgICBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRl
QWN0aXZlLAorICAgIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZCwKK30gV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwordHlwZWRlZiBO
U19PUFRJT05TKE5TVUludGVnZXIsIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcykgeworICAgIFdL
RGlzcGxheUNhcHR1cmVTdXJmYWNlTm9uZSA9IDAsCisgICAgV0tEaXNwbGF5Q2FwdHVyZVN1cmZh
Y2VTY3JlZW4gPSAweDEsCisgICAgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cgPSAweDIs
Cit9OworCisvKiEgQGFic3RyYWN0IFRoZSB0eXBlKHMpIG9mIGRpc3BsYXlzIGJlaW5nIGNhcHR1
cmVkIG9uIGEgd2ViIHBhZ2UuCisgQGRpc2N1c3Npb24gQGxpbmsgV0tXZWJWaWV3IEAvbGluayBp
cyBrZXktdmFsdWUgb2JzZXJ2aW5nIChLVk8pIGNvbXBsaWFudAorIGZvciB0aGlzIHByb3BlcnR5
LgorICovCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLRGlzcGxheUNhcHR1cmVT
dXJmYWNlcyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEgQGFic3RyYWN0IFRoZSBzdGF0ZSBv
ZiBkaXNwbGF5IGNhcHR1cmUgb24gYSB3ZWIgcGFnZS4KKyBAZGlzY3Vzc2lvbiBAbGluayBXS1dl
YlZpZXcgQC9saW5rIGlzIGtleS12YWx1ZSBvYnNlcnZpbmcgKEtWTykgY29tcGxpYW50CisgZm9y
IHRoaXMgcHJvcGVydHkuCisgKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgV0tE
aXNwbGF5Q2FwdHVyZVN0YXRlIF9kaXNwbGF5Q2FwdHVyZVN0YXRlIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qISBAYWJzdHJhY3QgVGhl
IHN0YXRlIG9mIHN5c3RlbSBhdWRpbyBjYXB0dXJlIG9uIGEgd2ViIHBhZ2UuCisgQGRpc2N1c3Np
b24gQGxpbmsgV0tXZWJWaWV3IEAvbGluayBpcyBrZXktdmFsdWUgb2JzZXJ2aW5nIChLVk8pIGNv
bXBsaWFudAorIGZvciB0aGlzIHByb3BlcnR5LgorICovCitAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUgX3N5c3RlbUF1ZGlvQ2FwdHVyZVN0
YXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
CisKKy8qISBAYWJzdHJhY3QgU2V0IGRpc3BsYXkgY2FwdHVyZSBzdGF0ZSBvZiBhIFdLV2ViVmll
dy4KKyBAcGFyYW0gc3RhdGUgU3RhdGUgdG8gYXBwbHkgZm9yIGNhcHR1cmUuCisgQHBhcmFtIGNv
bXBsZXRpb25IYW5kbGVyIEEgYmxvY2sgdG8gaW52b2tlIGFmdGVyIHRoZSBzY3JlZW4gc3RhdGUg
aGFzIGJlZW4gY2hhbmdlZC4KKyBAZGlzY3Vzc2lvbgorIElmIHZhbHVlIGlzIFdLRGlzcGxheUNh
cHR1cmVTdGF0ZU5vbmUsIHRoaXMgd2lsbCBzdG9wIGFsbCBkaXNwbGF5IGNhcHR1cmUuCisgSWYg
dmFsdWUgaXMgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQsIGFsbCBhY3RpdmUgZGlzcGxheSBj
YXB0dXJlcyB3aWxsIGJlY29tZSBtdXRlZC4KKyBJZiB2YWx1ZSBpcyBXS0Rpc3BsYXlDYXB0dXJl
U3RhdGVBY3RpdmUsIGFsbCBtdXRlZCBkaXNwbGF5IGNhcHR1cmVzIHdpbGwgYmVjb21lIGFjdGl2
ZS4KKyAqLworLSAodm9pZClfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTooV0tEaXNwbGF5Q2FwdHVy
ZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOworCisvKiEgQGFic3RyYWN0IFNldCBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBzdGF0ZSBvZiBh
IFdLV2ViVmlldy4KKyBAcGFyYW0gc3RhdGUgU3RhdGUgdG8gYXBwbHkgZm9yIHN5c3RlbSBhdWRp
byBjYXB0dXJlLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSBh
ZnRlciB0aGUgc3lzdGVtIGF1ZGlvIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQuCisgQGRpc2N1c3Np
b24KKyBJZiB2YWx1ZSBpcyBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTm9uZSwgdGhpcyB3aWxs
IHN0b3AgYW55IHN5c3RlbSBhdWRpbyBjYXB0dXJlLgorIElmIHZhbHVlIGlzIFdLU3lzdGVtQXVk
aW9DYXB0dXJlU3RhdGVNdXRlZCwgYW55IGFjdGl2ZSBzeXN0ZW0gYXVkaW8gY2FwdHVyZSB3aWxs
IGJlY29tZSBtdXRlZC4KKyBJZiB2YWx1ZSBpcyBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlQWN0
aXZlLCBhbnkgbXV0ZWQgc3lzdGVtIGF1ZGlvIGNhcHR1cmUgd2lsbCBiZWNvbWUgYWN0aXZlLgor
IEBub3RlIFdoZW4gc3lzdGVtIGF1ZGlvIGNhcHR1cmUgaXMgYWN0aXZlLCBpZiBzY3JlZW5DYXB0
dXJlU3RhdGUgaXMgYWN0aXZlLCBhbGwgc3lzdGVtIGF1ZGlvIHdpbGwgYmUgY2FwdHVyZWQuCisg
T3RoZXJ3aXNlLCBpZiB3aW5kb3dDYXB0dXJlU3RhdGUgaXMgYWN0aXZlLCBvbmx5IHRoZSBhcHBs
aWNhdGlvbiB3aG9zZSB3aW5kb3cgYmVpbmcgaXMgY2FwdHVyZWQgd2lsbCBoYXZlIGl0cyBhdWRp
byBjYXB0dXJlZC4KKyBJZiBib3RoIHNjcmVlbkNhcHR1cmVTdGF0ZSBhbmQgd2luZG93Q2FwdHVy
ZVN0YXRlIGFyZSBOb25lIG9yIE11dGVkLCBubyBzeXN0ZW0gYXVkaW8gd2lsbCBiZSBjYXB0dXJl
ZC4KKyAqLworLSAodm9pZClfc2V0U3lzdGVtQXVkaW9DYXB0dXJlU3RhdGU6KFdLU3lzdGVtQXVk
aW9DYXB0dXJlU3RhdGUpc3RhdGUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNv
bXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CisKIEBlbmQKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggMTBh
MTA5ZmI5MjFmNWRjMjBmMDhhY2U1MjU5NWVlZGE1NWQ3MTgxYS4uZDMyNGI0YWZiOTNiMTdmNDA5
ZWIwOGYyMjdmZjhhNTY0Mjg4OWUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIHdl
YmtpdFdlYlZpZXdNZWRpYUNhcHR1cmVTdGF0ZURpZENoYW5nZShXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3LCBXZWJDb3JlOjpNZQogICAgICAgICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoR19PQkpF
Q1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfTUlDUk9QSE9ORV9DQVBUVVJFX1NUQVRF
XSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG1lZGlhU3RhdGVGbGFncy5jb250
YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrKSkKKyAgICBp
ZiAobWVkaWFTdGF0ZUZsYWdzLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1p
Y3JvcGhvbmVDYXB0dXJlTWFzaykpCiAgICAgICAgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYyhH
X09CSkVDVCh3ZWJWaWV3KSwgc09ialByb3BlcnRpZXNbUFJPUF9NSUNST1BIT05FX0NBUFRVUkVf
U1RBVEVdKTsKICAgICBpZiAobWVkaWFTdGF0ZUZsYWdzLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6OlZpZGVvQ2FwdHVyZU1hc2spKQogICAgICAgICBnX29iamVjdF9ub3RpZnlf
YnlfcHNwZWMoR19PQkpFQ1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfQ0FNRVJBX0NB
UFRVUkVfU1RBVEVdKTsKQEAgLTQ4NzAsNiArNDg3MCw3IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3
X3NldF9jb3JzX2FsbG93bGlzdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdCBnY2hhciog
Y29uCiAKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2Vi
S2l0V2ViVmlldyogd2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQgY2FwdHVyZUtpbmQsIFdlYktpdE1lZGlhQ2FwdHVyZVN0YXRlIGNhcHR1cmVTdGF0ZSwgYm9v
bCBpc0Zyb21EaXNwbGF5Q2FwdHVyZSA9IGZhbHNlKQogeworICAgIFVOVVNFRF9QQVJBTShpc0Zy
b21EaXNwbGF5Q2FwdHVyZSk7CiAgICAgYXV0byYgcGFnZSA9IGdldFBhZ2Uod2ViVmlldyk7CiAg
ICAgYXV0byBtdXRlZFN0YXRlID0gcGFnZS5tdXRlZFN0YXRlRmxhZ3MoKTsKIApAQCAtNDg3Nywx
MyArNDg3OCwxNSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0
dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNvcmU6OgogICAgIGNhc2UgV0VCS0lUX01F
RElBX0NBUFRVUkVfU1RBVEVfTk9ORToKICAgICAgICAgcGFnZS5zdG9wTWVkaWFDYXB0dXJlKGNh
cHR1cmVLaW5kLCBbd2ViVmlldywgY2FwdHVyZUtpbmRdIHsKICAgICAgICAgICAgIHN3aXRjaCAo
Y2FwdHVyZUtpbmQpIHsKLSAgICAgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvOgorICAgICAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZToKICAgICAgICAgICAgICAgICBnX29i
amVjdF9ub3RpZnlfYnlfcHNwZWMoR19PQkpFQ1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BS
T1BfTUlDUk9QSE9ORV9DQVBUVVJFX1NUQVRFXSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpW
aWRlbzoKKyAgICAgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OkNhbWVyYToKICAgICAgICAgICAgICAgICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMo
R19PQkpFQ1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfQ0FNRVJBX0NBUFRVUkVfU1RB
VEVdKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvVmlkZW86CisgICAgICAgICAgICBj
YXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5OgorICAg
ICAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6U3lz
dGVtQXVkaW86CisgICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpFdmVyeUtpbmQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQpAQCAtNDg5MSwxNiAr
NDg5NCwxNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJl
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNvcmU6OgogICAgICAgICBicmVhazsKICAgICBj
YXNlIFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX0FDVElWRToKICAgICAgICAgc3dpdGNoIChj
YXB0dXJlS2luZCkgewotICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpBdWRpbzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFDYXB0dXJlS2luZDo6TWljcm9waG9uZToKICAgICAgICAgICAgIG11dGVkU3RhdGUucmVtb3Zl
KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQp
OwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvOgotICAgICAgICAgICAgaWYgKGlzRnJvbURpc3BsYXlD
YXB0dXJlKQotICAgICAgICAgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsKKyAgICAgICAgY2FzZSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6Q2FtZXJhOgorICAgICAgICAg
ICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6
VmlkZW9DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheToKKyAgICAgICAg
ICAgIG11dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6
OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvOgorICAg
ICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0ZW1B
dWRpbzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZDo6RXZlcnlLaW5kOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTQ5MDgsMTYgKzQ5MTIsMTcgQEAgc3RhdGljIHZv
aWQgd2Via2l0V2ViVmlld0NvbmZpZ3VyZU1lZGlhQ2FwdHVyZShXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3LCBXZWJDb3JlOjoKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXRUJLSVRfTUVESUFfQ0FQ
VFVSRV9TVEFURV9NVVRFRDoKICAgICAgICAgc3dpdGNoIChjYXB0dXJlS2luZCkgewotICAgICAg
ICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbzoKKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9w
aG9uZToKICAgICAgICAgICAgIG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVv
OgotICAgICAgICAgICAgaWYgKGlzRnJvbURpc3BsYXlDYXB0dXJlKQotICAgICAgICAgICAgICAg
IG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVl
bkNhcHR1cmVJc011dGVkKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtdXRl
ZFN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1
cmVJc011dGVkKTsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6Q2FtZXJhOgorICAgICAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6RGlzcGxheToKKyAgICAgICAgICAgIG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kOjpBdWRpb1ZpZGVvOgorICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kOgogICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTQ5NjUsNyAr
NDk3MCw3IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9jYW1lcmFfY2FwdHVyZV9zdGF0ZShX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRNZWRpCiAgICAgaWYgKHdlYmtpdF93ZWJfdmll
d19nZXRfY2FtZXJhX2NhcHR1cmVfc3RhdGUod2ViVmlldykgPT0gV0VCS0lUX01FRElBX0NBUFRV
UkVfU1RBVEVfTk9ORSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2Via2l0V2ViVmlld0NvbmZp
Z3VyZU1lZGlhQ2FwdHVyZSh3ZWJWaWV3LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6VmlkZW8sIHN0YXRlKTsKKyAgICB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFD
YXB0dXJlKHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpD
YW1lcmEsIHN0YXRlKTsKIH0KIAogLyoqCkBAIC01MDA3LDcgKzUwMTIsNyBAQCB2b2lkIHdlYmtp
dF93ZWJfdmlld19zZXRfbWljcm9waG9uZV9jYXB0dXJlX3N0YXRlKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIFdlYktpdAogICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X21pY3JvcGhvbmVfY2Fw
dHVyZV9zdGF0ZSh3ZWJWaWV3KSA9PSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9OT05FKQog
ICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJl
KHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbywg
c3RhdGUpOworICAgIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUod2ViVmlldywg
V2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6Ok1pY3JvcGhvbmUsIHN0YXRl
KTsKIH0KIAogLyoqCkBAIC01MDI0LDkgKzUwMjksOSBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19z
ZXRfbWljcm9waG9uZV9jYXB0dXJlX3N0YXRlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktp
dAogV2ViS2l0TWVkaWFDYXB0dXJlU3RhdGUgd2Via2l0X3dlYl92aWV3X2dldF9kaXNwbGF5X2Nh
cHR1cmVfc3RhdGUoV2ViS2l0V2ViVmlldyogd2ViVmlldykKIHsKICAgICBhdXRvIHN0YXRlID0g
Z2V0UGFnZSh3ZWJWaWV3KS5yZXBvcnRlZE1lZGlhU3RhdGUoKTsKLSAgICBpZiAoc3RhdGUgJiBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVy
ZURldmljZSkKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0
YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKQogICAgICAgICByZXR1cm4gV0VCS0lU
X01FRElBX0NBUFRVUkVfU1RBVEVfQUNUSVZFOwotICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpCisg
ICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZTo6SGFzTXV0
ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKQogICAgICAgICByZXR1cm4gV0VCS0lUX01FRElBX0NBUFRV
UkVfU1RBVEVfTVVURUQ7CiAgICAgcmV0dXJuIFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX05P
TkU7CiB9CkBAIC01MDQ5LDUgKzUwNTQsNSBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfZGlz
cGxheV9jYXB0dXJlX3N0YXRlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdE1lZAogICAg
IGlmICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Rpc3BsYXlfY2FwdHVyZV9zdGF0ZSh3ZWJWaWV3KSA9
PSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9OT05FKQogICAgICAgICByZXR1cm47CiAKLSAg
ICB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKHdlYlZpZXcsIFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpWaWRlbywgc3RhdGUsIHRydWUpOworICAgIHdl
YmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUod2ViVmlldywgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwgc3RhdGUsIHRydWUpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmlu
ZGV4IDg2MGFhZjgyNWU2YmY1NTY0ZjgwNDczOGIzNTg1ZGVkYjBiZDkyYTIuLmEyMTdjMWY5ZWZi
ZTA0MGQ1NmE0ZjRiZWE1MWQ4NTZhNGI4N2NjODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTg0LDggKzg0LDE1IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgbWljcm9waG9uZUNhcHR1cmVXaWxsQ2hhbmdlKCkgZmluYWw7
CiAgICAgdm9pZCBjYW1lcmFDYXB0dXJlV2lsbENoYW5nZSgpIGZpbmFsOworICAgIHZvaWQgZGlz
cGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzV2lsbENoYW5nZSgpIGZpbmFsOworICAgIHZvaWQgc3lzdGVtQXVkaW9DYXB0dXJlV2ls
bENoYW5nZSgpIGZpbmFsOworCiAgICAgdm9pZCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQoKSBm
aW5hbDsKICAgICB2b2lkIGNhbWVyYUNhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CisgICAgdm9pZCBk
aXNwbGF5Q2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKKyAgICB2b2lkIGRpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXNDaGFuZ2VkKCkgZmluYWw7CisgICAgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2Vk
KCkgZmluYWw7CiAKICAgICBXaW5kb3dLaW5kIHdpbmRvd0tpbmQoKSBmaW5hbDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0K
aW5kZXggNjBkYTNiNDUwMjE2YjA1OGY1YmM1ZDBjNTZjOGFkODAwY2Y2ZmNlMC4uNWQ1YjE0NjE1
NWNlOGYxNjFlYjAzYTBlNWJiMzdlOTRkMzBjOTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCkBAIC0xODMsNiArMTgz
LDIxIEBAIHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6Y2FtZXJhQ2FwdHVyZVdpbGxDaGFuZ2Uo
KQogICAgIFttX3dlYlZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiY2FtZXJhQ2FwdHVyZVN0
YXRlIl07CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVXaWxs
Q2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNw
bGF5Q2FwdHVyZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxh
eUNhcHR1cmVTdXJmYWNlc1dpbGxDaGFuZ2UoKQoreworICAgIFttX3dlYlZpZXcgd2lsbENoYW5n
ZVZhbHVlRm9yS2V5OkAiX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMiXTsKK30KKwordm9pZCBQYWdl
Q2xpZW50SW1wbENvY29hOjpzeXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBb
bV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAIl9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0
ZSJdOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6Om1pY3JvcGhvbmVDYXB0dXJlQ2hh
bmdlZCgpCiB7CiAgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAIm1pY3JvcGhv
bmVDYXB0dXJlU3RhdGUiXTsKQEAgLTE5Myw2ICsyMDgsMjEgQEAgdm9pZCBQYWdlQ2xpZW50SW1w
bENvY29hOjpjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpCiAgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VW
YWx1ZUZvcktleTpAImNhbWVyYUNhcHR1cmVTdGF0ZSJdOwogfQogCit2b2lkIFBhZ2VDbGllbnRJ
bXBsQ29jb2E6OmRpc3BsYXlDYXB0dXJlQ2hhbmdlZCgpCit7CisgICAgW21fd2ViVmlldyBkaWRD
aGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFn
ZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKQoreworICAg
IFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJfZGlzcGxheUNhcHR1cmVTdXJmYWNl
cyJdOworfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OnN5c3RlbUF1ZGlvQ2FwdHVyZUNo
YW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJfc3lzdGVt
QXVkaW9DYXB0dXJlU3RhdGUiXTsKK30KKwogV2luZG93S2luZCBQYWdlQ2xpZW50SW1wbENvY29h
Ojp3aW5kb3dLaW5kKCkKIHsKICAgICBhdXRvIHdpbmRvdyA9IFttX3dlYlZpZXcgd2luZG93XTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1l
ZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggYmRhZjk4ZDEwZGQzNThiZGQ3YmY3OTMz
YWJkMTQ4NjUwN2NjZWQ4Ni4uMmFmNzgyOTBmNTA3M2VhMWM5NzYxOTcyMzhjZjU2MjRmNjlkOGEx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTY2LDkgKzY2LDEyIEBAIHB1Ymxp
YzoKICAgICAgICAgbV9zb3VyY2UtPmFkZE9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgc3dpdGNo
IChtX3NvdXJjZS0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6QXVkaW86CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lz
dGVtQXVkaW86CiAgICAgICAgICAgICBtX3NvdXJjZS0+YWRkQXVkaW9TYW1wbGVPYnNlcnZlcigq
dGhpcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpWaWRlbzoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpTY3JlZW46CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93
OgogICAgICAgICAgICAgbV9zb3VyY2UtPmFkZFZpZGVvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6Tm9uZToKQEAgLTgzLDkgKzg2LDEyIEBAIHB1YmxpYzoKIAogICAgICAgICBzd2l0Y2ggKG1f
c291cmNlLT50eXBlKCkpIHsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpBdWRpbzoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1B
dWRpbzoKICAgICAgICAgICAgIG1fc291cmNlLT5yZW1vdmVBdWRpb1NhbXBsZU9ic2VydmVyKCp0
aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlZpZGVvOgorICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OlNjcmVlbjoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6
CiAgICAgICAgICAgICBtX3NvdXJjZS0+cmVtb3ZlVmlkZW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpOb25lOgpAQCAtMjg4LDYgKzI5NCw3IEBAIHZvaWQgVXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eTo6Y3JlYXRlTWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0cmFpCiAg
ICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAg
ICAgIHNvdXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24o
KS5kaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2FwdHVyZVNvdXJjZShkZXZp
Y2UsIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7CiAgICAgICAgIGJyZWFrOworICAg
IGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAg
ICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAg
IGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
aW5kZXggNTE2OWQ3MWY1ODQwYjFhMmFjNDMyNDk2ODNhZTM4YWRlN2JiMTE4Yy4uM2E3MTBmMWE3
MWZlYWEzODQzMjE0ODg5MDlhMDljYjIzM2VmNDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaApAQCAtNTY1LDggKzU2NSwxNCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgbWljcm9waG9uZUNhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNh
bWVyYUNhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlDYXB0
dXJlV2lsbENoYW5nZSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZh
Y2VzV2lsbENoYW5nZSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVX
aWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdl
ZCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpIHsgfQorICAg
IHZpcnR1YWwgdm9pZCBkaXNwbGF5Q2FwdHVyZUNoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
c3lzdGVtQXVkaW9DYXB0dXJlQ2hhbmdlZCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHZpZGVv
Q29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcAppbmRleCBlMGI1ZTI5NzgyMjg2ZjZhOTNiMmIzYjRhMzVhY2E4YzA3NzA3ZWY3
Li45ZjM2MzEwMTllOGE0Yzk1Y2M1NzJmYWVhY2U0NjFlNjRhOTYzMjU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCkBAIC05OSw3ICs5OSw3IEBAIFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eShXCiAKIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkoKQogewotICAgIG1fcGFnZS5zZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRp
YVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbyB9LCBbXSB7IH0pOworICAgIG1f
cGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1
cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kIH0sIFtdIHsgfSk7
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlcjo6
c2luZ2xldG9uKCkucmV2b2tlU2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZChwYWdlKCkucHJvY2Vz
cygpKTsKICAgICBwcm94aWVzKCkucmVtb3ZlKHRoaXMpOwpAQCAtMTMzLDcgKzEzMyw3IEBAIHZv
aWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkK
IHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogICAgIGludmFsaWRhdGVQZW5kaW5n
UmVxdWVzdHMoKTsKLSAgICBtX3BhZ2Uuc3RvcE1lZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVk
aWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbyk7CisgICAgbV9wYWdlLnN0b3BNZWRpYUNhcHR1cmUo
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZCk7CiB9CiAKIHZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmNhcHR1cmVEZXZpY2VzQ2hhbmdl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmMjQwZmY0
OTAyYmZhMWI2NDBjMDc0MmJiYjZhOWRjMjVjNzQwNzE3Li40NmI1OTdlYmYwOTUwM2Q0NDdhNGQx
N2ZhOTY4OGY2OWIxOGFhNTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTk1OTcsMTMgKzk1OTcsMjUgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVJl
cG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUoKQogCiAgICAgV0VCUEFHRVBST1hZX1JFTEVBU0VfTE9H
KFdlYlJUQywgInVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGU6IGZyb20gJWQgdG8gJWQi
LCBtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUudG9SYXcoKSwgYWN0aXZlQ2FwdHVyZVN0YXRl
LnRvUmF3KCkpOwogCi0gICAgYm9vbCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQgPSAobV9yZXBv
cnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlTWFzaykg
IT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2sp
OworICAgIGJvb2wgbWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkID0gKG1fcmVwb3J0ZWRNZWRpYUNh
cHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzaykgIT0gKGFj
dGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzayk7
CiAgICAgYm9vbCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCA9IChtX3JlcG9ydGVkTWVkaWFDYXB0dXJl
U3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVy
ZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlTWFzayk7CisgICAgYm9vbCBkaXNw
bGF5Q2FwdHVyZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQ
cm9kdWNlcjo6RGlzcGxheUNhcHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVyZVN0YXRlICYgTWVk
aWFQcm9kdWNlcjo6RGlzcGxheUNhcHR1cmVNYXNrKTsKKyAgICBib29sIHN5c3RlbUF1ZGlvQ2Fw
dHVyZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNl
cjo6U3lzdGVtQXVkaW9DYXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlh
UHJvZHVjZXI6OlN5c3RlbUF1ZGlvQ2FwdHVyZU1hc2spOworCisgICAgYXV0byByZXBvcnRlZERp
c3BsYXlDYXB0dXJlU3VyZmFjZXMgPSBtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiAoTWVk
aWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZU1hc2sgfCBNZWRpYVByb2R1Y2VyOjpXaW5kb3dDYXB0
dXJlTWFzayk7CisgICAgYXV0byBhY3RpdmVEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzID0gYWN0aXZl
Q2FwdHVyZVN0YXRlICYgKE1lZGlhUHJvZHVjZXI6OlNjcmVlbkNhcHR1cmVNYXNrIHwgTWVkaWFQ
cm9kdWNlcjo6V2luZG93Q2FwdHVyZU1hc2spOworICAgIGF1dG8gZGlzcGxheUNhcHR1cmVTdXJm
YWNlc0NoYW5nZWQgPSByZXBvcnRlZERpc3BsYXlDYXB0dXJlU3VyZmFjZXMgIT0gYWN0aXZlRGlz
cGxheUNhcHR1cmVTdXJmYWNlczsKIAogICAgIGlmIChtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQp
CiAgICAgICAgIHBhZ2VDbGllbnQoKS5taWNyb3Bob25lQ2FwdHVyZVdpbGxDaGFuZ2UoKTsKICAg
ICBpZiAoY2FtZXJhQ2FwdHVyZUNoYW5nZWQpCiAgICAgICAgIHBhZ2VDbGllbnQoKS5jYW1lcmFD
YXB0dXJlV2lsbENoYW5nZSgpOworICAgIGlmIChkaXNwbGF5Q2FwdHVyZUNoYW5nZWQpCisgICAg
ICAgIHBhZ2VDbGllbnQoKS5kaXNwbGF5Q2FwdHVyZVdpbGxDaGFuZ2UoKTsKKyAgICBpZiAoZGlz
cGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5kaXNwbGF5
Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgpOworICAgIGlmIChzeXN0ZW1BdWRpb0NhcHR1cmVD
aGFuZ2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuc3lzdGVtQXVkaW9DYXB0dXJlV2lsbENoYW5n
ZSgpOwogCiAgICAgbV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlID0gYWN0aXZlQ2FwdHVyZVN0
YXRlOwogICAgIG1fdWlDbGllbnQtPm1lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlKG1fbWVkaWFT
dGF0ZSk7CkBAIC05NjEyLDYgKzk2MjQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVJl
cG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUoKQogICAgICAgICBwYWdlQ2xpZW50KCkubWljcm9waG9u
ZUNhcHR1cmVDaGFuZ2VkKCk7CiAgICAgaWYgKGNhbWVyYUNhcHR1cmVDaGFuZ2VkKQogICAgICAg
ICBwYWdlQ2xpZW50KCkuY2FtZXJhQ2FwdHVyZUNoYW5nZWQoKTsKKyAgICBpZiAoZGlzcGxheUNh
cHR1cmVDaGFuZ2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuZGlzcGxheUNhcHR1cmVDaGFuZ2Vk
KCk7CisgICAgaWYgKGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKQorICAgICAgICBwYWdl
Q2xpZW50KCkuZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKTsKKyAgICBpZiAoc3lzdGVt
QXVkaW9DYXB0dXJlQ2hhbmdlZCkKKyAgICAgICAgcGFnZUNsaWVudCgpLnN5c3RlbUF1ZGlvQ2Fw
dHVyZUNoYW5nZWQoKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OnZpZGVvQ29udHJvbHNNYW5h
Z2VyRGlkQ2hhbmdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
MGM4NjA2MGIzYzBiNDhjNWU2MDZmMTU4NTA2ODUzYTI2ZmYwMzA4NC4uYTJmMjBhYWE1ZjY4N2Jj
NzIyZmMzMTZkYTcxZWNmM2RjOWUzYmM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTE1NDAsOCArMTU0MCw4IEBAIHB1YmxpYzoKIAogICAgIGVudW0gY2xhc3Mg
Q2FuRGVsYXlOb3RpZmljYXRpb24geyBObywgWWVzIH07CiAgICAgdm9pZCB1cGRhdGVQbGF5aW5n
TWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncywgQ2Fu
RGVsYXlOb3RpZmljYXRpb24gPSBDYW5EZWxheU5vdGlmaWNhdGlvbjo6Tm8pOwotICAgIGJvb2wg
aXNDYXB0dXJpbmdBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0Fu
eShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrKTsgfQotICAgIGJvb2wg
aXNDYXB0dXJpbmdWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0Fu
eShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKTsgfQorICAgIGJvb2wg
aXNDYXB0dXJpbmdBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0Fu
eShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpJc0NhcHR1cmluZ0F1ZGlvTWFzayk7IH0KKyAgICBi
b29sIGlzQ2FwdHVyaW5nVmlkZW8oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUuY29udGFp
bnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SXNDYXB0dXJpbmdWaWRlb01hc2spOyB9CiAg
ICAgYm9vbCBoYXNBY3RpdmVBdWRpb1N0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0
ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZl
QXVkaW9DYXB0dXJlRGV2aWNlKTsgfQogICAgIGJvb2wgaGFzQWN0aXZlVmlkZW9TdHJlYW0oKSBj
b25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSk7IH0KICAgICBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZUZsYWdzIHJlcG9ydGVkTWVkaWFTdGF0ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSB8IChtX21lZGlhU3RhdGUg
LSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYUNhcHR1cmVNYXNrKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGVlMTQzNGJkYTg3YjQzOTExNDVjNDY4
OTUzNzA5NmQwNmFlMzk4ODAuLmUyNWQ4ZjNlNjkxNmRiYWM1YzNlODQ3OWVhNTdjMzI2NWU5MzA5
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE5NzYsNyAr
MTk3Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNv
bnNpc3RlbmN5KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBlCiB7CiAjaWYgQVNTRVJUX0VOQUJMRUQK
ICAgICBib29sIGlzQ2FwdHVyaW5nQXVkaW8gPSBXVEY6OmFueU9mKERvY3VtZW50OjphbGxEb2N1
bWVudHNNYXAoKS52YWx1ZXMoKSwgW10oYXV0byogZG9jdW1lbnQpIHsKLSAgICAgICAgcmV0dXJu
IGRvY3VtZW50LT5tZWRpYVN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNr
OworICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6
Ok1pY3JvcGhvbmVDYXB0dXJlTWFzazsKICAgICB9KTsKICAgICBib29sIGlzQ2FwdHVyaW5nVmlk
ZW8gPSBXVEY6OmFueU9mKERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS52YWx1ZXMoKSwgW10o
YXV0byogZG9jdW1lbnQpIHsKICAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tZWRpYVN0YXRlKCkg
JiBNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGEyNDU5NDFjODEwMGYwYjFkMjNhMzdlZTY4
MmZhMTAzNzVhYmYzOGYuLmZhZGE0ZmIzYjUwOTE0ZTEyZGU0MzliODE1OTA4ODMzNjk5ZWJiZmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMi0wMS0yOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxl
LmNvbT4KKworICAgICAgICBbbWFjT1NdIEV4cG9zZSBzY3JlZW4gYW5kIHdpbmRvdyBjYXB0dXJl
IHN0YXRlIHRvIFdLV2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM1ODM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODIwNzkyND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0
V2ViS2l0QVBJLnhjc2NoZW1lOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuLm1tOgorICAgICAgICAoLVtEaXNw
bGF5Q2FwdHVyZU9ic2VydmVyIG9ic2VydmVWYWx1ZUZvcktleVBhdGg6b2ZPYmplY3Q6Y2hhbmdl
OmNvbnRleHQ6XSk6CisgICAgICAgICgtW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIgd2FpdEZvckRp
c3BsYXlDYXB0dXJlU3RhdGU6XSk6CisgICAgICAgICgtW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIg
d2FpdEZvckRpc3BsYXlDYXB0dXJlU3VyZmFjZXM6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpURVNUKToKKwogMjAyMi0wMS0yNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS10gQysrMjAgd2FybmluZ3MgaW4gVGVzdENvbnNvbGVNZXNz
YWdlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0dl
dERpc3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVlbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuLm1tCmluZGV4IDcz
YzIxOTI4YTdmMTU2ZWQ0OTUzMjMyYTkwNzZhOWE1Y2VlNzY3MTAuLjAwZjJjYWQ0NTliMDEwN2Zk
ZDA5Y2NlOTIxZDJkMjU5Njk0YjJhY2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2lu
ZG93QW5kU2NyZWVuLm1tCkBAIC0zMyw5ICszMyw5IEBACiAjaW1wb3J0ICJVc2VyTWVkaWFDYXB0
dXJlVUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+
CiAjaW1wb3J0IDxXZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0
L1dLV2ViVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaD4K
ICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQ
cml2YXRlRm9yVGVzdGluZy5oPgogCiBAaW50ZXJmYWNlIFdpbmRvd0FuZFNjcmVlbkNhcHR1cmVU
ZXN0VmlldyA6IFRlc3RXS1dlYlZpZXcKQEAgLTU4LDYgKzU4LDYyIEBACiB9CiBAZW5kCiAKK0Bp
bnRlcmZhY2UgRGlzcGxheUNhcHR1cmVPYnNlcnZlciA6IE5TT2JqZWN0IHsKKyAgICBXS0Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZXMgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CisgICAgV0tEaXNwbGF5
Q2FwdHVyZVN0YXRlIF9kaXNwbGF5Q2FwdHVyZVN0YXRlOworfQorCitAcHJvcGVydHkgV0tEaXNw
bGF5Q2FwdHVyZVN0YXRlIGRpc3BsYXlDYXB0dXJlU3RhdGU7CitAcHJvcGVydHkgV0tEaXNwbGF5
Q2FwdHVyZVN1cmZhY2VzIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CisKKy0gKHZvaWQpb2JzZXJ2
ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJpbmcgKilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmplY3Qg
Y2hhbmdlOihOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopY2hhbmdlIGNvbnRleHQ6KHZv
aWQgKiljb250ZXh0OworLSAoQk9PTCl3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdGF0ZTooV0tEaXNw
bGF5Q2FwdHVyZVN0YXRlKWV4cGVjdGVkU3RhdGU7CistIChCT09MKXdhaXRGb3JEaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VzOihXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpZXhwZWN0ZWRTdGF0ZTsKK0Bl
bmQKKworQGltcGxlbWVudGF0aW9uIERpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIKKworQHN5bnRoZXNp
emUgZGlzcGxheUNhcHR1cmVTdXJmYWNlcyA9IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzOworQHN5
bnRoZXNpemUgZGlzcGxheUNhcHR1cmVTdGF0ZSA9IF9kaXNwbGF5Q2FwdHVyZVN0YXRlOworCist
ICh2b2lkKW9ic2VydmVWYWx1ZUZvcktleVBhdGg6KE5TU3RyaW5nICopa2V5UGF0aCBvZk9iamVj
dDooaWQpb2JqZWN0IGNoYW5nZTooTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqKWNoYW5n
ZSBjb250ZXh0Oih2b2lkICopY29udGV4dAoreworICAgIEVYUEVDVF9UUlVFKFtrZXlQYXRoIGlz
RXF1YWxUb1N0cmluZzpOU1N0cmluZ0Zyb21TZWxlY3RvcihAc2VsZWN0b3IoX2Rpc3BsYXlDYXB0
dXJlU3VyZmFjZXMpKV0gfHwgW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOk5TU3RyaW5nRnJvbVNl
bGVjdG9yKEBzZWxlY3RvcihfZGlzcGxheUNhcHR1cmVTdGF0ZSkpXSk7CisKKyAgICBpZiAoW2tl
eVBhdGggaXNFcXVhbFRvU3RyaW5nOk5TU3RyaW5nRnJvbVNlbGVjdG9yKEBzZWxlY3RvcihfZGlz
cGxheUNhcHR1cmVTdXJmYWNlcykpXSkgeworICAgICAgICBfZGlzcGxheUNhcHR1cmVTdXJmYWNl
cyA9IChXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpW1tjaGFuZ2Ugb2JqZWN0Rm9yS2V5Ok5TS2V5
VmFsdWVDaGFuZ2VOZXdLZXldIHVuc2lnbmVkSW50ZWdlclZhbHVlXTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBfZGlzcGxheUNhcHR1cmVTdGF0ZSA9IChXS0Rpc3BsYXlDYXB0dXJlU3Rh
dGUpW1tjaGFuZ2Ugb2JqZWN0Rm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VOZXdLZXldIHVuc2lnbmVk
SW50ZWdlclZhbHVlXTsKK30KKworc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBzdGF0ZUNoYW5n
ZVF1ZXJ5TWF4Q291bnQgPSAzMDsKKworLSAoQk9PTCl3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdGF0
ZTooV0tEaXNwbGF5Q2FwdHVyZVN0YXRlKWV4cGVjdGVkU3RhdGUKK3sKKyAgICB1bnNpZ25lZCB0
cmllcyA9IDA7CisgICAgZG8geworICAgICAgICBpZiAoZXhwZWN0ZWRTdGF0ZSA9PSBfZGlzcGxh
eUNhcHR1cmVTdGF0ZSkKKyAgICAgICAgICAgIHJldHVybiBZRVM7CisgICAgICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CisgICAgfSB3aGlsZSAoKyt0cmllcyA8PSBzdGF0ZUNo
YW5nZVF1ZXJ5TWF4Q291bnQpOworCisgICAgcmV0dXJuIGV4cGVjdGVkU3RhdGUgPT0gX2Rpc3Bs
YXlDYXB0dXJlU3RhdGU7Cit9CisKKy0gKEJPT0wpd2FpdEZvckRpc3BsYXlDYXB0dXJlU3VyZmFj
ZXM6KFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcylleHBlY3RlZFN0YXRlCit7CisgICAgdW5zaWdu
ZWQgdHJpZXMgPSAwOworICAgIGRvIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkU3RhdGUgPT0gX2Rp
c3BsYXlDYXB0dXJlU3VyZmFjZXMpCisgICAgICAgICAgICByZXR1cm4gWUVTOworICAgICAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjEpOworICAgIH0gd2hpbGUgKCsrdHJpZXMgPD0g
c3RhdGVDaGFuZ2VRdWVyeU1heENvdW50KTsKKworICAgIHJldHVybiBleHBlY3RlZFN0YXRlID09
IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzOworfQorQGVuZAorCiBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSSB7CiAKIFRFU1QoV2ViS2l0MiwgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuUHJv
bXB0KQpAQCAtNzcsMTMgKzEzMywyMyBAQCBURVNUKFdlYktpdDIsIEdldERpc3BsYXlNZWRpYVdp
bmRvd0FuZFNjcmVlblByb21wdCkKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV2luZG93
QW5kU2NyZWVuQ2FwdHVyZVRlc3RWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2Uo
MCwgMCwgMzIwLCA1MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAg
IFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCisgICAgYXV0byBvYnNl
cnZlciA9IGFkb3B0TlMoW1tEaXNwbGF5Q2FwdHVyZU9ic2VydmVyIGFsbG9jXSBpbml0XSk7Cisg
ICAgW3dlYlZpZXcgYWRkT2JzZXJ2ZXI6b2JzZXJ2ZXIuZ2V0KCkgZm9yS2V5UGF0aDpAIl9kaXNw
bGF5Q2FwdHVyZVN1cmZhY2VzIiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcg
Y29udGV4dDpuaWxdOworICAgIFt3ZWJWaWV3IGFkZE9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZv
cktleVBhdGg6QCJfZGlzcGxheUNhcHR1cmVTdGF0ZSIgb3B0aW9uczpOU0tleVZhbHVlT2JzZXJ2
aW5nT3B0aW9uTmV3IGNvbnRleHQ6bmlsXTsKKwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlM
b2FkVGVzdFBhZ2VOYW1lZDpAImdldERpc3BsYXlNZWRpYSJdOworICAgIEVYUEVDVF9UUlVFKFt3
ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25l
KTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0g
V0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VOb25lKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBf
ZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSk7CisgICAg
RVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxh
eUNhcHR1cmVTdXJmYWNlTm9uZSk7CiAKICAgICAvLyBDaGVjayAiRG9u4oCZdCBBbGxvdyIKICAg
ICBbZGVsZWdhdGUgc2V0R2V0RGlzcGxheU1lZGlhRGVjaXNpb246V0tEaXNwbGF5Q2FwdHVyZVBl
cm1pc3Npb25EZWNpc2lvbkRlbnldOwogICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0ph
dmFTY3JpcHQ6QCJwcm9tcHRGb3JDYXB0dXJlKHsgdmlkZW8gOiB0cnVlIH0pIl07CiAgICAgW2Rl
bGVnYXRlIHdhaXRVbnRpbFByb21wdGVkXTsKICAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBoYXZl
U3RyZWFtOk5PXSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3Rh
dGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJW
aWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5v
bmUpOwogCiAgICAgLy8gQ2hlY2sgIkFsbG93IFNjcmVlbiIKICAgICBbd2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07CkBAIC05NSw5ICsxNjEsNDIgQEAgVEVT
VChXZWJLaXQyLCBHZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW5Qcm9tcHQpCiAgICAgRVhQ
RUNUX1RSVUUoW3dlYlZpZXcgaGF2ZVN0cmVhbTpZRVNdKTsKICAgICBhdXRvIGxhYmVsID0gW3dl
YlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0cmVhbS5nZXRWaWRlb1RyYWNr
cygpWzBdLmxhYmVsIl07CiAgICAgRVhQRUNUX1dLX1NUUkVRKGxhYmVsLCBAIk1vY2sgc2NyZWVu
IGRldmljZSAxIik7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2Fw
dHVyZVN0YXRlOldLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZV0pOworICAgIEVYUEVDVF9UUlVF
KFtvYnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczpXS0Rpc3BsYXlDYXB0dXJl
U3VyZmFjZVNjcmVlbl0pOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVy
ZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVF
KFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVB
Y3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2Vz
XSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7CisgICAgRVhQRUNUX1RSVUUoW29i
c2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNl
U2NyZWVuKTsKKworICAgIC8vIE11dGUgYW5kIHVubXV0ZSBzY3JlZW4gY2FwdHVyZQorICAgIF9f
YmxvY2sgYm9vbCBjb21wbGV0aW9uQ2FsbGVkID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX3NldERp
c3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQgY29tcGxldGlvbkhh
bmRsZXI6XigpIHsKKyAgICAgICAgY29tcGxldGlvbkNhbGxlZCA9IHRydWU7CisgICAgfV07Cisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjb21wbGV0aW9uQ2FsbGVkKTsKKyAgICBFWFBF
Q1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVy
ZVN0YXRlTXV0ZWQpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0
YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCk7CisgICAgRVhQRUNUX1RSVUUoW3dl
YlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNl
U2NyZWVuKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNl
c10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworCisgICAgY29tcGxldGlvbkNh
bGxlZCA9IGZhbHNlOworICAgIFt3ZWJWaWV3IF9zZXREaXNwbGF5Q2FwdHVyZVN0YXRlOldLRGlz
cGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBj
b21wbGV0aW9uQ2FsbGVkID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmNvbXBsZXRpb25DYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNw
bGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVY
UEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0
dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7CisgICAgRVhQRUNU
X1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1
cmVTdXJmYWNlU2NyZWVuKTsKKworICAgIC8vIFN0b3AgYWxsIGNhcHR1cmUKKyAgICBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07CisgICAgRVhQRUNUX1RS
VUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0
ZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2Vz
XSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJW
aWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25lKTsK
KyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tE
aXNwbGF5Q2FwdHVyZVN1cmZhY2VOb25lKTsKIAogICAgIC8vIENoZWNrICJBbGxvdyBXaW5kb3ci
Ci0gICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0b3AoKSJdOwog
ICAgIFtkZWxlZ2F0ZSByZXNldFdhc1Byb21wdGVkXTsKICAgICBbd2ViVmlldyBfc2V0SW5kZXhP
ZkdldERpc3BsYXlNZWRpYURldmljZVNlbGVjdGVkRm9yVGVzdGluZzpAMF07CiAgICAgW2RlbGVn
YXRlIHNldEdldERpc3BsYXlNZWRpYURlY2lzaW9uOldLRGlzcGxheUNhcHR1cmVQZXJtaXNzaW9u
RGVjaXNpb25XaW5kb3dQcm9tcHRdOwpAQCAtMTA2LDkgKzIwNSwzOSBAQCBURVNUKFdlYktpdDIs
IEdldERpc3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVlblByb21wdCkKICAgICBFWFBFQ1RfVFJVRShb
d2ViVmlldyBoYXZlU3RyZWFtOllFU10pOwogICAgIGxhYmVsID0gW3dlYlZpZXcgc3RyaW5nQnlF
dmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmxhYmVsIl07
CiAgICAgRVhQRUNUX1dLX1NUUkVRKGxhYmVsLCBAIk1vY2sgd2luZG93IGRldmljZSAxIik7Cisg
ICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN0YXRlOldLRGlz
cGxheUNhcHR1cmVTdGF0ZUFjdGl2ZV0pOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciB3YWl0
Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczpXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvd10p
OworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rp
c3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNw
bGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVY
UEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlD
YXB0dXJlU3VyZmFjZVdpbmRvdyk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlD
YXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93KTsKKworICAg
IC8vIE11dGUgYW5kIHVubXV0ZQorICAgIGNvbXBsZXRpb25DYWxsZWQgPSBmYWxzZTsKKyAgICBb
d2ViVmlldyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRl
ZCBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBjb21wbGV0aW9uQ2FsbGVkID0gdHJ1
ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNvbXBsZXRpb25DYWxs
ZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBX
S0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRp
c3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKTsKKyAgICBF
WFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5
Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5
Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvdyk7CisKKyAg
ICBjb21wbGV0aW9uQ2FsbGVkID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX3NldERpc3BsYXlDYXB0
dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlIGNvbXBsZXRpb25IYW5kbGVyOl4o
KSB7CisgICAgICAgIGNvbXBsZXRpb25DYWxsZWQgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmY29tcGxldGlvbkNhbGxlZCk7CisgICAgRVhQRUNUX1RSVUUo
W3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFj
dGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09
IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcg
X2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93
KTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0g
V0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOwogCiAgICAgW3dlYlZpZXcgc3RyaW5nQnlF
dmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0b3AoKSJdOwogICAgIFt3ZWJWaWV3IF9zZXRJbmRleE9m
R2V0RGlzcGxheU1lZGlhRGV2aWNlU2VsZWN0ZWRGb3JUZXN0aW5nOm5pbF07CisKKyAgICBbd2Vi
VmlldyByZW1vdmVPYnNlcnZlcjpvYnNlcnZlci5nZXQoKSBmb3JLZXlQYXRoOkAiX2Rpc3BsYXlD
YXB0dXJlU3VyZmFjZXMiXTsKKyAgICBbd2ViVmlldyByZW1vdmVPYnNlcnZlcjpvYnNlcnZlci5n
ZXQoKSBmb3JLZXlQYXRoOkAiX2Rpc3BsYXlDYXB0dXJlU3RhdGUiXTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNkNWRlZTEwM2Y2NWU2ZTVhMjFkNDMyNmU0NjI5
YzFlNWE4NmQ3NjkuLmM1MzIyZmE5MmZmNDI2NTU1YjViNTdkODVlM2U1ODg5MjdjZTNmNGMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wMS0yOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJs
c29uQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIEV4cG9zZSBzY3JlZW4gYW5kIHdpbmRv
dyBjYXB0dXJlIHN0YXRlIHRvIFdLV2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1ODM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODIw
NzkyND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRtbDogVXBkYXRlIGZv
ciBuZXcgYW5kIHJlbmFtZWQgc3RhdGVzLgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vbWVk
aWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0OiBEaXR0by4KKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLmh0bWw6IERpdHRvLgorCiAyMDIy
LTAxLTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NT
IENvbnRhaW5lciBRdWVyaWVzXSBjb250YWluZXItdHlwZSBwcm9wZXJ0eSBzaG91bGQgZXN0YWJs
aXNoIGNvbnRhaW5tZW50IGZvciAnc2l6ZScgYW5kICdpbmxpbmUtc2l6ZScgdmFsdWVzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlh
LW11dGVkLmh0bWwKaW5kZXggYTAxYjI5ZWY4OWQzNDhhYjU4ZDZkNjM3MzcxYWY1MmNlM2U4OWZl
Mi4uYzg1ZGQ5NzQyZjEzNWZmNDk0MmU1OTZmM2M4N2IxYjA5NTViYTVjMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0
ZWQuaHRtbApAQCAtNDEsNyArNDEsNyBAQAogICAgICAgICAgICAgbGV0IHN0cmVhbSA9IGF3YWl0
IGNhbGxHZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTsKICAgICAgICAgICAgIGxldCBw
YWdlTWVkaWFTdGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpOwogCi0gICAgICAgICAg
ICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkRGlzcGxheUNh
cHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNNdXRlZERpc3Bs
YXlDYXB0dXJlRGV2aWNlJyk7CisgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3Rh
dGUuaW5jbHVkZXMoJ0hhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBk
b2VzIG5vdCBpbmNsdWRlIEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpOwogICAgICAgICAg
ICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZFZpZGVvQ2Fw
dHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVkVmlkZW9D
YXB0dXJlRGV2aWNlJyk7CiAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUu
aW5jbHVkZXMoJ0hhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMg
bm90IGluY2x1ZGUgSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UnKTsKIApAQCAtNTgsMTQgKzU4
LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKGBQYWdlIHN0
YXRlIGRpZCBub3QgY2hhbmdlIGZyb20gJHtwYWdlTWVkaWFTdGF0ZX1gKTsKIAogICAgICAgICAg
ICAgICAgICAgICBwYWdlTWVkaWFTdGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpOwot
ICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMo
J0hhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5j
bHVkZSBIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyk7Ci0gICAgICAgICAgICAgICAgICAg
IGFzc2VydF90cnVlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNBY3RpdmVEaXNwbGF5Q2Fw
dHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNsdWRlcyBIYXNBY3RpdmVEaXNwbGF5Q2FwdHVy
ZURldmljZScpOworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3Rh
dGUuaW5jbHVkZXMoJ0hhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBk
b2VzIG5vdCBpbmNsdWRlIEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpOworICAgICAgICAg
ICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzQWN0aXZl
U2NyZWVuQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNsdWRlcyBIYXNBY3RpdmVTY3Jl
ZW5DYXB0dXJlRGV2aWNlJyk7CiAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKQogICAgICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIHBhZ2VNZWRpYVN0YXRlID0gaW50ZXJuYWxz
LnBhZ2VNZWRpYVN0YXRlKCk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1lZGlh
U3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3Rh
dGUgaW5jbHVkZXMgSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpOwotICAgICAgICAgICAg
ICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzQWN0aXZlRGlzcGxh
eUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNBY3RpdmVE
aXNwbGF5Q2FwdHVyZURldmljZScpOworICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKHBhZ2VN
ZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ug
c3RhdGUgaW5jbHVkZXMgSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyk7CisgICAgICAgICAg
ICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNBY3RpdmVTY3Jl
ZW5DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzQWN0aXZl
U2NyZWVuQ2FwdHVyZURldmljZScpOwogICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRNZWRp
YVN0cmVhbVRyYWNrTXV0ZWQodHJhY2ssIGZhbHNlKQogICAgICAgICAgICAgfQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFt
LXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDkzZTdkZWM3NTk0MmJkODMwZTVkZTE3ZTE0
MmJlMGQzMmEyOTFhMmUuLjliOGFiYjE5YTdlZDRkZDFmMjUzY2Q1OGQ4NDE0MmMwNGNhMzRhZTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBh
Z2UtbXV0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
bWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0CkBAIC0xNiw4ICsxNiw4IEBAIEVW
RU5UOiBtdXRlCiBQQVNTIHNjcmVlbkNhcHR1cmVUcmFjay5tdXRlZCBpcyB0cnVlCiBQQVNTIG1p
Y3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgY2FtZXJhQ2FwdHVyZVRy
YWNrLm11dGVkIGlzIGZhbHNlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUo
KS5pbmNsdWRlcyhIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQotUEFT
UyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlRGlz
cGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBh
Z2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNh
bWUgdHJ1ZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMo
SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5p
bnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVE
ZXZpY2UpIGJlY2FtZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUo
KS5pbmNsdWRlcyhIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNT
IHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRp
b0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCkBAIC0yOSw4ICsyOSw4IEBAIEVWRU5UOiBtdXRl
CiBQQVNTIHNjcmVlbkNhcHR1cmVUcmFjay5tdXRlZCBpcyB0cnVlCiBQQVNTIG1pY3JvcGhvbmVD
YXB0dXJlVHJhY2subXV0ZWQgaXMgdHJ1ZQogUEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQg
aXMgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMo
SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKLVBBU1Mgd2luZG93Lmlu
dGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJl
RGV2aWNlKSBiZWNhbWUgZmFsc2UKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0
ZSgpLmluY2x1ZGVzKEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKK1BB
U1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZVNj
cmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBh
Z2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2Ft
ZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhI
YXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50
ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZp
Y2UpIGJlY2FtZSB0cnVlCkBAIC00Miw4ICs0Miw4IEBAIEVWRU5UOiB1bm11dGUKIFBBU1Mgc2Ny
ZWVuQ2FwdHVyZVRyYWNrLm11dGVkIGlzIHRydWUKIFBBU1MgbWljcm9waG9uZUNhcHR1cmVUcmFj
ay5tdXRlZCBpcyBmYWxzZQogUEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UK
LVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVk
RGlzcGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMu
cGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkg
YmVjYW1lIGZhbHNlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNs
dWRlcyhIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCitQQVNTIHdpbmRv
dy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVTY3JlZW5DYXB0
dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFT
dGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUK
IFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVk
QXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5w
YWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVj
YW1lIHRydWUKQEAgLTU0LDggKzU0LDggQEAgRVZFTlQ6IHVubXV0ZQogUEFTUyBzY3JlZW5DYXB0
dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgbWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRl
ZCBpcyBmYWxzZQogUEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKLVBBU1Mg
d2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZURpc3Bs
YXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VN
ZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1l
IGZhbHNlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhI
YXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQorUEFTUyB3aW5kb3cuaW50
ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2
aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgp
LmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKIFBBU1Mg
d2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkQXVkaW9D
YXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVk
aWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRy
dWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFt
LXBhZ2UtbXV0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3Ry
ZWFtLXBhZ2UtbXV0ZWQuaHRtbAppbmRleCA2ZDIxOWI3NzdjYjY5NzJkYTc0ODhmYzgwYzE5ZmM4
NGYxZmUzZDY5Li5jODExNDJjOWJlNmRlMDM4OGE2YWNiNmZmMmQ3OGZkZGZjNTQzNGU3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11
dGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0t
cGFnZS1tdXRlZC5odG1sCkBAIC0xMTQsNyArMTE0LDcgQEAKICAgICAgICAgICAgIHNob3VsZEJl
RmFsc2UoIm1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQiKTsKICAgICAgICAgICAgIHNob3Vs
ZEJlRmFsc2UoImNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCIpOwogCi0gICAgICAgICAgICBhd2Fp
dCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSIsICJIYXNBY3Rp
dmVEaXNwbGF5Q2FwdHVyZURldmljZSIpOworICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3Rh
dGUoIkhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVTY3JlZW5DYXB0dXJl
RGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlQXVk
aW9DYXB0dXJlRGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAg
ICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwg
Ikhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgIH0KQEAgLTEzMyw3ICsxMzMs
NyBAQAogICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11
dGVkIik7CiAgICAgICAgICAgICBzaG91bGRCZVRydWUoImNhbWVyYUNhcHR1cmVUcmFjay5tdXRl
ZCIpOwogCi0gICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0ZWREaXNwbGF5
Q2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIpOworICAgICAg
ICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSIs
ICJIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVj
a1BhZ2VTdGF0ZSgiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlQXVkaW9D
YXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0
ZWRWaWRlb0NhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlIik7CiAg
ICAgICAgIH0KQEAgLTE1Miw3ICsxNTIsNyBAQAogICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgi
bWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAgc2hvdWxkQmVGYWxz
ZSgiY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIik7CiAKLSAgICAgICAgICAgIGF3YWl0IGNoZWNr
UGFnZVN0YXRlKCJIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZURpc3Bs
YXlDYXB0dXJlRGV2aWNlIik7CisgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFz
TXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2Ui
KTsKICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1
cmVEZXZpY2UiLCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgICAgIGF3
YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFzTXV0
ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgfQpAQCAtMTcwLDcgKzE3MCw3IEBACiAg
ICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11dGVkIik7
CiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQiKTsK
IAotICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2ZURpc3BsYXlDYXB0
dXJlRGV2aWNlIiwgIkhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiKTsKKyAgICAgICAgICAg
IGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlIiwgIkhh
c011dGVkU2NyZWVuQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdl
U3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2FwdHVy
ZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2ZUF1
ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAgICAg
ICB9Cg==
</data>
<flag name="review"
          id="476850"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450466</attachid>
            <date>2022-01-31 14:32:28 -0800</date>
            <delta_ts>2022-01-31 16:47:44 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235838-20220131143227.patch</filename>
            <type>text/plain</type>
            <size>86717</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjM2M4MzlhNWEzY2M1
MTYwNzUzZDM0YTdiMjI4M2Y4NWM2NjFhZS4uN2U0ZWJlNjY1MzgxYTc5MTliZjU0NzA1OWVmZjkw
ZjE0ZWI3YWE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTAxLTI4ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gRXhw
b3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8gV0tXZWJWaWV3CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4MzgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBG
YWJsZXQuCisKKyAgICAgICAgVXBkYXRlZCBHZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4g
QVBJIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b01lZGlhRGV2aWNlSW5mb0tpbmQpOiBBZGQgU3lzdGVt
QXVkaW8uCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6c291cmNlQ2FwdHVyZVN0YXRlKTogRGlmZmVyZW50aWF0
ZSBzdGF0ZSBvZiB3aW5kb3cgYW5kIHNjcmVlbiBjYXB0dXJlIHRyYWNrcy4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUpOiBOZXcuCisg
ICAgICAgIChXZWJDb3JlOjp0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVyZUtpbmQpOiAK
KyAgICAgICAgKFdlYkNvcmU6OnRyYWNrTWF0Y2hlc0tpbmQpOiBEZWxldGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oOgorCisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbCk6IEluY2x1ZGUgbmV3IHNvdXJj
ZSB0eXBlcy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFF
bmRwb2ludDo6YWRkVHJhY2spOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01l
ZGlhRW5kcG9pbnQ6OmNyZWF0ZVNvdXJjZUFuZFJUQ1RyYWNrKToKKworICAgICAgICAqIHBhZ2Uv
TWVkaWFQcm9kdWNlci5oOgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJp
dmF0ZTo6c2VsZWN0VHJhY2tzKTogSW5jbHVkZSBuZXcgdHJhY2sgdHlwZXMuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6Y3JlYXRlKTogRGl0dG8uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2Vy
Q29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2E6
OmNhcHR1cmVEZXZpY2VXaXRoUGVyc2lzdGVudElEKTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2UubW06Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxzOjpwYWdlTWVkaWFTdGF0ZSk6IFVwZGF0ZSB3aXRoIG5ldyBhbmQgY2hhbmdlZCB0eXBl
IG5hbWVzLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzdG9wT2JzZXJ2aW5nUmVhbHRp
bWVNZWRpYVNvdXJjZSk6IEluY2x1ZGUgbmV3IHRyYWNrIHR5cGVzLgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayk6IERpdHRvLgorCiAyMDIyLTAx
LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENv
bnRhaW5lciBRdWVyaWVzXSBjb250YWluZXItdHlwZSBwcm9wZXJ0eSBzaG91bGQgZXN0YWJsaXNo
IGNvbnRhaW5tZW50IGZvciAnc2l6ZScgYW5kICdpbmxpbmUtc2l6ZScgdmFsdWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDk1ZmM0ZTRiNTJmMGE0YWFjNzM2NjU1YzA2MjMwNDNiZWNjMjY1ZjEuLjY5NTNmMTc5Mzll
OGEyYzBlZjVjZGZiYTQwMzkyMGRhZjQ5MDcyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODEgQEAK
KzIwMjItMDEtMjggIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBFeHBvc2Ugc2NyZWVuIGFuZCB3aW5kb3cgY2FwdHVyZSBzdGF0ZSB0byBX
S1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTgzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODgyMDc5MjQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHA6CisgICAgICAgIChXS1BhZ2VHZXRNZWRpYVN0YXRlKTogUmVuYW1lICpEaXNwbGF5Q2FwdHVy
ZURldmljZSB0byAqU2NyZWVuQ2FwdHVyZURldmljZS4gQWRkIGVudW1zCisgICAgICAgIGZvciB3
aW5kb3cgY2FwdHVyZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaDogRHJpdmUgYnk6
IGZpeCB0eXBvIGluIGhlYWRlciBkb2MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNldE1pY3JvcGhvbmVDYXB0dXJl
U3RhdGU6Y29tcGxldGlvbkhhbmRsZXI6XSk6IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpBdWRpbyAKKyAgICAgICAgd2FzIHJlbmFtZWQgdG8gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6Ok1pY3JvcGhvbmUuCisgICAgICAgICgtW1dLV2ViVmlldyBzZXRDYW1lcmFDYXB0dXJl
U3RhdGU6Y29tcGxldGlvbkhhbmRsZXI6XSk6IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpWaWRlbyAKKyAgICAgICAgd2FzIHJlbmFtZWQgdG8gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OkNhbWVyYS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zdG9wTWVkaWFDYXB0dXJlXSk6
IHN0b3BNZWRpYUNhcHR1cmUgdGFrZXMgYW4gb3B0aW9uU2V0LgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdKTogRXhwb3NlIHRoZSB0eXBlKHMpIG9mIGRpc3Bs
YXlzIHN1cmZhY2VzCisgICAgICAgIGJlaW5nIGNhcHR1cmVkLgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdKTogRXhwb3NlIHRoZSBkaXNwbGF5IGNhcHR1cmUgc3Rh
dGUuCisgICAgICAgICgtW1dLV2ViVmlldyBfc3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVdKTogRXhw
b3NlIHRoZSBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBzdGF0ZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3
IF9zZXREaXNwbGF5Q2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBDaGFuZ2UgdGhl
IGRpc3BsYXkKKyAgICAgICAgY2FwdHVyZSBzdGF0ZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXRTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogQ2hhbmdlIHRo
ZSBzeXN0ZW0gCisgICAgICAgIGF1ZGlvIGNhcHR1cmUgc3RhdGUuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3TWVkaWFD
YXB0dXJlU3RhdGVEaWRDaGFuZ2UpOiBNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrIC0+
IAorICAgICAgICBNZWRpYVByb2R1Y2VyOjpNaWNyb3Bob25lQ2FwdHVyZU1hc2suCisgICAgICAg
ICh3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKTogVXBkYXRlIGZvciBNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZCBjaGFuZ2VzLgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X3NldF9taWNyb3Bob25lX2NhcHR1cmVfc3RhdGUpOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdF93
ZWJfdmlld19zZXRfY2FtZXJhX2NhcHR1cmVfc3RhdGUpOiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6VmlkZW8gLT4gCisgICAgICAgIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpDYW1lcmEKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXRfZGlzcGxheV9jYXB0dXJlX3N0
YXRlKTogRGl0dG8uCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Rpc3BsYXlfY2FwdHVy
ZV9zdGF0ZSk6IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlIC0+Cisg
ICAgICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UuIE1lZGlhU3Rh
dGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgLT4KKyAgICAgICAgTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xp
ZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpk
aXNwbGF5Q2FwdHVyZVdpbGxDaGFuZ2UpOiBLVk8gc3VwcG9ydC4KKyAgICAgICAgKFdlYktpdDo6
UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc1dpbGxDaGFuZ2UpOiBE
aXR0by4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6c3lzdGVtQXVkaW9D
YXB0dXJlV2lsbENoYW5nZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1w
bENvY29hOjpkaXNwbGF5Q2FwdHVyZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6
UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQpOiBEaXR0
by4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6c3lzdGVtQXVkaW9DYXB0
dXJlQ2hhbmdlZCk6IERpdHRvLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRp
YUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0
dXJlTWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6U291cmNlUHJveHkpOiBTdXBwb3J0IG5ldyB0
eXBlcy4KKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6U291
cmNlUHJveHk6On5Tb3VyY2VQcm94eSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVk
aWFDYXB0dXJlTWFuYWdlclByb3h5OjpjcmVhdGVNZWRpYVNvdXJjZUZvckNhcHR1cmVEZXZpY2VX
aXRoQ29uc3RyYWludHMpOiBEaXR0by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0dXJlV2lsbENoYW5n
ZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0dXJlU3VyZmFjZXNX
aWxsQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6c3lzdGVtQXVkaW9DYXB0
dXJlV2lsbENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0
dXJlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0dXJl
U3VyZmFjZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6c3lzdGVtQXVk
aW9DYXB0dXJlQ2hhbmdlZCk6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6flVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5KToKKyAgICAgICAgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1
ZGlvVmlkZW8gLT4gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZC4KKyAg
ICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0
b3BDYXB0dXJlKTogRGl0dG8uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVSZXBvcnRlZE1lZGlhQ2Fw
dHVyZVN0YXRlKTogRGVhbCB3aXRoIG5ldyB0eXBlcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KToKKwog
MjAyMi0wMS0yNiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbTW9kZWxdIE1vdXNlIGludGVyYWN0aW9uIGZvciA8bW9kZWw+IGlzIGZsaXBwZWQgaW4gdGhl
IHktYXhpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YURldmljZXMuY3BwCmluZGV4IDFhZTUwZTlkNGJlYjA5NmUwYjAyMTY5NTRkZmY0NjY2YzUyMjNh
NWEuLjAwNGJiM2FiNmI1ZjgwZWMzZDU1MDBiN2ZhOTY3NDc3NjNhNDg1NDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKQEAg
LTI4MSw2ICsyODEsNyBAQCBzdGF0aWMgaW5saW5lIE1lZGlhRGV2aWNlSW5mbzo6S2luZCB0b01l
ZGlhRGV2aWNlSW5mb0tpbmQoQ2FwdHVyZURldmljZTo6RGV2aWNlVAogICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2
aWNlVHlwZTo6V2luZG93OgogICAgICAgICByZXR1cm4gTWVkaWFEZXZpY2VJbmZvOjpLaW5kOjpW
aWRlb2lucHV0OworICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVk
aW86CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAxNjA5MTk2
ZDEyNDQ2M2IwYzM2YmQ1NzhhMjUwMTBhNTM5ZDU1NGE2Li5lOTYzZGFkZjlmMWQxZTA4ZTRhODU3
MmY2NjdkZTcwMTljZjIyMjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTQzNiwxNCArNDM2LDIyIEBA
IE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3Mgc291cmNlQ2FwdHVyZVN0YXRlKFJlYWx0aW1l
TWVkaWFTb3VyY2UmIHNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKKyAgICAgICAgaWYgKHNv
dXJjZS5tdXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGlmIChzb3VyY2UuaW50ZXJy
dXB0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
SW50ZXJydXB0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBpZiAoc291cmNlLmlzUHJv
ZHVjaW5nRGF0YSgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBicmVhazsKICAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKICAgICAgICAgaWYgKHNvdXJjZS5t
dXRlZCgpKQotICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNN
dXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlOworICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2U7CiAgICAgICAgIGlmIChz
b3VyY2UuaW50ZXJydXB0ZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWREaXNwbGF5Q2FwdHVyZURldmljZTsKKyAgICAgICAgICAg
IHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0
dXJlRGV2aWNlOwogICAgICAgICBpZiAoc291cmNlLmlzUHJvZHVjaW5nRGF0YSgpKQotICAgICAg
ICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2Fw
dHVyZURldmljZTsKKyAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTUyMSw2
ICs1MjksNyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUo
KQogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgogICAgICAgICBt
X3ByaXZhdGUtPnNldE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVByb2R1
Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
QEAgLTUyOCwxNSArNTM3LDIwIEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9QYWdl
TXV0ZWRTdGF0ZSgpCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgdHJhY2tNYXRjaGVz
S2luZChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kIGtpbmQpCitzdGF0aWMgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQgdHJh
Y2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGUgdHlwZSkKIHsKLSAgICBzd2l0Y2ggKGtpbmQpIHsKLSAgICBjYXNlIE1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kOjpBdWRpbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW87Ci0gICAgY2FzZSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6QXVkaW9WaWRlbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgIT0gUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6Tm9uZTsKLSAgICBjYXNlIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kOjpWaWRlbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6VmlkZW87CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpNaWNyb3Bob25lOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6U3lzdGVtQXVkaW86CisgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6U3lzdGVtQXVkaW87CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpW
aWRlbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1l
cmE7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CisgICAgICAgIHJldHVybiBNZWRp
YVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheTsKKyAgICBjYXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6Ok5vbmU6CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpAQCAtNTQ1LDcgKzU1OSw5IEBAIHZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6ZW5kQ2FwdHVyZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLCiB7CiAgICAgYm9vbCBkaWRFbmRDYXB0dXJlID0gZmFsc2U7CiAgICAgZm9y
IChhdXRvKiBjYXB0dXJlVHJhY2sgOiBhbGxDYXB0dXJlVHJhY2tzKCkpIHsKLSAgICAgICAgaWYg
KGNhcHR1cmVUcmFjay0+ZG9jdW1lbnQoKSAhPSAmZG9jdW1lbnQgfHwgIXRyYWNrTWF0Y2hlc0tp
bmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2soKS50eXBlKCksIGtpbmQpKQorICAgICAgICBp
ZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpICE9ICZkb2N1bWVudCkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICBpZiAoa2luZCAhPSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZDo6RXZlcnlLaW5kICYmIGtpbmQgIT0gdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVL
aW5kKGNhcHR1cmVUcmFjay0+cHJpdmF0ZVRyYWNrKCkudHlwZSgpKSkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBjYXB0dXJlVHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRyYWNr
OjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKICAgICAgICAgZGlkRW5kQ2FwdHVyZSA9IHRydWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmNwcAppbmRleCA1MjdmYmI0YTI5YWQ3ZTEyZTkzMWRkM2E5MGMxZmYxYWI0MjEzZGEy
Li5lMTU3YWI5ZDc2OTFkNWE0NjE2YTkyYWJlZWY1NzdiNWNiMjQ1YmQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5j
cHAKQEAgLTI3MSw2ICsyNzEsMTUgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVh
bURpZEZhaWwoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlKQogICAgIGNhc2UgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86CiAgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJ2
aWRlbyI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6U2NyZWVuOgorICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAic2NyZWVuIjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CisgICAg
ICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJ3aW5kb3ciOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgorICAgICAgICB0eXBlRGVz
Y3JpcHRpb24gPSAic3lzdGVtIGF1ZGlvIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgogICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAi
dW5rbm93biI7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmNwcAppbmRleCBiZmMyNzA4MDMwOGVmZjJlNGJjMjQwNDMxNjNmMGY2MjU4YTRj
NDk0Li41YzNjMjJjNzU2NmUyMTlmMWUwMjRlMzVkOGYyYWVhOGIzMDIxNTZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENN
ZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcApAQCAtMjA0LDYgKzIwNCw5IEBA
IGJvb2wgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6YWRkVHJhY2soTGliV2ViUlRDUnRwU2VuZGVy
QmFja2VuZCYgc2VuZGVyLCBNZWRpYVN0CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUodmlkZW9T
b3VyY2UpOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpX
aW5kb3c6CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoK
ICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MTYsMTIgKzQxOSwx
NSBAQCBzdGQ6OnBhaXI8TGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZDo6U291cmNlLCBydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpNZWRpYVN0cgogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJj
ZTo6VHlwZTo6Tm9uZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzogewogICAgICAgICBhdXRv
IGF1ZGlvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpjcmVhdGUodHJhY2su
cHJpdmF0ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0
b3J5LT5DcmVhdGVBdWRpb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgYXVkaW9Tb3Vy
Y2UucHRyKCkpOwogICAgICAgICBzb3VyY2UgPSBXVEZNb3ZlKGF1ZGlvU291cmNlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2Ny
ZWVuOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgIGNh
c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsKICAgICAgICAgYXV0byB2aWRl
b1NvdXJjZSA9IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6Y3JlYXRlKHRyYWNrLnByaXZh
dGVUcmFjaygpKTsKICAgICAgICAgcnRjVHJhY2sgPSBtX3BlZXJDb25uZWN0aW9uRmFjdG9yeS0+
Q3JlYXRlVmlkZW9UcmFjayh0cmFjay5pZCgpLnV0ZjgoKS5kYXRhKCksIHZpZGVvU291cmNlLnB0
cigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFQcm9kdWNlci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgKaW5kZXggNGUxOWU4Y2Q3MWE2NTI5
Zjk4YWY2NDgyZTZjYTVhMDUyYjFmNzM5My4uZDY4ZTc1Mzk4MjgwYTE2NjA1N2I2MmNlZDc4YTI2
YTM2MjIzYjM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgKQEAgLTUwLDE2ICs1
MCwyNCBAQCBlbnVtIGNsYXNzIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlIDogdWludDMyX3Qgewog
ICAgIEhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlID0gMSA8PCAxNSwKICAgICBIYXNJ
bnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSA9IDEgPDwgMTYsCiAgICAgSGFzVXNlckludGVy
YWN0ZWRXaXRoTWVkaWFFbGVtZW50ID0gMSA8PCAxNywKLSAgICBIYXNBY3RpdmVEaXNwbGF5Q2Fw
dHVyZURldmljZSA9IDEgPDwgMTgsCi0gICAgSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSA9
IDEgPDwgMTksCi0gICAgSGFzSW50ZXJydXB0ZWREaXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwg
MjAsCisgICAgSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSA9IDEgPDwgMTgsCisgICAgSGFz
TXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlID0gMSA8PCAxOSwKKyAgICBIYXNJbnRlcnJ1cHRlZFNj
cmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDIwLAorICAgIEhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVE
ZXZpY2UgPSAxIDw8IDIxLAorICAgIEhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSA9IDEgPDwg
MjIsCisgICAgSGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlID0gMSA8PCAyMywKKyAg
ICBIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDI0LAorICAgIEhhc011
dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlID0gMSA8PCAyNSwKKyAgICBIYXNJbnRlcnJ1cHRl
ZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSA9IDEgPDwgMjYsCiB9OwogdXNpbmcgTWVkaWFQcm9k
dWNlck1lZGlhU3RhdGVGbGFncyA9IE9wdGlvblNldDxNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT47
CiAKIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQgOiB1aW50OF90IHsK
LSAgICBBdWRpbywKLSAgICBWaWRlbywKLSAgICBBdWRpb1ZpZGVvCisgICAgTWljcm9waG9uZSwK
KyAgICBDYW1lcmEsCisgICAgRGlzcGxheSwKKyAgICBTeXN0ZW1BdWRpbywKKyAgICBFdmVyeUtp
bmQsCiB9OwogCiBlbnVtIGNsYXNzIE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlIDogdWludDhfdCB7
CkBAIC02Nyw2ICs3NSw4IEBAIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck11dGVkU3RhdGUgOiB1
aW50OF90IHsKICAgICBBdWRpb0NhcHR1cmVJc011dGVkID0gMSA8PCAxLAogICAgIFZpZGVvQ2Fw
dHVyZUlzTXV0ZWQgPSAxIDw8IDIsCiAgICAgU2NyZWVuQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDMs
CisgICAgV2luZG93Q2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDQsCisgICAgU3lzdGVtQXVkaW9DYXB0
dXJlSXNNdXRlZCA9IDEgPDwgNCwKIH07CiB1c2luZyBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZUZs
YWdzID0gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlPjsKIApAQCAtNzgsMTkgKzg4
LDQ2IEBAIHB1YmxpYzoKICAgICB1c2luZyBNdXRlZFN0YXRlRmxhZ3MgPSBNZWRpYVByb2R1Y2Vy
TXV0ZWRTdGF0ZUZsYWdzOwogCiAgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3Mg
SXNOb3RQbGF5aW5nID0geyB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdz
IEF1ZGlvQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURl
dmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6
Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlIH07CisgICAgc3RhdGljIGNvbnN0ZXhw
ciBNZWRpYVN0YXRlRmxhZ3MgTWljcm9waG9uZUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpI
YXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0
dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSB9
OwogICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIFZpZGVvQ2FwdHVyZU1hc2sg
PSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkVmlk
ZW9DYXB0dXJlRGV2aWNlIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3Mg
RGlzcGxheUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVy
ZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSwgTWVkaWFT
dGF0ZTo6SGFzSW50ZXJydXB0ZWREaXNwbGF5Q2FwdHVyZURldmljZSB9OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIEFjdGl2ZUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRl
OjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVv
Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2Ug
fTsKLSAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNdXRlZENhcHR1cmVNYXNr
ID0geyBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxheUNh
cHR1cmVEZXZpY2UgfTsKLSAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNZWRp
YUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2Us
IE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJ
bnRlcnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9D
YXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVk
aWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhh
c0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZERpc3BsYXlD
YXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2
aWNlIH07CisKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBTY3JlZW5DYXB0
dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSwgTWVk
aWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRl
cnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlh
U3RhdGVGbGFncyBXaW5kb3dDYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2lu
ZG93Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNl
LCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UgfTsKKyAgICBz
dGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBBY3RpdmVEaXNwbGF5Q2FwdHVyZU1hc2sg
PSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6
Okhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1l
ZGlhU3RhdGVGbGFncyBNdXRlZERpc3BsYXlDYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFz
TXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1
cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBEaXNwbGF5
Q2FwdHVyZU1hc2sgPSB7IEFjdGl2ZURpc3BsYXlDYXB0dXJlTWFzayB8IE11dGVkRGlzcGxheUNh
cHR1cmVNYXNrIH07CisKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBTeXN0
ZW1BdWRpb0NhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0Nh
cHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNl
LCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSB9Owor
CisgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgQWN0aXZlQ2FwdHVyZU1hc2sg
PSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6
SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5D
YXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLCBN
ZWRpYVN0YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0
aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNdXRlZENhcHR1cmVNYXNrID0geyBNZWRpYVN0
YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRl
b0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwg
TWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNN
dXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSB9OworCisgICAgc3RhdGljIGNvbnN0ZXhwciBN
ZWRpYVN0YXRlRmxhZ3MgTWVkaWFDYXB0dXJlTWFzayA9IHsKKyAgICAgICAgTWVkaWFTdGF0ZTo6
SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNNdXRl
ZEF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRB
dWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2Fw
dHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZp
Y2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNl
LAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAg
ICAgICBNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIE1l
ZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU2NyZWVuQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVk
aWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0
ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNJ
bnRlcnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0Fj
dGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzTXV0
ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0ludGVy
cnVwdGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlCisgICAgfTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIE1lZGlhU3RhdGVGbGFncyBJc0NhcHR1cmluZ0F1ZGlvTWFzayA9IHsgTWljcm9waG9uZUNh
cHR1cmVNYXNrIHwgU3lzdGVtQXVkaW9DYXB0dXJlTWFzayB9OworICAgIHN0YXRpYyBjb25zdGV4
cHIgTWVkaWFTdGF0ZUZsYWdzIElzQ2FwdHVyaW5nVmlkZW9NYXNrID0geyBWaWRlb0NhcHR1cmVN
YXNrIHwgRGlzcGxheUNhcHR1cmVNYXNrIH07CiAKICAgICBzdGF0aWMgYm9vbCBpc0NhcHR1cmlu
ZyhNZWRpYVN0YXRlRmxhZ3Mgc3RhdGUpIHsgcmV0dXJuIHN0YXRlLmNvbnRhaW5zQW55KEFjdGl2
ZUNhcHR1cmVNYXNrKSB8fCBzdGF0ZS5jb250YWluc0FueShNdXRlZENhcHR1cmVNYXNrKTsgfQog
CiAgICAgdmlydHVhbCBNZWRpYVN0YXRlRmxhZ3MgbWVkaWFTdGF0ZSgpIGNvbnN0ID0gMDsKIAog
ICAgIHN0YXRpYyBjb25zdGV4cHIgTXV0ZWRTdGF0ZUZsYWdzIEF1ZGlvQW5kVmlkZW9DYXB0dXJl
SXNNdXRlZCA9IHsgTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6
VmlkZW9DYXB0dXJlSXNNdXRlZCB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTXV0ZWRTdGF0ZUZs
YWdzIE1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQgPSB7IE11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVy
ZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlNj
cmVlbkNhcHR1cmVJc011dGVkIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0YXRlRmxh
Z3MgTWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCA9IHsgTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJl
SXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6U2Ny
ZWVuQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011dGVkLCBNdXRl
ZFN0YXRlOjpTeXN0ZW1BdWRpb0NhcHR1cmVJc011dGVkIH07CiAKICAgICB2aXJ0dWFsIHZvaWQg
cGFnZU11dGVkU3RhdGVEaWRDaGFuZ2UoKSA9IDA7CiAKQEAgLTEwNSw5ICsxNDIsMTEgQEAgbmFt
ZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVl
czwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQsCi0gICAg
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbywKLSAgICAg
ICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvLAotICAgICAg
ICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbworICAg
ICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZSwK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkRpc3BsYXks
CisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0ZW1B
dWRpbywKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2
ZXJ5S2luZAogICAgID47CiB9OwogCkBAIC0xMzIsOSArMTcxLDE1IEBAIHRlbXBsYXRlPD4gc3Ry
dWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU+IHsKICAgICAg
ICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9D
YXB0dXJlRGV2aWNlLAogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsCiAgICAgICAgIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNVc2VySW50ZXJhY3RlZFdpdGhNZWRpYUVsZW1lbnQsCi0g
ICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5
Q2FwdHVyZURldmljZSwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6
Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlCisgICAg
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0
dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
TXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURl
dmljZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVk
V2luZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlh
U3RhdGU6Okhhc0ludGVycnVwdGVkV2luZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURl
dmljZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVk
U3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UKICAgICA+
OwogfTsKIApAQCAtMTQ0LDcgKzE4OSw5IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8
V2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU+IHsKICAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCwKICAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQsCiAgICAgICAgIFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkLAotICAgICAg
ICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQK
KyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJ
c011dGVkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6V2luZG93
Q2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRl
OjpTeXN0ZW1BdWRpb0NhcHR1cmVJc011dGVkCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5jcHAKaW5kZXggOWExZDA2YzgyMGM4ODk5Njg1Yjc1MjM3ZDU2NjNkMTMwZWQ2ODU1
My4uMTE5MzE3NzIyYzg5MWYyZTI0MjFjZTNlYjc2MDkyZDY4NzgwMTkzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZS5jcHAKQEAgLTQ0LDYgKzQ0LDggQEAgTWVkaWFSZWNvcmRlclByaXZhdGU6
OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJh
Y2sKICAgICAgICAgaWYgKHRyYWNrLmVuZGVkKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIHN3aXRjaCAodHJhY2sudHlwZSgpKSB7CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6U2NyZWVuOgorICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OldpbmRvdzoKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRl
bzogewogICAgICAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB0cmFjay5zZXR0aW5ncygpOwogICAg
ICAgICAgICAgaWYgKCFzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNrICYmIHNldHRpbmdzLnN1cHBv
cnRzV2lkdGgoKSAmJiBzZXR0aW5ncy5zdXBwb3J0c0hlaWdodCgpKQpAQCAtNTEsNiArNTMsNyBA
QCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6QXVkaW9WaWRlb1NlbGVjdGVkVHJhY2tzIE1lZGlhUmVj
b3JkZXJQcml2YXRlOjpzZWxlY3RUcmFjawogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgICAg
IGlmICghc2VsZWN0ZWRUcmFja3MuYXVkaW9UcmFjaykKICAgICAgICAgICAgICAgICBzZWxlY3Rl
ZFRyYWNrcy5hdWRpb1RyYWNrID0gJnRyYWNrOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmgKaW5k
ZXggZWQxYTM3MTM1NTY3MjZhMDkyMTAzNTUyZmQ4NDIwNTEwMmNkZTQ1NS4uNjI5NDVkOTZlMTZm
NzgyMzYwNThhNDk4NDVhZmI4NDAzOWIwNzUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2UuaApAQCAtMzEsNyArMzEsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhcHR1cmVEZXZpY2UgewogcHVibGljOgotICAg
IGVudW0gY2xhc3MgRGV2aWNlVHlwZSB7IFVua25vd24sIE1pY3JvcGhvbmUsIFNwZWFrZXIsIENh
bWVyYSwgU2NyZWVuLCBXaW5kb3cgfTsKKyAgICBlbnVtIGNsYXNzIERldmljZVR5cGUgeyBVbmtu
b3duLCBNaWNyb3Bob25lLCBTcGVha2VyLCBDYW1lcmEsIFNjcmVlbiwgV2luZG93LCBTeXN0ZW1B
dWRpbyB9OwogCiAgICAgQ2FwdHVyZURldmljZShjb25zdCBTdHJpbmcmIHBlcnNpc3RlbnRJZCwg
RGV2aWNlVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGdyb3Vw
SWQgPSBlbXB0eVN0cmluZygpLCBib29sIGlzRW5hYmxlZCA9IGZhbHNlLCBib29sIGlzRGVmYXVs
dCA9IGZhbHNlLCBib29sIGlzTW9jayA9IGZhbHNlKQogICAgICAgICA6IG1fcGVyc2lzdGVudElk
KHBlcnNpc3RlbnRJZCkKQEAgLTE5MSw3ICsxOTEsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU+IHsKICAgICAgICAgV2Vi
Q29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlciwKICAgICAgICAgV2ViQ29y
ZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhLAogICAgICAgICBXZWJDb3JlOjpD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW4sCi0gICAgICAgIFdlYkNvcmU6OkNhcHR1
cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdworICAgICAgICBXZWJDb3JlOjpDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3csCisgICAgICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6
OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaApp
bmRleCBjOTU5MjM0ZjY1OGE1MjY3NDBiZDc4MGRkOTlhNDcwNDc5Y2MxNThiLi5jYThjYzlkNTZh
NWRmMWFlYTJkYTJmYWZiZjExMWY4ZTEyMmVlMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCkBAIC0x
MTUsNyArMTE1LDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBwZXJzaXN0ZW50SUQo
KSBjb25zdCB7IHJldHVybiBtX3BlcnNpc3RlbnRJRDsgfQogCi0gICAgZW51bSBjbGFzcyBUeXBl
IHsgTm9uZSwgQXVkaW8sIFZpZGVvIH07CisgICAgZW51bSBjbGFzcyBUeXBlIHsgTm9uZSwgQXVk
aW8sIFZpZGVvLCBTY3JlZW4sIFdpbmRvdywgU3lzdGVtQXVkaW8gfTsKICAgICBUeXBlIHR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCB3aGVuUmVhZHko
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29j
b2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxh
eUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKaW5kZXggMmM4NTI2NjRkZTFlNjk0YjRmYzE4ZWMwOWEw
Yzc2M2M5MTI1ODZiYS4uNGU4N2I1YWViNTc3NDFmYjFjNWJkZDJjOTI1Y2U3NmE4ZjVlYTk0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlz
cGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKQEAgLTc4LDYg
Kzc4LDcgQEAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6
Y3JlYXRlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmkKICAgICAgICAgICAgIHJldHVybiBjcmVh
dGUoU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UsIGNvbnN0cmFp
bnRzKSwgZGV2aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOwogI2VuZGlmCiAg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVt
QXVkaW86CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgog
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENh
cHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1
cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDJhZGM5Mzc5MTFhOTlmODYwZDgyODY2ZGExNzM1N2M1
ZDJkOWRiMTUuLjUxZmYzYmI3OGMxZjgxMWMyN2E0MmRiMmMyZTEzMWQyNGY5YzQ1MjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2Fw
dHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hLmNwcApAQCAtMTI5LDYgKzEyOSw3
IEBAIHN0ZDo6b3B0aW9uYWw8Q2FwdHVyZURldmljZT4gRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29j
b2E6OmNhcHR1cmVEZXZpY2VXaXRoUGVyc2lzCiAgICAgICAgIHJldHVybiB3aW5kb3dDYXB0dXJl
RGV2aWNlV2l0aFBlcnNpc3RlbnRJRChpZCk7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYToKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU6Ok1pY3JvcGhvbmU6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpT
cGVha2VyOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlLm1tCmlu
ZGV4IDU1MzA4NTFjZDM5Zjg0NjYwZTJiM2FkOTQxNzFiMzg2YzEwZDM1YzUuLjI4N2U4NThlNTQ0
ZDNlOTljNGY0YTNhZTRhNWE1ZmE4NzI2YzhkMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuQ2Fw
dHVyZUtpdENhcHR1cmVTb3VyY2UubW0KQEAgLTU1LDEwICs1NSw2IEBAIHR5cGVkZWYgTlNfRU5V
TShOU0ludGVnZXIsIFdLU0NGcmFtZVN0YXR1cykgewogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV3VuZ3VhcmRlZC1hdmFp
bGFiaWxpdHktbmV3IgogCi1AaW50ZXJmYWNlIFNDU3RyZWFtIChTQ1N0cmVhbV9EZXByZWNhdGVk
KQotLSAodm9pZClzdGFydENhcHR1cmVXaXRoQ0ZyYW1lSGFuZGxlcjooU0NTdHJlYW1CdWZmZXJG
cmFtZUF2YWlsYWJsZUhhbmRsZXIpZnJhbWVIYW5kbGVyIGNvbXBsZXRpb25IYW5kbGVyOih2b2lk
ICheKShOU0Vycm9yICplcnJvcikpY29tcGxldGlvbkhhbmRsZXI7Ci1AZW5kCi0KIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogQGludGVyZmFjZSBXZWJDb3JlU2NyZWVuQ2FwdHVyZUtpdEhlbHBl
ciA6IE5TT2JqZWN0PFNDU3RyZWFtRGVsZWdhdGU+IHsKICAgICBXZWFrUHRyPFNjcmVlbkNhcHR1
cmVLaXRDYXB0dXJlU291cmNlPiBfY2FsbGJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3Bw
CmluZGV4IDVjODM0ZTM0ZDIyZTY1NDg0YzM4M2JjMzFmZDIyNzE3ZjlmNTA0ZjUuLjA5MmQyZmU2
MTE5MzQ4Zjk4NjVhODhmYjI3OTFlM2EyZDcxNGE0MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuY3BwCkBAIC0xOTYsNiArMTk2LDcgQEAgcHVibGljOgogICAgICAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmU6CiAgICAgICAgIGNhc2UgQ2FwdHVyZURldmlj
ZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpDYW1lcmE6CisgICAgICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6
U3lzdGVtQXVkaW86CiAgICAgICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5r
bm93bjoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNTRlY2Y1YzJiYjg0ZWZl
MGU3YTU5ZDMzNjgyMDIyNWMwZmY2ZjU2Ny4uODU2YjRlYWIzOWE4NzcwNTdkOGVkY2EyOGNhNWE5
OTM2NzA2MTQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNDczNiwy
MCArNDczNiw0MiBAQCBTdHJpbmcgSW50ZXJuYWxzOjpwYWdlTWVkaWFTdGF0ZSgpCiAgICAgICAg
IHN0cmluZy5hcHBlbmQoIkhhc1BsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5TGlzdGVuZXIsIik7
CiAgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNB
dWRpb09yVmlkZW8pKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBdWRpb09yVmlkZW8sIik7
CisKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0Fj
dGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwiKTsKLSAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSkpCi0gICAg
ICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSwiKTsKICAgICBp
ZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkQXVk
aW9DYXB0dXJlRGV2aWNlKSkKICAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzTXV0ZWRBdWRpb0Nh
cHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSkpCisgICAgICAgIHN0
cmluZy5hcHBlbmQoIkhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlLCIpOworCisgICAg
aWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVW
aWRlb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBY3RpdmVWaWRl
b0NhcHR1cmVEZXZpY2UsIik7CiAgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSkpCiAgICAgICAgIHN0cmlu
Zy5hcHBlbmQoIkhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5j
b250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRWaWRlb0Nh
cHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNJbnRlcnJ1cHRlZFZpZGVv
Q2FwdHVyZURldmljZSwiKTsKKwogICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1
Y2VyTWVkaWFTdGF0ZTo6SGFzVXNlckludGVyYWN0ZWRXaXRoTWVkaWFFbGVtZW50KSkKICAgICAg
ICAgc3RyaW5nLmFwcGVuZCgiSGFzVXNlckludGVyYWN0ZWRXaXRoTWVkaWFFbGVtZW50LCIpOwot
ICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0
aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UpKQotICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBY3Rp
dmVEaXNwbGF5Q2FwdHVyZURldmljZSwiKTsKLSAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpKQotICAg
ICAgICBzdHJpbmcuYXBwZW5kKCJIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlLCIpOworCisg
ICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3Rp
dmVTY3JlZW5DYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZl
U2NyZWVuQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSkpCisgICAgICAg
IHN0cmluZy5hcHBlbmQoIkhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwiKTsKKworICAgIGlm
IChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2lu
ZG93Q2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVdpbmRv
d0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJp
bmcuYXBwZW5kKCJIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRl
LmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFdpbmRv
d0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNJbnRlcnJ1cHRlZFdp
bmRvd0NhcHR1cmVEZXZpY2UsIik7CisKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSkpCisg
ICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwi
KTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgi
SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRlLmNvbnRh
aW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlv
Q2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0ludGVycnVwdGVkU3lz
dGVtQXVkaW9DYXB0dXJlRGV2aWNlLCIpOwogCiAgICAgaWYgKHN0cmluZy5pc0VtcHR5KCkpCiAg
ICAgICAgIHN0cmluZy5hcHBlbmQoIklzTm90UGxheWluZyIpOwpAQCAtNTQ0Miw5ICs1NDY0LDEy
IEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wT2JzZXJ2aW5nUmVhbHRpbWVNZWRpYVNvdXJjZSgpCiAK
ICAgICBzd2l0Y2ggKG1fdHJhY2tTb3VyY2UtPnR5cGUoKSkgewogICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgbV90cmFja1NvdXJjZS0+cmVtb3ZlQXVkaW9TYW1w
bGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6VmlkZW86CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAg
ICAgICAgIG1fdHJhY2tTb3VyY2UtPnJlbW92ZVZpZGVvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6
CkBAIC01NDY1LDkgKzU0OTAsMTIgQEAgdm9pZCBJbnRlcm5hbHM6Om9ic2VydmVNZWRpYVN0cmVh
bVRyYWNrKE1lZGlhU3RyZWFtVHJhY2smIHRyYWNrKQogICAgIG1fdHJhY2tTb3VyY2UtPmFkZE9i
c2VydmVyKCp0aGlzKTsKICAgICBzd2l0Y2ggKG1fdHJhY2tTb3VyY2UtPnR5cGUoKSkgewogICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86CisgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgbV90cmFja1NvdXJjZS0+
YWRkQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86CisgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpXaW5kb3c6CiAgICAgICAgIG1fdHJhY2tTb3VyY2UtPmFkZFZpZGVvU2FtcGxlT2JzZXJ2ZXIo
KnRoaXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6Ok5vbmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggODViMzkxMWNkMTc4ODEwMWZjZjkxOTY2OTFlZWU1
NzI2ODg5NzM3My4uMzQ0NDA4MThiNDk2MTY4NGQ1ZDQ5Y2M5YmEwNjk1Y2E4NThiMThmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcApAQCAtMTczLDYgKzE3Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCB3aWxsU3Rh
cnRDYXB0dXJlKENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUgdHlwZSkgY29uc3QgZmluYWwKICAg
ICB7CiAgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6
OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OlVua25vd246CiAgICAgICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6U3BlYWtlcjoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDUwOWI5YjI1ZjM5NGY2YjM2N2NiYjhkNjg3NTg3
YzE0ZDI4ODViNjAuLjIwYTFlMzAyZGRiZDJhNjFlM2M1YTJjZDVlZjExZDM1Yzk0YmZmYmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMjk2NiwxMCArMjk2
NiwxNCBAQCBXS01lZGlhU3RhdGUgV0tQYWdlR2V0TWVkaWFTdGF0ZShXS1BhZ2VSZWYgcGFnZSkK
ICAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZTsKICAg
ICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011
dGVkVmlkZW9DYXB0dXJlRGV2aWNlKQogICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc011dGVk
VmlkZW9DYXB0dXJlRGV2aWNlOwotICAgIGlmIChjb3JlU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UpCi0gICAgICAg
IHN0YXRlIHw9IGtXS01lZGlhSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2U7Ci0gICAgaWYg
KGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZERp
c3BsYXlDYXB0dXJlRGV2aWNlKQotICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc011dGVkRGlz
cGxheUNhcHR1cmVEZXZpY2U7CisgICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKQorICAgICAgICBz
dGF0ZSB8PSBrV0tNZWRpYUhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgaWYgKGNv
cmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVl
bkNhcHR1cmVEZXZpY2UpCisgICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0ZWRTY3JlZW5D
YXB0dXJlRGV2aWNlOworICAgIGlmIChjb3JlU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSkKKyAgICAgICAgc3RhdGUg
fD0ga1dLTWVkaWFIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlOworICAgIGlmIChjb3JlU3Rh
dGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0
dXJlRGV2aWNlKQorICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc011dGVkV2luZG93Q2FwdHVy
ZURldmljZTsKIAogICAgIHJldHVybiBzdGF0ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAppbmRleCBlMmVjMmVkMTRmYjUzNzllM2VkZjlmYzZj
ZGVhNWQxNWQwY2VmMmJlLi4yZGM0OWI0YzIxMTVmZWFhYTllZTRhNDBiMDlkMTAwODc5YjdhYjZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCkBA
IC0xNDYsOCArMTQ2LDEyIEBAIGVudW0gewogICAgIGtXS01lZGlhSGFzQWN0aXZlVmlkZW9DYXB0
dXJlRGV2aWNlID0gMSA8PCAzLAogICAgIGtXS01lZGlhSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZp
Y2UgPSAxIDw8IDQsCiAgICAga1dLTWVkaWFIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSA9IDEg
PDwgNSwKLSAgICBrV0tNZWRpYUhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8PCA2
LAotICAgIGtXS01lZGlhSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwgNywKKyAg
ICBrV0tNZWRpYUhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDYsCisgICAga1dL
TWVkaWFIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSA9IGtXS01lZGlhSGFzQWN0aXZlU2Ny
ZWVuQ2FwdHVyZURldmljZSwKKyAgICBrV0tNZWRpYUhhc011dGVkU2NyZWVuQ2FwdHVyZURldmlj
ZSA9IDEgPDwgNywKKyAgICBrV0tNZWRpYUhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgPSBr
V0tNZWRpYUhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwKKyAgICBrV0tNZWRpYUhhc0FjdGl2
ZVdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8IDgsCisgICAga1dLTWVkaWFIYXNNdXRlZFdpbmRv
d0NhcHR1cmVEZXZpY2UgPSAxIDw8IDksCiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS01lZGlhU3Rh
dGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaApp
bmRleCBlZDQ4ZWEzYzMyNDgyNTE2MTQ2ZmU1OWRlZmQ0M2VmMTFiZDY3ODJjLi41ZDllODZjN2U2
MTg5OTcwNDdmYmExNmZlMmFiZDNlYzkwZGM0NzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCkBAIC00MDYsNyArNDA2LDcgQEAgdHlwZWRlZiBO
U19FTlVNKE5TSW50ZWdlciwgV0tGdWxsc2NyZWVuU3RhdGUpIHsKIAogLyohIEBhYnN0cmFjdCBT
ZXQgbWljcm9waG9uZSBjYXB0dXJlIHN0YXRlIG9mIGEgV0tXZWJWaWV3LgogIEBwYXJhbSBzdGF0
ZSBzdGF0ZSB0byBhcHBseSBmb3IgY2FwdHVyZS4KLSBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIg
QSBibG9jayB0byBpbnZva2UgYWZ0ZXIgdGhlIGNhbWVyYSBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2Vk
LgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSBhZnRlciB0aGUg
bWljcm9waG9uZSBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2VkLgogIEBkaXNjdXNzaW9uCiAgSWYgdmFs
dWUgaXMgV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUsIHRoaXMgd2lsbCBzdG9wIGFueSBtaWNyb3Bo
b25lIGNhcHR1cmUuCiAgSWYgdmFsdWUgaXMgV0tNZWRpYUNhcHR1cmVTdGF0ZU11dGVkLCBhbnkg
YWN0aXZlIG1pY3JvcGhvbmUgY2FwdHVyZSB3aWxsIGJlY29tZSBtdXRlZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGNhY2FlYjQxZWIy
NjU1OWFjNTkwNTFiNDEyZDhlMWEyMGRiMzExNDQuLjZkNGY1ZTkwMTE4N2EwODUwMDVkMWIyZmZm
YzVlY2ZlOWZlOWQ0MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQpAQCAtMTA2OSw3ICsxMDY5LDcgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFj
a1N0YXRlIHRvV0tNZWRpYVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUg
bWUKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIgPSBbXSB7IH07CiAKICAgICBpZiAoc3RhdGUg
PT0gV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUpIHsKLSAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNh
cHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvLCBbY29t
cGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSB7CisgICAg
ICAgIF9wYWdlLT5zdG9wTWVkaWFDYXB0dXJlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpNaWNyb3Bob25lLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIo
Y29tcGxldGlvbkhhbmRsZXIpXSB7CiAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwog
ICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTA5MSw3ICsxMDkxLDcgQEAgc3RhdGlj
IFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvV0tNZWRpYVBsYXliYWNrU3RhdGUoV2ViS2l0OjpNZWRp
YVBsYXliYWNrU3RhdGUgbWUKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIgPSBbXSB7IH07CiAK
ICAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUpIHsKLSAgICAgICAgX3Bh
Z2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OlZpZGVvLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhh
bmRsZXIpXSB7CisgICAgICAgIF9wYWdlLT5zdG9wTWVkaWFDYXB0dXJlKFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmEsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1h
a2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CkBAIC0yMzMyLDcgKzIzMzIs
NyBAQCBzdGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+IHdrVGV4dE1hbmlwdWxhdGlvbkVycm9ycyhO
U0FycmF5PF9XS1RleHRNYW5pcHVsYXRpb25JdAogLSAodm9pZClfc3RvcE1lZGlhQ2FwdHVyZQog
ewogICAgIFRIUk9XX0lGX1NVU1BFTkRFRDsKLSAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbyk7CisgICAg
X3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OkV2ZXJ5S2luZCk7CiB9CiAKIC0gKHZvaWQpX3N0b3BBbGxNZWRpYVBsYXliYWNrCkBA
IC0zNzA2LDYgKzM3MDYsODMgQEAgc3RhdGljIGlubGluZSBPcHRpb25TZXQ8V2ViS2l0OjpGaW5k
T3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9ucyB3a0ZpbmQKICAgICBbc2VsZiBf
aW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZTp1cGRhdGVCbG9jayB3aXRob3V0
V2FpdGluZ0ZvclBhaW50aW5nOllFUyB3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOk5P
XTsKIH0KIAorLSAoV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzKSBfZGlzcGxheUNhcHR1cmVTdXJm
YWNlcworeworICAgIGF1dG8gcGFnZVN0YXRlID0gX3BhZ2UtPnJlcG9ydGVkTWVkaWFTdGF0ZSgp
OworICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcyBzdGF0ZSA9IFdLRGlzcGxheUNhcHR1cmVT
dXJmYWNlTm9uZTsKKyAgICBpZiAocGFnZVN0YXRlLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6OlNjcmVlbkNhcHR1cmVNYXNrKSkKKyAgICAgICAgc3RhdGUgfD0gV0tEaXNwbGF5
Q2FwdHVyZVN1cmZhY2VTY3JlZW47CisgICAgaWYgKHBhZ2VTdGF0ZS5jb250YWluc0FueShXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpXaW5kb3dDYXB0dXJlTWFzaykpCisgICAgICAgIHN0YXRlIHw9
IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93OworICAgIHJldHVybiBzdGF0ZTsKK30KKwor
LSAoV0tEaXNwbGF5Q2FwdHVyZVN0YXRlKSBfZGlzcGxheUNhcHR1cmVTdGF0ZQoreworICAgIGF1
dG8gc3RhdGUgPSBfcGFnZS0+cmVwb3J0ZWRNZWRpYVN0YXRlKCk7CisgICAgaWYgKHN0YXRlICYg
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QWN0aXZlRGlzcGxheUNhcHR1cmVNYXNrKQorICAgICAg
ICByZXR1cm4gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlOworICAgIGlmIChzdGF0ZSAmIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkRGlzcGxheUNhcHR1cmVNYXNrKQorICAgICAgICBy
ZXR1cm4gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQ7CisgICAgcmV0dXJuIFdLRGlzcGxheUNh
cHR1cmVTdGF0ZU5vbmU7Cit9CisKKy0gKFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUpX3N5c3Rl
bUF1ZGlvQ2FwdHVyZVN0YXRlCit7CisgICAgYXV0byBzdGF0ZSA9IF9wYWdlLT5yZXBvcnRlZE1l
ZGlhU3RhdGUoKTsKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFT
dGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlKQorICAgICAgICByZXR1cm4g
V0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZUFjdGl2ZTsKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZp
Y2UpCisgICAgICAgIHJldHVybiBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTXV0ZWQ7CisgICAg
cmV0dXJuIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVOb25lOworfQorCistICh2b2lkKV9zZXRE
aXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpc3RhdGUgY29tcGxldGlv
bkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgVEhST1df
SUZfU1VTUEVOREVEOworICAgIGlmICghY29tcGxldGlvbkhhbmRsZXIpCisgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyID0gW10geyB9OworCisgICAgaWYgKHN0YXRlID09IFdLRGlzcGxheUNhcHR1
cmVTdGF0ZU5vbmUpIHsKKyAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkRpc3BsYXksIFtjb21wbGV0aW9uSGFuZGxl
ciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKKyAgICAgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgY29uc3RleHByIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBkaXNw
bGF5TXV0ZWRGbGFncyA9IHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2Ny
ZWVuQ2FwdHVyZUlzTXV0ZWQsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6Oldp
bmRvd0NhcHR1cmVJc011dGVkIH07CisgICAgYXV0byBtdXRlZFN0YXRlID0gX3BhZ2UtPm11dGVk
U3RhdGVGbGFncygpOworICAgIGlmIChzdGF0ZSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3Rp
dmUpCisgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKGRpc3BsYXlNdXRlZEZsYWdzKTsKKyAgICBl
bHNlIGlmIChzdGF0ZSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCkKKyAgICAgICAgbXV0
ZWRTdGF0ZS5hZGQoZGlzcGxheU11dGVkRmxhZ3MpOworICAgIF9wYWdlLT5zZXRNdXRlZChtdXRl
ZFN0YXRlLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRs
ZXIpXSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgfSk7Cit9CisKKy0gKHZv
aWQpX3NldFN5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlOihXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRl
KXN0YXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxl
cgoreworICAgIFRIUk9XX0lGX1NVU1BFTkRFRDsKKyAgICBpZiAoIWNvbXBsZXRpb25IYW5kbGVy
KQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsgfTsKKworICAgIGlmIChzdGF0ZSA9
PSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTm9uZSkgeworICAgICAgICBfcGFnZS0+c3RvcE1l
ZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6U3lzdGVt
QXVkaW8sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxl
cildIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0pOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIGF1dG8gbXV0ZWRTdGF0ZSA9IF9wYWdlLT5tdXRlZFN0
YXRlRmxhZ3MoKTsKKyAgICBpZiAoc3RhdGUgPT0gV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZUFj
dGl2ZSkKKyAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11
dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011dGVkKTsKKyAgICBlbHNlIGlmIChzdGF0ZSA9PSBX
S1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTXV0ZWQpCisgICAgICAgIG11dGVkU3RhdGUuYWRkKFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpXaW5kb3dDYXB0dXJlSXNNdXRlZCk7Cisg
ICAgX3BhZ2UtPnNldE11dGVkKG11dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VC
bG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
KTsKKyAgICB9KTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IChXS0Rl
cHJlY2F0ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaAppbmRleCBjOWYxMjNjMDZiNzhlMGUzODZlZGRhODc1MzAyOWUwYzZh
YzMxMWU1Li5iNWM0YzUxNTc1MjZmN2ZiOWMyNDg5MmYyODg3NDUxNmY2ZjRhMjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmgKQEAgLTQyNyw2ICs0MjcsNjUgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAKIC0gKHZvaWQpX3Jl
cXVlc3RSZXNvdXJjZTooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBjb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCheKShOU0RhdGEgKiwgTlNVUkxSZXNwb25zZSAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25I
YW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CiAKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLRGlzcGxheUNhcHR1cmVTdGF0ZSkg
eworICAgIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUsCisgICAgV0tEaXNwbGF5Q2FwdHVyZVN0
YXRlQWN0aXZlLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkLAorfSBXS19BUElfQVZB
SUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCit0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlKSB7CisgICAgV0tTeXN0
ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmUsCisgICAgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZUFj
dGl2ZSwKKyAgICBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTXV0ZWQsCit9IFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK3R5cGVkZWYgTlNf
T1BUSU9OUyhOU1VJbnRlZ2VyLCBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpIHsKKyAgICBXS0Rp
c3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUgPSAwLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNl
U2NyZWVuID0gMHgxLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93ID0gMHgyLAor
fTsKKworLyohIEBhYnN0cmFjdCBUaGUgdHlwZShzKSBvZiBkaXNwbGF5cyBiZWluZyBjYXB0dXJl
ZCBvbiBhIHdlYiBwYWdlLgorIEBkaXNjdXNzaW9uIEBsaW5rIFdLV2ViVmlldyBAL2xpbmsgaXMg
a2V5LXZhbHVlIG9ic2VydmluZyAoS1ZPKSBjb21wbGlhbnQKKyBmb3IgdGhpcyBwcm9wZXJ0eS4K
KyAqLworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXMgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohIEBhYnN0cmFjdCBUaGUgc3RhdGUgb2Yg
ZGlzcGxheSBjYXB0dXJlIG9uIGEgd2ViIHBhZ2UuCisgQGRpc2N1c3Npb24gQGxpbmsgV0tXZWJW
aWV3IEAvbGluayBpcyBrZXktdmFsdWUgb2JzZXJ2aW5nIChLVk8pIGNvbXBsaWFudAorIGZvciB0
aGlzIHByb3BlcnR5LgorICovCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLRGlz
cGxheUNhcHR1cmVTdGF0ZSBfZGlzcGxheUNhcHR1cmVTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEgQGFic3RyYWN0IFRoZSBz
dGF0ZSBvZiBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBvbiBhIHdlYiBwYWdlLgorIEBkaXNjdXNzaW9u
IEBsaW5rIFdLV2ViVmlldyBAL2xpbmsgaXMga2V5LXZhbHVlIG9ic2VydmluZyAoS1ZPKSBjb21w
bGlhbnQKKyBmb3IgdGhpcyBwcm9wZXJ0eS4KKyAqLworQHByb3BlcnR5IChub25hdG9taWMsIHJl
YWRvbmx5KSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlIF9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwor
CisvKiEgQGFic3RyYWN0IFNldCBkaXNwbGF5IGNhcHR1cmUgc3RhdGUgb2YgYSBXS1dlYlZpZXcu
CisgQHBhcmFtIHN0YXRlIFN0YXRlIHRvIGFwcGx5IGZvciBjYXB0dXJlLgorIEBwYXJhbSBjb21w
bGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSBhZnRlciB0aGUgc2NyZWVuIHN0YXRlIGhh
cyBiZWVuIGNoYW5nZWQuCisgQGRpc2N1c3Npb24KKyBJZiB2YWx1ZSBpcyBXS0Rpc3BsYXlDYXB0
dXJlU3RhdGVOb25lLCB0aGlzIHdpbGwgc3RvcCBhbGwgZGlzcGxheSBjYXB0dXJlLgorIElmIHZh
bHVlIGlzIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkLCBhbGwgYWN0aXZlIGRpc3BsYXkgY2Fw
dHVyZXMgd2lsbCBiZWNvbWUgbXV0ZWQuCisgSWYgdmFsdWUgaXMgV0tEaXNwbGF5Q2FwdHVyZVN0
YXRlQWN0aXZlLCBhbGwgbXV0ZWQgZGlzcGxheSBjYXB0dXJlcyB3aWxsIGJlY29tZSBhY3RpdmUu
CisgKi8KKy0gKHZvaWQpX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6KFdLRGlzcGxheUNhcHR1cmVT
dGF0ZSlzdGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKKworLyohIEBhYnN0cmFjdCBTZXQgc3lzdGVtIGF1ZGlvIGNhcHR1cmUgc3RhdGUgb2YgYSBX
S1dlYlZpZXcuCisgQHBhcmFtIHN0YXRlIFN0YXRlIHRvIGFwcGx5IGZvciBzeXN0ZW0gYXVkaW8g
Y2FwdHVyZS4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2UgYWZ0
ZXIgdGhlIHN5c3RlbSBhdWRpbyBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2VkLgorIEBkaXNjdXNzaW9u
CisgSWYgdmFsdWUgaXMgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmUsIHRoaXMgd2lsbCBz
dG9wIGFueSBzeXN0ZW0gYXVkaW8gY2FwdHVyZS4KKyBJZiB2YWx1ZSBpcyBXS1N5c3RlbUF1ZGlv
Q2FwdHVyZVN0YXRlTXV0ZWQsIGFueSBhY3RpdmUgc3lzdGVtIGF1ZGlvIGNhcHR1cmUgd2lsbCBi
ZWNvbWUgbXV0ZWQuCisgSWYgdmFsdWUgaXMgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZUFjdGl2
ZSwgYW55IG11dGVkIHN5c3RlbSBhdWRpbyBjYXB0dXJlIHdpbGwgYmVjb21lIGFjdGl2ZS4KKyBA
bm90ZSBXaGVuIHN5c3RlbSBhdWRpbyBjYXB0dXJlIGlzIGFjdGl2ZSwgaWYgc2NyZWVuQ2FwdHVy
ZVN0YXRlIGlzIGFjdGl2ZSwgYWxsIHN5c3RlbSBhdWRpbyB3aWxsIGJlIGNhcHR1cmVkLgorIE90
aGVyd2lzZSwgaWYgd2luZG93Q2FwdHVyZVN0YXRlIGlzIGFjdGl2ZSwgb25seSB0aGUgYXBwbGlj
YXRpb24gd2hvc2Ugd2luZG93IGJlaW5nIGlzIGNhcHR1cmVkIHdpbGwgaGF2ZSBpdHMgYXVkaW8g
Y2FwdHVyZWQuCisgSWYgYm90aCBzY3JlZW5DYXB0dXJlU3RhdGUgYW5kIHdpbmRvd0NhcHR1cmVT
dGF0ZSBhcmUgTm9uZSBvciBNdXRlZCwgbm8gc3lzdGVtIGF1ZGlvIHdpbGwgYmUgY2FwdHVyZWQu
CisgKi8KKy0gKHZvaWQpX3NldFN5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlOihXS1N5c3RlbUF1ZGlv
Q2FwdHVyZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21w
bGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOworCiBAZW5kCiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDEwYTEw
OWZiOTIxZjVkYzIwZjA4YWNlNTI1OTVlZWRhNTVkNzE4MWEuLmM4OTNlOTFjMzk3MWI3ZTc3MWIw
NzUxZTVkZjAyNWQ0MTVmOWFiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCB3ZWJr
aXRXZWJWaWV3TWVkaWFDYXB0dXJlU3RhdGVEaWRDaGFuZ2UoV2ViS2l0V2ViVmlldyogd2ViVmll
dywgV2ViQ29yZTo6TWUKICAgICAgICAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjKEdfT0JKRUNU
KHdlYlZpZXcpLCBzT2JqUHJvcGVydGllc1tQUk9QX01JQ1JPUEhPTkVfQ0FQVFVSRV9TVEFURV0p
OwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmIChtZWRpYVN0YXRlRmxhZ3MuY29udGFp
bnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlTWFzaykpCisgICAgaWYg
KG1lZGlhU3RhdGVGbGFncy5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNaWNy
b3Bob25lQ2FwdHVyZU1hc2spKQogICAgICAgICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoR19P
QkpFQ1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfTUlDUk9QSE9ORV9DQVBUVVJFX1NU
QVRFXSk7CiAgICAgaWYgKG1lZGlhU3RhdGVGbGFncy5jb250YWluc0FueShXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKSkKICAgICAgICAgZ19vYmplY3Rfbm90aWZ5X2J5
X3BzcGVjKEdfT0JKRUNUKHdlYlZpZXcpLCBzT2JqUHJvcGVydGllc1tQUk9QX0NBTUVSQV9DQVBU
VVJFX1NUQVRFXSk7CkBAIC00ODY4LDcgKzQ4NjgsNyBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19z
ZXRfY29yc19hbGxvd2xpc3QoV2ViS2l0V2ViVmlldyogd2ViVmlldywgY29uc3QgZ2NoYXIqIGNv
bgogICAgIGdldFBhZ2Uod2ViVmlldykuc2V0Q09SU0Rpc2FibGluZ1BhdHRlcm5zKFdURk1vdmUo
YWxsb3dMaXN0VmVjdG9yKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25maWd1
cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhQ2FwdHVyZUtpbmQgY2FwdHVyZUtpbmQsIFdlYktpdE1lZGlhQ2FwdHVyZVN0YXRl
IGNhcHR1cmVTdGF0ZSwgYm9vbCBpc0Zyb21EaXNwbGF5Q2FwdHVyZSA9IGZhbHNlKQorc3RhdGlj
IHZvaWQgd2Via2l0V2ViVmlld0NvbmZpZ3VyZU1lZGlhQ2FwdHVyZShXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZCBjYXB0dXJlS2lu
ZCwgV2ViS2l0TWVkaWFDYXB0dXJlU3RhdGUgY2FwdHVyZVN0YXRlKQogewogICAgIGF1dG8mIHBh
Z2UgPSBnZXRQYWdlKHdlYlZpZXcpOwogICAgIGF1dG8gbXV0ZWRTdGF0ZSA9IHBhZ2UubXV0ZWRT
dGF0ZUZsYWdzKCk7CkBAIC00ODc3LDEzICs0ODc3LDE1IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdl
YlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViQ29y
ZTo6CiAgICAgY2FzZSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9OT05FOgogICAgICAgICBw
YWdlLnN0b3BNZWRpYUNhcHR1cmUoY2FwdHVyZUtpbmQsIFt3ZWJWaWV3LCBjYXB0dXJlS2luZF0g
ewogICAgICAgICAgICAgc3dpdGNoIChjYXB0dXJlS2luZCkgewotICAgICAgICAgICAgY2FzZSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW86CisgICAgICAgICAg
ICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25l
OgogICAgICAgICAgICAgICAgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYyhHX09CSkVDVCh3ZWJW
aWV3KSwgc09ialByb3BlcnRpZXNbUFJPUF9NSUNST1BIT05FX0NBUFRVUkVfU1RBVEVdKTsKICAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvOgorICAgICAgICAgICAgY2FzZSBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheToKKyAgICAgICAgICAgIGNhc2Ug
V2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYToKICAgICAgICAg
ICAgICAgICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoR19PQkpFQ1Qod2ViVmlldyksIHNPYmpQ
cm9wZXJ0aWVzW1BST1BfQ0FNRVJBX0NBUFRVUkVfU1RBVEVdKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OkF1ZGlvVmlkZW86CisgICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbzoKKyAgICAgICAgICAgIGNhc2UgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZDoKICAgICAgICAgICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICB9CkBAIC00ODkxLDE2ICs0ODkzLDE3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZp
ZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViQ29yZTo6
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV0VCS0lUX01FRElBX0NBUFRVUkVfU1RBVEVfQUNU
SVZFOgogICAgICAgICBzd2l0Y2ggKGNhcHR1cmVLaW5kKSB7Ci0gICAgICAgIGNhc2UgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvOgorICAgICAgICBjYXNlIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lOgogICAgICAg
ICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6VmlkZW86Ci0gICAgICAg
ICAgICBpZiAoaXNGcm9tRGlzcGxheUNhcHR1cmUpCi0gICAgICAgICAgICAgICAgbXV0ZWRTdGF0
ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVy
ZUlzTXV0ZWQpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG11dGVkU3RhdGUu
cmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlz
TXV0ZWQpOworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kOjpDYW1lcmE6CisgICAgICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kOjpEaXNwbGF5OgorICAgICAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OkF1ZGlvVmlkZW86CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OlN5c3RlbUF1ZGlvOgorICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQ6CiAgICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNDkwOCwx
NiArNDkxMSwxNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0
dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNvcmU6OgogICAgICAgICBicmVhazsKICAg
ICBjYXNlIFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX01VVEVEOgogICAgICAgICBzd2l0Y2gg
KGNhcHR1cmVLaW5kKSB7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6OkF1ZGlvOgorICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lOgogICAgICAgICAgICAgbXV0ZWRTdGF0ZS5hZGQo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7
CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TWVkaWFDYXB0dXJlS2luZDo6VmlkZW86Ci0gICAgICAgICAgICBpZiAoaXNGcm9tRGlzcGxheUNh
cHR1cmUpCi0gICAgICAgICAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBjYXNlIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmE6CisgICAgICAgICAgICBtdXRl
ZFN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1
cmVJc011dGVkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5OgorICAgICAgICAgICAgbXV0ZWRT
dGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVy
ZUlzTXV0ZWQpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvVmlkZW86CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlN5c3RlbUF1ZGlvOgorICAgICAg
ICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQ6
CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQpAQCAtNDk2NSw3ICs0OTY5LDcgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0
X2NhbWVyYV9jYXB0dXJlX3N0YXRlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdE1lZGkK
ICAgICBpZiAod2Via2l0X3dlYl92aWV3X2dldF9jYW1lcmFfY2FwdHVyZV9zdGF0ZSh3ZWJWaWV3
KSA9PSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9OT05FKQogICAgICAgICByZXR1cm47CiAK
LSAgICB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKHdlYlZpZXcsIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpWaWRlbywgc3RhdGUpOworICAgIHdlYmtp
dFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUod2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwgc3RhdGUpOwogfQogCiAvKioKQEAgLTUwMDcs
NyArNTAxMSw3IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9taWNyb3Bob25lX2NhcHR1cmVf
c3RhdGUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0CiAgICAgaWYgKHdlYmtpdF93ZWJf
dmlld19nZXRfbWljcm9waG9uZV9jYXB0dXJlX3N0YXRlKHdlYlZpZXcpID09IFdFQktJVF9NRURJ
QV9DQVBUVVJFX1NUQVRFX05PTkUpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYmtpdFdlYlZp
ZXdDb25maWd1cmVNZWRpYUNhcHR1cmUod2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvLCBzdGF0ZSk7CisgICAgd2Via2l0V2ViVmlld0NvbmZpZ3Vy
ZU1lZGlhQ2FwdHVyZSh3ZWJWaWV3LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6TWljcm9waG9uZSwgc3RhdGUpOwogfQogCiAvKioKQEAgLTUwMjQsOSArNTAyOCw5IEBA
IHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9taWNyb3Bob25lX2NhcHR1cmVfc3RhdGUoV2ViS2l0
V2ViVmlldyogd2ViVmlldywgV2ViS2l0CiBXZWJLaXRNZWRpYUNhcHR1cmVTdGF0ZSB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X2Rpc3BsYXlfY2FwdHVyZV9zdGF0ZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3
KQogewogICAgIGF1dG8gc3RhdGUgPSBnZXRQYWdlKHdlYlZpZXcpLnJlcG9ydGVkTWVkaWFTdGF0
ZSgpOwotICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGU6
Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKQorICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2Up
CiAgICAgICAgIHJldHVybiBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9BQ1RJVkU7Ci0gICAg
aWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZTo6SGFzTXV0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZSkKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpCiAgICAgICAgIHJl
dHVybiBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9NVVRFRDsKICAgICByZXR1cm4gV0VCS0lU
X01FRElBX0NBUFRVUkVfU1RBVEVfTk9ORTsKIH0KQEAgLTUwNDksNSArNTA1Myw1IEBAIHZvaWQg
d2Via2l0X3dlYl92aWV3X3NldF9kaXNwbGF5X2NhcHR1cmVfc3RhdGUoV2ViS2l0V2ViVmlldyog
d2ViVmlldywgV2ViS2l0TWVkCiAgICAgaWYgKHdlYmtpdF93ZWJfdmlld19nZXRfZGlzcGxheV9j
YXB0dXJlX3N0YXRlKHdlYlZpZXcpID09IFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX05PTkUp
CiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1
cmUod2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVv
LCBzdGF0ZSwgdHJ1ZSk7CisgICAgd2Via2l0V2ViVmlld0NvbmZpZ3VyZU1lZGlhQ2FwdHVyZSh3
ZWJWaWV3LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheSwg
c3RhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFn
ZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNs
aWVudEltcGxDb2NvYS5oCmluZGV4IDg2MGFhZjgyNWU2YmY1NTY0ZjgwNDczOGIzNTg1ZGVkYjBi
ZDkyYTIuLmEyMTdjMWY5ZWZiZTA0MGQ1NmE0ZjRiZWE1MWQ4NTZhNGI4N2NjODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgK
QEAgLTg0LDggKzg0LDE1IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbWljcm9waG9uZUNhcHR1cmVX
aWxsQ2hhbmdlKCkgZmluYWw7CiAgICAgdm9pZCBjYW1lcmFDYXB0dXJlV2lsbENoYW5nZSgpIGZp
bmFsOworICAgIHZvaWQgZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkgZmluYWw7CisgICAgdm9p
ZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgpIGZpbmFsOworICAgIHZvaWQgc3lz
dGVtQXVkaW9DYXB0dXJlV2lsbENoYW5nZSgpIGZpbmFsOworCiAgICAgdm9pZCBtaWNyb3Bob25l
Q2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKICAgICB2b2lkIGNhbWVyYUNhcHR1cmVDaGFuZ2VkKCkg
ZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKKyAgICB2b2lk
IGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKCkgZmluYWw7CisgICAgdm9pZCBzeXN0ZW1B
dWRpb0NhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CiAKICAgICBXaW5kb3dLaW5kIHdpbmRvd0tpbmQo
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFn
ZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VD
bGllbnRJbXBsQ29jb2EubW0KaW5kZXggNjBkYTNiNDUwMjE2YjA1OGY1YmM1ZDBjNTZjOGFkODAw
Y2Y2ZmNlMC4uNWQ1YjE0NjE1NWNlOGYxNjFlYjAzYTBlNWJiMzdlOTRkMzBjOTFlYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29h
Lm1tCkBAIC0xODMsNiArMTgzLDIxIEBAIHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6Y2FtZXJh
Q2FwdHVyZVdpbGxDaGFuZ2UoKQogICAgIFttX3dlYlZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5
OkAiY2FtZXJhQ2FwdHVyZVN0YXRlIl07CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6
ZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VW
YWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFnZUNsaWVu
dEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc1dpbGxDaGFuZ2UoKQoreworICAgIFtt
X3dlYlZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMi
XTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0ZW1BdWRpb0NhcHR1cmVXaWxs
Q2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAIl9zeXN0
ZW1BdWRpb0NhcHR1cmVTdGF0ZSJdOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6Om1p
Y3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpCiB7CiAgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1
ZUZvcktleTpAIm1pY3JvcGhvbmVDYXB0dXJlU3RhdGUiXTsKQEAgLTE5Myw2ICsyMDgsMjEgQEAg
dm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpCiAgICAgW21f
d2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImNhbWVyYUNhcHR1cmVTdGF0ZSJdOwogfQog
Cit2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpc3BsYXlDYXB0dXJlQ2hhbmdlZCgpCit7Cisg
ICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRl
Il07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNl
c0NoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJfZGlz
cGxheUNhcHR1cmVTdXJmYWNlcyJdOworfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OnN5
c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFs
dWVGb3JLZXk6QCJfc3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUiXTsKK30KKwogV2luZG93S2luZCBQ
YWdlQ2xpZW50SW1wbENvY29hOjp3aW5kb3dLaW5kKCkKIHsKICAgICBhdXRvIHdpbmRvdyA9IFtt
X3dlYlZpZXcgd2luZG93XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggYmRhZjk4
ZDEwZGQzNThiZGQ3YmY3OTMzYWJkMTQ4NjUwN2NjZWQ4Ni4uMmFmNzgyOTBmNTA3M2VhMWM5NzYx
OTcyMzhjZjU2MjRmNjlkOGExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTY2
LDkgKzY2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9zb3VyY2UtPmFkZE9ic2VydmVyKCp0aGlz
KTsKICAgICAgICAgc3dpdGNoIChtX3NvdXJjZS0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgICAgICBtX3NvdXJjZS0+YWRkQXVk
aW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKKyAgICAgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICAgICAgbV9zb3VyY2UtPmFkZFZpZGVvU2FtcGxl
T2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKQEAgLTgzLDkgKzg2LDEyIEBAIHB1YmxpYzoKIAog
ICAgICAgICBzd2l0Y2ggKG1fc291cmNlLT50eXBlKCkpIHsKICAgICAgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgICAgIG1fc291cmNlLT5yZW1vdmVBdWRp
b1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgorICAgICAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgICAgICBtX3NvdXJjZS0+cmVtb3ZlVmlkZW9TYW1w
bGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpAQCAtMjg4LDYgKzI5NCw3IEBAIHZvaWQgVXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Y3JlYXRlTWVkaWFTb3VyY2VGb3JDYXB0dXJlRGV2
aWNlV2l0aENvbnN0cmFpCiAgICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpXaW5kb3c6CiAgICAgICAgIHNvdXJjZU9yRXJyb3IgPSBSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyOjpzaW5nbGV0b24oKS5kaXNwbGF5Q2FwdHVyZUZhY3RvcnkoKS5jcmVhdGVEaXNwbGF5
Q2FwdHVyZVNvdXJjZShkZXZpY2UsIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7CiAg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpTcGVha2VyOgogICAgIGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6VW5rbm93bjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggNTE2OWQ3MWY1ODQwYjFhMmFjNDMyNDk2ODNhZTM4YWRl
N2JiMTE4Yy4uM2E3MTBmMWE3MWZlYWEzODQzMjE0ODg5MDlhMDljYjIzM2VmNDRjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNTY1LDggKzU2NSwxNCBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgbWljcm9waG9uZUNhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIGNhbWVyYUNhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9CisgICAgdmlydHVh
bCB2b2lkIGRpc3BsYXlDYXB0dXJlV2lsbENoYW5nZSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBk
aXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBz
eXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG1pY3Jv
cGhvbmVDYXB0dXJlQ2hhbmdlZCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBjYW1lcmFDYXB0dXJl
Q2hhbmdlZCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwbGF5Q2FwdHVyZUNoYW5nZWQoKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKSB7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgc3lzdGVtQXVkaW9DYXB0dXJlQ2hhbmdlZCgpIHsgfQogCiAgICAg
dmlydHVhbCB2b2lkIHZpZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCkgeyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRleCBlMGI1ZTI5NzgyMjg2ZjZhOTNiMmIz
YjRhMzVhY2E4YzA3NzA3ZWY3Li45ZjM2MzEwMTllOGE0Yzk1Y2M1NzJmYWVhY2U0NjFlNjRhOTYz
MjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCkBAIC05OSw3ICs5OSw3
IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eShXCiAKIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkoKQog
ewotICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BN
ZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbyB9
LCBbXSB7IH0pOworICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBh
Z2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZl
cnlLaW5kIH0sIFtdIHsgfSk7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBVc2VyTWVk
aWFQcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCkucmV2b2tlU2FuZGJveEV4dGVuc2lvbnNJZk5l
ZWRlZChwYWdlKCkucHJvY2VzcygpKTsKICAgICBwcm94aWVzKCkucmVtb3ZlKHRoaXMpOwpAQCAt
MTMzLDcgKzEzMyw3IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHk6OnN0b3BDYXB0dXJlKCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwogICAg
IGludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMoKTsKLSAgICBtX3BhZ2Uuc3RvcE1lZGlhQ2FwdHVy
ZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbyk7CisgICAgbV9wYWdl
LnN0b3BNZWRpYUNhcHR1cmUoTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2lu
ZCk7CiB9CiAKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmNh
cHR1cmVEZXZpY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAppbmRleCBmMjQwZmY0OTAyYmZhMWI2NDBjMDc0MmJiYjZhOWRjMjVjNzQwNzE3Li40NmI1
OTdlYmYwOTUwM2Q0NDdhNGQxN2ZhOTY4OGY2OWIxOGFhNTY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTk1OTcsMTMgKzk1OTcsMjUgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUoKQogCiAgICAgV0VCUEFH
RVBST1hZX1JFTEVBU0VfTE9HKFdlYlJUQywgInVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3Rh
dGU6IGZyb20gJWQgdG8gJWQiLCBtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUudG9SYXcoKSwg
YWN0aXZlQ2FwdHVyZVN0YXRlLnRvUmF3KCkpOwogCi0gICAgYm9vbCBtaWNyb3Bob25lQ2FwdHVy
ZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6
QXVkaW9DYXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6
OkF1ZGlvQ2FwdHVyZU1hc2spOworICAgIGJvb2wgbWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkID0g
KG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVD
YXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3Jv
cGhvbmVDYXB0dXJlTWFzayk7CiAgICAgYm9vbCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCA9IChtX3Jl
cG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNr
KSAhPSAoYWN0aXZlQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlTWFz
ayk7CisgICAgYm9vbCBkaXNwbGF5Q2FwdHVyZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2Fw
dHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6RGlzcGxheUNhcHR1cmVNYXNrKSAhPSAoYWN0aXZl
Q2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6RGlzcGxheUNhcHR1cmVNYXNrKTsKKyAgICBi
b29sIHN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0
YXRlICYgTWVkaWFQcm9kdWNlcjo6U3lzdGVtQXVkaW9DYXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNh
cHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OlN5c3RlbUF1ZGlvQ2FwdHVyZU1hc2spOworCisg
ICAgYXV0byByZXBvcnRlZERpc3BsYXlDYXB0dXJlU3VyZmFjZXMgPSBtX3JlcG9ydGVkTWVkaWFD
YXB0dXJlU3RhdGUgJiAoTWVkaWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZU1hc2sgfCBNZWRpYVBy
b2R1Y2VyOjpXaW5kb3dDYXB0dXJlTWFzayk7CisgICAgYXV0byBhY3RpdmVEaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VzID0gYWN0aXZlQ2FwdHVyZVN0YXRlICYgKE1lZGlhUHJvZHVjZXI6OlNjcmVlbkNh
cHR1cmVNYXNrIHwgTWVkaWFQcm9kdWNlcjo6V2luZG93Q2FwdHVyZU1hc2spOworICAgIGF1dG8g
ZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQgPSByZXBvcnRlZERpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXMgIT0gYWN0aXZlRGlzcGxheUNhcHR1cmVTdXJmYWNlczsKIAogICAgIGlmIChtaWNyb3Bo
b25lQ2FwdHVyZUNoYW5nZWQpCiAgICAgICAgIHBhZ2VDbGllbnQoKS5taWNyb3Bob25lQ2FwdHVy
ZVdpbGxDaGFuZ2UoKTsKICAgICBpZiAoY2FtZXJhQ2FwdHVyZUNoYW5nZWQpCiAgICAgICAgIHBh
Z2VDbGllbnQoKS5jYW1lcmFDYXB0dXJlV2lsbENoYW5nZSgpOworICAgIGlmIChkaXNwbGF5Q2Fw
dHVyZUNoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5kaXNwbGF5Q2FwdHVyZVdpbGxDaGFu
Z2UoKTsKKyAgICBpZiAoZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQpCisgICAgICAgIHBh
Z2VDbGllbnQoKS5kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgpOworICAgIGlmIChz
eXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuc3lzdGVtQXVk
aW9DYXB0dXJlV2lsbENoYW5nZSgpOwogCiAgICAgbV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRl
ID0gYWN0aXZlQ2FwdHVyZVN0YXRlOwogICAgIG1fdWlDbGllbnQtPm1lZGlhQ2FwdHVyZVN0YXRl
RGlkQ2hhbmdlKG1fbWVkaWFTdGF0ZSk7CkBAIC05NjEyLDYgKzk2MjQsMTIgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUoKQogICAgICAgICBwYWdl
Q2xpZW50KCkubWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkKCk7CiAgICAgaWYgKGNhbWVyYUNhcHR1
cmVDaGFuZ2VkKQogICAgICAgICBwYWdlQ2xpZW50KCkuY2FtZXJhQ2FwdHVyZUNoYW5nZWQoKTsK
KyAgICBpZiAoZGlzcGxheUNhcHR1cmVDaGFuZ2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuZGlz
cGxheUNhcHR1cmVDaGFuZ2VkKCk7CisgICAgaWYgKGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFu
Z2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQo
KTsKKyAgICBpZiAoc3lzdGVtQXVkaW9DYXB0dXJlQ2hhbmdlZCkKKyAgICAgICAgcGFnZUNsaWVu
dCgpLnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6
OnZpZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKaW5kZXggMGM4NjA2MGIzYzBiNDhjNWU2MDZmMTU4NTA2ODUzYTI2ZmYwMzA4
NC4uYTJmMjBhYWE1ZjY4N2JjNzIyZmMzMTZkYTcxZWNmM2RjOWUzYmM0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1NDAsOCArMTU0MCw4IEBAIHB1YmxpYzoK
IAogICAgIGVudW0gY2xhc3MgQ2FuRGVsYXlOb3RpZmljYXRpb24geyBObywgWWVzIH07CiAgICAg
dm9pZCB1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGVGbGFncywgQ2FuRGVsYXlOb3RpZmljYXRpb24gPSBDYW5EZWxheU5vdGlmaWNhdGlv
bjo6Tm8pOwotICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fbWVk
aWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVN
YXNrKTsgfQotICAgIGJvb2wgaXNDYXB0dXJpbmdWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fbWVk
aWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVN
YXNrKTsgfQorICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fbWVk
aWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpJc0NhcHR1cmluZ0F1
ZGlvTWFzayk7IH0KKyAgICBib29sIGlzQ2FwdHVyaW5nVmlkZW8oKSBjb25zdCB7IHJldHVybiBt
X21lZGlhU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6SXNDYXB0dXJp
bmdWaWRlb01hc2spOyB9CiAgICAgYm9vbCBoYXNBY3RpdmVBdWRpb1N0cmVhbSgpIGNvbnN0IHsg
cmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKTsgfQogICAgIGJvb2wgaGFzQWN0
aXZlVmlkZW9TdHJlYW0oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUuY29udGFpbnNBbnko
V2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURl
dmljZSk7IH0KICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZUZsYWdzIHJlcG9y
dGVkTWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0
ZSB8IChtX21lZGlhU3RhdGUgLSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYUNhcHR1cmVN
YXNrKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGVlMTQz
NGJkYTg3YjQzOTExNDVjNDY4OTUzNzA5NmQwNmFlMzk4ODAuLmUyNWQ4ZjNlNjkxNmRiYWM1YzNl
ODQ3OWVhNTdjMzI2NWU5MzA5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKQEAgLTE5NzYsNyArMTk3Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjaGVja0RvY3Vt
ZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBlCiB7CiAj
aWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIGlzQ2FwdHVyaW5nQXVkaW8gPSBXVEY6OmFueU9m
KERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS52YWx1ZXMoKSwgW10oYXV0byogZG9jdW1lbnQp
IHsKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tZWRpYVN0YXRlKCkgJiBNZWRpYVByb2R1Y2Vy
OjpBdWRpb0NhcHR1cmVNYXNrOworICAgICAgICByZXR1cm4gZG9jdW1lbnQtPm1lZGlhU3RhdGUo
KSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzazsKICAgICB9KTsKICAgICBi
b29sIGlzQ2FwdHVyaW5nVmlkZW8gPSBXVEY6OmFueU9mKERvY3VtZW50OjphbGxEb2N1bWVudHNN
YXAoKS52YWx1ZXMoKSwgW10oYXV0byogZG9jdW1lbnQpIHsKICAgICAgICAgcmV0dXJuIGRvY3Vt
ZW50LT5tZWRpYVN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGEyNDU5NDFj
ODEwMGYwYjFkMjNhMzdlZTY4MmZhMTAzNzVhYmYzOGYuLjVkZjFmZmM4ZmFmYzcwZGI0YzNhMTZi
N2E3NzE0YmJkOTZjMWZmNWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMi0wMS0yOCAgRXJpYyBDYXJsc29uICA8
ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIEV4cG9zZSBzY3JlZW4g
YW5kIHdpbmRvdyBjYXB0dXJlIHN0YXRlIHRvIFdLV2ViVmlldworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1ODM4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84ODIwNzkyND4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai94Y3NoYXJlZGRh
dGEveGNzY2hlbWVzL1Rlc3RXZWJLaXRBUEkueGNzY2hlbWU6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW06
CisgICAgICAgICgtW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIgb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0
aDpvZk9iamVjdDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAgICAgKC1bRGlzcGxheUNhcHR1cmVP
YnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdGF0ZTpdKToKKyAgICAgICAgKC1bRGlzcGxh
eUNhcHR1cmVPYnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczpdKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIyLTAxLTI2ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBDKysyMCB3YXJuaW5ncyBp
biBUZXN0Q29uc29sZU1lc3NhZ2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRT
Y3JlZW4ubW0KaW5kZXggNzNjMjE5MjhhN2YxNTZlZDQ5NTMyMzJhOTA3NmE5YTVjZWU3NjcxMC4u
MDBmMmNhZDQ1OWIwMTA3ZmRkMDljY2U5MjFkMmQyNTk2OTRiMmFjYyAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWFXaW5kb3dB
bmRTY3JlZW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9H
ZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW0KQEAgLTMzLDkgKzMzLDkgQEAKICNpbXBv
cnQgIlVzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1VJRGVsZWdhdGVQcml2YXRlLmg+
Ci0jaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3
Q29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Q
cml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8
V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+CiAKIEBpbnRlcmZhY2UgV2luZG93
QW5kU2NyZWVuQ2FwdHVyZVRlc3RWaWV3IDogVGVzdFdLV2ViVmlldwpAQCAtNTgsNiArNTgsNjIg
QEAKIH0KIEBlbmQKIAorQGludGVyZmFjZSBEaXNwbGF5Q2FwdHVyZU9ic2VydmVyIDogTlNPYmpl
Y3QgeworICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcyBfZGlzcGxheUNhcHR1cmVTdXJmYWNl
czsKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3RhdGUgX2Rpc3BsYXlDYXB0dXJlU3RhdGU7Cit9CisK
K0Bwcm9wZXJ0eSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGUgZGlzcGxheUNhcHR1cmVTdGF0ZTsKK0Bw
cm9wZXJ0eSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgZGlzcGxheUNhcHR1cmVTdXJmYWNlczsK
KworLSAodm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmluZyAqKWtleVBhdGggb2ZP
YmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFyeTxOU1N0cmluZyAqLCBpZD4gKilj
aGFuZ2UgY29udGV4dDoodm9pZCAqKWNvbnRleHQ7CistIChCT09MKXdhaXRGb3JEaXNwbGF5Q2Fw
dHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpZXhwZWN0ZWRTdGF0ZTsKKy0gKEJPT0wp
d2FpdEZvckRpc3BsYXlDYXB0dXJlU3VyZmFjZXM6KFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcyll
eHBlY3RlZFN0YXRlOworQGVuZAorCitAaW1wbGVtZW50YXRpb24gRGlzcGxheUNhcHR1cmVPYnNl
cnZlcgorCitAc3ludGhlc2l6ZSBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzID0gX2Rpc3BsYXlDYXB0
dXJlU3VyZmFjZXM7CitAc3ludGhlc2l6ZSBkaXNwbGF5Q2FwdHVyZVN0YXRlID0gX2Rpc3BsYXlD
YXB0dXJlU3RhdGU7CisKKy0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDooTlNTdHJpbmcg
KilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmplY3QgY2hhbmdlOihOU0RpY3Rpb25hcnk8TlNTdHJp
bmcgKiwgaWQ+ICopY2hhbmdlIGNvbnRleHQ6KHZvaWQgKiljb250ZXh0Cit7CisgICAgRVhQRUNU
X1RSVUUoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOk5TU3RyaW5nRnJvbVNlbGVjdG9yKEBzZWxl
Y3RvcihfZGlzcGxheUNhcHR1cmVTdXJmYWNlcykpXSB8fCBba2V5UGF0aCBpc0VxdWFsVG9TdHJp
bmc6TlNTdHJpbmdGcm9tU2VsZWN0b3IoQHNlbGVjdG9yKF9kaXNwbGF5Q2FwdHVyZVN0YXRlKSld
KTsKKworICAgIGlmIChba2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6TlNTdHJpbmdGcm9tU2VsZWN0
b3IoQHNlbGVjdG9yKF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzKSldKSB7CisgICAgICAgIF9kaXNw
bGF5Q2FwdHVyZVN1cmZhY2VzID0gKFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcylbW2NoYW5nZSBv
YmplY3RGb3JLZXk6TlNLZXlWYWx1ZUNoYW5nZU5ld0tleV0gdW5zaWduZWRJbnRlZ2VyVmFsdWVd
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIF9kaXNwbGF5Q2FwdHVyZVN0YXRlID0gKFdL
RGlzcGxheUNhcHR1cmVTdGF0ZSlbW2NoYW5nZSBvYmplY3RGb3JLZXk6TlNLZXlWYWx1ZUNoYW5n
ZU5ld0tleV0gdW5zaWduZWRJbnRlZ2VyVmFsdWVdOworfQorCitzdGF0aWMgY29uc3RleHByIHVu
c2lnbmVkIHN0YXRlQ2hhbmdlUXVlcnlNYXhDb3VudCA9IDMwOworCistIChCT09MKXdhaXRGb3JE
aXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpZXhwZWN0ZWRTdGF0ZQor
eworICAgIHVuc2lnbmVkIHRyaWVzID0gMDsKKyAgICBkbyB7CisgICAgICAgIGlmIChleHBlY3Rl
ZFN0YXRlID09IF9kaXNwbGF5Q2FwdHVyZVN0YXRlKQorICAgICAgICAgICAgcmV0dXJuIFlFUzsK
KyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC4xKTsKKyAgICB9IHdoaWxlICgr
K3RyaWVzIDw9IHN0YXRlQ2hhbmdlUXVlcnlNYXhDb3VudCk7CisKKyAgICByZXR1cm4gZXhwZWN0
ZWRTdGF0ZSA9PSBfZGlzcGxheUNhcHR1cmVTdGF0ZTsKK30KKworLSAoQk9PTCl3YWl0Rm9yRGlz
cGxheUNhcHR1cmVTdXJmYWNlczooV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzKWV4cGVjdGVkU3Rh
dGUKK3sKKyAgICB1bnNpZ25lZCB0cmllcyA9IDA7CisgICAgZG8geworICAgICAgICBpZiAoZXhw
ZWN0ZWRTdGF0ZSA9PSBfZGlzcGxheUNhcHR1cmVTdXJmYWNlcykKKyAgICAgICAgICAgIHJldHVy
biBZRVM7CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMSk7CisgICAgfSB3
aGlsZSAoKyt0cmllcyA8PSBzdGF0ZUNoYW5nZVF1ZXJ5TWF4Q291bnQpOworCisgICAgcmV0dXJu
IGV4cGVjdGVkU3RhdGUgPT0gX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXM7Cit9CitAZW5kCisKIG5h
bWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogVEVTVChXZWJLaXQyLCBHZXREaXNwbGF5TWVkaWFX
aW5kb3dBbmRTY3JlZW5Qcm9tcHQpCkBAIC03NywxMyArMTMzLDIzIEBAIFRFU1QoV2ViS2l0Miwg
R2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuUHJvbXB0KQogICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tXaW5kb3dBbmRTY3JlZW5DYXB0dXJlVGVzdFZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0
aW9uLmdldCgpXSk7CiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07
CiAKKyAgICBhdXRvIG9ic2VydmVyID0gYWRvcHROUyhbW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIg
YWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBhZGRPYnNlcnZlcjpvYnNlcnZlci5nZXQoKSBm
b3JLZXlQYXRoOkAiX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMiIG9wdGlvbnM6TlNLZXlWYWx1ZU9i
c2VydmluZ09wdGlvbk5ldyBjb250ZXh0Om5pbF07CisgICAgW3dlYlZpZXcgYWRkT2JzZXJ2ZXI6
b2JzZXJ2ZXIuZ2V0KCkgZm9yS2V5UGF0aDpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRlIiBvcHRpb25z
Ok5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgY29udGV4dDpuaWxdOworCiAgICAgW3dlYlZp
ZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiZ2V0RGlzcGxheU1lZGlhIl07Cisg
ICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxh
eUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUpOworICAgIEVYUEVD
VF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJl
U3RhdGVOb25lKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJm
YWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VOb25lKTsKIAogICAgIC8vIENoZWNrICJE
b27igJl0IEFsbG93IgogICAgIFtkZWxlZ2F0ZSBzZXRHZXREaXNwbGF5TWVkaWFEZWNpc2lvbjpX
S0Rpc3BsYXlDYXB0dXJlUGVybWlzc2lvbkRlY2lzaW9uRGVueV07CiAgICAgW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInByb21wdEZvckNhcHR1cmUoeyB2aWRlbyA6IHRy
dWUgfSkiXTsKICAgICBbZGVsZWdhdGUgd2FpdFVudGlsUHJvbXB0ZWRdOwogICAgIEVYUEVDVF9U
UlVFKFt3ZWJWaWV3IGhhdmVTdHJlYW06Tk9dKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBf
ZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSk7CisgICAg
RVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxh
eUNhcHR1cmVTdXJmYWNlTm9uZSk7CiAKICAgICAvLyBDaGVjayAiQWxsb3cgU2NyZWVuIgogICAg
IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJzdG9wKCkiXTsKQEAgLTk1
LDkgKzE2MSw0MiBAQCBURVNUKFdlYktpdDIsIEdldERpc3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVl
blByb21wdCkKICAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBoYXZlU3RyZWFtOllFU10pOwogICAg
IGF1dG8gbGFiZWwgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3Ry
ZWFtLmdldFZpZGVvVHJhY2tzKClbMF0ubGFiZWwiXTsKICAgICBFWFBFQ1RfV0tfU1RSRVEobGFi
ZWwsIEAiTW9jayBzY3JlZW4gZGV2aWNlIDEiKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIg
d2FpdEZvckRpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlXSk7
CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN1cmZhY2Vz
OldLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuXSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZp
ZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7
CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlz
cGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuKTsKKyAg
ICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNw
bGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworCisgICAgLy8gTXV0ZSBhbmQgdW5tdXRlIHNjcmVl
biBjYXB0dXJlCisgICAgX19ibG9jayBib29sIGNvbXBsZXRpb25DYWxsZWQgPSBmYWxzZTsKKyAg
ICBbd2ViVmlldyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpXS0Rpc3BsYXlDYXB0dXJlU3RhdGVN
dXRlZCBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBjb21wbGV0aW9uQ2FsbGVkID0g
dHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNvbXBsZXRpb25D
YWxsZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9
PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVy
IGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKTsKKyAg
ICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNw
bGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNw
bGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7CisK
KyAgICBjb21wbGV0aW9uQ2FsbGVkID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX3NldERpc3BsYXlD
YXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlIGNvbXBsZXRpb25IYW5kbGVy
Ol4oKSB7CisgICAgICAgIGNvbXBsZXRpb25DYWxsZWQgPSB0cnVlOworICAgIH1dOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY29tcGxldGlvbkNhbGxlZCk7CisgICAgRVhQRUNUX1RS
VUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0
ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVd
ID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZp
ZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2Ny
ZWVuKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10g
PT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworCisgICAgLy8gU3RvcCBhbGwgY2Fw
dHVyZQorICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJzdG9wKCki
XTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tE
aXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3Bs
YXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlTm9uZSk7CisgICAg
RVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNh
cHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUpOwogCiAgICAgLy8gQ2hl
Y2sgIkFsbG93IFdpbmRvdyIKLSAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0OkAic3RvcCgpIl07CiAgICAgW2RlbGVnYXRlIHJlc2V0V2FzUHJvbXB0ZWRdOwogICAgIFt3
ZWJWaWV3IF9zZXRJbmRleE9mR2V0RGlzcGxheU1lZGlhRGV2aWNlU2VsZWN0ZWRGb3JUZXN0aW5n
OkAwXTsKICAgICBbZGVsZWdhdGUgc2V0R2V0RGlzcGxheU1lZGlhRGVjaXNpb246V0tEaXNwbGF5
Q2FwdHVyZVBlcm1pc3Npb25EZWNpc2lvbldpbmRvd1Byb21wdF07CkBAIC0xMDYsOSArMjA1LDM5
IEBAIFRFU1QoV2ViS2l0MiwgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuUHJvbXB0KQog
ICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IGhhdmVTdHJlYW06WUVTXSk7CiAgICAgbGFiZWwgPSBb
d2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RyZWFtLmdldFZpZGVvVHJh
Y2tzKClbMF0ubGFiZWwiXTsKICAgICBFWFBFQ1RfV0tfU1RSRVEobGFiZWwsIEAiTW9jayB3aW5k
b3cgZGV2aWNlIDEiKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlD
YXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlXSk7CisgICAgRVhQRUNUX1RS
VUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzOldLRGlzcGxheUNhcHR1
cmVTdXJmYWNlV2luZG93XSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0
dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RS
VUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0
ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFj
ZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93KTsKKyAgICBFWFBFQ1RfVFJVRShb
b2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZh
Y2VXaW5kb3cpOworCisgICAgLy8gTXV0ZSBhbmQgdW5tdXRlCisgICAgY29tcGxldGlvbkNhbGxl
ZCA9IGZhbHNlOworICAgIFt3ZWJWaWV3IF9zZXREaXNwbGF5Q2FwdHVyZVN0YXRlOldLRGlzcGxh
eUNhcHR1cmVTdGF0ZU11dGVkIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAgIGNvbXBs
ZXRpb25DYWxsZWQgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmY29tcGxldGlvbkNhbGxlZCk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlD
YXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKTsKKyAgICBFWFBFQ1Rf
VFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0
YXRlTXV0ZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZh
Y2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvdyk7CisgICAgRVhQRUNUX1RSVUUo
W29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJm
YWNlV2luZG93KTsKKworICAgIGNvbXBsZXRpb25DYWxsZWQgPSBmYWxzZTsKKyAgICBbd2ViVmll
dyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUgY29t
cGxldGlvbkhhbmRsZXI6XigpIHsKKyAgICAgICAgY29tcGxldGlvbkNhbGxlZCA9IHRydWU7Cisg
ICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZjb21wbGV0aW9uQ2FsbGVkKTsK
KyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNw
bGF5Q2FwdHVyZVN0YXRlQWN0aXZlKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxh
eUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlKTsKKyAgICBFWFBF
Q1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VXaW5kb3cpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvdyk7CiAKICAgICBb
d2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07CiAgICAgW3dl
YlZpZXcgX3NldEluZGV4T2ZHZXREaXNwbGF5TWVkaWFEZXZpY2VTZWxlY3RlZEZvclRlc3Rpbmc6
bmlsXTsKKworICAgIFt3ZWJWaWV3IHJlbW92ZU9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktl
eVBhdGg6QCJfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyJdOworICAgIFt3ZWJWaWV3IHJlbW92ZU9i
c2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktleVBhdGg6QCJfZGlzcGxheUNhcHR1cmVTdGF0ZSJd
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2Q1ZGVlMTAzZjY1
ZTZlNWEyMWQ0MzI2ZTQ2MjljMWU1YTg2ZDc2OS4uZDcyNDZkYmI3YjBkZmI4ZjVlYjQxMjM4ZTEy
NjY5ODljNWI4ZDM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAxLTI4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gRXhwb3Nl
IHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8gV0tXZWJWaWV3CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4MzgKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJs
ZXQuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVk
Lmh0bWw6IFVwZGF0ZSBmb3IgbmV3IGFuZCByZW5hbWVkIHN0YXRlcy4KKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLWV4cGVjdGVkLnR4dDogRGl0dG8u
CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC5odG1s
OiBEaXR0by4KKwogMjAyMi0wMS0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10gY29udGFpbmVyLXR5cGUgcHJvcGVy
dHkgc2hvdWxkIGVzdGFibGlzaCBjb250YWlubWVudCBmb3IgJ3NpemUnIGFuZCAnaW5saW5lLXNp
emUnIHZhbHVlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQt
ZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9n
ZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sCmluZGV4IGEwMWIyOWVmODlkMzQ4YWI1OGQ2ZDYz
NzM3MWFmNTJjZTNlODlmZTIuLmM4NWRkOTc0MmYxMzVmZjQ5NDJlNTk2ZjNjODdiMWIwOTU1YmE1
YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vZ2V0LWRpc3BsYXkt
bWVkaWEtbXV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2dldC1k
aXNwbGF5LW1lZGlhLW11dGVkLmh0bWwKQEAgLTQxLDcgKzQxLDcgQEAKICAgICAgICAgICAgIGxl
dCBzdHJlYW0gPSBhd2FpdCBjYWxsR2V0RGlzcGxheU1lZGlhKHsgdmlkZW86IHRydWUgfSk7CiAg
ICAgICAgICAgICBsZXQgcGFnZU1lZGlhU3RhdGUgPSBpbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUo
KTsKIAotICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdI
YXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1
ZGUgSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpOworICAgICAgICAgICAgYXNzZXJ0X2Zh
bHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2Un
KSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZp
Y2UnKTsKICAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygn
SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVk
ZSBIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZScpOwogICAgICAgICAgICAgYXNzZXJ0X2ZhbHNl
KHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZScpLCAn
cGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlJyk7
CiAKQEAgLTU4LDE0ICs1OCwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZChgUGFnZSBzdGF0ZSBkaWQgbm90IGNoYW5nZSBmcm9tICR7cGFnZU1lZGlhU3RhdGV9
YCk7CiAKICAgICAgICAgICAgICAgICAgICAgcGFnZU1lZGlhU3RhdGUgPSBpbnRlcm5hbHMucGFn
ZU1lZGlhU3RhdGUoKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRp
YVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0
YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpOwotICAg
ICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFz
QWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgaW5jbHVkZXMgSGFzQWN0
aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UnKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2Zh
bHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2Un
KSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZp
Y2UnKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1lZGlhU3RhdGUuaW5j
bHVkZXMoJ0hhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgaW5jbHVk
ZXMgSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZScpOwogICAgICAgICAgICAgICAgICAgICBy
ZXNvbHZlKCkKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBwYWdlTWVkaWFT
dGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpOwotICAgICAgICAgICAgICAgIGFzc2Vy
dF90cnVlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2
aWNlJyksICdwYWdlIHN0YXRlIGluY2x1ZGVzIEhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2Un
KTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMo
J0hhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGlu
Y2x1ZGUgSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UnKTsKKyAgICAgICAgICAgICAgICBh
c3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWRTY3JlZW5DYXB0dXJl
RGV2aWNlJyksICdwYWdlIHN0YXRlIGluY2x1ZGVzIEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmlj
ZScpOworICAgICAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRl
cygnSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBp
bmNsdWRlIEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UnKTsKICAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0TWVkaWFTdHJlYW1UcmFja011dGVkKHRyYWNrLCBmYWxzZSkKICAgICAgICAg
ICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1z
dHJlYW0tcGFnZS1tdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLWV4cGVjdGVkLnR4dAppbmRleCA5M2U3ZGVjNzU5
NDJiZDgzMGU1ZGUxN2UxNDJiZTBkMzJhMjkxYTJlLi45YjhhYmIxOWE3ZWQ0ZGQxZjI1M2NkNThk
ODQxNDJjMDRjYTM0YWU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFt
L21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLWV4cGVjdGVkLnR4dApAQCAt
MTYsOCArMTYsOCBAQCBFVkVOVDogbXV0ZQogUEFTUyBzY3JlZW5DYXB0dXJlVHJhY2subXV0ZWQg
aXMgdHJ1ZQogUEFTUyBtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZhbHNlCiBQQVNT
IGNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxz
LnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSkg
YmVjYW1lIHRydWUKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1
ZGVzKEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKK1BBU1Mgd2lu
ZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkU2NyZWVuQ2Fw
dHVyZURldmljZSkgYmVjYW1lIHRydWUKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFT
dGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxz
ZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0
aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxz
LnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UpIGJl
Y2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVk
ZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQpAQCAtMjksOCArMjks
OCBAQCBFVkVOVDogbXV0ZQogUEFTUyBzY3JlZW5DYXB0dXJlVHJhY2subXV0ZWQgaXMgdHJ1ZQog
UEFTUyBtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11dGVkIGlzIHRydWUKIFBBU1MgY2FtZXJhQ2Fw
dHVyZVRyYWNrLm11dGVkIGlzIHRydWUKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFT
dGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVl
Ci1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3Rp
dmVEaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCitQQVNTIHdpbmRvdy5pbnRlcm5h
bHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2Up
IGJlY2FtZSB0cnVlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNs
dWRlcyhIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2lu
ZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkQXVkaW9DYXB0
dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0
YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UK
IFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVk
VmlkZW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQpAQCAtNDIsOCArNDIsOCBAQCBFVkVOVDog
dW5tdXRlCiBQQVNTIHNjcmVlbkNhcHR1cmVUcmFjay5tdXRlZCBpcyB0cnVlCiBQQVNTIG1pY3Jv
cGhvbmVDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgY2FtZXJhQ2FwdHVyZVRyYWNr
Lm11dGVkIGlzIGZhbHNlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5p
bmNsdWRlcyhIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQotUEFTUyB3
aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlRGlzcGxh
eUNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VN
ZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUg
dHJ1ZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFz
QWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRl
cm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZp
Y2UpIGJlY2FtZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5p
bmNsdWRlcyhIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdp
bmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0Nh
cHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCkBAIC01NCw4ICs1NCw4IEBAIEVWRU5UOiB1bm11dGUK
IFBBU1Mgc2NyZWVuQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZhbHNlCiBQQVNTIG1pY3JvcGhvbmVD
YXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVk
IGlzIGZhbHNlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRl
cyhIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKLVBBU1Mgd2luZG93
LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkRGlzcGxheUNhcHR1
cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0
YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUK
K1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVk
U2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMu
cGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJl
Y2FtZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRl
cyhIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5p
bnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVE
ZXZpY2UpIGJlY2FtZSB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3Ry
ZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
c3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLmh0bWwKaW5kZXggNmQyMTliNzc3Y2I2OTcy
ZGE3NDg4ZmM4MGMxOWZjODRmMWZlM2Q2OS4uYzgxMTQyYzliZTZkZTAzODhhNmFjYjZmZjJkNzhm
ZGRmYzU0MzRlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRp
YS1zdHJlYW0tcGFnZS1tdXRlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbApAQCAtMTE0LDcgKzExNCw3IEBACiAgICAg
ICAgICAgICBzaG91bGRCZUZhbHNlKCJtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11dGVkIik7CiAg
ICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQiKTsKIAot
ICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkRGlzcGxheUNhcHR1cmVE
ZXZpY2UiLCAiSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UiKTsKKyAgICAgICAgICAgIGF3
YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0
aXZlU2NyZWVuQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3Rh
dGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2FwdHVyZURl
dmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2ZUF1ZGlv
Q2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAgICAgICB9
CkBAIC0xMzMsNyArMTMzLDcgQEAKICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibWljcm9waG9u
ZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJjYW1lcmFD
YXB0dXJlVHJhY2subXV0ZWQiKTsKIAotICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUo
Ikhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVE
ZXZpY2UiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZFNjcmVl
bkNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSIpOwogICAgICAg
ICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIiwg
Ikhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQ
YWdlU3RhdGUoIkhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZVZpZGVvQ2Fw
dHVyZURldmljZSIpOwogICAgICAgICB9CkBAIC0xNTIsNyArMTUyLDcgQEAKICAgICAgICAgICAg
IHNob3VsZEJlRmFsc2UoIm1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQiKTsKICAgICAgICAg
ICAgIHNob3VsZEJlRmFsc2UoImNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCIpOwogCi0gICAgICAg
ICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSIs
ICJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIpOworICAgICAgICAgICAgYXdhaXQgY2hl
Y2tQYWdlU3RhdGUoIkhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVTY3Jl
ZW5DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFz
QWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7
CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlQXVkaW9DYXB0dXJl
RGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgIH0KQEAgLTE3
MCw3ICsxNzAsNyBAQAogICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgibWljcm9waG9uZUNhcHR1
cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgiY2FtZXJhQ2FwdHVy
ZVRyYWNrLm11dGVkIik7CiAKLSAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNB
Y3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIsICJIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNl
Iik7CisgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlU2NyZWVuQ2Fw
dHVyZURldmljZSIsICJIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgICAg
IGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFz
TXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0
YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVE
ZXZpY2UiKTsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450473</attachid>
            <date>2022-01-31 16:45:07 -0800</date>
            <delta_ts>2022-02-01 08:56:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235838-20220131164506.patch</filename>
            <type>text/plain</type>
            <size>88676</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmZjM2M4MzlhNWEzY2M1
MTYwNzUzZDM0YTdiMjI4M2Y4NWM2NjFhZS4uN2U0ZWJlNjY1MzgxYTc5MTliZjU0NzA1OWVmZjkw
ZjE0ZWI3YWE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTAxLTI4ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gRXhw
b3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8gV0tXZWJWaWV3CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU4MzgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBG
YWJsZXQuCisKKyAgICAgICAgVXBkYXRlZCBHZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4g
QVBJIHRlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b01lZGlhRGV2aWNlSW5mb0tpbmQpOiBBZGQgU3lzdGVt
QXVkaW8uCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6c291cmNlQ2FwdHVyZVN0YXRlKTogRGlmZmVyZW50aWF0
ZSBzdGF0ZSBvZiB3aW5kb3cgYW5kIHNjcmVlbiBjYXB0dXJlIHRyYWNrcy4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUpOiBOZXcuCisg
ICAgICAgIChXZWJDb3JlOjp0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVyZUtpbmQpOiAK
KyAgICAgICAgKFdlYkNvcmU6OnRyYWNrTWF0Y2hlc0tpbmQpOiBEZWxldGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oOgorCisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbCk6IEluY2x1ZGUgbmV3IHNvdXJj
ZSB0eXBlcy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDTWVkaWFF
bmRwb2ludDo6YWRkVHJhY2spOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01l
ZGlhRW5kcG9pbnQ6OmNyZWF0ZVNvdXJjZUFuZFJUQ1RyYWNrKToKKworICAgICAgICAqIHBhZ2Uv
TWVkaWFQcm9kdWNlci5oOgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJp
dmF0ZTo6c2VsZWN0VHJhY2tzKTogSW5jbHVkZSBuZXcgdHJhY2sgdHlwZXMuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6Y3JlYXRlKTogRGl0dG8uCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2Vy
Q29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2E6
OmNhcHR1cmVEZXZpY2VXaXRoUGVyc2lzdGVudElEKTogRGl0dG8uCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2UubW06Cisg
ICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxzOjpwYWdlTWVkaWFTdGF0ZSk6IFVwZGF0ZSB3aXRoIG5ldyBhbmQgY2hhbmdlZCB0eXBl
IG5hbWVzLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzdG9wT2JzZXJ2aW5nUmVhbHRp
bWVNZWRpYVNvdXJjZSk6IEluY2x1ZGUgbmV3IHRyYWNrIHR5cGVzLgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayk6IERpdHRvLgorCiAyMDIyLTAx
LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIENv
bnRhaW5lciBRdWVyaWVzXSBjb250YWluZXItdHlwZSBwcm9wZXJ0eSBzaG91bGQgZXN0YWJsaXNo
IGNvbnRhaW5tZW50IGZvciAnc2l6ZScgYW5kICdpbmxpbmUtc2l6ZScgdmFsdWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDk1ZmM0ZTRiNTJmMGE0YWFjNzM2NjU1YzA2MjMwNDNiZWNjMjY1ZjEuLjY5NTNmMTc5Mzll
OGEyYzBlZjVjZGZiYTQwMzkyMGRhZjQ5MDcyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODEgQEAK
KzIwMjItMDEtMjggIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBFeHBvc2Ugc2NyZWVuIGFuZCB3aW5kb3cgY2FwdHVyZSBzdGF0ZSB0byBX
S1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTgzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODgyMDc5MjQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHA6CisgICAgICAgIChXS1BhZ2VHZXRNZWRpYVN0YXRlKTogUmVuYW1lICpEaXNwbGF5Q2FwdHVy
ZURldmljZSB0byAqU2NyZWVuQ2FwdHVyZURldmljZS4gQWRkIGVudW1zCisgICAgICAgIGZvciB3
aW5kb3cgY2FwdHVyZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaDogRHJpdmUgYnk6
IGZpeCB0eXBvIGluIGhlYWRlciBkb2MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNldE1pY3JvcGhvbmVDYXB0dXJl
U3RhdGU6Y29tcGxldGlvbkhhbmRsZXI6XSk6IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpBdWRpbyAKKyAgICAgICAgd2FzIHJlbmFtZWQgdG8gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6Ok1pY3JvcGhvbmUuCisgICAgICAgICgtW1dLV2ViVmlldyBzZXRDYW1lcmFDYXB0dXJl
U3RhdGU6Y29tcGxldGlvbkhhbmRsZXI6XSk6IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpWaWRlbyAKKyAgICAgICAgd2FzIHJlbmFtZWQgdG8gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OkNhbWVyYS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zdG9wTWVkaWFDYXB0dXJlXSk6
IHN0b3BNZWRpYUNhcHR1cmUgdGFrZXMgYW4gb3B0aW9uU2V0LgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdKTogRXhwb3NlIHRoZSB0eXBlKHMpIG9mIGRpc3Bs
YXlzIHN1cmZhY2VzCisgICAgICAgIGJlaW5nIGNhcHR1cmVkLgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdKTogRXhwb3NlIHRoZSBkaXNwbGF5IGNhcHR1cmUgc3Rh
dGUuCisgICAgICAgICgtW1dLV2ViVmlldyBfc3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVdKTogRXhw
b3NlIHRoZSBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBzdGF0ZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3
IF9zZXREaXNwbGF5Q2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBDaGFuZ2UgdGhl
IGRpc3BsYXkKKyAgICAgICAgY2FwdHVyZSBzdGF0ZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXRTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogQ2hhbmdlIHRo
ZSBzeXN0ZW0gCisgICAgICAgIGF1ZGlvIGNhcHR1cmUgc3RhdGUuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3TWVkaWFD
YXB0dXJlU3RhdGVEaWRDaGFuZ2UpOiBNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrIC0+
IAorICAgICAgICBNZWRpYVByb2R1Y2VyOjpNaWNyb3Bob25lQ2FwdHVyZU1hc2suCisgICAgICAg
ICh3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKTogVXBkYXRlIGZvciBNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZCBjaGFuZ2VzLgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X3NldF9taWNyb3Bob25lX2NhcHR1cmVfc3RhdGUpOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdF93
ZWJfdmlld19zZXRfY2FtZXJhX2NhcHR1cmVfc3RhdGUpOiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6VmlkZW8gLT4gCisgICAgICAgIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpDYW1lcmEKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXRfZGlzcGxheV9jYXB0dXJlX3N0
YXRlKTogRGl0dG8uCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Rpc3BsYXlfY2FwdHVy
ZV9zdGF0ZSk6IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlIC0+Cisg
ICAgICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UuIE1lZGlhU3Rh
dGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgLT4KKyAgICAgICAgTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xp
ZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpk
aXNwbGF5Q2FwdHVyZVdpbGxDaGFuZ2UpOiBLVk8gc3VwcG9ydC4KKyAgICAgICAgKFdlYktpdDo6
UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc1dpbGxDaGFuZ2UpOiBE
aXR0by4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6c3lzdGVtQXVkaW9D
YXB0dXJlV2lsbENoYW5nZSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1w
bENvY29hOjpkaXNwbGF5Q2FwdHVyZUNoYW5nZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6
UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQpOiBEaXR0
by4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6c3lzdGVtQXVkaW9DYXB0
dXJlQ2hhbmdlZCk6IERpdHRvLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRp
YUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0
dXJlTWFuYWdlclByb3h5OjpTb3VyY2VQcm94eTo6U291cmNlUHJveHkpOiBTdXBwb3J0IG5ldyB0
eXBlcy4KKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6U291
cmNlUHJveHk6On5Tb3VyY2VQcm94eSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVk
aWFDYXB0dXJlTWFuYWdlclByb3h5OjpjcmVhdGVNZWRpYVNvdXJjZUZvckNhcHR1cmVEZXZpY2VX
aXRoQ29uc3RyYWludHMpOiBEaXR0by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0dXJlV2lsbENoYW5n
ZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0dXJlU3VyZmFjZXNX
aWxsQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6c3lzdGVtQXVkaW9DYXB0
dXJlV2lsbENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0
dXJlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpc3BsYXlDYXB0dXJl
U3VyZmFjZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6c3lzdGVtQXVk
aW9DYXB0dXJlQ2hhbmdlZCk6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6flVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5KToKKyAgICAgICAgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1
ZGlvVmlkZW8gLT4gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZC4KKyAg
ICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0
b3BDYXB0dXJlKTogRGl0dG8uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVSZXBvcnRlZE1lZGlhQ2Fw
dHVyZVN0YXRlKTogRGVhbCB3aXRoIG5ldyB0eXBlcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KToKKwog
MjAyMi0wMS0yNiAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbTW9kZWxdIE1vdXNlIGludGVyYWN0aW9uIGZvciA8bW9kZWw+IGlzIGZsaXBwZWQgaW4gdGhl
IHktYXhpcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYURldmljZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YURldmljZXMuY3BwCmluZGV4IDFhZTUwZTlkNGJlYjA5NmUwYjAyMTY5NTRkZmY0NjY2YzUyMjNh
NWEuLjAwNGJiM2FiNmI1ZjgwZWMzZDU1MDBiN2ZhOTY3NDc3NjNhNDg1NDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKQEAg
LTI4MSw2ICsyODEsNyBAQCBzdGF0aWMgaW5saW5lIE1lZGlhRGV2aWNlSW5mbzo6S2luZCB0b01l
ZGlhRGV2aWNlSW5mb0tpbmQoQ2FwdHVyZURldmljZTo6RGV2aWNlVAogICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2
aWNlVHlwZTo6V2luZG93OgogICAgICAgICByZXR1cm4gTWVkaWFEZXZpY2VJbmZvOjpLaW5kOjpW
aWRlb2lucHV0OworICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVk
aW86CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCAxNjA5MTk2
ZDEyNDQ2M2IwYzM2YmQ1NzhhMjUwMTBhNTM5ZDU1NGE2Li5lOTYzZGFkZjlmMWQxZTA4ZTRhODU3
MmY2NjdkZTcwMTljZjIyMjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTQzNiwxNCArNDM2LDIyIEBA
IE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3Mgc291cmNlQ2FwdHVyZVN0YXRlKFJlYWx0aW1l
TWVkaWFTb3VyY2UmIHNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKKyAgICAgICAgaWYgKHNv
dXJjZS5tdXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGlmIChzb3VyY2UuaW50ZXJy
dXB0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
SW50ZXJydXB0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBpZiAoc291cmNlLmlzUHJv
ZHVjaW5nRGF0YSgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBicmVhazsKICAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKICAgICAgICAgaWYgKHNvdXJjZS5t
dXRlZCgpKQotICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNN
dXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlOworICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2U7CiAgICAgICAgIGlmIChz
b3VyY2UuaW50ZXJydXB0ZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWREaXNwbGF5Q2FwdHVyZURldmljZTsKKyAgICAgICAgICAg
IHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0
dXJlRGV2aWNlOwogICAgICAgICBpZiAoc291cmNlLmlzUHJvZHVjaW5nRGF0YSgpKQotICAgICAg
ICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2Fw
dHVyZURldmljZTsKKyAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTUyMSw2
ICs1MjksNyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUo
KQogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgogICAgICAgICBt
X3ByaXZhdGUtPnNldE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVByb2R1
Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
QEAgLTUyOCwxNSArNTM3LDIwIEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9QYWdl
TXV0ZWRTdGF0ZSgpCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgdHJhY2tNYXRjaGVz
S2luZChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kIGtpbmQpCitzdGF0aWMgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQgdHJh
Y2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGUgdHlwZSkKIHsKLSAgICBzd2l0Y2ggKGtpbmQpIHsKLSAgICBjYXNlIE1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kOjpBdWRpbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW87Ci0gICAgY2FzZSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6QXVkaW9WaWRlbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgIT0gUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6Tm9uZTsKLSAgICBjYXNlIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVL
aW5kOjpWaWRlbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6VmlkZW87CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpNaWNyb3Bob25lOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6U3lzdGVtQXVkaW86CisgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6U3lzdGVtQXVkaW87CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpW
aWRlbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1l
cmE7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CisgICAgICAgIHJldHVybiBNZWRp
YVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheTsKKyAgICBjYXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6Ok5vbmU6CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpAQCAtNTQ1LDcgKzU1OSw5IEBAIHZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6ZW5kQ2FwdHVyZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLCiB7CiAgICAgYm9vbCBkaWRFbmRDYXB0dXJlID0gZmFsc2U7CiAgICAgZm9y
IChhdXRvKiBjYXB0dXJlVHJhY2sgOiBhbGxDYXB0dXJlVHJhY2tzKCkpIHsKLSAgICAgICAgaWYg
KGNhcHR1cmVUcmFjay0+ZG9jdW1lbnQoKSAhPSAmZG9jdW1lbnQgfHwgIXRyYWNrTWF0Y2hlc0tp
bmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2soKS50eXBlKCksIGtpbmQpKQorICAgICAgICBp
ZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpICE9ICZkb2N1bWVudCkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICBpZiAoa2luZCAhPSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZDo6RXZlcnlLaW5kICYmIGtpbmQgIT0gdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVL
aW5kKGNhcHR1cmVUcmFjay0+cHJpdmF0ZVRyYWNrKCkudHlwZSgpKSkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBjYXB0dXJlVHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRyYWNr
OjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKICAgICAgICAgZGlkRW5kQ2FwdHVyZSA9IHRydWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmNwcAppbmRleCA1MjdmYmI0YTI5YWQ3ZTEyZTkzMWRkM2E5MGMxZmYxYWI0MjEzZGEy
Li5lMTU3YWI5ZDc2OTFkNWE0NjE2YTkyYWJlZWY1NzdiNWNiMjQ1YmQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5j
cHAKQEAgLTI3MSw2ICsyNzEsMTUgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVh
bURpZEZhaWwoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlKQogICAgIGNhc2UgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86CiAgICAgICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJ2
aWRlbyI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6U2NyZWVuOgorICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAic2NyZWVuIjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CisgICAg
ICAgIHR5cGVEZXNjcmlwdGlvbiA9ICJ3aW5kb3ciOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgorICAgICAgICB0eXBlRGVz
Y3JpcHRpb24gPSAic3lzdGVtIGF1ZGlvIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgogICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAi
dW5rbm93biI7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmNwcAppbmRleCBiZmMyNzA4MDMwOGVmZjJlNGJjMjQwNDMxNjNmMGY2MjU4YTRj
NDk0Li41YzNjMjJjNzU2NmUyMTlmMWUwMjRlMzVkOGYyYWVhOGIzMDIxNTZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENN
ZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcApAQCAtMjA0LDYgKzIwNCw5IEBA
IGJvb2wgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6YWRkVHJhY2soTGliV2ViUlRDUnRwU2VuZGVy
QmFja2VuZCYgc2VuZGVyLCBNZWRpYVN0CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUodmlkZW9T
b3VyY2UpOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpX
aW5kb3c6CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoK
ICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MTYsMTIgKzQxOSwx
NSBAQCBzdGQ6OnBhaXI8TGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZDo6U291cmNlLCBydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpNZWRpYVN0cgogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJj
ZTo6VHlwZTo6Tm9uZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzogewogICAgICAgICBhdXRv
IGF1ZGlvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpjcmVhdGUodHJhY2su
cHJpdmF0ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0
b3J5LT5DcmVhdGVBdWRpb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgYXVkaW9Tb3Vy
Y2UucHRyKCkpOwogICAgICAgICBzb3VyY2UgPSBXVEZNb3ZlKGF1ZGlvU291cmNlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2Ny
ZWVuOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgIGNh
c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsKICAgICAgICAgYXV0byB2aWRl
b1NvdXJjZSA9IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6Y3JlYXRlKHRyYWNrLnByaXZh
dGVUcmFjaygpKTsKICAgICAgICAgcnRjVHJhY2sgPSBtX3BlZXJDb25uZWN0aW9uRmFjdG9yeS0+
Q3JlYXRlVmlkZW9UcmFjayh0cmFjay5pZCgpLnV0ZjgoKS5kYXRhKCksIHZpZGVvU291cmNlLnB0
cigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvbWFjL1NjcmVlbkNhcHR1
cmVLaXRTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9tYWMvU2NyZWVuQ2FwdHVy
ZUtpdFNvZnRMaW5rLmgKaW5kZXggNzFhMDRhYThlMzcwMmFiZjUyZWFjMWQ0MGNiMGZiYjY4MzJl
NmM3Ny4uZTBiYjg4M2E1YTU5ZDJjYmY1ZmNkMTI1Nzg0ZDg2ZGRmN2EyMjYwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9tYWMvU2NyZWVuQ2FwdHVyZUtpdFNvZnRMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9tYWMvU2NyZWVuQ2FwdHVyZUtpdFNvZnRMaW5r
LmgKQEAgLTM3LDcgKzM3LDcgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVJfV0lUSF9BVkFJ
TEFCSUxJVFkoUEFMLCBTQ0NvbnRlbnRGaWx0ZXIsIEFQSV9BVkFJTEFCTEUKIFNPRlRfTElOS19D
TEFTU19GT1JfSEVBREVSX1dJVEhfQVZBSUxBQklMSVRZKFBBTCwgU0NTdHJlYW1Db25maWd1cmF0
aW9uLCBBUElfQVZBSUxBQkxFKG1hY29zKDEyLjMpKSkKIFNPRlRfTElOS19DTEFTU19GT1JfSEVB
REVSX1dJVEhfQVZBSUxBQklMSVRZKFBBTCwgU0NTdHJlYW0sIEFQSV9BVkFJTEFCTEUobWFjb3Mo
MTIuMykpKQogCi1TT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX0hFQURFUihQQUwsIFNj
cmVlbkNhcHR1cmVLaXQsIFNDU3RyZWFtRnJhbWVJbmZvU3RhdHVzS2V5LCBOU1N0cmluZyAqKQor
U09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBTY3JlZW5DYXB0dXJlS2l0LCBTQ1N0
cmVhbUZyYW1lSW5mb1N0YXR1c0tleSwgTlNTdHJpbmcgKikKICNkZWZpbmUgU0NTdHJlYW1GcmFt
ZUluZm9TdGF0dXNLZXkgZ2V0X1NjcmVlbkNhcHR1cmVLaXRfU0NTdHJlYW1GcmFtZUluZm9TdGF0
dXNLZXkoKQogCiAjZW5kaWYgLy8gSEFWRShTQ1JFRU5fQ0FQVFVSRV9LSVQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL21hYy9TY3JlZW5DYXB0dXJlS2l0U29mdExpbmsubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL21hYy9TY3JlZW5DYXB0dXJlS2l0U29mdExpbmsubW0K
aW5kZXggMmFlNDI1YjAyZGUyZjUwOWRlYWUxM2Q3NTUxNDFjNGZiY2RjOGU2NC4uNDA4ZWNhMTAx
ZTBhZDVlZWJmYjliZDVkODMzOWMyYTFjYmEzNmNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9tYWMvU2NyZWVuQ2FwdHVyZUtpdFNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvbWFjL1NjcmVlbkNhcHR1cmVLaXRTb2Z0TGluay5tbQpAQCAtMzcsNiAr
MzcsNiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVF9B
TkRfQVZBSUxBQklMSVRZKFBBTCwgU2NyZWVuQ2FwdAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0VfT1BUSU9OQUxfV0lUSF9FWFBPUlRfQU5EX0FWQUlMQUJJTElUWShQQUwsIFNjcmVlbkNhcHR1
cmVLaXQsIFNDU3RyZWFtQ29uZmlndXJhdGlvbiwgUEFMX0VYUE9SVCwgQVBJX0FWQUlMQUJMRSht
YWNvcygxMi4zKSkpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VY
UE9SVF9BTkRfQVZBSUxBQklMSVRZKFBBTCwgU2NyZWVuQ2FwdHVyZUtpdCwgU0NTdHJlYW0sIFBB
TF9FWFBPUlQsIEFQSV9BVkFJTEFCTEUobWFjb3MoMTIuMykpKQogCi1TT0ZUX0xJTktfQ09OU1RB
TlRfTUFZX0ZBSUxfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFNjcmVlbkNhcHR1cmVLaXQs
IFNDU3RyZWFtRnJhbWVJbmZvU3RhdHVzS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQorU09G
VF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBTY3JlZW5DYXB0dXJl
S2l0LCBTQ1N0cmVhbUZyYW1lSW5mb1N0YXR1c0tleSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkK
IAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTWVkaWFQcm9kdWNlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgK
aW5kZXggNGUxOWU4Y2Q3MWE2NTI5Zjk4YWY2NDgyZTZjYTVhMDUyYjFmNzM5My4uZDY4ZTc1Mzk4
MjgwYTE2NjA1N2I2MmNlZDc4YTI2YTM2MjIzYjM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9NZWRpYVByb2R1Y2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVBy
b2R1Y2VyLmgKQEAgLTUwLDE2ICs1MCwyNCBAQCBlbnVtIGNsYXNzIE1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlIDogdWludDMyX3QgewogICAgIEhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNl
ID0gMSA8PCAxNSwKICAgICBIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSA9IDEgPDwg
MTYsCiAgICAgSGFzVXNlckludGVyYWN0ZWRXaXRoTWVkaWFFbGVtZW50ID0gMSA8PCAxNywKLSAg
ICBIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwgMTgsCi0gICAgSGFzTXV0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwgMTksCi0gICAgSGFzSW50ZXJydXB0ZWREaXNwbGF5
Q2FwdHVyZURldmljZSA9IDEgPDwgMjAsCisgICAgSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmlj
ZSA9IDEgPDwgMTgsCisgICAgSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlID0gMSA8PCAxOSwK
KyAgICBIYXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDIwLAorICAgIEhh
c0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8IDIxLAorICAgIEhhc011dGVkV2luZG93
Q2FwdHVyZURldmljZSA9IDEgPDwgMjIsCisgICAgSGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJl
RGV2aWNlID0gMSA8PCAyMywKKyAgICBIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2Ug
PSAxIDw8IDI0LAorICAgIEhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlID0gMSA8PCAy
NSwKKyAgICBIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSA9IDEgPDwgMjYs
CiB9OwogdXNpbmcgTWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncyA9IE9wdGlvblNldDxNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZT47CiAKIGVudW0gY2xhc3MgTWVkaWFQcm9kdWNlck1lZGlhQ2Fw
dHVyZUtpbmQgOiB1aW50OF90IHsKLSAgICBBdWRpbywKLSAgICBWaWRlbywKLSAgICBBdWRpb1Zp
ZGVvCisgICAgTWljcm9waG9uZSwKKyAgICBDYW1lcmEsCisgICAgRGlzcGxheSwKKyAgICBTeXN0
ZW1BdWRpbywKKyAgICBFdmVyeUtpbmQsCiB9OwogCiBlbnVtIGNsYXNzIE1lZGlhUHJvZHVjZXJN
dXRlZFN0YXRlIDogdWludDhfdCB7CkBAIC02Nyw2ICs3NSw4IEBAIGVudW0gY2xhc3MgTWVkaWFQ
cm9kdWNlck11dGVkU3RhdGUgOiB1aW50OF90IHsKICAgICBBdWRpb0NhcHR1cmVJc011dGVkID0g
MSA8PCAxLAogICAgIFZpZGVvQ2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDIsCiAgICAgU2NyZWVuQ2Fw
dHVyZUlzTXV0ZWQgPSAxIDw8IDMsCisgICAgV2luZG93Q2FwdHVyZUlzTXV0ZWQgPSAxIDw8IDQs
CisgICAgU3lzdGVtQXVkaW9DYXB0dXJlSXNNdXRlZCA9IDEgPDwgNCwKIH07CiB1c2luZyBNZWRp
YVByb2R1Y2VyTXV0ZWRTdGF0ZUZsYWdzID0gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJNdXRlZFN0
YXRlPjsKIApAQCAtNzgsMTkgKzg4LDQ2IEBAIHB1YmxpYzoKICAgICB1c2luZyBNdXRlZFN0YXRl
RmxhZ3MgPSBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZUZsYWdzOwogCiAgICAgc3RhdGljIGNvbnN0
ZXhwciBNZWRpYVN0YXRlRmxhZ3MgSXNOb3RQbGF5aW5nID0geyB9OwotICAgIHN0YXRpYyBjb25z
dGV4cHIgTWVkaWFTdGF0ZUZsYWdzIEF1ZGlvQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhh
c0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRBdWRpb0NhcHR1
cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlIH07
CisgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgTWljcm9waG9uZUNhcHR1cmVN
YXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3Rh
dGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRl
ZEF1ZGlvQ2FwdHVyZURldmljZSB9OwogICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZs
YWdzIFZpZGVvQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVy
ZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3Rh
dGU6Okhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNlIH07Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciBNZWRpYVN0YXRlRmxhZ3MgRGlzcGxheUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpI
YXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5
Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWREaXNwbGF5Q2FwdHVyZURl
dmljZSB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIEFjdGl2ZUNhcHR1
cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlh
U3RhdGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZl
RGlzcGxheUNhcHR1cmVEZXZpY2UgfTsKLSAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVG
bGFncyBNdXRlZENhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVy
ZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3Rh
dGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgfTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IE1lZGlhU3RhdGVGbGFncyBNZWRpYUNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNBY3Rp
dmVBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2
aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFT
dGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFZp
ZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVE
ZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlLCBNZWRpYVN0
YXRlOjpIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1
cHRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIH07CisKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlh
U3RhdGVGbGFncyBTY3JlZW5DYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2Ny
ZWVuQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNl
LCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgfTsKKyAgICBz
dGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBXaW5kb3dDYXB0dXJlTWFzayA9IHsgTWVk
aWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0
ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFdpbmRvd0Nh
cHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBBY3Rp
dmVEaXNwbGF5Q2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1
cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UgfTsKKyAg
ICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNdXRlZERpc3BsYXlDYXB0dXJlTWFz
ayA9IHsgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRl
OjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1l
ZGlhU3RhdGVGbGFncyBEaXNwbGF5Q2FwdHVyZU1hc2sgPSB7IEFjdGl2ZURpc3BsYXlDYXB0dXJl
TWFzayB8IE11dGVkRGlzcGxheUNhcHR1cmVNYXNrIH07CisKKyAgICBzdGF0aWMgY29uc3RleHBy
IE1lZGlhU3RhdGVGbGFncyBTeXN0ZW1BdWRpb0NhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpI
YXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkU3lz
dGVtQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1
ZGlvQ2FwdHVyZURldmljZSB9OworCisgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxh
Z3MgQWN0aXZlQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVy
ZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0
YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVX
aW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1
cmVEZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNdXRlZENh
cHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSwgTWVk
aWFTdGF0ZTo6SGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVk
U2NyZWVuQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2
aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSB9OworCisg
ICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgTWVkaWFDYXB0dXJlTWFzayA9IHsK
KyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAg
ICBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFT
dGF0ZTo6SGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3Rh
dGU6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFz
TXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0ludGVycnVw
dGVkVmlkZW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3Jl
ZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1
cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU2NyZWVuQ2FwdHVy
ZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmlj
ZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAg
ICAgICBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsCisgICAg
ICAgIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAg
ICAgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsCisgICAgICAg
IE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlCisgICAg
fTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBJc0NhcHR1cmluZ0F1ZGlv
TWFzayA9IHsgTWljcm9waG9uZUNhcHR1cmVNYXNrIHwgU3lzdGVtQXVkaW9DYXB0dXJlTWFzayB9
OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIElzQ2FwdHVyaW5nVmlkZW9N
YXNrID0geyBWaWRlb0NhcHR1cmVNYXNrIHwgRGlzcGxheUNhcHR1cmVNYXNrIH07CiAKICAgICBz
dGF0aWMgYm9vbCBpc0NhcHR1cmluZyhNZWRpYVN0YXRlRmxhZ3Mgc3RhdGUpIHsgcmV0dXJuIHN0
YXRlLmNvbnRhaW5zQW55KEFjdGl2ZUNhcHR1cmVNYXNrKSB8fCBzdGF0ZS5jb250YWluc0FueShN
dXRlZENhcHR1cmVNYXNrKTsgfQogCiAgICAgdmlydHVhbCBNZWRpYVN0YXRlRmxhZ3MgbWVkaWFT
dGF0ZSgpIGNvbnN0ID0gMDsKIAogICAgIHN0YXRpYyBjb25zdGV4cHIgTXV0ZWRTdGF0ZUZsYWdz
IEF1ZGlvQW5kVmlkZW9DYXB0dXJlSXNNdXRlZCA9IHsgTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJl
SXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCB9OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgTXV0ZWRTdGF0ZUZsYWdzIE1lZGlhU3RyZWFtQ2FwdHVyZUlzTXV0ZWQgPSB7IE11
dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlz
TXV0ZWQsIE11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkIH07CisgICAgc3RhdGljIGNv
bnN0ZXhwciBNdXRlZFN0YXRlRmxhZ3MgTWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRlZCA9IHsgTXV0
ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNN
dXRlZCwgTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OldpbmRv
d0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpTeXN0ZW1BdWRpb0NhcHR1cmVJc011dGVkIH07
CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFnZU11dGVkU3RhdGVEaWRDaGFuZ2UoKSA9IDA7CiAKQEAg
LTEwNSw5ICsxNDIsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kPiB7CiAgICAgdXNp
bmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpBdWRpbywKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVy
ZUtpbmQ6OlZpZGVvLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6QXVkaW9WaWRlbworICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6TWljcm9waG9uZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6OkNhbWVyYSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6OkRpc3BsYXksCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbywKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
ck1lZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZAogICAgID47CiB9OwogCkBAIC0xMzIsOSArMTcx
LDE1IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQcm9kdWNl
ck1lZGlhU3RhdGU+IHsKICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6
Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlLAogICAgICAgICBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsCiAg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNVc2VySW50ZXJhY3Rl
ZFdpdGhNZWRpYUVsZW1lbnQsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSwKLSAgICAgICAgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UsCi0gICAg
ICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3Bs
YXlDYXB0dXJlRGV2aWNlCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTY3JlZW5DYXB0
dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFz
QWN0aXZlV2luZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
ck1lZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSwKKyAgICAgICAgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkV2luZG93Q2FwdHVyZURl
dmljZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2
ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
ck1lZGlhU3RhdGU6Okhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTeXN0ZW1BdWRp
b0NhcHR1cmVEZXZpY2UKICAgICA+OwogfTsKIApAQCAtMTQ0LDcgKzE4OSw5IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU+IHsK
ICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OkF1ZGlvSXNNdXRlZCwK
ICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlz
TXV0ZWQsCiAgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpWaWRlb0Nh
cHR1cmVJc011dGVkLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6
U2NyZWVuQ2FwdHVyZUlzTXV0ZWQKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVk
U3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTXV0ZWRTdGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpTeXN0ZW1BdWRpb0NhcHR1cmVJc011dGVkCiAgICAgPjsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5kZXggOWExZDA2YzgyMGM4ODk5Njg1
Yjc1MjM3ZDU2NjNkMTMwZWQ2ODU1My4uMTE5MzE3NzIyYzg5MWYyZTI0MjFjZTNlYjc2MDkyZDY4
NzgwMTkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTQ0LDYgKzQ0LDggQEAg
TWVkaWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBNZWRpYVJlY29y
ZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2sKICAgICAgICAgaWYgKHRyYWNrLmVuZGVkKCkpCiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIHN3aXRjaCAodHJhY2sudHlwZSgpKSB7CisgICAgICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgorICAgICAgICBjYXNlIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAgICAgICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB0
cmFjay5zZXR0aW5ncygpOwogICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFRyYWNrcy52aWRlb1Ry
YWNrICYmIHNldHRpbmdzLnN1cHBvcnRzV2lkdGgoKSAmJiBzZXR0aW5ncy5zdXBwb3J0c0hlaWdo
dCgpKQpAQCAtNTEsNiArNTMsNyBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6QXVkaW9WaWRlb1Nl
bGVjdGVkVHJhY2tzIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpzZWxlY3RUcmFjawogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpBdWRpbzoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0
ZW1BdWRpbzoKICAgICAgICAgICAgIGlmICghc2VsZWN0ZWRUcmFja3MuYXVkaW9UcmFjaykKICAg
ICAgICAgICAgICAgICBzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrID0gJnRyYWNrOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9DYXB0dXJlRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9DYXB0dXJlRGV2aWNlLmgKaW5kZXggZWQxYTM3MTM1NTY3MjZhMDkyMTAzNTUyZmQ4NDIwNTEw
MmNkZTQ1NS4uNjI5NDVkOTZlMTZmNzgyMzYwNThhNDk4NDVhZmI4NDAzOWIwNzUyMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vQ2FwdHVyZURldmljZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2Uu
aApAQCAtMzEsNyArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhcHR1cmVE
ZXZpY2UgewogcHVibGljOgotICAgIGVudW0gY2xhc3MgRGV2aWNlVHlwZSB7IFVua25vd24sIE1p
Y3JvcGhvbmUsIFNwZWFrZXIsIENhbWVyYSwgU2NyZWVuLCBXaW5kb3cgfTsKKyAgICBlbnVtIGNs
YXNzIERldmljZVR5cGUgeyBVbmtub3duLCBNaWNyb3Bob25lLCBTcGVha2VyLCBDYW1lcmEsIFNj
cmVlbiwgV2luZG93LCBTeXN0ZW1BdWRpbyB9OwogCiAgICAgQ2FwdHVyZURldmljZShjb25zdCBT
dHJpbmcmIHBlcnNpc3RlbnRJZCwgRGV2aWNlVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIGxhYmVs
LCBjb25zdCBTdHJpbmcmIGdyb3VwSWQgPSBlbXB0eVN0cmluZygpLCBib29sIGlzRW5hYmxlZCA9
IGZhbHNlLCBib29sIGlzRGVmYXVsdCA9IGZhbHNlLCBib29sIGlzTW9jayA9IGZhbHNlKQogICAg
ICAgICA6IG1fcGVyc2lzdGVudElkKHBlcnNpc3RlbnRJZCkKQEAgLTE5MSw3ICsxOTEsOCBAQCB0
ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU+IHsKICAgICAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3Bl
YWtlciwKICAgICAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJh
LAogICAgICAgICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW4sCi0g
ICAgICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdworICAgICAg
ICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3csCisgICAgICAgIFdl
YkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvCiAgICAgPjsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lTWVkaWFTb3VyY2UuaAppbmRleCBjOTU5MjM0ZjY1OGE1MjY3NDBiZDc4MGRkOTlhNDcw
NDc5Y2MxNThiLi5jYThjYzlkNTZhNWRmMWFlYTJkYTJmYWZiZjExMWY4ZTEyMmVlMWU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlh
U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVNZWRpYVNvdXJjZS5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHVibGljOgogCiAgICAgY29uc3Qg
U3RyaW5nJiBwZXJzaXN0ZW50SUQoKSBjb25zdCB7IHJldHVybiBtX3BlcnNpc3RlbnRJRDsgfQog
Ci0gICAgZW51bSBjbGFzcyBUeXBlIHsgTm9uZSwgQXVkaW8sIFZpZGVvIH07CisgICAgZW51bSBj
bGFzcyBUeXBlIHsgTm9uZSwgQXVkaW8sIFZpZGVvLCBTY3JlZW4sIFdpbmRvdywgU3lzdGVtQXVk
aW8gfTsKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCB3aGVuUmVhZHkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rp
c3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKaW5kZXggMmM4NTI2
NjRkZTFlNjk0YjRmYzE4ZWMwOWEwYzc2M2M5MTI1ODZiYS4uNGU4N2I1YWViNTc3NDFmYjFjNWJk
ZDJjOTI1Y2U3NmE4ZjVlYTk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3Vy
Y2VDb2NvYS5jcHAKQEAgLTc4LDYgKzc4LDcgQEAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgRGlzcGxh
eUNhcHR1cmVTb3VyY2VDb2NvYTo6Y3JlYXRlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmkKICAg
ICAgICAgICAgIHJldHVybiBjcmVhdGUoU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2U6OmNy
ZWF0ZShkZXZpY2UsIGNvbnN0cmFpbnRzKSwgZGV2aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29u
c3RyYWludHMpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2FwdHVyZURldmlj
ZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpNaWNyb3Bob25lOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6
U3BlYWtlcjoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5
Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4IDJhZGM5Mzc5MTFh
OTlmODYwZDgyODY2ZGExNzM1N2M1ZDJkOWRiMTUuLjUxZmYzYmI3OGMxZjgxMWMyN2E0MmRiMmMy
ZTEzMWQyNGY5YzQ1MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Rpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29h
LmNwcApAQCAtMTI5LDYgKzEyOSw3IEBAIHN0ZDo6b3B0aW9uYWw8Q2FwdHVyZURldmljZT4gRGlz
cGxheUNhcHR1cmVNYW5hZ2VyQ29jb2E6OmNhcHR1cmVEZXZpY2VXaXRoUGVyc2lzCiAgICAgICAg
IHJldHVybiB3aW5kb3dDYXB0dXJlRGV2aWNlV2l0aFBlcnNpc3RlbnRJRChpZCk7CiAgICAgICAg
IGJyZWFrOwogCisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRp
bzoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OkNhbWVyYToKICAgICBjYXNl
IENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmU6CiAgICAgY2FzZSBDYXB0dXJl
RGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1NjcmVlbkNhcHR1cmVL
aXRDYXB0dXJlU291cmNlLm1tCmluZGV4IDU1MzA4NTFjZDM5Zjg0NjYwZTJiM2FkOTQxNzFiMzg2
YzEwZDM1YzUuLjI4N2U4NThlNTQ0ZDNlOTljNGY0YTNhZTRhNWE1ZmE4NzI2YzhkMjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5DYXB0
dXJlS2l0Q2FwdHVyZVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvU2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2UubW0KQEAgLTU1LDEwICs1
NSw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLU0NGcmFtZVN0YXR1cykgewogI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV3VuZ3VhcmRlZC1hdmFpbGFiaWxpdHktbmV3IgogCi1AaW50ZXJmYWNlIFNDU3RyZWFt
IChTQ1N0cmVhbV9EZXByZWNhdGVkKQotLSAodm9pZClzdGFydENhcHR1cmVXaXRoQ0ZyYW1lSGFu
ZGxlcjooU0NTdHJlYW1CdWZmZXJGcmFtZUF2YWlsYWJsZUhhbmRsZXIpZnJhbWVIYW5kbGVyIGNv
bXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0Vycm9yICplcnJvcikpY29tcGxldGlvbkhhbmRs
ZXI7Ci1AZW5kCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQGludGVyZmFjZSBXZWJDb3Jl
U2NyZWVuQ2FwdHVyZUtpdEhlbHBlciA6IE5TT2JqZWN0PFNDU3RyZWFtRGVsZWdhdGU+IHsKICAg
ICBXZWFrUHRyPFNjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlPiBfY2FsbGJhY2s7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXIuY3BwCmluZGV4IDVjODM0ZTM0ZDIyZTY1NDg0YzM4M2JjMzFmZDIy
NzE3ZjlmNTA0ZjUuLjA5MmQyZmU2MTE5MzQ4Zjk4NjVhODhmYjI3OTFlM2EyZDcxNGE0MDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCkBAIC0xOTYsNiArMTk2LDcgQEAgcHVibGljOgog
ICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhvbmU6CiAgICAg
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICAgICAgY2Fz
ZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6CisgICAgICAgIGNhc2UgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgIGNhc2UgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
aW5kZXggNTRlY2Y1YzJiYjg0ZWZlMGU3YTU5ZDMzNjgyMDIyNWMwZmY2ZjU2Ny4uODU2YjRlYWIz
OWE4NzcwNTdkOGVkY2EyOGNhNWE5OTM2NzA2MTQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtNDczNiwyMCArNDczNiw0MiBAQCBTdHJpbmcgSW50ZXJuYWxzOjpwYWdl
TWVkaWFTdGF0ZSgpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc1BsYXliYWNrVGFyZ2V0QXZh
aWxhYmlsaXR5TGlzdGVuZXIsIik7CiAgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNBdWRpb09yVmlkZW8pKQogICAgICAgICBzdHJpbmcuYXBwZW5k
KCJIYXNBdWRpb09yVmlkZW8sIik7CisKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkpCiAgICAgICAg
IHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwiKTsKLSAgICBpZiAo
c3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVZpZGVv
Q2FwdHVyZURldmljZSkpCi0gICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVZpZGVvQ2Fw
dHVyZURldmljZSwiKTsKICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlKSkKICAgICAgICAgc3RyaW5nLmFw
cGVuZCgiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRlLmNvbnRh
aW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVy
ZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0ludGVycnVwdGVkQXVkaW9DYXB0
dXJlRGV2aWNlLCIpOworCisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlOjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcu
YXBwZW5kKCJIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UsIik7CiAgICAgaWYgKHN0YXRlLmNv
bnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURl
dmljZSkpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNl
LCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5k
KCJIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURldmljZSwiKTsKKwogICAgIGlmIChzdGF0ZS5j
b250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzVXNlckludGVyYWN0ZWRXaXRo
TWVkaWFFbGVtZW50KSkKICAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzVXNlckludGVyYWN0ZWRX
aXRoTWVkaWFFbGVtZW50LCIpOwotICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1
Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UpKQotICAgICAgICBz
dHJpbmcuYXBwZW5kKCJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSwiKTsKLSAgICBpZiAo
c3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxh
eUNhcHR1cmVEZXZpY2UpKQotICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNNdXRlZERpc3BsYXlD
YXB0dXJlRGV2aWNlLCIpOworCisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVj
ZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3Ry
aW5nLmFwcGVuZCgiSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3Rh
dGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkU2NyZWVuQ2Fw
dHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkU2NyZWVuQ2FwdHVy
ZURldmljZSwiKTsKKworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5h
cHBlbmQoIkhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRlLmNv
bnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVE
ZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZp
Y2UsIik7CisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNJbnRlcnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBw
ZW5kKCJIYXNJbnRlcnJ1cHRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsIik7CisKKyAgICBpZiAoc3Rh
dGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1
ZGlvQ2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVN5c3Rl
bUF1ZGlvQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQ
cm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlKSkKKyAg
ICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIik7
CisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJ
bnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBl
bmQoIkhhc0ludGVycnVwdGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLCIpOwogCiAgICAgaWYg
KHN0cmluZy5pc0VtcHR5KCkpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIklzTm90UGxheWluZyIp
OwpAQCAtNTQ0Miw5ICs1NDY0LDEyIEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wT2JzZXJ2aW5nUmVh
bHRpbWVNZWRpYVNvdXJjZSgpCiAKICAgICBzd2l0Y2ggKG1fdHJhY2tTb3VyY2UtPnR5cGUoKSkg
ewogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86CisgICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgbV90cmFja1Nv
dXJjZS0+cmVtb3ZlQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86CisgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgIG1fdHJhY2tTb3VyY2UtPnJlbW92ZVZpZGVvU2Ft
cGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6Ok5vbmU6CkBAIC01NDY1LDkgKzU0OTAsMTIgQEAgdm9pZCBJbnRlcm5h
bHM6Om9ic2VydmVNZWRpYVN0cmVhbVRyYWNrKE1lZGlhU3RyZWFtVHJhY2smIHRyYWNrKQogICAg
IG1fdHJhY2tTb3VyY2UtPmFkZE9ic2VydmVyKCp0aGlzKTsKICAgICBzd2l0Y2ggKG1fdHJhY2tT
b3VyY2UtPnR5cGUoKSkgewogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVk
aW86CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAg
ICAgICAgbV90cmFja1NvdXJjZS0+YWRkQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86Cisg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgIG1fdHJhY2tTb3VyY2UtPmFk
ZFZpZGVvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggODViMzkxMWNk
MTc4ODEwMWZjZjkxOTY2OTFlZWU1NzI2ODg5NzM3My4uMzQ0NDA4MThiNDk2MTY4NGQ1ZDQ5Y2M5
YmEwNjk1Y2E4NThiMThmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMTczLDYgKzE3Myw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCB3aWxsU3RhcnRDYXB0dXJlKENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUg
dHlwZSkgY29uc3QgZmluYWwKICAgICB7CiAgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAgICAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICBj
YXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAgICAgIGNhc2UgQ2Fw
dHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDUwOWI5YjI1
ZjM5NGY2YjM2N2NiYjhkNjg3NTg3YzE0ZDI4ODViNjAuLjIwYTFlMzAyZGRiZDJhNjFlM2M1YTJj
ZDVlZjExZDM1Yzk0YmZmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcApAQCAtMjk2NiwxMCArMjk2NiwxNCBAQCBXS01lZGlhU3RhdGUgV0tQYWdlR2V0TWVkaWFT
dGF0ZShXS1BhZ2VSZWYgcGFnZSkKICAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRlZEF1
ZGlvQ2FwdHVyZURldmljZTsKICAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlKQogICAgICAgICBzdGF0
ZSB8PSBrV0tNZWRpYUhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlOwotICAgIGlmIChjb3JlU3Rh
dGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNh
cHR1cmVEZXZpY2UpCi0gICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzQWN0aXZlRGlzcGxheUNh
cHR1cmVEZXZpY2U7Ci0gICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlOjpIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlKQotICAgICAgICBzdGF0ZSB8
PSBrV0tNZWRpYUhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2U7CisgICAgaWYgKGNvcmVTdGF0
ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0
dXJlRGV2aWNlKQorICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc0FjdGl2ZVNjcmVlbkNhcHR1
cmVEZXZpY2U7CisgICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpCisgICAgICAgIHN0YXRlIHw9IGtX
S01lZGlhSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgIGlmIChjb3JlU3RhdGUgJiBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURl
dmljZSkKKyAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2
aWNlOworICAgIGlmIChjb3JlU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0
ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlKQorICAgICAgICBzdGF0ZSB8PSBrV0tNZWRp
YUhhc011dGVkV2luZG93Q2FwdHVyZURldmljZTsKIAogICAgIHJldHVybiBzdGF0ZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAppbmRleCBlMmVj
MmVkMTRmYjUzNzllM2VkZjlmYzZjZGVhNWQxNWQwY2VmMmJlLi4yZGM0OWI0YzIxMTVmZWFhYTll
ZTRhNDBiMDlkMTAwODc5YjdhYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlUHJpdmF0ZS5oCkBAIC0xNDYsOCArMTQ2LDEyIEBAIGVudW0gewogICAgIGtXS01l
ZGlhSGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlID0gMSA8PCAzLAogICAgIGtXS01lZGlhSGFz
TXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UgPSAxIDw8IDQsCiAgICAga1dLTWVkaWFIYXNNdXRlZFZp
ZGVvQ2FwdHVyZURldmljZSA9IDEgPDwgNSwKLSAgICBrV0tNZWRpYUhhc0FjdGl2ZURpc3BsYXlD
YXB0dXJlRGV2aWNlID0gMSA8PCA2LAotICAgIGtXS01lZGlhSGFzTXV0ZWREaXNwbGF5Q2FwdHVy
ZURldmljZSA9IDEgPDwgNywKKyAgICBrV0tNZWRpYUhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZp
Y2UgPSAxIDw8IDYsCisgICAga1dLTWVkaWFIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSA9
IGtXS01lZGlhSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSwKKyAgICBrV0tNZWRpYUhhc011
dGVkU2NyZWVuQ2FwdHVyZURldmljZSA9IDEgPDwgNywKKyAgICBrV0tNZWRpYUhhc011dGVkRGlz
cGxheUNhcHR1cmVEZXZpY2UgPSBrV0tNZWRpYUhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwK
KyAgICBrV0tNZWRpYUhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8IDgsCisgICAg
a1dLTWVkaWFIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8IDksCiB9OwogdHlwZWRl
ZiB1aW50MzJfdCBXS01lZGlhU3RhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcuaAppbmRleCBlZDQ4ZWEzYzMyNDgyNTE2MTQ2ZmU1OWRlZmQ0M2Vm
MTFiZDY3ODJjLi41ZDllODZjN2U2MTg5OTcwNDdmYmExNmZlMmFiZDNlYzkwZGM0NzkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCkBAIC00MDYs
NyArNDA2LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tGdWxsc2NyZWVuU3RhdGUp
IHsKIAogLyohIEBhYnN0cmFjdCBTZXQgbWljcm9waG9uZSBjYXB0dXJlIHN0YXRlIG9mIGEgV0tX
ZWJWaWV3LgogIEBwYXJhbSBzdGF0ZSBzdGF0ZSB0byBhcHBseSBmb3IgY2FwdHVyZS4KLSBAcGFy
YW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2UgYWZ0ZXIgdGhlIGNhbWVyYSBz
dGF0ZSBoYXMgYmVlbiBjaGFuZ2VkLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2Nr
IHRvIGludm9rZSBhZnRlciB0aGUgbWljcm9waG9uZSBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2VkLgog
IEBkaXNjdXNzaW9uCiAgSWYgdmFsdWUgaXMgV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUsIHRoaXMg
d2lsbCBzdG9wIGFueSBtaWNyb3Bob25lIGNhcHR1cmUuCiAgSWYgdmFsdWUgaXMgV0tNZWRpYUNh
cHR1cmVTdGF0ZU11dGVkLCBhbnkgYWN0aXZlIG1pY3JvcGhvbmUgY2FwdHVyZSB3aWxsIGJlY29t
ZSBtdXRlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCmluZGV4IGNhY2FlYjQxZWIyNjU1OWFjNTkwNTFiNDEyZDhlMWEyMGRiMzExNDQuLjZkNGY1
ZTkwMTE4N2EwODUwMDVkMWIyZmZmYzVlY2ZlOWZlOWQ0MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTA2OSw3ICsxMDY5LDcgQEAg
c3RhdGljIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvV0tNZWRpYVBsYXliYWNrU3RhdGUoV2ViS2l0
OjpNZWRpYVBsYXliYWNrU3RhdGUgbWUKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIgPSBbXSB7
IH07CiAKICAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0ZU5vbmUpIHsKLSAgICAg
ICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2Fw
dHVyZUtpbmQ6OkF1ZGlvLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxl
dGlvbkhhbmRsZXIpXSB7CisgICAgICAgIF9wYWdlLT5zdG9wTWVkaWFDYXB0dXJlKFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lLCBbY29tcGxldGlvbkhh
bmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSB7CiAgICAgICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcigpOwogICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTA5
MSw3ICsxMDkxLDcgQEAgc3RhdGljIFdLTWVkaWFQbGF5YmFja1N0YXRlIHRvV0tNZWRpYVBsYXli
YWNrU3RhdGUoV2ViS2l0OjpNZWRpYVBsYXliYWNrU3RhdGUgbWUKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIgPSBbXSB7IH07CiAKICAgICBpZiAoc3RhdGUgPT0gV0tNZWRpYUNhcHR1cmVTdGF0
ZU5vbmUpIHsKLSAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtl
QmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSB7CisgICAgICAgIF9wYWdlLT5zdG9wTWVkaWFD
YXB0dXJlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmEsIFtj
b21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1
cm47CkBAIC0yMzMyLDcgKzIzMzIsNyBAQCBzdGF0aWMgUmV0YWluUHRyPE5TQXJyYXk+IHdrVGV4
dE1hbmlwdWxhdGlvbkVycm9ycyhOU0FycmF5PF9XS1RleHRNYW5pcHVsYXRpb25JdAogLSAodm9p
ZClfc3RvcE1lZGlhQ2FwdHVyZQogewogICAgIFRIUk9XX0lGX1NVU1BFTkRFRDsKLSAgICBfcGFn
ZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZDo6QXVkaW9WaWRlbyk7CisgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZCk7CiB9CiAKIC0gKHZvaWQpX3N0
b3BBbGxNZWRpYVBsYXliYWNrCkBAIC0zNzA2LDYgKzM3MDYsODMgQEAgc3RhdGljIGlubGluZSBP
cHRpb25TZXQ8V2ViS2l0OjpGaW5kT3B0aW9ucz4gdG9GaW5kT3B0aW9ucyhfV0tGaW5kT3B0aW9u
cyB3a0ZpbmQKICAgICBbc2VsZiBfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0
ZTp1cGRhdGVCbG9jayB3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOllFUyB3aXRob3V0V2FpdGlu
Z0ZvckFuaW1hdGVkUmVzaXplOk5PXTsKIH0KIAorLSAoV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2Vz
KSBfZGlzcGxheUNhcHR1cmVTdXJmYWNlcworeworICAgIGF1dG8gcGFnZVN0YXRlID0gX3BhZ2Ut
PnJlcG9ydGVkTWVkaWFTdGF0ZSgpOworICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcyBzdGF0
ZSA9IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlTm9uZTsKKyAgICBpZiAocGFnZVN0YXRlLmNvbnRh
aW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlNjcmVlbkNhcHR1cmVNYXNrKSkKKyAgICAg
ICAgc3RhdGUgfD0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW47CisgICAgaWYgKHBhZ2VT
dGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpXaW5kb3dDYXB0dXJlTWFz
aykpCisgICAgICAgIHN0YXRlIHw9IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93OworICAg
IHJldHVybiBzdGF0ZTsKK30KKworLSAoV0tEaXNwbGF5Q2FwdHVyZVN0YXRlKSBfZGlzcGxheUNh
cHR1cmVTdGF0ZQoreworICAgIGF1dG8gc3RhdGUgPSBfcGFnZS0+cmVwb3J0ZWRNZWRpYVN0YXRl
KCk7CisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QWN0aXZlRGlzcGxh
eUNhcHR1cmVNYXNrKQorICAgICAgICByZXR1cm4gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZl
OworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkRGlzcGxheUNh
cHR1cmVNYXNrKQorICAgICAgICByZXR1cm4gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQ7Cisg
ICAgcmV0dXJuIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmU7Cit9CisKKy0gKFdLU3lzdGVtQXVk
aW9DYXB0dXJlU3RhdGUpX3N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlCit7CisgICAgYXV0byBzdGF0
ZSA9IF9wYWdlLT5yZXBvcnRlZE1lZGlhU3RhdGUoKTsKKyAgICBpZiAoc3RhdGUgJiBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2
aWNlKQorICAgICAgICByZXR1cm4gV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZUFjdGl2ZTsKKyAg
ICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRT
eXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpCisgICAgICAgIHJldHVybiBXS1N5c3RlbUF1ZGlvQ2Fw
dHVyZVN0YXRlTXV0ZWQ7CisgICAgcmV0dXJuIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVOb25l
OworfQorCistICh2b2lkKV9zZXREaXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJl
U3RhdGUpc3RhdGUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25I
YW5kbGVyCit7CisgICAgVEhST1dfSUZfU1VTUEVOREVEOworICAgIGlmICghY29tcGxldGlvbkhh
bmRsZXIpCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyID0gW10geyB9OworCisgICAgaWYgKHN0
YXRlID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpIHsKKyAgICAgICAgX3BhZ2UtPnN0b3BN
ZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkRpc3Bs
YXksIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcild
IHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0pOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgY29uc3RleHByIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6
Ok11dGVkU3RhdGVGbGFncyBkaXNwbGF5TXV0ZWRGbGFncyA9IHsgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQsIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXI6Ok11dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011dGVkIH07CisgICAgYXV0byBtdXRl
ZFN0YXRlID0gX3BhZ2UtPm11dGVkU3RhdGVGbGFncygpOworICAgIGlmIChzdGF0ZSA9PSBXS0Rp
c3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpCisgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKGRpc3Bs
YXlNdXRlZEZsYWdzKTsKKyAgICBlbHNlIGlmIChzdGF0ZSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3Rh
dGVNdXRlZCkKKyAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoZGlzcGxheU11dGVkRmxhZ3MpOworICAg
IF9wYWdlLT5zZXRNdXRlZChtdXRlZFN0YXRlLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxv
Y2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7
CisgICAgfSk7Cit9CisKKy0gKHZvaWQpX3NldFN5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlOihXS1N5
c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2
b2lkKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIFRIUk9XX0lGX1NVU1BFTkRFRDsKKyAgICBp
ZiAoIWNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsg
fTsKKworICAgIGlmIChzdGF0ZSA9PSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTm9uZSkgewor
ICAgICAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFDYXB0dXJlS2luZDo6U3lzdGVtQXVkaW8sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9j
a1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KCk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGF1dG8gbXV0ZWRT
dGF0ZSA9IF9wYWdlLT5tdXRlZFN0YXRlRmxhZ3MoKTsKKyAgICBpZiAoc3RhdGUgPT0gV0tTeXN0
ZW1BdWRpb0NhcHR1cmVTdGF0ZUFjdGl2ZSkKKyAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011dGVkKTsKKyAg
ICBlbHNlIGlmIChzdGF0ZSA9PSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTXV0ZWQpCisgICAg
ICAgIG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpXaW5k
b3dDYXB0dXJlSXNNdXRlZCk7CisgICAgX3BhZ2UtPnNldE11dGVkKG11dGVkU3RhdGUsIFtjb21w
bGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9KTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50
YXRpb24gV0tXZWJWaWV3IChXS0RlcHJlY2F0ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBjOWYxMjNjMDZiNzhl
MGUzODZlZGRhODc1MzAyOWUwYzZhYzMxMWU1Li5iNWM0YzUxNTc1MjZmN2ZiOWMyNDg5MmYyODg3
NDUxNmY2ZjRhMjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTQyNyw2ICs0MjcsNjUgQEAgZm9yIHRoaXMgcHJv
cGVydHkuCiAKIC0gKHZvaWQpX3JlcXVlc3RSZXNvdXJjZTooTlNVUkxSZXF1ZXN0ICopcmVxdWVz
dCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCheKShOU0RhdGEgKiwgTlNVUkxSZXNwb25zZSAqLCBO
U0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdL
RGlzcGxheUNhcHR1cmVTdGF0ZSkgeworICAgIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUsCisg
ICAgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdGF0
ZU11dGVkLAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOworCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS1N5c3RlbUF1ZGlvQ2FwdHVy
ZVN0YXRlKSB7CisgICAgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmUsCisgICAgV0tTeXN0
ZW1BdWRpb0NhcHR1cmVTdGF0ZUFjdGl2ZSwKKyAgICBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRl
TXV0ZWQsCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CisKK3R5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBXS0Rpc3BsYXlDYXB0dXJl
U3VyZmFjZXMpIHsKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUgPSAwLAorICAgIFdL
RGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuID0gMHgxLAorICAgIFdLRGlzcGxheUNhcHR1cmVT
dXJmYWNlV2luZG93ID0gMHgyLAorfTsKKworLyohIEBhYnN0cmFjdCBUaGUgdHlwZShzKSBvZiBk
aXNwbGF5cyBiZWluZyBjYXB0dXJlZCBvbiBhIHdlYiBwYWdlLgorIEBkaXNjdXNzaW9uIEBsaW5r
IFdLV2ViVmlldyBAL2xpbmsgaXMga2V5LXZhbHVlIG9ic2VydmluZyAoS1ZPKSBjb21wbGlhbnQK
KyBmb3IgdGhpcyBwcm9wZXJ0eS4KKyAqLworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohIEBh
YnN0cmFjdCBUaGUgc3RhdGUgb2YgZGlzcGxheSBjYXB0dXJlIG9uIGEgd2ViIHBhZ2UuCisgQGRp
c2N1c3Npb24gQGxpbmsgV0tXZWJWaWV3IEAvbGluayBpcyBrZXktdmFsdWUgb2JzZXJ2aW5nIChL
Vk8pIGNvbXBsaWFudAorIGZvciB0aGlzIHByb3BlcnR5LgorICovCitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIFdLRGlzcGxheUNhcHR1cmVTdGF0ZSBfZGlzcGxheUNhcHR1cmVTdGF0
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwor
CisvKiEgQGFic3RyYWN0IFRoZSBzdGF0ZSBvZiBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBvbiBhIHdl
YiBwYWdlLgorIEBkaXNjdXNzaW9uIEBsaW5rIFdLV2ViVmlldyBAL2xpbmsgaXMga2V5LXZhbHVl
IG9ic2VydmluZyAoS1ZPKSBjb21wbGlhbnQKKyBmb3IgdGhpcyBwcm9wZXJ0eS4KKyAqLworQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlIF9z
eXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEgQGFic3RyYWN0IFNldCBkaXNwbGF5IGNhcHR1cmUg
c3RhdGUgb2YgYSBXS1dlYlZpZXcuCisgQHBhcmFtIHN0YXRlIFN0YXRlIHRvIGFwcGx5IGZvciBj
YXB0dXJlLgorIEBwYXJhbSBjb21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSBhZnRl
ciB0aGUgc2NyZWVuIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQuCisgQGRpc2N1c3Npb24KKyBJZiB2
YWx1ZSBpcyBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25lLCB0aGlzIHdpbGwgc3RvcCBhbGwgZGlz
cGxheSBjYXB0dXJlLgorIElmIHZhbHVlIGlzIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkLCBh
bGwgYWN0aXZlIGRpc3BsYXkgY2FwdHVyZXMgd2lsbCBiZWNvbWUgbXV0ZWQuCisgSWYgdmFsdWUg
aXMgV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlLCBhbGwgbXV0ZWQgZGlzcGxheSBjYXB0dXJl
cyB3aWxsIGJlY29tZSBhY3RpdmUuCisgKi8KKy0gKHZvaWQpX3NldERpc3BsYXlDYXB0dXJlU3Rh
dGU6KFdLRGlzcGxheUNhcHR1cmVTdGF0ZSlzdGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
Xikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohIEBhYnN0cmFjdCBTZXQgc3lzdGVtIGF1ZGlv
IGNhcHR1cmUgc3RhdGUgb2YgYSBXS1dlYlZpZXcuCisgQHBhcmFtIHN0YXRlIFN0YXRlIHRvIGFw
cGx5IGZvciBzeXN0ZW0gYXVkaW8gY2FwdHVyZS4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIg
QSBibG9jayB0byBpbnZva2UgYWZ0ZXIgdGhlIHN5c3RlbSBhdWRpbyBzdGF0ZSBoYXMgYmVlbiBj
aGFuZ2VkLgorIEBkaXNjdXNzaW9uCisgSWYgdmFsdWUgaXMgV0tTeXN0ZW1BdWRpb0NhcHR1cmVT
dGF0ZU5vbmUsIHRoaXMgd2lsbCBzdG9wIGFueSBzeXN0ZW0gYXVkaW8gY2FwdHVyZS4KKyBJZiB2
YWx1ZSBpcyBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTXV0ZWQsIGFueSBhY3RpdmUgc3lzdGVt
IGF1ZGlvIGNhcHR1cmUgd2lsbCBiZWNvbWUgbXV0ZWQuCisgSWYgdmFsdWUgaXMgV0tTeXN0ZW1B
dWRpb0NhcHR1cmVTdGF0ZUFjdGl2ZSwgYW55IG11dGVkIHN5c3RlbSBhdWRpbyBjYXB0dXJlIHdp
bGwgYmVjb21lIGFjdGl2ZS4KKyBAbm90ZSBXaGVuIHN5c3RlbSBhdWRpbyBjYXB0dXJlIGlzIGFj
dGl2ZSwgaWYgc2NyZWVuQ2FwdHVyZVN0YXRlIGlzIGFjdGl2ZSwgYWxsIHN5c3RlbSBhdWRpbyB3
aWxsIGJlIGNhcHR1cmVkLgorIE90aGVyd2lzZSwgaWYgd2luZG93Q2FwdHVyZVN0YXRlIGlzIGFj
dGl2ZSwgb25seSB0aGUgYXBwbGljYXRpb24gd2hvc2Ugd2luZG93IGJlaW5nIGlzIGNhcHR1cmVk
IHdpbGwgaGF2ZSBpdHMgYXVkaW8gY2FwdHVyZWQuCisgSWYgYm90aCBzY3JlZW5DYXB0dXJlU3Rh
dGUgYW5kIHdpbmRvd0NhcHR1cmVTdGF0ZSBhcmUgTm9uZSBvciBNdXRlZCwgbm8gc3lzdGVtIGF1
ZGlvIHdpbGwgYmUgY2FwdHVyZWQuCisgKi8KKy0gKHZvaWQpX3NldFN5c3RlbUF1ZGlvQ2FwdHVy
ZVN0YXRlOihXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBAZW5kCiAKICNpZiBUQVJHRVRfT1Nf
SVBIT05FCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdl
YlZpZXcuY3BwCmluZGV4IDEwYTEwOWZiOTIxZjVkYzIwZjA4YWNlNTI1OTVlZWRhNTVkNzE4MWEu
LmM4OTNlOTFjMzk3MWI3ZTc3MWIwNzUxZTVkZjAyNWQ0MTVmOWFiODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0zNjQs
NyArMzY0LDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3TWVkaWFDYXB0dXJlU3RhdGVEaWRDaGFuZ2Uo
V2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViQ29yZTo6TWUKICAgICAgICAgZ19vYmplY3Rfbm90
aWZ5X2J5X3BzcGVjKEdfT0JKRUNUKHdlYlZpZXcpLCBzT2JqUHJvcGVydGllc1tQUk9QX01JQ1JP
UEhPTkVfQ0FQVFVSRV9TVEFURV0pOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmICht
ZWRpYVN0YXRlRmxhZ3MuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6QXVkaW9D
YXB0dXJlTWFzaykpCisgICAgaWYgKG1lZGlhU3RhdGVGbGFncy5jb250YWluc0FueShXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyOjpNaWNyb3Bob25lQ2FwdHVyZU1hc2spKQogICAgICAgICBnX29iamVj
dF9ub3RpZnlfYnlfcHNwZWMoR19PQkpFQ1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1Bf
TUlDUk9QSE9ORV9DQVBUVVJFX1NUQVRFXSk7CiAgICAgaWYgKG1lZGlhU3RhdGVGbGFncy5jb250
YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKSkKICAgICAg
ICAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjKEdfT0JKRUNUKHdlYlZpZXcpLCBzT2JqUHJvcGVy
dGllc1tQUk9QX0NBTUVSQV9DQVBUVVJFX1NUQVRFXSk7CkBAIC00ODY4LDcgKzQ4NjgsNyBAQCB2
b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfY29yc19hbGxvd2xpc3QoV2ViS2l0V2ViVmlldyogd2Vi
VmlldywgY29uc3QgZ2NoYXIqIGNvbgogICAgIGdldFBhZ2Uod2ViVmlldykuc2V0Q09SU0Rpc2Fi
bGluZ1BhdHRlcm5zKFdURk1vdmUoYWxsb3dMaXN0VmVjdG9yKSk7CiB9CiAKLXN0YXRpYyB2b2lk
IHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmlldyogd2ViVmll
dywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQgY2FwdHVyZUtpbmQsIFdl
YktpdE1lZGlhQ2FwdHVyZVN0YXRlIGNhcHR1cmVTdGF0ZSwgYm9vbCBpc0Zyb21EaXNwbGF5Q2Fw
dHVyZSA9IGZhbHNlKQorc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0NvbmZpZ3VyZU1lZGlhQ2Fw
dHVyZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFD
YXB0dXJlS2luZCBjYXB0dXJlS2luZCwgV2ViS2l0TWVkaWFDYXB0dXJlU3RhdGUgY2FwdHVyZVN0
YXRlKQogewogICAgIGF1dG8mIHBhZ2UgPSBnZXRQYWdlKHdlYlZpZXcpOwogICAgIGF1dG8gbXV0
ZWRTdGF0ZSA9IHBhZ2UubXV0ZWRTdGF0ZUZsYWdzKCk7CkBAIC00ODc3LDEzICs0ODc3LDE1IEBA
IHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2Vi
Vmlldyogd2ViVmlldywgV2ViQ29yZTo6CiAgICAgY2FzZSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9T
VEFURV9OT05FOgogICAgICAgICBwYWdlLnN0b3BNZWRpYUNhcHR1cmUoY2FwdHVyZUtpbmQsIFt3
ZWJWaWV3LCBjYXB0dXJlS2luZF0gewogICAgICAgICAgICAgc3dpdGNoIChjYXB0dXJlS2luZCkg
ewotICAgICAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2lu
ZDo6QXVkaW86CisgICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpNaWNyb3Bob25lOgogICAgICAgICAgICAgICAgIGdfb2JqZWN0X25vdGlmeV9i
eV9wc3BlYyhHX09CSkVDVCh3ZWJWaWV3KSwgc09ialByb3BlcnRpZXNbUFJPUF9NSUNST1BIT05F
X0NBUFRVUkVfU1RBVEVdKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvOgorICAgICAg
ICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxh
eToKKyAgICAgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQ6OkNhbWVyYToKICAgICAgICAgICAgICAgICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoR19P
QkpFQ1Qod2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfQ0FNRVJBX0NBUFRVUkVfU1RBVEVd
KTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvVmlkZW86CisgICAgICAgICAgICBjYXNl
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbzoKKyAg
ICAgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkV2
ZXJ5S2luZDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CkBAIC00ODkxLDE2ICs0ODkzLDE3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmll
dyogd2ViVmlldywgV2ViQ29yZTo6CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV0VCS0lUX01F
RElBX0NBUFRVUkVfU1RBVEVfQUNUSVZFOgogICAgICAgICBzd2l0Y2ggKGNhcHR1cmVLaW5kKSB7
Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1
ZGlvOgorICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpNaWNyb3Bob25lOgogICAgICAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6VmlkZW86Ci0gICAgICAgICAgICBpZiAoaXNGcm9tRGlzcGxheUNhcHR1cmUpCi0gICAg
ICAgICAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0
ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwotICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVk
U3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpOworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmE6CisgICAgICAgICAgICBtdXRlZFN0YXRl
LnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJ
c011dGVkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5OgorICAgICAgICAgICAgbXV0ZWRTdGF0
ZS5yZW1vdmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVy
ZUlzTXV0ZWQpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvVmlkZW86CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlN5c3RlbUF1ZGlvOgorICAgICAg
ICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQ6
CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQpAQCAtNDkwOCwxNiArNDkxMSwxNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJW
aWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNvcmU6
OgogICAgICAgICBicmVhazsKICAgICBjYXNlIFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX01V
VEVEOgogICAgICAgICBzd2l0Y2ggKGNhcHR1cmVLaW5kKSB7Ci0gICAgICAgIGNhc2UgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvOgorICAgICAgICBjYXNlIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lOgogICAgICAg
ICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6
QXVkaW9DYXB0dXJlSXNNdXRlZCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBX
ZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6VmlkZW86Ci0gICAgICAgICAg
ICBpZiAoaXNGcm9tRGlzcGxheUNhcHR1cmUpCi0gICAgICAgICAgICAgICAgbXV0ZWRTdGF0ZS5h
ZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0
ZWQpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIG11dGVkU3RhdGUuYWRkKFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlZpZGVvQ2FwdHVyZUlzTXV0ZWQpOwor
ICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1l
cmE6CisgICAgICAgICAgICBtdXRlZFN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpN
dXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5
OgorICAgICAgICAgICAgbXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0
ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvVmlk
ZW86CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6
OlN5c3RlbUF1ZGlvOgorICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpFdmVyeUtpbmQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNDk2NSw3ICs0OTY5LDcgQEAgdm9p
ZCB3ZWJraXRfd2ViX3ZpZXdfc2V0X2NhbWVyYV9jYXB0dXJlX3N0YXRlKFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcsIFdlYktpdE1lZGkKICAgICBpZiAod2Via2l0X3dlYl92aWV3X2dldF9jYW1lcmFf
Y2FwdHVyZV9zdGF0ZSh3ZWJWaWV3KSA9PSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9OT05F
KQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0
dXJlKHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpWaWRl
bywgc3RhdGUpOworICAgIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUod2ViVmll
dywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwgc3RhdGUp
OwogfQogCiAvKioKQEAgLTUwMDcsNyArNTAxMSw3IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3Nl
dF9taWNyb3Bob25lX2NhcHR1cmVfc3RhdGUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0
CiAgICAgaWYgKHdlYmtpdF93ZWJfdmlld19nZXRfbWljcm9waG9uZV9jYXB0dXJlX3N0YXRlKHdl
YlZpZXcpID09IFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX05PTkUpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUod2ViVmlldywgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvLCBzdGF0ZSk7CisgICAg
d2Via2l0V2ViVmlld0NvbmZpZ3VyZU1lZGlhQ2FwdHVyZSh3ZWJWaWV3LCBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZSwgc3RhdGUpOwogfQogCiAvKioK
QEAgLTUwMjQsOSArNTAyOCw5IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9taWNyb3Bob25l
X2NhcHR1cmVfc3RhdGUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0CiBXZWJLaXRNZWRp
YUNhcHR1cmVTdGF0ZSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Rpc3BsYXlfY2FwdHVyZV9zdGF0ZShX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewogICAgIGF1dG8gc3RhdGUgPSBnZXRQYWdlKHdlYlZp
ZXcpLnJlcG9ydGVkTWVkaWFTdGF0ZSgpOwotICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKQorICAg
IGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGU6Okhhc0FjdGl2
ZVNjcmVlbkNhcHR1cmVEZXZpY2UpCiAgICAgICAgIHJldHVybiBXRUJLSVRfTUVESUFfQ0FQVFVS
RV9TVEFURV9BQ1RJVkU7Ci0gICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSkKKyAgICBpZiAoc3RhdGUg
JiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1
cmVEZXZpY2UpCiAgICAgICAgIHJldHVybiBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9NVVRF
RDsKICAgICByZXR1cm4gV0VCS0lUX01FRElBX0NBUFRVUkVfU1RBVEVfTk9ORTsKIH0KQEAgLTUw
NDksNSArNTA1Myw1IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3X3NldF9kaXNwbGF5X2NhcHR1cmVf
c3RhdGUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0TWVkCiAgICAgaWYgKHdlYmtpdF93
ZWJfdmlld19nZXRfZGlzcGxheV9jYXB0dXJlX3N0YXRlKHdlYlZpZXcpID09IFdFQktJVF9NRURJ
QV9DQVBUVVJFX1NUQVRFX05PTkUpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYmtpdFdlYlZp
ZXdDb25maWd1cmVNZWRpYUNhcHR1cmUod2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvLCBzdGF0ZSwgdHJ1ZSk7CisgICAgd2Via2l0V2ViVmlld0Nv
bmZpZ3VyZU1lZGlhQ2FwdHVyZSh3ZWJWaWV3LCBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFD
YXB0dXJlS2luZDo6RGlzcGxheSwgc3RhdGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmluZGV4IDg2MGFhZjgyNWU2YmY1
NTY0ZjgwNDczOGIzNTg1ZGVkYjBiZDkyYTIuLmEyMTdjMWY5ZWZiZTA0MGQ1NmE0ZjRiZWE1MWQ4
NTZhNGI4N2NjODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bh
Z2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Q
YWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTg0LDggKzg0LDE1IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgbWljcm9waG9uZUNhcHR1cmVXaWxsQ2hhbmdlKCkgZmluYWw7CiAgICAgdm9pZCBjYW1lcmFD
YXB0dXJlV2lsbENoYW5nZSgpIGZpbmFsOworICAgIHZvaWQgZGlzcGxheUNhcHR1cmVXaWxsQ2hh
bmdlKCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgp
IGZpbmFsOworICAgIHZvaWQgc3lzdGVtQXVkaW9DYXB0dXJlV2lsbENoYW5nZSgpIGZpbmFsOwor
CiAgICAgdm9pZCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKICAgICB2b2lkIGNh
bWVyYUNhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZUNoYW5n
ZWQoKSBmaW5hbDsKKyAgICB2b2lkIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKCkgZmlu
YWw7CisgICAgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CiAKICAgICBX
aW5kb3dLaW5kIHdpbmRvd0tpbmQoKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNjBkYTNiNDUwMjE2
YjA1OGY1YmM1ZDBjNTZjOGFkODAwY2Y2ZmNlMC4uNWQ1YjE0NjE1NWNlOGYxNjFlYjAzYTBlNWJi
MzdlOTRkMzBjOTFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCkBAIC0xODMsNiArMTgzLDIxIEBAIHZvaWQgUGFnZUNs
aWVudEltcGxDb2NvYTo6Y2FtZXJhQ2FwdHVyZVdpbGxDaGFuZ2UoKQogICAgIFttX3dlYlZpZXcg
d2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiY2FtZXJhQ2FwdHVyZVN0YXRlIl07CiB9CiAKK3ZvaWQg
UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBb
bV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRlIl07
Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc1dp
bGxDaGFuZ2UoKQoreworICAgIFttX3dlYlZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiX2Rp
c3BsYXlDYXB0dXJlU3VyZmFjZXMiXTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpz
eXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxDaGFu
Z2VWYWx1ZUZvcktleTpAIl9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSJdOworfQorCiB2b2lkIFBh
Z2VDbGllbnRJbXBsQ29jb2E6Om1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpCiB7CiAgICAgW21f
d2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAIm1pY3JvcGhvbmVDYXB0dXJlU3RhdGUiXTsK
QEAgLTE5Myw2ICsyMDgsMjEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpjYW1lcmFDYXB0
dXJlQ2hhbmdlZCgpCiAgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImNhbWVy
YUNhcHR1cmVTdGF0ZSJdOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpc3BsYXlD
YXB0dXJlQ2hhbmdlZCgpCit7CisgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpA
Il9kaXNwbGF5Q2FwdHVyZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6
ZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlkQ2hh
bmdlVmFsdWVGb3JLZXk6QCJfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyJdOworfQorCit2b2lkIFBh
Z2VDbGllbnRJbXBsQ29jb2E6OnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKQoreworICAgIFtt
X3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJfc3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUi
XTsKK30KKwogV2luZG93S2luZCBQYWdlQ2xpZW50SW1wbENvY29hOjp3aW5kb3dLaW5kKCkKIHsK
ICAgICBhdXRvIHdpbmRvdyA9IFttX3dlYlZpZXcgd2luZG93XTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eS5jcHAKaW5kZXggYmRhZjk4ZDEwZGQzNThiZGQ3YmY3OTMzYWJkMTQ4NjUwN2NjZWQ4Ni4u
MmFmNzgyOTBmNTA3M2VhMWM5NzYxOTcyMzhjZjU2MjRmNjlkOGExYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXJQcm94eS5jcHAKQEAgLTY2LDkgKzY2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9zb3Vy
Y2UtPmFkZE9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgc3dpdGNoIChtX3NvdXJjZS0+dHlwZSgp
KSB7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86CisgICAg
ICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAg
ICAgICBtX3NvdXJjZS0+YWRkQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoK
KyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICAgICAgbV9z
b3VyY2UtPmFkZFZpZGVvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKQEAgLTgzLDkg
Kzg2LDEyIEBAIHB1YmxpYzoKIAogICAgICAgICBzd2l0Y2ggKG1fc291cmNlLT50eXBlKCkpIHsK
ICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgICAg
IG1fc291cmNlLT5yZW1vdmVBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgor
ICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICAgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgICAgICBtX3Nv
dXJjZS0+cmVtb3ZlVmlkZW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpAQCAtMjg4
LDYgKzI5NCw3IEBAIHZvaWQgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6Y3JlYXRlTWVk
aWFTb3VyY2VGb3JDYXB0dXJlRGV2aWNlV2l0aENvbnN0cmFpCiAgICAgY2FzZSBXZWJDb3JlOjpD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgICAgIHNvdXJjZU9yRXJyb3Ig
PSBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5kaXNwbGF5Q2FwdHVyZUZh
Y3RvcnkoKS5jcmVhdGVEaXNwbGF5Q2FwdHVyZVNvdXJjZShkZXZpY2UsIFdURk1vdmUoaGFzaFNh
bHQpLCBjb25zdHJhaW50cyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViQ29yZTo6Q2Fw
dHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBXZWJDb3JlOjpD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTcGVha2VyOgogICAgIGNhc2UgV2ViQ29yZTo6Q2Fw
dHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggNTE2OWQ3MWY1ODQw
YjFhMmFjNDMyNDk2ODNhZTM4YWRlN2JiMTE4Yy4uM2E3MTBmMWE3MWZlYWEzODQzMjE0ODg5MDlh
MDljYjIzM2VmNDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNTY1
LDggKzU2NSwxNCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgbWljcm9waG9uZUNhcHR1
cmVXaWxsQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNhbWVyYUNhcHR1cmVXaWxsQ2hh
bmdlKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlDYXB0dXJlV2lsbENoYW5nZSgpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSgpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIG1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNw
bGF5Q2FwdHVyZUNoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGxheUNhcHR1cmVT
dXJmYWNlc0NoYW5nZWQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3lzdGVtQXVkaW9DYXB0dXJl
Q2hhbmdlZCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHZpZGVvQ29udHJvbHNNYW5hZ2VyRGlk
Q2hhbmdlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRleCBl
MGI1ZTI5NzgyMjg2ZjZhOTNiMmIzYjRhMzVhY2E4YzA3NzA3ZWY3Li45ZjM2MzEwMTllOGE0Yzk1
Y2M1NzJmYWVhY2U0NjFlNjRhOTYzMjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuY3BwCkBAIC05OSw3ICs5OSw3IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eShXCiAKIFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkoKQogewotICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVz
c2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6QXVkaW9WaWRlbyB9LCBbXSB7IH0pOworICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2Vy
TWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kIH0sIFtdIHsgfSk7CiAjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKICAgICBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCkucmV2b2tl
U2FuZGJveEV4dGVuc2lvbnNJZk5lZWRlZChwYWdlKCkucHJvY2VzcygpKTsKICAgICBwcm94aWVz
KCkucmVtb3ZlKHRoaXMpOwpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkKIHsKICAgICBBTFdBWVNfTE9H
KExPR0lERU5USUZJRVIpOwogICAgIGludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMoKTsKLSAgICBt
X3BhZ2Uuc3RvcE1lZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVk
aW9WaWRlbyk7CisgICAgbV9wYWdlLnN0b3BNZWRpYUNhcHR1cmUoTWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6OkV2ZXJ5S2luZCk7CiB9CiAKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHk6OmNhcHR1cmVEZXZpY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmMjQwZmY0OTAyYmZhMWI2NDBjMDc0MmJi
YjZhOWRjMjVjNzQwNzE3Li40NmI1OTdlYmYwOTUwM2Q0NDdhNGQxN2ZhOTY4OGY2OWIxOGFhNTY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTk1OTcsMTMg
Kzk1OTcsMjUgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJl
U3RhdGUoKQogCiAgICAgV0VCUEFHRVBST1hZX1JFTEVBU0VfTE9HKFdlYlJUQywgInVwZGF0ZVJl
cG9ydGVkTWVkaWFDYXB0dXJlU3RhdGU6IGZyb20gJWQgdG8gJWQiLCBtX3JlcG9ydGVkTWVkaWFD
YXB0dXJlU3RhdGUudG9SYXcoKSwgYWN0aXZlQ2FwdHVyZVN0YXRlLnRvUmF3KCkpOwogCi0gICAg
Ym9vbCBtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0
YXRlICYgTWVkaWFQcm9kdWNlcjo6QXVkaW9DYXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVT
dGF0ZSAmIE1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2spOworICAgIGJvb2wgbWljcm9w
aG9uZUNhcHR1cmVDaGFuZ2VkID0gKG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSAmIE1lZGlh
UHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAm
IE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzayk7CiAgICAgYm9vbCBjYW1lcmFD
YXB0dXJlQ2hhbmdlZCA9IChtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1
Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9k
dWNlcjo6VmlkZW9DYXB0dXJlTWFzayk7CisgICAgYm9vbCBkaXNwbGF5Q2FwdHVyZUNoYW5nZWQg
PSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6RGlzcGxheUNh
cHR1cmVNYXNrKSAhPSAoYWN0aXZlQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6RGlzcGxh
eUNhcHR1cmVNYXNrKTsKKyAgICBib29sIHN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQgPSAobV9y
ZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6U3lzdGVtQXVkaW9DYXB0
dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OlN5c3RlbUF1
ZGlvQ2FwdHVyZU1hc2spOworCisgICAgYXV0byByZXBvcnRlZERpc3BsYXlDYXB0dXJlU3VyZmFj
ZXMgPSBtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiAoTWVkaWFQcm9kdWNlcjo6U2NyZWVu
Q2FwdHVyZU1hc2sgfCBNZWRpYVByb2R1Y2VyOjpXaW5kb3dDYXB0dXJlTWFzayk7CisgICAgYXV0
byBhY3RpdmVEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzID0gYWN0aXZlQ2FwdHVyZVN0YXRlICYgKE1l
ZGlhUHJvZHVjZXI6OlNjcmVlbkNhcHR1cmVNYXNrIHwgTWVkaWFQcm9kdWNlcjo6V2luZG93Q2Fw
dHVyZU1hc2spOworICAgIGF1dG8gZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQgPSByZXBv
cnRlZERpc3BsYXlDYXB0dXJlU3VyZmFjZXMgIT0gYWN0aXZlRGlzcGxheUNhcHR1cmVTdXJmYWNl
czsKIAogICAgIGlmIChtaWNyb3Bob25lQ2FwdHVyZUNoYW5nZWQpCiAgICAgICAgIHBhZ2VDbGll
bnQoKS5taWNyb3Bob25lQ2FwdHVyZVdpbGxDaGFuZ2UoKTsKICAgICBpZiAoY2FtZXJhQ2FwdHVy
ZUNoYW5nZWQpCiAgICAgICAgIHBhZ2VDbGllbnQoKS5jYW1lcmFDYXB0dXJlV2lsbENoYW5nZSgp
OworICAgIGlmIChkaXNwbGF5Q2FwdHVyZUNoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5k
aXNwbGF5Q2FwdHVyZVdpbGxDaGFuZ2UoKTsKKyAgICBpZiAoZGlzcGxheUNhcHR1cmVTdXJmYWNl
c0NoYW5nZWQpCisgICAgICAgIHBhZ2VDbGllbnQoKS5kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2ls
bENoYW5nZSgpOworICAgIGlmIChzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKQorICAgICAgICBw
YWdlQ2xpZW50KCkuc3lzdGVtQXVkaW9DYXB0dXJlV2lsbENoYW5nZSgpOwogCiAgICAgbV9yZXBv
cnRlZE1lZGlhQ2FwdHVyZVN0YXRlID0gYWN0aXZlQ2FwdHVyZVN0YXRlOwogICAgIG1fdWlDbGll
bnQtPm1lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlKG1fbWVkaWFTdGF0ZSk7CkBAIC05NjEyLDYg
Kzk2MjQsMTIgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0dXJl
U3RhdGUoKQogICAgICAgICBwYWdlQ2xpZW50KCkubWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkKCk7
CiAgICAgaWYgKGNhbWVyYUNhcHR1cmVDaGFuZ2VkKQogICAgICAgICBwYWdlQ2xpZW50KCkuY2Ft
ZXJhQ2FwdHVyZUNoYW5nZWQoKTsKKyAgICBpZiAoZGlzcGxheUNhcHR1cmVDaGFuZ2VkKQorICAg
ICAgICBwYWdlQ2xpZW50KCkuZGlzcGxheUNhcHR1cmVDaGFuZ2VkKCk7CisgICAgaWYgKGRpc3Bs
YXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuZGlzcGxheUNh
cHR1cmVTdXJmYWNlc0NoYW5nZWQoKTsKKyAgICBpZiAoc3lzdGVtQXVkaW9DYXB0dXJlQ2hhbmdl
ZCkKKyAgICAgICAgcGFnZUNsaWVudCgpLnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKTsKIH0K
IAogdm9pZCBXZWJQYWdlUHJveHk6OnZpZGVvQ29udHJvbHNNYW5hZ2VyRGlkQ2hhbmdlKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMGM4NjA2MGIzYzBiNDhjNWU2
MDZmMTU4NTA2ODUzYTI2ZmYwMzA4NC4uYTJmMjBhYWE1ZjY4N2JjNzIyZmMzMTZkYTcxZWNmM2Rj
OWUzYmM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1NDAs
OCArMTU0MCw4IEBAIHB1YmxpYzoKIAogICAgIGVudW0gY2xhc3MgQ2FuRGVsYXlOb3RpZmljYXRp
b24geyBObywgWWVzIH07CiAgICAgdm9pZCB1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGVGbGFncywgQ2FuRGVsYXlOb3RpZmljYXRpb24g
PSBDYW5EZWxheU5vdGlmaWNhdGlvbjo6Tm8pOwotICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRpbygp
IGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrKTsgfQotICAgIGJvb2wgaXNDYXB0dXJpbmdWaWRlbygp
IGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpWaWRlb0NhcHR1cmVNYXNrKTsgfQorICAgIGJvb2wgaXNDYXB0dXJpbmdBdWRpbygp
IGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpJc0NhcHR1cmluZ0F1ZGlvTWFzayk7IH0KKyAgICBib29sIGlzQ2FwdHVyaW5nVmlk
ZW8oKSBjb25zdCB7IHJldHVybiBtX21lZGlhU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6SXNDYXB0dXJpbmdWaWRlb01hc2spOyB9CiAgICAgYm9vbCBoYXNBY3RpdmVB
dWRpb1N0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNl
KTsgfQogICAgIGJvb2wgaGFzQWN0aXZlVmlkZW9TdHJlYW0oKSBjb25zdCB7IHJldHVybiBtX21l
ZGlhU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhh
c0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSk7IH0KICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TWVkaWFTdGF0ZUZsYWdzIHJlcG9ydGVkTWVkaWFTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVw
b3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSB8IChtX21lZGlhU3RhdGUgLSBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyOjpNZWRpYUNhcHR1cmVNYXNrKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IGVlMTQzNGJkYTg3YjQzOTExNDVjNDY4OTUzNzA5NmQwNmFlMzk4ODAu
LmUyNWQ4ZjNlNjkxNmRiYWM1YzNlODQ3OWVhNTdjMzI2NWU5MzA5NDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE5NzYsNyArMTk3Niw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBlCiB7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIGlzQ2FwdHVy
aW5nQXVkaW8gPSBXVEY6OmFueU9mKERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS52YWx1ZXMo
KSwgW10oYXV0byogZG9jdW1lbnQpIHsKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tZWRpYVN0
YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrOworICAgICAgICByZXR1cm4g
ZG9jdW1lbnQtPm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJl
TWFzazsKICAgICB9KTsKICAgICBib29sIGlzQ2FwdHVyaW5nVmlkZW8gPSBXVEY6OmFueU9mKERv
Y3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS52YWx1ZXMoKSwgW10oYXV0byogZG9jdW1lbnQpIHsK
ICAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tZWRpYVN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpW
aWRlb0NhcHR1cmVNYXNrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGEyNDU5NDFjODEwMGYwYjFkMjNhMzdlZTY4MmZhMTAzNzVhYmYzOGYuLjVk
ZjFmZmM4ZmFmYzcwZGI0YzNhMTZiN2E3NzE0YmJkOTZjMWZmNWUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMi0w
MS0yOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIEV4cG9zZSBzY3JlZW4gYW5kIHdpbmRvdyBjYXB0dXJlIHN0YXRlIHRvIFdLV2ViVmll
dworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1ODM4
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODIwNzkyND4KKworICAgICAgICBSZXZpZXdlZCBi
eSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL1Rlc3RXZWJLaXRBUEkueGNzY2hlbWU6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVk
aWFXaW5kb3dBbmRTY3JlZW4ubW06CisgICAgICAgICgtW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIg
b2JzZXJ2ZVZhbHVlRm9yS2V5UGF0aDpvZk9iamVjdDpjaGFuZ2U6Y29udGV4dDpdKToKKyAgICAg
ICAgKC1bRGlzcGxheUNhcHR1cmVPYnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdGF0ZTpd
KToKKyAgICAgICAgKC1bRGlzcGxheUNhcHR1cmVPYnNlcnZlciB3YWl0Rm9yRGlzcGxheUNhcHR1
cmVTdXJmYWNlczpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIyLTAx
LTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXSBDKysyMCB3YXJuaW5ncyBpbiBUZXN0Q29uc29sZU1lc3NhZ2UKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93
QW5kU2NyZWVuLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZXRE
aXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW0KaW5kZXggNzNjMjE5MjhhN2YxNTZlZDQ5NTMy
MzJhOTA3NmE5YTVjZWU3NjcxMC4uMDBmMmNhZDQ1OWIwMTA3ZmRkMDljY2U5MjFkMmQyNTk2OTRi
MmFjYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9H
ZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9HZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW0KQEAg
LTMzLDkgKzMzLDkgQEAKICNpbXBvcnQgIlVzZXJNZWRpYUNhcHR1cmVVSURlbGVnYXRlLmgiCiAj
aW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9X
S1VJRGVsZWdhdGVQcml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Lmg+CiAjaW1w
b3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L1dL
V2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3
UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg+
CiAKIEBpbnRlcmZhY2UgV2luZG93QW5kU2NyZWVuQ2FwdHVyZVRlc3RWaWV3IDogVGVzdFdLV2Vi
VmlldwpAQCAtNTgsNiArNTgsNjIgQEAKIH0KIEBlbmQKIAorQGludGVyZmFjZSBEaXNwbGF5Q2Fw
dHVyZU9ic2VydmVyIDogTlNPYmplY3QgeworICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlcyBf
ZGlzcGxheUNhcHR1cmVTdXJmYWNlczsKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3RhdGUgX2Rpc3Bs
YXlDYXB0dXJlU3RhdGU7Cit9CisKK0Bwcm9wZXJ0eSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGUgZGlz
cGxheUNhcHR1cmVTdGF0ZTsKK0Bwcm9wZXJ0eSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgZGlz
cGxheUNhcHR1cmVTdXJmYWNlczsKKworLSAodm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihO
U1N0cmluZyAqKWtleVBhdGggb2ZPYmplY3Q6KGlkKW9iamVjdCBjaGFuZ2U6KE5TRGljdGlvbmFy
eTxOU1N0cmluZyAqLCBpZD4gKiljaGFuZ2UgY29udGV4dDoodm9pZCAqKWNvbnRleHQ7CistIChC
T09MKXdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpZXhw
ZWN0ZWRTdGF0ZTsKKy0gKEJPT0wpd2FpdEZvckRpc3BsYXlDYXB0dXJlU3VyZmFjZXM6KFdLRGlz
cGxheUNhcHR1cmVTdXJmYWNlcylleHBlY3RlZFN0YXRlOworQGVuZAorCitAaW1wbGVtZW50YXRp
b24gRGlzcGxheUNhcHR1cmVPYnNlcnZlcgorCitAc3ludGhlc2l6ZSBkaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzID0gX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CitAc3ludGhlc2l6ZSBkaXNwbGF5Q2Fw
dHVyZVN0YXRlID0gX2Rpc3BsYXlDYXB0dXJlU3RhdGU7CisKKy0gKHZvaWQpb2JzZXJ2ZVZhbHVl
Rm9yS2V5UGF0aDooTlNTdHJpbmcgKilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmplY3QgY2hhbmdl
OihOU0RpY3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopY2hhbmdlIGNvbnRleHQ6KHZvaWQgKilj
b250ZXh0Cit7CisgICAgRVhQRUNUX1RSVUUoW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOk5TU3Ry
aW5nRnJvbVNlbGVjdG9yKEBzZWxlY3RvcihfZGlzcGxheUNhcHR1cmVTdXJmYWNlcykpXSB8fCBb
a2V5UGF0aCBpc0VxdWFsVG9TdHJpbmc6TlNTdHJpbmdGcm9tU2VsZWN0b3IoQHNlbGVjdG9yKF9k
aXNwbGF5Q2FwdHVyZVN0YXRlKSldKTsKKworICAgIGlmIChba2V5UGF0aCBpc0VxdWFsVG9TdHJp
bmc6TlNTdHJpbmdGcm9tU2VsZWN0b3IoQHNlbGVjdG9yKF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2Vz
KSldKSB7CisgICAgICAgIF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzID0gKFdLRGlzcGxheUNhcHR1
cmVTdXJmYWNlcylbW2NoYW5nZSBvYmplY3RGb3JLZXk6TlNLZXlWYWx1ZUNoYW5nZU5ld0tleV0g
dW5zaWduZWRJbnRlZ2VyVmFsdWVdOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIF9kaXNw
bGF5Q2FwdHVyZVN0YXRlID0gKFdLRGlzcGxheUNhcHR1cmVTdGF0ZSlbW2NoYW5nZSBvYmplY3RG
b3JLZXk6TlNLZXlWYWx1ZUNoYW5nZU5ld0tleV0gdW5zaWduZWRJbnRlZ2VyVmFsdWVdOworfQor
CitzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIHN0YXRlQ2hhbmdlUXVlcnlNYXhDb3VudCA9IDMw
OworCistIChCT09MKXdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN0YXRlOihXS0Rpc3BsYXlDYXB0dXJl
U3RhdGUpZXhwZWN0ZWRTdGF0ZQoreworICAgIHVuc2lnbmVkIHRyaWVzID0gMDsKKyAgICBkbyB7
CisgICAgICAgIGlmIChleHBlY3RlZFN0YXRlID09IF9kaXNwbGF5Q2FwdHVyZVN0YXRlKQorICAg
ICAgICAgICAgcmV0dXJuIFlFUzsKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAo
MC4xKTsKKyAgICB9IHdoaWxlICgrK3RyaWVzIDw9IHN0YXRlQ2hhbmdlUXVlcnlNYXhDb3VudCk7
CisKKyAgICByZXR1cm4gZXhwZWN0ZWRTdGF0ZSA9PSBfZGlzcGxheUNhcHR1cmVTdGF0ZTsKK30K
KworLSAoQk9PTCl3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczooV0tEaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VzKWV4cGVjdGVkU3RhdGUKK3sKKyAgICB1bnNpZ25lZCB0cmllcyA9IDA7CisgICAg
ZG8geworICAgICAgICBpZiAoZXhwZWN0ZWRTdGF0ZSA9PSBfZGlzcGxheUNhcHR1cmVTdXJmYWNl
cykKKyAgICAgICAgICAgIHJldHVybiBZRVM7CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnNsZWVwKDAuMSk7CisgICAgfSB3aGlsZSAoKyt0cmllcyA8PSBzdGF0ZUNoYW5nZVF1ZXJ5TWF4
Q291bnQpOworCisgICAgcmV0dXJuIGV4cGVjdGVkU3RhdGUgPT0gX2Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXM7Cit9CitAZW5kCisKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogVEVTVChXZWJL
aXQyLCBHZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW5Qcm9tcHQpCkBAIC03NywxMyArMTMz
LDIzIEBAIFRFU1QoV2ViS2l0MiwgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuUHJvbXB0
KQogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXaW5kb3dBbmRTY3JlZW5DYXB0dXJlVGVz
dFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCkgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgW3dlYlZpZXcgc2V0VUlEZWxl
Z2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKKyAgICBhdXRvIG9ic2VydmVyID0gYWRvcHROUyhbW0Rp
c3BsYXlDYXB0dXJlT2JzZXJ2ZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBhZGRPYnNl
cnZlcjpvYnNlcnZlci5nZXQoKSBmb3JLZXlQYXRoOkAiX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMi
IG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2VydmluZ09wdGlvbk5ldyBjb250ZXh0Om5pbF07CisgICAg
W3dlYlZpZXcgYWRkT2JzZXJ2ZXI6b2JzZXJ2ZXIuZ2V0KCkgZm9yS2V5UGF0aDpAIl9kaXNwbGF5
Q2FwdHVyZVN0YXRlIiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgY29udGV4
dDpuaWxdOworCiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAi
Z2V0RGlzcGxheU1lZGlhIl07CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0
dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVDVF9UUlVF
KFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRl
XSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25lKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2
ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VOb25l
KTsKIAogICAgIC8vIENoZWNrICJEb27igJl0IEFsbG93IgogICAgIFtkZWxlZ2F0ZSBzZXRHZXRE
aXNwbGF5TWVkaWFEZWNpc2lvbjpXS0Rpc3BsYXlDYXB0dXJlUGVybWlzc2lvbkRlY2lzaW9uRGVu
eV07CiAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInByb21wdEZv
ckNhcHR1cmUoeyB2aWRlbyA6IHRydWUgfSkiXTsKICAgICBbZGVsZWdhdGUgd2FpdFVudGlsUHJv
bXB0ZWRdOwogICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IGhhdmVTdHJlYW06Tk9dKTsKKyAgICBF
WFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2Fw
dHVyZVN0YXRlTm9uZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJl
U3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlTm9uZSk7CiAKICAgICAvLyBDaGVj
ayAiQWxsb3cgU2NyZWVuIgogICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6QCJzdG9wKCkiXTsKQEAgLTk1LDkgKzE2MSw0MiBAQCBURVNUKFdlYktpdDIsIEdldERpc3Bs
YXlNZWRpYVdpbmRvd0FuZFNjcmVlblByb21wdCkKICAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBo
YXZlU3RyZWFtOllFU10pOwogICAgIGF1dG8gbGFiZWwgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0OkAic3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0ubGFiZWwiXTsKICAg
ICBFWFBFQ1RfV0tfU1RSRVEobGFiZWwsIEAiTW9jayBzY3JlZW4gZGV2aWNlIDEiKTsKKyAgICBF
WFBFQ1RfVFJVRShbb2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5
Q2FwdHVyZVN0YXRlQWN0aXZlXSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JE
aXNwbGF5Q2FwdHVyZVN1cmZhY2VzOldLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuXSk7Cisg
ICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxh
eUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlD
YXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNU
X1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1
cmVTdXJmYWNlU2NyZWVuKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1
cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworCisgICAgLy8g
TXV0ZSBhbmQgdW5tdXRlIHNjcmVlbiBjYXB0dXJlCisgICAgX19ibG9jayBib29sIGNvbXBsZXRp
b25DYWxsZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpX
S0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAg
ICBjb21wbGV0aW9uQ2FsbGVkID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmNvbXBsZXRpb25DYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9k
aXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCk7CisgICAg
RVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNh
cHR1cmVTdGF0ZU11dGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1
cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworICAgIEVYUEVD
VF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0
dXJlU3VyZmFjZVNjcmVlbik7CisKKyAgICBjb21wbGV0aW9uQ2FsbGVkID0gZmFsc2U7CisgICAg
W3dlYlZpZXcgX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0
aXZlIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAgIGNvbXBsZXRpb25DYWxsZWQgPSB0
cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY29tcGxldGlvbkNh
bGxlZCk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09
IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVy
IGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7Cisg
ICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlz
cGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlz
cGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOwor
CisgICAgLy8gU3RvcCBhbGwgY2FwdHVyZQorICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJzdG9wKCkiXTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxh
eUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSk7CisgICAgRVhQRUNU
X1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1
cmVTdXJmYWNlTm9uZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJl
U3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFtv
YnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFj
ZU5vbmUpOwogCiAgICAgLy8gQ2hlY2sgIkFsbG93IFdpbmRvdyIKLSAgICBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07CiAgICAgW2RlbGVnYXRlIHJlc2V0
V2FzUHJvbXB0ZWRdOwogICAgIFt3ZWJWaWV3IF9zZXRJbmRleE9mR2V0RGlzcGxheU1lZGlhRGV2
aWNlU2VsZWN0ZWRGb3JUZXN0aW5nOkAwXTsKICAgICBbZGVsZWdhdGUgc2V0R2V0RGlzcGxheU1l
ZGlhRGVjaXNpb246V0tEaXNwbGF5Q2FwdHVyZVBlcm1pc3Npb25EZWNpc2lvbldpbmRvd1Byb21w
dF07CkBAIC0xMDYsOSArMjA1LDM5IEBAIFRFU1QoV2ViS2l0MiwgR2V0RGlzcGxheU1lZGlhV2lu
ZG93QW5kU2NyZWVuUHJvbXB0KQogICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IGhhdmVTdHJlYW06
WUVTXSk7CiAgICAgbGFiZWwgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAic3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0ubGFiZWwiXTsKICAgICBFWFBFQ1RfV0tfU1RS
RVEobGFiZWwsIEAiTW9jayB3aW5kb3cgZGV2aWNlIDEiKTsKKyAgICBFWFBFQ1RfVFJVRShbb2Jz
ZXJ2ZXIgd2FpdEZvckRpc3BsYXlDYXB0dXJlU3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0
aXZlXSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzOldLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93XSk7CisgICAgRVhQRUNUX1RSVUUo
W3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFj
dGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09
IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcg
X2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93
KTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0g
V0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOworCisgICAgLy8gTXV0ZSBhbmQgdW5tdXRl
CisgICAgY29tcGxldGlvbkNhbGxlZCA9IGZhbHNlOworICAgIFt3ZWJWaWV3IF9zZXREaXNwbGF5
Q2FwdHVyZVN0YXRlOldLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkIGNvbXBsZXRpb25IYW5kbGVy
Ol4oKSB7CisgICAgICAgIGNvbXBsZXRpb25DYWxsZWQgPSB0cnVlOworICAgIH1dOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmY29tcGxldGlvbkNhbGxlZCk7CisgICAgRVhQRUNUX1RS
VUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0
ZU11dGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdGF0ZV0g
PT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3
IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRv
dyk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09
IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93KTsKKworICAgIGNvbXBsZXRpb25DYWxsZWQg
PSBmYWxzZTsKKyAgICBbd2ViVmlldyBfc2V0RGlzcGxheUNhcHR1cmVTdGF0ZTpXS0Rpc3BsYXlD
YXB0dXJlU3RhdGVBY3RpdmUgY29tcGxldGlvbkhhbmRsZXI6XigpIHsKKyAgICAgICAgY29tcGxl
dGlvbkNhbGxlZCA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZjb21wbGV0aW9uQ2FsbGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNh
cHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlKTsKKyAgICBFWFBFQ1Rf
VFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0
YXRlQWN0aXZlKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdXJm
YWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3cpOworICAgIEVYUEVDVF9UUlVF
KFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZVdpbmRvdyk7CiAKICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAic3RvcCgpIl07CiAgICAgW3dlYlZpZXcgX3NldEluZGV4T2ZHZXREaXNwbGF5TWVkaWFEZXZp
Y2VTZWxlY3RlZEZvclRlc3Rpbmc6bmlsXTsKKworICAgIFt3ZWJWaWV3IHJlbW92ZU9ic2VydmVy
Om9ic2VydmVyLmdldCgpIGZvcktleVBhdGg6QCJfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyJdOwor
ICAgIFt3ZWJWaWV3IHJlbW92ZU9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktleVBhdGg6QCJf
ZGlzcGxheUNhcHR1cmVTdGF0ZSJdOwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggM2Q1ZGVlMTAzZjY1ZTZlNWEyMWQ0MzI2ZTQ2MjljMWU1YTg2ZDc2OS4uZDcyNDZk
YmI3YjBkZmI4ZjVlYjQxMjM4ZTEyNjY5ODljNWI4ZDM1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIyLTAxLTI4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gRXhwb3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzU4MzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL2dl
dC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWw6IFVwZGF0ZSBmb3IgbmV3IGFuZCByZW5hbWVkIHN0
YXRlcy4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVk
LWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1z
dHJlYW0tcGFnZS1tdXRlZC5odG1sOiBEaXR0by4KKwogMjAyMi0wMS0yNiAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10g
Y29udGFpbmVyLXR5cGUgcHJvcGVydHkgc2hvdWxkIGVzdGFibGlzaCBjb250YWlubWVudCBmb3Ig
J3NpemUnIGFuZCAnaW5saW5lLXNpemUnIHZhbHVlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sCmluZGV4IGEw
MWIyOWVmODlkMzQ4YWI1OGQ2ZDYzNzM3MWFmNTJjZTNlODlmZTIuLmM4NWRkOTc0MmYxMzVmZjQ5
NDJlNTk2ZjNjODdiMWIwOTU1YmE1YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vZ2V0LWRpc3BsYXktbWVkaWEtbXV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWwKQEAgLTQxLDcgKzQx
LDcgQEAKICAgICAgICAgICAgIGxldCBzdHJlYW0gPSBhd2FpdCBjYWxsR2V0RGlzcGxheU1lZGlh
KHsgdmlkZW86IHRydWUgfSk7CiAgICAgICAgICAgICBsZXQgcGFnZU1lZGlhU3RhdGUgPSBpbnRl
cm5hbHMucGFnZU1lZGlhU3RhdGUoKTsKIAotICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VN
ZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyksICdwYWdl
IHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpOwor
ICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRl
ZFNjcmVlbkNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNN
dXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UnKTsKICAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdl
TWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ug
c3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZScpOwogICAg
ICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZEF1
ZGlvQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVk
QXVkaW9DYXB0dXJlRGV2aWNlJyk7CiAKQEAgLTU4LDE0ICs1OCwxNCBAQAogICAgICAgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZChgUGFnZSBzdGF0ZSBkaWQgbm90IGNoYW5nZSBm
cm9tICR7cGFnZU1lZGlhU3RhdGV9YCk7CiAKICAgICAgICAgICAgICAgICAgICAgcGFnZU1lZGlh
U3RhdGUgPSBpbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKTsKLSAgICAgICAgICAgICAgICAgICAg
YXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRlZERpc3BsYXlDYXB0
dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzTXV0ZWREaXNwbGF5
Q2FwdHVyZURldmljZScpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVk
aWFTdGF0ZS5pbmNsdWRlcygnSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ug
c3RhdGUgaW5jbHVkZXMgSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UnKTsKKyAgICAgICAg
ICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNNdXRl
ZFNjcmVlbkNhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNN
dXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UnKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3Ry
dWUocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2Un
KSwgJ3BhZ2Ugc3RhdGUgaW5jbHVkZXMgSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZScpOwog
ICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCkKICAgICAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgICAgICBwYWdlTWVkaWFTdGF0ZSA9IGludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpOwot
ICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNN
dXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGluY2x1ZGVzIEhhc011dGVk
RGlzcGxheUNhcHR1cmVEZXZpY2UnKTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFn
ZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlJyksICdw
YWdlIHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2Un
KTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygn
SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGluY2x1ZGVzIEhhc011
dGVkU2NyZWVuQ2FwdHVyZURldmljZScpOworICAgICAgICAgICAgICAgIGFzc2VydF9mYWxzZShw
YWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZScpLCAn
cGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2Un
KTsKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0TWVkaWFTdHJlYW1UcmFja011dGVkKHRy
YWNrLCBmYWxzZSkKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLWV4cGVjdGVk
LnR4dAppbmRleCA5M2U3ZGVjNzU5NDJiZDgzMGU1ZGUxN2UxNDJiZTBkMzJhMjkxYTJlLi45Yjhh
YmIxOWE3ZWQ0ZGQxZjI1M2NkNThkODQxNDJjMDRjYTM0YWU3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11
dGVkLWV4cGVjdGVkLnR4dApAQCAtMTYsOCArMTYsOCBAQCBFVkVOVDogbXV0ZQogUEFTUyBzY3Jl
ZW5DYXB0dXJlVHJhY2subXV0ZWQgaXMgdHJ1ZQogUEFTUyBtaWNyb3Bob25lQ2FwdHVyZVRyYWNr
Lm11dGVkIGlzIGZhbHNlCiBQQVNTIGNhbWVyYUNhcHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQot
UEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKLVBBU1Mgd2luZG93LmludGVybmFscy5w
YWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKSBi
ZWNhbWUgZmFsc2UKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1
ZGVzKEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKK1BBU1Mgd2luZG93
LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZVNjcmVlbkNhcHR1
cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0
YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQog
UEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRB
dWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBh
Z2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNh
bWUgdHJ1ZQpAQCAtMjksOCArMjksOCBAQCBFVkVOVDogbXV0ZQogUEFTUyBzY3JlZW5DYXB0dXJl
VHJhY2subXV0ZWQgaXMgdHJ1ZQogUEFTUyBtaWNyb3Bob25lQ2FwdHVyZVRyYWNrLm11dGVkIGlz
IHRydWUKIFBBU1MgY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIGlzIHRydWUKLVBBU1Mgd2luZG93
LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkRGlzcGxheUNhcHR1
cmVEZXZpY2UpIGJlY2FtZSB0cnVlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3Rh
dGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNl
CitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRl
ZFNjcmVlbkNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMu
cGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKSBi
ZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1
ZGVzKEhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQogUEFTUyB3aW5kb3cu
aW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlQXVkaW9DYXB0dXJl
RGV2aWNlKSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0
ZSgpLmluY2x1ZGVzKEhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQpAQCAt
NDIsOCArNDIsOCBAQCBFVkVOVDogdW5tdXRlCiBQQVNTIHNjcmVlbkNhcHR1cmVUcmFjay5tdXRl
ZCBpcyB0cnVlCiBQQVNTIG1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBB
U1MgY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZhbHNlCi1QQVNTIHdpbmRvdy5pbnRlcm5h
bHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNl
KSBiZWNhbWUgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5j
bHVkZXMoSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQorUEFTUyB3
aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRTY3JlZW5D
YXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRp
YVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIGZh
bHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNB
Y3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5h
bHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkg
YmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNs
dWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCkBAIC01NCw4ICs1
NCw4IEBAIEVWRU5UOiB1bm11dGUKIFBBU1Mgc2NyZWVuQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZh
bHNlCiBQQVNTIG1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgY2Ft
ZXJhQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZhbHNlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFn
ZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkgYmVj
YW1lIHRydWUKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVz
KEhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQorUEFTUyB3aW5kb3cu
aW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlU2NyZWVuQ2FwdHVy
ZURldmljZSkgYmVjYW1lIHRydWUKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0
ZSgpLmluY2x1ZGVzKEhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQ
QVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVB
dWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFn
ZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1l
IGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhI
YXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVkLmh0bWwK
aW5kZXggNmQyMTliNzc3Y2I2OTcyZGE3NDg4ZmM4MGMxOWZjODRmMWZlM2Q2OS4uYzgxMTQyYzli
ZTZkZTAzODhhNmFjYjZmZjJkNzhmZGRmYzU0MzRlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbApAQCAt
MTE0LDcgKzExNCw3IEBACiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJtaWNyb3Bob25lQ2Fw
dHVyZVRyYWNrLm11dGVkIik7CiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjYW1lcmFDYXB0
dXJlVHJhY2subXV0ZWQiKTsKIAotICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhh
c011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZp
Y2UiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZFNjcmVlbkNh
cHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSIpOwogICAgICAgICAg
ICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJI
YXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdl
U3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2FwdHVy
ZURldmljZSIpOwogICAgICAgICB9CkBAIC0xMzMsNyArMTMzLDcgQEAKICAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgibWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQiKTsKIAotICAgICAgICAgICAg
YXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiLCAiSGFz
QWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFn
ZVN0YXRlKCJIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlU2NyZWVuQ2Fw
dHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVk
QXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAg
ICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNl
IiwgIkhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSIpOwogICAgICAgICB9CkBAIC0xNTIsNyAr
MTUyLDcgQEAKICAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoIm1pY3JvcGhvbmVDYXB0dXJlVHJh
Y2subXV0ZWQiKTsKICAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoImNhbWVyYUNhcHR1cmVUcmFj
ay5tdXRlZCIpOwogCi0gICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0ZWRE
aXNwbGF5Q2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIpOwor
ICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkU2NyZWVuQ2FwdHVyZURl
dmljZSIsICJIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2Fp
dCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc011dGVk
QXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgi
SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNl
Iik7CiAgICAgICAgIH0KQEAgLTE3MCw3ICsxNzAsNyBAQAogICAgICAgICAgICAgc2hvdWxkQmVG
YWxzZSgibWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAgc2hvdWxk
QmVGYWxzZSgiY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIik7CiAKLSAgICAgICAgICAgIGF3YWl0
IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIsICJIYXNNdXRl
ZERpc3BsYXlDYXB0dXJlRGV2aWNlIik7CisgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0
ZSgiSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZFNjcmVlbkNhcHR1cmVE
ZXZpY2UiKTsKICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRp
b0NhcHR1cmVEZXZpY2UiLCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAg
ICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UiLCAi
SGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450536</attachid>
            <date>2022-02-01 08:56:50 -0800</date>
            <delta_ts>2022-02-01 10:35:35 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>window-capture-state-changes-patch-3.txt</filename>
            <type>text/plain</type>
            <size>87586</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzZDVkZWUxMDNmNjUuLmQ3MjQ2ZGJiN2IwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIyLTAxLTI4ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFttYWNPU10gRXhwb3NlIHNjcmVlbiBhbmQgd2luZG93IGNhcHR1cmUgc3RhdGUgdG8g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzU4MzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4MjA3OTI0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL2dl
dC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWw6IFVwZGF0ZSBmb3IgbmV3IGFuZCByZW5hbWVkIHN0
YXRlcy4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL21lZGlhLXN0cmVhbS1wYWdlLW11dGVk
LWV4cGVjdGVkLnR4dDogRGl0dG8uCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1z
dHJlYW0tcGFnZS1tdXRlZC5odG1sOiBEaXR0by4KKwogMjAyMi0wMS0yNiAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10g
Y29udGFpbmVyLXR5cGUgcHJvcGVydHkgc2hvdWxkIGVzdGFibGlzaCBjb250YWlubWVudCBmb3Ig
J3NpemUnIGFuZCAnaW5saW5lLXNpemUnIHZhbHVlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sCmluZGV4IGEw
MWIyOWVmODlkMy4uYzg1ZGQ5NzQyZjEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL2dldC1kaXNwbGF5LW1lZGlhLW11dGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9nZXQtZGlzcGxheS1tZWRpYS1tdXRlZC5odG1sCkBAIC00MSw3ICs0
MSw3IEBACiAgICAgICAgICAgICBsZXQgc3RyZWFtID0gYXdhaXQgY2FsbEdldERpc3BsYXlNZWRp
YSh7IHZpZGVvOiB0cnVlIH0pOwogICAgICAgICAgICAgbGV0IHBhZ2VNZWRpYVN0YXRlID0gaW50
ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCk7CiAKLSAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdl
TWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpLCAncGFn
ZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UnKTsK
KyAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0
ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFz
TXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyk7CiAgICAgICAgICAgICBhc3NlcnRfZmFsc2UocGFn
ZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc011dGVkVmlkZW9DYXB0dXJlRGV2aWNlJyksICdwYWdl
IHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UnKTsKICAg
ICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWRB
dWRpb0NhcHR1cmVEZXZpY2UnKSwgJ3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNNdXRl
ZEF1ZGlvQ2FwdHVyZURldmljZScpOwogCkBAIC01OCwxNCArNTgsMTQgQEAKICAgICAgICAgICAg
ICAgICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoYFBhZ2Ugc3RhdGUgZGlkIG5vdCBjaGFuZ2Ug
ZnJvbSAke3BhZ2VNZWRpYVN0YXRlfWApOwogCiAgICAgICAgICAgICAgICAgICAgIHBhZ2VNZWRp
YVN0YXRlID0gaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCk7Ci0gICAgICAgICAgICAgICAgICAg
IGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0ZWREaXNwbGF5Q2Fw
dHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc011dGVkRGlzcGxh
eUNhcHR1cmVEZXZpY2UnKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1l
ZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlJyksICdwYWdl
IHN0YXRlIGluY2x1ZGVzIEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlJyk7CisgICAgICAg
ICAgICAgICAgICAgIGFzc2VydF9mYWxzZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFzTXV0
ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyksICdwYWdlIHN0YXRlIGRvZXMgbm90IGluY2x1ZGUgSGFz
TXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlJyk7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90
cnVlKHBhZ2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNl
JyksICdwYWdlIHN0YXRlIGluY2x1ZGVzIEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UnKTsK
ICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpCiAgICAgICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICAgICAgcGFnZU1lZGlhU3RhdGUgPSBpbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKTsK
LSAgICAgICAgICAgICAgICBhc3NlcnRfdHJ1ZShwYWdlTWVkaWFTdGF0ZS5pbmNsdWRlcygnSGFz
TXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNsdWRlcyBIYXNNdXRl
ZERpc3BsYXlDYXB0dXJlRGV2aWNlJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKHBh
Z2VNZWRpYVN0YXRlLmluY2x1ZGVzKCdIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZScpLCAn
cGFnZSBzdGF0ZSBkb2VzIG5vdCBpbmNsdWRlIEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNl
Jyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUocGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMo
J0hhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZScpLCAncGFnZSBzdGF0ZSBpbmNsdWRlcyBIYXNN
dXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZmFsc2Uo
cGFnZU1lZGlhU3RhdGUuaW5jbHVkZXMoJ0hhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UnKSwg
J3BhZ2Ugc3RhdGUgZG9lcyBub3QgaW5jbHVkZSBIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNl
Jyk7CiAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldE1lZGlhU3RyZWFtVHJhY2tNdXRlZCh0
cmFjaywgZmFsc2UpCiAgICAgICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC1leHBlY3Rl
ZC50eHQKaW5kZXggOTNlN2RlYzc1OTQyLi45YjhhYmIxOWE3ZWQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2Ut
bXV0ZWQtZXhwZWN0ZWQudHh0CkBAIC0xNiw4ICsxNiw4IEBAIEVWRU5UOiBtdXRlCiBQQVNTIHNj
cmVlbkNhcHR1cmVUcmFjay5tdXRlZCBpcyB0cnVlCiBQQVNTIG1pY3JvcGhvbmVDYXB0dXJlVHJh
Y2subXV0ZWQgaXMgZmFsc2UKIFBBU1MgY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIGlzIGZhbHNl
Ci1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRl
ZERpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxz
LnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2Up
IGJlY2FtZSBmYWxzZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5j
bHVkZXMoSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQorUEFTUyB3aW5k
b3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzQWN0aXZlU2NyZWVuQ2Fw
dHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlh
U3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVl
CiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRl
ZEF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCiBQQVNTIHdpbmRvdy5pbnRlcm5hbHMu
cGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpIGJl
Y2FtZSB0cnVlCkBAIC0yOSw4ICsyOSw4IEBAIEVWRU5UOiBtdXRlCiBQQVNTIHNjcmVlbkNhcHR1
cmVUcmFjay5tdXRlZCBpcyB0cnVlCiBQQVNTIG1pY3JvcGhvbmVDYXB0dXJlVHJhY2subXV0ZWQg
aXMgdHJ1ZQogUEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQgaXMgdHJ1ZQotUEFTUyB3aW5k
b3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWREaXNwbGF5Q2Fw
dHVyZURldmljZSkgYmVjYW1lIHRydWUKLVBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFT
dGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFs
c2UKK1BBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011
dGVkU2NyZWVuQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKK1BBU1Mgd2luZG93LmludGVybmFs
cy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2Up
IGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5j
bHVkZXMoSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCiBQQVNTIHdpbmRv
dy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVBdWRpb0NhcHR1
cmVEZXZpY2UpIGJlY2FtZSBmYWxzZQogUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0
YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRWaWRlb0NhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCkBA
IC00Miw4ICs0Miw4IEBAIEVWRU5UOiB1bm11dGUKIFBBU1Mgc2NyZWVuQ2FwdHVyZVRyYWNrLm11
dGVkIGlzIHRydWUKIFBBU1MgbWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQog
UEFTUyBjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKLVBBU1Mgd2luZG93LmludGVy
bmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZp
Y2UpIGJlY2FtZSB0cnVlCi1QQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5p
bmNsdWRlcyhIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCitQQVNT
IHdpbmRvdy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNNdXRlZFNjcmVl
bkNhcHR1cmVEZXZpY2UpIGJlY2FtZSB0cnVlCitQQVNTIHdpbmRvdy5pbnRlcm5hbHMucGFnZU1l
ZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUg
ZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhh
c0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKIFBBU1Mgd2luZG93LmludGVy
bmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNl
KSBiZWNhbWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmlu
Y2x1ZGVzKEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKQEAgLTU0LDgg
KzU0LDggQEAgRVZFTlQ6IHVubXV0ZQogUEFTUyBzY3JlZW5DYXB0dXJlVHJhY2subXV0ZWQgaXMg
ZmFsc2UKIFBBU1MgbWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCBpcyBmYWxzZQogUEFTUyBj
YW1lcmFDYXB0dXJlVHJhY2subXV0ZWQgaXMgZmFsc2UKLVBBU1Mgd2luZG93LmludGVybmFscy5w
YWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlKSBi
ZWNhbWUgdHJ1ZQotUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0YXRlKCkuaW5jbHVk
ZXMoSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSkgYmVjYW1lIGZhbHNlCitQQVNTIHdpbmRv
dy5pbnRlcm5hbHMucGFnZU1lZGlhU3RhdGUoKS5pbmNsdWRlcyhIYXNBY3RpdmVTY3JlZW5DYXB0
dXJlRGV2aWNlKSBiZWNhbWUgdHJ1ZQorUEFTUyB3aW5kb3cuaW50ZXJuYWxzLnBhZ2VNZWRpYVN0
YXRlKCkuaW5jbHVkZXMoSGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKSBiZWNhbWUgZmFsc2UK
IFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc0FjdGl2
ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKIFBBU1Mgd2luZG93LmludGVybmFscy5w
YWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVzKEhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlKSBiZWNh
bWUgZmFsc2UKIFBBU1Mgd2luZG93LmludGVybmFscy5wYWdlTWVkaWFTdGF0ZSgpLmluY2x1ZGVz
KEhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSkgYmVjYW1lIHRydWUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRt
bAppbmRleCA2ZDIxOWI3NzdjYjYuLmM4MTE0MmM5YmU2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9tZWRpYS1zdHJlYW0tcGFnZS1tdXRlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXBhZ2UtbXV0ZWQuaHRtbApA
QCAtMTE0LDcgKzExNCw3IEBACiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJtaWNyb3Bob25l
Q2FwdHVyZVRyYWNrLm11dGVkIik7CiAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjYW1lcmFD
YXB0dXJlVHJhY2subXV0ZWQiKTsKIAotICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUo
Ikhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVE
ZXZpY2UiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNNdXRlZFNjcmVl
bkNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSIpOwogICAgICAg
ICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIs
ICJIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQ
YWdlU3RhdGUoIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZEF1ZGlvQ2Fw
dHVyZURldmljZSIpOwogICAgICAgICB9CkBAIC0xMzMsNyArMTMzLDcgQEAKICAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgibWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJjYW1lcmFDYXB0dXJlVHJhY2subXV0ZWQiKTsKIAotICAgICAgICAg
ICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UiLCAi
SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UiKTsKKyAgICAgICAgICAgIGF3YWl0IGNoZWNr
UGFnZVN0YXRlKCJIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UiLCAiSGFzQWN0aXZlU2NyZWVu
Q2FwdHVyZURldmljZSIpOwogICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011
dGVkQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSIpOwog
ICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkVmlkZW9DYXB0dXJlRGV2
aWNlIiwgIkhhc0FjdGl2ZVZpZGVvQ2FwdHVyZURldmljZSIpOwogICAgICAgICB9CkBAIC0xNTIs
NyArMTUyLDcgQEAKICAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoIm1pY3JvcGhvbmVDYXB0dXJl
VHJhY2subXV0ZWQiKTsKICAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoImNhbWVyYUNhcHR1cmVU
cmFjay5tdXRlZCIpOwogCi0gICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzTXV0
ZWREaXNwbGF5Q2FwdHVyZURldmljZSIsICJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIp
OworICAgICAgICAgICAgYXdhaXQgY2hlY2tQYWdlU3RhdGUoIkhhc011dGVkU2NyZWVuQ2FwdHVy
ZURldmljZSIsICJIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBh
d2FpdCBjaGVja1BhZ2VTdGF0ZSgiSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc011
dGVkQXVkaW9DYXB0dXJlRGV2aWNlIik7CiAgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VTdGF0
ZSgiSGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlIiwgIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2
aWNlIik7CiAgICAgICAgIH0KQEAgLTE3MCw3ICsxNzAsNyBAQAogICAgICAgICAgICAgc2hvdWxk
QmVGYWxzZSgibWljcm9waG9uZUNhcHR1cmVUcmFjay5tdXRlZCIpOwogICAgICAgICAgICAgc2hv
dWxkQmVGYWxzZSgiY2FtZXJhQ2FwdHVyZVRyYWNrLm11dGVkIik7CiAKLSAgICAgICAgICAgIGF3
YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSIsICJIYXNN
dXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlIik7CisgICAgICAgICAgICBhd2FpdCBjaGVja1BhZ2VT
dGF0ZSgiSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZSIsICJIYXNNdXRlZFNjcmVlbkNhcHR1
cmVEZXZpY2UiKTsKICAgICAgICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVB
dWRpb0NhcHR1cmVEZXZpY2UiLCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAg
ICAgICAgIGF3YWl0IGNoZWNrUGFnZVN0YXRlKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2Ui
LCAiSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UiKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGZmYzNjODM5YTVhMy4uN2U0ZWJlNjY1MzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAK
KzIwMjItMDEtMjggIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBFeHBvc2Ugc2NyZWVuIGFuZCB3aW5kb3cgY2FwdHVyZSBzdGF0ZSB0byBX
S1dlYlZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzNTgzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODgyMDc5MjQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBVcGRhdGVkIEdldERpc3BsYXlNZWRp
YVdpbmRvd0FuZFNjcmVlbiBBUEkgdGVzdC4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFEZXZpY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvTWVkaWFEZXZpY2VJbmZv
S2luZCk6IEFkZCBTeXN0ZW1BdWRpby4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzb3VyY2VDYXB0dXJlU3Rh
dGUpOiBEaWZmZXJlbnRpYXRlIHN0YXRlIG9mIHdpbmRvdyBhbmQgc2NyZWVuIGNhcHR1cmUgdHJh
Y2tzLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9QYWdlTXV0
ZWRTdGF0ZSk6IE5ldy4KKyAgICAgICAgKFdlYkNvcmU6OnRyYWNrVHlwZUZvck1lZGlhUHJvZHVj
ZXJDYXB0dXJlS2luZCk6IAorICAgICAgICAoV2ViQ29yZTo6dHJhY2tNYXRjaGVzS2luZCk6IERl
bGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6
CisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdDo6bWVkaWFTdHJlYW1EaWRGYWlsKTog
SW5jbHVkZSBuZXcgc291cmNlIHR5cGVzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMaWJXZWJSVENNZWRpYUVuZHBvaW50OjphZGRUcmFjayk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6Y3JlYXRlU291cmNlQW5kUlRDVHJhY2spOgor
CisgICAgICAgICogcGFnZS9NZWRpYVByb2R1Y2VyLmg6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUmVjb3JkZXJQcml2YXRlOjpzZWxlY3RUcmFja3MpOiBJbmNsdWRlIG5ldyB0cmFjayB0
eXBlcy4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2UuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VD
b2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpj
cmVhdGUpOiBEaXR0by4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNw
bGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Q2Fw
dHVyZU1hbmFnZXJDb2NvYTo6Y2FwdHVyZURldmljZVdpdGhQZXJzaXN0ZW50SUQpOiBEaXR0by4K
KworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5DYXB0dXJlS2l0Q2Fw
dHVyZVNvdXJjZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyLmNwcDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnBhZ2VNZWRpYVN0YXRlKTogVXBkYXRlIHdpdGggbmV3
IGFuZCBjaGFuZ2VkIHR5cGUgbmFtZXMuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnN0
b3BPYnNlcnZpbmdSZWFsdGltZU1lZGlhU291cmNlKTogSW5jbHVkZSBuZXcgdHJhY2sgdHlwZXMu
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om9ic2VydmVNZWRpYVN0cmVhbVRyYWNrKTog
RGl0dG8uCisKIDIwMjItMDEtMjYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNdIGNvbnRhaW5lci10eXBlIHByb3BlcnR5
IHNob3VsZCBlc3RhYmxpc2ggY29udGFpbm1lbnQgZm9yICdzaXplJyBhbmQgJ2lubGluZS1zaXpl
JyB2YWx1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFEZXZpY2VzLmNwcAppbmRleCAxYWU1MGU5ZDRiZWIuLjAwNGJiM2FiNmI1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcApA
QCAtMjgxLDYgKzI4MSw3IEBAIHN0YXRpYyBpbmxpbmUgTWVkaWFEZXZpY2VJbmZvOjpLaW5kIHRv
TWVkaWFEZXZpY2VJbmZvS2luZChDYXB0dXJlRGV2aWNlOjpEZXZpY2VUCiAgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTY3JlZW46CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpXaW5kb3c6CiAgICAgICAgIHJldHVybiBNZWRpYURldmljZUluZm86OktpbmQ6
OlZpZGVvaW5wdXQ7CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1B
dWRpbzoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDE2MDkx
OTZkMTI0NC4uZTk2M2RhZGY5ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTQzNiwxNCArNDM2LDIy
IEBAIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3Mgc291cmNlQ2FwdHVyZVN0YXRlKFJlYWx0
aW1lTWVkaWFTb3VyY2UmIHNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2Vy
TWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKKyAgICAgICAgaWYg
KHNvdXJjZS5tdXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2U7CisgICAgICAgIGlmIChzb3VyY2UuaW50
ZXJydXB0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzSW50ZXJydXB0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBpZiAoc291cmNlLmlz
UHJvZHVjaW5nRGF0YSgpKQorICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlOworICAgICAgICBicmVhazsKICAgICBj
YXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKICAgICAgICAgaWYgKHNvdXJj
ZS5tdXRlZCgpKQotICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpI
YXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlOworICAgICAgICAgICAgcmV0dXJuIE1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2U7CiAgICAgICAgIGlm
IChzb3VyY2UuaW50ZXJydXB0ZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2Vy
TWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWREaXNwbGF5Q2FwdHVyZURldmljZTsKKyAgICAgICAg
ICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dD
YXB0dXJlRGV2aWNlOwogICAgICAgICBpZiAoc291cmNlLmlzUHJvZHVjaW5nRGF0YSgpKQotICAg
ICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5
Q2FwdHVyZURldmljZTsKKyAgICAgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0
ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZTsKICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIENhcHR1
cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTUy
MSw2ICs1MjksNyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3Rh
dGUoKQogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgogICAgICAg
ICBtX3ByaXZhdGUtPnNldE11dGVkKHBhZ2UtPm11dGVkU3RhdGUoKS5jb250YWlucyhNZWRpYVBy
b2R1Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQpKTsKICAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBj
YXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgY2FzZSBDYXB0dXJl
RGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKQEAgLTUyOCwxNSArNTM3LDIwIEBAIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dXBkYXRlVG9Q
YWdlTXV0ZWRTdGF0ZSgpCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgdHJhY2tNYXRj
aGVzS2luZChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kIGtpbmQpCitzdGF0aWMgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQg
dHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGUgdHlwZSkKIHsKLSAgICBzd2l0Y2ggKGtpbmQpIHsKLSAgICBjYXNlIE1lZGlhUHJvZHVj
ZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW87Ci0gICAgY2FzZSBNZWRpYVByb2R1Y2VyTWVkaWFD
YXB0dXJlS2luZDo6QXVkaW9WaWRlbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgIT0gUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZTsKLSAgICBjYXNlIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpWaWRlbzoKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJj
ZTo6VHlwZTo6VmlkZW87CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6U3lzdGVtQXVkaW86CisgICAgICAgIHJldHVybiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6U3lzdGVtQXVkaW87CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpWaWRlbzoKKyAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpD
YW1lcmE7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CisgICAgICAgIHJldHVybiBN
ZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheTsKKyAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpAQCAtNTQ1LDcgKzU1OSw5IEBAIHZvaWQgTWVk
aWFTdHJlYW1UcmFjazo6ZW5kQ2FwdHVyZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhUHJvZHVj
ZXJNZWRpYUNhcHR1cmVLCiB7CiAgICAgYm9vbCBkaWRFbmRDYXB0dXJlID0gZmFsc2U7CiAgICAg
Zm9yIChhdXRvKiBjYXB0dXJlVHJhY2sgOiBhbGxDYXB0dXJlVHJhY2tzKCkpIHsKLSAgICAgICAg
aWYgKGNhcHR1cmVUcmFjay0+ZG9jdW1lbnQoKSAhPSAmZG9jdW1lbnQgfHwgIXRyYWNrTWF0Y2hl
c0tpbmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2soKS50eXBlKCksIGtpbmQpKQorICAgICAg
ICBpZiAoY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpICE9ICZkb2N1bWVudCkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICBpZiAoa2luZCAhPSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6RXZlcnlLaW5kICYmIGtpbmQgIT0gdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1
cmVLaW5kKGNhcHR1cmVUcmFjay0+cHJpdmF0ZVRyYWNrKCkudHlwZSgpKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICBjYXB0dXJlVHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRy
YWNrOjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKICAgICAgICAgZGlkRW5kQ2FwdHVyZSA9IHRydWU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFSZXF1ZXN0LmNwcAppbmRleCA1MjdmYmI0YTI5YWQuLmUxNTdhYjlkNzY5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwCkBAIC0yNzEsNiArMjcxLDE1IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6bWVkaWFT
dHJlYW1EaWRGYWlsKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlwZSkKICAgICBjYXNlIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgogICAgICAgICB0eXBlRGVzY3JpcHRpb24g
PSAidmlkZW8iOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OlNjcmVlbjoKKyAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gInNjcmVlbiI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93Ogor
ICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAid2luZG93IjsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKKyAgICAgICAgdHlw
ZURlc2NyaXB0aW9uID0gInN5c3RlbSBhdWRpbyI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKICAgICAgICAgdHlwZURlc2NyaXB0aW9u
ID0gInVua25vd24iOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
TWVkaWFFbmRwb2ludC5jcHAKaW5kZXggYmZjMjcwODAzMDhlLi41YzNjMjJjNzU2NmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yMDQsNiArMjA0
LDkgQEAgYm9vbCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjphZGRUcmFjayhMaWJXZWJSVENSdHBT
ZW5kZXJCYWNrZW5kJiBzZW5kZXIsIE1lZGlhU3QKICAgICAgICAgc291cmNlID0gV1RGTW92ZSh2
aWRlb1NvdXJjZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OldpbmRvdzoKKyAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1
ZGlvOgogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQxNiwxMiAr
NDE5LDE1IEBAIHN0ZDo6cGFpcjxMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpTb3VyY2UsIHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6Ok1lZGlhU3RyCiAgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpOb25lOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRp
bzoKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOiB7CiAgICAgICAg
IGF1dG8gYXVkaW9Tb3VyY2UgPSBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OmNyZWF0ZSh0
cmFjay5wcml2YXRlVHJhY2soKSk7CiAgICAgICAgIHJ0Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlv
bkZhY3RvcnktPkNyZWF0ZUF1ZGlvVHJhY2sodHJhY2suaWQoKS51dGY4KCkuZGF0YSgpLCBhdWRp
b1NvdXJjZS5wdHIoKSk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVkaW9Tb3VyY2UpOwog
ICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpTY3JlZW46CisgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICBhdXRv
IHZpZGVvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpjcmVhdGUodHJhY2su
cHJpdmF0ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0
b3J5LT5DcmVhdGVWaWRlb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgdmlkZW9Tb3Vy
Y2UucHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9tYWMvU2NyZWVu
Q2FwdHVyZUtpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL21hYy9TY3JlZW5D
YXB0dXJlS2l0U29mdExpbmsuaAppbmRleCA3MWEwNGFhOGUzNzAuLmUwYmI4ODNhNWE1OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9tYWMvU2NyZWVuQ2FwdHVyZUtpdFNvZnRM
aW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9tYWMvU2NyZWVuQ2FwdHVyZUtpdFNv
ZnRMaW5rLmgKQEAgLTM3LDcgKzM3LDcgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVJfV0lU
SF9BVkFJTEFCSUxJVFkoUEFMLCBTQ0NvbnRlbnRGaWx0ZXIsIEFQSV9BVkFJTEFCTEUKIFNPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSX1dJVEhfQVZBSUxBQklMSVRZKFBBTCwgU0NTdHJlYW1Db25m
aWd1cmF0aW9uLCBBUElfQVZBSUxBQkxFKG1hY29zKDEyLjMpKSkKIFNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSX1dJVEhfQVZBSUxBQklMSVRZKFBBTCwgU0NTdHJlYW0sIEFQSV9BVkFJTEFCTEUo
bWFjb3MoMTIuMykpKQogCi1TT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUxfRk9SX0hFQURFUihQ
QUwsIFNjcmVlbkNhcHR1cmVLaXQsIFNDU3RyZWFtRnJhbWVJbmZvU3RhdHVzS2V5LCBOU1N0cmlu
ZyAqKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBTY3JlZW5DYXB0dXJlS2l0
LCBTQ1N0cmVhbUZyYW1lSW5mb1N0YXR1c0tleSwgTlNTdHJpbmcgKikKICNkZWZpbmUgU0NTdHJl
YW1GcmFtZUluZm9TdGF0dXNLZXkgZ2V0X1NjcmVlbkNhcHR1cmVLaXRfU0NTdHJlYW1GcmFtZUlu
Zm9TdGF0dXNLZXkoKQogCiAjZW5kaWYgLy8gSEFWRShTQ1JFRU5fQ0FQVFVSRV9LSVQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL21hYy9TY3JlZW5DYXB0dXJlS2l0U29mdExp
bmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL21hYy9TY3JlZW5DYXB0dXJlS2l0U29mdExp
bmsubW0KaW5kZXggMmFlNDI1YjAyZGUyLi40MDhlY2ExMDFlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvbWFjL1NjcmVlbkNhcHR1cmVLaXRTb2Z0TGluay5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL21hYy9TY3JlZW5DYXB0dXJlS2l0U29mdExpbmsubW0KQEAg
LTM3LDYgKzM3LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9F
WFBPUlRfQU5EX0FWQUlMQUJJTElUWShQQUwsIFNjcmVlbkNhcHQKIFNPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUX0FORF9BVkFJTEFCSUxJVFkoUEFMLCBTY3Jl
ZW5DYXB0dXJlS2l0LCBTQ1N0cmVhbUNvbmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQsIEFQSV9BVkFJ
TEFCTEUobWFjb3MoMTIuMykpKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxf
V0lUSF9FWFBPUlRfQU5EX0FWQUlMQUJJTElUWShQQUwsIFNjcmVlbkNhcHR1cmVLaXQsIFNDU3Ry
ZWFtLCBQQUxfRVhQT1JULCBBUElfQVZBSUxBQkxFKG1hY29zKDEyLjMpKSkKIAotU09GVF9MSU5L
X0NPTlNUQU5UX01BWV9GQUlMX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBTY3JlZW5DYXB0
dXJlS2l0LCBTQ1N0cmVhbUZyYW1lSW5mb1N0YXR1c0tleSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9S
VCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgU2NyZWVu
Q2FwdHVyZUtpdCwgU0NTdHJlYW1GcmFtZUluZm9TdGF0dXNLZXksIE5TU3RyaW5nICosIFBBTF9F
WFBPUlQpCiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFQcm9k
dWNlci5oCmluZGV4IDRlMTllOGNkNzFhNi4uZDY4ZTc1Mzk4MjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01lZGlhUHJvZHVjZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01lZGlhUHJvZHVjZXIuaApAQCAtNTAsMTYgKzUwLDI0IEBAIGVudW0gY2xhc3MgTWVkaWFQcm9k
dWNlck1lZGlhU3RhdGUgOiB1aW50MzJfdCB7CiAgICAgSGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1
cmVEZXZpY2UgPSAxIDw8IDE1LAogICAgIEhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNl
ID0gMSA8PCAxNiwKICAgICBIYXNVc2VySW50ZXJhY3RlZFdpdGhNZWRpYUVsZW1lbnQgPSAxIDw8
IDE3LAotICAgIEhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8PCAxOCwKLSAgICBI
YXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8PCAxOSwKLSAgICBIYXNJbnRlcnJ1cHRl
ZERpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8PCAyMCwKKyAgICBIYXNBY3RpdmVTY3JlZW5DYXB0
dXJlRGV2aWNlID0gMSA8PCAxOCwKKyAgICBIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UgPSAx
IDw8IDE5LAorICAgIEhhc0ludGVycnVwdGVkU2NyZWVuQ2FwdHVyZURldmljZSA9IDEgPDwgMjAs
CisgICAgSGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmljZSA9IDEgPDwgMjEsCisgICAgSGFzTXV0
ZWRXaW5kb3dDYXB0dXJlRGV2aWNlID0gMSA8PCAyMiwKKyAgICBIYXNJbnRlcnJ1cHRlZFdpbmRv
d0NhcHR1cmVEZXZpY2UgPSAxIDw8IDIzLAorICAgIEhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVy
ZURldmljZSA9IDEgPDwgMjQsCisgICAgSGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2Ug
PSAxIDw8IDI1LAorICAgIEhhc0ludGVycnVwdGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlID0g
MSA8PCAyNiwKIH07CiB1c2luZyBNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZUZsYWdzID0gT3B0aW9u
U2V0PE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlPjsKIAogZW51bSBjbGFzcyBNZWRpYVByb2R1Y2Vy
TWVkaWFDYXB0dXJlS2luZCA6IHVpbnQ4X3QgewotICAgIEF1ZGlvLAotICAgIFZpZGVvLAotICAg
IEF1ZGlvVmlkZW8KKyAgICBNaWNyb3Bob25lLAorICAgIENhbWVyYSwKKyAgICBEaXNwbGF5LAor
ICAgIFN5c3RlbUF1ZGlvLAorICAgIEV2ZXJ5S2luZCwKIH07CiAKIGVudW0gY2xhc3MgTWVkaWFQ
cm9kdWNlck11dGVkU3RhdGUgOiB1aW50OF90IHsKQEAgLTY3LDYgKzc1LDggQEAgZW51bSBjbGFz
cyBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZSA6IHVpbnQ4X3QgewogICAgIEF1ZGlvQ2FwdHVyZUlz
TXV0ZWQgPSAxIDw8IDEsCiAgICAgVmlkZW9DYXB0dXJlSXNNdXRlZCA9IDEgPDwgMiwKICAgICBT
Y3JlZW5DYXB0dXJlSXNNdXRlZCA9IDEgPDwgMywKKyAgICBXaW5kb3dDYXB0dXJlSXNNdXRlZCA9
IDEgPDwgNCwKKyAgICBTeXN0ZW1BdWRpb0NhcHR1cmVJc011dGVkID0gMSA8PCA0LAogfTsKIHVz
aW5nIE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlRmxhZ3MgPSBPcHRpb25TZXQ8TWVkaWFQcm9kdWNl
ck11dGVkU3RhdGU+OwogCkBAIC03OCwxOSArODgsNDYgQEAgcHVibGljOgogICAgIHVzaW5nIE11
dGVkU3RhdGVGbGFncyA9IE1lZGlhUHJvZHVjZXJNdXRlZFN0YXRlRmxhZ3M7CiAKICAgICBzdGF0
aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBJc05vdFBsYXlpbmcgPSB7IH07Ci0gICAgc3Rh
dGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgQXVkaW9DYXB0dXJlTWFzayA9IHsgTWVkaWFT
dGF0ZTo6SGFzQWN0aXZlQXVkaW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZEF1
ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVE
ZXZpY2UgfTsKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNaWNyb3Bob25l
Q2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwg
TWVkaWFTdGF0ZTo6SGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0lu
dGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNlIH07CiAgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRp
YVN0YXRlRmxhZ3MgVmlkZW9DYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlk
ZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwg
TWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UgfTsKLSAgICBzdGF0
aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBEaXNwbGF5Q2FwdHVyZU1hc2sgPSB7IE1lZGlh
U3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRl
ZERpc3BsYXlDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZERpc3BsYXlD
YXB0dXJlRGV2aWNlIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgQWN0
aXZlQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmlj
ZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpI
YXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgTWVk
aWFTdGF0ZUZsYWdzIE11dGVkQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc011dGVkQXVk
aW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwg
TWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSB9OwotICAgIHN0YXRpYyBj
b25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE1lZGlhQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6
Okhhc0FjdGl2ZUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzTXV0ZWRBdWRpb0Nh
cHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkQXVkaW9DYXB0dXJlRGV2aWNl
LCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhh
c011dGVkVmlkZW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFZpZGVv
Q2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2Us
IE1lZGlhU3RhdGU6Okhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhh
c0ludGVycnVwdGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgfTsKKworICAgIHN0YXRpYyBjb25zdGV4
cHIgTWVkaWFTdGF0ZUZsYWdzIFNjcmVlbkNhcHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNB
Y3RpdmVTY3JlZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1
cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkU2NyZWVuQ2FwdHVyZURldmljZSB9
OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIFdpbmRvd0NhcHR1cmVNYXNr
ID0geyBNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRl
OjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVk
V2luZG93Q2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZs
YWdzIEFjdGl2ZURpc3BsYXlDYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2Ny
ZWVuQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlV2luZG93Q2FwdHVyZURldmlj
ZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIE11dGVkRGlzcGxheUNh
cHR1cmVNYXNrID0geyBNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsIE1l
ZGlhU3RhdGU6Okhhc011dGVkV2luZG93Q2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25z
dGV4cHIgTWVkaWFTdGF0ZUZsYWdzIERpc3BsYXlDYXB0dXJlTWFzayA9IHsgQWN0aXZlRGlzcGxh
eUNhcHR1cmVNYXNrIHwgTXV0ZWREaXNwbGF5Q2FwdHVyZU1hc2sgfTsKKworICAgIHN0YXRpYyBj
b25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIFN5c3RlbUF1ZGlvQ2FwdHVyZU1hc2sgPSB7IE1lZGlh
U3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6SGFz
TXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVk
U3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlIH07CisKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlh
U3RhdGVGbGFncyBBY3RpdmVDYXB0dXJlTWFzayA9IHsgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlQXVk
aW9DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2Us
IE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhh
c0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc0FjdGl2ZVN5c3RlbUF1
ZGlvQ2FwdHVyZURldmljZSB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdz
IE11dGVkQ2FwdHVyZU1hc2sgPSB7IE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2
aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwgTWVkaWFTdGF0ZTo6
SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlLCBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0Nh
cHR1cmVEZXZpY2UsIE1lZGlhU3RhdGU6Okhhc011dGVkU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNl
IH07CisKKyAgICBzdGF0aWMgY29uc3RleHByIE1lZGlhU3RhdGVGbGFncyBNZWRpYUNhcHR1cmVN
YXNrID0geworICAgICAgICBNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2Us
CisgICAgICAgIE1lZGlhU3RhdGU6Okhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAg
ICBNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSwKKyAgICAgICAg
TWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0
YXRlOjpIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFz
SW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0Fj
dGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc011dGVkU2Ny
ZWVuQ2FwdHVyZURldmljZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTY3Jl
ZW5DYXB0dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0
dXJlRGV2aWNlLAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1cmVEZXZp
Y2UsCisgICAgICAgIE1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkV2luZG93Q2FwdHVyZURldmlj
ZSwKKyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNl
LAorICAgICAgICBNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmljZSwK
KyAgICAgICAgTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZp
Y2UKKyAgICB9OworICAgIHN0YXRpYyBjb25zdGV4cHIgTWVkaWFTdGF0ZUZsYWdzIElzQ2FwdHVy
aW5nQXVkaW9NYXNrID0geyBNaWNyb3Bob25lQ2FwdHVyZU1hc2sgfCBTeXN0ZW1BdWRpb0NhcHR1
cmVNYXNrIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBNZWRpYVN0YXRlRmxhZ3MgSXNDYXB0dXJp
bmdWaWRlb01hc2sgPSB7IFZpZGVvQ2FwdHVyZU1hc2sgfCBEaXNwbGF5Q2FwdHVyZU1hc2sgfTsK
IAogICAgIHN0YXRpYyBib29sIGlzQ2FwdHVyaW5nKE1lZGlhU3RhdGVGbGFncyBzdGF0ZSkgeyBy
ZXR1cm4gc3RhdGUuY29udGFpbnNBbnkoQWN0aXZlQ2FwdHVyZU1hc2spIHx8IHN0YXRlLmNvbnRh
aW5zQW55KE11dGVkQ2FwdHVyZU1hc2spOyB9CiAKICAgICB2aXJ0dWFsIE1lZGlhU3RhdGVGbGFn
cyBtZWRpYVN0YXRlKCkgY29uc3QgPSAwOwogCiAgICAgc3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0
YXRlRmxhZ3MgQXVkaW9BbmRWaWRlb0NhcHR1cmVJc011dGVkID0geyBNdXRlZFN0YXRlOjpBdWRp
b0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkIH07Ci0gICAg
c3RhdGljIGNvbnN0ZXhwciBNdXRlZFN0YXRlRmxhZ3MgTWVkaWFTdHJlYW1DYXB0dXJlSXNNdXRl
ZCA9IHsgTXV0ZWRTdGF0ZTo6QXVkaW9DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6VmlkZW9D
YXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBz
dGF0aWMgY29uc3RleHByIE11dGVkU3RhdGVGbGFncyBNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVk
ID0geyBNdXRlZFN0YXRlOjpBdWRpb0NhcHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpWaWRlb0Nh
cHR1cmVJc011dGVkLCBNdXRlZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZCwgTXV0ZWRTdGF0
ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQsIE11dGVkU3RhdGU6OlN5c3RlbUF1ZGlvQ2FwdHVyZUlz
TXV0ZWQgfTsKIAogICAgIHZpcnR1YWwgdm9pZCBwYWdlTXV0ZWRTdGF0ZURpZENoYW5nZSgpID0g
MDsKIApAQCAtMTA1LDkgKzE0MiwxMSBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPD4gc3Ry
dWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ+IHsK
ICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZCwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvLAotICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFDYXB0dXJlS2luZDo6VmlkZW8sCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRp
YUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTWVkaWFDYXB0dXJlS2luZDo6Q2FtZXJhLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheSwKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlN5c3RlbUF1ZGlvLAorICAgICAgICBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kCiAgICAgPjsKIH07CiAKQEAgLTEz
Miw5ICsxNzEsMTUgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZT4gewogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVk
aWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UsCiAgICAgICAgIFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFZpZGVvQ2FwdHVyZURl
dmljZSwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc1VzZXJJ
bnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNl
ck1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlLAotICAgICAgICBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmlj
ZSwKLSAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVw
dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UKKyAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsCisg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFNj
cmVlbkNhcHR1cmVEZXZpY2UsCisgICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0
YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLAorICAgICAg
ICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dD
YXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6
SGFzQWN0aXZlU3lzdGVtQXVkaW9DYXB0dXJlRGV2aWNlLAorICAgICAgICBXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsCisg
ICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNJbnRlcnJ1cHRlZFN5
c3RlbUF1ZGlvQ2FwdHVyZURldmljZQogICAgID47CiB9OwogCkBAIC0xNDQsNyArMTg5LDkgQEAg
dGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRT
dGF0ZT4gewogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6QXVkaW9J
c011dGVkLAogICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZTo6QXVkaW9D
YXB0dXJlSXNNdXRlZCwKICAgICAgICAgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6
OlZpZGVvQ2FwdHVyZUlzTXV0ZWQsCi0gICAgICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNdXRl
ZFN0YXRlOjpTY3JlZW5DYXB0dXJlSXNNdXRlZAorICAgICAgICBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTXV0ZWRTdGF0ZTo6U2NyZWVuQ2FwdHVyZUlzTXV0ZWQsCisgICAgICAgIFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXJNdXRlZFN0YXRlOjpXaW5kb3dDYXB0dXJlSXNNdXRlZCwKKyAgICAgICAgV2Vi
Q29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OlN5c3RlbUF1ZGlvQ2FwdHVyZUlzTXV0ZWQK
ICAgICA+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAppbmRleCA5YTFkMDZjODIw
YzguLjExOTMxNzcyMmM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTQ0LDYg
KzQ0LDggQEAgTWVkaWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBN
ZWRpYVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2sKICAgICAgICAgaWYgKHRyYWNrLmVuZGVk
KCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHN3aXRjaCAodHJhY2sudHlwZSgpKSB7
CisgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgorICAgICAg
ICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAgICAgICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICAgICAgYXV0byYgc2V0
dGluZ3MgPSB0cmFjay5zZXR0aW5ncygpOwogICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFRyYWNr
cy52aWRlb1RyYWNrICYmIHNldHRpbmdzLnN1cHBvcnRzV2lkdGgoKSAmJiBzZXR0aW5ncy5zdXBw
b3J0c0hlaWdodCgpKQpAQCAtNTEsNiArNTMsNyBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6QXVk
aW9WaWRlb1NlbGVjdGVkVHJhY2tzIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpzZWxlY3RUcmFjawog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpBdWRpbzoKKyAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgICAgIGlmICghc2VsZWN0ZWRUcmFja3MuYXVkaW9U
cmFjaykKICAgICAgICAgICAgICAgICBzZWxlY3RlZFRyYWNrcy5hdWRpb1RyYWNrID0gJnRyYWNr
OwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9DYXB0dXJlRGV2aWNlLmgKaW5kZXggZWQxYTM3MTM1NTY3Li42Mjk0NWQ5NmUx
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1
cmVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9DYXB0
dXJlRGV2aWNlLmgKQEAgLTMxLDcgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBDYXB0dXJlRGV2aWNlIHsKIHB1YmxpYzoKLSAgICBlbnVtIGNsYXNzIERldmljZVR5cGUgeyBV
bmtub3duLCBNaWNyb3Bob25lLCBTcGVha2VyLCBDYW1lcmEsIFNjcmVlbiwgV2luZG93IH07Cisg
ICAgZW51bSBjbGFzcyBEZXZpY2VUeXBlIHsgVW5rbm93biwgTWljcm9waG9uZSwgU3BlYWtlciwg
Q2FtZXJhLCBTY3JlZW4sIFdpbmRvdywgU3lzdGVtQXVkaW8gfTsKIAogICAgIENhcHR1cmVEZXZp
Y2UoY29uc3QgU3RyaW5nJiBwZXJzaXN0ZW50SWQsIERldmljZVR5cGUgdHlwZSwgY29uc3QgU3Ry
aW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiBncm91cElkID0gZW1wdHlTdHJpbmcoKSwgYm9vbCBp
c0VuYWJsZWQgPSBmYWxzZSwgYm9vbCBpc0RlZmF1bHQgPSBmYWxzZSwgYm9vbCBpc01vY2sgPSBm
YWxzZSkKICAgICAgICAgOiBtX3BlcnNpc3RlbnRJZChwZXJzaXN0ZW50SWQpCkBAIC0xOTEsNyAr
MTkxLDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlPiB7CiAgICAgICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmlj
ZVR5cGU6OlNwZWFrZXIsCiAgICAgICAgIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRldmljZVR5
cGU6OkNhbWVyYSwKICAgICAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6
U2NyZWVuLAotICAgICAgICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5k
b3cKKyAgICAgICAgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93LAor
ICAgICAgICBXZWJDb3JlOjpDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbwog
ICAgID47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKaW5kZXggYzk1OTIzNGY2NThhLi5jYThjYzlk
NTZhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCBTdHJpbmcmIHBlcnNpc3RlbnRJRCgpIGNvbnN0IHsgcmV0dXJuIG1fcGVyc2lz
dGVudElEOyB9CiAKLSAgICBlbnVtIGNsYXNzIFR5cGUgeyBOb25lLCBBdWRpbywgVmlkZW8gfTsK
KyAgICBlbnVtIGNsYXNzIFR5cGUgeyBOb25lLCBBdWRpbywgVmlkZW8sIFNjcmVlbiwgV2luZG93
LCBTeXN0ZW1BdWRpbyB9OwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQogCiAgICAgdmlydHVhbCB2b2lkIHdoZW5SZWFkeShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFN0
cmluZyk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApp
bmRleCAyYzg1MjY2NGRlMWUuLjRlODdiNWFlYjU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxh
eUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKQEAgLTc4LDYgKzc4LDcgQEAgQ2FwdHVyZVNvdXJjZU9y
RXJyb3IgRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6Y3JlYXRlKGNvbnN0IENhcHR1cmVEZXZp
Y2UmIGRldmkKICAgICAgICAgICAgIHJldHVybiBjcmVhdGUoU2NyZWVuQ2FwdHVyZUtpdENhcHR1
cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UsIGNvbnN0cmFpbnRzKSwgZGV2aWNlLCBXVEZNb3ZlKGhh
c2hTYWx0KSwgY29uc3RyYWludHMpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBDYXB0dXJl
RGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OkNhbWVyYToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9EaXNwbGF5Q2FwdHVyZU1hbmFnZXJDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCmluZGV4
IDJhZGM5Mzc5MTFhOS4uNTFmZjNiYjc4YzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvRGlzcGxheUNhcHR1cmVNYW5hZ2VyQ29jb2EuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9EaXNwbGF5Q2FwdHVy
ZU1hbmFnZXJDb2NvYS5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQCBzdGQ6Om9wdGlvbmFsPENhcHR1
cmVEZXZpY2U+IERpc3BsYXlDYXB0dXJlTWFuYWdlckNvY29hOjpjYXB0dXJlRGV2aWNlV2l0aFBl
cnNpcwogICAgICAgICByZXR1cm4gd2luZG93Q2FwdHVyZURldmljZVdpdGhQZXJzaXN0ZW50SUQo
aWQpOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6U3lzdGVtQXVkaW86CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1l
cmE6CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgogICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtlcjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5DYXB0dXJlS2l0Q2Fw
dHVyZVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9T
Y3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5tbQppbmRleCA1NTMwODUxY2QzOWYuLjI4N2U4
NThlNTQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1NjcmVlbkNhcHR1cmVLaXRDYXB0dXJlU291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9TY3JlZW5DYXB0dXJlS2l0Q2FwdHVyZVNvdXJjZS5t
bQpAQCAtNTUsMTAgKzU1LDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgV0tTQ0ZyYW1l
U3RhdHVzKSB7CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgIi1XdW5ndWFyZGVkLWF2YWlsYWJpbGl0eS1uZXciCiAKLUBpbnRl
cmZhY2UgU0NTdHJlYW0gKFNDU3RyZWFtX0RlcHJlY2F0ZWQpCi0tICh2b2lkKXN0YXJ0Q2FwdHVy
ZVdpdGhDRnJhbWVIYW5kbGVyOihTQ1N0cmVhbUJ1ZmZlckZyYW1lQXZhaWxhYmxlSGFuZGxlcilm
cmFtZUhhbmRsZXIgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRXJyb3IgKmVycm9yKSlj
b21wbGV0aW9uSGFuZGxlcjsKLUBlbmQKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBAaW50
ZXJmYWNlIFdlYkNvcmVTY3JlZW5DYXB0dXJlS2l0SGVscGVyIDogTlNPYmplY3Q8U0NTdHJlYW1E
ZWxlZ2F0ZT4gewogICAgIFdlYWtQdHI8U2NyZWVuQ2FwdHVyZUtpdENhcHR1cmVTb3VyY2U+IF9j
YWxsYmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXggNWM4MzRlMzRkMjJlLi4w
OTJkMmZlNjExOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCkBAIC0xOTYsNiArMTk2
LDcgQEAgcHVibGljOgogICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1p
Y3JvcGhvbmU6CiAgICAgICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3BlYWtl
cjoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6CisgICAg
ICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKaW5kZXggNTRlY2Y1YzJiYjg0Li44NTZiNGVhYjM5YTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ3MzYsMjAgKzQ3MzYsNDIgQEAgU3RyaW5n
IEludGVybmFsczo6cGFnZU1lZGlhU3RhdGUoKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNQ
bGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUxpc3RlbmVyLCIpOwogICAgIGlmIChzdGF0ZS5jb250
YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQXVkaW9PclZpZGVvKSkKICAgICAg
ICAgc3RyaW5nLmFwcGVuZCgiSGFzQXVkaW9PclZpZGVvLCIpOworCiAgICAgaWYgKHN0YXRlLmNv
bnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVE
ZXZpY2UpKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZp
Y2UsIik7Ci0gICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UpKQotICAgICAgICBzdHJpbmcuYXBwZW5kKCJI
YXNBY3RpdmVWaWRlb0NhcHR1cmVEZXZpY2UsIik7CiAgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55
KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZEF1ZGlvQ2FwdHVyZURldmljZSkpCiAg
ICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlLCIpOworICAg
IGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJy
dXB0ZWRBdWRpb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNJbnRl
cnJ1cHRlZEF1ZGlvQ2FwdHVyZURldmljZSwiKTsKKworICAgIGlmIChzdGF0ZS5jb250YWluc0Fu
eShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlKSkK
KyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlVmlkZW9DYXB0dXJlRGV2aWNlLCIpOwog
ICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0
ZWRWaWRlb0NhcHR1cmVEZXZpY2UpKQogICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNNdXRlZFZp
ZGVvQ2FwdHVyZURldmljZSwiKTsKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc0ludGVycnVwdGVkVmlkZW9DYXB0dXJlRGV2aWNlKSkKKyAgICAg
ICAgc3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJydXB0ZWRWaWRlb0NhcHR1cmVEZXZpY2UsIik7CisK
ICAgICBpZiAoc3RhdGUuY29udGFpbnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc1Vz
ZXJJbnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCkpCiAgICAgICAgIHN0cmluZy5hcHBlbmQoIkhh
c1VzZXJJbnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCwiKTsKLSAgICBpZiAoc3RhdGUuY29udGFp
bnNBbnkoTWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2
aWNlKSkKLSAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZp
Y2UsIik7Ci0gICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
OjpIYXNNdXRlZERpc3BsYXlDYXB0dXJlRGV2aWNlKSkKLSAgICAgICAgc3RyaW5nLmFwcGVuZCgi
SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSwiKTsKKworICAgIGlmIChzdGF0ZS5jb250YWlu
c0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmlj
ZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2Us
Iik7CisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpI
YXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNN
dXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UsIik7CisKKyAgICBpZiAoc3RhdGUuY29udGFpbnNBbnko
TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2UpKQor
ICAgICAgICBzdHJpbmcuYXBwZW5kKCJIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlLCIpOwor
ICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0
ZWRXaW5kb3dDYXB0dXJlRGV2aWNlKSkKKyAgICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzTXV0ZWRX
aW5kb3dDYXB0dXJlRGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVBy
b2R1Y2VyTWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlKSkKKyAg
ICAgICAgc3RyaW5nLmFwcGVuZCgiSGFzSW50ZXJydXB0ZWRXaW5kb3dDYXB0dXJlRGV2aWNlLCIp
OworCisgICAgaWYgKHN0YXRlLmNvbnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpI
YXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpKQorICAgICAgICBzdHJpbmcuYXBwZW5k
KCJIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UsIik7CisgICAgaWYgKHN0YXRlLmNv
bnRhaW5zQW55KE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2Fw
dHVyZURldmljZSkpCisgICAgICAgIHN0cmluZy5hcHBlbmQoIkhhc011dGVkU3lzdGVtQXVkaW9D
YXB0dXJlRGV2aWNlLCIpOworICAgIGlmIChzdGF0ZS5jb250YWluc0FueShNZWRpYVByb2R1Y2Vy
TWVkaWFTdGF0ZTo6SGFzSW50ZXJydXB0ZWRTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpKQorICAg
ICAgICBzdHJpbmcuYXBwZW5kKCJIYXNJbnRlcnJ1cHRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURldmlj
ZSwiKTsKIAogICAgIGlmIChzdHJpbmcuaXNFbXB0eSgpKQogICAgICAgICBzdHJpbmcuYXBwZW5k
KCJJc05vdFBsYXlpbmciKTsKQEAgLTU0NDIsOSArNTQ2NCwxMiBAQCB2b2lkIEludGVybmFsczo6
c3RvcE9ic2VydmluZ1JlYWx0aW1lTWVkaWFTb3VyY2UoKQogCiAgICAgc3dpdGNoIChtX3RyYWNr
U291cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1
ZGlvOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAg
ICAgICAgIG1fdHJhY2tTb3VyY2UtPnJlbW92ZUF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVv
OgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgorICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICBtX3RyYWNrU291cmNl
LT5yZW1vdmVWaWRlb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpAQCAtNTQ2NSw5ICs1NDkwLDEy
IEBAIHZvaWQgSW50ZXJuYWxzOjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0cmVhbVRy
YWNrJiB0cmFjaykKICAgICBtX3RyYWNrU291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7CiAgICAg
c3dpdGNoIChtX3RyYWNrU291cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
U3lzdGVtQXVkaW86CiAgICAgICAgIG1fdHJhY2tTb3VyY2UtPmFkZEF1ZGlvU2FtcGxlT2JzZXJ2
ZXIoKnRoaXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OlZpZGVvOgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVu
OgorICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICBt
X3RyYWNrU291cmNlLT5hZGRWaWRlb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA5NWZjNGU0YjUyZjAuLjY5NTNmMTc5MzllOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MSBAQAor
MjAyMi0wMS0yOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBbbWFjT1NdIEV4cG9zZSBzY3JlZW4gYW5kIHdpbmRvdyBjYXB0dXJlIHN0YXRlIHRvIFdL
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM1ODM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODIwNzkyND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cDoKKyAgICAgICAgKFdLUGFnZUdldE1lZGlhU3RhdGUpOiBSZW5hbWUgKkRpc3BsYXlDYXB0dXJl
RGV2aWNlIHRvICpTY3JlZW5DYXB0dXJlRGV2aWNlLiBBZGQgZW51bXMKKyAgICAgICAgZm9yIHdp
bmRvdyBjYXB0dXJlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oOiBEcml2ZSBieTog
Zml4IHR5cG8gaW4gaGVhZGVyIGRvYy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2V0TWljcm9waG9uZUNhcHR1cmVT
dGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6
OkF1ZGlvIAorICAgICAgICB3YXMgcmVuYW1lZCB0byBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6TWljcm9waG9uZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IHNldENhbWVyYUNhcHR1cmVT
dGF0ZTpjb21wbGV0aW9uSGFuZGxlcjpdKTogTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6
OlZpZGVvIAorICAgICAgICB3YXMgcmVuYW1lZCB0byBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6Q2FtZXJhLgorICAgICAgICAoLVtXS1dlYlZpZXcgX3N0b3BNZWRpYUNhcHR1cmVdKTog
c3RvcE1lZGlhQ2FwdHVyZSB0YWtlcyBhbiBvcHRpb25TZXQuCisgICAgICAgICgtW1dLV2ViVmll
dyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10pOiBFeHBvc2UgdGhlIHR5cGUocykgb2YgZGlzcGxh
eXMgc3VyZmFjZXMKKyAgICAgICAgYmVpbmcgY2FwdHVyZWQuCisgICAgICAgICgtW1dLV2ViVmll
dyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0pOiBFeHBvc2UgdGhlIGRpc3BsYXkgY2FwdHVyZSBzdGF0
ZS4KKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZV0pOiBFeHBv
c2UgdGhlIHN5c3RlbSBhdWRpbyBjYXB0dXJlIHN0YXRlLgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NldERpc3BsYXlDYXB0dXJlU3RhdGU6Y29tcGxldGlvbkhhbmRsZXI6XSk6IENoYW5nZSB0aGUg
ZGlzcGxheQorICAgICAgICBjYXB0dXJlIHN0YXRlLgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Nl
dFN5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlOmNvbXBsZXRpb25IYW5kbGVyOl0pOiBDaGFuZ2UgdGhl
IHN5c3RlbSAKKyAgICAgICAgYXVkaW8gY2FwdHVyZSBzdGF0ZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdNZWRpYUNh
cHR1cmVTdGF0ZURpZENoYW5nZSk6IE1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2sgLT4g
CisgICAgICAgIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzay4KKyAgICAgICAg
KHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUpOiBVcGRhdGUgZm9yIE1lZGlhUHJv
ZHVjZXJNZWRpYUNhcHR1cmVLaW5kIGNoYW5nZXMuCisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdf
c2V0X21pY3JvcGhvbmVfY2FwdHVyZV9zdGF0ZSk6IERpdHRvLgorICAgICAgICAod2Via2l0X3dl
Yl92aWV3X3NldF9jYW1lcmFfY2FwdHVyZV9zdGF0ZSk6IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpWaWRlbyAtPiAKKyAgICAgICAgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6
OkNhbWVyYQorICAgICAgICAod2Via2l0X3dlYl92aWV3X3NldF9kaXNwbGF5X2NhcHR1cmVfc3Rh
dGUpOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfZGlzcGxheV9jYXB0dXJl
X3N0YXRlKTogTWVkaWFTdGF0ZTo6SGFzQWN0aXZlRGlzcGxheUNhcHR1cmVEZXZpY2UgLT4KKyAg
ICAgICAgTWVkaWFTdGF0ZTo6SGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZS4gTWVkaWFTdGF0
ZTo6SGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSAtPgorICAgICAgICBNZWRpYVN0YXRlOjpI
YXNNdXRlZFNjcmVlbkNhcHR1cmVEZXZpY2UKKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Q
YWdlQ2xpZW50SW1wbENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGll
bnRJbXBsQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OmRp
c3BsYXlDYXB0dXJlV2lsbENoYW5nZSk6IEtWTyBzdXBwb3J0LgorICAgICAgICAoV2ViS2l0OjpQ
YWdlQ2xpZW50SW1wbENvY29hOjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzV2lsbENoYW5nZSk6IERp
dHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0ZW1BdWRpb0Nh
cHR1cmVXaWxsQ2hhbmdlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
Q29jb2E6OmRpc3BsYXlDYXB0dXJlQ2hhbmdlZCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQ
YWdlQ2xpZW50SW1wbENvY29hOjpkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzQ2hhbmdlZCk6IERpdHRv
LgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0ZW1BdWRpb0NhcHR1
cmVDaGFuZ2VkKTogRGl0dG8uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlh
Q2FwdHVyZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyUHJveHk6OlNvdXJjZVByb3h5OjpTb3VyY2VQcm94eSk6IFN1cHBvcnQgbmV3IHR5
cGVzLgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5OjpTb3Vy
Y2VQcm94eTo6flNvdXJjZVByb3h5KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRp
YUNhcHR1cmVNYW5hZ2VyUHJveHk6OmNyZWF0ZU1lZGlhU291cmNlRm9yQ2FwdHVyZURldmljZVdp
dGhDb25zdHJhaW50cyk6IERpdHRvLgorCisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdl
KToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc1dp
bGxDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpzeXN0ZW1BdWRpb0NhcHR1
cmVXaWxsQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1
cmVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlzcGxheUNhcHR1cmVT
dXJmYWNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50OjpzeXN0ZW1BdWRp
b0NhcHR1cmVDaGFuZ2VkKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkpOgorICAgICAgICBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVk
aW9WaWRlbyAtPiBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kLgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c3Rv
cENhcHR1cmUpOiBEaXR0by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVJlcG9ydGVkTWVkaWFDYXB0
dXJlU3RhdGUpOiBEZWFsIHdpdGggbmV3IHR5cGVzLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OmNoZWNrRG9jdW1lbnRzQ2FwdHVyZVN0YXRlQ29uc2lzdGVuY3kpOgorCiAy
MDIyLTAxLTI2ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFtNb2RlbF0gTW91c2UgaW50ZXJhY3Rpb24gZm9yIDxtb2RlbD4gaXMgZmxpcHBlZCBpbiB0aGUg
eS1heGlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggODViMzkxMWNkMTc4Li4zNDQ0MDgxOGI0OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTE3Myw2ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgd2lsbFN0YXJ0
Q2FwdHVyZShDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlIHR5cGUpIGNvbnN0IGZpbmFsCiAgICAg
ewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpE
ZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpVbmtub3duOgogICAgICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlNwZWFrZXI6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCA1MDliOWIyNWYzOTQuLjIwYTFlMzAyZGRiZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0yOTY2LDEwICsyOTY2
LDE0IEBAIFdLTWVkaWFTdGF0ZSBXS1BhZ2VHZXRNZWRpYVN0YXRlKFdLUGFnZVJlZiBwYWdlKQog
ICAgICAgICBzdGF0ZSB8PSBrV0tNZWRpYUhhc011dGVkQXVkaW9DYXB0dXJlRGV2aWNlOwogICAg
IGlmIChjb3JlU3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzTXV0
ZWRWaWRlb0NhcHR1cmVEZXZpY2UpCiAgICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0ZWRW
aWRlb0NhcHR1cmVEZXZpY2U7Ci0gICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJv
ZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkKLSAgICAgICAg
c3RhdGUgfD0ga1dLTWVkaWFIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZTsKLSAgICBpZiAo
Y29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkRGlz
cGxheUNhcHR1cmVEZXZpY2UpCi0gICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0ZWREaXNw
bGF5Q2FwdHVyZURldmljZTsKKyAgICBpZiAoY29yZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhU3RhdGU6Okhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UpCisgICAgICAgIHN0
YXRlIHw9IGtXS01lZGlhSGFzQWN0aXZlU2NyZWVuQ2FwdHVyZURldmljZTsKKyAgICBpZiAoY29y
ZVN0YXRlICYgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU6Okhhc011dGVkU2NyZWVu
Q2FwdHVyZURldmljZSkKKyAgICAgICAgc3RhdGUgfD0ga1dLTWVkaWFIYXNNdXRlZFNjcmVlbkNh
cHR1cmVEZXZpY2U7CisgICAgaWYgKGNvcmVTdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJN
ZWRpYVN0YXRlOjpIYXNBY3RpdmVXaW5kb3dDYXB0dXJlRGV2aWNlKQorICAgICAgICBzdGF0ZSB8
PSBrV0tNZWRpYUhhc0FjdGl2ZVdpbmRvd0NhcHR1cmVEZXZpY2U7CisgICAgaWYgKGNvcmVTdGF0
ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFdpbmRvd0NhcHR1
cmVEZXZpY2UpCisgICAgICAgIHN0YXRlIHw9IGtXS01lZGlhSGFzTXV0ZWRXaW5kb3dDYXB0dXJl
RGV2aWNlOwogCiAgICAgcmV0dXJuIHN0YXRlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCmluZGV4IGUyZWMyZWQxNGZiNS4uMmRjNDliNGMyMTE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCkBA
IC0xNDYsOCArMTQ2LDEyIEBAIGVudW0gewogICAgIGtXS01lZGlhSGFzQWN0aXZlVmlkZW9DYXB0
dXJlRGV2aWNlID0gMSA8PCAzLAogICAgIGtXS01lZGlhSGFzTXV0ZWRBdWRpb0NhcHR1cmVEZXZp
Y2UgPSAxIDw8IDQsCiAgICAga1dLTWVkaWFIYXNNdXRlZFZpZGVvQ2FwdHVyZURldmljZSA9IDEg
PDwgNSwKLSAgICBrV0tNZWRpYUhhc0FjdGl2ZURpc3BsYXlDYXB0dXJlRGV2aWNlID0gMSA8PCA2
LAotICAgIGtXS01lZGlhSGFzTXV0ZWREaXNwbGF5Q2FwdHVyZURldmljZSA9IDEgPDwgNywKKyAg
ICBrV0tNZWRpYUhhc0FjdGl2ZVNjcmVlbkNhcHR1cmVEZXZpY2UgPSAxIDw8IDYsCisgICAga1dL
TWVkaWFIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSA9IGtXS01lZGlhSGFzQWN0aXZlU2Ny
ZWVuQ2FwdHVyZURldmljZSwKKyAgICBrV0tNZWRpYUhhc011dGVkU2NyZWVuQ2FwdHVyZURldmlj
ZSA9IDEgPDwgNywKKyAgICBrV0tNZWRpYUhhc011dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UgPSBr
V0tNZWRpYUhhc011dGVkU2NyZWVuQ2FwdHVyZURldmljZSwKKyAgICBrV0tNZWRpYUhhc0FjdGl2
ZVdpbmRvd0NhcHR1cmVEZXZpY2UgPSAxIDw8IDgsCisgICAga1dLTWVkaWFIYXNNdXRlZFdpbmRv
d0NhcHR1cmVEZXZpY2UgPSAxIDw8IDksCiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS01lZGlhU3Rh
dGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaApp
bmRleCBlZDQ4ZWEzYzMyNDguLjVkOWU4NmM3ZTYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaApAQCAtNDA2LDcgKzQwNiw3IEBAIHR5cGVkZWYg
TlNfRU5VTShOU0ludGVnZXIsIFdLRnVsbHNjcmVlblN0YXRlKSB7CiAKIC8qISBAYWJzdHJhY3Qg
U2V0IG1pY3JvcGhvbmUgY2FwdHVyZSBzdGF0ZSBvZiBhIFdLV2ViVmlldy4KICBAcGFyYW0gc3Rh
dGUgc3RhdGUgdG8gYXBwbHkgZm9yIGNhcHR1cmUuCi0gQHBhcmFtIGNvbXBsZXRpb25IYW5kbGVy
IEEgYmxvY2sgdG8gaW52b2tlIGFmdGVyIHRoZSBjYW1lcmEgc3RhdGUgaGFzIGJlZW4gY2hhbmdl
ZC4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2UgYWZ0ZXIgdGhl
IG1pY3JvcGhvbmUgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZC4KICBAZGlzY3Vzc2lvbgogIElmIHZh
bHVlIGlzIFdLTWVkaWFDYXB0dXJlU3RhdGVOb25lLCB0aGlzIHdpbGwgc3RvcCBhbnkgbWljcm9w
aG9uZSBjYXB0dXJlLgogIElmIHZhbHVlIGlzIFdLTWVkaWFDYXB0dXJlU3RhdGVNdXRlZCwgYW55
IGFjdGl2ZSBtaWNyb3Bob25lIGNhcHR1cmUgd2lsbCBiZWNvbWUgbXV0ZWQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjYWNhZWI0MWVi
MjYuLjZkNGY1ZTkwMTE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCkBAIC0xMDY5LDcgKzEwNjksNyBAQCBzdGF0aWMgV0tNZWRpYVBsYXli
YWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1lZGlhUGxheWJhY2tTdGF0
ZSBtZQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsgfTsKIAogICAgIGlmIChzdGF0
ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkgewotICAgICAgICBfcGFnZS0+c3RvcE1lZGlh
Q2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW8sIFtj
b21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildIHsKKyAg
ICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlh
Q2FwdHVyZUtpbmQ6Ok1pY3JvcGhvbmUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0
cihjb21wbGV0aW9uSGFuZGxlcildIHsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7
CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CkBAIC0xMDkxLDcgKzEwOTEsNyBAQCBzdGF0
aWMgV0tNZWRpYVBsYXliYWNrU3RhdGUgdG9XS01lZGlhUGxheWJhY2tTdGF0ZShXZWJLaXQ6Ok1l
ZGlhUGxheWJhY2tTdGF0ZSBtZQogICAgICAgICBjb21wbGV0aW9uSGFuZGxlciA9IFtdIHsgfTsK
IAogICAgIGlmIChzdGF0ZSA9PSBXS01lZGlhQ2FwdHVyZVN0YXRlTm9uZSkgewotICAgICAgICBf
cGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6VmlkZW8sIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9u
SGFuZGxlcildIHsKKyAgICAgICAgX3BhZ2UtPnN0b3BNZWRpYUNhcHR1cmUoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYSwgW2NvbXBsZXRpb25IYW5kbGVyID0g
bWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0gewogICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKQEAgLTIzMzIsNyArMjMz
Miw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gd2tUZXh0TWFuaXB1bGF0aW9uRXJyb3Jz
KE5TQXJyYXk8X1dLVGV4dE1hbmlwdWxhdGlvbkl0CiAtICh2b2lkKV9zdG9wTWVkaWFDYXB0dXJl
CiB7CiAgICAgVEhST1dfSUZfU1VTUEVOREVEOwotICAgIF9wYWdlLT5zdG9wTWVkaWFDYXB0dXJl
KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvKTsKKyAg
ICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6RXZlcnlLaW5kKTsKIH0KIAogLSAodm9pZClfc3RvcEFsbE1lZGlhUGxheWJhY2sK
QEAgLTM3MDYsNiArMzcwNiw4MyBAQCBzdGF0aWMgaW5saW5lIE9wdGlvblNldDxXZWJLaXQ6OkZp
bmRPcHRpb25zPiB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmluZAogICAgIFtzZWxm
IF9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOnVwZGF0ZUJsb2NrIHdpdGhv
dXRXYWl0aW5nRm9yUGFpbnRpbmc6WUVTIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6
Tk9dOwogfQogCistIChXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpIF9kaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzCit7CisgICAgYXV0byBwYWdlU3RhdGUgPSBfcGFnZS0+cmVwb3J0ZWRNZWRpYVN0YXRl
KCk7CisgICAgV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VzIHN0YXRlID0gV0tEaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VOb25lOworICAgIGlmIChwYWdlU3RhdGUuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVk
aWFQcm9kdWNlcjo6U2NyZWVuQ2FwdHVyZU1hc2spKQorICAgICAgICBzdGF0ZSB8PSBXS0Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZVNjcmVlbjsKKyAgICBpZiAocGFnZVN0YXRlLmNvbnRhaW5zQW55KFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6OldpbmRvd0NhcHR1cmVNYXNrKSkKKyAgICAgICAgc3RhdGUg
fD0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZhY2VXaW5kb3c7CisgICAgcmV0dXJuIHN0YXRlOworfQor
CistIChXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpIF9kaXNwbGF5Q2FwdHVyZVN0YXRlCit7CisgICAg
YXV0byBzdGF0ZSA9IF9wYWdlLT5yZXBvcnRlZE1lZGlhU3RhdGUoKTsKKyAgICBpZiAoc3RhdGUg
JiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpBY3RpdmVEaXNwbGF5Q2FwdHVyZU1hc2spCisgICAg
ICAgIHJldHVybiBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmU7CisgICAgaWYgKHN0YXRlICYg
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWREaXNwbGF5Q2FwdHVyZU1hc2spCisgICAgICAg
IHJldHVybiBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZDsKKyAgICByZXR1cm4gV0tEaXNwbGF5
Q2FwdHVyZVN0YXRlTm9uZTsKK30KKworLSAoV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSlfc3lz
dGVtQXVkaW9DYXB0dXJlU3RhdGUKK3sKKyAgICBhdXRvIHN0YXRlID0gX3BhZ2UtPnJlcG9ydGVk
TWVkaWFTdGF0ZSgpOworICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRp
YVN0YXRlOjpIYXNBY3RpdmVTeXN0ZW1BdWRpb0NhcHR1cmVEZXZpY2UpCisgICAgICAgIHJldHVy
biBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlQWN0aXZlOworICAgIGlmIChzdGF0ZSAmIFdlYkNv
cmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNNdXRlZFN5c3RlbUF1ZGlvQ2FwdHVyZURl
dmljZSkKKyAgICAgICAgcmV0dXJuIFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZDsKKyAg
ICByZXR1cm4gV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmU7Cit9CisKKy0gKHZvaWQpX3Nl
dERpc3BsYXlDYXB0dXJlU3RhdGU6KFdLRGlzcGxheUNhcHR1cmVTdGF0ZSlzdGF0ZSBjb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBUSFJP
V19JRl9TVVNQRU5ERUQ7CisgICAgaWYgKCFjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIgPSBbXSB7IH07CisKKyAgICBpZiAoc3RhdGUgPT0gV0tEaXNwbGF5Q2Fw
dHVyZVN0YXRlTm9uZSkgeworICAgICAgICBfcGFnZS0+c3RvcE1lZGlhQ2FwdHVyZShXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheSwgW2NvbXBsZXRpb25IYW5k
bGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBjb25zdGV4cHIgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGRp
c3BsYXlNdXRlZEZsYWdzID0geyBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpT
Y3JlZW5DYXB0dXJlSXNNdXRlZCwgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6
V2luZG93Q2FwdHVyZUlzTXV0ZWQgfTsKKyAgICBhdXRvIG11dGVkU3RhdGUgPSBfcGFnZS0+bXV0
ZWRTdGF0ZUZsYWdzKCk7CisgICAgaWYgKHN0YXRlID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFj
dGl2ZSkKKyAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoZGlzcGxheU11dGVkRmxhZ3MpOworICAg
IGVsc2UgaWYgKHN0YXRlID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKQorICAgICAgICBt
dXRlZFN0YXRlLmFkZChkaXNwbGF5TXV0ZWRGbGFncyk7CisgICAgX3BhZ2UtPnNldE11dGVkKG11
dGVkU3RhdGUsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFu
ZGxlcildIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICB9KTsKK30KKworLSAo
dm9pZClfc2V0U3lzdGVtQXVkaW9DYXB0dXJlU3RhdGU6KFdLU3lzdGVtQXVkaW9DYXB0dXJlU3Rh
dGUpc3RhdGUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5k
bGVyCit7CisgICAgVEhST1dfSUZfU1VTUEVOREVEOworICAgIGlmICghY29tcGxldGlvbkhhbmRs
ZXIpCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyID0gW10geyB9OworCisgICAgaWYgKHN0YXRl
ID09IFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVOb25lKSB7CisgICAgICAgIF9wYWdlLT5zdG9w
TWVkaWFDYXB0dXJlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0
ZW1BdWRpbywgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5k
bGVyKV0geworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisgICAgYXV0byBtdXRlZFN0YXRlID0gX3BhZ2UtPm11dGVk
U3RhdGVGbGFncygpOworICAgIGlmIChzdGF0ZSA9PSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRl
QWN0aXZlKQorICAgICAgICBtdXRlZFN0YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
TXV0ZWRTdGF0ZTo6V2luZG93Q2FwdHVyZUlzTXV0ZWQpOworICAgIGVsc2UgaWYgKHN0YXRlID09
IFdLU3lzdGVtQXVkaW9DYXB0dXJlU3RhdGVNdXRlZCkKKyAgICAgICAgbXV0ZWRTdGF0ZS5hZGQo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlck11dGVkU3RhdGU6OldpbmRvd0NhcHR1cmVJc011dGVkKTsK
KyAgICBfcGFnZS0+c2V0TXV0ZWQobXV0ZWRTdGF0ZSwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOworICAgIH0pOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXcgKFdL
RGVwcmVjYXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGM5ZjEyM2MwNmI3OC4uYjVjNGM1MTU3NTI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlLmgKQEAgLTQyNyw2ICs0MjcsNjUgQEAgZm9yIHRoaXMgcHJvcGVydHkuCiAKIC0gKHZvaWQp
X3JlcXVlc3RSZXNvdXJjZTooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCheKShOU0RhdGEgKiwgTlNVUkxSZXNwb25zZSAqLCBOU0Vycm9yICopKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CiAKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLRGlzcGxheUNhcHR1cmVTdGF0
ZSkgeworICAgIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUsCisgICAgV0tEaXNwbGF5Q2FwdHVy
ZVN0YXRlQWN0aXZlLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkLAorfSBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCit0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlKSB7CisgICAgV0tT
eXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmUsCisgICAgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0
ZUFjdGl2ZSwKKyAgICBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlTXV0ZWQsCit9IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK3R5cGVkZWYg
TlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpIHsKKyAgICBX
S0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUgPSAwLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdXJm
YWNlU2NyZWVuID0gMHgxLAorICAgIFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93ID0gMHgy
LAorfTsKKworLyohIEBhYnN0cmFjdCBUaGUgdHlwZShzKSBvZiBkaXNwbGF5cyBiZWluZyBjYXB0
dXJlZCBvbiBhIHdlYiBwYWdlLgorIEBkaXNjdXNzaW9uIEBsaW5rIFdLV2ViVmlldyBAL2xpbmsg
aXMga2V5LXZhbHVlIG9ic2VydmluZyAoS1ZPKSBjb21wbGlhbnQKKyBmb3IgdGhpcyBwcm9wZXJ0
eS4KKyAqLworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBXS0Rpc3BsYXlDYXB0dXJl
U3VyZmFjZXMgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohIEBhYnN0cmFjdCBUaGUgc3RhdGUg
b2YgZGlzcGxheSBjYXB0dXJlIG9uIGEgd2ViIHBhZ2UuCisgQGRpc2N1c3Npb24gQGxpbmsgV0tX
ZWJWaWV3IEAvbGluayBpcyBrZXktdmFsdWUgb2JzZXJ2aW5nIChLVk8pIGNvbXBsaWFudAorIGZv
ciB0aGlzIHByb3BlcnR5LgorICovCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdL
RGlzcGxheUNhcHR1cmVTdGF0ZSBfZGlzcGxheUNhcHR1cmVTdGF0ZSBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiEgQGFic3RyYWN0IFRo
ZSBzdGF0ZSBvZiBzeXN0ZW0gYXVkaW8gY2FwdHVyZSBvbiBhIHdlYiBwYWdlLgorIEBkaXNjdXNz
aW9uIEBsaW5rIFdLV2ViVmlldyBAL2xpbmsgaXMga2V5LXZhbHVlIG9ic2VydmluZyAoS1ZPKSBj
b21wbGlhbnQKKyBmb3IgdGhpcyBwcm9wZXJ0eS4KKyAqLworQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBXS1N5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlIF9zeXN0ZW1BdWRpb0NhcHR1cmVT
dGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OworCisvKiEgQGFic3RyYWN0IFNldCBkaXNwbGF5IGNhcHR1cmUgc3RhdGUgb2YgYSBXS1dlYlZp
ZXcuCisgQHBhcmFtIHN0YXRlIFN0YXRlIHRvIGFwcGx5IGZvciBjYXB0dXJlLgorIEBwYXJhbSBj
b21wbGV0aW9uSGFuZGxlciBBIGJsb2NrIHRvIGludm9rZSBhZnRlciB0aGUgc2NyZWVuIHN0YXRl
IGhhcyBiZWVuIGNoYW5nZWQuCisgQGRpc2N1c3Npb24KKyBJZiB2YWx1ZSBpcyBXS0Rpc3BsYXlD
YXB0dXJlU3RhdGVOb25lLCB0aGlzIHdpbGwgc3RvcCBhbGwgZGlzcGxheSBjYXB0dXJlLgorIElm
IHZhbHVlIGlzIFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkLCBhbGwgYWN0aXZlIGRpc3BsYXkg
Y2FwdHVyZXMgd2lsbCBiZWNvbWUgbXV0ZWQuCisgSWYgdmFsdWUgaXMgV0tEaXNwbGF5Q2FwdHVy
ZVN0YXRlQWN0aXZlLCBhbGwgbXV0ZWQgZGlzcGxheSBjYXB0dXJlcyB3aWxsIGJlY29tZSBhY3Rp
dmUuCisgKi8KKy0gKHZvaWQpX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6KFdLRGlzcGxheUNhcHR1
cmVTdGF0ZSlzdGF0ZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKworLyohIEBhYnN0cmFjdCBTZXQgc3lzdGVtIGF1ZGlvIGNhcHR1cmUgc3RhdGUgb2Yg
YSBXS1dlYlZpZXcuCisgQHBhcmFtIHN0YXRlIFN0YXRlIHRvIGFwcGx5IGZvciBzeXN0ZW0gYXVk
aW8gY2FwdHVyZS4KKyBAcGFyYW0gY29tcGxldGlvbkhhbmRsZXIgQSBibG9jayB0byBpbnZva2Ug
YWZ0ZXIgdGhlIHN5c3RlbSBhdWRpbyBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2VkLgorIEBkaXNjdXNz
aW9uCisgSWYgdmFsdWUgaXMgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZU5vbmUsIHRoaXMgd2ls
bCBzdG9wIGFueSBzeXN0ZW0gYXVkaW8gY2FwdHVyZS4KKyBJZiB2YWx1ZSBpcyBXS1N5c3RlbUF1
ZGlvQ2FwdHVyZVN0YXRlTXV0ZWQsIGFueSBhY3RpdmUgc3lzdGVtIGF1ZGlvIGNhcHR1cmUgd2ls
bCBiZWNvbWUgbXV0ZWQuCisgSWYgdmFsdWUgaXMgV0tTeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZUFj
dGl2ZSwgYW55IG11dGVkIHN5c3RlbSBhdWRpbyBjYXB0dXJlIHdpbGwgYmVjb21lIGFjdGl2ZS4K
KyBAbm90ZSBXaGVuIHN5c3RlbSBhdWRpbyBjYXB0dXJlIGlzIGFjdGl2ZSwgaWYgc2NyZWVuQ2Fw
dHVyZVN0YXRlIGlzIGFjdGl2ZSwgYWxsIHN5c3RlbSBhdWRpbyB3aWxsIGJlIGNhcHR1cmVkLgor
IE90aGVyd2lzZSwgaWYgd2luZG93Q2FwdHVyZVN0YXRlIGlzIGFjdGl2ZSwgb25seSB0aGUgYXBw
bGljYXRpb24gd2hvc2Ugd2luZG93IGJlaW5nIGlzIGNhcHR1cmVkIHdpbGwgaGF2ZSBpdHMgYXVk
aW8gY2FwdHVyZWQuCisgSWYgYm90aCBzY3JlZW5DYXB0dXJlU3RhdGUgYW5kIHdpbmRvd0NhcHR1
cmVTdGF0ZSBhcmUgTm9uZSBvciBNdXRlZCwgbm8gc3lzdGVtIGF1ZGlvIHdpbGwgYmUgY2FwdHVy
ZWQuCisgKi8KKy0gKHZvaWQpX3NldFN5c3RlbUF1ZGlvQ2FwdHVyZVN0YXRlOihXS1N5c3RlbUF1
ZGlvQ2FwdHVyZVN0YXRlKXN0YXRlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSlj
b21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOworCiBAZW5kCiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IDEw
YTEwOWZiOTIxZi4uYzg5M2U5MWMzOTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcApAQCAtMzY0LDcgKzM2NCw3IEBAIHZvaWQg
d2Via2l0V2ViVmlld01lZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIFdlYkNvcmU6Ok1lCiAgICAgICAgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYyhHX09C
SkVDVCh3ZWJWaWV3KSwgc09ialByb3BlcnRpZXNbUFJPUF9NSUNST1BIT05FX0NBUFRVUkVfU1RB
VEVdKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAobWVkaWFTdGF0ZUZsYWdzLmNv
bnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2spKQorICAg
IGlmIChtZWRpYVN0YXRlRmxhZ3MuY29udGFpbnNBbnkoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
TWljcm9waG9uZUNhcHR1cmVNYXNrKSkKICAgICAgICAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVj
KEdfT0JKRUNUKHdlYlZpZXcpLCBzT2JqUHJvcGVydGllc1tQUk9QX01JQ1JPUEhPTkVfQ0FQVFVS
RV9TVEFURV0pOwogICAgIGlmIChtZWRpYVN0YXRlRmxhZ3MuY29udGFpbnNBbnkoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6VmlkZW9DYXB0dXJlTWFzaykpCiAgICAgICAgIGdfb2JqZWN0X25vdGlm
eV9ieV9wc3BlYyhHX09CSkVDVCh3ZWJWaWV3KSwgc09ialByb3BlcnRpZXNbUFJPUF9DQU1FUkFf
Q0FQVFVSRV9TVEFURV0pOwpAQCAtNDg2OCw3ICs0ODY4LDcgQEAgdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfc2V0X2NvcnNfYWxsb3dsaXN0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGdjaGFy
KiBjb24KICAgICBnZXRQYWdlKHdlYlZpZXcpLnNldENPUlNEaXNhYmxpbmdQYXR0ZXJucyhXVEZN
b3ZlKGFsbG93TGlzdFZlY3RvcikpOwogfQogCi1zdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3Q29u
ZmlndXJlTWVkaWFDYXB0dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kIGNhcHR1cmVLaW5kLCBXZWJLaXRNZWRpYUNhcHR1cmVT
dGF0ZSBjYXB0dXJlU3RhdGUsIGJvb2wgaXNGcm9tRGlzcGxheUNhcHR1cmUgPSBmYWxzZSkKK3N0
YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1cmUoV2ViS2l0V2ViVmll
dyogd2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQgY2FwdHVy
ZUtpbmQsIFdlYktpdE1lZGlhQ2FwdHVyZVN0YXRlIGNhcHR1cmVTdGF0ZSkKIHsKICAgICBhdXRv
JiBwYWdlID0gZ2V0UGFnZSh3ZWJWaWV3KTsKICAgICBhdXRvIG11dGVkU3RhdGUgPSBwYWdlLm11
dGVkU3RhdGVGbGFncygpOwpAQCAtNDg3NywxMyArNDg3NywxNSBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdl
YkNvcmU6OgogICAgIGNhc2UgV0VCS0lUX01FRElBX0NBUFRVUkVfU1RBVEVfTk9ORToKICAgICAg
ICAgcGFnZS5zdG9wTWVkaWFDYXB0dXJlKGNhcHR1cmVLaW5kLCBbd2ViVmlldywgY2FwdHVyZUtp
bmRdIHsKICAgICAgICAgICAgIHN3aXRjaCAoY2FwdHVyZUtpbmQpIHsKLSAgICAgICAgICAgIGNh
c2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkF1ZGlvOgorICAgICAg
ICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9w
aG9uZToKICAgICAgICAgICAgICAgICBnX29iamVjdF9ub3RpZnlfYnlfcHNwZWMoR19PQkpFQ1Qo
d2ViVmlldyksIHNPYmpQcm9wZXJ0aWVzW1BST1BfTUlDUk9QSE9ORV9DQVBUVVJFX1NUQVRFXSk7
CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpWaWRlbzoKKyAgICAgICAgICAgIGNhc2UgV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkRpc3BsYXk6CisgICAgICAgICAgICBj
YXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmE6CiAgICAg
ICAgICAgICAgICAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjKEdfT0JKRUNUKHdlYlZpZXcpLCBz
T2JqUHJvcGVydGllc1tQUk9QX0NBTUVSQV9DQVBUVVJFX1NUQVRFXSk7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpBdWRpb1ZpZGVvOgorICAgICAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6U3lzdGVtQXVkaW86CisgICAgICAgICAgICBjYXNlIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQ6CiAgICAgICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgfQpAQCAtNDg5MSwxNiArNDg5MywxNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRX
ZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYkNv
cmU6OgogICAgICAgICBicmVhazsKICAgICBjYXNlIFdFQktJVF9NRURJQV9DQVBUVVJFX1NUQVRF
X0FDVElWRToKICAgICAgICAgc3dpdGNoIChjYXB0dXJlS2luZCkgewotICAgICAgICBjYXNlIFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbzoKKyAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZToKICAg
ICAgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVk
U3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0ZWQpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvOgotICAg
ICAgICAgICAgaWYgKGlzRnJvbURpc3BsYXlDYXB0dXJlKQotICAgICAgICAgICAgICAgIG11dGVk
U3RhdGUucmVtb3ZlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNh
cHR1cmVJc011dGVkKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtdXRlZFN0
YXRlLnJlbW92ZShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1
cmVJc011dGVkKTsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6Q2FtZXJhOgorICAgICAgICAgICAgbXV0ZWRTdGF0ZS5yZW1vdmUoV2ViQ29yZTo6
TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9DYXB0dXJlSXNNdXRlZCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0
dXJlS2luZDo6RGlzcGxheToKKyAgICAgICAgICAgIG11dGVkU3RhdGUucmVtb3ZlKFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kOjpBdWRpb1ZpZGVvOgorICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpN
ZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kOgogICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTQ5
MDgsMTYgKzQ5MTEsMTcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0NvbmZpZ3VyZU1lZGlh
Q2FwdHVyZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJDb3JlOjoKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9NVVRFRDoKICAgICAgICAgc3dp
dGNoIChjYXB0dXJlS2luZCkgewotICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kOjpBdWRpbzoKKyAgICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyTWVkaWFDYXB0dXJlS2luZDo6TWljcm9waG9uZToKICAgICAgICAgICAgIG11dGVkU3RhdGUu
YWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OkF1ZGlvQ2FwdHVyZUlzTXV0
ZWQpOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFQcm9k
dWNlck1lZGlhQ2FwdHVyZUtpbmQ6OlZpZGVvOgotICAgICAgICAgICAgaWYgKGlzRnJvbURpc3Bs
YXlDYXB0dXJlKQotICAgICAgICAgICAgICAgIG11dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNhcHR1cmVJc011dGVkKTsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICBtdXRlZFN0YXRlLmFkZChXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNdXRlZFN0YXRlOjpWaWRlb0NhcHR1cmVJc011dGVkKTsKKyAgICAgICAgY2FzZSBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6Q2FtZXJhOgorICAgICAgICAgICAg
bXV0ZWRTdGF0ZS5hZGQoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZTo6VmlkZW9D
YXB0dXJlSXNNdXRlZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJDb3Jl
OjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RGlzcGxheToKKyAgICAgICAgICAgIG11
dGVkU3RhdGUuYWRkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGU6OlNjcmVlbkNh
cHR1cmVJc011dGVkKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFdlYkNvcmU6
Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpb1ZpZGVvOgorICAgICAgICBjYXNl
IFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbzoKKyAg
ICAgICAgY2FzZSBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlL
aW5kOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KQEAgLTQ5NjUsNyArNDk2OSw3IEBAIHZvaWQgd2Via2l0X3dlYl92aWV3
X3NldF9jYW1lcmFfY2FwdHVyZV9zdGF0ZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRN
ZWRpCiAgICAgaWYgKHdlYmtpdF93ZWJfdmlld19nZXRfY2FtZXJhX2NhcHR1cmVfc3RhdGUod2Vi
VmlldykgPT0gV0VCS0lUX01FRElBX0NBUFRVUkVfU1RBVEVfTk9ORSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgd2Via2l0V2ViVmlld0NvbmZpZ3VyZU1lZGlhQ2FwdHVyZSh3ZWJWaWV3LCBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6VmlkZW8sIHN0YXRlKTsKKyAgICB3
ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpDYW1lcmEsIHN0YXRlKTsKIH0KIAogLyoqCkBAIC01
MDA3LDcgKzUwMTEsNyBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfbWljcm9waG9uZV9jYXB0
dXJlX3N0YXRlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdAogICAgIGlmICh3ZWJraXRf
d2ViX3ZpZXdfZ2V0X21pY3JvcGhvbmVfY2FwdHVyZV9zdGF0ZSh3ZWJWaWV3KSA9PSBXRUJLSVRf
TUVESUFfQ0FQVFVSRV9TVEFURV9OT05FKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJraXRX
ZWJWaWV3Q29uZmlndXJlTWVkaWFDYXB0dXJlKHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXJNZWRpYUNhcHR1cmVLaW5kOjpBdWRpbywgc3RhdGUpOworICAgIHdlYmtpdFdlYlZpZXdDb25m
aWd1cmVNZWRpYUNhcHR1cmUod2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2Fw
dHVyZUtpbmQ6Ok1pY3JvcGhvbmUsIHN0YXRlKTsKIH0KIAogLyoqCkBAIC01MDI0LDkgKzUwMjgs
OSBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfbWljcm9waG9uZV9jYXB0dXJlX3N0YXRlKFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdAogV2ViS2l0TWVkaWFDYXB0dXJlU3RhdGUgd2Vi
a2l0X3dlYl92aWV3X2dldF9kaXNwbGF5X2NhcHR1cmVfc3RhdGUoV2ViS2l0V2ViVmlldyogd2Vi
VmlldykKIHsKICAgICBhdXRvIHN0YXRlID0gZ2V0UGFnZSh3ZWJWaWV3KS5yZXBvcnRlZE1lZGlh
U3RhdGUoKTsKLSAgICBpZiAoc3RhdGUgJiBXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0
YXRlOjpIYXNBY3RpdmVEaXNwbGF5Q2FwdHVyZURldmljZSkKKyAgICBpZiAoc3RhdGUgJiBXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlOjpIYXNBY3RpdmVTY3JlZW5DYXB0dXJlRGV2
aWNlKQogICAgICAgICByZXR1cm4gV0VCS0lUX01FRElBX0NBUFRVUkVfU1RBVEVfQUNUSVZFOwot
ICAgIGlmIChzdGF0ZSAmIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGU6Okhhc011
dGVkRGlzcGxheUNhcHR1cmVEZXZpY2UpCisgICAgaWYgKHN0YXRlICYgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6TWVkaWFTdGF0ZTo6SGFzTXV0ZWRTY3JlZW5DYXB0dXJlRGV2aWNlKQogICAgICAg
ICByZXR1cm4gV0VCS0lUX01FRElBX0NBUFRVUkVfU1RBVEVfTVVURUQ7CiAgICAgcmV0dXJuIFdF
QktJVF9NRURJQV9DQVBUVVJFX1NUQVRFX05PTkU7CiB9CkBAIC01MDQ5LDUgKzUwNTMsNSBAQCB2
b2lkIHdlYmtpdF93ZWJfdmlld19zZXRfZGlzcGxheV9jYXB0dXJlX3N0YXRlKFdlYktpdFdlYlZp
ZXcqIHdlYlZpZXcsIFdlYktpdE1lZAogICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Rpc3Bs
YXlfY2FwdHVyZV9zdGF0ZSh3ZWJWaWV3KSA9PSBXRUJLSVRfTUVESUFfQ0FQVFVSRV9TVEFURV9O
T05FKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJraXRXZWJWaWV3Q29uZmlndXJlTWVkaWFD
YXB0dXJlKHdlYlZpZXcsIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpW
aWRlbywgc3RhdGUsIHRydWUpOworICAgIHdlYmtpdFdlYlZpZXdDb25maWd1cmVNZWRpYUNhcHR1
cmUod2ViVmlldywgV2ViQ29yZTo6TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkRpc3Bs
YXksIHN0YXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bh
Z2VDbGllbnRJbXBsQ29jb2EuaAppbmRleCA4NjBhYWY4MjVlNmIuLmEyMTdjMWY5ZWZiZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29j
b2EuaApAQCAtODQsOCArODQsMTUgQEAgcHVibGljOgogCiAgICAgdm9pZCBtaWNyb3Bob25lQ2Fw
dHVyZVdpbGxDaGFuZ2UoKSBmaW5hbDsKICAgICB2b2lkIGNhbWVyYUNhcHR1cmVXaWxsQ2hhbmdl
KCkgZmluYWw7CisgICAgdm9pZCBkaXNwbGF5Q2FwdHVyZVdpbGxDaGFuZ2UoKSBmaW5hbDsKKyAg
ICB2b2lkIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNXaWxsQ2hhbmdlKCkgZmluYWw7CisgICAgdm9p
ZCBzeXN0ZW1BdWRpb0NhcHR1cmVXaWxsQ2hhbmdlKCkgZmluYWw7CisKICAgICB2b2lkIG1pY3Jv
cGhvbmVDYXB0dXJlQ2hhbmdlZCgpIGZpbmFsOwogICAgIHZvaWQgY2FtZXJhQ2FwdHVyZUNoYW5n
ZWQoKSBmaW5hbDsKKyAgICB2b2lkIGRpc3BsYXlDYXB0dXJlQ2hhbmdlZCgpIGZpbmFsOworICAg
IHZvaWQgZGlzcGxheUNhcHR1cmVTdXJmYWNlc0NoYW5nZWQoKSBmaW5hbDsKKyAgICB2b2lkIHN5
c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKIAogICAgIFdpbmRvd0tpbmQgd2luZG93
S2luZCgpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCA2MGRhM2I0NTAyMTYuLjVkNWIxNDYxNTVjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1w
bENvY29hLm1tCkBAIC0xODMsNiArMTgzLDIxIEBAIHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6
Y2FtZXJhQ2FwdHVyZVdpbGxDaGFuZ2UoKQogICAgIFttX3dlYlZpZXcgd2lsbENoYW5nZVZhbHVl
Rm9yS2V5OkAiY2FtZXJhQ2FwdHVyZVN0YXRlIl07CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGxD
b2NvYTo6ZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxD
aGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVyZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFn
ZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVTdXJmYWNlc1dpbGxDaGFuZ2UoKQorewor
ICAgIFttX3dlYlZpZXcgd2lsbENoYW5nZVZhbHVlRm9yS2V5OkAiX2Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXMiXTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpzeXN0ZW1BdWRpb0NhcHR1
cmVXaWxsQ2hhbmdlKCkKK3sKKyAgICBbbV93ZWJWaWV3IHdpbGxDaGFuZ2VWYWx1ZUZvcktleTpA
Il9zeXN0ZW1BdWRpb0NhcHR1cmVTdGF0ZSJdOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsQ29j
b2E6Om1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpCiB7CiAgICAgW21fd2ViVmlldyBkaWRDaGFu
Z2VWYWx1ZUZvcktleTpAIm1pY3JvcGhvbmVDYXB0dXJlU3RhdGUiXTsKQEAgLTE5Myw2ICsyMDgs
MjEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpCiAg
ICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImNhbWVyYUNhcHR1cmVTdGF0ZSJd
OwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpc3BsYXlDYXB0dXJlQ2hhbmdlZCgp
Cit7CisgICAgW21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAIl9kaXNwbGF5Q2FwdHVy
ZVN0YXRlIl07Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlzcGxheUNhcHR1cmVT
dXJmYWNlc0NoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6
QCJfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyJdOworfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsQ29j
b2E6OnN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgZGlkQ2hh
bmdlVmFsdWVGb3JLZXk6QCJfc3lzdGVtQXVkaW9DYXB0dXJlU3RhdGUiXTsKK30KKwogV2luZG93
S2luZCBQYWdlQ2xpZW50SW1wbENvY29hOjp3aW5kb3dLaW5kKCkKIHsKICAgICBhdXRvIHdpbmRv
dyA9IFttX3dlYlZpZXcgd2luZG93XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXgg
YmRhZjk4ZDEwZGQzLi4yYWY3ODI5MGY1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3Bw
CkBAIC02Niw5ICs2NiwxMiBAQCBwdWJsaWM6CiAgICAgICAgIG1fc291cmNlLT5hZGRPYnNlcnZl
cigqdGhpcyk7CiAgICAgICAgIHN3aXRjaCAobV9zb3VyY2UtPnR5cGUoKSkgewogICAgICAgICBj
YXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgICAgICBjYXNlIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICAgICAgbV9zb3VyY2Ut
PmFkZEF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86CisgICAgICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgorICAgICAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAgICAgICAgICAgIG1fc291cmNlLT5hZGRWaWRl
b1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6CkBAIC04Myw5ICs4NiwxMiBAQCBwdWJs
aWM6CiAKICAgICAgICAgc3dpdGNoIChtX3NvdXJjZS0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86CisgICAgICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgICAgICBtX3NvdXJjZS0+cmVt
b3ZlQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKKyAgICAgICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46CisgICAgICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICAgICAgbV9zb3VyY2UtPnJlbW92ZVZp
ZGVvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKQEAgLTI4OCw2ICsyOTQsNyBAQCB2
b2lkIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OmNyZWF0ZU1lZGlhU291cmNlRm9yQ2Fw
dHVyZURldmljZVdpdGhDb25zdHJhaQogICAgIGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZTo6V2luZG93OgogICAgICAgICBzb3VyY2VPckVycm9yID0gUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuZGlzcGxheUNhcHR1cmVGYWN0b3J5KCkuY3JlYXRl
RGlzcGxheUNhcHR1cmVTb3VyY2UoZGV2aWNlLCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWlu
dHMpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OlN5c3RlbUF1ZGlvOgogICAgIGNhc2UgV2ViQ29yZTo6Q2FwdHVyZURldmljZTo6
RGV2aWNlVHlwZTo6U3BlYWtlcjoKICAgICBjYXNlIFdlYkNvcmU6OkNhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OlVua25vd246CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDUxNjlkNzFmNTg0MC4uM2E3MTBmMWE3MWZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC01NjUsOCArNTY1LDE0IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBtaWNyb3Bob25lQ2FwdHVyZVdpbGxDaGFuZ2Uo
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY2FtZXJhQ2FwdHVyZVdpbGxDaGFuZ2UoKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGxheUNhcHR1cmVXaWxsQ2hhbmdlKCkgeyB9CisgICAgdmlydHVh
bCB2b2lkIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNXaWxsQ2hhbmdlKCkgeyB9CisgICAgdmlydHVh
bCB2b2lkIHN5c3RlbUF1ZGlvQ2FwdHVyZVdpbGxDaGFuZ2UoKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgbWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNhbWVy
YUNhcHR1cmVDaGFuZ2VkKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BsYXlDYXB0dXJlQ2hh
bmdlZCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzQ2hhbmdl
ZCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKCkgeyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgdmlkZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKSB7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGUwYjVlMjk3ODIyOC4u
OWYzNjMxMDE5ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCkBAIC05
OSw3ICs5OSw3IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eShXCiAKIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkoKQogewotICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBh
Z2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVk
aW9WaWRlbyB9LCBbXSB7IH0pOworICAgIG1fcGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6OldlYlBhZ2U6OlN0b3BNZWRpYUNhcHR1cmUgeyBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6RXZlcnlLaW5kIH0sIFtdIHsgfSk7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAg
ICBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCkucmV2b2tlU2FuZGJveEV4dGVu
c2lvbnNJZk5lZWRlZChwYWdlKCkucHJvY2VzcygpKTsKICAgICBwcm94aWVzKCkucmVtb3ZlKHRo
aXMpOwpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJ
RVIpOwogICAgIGludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMoKTsKLSAgICBtX3BhZ2Uuc3RvcE1l
ZGlhQ2FwdHVyZShNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6QXVkaW9WaWRlbyk7Cisg
ICAgbV9wYWdlLnN0b3BNZWRpYUNhcHR1cmUoTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6
OkV2ZXJ5S2luZCk7CiB9CiAKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHk6OmNhcHR1cmVEZXZpY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCBmMjQwZmY0OTAyYmYuLjQ2YjU5N2ViZjA5NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC05NTk3LDEzICs5NTk3LDI1IEBA
IHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVSZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCkKIAog
ICAgIFdFQlBBR0VQUk9YWV9SRUxFQVNFX0xPRyhXZWJSVEMsICJ1cGRhdGVSZXBvcnRlZE1lZGlh
Q2FwdHVyZVN0YXRlOiBmcm9tICVkIHRvICVkIiwgbV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRl
LnRvUmF3KCksIGFjdGl2ZUNhcHR1cmVTdGF0ZS50b1JhdygpKTsKIAotICAgIGJvb2wgbWljcm9w
aG9uZUNhcHR1cmVDaGFuZ2VkID0gKG1fcmVwb3J0ZWRNZWRpYUNhcHR1cmVTdGF0ZSAmIE1lZGlh
UHJvZHVjZXI6OkF1ZGlvQ2FwdHVyZU1hc2spICE9IChhY3RpdmVDYXB0dXJlU3RhdGUgJiBNZWRp
YVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrKTsKKyAgICBib29sIG1pY3JvcGhvbmVDYXB0dXJl
Q2hhbmdlZCA9IChtX3JlcG9ydGVkTWVkaWFDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpN
aWNyb3Bob25lQ2FwdHVyZU1hc2spICE9IChhY3RpdmVDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1
Y2VyOjpNaWNyb3Bob25lQ2FwdHVyZU1hc2spOwogICAgIGJvb2wgY2FtZXJhQ2FwdHVyZUNoYW5n
ZWQgPSAobV9yZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6VmlkZW9D
YXB0dXJlTWFzaykgIT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OlZpZGVv
Q2FwdHVyZU1hc2spOworICAgIGJvb2wgZGlzcGxheUNhcHR1cmVDaGFuZ2VkID0gKG1fcmVwb3J0
ZWRNZWRpYUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OkRpc3BsYXlDYXB0dXJlTWFzaykg
IT0gKGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OkRpc3BsYXlDYXB0dXJlTWFz
ayk7CisgICAgYm9vbCBzeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkID0gKG1fcmVwb3J0ZWRNZWRp
YUNhcHR1cmVTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OlN5c3RlbUF1ZGlvQ2FwdHVyZU1hc2spICE9
IChhY3RpdmVDYXB0dXJlU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpTeXN0ZW1BdWRpb0NhcHR1cmVN
YXNrKTsKKworICAgIGF1dG8gcmVwb3J0ZWREaXNwbGF5Q2FwdHVyZVN1cmZhY2VzID0gbV9yZXBv
cnRlZE1lZGlhQ2FwdHVyZVN0YXRlICYgKE1lZGlhUHJvZHVjZXI6OlNjcmVlbkNhcHR1cmVNYXNr
IHwgTWVkaWFQcm9kdWNlcjo6V2luZG93Q2FwdHVyZU1hc2spOworICAgIGF1dG8gYWN0aXZlRGlz
cGxheUNhcHR1cmVTdXJmYWNlcyA9IGFjdGl2ZUNhcHR1cmVTdGF0ZSAmIChNZWRpYVByb2R1Y2Vy
OjpTY3JlZW5DYXB0dXJlTWFzayB8IE1lZGlhUHJvZHVjZXI6OldpbmRvd0NhcHR1cmVNYXNrKTsK
KyAgICBhdXRvIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkID0gcmVwb3J0ZWREaXNwbGF5
Q2FwdHVyZVN1cmZhY2VzICE9IGFjdGl2ZURpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CiAKICAgICBp
ZiAobWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkKQogICAgICAgICBwYWdlQ2xpZW50KCkubWljcm9w
aG9uZUNhcHR1cmVXaWxsQ2hhbmdlKCk7CiAgICAgaWYgKGNhbWVyYUNhcHR1cmVDaGFuZ2VkKQog
ICAgICAgICBwYWdlQ2xpZW50KCkuY2FtZXJhQ2FwdHVyZVdpbGxDaGFuZ2UoKTsKKyAgICBpZiAo
ZGlzcGxheUNhcHR1cmVDaGFuZ2VkKQorICAgICAgICBwYWdlQ2xpZW50KCkuZGlzcGxheUNhcHR1
cmVXaWxsQ2hhbmdlKCk7CisgICAgaWYgKGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNDaGFuZ2VkKQor
ICAgICAgICBwYWdlQ2xpZW50KCkuZGlzcGxheUNhcHR1cmVTdXJmYWNlc1dpbGxDaGFuZ2UoKTsK
KyAgICBpZiAoc3lzdGVtQXVkaW9DYXB0dXJlQ2hhbmdlZCkKKyAgICAgICAgcGFnZUNsaWVudCgp
LnN5c3RlbUF1ZGlvQ2FwdHVyZVdpbGxDaGFuZ2UoKTsKIAogICAgIG1fcmVwb3J0ZWRNZWRpYUNh
cHR1cmVTdGF0ZSA9IGFjdGl2ZUNhcHR1cmVTdGF0ZTsKICAgICBtX3VpQ2xpZW50LT5tZWRpYUNh
cHR1cmVTdGF0ZURpZENoYW5nZShtX21lZGlhU3RhdGUpOwpAQCAtOTYxMiw2ICs5NjI0LDEyIEBA
IHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVSZXBvcnRlZE1lZGlhQ2FwdHVyZVN0YXRlKCkKICAg
ICAgICAgcGFnZUNsaWVudCgpLm1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpOwogICAgIGlmIChj
YW1lcmFDYXB0dXJlQ2hhbmdlZCkKICAgICAgICAgcGFnZUNsaWVudCgpLmNhbWVyYUNhcHR1cmVD
aGFuZ2VkKCk7CisgICAgaWYgKGRpc3BsYXlDYXB0dXJlQ2hhbmdlZCkKKyAgICAgICAgcGFnZUNs
aWVudCgpLmRpc3BsYXlDYXB0dXJlQ2hhbmdlZCgpOworICAgIGlmIChkaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzQ2hhbmdlZCkKKyAgICAgICAgcGFnZUNsaWVudCgpLmRpc3BsYXlDYXB0dXJlU3VyZmFj
ZXNDaGFuZ2VkKCk7CisgICAgaWYgKHN5c3RlbUF1ZGlvQ2FwdHVyZUNoYW5nZWQpCisgICAgICAg
IHBhZ2VDbGllbnQoKS5zeXN0ZW1BdWRpb0NhcHR1cmVDaGFuZ2VkKCk7CiB9CiAKIHZvaWQgV2Vi
UGFnZVByb3h5Ojp2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDBjODYwNjBiM2MwYi4uYTJmMjBhYWE1ZjY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTU0MCw4ICsxNTQwLDgg
QEAgcHVibGljOgogCiAgICAgZW51bSBjbGFzcyBDYW5EZWxheU5vdGlmaWNhdGlvbiB7IE5vLCBZ
ZXMgfTsKICAgICB2b2lkIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZShXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyTWVkaWFTdGF0ZUZsYWdzLCBDYW5EZWxheU5vdGlmaWNhdGlvbiA9IENhbkRlbGF5
Tm90aWZpY2F0aW9uOjpObyk7Ci0gICAgYm9vbCBpc0NhcHR1cmluZ0F1ZGlvKCkgY29uc3QgeyBy
ZXR1cm4gbV9tZWRpYVN0YXRlLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkF1
ZGlvQ2FwdHVyZU1hc2spOyB9Ci0gICAgYm9vbCBpc0NhcHR1cmluZ1ZpZGVvKCkgY29uc3QgeyBy
ZXR1cm4gbV9tZWRpYVN0YXRlLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OlZp
ZGVvQ2FwdHVyZU1hc2spOyB9CisgICAgYm9vbCBpc0NhcHR1cmluZ0F1ZGlvKCkgY29uc3QgeyBy
ZXR1cm4gbV9tZWRpYVN0YXRlLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Oklz
Q2FwdHVyaW5nQXVkaW9NYXNrKTsgfQorICAgIGJvb2wgaXNDYXB0dXJpbmdWaWRlbygpIGNvbnN0
IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5jb250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
OjpJc0NhcHR1cmluZ1ZpZGVvTWFzayk7IH0KICAgICBib29sIGhhc0FjdGl2ZUF1ZGlvU3RyZWFt
KCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYVN0YXRlLmNvbnRhaW5zQW55KFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXJNZWRpYVN0YXRlOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UpOyB9CiAgICAg
Ym9vbCBoYXNBY3RpdmVWaWRlb1N0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFTdGF0ZS5j
b250YWluc0FueShXZWJDb3JlOjpNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZTo6SGFzQWN0aXZlVmlk
ZW9DYXB0dXJlRGV2aWNlKTsgfQogICAgIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXJNZWRpYVN0YXRl
RmxhZ3MgcmVwb3J0ZWRNZWRpYVN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRlZE1lZGlh
Q2FwdHVyZVN0YXRlIHwgKG1fbWVkaWFTdGF0ZSAtIFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1l
ZGlhQ2FwdHVyZU1hc2spOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
aW5kZXggZWUxNDM0YmRhODdiLi5lMjVkOGYzZTY5MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE5NzYsNyArMTk3Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBjaGVja0RvY3VtZW50c0NhcHR1cmVTdGF0ZUNvbnNpc3RlbmN5KGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBlCiB7CiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIGlzQ2FwdHVyaW5nQXVkaW8g
PSBXVEY6OmFueU9mKERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS52YWx1ZXMoKSwgW10oYXV0
byogZG9jdW1lbnQpIHsKLSAgICAgICAgcmV0dXJuIGRvY3VtZW50LT5tZWRpYVN0YXRlKCkgJiBN
ZWRpYVByb2R1Y2VyOjpBdWRpb0NhcHR1cmVNYXNrOworICAgICAgICByZXR1cm4gZG9jdW1lbnQt
Pm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6Ok1pY3JvcGhvbmVDYXB0dXJlTWFzazsKICAg
ICB9KTsKICAgICBib29sIGlzQ2FwdHVyaW5nVmlkZW8gPSBXVEY6OmFueU9mKERvY3VtZW50Ojph
bGxEb2N1bWVudHNNYXAoKS52YWx1ZXMoKSwgW10oYXV0byogZG9jdW1lbnQpIHsKICAgICAgICAg
cmV0dXJuIGRvY3VtZW50LT5tZWRpYVN0YXRlKCkgJiBNZWRpYVByb2R1Y2VyOjpWaWRlb0NhcHR1
cmVNYXNrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGEyNDU5NDFjODEwMC4uYTRmNDQwMDJlNmU4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjItMDEtMjggIEVy
aWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBF
eHBvc2Ugc2NyZWVuIGFuZCB3aW5kb3cgY2FwdHVyZSBzdGF0ZSB0byBXS1dlYlZpZXcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTgzOAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODgyMDc5MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5u
IEZhYmxldC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2NoZW1lOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93
QW5kU2NyZWVuLm1tOgorICAgICAgICAoLVtEaXNwbGF5Q2FwdHVyZU9ic2VydmVyIG9ic2VydmVW
YWx1ZUZvcktleVBhdGg6b2ZPYmplY3Q6Y2hhbmdlOmNvbnRleHQ6XSk6CisgICAgICAgICgtW0Rp
c3BsYXlDYXB0dXJlT2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlDYXB0dXJlU3RhdGU6XSk6CisgICAg
ICAgICgtW0Rpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIgd2FpdEZvckRpc3BsYXlDYXB0dXJlU3VyZmFj
ZXM6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL2dsaWIvVGVzdEV4cGVjdGF0aW9ucy5qc29uOiBTa2lwIC93ZWJraXQvV2ViS2l0V2Vi
Vmlldy9kaXNwbGF5LXVzZXJtZWRpYS1wZXJtaXNzaW9uLXJlcXVlc3QKKyAgICAgICAgdW50aWwg
c29tZW9uZSBoYXMgYSBjaGFuY2UgdG8gZmlndXJlIG91dCB3aHkgaXQgdGltZXMgb3V0LgorCiAy
MDIyLTAxLTI2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBDKysyMCB3YXJuaW5ncyBpbiBUZXN0Q29uc29sZU1lc3NhZ2UKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlh
V2luZG93QW5kU2NyZWVuLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9HZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW4ubW0KaW5kZXggNzNjMjE5MjhhN2YxLi4w
MGYyY2FkNDU5YjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuLm1tCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVu
Lm1tCkBAIC0zMyw5ICszMyw5IEBACiAjaW1wb3J0ICJVc2VyTWVkaWFDYXB0dXJlVUlEZWxlZ2F0
ZS5oIgogI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5o
PgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdl
YktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dL
V2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9yVGVz
dGluZy5oPgogCiBAaW50ZXJmYWNlIFdpbmRvd0FuZFNjcmVlbkNhcHR1cmVUZXN0VmlldyA6IFRl
c3RXS1dlYlZpZXcKQEAgLTU4LDYgKzU4LDYyIEBACiB9CiBAZW5kCiAKK0BpbnRlcmZhY2UgRGlz
cGxheUNhcHR1cmVPYnNlcnZlciA6IE5TT2JqZWN0IHsKKyAgICBXS0Rpc3BsYXlDYXB0dXJlU3Vy
ZmFjZXMgX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CisgICAgV0tEaXNwbGF5Q2FwdHVyZVN0YXRl
IF9kaXNwbGF5Q2FwdHVyZVN0YXRlOworfQorCitAcHJvcGVydHkgV0tEaXNwbGF5Q2FwdHVyZVN0
YXRlIGRpc3BsYXlDYXB0dXJlU3RhdGU7CitAcHJvcGVydHkgV0tEaXNwbGF5Q2FwdHVyZVN1cmZh
Y2VzIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXM7CisKKy0gKHZvaWQpb2JzZXJ2ZVZhbHVlRm9yS2V5
UGF0aDooTlNTdHJpbmcgKilrZXlQYXRoIG9mT2JqZWN0OihpZClvYmplY3QgY2hhbmdlOihOU0Rp
Y3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopY2hhbmdlIGNvbnRleHQ6KHZvaWQgKiljb250ZXh0
OworLSAoQk9PTCl3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdGF0ZTooV0tEaXNwbGF5Q2FwdHVyZVN0
YXRlKWV4cGVjdGVkU3RhdGU7CistIChCT09MKXdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN1cmZhY2Vz
OihXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMpZXhwZWN0ZWRTdGF0ZTsKK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIERpc3BsYXlDYXB0dXJlT2JzZXJ2ZXIKKworQHN5bnRoZXNpemUgZGlzcGxheUNh
cHR1cmVTdXJmYWNlcyA9IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzOworQHN5bnRoZXNpemUgZGlz
cGxheUNhcHR1cmVTdGF0ZSA9IF9kaXNwbGF5Q2FwdHVyZVN0YXRlOworCistICh2b2lkKW9ic2Vy
dmVWYWx1ZUZvcktleVBhdGg6KE5TU3RyaW5nICopa2V5UGF0aCBvZk9iamVjdDooaWQpb2JqZWN0
IGNoYW5nZTooTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqKWNoYW5nZSBjb250ZXh0Oih2
b2lkICopY29udGV4dAoreworICAgIEVYUEVDVF9UUlVFKFtrZXlQYXRoIGlzRXF1YWxUb1N0cmlu
ZzpOU1N0cmluZ0Zyb21TZWxlY3RvcihAc2VsZWN0b3IoX2Rpc3BsYXlDYXB0dXJlU3VyZmFjZXMp
KV0gfHwgW2tleVBhdGggaXNFcXVhbFRvU3RyaW5nOk5TU3RyaW5nRnJvbVNlbGVjdG9yKEBzZWxl
Y3RvcihfZGlzcGxheUNhcHR1cmVTdGF0ZSkpXSk7CisKKyAgICBpZiAoW2tleVBhdGggaXNFcXVh
bFRvU3RyaW5nOk5TU3RyaW5nRnJvbVNlbGVjdG9yKEBzZWxlY3RvcihfZGlzcGxheUNhcHR1cmVT
dXJmYWNlcykpXSkgeworICAgICAgICBfZGlzcGxheUNhcHR1cmVTdXJmYWNlcyA9IChXS0Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZXMpW1tjaGFuZ2Ugb2JqZWN0Rm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VO
ZXdLZXldIHVuc2lnbmVkSW50ZWdlclZhbHVlXTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBfZGlzcGxheUNhcHR1cmVTdGF0ZSA9IChXS0Rpc3BsYXlDYXB0dXJlU3RhdGUpW1tjaGFuZ2Ug
b2JqZWN0Rm9yS2V5Ok5TS2V5VmFsdWVDaGFuZ2VOZXdLZXldIHVuc2lnbmVkSW50ZWdlclZhbHVl
XTsKK30KKworc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBzdGF0ZUNoYW5nZVF1ZXJ5TWF4Q291
bnQgPSAzMDsKKworLSAoQk9PTCl3YWl0Rm9yRGlzcGxheUNhcHR1cmVTdGF0ZTooV0tEaXNwbGF5
Q2FwdHVyZVN0YXRlKWV4cGVjdGVkU3RhdGUKK3sKKyAgICB1bnNpZ25lZCB0cmllcyA9IDA7Cisg
ICAgZG8geworICAgICAgICBpZiAoZXhwZWN0ZWRTdGF0ZSA9PSBfZGlzcGxheUNhcHR1cmVTdGF0
ZSkKKyAgICAgICAgICAgIHJldHVybiBZRVM7CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnNsZWVwKDAuMSk7CisgICAgfSB3aGlsZSAoKyt0cmllcyA8PSBzdGF0ZUNoYW5nZVF1ZXJ5TWF4
Q291bnQpOworCisgICAgcmV0dXJuIGV4cGVjdGVkU3RhdGUgPT0gX2Rpc3BsYXlDYXB0dXJlU3Rh
dGU7Cit9CisKKy0gKEJPT0wpd2FpdEZvckRpc3BsYXlDYXB0dXJlU3VyZmFjZXM6KFdLRGlzcGxh
eUNhcHR1cmVTdXJmYWNlcylleHBlY3RlZFN0YXRlCit7CisgICAgdW5zaWduZWQgdHJpZXMgPSAw
OworICAgIGRvIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkU3RhdGUgPT0gX2Rpc3BsYXlDYXB0dXJl
U3VyZmFjZXMpCisgICAgICAgICAgICByZXR1cm4gWUVTOworICAgICAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpzbGVlcCgwLjEpOworICAgIH0gd2hpbGUgKCsrdHJpZXMgPD0gc3RhdGVDaGFuZ2VR
dWVyeU1heENvdW50KTsKKworICAgIHJldHVybiBleHBlY3RlZFN0YXRlID09IF9kaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VzOworfQorQGVuZAorCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIFRF
U1QoV2ViS2l0MiwgR2V0RGlzcGxheU1lZGlhV2luZG93QW5kU2NyZWVuUHJvbXB0KQpAQCAtNzcs
MTMgKzEzMywyMyBAQCBURVNUKFdlYktpdDIsIEdldERpc3BsYXlNZWRpYVdpbmRvd0FuZFNjcmVl
blByb21wdCkKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV2luZG93QW5kU2NyZWVuQ2Fw
dHVyZVRlc3RWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1
MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogICAgIFt3ZWJWaWV3IHNl
dFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCisgICAgYXV0byBvYnNlcnZlciA9IGFkb3B0
TlMoW1tEaXNwbGF5Q2FwdHVyZU9ic2VydmVyIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcg
YWRkT2JzZXJ2ZXI6b2JzZXJ2ZXIuZ2V0KCkgZm9yS2V5UGF0aDpAIl9kaXNwbGF5Q2FwdHVyZVN1
cmZhY2VzIiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgY29udGV4dDpuaWxd
OworICAgIFt3ZWJWaWV3IGFkZE9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktleVBhdGg6QCJf
ZGlzcGxheUNhcHR1cmVTdGF0ZSIgb3B0aW9uczpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uTmV3
IGNvbnRleHQ6bmlsXTsKKwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VO
YW1lZDpAImdldERpc3BsYXlNZWRpYSJdOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNw
bGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25lKTsKKyAgICBFWFBF
Q1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VOb25lKTsKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBfZGlzcGxheUNhcHR1
cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTm9uZSk7CisgICAgRVhQRUNUX1RSVUUo
W29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJm
YWNlTm9uZSk7CiAKICAgICAvLyBDaGVjayAiRG9u4oCZdCBBbGxvdyIKICAgICBbZGVsZWdhdGUg
c2V0R2V0RGlzcGxheU1lZGlhRGVjaXNpb246V0tEaXNwbGF5Q2FwdHVyZVBlcm1pc3Npb25EZWNp
c2lvbkRlbnldOwogICAgIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJw
cm9tcHRGb3JDYXB0dXJlKHsgdmlkZW8gOiB0cnVlIH0pIl07CiAgICAgW2RlbGVnYXRlIHdhaXRV
bnRpbFByb21wdGVkXTsKICAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBoYXZlU3RyZWFtOk5PXSk7
CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlz
cGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5
Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZU5vbmUpOwogCiAgICAg
Ly8gQ2hlY2sgIkFsbG93IFNjcmVlbiIKICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAic3RvcCgpIl07CkBAIC05NSw5ICsxNjEsNDIgQEAgVEVTVChXZWJLaXQyLCBH
ZXREaXNwbGF5TWVkaWFXaW5kb3dBbmRTY3JlZW5Qcm9tcHQpCiAgICAgRVhQRUNUX1RSVUUoW3dl
YlZpZXcgaGF2ZVN0cmVhbTpZRVNdKTsKICAgICBhdXRvIGxhYmVsID0gW3dlYlZpZXcgc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmxhYmVs
Il07CiAgICAgRVhQRUNUX1dLX1NUUkVRKGxhYmVsLCBAIk1vY2sgc2NyZWVuIGRldmljZSAxIik7
CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN0YXRlOldL
RGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZV0pOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciB3
YWl0Rm9yRGlzcGxheUNhcHR1cmVTdXJmYWNlczpXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVl
bl0pOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBX
S0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBk
aXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAg
IEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3Bs
YXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuKTsKKwor
ICAgIC8vIE11dGUgYW5kIHVubXV0ZSBzY3JlZW4gY2FwdHVyZQorICAgIF9fYmxvY2sgYm9vbCBj
b21wbGV0aW9uQ2FsbGVkID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX3NldERpc3BsYXlDYXB0dXJl
U3RhdGU6V0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQgY29tcGxldGlvbkhhbmRsZXI6XigpIHsK
KyAgICAgICAgY29tcGxldGlvbkNhbGxlZCA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZjb21wbGV0aW9uQ2FsbGVkKTsKKyAgICBFWFBFQ1RfVFJVRShbd2Vi
VmlldyBfZGlzcGxheUNhcHR1cmVTdGF0ZV0gPT0gV0tEaXNwbGF5Q2FwdHVyZVN0YXRlTXV0ZWQp
OworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rp
c3BsYXlDYXB0dXJlU3RhdGVNdXRlZCk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2NyZWVuKTsKKyAg
ICBFWFBFQ1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNw
bGF5Q2FwdHVyZVN1cmZhY2VTY3JlZW4pOworCisgICAgY29tcGxldGlvbkNhbGxlZCA9IGZhbHNl
OworICAgIFt3ZWJWaWV3IF9zZXREaXNwbGF5Q2FwdHVyZVN0YXRlOldLRGlzcGxheUNhcHR1cmVT
dGF0ZUFjdGl2ZSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBjb21wbGV0aW9uQ2Fs
bGVkID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNvbXBs
ZXRpb25DYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0
YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFtv
YnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3Rp
dmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9
PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVNjcmVlbik7CisgICAgRVhQRUNUX1RSVUUoW29ic2Vy
dmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlU2Ny
ZWVuKTsKKworICAgIC8vIFN0b3AgYWxsIGNhcHR1cmUKKyAgICBbd2ViVmlldyBzdHJpbmdCeUV2
YWx1YXRpbmdKYXZhU2NyaXB0OkAic3RvcCgpIl07CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcg
X2Rpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU5vbmUpOworICAg
IEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3Bs
YXlDYXB0dXJlU3VyZmFjZU5vbmUpOworICAgIEVYUEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5
Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVOb25lKTsKKyAgICBFWFBFQ1Rf
VFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVy
ZVN1cmZhY2VOb25lKTsKIAogICAgIC8vIENoZWNrICJBbGxvdyBXaW5kb3ciCi0gICAgW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInN0b3AoKSJdOwogICAgIFtkZWxlZ2F0
ZSByZXNldFdhc1Byb21wdGVkXTsKICAgICBbd2ViVmlldyBfc2V0SW5kZXhPZkdldERpc3BsYXlN
ZWRpYURldmljZVNlbGVjdGVkRm9yVGVzdGluZzpAMF07CiAgICAgW2RlbGVnYXRlIHNldEdldERp
c3BsYXlNZWRpYURlY2lzaW9uOldLRGlzcGxheUNhcHR1cmVQZXJtaXNzaW9uRGVjaXNpb25XaW5k
b3dQcm9tcHRdOwpAQCAtMTA2LDkgKzIwNSwzOSBAQCBURVNUKFdlYktpdDIsIEdldERpc3BsYXlN
ZWRpYVdpbmRvd0FuZFNjcmVlblByb21wdCkKICAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBoYXZl
U3RyZWFtOllFU10pOwogICAgIGxhYmVsID0gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2
YVNjcmlwdDpAInN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLmxhYmVsIl07CiAgICAgRVhQRUNU
X1dLX1NUUkVRKGxhYmVsLCBAIk1vY2sgd2luZG93IGRldmljZSAxIik7CisgICAgRVhQRUNUX1RS
VUUoW29ic2VydmVyIHdhaXRGb3JEaXNwbGF5Q2FwdHVyZVN0YXRlOldLRGlzcGxheUNhcHR1cmVT
dGF0ZUFjdGl2ZV0pOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciB3YWl0Rm9yRGlzcGxheUNh
cHR1cmVTdXJmYWNlczpXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvd10pOworICAgIEVYUEVD
VF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJl
U3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN0
YXRlXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3RhdGVBY3RpdmUpOworICAgIEVYUEVDVF9UUlVFKFt3
ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN1cmZhY2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFj
ZVdpbmRvdyk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3VyZmFj
ZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93KTsKKworICAgIC8vIE11dGUgYW5k
IHVubXV0ZQorICAgIGNvbXBsZXRpb25DYWxsZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBfc2V0
RGlzcGxheUNhcHR1cmVTdGF0ZTpXS0Rpc3BsYXlDYXB0dXJlU3RhdGVNdXRlZCBjb21wbGV0aW9u
SGFuZGxlcjpeKCkgeworICAgICAgICBjb21wbGV0aW9uQ2FsbGVkID0gdHJ1ZTsKKyAgICB9XTsK
KyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmNvbXBsZXRpb25DYWxsZWQpOworICAgIEVY
UEVDVF9UUlVFKFt3ZWJWaWV3IF9kaXNwbGF5Q2FwdHVyZVN0YXRlXSA9PSBXS0Rpc3BsYXlDYXB0
dXJlU3RhdGVNdXRlZCk7CisgICAgRVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJl
U3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZU11dGVkKTsKKyAgICBFWFBFQ1RfVFJVRShb
d2ViVmlldyBfZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2FwdHVyZVN1cmZh
Y2VXaW5kb3cpOworICAgIEVYUEVDVF9UUlVFKFtvYnNlcnZlciBkaXNwbGF5Q2FwdHVyZVN1cmZh
Y2VzXSA9PSBXS0Rpc3BsYXlDYXB0dXJlU3VyZmFjZVdpbmRvdyk7CisKKyAgICBjb21wbGV0aW9u
Q2FsbGVkID0gZmFsc2U7CisgICAgW3dlYlZpZXcgX3NldERpc3BsYXlDYXB0dXJlU3RhdGU6V0tE
aXNwbGF5Q2FwdHVyZVN0YXRlQWN0aXZlIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAg
IGNvbXBsZXRpb25DYWxsZWQgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmY29tcGxldGlvbkNhbGxlZCk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rp
c3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNhcHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAg
RVhQRUNUX1RSVUUoW29ic2VydmVyIGRpc3BsYXlDYXB0dXJlU3RhdGVdID09IFdLRGlzcGxheUNh
cHR1cmVTdGF0ZUFjdGl2ZSk7CisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgX2Rpc3BsYXlDYXB0
dXJlU3VyZmFjZXNdID09IFdLRGlzcGxheUNhcHR1cmVTdXJmYWNlV2luZG93KTsKKyAgICBFWFBF
Q1RfVFJVRShbb2JzZXJ2ZXIgZGlzcGxheUNhcHR1cmVTdXJmYWNlc10gPT0gV0tEaXNwbGF5Q2Fw
dHVyZVN1cmZhY2VXaW5kb3cpOwogCiAgICAgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2
YVNjcmlwdDpAInN0b3AoKSJdOwogICAgIFt3ZWJWaWV3IF9zZXRJbmRleE9mR2V0RGlzcGxheU1l
ZGlhRGV2aWNlU2VsZWN0ZWRGb3JUZXN0aW5nOm5pbF07CisKKyAgICBbd2ViVmlldyByZW1vdmVP
YnNlcnZlcjpvYnNlcnZlci5nZXQoKSBmb3JLZXlQYXRoOkAiX2Rpc3BsYXlDYXB0dXJlU3VyZmFj
ZXMiXTsKKyAgICBbd2ViVmlldyByZW1vdmVPYnNlcnZlcjpvYnNlcnZlci5nZXQoKSBmb3JLZXlQ
YXRoOkAiX2Rpc3BsYXlDYXB0dXJlU3RhdGUiXTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1Rlc3RFeHBlY3Rh
dGlvbnMuanNvbiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9UZXN0RXhwZWN0YXRpb25zLmpz
b24KaW5kZXggMjYzNTA0MzAwNjRiLi40NmY1NWZlOTY5YjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvZ2xpYi9UZXN0RXhwZWN0YXRpb25zLmpzb24KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMuanNvbgpAQCAtNTAsNyArNTAsMTAgQEAKICAg
ICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiB7Imd0ayI6IHsic3RhdHVzIjogWyJUSU1FT1VUIl0s
ICJidWciOiAid2Via2l0Lm9yZy9iLzIwNTI2NiJ9fQogICAgICAgICAgICAgfSwKICAgICAgICAg
ICAgICIvd2Via2l0L1dlYktpdFdlYlZpZXcvZ2VvbG9jYXRpb24tcGVybWlzc2lvbi1yZXF1ZXN0
cyI6IHsKLSAgICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiB7Imd0ayI6IHsic3RhdHVzIjogWyJU
SU1FT1VUIiwgIlBBU1MiXSwgImJ1ZyI6ICJ3ZWJraXQub3JnL2IvMjEzNzg2In19CisgICAgICAg
ICAgICAgICAgImV4cGVjdGVkIjogeyJndGsiOiB7InN0YXR1cyI6IFsiVElNRU9VVCIsICJQQVNT
Il0sICJidWciOiAid2Via2l0Lm9yZy9iLzIzNTk1NSJ9fQorICAgICAgICAgICAgfSwKKyAgICAg
ICAgICAgICIvd2Via2l0L1dlYktpdFdlYlZpZXcvZGlzcGxheS11c2VybWVkaWEtcGVybWlzc2lv
bi1yZXF1ZXN0IjogeworICAgICAgICAgICAgICAgICJleHBlY3RlZCI6IHsiZ3RrIjogeyJzdGF0
dXMiOiBbIlRJTUVPVVQiLCAiRkFJTCJdLCAiYnVnIjogIndlYmtpdC5vcmcvYi8yMzU5NTUifX0K
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>