<?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>221020</bug_id>
          
          <creation_ts>2021-01-26 17:44:09 -0800</creation_ts>
          <short_desc>Add plumbing to allow AppHighlights to be stored.</short_desc>
          <delta_ts>2021-01-28 18:22:14 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1722795</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-26 17:44:09 -0800</bug_when>
    <thetext>Add plumbing to allow AppHighlights to be stored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722798</commentid>
    <comment_count>1</comment_count>
      <attachid>418494</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-26 18:02:16 -0800</bug_when>
    <thetext>Created attachment 418494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722799</commentid>
    <comment_count>2</comment_count>
      <attachid>418494</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-01-26 18:06:55 -0800</bug_when>
    <thetext>Comment on attachment 418494
Patch

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

&gt; Source/WebCore/Modules/highlight/AppHighlightStorage.cpp:212
&gt; +void AppHighlightStorage::createAndSendAppHighlightsStorage()

&quot;send&quot; is weird. Also, should this all really be called &quot;update&quot;? Does it get called whenever things change?

&gt; Source/WebCore/page/ChromeClient.h:306
&gt; +    virtual void didCreateHighlightsStorageData(Ref&lt;WebCore::SharedBuffer&gt;&amp;&amp;) const = 0;

Ditto all the way through wondering if &quot;didCreate&quot; is the right verb

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1406
&gt; +#if ENABLE(APP_HIGHLIGHT)

It&apos;s gotta be APP_HIGHLIGHT or APP_HIGHLIGHTS, can&apos;t be both. Did you test this?

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlightStorageDelegate.h:28
&gt; +@protocol _WKAppHighlightStorageDelegate &lt;NSObject&gt;

If you&apos;re going to add a new delegate, I would be /bold/ and drop the &quot;storage&quot;

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlightStorageDelegate.h:32
&gt; +- (void)_webView:(WKWebView *)webView didCreateHighlightsStorageData:(NSData *)data;

Ditto with the name

&gt; Source/WebKit/UIProcess/WebPageProxy.messages.in:539
&gt; +    DidCreateHighlightsStorageData(IPC::SharedBufferCopy data) // &lt;MMG&gt; SharedBufferDataReference instead??

&lt;MMG&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722825</commentid>
    <comment_count>3</comment_count>
      <attachid>418504</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-26 20:59:29 -0800</bug_when>
    <thetext>Created attachment 418504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723051</commentid>
    <comment_count>4</comment_count>
      <attachid>418558</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-27 10:24:45 -0800</bug_when>
    <thetext>Created attachment 418558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723076</commentid>
    <comment_count>5</comment_count>
      <attachid>418566</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-27 11:20:29 -0800</bug_when>
    <thetext>Created attachment 418566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723141</commentid>
    <comment_count>6</comment_count>
      <attachid>418566</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-27 14:28:02 -0800</bug_when>
    <thetext>Comment on attachment 418566
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:99
&gt; +    RetainPtr&lt;NSData&gt; nsData = imageBuffer-&gt;createNSData();

s/imageBuffer/data/ here? Also, do we need a .get() below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723160</commentid>
    <comment_count>7</comment_count>
      <attachid>418566</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-27 14:51:57 -0800</bug_when>
    <thetext>Comment on attachment 418566
Patch

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

&gt; Source/WebCore/Modules/highlight/AppHighlightStorage.cpp:228
&gt; +    m_document-&gt;page()-&gt;chrome().updateAppHighlightsStorage(listData.toSharedBuffer());

NIT: should we null-check `m_document-&gt;page()`?  I think currently it&apos;s assumed to exist since this is only called from `WebPage::createAppHighlightInSelectedRange` which also assumes `m_page`.  Is it possible for anything in the loop to disconnect the document?

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1954
&gt; +- (id &lt;_WKAppHighlightDelegate&gt;)_appHighlightsDelegate

Do we need an `#import` for this?  Also, should this be a private/internal `@property`?

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:1956
&gt; +    return _appHighlightsDelegate.getAutoreleased();

Do we need an `_appHighlightsDelegate` ivar?

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKAppHighlightStorageDelegate.h:28
&gt; +@protocol _WKAppHighlightDelegate &lt;NSObject&gt;

This should match the filename (or vice versa).

&gt;&gt; Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:99
&gt;&gt; +    RetainPtr&lt;NSData&gt; nsData = imageBuffer-&gt;createNSData();
&gt; 
&gt; s/imageBuffer/data/ here? Also, do we need a .get() below?

NIT: also `auto`?

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:1244
&gt; +    m_page.send(Messages::WebPageProxy::UpdateAppHighlightsStorage(data));

Should this be `WTFMove(data)`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723298</commentid>
    <comment_count>8</comment_count>
      <attachid>418621</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-27 22:37:13 -0800</bug_when>
    <thetext>Created attachment 418621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723306</commentid>
    <comment_count>9</comment_count>
      <attachid>418625</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-27 23:39:08 -0800</bug_when>
    <thetext>Created attachment 418625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723413</commentid>
    <comment_count>10</comment_count>
      <attachid>418654</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-28 10:30:37 -0800</bug_when>
    <thetext>Created attachment 418654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723555</commentid>
    <comment_count>11</comment_count>
      <attachid>418654</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-01-28 17:07:45 -0800</bug_when>
    <thetext>Comment on attachment 418654
Patch

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

r=me

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:9924
&gt; +    pageClient().updateAppHighlightsStorage(*data.buffer());

NIT: should we check `data.buffer()` before dereferencing it (especially since it&apos;s a message from the WebProcess)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723560</commentid>
    <comment_count>12</comment_count>
      <attachid>418654</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 17:20:44 -0800</bug_when>
    <thetext>Comment on attachment 418654
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:9924
&gt;&gt; +    pageClient().updateAppHighlightsStorage(*data.buffer());
&gt; 
&gt; NIT: should we check `data.buffer()` before dereferencing it (especially since it&apos;s a message from the WebProcess)?

Indeed, you likely want a MESSAGE_CHECK(data.buffer()); at the beginning of this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723564</commentid>
    <comment_count>13</comment_count>
      <attachid>418686</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-01-28 17:40:24 -0800</bug_when>
    <thetext>Created attachment 418686
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723571</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-28 18:21:42 -0800</bug_when>
    <thetext>Committed r272042: &lt;https://trac.webkit.org/changeset/272042&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418686.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723572</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-28 18:22:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/73734447&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418494</attachid>
            <date>2021-01-26 18:02:16 -0800</date>
            <delta_ts>2021-01-26 20:59:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221020-20210126180216.patch</filename>
            <type>text/plain</type>
            <size>22596</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uNDQ5ZjBkMDVlOWRjNGJjMjY2MGMwYTIxNzZjNWVi
ZjA3ZmJkZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRMaXN0
RGF0YTo6dG9TaGFyZWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxp
Z2h0TGlzdERhdGE6OnRvRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIx
LTAxLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcwODc0KTogU29tZSBSZWFjdCBOYXRpdmUgYXBwcyBhcmUgcmVwb3J0
ZWQgYnJva2VuIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTc2NzI2OGEzMTYxMmJmZjY1MGEzNWU3Y2Zi
MmMzZjFlOGZiYzEwLi4yMWM2MmUxYjY4MWEwZGJlNGYzMzFjOWI4ZGJiNTVhNGUzMmYyMmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFw
cEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGE6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZV0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcEhpZ2hsaWdodHNTdG9yYWdlRGVsZWdhdGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUhpZ2hs
aWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZSk6CisKIDIwMjEtMDEtMjUgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNzA4NzQpOiBTb21lIFJlYWN0IE5hdGl2ZSBhcHBzIGFyZSByZXBvcnRlZCBicm9rZW4gb24g
aU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRMaXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHAKaW5kZXggNzkyOGJkYjlkYjAwOThiZTI5ZTBkOTA4YzE5ZDVk
NzIzYjlmYTliYi4uYjU0ZDU5YmIzNWRkYTE0YzZjZmRkOGI3ZmRlNDQ4NjA1ZjQwYjk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlz
dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcApAQCAtNDksNyArNDksNyBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBB
cHBIaWdobGlnaHRMaXN0RGF0YTo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQog
ICAgIHJldHVybiBkYXRhID8gKmRhdGEgOiBBcHBIaWdobGlnaHRMaXN0RGF0YSB7eyB9fTsKIH0K
IAotUmVmPFNoYXJlZEJ1ZmZlcj4gQXBwSGlnaGxpZ2h0TGlzdERhdGE6OnRvRGF0YSgpIGNvbnN0
CitSZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9TaGFyZWRCdWZmZXIo
KSBjb25zdAogewogICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKICAgICBl
bmNvZGVyIDw8ICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmgKaW5kZXggZjg4Mzk2ZjMxNDM2ZGE0N2Q5ZTVm
ODQ2NTNjNWFkN2U4MmE4NTNmNS4uNTEzYjIxNGRiOTc4OTIwOTQ0Y2RkYjFmYjBlYTE2NWQ3ZGE2
Y2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9B
cHBIaWdobGlnaHRMaXN0RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmFuZ2VzKFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1f
YW5ub3RhdGlvblJhbmdlcyA9IFdURk1vdmUocmFuZ2VzKTsgfQogICAgIHZvaWQgYWRkUmFuZ2Vz
KFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1fYW5ub3RhdGlvblJh
bmdlcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShyYW5nZXMpKTsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgUmVmPFNoYXJlZEJ1ZmZlcj4gdG9EYXRhKCkgY29uc3Q7CisgICAgUmVmPFNoYXJlZEJ1ZmZl
cj4gdG9TaGFyZWRCdWZmZXIoKSBjb25zdDsKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLnNpemUoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5ub3RhdGlvblJhbmdlcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5j
cHAKaW5kZXggNjRlZWY3ZDJhMGViNWY3NmVmMjM0OWZhMjZmYzYxYWI0ZjUyOTBiMC4uNWY3ODg5
YTM3ODNiZmVmZmJmMWQ3YmQ3OGIxNWRkMWI5ODdjYjUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKQEAg
LTIwOSwxMiArMjA5LDEyIEBAIEFwcEhpZ2hsaWdodFN0b3JhZ2U6OkFwcEhpZ2hsaWdodFN0b3Jh
Z2UoRG9jdW1lbnQmIGRvY3VtZW50KQogewogfQogCi1BcHBIaWdobGlnaHRMaXN0RGF0YSBBcHBI
aWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0YSgpCit2b2lkIEFwcEhp
Z2hsaWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSgpCiB7CiAg
ICAgVmVjdG9yPEFwcEhpZ2hsaWdodFJhbmdlRGF0YT4gZGF0YTsKIAogICAgIGlmICghbV9kb2N1
bWVudCkKLSAgICAgICAgcmV0dXJuIHsgV1RGTW92ZShkYXRhKSB9OworICAgICAgICByZXR1cm47
CiAKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9IG1fZG9jdW1lbnQtPmFwcEhp
Z2hsaWdodFJlZ2lzdGVySWZFeGlzdHMoKSkgewogICAgICAgICBmb3IgKGF1dG8mIGhpZ2hsaWdo
dCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkgewpAQCAtMjIzLDcgKzIyMyw3IEBAIEFw
cEhpZ2hsaWdodExpc3REYXRhIEFwcEhpZ2hsaWdodFN0b3JhZ2U6OmNyZWF0ZUFwcEhpZ2hsaWdo
dExpc3REYXRhKCkKICAgICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiB7IFdURk1vdmUoZGF0
YSkgfTsKKyAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgpLmRpZENyZWF0ZUhpZ2hsaWdo
dHNTdG9yYWdlRGF0YShkYXRhLT50b1NoYXJlZEJ1ZmZlcigpKTsKIH0KIAogVmVjdG9yPEFwcEhp
Z2hsaWdodFJhbmdlRGF0YT4gQXBwSGlnaGxpZ2h0U3RvcmFnZTo6cmVzdG9yZUFwcEhpZ2hsaWdo
dHMoUmVmPFNoYXJlZEJ1ZmZlcj4mJiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCA5OWNhNmExM2MwMGRkZGY3ZDBjZGY5NWZlYWEyMDEyNTJhYjk3OTY0Li5lYTQ2NTUwNzU4OGUz
YWY5YmIyZDMzNTM1ODNkNzQyOTUyYmQ1OGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTI2Miw3ICsyNjIsNiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KIAogI2lm
IEVOQUJMRShBUFBfSElHSExJR0hUUykKLSNpbmNsdWRlICJBcHBIaWdobGlnaHRMaXN0RGF0YS5o
IgogI2luY2x1ZGUgIkFwcEhpZ2hsaWdodFN0b3JhZ2UuaCIKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZS5jcHAKaW5kZXggYjcxMGU3MTVhNjZkY2FjNTY3NDJkYjZiYmVhNzQxZDZmODYzNDJiMy4u
YzcyMjFmYjU3MTE4NjIyOTY0ZTU2MmYzZWJhMzg1MjA2NjE1OGQ2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmNwcApAQCAtNTE1LDYgKzUxNSwxMyBAQCB2b2lkIENocm9tZTo6ZGlzcGF0Y2hWaWV3cG9y
dFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZQogICAg
IG1fY2xpZW50LmRpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKGFyZ3VtZW50cyk7
CiB9CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIENocm9tZTo6ZGlkQ3JlYXRl
SGlnaGxpZ2h0c1N0b3JhZ2VEYXRhKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkg
Y29uc3QKK3sKKyAgICBtX2NsaWVudC5kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEoZGF0
YSk7Cit9CisjZW5kaWYKKwogdm9pZCBDaHJvbWU6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1
cnNvcikKIHsKICAgICBtX2NsaWVudC5zZXRDdXJzb3IoY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
CmluZGV4IGE4OWRkMWExZDg2NWU1MzI4ZWIwNTA1NzY1NDBkM2YyMzJhM2NmYzAuLjk4MGIyYjhj
ZTZiZDMzYjg2MTU1YjY5ODZhMmQ2ZjNiNjZlMWU3ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAt
MTY0LDYgKzE2NCwxMCBAQCBwdWJsaWM6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1lQ2hv
b3Nlcj4gY3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCYpOwogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCBkaWRDcmVhdGVIaWdo
bGlnaHRzU3RvcmFnZURhdGEoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJik7CisjZW5kaWYK
KwogICAgIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lJiwgRmlsZUNob29zZXImKTsKICAgICB2b2lk
IHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIHNob3dDb250YWN0UGlja2VyKGNvbnN0IENvbnRh
Y3RzUmVxdWVzdERhdGEmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxD
b250YWN0SW5mbz4+JiYpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDVm
ZDRiNjUxYWRiOWM4NDcxZTEwMjY1YmQ5N2NmYjgwYjcyNzc5NjIuLmE3NTkzODhmYjM4ZjZiNzlj
OWQyNzgyNGFmMWMzMGNjMjIxYzgzYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApA
QCAtMzAyLDYgKzMwMiwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8
RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVEYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xp
ZW50JikgPSAwOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YShSZWY8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiYmKSBjb25zdCA9IDA7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCBydW5P
cGVuUGFuZWwoRnJhbWUmLCBGaWxlQ2hvb3NlciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2hv
d1NoYXJlU2hlZXQoU2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIFdURjo6Q29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjYWxsYmFjaykgeyBjYWxsYmFjayhmYWxzZSk7IH0KICAgICB2aXJ0
dWFsIHZvaWQgc2hvd0NvbnRhY3RQaWNrZXIoY29uc3QgQ29udGFjdHNSZXF1ZXN0RGF0YSYsIFdU
Rjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxWZWN0b3I8Q29udGFjdEluZm8+PiYm
KT4mJiBjYWxsYmFjaykgeyBjYWxsYmFjayhXVEY6Om51bGxvcHQpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAxN2M2YmU5MWEyNDli
ZDQxNzcwMTE0NGZlMzIzYWY1NGRjMjZmOTM1Li5mOTg1MWQ4Y2NjODllZTMzYzU2NGY1NjM1YzJh
MTIxYjUwY2RmNGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTE0MDMsNiArMTQwMywxNCBAQCAtICh2b2lkKV9kaWRJbnZhbGlkYXRl
RGF0YUZvckF0dGFjaG1lbnQ6KEFQSTo6QXR0YWNobWVudCYpYXR0YWNobWVudAogCiAjZW5kaWYg
Ly8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hU
KQorLSAodm9pZClfZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhOihOU0RhdGEgKilkYXRh
Cit7CisgICAgaWYgKFtfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YTop
XSkKKyAgICAgICAgW19hcHBIaWdobGlnaHRzU3RvcmFnZURlbGVnYXRlIF93ZWJWaWV3OnNlbGYg
ZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhOmRhdGFdOworfQorI2VuZGlmCisKIC0gKFdL
UGFnZVJlZilfcGFnZUZvclRlc3RpbmcKIHsKICAgICByZXR1cm4gdG9BUEkoX3BhZ2UuZ2V0KCkp
OwpAQCAtMTk1MCw2ICsxOTU4LDE4IEBAIC0gKHZvaWQpX3NldEhpc3RvcnlEZWxlZ2F0ZTooaWQg
PFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZT4paGlzdG9yeURlbGVnYXRlCiAgICAgX25hdmlnYXRp
b25TdGF0ZS0+c2V0SGlzdG9yeURlbGVnYXRlKGhpc3RvcnlEZWxlZ2F0ZSk7CiB9CiAKKyNpZiBF
TkFCTEUoQVBQX0hJR0hMSUdIVFMpCistIChpZCA8X1dLQXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVn
YXRlPilfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZQoreworICAgIHJldHVybiBfYXBwSGln
aGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKK30KKworLSAodm9pZClf
c2V0QXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZTooaWQgPF9XS0FwcEhpZ2hsaWdodFN0b3Jh
Z2VEZWxlZ2F0ZT4pZGVsZWdhdGUKK3sKKyAgICBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0
ZSA9IGRlbGVnYXRlOworfQorI2VuZGlmCisKIC0gKHZvaWQpX3VwZGF0ZU1lZGlhUGxheWJhY2tD
b250cm9sc01hbmFnZXIKIHsKICNpZiBIQVZFKFRPVUNIX0JBUikgJiYgRU5BQkxFKFdFQl9QTEFZ
QkFDS19DT05UUk9MU19NQU5BR0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBhNzg2YzdhNjQ4MjY0ZWYwMmNj
NmM2NzYxMzRkMjE1YjhhYzRhM2I0Li45YmJlZWFlNDgxODc2NmI5YWUwMjZkMWFkZGYyN2VjY2M5
Y2Q0YWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtMjU4LDYgKzI1OCwxMCBAQCBjbGFzcyBWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI7CiAtICh2b2lkKV9kaWRJbnZhbGlkYXRlRGF0YUZvckF0dGFjaG1lbnQ6KEFQ
STo6QXR0YWNobWVudCYpYXR0YWNobWVudDsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdI
TElHSFRTKQorLSAodm9pZClfZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhOihOU0RhdGEg
KilkYXRhOworI2VuZGlmCisKIC0gKHZvaWQpX2ludGVybmFsRG9BZnRlck5leHRQcmVzZW50YXRp
b25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrIHdpdGhvdXRXYWl0aW5nRm9yUGFp
bnRpbmc6KEJPT0wpd2l0aG91dFdhaXRpbmdGb3JQYWludGluZyB3aXRob3V0V2FpdGluZ0ZvckFu
aW1hdGVkUmVzaXplOihCT09MKXdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU7CiAKIC0g
KHZvaWQpX3Nob3dTYWZlQnJvd3NpbmdXYXJuaW5nOihjb25zdCBXZWJLaXQ6OlNhZmVCcm93c2lu
Z1dhcm5pbmcmKXdhcm5pbmcgY29tcGxldGlvbkhhbmRsZXI6KENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoVmFyaWFudDxXZWJLaXQ6OkNvbnRpbnVlVW5zYWZlTG9hZCwgVVJMPiYmKT4mJiljb21wbGV0
aW9uSGFuZGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NmIzM2Y5NzJhNTU0YTA0ZTg2NzA3MWUyZTI0N2RjOTRhNjcyNjA3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodFN0
b3JhZ2VEZWxlZ2F0ZS5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxG
b3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworQHByb3RvY29sIF9XS0FwcEhpZ2hsaWdodFN0b3Jh
Z2VEZWxlZ2F0ZSA8TlNPYmplY3Q+CisKK0BvcHRpb25hbAorCistICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YTooTlNEYXRh
ICopZGF0YTsKKworQGVuZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCA4MDYxYmZiZDQ2MmFmMGQ1MWRhODZjZjRm
OTUyNWY3YTdiZTNhMjlmLi4wNDY2OTMyMTlkZTg1ZGNlZTI1NDIwMjBjYjgzM2RhY2YwYTU1YWM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1w
bENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJ
bXBsQ29jb2EubW0KQEAgLTkzLDYgKzkzLDE0IEBAIE5TU2V0ICpQYWdlQ2xpZW50SW1wbENvY29h
OjpzZXJpYWxpemFibGVGaWxlV3JhcHBlckNsYXNzZXMoKSBjb25zdAogCiAjZW5kaWYKIAorI2lm
IEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlkQ3Jl
YXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0
YSkKK3sKKyAgICBSZXRhaW5QdHI8TlNEYXRhPiBuc0RhdGEgPSBpbWFnZUJ1ZmZlci0+Y3JlYXRl
TlNEYXRhKCk7CisgICAgW21fd2ViVmlldyBfZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRh
Om5zRGF0YV07Cit9CisjZW5kaWYgLy8gRU5BQkxFKEFQUF9ISUdITElHSFRTKQorCiB2b2lkIFBh
Z2VDbGllbnRJbXBsQ29jb2E6OnBhZ2VDbG9zZWQoKQogewogICAgIG1fYWx0ZXJuYXRpdmVUZXh0
VUlDb250cm9sbGVyLT5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmlu
ZGV4IGU4ZDI3YzJhMTNhMzQwYTFmNzg1ZTA4YTZlYmYzMjUyZjljNTJmNTguLjA1ZTIzMzI1Y2I4
YTBiMTBiMmFlMzhlNzEyNmFmMmNjZGE4ZjliOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKQEAgLTU1NCw2ICs1NTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlSGln
aGxpZ2h0c1N0b3JhZ2VEYXRhKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkgPSAw
OworI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
UG9pbnRlcnNGb3JHZXN0dXJlUmVjb2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CiAg
ICAgdmlydHVhbCBXVEY6Ok9wdGlvbmFsPHVuc2lnbmVkPiBhY3RpdmVUb3VjaElkZW50aWZpZXJG
b3JHZXN0dXJlUmVjb2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyByZXR1cm4gV1RGOjpu
dWxsb3B0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBl
NDkzOWU2NzRkZDRmYjMxMzM2MTM5MzM5YjRjNWJjOTI5MTM3YzdhLi40ZGJmM2YxN2VlYjgzNDY0
OTQ4MjkzNmJkNTZhMDY2NDUxNjZjM2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTk5MTgsNiArOTkxOCwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0
QXBwbGljYXRpb25NYW5pZmVzdChGdW5jdGlvbjx2b2lkKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6
OgogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhKGNvbnN0IElQQzo6U2hhcmVkQnVm
ZmVyQ29weSYgZGF0YSkKK3sKKyAgICBwYWdlQ2xpZW50KCkuZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0
b3JhZ2VEYXRhKGRhdGEpOworfQorI2VuZGlmCisKIG5hbWVzcGFjZSB7CiBlbnVtIGNsYXNzIENv
bXBsZXRpb25Db25kaXRpb24gewogICAgIENhbmNlbGxhdGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDZmZDIwMjk0ODQyMGI2YWI3NDM4MTE5MDEzZDk5NmJj
MjdmODk1Yy4uZjE4NDBhZmNmYjFhNjcyYWZhMjQ3NDUyM2U4MTVhYjQwZWM1NTcwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTIzMTYsNiArMjMxNiwxMCBAQCBw
cml2YXRlOgogICAgIHZvaWQgd3JpdGVQcm9taXNlZEF0dGFjaG1lbnRUb1Bhc3RlYm9hcmQoV2Vi
Q29yZTo6UHJvbWlzZWRBdHRhY2htZW50SW5mbyYmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQ
UF9ISUdITElHSFRTKQorICAgIHZvaWQgZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhKGNv
bnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYpOworI2VuZGlmCisKICAgICB2b2lkIHJlcG9ydFBh
Z2VMb2FkUmVzdWx0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImID0geyB9KTsKIAogICAg
IHZvaWQgY29udGludWVOYXZpZ2F0aW9uSW5OZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYsIHN0
ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+JiYsIFJlZjxXZWJQcm9jZXNzUHJveHk+
JiYsIFByb2Nlc3NTd2FwUmVxdWVzdGVkQnlDbGllbnQsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xp
Y2llcz4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggZmQwMWQ1NTNjYzRlYTBkNTNmODY0OTM0MGY0Y2NjMWFiZmE1NzVmNy4u
YzYwNzdkZDkxZmZkYTkxOWYxMzYyYmQ1ZDdlZTU3NjJhZDBiZjkxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTM1LDYgKzUz
NSwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFdyaXRlUHJvbWlzZWRBdHRh
Y2htZW50VG9QYXN0ZWJvYXJkKHN0cnVjdCBXZWJDb3JlOjpQcm9taXNlZEF0dGFjaG1lbnRJbmZv
IGluZm8pCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICBEaWRDcmVh
dGVIaWdobGlnaHRzU3RvcmFnZURhdGEoSVBDOjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEpIC8vIDxN
TUc+IFNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UgaW5zdGVhZD8/CisjZW5kaWYKKwogICAgIFNp
Z25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyh1bnNpZ25lZCBrZXlTaXplSW5kZXgsIFN0
cmluZyBjaGFsbGVuZ2VTdHJpbmcsIFVSTCB1cmwpIC0+IChTdHJpbmcgcmVzdWx0KSBTeW5jaHJv
bm91cwogCiAjaWYgRU5BQkxFKFNQRUVDSF9TWU5USEVTSVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmYTAzZGM4NTE0MDAzODU4MjYx
NzUzZGVjY2Y5NTc3N2ExYWJjZWExLi40YTlkNGJhNzlmNjljNjYyYjJlYTYyOWViYzU5MzJiYmMx
ZWRiY2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTk0NCw2ICs5NDQsNyBAQAogCQk0NDMwRDAxNzI1NzZEOUREMDA0NkQ0MDEgLyog
Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzBEMDE2MjU3NkQ5REMwMDQ2RDQwMSAvKiBDcmVhdGVOZXdH
cm91cEZvckhpZ2hsaWdodC5oICovOyB9OwogCQk0NDU5OTg0MjIyODMzRTg3MDBFNjEzNzMgLyog
U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NDU5OTg0MTIyODMzRTYwMDBFNjEzNzMgLyogU3ludGhldGlj
RWRpdGluZ0NvbW1hbmRUeXBlLmggKi87IH07CiAJCTQ0NkRDNjRDMjRBMkQ4RTUwMDYxRjM5MCAv
KiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ2REM2NEIyNEEyRDhBRDAwNjFGMzkwIC8qIFBs
YXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmggKi87IH07CisJCTQ0NzZFRjA5MjVCRkM4
QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NzZFRjA4MjVCRkM4QjcwMDRB
MDU4NyAvKiBfV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDgyNzM0NzI0NTI4RjYwMDBBOTU0
OTMgLyogQ29jb2FJbWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkzIC8qIENvY29hSW1hZ2UuaCAqLzsgfTsK
IAkJNDQ5RDkwREEyMUZEQzMwQjAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGlu
ay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OUQ5
MEQ4MjFGRDYzRkUwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsubW0gKi87
IH07CiAJCTQ0RTkzNkZEMjQ0N0MyRDgwMDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElE
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEU5MzZG
QzI0NDdDMjU2MDA5RkEzRTMgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xJRC5oICovOyB9OwpAQCAt
Mzc3NSw2ICszNzc2LDcgQEAKIAkJNDQ1MEFFQkYxREMzRkFFNTAwOTk0M0YyIC8qIFNoYXJlZE1l
bW9yeUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJl
ZE1lbW9yeUNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ1OTk4NDEy
MjgzM0U2MDAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQ2REM2NEIyNEEyRDhBRDAwNjFGMzkwIC8qIFBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXli
YWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVs
ZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0
U3RvcmFnZURlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0ODI3MzQ2
MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENvY29hSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ5
RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQXV0aGVudGljYXRp
b25Tb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBNDgxQzYyMUYy
RDI3QjAwRjJGOTE5IC8qIENsaWVudENlcnRpZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFu
dHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlv
blhQQ0NvbnN0YW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjY5LDYg
Kzc2NzEsNyBAQAogCQkJCTM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRF
bGVtZW50SW5mby5oICovLAogCQkJCTM3QTVFMDExMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mby5tbSAqLywKIAkJCQkzNzlBODczNTE4QkJGQTQzMDA1ODhBRjIgLyog
X1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oICovLAorCQkJCTQ0NzZFRjA4MjVCRkM4
QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUuaCAqLywKIAkJCQk2
MzEwOEY5NDFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oICovLAog
CQkJCTYzMTA4Rjk1MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1t
ICovLAogCQkJCTYzMTA4Rjk4MUY5NjcxRjcwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlm
ZXN0SW50ZXJuYWwuaCAqLywKQEAgLTExMjc3LDYgKzExMjgwLDcgQEAKIAkJCWZpbGVzID0gKAog
CQkJCTM3QTVFMDE0MThCQkY5M0YwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5QTg3MzYxOEJCRkE0MzAwNTg4QUYyIC8qIF9XS0FjdGl2
YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0NzZFRjA5MjVC
RkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTYzMTA4Rjk2MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1h
bmlmZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2MzEwOEY5OTFGOTY3MUY3MDBBMERCODQgLyog
X1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDQy
OTE5MjFGQTU5MUM5MDAyQ0M5M0UgLyogX1dLQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGZlYzBmZWVmZDU1M2Q2ZWMyMmM0ZDhjZGRmOWE4ZWM3
ZmUxOGZkZGIuLmRlZjgyMjYwMzg1YjMxMzkyZDQxNTU4N2FlNWMyY2ZlOTBmZGI4MWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMjM4LDYgKzEyMzgsMTMgQEAgYm9vbCBXZWJDaHJvbWVD
bGllbnQ6OnVud3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXks
IFZlY3RvcjwKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIFdl
YkNocm9tZUNsaWVudDo6ZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhKFJlZjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkKK3sKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEoZGF0YSkpOworfQorI2Vu
ZGlmCisKIFN0cmluZyBXZWJDaHJvbWVDbGllbnQ6OnNpZ25lZFB1YmxpY0tleUFuZENoYWxsZW5n
ZVN0cmluZyh1bnNpZ25lZCBrZXlTaXplSW5kZXgsIGNvbnN0IFN0cmluZyYgY2hhbGxlbmdlU3Ry
aW5nLCBjb25zdCBVUkwmIHVybCkgY29uc3QKIHsKICAgICBTdHJpbmcgcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCmluZGV4IDA1ODIyYjk5N2JhODQxNTA5M2E2M2ZkMTVmNTQzOGM5Njk0ZWZlOWIu
LmY3YjIxZjI2OTQzYmY0MWIwNTA4NTcxNjI5N2Y3OTgzNjUwN2E2MjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTM0NSw2ICszNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGlzUGxheWluZ01l
ZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWlu
dDY0X3QpIGZpbmFsOwogICAgIHZvaWQgaGFuZGxlQXV0b3BsYXlFdmVudChXZWJDb3JlOjpBdXRv
cGxheUV2ZW50LCBPcHRpb25TZXQ8V2ViQ29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPikgZmluYWw7
CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCBkaWRDcmVhdGVIaWdobGln
aHRzU3RvcmFnZURhdGEoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3QgZmluYWw7
CisjZW5kaWYKKwogI2lmIEVOQUJMRShXRUJfQ1JZUFRPKQogICAgIGJvb2wgd3JhcENyeXB0b0tl
eShjb25zdCBWZWN0b3I8dWludDhfdD4mLCBWZWN0b3I8dWludDhfdD4mKSBjb25zdCBmaW5hbDsK
ICAgICBib29sIHVud3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4mLCBWZWN0b3I8
dWludDhfdD4mKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggOWU1MDkxMDQ0NzU5YWQwN2IwZGI3Yzc4Nzc3N2RjZWQ3ODUw
N2ZkNC4uMzRjYjBhMzgxZDY0NTdjZmUzNWI1ZTdmN2UzOWZhNGM1NDUzYTdhNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTcxNTYsNiArNzE1
Niw3IEBAIGJvb2wgV2ViUGFnZTo6Y3JlYXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKENy
ZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0IGNyZWF0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIGRvY3VtZW50LT5hcHBIaWdobGlnaHRSZWdpc3RlcigpLmFkZEFwcEhpZ2hsaWdodChTdGF0
aWNSYW5nZTo6Y3JlYXRlKHNlbGVjdGlvblJhbmdlLnZhbHVlKCkpKTsKKyAgICBkb2N1bWVudC0+
YXBwSGlnaGxpZ2h0U3RvcmFnZSgpLmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRTdG9yYWdlKCk7
CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418504</attachid>
            <date>2021-01-26 20:59:29 -0800</date>
            <delta_ts>2021-01-27 10:24:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221020-20210126205929.patch</filename>
            <type>text/plain</type>
            <size>24793</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uNDQ5ZjBkMDVlOWRjNGJjMjY2MGMwYTIxNzZjNWVi
ZjA3ZmJkZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRMaXN0
RGF0YTo6dG9TaGFyZWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxp
Z2h0TGlzdERhdGE6OnRvRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIx
LTAxLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcwODc0KTogU29tZSBSZWFjdCBOYXRpdmUgYXBwcyBhcmUgcmVwb3J0
ZWQgYnJva2VuIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTc2NzI2OGEzMTYxMmJmZjY1MGEzNWU3Y2Zi
MmMzZjFlOGZiYzEwLi4yMWM2MmUxYjY4MWEwZGJlNGYzMzFjOWI4ZGJiNTVhNGUzMmYyMmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFw
cEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGE6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZV0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcEhpZ2hsaWdodHNTdG9yYWdlRGVsZWdhdGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUhpZ2hs
aWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZSk6CisKIDIwMjEtMDEtMjUgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNzA4NzQpOiBTb21lIFJlYWN0IE5hdGl2ZSBhcHBzIGFyZSByZXBvcnRlZCBicm9rZW4gb24g
aU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRMaXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHAKaW5kZXggNzkyOGJkYjlkYjAwOThiZTI5ZTBkOTA4YzE5ZDVk
NzIzYjlmYTliYi4uYjU0ZDU5YmIzNWRkYTE0YzZjZmRkOGI3ZmRlNDQ4NjA1ZjQwYjk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlz
dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcApAQCAtNDksNyArNDksNyBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBB
cHBIaWdobGlnaHRMaXN0RGF0YTo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQog
ICAgIHJldHVybiBkYXRhID8gKmRhdGEgOiBBcHBIaWdobGlnaHRMaXN0RGF0YSB7eyB9fTsKIH0K
IAotUmVmPFNoYXJlZEJ1ZmZlcj4gQXBwSGlnaGxpZ2h0TGlzdERhdGE6OnRvRGF0YSgpIGNvbnN0
CitSZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9TaGFyZWRCdWZmZXIo
KSBjb25zdAogewogICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKICAgICBl
bmNvZGVyIDw8ICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmgKaW5kZXggZjg4Mzk2ZjMxNDM2ZGE0N2Q5ZTVm
ODQ2NTNjNWFkN2U4MmE4NTNmNS4uNTEzYjIxNGRiOTc4OTIwOTQ0Y2RkYjFmYjBlYTE2NWQ3ZGE2
Y2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9B
cHBIaWdobGlnaHRMaXN0RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmFuZ2VzKFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1f
YW5ub3RhdGlvblJhbmdlcyA9IFdURk1vdmUocmFuZ2VzKTsgfQogICAgIHZvaWQgYWRkUmFuZ2Vz
KFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1fYW5ub3RhdGlvblJh
bmdlcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShyYW5nZXMpKTsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgUmVmPFNoYXJlZEJ1ZmZlcj4gdG9EYXRhKCkgY29uc3Q7CisgICAgUmVmPFNoYXJlZEJ1ZmZl
cj4gdG9TaGFyZWRCdWZmZXIoKSBjb25zdDsKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLnNpemUoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5ub3RhdGlvblJhbmdlcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5j
cHAKaW5kZXggNjRlZWY3ZDJhMGViNWY3NmVmMjM0OWZhMjZmYzYxYWI0ZjUyOTBiMC4uZDM2NjU4
NzNhODU2NGE2N2ZlZjlkNjg4MTcwNzExZmU0ZTFiMjRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAKICNpbmNs
dWRlICJBcHBIaWdobGlnaHRMaXN0RGF0YS5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0yMDksMTIgKzIxMCwxMiBAQCBBcHBIaWdo
bGlnaHRTdG9yYWdlOjpBcHBIaWdobGlnaHRTdG9yYWdlKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
IH0KIAotQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBw
SGlnaGxpZ2h0TGlzdERhdGEoKQordm9pZCBBcHBIaWdobGlnaHRTdG9yYWdlOjp1cGRhdGVBbmRT
dG9yZUFwcEhpZ2hsaWdodHNTdG9yYWdlKCkKIHsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFu
Z2VEYXRhPiBkYXRhOwogCiAgICAgaWYgKCFtX2RvY3VtZW50KQotICAgICAgICByZXR1cm4geyBX
VEZNb3ZlKGRhdGEpIH07CisgICAgICAgIHJldHVybjsKIAogICAgIGlmIChhdXRvIGFwcEhpZ2hs
aWdodFJlZ2lzdGVyID0gbV9kb2N1bWVudC0+YXBwSGlnaGxpZ2h0UmVnaXN0ZXJJZkV4aXN0cygp
KSB7CiAgICAgICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogYXBwSGlnaGxpZ2h0UmVnaXN0ZXIt
Pm1hcCgpKSB7CkBAIC0yMjIsOCArMjIzLDkgQEAgQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGln
aGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBwSGlnaGxpZ2h0TGlzdERhdGEoKQogICAgICAgICAgICAg
ICAgIGRhdGEuYXBwZW5kKGNyZWF0ZUFwcEhpZ2hsaWdodFJhbmdlRGF0YShyYW5nZURhdGEtPnJh
bmdlKSk7CiAgICAgICAgIH0KICAgICB9CisgICAgQXBwSGlnaGxpZ2h0TGlzdERhdGEgbGlzdERh
dGEgeyBXVEZNb3ZlKGRhdGEpIH07CiAKLSAgICByZXR1cm4geyBXVEZNb3ZlKGRhdGEpIH07Cisg
ICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS51cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFn
ZShsaXN0RGF0YS50b1NoYXJlZEJ1ZmZlcigpKTsKIH0KIAogVmVjdG9yPEFwcEhpZ2hsaWdodFJh
bmdlRGF0YT4gQXBwSGlnaGxpZ2h0U3RvcmFnZTo6cmVzdG9yZUFwcEhpZ2hsaWdodHMoUmVmPFNo
YXJlZEJ1ZmZlcj4mJiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmgKaW5kZXggZGIxNDk0ZmVhMjk3ZDI3OWI4
MWJkNWQxMDMxM2E4ZTFjYWZkYTQ1Mi4uNjEwZDA0MjVjM2NhNDAxNDlhODQ3YzM5MDJkMmQxYjBk
MTNjY2MzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBw
SGlnaGxpZ2h0U3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0
L0FwcEhpZ2hsaWdodFN0b3JhZ2UuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBBcHBIaWdobGln
aHRTdG9yYWdlIDogUmVmQ291bnRlZDxBcHBIaWdobGlnaHRTdG9yYWdlPiB7CiBwdWJsaWM6CiAg
ICAgQXBwSGlnaGxpZ2h0U3RvcmFnZShEb2N1bWVudCYpOwogCi0gICAgQXBwSGlnaGxpZ2h0TGlz
dERhdGEgY3JlYXRlQXBwSGlnaGxpZ2h0TGlzdERhdGEoKTsKKyAgICB2b2lkIHVwZGF0ZUFuZFN0
b3JlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoKTsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFuZ2VE
YXRhPiByZXN0b3JlQXBwSGlnaGxpZ2h0cyhSZWY8U2hhcmVkQnVmZmVyPiYmKTsKIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDk5Y2E2YTEzYzAwZGRkZjdkMGNkZjk1ZmVh
YTIwMTI1MmFiOTc5NjQuLmVhNDY1NTA3NTg4ZTNhZjliYjJkMzM1MzU4M2Q3NDI5NTJiZDU4ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjYyLDcgKzI2Miw2IEBACiAjaW5jbHVkZSA8
d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotI2lu
Y2x1ZGUgIkFwcEhpZ2hsaWdodExpc3REYXRhLmgiCiAjaW5jbHVkZSAiQXBwSGlnaGxpZ2h0U3Rv
cmFnZS5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5k
ZXggYTVjMjQ2OWI0Nzc3ZTY0MWZlN2MxZjdjNDI4NjQxZjdjZmY5MTY0ZS4uM2UyNWQyMDgxY2Qw
ZDBhZjUzMmFjNWY4NzZkZWU2OGQ1MjkwOGNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKQEAgLTUwMSw2ICs1MDEsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1l
Q2hvb3Nlcj4gRW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZURhdGVUaW1lQ2hvb3NlcihEYXRlVGkK
IAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIEVtcHR5Q2hyb21l
Q2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmKSBjb25zdAoreworfQorI2VuZGlmCisKIHZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnJ1
bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2VyJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAppbmRleCA3NDBmODhhZWM2YmQwNTY4YzU4YTdjMjAzYzk4ZDAxNjI1ZGYz
YjcxLi45ZjFiZWE0NDZlMTU1NzNiNDhhNzYwMGIwM2ZlYTQ1YzRkYzk0NTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNDUsNiArMTQ1LDEwIEBAIGNsYXNzIEVtcHR5
Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PERhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNs
aWVudCYpIGZpbmFsOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAg
dm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVy
PiYmKSBjb25zdCBmaW5hbDsKKyNlbmRpZgorCiAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUm
LCBGaWxlQ2hvb3NlciYpIGZpbmFsOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQoU2hhcmVEYXRh
V2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwog
ICAgIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29u
TG9hZGVyJikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYjcxMGU3MTVhNjZk
Y2FjNTY3NDJkYjZiYmVhNzQxZDZmODYzNDJiMy4uMzRkOGY4YzlmODc5NTkzZjZkMmY1Yzk1NGY5
MDhlZmJiODIwNWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTE1LDYgKzUxNSwxMyBA
QCB2b2lkIENocm9tZTo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZQogICAgIG1fY2xpZW50LmRpc3BhdGNoVmlld3BvcnRQ
cm9wZXJ0aWVzRGlkQ2hhbmdlKGFyZ3VtZW50cyk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCit2b2lkIENocm9tZTo6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKSBjb25zdAoreworICAgIG1fY2xpZW50LnVwZGF0ZUFw
cEhpZ2hsaWdodHNTdG9yYWdlKFdURk1vdmUoZGF0YSkpOworfQorI2VuZGlmCisKIHZvaWQgQ2hy
b21lOjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7CiAgICAgbV9jbGllbnQuc2V0
Q3Vyc29yKGN1cnNvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCBhODlkZDFhMWQ4NjVlNTMyOGVi
MDUwNTc2NTQwZDNmMjMyYTNjZmMwLi4wNTFmZWE4MTJkYTM1MjM4YTU0ODA4YWNiNzQ0YWQyNTgx
MDIwOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTE2NCw2ICsxNjQsMTAgQEAgcHVibGljOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+IGNyZWF0ZURhdGVUaW1lQ2hvb3Nl
cihEYXRlVGltZUNob29zZXJDbGllbnQmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdI
TElHSFRTKQorICAgIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3Q7CisjZW5kaWYKKwogICAgIHZvaWQgcnVuT3BlblBhbmVs
KEZyYW1lJiwgRmlsZUNob29zZXImKTsKICAgICB2b2lkIHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2
b2lkIHNob3dDb250YWN0UGlja2VyKGNvbnN0IENvbnRhY3RzUmVxdWVzdERhdGEmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDVmZDRiNjUxYWRiOWM4NDcxZTEwMjY1YmQ5
N2NmYjgwYjcyNzc5NjIuLjlhNDA5M2MwOWRlYjEwYzczZDExZGVmZWVmMTYwMjBjYTY3NmQwNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzAyLDYgKzMwMiwxMCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVE
YXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50JikgPSAwOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0ID0gMDsKKyNl
bmRpZgorCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2Vy
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzaG93U2hhcmVTaGVldChTaGFyZURhdGFXaXRoUGFy
c2VkVVJMJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNhbGxiYWNrKSB7
IGNhbGxiYWNrKGZhbHNlKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGFjdFBpY2tlcihj
b25zdCBDb250YWN0c1JlcXVlc3REYXRhJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKFdU
Rjo6bnVsbG9wdCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IDE3YzZiZTkxYTI0OWJkNDE3NzAxMTQ0ZmUzMjNhZjU0ZGMyNmY5MzUu
LjEwNDQyMThlNzg1NThlYzVlMDdkYzI2OGM1N2MxNjY4YmUxN2ViMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTQwMyw2ICsxNDAz
LDE0IEBAIC0gKHZvaWQpX2RpZEludmFsaWRhdGVEYXRhRm9yQXR0YWNobWVudDooQVBJOjpBdHRh
Y2htZW50JilhdHRhY2htZW50CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5U
KQogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorLSAodm9pZCl1cGRhdGVBcHBIaWdobGln
aHRzU3RvcmFnZTooTlNEYXRhICopZGF0YQoreworICAgIGlmIChbX2FwcEhpZ2hsaWdodHNEZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlOildKQorICAgICAgICBbX2FwcEhpZ2hsaWdodHNEZWxlZ2F0ZSBfd2ViVmll
dzpzZWxmIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOmRhdGFdOworfQorI2VuZGlmCisKIC0g
KFdLUGFnZVJlZilfcGFnZUZvclRlc3RpbmcKIHsKICAgICByZXR1cm4gdG9BUEkoX3BhZ2UuZ2V0
KCkpOwpAQCAtMTk1MCw2ICsxOTU4LDE4IEBAIC0gKHZvaWQpX3NldEhpc3RvcnlEZWxlZ2F0ZToo
aWQgPFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZT4paGlzdG9yeURlbGVnYXRlCiAgICAgX25hdmln
YXRpb25TdGF0ZS0+c2V0SGlzdG9yeURlbGVnYXRlKGhpc3RvcnlEZWxlZ2F0ZSk7CiB9CiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCistIChpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+
KV9hcHBIaWdobGlnaHRzRGVsZWdhdGUKK3sKKyAgICByZXR1cm4gX2FwcEhpZ2hsaWdodHNEZWxl
Z2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKK30KKworLSAodm9pZClfc2V0QXBwSGlnaGxpZ2h0c0Rl
bGVnYXRlOihpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2Fw
cEhpZ2hsaWdodHNEZWxlZ2F0ZSA9IGRlbGVnYXRlOworfQorI2VuZGlmCisKIC0gKHZvaWQpX3Vw
ZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFnZXIKIHsKICNpZiBIQVZFKFRPVUNIX0JBUikg
JiYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBh
Nzg2YzdhNjQ4MjY0ZWYwMmNjNmM2NzYxMzRkMjE1YjhhYzRhM2I0Li4xNWIzNmNkNzJiYzA1ZTUw
NDgzODNiOGI0ZTZkMmU3NWY5ZDNmNTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtMjU4LDYgKzI1OCwxMCBA
QCBjbGFzcyBWaWV3R2VzdHVyZUNvbnRyb2xsZXI7CiAtICh2b2lkKV9kaWRJbnZhbGlkYXRlRGF0
YUZvckF0dGFjaG1lbnQ6KEFQSTo6QXR0YWNobWVudCYpYXR0YWNobWVudDsKICNlbmRpZgogCisj
aWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorLSAodm9pZClfdXBkYXRlQXBwSGlnaGxpZ2h0c1N0
b3JhZ2U6KE5TRGF0YSAqKWRhdGE7CisjZW5kaWYKKwogLSAodm9pZClfaW50ZXJuYWxEb0FmdGVy
TmV4dFByZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgd2l0aG91
dFdhaXRpbmdGb3JQYWludGluZzooQk9PTCl3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nIHdpdGhv
dXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6KEJPT0wpd2l0aG91dFdhaXRpbmdGb3JBbmltYXRl
ZFJlc2l6ZTsKIAogLSAodm9pZClfc2hvd1NhZmVCcm93c2luZ1dhcm5pbmc6KGNvbnN0IFdlYktp
dDo6U2FmZUJyb3dzaW5nV2FybmluZyYpd2FybmluZyBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChWYXJpYW50PFdlYktpdDo6Q29udGludWVVbnNhZmVMb2FkLCBVUkw+
JiYpPiYmKWNvbXBsZXRpb25IYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdkMTUyOTZiZDIyY2JmNzBiNDBlYjdmM2ZhYjE2ZjJmNTM0YTNkODQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVnYXRlLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCitAcHJvdG9jb2wgX1dLQXBw
SGlnaGxpZ2h0RGVsZWdhdGUgPE5TT2JqZWN0PgorCitAb3B0aW9uYWwKKworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRDcmVhdGVIaWdobGlnaHRzRGF0YTooTlNEYXRh
ICopZGF0YTsKKworQGVuZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCA4MDYxYmZiZDQ2MmFmMGQ1MWRhODZjZjRm
OTUyNWY3YTdiZTNhMjlmLi45OGVkZmQwNDY0ZDcwMzZkOGE3NGM4NDM0ZTUzMmY2NGE3YjZmY2Jl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1w
bENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJ
bXBsQ29jb2EubW0KQEAgLTkzLDYgKzkzLDE0IEBAIE5TU2V0ICpQYWdlQ2xpZW50SW1wbENvY29h
OjpzZXJpYWxpemFibGVGaWxlV3JhcHBlckNsYXNzZXMoKSBjb25zdAogCiAjZW5kaWYKIAorI2lm
IEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6dXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKQor
eworICAgIFJldGFpblB0cjxOU0RhdGE+IG5zRGF0YSA9IGltYWdlQnVmZmVyLT5jcmVhdGVOU0Rh
dGEoKTsKKyAgICBbbV93ZWJWaWV3IF91cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTpuc0RhdGFd
OworfQorI2VuZGlmIC8vIEVOQUJMRShBUFBfSElHSExJR0hUUykKKwogdm9pZCBQYWdlQ2xpZW50
SW1wbENvY29hOjpwYWdlQ2xvc2VkKCkKIHsKICAgICBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlci0+Y2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBlOGQy
N2MyYTEzYTM0MGExZjc4NWUwOGE2ZWJmMzI1MmY5YzUyZjU4Li5mYTI5Nzc2YjhkMGRmYjVhZDg3
MzgxNjI3YWQzMTM5NDkzNTY4NWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
CkBAIC01NTQsNiArNTU0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNT
dG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkgPSAwOworI2VuZGlmCisK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JH
ZXN0dXJlUmVjb2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CiAgICAgdmlydHVhbCBX
VEY6Ok9wdGlvbmFsPHVuc2lnbmVkPiBhY3RpdmVUb3VjaElkZW50aWZpZXJGb3JHZXN0dXJlUmVj
b2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyByZXR1cm4gV1RGOjpudWxsb3B0OyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBlNDkzOWU2NzRkZDRm
YjMxMzM2MTM5MzM5YjRjNWJjOTI5MTM3YzdhLi45M2QzZDk3M2Q2ZDgwODhlMjM2ODM5OWRjNGNl
OGVmNDVhOTI2OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTk5MTgsNiArOTkxOCwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0QXBwbGljYXRpb25N
YW5pZmVzdChGdW5jdGlvbjx2b2lkKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OgogfQogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2UoY29uc3QgSVBDOjpTaGFyZWRCdWZmZXJDb3B5JiBkYXRhKQor
eworICAgIHBhZ2VDbGllbnQoKS51cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShkYXRhKTsKK30K
KyNlbmRpZgorCiBuYW1lc3BhY2UgewogZW51bSBjbGFzcyBDb21wbGV0aW9uQ29uZGl0aW9uIHsK
ICAgICBDYW5jZWxsYXRpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDQ2ZmQyMDI5NDg0MjBiNmFiNzQzODExOTAxM2Q5OTZiYzI3Zjg5NWMuLjAzNTU3OTMyMDdj
MjQ0Zjg4ODJjYWY2NzhmMjYzOTM0MTVjYjZjMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC0yMzE2LDYgKzIzMTYsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdy
aXRlUHJvbWlzZWRBdHRhY2htZW50VG9QYXN0ZWJvYXJkKFdlYkNvcmU6OlByb21pc2VkQXR0YWNo
bWVudEluZm8mJik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2
b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29w
eSYpOworI2VuZGlmCisKICAgICB2b2lkIHJlcG9ydFBhZ2VMb2FkUmVzdWx0KGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlRXJyb3ImID0geyB9KTsKIAogICAgIHZvaWQgY29udGludWVOYXZpZ2F0aW9u
SW5OZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYsIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQ
YWdlUHJveHk+JiYsIFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFByb2Nlc3NTd2FwUmVxdWVzdGVk
QnlDbGllbnQsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xpY2llcz4mJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZmQwMWQ1NTNj
YzRlYTBkNTNmODY0OTM0MGY0Y2NjMWFiZmE1NzVmNy4uZTY2N2Y3NmUwZmE1YzhmMzNkZjUwZGUx
ZTUxZmM4MjMyMjE0NWZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTM1LDYgKzUzNSwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQ
YWdlUHJveHkgewogICAgIFdyaXRlUHJvbWlzZWRBdHRhY2htZW50VG9QYXN0ZWJvYXJkKHN0cnVj
dCBXZWJDb3JlOjpQcm9taXNlZEF0dGFjaG1lbnRJbmZvIGluZm8pCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShBUFBfSElHSExJR0hUUykKKyAgICBVcGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShJUEM6
OlNoYXJlZEJ1ZmZlckNvcHkgZGF0YSkKKyNlbmRpZgorCiAgICAgU2lnbmVkUHVibGljS2V5QW5k
Q2hhbGxlbmdlU3RyaW5nKHVuc2lnbmVkIGtleVNpemVJbmRleCwgU3RyaW5nIGNoYWxsZW5nZVN0
cmluZywgVVJMIHVybCkgLT4gKFN0cmluZyByZXN1bHQpIFN5bmNocm9ub3VzCiAKICNpZiBFTkFC
TEUoU1BFRUNIX1NZTlRIRVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGZhMDNkYzg1MTQwMDM4NTgyNjE3NTNkZWNjZjk1Nzc3YTFh
YmNlYTEuLjRhOWQ0YmE3OWY2OWM2NjJiMmVhNjI5ZWJjNTkzMmJiYzFlZGJjYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTQ0LDYg
Kzk0NCw3IEBACiAJCTQ0MzBEMDE3MjU3NkQ5REQwMDQ2RDQwMSAvKiBDcmVhdGVOZXdHcm91cEZv
ckhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDQzMEQwMTYyNTc2RDlEQzAwNDZENDAxIC8qIENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0
LmggKi87IH07CiAJCTQ0NTk5ODQyMjI4MzNFODcwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0NTk5ODQxMjI4MzNFNjAwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5
cGUuaCAqLzsgfTsKIAkJNDQ2REM2NEMyNEEyRDhFNTAwNjFGMzkwIC8qIFBsYXliYWNrU2Vzc2lv
bkNvbnRleHRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDZEQzY0QjI0QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29u
dGV4dElkZW50aWZpZXIuaCAqLzsgfTsKKwkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9X
S0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhp
Z2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ0ODI3MzQ3MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDgyNzM0
NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oICovOyB9OwogCQk0NDlEOTBEQTIxRkRD
MzBCMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5RDkwRDgyMUZENjNGRTAwRjY3
N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLzsgfTsKIAkJNDRFOTM2RkQy
NDQ3QzJEODAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNF
MyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElELmggKi87IH07CkBAIC0zNzc1LDYgKzM3NzYsNyBA
QAogCQk0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkTWVtb3J5Q29jb2EuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDU5OTg0MTIyODMzRTYwMDBFNjEzNzMg
LyogU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bnRoZXRp
Y0VkaXRpbmdDb21tYW5kVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDZE
QzY0QjI0QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ3NkVGMDgyNUJG
QzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkz
IC8qIENvY29hSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29jb2FJ
bWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDlEOTBEODIxRkQ2M0ZFMDBG
Njc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE0ODFDNjIxRjJEMjdCMDBGMkY5MTkgLyog
Q2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NjksNiArNzY3MSw3IEBACiAJCQkJ
MzdBNUUwMTIxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggKi8s
CiAJCQkJMzdBNUUwMTExOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
Lm1tICovLAogCQkJCTM3OUE4NzM1MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVt
ZW50SW5mb0ludGVybmFsLmggKi8sCisJCQkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9X
S0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oICovLAogCQkJCTYzMTA4Rjk0MUY5NjcxOUMw
MEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggKi8sCiAJCQkJNjMxMDhGOTUxRjk2
NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gKi8sCiAJCQkJNjMxMDhG
OTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oICov
LApAQCAtMTEyNzcsNiArMTEyODAsNyBAQAogCQkJZmlsZXMgPSAoCiAJCQkJMzdBNUUwMTQxOEJC
RjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9J
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8q
IF9XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjMx
MDhGOTYxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTYzMTA4Rjk5MUY5NjcxRjcwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1h
bmlmZXN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0NDI5MTkyMUZBNTkxQzkwMDJD
QzkzRSAvKiBfV0tBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKaW5kZXggZmVjMGZlZWZkNTUzZDZlYzIyYzRkOGNkZGY5YThlYzdmZTE4ZmRkYi4uMTI2Nzll
ZjM4NmY2OWVjMTk0NTJiNmU2OTQzYzEzM2Q1MTBjNTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKQEAgLTEyMzgsNiArMTIzOCwxMyBAQCBib29sIFdlYkNocm9tZUNsaWVudDo6dW53cmFwQ3J5
cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPAogCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp1
cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRh
dGEpCit7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6VXBkYXRlQXBw
SGlnaGxpZ2h0c1N0b3JhZ2UoZGF0YSkpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJDaHJvbWVD
bGllbnQ6OnNpZ25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyh1bnNpZ25lZCBrZXlTaXpl
SW5kZXgsIGNvbnN0IFN0cmluZyYgY2hhbGxlbmdlU3RyaW5nLCBjb25zdCBVUkwmIHVybCkgY29u
c3QKIHsKICAgICBTdHJpbmcgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDA1ODIyYjk5
N2JhODQxNTA5M2E2M2ZkMTVmNTQzOGM5Njk0ZWZlOWIuLmRjNzJiMmVmZWM1ZTdiNTk4ZTk1ZjI0
MTM1OTRhNjFjNTVkNDY2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTM0NSw2ICszNDUsMTAg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIGZpbmFsOwogICAgIHZvaWQg
aGFuZGxlQXV0b3BsYXlFdmVudChXZWJDb3JlOjpBdXRvcGxheUV2ZW50LCBPcHRpb25TZXQ8V2Vi
Q29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPikgZmluYWw7CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6
U2hhcmVkQnVmZmVyPiYmKSBjb25zdCBmaW5hbDsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdFQl9D
UllQVE8pCiAgICAgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYsIFZl
Y3Rvcjx1aW50OF90PiYpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgdW53cmFwQ3J5cHRvS2V5KGNv
bnN0IFZlY3Rvcjx1aW50OF90PiYsIFZlY3Rvcjx1aW50OF90PiYpIGNvbnN0IGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA5ZTUwOTEw
NDQ3NTlhZDA3YjBkYjdjNzg3Nzc3ZGNlZDc4NTA3ZmQ0Li43YzYyMWFiNDM3MjY2NTg5Nzk5NTBh
MTQzMzNmNWEyNzJhNDVmNzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtNzE1Niw2ICs3MTU2LDcgQEAgYm9vbCBXZWJQYWdlOjpjcmVhdGVB
cHBIaWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQgY3Jl
YXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFJl
Z2lzdGVyKCkuYWRkQXBwSGlnaGxpZ2h0KFN0YXRpY1JhbmdlOjpjcmVhdGUoc2VsZWN0aW9uUmFu
Z2UudmFsdWUoKSkpOworICAgIGRvY3VtZW50LT5hcHBIaWdobGlnaHRTdG9yYWdlKCkudXBkYXRl
QW5kU3RvcmVBcHBIaWdobGlnaHRzU3RvcmFnZSgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418558</attachid>
            <date>2021-01-27 10:24:45 -0800</date>
            <delta_ts>2021-01-27 11:20:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221020-20210127102444.patch</filename>
            <type>text/plain</type>
            <size>24793</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uNDQ5ZjBkMDVlOWRjNGJjMjY2MGMwYTIxNzZjNWVi
ZjA3ZmJkZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRMaXN0
RGF0YTo6dG9TaGFyZWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxp
Z2h0TGlzdERhdGE6OnRvRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIx
LTAxLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcwODc0KTogU29tZSBSZWFjdCBOYXRpdmUgYXBwcyBhcmUgcmVwb3J0
ZWQgYnJva2VuIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTc2NzI2OGEzMTYxMmJmZjY1MGEzNWU3Y2Zi
MmMzZjFlOGZiYzEwLi4yMWM2MmUxYjY4MWEwZGJlNGYzMzFjOWI4ZGJiNTVhNGUzMmYyMmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFw
cEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGE6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZV0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcEhpZ2hsaWdodHNTdG9yYWdlRGVsZWdhdGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUhpZ2hs
aWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZSk6CisKIDIwMjEtMDEtMjUgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNzA4NzQpOiBTb21lIFJlYWN0IE5hdGl2ZSBhcHBzIGFyZSByZXBvcnRlZCBicm9rZW4gb24g
aU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRMaXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHAKaW5kZXggNzkyOGJkYjlkYjAwOThiZTI5ZTBkOTA4YzE5ZDVk
NzIzYjlmYTliYi4uYjU0ZDU5YmIzNWRkYTE0YzZjZmRkOGI3ZmRlNDQ4NjA1ZjQwYjk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlz
dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcApAQCAtNDksNyArNDksNyBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBB
cHBIaWdobGlnaHRMaXN0RGF0YTo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQog
ICAgIHJldHVybiBkYXRhID8gKmRhdGEgOiBBcHBIaWdobGlnaHRMaXN0RGF0YSB7eyB9fTsKIH0K
IAotUmVmPFNoYXJlZEJ1ZmZlcj4gQXBwSGlnaGxpZ2h0TGlzdERhdGE6OnRvRGF0YSgpIGNvbnN0
CitSZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9TaGFyZWRCdWZmZXIo
KSBjb25zdAogewogICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKICAgICBl
bmNvZGVyIDw8ICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmgKaW5kZXggZjg4Mzk2ZjMxNDM2ZGE0N2Q5ZTVm
ODQ2NTNjNWFkN2U4MmE4NTNmNS4uNTEzYjIxNGRiOTc4OTIwOTQ0Y2RkYjFmYjBlYTE2NWQ3ZGE2
Y2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9B
cHBIaWdobGlnaHRMaXN0RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmFuZ2VzKFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1f
YW5ub3RhdGlvblJhbmdlcyA9IFdURk1vdmUocmFuZ2VzKTsgfQogICAgIHZvaWQgYWRkUmFuZ2Vz
KFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1fYW5ub3RhdGlvblJh
bmdlcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShyYW5nZXMpKTsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgUmVmPFNoYXJlZEJ1ZmZlcj4gdG9EYXRhKCkgY29uc3Q7CisgICAgUmVmPFNoYXJlZEJ1ZmZl
cj4gdG9TaGFyZWRCdWZmZXIoKSBjb25zdDsKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLnNpemUoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5ub3RhdGlvblJhbmdlcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5j
cHAKaW5kZXggNjRlZWY3ZDJhMGViNWY3NmVmMjM0OWZhMjZmYzYxYWI0ZjUyOTBiMC4uZDM2NjU4
NzNhODU2NGE2N2ZlZjlkNjg4MTcwNzExZmU0ZTFiMjRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAKICNpbmNs
dWRlICJBcHBIaWdobGlnaHRMaXN0RGF0YS5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0yMDksMTIgKzIxMCwxMiBAQCBBcHBIaWdo
bGlnaHRTdG9yYWdlOjpBcHBIaWdobGlnaHRTdG9yYWdlKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
IH0KIAotQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBw
SGlnaGxpZ2h0TGlzdERhdGEoKQordm9pZCBBcHBIaWdobGlnaHRTdG9yYWdlOjp1cGRhdGVBbmRT
dG9yZUFwcEhpZ2hsaWdodHNTdG9yYWdlKCkKIHsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFu
Z2VEYXRhPiBkYXRhOwogCiAgICAgaWYgKCFtX2RvY3VtZW50KQotICAgICAgICByZXR1cm4geyBX
VEZNb3ZlKGRhdGEpIH07CisgICAgICAgIHJldHVybjsKIAogICAgIGlmIChhdXRvIGFwcEhpZ2hs
aWdodFJlZ2lzdGVyID0gbV9kb2N1bWVudC0+YXBwSGlnaGxpZ2h0UmVnaXN0ZXJJZkV4aXN0cygp
KSB7CiAgICAgICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogYXBwSGlnaGxpZ2h0UmVnaXN0ZXIt
Pm1hcCgpKSB7CkBAIC0yMjIsOCArMjIzLDkgQEAgQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGln
aGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBwSGlnaGxpZ2h0TGlzdERhdGEoKQogICAgICAgICAgICAg
ICAgIGRhdGEuYXBwZW5kKGNyZWF0ZUFwcEhpZ2hsaWdodFJhbmdlRGF0YShyYW5nZURhdGEtPnJh
bmdlKSk7CiAgICAgICAgIH0KICAgICB9CisgICAgQXBwSGlnaGxpZ2h0TGlzdERhdGEgbGlzdERh
dGEgeyBXVEZNb3ZlKGRhdGEpIH07CiAKLSAgICByZXR1cm4geyBXVEZNb3ZlKGRhdGEpIH07Cisg
ICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS51cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFn
ZShsaXN0RGF0YS50b1NoYXJlZEJ1ZmZlcigpKTsKIH0KIAogVmVjdG9yPEFwcEhpZ2hsaWdodFJh
bmdlRGF0YT4gQXBwSGlnaGxpZ2h0U3RvcmFnZTo6cmVzdG9yZUFwcEhpZ2hsaWdodHMoUmVmPFNo
YXJlZEJ1ZmZlcj4mJiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmgKaW5kZXggZGIxNDk0ZmVhMjk3ZDI3OWI4
MWJkNWQxMDMxM2E4ZTFjYWZkYTQ1Mi4uNjEwZDA0MjVjM2NhNDAxNDlhODQ3YzM5MDJkMmQxYjBk
MTNjY2MzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBw
SGlnaGxpZ2h0U3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0
L0FwcEhpZ2hsaWdodFN0b3JhZ2UuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBBcHBIaWdobGln
aHRTdG9yYWdlIDogUmVmQ291bnRlZDxBcHBIaWdobGlnaHRTdG9yYWdlPiB7CiBwdWJsaWM6CiAg
ICAgQXBwSGlnaGxpZ2h0U3RvcmFnZShEb2N1bWVudCYpOwogCi0gICAgQXBwSGlnaGxpZ2h0TGlz
dERhdGEgY3JlYXRlQXBwSGlnaGxpZ2h0TGlzdERhdGEoKTsKKyAgICB2b2lkIHVwZGF0ZUFuZFN0
b3JlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoKTsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFuZ2VE
YXRhPiByZXN0b3JlQXBwSGlnaGxpZ2h0cyhSZWY8U2hhcmVkQnVmZmVyPiYmKTsKIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDk5Y2E2YTEzYzAwZGRkZjdkMGNkZjk1ZmVh
YTIwMTI1MmFiOTc5NjQuLmVhNDY1NTA3NTg4ZTNhZjliYjJkMzM1MzU4M2Q3NDI5NTJiZDU4ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjYyLDcgKzI2Miw2IEBACiAjaW5jbHVkZSA8
d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotI2lu
Y2x1ZGUgIkFwcEhpZ2hsaWdodExpc3REYXRhLmgiCiAjaW5jbHVkZSAiQXBwSGlnaGxpZ2h0U3Rv
cmFnZS5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5k
ZXggYTVjMjQ2OWI0Nzc3ZTY0MWZlN2MxZjdjNDI4NjQxZjdjZmY5MTY0ZS4uM2UyNWQyMDgxY2Qw
ZDBhZjUzMmFjNWY4NzZkZWU2OGQ1MjkwOGNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKQEAgLTUwMSw2ICs1MDEsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1l
Q2hvb3Nlcj4gRW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZURhdGVUaW1lQ2hvb3NlcihEYXRlVGkK
IAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIEVtcHR5Q2hyb21l
Q2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmKSBjb25zdAoreworfQorI2VuZGlmCisKIHZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnJ1
bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2VyJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAppbmRleCA3NDBmODhhZWM2YmQwNTY4YzU4YTdjMjAzYzk4ZDAxNjI1ZGYz
YjcxLi45ZjFiZWE0NDZlMTU1NzNiNDhhNzYwMGIwM2ZlYTQ1YzRkYzk0NTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNDUsNiArMTQ1LDEwIEBAIGNsYXNzIEVtcHR5
Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PERhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNs
aWVudCYpIGZpbmFsOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAg
dm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVy
PiYmKSBjb25zdCBmaW5hbDsKKyNlbmRpZgorCiAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUm
LCBGaWxlQ2hvb3NlciYpIGZpbmFsOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQoU2hhcmVEYXRh
V2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwog
ICAgIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29u
TG9hZGVyJikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYjcxMGU3MTVhNjZk
Y2FjNTY3NDJkYjZiYmVhNzQxZDZmODYzNDJiMy4uMzRkOGY4YzlmODc5NTkzZjZkMmY1Yzk1NGY5
MDhlZmJiODIwNWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTE1LDYgKzUxNSwxMyBA
QCB2b2lkIENocm9tZTo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZQogICAgIG1fY2xpZW50LmRpc3BhdGNoVmlld3BvcnRQ
cm9wZXJ0aWVzRGlkQ2hhbmdlKGFyZ3VtZW50cyk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCit2b2lkIENocm9tZTo6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKSBjb25zdAoreworICAgIG1fY2xpZW50LnVwZGF0ZUFw
cEhpZ2hsaWdodHNTdG9yYWdlKFdURk1vdmUoZGF0YSkpOworfQorI2VuZGlmCisKIHZvaWQgQ2hy
b21lOjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7CiAgICAgbV9jbGllbnQuc2V0
Q3Vyc29yKGN1cnNvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCBhODlkZDFhMWQ4NjVlNTMyOGVi
MDUwNTc2NTQwZDNmMjMyYTNjZmMwLi4wNTFmZWE4MTJkYTM1MjM4YTU0ODA4YWNiNzQ0YWQyNTgx
MDIwOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTE2NCw2ICsxNjQsMTAgQEAgcHVibGljOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+IGNyZWF0ZURhdGVUaW1lQ2hvb3Nl
cihEYXRlVGltZUNob29zZXJDbGllbnQmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdI
TElHSFRTKQorICAgIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3Q7CisjZW5kaWYKKwogICAgIHZvaWQgcnVuT3BlblBhbmVs
KEZyYW1lJiwgRmlsZUNob29zZXImKTsKICAgICB2b2lkIHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2
b2lkIHNob3dDb250YWN0UGlja2VyKGNvbnN0IENvbnRhY3RzUmVxdWVzdERhdGEmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDVmZDRiNjUxYWRiOWM4NDcxZTEwMjY1YmQ5
N2NmYjgwYjcyNzc5NjIuLjlhNDA5M2MwOWRlYjEwYzczZDExZGVmZWVmMTYwMjBjYTY3NmQwNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzAyLDYgKzMwMiwxMCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVE
YXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50JikgPSAwOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0ID0gMDsKKyNl
bmRpZgorCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2Vy
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzaG93U2hhcmVTaGVldChTaGFyZURhdGFXaXRoUGFy
c2VkVVJMJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNhbGxiYWNrKSB7
IGNhbGxiYWNrKGZhbHNlKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGFjdFBpY2tlcihj
b25zdCBDb250YWN0c1JlcXVlc3REYXRhJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKFdU
Rjo6bnVsbG9wdCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IDE3YzZiZTkxYTI0OWJkNDE3NzAxMTQ0ZmUzMjNhZjU0ZGMyNmY5MzUu
LjEwNDQyMThlNzg1NThlYzVlMDdkYzI2OGM1N2MxNjY4YmUxN2ViMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTQwMyw2ICsxNDAz
LDE0IEBAIC0gKHZvaWQpX2RpZEludmFsaWRhdGVEYXRhRm9yQXR0YWNobWVudDooQVBJOjpBdHRh
Y2htZW50JilhdHRhY2htZW50CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5U
KQogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorLSAodm9pZCl1cGRhdGVBcHBIaWdobGln
aHRzU3RvcmFnZTooTlNEYXRhICopZGF0YQoreworICAgIGlmIChbX2FwcEhpZ2hsaWdodHNEZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlOildKQorICAgICAgICBbX2FwcEhpZ2hsaWdodHNEZWxlZ2F0ZSBfd2ViVmll
dzpzZWxmIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOmRhdGFdOworfQorI2VuZGlmCisKIC0g
KFdLUGFnZVJlZilfcGFnZUZvclRlc3RpbmcKIHsKICAgICByZXR1cm4gdG9BUEkoX3BhZ2UuZ2V0
KCkpOwpAQCAtMTk1MCw2ICsxOTU4LDE4IEBAIC0gKHZvaWQpX3NldEhpc3RvcnlEZWxlZ2F0ZToo
aWQgPFdLSGlzdG9yeURlbGVnYXRlUHJpdmF0ZT4paGlzdG9yeURlbGVnYXRlCiAgICAgX25hdmln
YXRpb25TdGF0ZS0+c2V0SGlzdG9yeURlbGVnYXRlKGhpc3RvcnlEZWxlZ2F0ZSk7CiB9CiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCistIChpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+
KV9hcHBIaWdobGlnaHRzRGVsZWdhdGUKK3sKKyAgICByZXR1cm4gX2FwcEhpZ2hsaWdodHNEZWxl
Z2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKK30KKworLSAodm9pZClfc2V0QXBwSGlnaGxpZ2h0c0Rl
bGVnYXRlOihpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2Fw
cEhpZ2hsaWdodHNEZWxlZ2F0ZSA9IGRlbGVnYXRlOworfQorI2VuZGlmCisKIC0gKHZvaWQpX3Vw
ZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFnZXIKIHsKICNpZiBIQVZFKFRPVUNIX0JBUikg
JiYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAppbmRleCBh
Nzg2YzdhNjQ4MjY0ZWYwMmNjNmM2NzYxMzRkMjE1YjhhYzRhM2I0Li4xNWIzNmNkNzJiYzA1ZTUw
NDgzODNiOGI0ZTZkMmU3NWY5ZDNmNTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtMjU4LDYgKzI1OCwxMCBA
QCBjbGFzcyBWaWV3R2VzdHVyZUNvbnRyb2xsZXI7CiAtICh2b2lkKV9kaWRJbnZhbGlkYXRlRGF0
YUZvckF0dGFjaG1lbnQ6KEFQSTo6QXR0YWNobWVudCYpYXR0YWNobWVudDsKICNlbmRpZgogCisj
aWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorLSAodm9pZClfdXBkYXRlQXBwSGlnaGxpZ2h0c1N0
b3JhZ2U6KE5TRGF0YSAqKWRhdGE7CisjZW5kaWYKKwogLSAodm9pZClfaW50ZXJuYWxEb0FmdGVy
TmV4dFByZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgd2l0aG91
dFdhaXRpbmdGb3JQYWludGluZzooQk9PTCl3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nIHdpdGhv
dXRXYWl0aW5nRm9yQW5pbWF0ZWRSZXNpemU6KEJPT0wpd2l0aG91dFdhaXRpbmdGb3JBbmltYXRl
ZFJlc2l6ZTsKIAogLSAodm9pZClfc2hvd1NhZmVCcm93c2luZ1dhcm5pbmc6KGNvbnN0IFdlYktp
dDo6U2FmZUJyb3dzaW5nV2FybmluZyYpd2FybmluZyBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChWYXJpYW50PFdlYktpdDo6Q29udGludWVVbnNhZmVMb2FkLCBVUkw+
JiYpPiYmKWNvbXBsZXRpb25IYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdkMTUyOTZiZDIyY2JmNzBiNDBlYjdmM2ZhYjE2ZjJmNTM0YTNkODQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVnYXRlLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCitAcHJvdG9jb2wgX1dLQXBw
SGlnaGxpZ2h0RGVsZWdhdGUgPE5TT2JqZWN0PgorCitAb3B0aW9uYWwKKworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRDcmVhdGVIaWdobGlnaHRzRGF0YTooTlNEYXRh
ICopZGF0YTsKKworQGVuZAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCA4MDYxYmZiZDQ2MmFmMGQ1MWRhODZjZjRm
OTUyNWY3YTdiZTNhMjlmLi45OGVkZmQwNDY0ZDcwMzZkOGE3NGM4NDM0ZTUzMmY2NGE3YjZmY2Jl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1w
bENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJ
bXBsQ29jb2EubW0KQEAgLTkzLDYgKzkzLDE0IEBAIE5TU2V0ICpQYWdlQ2xpZW50SW1wbENvY29h
OjpzZXJpYWxpemFibGVGaWxlV3JhcHBlckNsYXNzZXMoKSBjb25zdAogCiAjZW5kaWYKIAorI2lm
IEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6dXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKQor
eworICAgIFJldGFpblB0cjxOU0RhdGE+IG5zRGF0YSA9IGltYWdlQnVmZmVyLT5jcmVhdGVOU0Rh
dGEoKTsKKyAgICBbbV93ZWJWaWV3IF91cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTpuc0RhdGFd
OworfQorI2VuZGlmIC8vIEVOQUJMRShBUFBfSElHSExJR0hUUykKKwogdm9pZCBQYWdlQ2xpZW50
SW1wbENvY29hOjpwYWdlQ2xvc2VkKCkKIHsKICAgICBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlci0+Y2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBlOGQy
N2MyYTEzYTM0MGExZjc4NWUwOGE2ZWJmMzI1MmY5YzUyZjU4Li5mYTI5Nzc2YjhkMGRmYjVhZDg3
MzgxNjI3YWQzMTM5NDkzNTY4NWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
CkBAIC01NTQsNiArNTU0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNT
dG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkgPSAwOworI2VuZGlmCisK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JH
ZXN0dXJlUmVjb2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CiAgICAgdmlydHVhbCBX
VEY6Ok9wdGlvbmFsPHVuc2lnbmVkPiBhY3RpdmVUb3VjaElkZW50aWZpZXJGb3JHZXN0dXJlUmVj
b2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyByZXR1cm4gV1RGOjpudWxsb3B0OyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBlNDkzOWU2NzRkZDRm
YjMxMzM2MTM5MzM5YjRjNWJjOTI5MTM3YzdhLi45M2QzZDk3M2Q2ZDgwODhlMjM2ODM5OWRjNGNl
OGVmNDVhOTI2OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTk5MTgsNiArOTkxOCwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0QXBwbGljYXRpb25N
YW5pZmVzdChGdW5jdGlvbjx2b2lkKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OgogfQogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2UoY29uc3QgSVBDOjpTaGFyZWRCdWZmZXJDb3B5JiBkYXRhKQor
eworICAgIHBhZ2VDbGllbnQoKS51cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShkYXRhKTsKK30K
KyNlbmRpZgorCiBuYW1lc3BhY2UgewogZW51bSBjbGFzcyBDb21wbGV0aW9uQ29uZGl0aW9uIHsK
ICAgICBDYW5jZWxsYXRpb24sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IDQ2ZmQyMDI5NDg0MjBiNmFiNzQzODExOTAxM2Q5OTZiYzI3Zjg5NWMuLjAzNTU3OTMyMDdj
MjQ0Zjg4ODJjYWY2NzhmMjYzOTM0MTVjYjZjMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC0yMzE2LDYgKzIzMTYsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdy
aXRlUHJvbWlzZWRBdHRhY2htZW50VG9QYXN0ZWJvYXJkKFdlYkNvcmU6OlByb21pc2VkQXR0YWNo
bWVudEluZm8mJik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2
b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29w
eSYpOworI2VuZGlmCisKICAgICB2b2lkIHJlcG9ydFBhZ2VMb2FkUmVzdWx0KGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlRXJyb3ImID0geyB9KTsKIAogICAgIHZvaWQgY29udGludWVOYXZpZ2F0aW9u
SW5OZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYsIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQ
YWdlUHJveHk+JiYsIFJlZjxXZWJQcm9jZXNzUHJveHk+JiYsIFByb2Nlc3NTd2FwUmVxdWVzdGVk
QnlDbGllbnQsIFJlZlB0cjxBUEk6OldlYnNpdGVQb2xpY2llcz4mJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZmQwMWQ1NTNj
YzRlYTBkNTNmODY0OTM0MGY0Y2NjMWFiZmE1NzVmNy4uZTY2N2Y3NmUwZmE1YzhmMzNkZjUwZGUx
ZTUxZmM4MjMyMjE0NWZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTM1LDYgKzUzNSwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQ
YWdlUHJveHkgewogICAgIFdyaXRlUHJvbWlzZWRBdHRhY2htZW50VG9QYXN0ZWJvYXJkKHN0cnVj
dCBXZWJDb3JlOjpQcm9taXNlZEF0dGFjaG1lbnRJbmZvIGluZm8pCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShBUFBfSElHSExJR0hUUykKKyAgICBVcGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShJUEM6
OlNoYXJlZEJ1ZmZlckNvcHkgZGF0YSkKKyNlbmRpZgorCiAgICAgU2lnbmVkUHVibGljS2V5QW5k
Q2hhbGxlbmdlU3RyaW5nKHVuc2lnbmVkIGtleVNpemVJbmRleCwgU3RyaW5nIGNoYWxsZW5nZVN0
cmluZywgVVJMIHVybCkgLT4gKFN0cmluZyByZXN1bHQpIFN5bmNocm9ub3VzCiAKICNpZiBFTkFC
TEUoU1BFRUNIX1NZTlRIRVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGZhMDNkYzg1MTQwMDM4NTgyNjE3NTNkZWNjZjk1Nzc3YTFh
YmNlYTEuLjRhOWQ0YmE3OWY2OWM2NjJiMmVhNjI5ZWJjNTkzMmJiYzFlZGJjYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTQ0LDYg
Kzk0NCw3IEBACiAJCTQ0MzBEMDE3MjU3NkQ5REQwMDQ2RDQwMSAvKiBDcmVhdGVOZXdHcm91cEZv
ckhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDQzMEQwMTYyNTc2RDlEQzAwNDZENDAxIC8qIENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0
LmggKi87IH07CiAJCTQ0NTk5ODQyMjI4MzNFODcwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5n
Q29tbWFuZFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0NTk5ODQxMjI4MzNFNjAwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5
cGUuaCAqLzsgfTsKIAkJNDQ2REM2NEMyNEEyRDhFNTAwNjFGMzkwIC8qIFBsYXliYWNrU2Vzc2lv
bkNvbnRleHRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDZEQzY0QjI0QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29u
dGV4dElkZW50aWZpZXIuaCAqLzsgfTsKKwkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9X
S0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhp
Z2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ0ODI3MzQ3MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDgyNzM0
NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oICovOyB9OwogCQk0NDlEOTBEQTIxRkRD
MzBCMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5RDkwRDgyMUZENjNGRTAwRjY3
N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLzsgfTsKIAkJNDRFOTM2RkQy
NDQ3QzJEODAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNF
MyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElELmggKi87IH07CkBAIC0zNzc1LDYgKzM3NzYsNyBA
QAogCQk0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkTWVtb3J5Q29jb2EuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDU5OTg0MTIyODMzRTYwMDBFNjEzNzMg
LyogU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bnRoZXRp
Y0VkaXRpbmdDb21tYW5kVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDZE
QzY0QjI0QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ3NkVGMDgyNUJG
QzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBcHBIaWdobGlnaHRTdG9yYWdlRGVsZWdhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkz
IC8qIENvY29hSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29jb2FJ
bWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDlEOTBEODIxRkQ2M0ZFMDBG
Njc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE0ODFDNjIxRjJEMjdCMDBGMkY5MTkgLyog
Q2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NjksNiArNzY3MSw3IEBACiAJCQkJ
MzdBNUUwMTIxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggKi8s
CiAJCQkJMzdBNUUwMTExOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
Lm1tICovLAogCQkJCTM3OUE4NzM1MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVt
ZW50SW5mb0ludGVybmFsLmggKi8sCisJCQkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9X
S0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oICovLAogCQkJCTYzMTA4Rjk0MUY5NjcxOUMw
MEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggKi8sCiAJCQkJNjMxMDhGOTUxRjk2
NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gKi8sCiAJCQkJNjMxMDhG
OTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oICov
LApAQCAtMTEyNzcsNiArMTEyODAsNyBAQAogCQkJZmlsZXMgPSAoCiAJCQkJMzdBNUUwMTQxOEJC
RjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9J
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8q
IF9XS0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjMx
MDhGOTYxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTYzMTA4Rjk5MUY5NjcxRjcwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1h
bmlmZXN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0NDI5MTkyMUZBNTkxQzkwMDJD
QzkzRSAvKiBfV0tBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKaW5kZXggZmVjMGZlZWZkNTUzZDZlYzIyYzRkOGNkZGY5YThlYzdmZTE4ZmRkYi4uMTI2Nzll
ZjM4NmY2OWVjMTk0NTJiNmU2OTQzYzEzM2Q1MTBjNTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKQEAgLTEyMzgsNiArMTIzOCwxMyBAQCBib29sIFdlYkNocm9tZUNsaWVudDo6dW53cmFwQ3J5
cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPAogCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp1
cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRh
dGEpCit7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6VXBkYXRlQXBw
SGlnaGxpZ2h0c1N0b3JhZ2UoZGF0YSkpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJDaHJvbWVD
bGllbnQ6OnNpZ25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyh1bnNpZ25lZCBrZXlTaXpl
SW5kZXgsIGNvbnN0IFN0cmluZyYgY2hhbGxlbmdlU3RyaW5nLCBjb25zdCBVUkwmIHVybCkgY29u
c3QKIHsKICAgICBTdHJpbmcgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDA1ODIyYjk5
N2JhODQxNTA5M2E2M2ZkMTVmNTQzOGM5Njk0ZWZlOWIuLmRjNzJiMmVmZWM1ZTdiNTk4ZTk1ZjI0
MTM1OTRhNjFjNTVkNDY2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTM0NSw2ICszNDUsMTAg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1l
ZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncywgdWludDY0X3QpIGZpbmFsOwogICAgIHZvaWQg
aGFuZGxlQXV0b3BsYXlFdmVudChXZWJDb3JlOjpBdXRvcGxheUV2ZW50LCBPcHRpb25TZXQ8V2Vi
Q29yZTo6QXV0b3BsYXlFdmVudEZsYWdzPikgZmluYWw7CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6
U2hhcmVkQnVmZmVyPiYmKSBjb25zdCBmaW5hbDsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdFQl9D
UllQVE8pCiAgICAgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYsIFZl
Y3Rvcjx1aW50OF90PiYpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgdW53cmFwQ3J5cHRvS2V5KGNv
bnN0IFZlY3Rvcjx1aW50OF90PiYsIFZlY3Rvcjx1aW50OF90PiYpIGNvbnN0IGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA5ZTUwOTEw
NDQ3NTlhZDA3YjBkYjdjNzg3Nzc3ZGNlZDc4NTA3ZmQ0Li43YzYyMWFiNDM3MjY2NTg5Nzk5NTBh
MTQzMzNmNWEyNzJhNDVmNzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtNzE1Niw2ICs3MTU2LDcgQEAgYm9vbCBXZWJQYWdlOjpjcmVhdGVB
cHBIaWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQgY3Jl
YXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFJl
Z2lzdGVyKCkuYWRkQXBwSGlnaGxpZ2h0KFN0YXRpY1JhbmdlOjpjcmVhdGUoc2VsZWN0aW9uUmFu
Z2UudmFsdWUoKSkpOworICAgIGRvY3VtZW50LT5hcHBIaWdobGlnaHRTdG9yYWdlKCkudXBkYXRl
QW5kU3RvcmVBcHBIaWdobGlnaHRzU3RvcmFnZSgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418566</attachid>
            <date>2021-01-27 11:20:29 -0800</date>
            <delta_ts>2021-01-27 22:37:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221020-20210127112028.patch</filename>
            <type>text/plain</type>
            <size>24309</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uNDQ5ZjBkMDVlOWRjNGJjMjY2MGMwYTIxNzZjNWVi
ZjA3ZmJkZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRMaXN0
RGF0YTo6dG9TaGFyZWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxp
Z2h0TGlzdERhdGE6OnRvRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIx
LTAxLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcwODc0KTogU29tZSBSZWFjdCBOYXRpdmUgYXBwcyBhcmUgcmVwb3J0
ZWQgYnJva2VuIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTc2NzI2OGEzMTYxMmJmZjY1MGEzNWU3Y2Zi
MmMzZjFlOGZiYzEwLi4yMWM2MmUxYjY4MWEwZGJlNGYzMzFjOWI4ZGJiNTVhNGUzMmYyMmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFw
cEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGE6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZV0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcEhpZ2hsaWdodHNTdG9yYWdlRGVsZWdhdGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUhpZ2hs
aWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZSk6CisKIDIwMjEtMDEtMjUgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNzA4NzQpOiBTb21lIFJlYWN0IE5hdGl2ZSBhcHBzIGFyZSByZXBvcnRlZCBicm9rZW4gb24g
aU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRMaXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHAKaW5kZXggNzkyOGJkYjlkYjAwOThiZTI5ZTBkOTA4YzE5ZDVk
NzIzYjlmYTliYi4uYjU0ZDU5YmIzNWRkYTE0YzZjZmRkOGI3ZmRlNDQ4NjA1ZjQwYjk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlz
dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcApAQCAtNDksNyArNDksNyBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBB
cHBIaWdobGlnaHRMaXN0RGF0YTo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQog
ICAgIHJldHVybiBkYXRhID8gKmRhdGEgOiBBcHBIaWdobGlnaHRMaXN0RGF0YSB7eyB9fTsKIH0K
IAotUmVmPFNoYXJlZEJ1ZmZlcj4gQXBwSGlnaGxpZ2h0TGlzdERhdGE6OnRvRGF0YSgpIGNvbnN0
CitSZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9TaGFyZWRCdWZmZXIo
KSBjb25zdAogewogICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKICAgICBl
bmNvZGVyIDw8ICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmgKaW5kZXggZjg4Mzk2ZjMxNDM2ZGE0N2Q5ZTVm
ODQ2NTNjNWFkN2U4MmE4NTNmNS4uNTEzYjIxNGRiOTc4OTIwOTQ0Y2RkYjFmYjBlYTE2NWQ3ZGE2
Y2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9B
cHBIaWdobGlnaHRMaXN0RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmFuZ2VzKFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1f
YW5ub3RhdGlvblJhbmdlcyA9IFdURk1vdmUocmFuZ2VzKTsgfQogICAgIHZvaWQgYWRkUmFuZ2Vz
KFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1fYW5ub3RhdGlvblJh
bmdlcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShyYW5nZXMpKTsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgUmVmPFNoYXJlZEJ1ZmZlcj4gdG9EYXRhKCkgY29uc3Q7CisgICAgUmVmPFNoYXJlZEJ1ZmZl
cj4gdG9TaGFyZWRCdWZmZXIoKSBjb25zdDsKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLnNpemUoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5ub3RhdGlvblJhbmdlcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5j
cHAKaW5kZXggNjRlZWY3ZDJhMGViNWY3NmVmMjM0OWZhMjZmYzYxYWI0ZjUyOTBiMC4uZDM2NjU4
NzNhODU2NGE2N2ZlZjlkNjg4MTcwNzExZmU0ZTFiMjRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAKICNpbmNs
dWRlICJBcHBIaWdobGlnaHRMaXN0RGF0YS5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0yMDksMTIgKzIxMCwxMiBAQCBBcHBIaWdo
bGlnaHRTdG9yYWdlOjpBcHBIaWdobGlnaHRTdG9yYWdlKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
IH0KIAotQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBw
SGlnaGxpZ2h0TGlzdERhdGEoKQordm9pZCBBcHBIaWdobGlnaHRTdG9yYWdlOjp1cGRhdGVBbmRT
dG9yZUFwcEhpZ2hsaWdodHNTdG9yYWdlKCkKIHsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFu
Z2VEYXRhPiBkYXRhOwogCiAgICAgaWYgKCFtX2RvY3VtZW50KQotICAgICAgICByZXR1cm4geyBX
VEZNb3ZlKGRhdGEpIH07CisgICAgICAgIHJldHVybjsKIAogICAgIGlmIChhdXRvIGFwcEhpZ2hs
aWdodFJlZ2lzdGVyID0gbV9kb2N1bWVudC0+YXBwSGlnaGxpZ2h0UmVnaXN0ZXJJZkV4aXN0cygp
KSB7CiAgICAgICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogYXBwSGlnaGxpZ2h0UmVnaXN0ZXIt
Pm1hcCgpKSB7CkBAIC0yMjIsOCArMjIzLDkgQEAgQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGln
aGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBwSGlnaGxpZ2h0TGlzdERhdGEoKQogICAgICAgICAgICAg
ICAgIGRhdGEuYXBwZW5kKGNyZWF0ZUFwcEhpZ2hsaWdodFJhbmdlRGF0YShyYW5nZURhdGEtPnJh
bmdlKSk7CiAgICAgICAgIH0KICAgICB9CisgICAgQXBwSGlnaGxpZ2h0TGlzdERhdGEgbGlzdERh
dGEgeyBXVEZNb3ZlKGRhdGEpIH07CiAKLSAgICByZXR1cm4geyBXVEZNb3ZlKGRhdGEpIH07Cisg
ICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS51cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFn
ZShsaXN0RGF0YS50b1NoYXJlZEJ1ZmZlcigpKTsKIH0KIAogVmVjdG9yPEFwcEhpZ2hsaWdodFJh
bmdlRGF0YT4gQXBwSGlnaGxpZ2h0U3RvcmFnZTo6cmVzdG9yZUFwcEhpZ2hsaWdodHMoUmVmPFNo
YXJlZEJ1ZmZlcj4mJiBidWZmZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmgKaW5kZXggZGIxNDk0ZmVhMjk3ZDI3OWI4
MWJkNWQxMDMxM2E4ZTFjYWZkYTQ1Mi4uNjEwZDA0MjVjM2NhNDAxNDlhODQ3YzM5MDJkMmQxYjBk
MTNjY2MzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBw
SGlnaGxpZ2h0U3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0
L0FwcEhpZ2hsaWdodFN0b3JhZ2UuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBBcHBIaWdobGln
aHRTdG9yYWdlIDogUmVmQ291bnRlZDxBcHBIaWdobGlnaHRTdG9yYWdlPiB7CiBwdWJsaWM6CiAg
ICAgQXBwSGlnaGxpZ2h0U3RvcmFnZShEb2N1bWVudCYpOwogCi0gICAgQXBwSGlnaGxpZ2h0TGlz
dERhdGEgY3JlYXRlQXBwSGlnaGxpZ2h0TGlzdERhdGEoKTsKKyAgICB2b2lkIHVwZGF0ZUFuZFN0
b3JlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoKTsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFuZ2VE
YXRhPiByZXN0b3JlQXBwSGlnaGxpZ2h0cyhSZWY8U2hhcmVkQnVmZmVyPiYmKTsKIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDk5Y2E2YTEzYzAwZGRkZjdkMGNkZjk1ZmVh
YTIwMTI1MmFiOTc5NjQuLmVhNDY1NTA3NTg4ZTNhZjliYjJkMzM1MzU4M2Q3NDI5NTJiZDU4ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjYyLDcgKzI2Miw2IEBACiAjaW5jbHVkZSA8
d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotI2lu
Y2x1ZGUgIkFwcEhpZ2hsaWdodExpc3REYXRhLmgiCiAjaW5jbHVkZSAiQXBwSGlnaGxpZ2h0U3Rv
cmFnZS5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5k
ZXggYTVjMjQ2OWI0Nzc3ZTY0MWZlN2MxZjdjNDI4NjQxZjdjZmY5MTY0ZS4uM2UyNWQyMDgxY2Qw
ZDBhZjUzMmFjNWY4NzZkZWU2OGQ1MjkwOGNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKQEAgLTUwMSw2ICs1MDEsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1l
Q2hvb3Nlcj4gRW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZURhdGVUaW1lQ2hvb3NlcihEYXRlVGkK
IAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIEVtcHR5Q2hyb21l
Q2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmKSBjb25zdAoreworfQorI2VuZGlmCisKIHZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnJ1
bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2VyJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAppbmRleCA3NDBmODhhZWM2YmQwNTY4YzU4YTdjMjAzYzk4ZDAxNjI1ZGYz
YjcxLi45ZjFiZWE0NDZlMTU1NzNiNDhhNzYwMGIwM2ZlYTQ1YzRkYzk0NTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNDUsNiArMTQ1LDEwIEBAIGNsYXNzIEVtcHR5
Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PERhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNs
aWVudCYpIGZpbmFsOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAg
dm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVy
PiYmKSBjb25zdCBmaW5hbDsKKyNlbmRpZgorCiAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUm
LCBGaWxlQ2hvb3NlciYpIGZpbmFsOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQoU2hhcmVEYXRh
V2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwog
ICAgIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29u
TG9hZGVyJikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYjcxMGU3MTVhNjZk
Y2FjNTY3NDJkYjZiYmVhNzQxZDZmODYzNDJiMy4uMzRkOGY4YzlmODc5NTkzZjZkMmY1Yzk1NGY5
MDhlZmJiODIwNWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTE1LDYgKzUxNSwxMyBA
QCB2b2lkIENocm9tZTo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZQogICAgIG1fY2xpZW50LmRpc3BhdGNoVmlld3BvcnRQ
cm9wZXJ0aWVzRGlkQ2hhbmdlKGFyZ3VtZW50cyk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCit2b2lkIENocm9tZTo6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKSBjb25zdAoreworICAgIG1fY2xpZW50LnVwZGF0ZUFw
cEhpZ2hsaWdodHNTdG9yYWdlKFdURk1vdmUoZGF0YSkpOworfQorI2VuZGlmCisKIHZvaWQgQ2hy
b21lOjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7CiAgICAgbV9jbGllbnQuc2V0
Q3Vyc29yKGN1cnNvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCBhODlkZDFhMWQ4NjVlNTMyOGVi
MDUwNTc2NTQwZDNmMjMyYTNjZmMwLi4wNTFmZWE4MTJkYTM1MjM4YTU0ODA4YWNiNzQ0YWQyNTgx
MDIwOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTE2NCw2ICsxNjQsMTAgQEAgcHVibGljOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+IGNyZWF0ZURhdGVUaW1lQ2hvb3Nl
cihEYXRlVGltZUNob29zZXJDbGllbnQmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdI
TElHSFRTKQorICAgIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3Q7CisjZW5kaWYKKwogICAgIHZvaWQgcnVuT3BlblBhbmVs
KEZyYW1lJiwgRmlsZUNob29zZXImKTsKICAgICB2b2lkIHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2
b2lkIHNob3dDb250YWN0UGlja2VyKGNvbnN0IENvbnRhY3RzUmVxdWVzdERhdGEmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDVmZDRiNjUxYWRiOWM4NDcxZTEwMjY1YmQ5
N2NmYjgwYjcyNzc5NjIuLjlhNDA5M2MwOWRlYjEwYzczZDExZGVmZWVmMTYwMjBjYTY3NmQwNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzAyLDYgKzMwMiwxMCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVE
YXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50JikgPSAwOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0ID0gMDsKKyNl
bmRpZgorCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2Vy
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzaG93U2hhcmVTaGVldChTaGFyZURhdGFXaXRoUGFy
c2VkVVJMJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNhbGxiYWNrKSB7
IGNhbGxiYWNrKGZhbHNlKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGFjdFBpY2tlcihj
b25zdCBDb250YWN0c1JlcXVlc3REYXRhJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKFdU
Rjo6bnVsbG9wdCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IDE3YzZiZTkxYTI0OWJkNDE3NzAxMTQ0ZmUzMjNhZjU0ZGMyNmY5MzUu
LjkzYjMwMzI2N2FmMzM0ZGQ4OWY4YjM2NzAzMDNlYjAyMzNjZDc3MjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTk1MCw2ICsxOTUw
LDI0IEBAIC0gKHZvaWQpX3NldEhpc3RvcnlEZWxlZ2F0ZTooaWQgPFdLSGlzdG9yeURlbGVnYXRl
UHJpdmF0ZT4paGlzdG9yeURlbGVnYXRlCiAgICAgX25hdmlnYXRpb25TdGF0ZS0+c2V0SGlzdG9y
eURlbGVnYXRlKGhpc3RvcnlEZWxlZ2F0ZSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdI
VFMpCistIChpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KV9hcHBIaWdobGlnaHRzRGVsZWdh
dGUKK3sKKyAgICByZXR1cm4gX2FwcEhpZ2hsaWdodHNEZWxlZ2F0ZS5nZXRBdXRvcmVsZWFzZWQo
KTsKK30KKworLSAodm9pZClfc2V0QXBwSGlnaGxpZ2h0c0RlbGVnYXRlOihpZCA8X1dLQXBwSGln
aGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2FwcEhpZ2hsaWdodHNEZWxlZ2F0ZSA9
IGRlbGVnYXRlOworfQorCistICh2b2lkKXVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOihOU0Rh
dGEgKilkYXRhCit7CisgICAgaWYgKFtfYXBwSGlnaGxpZ2h0c0RlbGVnYXRlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6KV0p
CisgICAgICAgIFtfYXBwSGlnaGxpZ2h0c0RlbGVnYXRlIF93ZWJWaWV3OnNlbGYgdXBkYXRlQXBw
SGlnaGxpZ2h0c1N0b3JhZ2U6ZGF0YV07Cit9CisjZW5kaWYKKwogLSAodm9pZClfdXBkYXRlTWVk
aWFQbGF5YmFja0NvbnRyb2xzTWFuYWdlcgogewogI2lmIEhBVkUoVE9VQ0hfQkFSKSAmJiBFTkFC
TEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4IGE3ODZjN2E2
NDgyNjRlZjAyY2M2YzY3NjEzNGQyMTViOGFjNGEzYjQuLjE1YjM2Y2Q3MmJjMDVlNTA0ODM4M2I4
YjRlNmQyZTc1ZjlkM2Y1MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0yNTgsNiArMjU4LDEwIEBAIGNsYXNz
IFZpZXdHZXN0dXJlQ29udHJvbGxlcjsKIC0gKHZvaWQpX2RpZEludmFsaWRhdGVEYXRhRm9yQXR0
YWNobWVudDooQVBJOjpBdHRhY2htZW50JilhdHRhY2htZW50OwogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQVBQX0hJR0hMSUdIVFMpCistICh2b2lkKV91cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZToo
TlNEYXRhICopZGF0YTsKKyNlbmRpZgorCiAtICh2b2lkKV9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJl
c2VudGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayB3aXRob3V0V2FpdGlu
Z0ZvclBhaW50aW5nOihCT09MKXdpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmcgd2l0aG91dFdhaXRp
bmdGb3JBbmltYXRlZFJlc2l6ZTooQk9PTCl3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXpl
OwogCiAtICh2b2lkKV9zaG93U2FmZUJyb3dzaW5nV2FybmluZzooY29uc3QgV2ViS2l0OjpTYWZl
QnJvd3NpbmdXYXJuaW5nJil3YXJuaW5nIGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFZhcmlhbnQ8V2ViS2l0OjpDb250aW51ZVVuc2FmZUxvYWQsIFVSTD4mJik+JiYp
Y29tcGxldGlvbkhhbmRsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVnYXRlLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2QxNTI5NmJkMjJjYmY3MGI0MGViN2YzZmFiMTZmMmY1MzRhM2Q4NAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBIaWdo
bGlnaHRTdG9yYWdlRGVsZWdhdGUuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0Bwcm90b2NvbCBfV0tBcHBIaWdobGln
aHREZWxlZ2F0ZSA8TlNPYmplY3Q+CisKK0BvcHRpb25hbAorCistICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGRpZENyZWF0ZUhpZ2hsaWdodHNEYXRhOihOU0RhdGEgKilkYXRh
OworCitAZW5kCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bh
Z2VDbGllbnRJbXBsQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdl
Q2xpZW50SW1wbENvY29hLm1tCmluZGV4IDgwNjFiZmJkNDYyYWYwZDUxZGE4NmNmNGY5NTI1Zjdh
N2JlM2EyOWYuLjk4ZWRmZDA0NjRkNzAzNmQ4YTc0Yzg0MzRlNTMyZjY0YTdiNmZjYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2Nv
YS5tbQpAQCAtOTMsNiArOTMsMTQgQEAgTlNTZXQgKlBhZ2VDbGllbnRJbXBsQ29jb2E6OnNlcmlh
bGl6YWJsZUZpbGVXcmFwcGVyQ2xhc3NlcygpIGNvbnN0CiAKICNlbmRpZgogCisjaWYgRU5BQkxF
KEFQUF9ISUdITElHSFRTKQordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjp1cGRhdGVBcHBIaWdo
bGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpCit7CisgICAg
UmV0YWluUHRyPE5TRGF0YT4gbnNEYXRhID0gaW1hZ2VCdWZmZXItPmNyZWF0ZU5TRGF0YSgpOwor
ICAgIFttX3dlYlZpZXcgX3VwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOm5zRGF0YV07Cit9Cisj
ZW5kaWYgLy8gRU5BQkxFKEFQUF9ISUdITElHSFRTKQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsQ29j
b2E6OnBhZ2VDbG9zZWQoKQogewogICAgIG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5j
bGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGU4ZDI3YzJhMTNh
MzQwYTFmNzg1ZTA4YTZlYmYzMjUyZjljNTJmNTguLmZhMjk3NzZiOGQwZGZiNWFkODczODE2Mjdh
ZDMxMzk0OTM1Njg1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTU1
NCw2ICs1NTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBf
SElHSExJR0hUUykKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2Uo
UmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKSA9IDA7CisjZW5kaWYKKwogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVS
ZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIqKSB7IH0KICAgICB2aXJ0dWFsIFdURjo6T3B0
aW9uYWw8dW5zaWduZWQ+IGFjdGl2ZVRvdWNoSWRlbnRpZmllckZvckdlc3R1cmVSZWNvZ25pemVy
KFVJR2VzdHVyZVJlY29nbml6ZXIqKSB7IHJldHVybiBXVEY6Om51bGxvcHQ7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGU0OTM5ZTY3NGRkNGZiMzEzMzYx
MzkzMzliNGM1YmM5MjkxMzdjN2EuLjkzZDNkOTczZDZkODA4OGUyMzY4Mzk5ZGM0Y2U4ZWY0NWE5
MjY5MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtOTkx
OCw2ICs5OTE4LDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpnZXRBcHBsaWNhdGlvbk1hbmlmZXN0
KEZ1bmN0aW9uPHZvaWQoY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6CiB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVBcHBIaWdo
bGlnaHRzU3RvcmFnZShjb25zdCBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkmIGRhdGEpCit7CisgICAg
cGFnZUNsaWVudCgpLnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKGRhdGEpOworfQorI2VuZGlm
CisKIG5hbWVzcGFjZSB7CiBlbnVtIGNsYXNzIENvbXBsZXRpb25Db25kaXRpb24gewogICAgIENh
bmNlbGxhdGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDZm
ZDIwMjk0ODQyMGI2YWI3NDM4MTE5MDEzZDk5NmJjMjdmODk1Yy4uMDE1MGY1NWUzODI3NjhiMjRh
YjhkYjEwMzlkMGQyNGYwMGExOTJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKQEAgLTE4MjAsNiArMTgyMCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShBUFBfSElH
SExJR0hUUykKICAgICB2b2lkIGNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShDcmVh
dGVOZXdHcm91cEZvckhpZ2hsaWdodCk7CisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3Rv
cmFnZShjb25zdCBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkmKTsKICNlbmRpZgogCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgppbmRleCBmZDAxZDU1M2NjNGVhMGQ1M2Y4NjQ5MzQwZjRjY2MxYWJmYTU3
NWY3Li5lNjY3Zjc2ZTBmYTVjOGYzM2RmNTBkZTFlNTFmYzgyMzIyMTQ1ZmRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01MzUs
NiArNTM1LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgV3JpdGVQcm9taXNl
ZEF0dGFjaG1lbnRUb1Bhc3RlYm9hcmQoc3RydWN0IFdlYkNvcmU6OlByb21pc2VkQXR0YWNobWVu
dEluZm8gaW5mbykKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorICAgIFVw
ZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKElQQzo6U2hhcmVkQnVmZmVyQ29weSBkYXRhKQorI2Vu
ZGlmCisKICAgICBTaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VTdHJpbmcodW5zaWduZWQga2V5
U2l6ZUluZGV4LCBTdHJpbmcgY2hhbGxlbmdlU3RyaW5nLCBVUkwgdXJsKSAtPiAoU3RyaW5nIHJl
c3VsdCkgU3luY2hyb25vdXMKIAogI2lmIEVOQUJMRShTUEVFQ0hfU1lOVEhFU0lTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmEwM2Rj
ODUxNDAwMzg1ODI2MTc1M2RlY2NmOTU3NzdhMWFiY2VhMS4uNGE5ZDRiYTc5ZjY5YzY2MmIyZWE2
MjllYmM1OTMyYmJjMWVkYmNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDQsNiArOTQ0LDcgQEAKIAkJNDQzMEQwMTcyNTc2RDlE
RDAwNDZENDAxIC8qIENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMwRDAxNjI1NzZEOURDMDA0NkQ0MDEg
LyogQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQuaCAqLzsgfTsKIAkJNDQ1OTk4NDIyMjgzM0U4
NzAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1OTk4NDEyMjgzM0U2MDAwRTYxMzcz
IC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oICovOyB9OwogCQk0NDZEQzY0QzI0QTJE
OEU1MDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NkRDNjRCMjRBMkQ4QUQw
MDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oICovOyB9OworCQk0
NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVnYXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDc2RUYw
ODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVnYXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ4MjczNDcy
NDUyOEY2MDAwQTk1NDkzIC8qIENvY29hSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODI3MzQ2MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUlt
YWdlLmggKi87IH07CiAJCTQ0OUQ5MERBMjFGREMzMEIwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRp
Y2F0aW9uU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NDlEOTBEODIxRkQ2M0ZFMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNv
ZnRMaW5rLm1tICovOyB9OwogCQk0NEU5MzZGRDI0NDdDMkQ4MDA5RkEzRTMgLyogTGVnYWN5Q3Vz
dG9tUHJvdG9jb2xJRC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDRFOTM2RkMyNDQ3QzI1NjAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQu
aCAqLzsgfTsKQEAgLTM3NzUsNiArMzc3Niw3IEBACiAJCTQ0NTBBRUJGMURDM0ZBRTUwMDk5NDNG
MiAvKiBTaGFyZWRNZW1vcnlDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTaGFyZWRNZW1vcnlDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0NTk5ODQxMjI4MzNFNjAwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NkRDNjRCMjRBMkQ4QUQwMDYxRjM5MCAvKiBQbGF5
YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxp
Z2h0U3RvcmFnZURlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9X
S0FwcEhpZ2hsaWdodFN0b3JhZ2VEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NDgyNzM0NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDb2NvYUltYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ0OUQ5MEQ4MjFGRDYzRkUwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRpY2F0aW9u
U29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2Nh
bEF1dGhlbnRpY2F0aW9uU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ0QTQ4MUM2MjFGMkQyN0IwMEYyRjkxOSAvKiBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0
aW9uWFBDQ29uc3RhbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaWVudENlcnRpZmljYXRl
QXV0aGVudGljYXRpb25YUENDb25zdGFudHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNzY2OSw2ICs3NjcxLDcgQEAKIAkJCQkzN0E1RTAxMjE4QkJGOTM3MDAwQTA4MUUgLyog
X1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaCAqLywKIAkJCQkzN0E1RTAxMTE4QkJGOTM3MDAwQTA4
MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8ubW0gKi8sCiAJCQkJMzc5QTg3MzUxOEJCRkE0
MzAwNTg4QUYyIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCAqLywKKwkJCQk0
NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVnYXRl
LmggKi8sCiAJCQkJNjMxMDhGOTQxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFu
aWZlc3QuaCAqLywKIAkJCQk2MzEwOEY5NTFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRp
b25NYW5pZmVzdC5tbSAqLywKIAkJCQk2MzEwOEY5ODFGOTY3MUY3MDBBMERCODQgLyogX1dLQXBw
bGljYXRpb25NYW5pZmVzdEludGVybmFsLmggKi8sCkBAIC0xMTI3Nyw2ICsxMTI4MCw3IEBACiAJ
CQlmaWxlcyA9ICgKIAkJCQkzN0E1RTAxNDE4QkJGOTNGMDAwQTA4MUUgLyogX1dLQWN0aXZhdGVk
RWxlbWVudEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OUE4NzM2MThCQkZBNDMwMDU4OEFG
MiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0U3RvcmFnZURlbGVn
YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2MzEwOEY5NjFGOTY3MTlDMDBBMERCODQgLyogX1dL
QXBwbGljYXRpb25NYW5pZmVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjMxMDhGOTkxRjk2NzFG
NzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRjQ0MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBmZWMwZmVlZmQ1NTNkNmVjMjJj
NGQ4Y2RkZjlhOGVjN2ZlMThmZGRiLi4xMjY3OWVmMzg2ZjY5ZWMxOTQ1MmI2ZTY5NDNjMTMzZDUx
MGM1M2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTIzOCw2ICsxMjM4LDEzIEBAIGJv
b2wgV2ViQ2hyb21lQ2xpZW50Ojp1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiB3cmFwcGVkS2V5LCBWZWN0b3I8CiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElH
SFRTKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJl
ZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkKK3sKKyAgICBtX3BhZ2Uuc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpVcGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShkYXRhKSk7Cit9
CisjZW5kaWYKKwogU3RyaW5nIFdlYkNocm9tZUNsaWVudDo6c2lnbmVkUHVibGljS2V5QW5kQ2hh
bGxlbmdlU3RyaW5nKHVuc2lnbmVkIGtleVNpemVJbmRleCwgY29uc3QgU3RyaW5nJiBjaGFsbGVu
Z2VTdHJpbmcsIGNvbnN0IFVSTCYgdXJsKSBjb25zdAogewogICAgIFN0cmluZyByZXN1bHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggMDU4MjJiOTk3YmE4NDE1MDkzYTYzZmQxNWY1NDM4Yzk2OTRl
ZmU5Yi4uZGM3MmIyZWZlYzVlN2I1OThlOTVmMjQxMzU5NGE2MWM1NWQ0NjYwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaApAQCAtMzQ1LDYgKzM0NSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgaXNQbGF5
aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdz
LCB1aW50NjRfdCkgZmluYWw7CiAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYkNvcmU6
OkF1dG9wbGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+KSBm
aW5hbDsKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2b2lkIHVwZGF0ZUFwcEhp
Z2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0IGZpbmFs
OworI2VuZGlmCisKICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKICAgICBib29sIHdyYXBDcnlwdG9L
ZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgY29uc3QgZmluYWw7
CiAgICAgYm9vbCB1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9y
PHVpbnQ4X3Q+JikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IDllNTA5MTA0NDc1OWFkMDdiMGRiN2M3ODc3NzdkY2VkNzg1
MDdmZDQuLjdjNjIxYWI0MzcyNjY1ODk3OTk1MGExNDMzM2Y1YTI3MmE0NWY3MDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03MTU2LDYgKzcx
NTYsNyBAQCBib29sIFdlYlBhZ2U6OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShD
cmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCBjcmVhdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICBkb2N1bWVudC0+YXBwSGlnaGxpZ2h0UmVnaXN0ZXIoKS5hZGRBcHBIaWdobGlnaHQoU3Rh
dGljUmFuZ2U6OmNyZWF0ZShzZWxlY3Rpb25SYW5nZS52YWx1ZSgpKSk7CisgICAgZG9jdW1lbnQt
PmFwcEhpZ2hsaWdodFN0b3JhZ2UoKS51cGRhdGVBbmRTdG9yZUFwcEhpZ2hsaWdodHNTdG9yYWdl
KCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418621</attachid>
            <date>2021-01-27 22:37:13 -0800</date>
            <delta_ts>2021-01-27 23:49:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221020-20210127223712.patch</filename>
            <type>text/plain</type>
            <size>30563</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uNDQ5ZjBkMDVlOWRjNGJjMjY2MGMwYTIxNzZjNWVi
ZjA3ZmJkZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRMaXN0
RGF0YTo6dG9TaGFyZWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxp
Z2h0TGlzdERhdGE6OnRvRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIx
LTAxLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcwODc0KTogU29tZSBSZWFjdCBOYXRpdmUgYXBwcyBhcmUgcmVwb3J0
ZWQgYnJva2VuIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTc2NzI2OGEzMTYxMmJmZjY1MGEzNWU3Y2Zi
MmMzZjFlOGZiYzEwLi4yMWM2MmUxYjY4MWEwZGJlNGYzMzFjOWI4ZGJiNTVhNGUzMmYyMmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFw
cEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGE6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZV0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcEhpZ2hsaWdodHNTdG9yYWdlRGVsZWdhdGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUhpZ2hs
aWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZSk6CisKIDIwMjEtMDEtMjUgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNzA4NzQpOiBTb21lIFJlYWN0IE5hdGl2ZSBhcHBzIGFyZSByZXBvcnRlZCBicm9rZW4gb24g
aU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRMaXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHAKaW5kZXggNzkyOGJkYjlkYjAwOThiZTI5ZTBkOTA4YzE5ZDVk
NzIzYjlmYTliYi4uYjU0ZDU5YmIzNWRkYTE0YzZjZmRkOGI3ZmRlNDQ4NjA1ZjQwYjk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlz
dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcApAQCAtNDksNyArNDksNyBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBB
cHBIaWdobGlnaHRMaXN0RGF0YTo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQog
ICAgIHJldHVybiBkYXRhID8gKmRhdGEgOiBBcHBIaWdobGlnaHRMaXN0RGF0YSB7eyB9fTsKIH0K
IAotUmVmPFNoYXJlZEJ1ZmZlcj4gQXBwSGlnaGxpZ2h0TGlzdERhdGE6OnRvRGF0YSgpIGNvbnN0
CitSZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9TaGFyZWRCdWZmZXIo
KSBjb25zdAogewogICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKICAgICBl
bmNvZGVyIDw8ICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmgKaW5kZXggZjg4Mzk2ZjMxNDM2ZGE0N2Q5ZTVm
ODQ2NTNjNWFkN2U4MmE4NTNmNS4uNTEzYjIxNGRiOTc4OTIwOTQ0Y2RkYjFmYjBlYTE2NWQ3ZGE2
Y2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9B
cHBIaWdobGlnaHRMaXN0RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmFuZ2VzKFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1f
YW5ub3RhdGlvblJhbmdlcyA9IFdURk1vdmUocmFuZ2VzKTsgfQogICAgIHZvaWQgYWRkUmFuZ2Vz
KFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1fYW5ub3RhdGlvblJh
bmdlcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShyYW5nZXMpKTsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgUmVmPFNoYXJlZEJ1ZmZlcj4gdG9EYXRhKCkgY29uc3Q7CisgICAgUmVmPFNoYXJlZEJ1ZmZl
cj4gdG9TaGFyZWRCdWZmZXIoKSBjb25zdDsKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLnNpemUoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5ub3RhdGlvblJhbmdlcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5j
cHAKaW5kZXggNjRlZWY3ZDJhMGViNWY3NmVmMjM0OWZhMjZmYzYxYWI0ZjUyOTBiMC4uYWNkZWNj
YmZkZmI0ZWQyMTBiZDgyYmEyZjFkYjNlOTQ1YjZkMTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAKICNpbmNs
dWRlICJBcHBIaWdobGlnaHRMaXN0RGF0YS5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0yMDksMTIgKzIxMCwxMiBAQCBBcHBIaWdo
bGlnaHRTdG9yYWdlOjpBcHBIaWdobGlnaHRTdG9yYWdlKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
IH0KIAotQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBw
SGlnaGxpZ2h0TGlzdERhdGEoKQordm9pZCBBcHBIaWdobGlnaHRTdG9yYWdlOjp1cGRhdGVBcHBI
aWdobGlnaHRzU3RvcmFnZSgpCiB7CiAgICAgVmVjdG9yPEFwcEhpZ2hsaWdodFJhbmdlRGF0YT4g
ZGF0YTsKIAogICAgIGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIHsgV1RGTW92ZShk
YXRhKSB9OworICAgICAgICByZXR1cm47CiAKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdp
c3RlciA9IG1fZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFJlZ2lzdGVySWZFeGlzdHMoKSkgewogICAg
ICAgICBmb3IgKGF1dG8mIGhpZ2hsaWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkg
ewpAQCAtMjIyLDggKzIyMyw5IEBAIEFwcEhpZ2hsaWdodExpc3REYXRhIEFwcEhpZ2hsaWdodFN0
b3JhZ2U6OmNyZWF0ZUFwcEhpZ2hsaWdodExpc3REYXRhKCkKICAgICAgICAgICAgICAgICBkYXRh
LmFwcGVuZChjcmVhdGVBcHBIaWdobGlnaHRSYW5nZURhdGEocmFuZ2VEYXRhLT5yYW5nZSkpOwog
ICAgICAgICB9CiAgICAgfQorICAgIEFwcEhpZ2hsaWdodExpc3REYXRhIGxpc3REYXRhIHsgV1RG
TW92ZShkYXRhKSB9OwogCi0gICAgcmV0dXJuIHsgV1RGTW92ZShkYXRhKSB9OworICAgIG1fZG9j
dW1lbnQtPnBhZ2UoKS0+Y2hyb21lKCkudXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UobGlzdERh
dGEudG9TaGFyZWRCdWZmZXIoKSk7CiB9CiAKIFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+
IEFwcEhpZ2hsaWdodFN0b3JhZ2U6OnJlc3RvcmVBcHBIaWdobGlnaHRzKFJlZjxTaGFyZWRCdWZm
ZXI+JiYgYnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGln
aHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGln
aHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5oCmluZGV4IGRiMTQ5NGZlYTI5N2QyNzliODFiZDVkMTAz
MTNhOGUxY2FmZGE0NTIuLmMxMGEzNDI4YzE4MmUwMGRhMjJhYzgxODcxYmYyOTk2N2QwYWVhYjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdo
dFN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRTdG9yYWdlLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgQXBwSGlnaGxpZ2h0U3RvcmFn
ZSA6IFJlZkNvdW50ZWQ8QXBwSGlnaGxpZ2h0U3RvcmFnZT4gewogcHVibGljOgogICAgIEFwcEhp
Z2hsaWdodFN0b3JhZ2UoRG9jdW1lbnQmKTsKIAotICAgIEFwcEhpZ2hsaWdodExpc3REYXRhIGNy
ZWF0ZUFwcEhpZ2hsaWdodExpc3REYXRhKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRh
dGVBcHBIaWdobGlnaHRzU3RvcmFnZSgpOwogICAgIFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURh
dGE+IHJlc3RvcmVBcHBIaWdobGlnaHRzKFJlZjxTaGFyZWRCdWZmZXI+JiYpOwogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDA1M2JkODdkYTdjZGE4NDUxYWYxM2VkYjMxYzEzOGFmNjY0NTk1ZTIuLjM5Yjg1ZjQw
NjgyMzdmNGU3ZTk4ZjdhZGIyMzgwYTMzN2U5NDdlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMTIsNyArMTIxMiw3IEBA
CiAJCTQzQzA5MkJDMTJEOUU0RUUwMEE5ODlDMyAvKiBSZW5kZXJTVkdGb3JlaWduT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0M0MwOTJCQTEy
RDlFNEVFMDBBOTg5QzMgLyogUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5oICovOyB9OwogCQk0M0VE
RDY3RjFCNDg1REJGMDA2NDBFNzUgLyogQ29tYmluZWRGaWx0ZXJzQWxwaGFiZXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzRURENjdEMUI0ODVEQkYw
MDY0MEU3NSAvKiBDb21iaW5lZEZpbHRlcnNBbHBoYWJldC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0MTUyOTJFMEUxQUU4QTAwMEM0QTJEMCAv
KiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDE1MjkyQzBFMUFFOEEwMDBDNEEyRDAgLyogSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTQ0MjUwNzA5MjU4MjlBMjcwMEMwOTM2OCAvKiBBcHBIaWdobGlnaHRTdG9yYWdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDI1MDcwNzI1
ODI5QTE0MDBDMDkzNjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oICovOyB9OworCQk0NDI1MDcw
OTI1ODI5QTI3MDBDMDkzNjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQyNTA3MDcyNTgyOUExNDAwQzA5MzY4
IC8qIEFwcEhpZ2hsaWdodFN0b3JhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0NDMwRDAwQjI1NzVBODNFMDA0NkQ0MDEgLyogSGlnaGxpZ2h0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEU4OEU1
MTIzNkE1QzhEMDA5QjQ4NDcgLyogSGlnaGxpZ2h0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQzMEQwMEQyNTc1QThBNTAwNDZENDAxIC8qIEhp
Z2hsaWdodFJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NEU4OEU1MDIzNkE1NkFDMDA5QjQ4NDcgLyogSGlnaGxpZ2h0UmVnaXN0ZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDU3NzVF
NTIwNDcyRjczMDA4RENFNUQgLyogTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1Nzc1RTQyMDQ3MkY3
MzAwOERDRTVEIC8qIExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggOTljYTZhMTNjMDBkZGRmN2QwY2RmOTVmZWFhMjAxMjUyYWI5Nzk2NC4uZWE0NjU1MDc1
ODhlM2FmOWJiMmQzMzUzNTgzZDc0Mjk1MmJkNThmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0yNjIsNyArMjYyLDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAK
ICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCi0jaW5jbHVkZSAiQXBwSGlnaGxpZ2h0TGlzdERh
dGEuaCIKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAppbmRleCBkN2YwYTA5OGIyMTc0ZjdmMjI3NzI2ODhmMWU2M2E3ZDk4NTY3NThi
Li42MmIzMzU2MDVmZThlNjZmNTAzYjM2M2FiY2JkY2RjN2E4ODg3NWJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaApAQCAtMTU3Nyw3ICsxNTc3LDcgQEAgcHVibGljOgogICAgIEhpZ2hsaWdodFJlZ2lz
dGVyKiBhcHBIaWdobGlnaHRSZWdpc3RlcklmRXhpc3RzKCkgeyByZXR1cm4gbV9hcHBIaWdobGln
aHRSZWdpc3Rlci5nZXQoKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIEhpZ2hsaWdodFJlZ2lzdGVy
JiBhcHBIaWdobGlnaHRSZWdpc3RlcigpOwogCi0gICAgQXBwSGlnaGxpZ2h0U3RvcmFnZSYgYXBw
SGlnaGxpZ2h0U3RvcmFnZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIEFwcEhpZ2hsaWdodFN0b3Jh
Z2UmIGFwcEhpZ2hsaWdodFN0b3JhZ2UoKTsKICAgICBBcHBIaWdobGlnaHRTdG9yYWdlKiBhcHBI
aWdobGlnaHRTdG9yYWdlSWZFeGlzdHMoKSBjb25zdCB7IHJldHVybiBtX2FwcEhpZ2hsaWdodFN0
b3JhZ2UuZ2V0KCk7IH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcAppbmRleCBhNWMyNDY5YjQ3NzdlNjQxZmU3YzFmN2M0Mjg2NDFmN2NmZjkxNjRlLi4zZTI1
ZDIwODFjZDBkMGFmNTMyYWM1Zjg3NmRlZTY4ZDUyOTA4Y2IzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNTAxLDYgKzUwMSwxMiBAQCBzdGQ6OnVuaXF1ZV9wdHI8
RGF0ZVRpbWVDaG9vc2VyPiBFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlRGF0ZVRpbWVDaG9vc2Vy
KERhdGVUaQogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgRW1w
dHlDaHJvbWVDbGllbnQ6OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+JiYpIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogdm9pZCBFbXB0eUNocm9tZUNs
aWVudDo6cnVuT3BlblBhbmVsKEZyYW1lJiwgRmlsZUNob29zZXImKQogewogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDc0MGY4OGFlYzZiZDA1NjhjNThhN2MyMDNjOThk
MDE2MjVkZjNiNzEuLjlmMWJlYTQ0NmUxNTU3M2I0OGE3NjAwYjAzZmVhNDVjNGRjOTQ1MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgY2xh
c3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50IHsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVEYXRlVGltZUNob29zZXIoRGF0ZVRpbWVD
aG9vc2VyQ2xpZW50JikgZmluYWw7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hU
UykKKyAgICB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFy
ZWRCdWZmZXI+JiYpIGNvbnN0IGZpbmFsOworI2VuZGlmCisKICAgICB2b2lkIHJ1bk9wZW5QYW5l
bChGcmFtZSYsIEZpbGVDaG9vc2VyJikgZmluYWw7CiAgICAgdm9pZCBzaG93U2hhcmVTaGVldChT
aGFyZURhdGFXaXRoUGFyc2VkVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikg
ZmluYWw7CiAgICAgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jiwg
RmlsZUljb25Mb2FkZXImKSBmaW5hbCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBiNzEw
ZTcxNWE2NmRjYWM1Njc0MmRiNmJiZWE3NDFkNmY4NjM0MmIzLi4zNGQ4ZjhjOWY4Nzk1OTNmNmQy
ZjVjOTU0ZjkwOGVmYmI4MjA1ZDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC01MTUsNiAr
NTE1LDEzIEBAIHZvaWQgQ2hyb21lOjpkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5n
ZShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgYXJndW1lCiAgICAgbV9jbGllbnQuZGlzcGF0Y2hW
aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoYXJndW1lbnRzKTsKIH0KIAorI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKK3ZvaWQgQ2hyb21lOjp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShS
ZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGNvbnN0Cit7CisgICAgbV9jbGllbnQu
dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoV1RGTW92ZShkYXRhKSk7Cit9CisjZW5kaWYKKwog
dm9pZCBDaHJvbWU6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKICAgICBtX2Ns
aWVudC5zZXRDdXJzb3IoY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IGE4OWRkMWExZDg2
NWU1MzI4ZWIwNTA1NzY1NDBkM2YyMzJhM2NmYzAuLjA1MWZlYTgxMmRhMzUyMzhhNTQ4MDhhY2I3
NDRhZDI1ODEwMjA5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtMTY0LDYgKzE2NCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRp
bWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCYpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
QVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKSBjb25zdDsKKyNlbmRpZgorCiAgICAgdm9pZCBydW5P
cGVuUGFuZWwoRnJhbWUmLCBGaWxlQ2hvb3NlciYpOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQo
U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
OwogICAgIHZvaWQgc2hvd0NvbnRhY3RQaWNrZXIoY29uc3QgQ29udGFjdHNSZXF1ZXN0RGF0YSYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8VmVjdG9yPENvbnRhY3RJbmZvPj4mJik+
JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNWZkNGI2NTFhZGI5Yzg0NzFl
MTAyNjViZDk3Y2ZiODBiNzI3Nzk2Mi4uOWE0MDkzYzA5ZGViMTBjNzNkMTFkZWZlZWYxNjAyMGNh
Njc2ZDA1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0zMDIsNiArMzAyLDEw
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+
IGNyZWF0ZURhdGVUaW1lQ2hvb3NlcihEYXRlVGltZUNob29zZXJDbGllbnQmKSA9IDA7CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3Qg
PSAwOworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lJiwgRmls
ZUNob29zZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2Fs
bGJhY2spIHsgY2FsbGJhY2soZmFsc2UpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNob3dDb250YWN0
UGlja2VyKGNvbnN0IENvbnRhY3RzUmVxdWVzdERhdGEmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVy
PHZvaWQoT3B0aW9uYWw8VmVjdG9yPENvbnRhY3RJbmZvPj4mJik+JiYgY2FsbGJhY2spIHsgY2Fs
bGJhY2soV1RGOjpudWxsb3B0KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggMTdjNmJlOTFhMjQ5YmQ0MTc3MDExNDRmZTMyM2FmNTRk
YzI2ZjkzNS4uZGQ4NjRiNjhmNGM5YzFkMjNjOTBhZGM5Yzk4YzVlZjRjZmY5NDg1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC05OCw2
ICs5OCw3IEBACiAjaW1wb3J0ICJXZWJVUkxTY2hlbWVIYW5kbGVyQ29jb2EuaCIKICNpbXBvcnQg
IldlYlZpZXdJbXBsLmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFs
LmgiCisjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRGlh
Z25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRmluZERlbGVnYXRlLmgiCiAj
aW1wb3J0ICJfV0tGcmFtZUhhbmRsZUludGVybmFsLmgiCkBAIC0xNDAzLDYgKzE0MDQsMjggQEAg
LSAodm9pZClfZGlkSW52YWxpZGF0ZURhdGFGb3JBdHRhY2htZW50OihBUEk6OkF0dGFjaG1lbnQm
KWF0dGFjaG1lbnQKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCistIChpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+
KV9hcHBIaWdobGlnaHRzRGVsZWdhdGUKK3sKKyAgICByZXR1cm4gX2FwcEhpZ2hsaWdodHNEZWxl
Z2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKK30KKworLSAodm9pZClfc2V0QXBwSGlnaGxpZ2h0c0Rl
bGVnYXRlOihpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2Fw
cEhpZ2hsaWdodHNEZWxlZ2F0ZSA9IGRlbGVnYXRlOworfQorCistICh2b2lkKV91cGRhdGVBcHBI
aWdobGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0YQoreworICAgIGF1dG8gZGVsZWdhdGUgPSBz
ZWxmLl9hcHBIaWdobGlnaHRzRGVsZWdhdGU7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOildKQorICAgICAgICBbZGVsZWdh
dGUgX3dlYlZpZXc6c2VsZiB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTpkYXRhXTsKK30KKyNl
bmRpZgorCiAtIChXS1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nCiB7CiAgICAgcmV0dXJuIHRvQVBJ
KF9wYWdlLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0ludGVybmFsLmgKaW5kZXggYTc4NmM3YTY0ODI2NGVmMDJjYzZjNjc2MTM0
ZDIxNWI4YWM0YTNiNC4uNDQzOWE2NDEzYjdjZjkzODQyMmJiZjAzODg1ZmIwYjUyZWQ5ODI3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0lu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmgKQEAgLTEwNSw2ICsxMDUsNyBAQCBjbGFzcyBWaWV3R2VzdHVyZUNvbnRyb2xs
ZXI7CiAKIEBwcm90b2NvbCBfV0tUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGU7CiBAcHJvdG9jb2wg
X1dLSW5wdXREZWxlZ2F0ZTsKK0Bwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZTsKIAog
QGludGVyZmFjZSBXS1dlYlZpZXcgKCkgV0tfV0VCX1ZJRVdfUFJPVE9DT0xTIHsKIApAQCAtMTE5
LDYgKzEyMCw3IEBAIGNsYXNzIFZpZXdHZXN0dXJlQ29udHJvbGxlcjsKIAogICAgIFdlYWtPYmpD
UHRyPGlkIDxfV0tUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGU+PiBfdGV4dE1hbmlwdWxhdGlvbkRl
bGVnYXRlOwogICAgIFdlYWtPYmpDUHRyPGlkIDxfV0tJbnB1dERlbGVnYXRlPj4gX2lucHV0RGVs
ZWdhdGU7CisgICAgV2Vha09iakNQdHI8aWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPj4gX2Fw
cEhpZ2hsaWdodHNEZWxlZ2F0ZTsKIAogICAgIFJldGFpblB0cjxXS1NhZmVCcm93c2luZ1dhcm5p
bmc+IF9zYWZlQnJvd3NpbmdXYXJuaW5nOwogCkBAIC0yNTgsNiArMjYwLDEwIEBAIGNsYXNzIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjsKIC0gKHZvaWQpX2RpZEludmFsaWRhdGVEYXRhRm9yQXR0YWNo
bWVudDooQVBJOjpBdHRhY2htZW50JilhdHRhY2htZW50OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
QVBQX0hJR0hMSUdIVFMpCistICh2b2lkKV91cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNE
YXRhICopZGF0YTsKKyNlbmRpZgorCiAtICh2b2lkKV9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2Vu
dGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayB3aXRob3V0V2FpdGluZ0Zv
clBhaW50aW5nOihCT09MKXdpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmcgd2l0aG91dFdhaXRpbmdG
b3JBbmltYXRlZFJlc2l6ZTooQk9PTCl3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOwog
CiAtICh2b2lkKV9zaG93U2FmZUJyb3dzaW5nV2FybmluZzooY29uc3QgV2ViS2l0OjpTYWZlQnJv
d3NpbmdXYXJuaW5nJil3YXJuaW5nIGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFZhcmlhbnQ8V2ViS2l0OjpDb250aW51ZVVuc2FmZUxvYWQsIFVSTD4mJik+JiYpY29t
cGxldGlvbkhhbmRsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYjIwNWU0
NjdjMTFjMGVlMDk3YjdmZDVhNjkyZjEzMWRmZmM4OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaApA
QCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+CisKK0Bwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZSA8TlNPYmplY3Q+CisK
K0BvcHRpb25hbAorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHVwZGF0
ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOihOU0RhdGEgKilkYXRhOworCitAZW5kCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAppbmRl
eCBhNDgwYjM4NGNmZWU0NzgwZTE3MWJhNzZlMDRiYjY1NTg1YTFiYTdjLi42ZWRjMGNlODU1ZDdm
NTM2MmEwODkzYjYyYTJiYTllZGQ4MDBmOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCkBAIC02Nyw2ICs2NywxMCBAQCBw
dWJsaWM6CiAgICAgVmVjdG9yPFN0cmluZz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6
OkRpY3RhdGlvbkNvbnRleHQpIGZpbmFsOwogICAgIE5TVGV4dEFsdGVybmF0aXZlcyAqcGxhdGZv
cm1EaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCkgZmluYWw7
CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGln
aHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGZpbmFsOworI2Vu
ZGlmCisKIHByb3RlY3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IG1fd2ViVmlldzsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVy
PiBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCmluZGV4IDgwNjFiZmJkNDYy
YWYwZDUxZGE4NmNmNGY5NTI1ZjdhN2JlM2EyOWYuLjNhMWEzNTQ4N2M1YjI3ZDFiNGYxNzg1ZWM4
ZDEwNTNkZjI5ZDEwZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtOTMsNiArOTMsMTQgQEAgTlNTZXQgKlBhZ2VD
bGllbnRJbXBsQ29jb2E6OnNlcmlhbGl6YWJsZUZpbGVXcmFwcGVyQ2xhc3NlcygpIGNvbnN0CiAK
ICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBQYWdlQ2xpZW50SW1w
bENvY29hOjp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmIGRhdGEpCit7CisgICAgUmV0YWluUHRyPE5TRGF0YT4gbnNEYXRhID0gZGF0YS0+Y3Jl
YXRlTlNEYXRhKCk7CisgICAgW21fd2ViVmlldyBfdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6
bnNEYXRhLmdldCgpXTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisKIHZv
aWQgUGFnZUNsaWVudEltcGxDb2NvYTo6cGFnZUNsb3NlZCgpCiB7CiAgICAgbV9hbHRlcm5hdGl2
ZVRleHRVSUNvbnRyb2xsZXItPmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKaW5kZXggZThkMjdjMmExM2EzNDBhMWY3ODVlMDhhNmViZjMyNTJmOWM1MmY1OC4uZmEyOTc3
NmI4ZDBkZmI1YWQ4NzM4MTYyN2FkMzEzOTQ5MzU2ODViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaApAQCAtNTU0LDYgKzU1NCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICNlbmRp
ZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVB
cHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpID0g
MDsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIGNhbmNl
bFBvaW50ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgfQog
ICAgIHZpcnR1YWwgV1RGOjpPcHRpb25hbDx1bnNpZ25lZD4gYWN0aXZlVG91Y2hJZGVudGlmaWVy
Rm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgcmV0dXJuIFdURjo6
bnVsbG9wdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
ZTQ5MzllNjc0ZGQ0ZmIzMTMzNjEzOTMzOWI0YzViYzkyOTEzN2M3YS4uOTIyNTgxZDFkNGIzYjY1
ZGQwZjZiMDg5MzZmNzM1OWEwZDQ2Yzk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC05OTE4LDYgKzk5MTgsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6Omdl
dEFwcGxpY2F0aW9uTWFuaWZlc3QoRnVuY3Rpb248dm9pZChjb25zdCBPcHRpb25hbDxXZWJDb3Jl
OjoKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBXZWJQYWdl
UHJveHk6OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVy
Q29weSYgZGF0YSkKK3sKKyAgICBwYWdlQ2xpZW50KCkudXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3Jh
Z2UoKmRhdGEuYnVmZmVyKCkpOworfQorI2VuZGlmCisKIG5hbWVzcGFjZSB7CiBlbnVtIGNsYXNz
IENvbXBsZXRpb25Db25kaXRpb24gewogICAgIENhbmNlbGxhdGlvbiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDZmZDIwMjk0ODQyMGI2YWI3NDM4MTE5MDEzZDk5
NmJjMjdmODk1Yy4uMDE1MGY1NWUzODI3NjhiMjRhYjhkYjEwMzlkMGQyNGYwMGExOTJmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE4MjAsNiArMTgyMCw3IEBA
IHB1YmxpYzoKIAogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2b2lkIGNyZWF0ZUFw
cEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCk7Cisg
ICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShjb25zdCBJUEM6OlNoYXJlZEJ1ZmZl
ckNvcHkmKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmZDAxZDU1
M2NjNGVhMGQ1M2Y4NjQ5MzQwZjRjY2MxYWJmYTU3NWY3Li5lNjY3Zjc2ZTBmYTVjOGYzM2RmNTBk
ZTFlNTFmYzgyMzIyMTQ1ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01MzUsNiArNTM1LDEwIEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgV3JpdGVQcm9taXNlZEF0dGFjaG1lbnRUb1Bhc3RlYm9hcmQoc3Ry
dWN0IFdlYkNvcmU6OlByb21pc2VkQXR0YWNobWVudEluZm8gaW5mbykKICNlbmRpZgogCisjaWYg
RU5BQkxFKEFQUF9ISUdITElHSFRTKQorICAgIFVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKElQ
Qzo6U2hhcmVkQnVmZmVyQ29weSBkYXRhKQorI2VuZGlmCisKICAgICBTaWduZWRQdWJsaWNLZXlB
bmRDaGFsbGVuZ2VTdHJpbmcodW5zaWduZWQga2V5U2l6ZUluZGV4LCBTdHJpbmcgY2hhbGxlbmdl
U3RyaW5nLCBVUkwgdXJsKSAtPiAoU3RyaW5nIHJlc3VsdCkgU3luY2hyb25vdXMKIAogI2lmIEVO
QUJMRShTUEVFQ0hfU1lOVEhFU0lTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmEwM2RjODUxNDAwMzg1ODI2MTc1M2RlY2NmOTU3Nzdh
MWFiY2VhMS4uNTQ1Y2UxYTMzOWYwOTQ3NGJlYjVlMzM3ZDdiYTc2YjlhNjUyZDU4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDQs
NiArOTQ0LDcgQEAKIAkJNDQzMEQwMTcyNTc2RDlERDAwNDZENDAxIC8qIENyZWF0ZU5ld0dyb3Vw
Rm9ySGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NDMwRDAxNjI1NzZEOURDMDA0NkQ0MDEgLyogQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGln
aHQuaCAqLzsgfTsKIAkJNDQ1OTk4NDIyMjgzM0U4NzAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRp
bmdDb21tYW5kVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDQ1OTk4NDEyMjgzM0U2MDAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5k
VHlwZS5oICovOyB9OwogCQk0NDZEQzY0QzI0QTJEOEU1MDA2MUYzOTAgLyogUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NkRDNjRCMjRBMkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllci5oICovOyB9OworCQk0NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyog
X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGln
aHREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQ0ODI3MzQ3MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDgyNzM0NjI0NTI4RjYwMDBB
OTU0OTMgLyogQ29jb2FJbWFnZS5oICovOyB9OwogCQk0NDlEOTBEQTIxRkRDMzBCMDBGNjc3QzAg
LyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2Fs
QXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLzsgfTsKIAkJNDRFOTM2RkQyNDQ3QzJEODAwOUZB
M0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNFMyAvKiBMZWdhY3lD
dXN0b21Qcm90b2NvbElELmggKi87IH07CkBAIC0zNzc1LDYgKzM3NzYsNyBAQAogCQk0NDUwQUVC
RjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkTWVtb3J5Q29jb2EuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NDU5OTg0MTIyODMzRTYwMDBFNjEzNzMgLyogU3ludGhldGlj
RWRpdGluZ0NvbW1hbmRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDZEQzY0QjI0QTJEOEFE
MDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3
IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0ODI3MzQ2MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvY29hSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRp
b25Tb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExv
Y2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDRBNDgxQzYyMUYyRDI3QjAwRjJGOTE5IC8qIENsaWVudENlcnRpZmljYXRlQXV0aGVudGlj
YXRpb25YUENDb25zdGFudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpZW50Q2VydGlmaWNh
dGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NjY5LDYgKzc2NzEsNyBAQAogCQkJCTM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAv
KiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oICovLAogCQkJCTM3QTVFMDExMThCQkY5MzcwMDBB
MDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLywKIAkJCQkzNzlBODczNTE4QkJG
QTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oICovLAorCQkJ
CTQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICov
LAogCQkJCTYzMTA4Rjk0MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
LmggKi8sCiAJCQkJNjMxMDhGOTUxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFu
aWZlc3QubW0gKi8sCiAJCQkJNjMxMDhGOTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0
aW9uTWFuaWZlc3RJbnRlcm5hbC5oICovLApAQCAtMTEyNzcsNiArMTEyODAsNyBAQAogCQkJZmls
ZXMgPSAoCiAJCQkJMzdBNUUwMTQxOEJCRjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1l
bnRJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyog
X1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ3
NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2MzEwOEY5NjFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25N
YW5pZmVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjMxMDhGOTkxRjk2NzFGNzAwQTBEQjg0IC8q
IF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQ0
MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBmZWMwZmVlZmQ1NTNkNmVjMjJjNGQ4Y2RkZjlhOGVj
N2ZlMThmZGRiLi5iODJiZDFjZjI5YmE1NDNlMzc4NjYzZGRmMmU4OTNiODVmMTc4OGUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2VCYW5uZXIuaCIKICNpbmNsdWRlICJS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5
LmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIK
ICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTg2LDYgKzg3LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
U2V0dGluZ3MuaD4KIAorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1B
QykgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSkKICNpbmNsdWRlICJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyLmgiCiAjZW5kaWYKQEAgLTEyMzgsNiArMTI0MCwxNCBAQCBib29sIFdl
YkNocm9tZUNsaWVudDo6dW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3Jh
cHBlZEtleSwgVmVjdG9yPAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykK
K3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2Vi
Q29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGNvbnN0Cit7CisgICAgYXV0byBidWZmZXIgPSBJ
UEM6OlNoYXJlZEJ1ZmZlckNvcHkoZGF0YSk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6VXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoYnVmZmVyKSk7Cit9CisjZW5k
aWYKKwogU3RyaW5nIFdlYkNocm9tZUNsaWVudDo6c2lnbmVkUHVibGljS2V5QW5kQ2hhbGxlbmdl
U3RyaW5nKHVuc2lnbmVkIGtleVNpemVJbmRleCwgY29uc3QgU3RyaW5nJiBjaGFsbGVuZ2VTdHJp
bmcsIGNvbnN0IFVSTCYgdXJsKSBjb25zdAogewogICAgIFN0cmluZyByZXN1bHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKaW5kZXggMDU4MjJiOTk3YmE4NDE1MDkzYTYzZmQxNWY1NDM4Yzk2OTRlZmU5Yi4u
ZGM3MmIyZWZlYzVlN2I1OThlOTVmMjQxMzU5NGE2MWM1NWQ0NjYwMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaApAQCAtMzQ1LDYgKzM0NSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgaXNQbGF5aW5nTWVk
aWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzLCB1aW50
NjRfdCkgZmluYWw7CiAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYkNvcmU6OkF1dG9w
bGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+KSBmaW5hbDsK
IAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdo
dHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0IGZpbmFsOworI2Vu
ZGlmCisKICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKICAgICBib29sIHdyYXBDcnlwdG9LZXkoY29u
c3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgY29uc3QgZmluYWw7CiAgICAg
Ym9vbCB1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4
X3Q+JikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDllNTA5MTA0NDc1OWFkMDdiMGRiN2M3ODc3NzdkY2VkNzg1MDdmZDQu
LjhkOWZhNjhjOTRjZWU3YmVjMzBiN2Q0YjIwMzYxNTQ3MDJiYzdlNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xNDQsNiArMTQ0LDcgQEAK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0xvY2suaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9Qcm9maWxlckRhdGFiYXNlLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2FtcGxp
bmdQcm9maWxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQXBwSGlnaGxpZ2h0U3RvcmFnZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0FyY2hpdmVSZXNvdXJjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQmFja0ZvcndhcmRD
YWNoZS5oPgpAQCAtNzE1Niw2ICs3MTU3LDcgQEAgYm9vbCBXZWJQYWdlOjpjcmVhdGVBcHBIaWdo
bGlnaHRJblNlbGVjdGVkUmFuZ2UoQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQgY3JlYXQKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFJlZ2lzdGVy
KCkuYWRkQXBwSGlnaGxpZ2h0KFN0YXRpY1JhbmdlOjpjcmVhdGUoc2VsZWN0aW9uUmFuZ2UudmFs
dWUoKSkpOworICAgIGRvY3VtZW50LT5hcHBIaWdobGlnaHRTdG9yYWdlKCkudXBkYXRlQXBwSGln
aGxpZ2h0c1N0b3JhZ2UoKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApp
bmRleCAzYzgzMzNiYTMwNzgzODdlYzhkYzg5MDM2NWNhYjEwMGRlMWY2NzM4Li5iOGQwMTFmZWY0
ZDI4NGVkMjQ3MTg1OTEzZTc3NGUwNDE3YTg4NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTUx
LDYgKzE1MSwxMCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpEYXRl
VGltZUNob29zZXI+IGNyZWF0ZURhdGVUaW1lQ2hvb3NlcihXZWJDb3JlOjpEYXRlVGltZUNob29z
ZXJDbGllbnQmKSBmaW5hbDsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQor
ICAgIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcj4mJikgY29uc3QgZmluYWw7CisjZW5kaWYKKwogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0sp
CiAgICAgYm9vbCByZXF1ZXN0UG9pbnRlckxvY2soKSBmaW5hbDsKICAgICB2b2lkIHJlcXVlc3RQ
b2ludGVyVW5sb2NrKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggZmM5ODIyZTRiNGUw
Y2MwMDNhMzU0MjRmOTM0ZGViYzVlMjMwNmU4Yi4uNzNiNDI1NjFmNDQxOTE0M2I1ZTI5ZjJjNzg4
M2E2YTIxYmE0YzYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNzQ0LDYgKzc0NCwxMiBAQCBz
dGQ6OnVuaXF1ZV9wdHI8RGF0ZVRpbWVDaG9vc2VyPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZURh
dGVUaW1lQ2hvb3NlcihEYXRlVGltZQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2Uo
UmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3QKK3sKK30KKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFBPSU5URVJfTE9DSykKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpyZXF1ZXN0UG9pbnRl
ckxvY2soKQogewo=
</data>
<flag name="commit-queue"
          id="436645"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418625</attachid>
            <date>2021-01-27 23:39:08 -0800</date>
            <delta_ts>2021-01-28 17:40:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221020-20210127233907.patch</filename>
            <type>text/plain</type>
            <size>30268</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uNDQ5ZjBkMDVlOWRjNGJjMjY2MGMwYTIxNzZjNWVi
ZjA3ZmJkZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRMaXN0
RGF0YTo6dG9TaGFyZWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxp
Z2h0TGlzdERhdGE6OnRvRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIx
LTAxLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcwODc0KTogU29tZSBSZWFjdCBOYXRpdmUgYXBwcyBhcmUgcmVwb3J0
ZWQgYnJva2VuIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTc2NzI2OGEzMTYxMmJmZjY1MGEzNWU3Y2Zi
MmMzZjFlOGZiYzEwLi4yMWM2MmUxYjY4MWEwZGJlNGYzMzFjOWI4ZGJiNTVhNGUzMmYyMmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFw
cEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGE6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZV0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcEhpZ2hsaWdodHNTdG9yYWdlRGVsZWdhdGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUhpZ2hs
aWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZSk6CisKIDIwMjEtMDEtMjUgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNzA4NzQpOiBTb21lIFJlYWN0IE5hdGl2ZSBhcHBzIGFyZSByZXBvcnRlZCBicm9rZW4gb24g
aU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRMaXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHAKaW5kZXggNzkyOGJkYjlkYjAwOThiZTI5ZTBkOTA4YzE5ZDVk
NzIzYjlmYTliYi4uYjU0ZDU5YmIzNWRkYTE0YzZjZmRkOGI3ZmRlNDQ4NjA1ZjQwYjk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlz
dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcApAQCAtNDksNyArNDksNyBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBB
cHBIaWdobGlnaHRMaXN0RGF0YTo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQog
ICAgIHJldHVybiBkYXRhID8gKmRhdGEgOiBBcHBIaWdobGlnaHRMaXN0RGF0YSB7eyB9fTsKIH0K
IAotUmVmPFNoYXJlZEJ1ZmZlcj4gQXBwSGlnaGxpZ2h0TGlzdERhdGE6OnRvRGF0YSgpIGNvbnN0
CitSZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9TaGFyZWRCdWZmZXIo
KSBjb25zdAogewogICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKICAgICBl
bmNvZGVyIDw8ICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmgKaW5kZXggZjg4Mzk2ZjMxNDM2ZGE0N2Q5ZTVm
ODQ2NTNjNWFkN2U4MmE4NTNmNS4uNTEzYjIxNGRiOTc4OTIwOTQ0Y2RkYjFmYjBlYTE2NWQ3ZGE2
Y2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9B
cHBIaWdobGlnaHRMaXN0RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmFuZ2VzKFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1f
YW5ub3RhdGlvblJhbmdlcyA9IFdURk1vdmUocmFuZ2VzKTsgfQogICAgIHZvaWQgYWRkUmFuZ2Vz
KFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1fYW5ub3RhdGlvblJh
bmdlcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShyYW5nZXMpKTsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgUmVmPFNoYXJlZEJ1ZmZlcj4gdG9EYXRhKCkgY29uc3Q7CisgICAgUmVmPFNoYXJlZEJ1ZmZl
cj4gdG9TaGFyZWRCdWZmZXIoKSBjb25zdDsKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLnNpemUoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5ub3RhdGlvblJhbmdlcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5j
cHAKaW5kZXggNjRlZWY3ZDJhMGViNWY3NmVmMjM0OWZhMjZmYzYxYWI0ZjUyOTBiMC4uYWNkZWNj
YmZkZmI0ZWQyMTBiZDgyYmEyZjFkYjNlOTQ1YjZkMTY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAKICNpbmNs
dWRlICJBcHBIaWdobGlnaHRMaXN0RGF0YS5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0yMDksMTIgKzIxMCwxMiBAQCBBcHBIaWdo
bGlnaHRTdG9yYWdlOjpBcHBIaWdobGlnaHRTdG9yYWdlKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
IH0KIAotQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBw
SGlnaGxpZ2h0TGlzdERhdGEoKQordm9pZCBBcHBIaWdobGlnaHRTdG9yYWdlOjp1cGRhdGVBcHBI
aWdobGlnaHRzU3RvcmFnZSgpCiB7CiAgICAgVmVjdG9yPEFwcEhpZ2hsaWdodFJhbmdlRGF0YT4g
ZGF0YTsKIAogICAgIGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIHsgV1RGTW92ZShk
YXRhKSB9OworICAgICAgICByZXR1cm47CiAKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdp
c3RlciA9IG1fZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFJlZ2lzdGVySWZFeGlzdHMoKSkgewogICAg
ICAgICBmb3IgKGF1dG8mIGhpZ2hsaWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkg
ewpAQCAtMjIyLDggKzIyMyw5IEBAIEFwcEhpZ2hsaWdodExpc3REYXRhIEFwcEhpZ2hsaWdodFN0
b3JhZ2U6OmNyZWF0ZUFwcEhpZ2hsaWdodExpc3REYXRhKCkKICAgICAgICAgICAgICAgICBkYXRh
LmFwcGVuZChjcmVhdGVBcHBIaWdobGlnaHRSYW5nZURhdGEocmFuZ2VEYXRhLT5yYW5nZSkpOwog
ICAgICAgICB9CiAgICAgfQorICAgIEFwcEhpZ2hsaWdodExpc3REYXRhIGxpc3REYXRhIHsgV1RG
TW92ZShkYXRhKSB9OwogCi0gICAgcmV0dXJuIHsgV1RGTW92ZShkYXRhKSB9OworICAgIG1fZG9j
dW1lbnQtPnBhZ2UoKS0+Y2hyb21lKCkudXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UobGlzdERh
dGEudG9TaGFyZWRCdWZmZXIoKSk7CiB9CiAKIFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+
IEFwcEhpZ2hsaWdodFN0b3JhZ2U6OnJlc3RvcmVBcHBIaWdobGlnaHRzKFJlZjxTaGFyZWRCdWZm
ZXI+JiYgYnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGln
aHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGln
aHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5oCmluZGV4IGRiMTQ5NGZlYTI5N2QyNzliODFiZDVkMTAz
MTNhOGUxY2FmZGE0NTIuLmMxMGEzNDI4YzE4MmUwMGRhMjJhYzgxODcxYmYyOTk2N2QwYWVhYjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdo
dFN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRTdG9yYWdlLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgQXBwSGlnaGxpZ2h0U3RvcmFn
ZSA6IFJlZkNvdW50ZWQ8QXBwSGlnaGxpZ2h0U3RvcmFnZT4gewogcHVibGljOgogICAgIEFwcEhp
Z2hsaWdodFN0b3JhZ2UoRG9jdW1lbnQmKTsKIAotICAgIEFwcEhpZ2hsaWdodExpc3REYXRhIGNy
ZWF0ZUFwcEhpZ2hsaWdodExpc3REYXRhKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRh
dGVBcHBIaWdobGlnaHRzU3RvcmFnZSgpOwogICAgIFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURh
dGE+IHJlc3RvcmVBcHBIaWdobGlnaHRzKFJlZjxTaGFyZWRCdWZmZXI+JiYpOwogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDA1M2JkODdkYTdjZGE4NDUxYWYxM2VkYjMxYzEzOGFmNjY0NTk1ZTIuLjM5Yjg1ZjQw
NjgyMzdmNGU3ZTk4ZjdhZGIyMzgwYTMzN2U5NDdlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMTIsNyArMTIxMiw3IEBA
CiAJCTQzQzA5MkJDMTJEOUU0RUUwMEE5ODlDMyAvKiBSZW5kZXJTVkdGb3JlaWduT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0M0MwOTJCQTEy
RDlFNEVFMDBBOTg5QzMgLyogUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5oICovOyB9OwogCQk0M0VE
RDY3RjFCNDg1REJGMDA2NDBFNzUgLyogQ29tYmluZWRGaWx0ZXJzQWxwaGFiZXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzRURENjdEMUI0ODVEQkYw
MDY0MEU3NSAvKiBDb21iaW5lZEZpbHRlcnNBbHBoYWJldC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0MTUyOTJFMEUxQUU4QTAwMEM0QTJEMCAv
KiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDE1MjkyQzBFMUFFOEEwMDBDNEEyRDAgLyogSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTQ0MjUwNzA5MjU4MjlBMjcwMEMwOTM2OCAvKiBBcHBIaWdobGlnaHRTdG9yYWdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDI1MDcwNzI1
ODI5QTE0MDBDMDkzNjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oICovOyB9OworCQk0NDI1MDcw
OTI1ODI5QTI3MDBDMDkzNjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQyNTA3MDcyNTgyOUExNDAwQzA5MzY4
IC8qIEFwcEhpZ2hsaWdodFN0b3JhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0NDMwRDAwQjI1NzVBODNFMDA0NkQ0MDEgLyogSGlnaGxpZ2h0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEU4OEU1
MTIzNkE1QzhEMDA5QjQ4NDcgLyogSGlnaGxpZ2h0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQzMEQwMEQyNTc1QThBNTAwNDZENDAxIC8qIEhp
Z2hsaWdodFJlZ2lzdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NEU4OEU1MDIzNkE1NkFDMDA5QjQ4NDcgLyogSGlnaGxpZ2h0UmVnaXN0ZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDU3NzVF
NTIwNDcyRjczMDA4RENFNUQgLyogTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1Nzc1RTQyMDQ3MkY3
MzAwOERDRTVEIC8qIExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggOTljYTZhMTNjMDBkZGRmN2QwY2RmOTVmZWFhMjAxMjUyYWI5Nzk2NC4uZWE0NjU1MDc1
ODhlM2FmOWJiMmQzMzUzNTgzZDc0Mjk1MmJkNThmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0yNjIsNyArMjYyLDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAK
ICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCi0jaW5jbHVkZSAiQXBwSGlnaGxpZ2h0TGlzdERh
dGEuaCIKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAppbmRleCBkN2YwYTA5OGIyMTc0ZjdmMjI3NzI2ODhmMWU2M2E3ZDk4NTY3NThi
Li42MmIzMzU2MDVmZThlNjZmNTAzYjM2M2FiY2JkY2RjN2E4ODg3NWJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaApAQCAtMTU3Nyw3ICsxNTc3LDcgQEAgcHVibGljOgogICAgIEhpZ2hsaWdodFJlZ2lz
dGVyKiBhcHBIaWdobGlnaHRSZWdpc3RlcklmRXhpc3RzKCkgeyByZXR1cm4gbV9hcHBIaWdobGln
aHRSZWdpc3Rlci5nZXQoKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIEhpZ2hsaWdodFJlZ2lzdGVy
JiBhcHBIaWdobGlnaHRSZWdpc3RlcigpOwogCi0gICAgQXBwSGlnaGxpZ2h0U3RvcmFnZSYgYXBw
SGlnaGxpZ2h0U3RvcmFnZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIEFwcEhpZ2hsaWdodFN0b3Jh
Z2UmIGFwcEhpZ2hsaWdodFN0b3JhZ2UoKTsKICAgICBBcHBIaWdobGlnaHRTdG9yYWdlKiBhcHBI
aWdobGlnaHRTdG9yYWdlSWZFeGlzdHMoKSBjb25zdCB7IHJldHVybiBtX2FwcEhpZ2hsaWdodFN0
b3JhZ2UuZ2V0KCk7IH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcAppbmRleCBhNWMyNDY5YjQ3NzdlNjQxZmU3YzFmN2M0Mjg2NDFmN2NmZjkxNjRlLi4zZTI1
ZDIwODFjZDBkMGFmNTMyYWM1Zjg3NmRlZTY4ZDUyOTA4Y2IzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNTAxLDYgKzUwMSwxMiBAQCBzdGQ6OnVuaXF1ZV9wdHI8
RGF0ZVRpbWVDaG9vc2VyPiBFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlRGF0ZVRpbWVDaG9vc2Vy
KERhdGVUaQogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgRW1w
dHlDaHJvbWVDbGllbnQ6OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+JiYpIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogdm9pZCBFbXB0eUNocm9tZUNs
aWVudDo6cnVuT3BlblBhbmVsKEZyYW1lJiwgRmlsZUNob29zZXImKQogewogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDc0MGY4OGFlYzZiZDA1NjhjNThhN2MyMDNjOThk
MDE2MjVkZjNiNzEuLjlmMWJlYTQ0NmUxNTU3M2I0OGE3NjAwYjAzZmVhNDVjNGRjOTQ1MDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgY2xh
c3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50IHsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVEYXRlVGltZUNob29zZXIoRGF0ZVRpbWVD
aG9vc2VyQ2xpZW50JikgZmluYWw7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hU
UykKKyAgICB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFy
ZWRCdWZmZXI+JiYpIGNvbnN0IGZpbmFsOworI2VuZGlmCisKICAgICB2b2lkIHJ1bk9wZW5QYW5l
bChGcmFtZSYsIEZpbGVDaG9vc2VyJikgZmluYWw7CiAgICAgdm9pZCBzaG93U2hhcmVTaGVldChT
aGFyZURhdGFXaXRoUGFyc2VkVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikg
ZmluYWw7CiAgICAgdm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jiwg
RmlsZUljb25Mb2FkZXImKSBmaW5hbCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBiNzEw
ZTcxNWE2NmRjYWM1Njc0MmRiNmJiZWE3NDFkNmY4NjM0MmIzLi4zNGQ4ZjhjOWY4Nzk1OTNmNmQy
ZjVjOTU0ZjkwOGVmYmI4MjA1ZDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC01MTUsNiAr
NTE1LDEzIEBAIHZvaWQgQ2hyb21lOjpkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5n
ZShjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgYXJndW1lCiAgICAgbV9jbGllbnQuZGlzcGF0Y2hW
aWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoYXJndW1lbnRzKTsKIH0KIAorI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKK3ZvaWQgQ2hyb21lOjp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShS
ZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGNvbnN0Cit7CisgICAgbV9jbGllbnQu
dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoV1RGTW92ZShkYXRhKSk7Cit9CisjZW5kaWYKKwog
dm9pZCBDaHJvbWU6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKICAgICBtX2Ns
aWVudC5zZXRDdXJzb3IoY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IGE4OWRkMWExZDg2
NWU1MzI4ZWIwNTA1NzY1NDBkM2YyMzJhM2NmYzAuLjA1MWZlYTgxMmRhMzUyMzhhNTQ4MDhhY2I3
NDRhZDI1ODEwMjA5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtMTY0LDYgKzE2NCwxMCBAQCBw
dWJsaWM6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRp
bWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNsaWVudCYpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
QVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8
V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKSBjb25zdDsKKyNlbmRpZgorCiAgICAgdm9pZCBydW5P
cGVuUGFuZWwoRnJhbWUmLCBGaWxlQ2hvb3NlciYpOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQo
U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
OwogICAgIHZvaWQgc2hvd0NvbnRhY3RQaWNrZXIoY29uc3QgQ29udGFjdHNSZXF1ZXN0RGF0YSYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8VmVjdG9yPENvbnRhY3RJbmZvPj4mJik+
JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNWZkNGI2NTFhZGI5Yzg0NzFl
MTAyNjViZDk3Y2ZiODBiNzI3Nzk2Mi4uOWE0MDkzYzA5ZGViMTBjNzNkMTFkZWZlZWYxNjAyMGNh
Njc2ZDA1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0zMDIsNiArMzAyLDEw
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+
IGNyZWF0ZURhdGVUaW1lQ2hvb3NlcihEYXRlVGltZUNob29zZXJDbGllbnQmKSA9IDA7CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3Qg
PSAwOworI2VuZGlmCisKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lJiwgRmls
ZUNob29zZXImKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2Fs
bGJhY2spIHsgY2FsbGJhY2soZmFsc2UpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNob3dDb250YWN0
UGlja2VyKGNvbnN0IENvbnRhY3RzUmVxdWVzdERhdGEmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVy
PHZvaWQoT3B0aW9uYWw8VmVjdG9yPENvbnRhY3RJbmZvPj4mJik+JiYgY2FsbGJhY2spIHsgY2Fs
bGJhY2soV1RGOjpudWxsb3B0KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggMTdjNmJlOTFhMjQ5YmQ0MTc3MDExNDRmZTMyM2FmNTRk
YzI2ZjkzNS4uZGQ4NjRiNjhmNGM5YzFkMjNjOTBhZGM5Yzk4YzVlZjRjZmY5NDg1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC05OCw2
ICs5OCw3IEBACiAjaW1wb3J0ICJXZWJVUkxTY2hlbWVIYW5kbGVyQ29jb2EuaCIKICNpbXBvcnQg
IldlYlZpZXdJbXBsLmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFs
LmgiCisjaW1wb3J0ICJfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRGlh
Z25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRmluZERlbGVnYXRlLmgiCiAj
aW1wb3J0ICJfV0tGcmFtZUhhbmRsZUludGVybmFsLmgiCkBAIC0xNDAzLDYgKzE0MDQsMjggQEAg
LSAodm9pZClfZGlkSW52YWxpZGF0ZURhdGFGb3JBdHRhY2htZW50OihBUEk6OkF0dGFjaG1lbnQm
KWF0dGFjaG1lbnQKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCistIChpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+
KV9hcHBIaWdobGlnaHRzRGVsZWdhdGUKK3sKKyAgICByZXR1cm4gX2FwcEhpZ2hsaWdodHNEZWxl
Z2F0ZS5nZXRBdXRvcmVsZWFzZWQoKTsKK30KKworLSAodm9pZClfc2V0QXBwSGlnaGxpZ2h0c0Rl
bGVnYXRlOihpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2Fw
cEhpZ2hsaWdodHNEZWxlZ2F0ZSA9IGRlbGVnYXRlOworfQorCistICh2b2lkKV91cGRhdGVBcHBI
aWdobGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0YQoreworICAgIGF1dG8gZGVsZWdhdGUgPSBz
ZWxmLl9hcHBIaWdobGlnaHRzRGVsZWdhdGU7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOildKQorICAgICAgICBbZGVsZWdh
dGUgX3dlYlZpZXc6c2VsZiB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTpkYXRhXTsKK30KKyNl
bmRpZgorCiAtIChXS1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nCiB7CiAgICAgcmV0dXJuIHRvQVBJ
KF9wYWdlLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0ludGVybmFsLmgKaW5kZXggYTc4NmM3YTY0ODI2NGVmMDJjYzZjNjc2MTM0
ZDIxNWI4YWM0YTNiNC4uNDQzOWE2NDEzYjdjZjkzODQyMmJiZjAzODg1ZmIwYjUyZWQ5ODI3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0lu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmgKQEAgLTEwNSw2ICsxMDUsNyBAQCBjbGFzcyBWaWV3R2VzdHVyZUNvbnRyb2xs
ZXI7CiAKIEBwcm90b2NvbCBfV0tUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGU7CiBAcHJvdG9jb2wg
X1dLSW5wdXREZWxlZ2F0ZTsKK0Bwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZTsKIAog
QGludGVyZmFjZSBXS1dlYlZpZXcgKCkgV0tfV0VCX1ZJRVdfUFJPVE9DT0xTIHsKIApAQCAtMTE5
LDYgKzEyMCw3IEBAIGNsYXNzIFZpZXdHZXN0dXJlQ29udHJvbGxlcjsKIAogICAgIFdlYWtPYmpD
UHRyPGlkIDxfV0tUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGU+PiBfdGV4dE1hbmlwdWxhdGlvbkRl
bGVnYXRlOwogICAgIFdlYWtPYmpDUHRyPGlkIDxfV0tJbnB1dERlbGVnYXRlPj4gX2lucHV0RGVs
ZWdhdGU7CisgICAgV2Vha09iakNQdHI8aWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPj4gX2Fw
cEhpZ2hsaWdodHNEZWxlZ2F0ZTsKIAogICAgIFJldGFpblB0cjxXS1NhZmVCcm93c2luZ1dhcm5p
bmc+IF9zYWZlQnJvd3NpbmdXYXJuaW5nOwogCkBAIC0yNTgsNiArMjYwLDEwIEBAIGNsYXNzIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjsKIC0gKHZvaWQpX2RpZEludmFsaWRhdGVEYXRhRm9yQXR0YWNo
bWVudDooQVBJOjpBdHRhY2htZW50JilhdHRhY2htZW50OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
QVBQX0hJR0hMSUdIVFMpCistICh2b2lkKV91cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNE
YXRhICopZGF0YTsKKyNlbmRpZgorCiAtICh2b2lkKV9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2Vu
dGF0aW9uVXBkYXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayB3aXRob3V0V2FpdGluZ0Zv
clBhaW50aW5nOihCT09MKXdpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmcgd2l0aG91dFdhaXRpbmdG
b3JBbmltYXRlZFJlc2l6ZTooQk9PTCl3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOwog
CiAtICh2b2lkKV9zaG93U2FmZUJyb3dzaW5nV2FybmluZzooY29uc3QgV2ViS2l0OjpTYWZlQnJv
d3NpbmdXYXJuaW5nJil3YXJuaW5nIGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFZhcmlhbnQ8V2ViS2l0OjpDb250aW51ZVVuc2FmZUxvYWQsIFVSTD4mJik+JiYpY29t
cGxldGlvbkhhbmRsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYjIwNWU0
NjdjMTFjMGVlMDk3YjdmZDVhNjkyZjEzMWRmZmM4OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaApA
QCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+CisKK0Bwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZSA8TlNPYmplY3Q+CisK
K0BvcHRpb25hbAorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHVwZGF0
ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOihOU0RhdGEgKilkYXRhOworCitAZW5kCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAppbmRl
eCBhNDgwYjM4NGNmZWU0NzgwZTE3MWJhNzZlMDRiYjY1NTg1YTFiYTdjLi42ZWRjMGNlODU1ZDdm
NTM2MmEwODkzYjYyYTJiYTllZGQ4MDBmOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCkBAIC02Nyw2ICs2NywxMCBAQCBw
dWJsaWM6CiAgICAgVmVjdG9yPFN0cmluZz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6
OkRpY3RhdGlvbkNvbnRleHQpIGZpbmFsOwogICAgIE5TVGV4dEFsdGVybmF0aXZlcyAqcGxhdGZv
cm1EaWN0YXRpb25BbHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCkgZmluYWw7
CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGln
aHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGZpbmFsOworI2Vu
ZGlmCisKIHByb3RlY3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IG1fd2ViVmlldzsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVy
PiBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCmluZGV4IDgwNjFiZmJkNDYy
YWYwZDUxZGE4NmNmNGY5NTI1ZjdhN2JlM2EyOWYuLjNhMWEzNTQ4N2M1YjI3ZDFiNGYxNzg1ZWM4
ZDEwNTNkZjI5ZDEwZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtOTMsNiArOTMsMTQgQEAgTlNTZXQgKlBhZ2VD
bGllbnRJbXBsQ29jb2E6OnNlcmlhbGl6YWJsZUZpbGVXcmFwcGVyQ2xhc3NlcygpIGNvbnN0CiAK
ICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBQYWdlQ2xpZW50SW1w
bENvY29hOjp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmIGRhdGEpCit7CisgICAgUmV0YWluUHRyPE5TRGF0YT4gbnNEYXRhID0gZGF0YS0+Y3Jl
YXRlTlNEYXRhKCk7CisgICAgW21fd2ViVmlldyBfdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6
bnNEYXRhLmdldCgpXTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisKIHZv
aWQgUGFnZUNsaWVudEltcGxDb2NvYTo6cGFnZUNsb3NlZCgpCiB7CiAgICAgbV9hbHRlcm5hdGl2
ZVRleHRVSUNvbnRyb2xsZXItPmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKaW5kZXggZThkMjdjMmExM2EzNDBhMWY3ODVlMDhhNmViZjMyNTJmOWM1MmY1OC4uZmEyOTc3
NmI4ZDBkZmI1YWQ4NzM4MTYyN2FkMzEzOTQ5MzU2ODViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaApAQCAtNTU0LDYgKzU1NCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICNlbmRp
ZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVB
cHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpID0g
MDsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIGNhbmNl
bFBvaW50ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgfQog
ICAgIHZpcnR1YWwgV1RGOjpPcHRpb25hbDx1bnNpZ25lZD4gYWN0aXZlVG91Y2hJZGVudGlmaWVy
Rm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgcmV0dXJuIFdURjo6
bnVsbG9wdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
ZTQ5MzllNjc0ZGQ0ZmIzMTMzNjEzOTMzOWI0YzViYzkyOTEzN2M3YS4uOTIyNTgxZDFkNGIzYjY1
ZGQwZjZiMDg5MzZmNzM1OWEwZDQ2Yzk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC05OTE4LDYgKzk5MTgsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6Omdl
dEFwcGxpY2F0aW9uTWFuaWZlc3QoRnVuY3Rpb248dm9pZChjb25zdCBPcHRpb25hbDxXZWJDb3Jl
OjoKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBXZWJQYWdl
UHJveHk6OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVy
Q29weSYgZGF0YSkKK3sKKyAgICBwYWdlQ2xpZW50KCkudXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3Jh
Z2UoKmRhdGEuYnVmZmVyKCkpOworfQorI2VuZGlmCisKIG5hbWVzcGFjZSB7CiBlbnVtIGNsYXNz
IENvbXBsZXRpb25Db25kaXRpb24gewogICAgIENhbmNlbGxhdGlvbiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDZmZDIwMjk0ODQyMGI2YWI3NDM4MTE5MDEzZDk5
NmJjMjdmODk1Yy4uMDE1MGY1NWUzODI3NjhiMjRhYjhkYjEwMzlkMGQyNGYwMGExOTJmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE4MjAsNiArMTgyMCw3IEBA
IHB1YmxpYzoKIAogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2b2lkIGNyZWF0ZUFw
cEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCk7Cisg
ICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShjb25zdCBJUEM6OlNoYXJlZEJ1ZmZl
ckNvcHkmKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmZDAxZDU1
M2NjNGVhMGQ1M2Y4NjQ5MzQwZjRjY2MxYWJmYTU3NWY3Li5lNjY3Zjc2ZTBmYTVjOGYzM2RmNTBk
ZTFlNTFmYzgyMzIyMTQ1ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01MzUsNiArNTM1LDEwIEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgV3JpdGVQcm9taXNlZEF0dGFjaG1lbnRUb1Bhc3RlYm9hcmQoc3Ry
dWN0IFdlYkNvcmU6OlByb21pc2VkQXR0YWNobWVudEluZm8gaW5mbykKICNlbmRpZgogCisjaWYg
RU5BQkxFKEFQUF9ISUdITElHSFRTKQorICAgIFVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKElQ
Qzo6U2hhcmVkQnVmZmVyQ29weSBkYXRhKQorI2VuZGlmCisKICAgICBTaWduZWRQdWJsaWNLZXlB
bmRDaGFsbGVuZ2VTdHJpbmcodW5zaWduZWQga2V5U2l6ZUluZGV4LCBTdHJpbmcgY2hhbGxlbmdl
U3RyaW5nLCBVUkwgdXJsKSAtPiAoU3RyaW5nIHJlc3VsdCkgU3luY2hyb25vdXMKIAogI2lmIEVO
QUJMRShTUEVFQ0hfU1lOVEhFU0lTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmEwM2RjODUxNDAwMzg1ODI2MTc1M2RlY2NmOTU3Nzdh
MWFiY2VhMS4uNTQ1Y2UxYTMzOWYwOTQ3NGJlYjVlMzM3ZDdiYTc2YjlhNjUyZDU4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDQs
NiArOTQ0LDcgQEAKIAkJNDQzMEQwMTcyNTc2RDlERDAwNDZENDAxIC8qIENyZWF0ZU5ld0dyb3Vw
Rm9ySGlnaGxpZ2h0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NDMwRDAxNjI1NzZEOURDMDA0NkQ0MDEgLyogQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGln
aHQuaCAqLzsgfTsKIAkJNDQ1OTk4NDIyMjgzM0U4NzAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRp
bmdDb21tYW5kVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDQ1OTk4NDEyMjgzM0U2MDAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5k
VHlwZS5oICovOyB9OwogCQk0NDZEQzY0QzI0QTJEOEU1MDA2MUYzOTAgLyogUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NkRDNjRCMjRBMkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllci5oICovOyB9OworCQk0NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyog
X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGln
aHREZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQ0ODI3MzQ3MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDgyNzM0NjI0NTI4RjYwMDBB
OTU0OTMgLyogQ29jb2FJbWFnZS5oICovOyB9OwogCQk0NDlEOTBEQTIxRkRDMzBCMDBGNjc3QzAg
LyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2Fs
QXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLzsgfTsKIAkJNDRFOTM2RkQyNDQ3QzJEODAwOUZB
M0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNFMyAvKiBMZWdhY3lD
dXN0b21Qcm90b2NvbElELmggKi87IH07CkBAIC0zNzc1LDYgKzM3NzYsNyBAQAogCQk0NDUwQUVC
RjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkTWVtb3J5Q29jb2EuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NDU5OTg0MTIyODMzRTYwMDBFNjEzNzMgLyogU3ludGhldGlj
RWRpdGluZ0NvbW1hbmRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDZEQzY0QjI0QTJEOEFE
MDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3
IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0ODI3MzQ2MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvY29hSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRp
b25Tb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExv
Y2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDRBNDgxQzYyMUYyRDI3QjAwRjJGOTE5IC8qIENsaWVudENlcnRpZmljYXRlQXV0aGVudGlj
YXRpb25YUENDb25zdGFudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpZW50Q2VydGlmaWNh
dGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NjY5LDYgKzc2NzEsNyBAQAogCQkJCTM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAv
KiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5oICovLAogCQkJCTM3QTVFMDExMThCQkY5MzcwMDBB
MDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLywKIAkJCQkzNzlBODczNTE4QkJG
QTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oICovLAorCQkJ
CTQ0NzZFRjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICov
LAogCQkJCTYzMTA4Rjk0MUY5NjcxOUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
LmggKi8sCiAJCQkJNjMxMDhGOTUxRjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFu
aWZlc3QubW0gKi8sCiAJCQkJNjMxMDhGOTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0
aW9uTWFuaWZlc3RJbnRlcm5hbC5oICovLApAQCAtMTEyNzcsNiArMTEyODAsNyBAQAogCQkJZmls
ZXMgPSAoCiAJCQkJMzdBNUUwMTQxOEJCRjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1l
bnRJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyog
X1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ3
NkVGMDkyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk2MzEwOEY5NjFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25N
YW5pZmVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjMxMDhGOTkxRjk2NzFGNzAwQTBEQjg0IC8q
IF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQ0
MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBmZWMwZmVlZmQ1NTNkNmVjMjJjNGQ4Y2RkZjlhOGVj
N2ZlMThmZGRiLi5hNjU0Mjg3NTdmNDNhYjM1MmQzZTg5ZGM1NWRjN2FjYmEwZjdjNWE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2VCYW5uZXIuaCIKICNpbmNsdWRlICJS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5
LmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIK
ICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTEyMzgsNiArMTIzOSwxNCBA
QCBib29sIFdlYkNocm9tZUNsaWVudDo6dW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50
OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElH
SExJR0hUUykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFn
ZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGNvbnN0Cit7CisgICAgYXV0byBi
dWZmZXIgPSBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkoZGF0YSk7CisgICAgbV9wYWdlLnNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6VXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoYnVmZmVyKSk7
Cit9CisjZW5kaWYKKwogU3RyaW5nIFdlYkNocm9tZUNsaWVudDo6c2lnbmVkUHVibGljS2V5QW5k
Q2hhbGxlbmdlU3RyaW5nKHVuc2lnbmVkIGtleVNpemVJbmRleCwgY29uc3QgU3RyaW5nJiBjaGFs
bGVuZ2VTdHJpbmcsIGNvbnN0IFVSTCYgdXJsKSBjb25zdAogewogICAgIFN0cmluZyByZXN1bHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMDU4MjJiOTk3YmE4NDE1MDkzYTYzZmQxNWY1NDM4Yzk2
OTRlZmU5Yi4uZGM3MmIyZWZlYzVlN2I1OThlOTVmMjQxMzU5NGE2MWM1NWQ0NjYwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaApAQCAtMzQ1LDYgKzM0NSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgaXNQ
bGF5aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZs
YWdzLCB1aW50NjRfdCkgZmluYWw7CiAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYkNv
cmU6OkF1dG9wbGF5RXZlbnQsIE9wdGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+
KSBmaW5hbDsKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2b2lkIHVwZGF0ZUFw
cEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0IGZp
bmFsOworI2VuZGlmCisKICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKICAgICBib29sIHdyYXBDcnlw
dG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgY29uc3QgZmlu
YWw7CiAgICAgYm9vbCB1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVj
dG9yPHVpbnQ4X3Q+JikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDllNTA5MTA0NDc1OWFkMDdiMGRiN2M3ODc3NzdkY2Vk
Nzg1MDdmZDQuLjZhNTg1M2VmMGI2M2FlOGIwOTZlNzdiYzBhOGVmZWQxZjg0OTQyN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTQsNiAr
MjU0LDEwIEBACiAjaW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvVGV4dFN0cmVhbS5oPgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorI2luY2x1ZGUg
PFdlYkNvcmUvQXBwSGlnaGxpZ2h0U3RvcmFnZS5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pCiAjaW5jbHVkZSAiRGF0YURldGVjdGlvblJlc3VsdC5oIgogI2VuZGlmCkBA
IC03MTU2LDYgKzcxNjAsNyBAQCBib29sIFdlYlBhZ2U6OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2Vs
ZWN0ZWRSYW5nZShDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCBjcmVhdAogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBkb2N1bWVudC0+YXBwSGlnaGxpZ2h0UmVnaXN0ZXIoKS5hZGRBcHBI
aWdobGlnaHQoU3RhdGljUmFuZ2U6OmNyZWF0ZShzZWxlY3Rpb25SYW5nZS52YWx1ZSgpKSk7Cisg
ICAgZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFN0b3JhZ2UoKS51cGRhdGVBcHBIaWdobGlnaHRzU3Rv
cmFnZSgpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDNjODMz
M2JhMzA3ODM4N2VjOGRjODkwMzY1Y2FiMTAwZGUxZjY3MzguLmI4ZDAxMWZlZjRkMjg0ZWQyNDcx
ODU5MTNlNzc0ZTA0MTdhODg1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNTEsNiArMTUxLDEw
IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkRhdGVUaW1lQ2hvb3Nl
cj4gY3JlYXRlRGF0ZVRpbWVDaG9vc2VyKFdlYkNvcmU6OkRhdGVUaW1lQ2hvb3NlckNsaWVudCYp
IGZpbmFsOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCB1
cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKSBj
b25zdCBmaW5hbDsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICBib29s
IHJlcXVlc3RQb2ludGVyTG9jaygpIGZpbmFsOwogICAgIHZvaWQgcmVxdWVzdFBvaW50ZXJVbmxv
Y2soKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBmYzk4MjJlNGI0ZTBjYzAwM2EzNTQy
NGY5MzRkZWJjNWUyMzA2ZThiLi43M2I0MjU2MWY0NDE5MTQzYjVlMjlmMmM3ODgzYTZhMjFiYTRj
NjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC03NDQsNiArNzQ0LDEyIEBAIHN0ZDo6dW5pcXVl
X3B0cjxEYXRlVGltZUNob29zZXI+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlRGF0ZVRpbWVDaG9v
c2VyKERhdGVUaW1lCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3Zv
aWQgV2ViQ2hyb21lQ2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29y
ZTo6U2hhcmVkQnVmZmVyPiYmKSBjb25zdAoreworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoUE9J
TlRFUl9MT0NLKQogYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnJlcXVlc3RQb2ludGVyTG9jaygpCiB7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418654</attachid>
            <date>2021-01-28 10:30:37 -0800</date>
            <delta_ts>2021-01-28 17:40:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221020-20210128103036.patch</filename>
            <type>text/plain</type>
            <size>30304</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uNDQ5ZjBkMDVlOWRjNGJjMjY2MGMwYTIxNzZjNWVi
ZjA3ZmJkZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRMaXN0
RGF0YTo6dG9TaGFyZWRCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxp
Z2h0TGlzdERhdGE6OnRvRGF0YSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaDoKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmNyZWF0ZUFuZFNlbmRBcHBIaWdobGlnaHRzU3RvcmFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWU6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorCiAyMDIx
LTAxLTI1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OIChyMjcwODc0KTogU29tZSBSZWFjdCBOYXRpdmUgYXBwcyBhcmUgcmVwb3J0
ZWQgYnJva2VuIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTc2NzI2OGEzMTYxMmJmZjY1MGEzNWU3Y2Zi
MmMzZjFlOGZiYzEwLi4yMWM2MmUxYjY4MWEwZGJlNGYzMzFjOWI4ZGJiNTVhNGUzMmYyMmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI2ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IEFw
cEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9kaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGE6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfYXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZV0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3NldEFwcEhpZ2hsaWdodHNTdG9yYWdlRGVsZWdhdGU6XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUhpZ2hs
aWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZSk6CisKIDIwMjEtMDEtMjUgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyNzA4NzQpOiBTb21lIFJlYWN0IE5hdGl2ZSBhcHBzIGFyZSByZXBvcnRlZCBicm9rZW4gb24g
aU9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdo
bGlnaHRMaXN0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRMaXN0RGF0YS5jcHAKaW5kZXggNzkyOGJkYjlkYjAwOThiZTI5ZTBkOTA4YzE5ZDVk
NzIzYjlmYTliYi4uYjU0ZDU5YmIzNWRkYTE0YzZjZmRkOGI3ZmRlNDQ4NjA1ZjQwYjk0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0TGlz
dERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcApAQCAtNDksNyArNDksNyBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBB
cHBIaWdobGlnaHRMaXN0RGF0YTo6Y3JlYXRlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgYnVmZmVyKQog
ICAgIHJldHVybiBkYXRhID8gKmRhdGEgOiBBcHBIaWdobGlnaHRMaXN0RGF0YSB7eyB9fTsKIH0K
IAotUmVmPFNoYXJlZEJ1ZmZlcj4gQXBwSGlnaGxpZ2h0TGlzdERhdGE6OnRvRGF0YSgpIGNvbnN0
CitSZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9TaGFyZWRCdWZmZXIo
KSBjb25zdAogewogICAgIFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIgZW5jb2RlcjsKICAgICBl
bmNvZGVyIDw8ICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmgKaW5kZXggZjg4Mzk2ZjMxNDM2ZGE0N2Q5ZTVm
ODQ2NTNjNWFkN2U4MmE4NTNmNS4uNTEzYjIxNGRiOTc4OTIwOTQ0Y2RkYjFmYjBlYTE2NWQ3ZGE2
Y2UxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9B
cHBIaWdobGlnaHRMaXN0RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0UmFuZ2VzKFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1f
YW5ub3RhdGlvblJhbmdlcyA9IFdURk1vdmUocmFuZ2VzKTsgfQogICAgIHZvaWQgYWRkUmFuZ2Vz
KFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+JiYgcmFuZ2VzKSB7IG1fYW5ub3RhdGlvblJh
bmdlcy5hcHBlbmRWZWN0b3IoV1RGTW92ZShyYW5nZXMpKTsgfQogCi0gICAgV0VCQ09SRV9FWFBP
UlQgUmVmPFNoYXJlZEJ1ZmZlcj4gdG9EYXRhKCkgY29uc3Q7CisgICAgUmVmPFNoYXJlZEJ1ZmZl
cj4gdG9TaGFyZWRCdWZmZXIoKSBjb25zdDsKIAogICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLnNpemUoKTsgfQogICAgIGJvb2wgaXNFbXB0eSgpIGNv
bnN0IHsgcmV0dXJuIG1fYW5ub3RhdGlvblJhbmdlcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5j
cHAKaW5kZXggNjRlZWY3ZDJhMGViNWY3NmVmMjM0OWZhMjZmYzYxYWI0ZjUyOTBiMC4uYjU3ZjI0
NzZhZDIyZWEwOWIwMDgzMzM4YTJiZDYyMmJmZDAwMWJhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAKICNpbmNs
dWRlICJBcHBIaWdobGlnaHRMaXN0RGF0YS5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0yMDksMTIgKzIxMCwxNSBAQCBBcHBIaWdo
bGlnaHRTdG9yYWdlOjpBcHBIaWdobGlnaHRTdG9yYWdlKERvY3VtZW50JiBkb2N1bWVudCkKIHsK
IH0KIAotQXBwSGlnaGxpZ2h0TGlzdERhdGEgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBw
SGlnaGxpZ2h0TGlzdERhdGEoKQordm9pZCBBcHBIaWdobGlnaHRTdG9yYWdlOjp1cGRhdGVBcHBI
aWdobGlnaHRzU3RvcmFnZSgpCiB7CiAgICAgVmVjdG9yPEFwcEhpZ2hsaWdodFJhbmdlRGF0YT4g
ZGF0YTsKIAogICAgIGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIHsgV1RGTW92ZShk
YXRhKSB9OworICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fZG9jdW1lbnQtPnBhZ2UoKSkK
KyAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGF1dG8gYXBwSGlnaGxpZ2h0UmVnaXN0ZXIgPSBt
X2RvY3VtZW50LT5hcHBIaWdobGlnaHRSZWdpc3RlcklmRXhpc3RzKCkpIHsKICAgICAgICAgZm9y
IChhdXRvJiBoaWdobGlnaHQgOiBhcHBIaWdobGlnaHRSZWdpc3Rlci0+bWFwKCkpIHsKQEAgLTIy
Miw4ICsyMjYsOSBAQCBBcHBIaWdobGlnaHRMaXN0RGF0YSBBcHBIaWdobGlnaHRTdG9yYWdlOjpj
cmVhdGVBcHBIaWdobGlnaHRMaXN0RGF0YSgpCiAgICAgICAgICAgICAgICAgZGF0YS5hcHBlbmQo
Y3JlYXRlQXBwSGlnaGxpZ2h0UmFuZ2VEYXRhKHJhbmdlRGF0YS0+cmFuZ2UpKTsKICAgICAgICAg
fQogICAgIH0KKyAgICBBcHBIaWdobGlnaHRMaXN0RGF0YSBsaXN0RGF0YSB7IFdURk1vdmUoZGF0
YSkgfTsKIAotICAgIHJldHVybiB7IFdURk1vdmUoZGF0YSkgfTsKKyAgICBtX2RvY3VtZW50LT5w
YWdlKCktPmNocm9tZSgpLnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKGxpc3REYXRhLnRvU2hh
cmVkQnVmZmVyKCkpOwogfQogCiBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFuZ2VEYXRhPiBBcHBIaWdo
bGlnaHRTdG9yYWdlOjpyZXN0b3JlQXBwSGlnaGxpZ2h0cyhSZWY8U2hhcmVkQnVmZmVyPiYmIGJ1
ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhp
Z2hsaWdodFN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhp
Z2hsaWdodFN0b3JhZ2UuaAppbmRleCBkYjE0OTRmZWEyOTdkMjc5YjgxYmQ1ZDEwMzEzYThlMWNh
ZmRhNDUyLi5jMTBhMzQyOGMxODJlMDBkYTIyYWM4MTg3MWJmMjk5NjdkMGFlYWI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3Rv
cmFnZS5oCkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEFwcEhpZ2hsaWdodFN0b3JhZ2UgOiBSZWZD
b3VudGVkPEFwcEhpZ2hsaWdodFN0b3JhZ2U+IHsKIHB1YmxpYzoKICAgICBBcHBIaWdobGlnaHRT
dG9yYWdlKERvY3VtZW50Jik7CiAKLSAgICBBcHBIaWdobGlnaHRMaXN0RGF0YSBjcmVhdGVBcHBI
aWdobGlnaHRMaXN0RGF0YSgpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlQXBwSGln
aGxpZ2h0c1N0b3JhZ2UoKTsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFuZ2VEYXRhPiByZXN0
b3JlQXBwSGlnaGxpZ2h0cyhSZWY8U2hhcmVkQnVmZmVyPiYmKTsKIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAw
NTNiZDg3ZGE3Y2RhODQ1MWFmMTNlZGIzMWMxMzhhZjY2NDU5NWUyLi4zOWI4NWY0MDY4MjM3ZjRl
N2U5OGY3YWRiMjM4MGEzMzdlOTQ3ZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjEyLDcgKzEyMTIsNyBAQAogCQk0M0Mw
OTJCQzEyRDlFNEVFMDBBOTg5QzMgLyogUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDNDMDkyQkExMkQ5RTRFRTAw
QTk4OUMzIC8qIFJlbmRlclNWR0ZvcmVpZ25PYmplY3QuaCAqLzsgfTsKIAkJNDNFREQ2N0YxQjQ4
NURCRjAwNjQwRTc1IC8qIENvbWJpbmVkRmlsdGVyc0FscGhhYmV0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0M0VERDY3RDFCNDg1REJGMDA2NDBFNzUg
LyogQ29tYmluZWRGaWx0ZXJzQWxwaGFiZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDE1MjkyRTBFMUFFOEEwMDBDNEEyRDAgLyogSFRNTFBs
dWdJbkltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDQxNTI5MkMwRTFBRThBMDAwQzRBMkQwIC8qIEhUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0
NDI1MDcwOTI1ODI5QTI3MDBDMDkzNjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQyNTA3MDcyNTgyOUExNDAw
QzA5MzY4IC8qIEFwcEhpZ2hsaWdodFN0b3JhZ2UuaCAqLzsgfTsKKwkJNDQyNTA3MDkyNTgyOUEy
NzAwQzA5MzY4IC8qIEFwcEhpZ2hsaWdodFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MjUwNzA3MjU4MjlBMTQwMEMwOTM2OCAvKiBBcHBI
aWdobGlnaHRTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDQzMEQwMEIyNTc1QTgzRTAwNDZENDAxIC8qIEhpZ2hsaWdodC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFODhFNTEyMzZBNUM4
RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ0MzBEMDBEMjU3NUE4QTUwMDQ2RDQwMSAvKiBIaWdobGlnaHRS
ZWdpc3Rlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDRFODhFNTAyMzZBNTZBQzAwOUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ1Nzc1RTUyMDQ3MkY3
MzAwOERDRTVEIC8qIExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NTc3NUU0MjA0NzJGNzMwMDhEQ0U1
RCAvKiBMb2NhbERlZmF1bHRTeXN0ZW1BcHBlYXJhbmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDk5
Y2E2YTEzYzAwZGRkZjdkMGNkZjk1ZmVhYTIwMTI1MmFiOTc5NjQuLmVhNDY1NTA3NTg4ZTNhZjli
YjJkMzM1MzU4M2Q3NDI5NTJiZDU4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjYy
LDcgKzI2Miw2IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCiAjaWYgRU5B
QkxFKEFQUF9ISUdITElHSFRTKQotI2luY2x1ZGUgIkFwcEhpZ2hsaWdodExpc3REYXRhLmgiCiAj
aW5jbHVkZSAiQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggZDdmMGEwOThiMjE3NGY3ZjIyNzcyNjg4ZjFlNjNhN2Q5ODU2NzU4Yi4uNjJiMzM1
NjA1ZmU4ZTY2ZjUwM2IzNjNhYmNiZGNkYzdhODg4NzViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTE1NzcsNyArMTU3Nyw3IEBAIHB1YmxpYzoKICAgICBIaWdobGlnaHRSZWdpc3RlciogYXBw
SGlnaGxpZ2h0UmVnaXN0ZXJJZkV4aXN0cygpIHsgcmV0dXJuIG1fYXBwSGlnaGxpZ2h0UmVnaXN0
ZXIuZ2V0KCk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBIaWdobGlnaHRSZWdpc3RlciYgYXBwSGln
aGxpZ2h0UmVnaXN0ZXIoKTsKIAotICAgIEFwcEhpZ2hsaWdodFN0b3JhZ2UmIGFwcEhpZ2hsaWdo
dFN0b3JhZ2UoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBBcHBIaWdobGlnaHRTdG9yYWdlJiBhcHBI
aWdobGlnaHRTdG9yYWdlKCk7CiAgICAgQXBwSGlnaGxpZ2h0U3RvcmFnZSogYXBwSGlnaGxpZ2h0
U3RvcmFnZUlmRXhpc3RzKCkgY29uc3QgeyByZXR1cm4gbV9hcHBIaWdobGlnaHRTdG9yYWdlLmdl
dCgpOyB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5k
ZXggYTVjMjQ2OWI0Nzc3ZTY0MWZlN2MxZjdjNDI4NjQxZjdjZmY5MTY0ZS4uM2UyNWQyMDgxY2Qw
ZDBhZjUzMmFjNWY4NzZkZWU2OGQ1MjkwOGNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKQEAgLTUwMSw2ICs1MDEsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1l
Q2hvb3Nlcj4gRW1wdHlDaHJvbWVDbGllbnQ6OmNyZWF0ZURhdGVUaW1lQ2hvb3NlcihEYXRlVGkK
IAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIEVtcHR5Q2hyb21l
Q2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmKSBjb25zdAoreworfQorI2VuZGlmCisKIHZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnJ1
bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2VyJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAppbmRleCA3NDBmODhhZWM2YmQwNTY4YzU4YTdjMjAzYzk4ZDAxNjI1ZGYz
YjcxLi45ZjFiZWE0NDZlMTU1NzNiNDhhNzYwMGIwM2ZlYTQ1YzRkYzk0NTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0xNDUsNiArMTQ1LDEwIEBAIGNsYXNzIEVtcHR5
Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PERhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lQ2hvb3NlckNs
aWVudCYpIGZpbmFsOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAg
dm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVy
PiYmKSBjb25zdCBmaW5hbDsKKyNlbmRpZgorCiAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUm
LCBGaWxlQ2hvb3NlciYpIGZpbmFsOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQoU2hhcmVEYXRh
V2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIGZpbmFsOwog
ICAgIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29u
TG9hZGVyJikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYjcxMGU3MTVhNjZk
Y2FjNTY3NDJkYjZiYmVhNzQxZDZmODYzNDJiMy4uMzRkOGY4YzlmODc5NTkzZjZkMmY1Yzk1NGY5
MDhlZmJiODIwNWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTE1LDYgKzUxNSwxMyBA
QCB2b2lkIENocm9tZTo6ZGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNEaWRDaGFuZ2UoY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZQogICAgIG1fY2xpZW50LmRpc3BhdGNoVmlld3BvcnRQ
cm9wZXJ0aWVzRGlkQ2hhbmdlKGFyZ3VtZW50cyk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCit2b2lkIENocm9tZTo6dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKSBjb25zdAoreworICAgIG1fY2xpZW50LnVwZGF0ZUFw
cEhpZ2hsaWdodHNTdG9yYWdlKFdURk1vdmUoZGF0YSkpOworfQorI2VuZGlmCisKIHZvaWQgQ2hy
b21lOjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7CiAgICAgbV9jbGllbnQuc2V0
Q3Vyc29yKGN1cnNvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCBhODlkZDFhMWQ4NjVlNTMyOGVi
MDUwNTc2NTQwZDNmMjMyYTNjZmMwLi4wNTFmZWE4MTJkYTM1MjM4YTU0ODA4YWNiNzQ0YWQyNTgx
MDIwOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTE2NCw2ICsxNjQsMTAgQEAgcHVibGljOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+IGNyZWF0ZURhdGVUaW1lQ2hvb3Nl
cihEYXRlVGltZUNob29zZXJDbGllbnQmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdI
TElHSFRTKQorICAgIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3Q7CisjZW5kaWYKKwogICAgIHZvaWQgcnVuT3BlblBhbmVs
KEZyYW1lJiwgRmlsZUNob29zZXImKTsKICAgICB2b2lkIHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0
YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2
b2lkIHNob3dDb250YWN0UGlja2VyKGNvbnN0IENvbnRhY3RzUmVxdWVzdERhdGEmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDVmZDRiNjUxYWRiOWM4NDcxZTEwMjY1YmQ5
N2NmYjgwYjcyNzc5NjIuLjlhNDA5M2MwOWRlYjEwYzczZDExZGVmZWVmMTYwMjBjYTY3NmQwNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzAyLDYgKzMwMiwxMCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVE
YXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50JikgPSAwOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0ID0gMDsKKyNl
bmRpZgorCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSYsIEZpbGVDaG9vc2Vy
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzaG93U2hhcmVTaGVldChTaGFyZURhdGFXaXRoUGFy
c2VkVVJMJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNhbGxiYWNrKSB7
IGNhbGxiYWNrKGZhbHNlKTsgfQogICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGFjdFBpY2tlcihj
b25zdCBDb250YWN0c1JlcXVlc3REYXRhJiwgV1RGOjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPFZlY3RvcjxDb250YWN0SW5mbz4+JiYpPiYmIGNhbGxiYWNrKSB7IGNhbGxiYWNrKFdU
Rjo6bnVsbG9wdCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IDE3YzZiZTkxYTI0OWJkNDE3NzAxMTQ0ZmUzMjNhZjU0ZGMyNmY5MzUu
LmRkODY0YjY4ZjRjOWMxZDIzYzkwYWRjOWM5OGM1ZWY0Y2ZmOTQ4NTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtOTgsNiArOTgsNyBA
QAogI2ltcG9ydCAiV2ViVVJMU2NoZW1lSGFuZGxlckNvY29hLmgiCiAjaW1wb3J0ICJXZWJWaWV3
SW1wbC5oIgogI2ltcG9ydCAiX1dLQWN0aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIgorI2lt
cG9ydCAiX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0RpYWdub3N0aWNM
b2dnaW5nRGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0ZpbmREZWxlZ2F0ZS5oIgogI2ltcG9ydCAi
X1dLRnJhbWVIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMTQwMyw2ICsxNDA0LDI4IEBAIC0gKHZvaWQp
X2RpZEludmFsaWRhdGVEYXRhRm9yQXR0YWNobWVudDooQVBJOjpBdHRhY2htZW50JilhdHRhY2ht
ZW50CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogCisjaWYgRU5BQkxF
KEFQUF9ISUdITElHSFRTKQorLSAoaWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilfYXBwSGln
aGxpZ2h0c0RlbGVnYXRlCit7CisgICAgcmV0dXJuIF9hcHBIaWdobGlnaHRzRGVsZWdhdGUuZ2V0
QXV0b3JlbGVhc2VkKCk7Cit9CisKKy0gKHZvaWQpX3NldEFwcEhpZ2hsaWdodHNEZWxlZ2F0ZToo
aWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPilkZWxlZ2F0ZQoreworICAgIF9hcHBIaWdobGln
aHRzRGVsZWdhdGUgPSBkZWxlZ2F0ZTsKK30KKworLSAodm9pZClfdXBkYXRlQXBwSGlnaGxpZ2h0
c1N0b3JhZ2U6KE5TRGF0YSAqKWRhdGEKK3sKKyAgICBhdXRvIGRlbGVnYXRlID0gc2VsZi5fYXBw
SGlnaGxpZ2h0c0RlbGVnYXRlOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmll
dzp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTopXSkKKyAgICAgICAgW2RlbGVnYXRlIF93ZWJW
aWV3OnNlbGYgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6ZGF0YV07Cit9CisjZW5kaWYKKwog
LSAoV0tQYWdlUmVmKV9wYWdlRm9yVGVzdGluZwogewogICAgIHJldHVybiB0b0FQSShfcGFnZS5n
ZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdJbnRlcm5hbC5oCmluZGV4IGE3ODZjN2E2NDgyNjRlZjAyY2M2YzY3NjEzNGQyMTViOGFj
NGEzYjQuLjQ0MzlhNjQxM2I3Y2Y5Mzg0MjJiYmYwMzg4NWZiMGI1MmVkOTgyNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5h
bC5oCkBAIC0xMDUsNiArMTA1LDcgQEAgY2xhc3MgVmlld0dlc3R1cmVDb250cm9sbGVyOwogCiBA
cHJvdG9jb2wgX1dLVGV4dE1hbmlwdWxhdGlvbkRlbGVnYXRlOwogQHByb3RvY29sIF9XS0lucHV0
RGVsZWdhdGU7CitAcHJvdG9jb2wgX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU7CiAKIEBpbnRlcmZh
Y2UgV0tXZWJWaWV3ICgpIFdLX1dFQl9WSUVXX1BST1RPQ09MUyB7CiAKQEAgLTExOSw2ICsxMjAs
NyBAQCBjbGFzcyBWaWV3R2VzdHVyZUNvbnRyb2xsZXI7CiAKICAgICBXZWFrT2JqQ1B0cjxpZCA8
X1dLVGV4dE1hbmlwdWxhdGlvbkRlbGVnYXRlPj4gX3RleHRNYW5pcHVsYXRpb25EZWxlZ2F0ZTsK
ICAgICBXZWFrT2JqQ1B0cjxpZCA8X1dLSW5wdXREZWxlZ2F0ZT4+IF9pbnB1dERlbGVnYXRlOwor
ICAgIFdlYWtPYmpDUHRyPGlkIDxfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZT4+IF9hcHBIaWdobGln
aHRzRGVsZWdhdGU7CiAKICAgICBSZXRhaW5QdHI8V0tTYWZlQnJvd3NpbmdXYXJuaW5nPiBfc2Fm
ZUJyb3dzaW5nV2FybmluZzsKIApAQCAtMjU4LDYgKzI2MCwxMCBAQCBjbGFzcyBWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI7CiAtICh2b2lkKV9kaWRJbnZhbGlkYXRlRGF0YUZvckF0dGFjaG1lbnQ6KEFQ
STo6QXR0YWNobWVudCYpYXR0YWNobWVudDsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdI
TElHSFRTKQorLSAodm9pZClfdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6KE5TRGF0YSAqKWRh
dGE7CisjZW5kaWYKKwogLSAodm9pZClfaW50ZXJuYWxEb0FmdGVyTmV4dFByZXNlbnRhdGlvblVw
ZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgd2l0aG91dFdhaXRpbmdGb3JQYWludGlu
ZzooQk9PTCl3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nIHdpdGhvdXRXYWl0aW5nRm9yQW5pbWF0
ZWRSZXNpemU6KEJPT0wpd2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJlc2l6ZTsKIAogLSAodm9p
ZClfc2hvd1NhZmVCcm93c2luZ1dhcm5pbmc6KGNvbnN0IFdlYktpdDo6U2FmZUJyb3dzaW5nV2Fy
bmluZyYpd2FybmluZyBjb21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChW
YXJpYW50PFdlYktpdDo6Q29udGludWVVbnNhZmVMb2FkLCBVUkw+JiYpPiYmKWNvbXBsZXRpb25I
YW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0FwcEhpZ2hsaWdodERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2IyMDVlNDY3YzExYzBl
ZTA5N2I3ZmQ1YTY5MmYxMzFkZmZjODhiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmgKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgor
CitAcHJvdG9jb2wgX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUgPE5TT2JqZWN0PgorCitAb3B0aW9u
YWwKKworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB1cGRhdGVBcHBIaWdo
bGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0YTsKKworQGVuZAorCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKaW5kZXggYTQ4MGIz
ODRjZmVlNDc4MGUxNzFiYTc2ZTA0YmI2NTU4NWExYmE3Yy4uNmVkYzBjZTg1NWQ3ZjUzNjJhMDg5
M2I2MmEyYmE5ZWRkODAwZjlkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaApAQCAtNjcsNiArNjcsMTAgQEAgcHVibGljOgog
ICAgIFZlY3RvcjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0aXZlcyhXZWJDb3JlOjpEaWN0YXRp
b25Db250ZXh0KSBmaW5hbDsKICAgICBOU1RleHRBbHRlcm5hdGl2ZXMgKnBsYXRmb3JtRGljdGF0
aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQpIGZpbmFsOwogCisjaWYg
RU5BQkxFKEFQUF9ISUdITElHSFRTKQorICAgIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3Jh
Z2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKSBmaW5hbDsKKyNlbmRpZgorCiBw
cm90ZWN0ZWQ6CiAgICAgV2Vha09iakNQdHI8V0tXZWJWaWV3PiBtX3dlYlZpZXc7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcj4gbV9hbHRl
cm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCA4MDYxYmZiZDQ2MmFmMGQ1MWRh
ODZjZjRmOTUyNWY3YTdiZTNhMjlmLi4yZDhmYjQzY2ZiOTM2NDYxYWNjNTJkMjZlMmY0NmRkZTlm
NTNmYmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xp
ZW50SW1wbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VD
bGllbnRJbXBsQ29jb2EubW0KQEAgLTkzLDYgKzkzLDE0IEBAIE5TU2V0ICpQYWdlQ2xpZW50SW1w
bENvY29hOjpzZXJpYWxpemFibGVGaWxlV3JhcHBlckNsYXNzZXMoKSBjb25zdAogCiAjZW5kaWYK
IAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6
dXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBk
YXRhKQoreworICAgIGF1dG8gbnNEYXRhID0gZGF0YS0+Y3JlYXRlTlNEYXRhKCk7CisgICAgW21f
d2ViVmlldyBfdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2U6bnNEYXRhLmdldCgpXTsKK30KKyNl
bmRpZiAvLyBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisKIHZvaWQgUGFnZUNsaWVudEltcGxDb2Nv
YTo6cGFnZUNsb3NlZCgpCiB7CiAgICAgbV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXItPmNs
ZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggZThkMjdjMmExM2Ez
NDBhMWY3ODVlMDhhNmViZjMyNTJmOWM1MmY1OC4uZmEyOTc3NmI4ZDBkZmI1YWQ4NzM4MTYyN2Fk
MzEzOTQ5MzU2ODViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNTU0
LDYgKzU1NCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9I
SUdITElHSFRTKQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShS
ZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpID0gMDsKKyNlbmRpZgorCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvaW50ZXJzRm9yR2VzdHVyZVJl
Y29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgfQogICAgIHZpcnR1YWwgV1RGOjpPcHRp
b25hbDx1bnNpZ25lZD4gYWN0aXZlVG91Y2hJZGVudGlmaWVyRm9yR2VzdHVyZVJlY29nbml6ZXIo
VUlHZXN0dXJlUmVjb2duaXplciopIHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZTQ5MzllNjc0ZGQ0ZmIzMTMzNjEz
OTMzOWI0YzViYzkyOTEzN2M3YS4uOTIyNTgxZDFkNGIzYjY1ZGQwZjZiMDg5MzZmNzM1OWEwZDQ2
Yzk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC05OTE4
LDYgKzk5MTgsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmdldEFwcGxpY2F0aW9uTWFuaWZlc3Qo
RnVuY3Rpb248dm9pZChjb25zdCBPcHRpb25hbDxXZWJDb3JlOjoKIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYgZGF0YSkKK3sKKyAgICBw
YWdlQ2xpZW50KCkudXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoKmRhdGEuYnVmZmVyKCkpOwor
fQorI2VuZGlmCisKIG5hbWVzcGFjZSB7CiBlbnVtIGNsYXNzIENvbXBsZXRpb25Db25kaXRpb24g
ewogICAgIENhbmNlbGxhdGlvbiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggNDZmZDIwMjk0ODQyMGI2YWI3NDM4MTE5MDEzZDk5NmJjMjdmODk1Yy4uMDE1MGY1NWUz
ODI3NjhiMjRhYjhkYjEwMzlkMGQyNGYwMGExOTJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKQEAgLTE4MjAsNiArMTgyMCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJM
RShBUFBfSElHSExJR0hUUykKICAgICB2b2lkIGNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRS
YW5nZShDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCk7CisgICAgdm9pZCB1cGRhdGVBcHBIaWdo
bGlnaHRzU3RvcmFnZShjb25zdCBJUEM6OlNoYXJlZEJ1ZmZlckNvcHkmKTsKICNlbmRpZgogCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmZDAxZDU1M2NjNGVhMGQ1M2Y4NjQ5MzQwZjRj
Y2MxYWJmYTU3NWY3Li5lNjY3Zjc2ZTBmYTVjOGYzM2RmNTBkZTFlNTFmYzgyMzIyMTQ1ZmRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CkBAIC01MzUsNiArNTM1LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgV3Jp
dGVQcm9taXNlZEF0dGFjaG1lbnRUb1Bhc3RlYm9hcmQoc3RydWN0IFdlYkNvcmU6OlByb21pc2Vk
QXR0YWNobWVudEluZm8gaW5mbykKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRT
KQorICAgIFVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKElQQzo6U2hhcmVkQnVmZmVyQ29weSBk
YXRhKQorI2VuZGlmCisKICAgICBTaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VTdHJpbmcodW5z
aWduZWQga2V5U2l6ZUluZGV4LCBTdHJpbmcgY2hhbGxlbmdlU3RyaW5nLCBVUkwgdXJsKSAtPiAo
U3RyaW5nIHJlc3VsdCkgU3luY2hyb25vdXMKIAogI2lmIEVOQUJMRShTUEVFQ0hfU1lOVEhFU0lT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZmEwM2RjODUxNDAwMzg1ODI2MTc1M2RlY2NmOTU3NzdhMWFiY2VhMS4uNTQ1Y2UxYTMzOWYw
OTQ3NGJlYjVlMzM3ZDdiYTc2YjlhNjUyZDU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NDQsNiArOTQ0LDcgQEAKIAkJNDQzMEQw
MTcyNTc2RDlERDAwNDZENDAxIC8qIENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMwRDAxNjI1NzZEOURD
MDA0NkQ0MDEgLyogQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQuaCAqLzsgfTsKIAkJNDQ1OTk4
NDIyMjgzM0U4NzAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1OTk4NDEyMjgzM0U2
MDAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oICovOyB9OwogCQk0NDZE
QzY0QzI0QTJEOEU1MDA2MUYzOTAgLyogUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NkRDNjRC
MjRBMkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oICov
OyB9OworCQk0NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NzZF
RjA4MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0ODI3MzQ3MjQ1MjhG
NjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDgyNzM0NjI0NTI4RjYwMDBBOTU0OTMgLyogQ29jb2FJbWFnZS5o
ICovOyB9OwogCQk0NDlEOTBEQTIxRkRDMzBCMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlv
blNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDQ5RDkwRDgyMUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGlu
ay5tbSAqLzsgfTsKIAkJNDRFOTM2RkQyNDQ3QzJEODAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVBy
b3RvY29sSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0RTkzNkZDMjQ0N0MyNTYwMDlGQTNFMyAvKiBMZWdhY3lDdXN0b21Qcm90b2NvbElELmggKi87
IH07CkBAIC0zNzc1LDYgKzM3NzYsNyBAQAogCQk0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyog
U2hhcmVkTWVtb3J5Q29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU2hhcmVkTWVtb3J5Q29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NDU5OTg0MTIyODMzRTYwMDBFNjEzNzMgLyogU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NDZEQzY0QjI0QTJEOEFEMDA2MUYzOTAgLyogUGxheWJhY2tT
ZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERl
bGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0FwcEhpZ2hsaWdo
dERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0ODI3MzQ2MjQ1MjhG
NjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IENvY29hSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ5RDkwRDgy
MUZENjNGRTAwRjY3N0MwIC8qIExvY2FsQXV0aGVudGljYXRpb25Tb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsQXV0aGVudGljYXRpb25Tb2Z0
TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBNDgxQzYyMUYyRDI3QjAw
RjJGOTE5IC8qIENsaWVudENlcnRpZmljYXRlQXV0aGVudGljYXRpb25YUENDb25zdGFudHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0Nv
bnN0YW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjY5LDYgKzc2NzEs
NyBAQAogCQkJCTM3QTVFMDEyMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50
SW5mby5oICovLAogCQkJCTM3QTVFMDExMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRF
bGVtZW50SW5mby5tbSAqLywKIAkJCQkzNzlBODczNTE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0
aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oICovLAorCQkJCTQ0NzZFRjA4MjVCRkM4QjcwMDRB
MDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oICovLAogCQkJCTYzMTA4Rjk0MUY5Njcx
OUMwMEEwREI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggKi8sCiAJCQkJNjMxMDhGOTUx
Rjk2NzE5QzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gKi8sCiAJCQkJNjMx
MDhGOTgxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RJbnRlcm5hbC5o
ICovLApAQCAtMTEyNzcsNiArMTEyODAsNyBAQAogCQkJZmlsZXMgPSAoCiAJCQkJMzdBNUUwMTQx
OEJCRjkzRjAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVkRWxlbWVudElu
Zm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ3NkVGMDkyNUJGQzhCNzAwNEEwNTg3
IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2MzEwOEY5
NjFGOTY3MTlDMDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNjMxMDhGOTkxRjk2NzFGNzAwQTBEQjg0IC8qIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQ0MjkxOTIxRkE1OTFDOTAwMkNDOTNF
IC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApp
bmRleCBmZWMwZmVlZmQ1NTNkNmVjMjJjNGQ4Y2RkZjlhOGVjN2ZlMThmZGRiLi5hNjU0Mjg3NTdm
NDNhYjM1MmQzZTg5ZGM1NWRjN2FjYmEwZjdjNWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgog
I2luY2x1ZGUgIlBhZ2VCYW5uZXIuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHkuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5LmgiCiAjaW5jbHVkZSAiVXNlckRh
dGEuaCIKICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCIKQEAgLTEyMzgsNiArMTIzOSwxNCBAQCBib29sIFdlYkNocm9tZUNsaWVu
dDo6dW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVj
dG9yPAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgV2ViQ2hy
b21lQ2xpZW50Ojp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVk
QnVmZmVyPiYmIGRhdGEpIGNvbnN0Cit7CisgICAgYXV0byBidWZmZXIgPSBJUEM6OlNoYXJlZEJ1
ZmZlckNvcHkoZGF0YSk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
VXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoYnVmZmVyKSk7Cit9CisjZW5kaWYKKwogU3RyaW5n
IFdlYkNocm9tZUNsaWVudDo6c2lnbmVkUHVibGljS2V5QW5kQ2hhbGxlbmdlU3RyaW5nKHVuc2ln
bmVkIGtleVNpemVJbmRleCwgY29uc3QgU3RyaW5nJiBjaGFsbGVuZ2VTdHJpbmcsIGNvbnN0IFVS
TCYgdXJsKSBjb25zdAogewogICAgIFN0cmluZyByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5k
ZXggMDU4MjJiOTk3YmE4NDE1MDkzYTYzZmQxNWY1NDM4Yzk2OTRlZmU5Yi4uZGM3MmIyZWZlYzVl
N2I1OThlOTVmMjQxMzU5NGE2MWM1NWQ0NjYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMzQ1
LDYgKzM0NSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2Uo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzLCB1aW50NjRfdCkgZmluYWw7
CiAgICAgdm9pZCBoYW5kbGVBdXRvcGxheUV2ZW50KFdlYkNvcmU6OkF1dG9wbGF5RXZlbnQsIE9w
dGlvblNldDxXZWJDb3JlOjpBdXRvcGxheUV2ZW50RmxhZ3M+KSBmaW5hbDsKIAorI2lmIEVOQUJM
RShBUFBfSElHSExJR0hUUykKKyAgICB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJl
ZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0IGZpbmFsOworI2VuZGlmCisKICNpZiBF
TkFCTEUoV0VCX0NSWVBUTykKICAgICBib29sIHdyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVp
bnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgY29uc3QgZmluYWw7CiAgICAgYm9vbCB1bndyYXBD
cnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgY29uc3Qg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDllNTA5MTA0NDc1OWFkMDdiMGRiN2M3ODc3NzdkY2VkNzg1MDdmZDQuLjZhNTg1M2VmMGI2
M2FlOGIwOTZlNzdiYzBhOGVmZWQxZjg0OTQyN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTQsNiArMjU0LDEwIEBACiAjaW5jbHVkZSA8
d3RmL1NldEZvclNjb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgogCisj
aWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQorI2luY2x1ZGUgPFdlYkNvcmUvQXBwSGlnaGxpZ2h0
U3RvcmFnZS5oPgorI2VuZGlmCisKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAjaW5jbHVk
ZSAiRGF0YURldGVjdGlvblJlc3VsdC5oIgogI2VuZGlmCkBAIC03MTU2LDYgKzcxNjAsNyBAQCBi
b29sIFdlYlBhZ2U6OmNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShDcmVhdGVOZXdH
cm91cEZvckhpZ2hsaWdodCBjcmVhdAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBkb2N1
bWVudC0+YXBwSGlnaGxpZ2h0UmVnaXN0ZXIoKS5hZGRBcHBIaWdobGlnaHQoU3RhdGljUmFuZ2U6
OmNyZWF0ZShzZWxlY3Rpb25SYW5nZS52YWx1ZSgpKSk7CisgICAgZG9jdW1lbnQtPmFwcEhpZ2hs
aWdodFN0b3JhZ2UoKS51cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZSgpOwogCiAgICAgcmV0dXJu
IHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDNjODMzM2JhMzA3ODM4N2VjOGRjODkwMzY1
Y2FiMTAwZGUxZjY3MzguLmI4ZDAxMWZlZjRkMjg0ZWQyNDcxODU5MTNlNzc0ZTA0MTdhODg1OTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNTEsNiArMTUxLDEwIEBAIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdlYkNvcmU6OkRhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRpbWVDaG9v
c2VyKFdlYkNvcmU6OkRhdGVUaW1lQ2hvb3NlckNsaWVudCYpIGZpbmFsOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3Rv
cmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKSBjb25zdCBmaW5hbDsKKyNlbmRpZgor
CiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICBib29sIHJlcXVlc3RQb2ludGVyTG9jaygp
IGZpbmFsOwogICAgIHZvaWQgcmVxdWVzdFBvaW50ZXJVbmxvY2soKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbQppbmRleCBmYzk4MjJlNGI0ZTBjYzAwM2EzNTQyNGY5MzRkZWJjNWUyMzA2ZThiLi43
M2I0MjU2MWY0NDE5MTQzYjVlMjlmMmM3ODgzYTZhMjFiYTRjNjMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCkBAIC03NDQsNiArNzQ0LDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+
IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERhdGVUaW1lCiB9CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp1
cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmKSBj
b25zdAoreworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQogYm9vbCBXZWJD
aHJvbWVDbGllbnQ6OnJlcXVlc3RQb2ludGVyTG9jaygpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418686</attachid>
            <date>2021-01-28 17:40:24 -0800</date>
            <delta_ts>2021-01-28 18:21:44 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-221020-20210128174024.patch</filename>
            <type>text/plain</type>
            <size>30348</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhiNzg5ZTQyNDQ3M2M0
N2Q5MTkwYWI0NjE4MGI3OTFhNDM4ODkxZC4uMTY1ZjhhZDU1NmJiYjZmMGIwNjVjYmMxYTg0NDU1
MTFiZTk5Zjk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTI2ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1i
aW5nIHRvIGFsbG93IEFwcEhpZ2hsaWdodHMgdG8gYmUgc3RvcmVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMDIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0TGlzdERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwSGlnaGxpZ2h0TGlzdERh
dGE6OnRvU2hhcmVkQnVmZmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hsaWdo
dExpc3REYXRhOjp0b0RhdGEgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodExpc3REYXRhLmg6CisgICAgICAgICogTW9kdWxlcy9oaWdobGln
aHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGln
aHRTdG9yYWdlOjpjcmVhdGVBbmRTZW5kQXBwSGlnaGxpZ2h0c1N0b3JhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwSGlnaGxpZ2h0U3RvcmFnZTo6Y3JlYXRlQXBwSGlnaGxpZ2h0TGlzdERhdGEp
OiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50Lmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21lOjpkaWRDcmVhdGVIaWdobGlnaHRzU3RvcmFnZURhdGEgY29uc3QpOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAyMS0w
MS0yNSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTiAocjI3MDg3NCk6IFNvbWUgUmVhY3QgTmF0aXZlIGFwcHMgYXJlIHJlcG9ydGVk
IGJyb2tlbiBvbiBpT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNjU3NjcyNjhhMzE2MTJiZmY2NTBhMzVlN2NmYjJj
M2YxZThmYmMxMC4uZjZjMzcxMDMxZmJiYjQwNTFjODJlZmMzNjU4ZDU1Mjk0MjM5OTExMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0wMS0yNiAgTWVnYW4gR2FyZG5lciAgPG1lZ2Fu
X2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBwbHVtYmluZyB0byBhbGxvdyBBcHBI
aWdobGlnaHRzIHRvIGJlIHN0b3JlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMTAyMAorCisgICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNz
by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX2RpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YTpdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3IF9hcHBIaWdobGlnaHRzU3RvcmFnZURlbGVnYXRlXSk6CisgICAgICAg
ICgtW1dLV2ViVmlldyBfc2V0QXBwSGlnaGxpZ2h0c1N0b3JhZ2VEZWxlZ2F0ZTpdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpZENyZWF0ZUhpZ2hsaWdodHNTdG9yYWdlRGF0YSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAq
IFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ3JlYXRlSGlnaGxpZ2h0
c1N0b3JhZ2VEYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9t
ZUNsaWVudDo6ZGlkQ3JlYXRlSGlnaGxpZ2h0c1N0b3JhZ2VEYXRhKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y3Jl
YXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKToKKwogMjAyMS0wMS0yNSAgQWxleGV5IFNo
dmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3
MDg3NCk6IFNvbWUgUmVhY3QgTmF0aXZlIGFwcHMgYXJlIHJlcG9ydGVkIGJyb2tlbiBvbiBpT1MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdo
dExpc3REYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodExpc3REYXRhLmNwcAppbmRleCA3OTI4YmRiOWRiMDA5OGJlMjllMGQ5MDhjMTlkNWQ3MjNi
OWZhOWJiLi5iNTRkNTliYjM1ZGRhMTRjNmNmZGQ4YjdmZGU0NDg2MDVmNDBiOTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRMaXN0RGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0
TGlzdERhdGEuY3BwCkBAIC00OSw3ICs0OSw3IEBAIEFwcEhpZ2hsaWdodExpc3REYXRhIEFwcEhp
Z2hsaWdodExpc3REYXRhOjpjcmVhdGUoY29uc3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpCiAgICAg
cmV0dXJuIGRhdGEgPyAqZGF0YSA6IEFwcEhpZ2hsaWdodExpc3REYXRhIHt7IH19OwogfQogCi1S
ZWY8U2hhcmVkQnVmZmVyPiBBcHBIaWdobGlnaHRMaXN0RGF0YTo6dG9EYXRhKCkgY29uc3QKK1Jl
ZjxTaGFyZWRCdWZmZXI+IEFwcEhpZ2hsaWdodExpc3REYXRhOjp0b1NoYXJlZEJ1ZmZlcigpIGNv
bnN0CiB7CiAgICAgV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciBlbmNvZGVyOwogICAgIGVuY29k
ZXIgPDwgKnRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRMaXN0RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGln
aHQvQXBwSGlnaGxpZ2h0TGlzdERhdGEuaAppbmRleCBmODgzOTZmMzE0MzZkYTQ3ZDllNWY4NDY1
M2M1YWQ3ZTgyYTg1M2Y1Li41MTNiMjE0ZGI5Nzg5MjA5NDRjZGRiMWZiMGVhMTY1ZDdkYTZjZTFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGln
aHRMaXN0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhp
Z2hsaWdodExpc3REYXRhLmgKQEAgLTEyOSw3ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRSYW5nZXMoVmVjdG9yPEFwcEhpZ2hsaWdodFJhbmdlRGF0YT4mJiByYW5nZXMpIHsgbV9hbm5v
dGF0aW9uUmFuZ2VzID0gV1RGTW92ZShyYW5nZXMpOyB9CiAgICAgdm9pZCBhZGRSYW5nZXMoVmVj
dG9yPEFwcEhpZ2hsaWdodFJhbmdlRGF0YT4mJiByYW5nZXMpIHsgbV9hbm5vdGF0aW9uUmFuZ2Vz
LmFwcGVuZFZlY3RvcihXVEZNb3ZlKHJhbmdlcykpOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBS
ZWY8U2hhcmVkQnVmZmVyPiB0b0RhdGEoKSBjb25zdDsKKyAgICBSZWY8U2hhcmVkQnVmZmVyPiB0
b1NoYXJlZEJ1ZmZlcigpIGNvbnN0OwogCiAgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVy
biBtX2Fubm90YXRpb25SYW5nZXMuc2l6ZSgpOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3Qg
eyByZXR1cm4gbV9hbm5vdGF0aW9uUmFuZ2VzLmlzRW1wdHkoKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApp
bmRleCA2NGVlZjdkMmEwZWI1Zjc2ZWYyMzQ5ZmEyNmZjNjFhYjRmNTI5MGIwLi5iNTdmMjQ3NmFk
MjJlYTA5YjAwODMzMzhhMmJkNjIyYmZkMDAxYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjgs
NiArMjgsNyBAQAogI2luY2x1ZGUgIkFwcEhpZ2hsaWdodFN0b3JhZ2UuaCIKIAogI2luY2x1ZGUg
IkFwcEhpZ2hsaWdodExpc3REYXRhLmgiCisjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJIVE1MQm9keUVsZW1lbnQuaCIKQEAgLTIwOSwxMiArMjEwLDE1IEBAIEFwcEhpZ2hsaWdo
dFN0b3JhZ2U6OkFwcEhpZ2hsaWdodFN0b3JhZ2UoRG9jdW1lbnQmIGRvY3VtZW50KQogewogfQog
Ci1BcHBIaWdobGlnaHRMaXN0RGF0YSBBcHBIaWdobGlnaHRTdG9yYWdlOjpjcmVhdGVBcHBIaWdo
bGlnaHRMaXN0RGF0YSgpCit2b2lkIEFwcEhpZ2hsaWdodFN0b3JhZ2U6OnVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlKCkKIHsKICAgICBWZWN0b3I8QXBwSGlnaGxpZ2h0UmFuZ2VEYXRhPiBkYXRh
OwogCiAgICAgaWYgKCFtX2RvY3VtZW50KQotICAgICAgICByZXR1cm4geyBXVEZNb3ZlKGRhdGEp
IH07CisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9kb2N1bWVudC0+cGFnZSgpKQorICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9IG1fZG9j
dW1lbnQtPmFwcEhpZ2hsaWdodFJlZ2lzdGVySWZFeGlzdHMoKSkgewogICAgICAgICBmb3IgKGF1
dG8mIGhpZ2hsaWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkgewpAQCAtMjIyLDgg
KzIyNiw5IEBAIEFwcEhpZ2hsaWdodExpc3REYXRhIEFwcEhpZ2hsaWdodFN0b3JhZ2U6OmNyZWF0
ZUFwcEhpZ2hsaWdodExpc3REYXRhKCkKICAgICAgICAgICAgICAgICBkYXRhLmFwcGVuZChjcmVh
dGVBcHBIaWdobGlnaHRSYW5nZURhdGEocmFuZ2VEYXRhLT5yYW5nZSkpOwogICAgICAgICB9CiAg
ICAgfQorICAgIEFwcEhpZ2hsaWdodExpc3REYXRhIGxpc3REYXRhIHsgV1RGTW92ZShkYXRhKSB9
OwogCi0gICAgcmV0dXJuIHsgV1RGTW92ZShkYXRhKSB9OworICAgIG1fZG9jdW1lbnQtPnBhZ2Uo
KS0+Y2hyb21lKCkudXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UobGlzdERhdGEudG9TaGFyZWRC
dWZmZXIoKSk7CiB9CiAKIFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+IEFwcEhpZ2hsaWdo
dFN0b3JhZ2U6OnJlc3RvcmVBcHBIaWdobGlnaHRzKFJlZjxTaGFyZWRCdWZmZXI+JiYgYnVmZmVy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxp
Z2h0U3RvcmFnZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxp
Z2h0U3RvcmFnZS5oCmluZGV4IGRiMTQ5NGZlYTI5N2QyNzliODFiZDVkMTAzMTNhOGUxY2FmZGE0
NTIuLmMxMGEzNDI4YzE4MmUwMGRhMjJhYzgxODcxYmYyOTk2N2QwYWVhYjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdl
LmgKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgQXBwSGlnaGxpZ2h0U3RvcmFnZSA6IFJlZkNvdW50
ZWQ8QXBwSGlnaGxpZ2h0U3RvcmFnZT4gewogcHVibGljOgogICAgIEFwcEhpZ2hsaWdodFN0b3Jh
Z2UoRG9jdW1lbnQmKTsKIAotICAgIEFwcEhpZ2hsaWdodExpc3REYXRhIGNyZWF0ZUFwcEhpZ2hs
aWdodExpc3REYXRhKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVBcHBIaWdobGln
aHRzU3RvcmFnZSgpOwogICAgIFZlY3RvcjxBcHBIaWdobGlnaHRSYW5nZURhdGE+IHJlc3RvcmVB
cHBIaWdobGlnaHRzKFJlZjxTaGFyZWRCdWZmZXI+JiYpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA1M2Jk
ODdkYTdjZGE4NDUxYWYxM2VkYjMxYzEzOGFmNjY0NTk1ZTIuLjM5Yjg1ZjQwNjgyMzdmNGU3ZTk4
ZjdhZGIyMzgwYTMzN2U5NDdlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMTIsNyArMTIxMiw3IEBACiAJCTQzQzA5MkJD
MTJEOUU0RUUwMEE5ODlDMyAvKiBSZW5kZXJTVkdGb3JlaWduT2JqZWN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0M0MwOTJCQTEyRDlFNEVFMDBBOTg5
QzMgLyogUmVuZGVyU1ZHRm9yZWlnbk9iamVjdC5oICovOyB9OwogCQk0M0VERDY3RjFCNDg1REJG
MDA2NDBFNzUgLyogQ29tYmluZWRGaWx0ZXJzQWxwaGFiZXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzRURENjdEMUI0ODVEQkYwMDY0MEU3NSAvKiBD
b21iaW5lZEZpbHRlcnNBbHBoYWJldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ0MTUyOTJFMEUxQUU4QTAwMEM0QTJEMCAvKiBIVE1MUGx1Z0lu
SW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NDE1MjkyQzBFMUFFOEEwMDBDNEEyRDAgLyogSFRNTFBsdWdJbkltYWdlRWxlbWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQ0MjUw
NzA5MjU4MjlBMjcwMEMwOTM2OCAvKiBBcHBIaWdobGlnaHRTdG9yYWdlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDI1MDcwNzI1ODI5QTE0MDBDMDkz
NjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oICovOyB9OworCQk0NDI1MDcwOTI1ODI5QTI3MDBD
MDkzNjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQyNTA3MDcyNTgyOUExNDAwQzA5MzY4IC8qIEFwcEhpZ2hs
aWdodFN0b3JhZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0NDMwRDAwQjI1NzVBODNFMDA0NkQ0MDEgLyogSGlnaGxpZ2h0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEU4OEU1MTIzNkE1QzhEMDA5
QjQ4NDcgLyogSGlnaGxpZ2h0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDQzMEQwMEQyNTc1QThBNTAwNDZENDAxIC8qIEhpZ2hsaWdodFJlZ2lz
dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEU4
OEU1MDIzNkE1NkFDMDA5QjQ4NDcgLyogSGlnaGxpZ2h0UmVnaXN0ZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NDU3NzVFNTIwNDcyRjczMDA4
RENFNUQgLyogTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1Nzc1RTQyMDQ3MkY3MzAwOERDRTVEIC8q
IExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOTljYTZh
MTNjMDBkZGRmN2QwY2RmOTVmZWFhMjAxMjUyYWI5Nzk2NC4uZWE0NjU1MDc1ODhlM2FmOWJiMmQz
MzUzNTgzZDc0Mjk1MmJkNThmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yNjIsNyAr
MjYyLDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAKICNpZiBFTkFCTEUo
QVBQX0hJR0hMSUdIVFMpCi0jaW5jbHVkZSAiQXBwSGlnaGxpZ2h0TGlzdERhdGEuaCIKICNpbmNs
dWRlICJBcHBIaWdobGlnaHRTdG9yYWdlLmgiCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCBkN2YwYTA5OGIyMTc0ZjdmMjI3NzI2ODhmMWU2M2E3ZDk4NTY3NThiLi42MmIzMzU2MDVm
ZThlNjZmNTAzYjM2M2FiY2JkY2RjN2E4ODg3NWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
MTU3Nyw3ICsxNTc3LDcgQEAgcHVibGljOgogICAgIEhpZ2hsaWdodFJlZ2lzdGVyKiBhcHBIaWdo
bGlnaHRSZWdpc3RlcklmRXhpc3RzKCkgeyByZXR1cm4gbV9hcHBIaWdobGlnaHRSZWdpc3Rlci5n
ZXQoKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIEhpZ2hsaWdodFJlZ2lzdGVyJiBhcHBIaWdobGln
aHRSZWdpc3RlcigpOwogCi0gICAgQXBwSGlnaGxpZ2h0U3RvcmFnZSYgYXBwSGlnaGxpZ2h0U3Rv
cmFnZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIEFwcEhpZ2hsaWdodFN0b3JhZ2UmIGFwcEhpZ2hs
aWdodFN0b3JhZ2UoKTsKICAgICBBcHBIaWdobGlnaHRTdG9yYWdlKiBhcHBIaWdobGlnaHRTdG9y
YWdlSWZFeGlzdHMoKSBjb25zdCB7IHJldHVybiBtX2FwcEhpZ2hsaWdodFN0b3JhZ2UuZ2V0KCk7
IH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCBh
NWMyNDY5YjQ3NzdlNjQxZmU3YzFmN2M0Mjg2NDFmN2NmZjkxNjRlLi4zZTI1ZDIwODFjZDBkMGFm
NTMyYWM1Zjg3NmRlZTY4ZDUyOTA4Y2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmNwcApAQCAtNTAxLDYgKzUwMSwxMiBAQCBzdGQ6OnVuaXF1ZV9wdHI8RGF0ZVRpbWVDaG9v
c2VyPiBFbXB0eUNocm9tZUNsaWVudDo6Y3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERhdGVUaQogCiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKK3ZvaWQgRW1wdHlDaHJvbWVDbGll
bnQ6OnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+
JiYpIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogdm9pZCBFbXB0eUNocm9tZUNsaWVudDo6cnVuT3Bl
blBhbmVsKEZyYW1lJiwgRmlsZUNob29zZXImKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IDc0MGY4OGFlYzZiZDA1NjhjNThhN2MyMDNjOThkMDE2MjVkZjNiNzEu
LjlmMWJlYTQ0NmUxNTU3M2I0OGE3NjAwYjAzZmVhNDVjNGRjOTQ1MDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgY2xhc3MgRW1wdHlDaHJv
bWVDbGllbnQgOiBwdWJsaWMgQ2hyb21lQ2xpZW50IHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RGF0
ZVRpbWVDaG9vc2VyPiBjcmVhdGVEYXRlVGltZUNob29zZXIoRGF0ZVRpbWVDaG9vc2VyQ2xpZW50
JikgZmluYWw7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2b2lk
IHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYp
IGNvbnN0IGZpbmFsOworI2VuZGlmCisKICAgICB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSYsIEZp
bGVDaG9vc2VyJikgZmluYWw7CiAgICAgdm9pZCBzaG93U2hhcmVTaGVldChTaGFyZURhdGFXaXRo
UGFyc2VkVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgZmluYWw7CiAgICAg
dm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgRmlsZUljb25Mb2Fk
ZXImKSBmaW5hbCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBiNzEwZTcxNWE2NmRjYWM1
Njc0MmRiNmJiZWE3NDFkNmY4NjM0MmIzLi4zNGQ4ZjhjOWY4Nzk1OTNmNmQyZjVjOTU0ZjkwOGVm
YmI4MjA1ZDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC01MTUsNiArNTE1LDEzIEBAIHZv
aWQgQ2hyb21lOjpkaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0RpZENoYW5nZShjb25zdCBWaWV3
cG9ydEFyZ3VtZW50cyYgYXJndW1lCiAgICAgbV9jbGllbnQuZGlzcGF0Y2hWaWV3cG9ydFByb3Bl
cnRpZXNEaWRDaGFuZ2UoYXJndW1lbnRzKTsKIH0KIAorI2lmIEVOQUJMRShBUFBfSElHSExJR0hU
UykKK3ZvaWQgQ2hyb21lOjp1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6
U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGNvbnN0Cit7CisgICAgbV9jbGllbnQudXBkYXRlQXBwSGln
aGxpZ2h0c1N0b3JhZ2UoV1RGTW92ZShkYXRhKSk7Cit9CisjZW5kaWYKKwogdm9pZCBDaHJvbWU6
OnNldEN1cnNvcihjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKICAgICBtX2NsaWVudC5zZXRDdXJz
b3IoY3Vyc29yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IGE4OWRkMWExZDg2NWU1MzI4ZWIwNTA1
NzY1NDBkM2YyMzJhM2NmYzAuLjA1MWZlYTgxMmRhMzUyMzhhNTQ4MDhhY2I3NDRhZDI1ODEwMjA5
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtMTY0LDYgKzE2NCwxMCBAQCBwdWJsaWM6CiAgICAg
c3RkOjp1bmlxdWVfcHRyPERhdGVUaW1lQ2hvb3Nlcj4gY3JlYXRlRGF0ZVRpbWVDaG9vc2VyKERh
dGVUaW1lQ2hvb3NlckNsaWVudCYpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdI
VFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiYmKSBjb25zdDsKKyNlbmRpZgorCiAgICAgdm9pZCBydW5PcGVuUGFuZWwoRnJh
bWUmLCBGaWxlQ2hvb3NlciYpOwogICAgIHZvaWQgc2hvd1NoYXJlU2hlZXQoU2hhcmVEYXRhV2l0
aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQg
c2hvd0NvbnRhY3RQaWNrZXIoY29uc3QgQ29udGFjdHNSZXF1ZXN0RGF0YSYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoT3B0aW9uYWw8VmVjdG9yPENvbnRhY3RJbmZvPj4mJik+JiYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNWZkNGI2NTFhZGI5Yzg0NzFlMTAyNjViZDk3Y2Zi
ODBiNzI3Nzk2Mi4uOWE0MDkzYzA5ZGViMTBjNzNkMTFkZWZlZWYxNjAyMGNhNjc2ZDA1YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0zMDIsNiArMzAyLDEwIEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxEYXRlVGltZUNob29zZXI+IGNyZWF0ZURhdGVU
aW1lQ2hvb3NlcihEYXRlVGltZUNob29zZXJDbGllbnQmKSA9IDA7CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShBUFBfSElHSExJR0hUUykKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0
c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJikgY29uc3QgPSAwOworI2VuZGlm
CisKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lJiwgRmlsZUNob29zZXImKSA9
IDA7CiAgICAgdmlydHVhbCB2b2lkIHNob3dTaGFyZVNoZWV0KFNoYXJlRGF0YVdpdGhQYXJzZWRV
UkwmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY2FsbGJhY2spIHsgY2Fs
bGJhY2soZmFsc2UpOyB9CiAgICAgdmlydHVhbCB2b2lkIHNob3dDb250YWN0UGlja2VyKGNvbnN0
IENvbnRhY3RzUmVxdWVzdERhdGEmLCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9u
YWw8VmVjdG9yPENvbnRhY3RJbmZvPj4mJik+JiYgY2FsbGJhY2spIHsgY2FsbGJhY2soV1RGOjpu
dWxsb3B0KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KaW5kZXggMTdjNmJlOTFhMjQ5YmQ0MTc3MDExNDRmZTMyM2FmNTRkYzI2ZjkzNS4uZGQ4
NjRiNjhmNGM5YzFkMjNjOTBhZGM5Yzk4YzVlZjRjZmY5NDg1NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC05OCw2ICs5OCw3IEBACiAj
aW1wb3J0ICJXZWJVUkxTY2hlbWVIYW5kbGVyQ29jb2EuaCIKICNpbXBvcnQgIldlYlZpZXdJbXBs
LmgiCiAjaW1wb3J0ICJfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmgiCisjaW1wb3J0
ICJfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRGlhZ25vc3RpY0xvZ2dp
bmdEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiX1dLRmluZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJfV0tG
cmFtZUhhbmRsZUludGVybmFsLmgiCkBAIC0xNDAzLDYgKzE0MDQsMjggQEAgLSAodm9pZClfZGlk
SW52YWxpZGF0ZURhdGFGb3JBdHRhY2htZW50OihBUEk6OkF0dGFjaG1lbnQmKWF0dGFjaG1lbnQK
IAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoQVBQ
X0hJR0hMSUdIVFMpCistIChpZCA8X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KV9hcHBIaWdobGln
aHRzRGVsZWdhdGUKK3sKKyAgICByZXR1cm4gX2FwcEhpZ2hsaWdodHNEZWxlZ2F0ZS5nZXRBdXRv
cmVsZWFzZWQoKTsKK30KKworLSAodm9pZClfc2V0QXBwSGlnaGxpZ2h0c0RlbGVnYXRlOihpZCA8
X1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlCit7CisgICAgX2FwcEhpZ2hsaWdodHNE
ZWxlZ2F0ZSA9IGRlbGVnYXRlOworfQorCistICh2b2lkKV91cGRhdGVBcHBIaWdobGlnaHRzU3Rv
cmFnZTooTlNEYXRhICopZGF0YQoreworICAgIGF1dG8gZGVsZWdhdGUgPSBzZWxmLl9hcHBIaWdo
bGlnaHRzRGVsZWdhdGU7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaWYgKFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnVw
ZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlOildKQorICAgICAgICBbZGVsZWdhdGUgX3dlYlZpZXc6
c2VsZiB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTpkYXRhXTsKK30KKyNlbmRpZgorCiAtIChX
S1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nCiB7CiAgICAgcmV0dXJuIHRvQVBJKF9wYWdlLmdldCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmgKaW5kZXggYTc4NmM3YTY0ODI2NGVmMDJjYzZjNjc2MTM0ZDIxNWI4YWM0YTNi
NC4uNDQzOWE2NDEzYjdjZjkzODQyMmJiZjAzODg1ZmIwYjUyZWQ5ODI3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgK
QEAgLTEwNSw2ICsxMDUsNyBAQCBjbGFzcyBWaWV3R2VzdHVyZUNvbnRyb2xsZXI7CiAKIEBwcm90
b2NvbCBfV0tUZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGU7CiBAcHJvdG9jb2wgX1dLSW5wdXREZWxl
Z2F0ZTsKK0Bwcm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZTsKIAogQGludGVyZmFjZSBX
S1dlYlZpZXcgKCkgV0tfV0VCX1ZJRVdfUFJPVE9DT0xTIHsKIApAQCAtMTE5LDYgKzEyMCw3IEBA
IGNsYXNzIFZpZXdHZXN0dXJlQ29udHJvbGxlcjsKIAogICAgIFdlYWtPYmpDUHRyPGlkIDxfV0tU
ZXh0TWFuaXB1bGF0aW9uRGVsZWdhdGU+PiBfdGV4dE1hbmlwdWxhdGlvbkRlbGVnYXRlOwogICAg
IFdlYWtPYmpDUHRyPGlkIDxfV0tJbnB1dERlbGVnYXRlPj4gX2lucHV0RGVsZWdhdGU7CisgICAg
V2Vha09iakNQdHI8aWQgPF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlPj4gX2FwcEhpZ2hsaWdodHNE
ZWxlZ2F0ZTsKIAogICAgIFJldGFpblB0cjxXS1NhZmVCcm93c2luZ1dhcm5pbmc+IF9zYWZlQnJv
d3NpbmdXYXJuaW5nOwogCkBAIC0yNTgsNiArMjYwLDEwIEBAIGNsYXNzIFZpZXdHZXN0dXJlQ29u
dHJvbGxlcjsKIC0gKHZvaWQpX2RpZEludmFsaWRhdGVEYXRhRm9yQXR0YWNobWVudDooQVBJOjpB
dHRhY2htZW50JilhdHRhY2htZW50OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdI
VFMpCistICh2b2lkKV91cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTooTlNEYXRhICopZGF0YTsK
KyNlbmRpZgorCiAtICh2b2lkKV9pbnRlcm5hbERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRl
Oih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayB3aXRob3V0V2FpdGluZ0ZvclBhaW50aW5nOihC
T09MKXdpdGhvdXRXYWl0aW5nRm9yUGFpbnRpbmcgd2l0aG91dFdhaXRpbmdGb3JBbmltYXRlZFJl
c2l6ZTooQk9PTCl3aXRob3V0V2FpdGluZ0ZvckFuaW1hdGVkUmVzaXplOwogCiAtICh2b2lkKV9z
aG93U2FmZUJyb3dzaW5nV2FybmluZzooY29uc3QgV2ViS2l0OjpTYWZlQnJvd3NpbmdXYXJuaW5n
Jil3YXJuaW5nIGNvbXBsZXRpb25IYW5kbGVyOihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZhcmlh
bnQ8V2ViS2l0OjpDb250aW51ZVVuc2FmZUxvYWQsIFVSTD4mJik+JiYpY29tcGxldGlvbkhhbmRs
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBw
SGlnaGxpZ2h0RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYjIwNWU0NjdjMTFjMGVlMDk3
YjdmZDVhNjkyZjEzMWRmZmM4OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaApAQCAtMCwwICsxLDM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0Bw
cm90b2NvbCBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZSA8TlNPYmplY3Q+CisKK0BvcHRpb25hbAor
CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHVwZGF0ZUFwcEhpZ2hsaWdo
dHNTdG9yYWdlOihOU0RhdGEgKilkYXRhOworCitAZW5kCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAppbmRleCBhNDgwYjM4NGNm
ZWU0NzgwZTE3MWJhNzZlMDRiYjY1NTg1YTFiYTdjLi42ZWRjMGNlODU1ZDdmNTM2MmEwODkzYjYy
YTJiYTllZGQ4MDBmOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCkBAIC02Nyw2ICs2NywxMCBAQCBwdWJsaWM6CiAgICAg
VmVjdG9yPFN0cmluZz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKFdlYkNvcmU6OkRpY3RhdGlvbkNv
bnRleHQpIGZpbmFsOwogICAgIE5TVGV4dEFsdGVybmF0aXZlcyAqcGxhdGZvcm1EaWN0YXRpb25B
bHRlcm5hdGl2ZXMoV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCkgZmluYWw7CiAKKyNpZiBFTkFC
TEUoQVBQX0hJR0hMSUdIVFMpCisgICAgdm9pZCB1cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZShS
ZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEpIGZpbmFsOworI2VuZGlmCisKIHByb3Rl
Y3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IG1fd2ViVmlldzsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyPiBtX2FsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCmluZGV4IDgwNjFiZmJkNDYyYWYwZDUxZGE4NmNm
NGY5NTI1ZjdhN2JlM2EyOWYuLjJkOGZiNDNjZmI5MzY0NjFhY2M1MmQyNmUyZjQ2ZGRlOWY1M2Zi
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJ
bXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVu
dEltcGxDb2NvYS5tbQpAQCAtOTMsNiArOTMsMTQgQEAgTlNTZXQgKlBhZ2VDbGllbnRJbXBsQ29j
b2E6OnNlcmlhbGl6YWJsZUZpbGVXcmFwcGVyQ2xhc3NlcygpIGNvbnN0CiAKICNlbmRpZgogCisj
aWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjp1cGRh
dGVBcHBIaWdobGlnaHRzU3RvcmFnZShSZWY8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmIGRhdGEp
Cit7CisgICAgYXV0byBuc0RhdGEgPSBkYXRhLT5jcmVhdGVOU0RhdGEoKTsKKyAgICBbbV93ZWJW
aWV3IF91cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZTpuc0RhdGEuZ2V0KCldOworfQorI2VuZGlm
IC8vIEVOQUJMRShBUFBfSElHSExJR0hUUykKKwogdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpw
YWdlQ2xvc2VkKCkKIHsKICAgICBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci0+Y2xlYXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBlOGQyN2MyYTEzYTM0MGEx
Zjc4NWUwOGE2ZWJmMzI1MmY5YzUyZjU4Li5mYTI5Nzc2YjhkMGRmYjVhZDg3MzgxNjI3YWQzMTM5
NDkzNTY4NWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC01NTQsNiAr
NTU0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hM
SUdIVFMpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkgPSAwOworI2VuZGlmCisKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JHZXN0dXJlUmVjb2du
aXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CiAgICAgdmlydHVhbCBXVEY6Ok9wdGlvbmFs
PHVuc2lnbmVkPiBhY3RpdmVUb3VjaElkZW50aWZpZXJGb3JHZXN0dXJlUmVjb2duaXplcihVSUdl
c3R1cmVSZWNvZ25pemVyKikgeyByZXR1cm4gV1RGOjpudWxsb3B0OyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBlNDkzOWU2NzRkZDRmYjMxMzM2MTM5MzM5
YjRjNWJjOTI5MTM3YzdhLi44NjM2MTY2YzJmMDA0YWQ0ZGI2ODFkZjFkMjZhNjhhMjkwZmEwNjJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTk5MTgsNiAr
OTkxOCwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2V0QXBwbGljYXRpb25NYW5pZmVzdChGdW5j
dGlvbjx2b2lkKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OgogfQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQVBQX0hJR0hMSUdIVFMpCit2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlQXBwSGlnaGxpZ2h0
c1N0b3JhZ2UoY29uc3QgSVBDOjpTaGFyZWRCdWZmZXJDb3B5JiBkYXRhKQoreworICAgIE1FU1NB
R0VfQ0hFQ0sobV9wcm9jZXNzLCBkYXRhLmJ1ZmZlcigpKTsKKworICAgIHBhZ2VDbGllbnQoKS51
cGRhdGVBcHBIaWdobGlnaHRzU3RvcmFnZSgqZGF0YS5idWZmZXIoKSk7Cit9CisjZW5kaWYKKwog
bmFtZXNwYWNlIHsKIGVudW0gY2xhc3MgQ29tcGxldGlvbkNvbmRpdGlvbiB7CiAgICAgQ2FuY2Vs
bGF0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA0NmZkMjAy
OTQ4NDIwYjZhYjc0MzgxMTkwMTNkOTk2YmMyN2Y4OTVjLi4wMTUwZjU1ZTM4Mjc2OGIyNGFiOGRi
MTAzOWQwZDI0ZjAwYTE5MmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMTgyMCw2ICsxODIwLDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKEFQUF9ISUdITElH
SFRTKQogICAgIHZvaWQgY3JlYXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKENyZWF0ZU5l
d0dyb3VwRm9ySGlnaGxpZ2h0KTsKKyAgICB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdl
KGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IGZkMDFkNTUzY2M0ZWEwZDUzZjg2NDkzNDBmNGNjYzFhYmZhNTc1Zjcu
LmU2NjdmNzZlMGZhNWM4ZjMzZGY1MGRlMWU1MWZjODIzMjIxNDVmZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTUzNSw2ICs1
MzUsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBXcml0ZVByb21pc2VkQXR0
YWNobWVudFRvUGFzdGVib2FyZChzdHJ1Y3QgV2ViQ29yZTo6UHJvbWlzZWRBdHRhY2htZW50SW5m
byBpbmZvKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCisgICAgVXBkYXRl
QXBwSGlnaGxpZ2h0c1N0b3JhZ2UoSVBDOjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEpCisjZW5kaWYK
KwogICAgIFNpZ25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyh1bnNpZ25lZCBrZXlTaXpl
SW5kZXgsIFN0cmluZyBjaGFsbGVuZ2VTdHJpbmcsIFVSTCB1cmwpIC0+IChTdHJpbmcgcmVzdWx0
KSBTeW5jaHJvbm91cwogCiAjaWYgRU5BQkxFKFNQRUVDSF9TWU5USEVTSVMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmYTAzZGM4NTE0
MDAzODU4MjYxNzUzZGVjY2Y5NTc3N2ExYWJjZWExLi41NDVjZTFhMzM5ZjA5NDc0YmViNWUzMzdk
N2JhNzZiOWE2NTJkNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTk0NCw2ICs5NDQsNyBAQAogCQk0NDMwRDAxNzI1NzZEOUREMDA0
NkQ0MDEgLyogQ3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzBEMDE2MjU3NkQ5REMwMDQ2RDQwMSAvKiBD
cmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodC5oICovOyB9OwogCQk0NDU5OTg0MjIyODMzRTg3MDBF
NjEzNzMgLyogU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDU5OTg0MTIyODMzRTYwMDBFNjEzNzMgLyog
U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmggKi87IH07CiAJCTQ0NkRDNjRDMjRBMkQ4RTUw
MDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ2REM2NEIyNEEyRDhBRDAwNjFG
MzkwIC8qIFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLmggKi87IH07CisJCTQ0NzZF
RjA5MjVCRkM4QjcwMDRBMDU4NyAvKiBfV0tBcHBIaWdobGlnaHREZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ3NkVGMDgyNUJGQzhCNzAw
NEEwNTg3IC8qIF9XS0FwcEhpZ2hsaWdodERlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ4MjczNDcyNDUyOEY2MDAwQTk1NDkzIC8q
IENvY29hSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0ODI3MzQ2MjQ1MjhGNjAwMEE5NTQ5MyAvKiBDb2NvYUltYWdlLmggKi87IH07CiAJCTQ0
OUQ5MERBMjFGREMzMEIwMEY2NzdDMCAvKiBMb2NhbEF1dGhlbnRpY2F0aW9uU29mdExpbmsubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDlEOTBEODIx
RkQ2M0ZFMDBGNjc3QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tICovOyB9Owog
CQk0NEU5MzZGRDI0NDdDMkQ4MDA5RkEzRTMgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xJRC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFOTM2RkMyNDQ3
QzI1NjAwOUZBM0UzIC8qIExlZ2FjeUN1c3RvbVByb3RvY29sSUQuaCAqLzsgfTsKQEAgLTM3NzUs
NiArMzc3Niw3IEBACiAJCTQ0NTBBRUJGMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFyZWRNZW1vcnlD
b2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFyZWRNZW1v
cnlDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NTk5ODQxMjI4MzNF
NjAwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0NkRDNjRCMjRBMkQ4QUQwMDYxRjM5MCAvKiBQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF5YmFja1Nl
c3Npb25Db250ZXh0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
NDc2RUYwODI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXBwSGlnaGxpZ2h0RGVsZWdhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4MjczNDYyNDUyOEY2MDAwQTk1NDkzIC8q
IENvY29hSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29jb2FJbWFn
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDlEOTBEODIxRkQ2M0ZFMDBGNjc3
QzAgLyogTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxBdXRoZW50aWNhdGlvblNvZnRMaW5rLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE0ODFDNjIxRjJEMjdCMDBGMkY5MTkgLyogQ2xp
ZW50Q2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblhQQ0NvbnN0YW50cy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDbGllbnRDZXJ0aWZpY2F0ZUF1dGhlbnRpY2F0aW9uWFBDQ29uc3RhbnRzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NjksNiArNzY3MSw3IEBACiAJCQkJMzdB
NUUwMTIxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLmggKi8sCiAJ
CQkJMzdBNUUwMTExOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1t
ICovLAogCQkJCTM3OUE4NzM1MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50
SW5mb0ludGVybmFsLmggKi8sCisJCQkJNDQ3NkVGMDgyNUJGQzhCNzAwNEEwNTg3IC8qIF9XS0Fw
cEhpZ2hsaWdodERlbGVnYXRlLmggKi8sCiAJCQkJNjMxMDhGOTQxRjk2NzE5QzAwQTBEQjg0IC8q
IF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCAqLywKIAkJCQk2MzEwOEY5NTFGOTY3MTlDMDBBMERC
ODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbSAqLywKIAkJCQk2MzEwOEY5ODFGOTY3MUY3
MDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmggKi8sCkBAIC0xMTI3
Nyw2ICsxMTI4MCw3IEBACiAJCQlmaWxlcyA9ICgKIAkJCQkzN0E1RTAxNDE4QkJGOTNGMDAwQTA4
MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OUE4
NzM2MThCQkZBNDMwMDU4OEFGMiAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mb0ludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0NDc2RUYwOTI1QkZDOEI3MDA0QTA1ODcgLyogX1dLQXBwSGln
aGxpZ2h0RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTYzMTA4Rjk2MUY5NjcxOUMwMEEw
REI4NCAvKiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2MzEw
OEY5OTFGOTY3MUY3MDBBMERCODQgLyogX1dLQXBwbGljYXRpb25NYW5pZmVzdEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGNDQyOTE5MjFGQTU5MUM5MDAyQ0M5M0UgLyogX1dLQXR0YWNo
bWVudC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGZlYzBmZWVm
ZDU1M2Q2ZWMyMmM0ZDhjZGRmOWE4ZWM3ZmUxOGZkZGIuLmE2NTQyODc1N2Y0M2FiMzUyZDNlODlk
YzU1ZGM3YWNiYTBmN2M1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC00MCw2ICs0MCw3
IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUGFn
ZUJhbm5lci5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIgorI2lu
Y2x1ZGUgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1
ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgpAQCAtMTIzOCw2ICsxMjM5LDE0IEBAIGJvb2wgV2ViQ2hyb21lQ2xpZW50Ojp1bndyYXBDcnlw
dG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5LCBWZWN0b3I8CiAKICNlbmRp
ZgogCisjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnVw
ZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0
YSkgY29uc3QKK3sKKyAgICBhdXRvIGJ1ZmZlciA9IElQQzo6U2hhcmVkQnVmZmVyQ29weShkYXRh
KTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpVcGRhdGVBcHBIaWdo
bGlnaHRzU3RvcmFnZShidWZmZXIpKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgV2ViQ2hyb21lQ2xp
ZW50OjpzaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VTdHJpbmcodW5zaWduZWQga2V5U2l6ZUlu
ZGV4LCBjb25zdCBTdHJpbmcmIGNoYWxsZW5nZVN0cmluZywgY29uc3QgVVJMJiB1cmwpIGNvbnN0
CiB7CiAgICAgU3RyaW5nIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAwNTgyMmI5OTdi
YTg0MTUwOTNhNjNmZDE1ZjU0MzhjOTY5NGVmZTliLi5kYzcyYjJlZmVjNWU3YjU5OGU5NWYyNDEz
NTk0YTYxYzU1ZDQ2NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0zNDUsNiArMzQ1LDEwIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBpc1BsYXlpbmdNZWRpYURpZENoYW5nZShXZWJDb3JlOjpNZWRp
YVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MsIHVpbnQ2NF90KSBmaW5hbDsKICAgICB2b2lkIGhh
bmRsZUF1dG9wbGF5RXZlbnQoV2ViQ29yZTo6QXV0b3BsYXlFdmVudCwgT3B0aW9uU2V0PFdlYkNv
cmU6OkF1dG9wbGF5RXZlbnRGbGFncz4pIGZpbmFsOwogCisjaWYgRU5BQkxFKEFQUF9ISUdITElH
SFRTKQorICAgIHZvaWQgdXBkYXRlQXBwSGlnaGxpZ2h0c1N0b3JhZ2UoUmVmPFdlYkNvcmU6OlNo
YXJlZEJ1ZmZlcj4mJikgY29uc3QgZmluYWw7CisjZW5kaWYKKwogI2lmIEVOQUJMRShXRUJfQ1JZ
UFRPKQogICAgIGJvb2wgd3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4mLCBWZWN0
b3I8dWludDhfdD4mKSBjb25zdCBmaW5hbDsKICAgICBib29sIHVud3JhcENyeXB0b0tleShjb25z
dCBWZWN0b3I8dWludDhfdD4mLCBWZWN0b3I8dWludDhfdD4mKSBjb25zdCBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggOWU1MDkxMDQ0
NzU5YWQwN2IwZGI3Yzc4Nzc3N2RjZWQ3ODUwN2ZkNC4uNmE1ODUzZWYwYjYzYWU4YjA5NmU3N2Jj
MGE4ZWZlZDFmODQ5NDI3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTI1NCw2ICsyNTQsMTAgQEAKICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2Nv
cGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAKKyNpZiBFTkFCTEUoQVBQ
X0hJR0hMSUdIVFMpCisjaW5jbHVkZSA8V2ViQ29yZS9BcHBIaWdobGlnaHRTdG9yYWdlLmg+Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKICNpbmNsdWRlICJEYXRhRGV0ZWN0
aW9uUmVzdWx0LmgiCiAjZW5kaWYKQEAgLTcxNTYsNiArNzE2MCw3IEBAIGJvb2wgV2ViUGFnZTo6
Y3JlYXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxp
Z2h0IGNyZWF0CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGRvY3VtZW50LT5hcHBIaWdo
bGlnaHRSZWdpc3RlcigpLmFkZEFwcEhpZ2hsaWdodChTdGF0aWNSYW5nZTo6Y3JlYXRlKHNlbGVj
dGlvblJhbmdlLnZhbHVlKCkpKTsKKyAgICBkb2N1bWVudC0+YXBwSGlnaGxpZ2h0U3RvcmFnZSgp
LnVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggM2M4MzMzYmEzMDc4Mzg3ZWM4ZGM4OTAzNjVjYWIxMDBkZTFmNjcz
OC4uYjhkMDExZmVmNGQyODRlZDI0NzE4NTkxM2U3NzRlMDQxN2E4ODU5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTE1MSw2ICsxNTEsMTAgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
V2ViQ29yZTo6RGF0ZVRpbWVDaG9vc2VyPiBjcmVhdGVEYXRlVGltZUNob29zZXIoV2ViQ29yZTo6
RGF0ZVRpbWVDaG9vc2VyQ2xpZW50JikgZmluYWw7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBf
SElHSExJR0hUUykKKyAgICB2b2lkIHVwZGF0ZUFwcEhpZ2hsaWdodHNTdG9yYWdlKFJlZjxXZWJD
b3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0IGZpbmFsOworI2VuZGlmCisKICNpZiBFTkFCTEUo
UE9JTlRFUl9MT0NLKQogICAgIGJvb2wgcmVxdWVzdFBvaW50ZXJMb2NrKCkgZmluYWw7CiAgICAg
dm9pZCByZXF1ZXN0UG9pbnRlclVubG9jaygpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4
IGZjOTgyMmU0YjRlMGNjMDAzYTM1NDI0ZjkzNGRlYmM1ZTIzMDZlOGIuLjczYjQyNTYxZjQ0MTkx
NDNiNWUyOWYyYzc4ODNhNmEyMWJhNGM2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTc0NCw2
ICs3NDQsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPERhdGVUaW1lQ2hvb3Nlcj4gV2ViQ2hyb21lQ2xp
ZW50OjpjcmVhdGVEYXRlVGltZUNob29zZXIoRGF0ZVRpbWUKIH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKEFQUF9ISUdITElHSFRTKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnVwZGF0ZUFwcEhpZ2hs
aWdodHNTdG9yYWdlKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYpIGNvbnN0Cit7Cit9Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiBib29sIFdlYkNocm9tZUNsaWVudDo6
cmVxdWVzdFBvaW50ZXJMb2NrKCkKIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>