<?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>227914</bug_id>
          
          <creation_ts>2021-07-13 12:35:36 -0700</creation_ts>
          <short_desc>Pipe App Highlight scrolling through UI Process in preparation for Note Overlay avoidance.</short_desc>
          <delta_ts>2021-07-16 10:18:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</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>1776721</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 12:35:36 -0700</bug_when>
    <thetext>Pipe App Highlight scrolling through UI Process in preparation for Note Pip avoidance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776769</commentid>
    <comment_count>1</comment_count>
      <attachid>433450</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 15:10:14 -0700</bug_when>
    <thetext>Created attachment 433450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776771</commentid>
    <comment_count>2</comment_count>
      <attachid>433450</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-13 15:15:08 -0700</bug_when>
    <thetext>Comment on attachment 433450
Patch

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

&gt; Source/WebCore/ChangeLog:30
&gt; +        Pipe App Highlight scrolling through UI Process in preparation for Note Pip avoidance.

double changelog

&gt; Source/WebKit/ChangeLog:45
&gt; +        we need to pipe the scrolling through the UI process. This patch does that work

and again

&gt; Source/WebCore/editing/Editor.h:124
&gt;      OverrideSmoothScrollFeatureEnablment = 1 &lt;&lt; 5,

Maybe fix the spelling of &quot;enablment&quot;? while you&apos;re here

&gt; Source/WebCore/editing/FrameSelection.h:127
&gt; +        OverrideSmoothScrollFeatureEnablement = 1 &lt;&lt; 10,

Oh dear, it&apos;s right in this one

&gt; Source/WebCore/rendering/RenderLayer.cpp:2481
&gt; +                page().chrome().scrollRectIntoView(snappedIntRect(absoluteRect));

Wonder if we want to change the name of the chrome/client method to be more clear that it&apos;s only about the main frame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776845</commentid>
    <comment_count>3</comment_count>
      <attachid>433471</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 19:59:34 -0700</bug_when>
    <thetext>Created attachment 433471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776847</commentid>
    <comment_count>4</comment_count>
      <attachid>433471</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-07-13 20:14:58 -0700</bug_when>
    <thetext>Comment on attachment 433471
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        In order to correctly avoid the note pip that can potentially obscure the web view,

I feel like pip should be PIP or have another name because it&apos;s not Picture in Picture. Overlay? Popover?

&gt; Source/WebCore/page/ChromeClient.h:231
&gt; +    virtual void scrollRectInMainFrameIntoView(const IntRect&amp;) const { }; // Currently only Mac has a non empty implementation.

scrollMainFrameToRevealRect ?

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1420
&gt; +void WebProcess::scrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin)

Might warn about origin being unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776848</commentid>
    <comment_count>5</comment_count>
      <attachid>433471</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 20:18:58 -0700</bug_when>
    <thetext>Comment on attachment 433471
Patch

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

&gt;&gt; Source/WebCore/page/ChromeClient.h:231
&gt;&gt; +    virtual void scrollRectInMainFrameIntoView(const IntRect&amp;) const { }; // Currently only Mac has a non empty implementation.
&gt; 
&gt; scrollMainFrameToRevealRect ?

See Tim&apos;s comment about trying to make the name more clear. your &apos;?&apos; makes me think that hasn&apos;t happened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776850</commentid>
    <comment_count>6</comment_count>
      <attachid>433471</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 20:20:15 -0700</bug_when>
    <thetext>Comment on attachment 433471
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:717
&gt; +    process().send(Messages::WebProcess::ScrollToRect(targetRect, origin), 0);

Is there a reason we&apos;re sending this to the WebProcess (and targeting the focused page) instead of the WebPage corresponding to the WebPageProxy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776853</commentid>
    <comment_count>7</comment_count>
      <attachid>433473</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 20:30:41 -0700</bug_when>
    <thetext>Created attachment 433473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776856</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-13 20:59:41 -0700</bug_when>
    <thetext>(In reply to Megan Gardner from comment #5)
&gt; Comment on attachment 433471 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=433471&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/page/ChromeClient.h:231
&gt; &gt;&gt; +    virtual void scrollRectInMainFrameIntoView(const IntRect&amp;) const { }; // Currently only Mac has a non empty implementation.
&gt; &gt; 
&gt; &gt; scrollMainFrameToRevealRect ?
&gt; 
&gt; See Tim&apos;s comment about trying to make the name more clear. your &apos;?&apos; makes
&gt; me think that hasn&apos;t happened.

Pretty sure Simon was suggesting an alternative even better name :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776859</commentid>
    <comment_count>9</comment_count>
      <attachid>433478</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 21:17:06 -0700</bug_when>
    <thetext>Created attachment 433478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776860</commentid>
    <comment_count>10</comment_count>
      <attachid>433479</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 21:18:37 -0700</bug_when>
    <thetext>Created attachment 433479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776875</commentid>
    <comment_count>11</comment_count>
      <attachid>433487</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 22:27:39 -0700</bug_when>
    <thetext>Created attachment 433487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776876</commentid>
    <comment_count>12</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-07-13 22:28:20 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776877</commentid>
    <comment_count>13</comment_count>
      <attachid>433487</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-13 22:30:52 -0700</bug_when>
    <thetext>Comment on attachment 433487
Patch

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

&gt; Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp:100
&gt; +()

Extra &quot;()&quot; here.

&gt; Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp:101
&gt; +void PageClientImpl::requestScrollToRect(WebCore::FloatPoint&amp;, WebCore::FloatPoint&amp;)

The first argument should be `WebCore::FloatRect`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776878</commentid>
    <comment_count>14</comment_count>
      <attachid>433488</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 22:32:37 -0700</bug_when>
    <thetext>Created attachment 433488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776880</commentid>
    <comment_count>15</comment_count>
      <attachid>433490</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 22:40:07 -0700</bug_when>
    <thetext>Created attachment 433490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776885</commentid>
    <comment_count>16</comment_count>
      <attachid>433491</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-13 22:54:22 -0700</bug_when>
    <thetext>Created attachment 433491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776975</commentid>
    <comment_count>17</comment_count>
      <attachid>433512</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 10:58:58 -0700</bug_when>
    <thetext>Created attachment 433512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776979</commentid>
    <comment_count>18</comment_count>
      <attachid>433512</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-14 11:13:01 -0700</bug_when>
    <thetext>Comment on attachment 433512
Patch

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

&gt; Source/WebCore/ChangeLog:39
&gt; +2021-07-13  Megan Gardner  &lt;megan_gardner@apple.com&gt;

Still duplicate changelogs

&gt; Source/WebKit/UIProcess/WebPageProxy.h:912
&gt; +    void requestScrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin);
&gt; +    void scrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin);

Very unclear why this is PLATFORM(COCOA)

&gt; Source/WebKit/UIProcess/WebPageProxy.messages.in:515
&gt; +    RequestScrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin)

Very unclear why this is PLATFORM(COCOA)

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:136
&gt; -    void scrollRectIntoView(const WebCore::IntRect&amp;) const final; // Currently only Mac has a non empty implementation.
&gt; +    void scrollMainFrameToRevealRect(const WebCore::IntRect&amp;) const final; // Currently only Mac has a non empty implementation.

I assume the comment is a lie now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776988</commentid>
    <comment_count>19</comment_count>
      <attachid>433512</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-14 11:46:22 -0700</bug_when>
    <thetext>Comment on attachment 433512
Patch

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

&gt; Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp:100
&gt; +void PageClientImpl::requestScrollToRect(WebCore::FloatRect&amp;, WebCore::FloatPoint&amp;)

It looks like the arguments are (FloatRect, FloatPoint) in the declaration, but (FloatRect&amp;, FloatPoint&amp;) here in the implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777002</commentid>
    <comment_count>20</comment_count>
      <attachid>433518</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 12:47:10 -0700</bug_when>
    <thetext>Created attachment 433518
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777022</commentid>
    <comment_count>21</comment_count>
      <attachid>433525</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 13:42:07 -0700</bug_when>
    <thetext>Created attachment 433525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777024</commentid>
    <comment_count>22</comment_count>
      <attachid>433525</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-14 13:45:29 -0700</bug_when>
    <thetext>Comment on attachment 433525
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:710
&gt; +void WebPageProxy::requestScrollToRect(FloatRect targetRect, FloatPoint origin)

How come we&apos;re not passing these as `const FloatRect&amp;`?

&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:715
&gt; +void WebPageProxy::scrollToRect(FloatRect targetRect, FloatPoint origin)

ditto.

&gt; Source/WebKit/UIProcess/ios/PageClientImplIOS.h:218
&gt; +    void requestScrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin) override;

ditto.

&gt; Source/WebKit/WebProcess/WebPage/WebPage.h:1137
&gt; +    void scrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin);

ditto.

&gt; Source/WebKit/WebProcess/WebProcess.h:548
&gt; +    void scrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin);

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777043</commentid>
    <comment_count>23</comment_count>
      <attachid>433529</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 14:40:58 -0700</bug_when>
    <thetext>Created attachment 433529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777068</commentid>
    <comment_count>24</comment_count>
      <attachid>433534</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 15:48:16 -0700</bug_when>
    <thetext>Created attachment 433534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777075</commentid>
    <comment_count>25</comment_count>
      <attachid>433536</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 16:11:26 -0700</bug_when>
    <thetext>Created attachment 433536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777084</commentid>
    <comment_count>26</comment_count>
      <attachid>433540</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 16:31:04 -0700</bug_when>
    <thetext>Created attachment 433540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777090</commentid>
    <comment_count>27</comment_count>
      <attachid>433540</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-14 16:47:06 -0700</bug_when>
    <thetext>Comment on attachment 433540
Patch

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

&gt; Source/WebCore/page/ChromeClient.h:231
&gt; -    virtual void scrollRectIntoView(const IntRect&amp;) const { }; // Currently only Mac has a non empty implementation.
&gt; +    virtual void scrollMainFrameToRevealRect(const IntRect&amp;) const { }; // Currently only Mac has a non empty implementation.

See earlier comment about this comment maybe being a lie now (unless I am wrong?) Honestly though I would just remove it.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:10738
&gt; +void WebPageProxy::requestScrollToRect(FloatRect targetRect, FloatPoint origin)

I think you missed a review comment from Chris here.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:10745
&gt; +    process().send(Messages::WebPage::ScrollToRect(targetRect, origin), 0);

You can say this just like this:

    send(Messages::WebPage::ScrollToRect(targetRect, origin));

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:136
&gt; -    void scrollRectIntoView(const WebCore::IntRect&amp;) const final; // Currently only Mac has a non empty implementation.
&gt; +    void scrollMainFrameToRevealRect(const WebCore::IntRect&amp;) const final; // Currently only Mac has a non empty implementation.

See earlier comment about this comment maybe being a lie now (unless I am wrong?) Honestly though I would just remove it.

&gt; Source/WebKit/WebProcess/WebProcess.h:548
&gt; +    void scrollToRect(WebCore::FloatRect targetRect, WebCore::FloatPoint origin);

I think this is stale and needs deleting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777111</commentid>
    <comment_count>28</comment_count>
      <attachid>433553</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-14 18:52:10 -0700</bug_when>
    <thetext>Created attachment 433553
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777113</commentid>
    <comment_count>29</comment_count>
      <attachid>433553</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-14 19:01:55 -0700</bug_when>
    <thetext>Comment on attachment 433553
Patch

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

&gt; Source/WebKit/UIProcess/ios/PageClientImplIOS.h:218
&gt; +    void requestScrollToRect(const WebCore::FloatRect&amp; targetRect, const WebCore::FloatPoint&amp; origin) override;

Not sure why this is clinging to the comment below</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777130</commentid>
    <comment_count>30</comment_count>
      <attachid>433553</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-14 22:37:06 -0700</bug_when>
    <thetext>Comment on attachment 433553
Patch

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:2524
&gt; -            page().chrome().scrollRectIntoView(snappedIntRect(absoluteRect));
&gt; +            page().chrome().scrollMainFrameToRevealRect(snappedIntRect(absoluteRect));

I think this Is the problem; this existing code called `scrollRectIntoView`, which actually only scrolled scrollers ABOVE the main frame, right? Maybe this one needs to be a different method that still has no implementation for WebKit2 (this is def. a behavior change). This is why good names are important, and the old name wasn&apos;t great? Maybe split into `scrollMainFrameToRevealRect` like you did, and `scrollContainingScrollViewsToRevealRect` for this one? Best check with smfr though, and do some debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777371</commentid>
    <comment_count>31</comment_count>
      <attachid>433635</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-15 16:25:23 -0700</bug_when>
    <thetext>Created attachment 433635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777374</commentid>
    <comment_count>32</comment_count>
      <attachid>433636</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-15 16:41:21 -0700</bug_when>
    <thetext>Created attachment 433636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777517</commentid>
    <comment_count>33</comment_count>
      <attachid>433679</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-07-16 09:25:44 -0700</bug_when>
    <thetext>Created attachment 433679
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777526</commentid>
    <comment_count>34</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-16 10:17:25 -0700</bug_when>
    <thetext>Committed r279988 (239731@main): &lt;https://commits.webkit.org/239731@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433679.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777527</commentid>
    <comment_count>35</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-16 10:18:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/80691049&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433450</attachid>
            <date>2021-07-13 15:10:14 -0700</date>
            <delta_ts>2021-07-13 19:59:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713151013.patch</filename>
            <type>text/plain</type>
            <size>23578</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uMWY3ODFjZWY0MGFhYjgwYjUyYzIwMjg5MmE1MGE5
NmExMmM5Y2RhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBwaXAgdGhh
dCBjYW4gcG90ZW50aWFsbHkgb2JzY3VyZSB0aGUgd2ViIHZpZXcsCisgICAgICAgIHdlIG5lZWQg
dG8gcGlwZSB0aGUgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2gg
ZG9lcyB0aGF0IHdvcmsKKyAgICAgICAgYW5kIHdpbGwgYmUgZm9sbG93ZWQgdXAgc2hvcnRseSBi
eSBvbmUgdGhhdCBkb2VzIHRoZSBhY3R1YWwgd29yayBvZiBwaXAgYXZvaWRhbmNlLgorICAgICAg
ICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhh
dCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRo
ZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGgg
dGhlIHBpcCAKKyAgICAgICAgaW5mb3JtYXRpb24uIAorCisgICAgICAgICogTW9kdWxlcy9oaWdo
bGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdo
bGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKToKKyAgICAg
ICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZW1wb3JhcnlTZWxl
Y3Rpb25DaGFuZ2U6OnNldFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoK
KyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUpOgorCisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVy
ICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0
IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgUGlw
IGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBwaXAgdGhhdCBjYW4gcG90
ZW50aWFsbHkgb2JzY3VyZSB0aGUgd2ViIHZpZXcsCisgICAgICAgIHdlIG5lZWQgdG8gcGlwZSB0
aGUgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2ggZG9lcyB0aGF0
IHdvcmsKKyAgICAgICAgYW5kIHdpbGwgYmUgZm9sbG93ZWQgdXAgc2hvcnRseSBieSBvbmUgdGhh
dCBkb2VzIHRoZSBhY3R1YWwgd29yayBvZiBwaXAgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9T
LCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJl
YWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNj
cm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIHBpcCAK
KyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hsaWdodFN0b3Jh
Z2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3JvbGwpOgorICAgICAgICAqIGVkaXRp
bmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlbXBvcmFyeVNlbGVjdGlvbkNoYW5n
ZTo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorICAgICAgICAq
IGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxl
Y3Rpb246Om1vdmVXaXRob3V0VmFsaWRhdGlvblRvKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
U2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rp
b24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Ny
b2xsUmVjdFRvVmlzaWJsZSk6CisKIDIwMjEtMDctMDkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVzaXplT2JzZXJ2ZXIgLyBJbnRlcnNlY3Rpb25PYnNlcnZl
ciBtZW1vcnkgbGVhayBvbiBkZXRhY2hlZCAmIG91dCBvZiByZWZlcmVuY2UgZWxlbWVudHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggZGFmOTk2YThhMWY4NjliZTA5MDIwOWM3N2Q5OGU5MmU2ZWU1NzYxYy4uZmQzNmZi
OTkyMGRhYmFkMWIzYzNjOGJhYjBkMmFjMzM3YTM4NWViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3
NSBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBVSSBQcm9j
ZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkg
YXZvaWQgdGhlIG5vdGUgcGlwIHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2
aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBV
SSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJl
IGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Yg
cGlwIGF2b2lkYW5jZS4KKyAgICAgICAgRm9yIGlPUywgdGhpcyBqdXN0IHVzZXMgdGhlIG1haW4g
ZnJhbWUgVUkgU2Nyb2xsaW5nIHRoYXQgd2UgYWxyZWFkeSB1c2UsIGJ1dCBmb3IgCisgICAgICAg
IG1hYywgd2UgbmVlZCB0byBkbyB0aGUgbGFzdCBzY3JvbGwgaW4gdGhlIHdlYiBwcm9jZXNzIGFm
dGVyIGFkanVzdGluZyBpdCB3aXRoIHRoZSBwaXAgCisgICAgICAgIGluZm9ybWF0aW9uLiAKKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVjdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFn
ZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNj
cm9sbFRvUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJl
Y3RJbnRvVmlldyBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9s
bGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgUGlwIGF2b2lk
YW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBwaXAgdGhhdCBjYW4gcG90ZW50aWFs
bHkgb2JzY3VyZSB0aGUgd2ViIHZpZXcsCisgICAgICAgIHdlIG5lZWQgdG8gcGlwZSB0aGUgc2Ny
b2xsaW5nIHRocm91Z2ggdGhlIFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2ggZG9lcyB0aGF0IHdvcmsK
KyAgICAgICAgYW5kIHdpbGwgYmUgZm9sbG93ZWQgdXAgc2hvcnRseSBieSBvbmUgdGhhdCBkb2Vz
IHRoZSBhY3R1YWwgd29yayBvZiBwaXAgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlz
IGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVz
ZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBp
biB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIHBpcCAKKyAgICAg
ICAgaW5mb3JtYXRpb24uIAorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
c2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VD
bGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNo
cm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEtMDctMDkg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBbGxv
dyB0aGUgVUlQcm9jZXNzIHRvIHNldCBsb2dnaW5nIHBhcmFtZXRlcnMgaW4gdGhlIEdQVVByb2Nl
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodFN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGln
aGxpZ2h0U3RvcmFnZS5jcHAKaW5kZXggNzgwZmM1MTZkZmU1NjkwNTA2MDY2ZDJhYTkyZjNkODNl
MDU1YWU3MS4uYTE1OTVmMzhiOTg3ZWEzMjM1MjY4MzI2Mzk5ZmQwMDA0ZmJkMTExMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0
U3RvcmFnZS5jcHAKQEAgLTI3MSw3ICsyNzEsNyBAQCBib29sIEFwcEhpZ2hsaWdodFN0b3JhZ2U6
OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3JvbGwoQXBwSGlnaGxpZ2h0UmFuZ2VEYQog
ICAgICAgICBpZiAodGV4dEluZGljYXRvcikKICAgICAgICAgICAgIG1fZG9jdW1lbnQtPnBhZ2Uo
KS0+Y2hyb21lKCkuY2xpZW50KCkuc2V0VGV4dEluZGljYXRvcih0ZXh0SW5kaWNhdG9yLT5kYXRh
KCkpOwogICAgICAgICAKLSAgICAgICAgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHNlbGVjdGlv
bkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUoKSB9LCB7IFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6UmV2ZWFsU2VsZWN0aW9uLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246
OlNtb290aFNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNtb290aFNj
cm9sbEZlYXR1cmVFbmFibG1lbnQgfSk7CisgICAgICAgIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5n
ZSBzZWxlY3Rpb25DaGFuZ2UoKnN0cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVlKCkgfSwgeyBU
ZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsLCBUZW1wb3Jh
cnlTZWxlY3Rpb25PcHRpb246OlNtb290aFNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9u
OjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQgfSk7CiAgICAgfQogCiAgICAg
cmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggODYzNzE2MzdhMTRj
MmM4NDkyYzc3ZmJiOTc4MTNmZDBjZGU0YWNiNC4uYjhkYTBkOGRkODhlODA1MTE5ZmM5NDZiZmYw
YjBjMjc3YTVkNzY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMjY1LDYgKzI2
NSw4IEBAIHZvaWQgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNl
bGVjdGlvbjo6RG9Ob3RTZXRGb2N1cyk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6UmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFt
ZVNlbGVjdGlvbjo6UmV2ZWFsU2VsZWN0aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYgVGVtcG9y
YXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAgICAgb3B0
aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKICAgICBp
ZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwpCiAg
ICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwogICAgIGlm
IChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IGI5ZDczMGI2
N2RmOWZmZTNhOTdlYjhkYzVjYWEzM2EwOTU0NjMzMWEuLjdiMzQ4OGUzODFlZWVkNmY5MzA4ZWFm
ODhlZWU1ZGE2YWI1MTI5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtMTIyLDYgKzEy
Miw4IEBAIGVudW0gY2xhc3MgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uIDogdWludDhfdCB7CiAg
ICAgU21vb3RoU2Nyb2xsID0gMSA8PCA0LAogICAgIAogICAgIE92ZXJyaWRlU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsbWVudCA9IDEgPDwgNSwKKyAgICAKKyAgICBEZWxlZ2F0ZU1haW5GcmFtZVNj
cm9sbCA9IDEgPDwgNiwKIH07CiAKIGNsYXNzIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IGZjZDgwZDFjYmNh
NzhiMGFlNDQxNzJhMzg5ZGE3ZjNmM2Y1NDA1Y2QuLmM1MDA0Yjc0MzlkZjMwNThiYjUyNGJjYjMy
MjE1MTk0ZTVmM2QyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24u
Y3BwCkBAIC0yMzIsNiArMjMyLDkgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhvdXRW
YWxpZGF0aW9uVG8oY29uc3QgUG9zaXRpb24mIGJhc2UsIGNvbnN0IFBvc2l0aW8KICAgICBjYXNl
IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWU6CiAgICAgICAgIG9wdGlv
bnMuYWRkKFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUpOwogICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFNlbGVjdGlvblJldmVhbE1vZGU6OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsOgorICAg
ICAgICBvcHRpb25zLmFkZChEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7CisgICAgICAgIGJyZWFr
OwogICAgIH0KICAgICBzZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uLCBvcHRpb25zLCBuZXdJbnRl
bnQpOwogfQpAQCAtNDMyLDYgKzQzNSw4IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVj
dGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAg
ICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbFVw
VG9NYWluRnJhbWU7CiAgICAgZWxzZSBpZiAob3B0aW9ucyAmIFJldmVhbFNlbGVjdGlvbikKICAg
ICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFs
OworICAgIGVsc2UgaWYgKG9wdGlvbnMgJiBEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAg
ICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVN
YWluRnJhbWVTY3JvbGw7CiAgICAgZWxzZQogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUg
PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbDsKICAgICBtX2Fsd2F5c0FsaWduQ3Vy
c29yT25TY3JvbGxXaGVuUmV2ZWFsaW5nU2VsZWN0aW9uID0gYWxpZ24gPT0gQWxpZ25DdXJzb3JP
blNjcm9sbEFsd2F5czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRl
eCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIxMjYyNDY5Li4xNWQ4YjQ2Nzg4OTc5
YzM1N2Y1YTFmY2E1YmI2YTEyZjk0Y2Y1MzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyArMTI0LDggQEAgcHVibGljOgogICAgICAgICBSZXZlYWxT
ZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAgICAgIFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUg
PSAxIDw8IDgsCiAgICAgICAgIFNtb290aFNjcm9sbCA9IDEgPDwgOSwKLSAgICAgICAgT3ZlcnJp
ZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEgPDwgMTAKKyAgICAgICAgT3ZlcnJp
ZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEgPDwgMTAsCisgICAgICAgIERlbGVn
YXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCAxMQogICAgIH07CiAgICAgc3RhdGljIGNvbnN0ZXhw
ciBPcHRpb25TZXQ8U2V0U2VsZWN0aW9uT3B0aW9uPiBkZWZhdWx0U2V0U2VsZWN0aW9uT3B0aW9u
cyhFVXNlclRyaWdnZXJlZCA9IE5vdFVzZXJUcmlnZ2VyZWQpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaAppbmRleCAwYjFjNDA1NjNlOGNiYjgyMmE5ZmViYTRjMGM0NjVmOGE1
NzRhOTNiLi40MjNlNzBlZmVhZGJmNTQ2NmJjMGIzNjhlODFjZTI2MTA3MGZiN2EwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTI0MSw2ICsyNDEsNyBAQCBlbnVtIGNs
YXNzIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0aW9uIDogdWludDhfdCB7CiBlbnVtIGNsYXNzIFNl
bGVjdGlvblJldmVhbE1vZGUgOiB1aW50OF90ICB7CiAgICAgUmV2ZWFsLAogICAgIFJldmVhbFVw
VG9NYWluRnJhbWUsIC8vIFNjcm9sbCBvdmVyZmxvdyBhbmQgaWZyYW1lcywgYnV0IG5vdCB0aGUg
bWFpbiBmcmFtZS4KKyAgICBEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgLy8gU2ltaWxhciB0byBS
ZXZlYWxVcFRvTWFpbkZyYW1lLCBidXQgbWFrZSBzdXJlIHRvIG1hbnVhbGx5IGNhbGwgdGhlIG1h
aW4gZnJhbWUgc2Nyb2xsLgogICAgIERvTm90UmV2ZWFsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAxNjFjMjYyZjA1ZTI2ZTg5ODA4ZjkwZDkwZmYy
MTBkMWY2MTk5MDYzLi4zNzk0ODVjZTVlNDRiYzVmZTkzZWI2ODViMmMwZDI0ZTMzYTEyNzQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI0NzcsNiArMjQ3
NywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91
dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgaWYgKG9wdGlvbnMu
cmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lICYm
IGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwogCisgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVh
bE1vZGU6OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsICYmIGZyYW1lVmlldy5mcmFtZSgpLmlzTWFp
bkZyYW1lKCkpIHsKKyAgICAgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsUmVjdElu
dG9WaWV3KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgYXV0byBtaW5TY3JvbGxQb3NpdGlv
biA9IGZyYW1lVmlldy5taW5pbXVtU2Nyb2xsUG9zaXRpb24oKTsKICAgICAgICAgICAgIGF1dG8g
bWF4U2Nyb2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWF4aW11bVNjcm9sbFBvc2l0aW9uKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0KaW5kZXggOWIwMWY0MDIyNzE1MjEwMmU0N2U2Y2MyNWRiZGIyNjFkMTc3YmY5Yi4uM2Q3MTM5
NmViZTNiNzhjM2VmMGZiMDYyZjQ2ZWM3ZDBkNmVhMDQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTcwNyw2ICs3MDcs
MTYgQEAgTlNEaWN0aW9uYXJ5ICpXZWJQYWdlUHJveHk6OmNvbnRlbnRzT2ZVc2VySW50ZXJmYWNl
SXRlbShOU1N0cmluZyAqdXNlckludGVyZmFjZUkKICAgICByZXR1cm4gbmlsOwogfQogCit2b2lk
IFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwg
RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RTY3JvbGxUb1Jl
Y3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnNjcm9sbFRv
UmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcHJv
Y2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0
LCBvcmlnaW4pLCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNT
QUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5oCmluZGV4IDgyZTM4MjgwMzdiMDY0ZjViZDM2YjdkZDUzNmM2MGEwYTI5MzNhYTAu
LjUyMjk4NjA3YTg2OThmMmIyZGM4MGE1NTY0Y2I1NmQ1YTJlZDhhNGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaApAQCAtNTQ2LDYgKzU0Niw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGdlc3R1cmVFdmVudFdhc05vdEhhbmRsZWRCeVdlYkNvcmVGcm9tVmll
d09ubHkoTlNFdmVudCAqKTsKIAogICAgIHZvaWQgZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7
CisgICAgCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBXZWJDb3Jl
OjpGbG9hdFBvaW50KTsKIAogICAgIHZvaWQgc2V0VG90YWxIZWlnaHRPZkJhbm5lcnMoQ0dGbG9h
dCB0b3RhbEhlaWdodE9mQmFubmVycykgeyBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzID0gdG90YWxI
ZWlnaHRPZkJhbm5lcnM7IH0KICAgICBDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKCkgY29u
c3QgeyByZXR1cm4gbV90b3RhbEhlaWdodE9mQmFubmVyczsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCA1ZmJlYmE0ZjE2ZTMxNjc3ZWIxZGZl
ZGEyMDk2Mzg3ZmM2NGRhNmNjLi5kM2MyMDQxZTU1MjI0OTRmMzk0YmVkODcxM2M1YzVhZjZjNDY4
OTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpA
QCAtMjU1MSw2ICsyNTUxLDExIEBAIGJvb2wgV2ViVmlld0ltcGw6Omhhc1Njcm9sbGVkQ29udGVu
dHNVbmRlclRpdGxlYmFyKCkKICAgICByZXR1cm4gbV9pc1JlZ2lzdGVyZWRTY3JvbGxWaWV3U2Vw
YXJhdG9yVHJhY2tpbmdBZGFwdGVyICYmICFtX3BhZ2VJc1Njcm9sbGVkVG9Ub3A7CiB9CiAKK3Zv
aWQgV2ViVmlld0ltcGw6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVj
dCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1Jl
Y3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0
bGViYXJBZGphY2VuY3lTdGF0ZSgpCiB7CiAgICAgTlNXaW5kb3cgKndpbmRvdyA9IFttX3ZpZXcg
d2luZG93XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5
OTI0ZDMzNzQ4OTM2OGYzNmM1MDVjYzY4ODk2NzQ1Li45Nzk4YWQwN2Q5Y2EzNjcwOGNlMTI3MzBj
ODQzOGMyY2Y4YWM5NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02
MTIsNiArNjEyLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2
aXJ0dWFsIHZvaWQgc3RvcmVBcHBIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0
JikgPSAwOwogI2VuZGlmCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2Vi
Q29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSA9
IDA7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRl
cnNGb3JHZXN0dXJlUmVjb2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGQxYTVmYzM4ZWE3Yzk1ZmVhNjM0ZDg1
Y2Q5YmQxNzBkYTY1YjE5ZjguLmI0MjZmZTY3OTFhYTJmN2ZmMWIyYmVkOGM3YWViZjFlNDg1MDFm
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC05MDcsNyArOTA3
LDEwIEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHdpbmRvd0FuZFZp
ZXdGcmFtZXNDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlld0ZyYW1lSW5XaW5k
b3dDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgYWNjZXNzaWJpbGl0eVZp
ZXdDb29yZGluYXRlcyk7CiAgICAgdm9pZCBzZXRNYWluRnJhbWVJc1Njcm9sbGFibGUoYm9vbCk7
Ci0KKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisgICAgdm9pZCBz
Y3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0
UG9pbnQgb3JpZ2luKTsKKyAgICAgICAgCiAgICAgdm9pZCBzZW5kQ29tcGxleFRleHRJbnB1dFRv
UGx1Z2luKHVpbnQ2NF90IHBsdWdpbkNvbXBsZXhUZXh0SW5wdXRJZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHRleHRJbnB1dCk7CiAgICAgYm9vbCBzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRm9y
RXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOwogICAgIGJvb2wgYWNjZXB0c0ZpcnN0TW91c2Uo
aW50IGV2ZW50TnVtYmVyLCBjb25zdCBXZWJNb3VzZUV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGI1YjU2ZWYyMzUy
MDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2ZDk2ZS4uMDJkOGZkOWZiMjIwNmM4MzMxYjVjZDBkODZk
NjE2YzBjODk5N2U5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtNTEwLDYgKzUxMCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQ
cm94eSB7CiAjZW5kaWYKIAogICAgIERpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCisgICAgCisg
ICAgUmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2Vi
Q29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCiAKICAgICBHZXRMb2FkRGVjaXNpb25Gb3JJY29uKHN0
cnVjdCBXZWJDb3JlOjpMaW5rSWNvbiBpY29uLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJ
RCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
aAppbmRleCA0NjIwZTc1ZDBhNTU2NTZlODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0Li5kMDA1NDYz
OTg3ZDEwYzU3NzA0ZmYyNGRjMWRhOTExNWQ1NjAyNDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjE0LDcgKzIxNCw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RpZFNjcm9sbCgpIG92ZXJy
aWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFdpbGxTdGFydFNjcm9sbCgpIG92ZXJy
aWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbERpZEVuZFNjcm9sbCgpIG92ZXJyaWRl
OwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9h
dFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92ZXJyaWRlOwog
ICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgZnVsbFNjcmVlbk1hbmFn
ZXJQcm94eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4MWZlM2E1MTRmN2Q4NzJiMzE4
NTc0OGQ4Yzc2MTdlYzMuLjczMDRkN2ZiODQ2NzQ2MTljYzhhNmRhOGY0ODdhYzBiZTg0Mjg4MjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KQEAgLTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xvciBQYWdlQ2xpZW50SW1wbDo6
Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBbbV9jb250ZW50VmlldyBi
YWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVl
c3RTY3JvbGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdldFJlY3QsIEZsb2F0UG9pbnQgb3JpZ2luKQor
eworICAgIFttX2NvbnRlbnRWaWV3IF9zY3JvbGxUb1JlY3Q6dGFyZ2V0UmVjdCB3aXRoT3JpZ2lu
Om9yaWdpbiBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6MF07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggNmM1YzRlMzljNjE0ODNk
YWU5MGU2OTJjYzc4NjY5ZGFiNzQ5ZTVkYS4uZTdkYzVhYzljNWQ0MmJlMWE1YTI5ZDc3MzA0MTlj
NDA3YTliYzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShEQVRB
X0RFVEVDVElPTikKICAgICB2b2lkIGhhbmRsZUNsaWNrRm9yRGF0YURldGVjdGlvblJlc3VsdChj
b25zdCBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYsIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JikgZmluYWw7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xs
VG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50
IG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmlldzsKICAgICBXZWFrUHRyPFdl
YlZpZXdJbXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5OTkyOTRmODE1YzdjMWY2N2Iz
OGZkM2MyYy4uN2Y4MjFkMzJlN2M2YTNkOThlNjViZmEwZjU4NDgyYmNmZTcwNmNmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAt
OTcyLDYgKzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZXN0b3JlU2Nyb2xsUG9z
aXRpb24oKQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CiB9CiAKK3Zv
aWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0
IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQoreworICAgIC8vIEZJWE1F
OiBBZGQgYWRkaXRpb25hbCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4KKyAgICBtX2ltcGwtPnNj
cm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29sIFBhZ2VDbGllbnRJbXBs
Ojp3aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50
JiBldmVudCkKIHsKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2luZG93VW5kZXJN
b3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggODlm
MDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZC4uYjA2YmI1Y2FmNjI5Y2E0MGYz
MzlmYzk3NGNmODJkNzc1ZDlkOGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQyLDYg
KzQyLDcgQEAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgorI2luY2x1
ZGUgIlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlVz
ZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQ29sb3JDaG9vc2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC02NTUsOSArNjU2LDkgQEAgdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXpl
KSBjb24KICAgICB9CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1Zp
ZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVj
dEludG9WaWV3KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0U2Ny
b2xsVG9SZWN0KHJlY3QsIHJlY3QuY2VudGVyKCkpKTsKIH0KIAogYm9vbCBXZWJDaHJvbWVDbGll
bnQ6OnNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFJlbmRlckVtYmVkZGVk
T2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVnaW5VbmF2YWlsYWJpbGl0eVJl
YXNvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGU3YzJm
N2YyOTYwYzczOWQwZjAwMTQ3YTM5ZGMxMzU5NWNkYjE5YWUuLjBlMmM2ZTJhYjY0OGM2ZDU5MmFh
ODMxYTIwOWRmMmRmN2VjZmM1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aApAQCAtNTQ0LDYgKzU0NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29uc3VtZUF1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgog
ICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6
OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisjZW5k
aWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxp
YXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggNjM3MTUzNTAyZmQ5NDRjYzlmYzY2YWEyYTYwYWE4MmU3ZTQxNTVi
NS4uMTQ2ZDEzNzU0YTBkZDBiOTJmZjA3NmNhYTQ0OGY4MjdhY2Y5NGYyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTIwMyw2ICsy
MDMsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3Vu
dGVkIHsKICAgICBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RydWN0IFdlYktp
dDo6QWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzIGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcykKICNl
bmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgU2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZs
b2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKKyNlbmRpZgor
CiAjaWYgSEFWRShNRURJQV9BQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKICAgICBTZXRNZWRpYUFj
Y2Vzc2liaWxpdHlQcmVmZXJlbmNlcyhXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpD
YXB0aW9uRGlzcGxheU1vZGUgZGlzcGxheU1vZGUsIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlcykK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0KaW5kZXggYTY2NzIxMDRhMmExMzRkMDMwOTVjMjI2ZDU4Mzc1OTRkZDdlMzBjZi4u
ZDkzNjcxOTFkNzJjNGIzYTNlNDZlNzliODM3MzgxYTM4N2U5ZDhhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNDE3LDYg
KzE0MTcsMTMgQEAgdm9pZCBXZWJQcm9jZXNzOjpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGEKICAgICAgICAgV0VCUFJPQ0VTU19S
RUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiQ291bGQgbm90IGFwcGx5IEF1ZGlvQ29tcG9uZW50
IHJlZ2lzdHJhdGlvbnMsIGVyciglbGQpIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyKSk7CiB9CiAK
K3ZvaWQgV2ViUHJvY2Vzczo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRS
ZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBXZWJQYWdlKiBwYWdlID0g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZm9jdXNlZFdlYlBhZ2UoKTsKKyAgICBpZiAocGFnZSkK
KyAgICAgICAgcGFnZS0+bWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2lu
dCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19TRVNTSU9OX0lECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433471</attachid>
            <date>2021-07-13 19:59:34 -0700</date>
            <delta_ts>2021-07-16 09:25:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713195933.patch</filename>
            <type>text/plain</type>
            <size>35910</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uNGI2YzQ1YjFhYTA3MTY2ZWMzODk0MWU3NTMwNDgw
YzU0MzU3NWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBwaXAgdGhh
dCBjYW4gcG90ZW50aWFsbHkgb2JzY3VyZSB0aGUgd2ViIHZpZXcsCisgICAgICAgIHdlIG5lZWQg
dG8gcGlwZSB0aGUgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2gg
ZG9lcyB0aGF0IHdvcmsKKyAgICAgICAgYW5kIHdpbGwgYmUgZm9sbG93ZWQgdXAgc2hvcnRseSBi
eSBvbmUgdGhhdCBkb2VzIHRoZSBhY3R1YWwgd29yayBvZiBwaXAgYXZvaWRhbmNlLgorICAgICAg
ICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhh
dCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRo
ZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGgg
dGhlIHBpcCAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3JvbGwpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlbXBvcmFyeVNlbGVj
dGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgor
ICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVTZWxlY3Rpb246Om1vdmVXaXRob3V0VmFsaWRhdGlvblRvKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6CisKIDIwMjEtMDctMDkgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVzaXplT2JzZXJ2ZXIgLyBJbnRlcnNlY3Rp
b25PYnNlcnZlciBtZW1vcnkgbGVhayBvbiBkZXRhY2hlZCAmIG91dCBvZiByZWZlcmVuY2UgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZGFmOTk2YThhMWY4NjliZTA5MDIwOWM3N2Q5OGU5MmU2ZWU1NzYx
Yy4uZTZjYWNhMjFjZTViZGY5ZGY2NGRiZmY0NWVlNDY3YjJkMGE3YjIzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzOSBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3Vn
aCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBj
b3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgcGlwIHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUg
dGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJv
dWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFu
ZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFs
IHdvcmsgb2YgcGlwIGF2b2lkYW5jZS4KKyAgICAgICAgRm9yIGlPUywgdGhpcyBqdXN0IHVzZXMg
dGhlIG1haW4gZnJhbWUgVUkgU2Nyb2xsaW5nIHRoYXQgd2UgYWxyZWFkeSB1c2UsIGJ1dCBmb3Ig
CisgICAgICAgIG1hYywgd2UgbmVlZCB0byBkbyB0aGUgbGFzdCBzY3JvbGwgaW4gdGhlIHdlYiBw
cm9jZXNzIGFmdGVyIGFkanVzdGluZyBpdCB3aXRoIHRoZSBwaXAgCisgICAgICAgIGluZm9ybWF0
aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVj
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5ICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxsb3cgdGhlIFVJUHJv
Y2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3Jh
Z2UuY3BwCmluZGV4IDc4MGZjNTE2ZGZlNTY5MDUwNjA2NmQyYWE5MmYzZDgzZTA1NWFlNzEuLjY2
ZWVlMjczZTg3M2Y4MmQ4Mzg0ZjMwN2JmMzhhMGU4MTM2OTE2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
CkBAIC0yNzEsNyArMjcxLDcgQEAgYm9vbCBBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9S
ZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKEFwcEhpZ2hsaWdodFJhbmdlRGEKICAgICAgICAgaWYg
KHRleHRJbmRpY2F0b3IpCiAgICAgICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgp
LmNsaWVudCgpLnNldFRleHRJbmRpY2F0b3IodGV4dEluZGljYXRvci0+ZGF0YSgpKTsKICAgICAg
ICAgCi0gICAgICAgIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZSBzZWxlY3Rpb25DaGFuZ2UoKnN0
cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVlKCkgfSwgeyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRp
b246OlJldmVhbFNlbGVjdGlvbiwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3Jv
bGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6T3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJl
RW5hYmxtZW50IH0pOworICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9u
Q2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2Vs
ZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0aW9u
T3B0aW9uOjpTbW9vdGhTY3JvbGwgfSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKaW5kZXggNGJmZGJiY2E3ZDRlZmU5MTNkMTA0OThiZjRkYzg5NmUyMjY3
NzRkNS4uYzMwYzNkMmM0NTkzYjRjNTNlNDJkYjZlYTk2M2Y4ZTc1M2UxMWVjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcApAQCAtOTM3LDggKzkzNyw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsSW50
b1ZpZXcoc3RkOjpvcHRpb25hbDxWYXJpYW50PGJvb2wsIFNjcm9sbEludG9WaWV3T3B0aW9ucz4+
CiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWCA6IGFsaWduWSwKICAgICAgICAgaXNIb3Jp
em9udGFsID8gYWxpZ25ZIDogYWxpZ25YLAogICAgICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2lu
U2Nyb2xsaW5nOjpObywKLSAgICAgICAgb3B0aW9ucy5iZWhhdmlvci52YWx1ZV9vcihTY3JvbGxC
ZWhhdmlvcjo6QXV0byksCi0gICAgICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpE
ZWZhdWx0CisgICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6
OkF1dG8pCiAgICAgfTsKICAgICByZW5kZXJlcigpLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29s
dXRlQm91bmRzLCBpbnNpZGVGaXhlZCwgdmlzaWJsZU9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3YTE0YzJjODQ5MmM3N2ZiYjk3ODEzZmQwY2RlNGFj
YjQuLmMzYjE5MjVlNjdjZDNjN2FiMzMyNjUxNzVlMmU0OThmMWZkNWVlNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI2NSwxMCArMjY1LDEwIEBAIHZvaWQgVGVtcG9yYXJ5U2Vs
ZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0
aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6RG9Ob3RTZXRGb2N1cyk7
CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6UmV2ZWFsU2Vs
ZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6UmV2ZWFsU2VsZWN0
aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246
OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKICAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5
U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwpCiAgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1l
U2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwotICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCkKLSAg
ICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQpOwogICAgIG1fZG9jdW1lbnQtPnNlbGVjdGlvbigpLnNldFNlbGVjdGlv
bihzZWxlY3Rpb24sIG9wdGlvbnMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCBi
OWQ3MzBiNjdkZjlmZmUzYTk3ZWI4ZGM1Y2FhMzNhMDk1NDYzMzFhLi5mZDU5YmZmYWU3MmQ1ZmFm
OTI0NzIzZWY0NzliMjg1NjA2MDM4OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTEy
MSw3ICsxMjEsNyBAQCBlbnVtIGNsYXNzIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbiA6IHVpbnQ4
X3QgewogICAgIAogICAgIFNtb290aFNjcm9sbCA9IDEgPDwgNCwKICAgICAKLSAgICBPdmVycmlk
ZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQgPSAxIDw8IDUsCisgICAgRGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgPSAxIDw8IDUsCiB9OwogCiBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25DaGFu
Z2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBmY2Q4
MGQxY2JjYTc4YjBhZTQ0MTcyYTM4OWRhN2YzZjNmNTQwNWNkLi4xY2EzYmZiYzkyMWM0NTc5Njg0
YjEwMzUwMmU0YzUzMzJjMjkxMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcApAQCAtMjMyLDYgKzIzMiw5IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om1vdmVX
aXRob3V0VmFsaWRhdGlvblRvKGNvbnN0IFBvc2l0aW9uJiBiYXNlLCBjb25zdCBQb3NpdGlvCiAg
ICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lOgogICAgICAg
ICBvcHRpb25zLmFkZChSZXZlYWxTZWxlY3Rpb25VcFRvTWFpbkZyYW1lKTsKICAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9s
bDoKKyAgICAgICAgb3B0aW9ucy5hZGQoRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpOworICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbiwgb3B0aW9ucywg
bmV3SW50ZW50KTsKIH0KQEAgLTQzMiw2ICs0MzUsOCBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpz
ZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uLCBPcHRpb25TZXQ8
UwogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpS
ZXZlYWxVcFRvTWFpbkZyYW1lOwogICAgIGVsc2UgaWYgKG9wdGlvbnMgJiBSZXZlYWxTZWxlY3Rp
b24pCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6
OlJldmVhbDsKKyAgICBlbHNlIGlmIChvcHRpb25zICYgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwp
CisgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRl
bGVnYXRlTWFpbkZyYW1lU2Nyb2xsOwogICAgIGVsc2UKICAgICAgICAgbV9zZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWw7CiAgICAgbV9hbHdheXNB
bGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9IGFsaWduID09IEFsaWdu
Q3Vyc29yT25TY3JvbGxBbHdheXM7CkBAIC00NDYsNyArNDUxLDcgQEAgdm9pZCBGcmFtZVNlbGVj
dGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0
aW9uU2V0PFMKICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgp
LmlzTGF5b3V0UGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oaW50ZW50LCBvcHRpb25zLmNvbnRhaW5zKFNtb290aFNjcm9sbCkgPyBTY3Jv
bGxCZWhhdmlvcjo6U21vb3RoIDogU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQsIG9wdGlvbnMuY29u
dGFpbnMoT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCkgPyBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUgOiBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCk7CisgICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0
aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNj
cm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKIAogICAgIGlmIChvcHRpb25zICYgSXNVc2VyVHJpZ2dl
cmVkKSB7CiAgICAgICAgIGlmIChhdXRvKiBjbGllbnQgPSBwcm90ZWN0ZWREb2N1bWVudC0+ZWRp
dG9yKCkuY2xpZW50KCkpCkBAIC00NzMsNyArNDc4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6
c2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoUmV2ZWFsU2VsZWN0aW9uQWZ0ZXJVcGRhdGUgcmV2ZWFs
TW8KICAgICAgICAgdmlldy0+c2VsZWN0aW9uKCkuY2xlYXIoKTsKIH0KIAotdm9pZCBGcmFtZVNl
bGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdl
SW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yLCBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFu
Z2VJbnRlbnQmIGludGVudCwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAg
aWYgKCFtX3BlbmRpbmdTZWxlY3Rpb25VcGRhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5MCw3
ICs0OTUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24o
Y29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludAogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxXaGVuUmV2ZWFsaW5n
U2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFsaWdu
bWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKIAotICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9z
ZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZp
b3IsIG92ZXJpZGVGZWF0dXJlRW5hYmxlbWVudCk7CisgICAgICAgIHJldmVhbFNlbGVjdGlvbiht
X3NlbGVjdGlvblJldmVhbE1vZGUsIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50LCBzY3JvbGxCZWhh
dmlvcik7CiAgICAgfQogCiAgICAgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5n
ZShpbnRlbnQpOwpAQCAtMjM5MCw3ICsyMzk1LDcgQEAgSFRNTEZvcm1FbGVtZW50KiBGcmFtZVNl
bGVjdGlvbjo6Y3VycmVudEZvcm0oKSBjb25zdAogICAgIHJldHVybiBzY2FuRm9yRm9ybShzdGFy
dCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50LCBS
ZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBzY3Jv
bGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJl
RW5hYmxlbWVudCkKK3ZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rp
b25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50
LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBz
Y3JvbGxCZWhhdmlvcikKIHsKICAgICBpZiAocmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxN
b2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjQxMyw3ICsyNDE4LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUg
cmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgICAgIGlmICghbV9zY3JvbGxpbmdTdXBw
cmVzc0NvdW50KSB7CiAgICAgICAgICAgICAgICAgYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBsYXll
ci0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFi
bGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAgICAg
ICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KTsKKyAgICAgICAgICAgICAgICBsYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNp
ZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pOwogICAgICAgICAgICAg
ICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcoZmFs
c2UpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICAgICAgICAgICAgICAg
ICBpZiAobV9kb2N1bWVudC0+cGFnZSgpKQpAQCAtMjQyNCw3ICsyNDI5LDcgQEAgdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgcmV2ZWFsTW9k
ZSwgY29uc3QgU2Nyb2wKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBvbmx5IGhhbmRsZXMg
c2Nyb2xsaW5nIHRoZSBzdGFydENvbnRhaW5lcidzIGxheWVyLCBidXQKICAgICAgICAgLy8gdGhl
IHNlbGVjdGlvbiByZWN0IGNvdWxkIGludGVyc2VjdCBtb3JlIHRoYW4ganVzdCB0aGF0LgogICAg
ICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzQ3OTk4OTk+LgotICAgICAgICBpZiAoc3RhcnQu
ZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBp
bnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvciwgb3ZlcnJpZGVGZWF0
dXJlRW5hYmxlbWVudH0pKQorICAgICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVu
ZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxN
b2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGlu
Zzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pKQogICAgICAgICAgICAgdXBkYXRlQXBwZWFyYW5jZSgp
OwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmlu
ZGV4IDkzYTU5ZDU4NjQyNGIyN2Y2YThhODc3MGE0YmZkNTMyMjEyNjI0NjkuLjdlMWQ4OTQ5ZDA3
MTc5NTAxMzcyOTc1OTNkOTE5OWY0N2JlNDk1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJldmVh
bFNlbGVjdGlvbiA9IDEgPDwgNywKICAgICAgICAgUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFt
ZSA9IDEgPDwgOCwKICAgICAgICAgU21vb3RoU2Nyb2xsID0gMSA8PCA5LAotICAgICAgICBPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gMSA8PCAxMAorICAgICAgICBEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCA9IDEgPDwgMTAKICAgICB9OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlv
bnMoRVVzZXJUcmlnZ2VyZWQgPSBOb3RVc2VyVHJpZ2dlcmVkKTsKIApAQCAtMjQ4LDcgKzI0OCw3
IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEhUTUxGb3JtRWxlbWVudCogY3VycmVu
dEZvcm0oKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmV2ZWFsU2VsZWN0aW9u
KFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIGNvbnN0
IFNjcm9sbEFsaWdubWVudCYgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQs
IFJldmVhbEV4dGVudE9wdGlvbiA9IERvTm90UmV2ZWFsRXh0ZW50LCBTY3JvbGxCZWhhdmlvciA9
IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9u
UmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25t
ZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVh
bEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZWxlY3Rpb25Gcm9tTm9uZSgpOwogCiAgICAgYm9vbCBz
aG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dCbG9ja0N1
cnNvcjsgfQpAQCAtMjYzLDcgKzI2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUZyb21B
c3NvY2lhdGVkTGl2ZVJhbmdlKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhhdmlv
ciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVu
dCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpPdmVycmlkZSk7CisgICAgdm9pZCB1
cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBT
Y3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKICAgICB2b2lkIHVwZGF0
ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAogICAgIGJvb2wgc2V0U2VsZWN0aW9uV2l0
aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgT3B0aW9uU2V0
PFNldFNlbGVjdGlvbk9wdGlvbj4sIEN1cnNvckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxhcml0
eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggZjMwOWM0OTc1YmQ1YmMw
OTVjODUyMjRhMjMyZTU3YTlmYjc4NDUwNi4uZWRmZjY2ZDlmMTE3YTdiNGUxNGVkODg1ZWY3YTEw
YTg5MDdmMmJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMTYzLDcg
KzE2Myw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7
CiAgICAgdm9pZCBzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJikgZmluYWwgeyB9CiAgICAgdm9pZCBz
ZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgZmluYWwgeyB9CiAKLSAgICB2b2lk
IHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAg
dm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Qg
ZmluYWwgeyB9CiAKICAgICB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lJiwgR3Jh
cGhpY3NMYXllciopIGZpbmFsIHsgfQogICAgIHZvaWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGlj
c0xheWVyKEdyYXBoaWNzTGF5ZXIqKSBmaW5hbCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRl
eCBhMGMwOTMwNmY5NjI4YjE2NGE5MjIyZjM3MTBkODdlYTU5ODA0YWMzLi4yZmVlNTI0OWUwNzcx
NGJmZTQ5YmRjYjE5N2YzMDg2NzQxZTA3YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC0x
MzQsOSArMTM0LDkgQEAgdm9pZCBDaHJvbWU6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZy
YW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb25zdAogICAgIG1fY2xpZW50LmNvbnRlbnRzU2l6
ZUNoYW5nZWQoZnJhbWUsIHNpemUpOwogfQogCi12b2lkIENocm9tZTo6c2Nyb2xsUmVjdEludG9W
aWV3KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0Cit2b2lkIENocm9tZTo6c2Nyb2xsUmVjdElu
TWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBtX2Ns
aWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGllbnQuc2Nyb2xsUmVjdElu
TWFpbkZyYW1lSW50b1ZpZXcocmVjdCk7CiB9CiAKIHZvaWQgQ2hyb21lOjpzZXRXaW5kb3dSZWN0
KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IDE1YTQ5
MWI4NGMyMDZkZDhiNTFhZGM2ZWUxZGI2ODg4YjdmNDNlNzguLmVmMjg4NWNiZGU3ODc1N2RjZDRm
NWNkOGFkYjM1MmNmMGFmZWFkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtOTgsNyArOTgsNyBA
QCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBGbG9hdFNpemUgb3ZlcnJpZGVTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Q7Cisg
ICAgdm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29u
c3Q7CiAKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXpl
JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE4OTY4Yzk0NGU0
YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMuLmJlNTY2YTNkYTZmYTgzZjA0NTk0ZjIyZDNh
YWRiZGIwNWMxYTc5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI4LDcg
KzIyOCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVDaGFuZ2Vk
KEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaW50
cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IHsg
fTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4K
KyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50
UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdp
bk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxp
dHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRkZWRPYmplY3Q6
OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
Y3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1MjRhM2JkYzFi
ZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlv
ciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVzZVNtb290aFNj
cm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1l
bnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlv
ciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAgIGlmIChhc3Nv
Y2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zY3JvbGxpbmdF
bGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRlZEVsZW1lbnQt
PmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29jaWF0ZWRFbGVt
ZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09IFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxlbWVudC0+ZG9j
dW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQoKSkpCisg
ICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2NpYXRlZEVsZW1l
bnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3Iu
aAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2QzLi5lZWU4MmUz
MTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3Jv
bGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xsQmVoYXZpb3Ig
OiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQotYm9vbCB1c2VT
bW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50
LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFi
bGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9y
LCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2M2U4Y2JiODIy
YTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2OGU4MWNlMjYx
MDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMjQxLDYg
KzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gOiB1aW50OF90
IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsKICAgICBSZXZl
YWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93IGFuZCBpZnJh
bWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xs
LCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1cmUgdG8gbWFu
dWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZlYWwKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2MWMyNjJmMDVl
MjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjdiNjI0MjEyNzFhZTMwNmQ1N2QyMjlmNGE0
NjQ2MzgxNzUwMmI0YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICBhdXRv
IHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywgb3B0aW9uc10o
RWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9zaXRpb25PcHRp
b25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsK
LSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9s
bEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJl
aGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpKQorICAg
ICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Q
cm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZp
b3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25zLmFuaW1hdGVk
ID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uT3B0
aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGlu
c2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVh
bE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJh
bWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlmIChvcHRpb25z
LnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3Jv
bGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAgICAgICAgICAg
IHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhzbmFwcGVkSW50
UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWlu
aW11bVNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9u
ID0gZnJhbWVWaWV3Lm1heGltdW1TY3JvbGxQb3NpdGlvbigpOwogCkBAIC0yNTE2LDcgKzI1MjEs
NyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJl
Y3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhh
cyBhbiBlZmZlY3Qgb24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAg
ICAgIC8vIHRoYXQgcHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNo
IGFzIE1hYyBPUyBYIE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5j
dGlvbiBpbiBFdmVudEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAg
cGFnZSgpLmNocm9tZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0
ZVJlY3QpKTsKKyAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxSZWN0SW5NYWluRnJh
bWVJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKICAgICAgICAgfQogICAg
IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMGRkY2Zl
ZWUwNjAzZGM5NWFiZDcwM2NmYzk4YTczYzE2MmI1YTNmZS4uMmJiNjJjNWI4MDc1MGNhZmRjYzg3
YWMzODFiNDVlOWJlNGQ0ZTg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKQEAgLTE0MSw3ICsxNDEsNiBAQCBzdHJ1Y3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMg
ewogICAgIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25ZIHsgU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkIH07CiAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGlu
ZyBzaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nIHsgU2hvdWxkQWxsb3dDcm9zc09yaWdp
blNjcm9sbGluZzo6Tm8gfTsKICAgICBTY3JvbGxCZWhhdmlvciBiZWhhdmlvciB7IFNjcm9sbEJl
aGF2aW9yOjpBdXRvIH07Ci0gICAgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJp
ZGVGZWF0dXJlRW5hYmxlbWVudCB7IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZh
dWx0IH07CiB9OwogCiB1c2luZyBTY3JvbGxpbmdTY29wZSA9IHVpbnQ2NF90OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA5
YjAxZjQwMjI3MTUyMTAyZTQ3ZTZjYzI1ZGJkYjI2MWQxNzdiZjliLi4zZDcxMzk2ZWJlM2I3OGMz
ZWYwZmIwNjJmNDZlYzdkMGQ2ZWEwNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNzA3LDYgKzcwNywxNiBAQCBOU0Rp
Y3Rpb25hcnkgKldlYlBhZ2VQcm94eTo6Y29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtKE5TU3Ry
aW5nICp1c2VySW50ZXJmYWNlSQogICAgIHJldHVybiBuaWw7CiB9CiAKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50
IG9yaWdpbikKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0YXJnZXRS
ZWN0LCBvcmlnaW4pOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KEZsb2F0
UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBwcm9jZXNzKCkuc2Vu
ZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbiks
IDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0tf
Q09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgK
aW5kZXggODJlMzgyODAzN2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2MDdh
ODY5OGYyYjJkYzgwYTU1NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAg
IHZvaWQgZ2VzdHVyZUV2ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2
ZW50ICopOwogCiAgICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAg
ICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9p
bnQpOwogCiAgICAgdm9pZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFsSGVp
Z2h0T2ZCYW5uZXJzKSB7IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9mQmFu
bmVyczsgfQogICAgIENHRmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJldHVy
biBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYzODdm
YzY0ZGE2Y2MuLmQzYzIwNDFlNTUyMjQ5NGYzOTRiZWQ4NzEzYzVjNWFmNmM0Njg5NmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTUxLDYg
KzI1NTEsMTEgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFzU2Nyb2xsZWRDb250ZW50c1VuZGVyVGl0
bGViYXIoKQogICAgIHJldHVybiBtX2lzUmVnaXN0ZXJlZFNjcm9sbFZpZXdTZXBhcmF0b3JUcmFj
a2luZ0FkYXB0ZXIgJiYgIW1fcGFnZUlzU2Nyb2xsZWRUb1RvcDsKIH0KIAordm9pZCBXZWJWaWV3
SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3BhZ2UtPnNjcm9sbFRvUmVjdCh0YXJnZXRS
ZWN0LCBvcmlnaW4pOworfQorCiB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUaXRsZWJhckFkamFj
ZW5jeVN0YXRlKCkKIHsKICAgICBOU1dpbmRvdyAqd2luZG93ID0gW21fdmlldyB3aW5kb3ddOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDA4Y2MyODkwMzk5MjRkMzM3NDg5
MzY4ZjM2YzUwNWNjNjg4OTY3NDUuLjk3OThhZDA3ZDljYTM2NzA4Y2UxMjczMGM4NDM4YzJjZjhh
Yzk2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTYxMiw2ICs2MTIs
NyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIHZpcnR1YWwgdm9p
ZCBzdG9yZUFwcEhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQmKSA9IDA7CiAj
ZW5kaWYKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9h
dFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pID0gMDsKIAogI2lm
IFBMQVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1
cmVSZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZDFhNWZjMzhlYTdjOTVmZWE2MzRkODVjZDliZDE3MGRh
NjViMTlmOC4uYjQyNmZlNjc5MWFhMmY3ZmYxYjJiZWQ4YzdhZWJmMWU0ODUwMWYzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTkwNyw3ICs5MDcsMTAgQEAgcHVi
bGljOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgd2luZG93QW5kVmlld0ZyYW1lc0No
YW5nZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aWV3RnJhbWVJbldpbmRvd0Nvb3JkaW5h
dGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBhY2Nlc3NpYmlsaXR5Vmlld0Nvb3JkaW5h
dGVzKTsKICAgICB2b2lkIHNldE1haW5GcmFtZUlzU2Nyb2xsYWJsZShib29sKTsKLQorICAgICAg
ICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdl
dFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKKyAgICB2b2lkIHNjcm9sbFRvUmVj
dChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4pOworICAgICAgICAKICAgICB2b2lkIHNlbmRDb21wbGV4VGV4dElucHV0VG9QbHVnaW4odWlu
dDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdGV4
dElucHV0KTsKICAgICBib29sIHNob3VsZERlbGF5V2luZG93T3JkZXJpbmdGb3JFdmVudChjb25z
dCBXZWJNb3VzZUV2ZW50Jik7CiAgICAgYm9vbCBhY2NlcHRzRmlyc3RNb3VzZShpbnQgZXZlbnRO
dW1iZXIsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkYjViNTZlZjIzNTIwOWVhMTczOTQ2
OWE5MTE2MTQwZTI5NzZkOTZlLi4wMmQ4ZmQ5ZmIyMjA2YzgzMzFiNWNkMGQ4NmQ2MTZjMGM4OTk3
ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC01MTAsNiArNTEwLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNl
bmRpZgogCiAgICAgRGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAKKyAgICBSZXF1ZXN0
U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbikKIAogICAgIEdldExvYWREZWNpc2lvbkZvckljb24oc3RydWN0IFdlYkNv
cmU6OkxpbmtJY29uIGljb24sIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDQ2
MjBlNzVkMGE1NTY1NmU4MjIzYmM3MDZkMzI1YmIwODcxMGUwODQuLmQwMDU0NjM5ODdkMTBjNTc3
MDRmZjI0ZGMxZGE5MTE1ZDU2MDI0MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0yMTQsNyArMjE0LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxWaWV3RGlkU2Nyb2xsKCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsV2lsbFN0YXJ0U2Nyb2xsKCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsRGlkRW5kU2Nyb2xsKCkgb3ZlcnJpZGU7Ci0KKyAgICAg
ICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJn
ZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAgICAgLy8gQXV4
aWxpYXJ5IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBX
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50JiBmdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xp
ZW50KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW0KaW5kZXggZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIzMTg1NzQ4ZDhjNzYx
N2VjMy4uNzMwNGQ3ZmI4NDY3NDYxOWNjOGE2ZGE4ZjQ4N2FjMGJlODQyODgyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTAy
Myw2ICsxMDIzLDExIEBAIFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmll
d0JhY2tncm91bmRDb2xvcigpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IGJhY2tncm91bmRD
b2xvcl0uQ0dDb2xvcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRv
UmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgW21f
Y29udGVudFZpZXcgX3Njcm9sbFRvUmVjdDp0YXJnZXRSZWN0IHdpdGhPcmlnaW46b3JpZ2luIG1p
bmltdW1TY3JvbGxEaXN0YW5jZTowXTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNl
bmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCA2YzVjNGUzOWM2MTQ4M2RhZTkwZTY5MmNj
Nzg2NjlkYWI3NDllNWRhLi5lN2RjNWFjOWM1ZDQyYmUxYTVhMjlkNzczMDQxOWM0MDdhOWJjMzI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxN
YWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMu
aApAQCAtMjkwLDYgKzI5MCw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9O
KQogICAgIHZvaWQgaGFuZGxlQ2xpY2tGb3JEYXRhRGV0ZWN0aW9uUmVzdWx0KGNvbnN0IFdlYkNv
cmU6OkRhdGFEZXRlY3RvckVsZW1lbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBm
aW5hbDsKICNlbmRpZgorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2Vi
Q29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSBv
dmVycmlkZTsKIAogICAgIE5TVmlldyAqbV92aWV3OwogICAgIFdlYWtQdHI8V2ViVmlld0ltcGw+
IG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bE1hYy5tbQppbmRleCA4Yjc0YjQ1NDVkODk3YTk5OTI5NGY4MTVjN2MxZjY3YjM4ZmQzYzJjLi43
ZjgyMWQzMmU3YzZhM2Q5OGU2NWJmYTBmNTg0ODJiY2ZlNzA2Y2YzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBAIC05NzIsNiArOTcy
LDEyIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCiAg
ICAgbV9pbXBsLT5kaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKIH0KIAordm9pZCBQYWdlQ2xp
ZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVj
dCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgLy8gRklYTUU6IEFkZCBhZGRp
dGlvbmFsIGxvZ2ljIHRvIGF2b2lkIE5vdGUgUGlwLgorICAgIG1faW1wbC0+c2Nyb2xsVG9SZWN0
KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisKIGJvb2wgUGFnZUNsaWVudEltcGw6OndpbmRvd0lz
RnJvbnRXaW5kb3dVbmRlck1vdXNlKGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50KQog
ewogICAgIHJldHVybiBtX2ltcGwtPndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGV2ZW50
Lm5hdGl2ZUV2ZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA4OWYwNWQ1Y2M3MDY0
YWNlZTQ1Y2YwOWE1MzAxNDNiNWUzYTJmZTFkLi4zMjQyYjVlODc2OTFhNGMwMWRjNGM1N2I3OWJk
ZjlmZDQ4NGE1ZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAog
I2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHkuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5LmgiCisjaW5jbHVkZSAiU21hcnRN
YWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIK
ICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRD
b2RlcnMuaCIKQEAgLTY1NSw5ICs2NTYsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVu
dHNTaXplQ2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbgogICAg
IH0KIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJ
bnRSZWN0JikgY29uc3QKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW5NYWluRnJh
bWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAogewotICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFNj
cm9sbFRvUmVjdChyZWN0LCByZWN0LmNlbnRlcigpKSk7CiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xp
ZW50OjpzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRl
ZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlS
ZWFzb24pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZWI1YzllODg4NzA5NmQ3OTYxYjBk
YmUzNTAzZjliODQ2MjZhZjczMy4uMTcwZGQzNzlkNmQwYTEwYjczYjY3ZmE4N2Y4OGQ1MTQ1NmJi
ZjkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHByaXZhdGU6CiAg
ICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwog
ICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6
ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQg
c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsg
Ly8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAg
ICB2b2lkIHNjcm9sbFJlY3RJbk1haW5GcmFtZUludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KIAogICAgIGJvb2wgc2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNzYWdl
QmVCdXR0b24oV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmls
aXR5UmVhc29uKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9u
Q2xpY2tlZChXZWJDb3JlOjpFbGVtZW50JiwgV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6
OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGU3YzJmN2YyOTYwYzczOWQwZjAwMTQ3YTM5ZGMxMzU5
NWNkYjE5YWUuLjBlMmM2ZTJhYjY0OGM2ZDU5MmFhODMxYTIwOWRmMmRmN2VjZmM1ZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNTQ0LDYgKzU0NCwxMCBAQCBwcml2
YXRlOgogICAgIHZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgogICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3Jt
SW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycyYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNjM3MTUzNTAy
ZmQ5NDRjYzlmYzY2YWEyYTYwYWE4MmU3ZTQxNTViNS4uMTQ2ZDEzNzU0YTBkZDBiOTJmZjA3NmNh
YTQ0OGY4MjdhY2Y5NGYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KQEAgLTIwMyw2ICsyMDMsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJv
Y2VzcyBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3VudGVkIHsKICAgICBBY2Nlc3NpYmlsaXR5UHJl
ZmVyZW5jZXNEaWRDaGFuZ2Uoc3RydWN0IFdlYktpdDo6QWNjZXNzaWJpbGl0eVByZWZlcmVuY2Vz
IGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcykKICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgU2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikKKyNlbmRpZgorCiAjaWYgSEFWRShNRURJQV9BQ0NFU1NJQklM
SVRZX0ZSQU1FV09SSykKICAgICBTZXRNZWRpYUFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyhXZWJD
b3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgZGlzcGxheU1v
ZGUsIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlcykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggYTY2NzIxMDRhMmEx
MzRkMDMwOTVjMjI2ZDU4Mzc1OTRkZDdlMzBjZi4uZDkzNjcxOTFkNzJjNGIzYTNlNDZlNzliODM3
MzgxYTM4N2U5ZDhhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNDE3LDYgKzE0MTcsMTMgQEAgdm9pZCBXZWJQcm9jZXNz
Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGEKICAgICAgICAgV0VCUFJPQ0VTU19SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAi
Q291bGQgbm90IGFwcGx5IEF1ZGlvQ29tcG9uZW50IHJlZ2lzdHJhdGlvbnMsIGVyciglbGQpIiwg
c3RhdGljX2Nhc3Q8bG9uZz4oZXJyKSk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6c2Nyb2xsVG9S
ZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9y
aWdpbikKK3sKKyAgICBXZWJQYWdlKiBwYWdlID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZm9j
dXNlZFdlYlBhZ2UoKTsKKyAgICBpZiAocGFnZSkKKyAgICAgICAgcGFnZS0+bWFpbkZyYW1lVmll
dygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVy
KCkpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19T
RVNTSU9OX0lECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDQ0ZjQwNGZkZjViODkyNDI5MjI1MzRiODFh
YjM3MjJjMTExNzFiMWUuLjc1N2I5ZTZlZTExZTlmMDUwODg2MzY1YmZjZmUxNzE0NDk1NTM4OTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJpdmF0ZToKICAgICBQbGF0
Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3QgZmluYWw7CiAgICAgdm9p
ZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZyYW1lJiwgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdl
ZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWwgeyB9Ci0gICAgdm9pZCBzY3Jv
bGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAg
IHZvaWQgc2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBzZXRTdGF0dXNiYXJUZXh0KGNvbnN0IFN0cmlu
ZyYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYjZjMTkwOTFiZmZhMzg5NjI5
OTQ4YmEwNWQ3N2RjMjRhNDJlZjlmZi4uMTFhMzJkMjViNzgxMTNiNzBkZTc2ZjhhYjQ2YjEzYzQz
ZTk4ODAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNjA2LDcgKzYwNiw3IEBAIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50U2l6ZSYp
IGNvbnN0CiB7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1ZpZXco
Y29uc3QgSW50UmVjdCYgcikgY29uc3QKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0
SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JiByKSBjb25zdAogewogICAgIC8vIEZJ
WE1FOiBUaGlzIHNjcm9sbGluZyBiZWhhdmlvciBzaG91bGQgYmUgdW5kZXIgdGhlIGNvbnRyb2wg
b2YgdGhlIGVtYmVkZGluZyBjbGllbnQsCiAgICAgLy8gcGVyaGFwcyBpbiBhIGRlbGVnYXRlIG1l
dGhvZCwgcmF0aGVyIHRoYW4gc29tZXRoaW5nIFdlYktpdCBkb2VzIHVuY29uZGl0aW9uYWxseS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433473</attachid>
            <date>2021-07-13 20:30:41 -0700</date>
            <delta_ts>2021-07-13 21:16:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713203041.patch</filename>
            <type>text/plain</type>
            <size>35935</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uNGI2YzQ1YjFhYTA3MTY2ZWMzODk0MWU3NTMwNDgw
YzU0MzU3NWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBwaXAgdGhh
dCBjYW4gcG90ZW50aWFsbHkgb2JzY3VyZSB0aGUgd2ViIHZpZXcsCisgICAgICAgIHdlIG5lZWQg
dG8gcGlwZSB0aGUgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2gg
ZG9lcyB0aGF0IHdvcmsKKyAgICAgICAgYW5kIHdpbGwgYmUgZm9sbG93ZWQgdXAgc2hvcnRseSBi
eSBvbmUgdGhhdCBkb2VzIHRoZSBhY3R1YWwgd29yayBvZiBwaXAgYXZvaWRhbmNlLgorICAgICAg
ICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhh
dCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRo
ZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGgg
dGhlIHBpcCAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3JvbGwpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlbXBvcmFyeVNlbGVj
dGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgor
ICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVTZWxlY3Rpb246Om1vdmVXaXRob3V0VmFsaWRhdGlvblRvKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6CisKIDIwMjEtMDctMDkgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVzaXplT2JzZXJ2ZXIgLyBJbnRlcnNlY3Rp
b25PYnNlcnZlciBtZW1vcnkgbGVhayBvbiBkZXRhY2hlZCAmIG91dCBvZiByZWZlcmVuY2UgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZGFmOTk2YThhMWY4NjliZTA5MDIwOWM3N2Q5OGU5MmU2ZWU1NzYx
Yy4uZTZjYWNhMjFjZTViZGY5ZGY2NGRiZmY0NWVlNDY3YjJkMGE3YjIzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzOSBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3Vn
aCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBj
b3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgcGlwIHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUg
dGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJv
dWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFu
ZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFs
IHdvcmsgb2YgcGlwIGF2b2lkYW5jZS4KKyAgICAgICAgRm9yIGlPUywgdGhpcyBqdXN0IHVzZXMg
dGhlIG1haW4gZnJhbWUgVUkgU2Nyb2xsaW5nIHRoYXQgd2UgYWxyZWFkeSB1c2UsIGJ1dCBmb3Ig
CisgICAgICAgIG1hYywgd2UgbmVlZCB0byBkbyB0aGUgbGFzdCBzY3JvbGwgaW4gdGhlIHdlYiBw
cm9jZXNzIGFmdGVyIGFkanVzdGluZyBpdCB3aXRoIHRoZSBwaXAgCisgICAgICAgIGluZm9ybWF0
aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVj
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5ICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxsb3cgdGhlIFVJUHJv
Y2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3Jh
Z2UuY3BwCmluZGV4IDc4MGZjNTE2ZGZlNTY5MDUwNjA2NmQyYWE5MmYzZDgzZTA1NWFlNzEuLjY2
ZWVlMjczZTg3M2Y4MmQ4Mzg0ZjMwN2JmMzhhMGU4MTM2OTE2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
CkBAIC0yNzEsNyArMjcxLDcgQEAgYm9vbCBBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9S
ZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKEFwcEhpZ2hsaWdodFJhbmdlRGEKICAgICAgICAgaWYg
KHRleHRJbmRpY2F0b3IpCiAgICAgICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgp
LmNsaWVudCgpLnNldFRleHRJbmRpY2F0b3IodGV4dEluZGljYXRvci0+ZGF0YSgpKTsKICAgICAg
ICAgCi0gICAgICAgIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZSBzZWxlY3Rpb25DaGFuZ2UoKnN0
cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVlKCkgfSwgeyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRp
b246OlJldmVhbFNlbGVjdGlvbiwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3Jv
bGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6T3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJl
RW5hYmxtZW50IH0pOworICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9u
Q2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2Vs
ZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0aW9u
T3B0aW9uOjpTbW9vdGhTY3JvbGwgfSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKaW5kZXggNGJmZGJiY2E3ZDRlZmU5MTNkMTA0OThiZjRkYzg5NmUyMjY3
NzRkNS4uYzMwYzNkMmM0NTkzYjRjNTNlNDJkYjZlYTk2M2Y4ZTc1M2UxMWVjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcApAQCAtOTM3LDggKzkzNyw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsSW50
b1ZpZXcoc3RkOjpvcHRpb25hbDxWYXJpYW50PGJvb2wsIFNjcm9sbEludG9WaWV3T3B0aW9ucz4+
CiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWCA6IGFsaWduWSwKICAgICAgICAgaXNIb3Jp
em9udGFsID8gYWxpZ25ZIDogYWxpZ25YLAogICAgICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2lu
U2Nyb2xsaW5nOjpObywKLSAgICAgICAgb3B0aW9ucy5iZWhhdmlvci52YWx1ZV9vcihTY3JvbGxC
ZWhhdmlvcjo6QXV0byksCi0gICAgICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpE
ZWZhdWx0CisgICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6
OkF1dG8pCiAgICAgfTsKICAgICByZW5kZXJlcigpLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29s
dXRlQm91bmRzLCBpbnNpZGVGaXhlZCwgdmlzaWJsZU9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3YTE0YzJjODQ5MmM3N2ZiYjk3ODEzZmQwY2RlNGFj
YjQuLmMzYjE5MjVlNjdjZDNjN2FiMzMyNjUxNzVlMmU0OThmMWZkNWVlNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI2NSwxMCArMjY1LDEwIEBAIHZvaWQgVGVtcG9yYXJ5U2Vs
ZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0
aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6RG9Ob3RTZXRGb2N1cyk7
CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6UmV2ZWFsU2Vs
ZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6UmV2ZWFsU2VsZWN0
aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246
OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKICAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5
U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwpCiAgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1l
U2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwotICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCkKLSAg
ICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQpOwogICAgIG1fZG9jdW1lbnQtPnNlbGVjdGlvbigpLnNldFNlbGVjdGlv
bihzZWxlY3Rpb24sIG9wdGlvbnMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCBi
OWQ3MzBiNjdkZjlmZmUzYTk3ZWI4ZGM1Y2FhMzNhMDk1NDYzMzFhLi5mZDU5YmZmYWU3MmQ1ZmFm
OTI0NzIzZWY0NzliMjg1NjA2MDM4OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTEy
MSw3ICsxMjEsNyBAQCBlbnVtIGNsYXNzIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbiA6IHVpbnQ4
X3QgewogICAgIAogICAgIFNtb290aFNjcm9sbCA9IDEgPDwgNCwKICAgICAKLSAgICBPdmVycmlk
ZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQgPSAxIDw8IDUsCisgICAgRGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgPSAxIDw8IDUsCiB9OwogCiBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25DaGFu
Z2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBmY2Q4
MGQxY2JjYTc4YjBhZTQ0MTcyYTM4OWRhN2YzZjNmNTQwNWNkLi4xY2EzYmZiYzkyMWM0NTc5Njg0
YjEwMzUwMmU0YzUzMzJjMjkxMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcApAQCAtMjMyLDYgKzIzMiw5IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om1vdmVX
aXRob3V0VmFsaWRhdGlvblRvKGNvbnN0IFBvc2l0aW9uJiBiYXNlLCBjb25zdCBQb3NpdGlvCiAg
ICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lOgogICAgICAg
ICBvcHRpb25zLmFkZChSZXZlYWxTZWxlY3Rpb25VcFRvTWFpbkZyYW1lKTsKICAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9s
bDoKKyAgICAgICAgb3B0aW9ucy5hZGQoRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpOworICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbiwgb3B0aW9ucywg
bmV3SW50ZW50KTsKIH0KQEAgLTQzMiw2ICs0MzUsOCBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpz
ZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uLCBPcHRpb25TZXQ8
UwogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpS
ZXZlYWxVcFRvTWFpbkZyYW1lOwogICAgIGVsc2UgaWYgKG9wdGlvbnMgJiBSZXZlYWxTZWxlY3Rp
b24pCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6
OlJldmVhbDsKKyAgICBlbHNlIGlmIChvcHRpb25zICYgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwp
CisgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRl
bGVnYXRlTWFpbkZyYW1lU2Nyb2xsOwogICAgIGVsc2UKICAgICAgICAgbV9zZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWw7CiAgICAgbV9hbHdheXNB
bGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9IGFsaWduID09IEFsaWdu
Q3Vyc29yT25TY3JvbGxBbHdheXM7CkBAIC00NDYsNyArNDUxLDcgQEAgdm9pZCBGcmFtZVNlbGVj
dGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0
aW9uU2V0PFMKICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgp
LmlzTGF5b3V0UGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oaW50ZW50LCBvcHRpb25zLmNvbnRhaW5zKFNtb290aFNjcm9sbCkgPyBTY3Jv
bGxCZWhhdmlvcjo6U21vb3RoIDogU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQsIG9wdGlvbnMuY29u
dGFpbnMoT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCkgPyBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUgOiBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCk7CisgICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0
aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNj
cm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKIAogICAgIGlmIChvcHRpb25zICYgSXNVc2VyVHJpZ2dl
cmVkKSB7CiAgICAgICAgIGlmIChhdXRvKiBjbGllbnQgPSBwcm90ZWN0ZWREb2N1bWVudC0+ZWRp
dG9yKCkuY2xpZW50KCkpCkBAIC00NzMsNyArNDc4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6
c2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoUmV2ZWFsU2VsZWN0aW9uQWZ0ZXJVcGRhdGUgcmV2ZWFs
TW8KICAgICAgICAgdmlldy0+c2VsZWN0aW9uKCkuY2xlYXIoKTsKIH0KIAotdm9pZCBGcmFtZVNl
bGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdl
SW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yLCBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFu
Z2VJbnRlbnQmIGludGVudCwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAg
aWYgKCFtX3BlbmRpbmdTZWxlY3Rpb25VcGRhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5MCw3
ICs0OTUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24o
Y29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludAogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxXaGVuUmV2ZWFsaW5n
U2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFsaWdu
bWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKIAotICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9z
ZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZp
b3IsIG92ZXJpZGVGZWF0dXJlRW5hYmxlbWVudCk7CisgICAgICAgIHJldmVhbFNlbGVjdGlvbiht
X3NlbGVjdGlvblJldmVhbE1vZGUsIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50LCBzY3JvbGxCZWhh
dmlvcik7CiAgICAgfQogCiAgICAgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5n
ZShpbnRlbnQpOwpAQCAtMjM5MCw3ICsyMzk1LDcgQEAgSFRNTEZvcm1FbGVtZW50KiBGcmFtZVNl
bGVjdGlvbjo6Y3VycmVudEZvcm0oKSBjb25zdAogICAgIHJldHVybiBzY2FuRm9yRm9ybShzdGFy
dCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50LCBS
ZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBzY3Jv
bGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJl
RW5hYmxlbWVudCkKK3ZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rp
b25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50
LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBz
Y3JvbGxCZWhhdmlvcikKIHsKICAgICBpZiAocmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxN
b2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjQxMyw3ICsyNDE4LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUg
cmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgICAgIGlmICghbV9zY3JvbGxpbmdTdXBw
cmVzc0NvdW50KSB7CiAgICAgICAgICAgICAgICAgYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBsYXll
ci0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFi
bGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAgICAg
ICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KTsKKyAgICAgICAgICAgICAgICBsYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNp
ZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pOwogICAgICAgICAgICAg
ICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcoZmFs
c2UpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICAgICAgICAgICAgICAg
ICBpZiAobV9kb2N1bWVudC0+cGFnZSgpKQpAQCAtMjQyNCw3ICsyNDI5LDcgQEAgdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgcmV2ZWFsTW9k
ZSwgY29uc3QgU2Nyb2wKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBvbmx5IGhhbmRsZXMg
c2Nyb2xsaW5nIHRoZSBzdGFydENvbnRhaW5lcidzIGxheWVyLCBidXQKICAgICAgICAgLy8gdGhl
IHNlbGVjdGlvbiByZWN0IGNvdWxkIGludGVyc2VjdCBtb3JlIHRoYW4ganVzdCB0aGF0LgogICAg
ICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzQ3OTk4OTk+LgotICAgICAgICBpZiAoc3RhcnQu
ZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBp
bnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvciwgb3ZlcnJpZGVGZWF0
dXJlRW5hYmxlbWVudH0pKQorICAgICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVu
ZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxN
b2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGlu
Zzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pKQogICAgICAgICAgICAgdXBkYXRlQXBwZWFyYW5jZSgp
OwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmlu
ZGV4IDkzYTU5ZDU4NjQyNGIyN2Y2YThhODc3MGE0YmZkNTMyMjEyNjI0NjkuLjdlMWQ4OTQ5ZDA3
MTc5NTAxMzcyOTc1OTNkOTE5OWY0N2JlNDk1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJldmVh
bFNlbGVjdGlvbiA9IDEgPDwgNywKICAgICAgICAgUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFt
ZSA9IDEgPDwgOCwKICAgICAgICAgU21vb3RoU2Nyb2xsID0gMSA8PCA5LAotICAgICAgICBPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gMSA8PCAxMAorICAgICAgICBEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCA9IDEgPDwgMTAKICAgICB9OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlv
bnMoRVVzZXJUcmlnZ2VyZWQgPSBOb3RVc2VyVHJpZ2dlcmVkKTsKIApAQCAtMjQ4LDcgKzI0OCw3
IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEhUTUxGb3JtRWxlbWVudCogY3VycmVu
dEZvcm0oKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmV2ZWFsU2VsZWN0aW9u
KFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIGNvbnN0
IFNjcm9sbEFsaWdubWVudCYgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQs
IFJldmVhbEV4dGVudE9wdGlvbiA9IERvTm90UmV2ZWFsRXh0ZW50LCBTY3JvbGxCZWhhdmlvciA9
IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9u
UmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25t
ZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVh
bEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZWxlY3Rpb25Gcm9tTm9uZSgpOwogCiAgICAgYm9vbCBz
aG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dCbG9ja0N1
cnNvcjsgfQpAQCAtMjYzLDcgKzI2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUZyb21B
c3NvY2lhdGVkTGl2ZVJhbmdlKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhhdmlv
ciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVu
dCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpPdmVycmlkZSk7CisgICAgdm9pZCB1
cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBT
Y3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKICAgICB2b2lkIHVwZGF0
ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAogICAgIGJvb2wgc2V0U2VsZWN0aW9uV2l0
aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgT3B0aW9uU2V0
PFNldFNlbGVjdGlvbk9wdGlvbj4sIEN1cnNvckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxhcml0
eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggZjMwOWM0OTc1YmQ1YmMw
OTVjODUyMjRhMjMyZTU3YTlmYjc4NDUwNi4uZWRmZjY2ZDlmMTE3YTdiNGUxNGVkODg1ZWY3YTEw
YTg5MDdmMmJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMTYzLDcg
KzE2Myw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7
CiAgICAgdm9pZCBzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJikgZmluYWwgeyB9CiAgICAgdm9pZCBz
ZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgZmluYWwgeyB9CiAKLSAgICB2b2lk
IHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAg
dm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Qg
ZmluYWwgeyB9CiAKICAgICB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lJiwgR3Jh
cGhpY3NMYXllciopIGZpbmFsIHsgfQogICAgIHZvaWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGlj
c0xheWVyKEdyYXBoaWNzTGF5ZXIqKSBmaW5hbCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRl
eCBhMGMwOTMwNmY5NjI4YjE2NGE5MjIyZjM3MTBkODdlYTU5ODA0YWMzLi4yZmVlNTI0OWUwNzcx
NGJmZTQ5YmRjYjE5N2YzMDg2NzQxZTA3YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC0x
MzQsOSArMTM0LDkgQEAgdm9pZCBDaHJvbWU6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZy
YW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb25zdAogICAgIG1fY2xpZW50LmNvbnRlbnRzU2l6
ZUNoYW5nZWQoZnJhbWUsIHNpemUpOwogfQogCi12b2lkIENocm9tZTo6c2Nyb2xsUmVjdEludG9W
aWV3KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0Cit2b2lkIENocm9tZTo6c2Nyb2xsUmVjdElu
TWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBtX2Ns
aWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGllbnQuc2Nyb2xsUmVjdElu
TWFpbkZyYW1lSW50b1ZpZXcocmVjdCk7CiB9CiAKIHZvaWQgQ2hyb21lOjpzZXRXaW5kb3dSZWN0
KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IDE1YTQ5
MWI4NGMyMDZkZDhiNTFhZGM2ZWUxZGI2ODg4YjdmNDNlNzguLmVmMjg4NWNiZGU3ODc1N2RjZDRm
NWNkOGFkYjM1MmNmMGFmZWFkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtOTgsNyArOTgsNyBA
QCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBGbG9hdFNpemUgb3ZlcnJpZGVTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Q7Cisg
ICAgdm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29u
c3Q7CiAKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXpl
JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE4OTY4Yzk0NGU0
YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMuLmJlNTY2YTNkYTZmYTgzZjA0NTk0ZjIyZDNh
YWRiZGIwNWMxYTc5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI4LDcg
KzIyOCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVDaGFuZ2Vk
KEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaW50
cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IHsg
fTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4K
KyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50
UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdp
bk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxp
dHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRkZWRPYmplY3Q6
OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
Y3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1MjRhM2JkYzFi
ZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlv
ciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVzZVNtb290aFNj
cm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1l
bnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlv
ciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAgIGlmIChhc3Nv
Y2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zY3JvbGxpbmdF
bGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRlZEVsZW1lbnQt
PmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29jaWF0ZWRFbGVt
ZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09IFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxlbWVudC0+ZG9j
dW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQoKSkpCisg
ICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2NpYXRlZEVsZW1l
bnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3Iu
aAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2QzLi5lZWU4MmUz
MTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3Jv
bGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xsQmVoYXZpb3Ig
OiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQotYm9vbCB1c2VT
bW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50
LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFi
bGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9y
LCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2M2U4Y2JiODIy
YTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2OGU4MWNlMjYx
MDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMjQxLDYg
KzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gOiB1aW50OF90
IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsKICAgICBSZXZl
YWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93IGFuZCBpZnJh
bWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xs
LCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1cmUgdG8gbWFu
dWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZlYWwKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2MWMyNjJmMDVl
MjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjdiNjI0MjEyNzFhZTMwNmQ1N2QyMjlmNGE0
NjQ2MzgxNzUwMmI0YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICBhdXRv
IHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywgb3B0aW9uc10o
RWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9zaXRpb25PcHRp
b25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsK
LSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9s
bEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJl
aGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpKQorICAg
ICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Q
cm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZp
b3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25zLmFuaW1hdGVk
ID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uT3B0
aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGlu
c2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVh
bE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJh
bWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlmIChvcHRpb25z
LnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3Jv
bGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAgICAgICAgICAg
IHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhzbmFwcGVkSW50
UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWlu
aW11bVNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9u
ID0gZnJhbWVWaWV3Lm1heGltdW1TY3JvbGxQb3NpdGlvbigpOwogCkBAIC0yNTE2LDcgKzI1MjEs
NyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJl
Y3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhh
cyBhbiBlZmZlY3Qgb24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAg
ICAgIC8vIHRoYXQgcHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNo
IGFzIE1hYyBPUyBYIE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5j
dGlvbiBpbiBFdmVudEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAg
cGFnZSgpLmNocm9tZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0
ZVJlY3QpKTsKKyAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxSZWN0SW5NYWluRnJh
bWVJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKICAgICAgICAgfQogICAg
IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMGRkY2Zl
ZWUwNjAzZGM5NWFiZDcwM2NmYzk4YTczYzE2MmI1YTNmZS4uMmJiNjJjNWI4MDc1MGNhZmRjYzg3
YWMzODFiNDVlOWJlNGQ0ZTg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKQEAgLTE0MSw3ICsxNDEsNiBAQCBzdHJ1Y3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMg
ewogICAgIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25ZIHsgU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkIH07CiAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGlu
ZyBzaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nIHsgU2hvdWxkQWxsb3dDcm9zc09yaWdp
blNjcm9sbGluZzo6Tm8gfTsKICAgICBTY3JvbGxCZWhhdmlvciBiZWhhdmlvciB7IFNjcm9sbEJl
aGF2aW9yOjpBdXRvIH07Ci0gICAgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJp
ZGVGZWF0dXJlRW5hYmxlbWVudCB7IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZh
dWx0IH07CiB9OwogCiB1c2luZyBTY3JvbGxpbmdTY29wZSA9IHVpbnQ2NF90OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA5
YjAxZjQwMjI3MTUyMTAyZTQ3ZTZjYzI1ZGJkYjI2MWQxNzdiZjliLi4zZDcxMzk2ZWJlM2I3OGMz
ZWYwZmIwNjJmNDZlYzdkMGQ2ZWEwNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNzA3LDYgKzcwNywxNiBAQCBOU0Rp
Y3Rpb25hcnkgKldlYlBhZ2VQcm94eTo6Y29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtKE5TU3Ry
aW5nICp1c2VySW50ZXJmYWNlSQogICAgIHJldHVybiBuaWw7CiB9CiAKK3ZvaWQgV2ViUGFnZVBy
b3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50
IG9yaWdpbikKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0YXJnZXRS
ZWN0LCBvcmlnaW4pOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KEZsb2F0
UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBwcm9jZXNzKCkuc2Vu
ZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbiks
IDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0tf
Q09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgK
aW5kZXggODJlMzgyODAzN2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2MDdh
ODY5OGYyYjJkYzgwYTU1NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAg
IHZvaWQgZ2VzdHVyZUV2ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2
ZW50ICopOwogCiAgICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAg
ICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9p
bnQpOwogCiAgICAgdm9pZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFsSGVp
Z2h0T2ZCYW5uZXJzKSB7IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9mQmFu
bmVyczsgfQogICAgIENHRmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJldHVy
biBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYzODdm
YzY0ZGE2Y2MuLjZkZGJjZTIwM2I3MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcwLDYg
KzI1NzAsMTEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lTdGF0
ZSgpCiAKICNlbmRpZiAvLyBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdfQURB
UFRFUikKIAordm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVj
dCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3BhZ2Ut
PnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZpZXdJ
bXBsOjpoaXRUZXN0KENHUG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0gW21f
dmlldyBfd2ViX3N1cGVySGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2OGYz
NmM1MDVjYzY4ODk2NzQ1Li45Nzk4YWQwN2Q5Y2EzNjcwOGNlMTI3MzBjODQzOGMyY2Y4YWM5NmI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQgc3Rv
cmVBcHBIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2VuZGlm
CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0
IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSA9IDA7CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JHZXN0dXJlUmVj
b2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IGQxYTVmYzM4ZWE3Yzk1ZmVhNjM0ZDg1Y2Q5YmQxNzBkYTY1YjE5
ZjguLmI0MjZmZTY3OTFhYTJmN2ZmMWIyYmVkOGM3YWViZjFlNDg1MDFmMzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC05MDcsNyArOTA3LDEwIEBAIHB1YmxpYzoK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2Vk
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcywg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgYWNjZXNzaWJpbGl0eVZpZXdDb29yZGluYXRlcyk7
CiAgICAgdm9pZCBzZXRNYWluRnJhbWVJc1Njcm9sbGFibGUoYm9vbCk7Ci0KKyAgICAgICAgCisg
ICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0
LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2Vi
Q29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsK
KyAgICAgICAgCiAgICAgdm9pZCBzZW5kQ29tcGxleFRleHRJbnB1dFRvUGx1Z2luKHVpbnQ2NF90
IHBsdWdpbkNvbXBsZXhUZXh0SW5wdXRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHRleHRJbnB1
dCk7CiAgICAgYm9vbCBzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRm9yRXZlbnQoY29uc3QgV2Vi
TW91c2VFdmVudCYpOwogICAgIGJvb2wgYWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVy
LCBjb25zdCBXZWJNb3VzZUV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGI1YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTEx
NjE0MGUyOTc2ZDk2ZS4uNjUyNDkzZGY0Mjk1ZjcwMzg1NzUzZjZjMDZjMjc5Y2E3ZTM0ZTljYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgpAQCAtNTEwLDYgKzUxMCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlm
CiAKICAgICBEaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQorICAgIAorI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgIFJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJl
Y3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQorI2VuZGlmCiAKICAgICBHZXRMb2FkRGVj
aXNpb25Gb3JJY29uKHN0cnVjdCBXZWJDb3JlOjpMaW5rSWNvbiBpY29uLCBXZWJLaXQ6OkNhbGxi
YWNrSUQgY2FsbGJhY2tJRCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaAppbmRleCA0NjIwZTc1ZDBhNTU2NTZlODIyM2JjNzA2ZDMyNWJiMDg3
MTBlMDg0Li5kMDA1NDYzOTg3ZDEwYzU3NzA0ZmYyNGRjMWRhOTExNWQ1NjAyNDBhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjE0
LDcgKzIxNCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0Rp
ZFNjcm9sbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFdpbGxTdGFy
dFNjcm9sbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbERpZEVuZFNj
cm9sbCgpIG92ZXJyaWRlOwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVj
dChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4pIG92ZXJyaWRlOwogICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFC
TEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYg
ZnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4MWZl
M2E1MTRmN2Q4NzJiMzE4NTc0OGQ4Yzc2MTdlYzMuLjczMDRkN2ZiODQ2NzQ2MTljYzhhNmRhOGY0
ODdhYzBiZTg0Mjg4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KQEAgLTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xvciBQ
YWdlQ2xpZW50SW1wbDo6Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBb
bV9jb250ZW50VmlldyBiYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFnZUNs
aWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdldFJlY3QsIEZsb2F0
UG9pbnQgb3JpZ2luKQoreworICAgIFttX2NvbnRlbnRWaWV3IF9zY3JvbGxUb1JlY3Q6dGFyZ2V0
UmVjdCB3aXRoT3JpZ2luOm9yaWdpbiBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6MF07Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXgg
NmM1YzRlMzljNjE0ODNkYWU5MGU2OTJjYzc4NjY5ZGFiNzQ5ZTVkYS4uZTdkYzVhYzljNWQ0MmJl
MWE1YTI5ZDc3MzA0MTljNDA3YTliYzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKICAgICB2b2lkIGhhbmRsZUNsaWNrRm9yRGF0YURl
dGVjdGlvblJlc3VsdChjb25zdCBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYsIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JikgZmluYWw7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9p
ZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmlldzsK
ICAgICBXZWFrUHRyPFdlYlZpZXdJbXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5OTky
OTRmODE1YzdjMWY2N2IzOGZkM2MyYy4uN2Y4MjFkMzJlN2M2YTNkOThlNjViZmEwZjU4NDgyYmNm
ZTcwNmNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbE1hYy5tbQpAQCAtOTcyLDYgKzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRS
ZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0
aW9uKCk7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoV2Vi
Q29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQor
eworICAgIC8vIEZJWE1FOiBBZGQgYWRkaXRpb25hbCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4K
KyAgICBtX2ltcGwtPnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29s
IFBhZ2VDbGllbnRJbXBsOjp3aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRp
dmVXZWJNb3VzZUV2ZW50JiBldmVudCkKIHsKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zy
b250V2luZG93VW5kZXJNb3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKaW5kZXggODlmMDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZC4uMzI0
MmI1ZTg3NjkxYTRjMDFkYzRjNTdiNzliZGY5ZmQ0ODRhNWY5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVk
ZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
Q29weS5oIgorI2luY2x1ZGUgIlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQ29sb3JDaG9vc2VyLmgiCiAj
aW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC02NTUsOSArNjU2LDkgQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZyYW1lLCBjb25z
dCBJbnRTaXplJiBzaXplKSBjb24KICAgICB9CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpz
Y3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0Cit2b2lkIFdlYkNocm9tZUNs
aWVudDo6c2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkg
Y29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OlJlcXVlc3RTY3JvbGxUb1JlY3QocmVjdCwgcmVjdC5jZW50ZXIoKSkp
OwogfQogCiBib29sIFdlYkNocm9tZUNsaWVudDo6c2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNz
YWdlQmVCdXR0b24oUmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVh
c29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmlu
ZGV4IGViNWM5ZTg4ODcwOTZkNzk2MWIwZGJlMzUwM2Y5Yjg0NjI2YWY3MzMuLjE3MGRkMzc5ZDZk
MGExMGI3M2I2N2ZhODdmODhkNTE0NTZiYmY5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEz
Myw3ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBh
Z2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2Vi
Q29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CiAgICAg
dm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24g
ZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgdm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRv
Vmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8vIEN1cnJlbnRseSBv
bmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAgICBib29sIHNob3Vs
ZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6OlJlbmRlckVtYmVkZGVk
T2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmluYWw7CiAgICAgdm9p
ZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6RWxlbWVudCYsIFdlYkNv
cmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29u
c3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBlN2MyZjdm
Mjk2MGM3MzlkMGYwMDE0N2EzOWRjMTM1OTVjZGIxOWFlLi4wZTJjNmUyYWI2NDhjNmQ1OTJhYTgz
MWEyMDlkZjJkZjdlY2ZjNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
QEAgLTU0NCw2ICs1NDQsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnN1bWVBdWRpb0NvbXBv
bmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CiAjZW5kaWYKICAg
ICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpG
bG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOworI2VuZGlm
CisgICAgCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNvbnN0IEF1eGlsaWFy
eVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKIAogICAgIC8vIElQQzo6Q29ubmVj
dGlvbjo6Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCmluZGV4IDYzNzE1MzUwMmZkOTQ0Y2M5ZmM2NmFhMmE2MGFhODJlN2U0MTU1YjUu
LjE0NmQxMzc1NGEwZGQwYjkyZmYwNzZjYWE0NDhmODI3YWNmOTRmMmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yMDMsNiArMjAz
LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291bnRl
ZCB7CiAgICAgQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzRGlkQ2hhbmdlKHN0cnVjdCBXZWJLaXQ6
OkFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMpCiAjZW5k
aWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9h
dFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCisjZW5kaWYKKwog
I2lmIEhBVkUoTUVESUFfQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCiAgICAgU2V0TWVkaWFBY2Nl
c3NpYmlsaXR5UHJlZmVyZW5jZXMoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2Fw
dGlvbkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlLCBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXMpCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCmluZGV4IGE2NjcyMTA0YTJhMTM0ZDAzMDk1YzIyNmQ1ODM3NTk0ZGQ3ZTMwY2YuLmQ5
MzY3MTkxZDcyYzRiM2EzZTQ2ZTc5YjgzNzM4MWEzODdlOWQ4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTQxNyw2ICsx
NDE3LDEzIEBAIHZvaWQgV2ViUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0
aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhCiAgICAgICAgIFdFQlBST0NFU1NfUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvdWxkIG5vdCBhcHBseSBBdWRpb0NvbXBvbmVudCBy
ZWdpc3RyYXRpb25zLCBlcnIoJWxkKSIsIHN0YXRpY19jYXN0PGxvbmc+KGVycikpOwogfQogCit2
b2lkIFdlYlByb2Nlc3M6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVj
dCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgV2ViUGFnZSogcGFnZSA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmZvY3VzZWRXZWJQYWdlKCk7CisgICAgaWYgKHBhZ2UpCisg
ICAgICAgIHBhZ2UtPm1haW5GcmFtZVZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQo
dGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA0
NGY0MDRmZGY1Yjg5MjQyOTIyNTM0YjgxYWIzNzIyYzExMTcxYjFlLi43NTdiOWU2ZWUxMWU5ZjA1
MDg4NjM2NWJmY2ZlMTcxNDQ5NTUzODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTEyLDcgKzEx
Miw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVu
dCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpG
cmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGlu
dHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0
IGZpbmFsIHsgfQotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNjcm9sbFJlY3RJbk1haW5GcmFtZUludG9W
aWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQgc2V0
U3RhdHVzYmFyVGV4dChjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
CmluZGV4IGI2YzE5MDkxYmZmYTM4OTYyOTk0OGJhMDVkNzdkYzI0YTQyZWY5ZmYuLjExYTMyZDI1
Yjc4MTEzYjcwZGU3NmY4YWI0NmIxM2M0M2U5ODgwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAg
LTYwNiw3ICs2MDYsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdl
ZChGcmFtZSYsIGNvbnN0IEludFNpemUmKSBjb25zdAogewogfQogCi12b2lkIFdlYkNocm9tZUNs
aWVudDo6c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0Cit2b2lkIFdl
YkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50UmVj
dCYgcikgY29uc3QKIHsKICAgICAvLyBGSVhNRTogVGhpcyBzY3JvbGxpbmcgYmVoYXZpb3Igc2hv
dWxkIGJlIHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSBlbWJlZGRpbmcgY2xpZW50LAogICAgIC8v
IHBlcmhhcHMgaW4gYSBkZWxlZ2F0ZSBtZXRob2QsIHJhdGhlciB0aGFuIHNvbWV0aGluZyBXZWJL
aXQgZG9lcyB1bmNvbmRpdGlvbmFsbHkuCg==
</data>
<flag name="commit-queue"
          id="455726"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433478</attachid>
            <date>2021-07-13 21:17:06 -0700</date>
            <delta_ts>2021-07-13 21:25:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713211705.patch</filename>
            <type>text/plain</type>
            <size>36932</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uNGI2YzQ1YjFhYTA3MTY2ZWMzODk0MWU3NTMwNDgw
YzU0MzU3NWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBwaXAgdGhh
dCBjYW4gcG90ZW50aWFsbHkgb2JzY3VyZSB0aGUgd2ViIHZpZXcsCisgICAgICAgIHdlIG5lZWQg
dG8gcGlwZSB0aGUgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2gg
ZG9lcyB0aGF0IHdvcmsKKyAgICAgICAgYW5kIHdpbGwgYmUgZm9sbG93ZWQgdXAgc2hvcnRseSBi
eSBvbmUgdGhhdCBkb2VzIHRoZSBhY3R1YWwgd29yayBvZiBwaXAgYXZvaWRhbmNlLgorICAgICAg
ICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhh
dCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRo
ZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGgg
dGhlIHBpcCAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3JvbGwpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlbXBvcmFyeVNlbGVj
dGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgor
ICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVTZWxlY3Rpb246Om1vdmVXaXRob3V0VmFsaWRhdGlvblRvKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6CisKIDIwMjEtMDctMDkgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVzaXplT2JzZXJ2ZXIgLyBJbnRlcnNlY3Rp
b25PYnNlcnZlciBtZW1vcnkgbGVhayBvbiBkZXRhY2hlZCAmIG91dCBvZiByZWZlcmVuY2UgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZGFmOTk2YThhMWY4NjliZTA5MDIwOWM3N2Q5OGU5MmU2ZWU1NzYx
Yy4uZTZjYWNhMjFjZTViZGY5ZGY2NGRiZmY0NWVlNDY3YjJkMGE3YjIzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzOSBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3Vn
aCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBj
b3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgcGlwIHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUg
dGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJv
dWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFu
ZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFs
IHdvcmsgb2YgcGlwIGF2b2lkYW5jZS4KKyAgICAgICAgRm9yIGlPUywgdGhpcyBqdXN0IHVzZXMg
dGhlIG1haW4gZnJhbWUgVUkgU2Nyb2xsaW5nIHRoYXQgd2UgYWxyZWFkeSB1c2UsIGJ1dCBmb3Ig
CisgICAgICAgIG1hYywgd2UgbmVlZCB0byBkbyB0aGUgbGFzdCBzY3JvbGwgaW4gdGhlIHdlYiBw
cm9jZXNzIGFmdGVyIGFkanVzdGluZyBpdCB3aXRoIHRoZSBwaXAgCisgICAgICAgIGluZm9ybWF0
aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVj
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5ICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxsb3cgdGhlIFVJUHJv
Y2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3Jh
Z2UuY3BwCmluZGV4IDc4MGZjNTE2ZGZlNTY5MDUwNjA2NmQyYWE5MmYzZDgzZTA1NWFlNzEuLjY2
ZWVlMjczZTg3M2Y4MmQ4Mzg0ZjMwN2JmMzhhMGU4MTM2OTE2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
CkBAIC0yNzEsNyArMjcxLDcgQEAgYm9vbCBBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9S
ZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKEFwcEhpZ2hsaWdodFJhbmdlRGEKICAgICAgICAgaWYg
KHRleHRJbmRpY2F0b3IpCiAgICAgICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgp
LmNsaWVudCgpLnNldFRleHRJbmRpY2F0b3IodGV4dEluZGljYXRvci0+ZGF0YSgpKTsKICAgICAg
ICAgCi0gICAgICAgIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZSBzZWxlY3Rpb25DaGFuZ2UoKnN0
cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVlKCkgfSwgeyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRp
b246OlJldmVhbFNlbGVjdGlvbiwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3Jv
bGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6T3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJl
RW5hYmxtZW50IH0pOworICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9u
Q2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2Vs
ZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0aW9u
T3B0aW9uOjpTbW9vdGhTY3JvbGwgfSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKaW5kZXggNGJmZGJiY2E3ZDRlZmU5MTNkMTA0OThiZjRkYzg5NmUyMjY3
NzRkNS4uYzMwYzNkMmM0NTkzYjRjNTNlNDJkYjZlYTk2M2Y4ZTc1M2UxMWVjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcApAQCAtOTM3LDggKzkzNyw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsSW50
b1ZpZXcoc3RkOjpvcHRpb25hbDxWYXJpYW50PGJvb2wsIFNjcm9sbEludG9WaWV3T3B0aW9ucz4+
CiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWCA6IGFsaWduWSwKICAgICAgICAgaXNIb3Jp
em9udGFsID8gYWxpZ25ZIDogYWxpZ25YLAogICAgICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2lu
U2Nyb2xsaW5nOjpObywKLSAgICAgICAgb3B0aW9ucy5iZWhhdmlvci52YWx1ZV9vcihTY3JvbGxC
ZWhhdmlvcjo6QXV0byksCi0gICAgICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpE
ZWZhdWx0CisgICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6
OkF1dG8pCiAgICAgfTsKICAgICByZW5kZXJlcigpLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29s
dXRlQm91bmRzLCBpbnNpZGVGaXhlZCwgdmlzaWJsZU9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3YTE0YzJjODQ5MmM3N2ZiYjk3ODEzZmQwY2RlNGFj
YjQuLmMzYjE5MjVlNjdjZDNjN2FiMzMyNjUxNzVlMmU0OThmMWZkNWVlNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI2NSwxMCArMjY1LDEwIEBAIHZvaWQgVGVtcG9yYXJ5U2Vs
ZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0
aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6RG9Ob3RTZXRGb2N1cyk7
CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6UmV2ZWFsU2Vs
ZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6UmV2ZWFsU2VsZWN0
aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246
OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKICAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5
U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwpCiAgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1l
U2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwotICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCkKLSAg
ICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQpOwogICAgIG1fZG9jdW1lbnQtPnNlbGVjdGlvbigpLnNldFNlbGVjdGlv
bihzZWxlY3Rpb24sIG9wdGlvbnMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCBi
OWQ3MzBiNjdkZjlmZmUzYTk3ZWI4ZGM1Y2FhMzNhMDk1NDYzMzFhLi5mZDU5YmZmYWU3MmQ1ZmFm
OTI0NzIzZWY0NzliMjg1NjA2MDM4OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTEy
MSw3ICsxMjEsNyBAQCBlbnVtIGNsYXNzIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbiA6IHVpbnQ4
X3QgewogICAgIAogICAgIFNtb290aFNjcm9sbCA9IDEgPDwgNCwKICAgICAKLSAgICBPdmVycmlk
ZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQgPSAxIDw8IDUsCisgICAgRGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgPSAxIDw8IDUsCiB9OwogCiBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25DaGFu
Z2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBmY2Q4
MGQxY2JjYTc4YjBhZTQ0MTcyYTM4OWRhN2YzZjNmNTQwNWNkLi4xY2EzYmZiYzkyMWM0NTc5Njg0
YjEwMzUwMmU0YzUzMzJjMjkxMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcApAQCAtMjMyLDYgKzIzMiw5IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om1vdmVX
aXRob3V0VmFsaWRhdGlvblRvKGNvbnN0IFBvc2l0aW9uJiBiYXNlLCBjb25zdCBQb3NpdGlvCiAg
ICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lOgogICAgICAg
ICBvcHRpb25zLmFkZChSZXZlYWxTZWxlY3Rpb25VcFRvTWFpbkZyYW1lKTsKICAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9s
bDoKKyAgICAgICAgb3B0aW9ucy5hZGQoRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpOworICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbiwgb3B0aW9ucywg
bmV3SW50ZW50KTsKIH0KQEAgLTQzMiw2ICs0MzUsOCBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpz
ZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uLCBPcHRpb25TZXQ8
UwogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpS
ZXZlYWxVcFRvTWFpbkZyYW1lOwogICAgIGVsc2UgaWYgKG9wdGlvbnMgJiBSZXZlYWxTZWxlY3Rp
b24pCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6
OlJldmVhbDsKKyAgICBlbHNlIGlmIChvcHRpb25zICYgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwp
CisgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRl
bGVnYXRlTWFpbkZyYW1lU2Nyb2xsOwogICAgIGVsc2UKICAgICAgICAgbV9zZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWw7CiAgICAgbV9hbHdheXNB
bGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9IGFsaWduID09IEFsaWdu
Q3Vyc29yT25TY3JvbGxBbHdheXM7CkBAIC00NDYsNyArNDUxLDcgQEAgdm9pZCBGcmFtZVNlbGVj
dGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0
aW9uU2V0PFMKICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgp
LmlzTGF5b3V0UGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oaW50ZW50LCBvcHRpb25zLmNvbnRhaW5zKFNtb290aFNjcm9sbCkgPyBTY3Jv
bGxCZWhhdmlvcjo6U21vb3RoIDogU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQsIG9wdGlvbnMuY29u
dGFpbnMoT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCkgPyBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUgOiBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCk7CisgICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0
aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNj
cm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKIAogICAgIGlmIChvcHRpb25zICYgSXNVc2VyVHJpZ2dl
cmVkKSB7CiAgICAgICAgIGlmIChhdXRvKiBjbGllbnQgPSBwcm90ZWN0ZWREb2N1bWVudC0+ZWRp
dG9yKCkuY2xpZW50KCkpCkBAIC00NzMsNyArNDc4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6
c2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoUmV2ZWFsU2VsZWN0aW9uQWZ0ZXJVcGRhdGUgcmV2ZWFs
TW8KICAgICAgICAgdmlldy0+c2VsZWN0aW9uKCkuY2xlYXIoKTsKIH0KIAotdm9pZCBGcmFtZVNl
bGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdl
SW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yLCBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFu
Z2VJbnRlbnQmIGludGVudCwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAg
aWYgKCFtX3BlbmRpbmdTZWxlY3Rpb25VcGRhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5MCw3
ICs0OTUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24o
Y29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludAogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxXaGVuUmV2ZWFsaW5n
U2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFsaWdu
bWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKIAotICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9z
ZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZp
b3IsIG92ZXJpZGVGZWF0dXJlRW5hYmxlbWVudCk7CisgICAgICAgIHJldmVhbFNlbGVjdGlvbiht
X3NlbGVjdGlvblJldmVhbE1vZGUsIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50LCBzY3JvbGxCZWhh
dmlvcik7CiAgICAgfQogCiAgICAgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5n
ZShpbnRlbnQpOwpAQCAtMjM5MCw3ICsyMzk1LDcgQEAgSFRNTEZvcm1FbGVtZW50KiBGcmFtZVNl
bGVjdGlvbjo6Y3VycmVudEZvcm0oKSBjb25zdAogICAgIHJldHVybiBzY2FuRm9yRm9ybShzdGFy
dCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50LCBS
ZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBzY3Jv
bGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJl
RW5hYmxlbWVudCkKK3ZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rp
b25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50
LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBz
Y3JvbGxCZWhhdmlvcikKIHsKICAgICBpZiAocmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxN
b2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjQxMyw3ICsyNDE4LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUg
cmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgICAgIGlmICghbV9zY3JvbGxpbmdTdXBw
cmVzc0NvdW50KSB7CiAgICAgICAgICAgICAgICAgYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBsYXll
ci0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFi
bGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAgICAg
ICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KTsKKyAgICAgICAgICAgICAgICBsYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNp
ZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pOwogICAgICAgICAgICAg
ICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcoZmFs
c2UpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICAgICAgICAgICAgICAg
ICBpZiAobV9kb2N1bWVudC0+cGFnZSgpKQpAQCAtMjQyNCw3ICsyNDI5LDcgQEAgdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgcmV2ZWFsTW9k
ZSwgY29uc3QgU2Nyb2wKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBvbmx5IGhhbmRsZXMg
c2Nyb2xsaW5nIHRoZSBzdGFydENvbnRhaW5lcidzIGxheWVyLCBidXQKICAgICAgICAgLy8gdGhl
IHNlbGVjdGlvbiByZWN0IGNvdWxkIGludGVyc2VjdCBtb3JlIHRoYW4ganVzdCB0aGF0LgogICAg
ICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzQ3OTk4OTk+LgotICAgICAgICBpZiAoc3RhcnQu
ZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBp
bnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvciwgb3ZlcnJpZGVGZWF0
dXJlRW5hYmxlbWVudH0pKQorICAgICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVu
ZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxN
b2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGlu
Zzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pKQogICAgICAgICAgICAgdXBkYXRlQXBwZWFyYW5jZSgp
OwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmlu
ZGV4IDkzYTU5ZDU4NjQyNGIyN2Y2YThhODc3MGE0YmZkNTMyMjEyNjI0NjkuLjdlMWQ4OTQ5ZDA3
MTc5NTAxMzcyOTc1OTNkOTE5OWY0N2JlNDk1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJldmVh
bFNlbGVjdGlvbiA9IDEgPDwgNywKICAgICAgICAgUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFt
ZSA9IDEgPDwgOCwKICAgICAgICAgU21vb3RoU2Nyb2xsID0gMSA8PCA5LAotICAgICAgICBPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gMSA8PCAxMAorICAgICAgICBEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCA9IDEgPDwgMTAKICAgICB9OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlv
bnMoRVVzZXJUcmlnZ2VyZWQgPSBOb3RVc2VyVHJpZ2dlcmVkKTsKIApAQCAtMjQ4LDcgKzI0OCw3
IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEhUTUxGb3JtRWxlbWVudCogY3VycmVu
dEZvcm0oKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmV2ZWFsU2VsZWN0aW9u
KFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIGNvbnN0
IFNjcm9sbEFsaWdubWVudCYgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQs
IFJldmVhbEV4dGVudE9wdGlvbiA9IERvTm90UmV2ZWFsRXh0ZW50LCBTY3JvbGxCZWhhdmlvciA9
IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9u
UmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25t
ZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVh
bEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZWxlY3Rpb25Gcm9tTm9uZSgpOwogCiAgICAgYm9vbCBz
aG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dCbG9ja0N1
cnNvcjsgfQpAQCAtMjYzLDcgKzI2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUZyb21B
c3NvY2lhdGVkTGl2ZVJhbmdlKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhhdmlv
ciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVu
dCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpPdmVycmlkZSk7CisgICAgdm9pZCB1
cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBT
Y3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKICAgICB2b2lkIHVwZGF0
ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAogICAgIGJvb2wgc2V0U2VsZWN0aW9uV2l0
aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgT3B0aW9uU2V0
PFNldFNlbGVjdGlvbk9wdGlvbj4sIEN1cnNvckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxhcml0
eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggZjMwOWM0OTc1YmQ1YmMw
OTVjODUyMjRhMjMyZTU3YTlmYjc4NDUwNi4uZWRmZjY2ZDlmMTE3YTdiNGUxNGVkODg1ZWY3YTEw
YTg5MDdmMmJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMTYzLDcg
KzE2Myw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7
CiAgICAgdm9pZCBzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJikgZmluYWwgeyB9CiAgICAgdm9pZCBz
ZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgZmluYWwgeyB9CiAKLSAgICB2b2lk
IHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAg
dm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Qg
ZmluYWwgeyB9CiAKICAgICB2b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lJiwgR3Jh
cGhpY3NMYXllciopIGZpbmFsIHsgfQogICAgIHZvaWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGlj
c0xheWVyKEdyYXBoaWNzTGF5ZXIqKSBmaW5hbCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRl
eCBhMGMwOTMwNmY5NjI4YjE2NGE5MjIyZjM3MTBkODdlYTU5ODA0YWMzLi4yZmVlNTI0OWUwNzcx
NGJmZTQ5YmRjYjE5N2YzMDg2NzQxZTA3YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC0x
MzQsOSArMTM0LDkgQEAgdm9pZCBDaHJvbWU6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZy
YW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb25zdAogICAgIG1fY2xpZW50LmNvbnRlbnRzU2l6
ZUNoYW5nZWQoZnJhbWUsIHNpemUpOwogfQogCi12b2lkIENocm9tZTo6c2Nyb2xsUmVjdEludG9W
aWV3KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0Cit2b2lkIENocm9tZTo6c2Nyb2xsUmVjdElu
TWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBtX2Ns
aWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGllbnQuc2Nyb2xsUmVjdElu
TWFpbkZyYW1lSW50b1ZpZXcocmVjdCk7CiB9CiAKIHZvaWQgQ2hyb21lOjpzZXRXaW5kb3dSZWN0
KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IDE1YTQ5
MWI4NGMyMDZkZDhiNTFhZGM2ZWUxZGI2ODg4YjdmNDNlNzguLmVmMjg4NWNiZGU3ODc1N2RjZDRm
NWNkOGFkYjM1MmNmMGFmZWFkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtOTgsNyArOTgsNyBA
QCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCBvdmVy
cmlkZTsKICAgICBGbG9hdFNpemUgb3ZlcnJpZGVTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Q7Cisg
ICAgdm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29u
c3Q7CiAKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXpl
JikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE4OTY4Yzk0NGU0
YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMuLmJlNTY2YTNkYTZmYTgzZjA0NTk0ZjIyZDNh
YWRiZGIwNWMxYTc5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI4LDcg
KzIyOCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVDaGFuZ2Vk
KEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaW50
cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IHsg
fTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4K
KyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgSW50
UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdp
bk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxp
dHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRkZWRPYmplY3Q6
OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
Y3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1MjRhM2JkYzFi
ZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlv
ciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVzZVNtb290aFNj
cm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1l
bnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlv
ciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAgIGlmIChhc3Nv
Y2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zY3JvbGxpbmdF
bGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRlZEVsZW1lbnQt
PmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29jaWF0ZWRFbGVt
ZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09IFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxlbWVudC0+ZG9j
dW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQoKSkpCisg
ICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2NpYXRlZEVsZW1l
bnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3Iu
aAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2QzLi5lZWU4MmUz
MTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3Jv
bGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xsQmVoYXZpb3Ig
OiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQotYm9vbCB1c2VT
bW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50
LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFi
bGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9y
LCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2M2U4Y2JiODIy
YTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2OGU4MWNlMjYx
MDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMjQxLDYg
KzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gOiB1aW50OF90
IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsKICAgICBSZXZl
YWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93IGFuZCBpZnJh
bWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xs
LCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1cmUgdG8gbWFu
dWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZlYWwKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2MWMyNjJmMDVl
MjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjkxZjZmMGUxOGM5MWQ3YTU3OTA3Yjk4NTRk
NGQ2Y2I2YTk4OTc5MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICBhdXRv
IHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywgb3B0aW9uc10o
RWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9zaXRpb25PcHRp
b25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsK
LSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9s
bEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJl
aGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpKQorICAg
ICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Q
cm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZp
b3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25zLmFuaW1hdGVk
ID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uT3B0
aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGlu
c2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVh
bE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJh
bWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlmIChvcHRpb25z
LnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3Jv
bGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAgICAgICAgICAg
IHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhzbmFwcGVkSW50
UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWlu
aW11bVNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9u
ID0gZnJhbWVWaWV3Lm1heGltdW1TY3JvbGxQb3NpdGlvbigpOwogCkBAIC0yNTEyLDExICsyNTE3
LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0
UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVy
IHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKLSAgICAgICAgICAgIC8vIHNjcm9sbCBpdHMgY29udGFp
bmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsUmVjdEludG9WaWV3LgorICAgICAgICAgICAgLy8g
c2Nyb2xsIGl0cyBjb250YWluZXIgYnkgY2FsbGluZyBQYWdlOjpzY3JvbGxSZWN0SW5NYWluRnJh
bWVJbnRvVmlldy4KICAgICAgICAgICAgIC8vIFRoaXMgb25seSBoYXMgYW4gZWZmZWN0IG9uIHRo
ZSBNYWMgcGxhdGZvcm0gaW4gYXBwbGljYXRpb25zCiAgICAgICAgICAgICAvLyB0aGF0IHB1dCB3
ZWIgdmlld3MgaW50byBzY3JvbGxpbmcgY29udGFpbmVycywgc3VjaCBhcyBNYWMgT1MgWCBNYWls
LgogICAgICAgICAgICAgLy8gVGhlIGNhbkF1dG9zY3JvbGwgZnVuY3Rpb24gaW4gRXZlbnRIYW5k
bGVyIGFsc28ga25vd3MgYWJvdXQgdGhpcy4KLSAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5z
Y3JvbGxSZWN0SW50b1ZpZXcoc25hcHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAg
ICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoc25hcHBl
ZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDBkZGNmZWVlMDYwM2RjOTVhYmQ3MDNj
ZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3NTBjYWZkY2M4N2FjMzgxYjQ1ZTliZTRkNGU4
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xNDEsNyArMTQx
LDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zIHsKICAgICBjb25zdCBTY3Jv
bGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRl
ZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgc2hvdWxkQWxsb3dDcm9z
c09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Ok5vIH07
CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IgeyBTY3JvbGxCZWhhdmlvcjo6QXV0byB9Owot
ICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1l
bnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCB9OwogfTsKIAogdXNp
bmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggOWIwMWY0MDIyNzE1MjEwMmU0
N2U2Y2MyNWRiZGIyNjFkMTc3YmY5Yi4uM2Q3MTM5NmViZTNiNzhjM2VmMGZiMDYyZjQ2ZWM3ZDBk
NmVhMDQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW0KQEAgLTcwNyw2ICs3MDcsMTYgQEAgTlNEaWN0aW9uYXJ5ICpXZWJQYWdl
UHJveHk6OmNvbnRlbnRzT2ZVc2VySW50ZXJmYWNlSXRlbShOU1N0cmluZyAqdXNlckludGVyZmFj
ZUkKICAgICByZXR1cm4gbmlsOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9s
bFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAg
cGFnZUNsaWVudCgpLnJlcXVlc3RTY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30K
Kwordm9pZCBXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwg
RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pLCAwKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IDgyZTM4MjgwMzdi
MDY0ZjViZDM2YjdkZDUzNmM2MGEwYTI5MzNhYTAuLjUyMjk4NjA3YTg2OThmMmIyZGM4MGE1NTY0
Y2I1NmQ1YTJlZDhhNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwuaApAQCAtNTQ2LDYgKzU0Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGdlc3R1cmVFdmVu
dFdhc05vdEhhbmRsZWRCeVdlYkNvcmVGcm9tVmlld09ubHkoTlNFdmVudCAqKTsKIAogICAgIHZv
aWQgZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CisgICAgCisgICAgdm9pZCBzY3JvbGxUb1Jl
Y3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50KTsKIAogICAgIHZvaWQg
c2V0VG90YWxIZWlnaHRPZkJhbm5lcnMoQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVycykgeyBt
X3RvdGFsSGVpZ2h0T2ZCYW5uZXJzID0gdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KICAgICBDR0Zs
b2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEhlaWdodE9m
QmFubmVyczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5t
bQppbmRleCA1ZmJlYmE0ZjE2ZTMxNjc3ZWIxZGZlZGEyMDk2Mzg3ZmM2NGRhNmNjLi42ZGRiY2Uy
MDNiNzE4NWYyNDFmNmQzMDNkNjJjZDQzZTIzNmQ0ZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjU3MCw2ICsyNTcwLDExIEBAIHZvaWQg
V2ViVmlld0ltcGw6OnVwZGF0ZVRpdGxlYmFyQWRqYWNlbmN5U3RhdGUoKQogCiAjZW5kaWYgLy8g
SEFWRShOU1NDUk9MTFZJRVdfU0VQQVJBVE9SX1RSQUNLSU5HX0FEQVBURVIpCiAKK3ZvaWQgV2Vi
Vmlld0ltcGw6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2Vi
Q29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1JlY3QodGFy
Z2V0UmVjdCwgb3JpZ2luKTsKK30KKwogTlNWaWV3ICpXZWJWaWV3SW1wbDo6aGl0VGVzdChDR1Bv
aW50IHBvaW50KQogewogICAgIE5TVmlldyAqaGl0VmlldyA9IFttX3ZpZXcgX3dlYl9zdXBlckhp
dFRlc3Q6TlNQb2ludEZyb21DR1BvaW50KHBvaW50KV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKaW5kZXggMDhjYzI4OTAzOTkyNGQzMzc0ODkzNjhmMzZjNTA1Y2M2ODg5Njc0NS4u
OTc5OGFkMDdkOWNhMzY3MDhjZTEyNzMwYzg0MzhjMmNmOGFjOTZiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNjEyLDYgKzYxMiw3IEBAIHB1YmxpYzoKICNpZiBFTkFC
TEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgdmlydHVhbCB2b2lkIHN0b3JlQXBwSGlnaGxpZ2h0KGNv
bnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdodCYpID0gMDsKICNlbmRpZgorICAgIHZpcnR1YWwgdm9p
ZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbikgPSAwOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
dmlydHVhbCB2b2lkIGNhbmNlbFBvaW50ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJl
UmVjb2duaXplciopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCBkMWE1ZmMzOGVhN2M5NWZlYTYzNGQ4NWNkOWJkMTcwZGE2NWIxOWY4Li5iNDI2ZmU2NzkxYWEy
ZjdmZjFiMmJlZDhjN2FlYmYxZTQ4NTAxZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaApAQCAtOTA3LDcgKzkwNywxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdm9pZCB3aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIHZpZXdGcmFtZUluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZs
b2F0UG9pbnQmIGFjY2Vzc2liaWxpdHlWaWV3Q29vcmRpbmF0ZXMpOwogICAgIHZvaWQgc2V0TWFp
bkZyYW1lSXNTY3JvbGxhYmxlKGJvb2wpOwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNj
cm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQ
b2ludCBvcmlnaW4pOworICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0
YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisgICAgICAgIAogICAgIHZv
aWQgc2VuZENvbXBsZXhUZXh0SW5wdXRUb1BsdWdpbih1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4
dElucHV0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB0ZXh0SW5wdXQpOwogICAgIGJvb2wgc2hv
dWxkRGVsYXlXaW5kb3dPcmRlcmluZ0ZvckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKICAg
ICBib29sIGFjY2VwdHNGaXJzdE1vdXNlKGludCBldmVudE51bWJlciwgY29uc3QgV2ViTW91c2VF
dmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IGRiNWI1NmVmMjM1MjA5ZWExNzM5NDY5YTkxMTYxNDBlMjk3NmQ5NmUuLjY1
MjQ5M2RmNDI5NWY3MDM4NTc1M2Y2YzA2YzI3OWNhN2UzNGU5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTUxMCw2ICs1MTAs
MTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgRGlkUmVzdG9y
ZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXF1ZXN0
U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbikKKyNlbmRpZgogCiAgICAgR2V0TG9hZERlY2lzaW9uRm9ySWNvbihzdHJ1
Y3QgV2ViQ29yZTo6TGlua0ljb24gaWNvbiwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgK
aW5kZXggNDYyMGU3NWQwYTU1NjU2ZTgyMjNiYzcwNmQzMjViYjA4NzEwZTA4NC4uZDAwNTQ2Mzk4
N2QxMGM1NzcwNGZmMjRkYzFkYTkxMTVkNTYwMjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTIxNCw3ICsyMTQsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEaWRTY3JvbGwoKSBvdmVycmlk
ZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxXaWxsU3RhcnRTY3JvbGwoKSBvdmVycmlk
ZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxEaWRFbmRTY3JvbGwoKSBvdmVycmlkZTsK
LQorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAg
ICAvLyBBdXhpbGlhcnkgQ2xpZW50IENyZWF0aW9uCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlDbGllbnQmIGZ1bGxTY3JlZW5NYW5hZ2Vy
UHJveHlDbGllbnQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBmYjcxMTJjODFmZTNhNTE0ZjdkODcyYjMxODU3
NDhkOGM3NjE3ZWMzLi43MzA0ZDdmYjg0Njc0NjE5Y2M4YTZkYThmNDg3YWMwYmU4NDI4ODIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
CkBAIC0xMDIzLDYgKzEwMjMsMTEgQEAgV2ViQ29yZTo6Q29sb3IgUGFnZUNsaWVudEltcGw6OmNv
bnRlbnRWaWV3QmFja2dyb3VuZENvbG9yKCkKICAgICByZXR1cm4gW21fY29udGVudFZpZXcgYmFj
a2dyb3VuZENvbG9yXS5DR0NvbG9yOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0
U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sK
KyAgICBbbV9jb250ZW50VmlldyBfc2Nyb2xsVG9SZWN0OnRhcmdldFJlY3Qgd2l0aE9yaWdpbjpv
cmlnaW4gbWluaW11bVNjcm9sbERpc3RhbmNlOjBdOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IDZjNWM0ZTM5YzYxNDgzZGFl
OTBlNjkyY2M3ODY2OWRhYjc0OWU1ZGEuLmU3ZGM1YWM5YzVkNDJiZTFhNWEyOWQ3NzMwNDE5YzQw
N2E5YmMzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbE1hYy5oCkBAIC0yOTAsNiArMjkwLDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pCiAgICAgdm9pZCBoYW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1bHQoY29u
c3QgV2ViQ29yZTo6RGF0YURldGVjdG9yRWxlbWVudEluZm8mLCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYpIGZpbmFsOwogI2VuZGlmCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRv
UmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBv
cmlnaW4pIG92ZXJyaWRlOwogCiAgICAgTlNWaWV3ICptX3ZpZXc7CiAgICAgV2Vha1B0cjxXZWJW
aWV3SW1wbD4gbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLm1tCmluZGV4IDhiNzRiNDU0NWQ4OTdhOTk5Mjk0ZjgxNWM3YzFmNjdiMzhm
ZDNjMmMuLjdmODIxZDMyZTdjNmEzZDk4ZTY1YmZhMGY1ODQ4MmJjZmU3MDZjZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTk3
Miw2ICs5NzIsMTIgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUmVzdG9yZVNjcm9sbFBvc2l0
aW9uKCkKICAgICBtX2ltcGwtPmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOwogfQogCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0
YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICAvLyBGSVhNRTog
QWRkIGFkZGl0aW9uYWwgbG9naWMgdG8gYXZvaWQgTm90ZSBQaXAuCisgICAgbV9pbXBsLT5zY3Jv
bGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwogYm9vbCBQYWdlQ2xpZW50SW1wbDo6
d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYg
ZXZlbnQpCiB7CiAgICAgcmV0dXJuIG1faW1wbC0+d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91
c2UoZXZlbnQubmF0aXZlRXZlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDg5ZjA1
ZDVjYzcwNjRhY2VlNDVjZjA5YTUzMDE0M2I1ZTNhMmZlMWQuLjMyNDJiNWU4NzY5MWE0YzAxZGM0
YzU3Yjc5YmRmOWZkNDg0YTVmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRQcm94eS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKKyNpbmNsdWRl
ICJTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJVc2Vy
RGF0YS5oIgogI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvcmVB
cmd1bWVudENvZGVycy5oIgpAQCAtNjU1LDkgKzY1Niw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50
Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkg
Y29uCiAgICAgfQogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3
KGNvbnN0IEludFJlY3QmKSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJ
bk1haW5GcmFtZUludG9WaWV3KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CiB7Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpS
ZXF1ZXN0U2Nyb2xsVG9SZWN0KHJlY3QsIHJlY3QuY2VudGVyKCkpKTsKIH0KIAogYm9vbCBXZWJD
aHJvbWVDbGllbnQ6OnNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFJlbmRl
ckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVnaW5VbmF2YWls
YWJpbGl0eVJlYXNvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBlYjVjOWU4ODg3MDk2
ZDc5NjFiMGRiZTM1MDNmOWI4NDYyNmFmNzMzLi4xNzBkZDM3OWQ2ZDBhMTBiNzNiNjdmYTg3Zjg4
ZDUxNDU2YmJmOTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMzMsNyArMTMzLDcgQEAgcHJp
dmF0ZToKICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZyYW1lJiwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaW50cmluc2ljQ29u
dGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7Ci0g
ICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0
IGZpbmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0
aW9uLgorICAgIHZvaWQgc2Nyb2xsUmVjdEluTWFpbkZyYW1lSW50b1ZpZXcoY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9u
IGVtcHR5IGltcGxlbWVudGF0aW9uLgogCiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdp
bk1lc3NhZ2VCZUJ1dHRvbihXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgdW5hdmFpbGFibGVQbHVn
aW5CdXR0b25DbGlja2VkKFdlYkNvcmU6OkVsZW1lbnQmLCBXZWJDb3JlOjpSZW5kZXJFbWJlZGRl
ZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZTdjMmY3ZjI5NjBjNzM5ZDBmMDAxNDdh
MzlkYzEzNTk1Y2RiMTlhZS4uMGUyYzZlMmFiNjQ4YzZkNTkyYWE4MzFhMjA5ZGYyZGY3ZWNmYzVm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC01NDQsNiArNTQ0LDEw
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25z
KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogI2VuZGlmCiAgICAgCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJl
Y3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQg
cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJik7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA2
MzcxNTM1MDJmZDk0NGNjOWZjNjZhYTJhNjBhYTgyZTdlNDE1NWI1Li4xNDZkMTM3NTRhMGRkMGI5
MmZmMDc2Y2FhNDQ4ZjgyN2FjZjk0ZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjAzLDYgKzIwMywxMCBAQCBtZXNzYWdlcyAt
PiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNvdW50ZWQgewogICAgIEFjY2Vzc2li
aWxpdHlQcmVmZXJlbmNlc0RpZENoYW5nZShzdHJ1Y3QgV2ViS2l0OjpBY2Nlc3NpYmlsaXR5UHJl
ZmVyZW5jZXMgYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzKQogI2VuZGlmCiAKKyNpZiBQTEFURk9S
TShDT0NPQSkKKyAgICBTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3Qs
IFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQorI2VuZGlmCisKICNpZiBIQVZFKE1FRElBX0FD
Q0VTU0lCSUxJVFlfRlJBTUVXT1JLKQogICAgIFNldE1lZGlhQWNjZXNzaWJpbGl0eVByZWZlcmVu
Y2VzKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OkNhcHRpb25EaXNwbGF5TW9kZSBk
aXNwbGF5TW9kZSwgVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzKQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCBhNjY3
MjEwNGEyYTEzNGQwMzA5NWMyMjZkNTgzNzU5NGRkN2UzMGNmLi5kOTM2NzE5MWQ3MmM0YjNhM2U0
NmU3OWI4MzczODFhMzg3ZTlkOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTE0MTcsNiArMTQxNywxMyBAQCB2b2lkIFdl
YlByb2Nlc3M6OmNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiBkYQogICAgICAgICBXRUJQUk9DRVNTX1JFTEVBU0VfTE9HX0VSUk9SKFBy
b2Nlc3MsICJDb3VsZCBub3QgYXBwbHkgQXVkaW9Db21wb25lbnQgcmVnaXN0cmF0aW9ucywgZXJy
KCVsZCkiLCBzdGF0aWNfY2FzdDxsb25nPihlcnIpKTsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjpz
Y3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0
UG9pbnQgb3JpZ2luKQoreworICAgIFdlYlBhZ2UqIHBhZ2UgPSBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5mb2N1c2VkV2ViUGFnZSgpOworICAgIGlmIChwYWdlKQorICAgICAgICBwYWdlLT5tYWlu
RnJhbWVWaWV3KCktPnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHRhcmdldFJlY3QubWluWE1p
bllDb3JuZXIoKSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVB
U0VfTE9HX1NFU1NJT05fSUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDRmNDA0ZmRmNWI4OTI0Mjky
MjUzNGI4MWFiMzcyMmMxMTE3MWIxZS4uNzU3YjllNmVlMTFlOWYwNTA4ODYzNjViZmNmZTE3MTQ0
OTU1Mzg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTExMiw3ICsxMTIsNyBAQCBwcml2YXRlOgog
ICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsK
ICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJD
b3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1Np
emVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbCB7IH0KLSAgICB2
b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmlu
YWw7CisgICAgdm9pZCBzY3JvbGxSZWN0SW5NYWluRnJhbWVJbnRvVmlldyhjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHNldFN0YXR1c2JhclRleHQoY29u
c3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBiNmMxOTA5MWJm
ZmEzODk2Mjk5NDhiYTA1ZDc3ZGMyNGE0MmVmOWZmLi4xMWEzMmQyNWI3ODExM2I3MGRlNzZmOGFi
NDZiMTNjNDNlOTg4MDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC02MDYsNyArNjA2LDcgQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJ
bnRTaXplJikgY29uc3QKIHsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJ
bnRvVmlldyhjb25zdCBJbnRSZWN0JiByKSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNj
cm9sbFJlY3RJbk1haW5GcmFtZUludG9WaWV3KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0CiB7CiAg
ICAgLy8gRklYTUU6IFRoaXMgc2Nyb2xsaW5nIGJlaGF2aW9yIHNob3VsZCBiZSB1bmRlciB0aGUg
Y29udHJvbCBvZiB0aGUgZW1iZWRkaW5nIGNsaWVudCwKICAgICAvLyBwZXJoYXBzIGluIGEgZGVs
ZWdhdGUgbWV0aG9kLCByYXRoZXIgdGhhbiBzb21ldGhpbmcgV2ViS2l0IGRvZXMgdW5jb25kaXRp
b25hbGx5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAwOTlhZTljNzA5ZDE1N2VhMGFhOTBmNjJjOGJi
ZTRlMGU4MzI0NzM0Li4zZDZhMTAxZWMwOGRjNTEyZmQ2NzcwMGE4MTZjNThiM2U4NGQ5Njk3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBXZWJDb3Jl
OjpHcmFwaGljc0RldmljZUFkYXB0ZXIqIGdyYXBoaWNzRGV2aWNlQWRhcHRlcigpIGNvbnN0IGZp
bmFsOwogI2VuZGlmCiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAgdm9pZCBzY3JvbGxSZWN0SW5NYWluRnJh
bWVJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CiAKICNp
ZiBFTkFCTEUoVklERU8pCiAgICAgYm9vbCBzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpIGZpbmFsOwo=
</data>
<flag name="commit-queue"
          id="455734"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433479</attachid>
            <date>2021-07-13 21:18:37 -0700</date>
            <delta_ts>2021-07-14 14:45:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713211836.patch</filename>
            <type>text/plain</type>
            <size>29791</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uNGI2YzQ1YjFhYTA3MTY2ZWMzODk0MWU3NTMwNDgw
YzU0MzU3NWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBwaXAgdGhh
dCBjYW4gcG90ZW50aWFsbHkgb2JzY3VyZSB0aGUgd2ViIHZpZXcsCisgICAgICAgIHdlIG5lZWQg
dG8gcGlwZSB0aGUgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2gg
ZG9lcyB0aGF0IHdvcmsKKyAgICAgICAgYW5kIHdpbGwgYmUgZm9sbG93ZWQgdXAgc2hvcnRseSBi
eSBvbmUgdGhhdCBkb2VzIHRoZSBhY3R1YWwgd29yayBvZiBwaXAgYXZvaWRhbmNlLgorICAgICAg
ICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhh
dCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRo
ZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGgg
dGhlIHBpcCAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hs
aWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcEhpZ2hs
aWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3JvbGwpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRlbXBvcmFyeVNlbGVj
dGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgor
ICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVTZWxlY3Rpb246Om1vdmVXaXRob3V0VmFsaWRhdGlvblRvKToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6CisKIDIwMjEtMDctMDkgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVzaXplT2JzZXJ2ZXIgLyBJbnRlcnNlY3Rp
b25PYnNlcnZlciBtZW1vcnkgbGVhayBvbiBkZXRhY2hlZCAmIG91dCBvZiByZWZlcmVuY2UgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZGFmOTk2YThhMWY4NjliZTA5MDIwOWM3N2Q5OGU5MmU2ZWU1NzYx
Yy4uZTZjYWNhMjFjZTViZGY5ZGY2NGRiZmY0NWVlNDY3YjJkMGE3YjIzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzOSBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3Vn
aCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBj
b3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgcGlwIHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUg
dGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJv
dWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFu
ZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFs
IHdvcmsgb2YgcGlwIGF2b2lkYW5jZS4KKyAgICAgICAgRm9yIGlPUywgdGhpcyBqdXN0IHVzZXMg
dGhlIG1haW4gZnJhbWUgVUkgU2Nyb2xsaW5nIHRoYXQgd2UgYWxyZWFkeSB1c2UsIGJ1dCBmb3Ig
CisgICAgICAgIG1hYywgd2UgbmVlZCB0byBkbyB0aGUgbGFzdCBzY3JvbGwgaW4gdGhlIHdlYiBw
cm9jZXNzIGFmdGVyIGFkanVzdGluZyBpdCB3aXRoIHRoZSBwaXAgCisgICAgICAgIGluZm9ybWF0
aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVj
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5ICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxsb3cgdGhlIFVJUHJv
Y2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3Jh
Z2UuY3BwCmluZGV4IDc4MGZjNTE2ZGZlNTY5MDUwNjA2NmQyYWE5MmYzZDgzZTA1NWFlNzEuLjY2
ZWVlMjczZTg3M2Y4MmQ4Mzg0ZjMwN2JmMzhhMGU4MTM2OTE2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3Bw
CkBAIC0yNzEsNyArMjcxLDcgQEAgYm9vbCBBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9S
ZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKEFwcEhpZ2hsaWdodFJhbmdlRGEKICAgICAgICAgaWYg
KHRleHRJbmRpY2F0b3IpCiAgICAgICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgp
LmNsaWVudCgpLnNldFRleHRJbmRpY2F0b3IodGV4dEluZGljYXRvci0+ZGF0YSgpKTsKICAgICAg
ICAgCi0gICAgICAgIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZSBzZWxlY3Rpb25DaGFuZ2UoKnN0
cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVlKCkgfSwgeyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRp
b246OlJldmVhbFNlbGVjdGlvbiwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3Jv
bGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6T3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJl
RW5hYmxtZW50IH0pOworICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9u
Q2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2Vs
ZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0aW9u
T3B0aW9uOjpTbW9vdGhTY3JvbGwgfSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKaW5kZXggNGJmZGJiY2E3ZDRlZmU5MTNkMTA0OThiZjRkYzg5NmUyMjY3
NzRkNS4uYzMwYzNkMmM0NTkzYjRjNTNlNDJkYjZlYTk2M2Y4ZTc1M2UxMWVjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcApAQCAtOTM3LDggKzkzNyw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsSW50
b1ZpZXcoc3RkOjpvcHRpb25hbDxWYXJpYW50PGJvb2wsIFNjcm9sbEludG9WaWV3T3B0aW9ucz4+
CiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWCA6IGFsaWduWSwKICAgICAgICAgaXNIb3Jp
em9udGFsID8gYWxpZ25ZIDogYWxpZ25YLAogICAgICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2lu
U2Nyb2xsaW5nOjpObywKLSAgICAgICAgb3B0aW9ucy5iZWhhdmlvci52YWx1ZV9vcihTY3JvbGxC
ZWhhdmlvcjo6QXV0byksCi0gICAgICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpE
ZWZhdWx0CisgICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6
OkF1dG8pCiAgICAgfTsKICAgICByZW5kZXJlcigpLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29s
dXRlQm91bmRzLCBpbnNpZGVGaXhlZCwgdmlzaWJsZU9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3YTE0YzJjODQ5MmM3N2ZiYjk3ODEzZmQwY2RlNGFj
YjQuLmMzYjE5MjVlNjdjZDNjN2FiMzMyNjUxNzVlMmU0OThmMWZkNWVlNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI2NSwxMCArMjY1LDEwIEBAIHZvaWQgVGVtcG9yYXJ5U2Vs
ZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0
aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6RG9Ob3RTZXRGb2N1cyk7
CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6UmV2ZWFsU2Vs
ZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6UmV2ZWFsU2VsZWN0
aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246
OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKICAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5
U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwpCiAgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1l
U2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwotICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCkKLSAg
ICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQpOwogICAgIG1fZG9jdW1lbnQtPnNlbGVjdGlvbigpLnNldFNlbGVjdGlv
bihzZWxlY3Rpb24sIG9wdGlvbnMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCBi
OWQ3MzBiNjdkZjlmZmUzYTk3ZWI4ZGM1Y2FhMzNhMDk1NDYzMzFhLi5mZDU5YmZmYWU3MmQ1ZmFm
OTI0NzIzZWY0NzliMjg1NjA2MDM4OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTEy
MSw3ICsxMjEsNyBAQCBlbnVtIGNsYXNzIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbiA6IHVpbnQ4
X3QgewogICAgIAogICAgIFNtb290aFNjcm9sbCA9IDEgPDwgNCwKICAgICAKLSAgICBPdmVycmlk
ZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQgPSAxIDw8IDUsCisgICAgRGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgPSAxIDw8IDUsCiB9OwogCiBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25DaGFu
Z2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBmY2Q4
MGQxY2JjYTc4YjBhZTQ0MTcyYTM4OWRhN2YzZjNmNTQwNWNkLi4xY2EzYmZiYzkyMWM0NTc5Njg0
YjEwMzUwMmU0YzUzMzJjMjkxMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcApAQCAtMjMyLDYgKzIzMiw5IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om1vdmVX
aXRob3V0VmFsaWRhdGlvblRvKGNvbnN0IFBvc2l0aW9uJiBiYXNlLCBjb25zdCBQb3NpdGlvCiAg
ICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lOgogICAgICAg
ICBvcHRpb25zLmFkZChSZXZlYWxTZWxlY3Rpb25VcFRvTWFpbkZyYW1lKTsKICAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9s
bDoKKyAgICAgICAgb3B0aW9ucy5hZGQoRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpOworICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbiwgb3B0aW9ucywg
bmV3SW50ZW50KTsKIH0KQEAgLTQzMiw2ICs0MzUsOCBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpz
ZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uLCBPcHRpb25TZXQ8
UwogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpS
ZXZlYWxVcFRvTWFpbkZyYW1lOwogICAgIGVsc2UgaWYgKG9wdGlvbnMgJiBSZXZlYWxTZWxlY3Rp
b24pCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6
OlJldmVhbDsKKyAgICBlbHNlIGlmIChvcHRpb25zICYgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwp
CisgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRl
bGVnYXRlTWFpbkZyYW1lU2Nyb2xsOwogICAgIGVsc2UKICAgICAgICAgbV9zZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWw7CiAgICAgbV9hbHdheXNB
bGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9IGFsaWduID09IEFsaWdu
Q3Vyc29yT25TY3JvbGxBbHdheXM7CkBAIC00NDYsNyArNDUxLDcgQEAgdm9pZCBGcmFtZVNlbGVj
dGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0
aW9uU2V0PFMKICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgp
LmlzTGF5b3V0UGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oaW50ZW50LCBvcHRpb25zLmNvbnRhaW5zKFNtb290aFNjcm9sbCkgPyBTY3Jv
bGxCZWhhdmlvcjo6U21vb3RoIDogU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQsIG9wdGlvbnMuY29u
dGFpbnMoT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCkgPyBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUgOiBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCk7CisgICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0
aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNj
cm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKIAogICAgIGlmIChvcHRpb25zICYgSXNVc2VyVHJpZ2dl
cmVkKSB7CiAgICAgICAgIGlmIChhdXRvKiBjbGllbnQgPSBwcm90ZWN0ZWREb2N1bWVudC0+ZWRp
dG9yKCkuY2xpZW50KCkpCkBAIC00NzMsNyArNDc4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6
c2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoUmV2ZWFsU2VsZWN0aW9uQWZ0ZXJVcGRhdGUgcmV2ZWFs
TW8KICAgICAgICAgdmlldy0+c2VsZWN0aW9uKCkuY2xlYXIoKTsKIH0KIAotdm9pZCBGcmFtZVNl
bGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdl
SW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yLCBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFu
Z2VJbnRlbnQmIGludGVudCwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAg
aWYgKCFtX3BlbmRpbmdTZWxlY3Rpb25VcGRhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5MCw3
ICs0OTUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24o
Y29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludAogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxXaGVuUmV2ZWFsaW5n
U2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFsaWdu
bWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKIAotICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9z
ZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZp
b3IsIG92ZXJpZGVGZWF0dXJlRW5hYmxlbWVudCk7CisgICAgICAgIHJldmVhbFNlbGVjdGlvbiht
X3NlbGVjdGlvblJldmVhbE1vZGUsIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50LCBzY3JvbGxCZWhh
dmlvcik7CiAgICAgfQogCiAgICAgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5n
ZShpbnRlbnQpOwpAQCAtMjM5MCw3ICsyMzk1LDcgQEAgSFRNTEZvcm1FbGVtZW50KiBGcmFtZVNl
bGVjdGlvbjo6Y3VycmVudEZvcm0oKSBjb25zdAogICAgIHJldHVybiBzY2FuRm9yRm9ybShzdGFy
dCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50LCBS
ZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBzY3Jv
bGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJl
RW5hYmxlbWVudCkKK3ZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rp
b25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50
LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBz
Y3JvbGxCZWhhdmlvcikKIHsKICAgICBpZiAocmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxN
b2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjQxMyw3ICsyNDE4LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUg
cmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgICAgIGlmICghbV9zY3JvbGxpbmdTdXBw
cmVzc0NvdW50KSB7CiAgICAgICAgICAgICAgICAgYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBsYXll
ci0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFi
bGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAgICAg
ICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KTsKKyAgICAgICAgICAgICAgICBsYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNp
ZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pOwogICAgICAgICAgICAg
ICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcoZmFs
c2UpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICAgICAgICAgICAgICAg
ICBpZiAobV9kb2N1bWVudC0+cGFnZSgpKQpAQCAtMjQyNCw3ICsyNDI5LDcgQEAgdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgcmV2ZWFsTW9k
ZSwgY29uc3QgU2Nyb2wKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBvbmx5IGhhbmRsZXMg
c2Nyb2xsaW5nIHRoZSBzdGFydENvbnRhaW5lcidzIGxheWVyLCBidXQKICAgICAgICAgLy8gdGhl
IHNlbGVjdGlvbiByZWN0IGNvdWxkIGludGVyc2VjdCBtb3JlIHRoYW4ganVzdCB0aGF0LgogICAg
ICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzQ3OTk4OTk+LgotICAgICAgICBpZiAoc3RhcnQu
ZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBp
bnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvciwgb3ZlcnJpZGVGZWF0
dXJlRW5hYmxlbWVudH0pKQorICAgICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVu
ZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxN
b2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGlu
Zzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pKQogICAgICAgICAgICAgdXBkYXRlQXBwZWFyYW5jZSgp
OwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmlu
ZGV4IDkzYTU5ZDU4NjQyNGIyN2Y2YThhODc3MGE0YmZkNTMyMjEyNjI0NjkuLjdlMWQ4OTQ5ZDA3
MTc5NTAxMzcyOTc1OTNkOTE5OWY0N2JlNDk1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJldmVh
bFNlbGVjdGlvbiA9IDEgPDwgNywKICAgICAgICAgUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFt
ZSA9IDEgPDwgOCwKICAgICAgICAgU21vb3RoU2Nyb2xsID0gMSA8PCA5LAotICAgICAgICBPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gMSA8PCAxMAorICAgICAgICBEZWxl
Z2F0ZU1haW5GcmFtZVNjcm9sbCA9IDEgPDwgMTAKICAgICB9OwogICAgIHN0YXRpYyBjb25zdGV4
cHIgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlv
bnMoRVVzZXJUcmlnZ2VyZWQgPSBOb3RVc2VyVHJpZ2dlcmVkKTsKIApAQCAtMjQ4LDcgKzI0OCw3
IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEhUTUxGb3JtRWxlbWVudCogY3VycmVu
dEZvcm0oKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmV2ZWFsU2VsZWN0aW9u
KFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIGNvbnN0
IFNjcm9sbEFsaWdubWVudCYgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQs
IFJldmVhbEV4dGVudE9wdGlvbiA9IERvTm90UmV2ZWFsRXh0ZW50LCBTY3JvbGxCZWhhdmlvciA9
IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9u
UmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25t
ZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVh
bEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZWxlY3Rpb25Gcm9tTm9uZSgpOwogCiAgICAgYm9vbCBz
aG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dCbG9ja0N1
cnNvcjsgfQpAQCAtMjYzLDcgKzI2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUZyb21B
c3NvY2lhdGVkTGl2ZVJhbmdlKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB1cGRhdGVBbmRSZXZl
YWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhhdmlv
ciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVu
dCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpPdmVycmlkZSk7CisgICAgdm9pZCB1
cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBT
Y3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKICAgICB2b2lkIHVwZGF0
ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAogICAgIGJvb2wgc2V0U2VsZWN0aW9uV2l0
aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgT3B0aW9uU2V0
PFNldFNlbGVjdGlvbk9wdGlvbj4sIEN1cnNvckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxhcml0
eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCmluZGV4IGZiZGE1MTA1MWYy
MmJjN2MwOThmNTNmNTI0YTNiZGMxYmVkM2QyOGYuLjg1MWM1OGUyNWE1NWE2NWMyOTFhMGJkMzk0
M2JiMzA2YTM5YzBhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVo
YXZpb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCkBA
IC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCB1c2VTbW9vdGhT
Y3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVt
ZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVycmlkZUZlYXR1cmVFbmFibGVt
ZW50KQorYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVs
ZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50KQogewogICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQzLDcgKzQzLDcgQEAgYm9vbCB1c2VTbW9vdGhT
Y3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVt
ZW50LCBTbW8KICAgICBpZiAoYXNzb2NpYXRlZEVsZW1lbnQgPT0gYXNzb2NpYXRlZEVsZW1lbnQt
PmRvY3VtZW50KCkuc2Nyb2xsaW5nRWxlbWVudCgpKQogICAgICAgICBhc3NvY2lhdGVkRWxlbWVu
dCA9IGFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpOwogCi0g
ICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAob3ZlcnJpZGVGZWF0dXJl
RW5hYmxlbWVudCA9PSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCAmJiAh
YXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhT
Y3JvbGxpbmdFbmFibGVkKCkpKQorICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQtPnJlbmRlcmVy
KCkgfHwgIWFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3
U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20tdmlldy8jc2Nyb2xsaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKaW5kZXggY2NiYTMwOWM3MGVjNGI5YWExNTMxYTk5Mzg0
OGI1MzllOGE3MGNkMy4uZWVlODJlMzEwOGRkZDNhZjRhNmFlZGUwMGNkNTYzYjcxZDEwNDlhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaApAQCAtMzUsOCArMzUsNiBAQCBlbnVt
IGNsYXNzIFNjcm9sbEJlaGF2aW9yIDogdWludDhfdCB7CiAgICAgU21vb3RoCiB9OwogCi1lbnVt
IGNsYXNzIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IDogYm9vbCB7IERlZmF1bHQsIE92
ZXJyaWRlIH07Ci0KLWJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yLCBFbGVt
ZW50KiBhc3NvY2lhdGVkRWxlbWVudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBT
bW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7Citib29sIHVzZVNtb290aFNj
cm9sbGluZyhTY3JvbGxCZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQpOwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApp
bmRleCAwYjFjNDA1NjNlOGNiYjgyMmE5ZmViYTRjMGM0NjVmOGE1NzRhOTNiLi40MjNlNzBlZmVh
ZGJmNTQ2NmJjMGIzNjhlODFjZTI2MTA3MGZiN2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFR5cGVzLmgKQEAgLTI0MSw2ICsyNDEsNyBAQCBlbnVtIGNsYXNzIFNjcm9sbGJhckJ1dHRv
blByZXNzQWN0aW9uIDogdWludDhfdCB7CiBlbnVtIGNsYXNzIFNlbGVjdGlvblJldmVhbE1vZGUg
OiB1aW50OF90ICB7CiAgICAgUmV2ZWFsLAogICAgIFJldmVhbFVwVG9NYWluRnJhbWUsIC8vIFNj
cm9sbCBvdmVyZmxvdyBhbmQgaWZyYW1lcywgYnV0IG5vdCB0aGUgbWFpbiBmcmFtZS4KKyAgICBE
ZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgLy8gU2ltaWxhciB0byBSZXZlYWxVcFRvTWFpbkZyYW1l
LCBidXQgbWFrZSBzdXJlIHRvIG1hbnVhbGx5IGNhbGwgdGhlIG1haW4gZnJhbWUgc2Nyb2xsLgog
ICAgIERvTm90UmV2ZWFsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAppbmRleCAxNjFjMjYyZjA1ZTI2ZTg5ODA4ZjkwZDkwZmYyMTBkMWY2MTk5MDYzLi4zZDk3
OTg5MTRmZjgxNmZjZTgzZjFkNzcxODVjODQxOWZhYzJkMjZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI0MDUsNyArMjQwNSw3IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkCiAgICAgYXV0byBzY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnNGb3JFbGVt
ZW50ID0gW3RoaXMsIG9wdGlvbnNdKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgewogICAgICAgICBh
dXRvIHNjcm9sbFBvc2l0aW9uT3B0aW9ucyA9IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6
Y3JlYXRlUHJvZ3JhbW1hdGljKCk7Ci0gICAgICAgIGlmICghcmVuZGVyZXIoKS5mcmFtZSgpLmV2
ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkgJiYgZWxlbWVudCAmJiB1c2VTbW9v
dGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgZWxlbWVudCwgb3B0aW9ucy5vdmVycmlkZUZl
YXR1cmVFbmFibGVtZW50KSkKKyAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRI
YW5kbGVyKCkuYXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNj
cm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBlbGVtZW50KSkKICAgICAgICAgICAgIHNjcm9sbFBv
c2l0aW9uT3B0aW9ucy5hbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgIHJl
dHVybiBzY3JvbGxQb3NpdGlvbk9wdGlvbnM7CiAgICAgfTsKQEAgLTI0NzcsNiArMjQ3NywxMSBA
QCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3Qm
IGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV2ZWFs
TW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lICYmIGZyYW1l
Vmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCisg
ICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVhbE1vZGU6
OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsICYmIGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1l
KCkpIHsKKyAgICAgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsUmVjdEludG9WaWV3
KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgYXV0byBtaW5TY3JvbGxQb3NpdGlvbiA9IGZy
YW1lVmlldy5taW5pbXVtU2Nyb2xsUG9zaXRpb24oKTsKICAgICAgICAgICAgIGF1dG8gbWF4U2Ny
b2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWF4aW11bVNjcm9sbFBvc2l0aW9uKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMGRkY2ZlZWUwNjAzZGM5NWFiZDcw
M2NmYzk4YTczYzE2MmI1YTNmZS4uMmJiNjJjNWI4MDc1MGNhZmRjYzg3YWMzODFiNDVlOWJlNGQ0
ZTg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE0MSw3ICsx
NDEsNiBAQCBzdHJ1Y3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMgewogICAgIGNvbnN0IFNj
cm9sbEFsaWdubWVudCYgYWxpZ25ZIHsgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVl
ZGVkIH07CiAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZyBzaG91bGRBbGxvd0Ny
b3NzT3JpZ2luU2Nyb2xsaW5nIHsgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8g
fTsKICAgICBTY3JvbGxCZWhhdmlvciBiZWhhdmlvciB7IFNjcm9sbEJlaGF2aW9yOjpBdXRvIH07
Ci0gICAgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxl
bWVudCB7IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0IH07CiB9OwogCiB1
c2luZyBTY3JvbGxpbmdTY29wZSA9IHVpbnQ2NF90OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA5YjAxZjQwMjI3MTUyMTAy
ZTQ3ZTZjYzI1ZGJkYjI2MWQxNzdiZjliLi4zZDcxMzk2ZWJlM2I3OGMzZWYwZmIwNjJmNDZlYzdk
MGQ2ZWEwNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbQpAQCAtNzA3LDYgKzcwNywxNiBAQCBOU0RpY3Rpb25hcnkgKldlYlBh
Z2VQcm94eTo6Y29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtKE5TU3RyaW5nICp1c2VySW50ZXJm
YWNlSQogICAgIHJldHVybiBuaWw7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAg
ICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOwor
fQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0
LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbiksIDApOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggODJlMzgyODAz
N2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2MDdhODY5OGYyYjJkYzgwYTU1
NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVyZUV2
ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2ZW50ICopOwogCiAgICAg
dm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAgICB2b2lkIHNjcm9sbFRv
UmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQpOwogCiAgICAgdm9p
ZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKSB7
IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9mQmFubmVyczsgfQogICAgIENH
RmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsSGVpZ2h0
T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYzODdmYzY0ZGE2Y2MuLjZkZGJj
ZTIwM2I3MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcwLDYgKzI1NzAsMTEgQEAgdm9p
ZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lTdGF0ZSgpCiAKICNlbmRpZiAv
LyBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIAordm9pZCBX
ZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3BhZ2UtPnNjcm9sbFRvUmVjdCh0
YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZpZXdJbXBsOjpoaXRUZXN0KENH
UG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0gW21fdmlldyBfd2ViX3N1cGVy
SGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2OGYzNmM1MDVjYzY4ODk2NzQ1
Li45Nzk4YWQwN2Q5Y2EzNjcwOGNlMTI3MzBjODQzOGMyY2Y4YWM5NmI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcgQEAgcHVibGljOgogI2lmIEVO
QUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVBcHBIaWdobGlnaHQo
Y29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2VuZGlmCisgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdl
YkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSA9IDA7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JHZXN0dXJlUmVjb2duaXplcihVSUdlc3R1
cmVSZWNvZ25pemVyKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IGQxYTVmYzM4ZWE3Yzk1ZmVhNjM0ZDg1Y2Q5YmQxNzBkYTY1YjE5ZjguLmI0MjZmZTY3OTFh
YTJmN2ZmMWIyYmVkOGM3YWViZjFlNDg1MDFmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCkBAIC05MDcsNyArOTA3LDEwIEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgdmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgYWNjZXNzaWJpbGl0eVZpZXdDb29yZGluYXRlcyk7CiAgICAgdm9pZCBzZXRN
YWluRnJhbWVJc1Njcm9sbGFibGUoYm9vbCk7Ci0KKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0
U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbik7CisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0
IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKKyAgICAgICAgCiAgICAg
dm9pZCBzZW5kQ29tcGxleFRleHRJbnB1dFRvUGx1Z2luKHVpbnQ2NF90IHBsdWdpbkNvbXBsZXhU
ZXh0SW5wdXRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHRleHRJbnB1dCk7CiAgICAgYm9vbCBz
aG91bGREZWxheVdpbmRvd09yZGVyaW5nRm9yRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOwog
ICAgIGJvb2wgYWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBXZWJNb3Vz
ZUV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggZGI1YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2ZDk2ZS4u
NjUyNDkzZGY0Mjk1ZjcwMzg1NzUzZjZjMDZjMjc5Y2E3ZTM0ZTljYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTEwLDYgKzUx
MCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAgICBEaWRSZXN0
b3JlU2Nyb2xsUG9zaXRpb24oKQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFJlcXVl
c3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UG9pbnQgb3JpZ2luKQorI2VuZGlmCiAKICAgICBHZXRMb2FkRGVjaXNpb25Gb3JJY29uKHN0
cnVjdCBXZWJDb3JlOjpMaW5rSWNvbiBpY29uLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJ
RCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
aAppbmRleCA0NjIwZTc1ZDBhNTU2NTZlODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0Li5kMDA1NDYz
OTg3ZDEwYzU3NzA0ZmYyNGRjMWRhOTExNWQ1NjAyNDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjE0LDcgKzIxNCw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RpZFNjcm9sbCgpIG92ZXJy
aWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFdpbGxTdGFydFNjcm9sbCgpIG92ZXJy
aWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbERpZEVuZFNjcm9sbCgpIG92ZXJyaWRl
OwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9h
dFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92ZXJyaWRlOwog
ICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgZnVsbFNjcmVlbk1hbmFn
ZXJQcm94eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4MWZlM2E1MTRmN2Q4NzJiMzE4
NTc0OGQ4Yzc2MTdlYzMuLjczMDRkN2ZiODQ2NzQ2MTljYzhhNmRhOGY0ODdhYzBiZTg0Mjg4MjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KQEAgLTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xvciBQYWdlQ2xpZW50SW1wbDo6
Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBbbV9jb250ZW50VmlldyBi
YWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVl
c3RTY3JvbGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdldFJlY3QsIEZsb2F0UG9pbnQgb3JpZ2luKQor
eworICAgIFttX2NvbnRlbnRWaWV3IF9zY3JvbGxUb1JlY3Q6dGFyZ2V0UmVjdCB3aXRoT3JpZ2lu
Om9yaWdpbiBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6MF07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggNmM1YzRlMzljNjE0ODNk
YWU5MGU2OTJjYzc4NjY5ZGFiNzQ5ZTVkYS4uZTdkYzVhYzljNWQ0MmJlMWE1YTI5ZDc3MzA0MTlj
NDA3YTliYzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShEQVRB
X0RFVEVDVElPTikKICAgICB2b2lkIGhhbmRsZUNsaWNrRm9yRGF0YURldGVjdGlvblJlc3VsdChj
b25zdCBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYsIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JikgZmluYWw7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xs
VG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50
IG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmlldzsKICAgICBXZWFrUHRyPFdl
YlZpZXdJbXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5OTkyOTRmODE1YzdjMWY2N2Iz
OGZkM2MyYy4uN2Y4MjFkMzJlN2M2YTNkOThlNjViZmEwZjU4NDgyYmNmZTcwNmNmMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAt
OTcyLDYgKzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZXN0b3JlU2Nyb2xsUG9z
aXRpb24oKQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CiB9CiAKK3Zv
aWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0
IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQoreworICAgIC8vIEZJWE1F
OiBBZGQgYWRkaXRpb25hbCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4KKyAgICBtX2ltcGwtPnNj
cm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29sIFBhZ2VDbGllbnRJbXBs
Ojp3aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50
JiBldmVudCkKIHsKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2luZG93VW5kZXJN
b3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggODlm
MDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZC4uYjA2YmI1Y2FmNjI5Y2E0MGYz
MzlmYzk3NGNmODJkNzc1ZDlkOGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQyLDYg
KzQyLDcgQEAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgorI2luY2x1
ZGUgIlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlVz
ZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQ29sb3JDaG9vc2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC02NTUsOSArNjU2LDkgQEAgdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXpl
KSBjb24KICAgICB9CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1Zp
ZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVj
dEludG9WaWV3KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0U2Ny
b2xsVG9SZWN0KHJlY3QsIHJlY3QuY2VudGVyKCkpKTsKIH0KIAogYm9vbCBXZWJDaHJvbWVDbGll
bnQ6OnNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFJlbmRlckVtYmVkZGVk
T2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVnaW5VbmF2YWlsYWJpbGl0eVJl
YXNvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGU3YzJm
N2YyOTYwYzczOWQwZjAwMTQ3YTM5ZGMxMzU5NWNkYjE5YWUuLjBlMmM2ZTJhYjY0OGM2ZDU5MmFh
ODMxYTIwOWRmMmRmN2VjZmM1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aApAQCAtNTQ0LDYgKzU0NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29uc3VtZUF1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgog
ICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6
OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisjZW5k
aWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxp
YXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggNjM3MTUzNTAyZmQ5NDRjYzlmYzY2YWEyYTYwYWE4MmU3ZTQxNTVi
NS4uMTQ2ZDEzNzU0YTBkZDBiOTJmZjA3NmNhYTQ0OGY4MjdhY2Y5NGYyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTIwMyw2ICsy
MDMsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3Vu
dGVkIHsKICAgICBBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RydWN0IFdlYktp
dDo6QWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzIGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcykKICNl
bmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgU2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZs
b2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKKyNlbmRpZgor
CiAjaWYgSEFWRShNRURJQV9BQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKICAgICBTZXRNZWRpYUFj
Y2Vzc2liaWxpdHlQcmVmZXJlbmNlcyhXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpD
YXB0aW9uRGlzcGxheU1vZGUgZGlzcGxheU1vZGUsIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlcykK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0KaW5kZXggYTY2NzIxMDRhMmExMzRkMDMwOTVjMjI2ZDU4Mzc1OTRkZDdlMzBjZi4u
ZDkzNjcxOTFkNzJjNGIzYTNlNDZlNzliODM3MzgxYTM4N2U5ZDhhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNDE3LDYg
KzE0MTcsMTMgQEAgdm9pZCBXZWJQcm9jZXNzOjpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3Ry
YXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGEKICAgICAgICAgV0VCUFJPQ0VTU19S
RUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiQ291bGQgbm90IGFwcGx5IEF1ZGlvQ29tcG9uZW50
IHJlZ2lzdHJhdGlvbnMsIGVyciglbGQpIiwgc3RhdGljX2Nhc3Q8bG9uZz4oZXJyKSk7CiB9CiAK
K3ZvaWQgV2ViUHJvY2Vzczo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRS
ZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBXZWJQYWdlKiBwYWdlID0g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZm9jdXNlZFdlYlBhZ2UoKTsKKyAgICBpZiAocGFnZSkK
KyAgICAgICAgcGFnZS0+bWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2lu
dCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19TRVNTSU9OX0lECg==
</data>
<flag name="commit-queue"
          id="455738"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433487</attachid>
            <date>2021-07-13 22:27:39 -0700</date>
            <delta_ts>2021-07-13 22:32:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713222738.patch</filename>
            <type>text/plain</type>
            <size>39407</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uN2M4OTExNGYyMmNiZmFhOTU3YjBjMWVjYTc0MmFj
YmUzNWExMmUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5
IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBu
ZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBh
dGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0
bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2Uu
CisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9s
bGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQg
dG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rpbmcg
aXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcEhpZ2hsaWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3Jv
bGwpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbEludG9WaWV3KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2U6OnNldFNlbGVjdGlvbik6Cisg
ICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZh
bGlkYXRpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVj
dGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIHBh
Z2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAgICAgICogcGFnZS9TY3JvbGxCZWhh
dmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoK
KwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2VydmVyIG1lbW9yeSBsZWFrIG9uIGRl
dGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkYWY5OTZhOGEx
Zjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi42ZDYxMTYwZWI2ZTExZjFlY2FhNGI2Mzlj
OWI2MTYzZmMzM2IzZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA3LTEzICBN
ZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBB
cHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24g
Zm9yIE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVy
bGF5IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3
ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlz
IHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNo
b3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFu
Y2UuCisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNj
cm9sbGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5l
ZWQgdG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rp
bmcgaXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uIAorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVx
dWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEtMDctMDkgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBbGxvdyB0aGUgVUlQcm9jZXNzIHRvIHNldCBs
b2dnaW5nIHBhcmFtZXRlcnMgaW4gdGhlIEdQVVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwppbmRleCBmMmJlNGFjZmU3ZDRmNWNiYzBmYjg4ZjgyZjY0OWI1NzE4MTI1YWQxLi5kNWU2
ODYyNjYwYzFlY2FiZDhjYWE1MDBmYjI0OWUwODc1ZTBmZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxt
ZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Ny
b2xsaW5nIHRocm91Z2ggVUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBQaXAgYXZv
aWRhbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3OTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNjcm9s
bE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMDYtMjUgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjc5MjY2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGMzMjA5
ZjQ5YTAzYTBkMTJkY2VjZTdjMmJmM2M3ZjJlMzEwYjYwZjQuLjM2OGIyNzk3NWZmMTg1Y2EwMDQy
MzE5NmI4YjNkZTgzYzA1OTJjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBV
SSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9u
b3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250
ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0NvbnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3
ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFhOTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJk
ODM4NGYzMDdiZjM4YTBlODEzNjkxNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3
MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdo
dEFuZFNjcm9sbChBcHBIaWdobGlnaHRSYW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9y
KQogICAgICAgICAgICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRU
ZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBU
ZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwg
eyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxl
Y3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsK
KyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25n
RG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUoKSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6
RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3Ro
U2Nyb2xsIH0pOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEzZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJj
NDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
QEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0
aW9uYWw8VmFyaWFudDxib29sLCBTY3JvbGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hv
cml6b250YWwgPyBhbGlnblggOiBhbGlnblksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWdu
WSA6IGFsaWduWCwKICAgICAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8s
Ci0gICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8p
LAotICAgICAgICBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAg
ICBvcHRpb25zLmJlaGF2aW9yLnZhbHVlX29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07
CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5z
aWRlRml4ZWQsIHZpc2libGVPcHRpb25zKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApp
bmRleCA4NjM3MTYzN2ExNGMyYzg0OTJjNzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3
Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFmZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBAQCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6
c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAg
b3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29w
dGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAg
ICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYg
KG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwpCisgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5G
cmFtZVNjcm9sbCk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlv
bjo6U21vb3RoU2Nyb2xsKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21v
b3RoU2Nyb2xsKTsKLSAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9u
OjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50
KTsKICAgICBtX2RvY3VtZW50LT5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBv
cHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZl
M2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMxYS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4
NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAg
ZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAg
ICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQsCiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0g
MSA8PCA1LAogfTsKIAogY2xhc3MgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0
NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4uMWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMy
YzI5MTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAg
LTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRp
b25Ubyhjb25zdCBQb3NpdGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0
aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQo
UmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
U2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9w
dGlvbnMuYWRkKERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9
CkBAIC00MzIsNiArNDM1LDggQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNv
bnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9z
ZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5G
cmFtZTsKICAgICBlbHNlIGlmIChvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBt
X3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAg
ZWxzZSBpZiAob3B0aW9ucyAmIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3Nl
bGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFt
ZVNjcm9sbDsKICAgICBlbHNlCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVj
dGlvblJldmVhbE1vZGU6OkRvTm90UmV2ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNj
cm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xs
QWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVj
dGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAg
aWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRp
bmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGlu
dGVudCwgb3B0aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNt
b290aCA6IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQp
OworICAgIHVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMo
U21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJlaGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6
SW5zdGFudCk7CiAKICAgICBpZiAob3B0aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAg
ICBpZiAoYXV0byogY2xpZW50ID0gcHJvdGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgp
KQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0
aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlvbkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZp
ZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0
ZUFuZFJldmVhbFNlbGVjdGlvbihjb25zdCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50
LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFibGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBk
YXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRl
bnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5n
U2VsZWN0aW9uVXBkYXRlKQogICAgICAgICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50
ID0gbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNj
cm9sbEFsaWdubWVudDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9F
ZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFs
TW9kZSwgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVh
dHVyZUVuYWJsZW1lbnQpOworICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZl
YWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0K
IAogICAgIG5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAg
LTIzOTAsNyArMjM5NSw3IEBAIEhUTUxGb3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJl
bnRGb3JtKCkgY29uc3QKICAgICByZXR1cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lk
IEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZl
YWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0
aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2
b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSBy
ZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50
T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3Ip
CiB7CiAgICAgaWYgKHJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZl
YWwpCiAgICAgICAgIHJldHVybjsKQEAgLTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxl
Y3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNv
bnN0IFNjcm9sCiAgICAgICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewog
ICAgICAgICAgICAgICAgIGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVy
U2Nyb2xsYWJsZUFyZWEoKTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRq
dXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVy
LT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJlY3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFs
aWdubWVudCwgYWxpZ25tZW50LCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMs
IHNjcm9sbEJlaGF2aW9yLCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAg
ICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2
ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3Jv
bGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxl
QXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAg
ICAgICAgICB1cGRhdGVBcHBlYXJhbmNlKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1l
bnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyArMjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJl
dmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9s
CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUg
c3RhcnRDb250YWluZXIncyBsYXllciwgYnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVj
dCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxy
ZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4KLSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2Rl
KCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9s
bFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50
LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xs
QmVoYXZpb3J9KSkKICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0
MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIxMjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkz
ZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5o
CkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAx
IDw8IDcsCiAgICAgICAgIFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAg
ICAgICAgIFNtb290aFNjcm9sbCA9IDEgPDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCA9IDEgPDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwgPSAxIDw8IDEwCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxT
ZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dl
cmVkID0gTm90VXNlclRyaWdnZXJlZCk7CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBIVE1MRm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1l
bnQmID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRP
cHRpb24gPSBEb05vdFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlv
cjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJl
dmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50
ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9s
bEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5vbmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2Nr
Q3Vyc29yKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2
Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVS
YW5nZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhh
dmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFs
U2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3Ig
PSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3Jz
Rm9yU2VsZWN0aW9uKCk7CiAKICAgICBib29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0Fw
cGVhcmFuY2UoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25P
cHRpb24+LCBDdXJzb3JBbGlnbk9uU2Nyb2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmgKaW5kZXggMTVhNDkxYjg0YzIwNmRkOGI1MWFkYzZlZTFkYjY4ODhiN2Y0M2U3OC4uNDY2
YjNlOThkNjMxNDA4NzJhZTI2NmE3M2ZlODNmOWYwYTBhODNkMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
CkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAgICBGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVu
U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEZsb2F0U2l6ZSBvdmVycmlkZVNjcmVlblNpemUo
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25z
dCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUm
LCBjb25zdCBJbnRTaXplJikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmlu
ZGV4IGE4OTY4Yzk0NGU0YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMuLjEyMTYzZTBiM2Rh
ODEzNzk2NGI3NmUwMTJhMmE1MDJkZjU5NzE3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaApAQCAtMjI4LDcgKzIyOCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjb250
ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikg
Y29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50
UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxS
ZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdCB7IH07IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMg
YSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVW5h
dmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oUmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdp
blVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoRWxlbWVudCYsIFJlbmRlckVt
YmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCmluZGV4IGZiZGE1MTA1MWYyMmJjN2MwOThm
NTNmNTI0YTNiZGMxYmVkM2QyOGYuLjg1MWM1OGUyNWE1NWE2NWMyOTFhMGJkMzk0M2JiMzA2YTM5
YzBhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCkBAIC0zMyw3ICsz
Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmco
U2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50LCBTbW9v
dGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50KQorYm9v
bCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFz
c29jaWF0ZWRFbGVtZW50KQogewogICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTQzLDcgKzQzLDcgQEAgYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmco
U2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50LCBTbW8K
ICAgICBpZiAoYXNzb2NpYXRlZEVsZW1lbnQgPT0gYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50
KCkuc2Nyb2xsaW5nRWxlbWVudCgpKQogICAgICAgICBhc3NvY2lhdGVkRWxlbWVudCA9IGFzc29j
aWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpOwogCi0gICAgaWYgKCFh
c3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAob3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVu
dCA9PSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCAmJiAhYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdF
bmFibGVkKCkpKQorICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQtPnJlbmRlcmVyKCkgfHwgIWFz
c29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3U21vb3RoU2Ny
b2xsaW5nRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20tdmlldy8jc2Nyb2xsaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nj
cm9sbEJlaGF2aW9yLmgKaW5kZXggY2NiYTMwOWM3MGVjNGI5YWExNTMxYTk5Mzg0OGI1MzllOGE3
MGNkMy4uZWVlODJlMzEwOGRkZDNhZjRhNmFlZGUwMGNkNTYzYjcxZDEwNDlhOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaApAQCAtMzUsOCArMzUsNiBAQCBlbnVtIGNsYXNzIFNj
cm9sbEJlaGF2aW9yIDogdWludDhfdCB7CiAgICAgU21vb3RoCiB9OwogCi1lbnVtIGNsYXNzIFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IDogYm9vbCB7IERlZmF1bHQsIE92ZXJyaWRlIH07
Ci0KLWJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yLCBFbGVtZW50KiBhc3Nv
Y2lhdGVkRWxlbWVudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7Citib29sIHVzZVNtb290aFNjcm9sbGluZyhT
Y3JvbGxCZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQpOwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCAwYjFj
NDA1NjNlOGNiYjgyMmE5ZmViYTRjMGM0NjVmOGE1NzRhOTNiLi40MjNlNzBlZmVhZGJmNTQ2NmJj
MGIzNjhlODFjZTI2MTA3MGZiN2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmgKQEAgLTI0MSw2ICsyNDEsNyBAQCBlbnVtIGNsYXNzIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0
aW9uIDogdWludDhfdCB7CiBlbnVtIGNsYXNzIFNlbGVjdGlvblJldmVhbE1vZGUgOiB1aW50OF90
ICB7CiAgICAgUmV2ZWFsLAogICAgIFJldmVhbFVwVG9NYWluRnJhbWUsIC8vIFNjcm9sbCBvdmVy
ZmxvdyBhbmQgaWZyYW1lcywgYnV0IG5vdCB0aGUgbWFpbiBmcmFtZS4KKyAgICBEZWxlZ2F0ZU1h
aW5GcmFtZVNjcm9sbCwgLy8gU2ltaWxhciB0byBSZXZlYWxVcFRvTWFpbkZyYW1lLCBidXQgbWFr
ZSBzdXJlIHRvIG1hbnVhbGx5IGNhbGwgdGhlIG1haW4gZnJhbWUgc2Nyb2xsLgogICAgIERvTm90
UmV2ZWFsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRl
eCAxNjFjMjYyZjA1ZTI2ZTg5ODA4ZjkwZDkwZmYyMTBkMWY2MTk5MDYzLi42YmE3ODUyMDg4YWJk
NzAxNmYyMWNlYjRiYmUxNzM2MWUzZWE3ZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKQEAgLTI0MDUsNyArMjQwNSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGlu
c2lkCiAgICAgYXV0byBzY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnNGb3JFbGVtZW50ID0gW3Ro
aXMsIG9wdGlvbnNdKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgewogICAgICAgICBhdXRvIHNjcm9s
bFBvc2l0aW9uT3B0aW9ucyA9IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJv
Z3JhbW1hdGljKCk7Ci0gICAgICAgIGlmICghcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxl
cigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkgJiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxp
bmcob3B0aW9ucy5iZWhhdmlvciwgZWxlbWVudCwgb3B0aW9ucy5vdmVycmlkZUZlYXR1cmVFbmFi
bGVtZW50KSkKKyAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBlbGVtZW50KSkKICAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uT3B0
aW9ucy5hbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgIHJldHVybiBzY3Jv
bGxQb3NpdGlvbk9wdGlvbnM7CiAgICAgfTsKQEAgLTI0NzcsNiArMjQ3NywxMSBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lICYmIGZyYW1lVmlldy5mcmFt
ZSgpLmlzTWFpbkZyYW1lKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgICAg
ICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVhbE1vZGU6OkRlbGVnYXRl
TWFpbkZyYW1lU2Nyb2xsICYmIGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkpIHsKKyAg
ICAgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0
KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgYXV0byBtaW5TY3JvbGxQb3NpdGlvbiA9IGZy
YW1lVmlldy5taW5pbXVtU2Nyb2xsUG9zaXRpb24oKTsKICAgICAgICAgICAgIGF1dG8gbWF4U2Ny
b2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWF4aW11bVNjcm9sbFBvc2l0aW9uKCk7CiAKQEAgLTI1
MTIsMTEgKzI1MTcsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFn
ZSwgc28gYWZ0ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3ZQotICAgICAgICAgICAgLy8gc2Nyb2xs
IGl0cyBjb250YWluZXIgYnkgY2FsbGluZyBQYWdlOjpzY3JvbGxSZWN0SW50b1ZpZXcuCisgICAg
ICAgICAgICAvLyBzY3JvbGwgaXRzIGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdC4KICAgICAgICAgICAgIC8vIFRoaXMgb25seSBoYXMgYW4gZWZm
ZWN0IG9uIHRoZSBNYWMgcGxhdGZvcm0gaW4gYXBwbGljYXRpb25zCiAgICAgICAgICAgICAvLyB0
aGF0IHB1dCB3ZWIgdmlld3MgaW50byBzY3JvbGxpbmcgY29udGFpbmVycywgc3VjaCBhcyBNYWMg
T1MgWCBNYWlsLgogICAgICAgICAgICAgLy8gVGhlIGNhbkF1dG9zY3JvbGwgZnVuY3Rpb24gaW4g
RXZlbnRIYW5kbGVyIGFsc28ga25vd3MgYWJvdXQgdGhpcy4KLSAgICAgICAgICAgIHBhZ2UoKS5j
aHJvbWUoKS5zY3JvbGxSZWN0SW50b1ZpZXcoc25hcHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7
CisgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0
KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkpOwogICAgICAgICB9CiAgICAgfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAwZGRjZmVlZTA2MDNkYzk1
YWJkNzAzY2ZjOThhNzNjMTYyYjVhM2ZlLi4yYmI2MmM1YjgwNzUwY2FmZGNjODdhYzM4MWI0NWU5
YmU0ZDRlODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMTQx
LDcgKzE0MSw2IEBAIHN0cnVjdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyB7CiAgICAgY29u
c3QgU2Nyb2xsQWxpZ25tZW50JiBhbGlnblkgeyBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVy
SWZOZWVkZWQgfTsKICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nIHNob3VsZEFs
bG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgeyBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5n
OjpObyB9OwogICAgIFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yIHsgU2Nyb2xsQmVoYXZpb3I6OkF1
dG8gfTsKLSAgICBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVycmlkZUZlYXR1cmVF
bmFibGVtZW50IHsgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQgfTsKIH07
CiAKIHVzaW5nIFNjcm9sbGluZ1Njb3BlID0gdWludDY0X3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDIwZTg4ZDM4MTQw
YjllOWYyZDNiZGE0MTdkMDdhMGNlMjY0NWU1OTguLjI2MWQ3OGI3ZDlhODMxZjJiMzBlMDk5MTAz
OTRkOGNjN2IyMzE5MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvUGFnZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvUGFnZUNsaWVudEltcGwuY3BwCkBAIC05Nyw2ICs5NywxMiBAQCB2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpyZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBjb25zdCBXZWJD
b3JlOjpJbgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKKygpCit2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBXZWJDb3JlOjpG
bG9hdFBvaW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBXZWJDb3JlOjpGbG9h
dFBvaW50IFBhZ2VDbGllbnRJbXBsOjp2aWV3U2Nyb2xsUG9zaXRpb24oKQogewogICAgIHJldHVy
biB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VD
bGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmgKaW5kZXggNTZmNTk0ZmFhNmI2NDljYWJkMjk4NzU0ZDdkYTJmMjU4YmYzNzBkNy4uMjI4
M2NlNGYxYjRkMWY1NWZhMTRkNGM0YzNlZThmYzg4NGMwNjk2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaApAQCAtNjMsNiArNjMsNyBA
QCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxEcmF3aW5nQXJlYVByb3h5PiBjcmVhdGVE
cmF3aW5nQXJlYVByb3h5KFdlYlByb2Nlc3NQcm94eSYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0
Vmlld05lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpSZWdpb24mKSBvdmVycmlkZTsKICAgICB2
b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRp
b24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxPcmlnaW4pIG92ZXJyaWRlOworICAg
IHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwg
V2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkZsb2F0
UG9pbnQgdmlld1Njcm9sbFBvc2l0aW9uKCkgb3ZlcnJpZGU7CiAgICAgV2ViQ29yZTo6SW50U2l6
ZSB2aWV3U2l6ZSgpIG92ZXJyaWRlOwogICAgIGJvb2wgaXNWaWV3V2luZG93QWN0aXZlKCkgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCmluZGV4IDliMDFmNDAyMjcxNTIxMDJlNDdlNmNjMjVkYmRiMjYxZDE3N2JmOWIu
LjNkNzEzOTZlYmUzYjc4YzNlZjBmYjA2MmY0NmVjN2QwZDZlYTA0MTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC03MDcs
NiArNzA3LDE2IEBAIE5TRGljdGlvbmFyeSAqV2ViUGFnZVByb3h5Ojpjb250ZW50c09mVXNlcklu
dGVyZmFjZUl0ZW0oTlNTdHJpbmcgKnVzZXJJbnRlcmZhY2VJCiAgICAgcmV0dXJuIG5pbDsKIH0K
IAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdl
dFJlY3QsIEZsb2F0UG9pbnQgb3JpZ2luKQoreworICAgIHBhZ2VDbGllbnQoKS5yZXF1ZXN0U2Ny
b2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojpz
Y3JvbGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdldFJlY3QsIEZsb2F0UG9pbnQgb3JpZ2luKQorewor
ICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTY3JvbGxUb1JlY3QodGFy
Z2V0UmVjdCwgb3JpZ2luKSwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5k
ZWYgTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaAppbmRleCA4MmUzODI4MDM3YjA2NGY1YmQzNmI3ZGQ1MzZjNjBhMGEy
OTMzYWEwLi41MjI5ODYwN2E4Njk4ZjJiMmRjODBhNTU2NGNiNTZkNWEyZWQ4YTRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAgLTU0Niw2ICs1NDYs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXN0dXJlRXZlbnRXYXNOb3RIYW5kbGVkQnlXZWJDb3Jl
RnJvbVZpZXdPbmx5KE5TRXZlbnQgKik7CiAKICAgICB2b2lkIGRpZFJlc3RvcmVTY3JvbGxQb3Np
dGlvbigpOworICAgIAorICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCwg
V2ViQ29yZTo6RmxvYXRQb2ludCk7CiAKICAgICB2b2lkIHNldFRvdGFsSGVpZ2h0T2ZCYW5uZXJz
KENHRmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMpIHsgbV90b3RhbEhlaWdodE9mQmFubmVycyA9
IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzOyB9CiAgICAgQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVy
cygpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggNWZiZWJhNGYxNmUzMTY3
N2ViMWRmZWRhMjA5NjM4N2ZjNjRkYTZjYy4uNmRkYmNlMjAzYjcxODVmMjQxZjZkMzAzZDYyY2Q0
M2UyMzZkNGY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0lt
cGwubW0KQEAgLTI1NzAsNiArMjU3MCwxMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUaXRs
ZWJhckFkamFjZW5jeVN0YXRlKCkKIAogI2VuZGlmIC8vIEhBVkUoTlNTQ1JPTExWSUVXX1NFUEFS
QVRPUl9UUkFDS0lOR19BREFQVEVSKQogCit2b2lkIFdlYlZpZXdJbXBsOjpzY3JvbGxUb1JlY3Qo
V2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2lu
KQoreworICAgIG1fcGFnZS0+c2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisK
IE5TVmlldyAqV2ViVmlld0ltcGw6OmhpdFRlc3QoQ0dQb2ludCBwb2ludCkKIHsKICAgICBOU1Zp
ZXcgKmhpdFZpZXcgPSBbbV92aWV3IF93ZWJfc3VwZXJIaXRUZXN0Ok5TUG9pbnRGcm9tQ0dQb2lu
dChwb2ludCldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDA4Y2MyODkw
Mzk5MjRkMzM3NDg5MzY4ZjM2YzUwNWNjNjg4OTY3NDUuLjk3OThhZDA3ZDljYTM2NzA4Y2UxMjcz
MGM4NDM4YzJjZjhhYzk2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAg
LTYxMiw2ICs2MTIsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAg
IHZpcnR1YWwgdm9pZCBzdG9yZUFwcEhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpBcHBIaWdobGln
aHQmKSA9IDA7CiAjZW5kaWYKKyAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChX
ZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4p
ID0gMDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2lu
dGVyc0Zvckdlc3R1cmVSZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIqKSB7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZDFhNWZjMzhlYTdjOTVmZWE2MzRk
ODVjZDliZDE3MGRhNjViMTlmOC4uYjQyNmZlNjc5MWFhMmY3ZmYxYjJiZWQ4YzdhZWJmMWU0ODUw
MWYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTkwNyw3ICs5
MDcsMTAgQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgd2luZG93QW5k
Vmlld0ZyYW1lc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aWV3RnJhbWVJbldp
bmRvd0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBhY2Nlc3NpYmlsaXR5
Vmlld0Nvb3JkaW5hdGVzKTsKICAgICB2b2lkIHNldE1haW5GcmFtZUlzU2Nyb2xsYWJsZShib29s
KTsKLQorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6Rmxv
YXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKKyAgICB2b2lk
IHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6Rmxv
YXRQb2ludCBvcmlnaW4pOworICAgICAgICAKICAgICB2b2lkIHNlbmRDb21wbGV4VGV4dElucHV0
VG9QbHVnaW4odWludDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdGV4dElucHV0KTsKICAgICBib29sIHNob3VsZERlbGF5V2luZG93T3JkZXJpbmdG
b3JFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50Jik7CiAgICAgYm9vbCBhY2NlcHRzRmlyc3RNb3Vz
ZShpbnQgZXZlbnROdW1iZXIsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkYjViNTZlZjIz
NTIwOWVhMTczOTQ2OWE5MTE2MTQwZTI5NzZkOTZlLi42NTI0OTNkZjQyOTVmNzAzODU3NTNmNmMw
NmMyNzljYTdlMzRlOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01MTAsNiArNTEwLDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2VQcm94eSB7CiAjZW5kaWYKIAogICAgIERpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCisgICAg
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgUmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpG
bG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCisjZW5kaWYK
IAogICAgIEdldExvYWREZWNpc2lvbkZvckljb24oc3RydWN0IFdlYkNvcmU6OkxpbmtJY29uIGlj
b24sIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDQ2MjBlNzVkMGE1NTY1NmU4
MjIzYmM3MDZkMzI1YmIwODcxMGUwODQuLmQwMDU0NjM5ODdkMTBjNTc3MDRmZjI0ZGMxZGE5MTE1
ZDU2MDI0MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5oCkBAIC0yMTQsNyArMjE0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjcm9sbGlu
Z05vZGVTY3JvbGxWaWV3RGlkU2Nyb2xsKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdO
b2RlU2Nyb2xsV2lsbFN0YXJ0U2Nyb2xsKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdO
b2RlU2Nyb2xsRGlkRW5kU2Nyb2xsKCkgb3ZlcnJpZGU7Ci0KKyAgICAgICAgCisgICAgdm9pZCBy
ZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAgICAgLy8gQXV4aWxpYXJ5IENsaWVudCBD
cmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5Q2xpZW50JiBmdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50KCkgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0K
aW5kZXggZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIzMTg1NzQ4ZDhjNzYxN2VjMy4uNzMwNGQ3ZmI4
NDY3NDYxOWNjOGE2ZGE4ZjQ4N2FjMGJlODQyODgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTAyMyw2ICsxMDIzLDExIEBA
IFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmlld0JhY2tncm91bmRDb2xv
cigpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IGJhY2tncm91bmRDb2xvcl0uQ0dDb2xvcjsK
IH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdChGbG9hdFJlY3Qg
dGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgW21fY29udGVudFZpZXcgX3Nj
cm9sbFRvUmVjdDp0YXJnZXRSZWN0IHdpdGhPcmlnaW46b3JpZ2luIG1pbmltdW1TY3JvbGxEaXN0
YW5jZTowXTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9S
TShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMuaAppbmRleCA2YzVjNGUzOWM2MTQ4M2RhZTkwZTY5MmNjNzg2NjlkYWI3NDllNWRh
Li5lN2RjNWFjOWM1ZDQyYmUxYTVhMjlkNzczMDQxOWM0MDdhOWJjMzI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaApAQCAtMjkwLDYgKzI5
MCw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQogICAgIHZvaWQgaGFu
ZGxlQ2xpY2tGb3JEYXRhRGV0ZWN0aW9uUmVzdWx0KGNvbnN0IFdlYkNvcmU6OkRhdGFEZXRlY3Rv
ckVsZW1lbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBmaW5hbDsKICNlbmRpZgor
ICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0
IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKIAogICAg
IE5TVmlldyAqbV92aWV3OwogICAgIFdlYWtQdHI8V2ViVmlld0ltcGw+IG1faW1wbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCA4
Yjc0YjQ1NDVkODk3YTk5OTI5NGY4MTVjN2MxZjY3YjM4ZmQzYzJjLi43ZjgyMWQzMmU3YzZhM2Q5
OGU2NWJmYTBmNTg0ODJiY2ZlNzA2Y2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBAIC05NzIsNiArOTcyLDEyIEBAIHZvaWQgUGFn
ZUNsaWVudEltcGw6OmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCiAgICAgbV9pbXBsLT5kaWRS
ZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVz
dFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6Rmxv
YXRQb2ludCBvcmlnaW4pCit7CisgICAgLy8gRklYTUU6IEFkZCBhZGRpdGlvbmFsIGxvZ2ljIHRv
IGF2b2lkIE5vdGUgUGlwLgorICAgIG1faW1wbC0+c2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9y
aWdpbik7Cit9CisKIGJvb2wgUGFnZUNsaWVudEltcGw6OndpbmRvd0lzRnJvbnRXaW5kb3dVbmRl
ck1vdXNlKGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50KQogewogICAgIHJldHVybiBt
X2ltcGwtPndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGV2ZW50Lm5hdGl2ZUV2ZW50KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA4OWYwNWQ1Y2M3MDY0YWNlZTQ1Y2YwOWE1MzAx
NDNiNWUzYTJmZTFkLi5mYzczZTE0NDdmNGYyYzRiZWE3NDg5ODE3MzAxOTQ0OGQ3NTVmNjcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBsdWdp
blZpZXcuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkuaCIKICNpbmNs
dWRlICJTaGFyZWRCdWZmZXJDb3B5LmgiCisjaW5jbHVkZSAiU21hcnRNYWduaWZpY2F0aW9uQ29u
dHJvbGxlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiVXNlckRhdGEuaCIKICNpbmNsdWRlICJXZWJD
b2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTY1
NSw5ICs2NTYsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChG
cmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbgogICAgIH0KIH0KIAotdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QK
K3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3Qg
SW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RTY3JvbGxUb1JlY3QocmVjdCwg
cmVjdC5jZW50ZXIoKSkpOwogfQogCiBib29sIFdlYkNocm9tZUNsaWVudDo6c2hvdWxkVW5hdmFp
bGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oUmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVu
YXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCmluZGV4IGViNWM5ZTg4ODcwOTZkNzk2MWIwZGJlMzUwM2Y5Yjg0NjI2YWY3
MzMuLjc1YzM2OWE5ZjI4YWY1MmIwOWE0ZjZmZDE4YzUyODQ0ZTM2ZDBmMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKQEAgLTEzMyw3ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUGFnZUNs
aWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29u
c3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmll
dyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8vIEN1cnJlbnRseSBvbmx5
IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgdm9pZCBzY3JvbGxNYWlu
RnJhbWVUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOyAv
LyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0aW9uLgogCiAg
ICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihXZWJDb3JlOjpS
ZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IGZp
bmFsOwogICAgIHZvaWQgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkKFdlYkNvcmU6OkVs
ZW1lbnQmLCBXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxp
dHlSZWFzb24pIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
aW5kZXggZTdjMmY3ZjI5NjBjNzM5ZDBmMDAxNDdhMzlkYzEzNTk1Y2RiMTlhZS4uMGUyYzZlMmFi
NjQ4YzZkNTkyYWE4MzFhMjA5ZGYyZGY3ZWNmYzVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCkBAIC01NDQsNiArNTQ0LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25z
dW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYp
OwogI2VuZGlmCiAgICAgCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBzY3JvbGxUb1Jl
Y3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3Jp
Z2luKTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyhj
b25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAKICAgICAv
LyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA2MzcxNTM1MDJmZDk0NGNjOWZjNjZhYTJhNjBh
YTgyZTdlNDE1NWI1Li4xNDZkMTM3NTRhMGRkMGI5MmZmMDc2Y2FhNDQ4ZjgyN2FjZjk0ZjJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtMjAzLDYgKzIwMywxMCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVy
IE5vdFJlZkNvdW50ZWQgewogICAgIEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0RpZENoYW5nZShz
dHJ1Y3QgV2ViS2l0OjpBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMgYWNjZXNzaWJpbGl0eVByZWZl
cmVuY2VzKQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBTY3JvbGxUb1JlY3Qo
V2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2lu
KQorI2VuZGlmCisKICNpZiBIQVZFKE1FRElBX0FDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQogICAg
IFNldE1lZGlhQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJl
ZmVyZW5jZXM6OkNhcHRpb25EaXNwbGF5TW9kZSBkaXNwbGF5TW9kZSwgVmVjdG9yPFN0cmluZz4g
bGFuZ3VhZ2VzKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCBhNjY3MjEwNGEyYTEzNGQwMzA5NWMyMjZkNTgzNzU5
NGRkN2UzMGNmLi5kOTM2NzE5MWQ3MmM0YjNhM2U0NmU3OWI4MzczODFhMzg3ZTlkOGFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
QEAgLTE0MTcsNiArMTQxNywxMyBAQCB2b2lkIFdlYlByb2Nlc3M6OmNvbnN1bWVBdWRpb0NvbXBv
bmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYQogICAgICAgICBX
RUJQUk9DRVNTX1JFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJDb3VsZCBub3QgYXBwbHkgQXVk
aW9Db21wb25lbnQgcmVnaXN0cmF0aW9ucywgZXJyKCVsZCkiLCBzdGF0aWNfY2FzdDxsb25nPihl
cnIpKTsKIH0KIAordm9pZCBXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQoreworICAgIFdlYlBh
Z2UqIHBhZ2UgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5mb2N1c2VkV2ViUGFnZSgpOworICAg
IGlmIChwYWdlKQorICAgICAgICBwYWdlLT5tYWluRnJhbWVWaWV3KCktPnNldFNjcm9sbFBvc2l0
aW9uKEludFBvaW50KHRhcmdldFJlY3QubWluWE1pbllDb3JuZXIoKSkpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKaW5kZXggNDRmNDA0ZmRmNWI4OTI0MjkyMjUzNGI4MWFiMzcyMmMxMTE3MWIxZS4uMjVj
ZjY4NmM0MmM1NmU0OWE2NGU2ZjM1NWZmYjZhN2UwMGUxMGE0NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
QEAgLTExMiw3ICsxMTIsNyBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0
Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5n
ZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7
CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmKSBjb25zdCBmaW5hbCB7IH0KLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CisgICAgdm9pZCBzY3JvbGxNYWluRnJh
bWVUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOwogCiAg
ICAgdm9pZCBzZXRTdGF0dXNiYXJUZXh0KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0KaW5kZXggYjZjMTkwOTFiZmZhMzg5NjI5OTQ4YmEwNWQ3N2RjMjRhNDJlZjlm
Zi4uMTYzNjcyMWM1NmNlODQ1ZjAzYjBlNzY2ZWRmMGZiODdkZWMzOWE4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbQpAQCAtNjA2LDcgKzYwNiw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50
c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0CiB7CiB9CiAKLXZvaWQg
V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcikgY29u
c3QKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29u
c3QgSW50UmVjdCYgcikgY29uc3QKIHsKICAgICAvLyBGSVhNRTogVGhpcyBzY3JvbGxpbmcgYmVo
YXZpb3Igc2hvdWxkIGJlIHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSBlbWJlZGRpbmcgY2xpZW50
LAogICAgIC8vIHBlcmhhcHMgaW4gYSBkZWxlZ2F0ZSBtZXRob2QsIHJhdGhlciB0aGFuIHNvbWV0
aGluZyBXZWJLaXQgZG9lcyB1bmNvbmRpdGlvbmFsbHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDA5
OWFlOWM3MDlkMTU3ZWEwYWE5MGY2MmM4YmJlNGUwZTgzMjQ3MzQuLjg3OWEyMTFjNDQxZGEyY2Rl
M2VjZTYzOTMyYzAzNmViZTkxNDk2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNDQsNyArMTQ0
LDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkdyYXBoaWNzRGV2aWNlQWRhcHRlciogZ3JhcGhp
Y3NEZXZpY2VBZGFwdGVyKCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAotICAgIHZvaWQgc2Nyb2xs
UmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KKyAg
ICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgY29uc3QgZmluYWwgeyB9CiAKICNpZiBFTkFCTEUoVklERU8pCiAgICAgYm9vbCBzdXBwb3J0
c1ZpZGVvRnVsbHNjcmVlbihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGUpIGZpbmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433488</attachid>
            <date>2021-07-13 22:32:37 -0700</date>
            <delta_ts>2021-07-13 22:42:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713223236.patch</filename>
            <type>text/plain</type>
            <size>39406</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uN2M4OTExNGYyMmNiZmFhOTU3YjBjMWVjYTc0MmFj
YmUzNWExMmUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5
IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBu
ZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBh
dGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0
bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2Uu
CisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9s
bGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQg
dG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rpbmcg
aXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcEhpZ2hsaWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3Jv
bGwpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbEludG9WaWV3KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2U6OnNldFNlbGVjdGlvbik6Cisg
ICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZh
bGlkYXRpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVj
dGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIHBh
Z2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAgICAgICogcGFnZS9TY3JvbGxCZWhh
dmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoK
KwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2VydmVyIG1lbW9yeSBsZWFrIG9uIGRl
dGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkYWY5OTZhOGEx
Zjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi42ZDYxMTYwZWI2ZTExZjFlY2FhNGI2Mzlj
OWI2MTYzZmMzM2IzZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA3LTEzICBN
ZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBB
cHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24g
Zm9yIE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVy
bGF5IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3
ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlz
IHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNo
b3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFu
Y2UuCisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNj
cm9sbGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5l
ZWQgdG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rp
bmcgaXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uIAorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVx
dWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEtMDctMDkgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBbGxvdyB0aGUgVUlQcm9jZXNzIHRvIHNldCBs
b2dnaW5nIHBhcmFtZXRlcnMgaW4gdGhlIEdQVVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwppbmRleCBmMmJlNGFjZmU3ZDRmNWNiYzBmYjg4ZjgyZjY0OWI1NzE4MTI1YWQxLi5kNWU2
ODYyNjYwYzFlY2FiZDhjYWE1MDBmYjI0OWUwODc1ZTBmZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxt
ZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Ny
b2xsaW5nIHRocm91Z2ggVUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBQaXAgYXZv
aWRhbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3OTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNjcm9s
bE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMDYtMjUgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjc5MjY2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGMzMjA5
ZjQ5YTAzYTBkMTJkY2VjZTdjMmJmM2M3ZjJlMzEwYjYwZjQuLjM2OGIyNzk3NWZmMTg1Y2EwMDQy
MzE5NmI4YjNkZTgzYzA1OTJjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBV
SSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9u
b3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250
ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0NvbnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3
ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFhOTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJk
ODM4NGYzMDdiZjM4YTBlODEzNjkxNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3
MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdo
dEFuZFNjcm9sbChBcHBIaWdobGlnaHRSYW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9y
KQogICAgICAgICAgICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRU
ZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBU
ZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwg
eyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxl
Y3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsK
KyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25n
RG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUoKSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6
RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3Ro
U2Nyb2xsIH0pOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEzZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJj
NDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
QEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0
aW9uYWw8VmFyaWFudDxib29sLCBTY3JvbGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hv
cml6b250YWwgPyBhbGlnblggOiBhbGlnblksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWdu
WSA6IGFsaWduWCwKICAgICAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8s
Ci0gICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8p
LAotICAgICAgICBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAg
ICBvcHRpb25zLmJlaGF2aW9yLnZhbHVlX29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07
CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5z
aWRlRml4ZWQsIHZpc2libGVPcHRpb25zKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApp
bmRleCA4NjM3MTYzN2ExNGMyYzg0OTJjNzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3
Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFmZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBAQCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6
c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAg
b3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29w
dGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAg
ICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYg
KG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwpCisgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5G
cmFtZVNjcm9sbCk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlv
bjo6U21vb3RoU2Nyb2xsKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21v
b3RoU2Nyb2xsKTsKLSAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9u
OjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50
KTsKICAgICBtX2RvY3VtZW50LT5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBv
cHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZl
M2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMxYS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4
NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAg
ZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAg
ICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQsCiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0g
MSA8PCA1LAogfTsKIAogY2xhc3MgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0
NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4uMWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMy
YzI5MTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAg
LTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRp
b25Ubyhjb25zdCBQb3NpdGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0
aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQo
UmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
U2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9w
dGlvbnMuYWRkKERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9
CkBAIC00MzIsNiArNDM1LDggQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNv
bnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9z
ZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5G
cmFtZTsKICAgICBlbHNlIGlmIChvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBt
X3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAg
ZWxzZSBpZiAob3B0aW9ucyAmIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3Nl
bGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFt
ZVNjcm9sbDsKICAgICBlbHNlCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVj
dGlvblJldmVhbE1vZGU6OkRvTm90UmV2ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNj
cm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xs
QWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVj
dGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAg
aWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRp
bmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGlu
dGVudCwgb3B0aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNt
b290aCA6IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQp
OworICAgIHVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMo
U21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJlaGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6
SW5zdGFudCk7CiAKICAgICBpZiAob3B0aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAg
ICBpZiAoYXV0byogY2xpZW50ID0gcHJvdGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgp
KQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0
aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlvbkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZp
ZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0
ZUFuZFJldmVhbFNlbGVjdGlvbihjb25zdCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50
LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFibGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBk
YXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRl
bnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5n
U2VsZWN0aW9uVXBkYXRlKQogICAgICAgICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50
ID0gbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNj
cm9sbEFsaWdubWVudDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9F
ZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFs
TW9kZSwgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVh
dHVyZUVuYWJsZW1lbnQpOworICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZl
YWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0K
IAogICAgIG5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAg
LTIzOTAsNyArMjM5NSw3IEBAIEhUTUxGb3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJl
bnRGb3JtKCkgY29uc3QKICAgICByZXR1cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lk
IEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZl
YWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0
aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2
b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSBy
ZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50
T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3Ip
CiB7CiAgICAgaWYgKHJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZl
YWwpCiAgICAgICAgIHJldHVybjsKQEAgLTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxl
Y3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNv
bnN0IFNjcm9sCiAgICAgICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewog
ICAgICAgICAgICAgICAgIGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVy
U2Nyb2xsYWJsZUFyZWEoKTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRq
dXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVy
LT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJlY3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFs
aWdubWVudCwgYWxpZ25tZW50LCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMs
IHNjcm9sbEJlaGF2aW9yLCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAg
ICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2
ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3Jv
bGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxl
QXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAg
ICAgICAgICB1cGRhdGVBcHBlYXJhbmNlKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1l
bnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyArMjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJl
dmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9s
CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUg
c3RhcnRDb250YWluZXIncyBsYXllciwgYnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVj
dCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxy
ZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4KLSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2Rl
KCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9s
bFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50
LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xs
QmVoYXZpb3J9KSkKICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0
MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIxMjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkz
ZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5o
CkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAx
IDw8IDcsCiAgICAgICAgIFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAg
ICAgICAgIFNtb290aFNjcm9sbCA9IDEgPDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCA9IDEgPDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwgPSAxIDw8IDEwCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxT
ZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dl
cmVkID0gTm90VXNlclRyaWdnZXJlZCk7CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBIVE1MRm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1l
bnQmID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRP
cHRpb24gPSBEb05vdFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlv
cjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJl
dmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50
ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9s
bEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5vbmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2Nr
Q3Vyc29yKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2
Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVS
YW5nZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhh
dmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFs
U2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3Ig
PSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3Jz
Rm9yU2VsZWN0aW9uKCk7CiAKICAgICBib29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0Fw
cGVhcmFuY2UoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25P
cHRpb24+LCBDdXJzb3JBbGlnbk9uU2Nyb2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmgKaW5kZXggMTVhNDkxYjg0YzIwNmRkOGI1MWFkYzZlZTFkYjY4ODhiN2Y0M2U3OC4uNDY2
YjNlOThkNjMxNDA4NzJhZTI2NmE3M2ZlODNmOWYwYTBhODNkMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5o
CkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAgICBGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVu
U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEZsb2F0U2l6ZSBvdmVycmlkZVNjcmVlblNpemUo
KSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25z
dCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUm
LCBjb25zdCBJbnRTaXplJikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmlu
ZGV4IGE4OTY4Yzk0NGU0YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMuLjEyMTYzZTBiM2Rh
ODEzNzk2NGI3NmUwMTJhMmE1MDJkZjU5NzE3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaApAQCAtMjI4LDcgKzIyOCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjb250
ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikg
Y29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50
UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxS
ZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdCB7IH07IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMg
YSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVW5h
dmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oUmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdp
blVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoRWxlbWVudCYsIFJlbmRlckVt
YmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCmluZGV4IGZiZGE1MTA1MWYyMmJjN2MwOThm
NTNmNTI0YTNiZGMxYmVkM2QyOGYuLjg1MWM1OGUyNWE1NWE2NWMyOTFhMGJkMzk0M2JiMzA2YTM5
YzBhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCkBAIC0zMyw3ICsz
Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmco
U2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50LCBTbW9v
dGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50KQorYm9v
bCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFz
c29jaWF0ZWRFbGVtZW50KQogewogICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTQzLDcgKzQzLDcgQEAgYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmco
U2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50LCBTbW8K
ICAgICBpZiAoYXNzb2NpYXRlZEVsZW1lbnQgPT0gYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50
KCkuc2Nyb2xsaW5nRWxlbWVudCgpKQogICAgICAgICBhc3NvY2lhdGVkRWxlbWVudCA9IGFzc29j
aWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpOwogCi0gICAgaWYgKCFh
c3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAob3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVu
dCA9PSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCAmJiAhYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdF
bmFibGVkKCkpKQorICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQtPnJlbmRlcmVyKCkgfHwgIWFz
c29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3U21vb3RoU2Ny
b2xsaW5nRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20tdmlldy8jc2Nyb2xsaW5nCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nj
cm9sbEJlaGF2aW9yLmgKaW5kZXggY2NiYTMwOWM3MGVjNGI5YWExNTMxYTk5Mzg0OGI1MzllOGE3
MGNkMy4uZWVlODJlMzEwOGRkZDNhZjRhNmFlZGUwMGNkNTYzYjcxZDEwNDlhOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaApAQCAtMzUsOCArMzUsNiBAQCBlbnVtIGNsYXNzIFNj
cm9sbEJlaGF2aW9yIDogdWludDhfdCB7CiAgICAgU21vb3RoCiB9OwogCi1lbnVtIGNsYXNzIFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IDogYm9vbCB7IERlZmF1bHQsIE92ZXJyaWRlIH07
Ci0KLWJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yLCBFbGVtZW50KiBhc3Nv
Y2lhdGVkRWxlbWVudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7Citib29sIHVzZVNtb290aFNjcm9sbGluZyhT
Y3JvbGxCZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQpOwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxU
eXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCAwYjFj
NDA1NjNlOGNiYjgyMmE5ZmViYTRjMGM0NjVmOGE1NzRhOTNiLi40MjNlNzBlZmVhZGJmNTQ2NmJj
MGIzNjhlODFjZTI2MTA3MGZiN2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmgKQEAgLTI0MSw2ICsyNDEsNyBAQCBlbnVtIGNsYXNzIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0
aW9uIDogdWludDhfdCB7CiBlbnVtIGNsYXNzIFNlbGVjdGlvblJldmVhbE1vZGUgOiB1aW50OF90
ICB7CiAgICAgUmV2ZWFsLAogICAgIFJldmVhbFVwVG9NYWluRnJhbWUsIC8vIFNjcm9sbCBvdmVy
ZmxvdyBhbmQgaWZyYW1lcywgYnV0IG5vdCB0aGUgbWFpbiBmcmFtZS4KKyAgICBEZWxlZ2F0ZU1h
aW5GcmFtZVNjcm9sbCwgLy8gU2ltaWxhciB0byBSZXZlYWxVcFRvTWFpbkZyYW1lLCBidXQgbWFr
ZSBzdXJlIHRvIG1hbnVhbGx5IGNhbGwgdGhlIG1haW4gZnJhbWUgc2Nyb2xsLgogICAgIERvTm90
UmV2ZWFsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRl
eCAxNjFjMjYyZjA1ZTI2ZTg5ODA4ZjkwZDkwZmYyMTBkMWY2MTk5MDYzLi42YmE3ODUyMDg4YWJk
NzAxNmYyMWNlYjRiYmUxNzM2MWUzZWE3ZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKQEAgLTI0MDUsNyArMjQwNSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNj
cm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGlu
c2lkCiAgICAgYXV0byBzY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnNGb3JFbGVtZW50ID0gW3Ro
aXMsIG9wdGlvbnNdKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgewogICAgICAgICBhdXRvIHNjcm9s
bFBvc2l0aW9uT3B0aW9ucyA9IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJv
Z3JhbW1hdGljKCk7Ci0gICAgICAgIGlmICghcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxl
cigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkgJiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxp
bmcob3B0aW9ucy5iZWhhdmlvciwgZWxlbWVudCwgb3B0aW9ucy5vdmVycmlkZUZlYXR1cmVFbmFi
bGVtZW50KSkKKyAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBlbGVtZW50KSkKICAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uT3B0
aW9ucy5hbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpZZXM7CiAgICAgICAgIHJldHVybiBzY3Jv
bGxQb3NpdGlvbk9wdGlvbnM7CiAgICAgfTsKQEAgLTI0NzcsNiArMjQ3NywxMSBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lICYmIGZyYW1lVmlldy5mcmFt
ZSgpLmlzTWFpbkZyYW1lKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgICAg
ICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVhbE1vZGU6OkRlbGVnYXRl
TWFpbkZyYW1lU2Nyb2xsICYmIGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkpIHsKKyAg
ICAgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0
KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgYXV0byBtaW5TY3JvbGxQb3NpdGlvbiA9IGZy
YW1lVmlldy5taW5pbXVtU2Nyb2xsUG9zaXRpb24oKTsKICAgICAgICAgICAgIGF1dG8gbWF4U2Ny
b2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWF4aW11bVNjcm9sbFBvc2l0aW9uKCk7CiAKQEAgLTI1
MTIsMTEgKzI1MTcsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShj
b25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFn
ZSwgc28gYWZ0ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3ZQotICAgICAgICAgICAgLy8gc2Nyb2xs
IGl0cyBjb250YWluZXIgYnkgY2FsbGluZyBQYWdlOjpzY3JvbGxSZWN0SW50b1ZpZXcuCisgICAg
ICAgICAgICAvLyBzY3JvbGwgaXRzIGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdC4KICAgICAgICAgICAgIC8vIFRoaXMgb25seSBoYXMgYW4gZWZm
ZWN0IG9uIHRoZSBNYWMgcGxhdGZvcm0gaW4gYXBwbGljYXRpb25zCiAgICAgICAgICAgICAvLyB0
aGF0IHB1dCB3ZWIgdmlld3MgaW50byBzY3JvbGxpbmcgY29udGFpbmVycywgc3VjaCBhcyBNYWMg
T1MgWCBNYWlsLgogICAgICAgICAgICAgLy8gVGhlIGNhbkF1dG9zY3JvbGwgZnVuY3Rpb24gaW4g
RXZlbnRIYW5kbGVyIGFsc28ga25vd3MgYWJvdXQgdGhpcy4KLSAgICAgICAgICAgIHBhZ2UoKS5j
aHJvbWUoKS5zY3JvbGxSZWN0SW50b1ZpZXcoc25hcHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7
CisgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0
KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkpOwogICAgICAgICB9CiAgICAgfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAwZGRjZmVlZTA2MDNkYzk1
YWJkNzAzY2ZjOThhNzNjMTYyYjVhM2ZlLi4yYmI2MmM1YjgwNzUwY2FmZGNjODdhYzM4MWI0NWU5
YmU0ZDRlODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMTQx
LDcgKzE0MSw2IEBAIHN0cnVjdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyB7CiAgICAgY29u
c3QgU2Nyb2xsQWxpZ25tZW50JiBhbGlnblkgeyBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVy
SWZOZWVkZWQgfTsKICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nIHNob3VsZEFs
bG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgeyBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5n
OjpObyB9OwogICAgIFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yIHsgU2Nyb2xsQmVoYXZpb3I6OkF1
dG8gfTsKLSAgICBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVycmlkZUZlYXR1cmVF
bmFibGVtZW50IHsgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQgfTsKIH07
CiAKIHVzaW5nIFNjcm9sbGluZ1Njb3BlID0gdWludDY0X3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDIwZTg4ZDM4MTQw
YjllOWYyZDNiZGE0MTdkMDdhMGNlMjY0NWU1OTguLjE5ZWNiNDQ2N2M3NTFkOWM3ZTNhNzJlZDY5
ZTM2YzIwOWE4ZTJhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvUGFnZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvUGFnZUNsaWVudEltcGwuY3BwCkBAIC05Nyw2ICs5NywxMiBAQCB2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpyZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBjb25zdCBXZWJD
b3JlOjpJbgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKKygpCit2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCYsIFdlYkNvcmU6OkZs
b2F0UG9pbnQmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIFdlYkNvcmU6OkZsb2F0
UG9pbnQgUGFnZUNsaWVudEltcGw6OnZpZXdTY3JvbGxQb3NpdGlvbigpCiB7CiAgICAgcmV0dXJu
IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudElt
cGwuaAppbmRleCA1NmY1OTRmYWE2YjY0OWNhYmQyOTg3NTRkN2RhMmYyNThiZjM3MGQ3Li4yMjgz
Y2U0ZjFiNGQxZjU1ZmExNGQ0YzRjM2VlOGZjODg0YzA2OTY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC02Myw2ICs2Myw3IEBA
IHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERyYXdpbmdBcmVhUHJveHk+IGNyZWF0ZURy
YXdpbmdBcmVhUHJveHkoV2ViUHJvY2Vzc1Byb3h5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRW
aWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OlJlZ2lvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgcmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlv
biwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHNjcm9sbE9yaWdpbikgb3ZlcnJpZGU7CisgICAg
dm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAgICAgV2ViQ29yZTo6RmxvYXRQ
b2ludCB2aWV3U2Nyb2xsUG9zaXRpb24oKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpJbnRTaXpl
IHZpZXdTaXplKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1ZpZXdXaW5kb3dBY3RpdmUoKSBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0KaW5kZXggOWIwMWY0MDIyNzE1MjEwMmU0N2U2Y2MyNWRiZGIyNjFkMTc3YmY5Yi4u
M2Q3MTM5NmViZTNiNzhjM2VmMGZiMDYyZjQ2ZWM3ZDBkNmVhMDQxOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTcwNyw2
ICs3MDcsMTYgQEAgTlNEaWN0aW9uYXJ5ICpXZWJQYWdlUHJveHk6OmNvbnRlbnRzT2ZVc2VySW50
ZXJmYWNlSXRlbShOU1N0cmluZyAqdXNlckludGVyZmFjZUkKICAgICByZXR1cm4gbmlsOwogfQog
Cit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0
UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RTY3Jv
bGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnNj
cm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7Cisg
ICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNjcm9sbFRvUmVjdCh0YXJn
ZXRSZWN0LCBvcmlnaW4pLCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRl
ZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJWaWV3SW1wbC5oCmluZGV4IDgyZTM4MjgwMzdiMDY0ZjViZDM2YjdkZDUzNmM2MGEwYTI5
MzNhYTAuLjUyMjk4NjA3YTg2OThmMmIyZGM4MGE1NTY0Y2I1NmQ1YTJlZDhhNGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaApAQCAtNTQ2LDYgKzU0Niw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIGdlc3R1cmVFdmVudFdhc05vdEhhbmRsZWRCeVdlYkNvcmVG
cm9tVmlld09ubHkoTlNFdmVudCAqKTsKIAogICAgIHZvaWQgZGlkUmVzdG9yZVNjcm9sbFBvc2l0
aW9uKCk7CisgICAgCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50KTsKIAogICAgIHZvaWQgc2V0VG90YWxIZWlnaHRPZkJhbm5lcnMo
Q0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVycykgeyBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzID0g
dG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KICAgICBDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJz
KCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEhlaWdodE9mQmFubmVyczsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCA1ZmJlYmE0ZjE2ZTMxNjc3
ZWIxZGZlZGEyMDk2Mzg3ZmM2NGRhNmNjLi42ZGRiY2UyMDNiNzE4NWYyNDFmNmQzMDNkNjJjZDQz
ZTIzNmQ0ZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbQpAQCAtMjU3MCw2ICsyNTcwLDExIEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZVRpdGxl
YmFyQWRqYWNlbmN5U3RhdGUoKQogCiAjZW5kaWYgLy8gSEFWRShOU1NDUk9MTFZJRVdfU0VQQVJB
VE9SX1RSQUNLSU5HX0FEQVBURVIpCiAKK3ZvaWQgV2ViVmlld0ltcGw6OnNjcm9sbFRvUmVjdChX
ZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4p
Cit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwog
TlNWaWV3ICpXZWJWaWV3SW1wbDo6aGl0VGVzdChDR1BvaW50IHBvaW50KQogewogICAgIE5TVmll
dyAqaGl0VmlldyA9IFttX3ZpZXcgX3dlYl9zdXBlckhpdFRlc3Q6TlNQb2ludEZyb21DR1BvaW50
KHBvaW50KV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMDhjYzI4OTAz
OTkyNGQzMzc0ODkzNjhmMzZjNTA1Y2M2ODg5Njc0NS4uOTc5OGFkMDdkOWNhMzY3MDhjZTEyNzMw
Yzg0MzhjMmNmOGFjOTZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
NjEyLDYgKzYxMiw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAg
dmlydHVhbCB2b2lkIHN0b3JlQXBwSGlnaGxpZ2h0KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdo
dCYpID0gMDsKICNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdl
YkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikg
PSAwOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvaW50
ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkMWE1ZmMzOGVhN2M5NWZlYTYzNGQ4
NWNkOWJkMTcwZGE2NWIxOWY4Li5iNDI2ZmU2NzkxYWEyZjdmZjFiMmJlZDhjN2FlYmYxZTQ4NTAx
ZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTA3LDcgKzkw
NywxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCB3aW5kb3dBbmRW
aWV3RnJhbWVzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpZXdGcmFtZUluV2lu
ZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGFjY2Vzc2liaWxpdHlW
aWV3Q29vcmRpbmF0ZXMpOwogICAgIHZvaWQgc2V0TWFpbkZyYW1lSXNTY3JvbGxhYmxlKGJvb2wp
OwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9h
dFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOworICAgIHZvaWQg
c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbik7CisgICAgICAgIAogICAgIHZvaWQgc2VuZENvbXBsZXhUZXh0SW5wdXRU
b1BsdWdpbih1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4dElucHV0SWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB0ZXh0SW5wdXQpOwogICAgIGJvb2wgc2hvdWxkRGVsYXlXaW5kb3dPcmRlcmluZ0Zv
ckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKICAgICBib29sIGFjY2VwdHNGaXJzdE1vdXNl
KGludCBldmVudE51bWJlciwgY29uc3QgV2ViTW91c2VFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRiNWI1NmVmMjM1
MjA5ZWExNzM5NDY5YTkxMTYxNDBlMjk3NmQ5NmUuLjY1MjQ5M2RmNDI5NWY3MDM4NTc1M2Y2YzA2
YzI3OWNhN2UzNGU5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KQEAgLTUxMCw2ICs1MTAsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICNlbmRpZgogCiAgICAgRGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZs
b2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKKyNlbmRpZgog
CiAgICAgR2V0TG9hZERlY2lzaW9uRm9ySWNvbihzdHJ1Y3QgV2ViQ29yZTo6TGlua0ljb24gaWNv
biwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggNDYyMGU3NWQwYTU1NjU2ZTgy
MjNiYzcwNmQzMjViYjA4NzEwZTA4NC4uZDAwNTQ2Mzk4N2QxMGM1NzcwNGZmMjRkYzFkYTkxMTVk
NTYwMjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmgKQEAgLTIxNCw3ICsyMTQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2Nyb2xsaW5n
Tm9kZVNjcm9sbFZpZXdEaWRTY3JvbGwoKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05v
ZGVTY3JvbGxXaWxsU3RhcnRTY3JvbGwoKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05v
ZGVTY3JvbGxEaWRFbmRTY3JvbGwoKSBvdmVycmlkZTsKLQorICAgICAgICAKKyAgICB2b2lkIHJl
cXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6
OkZsb2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAgICAvLyBBdXhpbGlhcnkgQ2xpZW50IENy
ZWF0aW9uCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHlDbGllbnQmIGZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlDbGllbnQoKSBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpp
bmRleCBmYjcxMTJjODFmZTNhNTE0ZjdkODcyYjMxODU3NDhkOGM3NjE3ZWMzLi43MzA0ZDdmYjg0
Njc0NjE5Y2M4YTZkYThmNDg3YWMwYmU4NDI4ODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0xMDIzLDYgKzEwMjMsMTEgQEAg
V2ViQ29yZTo6Q29sb3IgUGFnZUNsaWVudEltcGw6OmNvbnRlbnRWaWV3QmFja2dyb3VuZENvbG9y
KCkKICAgICByZXR1cm4gW21fY29udGVudFZpZXcgYmFja2dyb3VuZENvbG9yXS5DR0NvbG9yOwog
fQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0
YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBbbV9jb250ZW50VmlldyBfc2Ny
b2xsVG9SZWN0OnRhcmdldFJlY3Qgd2l0aE9yaWdpbjpvcmlnaW4gbWluaW11bVNjcm9sbERpc3Rh
bmNlOjBdOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JN
KElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbE1hYy5oCmluZGV4IDZjNWM0ZTM5YzYxNDgzZGFlOTBlNjkyY2M3ODY2OWRhYjc0OWU1ZGEu
LmU3ZGM1YWM5YzVkNDJiZTFhNWEyOWQ3NzMwNDE5YzQwN2E5YmMzMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCkBAIC0yOTAsNiArMjkw
LDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgdm9pZCBoYW5k
bGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1bHQoY29uc3QgV2ViQ29yZTo6RGF0YURldGVjdG9y
RWxlbWVudEluZm8mLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGZpbmFsOwogI2VuZGlmCisg
ICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3Qg
dGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92ZXJyaWRlOwogCiAgICAg
TlNWaWV3ICptX3ZpZXc7CiAgICAgV2Vha1B0cjxXZWJWaWV3SW1wbD4gbV9pbXBsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCmluZGV4IDhi
NzRiNDU0NWQ4OTdhOTk5Mjk0ZjgxNWM3YzFmNjdiMzhmZDNjMmMuLjdmODIxZDMyZTdjNmEzZDk4
ZTY1YmZhMGY1ODQ4MmJjZmU3MDZjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTk3Miw2ICs5NzIsMTIgQEAgdm9pZCBQYWdl
Q2xpZW50SW1wbDo6ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKICAgICBtX2ltcGwtPmRpZFJl
c3RvcmVTY3JvbGxQb3NpdGlvbigpOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0
U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9h
dFBvaW50IG9yaWdpbikKK3sKKyAgICAvLyBGSVhNRTogQWRkIGFkZGl0aW9uYWwgbG9naWMgdG8g
YXZvaWQgTm90ZSBQaXAuCisgICAgbV9pbXBsLT5zY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3Jp
Z2luKTsKK30KKwogYm9vbCBQYWdlQ2xpZW50SW1wbDo6d2luZG93SXNGcm9udFdpbmRvd1VuZGVy
TW91c2UoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgcmV0dXJuIG1f
aW1wbC0+d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoZXZlbnQubmF0aXZlRXZlbnQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDg5ZjA1ZDVjYzcwNjRhY2VlNDVjZjA5YTUzMDE0
M2I1ZTNhMmZlMWQuLmZjNzNlMTQ0N2Y0ZjJjNGJlYTc0ODk4MTczMDE5NDQ4ZDc1NWY2NzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUGx1Z2lu
Vmlldy5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIgogI2luY2x1
ZGUgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKKyNpbmNsdWRlICJTbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkNv
bG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtNjU1
LDkgKzY1Niw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZy
YW1lJiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29uCiAgICAgfQogfQogCi12b2lkIFdl
YkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdAor
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJ
bnRSZWN0JiByZWN0KSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9wYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFNjcm9sbFRvUmVjdChyZWN0LCBy
ZWN0LmNlbnRlcigpKSk7CiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggZWI1YzllODg4NzA5NmQ3OTYxYjBkYmUzNTAzZjliODQ2MjZhZjcz
My4uNzVjMzY5YTlmMjhhZjUyYjA5YTRmNmZkMThjNTI4NDRlMzZkMGYyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xp
ZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNT
aXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25z
dCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkg
TWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIHNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8v
IEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAg
ICBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6OlJl
bmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmlu
YWw7CiAgICAgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6RWxl
bWVudCYsIFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0
eVJlYXNvbikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApp
bmRleCBlN2MyZjdmMjk2MGM3MzlkMGYwMDE0N2EzOWRjMTM1OTVjZGIxOWFlLi4wZTJjNmUyYWI2
NDhjNmQ1OTJhYTgzMWEyMDlkZjJkZjdlY2ZjNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKQEAgLTU0NCw2ICs1NDQsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7
CiAjZW5kaWYKICAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIHNjcm9sbFRvUmVj
dChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4pOworI2VuZGlmCisgICAgCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNv
bnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKIAogICAgIC8v
IElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDYzNzE1MzUwMmZkOTQ0Y2M5ZmM2NmFhMmE2MGFh
ODJlN2U0MTU1YjUuLjE0NmQxMzc1NGEwZGQwYjkyZmYwNzZjYWE0NDhmODI3YWNmOTRmMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBA
IC0yMDMsNiArMjAzLDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIg
Tm90UmVmQ291bnRlZCB7CiAgICAgQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzRGlkQ2hhbmdlKHN0
cnVjdCBXZWJLaXQ6OkFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyBhY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZXMpCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFNjcm9sbFRvUmVjdChX
ZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4p
CisjZW5kaWYKKwogI2lmIEhBVkUoTUVESUFfQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCiAgICAg
U2V0TWVkaWFBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVm
ZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlLCBWZWN0b3I8U3RyaW5nPiBs
YW5ndWFnZXMpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGE2NjcyMTA0YTJhMTM0ZDAzMDk1YzIyNmQ1ODM3NTk0
ZGQ3ZTMwY2YuLmQ5MzY3MTkxZDcyYzRiM2EzZTQ2ZTc5YjgzNzM4MWEzODdlOWQ4YWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpA
QCAtMTQxNyw2ICsxNDE3LDEzIEBAIHZvaWQgV2ViUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9u
ZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhCiAgICAgICAgIFdF
QlBST0NFU1NfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvdWxkIG5vdCBhcHBseSBBdWRp
b0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIoJWxkKSIsIHN0YXRpY19jYXN0PGxvbmc+KGVy
cikpOwogfQogCit2b2lkIFdlYlByb2Nlc3M6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJl
Y3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgV2ViUGFn
ZSogcGFnZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmZvY3VzZWRXZWJQYWdlKCk7CisgICAg
aWYgKHBhZ2UpCisgICAgICAgIHBhZ2UtPm1haW5GcmFtZVZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRp
b24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAppbmRleCA0NGY0MDRmZGY1Yjg5MjQyOTIyNTM0YjgxYWIzNzIyYzExMTcxYjFlLi4yNWNm
Njg2YzQyYzU2ZTQ5YTY0ZTZmMzU1ZmZiNmE3ZTAwZTEwYTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApA
QCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRm
b3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdl
ZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsK
ICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpIGNvbnN0IGZpbmFsIHsgfQotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNjcm9sbE1haW5GcmFt
ZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAKICAg
ICB2b2lkIHNldFN0YXR1c2JhclRleHQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5tbQppbmRleCBiNmMxOTA5MWJmZmEzODk2Mjk5NDhiYTA1ZDc3ZGMyNGE0MmVmOWZm
Li4xNjM2NzIxYzU2Y2U4NDVmMDNiMGU3NjZlZGYwZmI4N2RlYzM5YThkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCkBAIC02MDYsNyArNjA2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRz
U2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QKIHsKIH0KIAotdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JiByKSBjb25z
dAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25z
dCBJbnRSZWN0JiByKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBUaGlzIHNjcm9sbGluZyBiZWhh
dmlvciBzaG91bGQgYmUgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIGVtYmVkZGluZyBjbGllbnQs
CiAgICAgLy8gcGVyaGFwcyBpbiBhIGRlbGVnYXRlIG1ldGhvZCwgcmF0aGVyIHRoYW4gc29tZXRo
aW5nIFdlYktpdCBkb2VzIHVuY29uZGl0aW9uYWxseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMDk5
YWU5YzcwOWQxNTdlYTBhYTkwZjYyYzhiYmU0ZTBlODMyNDczNC4uODc5YTIxMWM0NDFkYTJjZGUz
ZWNlNjM5MzJjMDM2ZWJlOTE0OTZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE0NCw3ICsxNDQs
NyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NEZXZpY2VBZGFwdGVyKiBncmFwaGlj
c0RldmljZUFkYXB0ZXIoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0gICAgdm9pZCBzY3JvbGxS
ZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQorICAg
IHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KSBjb25zdCBmaW5hbCB7IH0KIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRz
VmlkZW9GdWxsc2NyZWVuKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxs
c2NyZWVuTW9kZSkgZmluYWw7Cg==
</data>
<flag name="commit-queue"
          id="455747"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433490</attachid>
            <date>2021-07-13 22:40:07 -0700</date>
            <delta_ts>2021-07-13 22:53:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713224006.patch</filename>
            <type>text/plain</type>
            <size>40117</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uN2M4OTExNGYyMmNiZmFhOTU3YjBjMWVjYTc0MmFj
YmUzNWExMmUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5
IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBu
ZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBh
dGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0
bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2Uu
CisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9s
bGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQg
dG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rpbmcg
aXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcEhpZ2hsaWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3Jv
bGwpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbEludG9WaWV3KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2U6OnNldFNlbGVjdGlvbik6Cisg
ICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZh
bGlkYXRpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVj
dGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIHBh
Z2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAgICAgICogcGFnZS9TY3JvbGxCZWhh
dmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoK
KwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2VydmVyIG1lbW9yeSBsZWFrIG9uIGRl
dGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkYWY5OTZhOGEx
Zjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi42ZDYxMTYwZWI2ZTExZjFlY2FhNGI2Mzlj
OWI2MTYzZmMzM2IzZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA3LTEzICBN
ZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBB
cHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24g
Zm9yIE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVy
bGF5IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3
ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlz
IHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNo
b3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFu
Y2UuCisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNj
cm9sbGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5l
ZWQgdG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rp
bmcgaXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uIAorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVx
dWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEtMDctMDkgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBbGxvdyB0aGUgVUlQcm9jZXNzIHRvIHNldCBs
b2dnaW5nIHBhcmFtZXRlcnMgaW4gdGhlIEdQVVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwppbmRleCBmMmJlNGFjZmU3ZDRmNWNiYzBmYjg4ZjgyZjY0OWI1NzE4MTI1YWQxLi5kNWU2
ODYyNjYwYzFlY2FiZDhjYWE1MDBmYjI0OWUwODc1ZTBmZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxt
ZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Ny
b2xsaW5nIHRocm91Z2ggVUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBQaXAgYXZv
aWRhbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3OTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNjcm9s
bE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMDYtMjUgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjc5MjY2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGMzMjA5
ZjQ5YTAzYTBkMTJkY2VjZTdjMmJmM2M3ZjJlMzEwYjYwZjQuLjM2OGIyNzk3NWZmMTg1Y2EwMDQy
MzE5NmI4YjNkZTgzYzA1OTJjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBV
SSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9u
b3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250
ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0NvbnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3
ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFhOTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJk
ODM4NGYzMDdiZjM4YTBlODEzNjkxNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3
MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdo
dEFuZFNjcm9sbChBcHBIaWdobGlnaHRSYW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9y
KQogICAgICAgICAgICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRU
ZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBU
ZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwg
eyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxl
Y3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsK
KyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25n
RG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUoKSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6
RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3Ro
U2Nyb2xsIH0pOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEzZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJj
NDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
QEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0
aW9uYWw8VmFyaWFudDxib29sLCBTY3JvbGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hv
cml6b250YWwgPyBhbGlnblggOiBhbGlnblksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWdu
WSA6IGFsaWduWCwKICAgICAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8s
Ci0gICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8p
LAotICAgICAgICBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAg
ICBvcHRpb25zLmJlaGF2aW9yLnZhbHVlX29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07
CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5z
aWRlRml4ZWQsIHZpc2libGVPcHRpb25zKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApp
bmRleCA4NjM3MTYzN2ExNGMyYzg0OTJjNzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3
Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFmZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBAQCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6
c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAg
b3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29w
dGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAg
ICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYg
KG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwpCisgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5G
cmFtZVNjcm9sbCk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlv
bjo6U21vb3RoU2Nyb2xsKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21v
b3RoU2Nyb2xsKTsKLSAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9u
OjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50
KTsKICAgICBtX2RvY3VtZW50LT5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBv
cHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZl
M2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMxYS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4
NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAg
ZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAg
ICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQsCiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0g
MSA8PCA1LAogfTsKIAogY2xhc3MgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0
NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4uMWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMy
YzI5MTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAg
LTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRp
b25Ubyhjb25zdCBQb3NpdGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0
aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQo
UmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
U2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9w
dGlvbnMuYWRkKERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9
CkBAIC00MzIsNiArNDM1LDggQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNv
bnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9z
ZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5G
cmFtZTsKICAgICBlbHNlIGlmIChvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBt
X3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAg
ZWxzZSBpZiAob3B0aW9ucyAmIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3Nl
bGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFt
ZVNjcm9sbDsKICAgICBlbHNlCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVj
dGlvblJldmVhbE1vZGU6OkRvTm90UmV2ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNj
cm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xs
QWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVj
dGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAg
aWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRp
bmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGlu
dGVudCwgb3B0aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNt
b290aCA6IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQp
OworICAgIHVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMo
U21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJlaGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6
SW5zdGFudCk7CiAKICAgICBpZiAob3B0aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAg
ICBpZiAoYXV0byogY2xpZW50ID0gcHJvdGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgp
KQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0
aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlvbkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZp
ZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0
ZUFuZFJldmVhbFNlbGVjdGlvbihjb25zdCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50
LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFibGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBk
YXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRl
bnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5n
U2VsZWN0aW9uVXBkYXRlKQogICAgICAgICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50
ID0gbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNj
cm9sbEFsaWdubWVudDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9F
ZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFs
TW9kZSwgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVh
dHVyZUVuYWJsZW1lbnQpOworICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZl
YWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0K
IAogICAgIG5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAg
LTIzOTAsNyArMjM5NSw3IEBAIEhUTUxGb3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJl
bnRGb3JtKCkgY29uc3QKICAgICByZXR1cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lk
IEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZl
YWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0
aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2
b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSBy
ZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50
T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3Ip
CiB7CiAgICAgaWYgKHJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZl
YWwpCiAgICAgICAgIHJldHVybjsKQEAgLTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxl
Y3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNv
bnN0IFNjcm9sCiAgICAgICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewog
ICAgICAgICAgICAgICAgIGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVy
U2Nyb2xsYWJsZUFyZWEoKTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRq
dXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVy
LT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJlY3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFs
aWdubWVudCwgYWxpZ25tZW50LCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMs
IHNjcm9sbEJlaGF2aW9yLCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAg
ICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2
ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3Jv
bGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxl
QXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAg
ICAgICAgICB1cGRhdGVBcHBlYXJhbmNlKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1l
bnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyArMjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJl
dmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9s
CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUg
c3RhcnRDb250YWluZXIncyBsYXllciwgYnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVj
dCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxy
ZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4KLSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2Rl
KCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9s
bFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50
LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xs
QmVoYXZpb3J9KSkKICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0
MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIxMjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkz
ZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5o
CkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAx
IDw8IDcsCiAgICAgICAgIFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAg
ICAgICAgIFNtb290aFNjcm9sbCA9IDEgPDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCA9IDEgPDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwgPSAxIDw8IDEwCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxT
ZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dl
cmVkID0gTm90VXNlclRyaWdnZXJlZCk7CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBIVE1MRm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1l
bnQmID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRP
cHRpb24gPSBEb05vdFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlv
cjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJl
dmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50
ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9s
bEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5vbmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2Nr
Q3Vyc29yKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2
Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVS
YW5nZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhh
dmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFs
U2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3Ig
PSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3Jz
Rm9yU2VsZWN0aW9uKCk7CiAKICAgICBib29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0Fw
cGVhcmFuY2UoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25P
cHRpb24+LCBDdXJzb3JBbGlnbk9uU2Nyb2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1
N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFz
cyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0
Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZpbmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVu
VW50aWxNb3VzZU1vdmVzKGJvb2wpIGZpbmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50
b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAg
IHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmlu
YWwgeyB9CiAgICAgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NM
YXllciopIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggMTVhNDkxYjg0YzIwNmRkOGI1
MWFkYzZlZTFkYjY4ODhiN2Y0M2U3OC4uNDY2YjNlOThkNjMxNDA4NzJhZTI2NmE3M2ZlODNmOWYw
YTBhODNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAg
ICBGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEZs
b2F0U2l6ZSBvdmVycmlkZVNjcmVlblNpemUoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHZvaWQg
c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdDsKKyAgICB2b2lkIHNjcm9s
bE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lk
IGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE4OTY4Yzk0NGU0YTFhYmFjYzhjMmZkMDNi
OTcxZmQzYjNmOGU3MmMuLjEyMTYzZTBiM2RhODEzNzk2NGI3NmUwMTJhMmE1MDJkZjU5NzE3OTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI4LDcgKzIyOCw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3Qg
SW50U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaW50cmluc2ljQ29udGVudHNT
aXplQ2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBz
Y3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5
IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZv
aWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdCB7IH07
IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24o
UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRv
bkNsaWNrZWQoRWxlbWVudCYsIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJp
bGl0eVJlYXNvbikgY29uc3QgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nj
cm9sbEJlaGF2aW9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3Bw
CmluZGV4IGZiZGE1MTA1MWYyMmJjN2MwOThmNTNmNTI0YTNiZGMxYmVkM2QyOGYuLjg1MWM1OGUy
NWE1NWE2NWMyOTFhMGJkMzk0M2JiMzA2YTM5YzBhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Ny
b2xsQmVoYXZpb3IuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1l
bnQqIGFzc29jaWF0ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVy
cmlkZUZlYXR1cmVFbmFibGVtZW50KQorYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVo
YXZpb3IgYmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50KQogewogICAgIGlmICgh
YXNzb2NpYXRlZEVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTQzLDcgKzQzLDcg
QEAgYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IsIEVsZW1l
bnQqIGFzc29jaWF0ZWRFbGVtZW50LCBTbW8KICAgICBpZiAoYXNzb2NpYXRlZEVsZW1lbnQgPT0g
YXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2Nyb2xsaW5nRWxlbWVudCgpKQogICAgICAg
ICBhc3NvY2lhdGVkRWxlbWVudCA9IGFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLmRvY3Vt
ZW50RWxlbWVudCgpOwogCi0gICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8
fCAob3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCA9PSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCAmJiAhYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKCkpKQorICAgIGlmICghYXNzb2NpYXRl
ZEVsZW1lbnQtPnJlbmRlcmVyKCkgfHwgIWFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNl
dHRpbmdzKCkuQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20tdmlldy8j
c2Nyb2xsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKaW5kZXggY2NiYTMwOWM3
MGVjNGI5YWExNTMxYTk5Mzg0OGI1MzllOGE3MGNkMy4uZWVlODJlMzEwOGRkZDNhZjRhNmFlZGUw
MGNkNTYzYjcxZDEwNDlhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxC
ZWhhdmlvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaApAQCAt
MzUsOCArMzUsNiBAQCBlbnVtIGNsYXNzIFNjcm9sbEJlaGF2aW9yIDogdWludDhfdCB7CiAgICAg
U21vb3RoCiB9OwogCi1lbnVtIGNsYXNzIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IDog
Ym9vbCB7IERlZmF1bHQsIE92ZXJyaWRlIH07Ci0KLWJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNj
cm9sbEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCwgU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7
Citib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciwgRWxlbWVudCogYXNzb2Np
YXRlZEVsZW1lbnQpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaAppbmRleCAwYjFjNDA1NjNlOGNiYjgyMmE5ZmViYTRjMGM0NjVmOGE1
NzRhOTNiLi40MjNlNzBlZmVhZGJmNTQ2NmJjMGIzNjhlODFjZTI2MTA3MGZiN2EwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTI0MSw2ICsyNDEsNyBAQCBlbnVtIGNs
YXNzIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0aW9uIDogdWludDhfdCB7CiBlbnVtIGNsYXNzIFNl
bGVjdGlvblJldmVhbE1vZGUgOiB1aW50OF90ICB7CiAgICAgUmV2ZWFsLAogICAgIFJldmVhbFVw
VG9NYWluRnJhbWUsIC8vIFNjcm9sbCBvdmVyZmxvdyBhbmQgaWZyYW1lcywgYnV0IG5vdCB0aGUg
bWFpbiBmcmFtZS4KKyAgICBEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgLy8gU2ltaWxhciB0byBS
ZXZlYWxVcFRvTWFpbkZyYW1lLCBidXQgbWFrZSBzdXJlIHRvIG1hbnVhbGx5IGNhbGwgdGhlIG1h
aW4gZnJhbWUgc2Nyb2xsLgogICAgIERvTm90UmV2ZWFsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAxNjFjMjYyZjA1ZTI2ZTg5ODA4ZjkwZDkwZmYy
MTBkMWY2MTk5MDYzLi42YmE3ODUyMDg4YWJkNzAxNmYyMWNlYjRiYmUxNzM2MWUzZWE3ZDJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI0MDUsNyArMjQw
NSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0
UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgYXV0byBzY3JvbGxQb3NpdGlvbkNo
YW5nZU9wdGlvbnNGb3JFbGVtZW50ID0gW3RoaXMsIG9wdGlvbnNdKEVsZW1lbnQqIGVsZW1lbnQp
CiAgICAgewogICAgICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uT3B0aW9ucyA9IFNjcm9sbFBvc2l0
aW9uQ2hhbmdlT3B0aW9uczo6Y3JlYXRlUHJvZ3JhbW1hdGljKCk7Ci0gICAgICAgIGlmICghcmVu
ZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkgJiYg
ZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgZWxlbWVudCwg
b3B0aW9ucy5vdmVycmlkZUZlYXR1cmVFbmFibGVtZW50KSkKKyAgICAgICAgaWYgKCFyZW5kZXJl
cigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVt
ZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBlbGVtZW50KSkKICAg
ICAgICAgICAgIHNjcm9sbFBvc2l0aW9uT3B0aW9ucy5hbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xs
OjpZZXM7CiAgICAgICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbk9wdGlvbnM7CiAgICAgfTsKQEAg
LTI0NzcsNiArMjQ3NywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxl
KGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAg
aWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRv
TWFpbkZyYW1lICYmIGZyYW1lVmlldy5mcmFtZSgpLmlzTWFpbkZyYW1lKCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogCisgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNl
bGVjdGlvblJldmVhbE1vZGU6OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsICYmIGZyYW1lVmlldy5m
cmFtZSgpLmlzTWFpbkZyYW1lKCkpIHsKKyAgICAgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCku
c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAg
YXV0byBtaW5TY3JvbGxQb3NpdGlvbiA9IGZyYW1lVmlldy5taW5pbXVtU2Nyb2xsUG9zaXRpb24o
KTsKICAgICAgICAgICAgIGF1dG8gbWF4U2Nyb2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWF4aW11
bVNjcm9sbFBvc2l0aW9uKCk7CiAKQEAgLTI1MTIsMTEgKzI1MTcsMTEgQEAgdm9pZCBSZW5kZXJM
YXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3Qs
IGJvb2wgaW5zaWQKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUg
b3V0ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFnZSwgc28gYWZ0ZXIgc2Nyb2xsaW5nIHRoaXMgdmll
dyB3ZQotICAgICAgICAgICAgLy8gc2Nyb2xsIGl0cyBjb250YWluZXIgYnkgY2FsbGluZyBQYWdl
OjpzY3JvbGxSZWN0SW50b1ZpZXcuCisgICAgICAgICAgICAvLyBzY3JvbGwgaXRzIGNvbnRhaW5l
ciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdC4KICAgICAgICAg
ICAgIC8vIFRoaXMgb25seSBoYXMgYW4gZWZmZWN0IG9uIHRoZSBNYWMgcGxhdGZvcm0gaW4gYXBw
bGljYXRpb25zCiAgICAgICAgICAgICAvLyB0aGF0IHB1dCB3ZWIgdmlld3MgaW50byBzY3JvbGxp
bmcgY29udGFpbmVycywgc3VjaCBhcyBNYWMgT1MgWCBNYWlsLgogICAgICAgICAgICAgLy8gVGhl
IGNhbkF1dG9zY3JvbGwgZnVuY3Rpb24gaW4gRXZlbnRIYW5kbGVyIGFsc28ga25vd3MgYWJvdXQg
dGhpcy4KLSAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxSZWN0SW50b1ZpZXcoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICBwYWdlKCkuY2hyb21lKCku
c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkp
OwogICAgICAgICB9CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaAppbmRleCAwZGRjZmVlZTA2MDNkYzk1YWJkNzAzY2ZjOThhNzNjMTYyYjVhM2ZlLi4yYmI2
MmM1YjgwNzUwY2FmZGNjODdhYzM4MWI0NWU5YmU0ZDRlODY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMTQxLDcgKzE0MSw2IEBAIHN0cnVjdCBTY3JvbGxSZWN0
VG9WaXNpYmxlT3B0aW9ucyB7CiAgICAgY29uc3QgU2Nyb2xsQWxpZ25tZW50JiBhbGlnblkgeyBT
Y3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQgfTsKICAgICBTaG91bGRBbGxvd0Ny
b3NzT3JpZ2luU2Nyb2xsaW5nIHNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgeyBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpObyB9OwogICAgIFNjcm9sbEJlaGF2aW9yIGJl
aGF2aW9yIHsgU2Nyb2xsQmVoYXZpb3I6OkF1dG8gfTsKLSAgICBTbW9vdGhTY3JvbGxGZWF0dXJl
RW5hYmxlbWVudCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50IHsgU21vb3RoU2Nyb2xsRmVhdHVy
ZUVuYWJsZW1lbnQ6OkRlZmF1bHQgfTsKIH07CiAKIHVzaW5nIFNjcm9sbGluZ1Njb3BlID0gdWlu
dDY0X3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VD
bGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVu
dEltcGwuY3BwCmluZGV4IDIwZTg4ZDM4MTQwYjllOWYyZDNiZGE0MTdkMDdhMGNlMjY0NWU1OTgu
LjE5ZWNiNDQ2N2M3NTFkOWM3ZTNhNzJlZDY5ZTM2YzIwOWE4ZTJhNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCkBAIC05Nyw2
ICs5NywxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbgogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CiAKKygpCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNv
cmU6OkZsb2F0UmVjdCYsIFdlYkNvcmU6OkZsb2F0UG9pbnQmKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7Cit9CisKIFdlYkNvcmU6OkZsb2F0UG9pbnQgUGFnZUNsaWVudEltcGw6OnZpZXdTY3Jv
bGxQb3NpdGlvbigpCiB7CiAgICAgcmV0dXJuIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAppbmRleCA1NmY1OTRmYWE2YjY0OWNhYmQy
OTg3NTRkN2RhMmYyNThiZjM3MGQ3Li4yMjgzY2U0ZjFiNGQxZjU1ZmExNGQ0YzRjM2VlOGZjODg0
YzA2OTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VD
bGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xp
ZW50SW1wbC5oCkBAIC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRy
PERyYXdpbmdBcmVhUHJveHk+IGNyZWF0ZURyYXdpbmdBcmVhUHJveHkoV2ViUHJvY2Vzc1Byb3h5
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6
OlJlZ2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHNj
cm9sbE9yaWdpbikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNv
cmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3Zl
cnJpZGU7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCB2aWV3U2Nyb2xsUG9zaXRpb24oKSBvdmVy
cmlkZTsKICAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgb3ZlcnJpZGU7CiAgICAgYm9v
bCBpc1ZpZXdXaW5kb3dBY3RpdmUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggOWIwMWY0MDIyNzE1MjEw
MmU0N2U2Y2MyNWRiZGIyNjFkMTc3YmY5Yi4uM2Q3MTM5NmViZTNiNzhjM2VmMGZiMDYyZjQ2ZWM3
ZDBkNmVhMDQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KQEAgLTcwNyw2ICs3MDcsMTYgQEAgTlNEaWN0aW9uYXJ5ICpXZWJQ
YWdlUHJveHk6OmNvbnRlbnRzT2ZVc2VySW50ZXJmYWNlSXRlbShOU1N0cmluZyAqdXNlckludGVy
ZmFjZUkKICAgICByZXR1cm4gbmlsOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNj
cm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7Cisg
ICAgcGFnZUNsaWVudCgpLnJlcXVlc3RTY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsK
K30KKwordm9pZCBXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVj
dCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6Oldl
YlByb2Nlc3M6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pLCAwKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IDgyZTM4Mjgw
MzdiMDY0ZjViZDM2YjdkZDUzNmM2MGEwYTI5MzNhYTAuLjUyMjk4NjA3YTg2OThmMmIyZGM4MGE1
NTY0Y2I1NmQ1YTJlZDhhNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwuaApAQCAtNTQ2LDYgKzU0Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGdlc3R1cmVF
dmVudFdhc05vdEhhbmRsZWRCeVdlYkNvcmVGcm9tVmlld09ubHkoTlNFdmVudCAqKTsKIAogICAg
IHZvaWQgZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CisgICAgCisgICAgdm9pZCBzY3JvbGxU
b1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50KTsKIAogICAgIHZv
aWQgc2V0VG90YWxIZWlnaHRPZkJhbm5lcnMoQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVycykg
eyBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzID0gdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KICAgICBD
R0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEhlaWdo
dE9mQmFubmVyczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbQppbmRleCA1ZmJlYmE0ZjE2ZTMxNjc3ZWIxZGZlZGEyMDk2Mzg3ZmM2NGRhNmNjLi42ZGRi
Y2UyMDNiNzE4NWYyNDFmNmQzMDNkNjJjZDQzZTIzNmQ0ZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjU3MCw2ICsyNTcwLDExIEBAIHZv
aWQgV2ViVmlld0ltcGw6OnVwZGF0ZVRpdGxlYmFyQWRqYWNlbmN5U3RhdGUoKQogCiAjZW5kaWYg
Ly8gSEFWRShOU1NDUk9MTFZJRVdfU0VQQVJBVE9SX1RSQUNLSU5HX0FEQVBURVIpCiAKK3ZvaWQg
V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwg
V2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1JlY3Qo
dGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwogTlNWaWV3ICpXZWJWaWV3SW1wbDo6aGl0VGVzdChD
R1BvaW50IHBvaW50KQogewogICAgIE5TVmlldyAqaGl0VmlldyA9IFttX3ZpZXcgX3dlYl9zdXBl
ckhpdFRlc3Q6TlNQb2ludEZyb21DR1BvaW50KHBvaW50KV07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKaW5kZXggMDhjYzI4OTAzOTkyNGQzMzc0ODkzNjhmMzZjNTA1Y2M2ODg5Njc0
NS4uOTc5OGFkMDdkOWNhMzY3MDhjZTEyNzMwYzg0MzhjMmNmOGFjOTZiNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNjEyLDYgKzYxMiw3IEBAIHB1YmxpYzoKICNpZiBF
TkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgdmlydHVhbCB2b2lkIHN0b3JlQXBwSGlnaGxpZ2h0
KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdodCYpID0gMDsKICNlbmRpZgorICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgPSAwOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvaW50ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0
dXJlUmVjb2duaXplciopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCBkMWE1ZmMzOGVhN2M5NWZlYTYzNGQ4NWNkOWJkMTcwZGE2NWIxOWY4Li5iNDI2ZmU2Nzkx
YWEyZjdmZjFiMmJlZDhjN2FlYmYxZTQ4NTAxZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaApAQCAtOTA3LDcgKzkwNywxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgdm9pZCB3aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZChjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmIHZpZXdGcmFtZUluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmIGFjY2Vzc2liaWxpdHlWaWV3Q29vcmRpbmF0ZXMpOwogICAgIHZvaWQgc2V0
TWFpbkZyYW1lSXNTY3JvbGxhYmxlKGJvb2wpOwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVz
dFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6Rmxv
YXRQb2ludCBvcmlnaW4pOworICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVj
dCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisgICAgICAgIAogICAg
IHZvaWQgc2VuZENvbXBsZXhUZXh0SW5wdXRUb1BsdWdpbih1aW50NjRfdCBwbHVnaW5Db21wbGV4
VGV4dElucHV0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB0ZXh0SW5wdXQpOwogICAgIGJvb2wg
c2hvdWxkRGVsYXlXaW5kb3dPcmRlcmluZ0ZvckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsK
ICAgICBib29sIGFjY2VwdHNGaXJzdE1vdXNlKGludCBldmVudE51bWJlciwgY29uc3QgV2ViTW91
c2VFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IGRiNWI1NmVmMjM1MjA5ZWExNzM5NDY5YTkxMTYxNDBlMjk3NmQ5NmUu
LjY1MjQ5M2RmNDI5NWY3MDM4NTc1M2Y2YzA2YzI3OWNhN2UzNGU5Y2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTUxMCw2ICs1
MTAsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgRGlkUmVz
dG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXF1
ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpG
bG9hdFBvaW50IG9yaWdpbikKKyNlbmRpZgogCiAgICAgR2V0TG9hZERlY2lzaW9uRm9ySWNvbihz
dHJ1Y3QgV2ViQ29yZTo6TGlua0ljb24gaWNvbiwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNr
SUQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
LmgKaW5kZXggNDYyMGU3NWQwYTU1NjU2ZTgyMjNiYzcwNmQzMjViYjA4NzEwZTA4NC4uZDAwNTQ2
Mzk4N2QxMGM1NzcwNGZmMjRkYzFkYTkxMTVkNTYwMjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTIxNCw3ICsyMTQsOCBAQCBw
cml2YXRlOgogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEaWRTY3JvbGwoKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxXaWxsU3RhcnRTY3JvbGwoKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxEaWRFbmRTY3JvbGwoKSBvdmVycmlk
ZTsKLQorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6Rmxv
YXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsK
ICAgICAvLyBBdXhpbGlhcnkgQ2xpZW50IENyZWF0aW9uCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlDbGllbnQmIGZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHlDbGllbnQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBmYjcxMTJjODFmZTNhNTE0ZjdkODcyYjMx
ODU3NDhkOGM3NjE3ZWMzLi43MzA0ZDdmYjg0Njc0NjE5Y2M4YTZkYThmNDg3YWMwYmU4NDI4ODIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tCkBAIC0xMDIzLDYgKzEwMjMsMTEgQEAgV2ViQ29yZTo6Q29sb3IgUGFnZUNsaWVudEltcGw6
OmNvbnRlbnRWaWV3QmFja2dyb3VuZENvbG9yKCkKICAgICByZXR1cm4gW21fY29udGVudFZpZXcg
YmFja2dyb3VuZENvbG9yXS5DR0NvbG9yOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1
ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikK
K3sKKyAgICBbbV9jb250ZW50VmlldyBfc2Nyb2xsVG9SZWN0OnRhcmdldFJlY3Qgd2l0aE9yaWdp
bjpvcmlnaW4gbWluaW11bVNjcm9sbERpc3RhbmNlOjBdOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IDZjNWM0ZTM5YzYxNDgz
ZGFlOTBlNjkyY2M3ODY2OWRhYjc0OWU1ZGEuLmU3ZGM1YWM5YzVkNDJiZTFhNWEyOWQ3NzMwNDE5
YzQwN2E5YmMzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5oCkBAIC0yOTAsNiArMjkwLDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pCiAgICAgdm9pZCBoYW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1bHQo
Y29uc3QgV2ViQ29yZTo6RGF0YURldGVjdG9yRWxlbWVudEluZm8mLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYpIGZpbmFsOwogI2VuZGlmCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9s
bFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2lu
dCBvcmlnaW4pIG92ZXJyaWRlOwogCiAgICAgTlNWaWV3ICptX3ZpZXc7CiAgICAgV2Vha1B0cjxX
ZWJWaWV3SW1wbD4gbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLm1tCmluZGV4IDhiNzRiNDU0NWQ4OTdhOTk5Mjk0ZjgxNWM3YzFmNjdi
MzhmZDNjMmMuLjdmODIxZDMyZTdjNmEzZDk4ZTY1YmZhMGY1ODQ4MmJjZmU3MDZjZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAg
LTk3Miw2ICs5NzIsMTIgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUmVzdG9yZVNjcm9sbFBv
c2l0aW9uKCkKICAgICBtX2ltcGwtPmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOwogfQogCit2
b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVj
dCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICAvLyBGSVhN
RTogQWRkIGFkZGl0aW9uYWwgbG9naWMgdG8gYXZvaWQgTm90ZSBQaXAuCisgICAgbV9pbXBsLT5z
Y3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwogYm9vbCBQYWdlQ2xpZW50SW1w
bDo6d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVu
dCYgZXZlbnQpCiB7CiAgICAgcmV0dXJuIG1faW1wbC0+d2luZG93SXNGcm9udFdpbmRvd1VuZGVy
TW91c2UoZXZlbnQubmF0aXZlRXZlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDg5
ZjA1ZDVjYzcwNjRhY2VlNDVjZjA5YTUzMDE0M2I1ZTNhMmZlMWQuLmZjNzNlMTQ0N2Y0ZjJjNGJl
YTc0ODk4MTczMDE5NDQ4ZDc1NWY2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC00Miw2
ICs0Miw3IEBACiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRl
cmluZ0JhY2tlbmRQcm94eS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKKyNpbmNs
dWRlICJTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJV
c2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNv
cmVBcmd1bWVudENvZGVycy5oIgpAQCAtNjU1LDkgKzY1Niw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6
ZSkgY29uCiAgICAgfQogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9W
aWV3KGNvbnN0IEludFJlY3QmKSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
UmVxdWVzdFNjcm9sbFRvUmVjdChyZWN0LCByZWN0LmNlbnRlcigpKSk7CiB9CiAKIGJvb2wgV2Vi
Q2hyb21lQ2xpZW50OjpzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5k
ZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFp
bGFiaWxpdHlSZWFzb24pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZWI1YzllODg4NzA5
NmQ3OTYxYjBkYmUzNTAzZjliODQ2MjZhZjczMy4uNzVjMzY5YTlmMjhhZjUyYjA5YTRmNmZkMThj
NTI4NDRlMzZkMGYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHBy
aXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0
IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0Nv
bnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwot
ICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25z
dCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRh
dGlvbi4KKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24g
ZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAgICBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2lu
TWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2
YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmluYWw7CiAgICAgdm9pZCB1bmF2YWlsYWJsZVBsdWdp
bkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6RWxlbWVudCYsIFdlYkNvcmU6OlJlbmRlckVtYmVkZGVk
T2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBlN2MyZjdmMjk2MGM3MzlkMGYwMDE0N2Ez
OWRjMTM1OTVjZGIxOWFlLi4wZTJjNmUyYWI2NDhjNmQ1OTJhYTgzMWEyMDlkZjJkZjdlY2ZjNWY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTU0NCw2ICs1NDQsMTAg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMo
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CiAjZW5kaWYKICAgICAKKyNpZiBQTEFURk9STShD
T0NPQSkKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVj
dCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOworI2VuZGlmCisgICAgCiAgICAgdm9pZCBw
bGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmKTsKIAogICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDYz
NzE1MzUwMmZkOTQ0Y2M5ZmM2NmFhMmE2MGFhODJlN2U0MTU1YjUuLjE0NmQxMzc1NGEwZGQwYjky
ZmYwNzZjYWE0NDhmODI3YWNmOTRmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yMDMsNiArMjAzLDEwIEBAIG1lc3NhZ2VzIC0+
IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291bnRlZCB7CiAgICAgQWNjZXNzaWJp
bGl0eVByZWZlcmVuY2VzRGlkQ2hhbmdlKHN0cnVjdCBXZWJLaXQ6OkFjY2Vzc2liaWxpdHlQcmVm
ZXJlbmNlcyBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMpCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JN
KENPQ09BKQorICAgIFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwg
V2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCisjZW5kaWYKKwogI2lmIEhBVkUoTUVESUFfQUND
RVNTSUJJTElUWV9GUkFNRVdPUkspCiAgICAgU2V0TWVkaWFBY2Nlc3NpYmlsaXR5UHJlZmVyZW5j
ZXMoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIGRp
c3BsYXlNb2RlLCBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXMpCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGE2Njcy
MTA0YTJhMTM0ZDAzMDk1YzIyNmQ1ODM3NTk0ZGQ3ZTMwY2YuLmQ5MzY3MTkxZDcyYzRiM2EzZTQ2
ZTc5YjgzNzM4MWEzODdlOWQ4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTQxNyw2ICsxNDE3LDEzIEBAIHZvaWQgV2Vi
UHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmIGRhCiAgICAgICAgIFdFQlBST0NFU1NfUkVMRUFTRV9MT0dfRVJST1IoUHJv
Y2VzcywgIkNvdWxkIG5vdCBhcHBseSBBdWRpb0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIo
JWxkKSIsIHN0YXRpY19jYXN0PGxvbmc+KGVycikpOwogfQogCit2b2lkIFdlYlByb2Nlc3M6OnNj
cm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQ
b2ludCBvcmlnaW4pCit7CisgICAgV2ViUGFnZSogcGFnZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmZvY3VzZWRXZWJQYWdlKCk7CisgICAgaWYgKHBhZ2UpCisgICAgICAgIHBhZ2UtPm1haW5G
cmFtZVZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWlu
WUNvcm5lcigpKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFT
RV9MT0dfU0VTU0lPTl9JRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA0NGY0MDRmZGY1Yjg5MjQyOTIy
NTM0YjgxYWIzNzIyYzExMTcxYjFlLi4yNWNmNjg2YzQyYzU2ZTQ5YTY0ZTZmMzU1ZmZiNmE3ZTAw
ZTEwYTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAg
ICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwog
ICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6
ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsIHsgfQotICAgIHZv
aWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5h
bDsKKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JikgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHNldFN0YXR1c2JhclRleHQoY29uc3Qg
U3RyaW5nJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBiNmMxOTA5MWJmZmEz
ODk2Mjk5NDhiYTA1ZDc3ZGMyNGE0MmVmOWZmLi4xNjM2NzIxYzU2Y2U4NDVmMDNiMGU3NjZlZGYw
ZmI4N2RlYzM5YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC02MDYsNyArNjA2LDcgQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRT
aXplJikgY29uc3QKIHsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRv
Vmlldyhjb25zdCBJbnRSZWN0JiByKSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9s
bE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByKSBjb25zdAogewogICAgIC8v
IEZJWE1FOiBUaGlzIHNjcm9sbGluZyBiZWhhdmlvciBzaG91bGQgYmUgdW5kZXIgdGhlIGNvbnRy
b2wgb2YgdGhlIGVtYmVkZGluZyBjbGllbnQsCiAgICAgLy8gcGVyaGFwcyBpbiBhIGRlbGVnYXRl
IG1ldGhvZCwgcmF0aGVyIHRoYW4gc29tZXRoaW5nIFdlYktpdCBkb2VzIHVuY29uZGl0aW9uYWxs
eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMDk5YWU5YzcwOWQxNTdlYTBhYTkwZjYyYzhiYmU0ZTBl
ODMyNDczNC4uODc5YTIxMWM0NDFkYTJjZGUzZWNlNjM5MzJjMDM2ZWJlOTE0OTZiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKQEAgLTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6R3Jh
cGhpY3NEZXZpY2VBZGFwdGVyKiBncmFwaGljc0RldmljZUFkYXB0ZXIoKSBjb25zdCBmaW5hbDsK
ICNlbmRpZgogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxS
ZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogI2lmIEVOQUJM
RShWSURFTykKICAgICBib29sIHN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSkgZmluYWw7Cg==
</data>
<flag name="commit-queue"
          id="455748"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433491</attachid>
            <date>2021-07-13 22:54:22 -0700</date>
            <delta_ts>2021-07-14 10:46:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210713225422.patch</filename>
            <type>text/plain</type>
            <size>40794</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uN2M4OTExNGYyMmNiZmFhOTU3YjBjMWVjYTc0MmFj
YmUzNWExMmUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5
IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBu
ZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBh
dGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0
bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2Uu
CisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9s
bGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQg
dG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rpbmcg
aXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcEhpZ2hsaWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3Jv
bGwpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbEludG9WaWV3KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2U6OnNldFNlbGVjdGlvbik6Cisg
ICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZh
bGlkYXRpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVj
dGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIHBh
Z2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAgICAgICogcGFnZS9TY3JvbGxCZWhh
dmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
Y3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoK
KwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2VydmVyIG1lbW9yeSBsZWFrIG9uIGRl
dGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkYWY5OTZhOGEx
Zjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi42ZDYxMTYwZWI2ZTExZjFlY2FhNGI2Mzlj
OWI2MTYzZmMzM2IzZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA3LTEzICBN
ZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBB
cHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24g
Zm9yIE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVy
bGF5IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3
ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlz
IHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNo
b3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFu
Y2UuCisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNj
cm9sbGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5l
ZWQgdG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rp
bmcgaXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uIAorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVx
dWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEtMDctMDkgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBbGxvdyB0aGUgVUlQcm9jZXNzIHRvIHNldCBs
b2dnaW5nIHBhcmFtZXRlcnMgaW4gdGhlIEdQVVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwppbmRleCBmMmJlNGFjZmU3ZDRmNWNiYzBmYjg4ZjgyZjY0OWI1NzE4MTI1YWQxLi5kNWU2
ODYyNjYwYzFlY2FiZDhjYWE1MDBmYjI0OWUwODc1ZTBmZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxt
ZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Ny
b2xsaW5nIHRocm91Z2ggVUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBQaXAgYXZv
aWRhbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI3OTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNjcm9s
bE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjEtMDYtMjUgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjc5MjY2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGMzMjA5
ZjQ5YTAzYTBkMTJkY2VjZTdjMmJmM2M3ZjJlMzEwYjYwZjQuLjM2OGIyNzk3NWZmMTg1Y2EwMDQy
MzE5NmI4YjNkZTgzYzA1OTJjZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBV
SSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9u
b3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250
ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0NvbnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3
ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFhOTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJk
ODM4NGYzMDdiZjM4YTBlODEzNjkxNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3
MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdo
dEFuZFNjcm9sbChBcHBIaWdobGlnaHRSYW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9y
KQogICAgICAgICAgICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRU
ZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBU
ZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwg
eyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxl
Y3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlT
ZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsK
KyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25n
RG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUoKSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6
RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3Ro
U2Nyb2xsIH0pOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEzZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJj
NDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
QEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0
aW9uYWw8VmFyaWFudDxib29sLCBTY3JvbGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hv
cml6b250YWwgPyBhbGlnblggOiBhbGlnblksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWdu
WSA6IGFsaWduWCwKICAgICAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8s
Ci0gICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8p
LAotICAgICAgICBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAg
ICBvcHRpb25zLmJlaGF2aW9yLnZhbHVlX29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07
CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5z
aWRlRml4ZWQsIHZpc2libGVPcHRpb25zKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApp
bmRleCA4NjM3MTYzN2ExNGMyYzg0OTJjNzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3
Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFmZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
Y3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBAQCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6
c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAg
b3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29w
dGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAg
ICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYg
KG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwpCisgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5G
cmFtZVNjcm9sbCk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlv
bjo6U21vb3RoU2Nyb2xsKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21v
b3RoU2Nyb2xsKTsKLSAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9u
OjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50
KTsKICAgICBtX2RvY3VtZW50LT5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBv
cHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZl
M2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMxYS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4
NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAg
ZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAg
ICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQsCiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0g
MSA8PCA1LAogfTsKIAogY2xhc3MgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0
NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4uMWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMy
YzI5MTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAg
LTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRp
b25Ubyhjb25zdCBQb3NpdGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0
aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQo
UmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
U2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9w
dGlvbnMuYWRkKERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9
CkBAIC00MzIsNiArNDM1LDggQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNv
bnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9z
ZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5G
cmFtZTsKICAgICBlbHNlIGlmIChvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBt
X3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAg
ZWxzZSBpZiAob3B0aW9ucyAmIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3Nl
bGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFt
ZVNjcm9sbDsKICAgICBlbHNlCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVj
dGlvblJldmVhbE1vZGU6OkRvTm90UmV2ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNj
cm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xs
QWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVj
dGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAg
aWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRp
bmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGlu
dGVudCwgb3B0aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNt
b290aCA6IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQp
OworICAgIHVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMo
U21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJlaGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6
SW5zdGFudCk7CiAKICAgICBpZiAob3B0aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAg
ICBpZiAoYXV0byogY2xpZW50ID0gcHJvdGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgp
KQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0
aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlvbkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZp
ZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0
ZUFuZFJldmVhbFNlbGVjdGlvbihjb25zdCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50
LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFibGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBk
YXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRl
bnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5n
U2VsZWN0aW9uVXBkYXRlKQogICAgICAgICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50
ID0gbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNj
cm9sbEFsaWdubWVudDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9F
ZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFs
TW9kZSwgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVh
dHVyZUVuYWJsZW1lbnQpOworICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZl
YWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0K
IAogICAgIG5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAg
LTIzOTAsNyArMjM5NSw3IEBAIEhUTUxGb3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJl
bnRGb3JtKCkgY29uc3QKICAgICByZXR1cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lk
IEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZl
YWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0
aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2
b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSBy
ZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50
T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3Ip
CiB7CiAgICAgaWYgKHJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZl
YWwpCiAgICAgICAgIHJldHVybjsKQEAgLTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxl
Y3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNv
bnN0IFNjcm9sCiAgICAgICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewog
ICAgICAgICAgICAgICAgIGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVy
U2Nyb2xsYWJsZUFyZWEoKTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRq
dXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVy
LT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJlY3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFs
aWdubWVudCwgYWxpZ25tZW50LCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMs
IHNjcm9sbEJlaGF2aW9yLCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAg
ICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2
ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3Jv
bGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxl
QXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAg
ICAgICAgICB1cGRhdGVBcHBlYXJhbmNlKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1l
bnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyArMjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJl
dmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9s
CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUg
c3RhcnRDb250YWluZXIncyBsYXllciwgYnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVj
dCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxy
ZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4KLSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2Rl
KCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsg
cmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9
KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9s
bFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50
LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xs
QmVoYXZpb3J9KSkKICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0
MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIxMjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkz
ZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5o
CkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAx
IDw8IDcsCiAgICAgICAgIFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAg
ICAgICAgIFNtb290aFNjcm9sbCA9IDEgPDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudCA9IDEgPDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwgPSAxIDw8IDEwCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxT
ZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dl
cmVkID0gTm90VXNlclRyaWdnZXJlZCk7CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBIVE1MRm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1l
bnQmID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRP
cHRpb24gPSBEb05vdFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlv
cjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJl
dmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50
ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9s
bEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5vbmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2Nr
Q3Vyc29yKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2
Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVS
YW5nZSgpOwogCiBwcml2YXRlOgotICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhh
dmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFs
U2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3Ig
PSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3Jz
Rm9yU2VsZWN0aW9uKCk7CiAKICAgICBib29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0Fw
cGVhcmFuY2UoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25P
cHRpb24+LCBDdXJzb3JBbGlnbk9uU2Nyb2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1
N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFz
cyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0
Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZpbmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVu
VW50aWxNb3VzZU1vdmVzKGJvb2wpIGZpbmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50
b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAg
IHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmlu
YWwgeyB9CiAgICAgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NM
YXllciopIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IGEwYzA5MzA2Zjk2Mjhi
MTY0YTkyMjJmMzcxMGQ4N2VhNTk4MDRhYzMuLjQ1YjNmOGU4M2Y0OGQwOGRjZjU1YmI0OTg1ZWJm
N2RkZDA5ZWZmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2
b2lkIENocm9tZTo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNp
emUmIHNpemUpIGNvbnN0CiAgICAgbV9jbGllbnQuY29udGVudHNTaXplQ2hhbmdlZChmcmFtZSwg
c2l6ZSk7CiB9CiAKLXZvaWQgQ2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVj
dCYgcmVjdCkgY29uc3QKK3ZvaWQgQ2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBtX2NsaWVudC5zY3JvbGxSZWN0SW50
b1ZpZXcocmVjdCk7CisgICAgbV9jbGllbnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJl
Y3QpOwogfQogCiB2b2lkIENocm9tZTo6c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCAxNWE0OTFiODRjMjA2ZGQ4YjUxYWRjNmVl
MWRiNjg4OGI3ZjQzZTc4Li40NjZiM2U5OGQ2MzE0MDg3MmFlMjY2YTczZmU4M2Y5ZjBhMGE4M2Qx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIEZsb2F0
U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXpl
IG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBzY3JvbGxS
ZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVu
dHNTaXplQ2hhbmdlZChGcmFtZSYsIGNvbnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggYTg5NjhjOTQ0ZTRhMWFiYWNjOGMyZmQwM2I5NzFmZDNi
M2Y4ZTcyYy4uMTIxNjNlMGIzZGE4MTM3OTY0Yjc2ZTAxMmEyYTUwMmRmNTk3MTc5MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yMjgsNyArMjI4LDcgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXpl
JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFu
Z2VkKGNvbnN0IEludFNpemUmKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFJl
Y3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBN
YWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3Jv
bGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3Vy
cmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJF
bWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tl
ZChFbGVtZW50JiwgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVh
c29uKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVo
YXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXgg
ZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1MjRhM2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1
YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhh
dmlvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29s
IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNz
b2NpYXRlZEVsZW1lbnQsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVh
dHVyZUVuYWJsZW1lbnQpCitib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBi
ZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lh
dGVkRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29s
IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNz
b2NpYXRlZEVsZW1lbnQsIFNtbwogICAgIGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lh
dGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zY3JvbGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29j
aWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVt
ZW50KCk7CiAKLSAgICBpZiAoIWFzc29jaWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVy
cmlkZUZlYXR1cmVFbmFibGVtZW50ID09IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpE
ZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09N
Vmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQoKSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVu
dC0+cmVuZGVyZXIoKSB8fCAhYXNzb2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxp
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0Yjlh
YTE1MzFhOTkzODQ4YjUzOWU4YTcwY2QzLi5lZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNi
NzFkMTA0OWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICsz
NSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xsQmVoYXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgK
IH07CiAKLWVudW0gY2xhc3MgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsg
RGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQotYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVo
YXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5h
YmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wg
dXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxl
bWVudCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2Iu
LjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2OGU4MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Ny
b2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gOiB1aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9u
UmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsKICAgICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5G
cmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93IGFuZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZy
YW1lLgorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVw
VG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1cmUgdG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFt
ZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZlYWwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2MWMyNjJmMDVlMjZlODk4MDhmOTBkOTBmZjIxMGQxZjYx
OTkwNjMuLjZiYTc4NTIwODhhYmQ3MDE2ZjIxY2ViNGJiZTE3MzYxZTNlYTdkMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAg
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBh
YnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0
aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywgb3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7
CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9zaXRpb25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFu
Z2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigp
LmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50
ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25z
Lm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJh
bWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYg
dXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAg
ICAgc2Nyb2xsUG9zaXRpb25PcHRpb25zLmFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsK
ICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2
ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3Qg
TGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0
aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJh
bWUgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm47CiAKKyAgICAgICAgICAgIGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9u
UmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCku
aXNNYWluRnJhbWUoKSkgeworICAgICAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxN
YWluRnJhbWVUb1JldmVhbFJlY3Qoc25hcHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1p
blNjcm9sbFBvc2l0aW9uID0gZnJhbWVWaWV3Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAg
ICAgICAgICAgYXV0byBtYXhTY3JvbGxQb3NpdGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xs
UG9zaXRpb24oKTsKIApAQCAtMjUxMiwxMSArMjUxNywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpz
Y3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBp
bnNpZAogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1v
c3QgdmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCi0g
ICAgICAgICAgICAvLyBzY3JvbGwgaXRzIGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9s
bFJlY3RJbnRvVmlldy4KKyAgICAgICAgICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNh
bGxpbmcgUGFnZTo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0LgogICAgICAgICAgICAgLy8g
VGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qgb24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlv
bnMKICAgICAgICAgICAgIC8vIHRoYXQgcHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250
YWluZXJzLCBzdWNoIGFzIE1hYyBPUyBYIE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0
b3Njcm9sbCBmdW5jdGlvbiBpbiBFdmVudEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgot
ICAgICAgICAgICAgcGFnZSgpLmNocm9tZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50
UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxN
YWluRnJhbWVUb1JldmVhbFJlY3Qoc25hcHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAg
ICAgIH0KICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmlu
ZGV4IDBkZGNmZWVlMDYwM2RjOTVhYmQ3MDNjZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3
NTBjYWZkY2M4N2FjMzgxYjQ1ZTliZTRkNGU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCkBAIC0xNDEsNyArMTQxLDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2li
bGVPcHRpb25zIHsKICAgICBjb25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFs
aWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmln
aW5TY3JvbGxpbmcgc2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Ok5vIH07CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3Ig
eyBTY3JvbGxCZWhhdmlvcjo6QXV0byB9OwotICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCB9OwogfTsKIAogdXNpbmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudElt
cGwuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5j
cHAKaW5kZXggMjBlODhkMzgxNDBiOWU5ZjJkM2JkYTQxN2QwN2EwY2UyNjQ1ZTU5OC4uMTllY2I0
NDY3Yzc1MWQ5YzdlM2E3MmVkNjllMzZjMjA5YThlMmE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKQEAgLTk3LDYgKzk3LDEy
IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAor
KCkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6Rmxv
YXRSZWN0JiwgV2ViQ29yZTo6RmxvYXRQb2ludCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKwogV2ViQ29yZTo6RmxvYXRQb2ludCBQYWdlQ2xpZW50SW1wbDo6dmlld1Njcm9sbFBvc2l0
aW9uKCkKIHsKICAgICByZXR1cm4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IDU2ZjU5NGZhYTZiNjQ5Y2FiZDI5ODc1NGQ3
ZGEyZjI1OGJmMzcwZDcuLjIyODNjZTRmMWI0ZDFmNTVmYTE0ZDRjNGMzZWU4ZmM4ODRjMDY5Njgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBs
LmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2lu
Z0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQcm94eShXZWJQcm9jZXNzUHJveHkmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNldFZpZXdOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6UmVnaW9u
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3Jp
Z2luKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6Rmxv
YXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsK
ICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZpZXdTY3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwog
ICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSBvdmVycmlkZTsKICAgICBib29sIGlzVmll
d1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA5YjAxZjQwMjI3MTUyMTAyZTQ3ZTZj
YzI1ZGJkYjI2MWQxNzdiZjliLi4zZDcxMzk2ZWJlM2I3OGMzZWYwZmIwNjJmNDZlYzdkMGQ2ZWEw
NDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQpAQCAtNzA3LDYgKzcwNywxNiBAQCBOU0RpY3Rpb25hcnkgKldlYlBhZ2VQcm94
eTo6Y29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVtKE5TU3RyaW5nICp1c2VySW50ZXJmYWNlSQog
ICAgIHJldHVybiBuaWw7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9S
ZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBwYWdl
Q2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCit2
b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9h
dFBvaW50IG9yaWdpbikKK3sKKyAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vz
czo6U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbiksIDApOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggODJlMzgyODAzN2IwNjRm
NWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2MDdhODY5OGYyYjJkYzgwYTU1NjRjYjU2
ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVyZUV2ZW50V2Fz
Tm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2ZW50ICopOwogCiAgICAgdm9pZCBk
aWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChX
ZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQpOwogCiAgICAgdm9pZCBzZXRU
b3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKSB7IG1fdG90
YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9mQmFubmVyczsgfQogICAgIENHRmxvYXQg
dG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsSGVpZ2h0T2ZCYW5u
ZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmlu
ZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYzODdmYzY0ZGE2Y2MuLjZkZGJjZTIwM2I3
MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcwLDYgKzI1NzAsMTEgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lTdGF0ZSgpCiAKICNlbmRpZiAvLyBIQVZF
KE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIAordm9pZCBXZWJWaWV3
SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3BhZ2UtPnNjcm9sbFRvUmVjdCh0YXJnZXRS
ZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZpZXdJbXBsOjpoaXRUZXN0KENHUG9pbnQg
cG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0gW21fdmlldyBfd2ViX3N1cGVySGl0VGVz
dDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2OGYzNmM1MDVjYzY4ODk2NzQ1Li45Nzk4
YWQwN2Q5Y2EzNjcwOGNlMTI3MzBjODQzOGMyY2Y4YWM5NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVBcHBIaWdobGlnaHQoY29uc3Qg
V2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2VuZGlmCisgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6
OkZsb2F0UG9pbnQgb3JpZ2luKSA9IDA7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2aXJ0
dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JHZXN0dXJlUmVjb2duaXplcihVSUdlc3R1cmVSZWNv
Z25pemVyKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGQx
YTVmYzM4ZWE3Yzk1ZmVhNjM0ZDg1Y2Q5YmQxNzBkYTY1YjE5ZjguLmI0MjZmZTY3OTFhYTJmN2Zm
MWIyYmVkOGM3YWViZjFlNDg1MDFmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC05MDcsNyArOTA3LDEwIEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UmVjdCYgdmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgYWNjZXNzaWJpbGl0eVZpZXdDb29yZGluYXRlcyk7CiAgICAgdm9pZCBzZXRNYWluRnJh
bWVJc1Njcm9sbGFibGUoYm9vbCk7Ci0KKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xs
VG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50
IG9yaWdpbik7CisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdl
dFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKKyAgICAgICAgCiAgICAgdm9pZCBz
ZW5kQ29tcGxleFRleHRJbnB1dFRvUGx1Z2luKHVpbnQ2NF90IHBsdWdpbkNvbXBsZXhUZXh0SW5w
dXRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHRleHRJbnB1dCk7CiAgICAgYm9vbCBzaG91bGRE
ZWxheVdpbmRvd09yZGVyaW5nRm9yRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOwogICAgIGJv
b2wgYWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBXZWJNb3VzZUV2ZW50
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggZGI1YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2ZDk2ZS4uNjUyNDkz
ZGY0Mjk1ZjcwMzg1NzUzZjZjMDZjMjc5Y2E3ZTM0ZTljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTEwLDYgKzUxMCwxMCBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAgICBEaWRSZXN0b3JlU2Ny
b2xsUG9zaXRpb24oKQorICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFJlcXVlc3RTY3Jv
bGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9p
bnQgb3JpZ2luKQorI2VuZGlmCiAKICAgICBHZXRMb2FkRGVjaXNpb25Gb3JJY29uKHN0cnVjdCBX
ZWJDb3JlOjpMaW5rSWNvbiBpY29uLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRl
eCA0NjIwZTc1ZDBhNTU2NTZlODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0Li5kMDA1NDYzOTg3ZDEw
YzU3NzA0ZmYyNGRjMWRhOTExNWQ1NjAyNDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjE0LDcgKzIxNCw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RpZFNjcm9sbCgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFdpbGxTdGFydFNjcm9sbCgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbERpZEVuZFNjcm9sbCgpIG92ZXJyaWRlOwotCisg
ICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3Qg
dGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92ZXJyaWRlOwogICAgIC8v
IEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAg
ICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgZnVsbFNjcmVlbk1hbmFnZXJQcm94
eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4MWZlM2E1MTRmN2Q4NzJiMzE4NTc0OGQ4
Yzc2MTdlYzMuLjczMDRkN2ZiODQ2NzQ2MTljYzhhNmRhOGY0ODdhYzBiZTg0Mjg4MjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAg
LTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xvciBQYWdlQ2xpZW50SW1wbDo6Y29udGVu
dFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBbbV9jb250ZW50VmlldyBiYWNrZ3Jv
dW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3Jv
bGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdldFJlY3QsIEZsb2F0UG9pbnQgb3JpZ2luKQoreworICAg
IFttX2NvbnRlbnRWaWV3IF9zY3JvbGxUb1JlY3Q6dGFyZ2V0UmVjdCB3aXRoT3JpZ2luOm9yaWdp
biBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6MF07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggNmM1YzRlMzljNjE0ODNkYWU5MGU2
OTJjYzc4NjY5ZGFiNzQ5ZTVkYS4uZTdkYzVhYzljNWQ0MmJlMWE1YTI5ZDc3MzA0MTljNDA3YTli
YzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShEQVRBX0RFVEVD
VElPTikKICAgICB2b2lkIGhhbmRsZUNsaWNrRm9yRGF0YURldGVjdGlvblJlc3VsdChjb25zdCBX
ZWJDb3JlOjpEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JikgZmluYWw7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0
KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdp
bikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmlldzsKICAgICBXZWFrUHRyPFdlYlZpZXdJ
bXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5OTkyOTRmODE1YzdjMWY2N2IzOGZkM2My
Yy4uN2Y4MjFkMzJlN2M2YTNkOThlNjViZmEwZjU4NDgyYmNmZTcwNmNmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAtOTcyLDYg
Kzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24o
KQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CiB9CiAKK3ZvaWQgUGFn
ZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdl
dFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQoreworICAgIC8vIEZJWE1FOiBBZGQg
YWRkaXRpb25hbCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4KKyAgICBtX2ltcGwtPnNjcm9sbFRv
UmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29sIFBhZ2VDbGllbnRJbXBsOjp3aW5k
b3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50JiBldmVu
dCkKIHsKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShl
dmVudC5uYXRpdmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggODlmMDVkNWNj
NzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZC4uZmM3M2UxNDQ3ZjRmMmM0YmVhNzQ4OTgx
NzMwMTk0NDhkNzU1ZjY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQyLDYgKzQyLDcg
QEAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgorI2luY2x1ZGUgIlNt
YXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlVzZXJEYXRh
LmgiCiAjaW5jbHVkZSAiV2ViQ29sb3JDaG9vc2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCkBAIC02NTUsOSArNjU2LDkgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNv
bnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRTaXplJiBzaXplKSBjb24K
ICAgICB9CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29u
c3QgSW50UmVjdCYpIGNvbnN0Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0
U2Nyb2xsVG9SZWN0KHJlY3QsIHJlY3QuY2VudGVyKCkpKTsKIH0KIAogYm9vbCBXZWJDaHJvbWVD
bGllbnQ6OnNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFJlbmRlckVtYmVk
ZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVnaW5VbmF2YWlsYWJpbGl0
eVJlYXNvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBlYjVjOWU4ODg3MDk2ZDc5NjFi
MGRiZTM1MDNmOWI4NDYyNmFmNzMzLi43NWMzNjlhOWYyOGFmNTJiMDlhNGY2ZmQxOGM1Mjg0NGUz
NmQwZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMzMsNyArMTMzLDcgQEAgcHJpdmF0ZToK
ICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3QgZmluYWw7
CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZyYW1lJiwgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaW50cmluc2ljQ29udGVudHNT
aXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7Ci0gICAgdm9p
ZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFs
OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0aW9uLgor
ICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KIAogICAgIGJvb2wgc2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNzYWdl
QmVCdXR0b24oV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmls
aXR5UmVhc29uKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9u
Q2xpY2tlZChXZWJDb3JlOjpFbGVtZW50JiwgV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6
OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGU3YzJmN2YyOTYwYzczOWQwZjAwMTQ3YTM5ZGMxMzU5
NWNkYjE5YWUuLjBlMmM2ZTJhYjY0OGM2ZDU5MmFhODMxYTIwOWRmMmRmN2VjZmM1ZjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNTQ0LDYgKzU0NCwxMCBAQCBwcml2
YXRlOgogICAgIHZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgogICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3Jt
SW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFy
YW1ldGVycyYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNjM3MTUzNTAy
ZmQ5NDRjYzlmYzY2YWEyYTYwYWE4MmU3ZTQxNTViNS4uMTQ2ZDEzNzU0YTBkZDBiOTJmZjA3NmNh
YTQ0OGY4MjdhY2Y5NGYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KQEAgLTIwMyw2ICsyMDMsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJv
Y2VzcyBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3VudGVkIHsKICAgICBBY2Nlc3NpYmlsaXR5UHJl
ZmVyZW5jZXNEaWRDaGFuZ2Uoc3RydWN0IFdlYktpdDo6QWNjZXNzaWJpbGl0eVByZWZlcmVuY2Vz
IGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcykKICNlbmRpZgogCisjaWYgUExBVEZPUk0oQ09DT0Ep
CisgICAgU2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikKKyNlbmRpZgorCiAjaWYgSEFWRShNRURJQV9BQ0NFU1NJQklM
SVRZX0ZSQU1FV09SSykKICAgICBTZXRNZWRpYUFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyhXZWJD
b3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgZGlzcGxheU1v
ZGUsIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlcykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggYTY2NzIxMDRhMmEx
MzRkMDMwOTVjMjI2ZDU4Mzc1OTRkZDdlMzBjZi4uZDkzNjcxOTFkNzJjNGIzYTNlNDZlNzliODM3
MzgxYTM4N2U5ZDhhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNDE3LDYgKzE0MTcsMTMgQEAgdm9pZCBXZWJQcm9jZXNz
Ojpjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGEKICAgICAgICAgV0VCUFJPQ0VTU19SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAi
Q291bGQgbm90IGFwcGx5IEF1ZGlvQ29tcG9uZW50IHJlZ2lzdHJhdGlvbnMsIGVyciglbGQpIiwg
c3RhdGljX2Nhc3Q8bG9uZz4oZXJyKSk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6c2Nyb2xsVG9S
ZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9y
aWdpbikKK3sKKyAgICBXZWJQYWdlKiBwYWdlID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuZm9j
dXNlZFdlYlBhZ2UoKTsKKyAgICBpZiAocGFnZSkKKyAgICAgICAgcGFnZS0+bWFpbkZyYW1lVmll
dygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVy
KCkpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19T
RVNTSU9OX0lECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDQ0ZjQwNGZkZjViODkyNDI5MjI1MzRiODFh
YjM3MjJjMTExNzFiMWUuLjI1Y2Y2ODZjNDJjNTZlNDlhNjRlNmYzNTVmZmI2YTdlMDBlMTBhNDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJpdmF0ZToKICAgICBQbGF0
Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3QgZmluYWw7CiAgICAgdm9p
ZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZyYW1lJiwgY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdl
ZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWwgeyB9Ci0gICAgdm9pZCBzY3Jv
bGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAg
IHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQgc2V0U3RhdHVzYmFyVGV4dChjb25zdCBTdHJpbmcm
KSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IGI2YzE5MDkxYmZmYTM4OTYyOTk0
OGJhMDVkNzdkYzI0YTQyZWY5ZmYuLjE2MzY3MjFjNTZjZTg0NWYwM2IwZTc2NmVkZjBmYjg3ZGVj
MzlhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTYwNiw3ICs2MDYsNyBAQCB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNvbnN0IEludFNpemUmKSBj
b25zdAogewogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3KGNv
bnN0IEludFJlY3QmIHIpIGNvbnN0Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6
IFRoaXMgc2Nyb2xsaW5nIGJlaGF2aW9yIHNob3VsZCBiZSB1bmRlciB0aGUgY29udHJvbCBvZiB0
aGUgZW1iZWRkaW5nIGNsaWVudCwKICAgICAvLyBwZXJoYXBzIGluIGEgZGVsZWdhdGUgbWV0aG9k
LCByYXRoZXIgdGhhbiBzb21ldGhpbmcgV2ViS2l0IGRvZXMgdW5jb25kaXRpb25hbGx5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCAwOTlhZTljNzA5ZDE1N2VhMGFhOTBmNjJjOGJiZTRlMGU4MzI0NzM0
Li44NzlhMjExYzQ0MWRhMmNkZTNlY2U2MzkzMmMwMzZlYmU5MTQ5NmI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpHcmFwaGljc0Rl
dmljZUFkYXB0ZXIqIGdyYXBoaWNzRGV2aWNlQWRhcHRlcigpIGNvbnN0IGZpbmFsOwogI2VuZGlm
CiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jikg
Y29uc3QgZmluYWwgeyB9CisgICAgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQogCiAjaWYgRU5BQkxFKFZJREVP
KQogICAgIGJvb2wgc3VwcG9ydHNWaWRlb0Z1bGxzY3JlZW4oV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKSBmaW5hbDsK
</data>
<flag name="commit-queue"
          id="455750"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433512</attachid>
            <date>2021-07-14 10:58:58 -0700</date>
            <delta_ts>2021-07-14 14:45:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714105857.patch</filename>
            <type>text/plain</type>
            <size>44653</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uMzQ2OWI5YzczMzFiOTYwYjM4YjMxOTkzZjQ5OTA1
MWVmMmE3ZWE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIxLTA3LTE0ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBI
aWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKToKKyAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzY3Jv
bGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAq
IGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhvdXRWYWxpZGF0aW9u
VG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24pOgor
ICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvRW1w
dHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9W
aWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJlaGF2aW9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAgICAgICogcGFnZS9T
Y3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaDoKKworMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBV
SSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3Jy
ZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJl
IHRoZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhy
b3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBh
bmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVh
bCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3Qg
dXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0
IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUg
d2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAg
IGluZm9ybWF0aW9uLgorCisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0
U3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRl
bXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAg
ICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0
aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6Cisg
ICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhvdXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGll
bnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9T
Y3JvbGxCZWhhdmlvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1c2VTbW9vdGhTY3JvbGxpbmcp
OgorICAgICAgICAqIHBhZ2UvU2Nyb2xsQmVoYXZpb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxUeXBlcy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisKIDIwMjEtMDctMDkgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVzaXplT2JzZXJ2ZXIgLyBJbnRlcnNlY3Rp
b25PYnNlcnZlciBtZW1vcnkgbGVhayBvbiBkZXRhY2hlZCAmIG91dCBvZiByZWZlcmVuY2UgZWxl
bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZGFmOTk2YThhMWY4NjliZTA5MDIwOWM3N2Q5OGU5MmU2ZWU1NzYx
Yy4uM2IyZjJmYjFmYzNmNDAzZDkyYTEyZDhiYmU0MzdjZjYxY2RjNTM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw3OCBAQAorMjAyMS0wNy0xNCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJA
YXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3Vn
aCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudElt
cGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1Bh
Z2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1Jl
Y3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Ny
b2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAg
ICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9t
ZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1Jl
Y3QpOgorCisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFBy
b2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3Rs
eSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhl
IHdlYiB2aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdo
IHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3
aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdv
cmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2Vz
IHRoZSBtYWluIGZyYW1lIFVJIFNjcm9sbGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9y
IAorICAgICAgICBtYWMsIHdlIG5lZWQgdG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIg
cHJvY2VzcyBhZnRlciBhZGp1c3RpbmcgaXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5m
b3JtYXRpb24uIAorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVj
dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJh
bWVUb1JldmVhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEtMDctMDkgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBbGxvdyB0
aGUgVUlQcm9jZXNzIHRvIHNldCBsb2dnaW5nIHBhcmFtZXRlcnMgaW4gdGhlIEdQVVByb2Nlc3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBmMmJlNGFjZmU3ZDRmNWNiYzBmYjg4Zjgy
ZjY0OWI1NzE4MTI1YWQxLi5lMGI2MzcwOWQ0N2QyODRlMWE0N2UwMTliNDcxZmFmM2UzZWI3Mzll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDct
MTQgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBQ
aXBlIEFwcCBIaWdobGlnaHQgc2Nyb2xsaW5nIHRocm91Z2ggVUkgUHJvY2VzcyBpbiBwcmVwYXJh
dGlvbiBmb3IgTm90ZSBQaXAgYXZvaWRhbmNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChX
ZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6CisgICAg
ICAgIChXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQu
CisKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Nyb2xsaW5nIHRocm91Z2ggVUkgUHJvY2Vz
cyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBQaXAgYXZvaWRhbmNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06
CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBj
b25zdCk6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBjb25z
dCk6IERlbGV0ZWQuCisKIDIwMjEtMDYtMjUgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc5MjY2LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGMzMjA5ZjQ5YTAzYTBkMTJkY2VjZTdjMmJmM2M3
ZjJlMzEwYjYwZjQuLmEzY2UyMWRmMDU0ZDYwMDk4MjgwZGZiOTQ4ODMyN2I1ZGQ4ZDVhNmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0wNy0xNCAg
TWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBpcGUg
QXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9u
IGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCisy
MDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4g
cHJlcGFyYXRpb24gZm9yIE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lmg6CisKIDIwMjEtMDctMDcgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29u
eS5jb20+CiAKICAgICAgICAgW0NhaXJvXSBNZXJnZSBQbGF0Zm9ybUNvbnRleHRDYWlybyBpbnRv
IEdyYXBoaWNzQ29udGV4dENhaXJvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCmluZGV4IDc4MGZjNTE2ZGZlNTY5
MDUwNjA2NmQyYWE5MmYzZDgzZTA1NWFlNzEuLjY2ZWVlMjczZTg3M2Y4MmQ4Mzg0ZjMwN2JmMzhh
MGU4MTM2OTE2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0
L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCkBAIC0yNzEsNyArMjcxLDcgQEAgYm9vbCBB
cHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKEFw
cEhpZ2hsaWdodFJhbmdlRGEKICAgICAgICAgaWYgKHRleHRJbmRpY2F0b3IpCiAgICAgICAgICAg
ICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnNldFRleHRJbmRpY2F0b3Io
dGV4dEluZGljYXRvci0+ZGF0YSgpKTsKICAgICAgICAgCi0gICAgICAgIFRlbXBvcmFyeVNlbGVj
dGlvbkNoYW5nZSBzZWxlY3Rpb25DaGFuZ2UoKnN0cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVl
KCkgfSwgeyBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbiwgVGVtcG9y
YXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlv
bjo6T3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50IH0pOworICAgICAgICBUZW1w
b3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyBy
YW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5G
cmFtZVNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwgfSk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggNGJmZGJi
Y2E3ZDRlZmU5MTNkMTA0OThiZjRkYzg5NmUyMjY3NzRkNS4uYzMwYzNkMmM0NTkzYjRjNTNlNDJk
YjZlYTk2M2Y4ZTc1M2UxMWVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtOTM3LDggKzkz
Nyw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xsSW50b1ZpZXcoc3RkOjpvcHRpb25hbDxWYXJpYW50
PGJvb2wsIFNjcm9sbEludG9WaWV3T3B0aW9ucz4+CiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFs
aWduWCA6IGFsaWduWSwKICAgICAgICAgaXNIb3Jpem9udGFsID8gYWxpZ25ZIDogYWxpZ25YLAog
ICAgICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpObywKLSAgICAgICAgb3B0
aW9ucy5iZWhhdmlvci52YWx1ZV9vcihTY3JvbGxCZWhhdmlvcjo6QXV0byksCi0gICAgICAgIFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0CisgICAgICAgIG9wdGlvbnMuYmVo
YXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pCiAgICAgfTsKICAgICByZW5kZXJl
cigpLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFic29sdXRlQm91bmRzLCBpbnNpZGVGaXhlZCwgdmlz
aWJsZU9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3
YTE0YzJjODQ5MmM3N2ZiYjk3ODEzZmQwY2RlNGFjYjQuLmMzYjE5MjVlNjdjZDNjN2FiMzMyNjUx
NzVlMmU0OThmMWZkNWVlNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI2NSwx
MCArMjY1LDEwIEBAIHZvaWQgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24o
Y29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChG
cmFtZVNlbGVjdGlvbjo6RG9Ob3RTZXRGb2N1cyk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBv
cmFyeVNlbGVjdGlvbk9wdGlvbjo6UmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFk
ZChGcmFtZVNlbGVjdGlvbjo6UmV2ZWFsU2VsZWN0aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYg
VGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAg
ICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsK
ICAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3Jv
bGwpCiAgICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwot
ICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21v
b3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCkKLSAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxl
Y3Rpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQpOwogICAgIG1fZG9j
dW1lbnQtPnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihzZWxlY3Rpb24sIG9wdGlvbnMpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCBiOWQ3MzBiNjdkZjlmZmUzYTk3ZWI4ZGM1Y2Fh
MzNhMDk1NDYzMzFhLi5mZDU5YmZmYWU3MmQ1ZmFmOTI0NzIzZWY0NzliMjg1NjA2MDM4OTU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBlbnVtIGNsYXNzIFRl
bXBvcmFyeVNlbGVjdGlvbk9wdGlvbiA6IHVpbnQ4X3QgewogICAgIAogICAgIFNtb290aFNjcm9s
bCA9IDEgPDwgNCwKICAgICAKLSAgICBPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1l
bnQgPSAxIDw8IDUsCisgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDUsCiB9Owog
CiBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBmY2Q4MGQxY2JjYTc4YjBhZTQ0MTcyYTM4OWRhN2Yz
ZjNmNTQwNWNkLi4xY2EzYmZiYzkyMWM0NTc5Njg0YjEwMzUwMmU0YzUzMzJjMjkxMTI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjMyLDYgKzIzMiw5
IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om1vdmVXaXRob3V0VmFsaWRhdGlvblRvKGNvbnN0IFBv
c2l0aW9uJiBiYXNlLCBjb25zdCBQb3NpdGlvCiAgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2Rl
OjpSZXZlYWxVcFRvTWFpbkZyYW1lOgogICAgICAgICBvcHRpb25zLmFkZChSZXZlYWxTZWxlY3Rp
b25VcFRvTWFpbkZyYW1lKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTZWxlY3Rpb25SZXZl
YWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDoKKyAgICAgICAgb3B0aW9ucy5hZGQoRGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGwpOworICAgICAgICBicmVhazsKICAgICB9CiAgICAgc2V0U2Vs
ZWN0aW9uKG5ld1NlbGVjdGlvbiwgb3B0aW9ucywgbmV3SW50ZW50KTsKIH0KQEAgLTQzMiw2ICs0
MzUsOCBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYgc2VsZWN0aW9uLCBPcHRpb25TZXQ8UwogICAgICAgICBtX3NlbGVjdGlvblJldmVh
bE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lOwogICAgIGVs
c2UgaWYgKG9wdGlvbnMgJiBSZXZlYWxTZWxlY3Rpb24pCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbDsKKyAgICBlbHNlIGlmIChvcHRp
b25zICYgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFs
TW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsOwogICAg
IGVsc2UKICAgICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9k
ZTo6RG9Ob3RSZXZlYWw7CiAgICAgbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVh
bGluZ1NlbGVjdGlvbiA9IGFsaWduID09IEFsaWduQ3Vyc29yT25TY3JvbGxBbHdheXM7CkBAIC00
NDYsNyArNDUxLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZp
c2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICBpZiAoZnJhbWVWaWV3
ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICB1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oaW50ZW50LCBvcHRpb25z
LmNvbnRhaW5zKFNtb290aFNjcm9sbCkgPyBTY3JvbGxCZWhhdmlvcjo6U21vb3RoIDogU2Nyb2xs
QmVoYXZpb3I6Okluc3RhbnQsIG9wdGlvbnMuY29udGFpbnMoT3ZlcnJpZGVTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudCkgPyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJp
ZGUgOiBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7CisgICAgdXBkYXRl
QW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwp
ID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKIAog
ICAgIGlmIChvcHRpb25zICYgSXNVc2VyVHJpZ2dlcmVkKSB7CiAgICAgICAgIGlmIChhdXRvKiBj
bGllbnQgPSBwcm90ZWN0ZWREb2N1bWVudC0+ZWRpdG9yKCkuY2xpZW50KCkpCkBAIC00NzMsNyAr
NDc4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoUmV2
ZWFsU2VsZWN0aW9uQWZ0ZXJVcGRhdGUgcmV2ZWFsTW8KICAgICAgICAgdmlldy0+c2VsZWN0aW9u
KCkuY2xlYXIoKTsKIH0KIAotdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2Vs
ZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2
aW9yIHNjcm9sbEJlaGF2aW9yLCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVyaWRl
RmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxT
ZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludGVudCwgU2Nyb2xsQmVo
YXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYgKCFtX3BlbmRpbmdTZWxlY3Rpb25VcGRh
dGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5MCw3ICs0OTUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0
aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRl
bnQmIGludAogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0Fs
aWduQ3Vyc29yT25TY3JvbGxXaGVuUmV2ZWFsaW5nU2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50
OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsK
IAotICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1l
bnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IsIG92ZXJpZGVGZWF0dXJlRW5hYmxlbWVu
dCk7CisgICAgICAgIHJldmVhbFNlbGVjdGlvbihtX3NlbGVjdGlvblJldmVhbE1vZGUsIGFsaWdu
bWVudCwgUmV2ZWFsRXh0ZW50LCBzY3JvbGxCZWhhdmlvcik7CiAgICAgfQogCiAgICAgbm90aWZ5
QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZShpbnRlbnQpOwpAQCAtMjM5MCw3ICsyMzk1
LDcgQEAgSFRNTEZvcm1FbGVtZW50KiBGcmFtZVNlbGVjdGlvbjo6Y3VycmVudEZvcm0oKSBjb25z
dAogICAgIHJldHVybiBzY2FuRm9yRm9ybShzdGFydCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rp
b246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0
IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0
ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCkKK3ZvaWQgRnJhbWVTZWxl
Y3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNv
bnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFs
RXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvcikKIHsKICAgICBpZiAo
cmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbCkKICAgICAgICAg
cmV0dXJuOwpAQCAtMjQxMyw3ICsyNDE4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFs
U2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgcmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAg
ICAgICAgICAgIGlmICghbV9zY3JvbGxpbmdTdXBwcmVzc0NvdW50KSB7CiAgICAgICAgICAgICAg
ICAgYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBsYXllci0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJl
YSgpOwogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJl
dFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGln
bm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZp
b3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KTsKKyAgICAgICAgICAgICAgICBsYXllci0+
c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGln
bm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBz
Y3JvbGxCZWhhdmlvcn0pOwogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1
c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcoZmFsc2UpOwogICAgICAgICAgICAgICAgIHVwZGF0
ZUFwcGVhcmFuY2UoKTsKICAgICAgICAgICAgICAgICBpZiAobV9kb2N1bWVudC0+cGFnZSgpKQpA
QCAtMjQyNCw3ICsyNDI5LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9u
KFNlbGVjdGlvblJldmVhbE1vZGUgcmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgLy8g
RklYTUU6IFRoaXMgY29kZSBvbmx5IGhhbmRsZXMgc2Nyb2xsaW5nIHRoZSBzdGFydENvbnRhaW5l
cidzIGxheWVyLCBidXQKICAgICAgICAgLy8gdGhlIHNlbGVjdGlvbiByZWN0IGNvdWxkIGludGVy
c2VjdCBtb3JlIHRoYW4ganVzdCB0aGF0LgogICAgICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVt
LzQ3OTk4OTk+LgotICAgICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIo
KS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBh
bGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVz
LCBzY3JvbGxCZWhhdmlvciwgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudH0pKQorICAgICAgICBp
ZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJs
ZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwg
U2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pKQog
ICAgICAgICAgICAgdXBkYXRlQXBwZWFyYW5jZSgpOwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmluZGV4IDkzYTU5ZDU4NjQyNGIyN2Y2YThhODc3
MGE0YmZkNTMyMjEyNjI0NjkuLjdlMWQ4OTQ5ZDA3MTc5NTAxMzcyOTc1OTNkOTE5OWY0N2JlNDk1
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTEyNCw3ICsx
MjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJldmVhbFNlbGVjdGlvbiA9IDEgPDwgNywKICAgICAg
ICAgUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5GcmFtZSA9IDEgPDwgOCwKICAgICAgICAgU21vb3Ro
U2Nyb2xsID0gMSA8PCA5LAotICAgICAgICBPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFi
bGVtZW50ID0gMSA8PCAxMAorICAgICAgICBEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCA9IDEgPDwg
MTAKICAgICB9OwogICAgIHN0YXRpYyBjb25zdGV4cHIgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9w
dGlvbj4gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlvbnMoRVVzZXJUcmlnZ2VyZWQgPSBOb3RVc2Vy
VHJpZ2dlcmVkKTsKIApAQCAtMjQ4LDcgKzI0OCw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVf
RVhQT1JUIEhUTUxGb3JtRWxlbWVudCogY3VycmVudEZvcm0oKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgcmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgPSBTY3JvbGxB
bGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQsIFJldmVhbEV4dGVudE9wdGlvbiA9IERvTm90
UmV2ZWFsRXh0ZW50LCBTY3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBT
bW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50OjpEZWZhdWx0KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihT
ZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBT
Y3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBS
ZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBT
Y3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZWxl
Y3Rpb25Gcm9tTm9uZSgpOwogCiAgICAgYm9vbCBzaG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25z
dCB7IHJldHVybiBtX3Nob3VsZFNob3dCbG9ja0N1cnNvcjsgfQpAQCAtMjYzLDcgKzI2Myw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUZyb21Bc3NvY2lhdGVkTGl2ZVJhbmdlKCk7CiAKIHBy
aXZhdGU6Ci0gICAgdm9pZCB1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3Rh
dGVDaGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50
LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFi
bGVtZW50OjpPdmVycmlkZSk7CisgICAgdm9pZCB1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29u
c3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2
aW9yOjpJbnN0YW50KTsKICAgICB2b2lkIHVwZGF0ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24o
KTsKIAogICAgIGJvb2wgc2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25z
dCBWaXNpYmxlU2VsZWN0aW9uJiwgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4sIEN1cnNv
ckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxhcml0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKaW5kZXggZjMwOWM0OTc1YmQ1YmMwOTVjODUyMjRhMjMyZTU3YTlmYjc4NDUwNi4u
M2FkNTU2NzQ0NTZjOWM0MTgwMTkxOWY1YjMxN2M3MWViZmQ1OTI4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaApAQCAtMTYzLDcgKzE2Myw3IEBAIGNsYXNzIEVtcHR5Q2hyb21l
Q2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgdm9pZCBzZXRDdXJzb3IoY29uc3Qg
Q3Vyc29yJikgZmluYWwgeyB9CiAgICAgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92
ZXMoYm9vbCkgZmluYWwgeyB9CiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJ
bnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVh
bFJlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQogCiAgICAgdm9pZCBhdHRhY2hS
b290R3JhcGhpY3NMYXllcihGcmFtZSYsIEdyYXBoaWNzTGF5ZXIqKSBmaW5hbCB7IH0KICAgICB2
b2lkIGF0dGFjaFZpZXdPdmVybGF5R3JhcGhpY3NMYXllcihHcmFwaGljc0xheWVyKikgZmluYWwg
eyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggYTBjMDkzMDZmOTYyOGIxNjRhOTIyMmYzNzEw
ZDg3ZWE1OTgwNGFjMy4uNDViM2Y4ZTgzZjQ4ZDA4ZGNmNTViYjQ5ODVlYmY3ZGRkMDllZmYwYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMTM0LDkgKzEzNCw5IEBAIHZvaWQgQ2hyb21lOjpj
b250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29u
c3QKICAgICBtX2NsaWVudC5jb250ZW50c1NpemVDaGFuZ2VkKGZyYW1lLCBzaXplKTsKIH0KIAot
dm9pZCBDaHJvbWU6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JiByZWN0KSBjb25z
dAordm9pZCBDaHJvbWU6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0
JiByZWN0KSBjb25zdAogewotICAgIG1fY2xpZW50LnNjcm9sbFJlY3RJbnRvVmlldyhyZWN0KTsK
KyAgICBtX2NsaWVudC5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QocmVjdCk7CiB9CiAKIHZv
aWQgQ2hyb21lOjpzZXRXaW5kb3dSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5oCmluZGV4IDE1YTQ5MWI4NGMyMDZkZDhiNTFhZGM2ZWUxZGI2ODg4YjdmNDNl
NzguLjQ2NmIzZTk4ZDYzMTQwODcyYWUyNjZhNzNmZTgzZjlmMGEwYTgzZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWUuaApAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIGF2YWlsYWJs
ZVNjcmVlblNpemUoKSBjb25zdCBvdmVycmlkZTsKICAgICBGbG9hdFNpemUgb3ZlcnJpZGVTY3Jl
ZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhj
b25zdCBJbnRSZWN0JikgY29uc3Q7CisgICAgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJl
Y3QoY29uc3QgSW50UmVjdCYpIGNvbnN0OwogCiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2Vk
KEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaAppbmRleCBhODk2OGM5NDRlNGExYWJhY2M4YzJmZDAzYjk3MWZkM2IzZjhlNzJjLi4xMjE2
M2UwYjNkYTgxMzc5NjRiNzZlMDEyYTJhNTAyZGY1OTcxNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKQEAgLTIyOCw3ICsyMjgsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNvbnN0IEludFNpemUmKSBjb25zdCA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgSW50
U2l6ZSYpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNv
bnN0IEludFJlY3QmKSBjb25zdCB7IH07IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24g
ZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVhbCB2b2lkIHNjcm9sbE1haW5GcmFtZVRv
UmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBN
YWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0aW9uLgogCiAgICAgdmlydHVhbCBib29sIHNo
b3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFJlbmRlckVtYmVkZGVkT2JqZWN0
OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkKEVsZW1lbnQmLCBS
ZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcAppbmRleCBmYmRhNTEwNTFmMjJi
YzdjMDk4ZjUzZjUyNGEzYmRjMWJlZDNkMjhmLi44NTFjNThlMjVhNTVhNjVjMjkxYTBiZDM5NDNi
YjMwNmEzOWMwYTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2
aW9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcApAQCAt
MzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWJvb2wgdXNlU21vb3RoU2Ny
b2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVu
dCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVu
dCkKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yLCBFbGVt
ZW50KiBhc3NvY2lhdGVkRWxlbWVudCkKIHsKICAgICBpZiAoIWFzc29jaWF0ZWRFbGVtZW50KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00Myw3ICs0Myw3IEBAIGJvb2wgdXNlU21vb3RoU2Ny
b2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVu
dCwgU21vCiAgICAgaWYgKGFzc29jaWF0ZWRFbGVtZW50ID09IGFzc29jaWF0ZWRFbGVtZW50LT5k
b2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSkKICAgICAgICAgYXNzb2NpYXRlZEVsZW1lbnQg
PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKTsKIAotICAg
IGlmICghYXNzb2NpYXRlZEVsZW1lbnQtPnJlbmRlcmVyKCkgfHwgKG92ZXJyaWRlRmVhdHVyZUVu
YWJsZW1lbnQgPT0gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQgJiYgIWFz
c29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNldHRpbmdzKCkuQ1NTT01WaWV3U21vb3RoU2Ny
b2xsaW5nRW5hYmxlZCgpKSkKKyAgICBpZiAoIWFzc29jaWF0ZWRFbGVtZW50LT5yZW5kZXJlcigp
IHx8ICFhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Nt
b290aFNjcm9sbGluZ0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLXZpZXcvI3Njcm9sbGluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5oCmluZGV4IGNjYmEzMDljNzBlYzRiOWFhMTUzMWE5OTM4NDhi
NTM5ZThhNzBjZDMuLmVlZTgyZTMxMDhkZGQzYWY0YTZhZWRlMDBjZDU2M2I3MWQxMDQ5YTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKQEAgLTM1LDggKzM1LDYgQEAgZW51bSBj
bGFzcyBTY3JvbGxCZWhhdmlvciA6IHVpbnQ4X3QgewogICAgIFNtb290aAogfTsKIAotZW51bSBj
bGFzcyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA6IGJvb2wgeyBEZWZhdWx0LCBPdmVy
cmlkZSB9OwotCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciwgRWxlbWVu
dCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gU21v
b3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworYm9vbCB1c2VTbW9vdGhTY3Jv
bGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRFbGVtZW50KTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5k
ZXggMGIxYzQwNTYzZThjYmI4MjJhOWZlYmE0YzBjNDY1ZjhhNTc0YTkzYi4uNDIzZTcwZWZlYWRi
ZjU0NjZiYzBiMzY4ZTgxY2UyNjEwNzBmYjdhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxUeXBlcy5oCkBAIC0yNDEsNiArMjQxLDcgQEAgZW51bSBjbGFzcyBTY3JvbGxiYXJCdXR0b25Q
cmVzc0FjdGlvbiA6IHVpbnQ4X3QgewogZW51bSBjbGFzcyBTZWxlY3Rpb25SZXZlYWxNb2RlIDog
dWludDhfdCAgewogICAgIFJldmVhbCwKICAgICBSZXZlYWxVcFRvTWFpbkZyYW1lLCAvLyBTY3Jv
bGwgb3ZlcmZsb3cgYW5kIGlmcmFtZXMsIGJ1dCBub3QgdGhlIG1haW4gZnJhbWUuCisgICAgRGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGwsIC8vIFNpbWlsYXIgdG8gUmV2ZWFsVXBUb01haW5GcmFtZSwg
YnV0IG1ha2Ugc3VyZSB0byBtYW51YWxseSBjYWxsIHRoZSBtYWluIGZyYW1lIHNjcm9sbC4KICAg
ICBEb05vdFJldmVhbAogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggMTYxYzI2MmYwNWUyNmU4OTgwOGY5MGQ5MGZmMjEwZDFmNjE5OTA2My4uNmJhNzg1
MjA4OGFiZDcwMTZmMjFjZWI0YmJlMTczNjFlM2VhN2QyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNDA1LDcgKzI0MDUsNyBAQCB2b2lkIFJlbmRlckxh
eWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwg
Ym9vbCBpbnNpZAogICAgIGF1dG8gc2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zRm9yRWxlbWVu
dCA9IFt0aGlzLCBvcHRpb25zXShFbGVtZW50KiBlbGVtZW50KQogICAgIHsKICAgICAgICAgYXV0
byBzY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBTY3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNy
ZWF0ZVByb2dyYW1tYXRpYygpOwotICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVu
dEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3Ro
U2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGVsZW1lbnQsIG9wdGlvbnMub3ZlcnJpZGVGZWF0
dXJlRW5hYmxlbWVudCkpCisgICAgICAgIGlmICghcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFu
ZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkgJiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3Jv
bGxpbmcob3B0aW9ucy5iZWhhdmlvciwgZWxlbWVudCkpCiAgICAgICAgICAgICBzY3JvbGxQb3Np
dGlvbk9wdGlvbnMuYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwogICAgICAgICByZXR1
cm4gc2Nyb2xsUG9zaXRpb25PcHRpb25zOwogICAgIH07CkBAIC0yNDc3LDYgKzI0NzcsMTEgQEAg
dm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBh
YnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgIGlmIChvcHRpb25zLnJldmVhbE1v
ZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZSAmJiBmcmFtZVZp
ZXcuZnJhbWUoKS5pc01haW5GcmFtZSgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAorICAg
ICAgICAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpE
ZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCAmJiBmcmFtZVZpZXcuZnJhbWUoKS5pc01haW5GcmFtZSgp
KSB7CisgICAgICAgICAgICAgICAgcGFnZSgpLmNocm9tZSgpLnNjcm9sbE1haW5GcmFtZVRvUmV2
ZWFsUmVjdChzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRp
b24gPSBmcmFtZVZpZXcubWluaW11bVNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBhdXRv
IG1heFNjcm9sbFBvc2l0aW9uID0gZnJhbWVWaWV3Lm1heGltdW1TY3JvbGxQb3NpdGlvbigpOwog
CkBAIC0yNTEyLDExICsyNTE3LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zp
c2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG91dGVybW9zdCB2aWV3IG9mIGEg
d2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGluZyB0aGlzIHZpZXcgd2UKLSAgICAgICAgICAgIC8v
IHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsUmVjdEludG9WaWV3
LgorICAgICAgICAgICAgLy8gc2Nyb2xsIGl0cyBjb250YWluZXIgYnkgY2FsbGluZyBQYWdlOjpz
Y3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QuCiAgICAgICAgICAgICAvLyBUaGlzIG9ubHkgaGFz
IGFuIGVmZmVjdCBvbiB0aGUgTWFjIHBsYXRmb3JtIGluIGFwcGxpY2F0aW9ucwogICAgICAgICAg
ICAgLy8gdGhhdCBwdXQgd2ViIHZpZXdzIGludG8gc2Nyb2xsaW5nIGNvbnRhaW5lcnMsIHN1Y2gg
YXMgTWFjIE9TIFggTWFpbC4KICAgICAgICAgICAgIC8vIFRoZSBjYW5BdXRvc2Nyb2xsIGZ1bmN0
aW9uIGluIEV2ZW50SGFuZGxlciBhbHNvIGtub3dzIGFib3V0IHRoaXMuCi0gICAgICAgICAgICBw
YWdlKCkuY2hyb21lKCkuc2Nyb2xsUmVjdEludG9WaWV3KHNuYXBwZWRJbnRSZWN0KGFic29sdXRl
UmVjdCkpOworICAgICAgICAgICAgcGFnZSgpLmNocm9tZSgpLnNjcm9sbE1haW5GcmFtZVRvUmV2
ZWFsUmVjdChzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKICAgICAgICAgfQogICAgIH0K
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMGRkY2ZlZWUw
NjAzZGM5NWFiZDcwM2NmYzk4YTczYzE2MmI1YTNmZS4uMmJiNjJjNWI4MDc1MGNhZmRjYzg3YWMz
ODFiNDVlOWJlNGQ0ZTg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
QEAgLTE0MSw3ICsxNDEsNiBAQCBzdHJ1Y3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMgewog
ICAgIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25ZIHsgU2Nyb2xsQWxpZ25tZW50OjphbGln
bkNlbnRlcklmTmVlZGVkIH07CiAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZyBz
aG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nIHsgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNj
cm9sbGluZzo6Tm8gfTsKICAgICBTY3JvbGxCZWhhdmlvciBiZWhhdmlvciB7IFNjcm9sbEJlaGF2
aW9yOjpBdXRvIH07Ci0gICAgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVG
ZWF0dXJlRW5hYmxlbWVudCB7IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0
IH07CiB9OwogCiB1c2luZyBTY3JvbGxpbmdTY29wZSA9IHVpbnQ2NF90OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAppbmRleCAyMGU4
OGQzODE0MGI5ZTlmMmQzYmRhNDE3ZDA3YTBjZTI2NDVlNTk4Li5mYjU4MmMwYjI3MDZlMzBjNjc3
MDEzY2JiYjc2MjU2MWMxZWExZDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcApAQCAtOTcsNiArOTcsMTEgQEAgdm9pZCBQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgY29u
c3QgV2ViQ29yZTo6SW4KICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFBhZ2VDbGll
bnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCYsIFdlYkNvcmU6
OkZsb2F0UG9pbnQmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIFdlYkNvcmU6OkZs
b2F0UG9pbnQgUGFnZUNsaWVudEltcGw6OnZpZXdTY3JvbGxQb3NpdGlvbigpCiB7CiAgICAgcmV0
dXJuIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFn
ZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVu
dEltcGwuaAppbmRleCA1NmY1OTRmYWE2YjY0OWNhYmQyOTg3NTRkN2RhMmYyNThiZjM3MGQ3Li4y
MjgzY2U0ZjFiNGQxZjU1ZmExNGQ0YzRjM2VlOGZjODg0YzA2OTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC02Myw2ICs2Myw3
IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPERyYXdpbmdBcmVhUHJveHk+IGNyZWF0
ZURyYXdpbmdBcmVhUHJveHkoV2ViUHJvY2Vzc1Byb3h5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
ZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OlJlZ2lvbiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgcmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3Np
dGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHNjcm9sbE9yaWdpbikgb3ZlcnJpZGU7Cisg
ICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0
LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAgICAgV2ViQ29yZTo6Rmxv
YXRQb2ludCB2aWV3U2Nyb2xsUG9zaXRpb24oKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpJbnRT
aXplIHZpZXdTaXplKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1ZpZXdXaW5kb3dBY3RpdmUoKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
Z2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVBy
b3h5Q29jb2EubW0KaW5kZXggOWIwMWY0MDIyNzE1MjEwMmU0N2U2Y2MyNWRiZGIyNjFkMTc3YmY5
Yi4uM2Q3MTM5NmViZTNiNzhjM2VmMGZiMDYyZjQ2ZWM3ZDBkNmVhMDQxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTcw
Nyw2ICs3MDcsMTYgQEAgTlNEaWN0aW9uYXJ5ICpXZWJQYWdlUHJveHk6OmNvbnRlbnRzT2ZVc2Vy
SW50ZXJmYWNlSXRlbShOU1N0cmluZyAqdXNlckludGVyZmFjZUkKICAgICByZXR1cm4gbmlsOwog
fQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFy
Z2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RT
Y3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6
OnNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7
CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNjcm9sbFRvUmVjdCh0
YXJnZXRSZWN0LCBvcmlnaW4pLCAwKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1
bmRlZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IDgyZTM4MjgwMzdiMDY0ZjViZDM2YjdkZDUzNmM2MGEw
YTI5MzNhYTAuLjUyMjk4NjA3YTg2OThmMmIyZGM4MGE1NTY0Y2I1NmQ1YTJlZDhhNGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaApAQCAtNTQ2LDYgKzU0
Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGdlc3R1cmVFdmVudFdhc05vdEhhbmRsZWRCeVdlYkNv
cmVGcm9tVmlld09ubHkoTlNFdmVudCAqKTsKIAogICAgIHZvaWQgZGlkUmVzdG9yZVNjcm9sbFBv
c2l0aW9uKCk7CisgICAgCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0
LCBXZWJDb3JlOjpGbG9hdFBvaW50KTsKIAogICAgIHZvaWQgc2V0VG90YWxIZWlnaHRPZkJhbm5l
cnMoQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVycykgeyBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJz
ID0gdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KICAgICBDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5u
ZXJzKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEhlaWdodE9mQmFubmVyczsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCA1ZmJlYmE0ZjE2ZTMx
Njc3ZWIxZGZlZGEyMDk2Mzg3ZmM2NGRhNmNjLi42ZGRiY2UyMDNiNzE4NWYyNDFmNmQzMDNkNjJj
ZDQzZTIzNmQ0ZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbQpAQCAtMjU3MCw2ICsyNTcwLDExIEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZVRp
dGxlYmFyQWRqYWNlbmN5U3RhdGUoKQogCiAjZW5kaWYgLy8gSEFWRShOU1NDUk9MTFZJRVdfU0VQ
QVJBVE9SX1RSQUNLSU5HX0FEQVBURVIpCiAKK3ZvaWQgV2ViVmlld0ltcGw6OnNjcm9sbFRvUmVj
dChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4pCit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30K
KwogTlNWaWV3ICpXZWJWaWV3SW1wbDo6aGl0VGVzdChDR1BvaW50IHBvaW50KQogewogICAgIE5T
VmlldyAqaGl0VmlldyA9IFttX3ZpZXcgX3dlYl9zdXBlckhpdFRlc3Q6TlNQb2ludEZyb21DR1Bv
aW50KHBvaW50KV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMDhjYzI4
OTAzOTkyNGQzMzc0ODkzNjhmMzZjNTA1Y2M2ODg5Njc0NS4uOTc5OGFkMDdkOWNhMzY3MDhjZTEy
NzMwYzg0MzhjMmNmOGFjOTZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApA
QCAtNjEyLDYgKzYxMiw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAg
ICAgdmlydHVhbCB2b2lkIHN0b3JlQXBwSGlnaGxpZ2h0KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hs
aWdodCYpID0gMDsKICNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0
KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdp
bikgPSAwOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBv
aW50ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkMWE1ZmMzOGVhN2M5NWZlYTYz
NGQ4NWNkOWJkMTcwZGE2NWIxOWY4Li5iNDI2ZmU2NzkxYWEyZjdmZjFiMmJlZDhjN2FlYmYxZTQ4
NTAxZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTA3LDcg
KzkwNywxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCB3aW5kb3dB
bmRWaWV3RnJhbWVzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpZXdGcmFtZUlu
V2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGFjY2Vzc2liaWxp
dHlWaWV3Q29vcmRpbmF0ZXMpOwogICAgIHZvaWQgc2V0TWFpbkZyYW1lSXNTY3JvbGxhYmxlKGJv
b2wpOwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpG
bG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOworICAgIHZv
aWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpG
bG9hdFBvaW50IG9yaWdpbik7CisgICAgICAgIAogICAgIHZvaWQgc2VuZENvbXBsZXhUZXh0SW5w
dXRUb1BsdWdpbih1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4dElucHV0SWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB0ZXh0SW5wdXQpOwogICAgIGJvb2wgc2hvdWxkRGVsYXlXaW5kb3dPcmRlcmlu
Z0ZvckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKICAgICBib29sIGFjY2VwdHNGaXJzdE1v
dXNlKGludCBldmVudE51bWJlciwgY29uc3QgV2ViTW91c2VFdmVudCYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRiNWI1NmVm
MjM1MjA5ZWExNzM5NDY5YTkxMTYxNDBlMjk3NmQ5NmUuLjY1MjQ5M2RmNDI5NWY3MDM4NTc1M2Y2
YzA2YzI3OWNhN2UzNGU5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTUxMCw2ICs1MTAsMTAgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgRGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAg
ICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBSZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6
OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKKyNlbmRp
ZgogCiAgICAgR2V0TG9hZERlY2lzaW9uRm9ySWNvbihzdHJ1Y3QgV2ViQ29yZTo6TGlua0ljb24g
aWNvbiwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggNDYyMGU3NWQwYTU1NjU2
ZTgyMjNiYzcwNmQzMjViYjA4NzEwZTA4NC4uZDAwNTQ2Mzk4N2QxMGM1NzcwNGZmMjRkYzFkYTkx
MTVkNTYwMjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKQEAgLTIxNCw3ICsyMTQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2Nyb2xs
aW5nTm9kZVNjcm9sbFZpZXdEaWRTY3JvbGwoKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGlu
Z05vZGVTY3JvbGxXaWxsU3RhcnRTY3JvbGwoKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGlu
Z05vZGVTY3JvbGxEaWRFbmRTY3JvbGwoKSBvdmVycmlkZTsKLQorICAgICAgICAKKyAgICB2b2lk
IHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNv
cmU6OkZsb2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAgICAvLyBBdXhpbGlhcnkgQ2xpZW50
IENyZWF0aW9uCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIFdlYkZ1bGxTY3JlZW5N
YW5hZ2VyUHJveHlDbGllbnQmIGZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlDbGllbnQoKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bQppbmRleCBmYjcxMTJjODFmZTNhNTE0ZjdkODcyYjMxODU3NDhkOGM3NjE3ZWMzLi43MzA0ZDdm
Yjg0Njc0NjE5Y2M4YTZkYThmNDg3YWMwYmU4NDI4ODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC0xMDIzLDYgKzEwMjMsMTEg
QEAgV2ViQ29yZTo6Q29sb3IgUGFnZUNsaWVudEltcGw6OmNvbnRlbnRWaWV3QmFja2dyb3VuZENv
bG9yKCkKICAgICByZXR1cm4gW21fY29udGVudFZpZXcgYmFja2dyb3VuZENvbG9yXS5DR0NvbG9y
OwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVj
dCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBbbV9jb250ZW50VmlldyBf
c2Nyb2xsVG9SZWN0OnRhcmdldFJlY3Qgd2l0aE9yaWdpbjpvcmlnaW4gbWluaW11bVNjcm9sbERp
c3RhbmNlOjBdOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRG
T1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5oCmluZGV4IDZjNWM0ZTM5YzYxNDgzZGFlOTBlNjkyY2M3ODY2OWRhYjc0OWU1
ZGEuLmU3ZGM1YWM5YzVkNDJiZTFhNWEyOWQ3NzMwNDE5YzQwN2E5YmMzMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCkBAIC0yOTAsNiAr
MjkwLDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgdm9pZCBo
YW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1bHQoY29uc3QgV2ViQ29yZTo6RGF0YURldGVj
dG9yRWxlbWVudEluZm8mLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGZpbmFsOwogI2VuZGlm
CisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJl
Y3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92ZXJyaWRlOwogCiAg
ICAgTlNWaWV3ICptX3ZpZXc7CiAgICAgV2Vha1B0cjxXZWJWaWV3SW1wbD4gbV9pbXBsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCmluZGV4
IDhiNzRiNDU0NWQ4OTdhOTk5Mjk0ZjgxNWM3YzFmNjdiMzhmZDNjMmMuLjdmODIxZDMyZTdjNmEz
ZDk4ZTY1YmZhMGY1ODQ4MmJjZmU3MDZjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTk3Miw2ICs5NzIsMTIgQEAgdm9pZCBQ
YWdlQ2xpZW50SW1wbDo6ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKICAgICBtX2ltcGwtPmRp
ZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1
ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpG
bG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICAvLyBGSVhNRTogQWRkIGFkZGl0aW9uYWwgbG9naWMg
dG8gYXZvaWQgTm90ZSBQaXAuCisgICAgbV9pbXBsLT5zY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwg
b3JpZ2luKTsKK30KKwogYm9vbCBQYWdlQ2xpZW50SW1wbDo6d2luZG93SXNGcm9udFdpbmRvd1Vu
ZGVyTW91c2UoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgcmV0dXJu
IG1faW1wbC0+d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoZXZlbnQubmF0aXZlRXZlbnQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDg5ZjA1ZDVjYzcwNjRhY2VlNDVjZjA5YTUz
MDE0M2I1ZTNhMmZlMWQuLmZjNzNlMTQ0N2Y0ZjJjNGJlYTc0ODk4MTczMDE5NDQ4ZDc1NWY2NzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUGx1
Z2luVmlldy5oIgogI2luY2x1ZGUgIlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIgogI2lu
Y2x1ZGUgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKKyNpbmNsdWRlICJTbWFydE1hZ25pZmljYXRpb25D
b250cm9sbGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldl
YkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAt
NjU1LDkgKzY1Niw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2Vk
KEZyYW1lJiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29uCiAgICAgfQogfQogCi12b2lk
IFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25z
dAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25z
dCBJbnRSZWN0JiByZWN0KSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9w
YWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFNjcm9sbFRvUmVjdChyZWN0
LCByZWN0LmNlbnRlcigpKSk7CiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVbmF2
YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKaW5kZXggZWI1YzllODg4NzA5NmQ3OTYxYjBkYmUzNTAzZjliODQ2MjZh
ZjczMy4uNzVjMzY5YTlmMjhhZjUyYjA5YTRmNmZkMThjNTI4NDRlMzZkMGYyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdl
Q2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVu
dHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBj
b25zdCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9W
aWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9u
bHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIHNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7
IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAK
ICAgICBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6
OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6
RWxlbWVudCYsIFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJp
bGl0eVJlYXNvbikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aAppbmRleCBlN2MyZjdmMjk2MGM3MzlkMGYwMDE0N2EzOWRjMTM1OTVjZGIxOWFlLi4wZTJjNmUy
YWI2NDhjNmQ1OTJhYTgzMWEyMDlkZjJkZjdlY2ZjNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKQEAgLTU0NCw2ICs1NDQsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNv
bnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
Jik7CiAjZW5kaWYKICAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIHNjcm9sbFRv
UmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBv
cmlnaW4pOworI2VuZGlmCisgICAgCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNz
KGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKIAogICAg
IC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDYzNzE1MzUwMmZkOTQ0Y2M5ZmM2NmFhMmE2
MGFhODJlN2U0MTU1YjUuLjE0NmQxMzc1NGEwZGQwYjkyZmYwNzZjYWE0NDhmODI3YWNmOTRmMmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CkBAIC0yMDMsNiArMjAzLDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2
ZXIgTm90UmVmQ291bnRlZCB7CiAgICAgQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzRGlkQ2hhbmdl
KHN0cnVjdCBXZWJLaXQ6OkFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyBhY2Nlc3NpYmlsaXR5UHJl
ZmVyZW5jZXMpCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFNjcm9sbFRvUmVj
dChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4pCisjZW5kaWYKKwogI2lmIEhBVkUoTUVESUFfQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCiAg
ICAgU2V0TWVkaWFBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMoV2ViQ29yZTo6Q2FwdGlvblVzZXJQ
cmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIGRpc3BsYXlNb2RlLCBWZWN0b3I8U3RyaW5n
PiBsYW5ndWFnZXMpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4IGE2NjcyMTA0YTJhMTM0ZDAzMDk1YzIyNmQ1ODM3
NTk0ZGQ3ZTMwY2YuLmQ5MzY3MTkxZDcyYzRiM2EzZTQ2ZTc5YjgzNzM4MWEzODdlOWQ4YWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bQpAQCAtMTQxNyw2ICsxNDE3LDEzIEBAIHZvaWQgV2ViUHJvY2Vzczo6Y29uc3VtZUF1ZGlvQ29t
cG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhCiAgICAgICAg
IFdFQlBST0NFU1NfUkVMRUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvdWxkIG5vdCBhcHBseSBB
dWRpb0NvbXBvbmVudCByZWdpc3RyYXRpb25zLCBlcnIoJWxkKSIsIHN0YXRpY19jYXN0PGxvbmc+
KGVycikpOwogfQogCit2b2lkIFdlYlByb2Nlc3M6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9h
dFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgV2Vi
UGFnZSogcGFnZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmZvY3VzZWRXZWJQYWdlKCk7Cisg
ICAgaWYgKHBhZ2UpCisgICAgICAgIHBhZ2UtPm1haW5GcmFtZVZpZXcoKS0+c2V0U2Nyb2xsUG9z
aXRpb24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAppbmRleCA0NGY0MDRmZGY1Yjg5MjQyOTIyNTM0YjgxYWIzNzIyYzExMTcxYjFlLi4y
NWNmNjg2YzQyYzU2ZTQ5YTY0ZTZmMzU1ZmZiNmE3ZTAwZTEwYTQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aApAQCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBs
YXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hh
bmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5h
bDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYpIGNvbnN0IGZpbmFsIHsgfQotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAK
ICAgICB2b2lkIHNldFN0YXR1c2JhclRleHQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbQppbmRleCBiNmMxOTA5MWJmZmEzODk2Mjk5NDhiYTA1ZDc3ZGMyNGE0MmVm
OWZmLi4xNjM2NzIxYzU2Y2U4NDVmMDNiMGU3NjZlZGYwZmI4N2RlYzM5YThkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lm1tCkBAIC02MDYsNyArNjA2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRl
bnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QKIHsKIH0KIAotdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JiByKSBj
b25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChj
b25zdCBJbnRSZWN0JiByKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBUaGlzIHNjcm9sbGluZyBi
ZWhhdmlvciBzaG91bGQgYmUgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIGVtYmVkZGluZyBjbGll
bnQsCiAgICAgLy8gcGVyaGFwcyBpbiBhIGRlbGVnYXRlIG1ldGhvZCwgcmF0aGVyIHRoYW4gc29t
ZXRoaW5nIFdlYktpdCBkb2VzIHVuY29uZGl0aW9uYWxseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXgg
MDk5YWU5YzcwOWQxNTdlYTBhYTkwZjYyYzhiYmU0ZTBlODMyNDczNC4uODc5YTIxMWM0NDFkYTJj
ZGUzZWNlNjM5MzJjMDM2ZWJlOTE0OTZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE0NCw3ICsx
NDQsNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NEZXZpY2VBZGFwdGVyKiBncmFw
aGljc0RldmljZUFkYXB0ZXIoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0gICAgdm9pZCBzY3Jv
bGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQor
ICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSBjb25zdCBmaW5hbCB7IH0KIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBv
cnRzVmlkZW9GdWxsc2NyZWVuKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9G
dWxsc2NyZWVuTW9kZSkgZmluYWw7Cg==
</data>
<flag name="commit-queue"
          id="455782"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433518</attachid>
            <date>2021-07-14 12:47:10 -0700</date>
            <delta_ts>2021-07-14 13:32:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714124709.patch</filename>
            <type>text/plain</type>
            <size>41707</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uYjc1MjRkYjU4MDhlNDM4Y2M0Njg0NzAwY2M1MDdk
NDllNWJmZDY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgUGlwIGF2b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5
IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBu
ZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBh
dGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0
bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2Uu
CisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9s
bGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQg
dG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rpbmcg
aXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcEhpZ2hsaWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3Jv
bGwpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbEludG9WaWV3KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2U6OnNldFNlbGVjdGlvbik6Cisg
ICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZh
bGlkYXRpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVj
dGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIGxv
YWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWU6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1Jl
dmVhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpzY3JvbGxS
ZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvU2Nyb2xsQmVoYXZp
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXNlU21vb3RoU2Nyb2xsaW5nKToKKyAgICAgICAg
KiBwYWdlL1Njcm9sbEJlaGF2aW9yLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5oOgorCiAyMDIxLTA3LTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJlc2l6ZU9ic2VydmVyIC8gSW50ZXJzZWN0aW9uT2JzZXJ2ZXIg
bWVtb3J5IGxlYWsgb24gZGV0YWNoZWQgJiBvdXQgb2YgcmVmZXJlbmNlIGVsZW1lbnRzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGRhZjk5NmE4YTFmODY5YmUwOTAyMDljNzdkOThlOTJlNmVlNTc2MWMuLjZkNjExNjBl
YjZlMTFmMWVjYWE0YjYzOWM5YjYxNjNmYzMzYjNmOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQg
QEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Nyb2xsaW5nIHRocm91Z2ggVUkgUHJvY2Vz
cyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBQaXAgYXZvaWRhbmNlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gY29ycmVjdGx5IGF2
b2lkIHRoZSBub3RlIG92ZXJsYXkgdGhhdCBjYW4gcG90ZW50aWFsbHkgb2JzY3VyZSB0aGUgd2Vi
IHZpZXcsCisgICAgICAgIHdlIG5lZWQgdG8gcGlwZSB0aGUgc2Nyb2xsaW5nIHRocm91Z2ggdGhl
IFVJIHByb2Nlc3MuIFRoaXMgcGF0Y2ggZG9lcyB0aGF0IHdvcmsKKyAgICAgICAgYW5kIHdpbGwg
YmUgZm9sbG93ZWQgdXAgc2hvcnRseSBieSBvbmUgdGhhdCBkb2VzIHRoZSBhY3R1YWwgd29yayBv
ZiBvdmVybGF5IGF2b2lkYW5jZS4KKyAgICAgICAgRm9yIGlPUywgdGhpcyBqdXN0IHVzZXMgdGhl
IG1haW4gZnJhbWUgVUkgU2Nyb2xsaW5nIHRoYXQgd2UgYWxyZWFkeSB1c2UsIGJ1dCBmb3IgCisg
ICAgICAgIG1hYywgd2UgbmVlZCB0byBkbyB0aGUgbGFzdCBzY3JvbGwgaW4gdGhlIHdlYiBwcm9j
ZXNzIGFmdGVyIGFkanVzdGluZyBpdCB3aXRoIHRoZSBvdmVybGF5IAorICAgICAgICBpbmZvcm1h
dGlvbi4gCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpzY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudElt
cGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVj
dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRv
UmV2ZWFsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6c2Nyb2xsVG9SZWN0KToKKwogMjAyMS0wNy0wOSAgSmVyIE5v
YmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFsbG93IHRoZSBV
SVByb2Nlc3MgdG8gc2V0IGxvZ2dpbmcgcGFyYW1ldGVycyBpbiB0aGUgR1BVUHJvY2VzcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGYyYmU0YWNmZTdkNGY1Y2JjMGZiODhmODJmNjQ5
YjU3MTgxMjVhZDEuLmQ1ZTY4NjI2NjBjMWVjYWJkOGNhYTUwMGZiMjQ5ZTA4NzVlMGZmNWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNy0xMyAg
TWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBpcGUg
QXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBVSSBQcm9jZXNzIGluIHByZXBhcmF0aW9u
IGZvciBOb3RlIFBpcCBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNo
cm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAg
KFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKwog
MjAyMS0wNi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzkyNjYuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFu
Z2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUzMTBiNjBmNC4uMzY4
YjI3OTc1ZmYxODVjYTAwNDIzMTk2YjhiM2RlODNjMDU5MmNlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8
bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNj
cm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgUGlwIGF2
b2lkYW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNzkxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMjEtMDctMDcgIEZ1amlp
IEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW0NhaXJvXSBN
ZXJnZSBQbGF0Zm9ybUNvbnRleHRDYWlybyBpbnRvIEdyYXBoaWNzQ29udGV4dENhaXJvCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9y
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0
b3JhZ2UuY3BwCmluZGV4IDc4MGZjNTE2ZGZlNTY5MDUwNjA2NmQyYWE5MmYzZDgzZTA1NWFlNzEu
LjY2ZWVlMjczZTg3M2Y4MmQ4Mzg0ZjMwN2JmMzhhMGU4MTM2OTE2ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0b3JhZ2Uu
Y3BwCkBAIC0yNzEsNyArMjcxLDcgQEAgYm9vbCBBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0
VG9SZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKEFwcEhpZ2hsaWdodFJhbmdlRGEKICAgICAgICAg
aWYgKHRleHRJbmRpY2F0b3IpCiAgICAgICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9t
ZSgpLmNsaWVudCgpLnNldFRleHRJbmRpY2F0b3IodGV4dEluZGljYXRvci0+ZGF0YSgpKTsKICAg
ICAgICAgCi0gICAgICAgIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZSBzZWxlY3Rpb25DaGFuZ2Uo
KnN0cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVlKCkgfSwgeyBUZW1wb3JhcnlTZWxlY3Rpb25P
cHRpb246OlJldmVhbFNlbGVjdGlvbiwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhT
Y3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6T3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0
dXJlRW5hYmxtZW50IH0pOworICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ugc2VsZWN0
aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVtcG9yYXJ5
U2VsZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgVGVtcG9yYXJ5U2VsZWN0
aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwgfSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKaW5kZXggNGJmZGJiY2E3ZDRlZmU5MTNkMTA0OThiZjRkYzg5NmUy
MjY3NzRkNS4uYzMwYzNkMmM0NTkzYjRjNTNlNDJkYjZlYTk2M2Y4ZTc1M2UxMWVjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcApAQCAtOTM3LDggKzkzNyw3IEBAIHZvaWQgRWxlbWVudDo6c2Nyb2xs
SW50b1ZpZXcoc3RkOjpvcHRpb25hbDxWYXJpYW50PGJvb2wsIFNjcm9sbEludG9WaWV3T3B0aW9u
cz4+CiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWCA6IGFsaWduWSwKICAgICAgICAgaXNI
b3Jpem9udGFsID8gYWxpZ25ZIDogYWxpZ25YLAogICAgICAgICBTaG91bGRBbGxvd0Nyb3NzT3Jp
Z2luU2Nyb2xsaW5nOjpObywKLSAgICAgICAgb3B0aW9ucy5iZWhhdmlvci52YWx1ZV9vcihTY3Jv
bGxCZWhhdmlvcjo6QXV0byksCi0gICAgICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50
OjpEZWZhdWx0CisgICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZp
b3I6OkF1dG8pCiAgICAgfTsKICAgICByZW5kZXJlcigpLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGFi
c29sdXRlQm91bmRzLCBpbnNpZGVGaXhlZCwgdmlzaWJsZU9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3YTE0YzJjODQ5MmM3N2ZiYjk3ODEzZmQwY2Rl
NGFjYjQuLmMzYjE5MjVlNjdjZDNjN2FiMzMyNjUxNzVlMmU0OThmMWZkNWVlNWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI2NSwxMCArMjY1LDEwIEBAIHZvaWQgVGVtcG9yYXJ5
U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2Vs
ZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6RG9Ob3RTZXRGb2N1
cyk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6UmV2ZWFs
U2VsZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6UmV2ZWFsU2Vs
ZWN0aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpE
ZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rp
b246OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKICAgICBpZiAobV9vcHRpb25zICYgVGVtcG9y
YXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwpCiAgICAgICAgIG9wdGlvbnMuYWRkKEZy
YW1lU2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwotICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3Jh
cnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCkK
LSAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQpOwogICAgIG1fZG9jdW1lbnQtPnNlbGVjdGlvbigpLnNldFNlbGVj
dGlvbihzZWxlY3Rpb24sIG9wdGlvbnMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRl
eCBiOWQ3MzBiNjdkZjlmZmUzYTk3ZWI4ZGM1Y2FhMzNhMDk1NDYzMzFhLi5mZDU5YmZmYWU3MmQ1
ZmFmOTI0NzIzZWY0NzliMjg1NjA2MDM4OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAg
LTEyMSw3ICsxMjEsNyBAQCBlbnVtIGNsYXNzIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbiA6IHVp
bnQ4X3QgewogICAgIAogICAgIFNtb290aFNjcm9sbCA9IDEgPDwgNCwKICAgICAKLSAgICBPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQgPSAxIDw8IDUsCisgICAgRGVsZWdhdGVN
YWluRnJhbWVTY3JvbGwgPSAxIDw8IDUsCiB9OwogCiBjbGFzcyBUZW1wb3JhcnlTZWxlY3Rpb25D
aGFuZ2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCBm
Y2Q4MGQxY2JjYTc4YjBhZTQ0MTcyYTM4OWRhN2YzZjNmNTQwNWNkLi4xY2EzYmZiYzkyMWM0NTc5
Njg0YjEwMzUwMmU0YzUzMzJjMjkxMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcApAQCAtMjMyLDYgKzIzMiw5IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om1v
dmVXaXRob3V0VmFsaWRhdGlvblRvKGNvbnN0IFBvc2l0aW9uJiBiYXNlLCBjb25zdCBQb3NpdGlv
CiAgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lOgogICAg
ICAgICBvcHRpb25zLmFkZChSZXZlYWxTZWxlY3Rpb25VcFRvTWFpbkZyYW1lKTsKICAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNj
cm9sbDoKKyAgICAgICAgb3B0aW9ucy5hZGQoRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpOworICAg
ICAgICBicmVhazsKICAgICB9CiAgICAgc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbiwgb3B0aW9u
cywgbmV3SW50ZW50KTsKIH0KQEAgLTQzMiw2ICs0MzUsOCBAQCB2b2lkIEZyYW1lU2VsZWN0aW9u
OjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uLCBPcHRpb25T
ZXQ8UwogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2Rl
OjpSZXZlYWxVcFRvTWFpbkZyYW1lOwogICAgIGVsc2UgaWYgKG9wdGlvbnMgJiBSZXZlYWxTZWxl
Y3Rpb24pCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1v
ZGU6OlJldmVhbDsKKyAgICBlbHNlIGlmIChvcHRpb25zICYgRGVsZWdhdGVNYWluRnJhbWVTY3Jv
bGwpCisgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6
OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsOwogICAgIGVsc2UKICAgICAgICAgbV9zZWxlY3Rpb25S
ZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWw7CiAgICAgbV9hbHdh
eXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9IGFsaWduID09IEFs
aWduQ3Vyc29yT25TY3JvbGxBbHdheXM7CkBAIC00NDYsNyArNDUxLDcgQEAgdm9pZCBGcmFtZVNl
bGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwg
T3B0aW9uU2V0PFMKICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+bGF5b3V0Q29udGV4
dCgpLmlzTGF5b3V0UGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICB1cGRhdGVBbmRS
ZXZlYWxTZWxlY3Rpb24oaW50ZW50LCBvcHRpb25zLmNvbnRhaW5zKFNtb290aFNjcm9sbCkgPyBT
Y3JvbGxCZWhhdmlvcjo6U21vb3RoIDogU2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQsIG9wdGlvbnMu
Y29udGFpbnMoT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCkgPyBTbW9vdGhT
Y3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUgOiBTbW9vdGhTY3JvbGxGZWF0dXJlRW5h
YmxlbWVudDo6RGVmYXVsdCk7CisgICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwg
b3B0aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6
IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKIAogICAgIGlmIChvcHRpb25zICYgSXNVc2VyVHJp
Z2dlcmVkKSB7CiAgICAgICAgIGlmIChhdXRvKiBjbGllbnQgPSBwcm90ZWN0ZWREb2N1bWVudC0+
ZWRpdG9yKCkuY2xpZW50KCkpCkBAIC00NzMsNyArNDc4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlv
bjo6c2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoUmV2ZWFsU2VsZWN0aW9uQWZ0ZXJVcGRhdGUgcmV2
ZWFsTW8KICAgICAgICAgdmlldy0+c2VsZWN0aW9uKCkuY2xlYXIoKTsKIH0KIAotdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hh
bmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2aW9yLCBTbW9vdGhT
Y3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZy
YW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVD
aGFuZ2VJbnRlbnQmIGludGVudCwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAg
ICAgaWYgKCFtX3BlbmRpbmdTZWxlY3Rpb25VcGRhdGUpCiAgICAgICAgIHJldHVybjsKQEAgLTQ5
MCw3ICs0OTUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rp
b24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludAogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxXaGVuUmV2ZWFs
aW5nU2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFs
aWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKIAotICAgICAgICByZXZlYWxTZWxlY3Rpb24o
bV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVo
YXZpb3IsIG92ZXJpZGVGZWF0dXJlRW5hYmxlbWVudCk7CisgICAgICAgIHJldmVhbFNlbGVjdGlv
bihtX3NlbGVjdGlvblJldmVhbE1vZGUsIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50LCBzY3JvbGxC
ZWhhdmlvcik7CiAgICAgfQogCiAgICAgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNo
YW5nZShpbnRlbnQpOwpAQCAtMjM5MCw3ICsyMzk1LDcgQEAgSFRNTEZvcm1FbGVtZW50KiBGcmFt
ZVNlbGVjdGlvbjo6Y3VycmVudEZvcm0oKSBjb25zdAogICAgIHJldHVybiBzY2FuRm9yRm9ybShz
dGFydCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rp
b25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25tZW50
LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlvciBz
Y3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0
dXJlRW5hYmxlbWVudCkKK3ZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxl
Y3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25t
ZW50LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3JvbGxCZWhhdmlv
ciBzY3JvbGxCZWhhdmlvcikKIHsKICAgICBpZiAocmV2ZWFsTW9kZSA9PSBTZWxlY3Rpb25SZXZl
YWxNb2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjQxMyw3ICsyNDE4LDcg
QEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1v
ZGUgcmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgICAgIGlmICghbV9zY3JvbGxpbmdT
dXBwcmVzc0NvdW50KSB7CiAgICAgICAgICAgICAgICAgYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBs
YXllci0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOwogICAgICAgICAgICAgICAgIHNjcm9s
bGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmcodHJ1ZSk7Ci0gICAg
ICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQs
IHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmln
aW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1l
bnR9KTsKKyAgICAgICAgICAgICAgICBsYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBp
bnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pOwogICAgICAgICAg
ICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmco
ZmFsc2UpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICAgICAgICAgICAg
ICAgICBpZiAobV9kb2N1bWVudC0+cGFnZSgpKQpAQCAtMjQyNCw3ICsyNDI5LDcgQEAgdm9pZCBG
cmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgcmV2ZWFs
TW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBvbmx5IGhhbmRs
ZXMgc2Nyb2xsaW5nIHRoZSBzdGFydENvbnRhaW5lcidzIGxheWVyLCBidXQKICAgICAgICAgLy8g
dGhlIHNlbGVjdGlvbiByZWN0IGNvdWxkIGludGVyc2VjdCBtb3JlIHRoYW4ganVzdCB0aGF0Lgog
ICAgICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzQ3OTk4OTk+LgotICAgICAgICBpZiAoc3Rh
cnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0
LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxk
QWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvciwgb3ZlcnJpZGVG
ZWF0dXJlRW5hYmxlbWVudH0pKQorICAgICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+
cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZl
YWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9s
bGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pKQogICAgICAgICAgICAgdXBkYXRlQXBwZWFyYW5j
ZSgpOwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5o
CmluZGV4IDkzYTU5ZDU4NjQyNGIyN2Y2YThhODc3MGE0YmZkNTMyMjEyNjI0NjkuLjdlMWQ4OTQ5
ZDA3MTc5NTAxMzcyOTc1OTNkOTE5OWY0N2JlNDk1MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIFJl
dmVhbFNlbGVjdGlvbiA9IDEgPDwgNywKICAgICAgICAgUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5G
cmFtZSA9IDEgPDwgOCwKICAgICAgICAgU21vb3RoU2Nyb2xsID0gMSA8PCA5LAotICAgICAgICBP
dmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gMSA8PCAxMAorICAgICAgICBE
ZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCA9IDEgPDwgMTAKICAgICB9OwogICAgIHN0YXRpYyBjb25z
dGV4cHIgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4gZGVmYXVsdFNldFNlbGVjdGlvbk9w
dGlvbnMoRVVzZXJUcmlnZ2VyZWQgPSBOb3RVc2VyVHJpZ2dlcmVkKTsKIApAQCAtMjQ4LDcgKzI0
OCw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEhUTUxGb3JtRWxlbWVudCogY3Vy
cmVudEZvcm0oKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmV2ZWFsU2VsZWN0
aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIGNv
bnN0IFNjcm9sbEFsaWdubWVudCYgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVk
ZWQsIFJldmVhbEV4dGVudE9wdGlvbiA9IERvTm90UmV2ZWFsRXh0ZW50LCBTY3JvbGxCZWhhdmlv
ciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVu
dCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0
aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxp
Z25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJl
dmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZWxlY3Rpb25Gcm9tTm9uZSgpOwogCiAgICAgYm9v
bCBzaG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dCbG9j
a0N1cnNvcjsgfQpAQCAtMjYzLDcgKzI2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUZy
b21Bc3NvY2lhdGVkTGl2ZVJhbmdlKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCB1cGRhdGVBbmRS
ZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhh
dmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpPdmVycmlkZSk7CisgICAgdm9p
ZCB1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQm
LCBTY3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKICAgICB2b2lkIHVw
ZGF0ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAogICAgIGJvb2wgc2V0U2VsZWN0aW9u
V2l0aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgT3B0aW9u
U2V0PFNldFNlbGVjdGlvbk9wdGlvbj4sIEN1cnNvckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxh
cml0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggZjMwOWM0OTc1YmQ1
YmMwOTVjODUyMjRhMjMyZTU3YTlmYjc4NDUwNi4uM2FkNTU2NzQ0NTZjOWM0MTgwMTkxOWY1YjMx
N2M3MWViZmQ1OTI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMTYz
LDcgKzE2Myw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVu
dCB7CiAgICAgdm9pZCBzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJikgZmluYWwgeyB9CiAgICAgdm9p
ZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgZmluYWwgeyB9CiAKLSAgICB2
b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9Cisg
ICAgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0
IGZpbmFsIHsgfQogCiAgICAgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSYsIEdy
YXBoaWNzTGF5ZXIqKSBmaW5hbCB7IH0KICAgICB2b2lkIGF0dGFjaFZpZXdPdmVybGF5R3JhcGhp
Y3NMYXllcihHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5k
ZXggYTBjMDkzMDZmOTYyOGIxNjRhOTIyMmYzNzEwZDg3ZWE1OTgwNGFjMy4uNDViM2Y4ZTgzZjQ4
ZDA4ZGNmNTViYjQ5ODVlYmY3ZGRkMDllZmYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAt
MTM0LDkgKzEzNCw5IEBAIHZvaWQgQ2hyb21lOjpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiBm
cmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29uc3QKICAgICBtX2NsaWVudC5jb250ZW50c1Np
emVDaGFuZ2VkKGZyYW1lLCBzaXplKTsKIH0KIAotdm9pZCBDaHJvbWU6OnNjcm9sbFJlY3RJbnRv
Vmlldyhjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAordm9pZCBDaHJvbWU6OnNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAogewotICAgIG1fY2xp
ZW50LnNjcm9sbFJlY3RJbnRvVmlldyhyZWN0KTsKKyAgICBtX2NsaWVudC5zY3JvbGxNYWluRnJh
bWVUb1JldmVhbFJlY3QocmVjdCk7CiB9CiAKIHZvaWQgQ2hyb21lOjpzZXRXaW5kb3dSZWN0KGNv
bnN0IEZsb2F0UmVjdCYgcmVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IDE1YTQ5MWI4
NGMyMDZkZDhiNTFhZGM2ZWUxZGI2ODg4YjdmNDNlNzguLjQ2NmIzZTk4ZDYzMTQwODcyYWUyNjZh
NzNmZTgzZjlmMGEwYTgzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtOTgsNyArOTgsNyBAQCBw
dWJsaWM6CiAgICAgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBGbG9hdFNpemUgb3ZlcnJpZGVTY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAK
LSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3Q7CisgICAg
dm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0Owog
CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNv
bnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCBhODk2OGM5NDRlNGExYWJh
Y2M4YzJmZDAzYjk3MWZkM2IzZjhlNzJjLi4xMjE2M2UwYjNkYTgxMzc5NjRiNzZlMDEyYTJhNTAy
ZGY1OTcxNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTIyOCw3ICsyMjgs
NyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFt
ZSYsIGNvbnN0IEludFNpemUmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGludHJpbnNp
Y0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYpIGNvbnN0ID0gMDsKLSAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdCB7IH07IC8v
IEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAg
dmlydHVhbCB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0Jikg
Y29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVu
dGF0aW9uLgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2Fn
ZUJlQnV0dG9uKFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNv
bikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgdW5hdmFpbGFibGVQ
bHVnaW5CdXR0b25DbGlja2VkKEVsZW1lbnQmLCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcAppbmRleCBmYmRhNTEwNTFmMjJiYzdjMDk4ZjUzZjUyNGEzYmRjMWJlZDNkMjhm
Li44NTFjNThlMjVhNTVhNjVjMjkxYTBiZDM5NDNiYjMwNmEzOWMwYTc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2
aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCkKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5n
KFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCkKIHsK
ICAgICBpZiAoIWFzc29jaWF0ZWRFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00
Myw3ICs0Myw3IEBAIGJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2
aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCwgU21vCiAgICAgaWYgKGFzc29jaWF0ZWRF
bGVtZW50ID09IGFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQo
KSkKICAgICAgICAgYXNzb2NpYXRlZEVsZW1lbnQgPSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1l
bnQoKS5kb2N1bWVudEVsZW1lbnQoKTsKIAotICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQtPnJl
bmRlcmVyKCkgfHwgKG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQgPT0gU21vb3RoU2Nyb2xsRmVh
dHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQgJiYgIWFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgp
LnNldHRpbmdzKCkuQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCgpKSkKKyAgICBpZiAo
IWFzc29jaWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8ICFhc3NvY2lhdGVkRWxlbWVudC0+ZG9j
dW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
c29tLXZpZXcvI3Njcm9sbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3Jv
bGxCZWhhdmlvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oCmluZGV4
IGNjYmEzMDljNzBlYzRiOWFhMTUzMWE5OTM4NDhiNTM5ZThhNzBjZDMuLmVlZTgyZTMxMDhkZGQz
YWY0YTZhZWRlMDBjZDU2M2I3MWQxMDQ5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2Nyb2xsQmVoYXZpb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2
aW9yLmgKQEAgLTM1LDggKzM1LDYgQEAgZW51bSBjbGFzcyBTY3JvbGxCZWhhdmlvciA6IHVpbnQ4
X3QgewogICAgIFNtb290aAogfTsKIAotZW51bSBjbGFzcyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5h
YmxlbWVudCA6IGJvb2wgeyBEZWZhdWx0LCBPdmVycmlkZSB9OwotCi1ib29sIHVzZVNtb290aFNj
cm9sbGluZyhTY3JvbGxCZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290
aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6
OkRlZmF1bHQpOworYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1l
bnQqIGFzc29jaWF0ZWRFbGVtZW50KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggMGIxYzQwNTYzZThjYmI4MjJhOWZlYmE0
YzBjNDY1ZjhhNTc0YTkzYi4uNDIzZTcwZWZlYWRiZjU0NjZiYzBiMzY4ZTgxY2UyNjEwNzBmYjdh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC0yNDEsNiArMjQxLDcg
QEAgZW51bSBjbGFzcyBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiA6IHVpbnQ4X3QgewogZW51
bSBjbGFzcyBTZWxlY3Rpb25SZXZlYWxNb2RlIDogdWludDhfdCAgewogICAgIFJldmVhbCwKICAg
ICBSZXZlYWxVcFRvTWFpbkZyYW1lLCAvLyBTY3JvbGwgb3ZlcmZsb3cgYW5kIGlmcmFtZXMsIGJ1
dCBub3QgdGhlIG1haW4gZnJhbWUuCisgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwsIC8vIFNp
bWlsYXIgdG8gUmV2ZWFsVXBUb01haW5GcmFtZSwgYnV0IG1ha2Ugc3VyZSB0byBtYW51YWxseSBj
YWxsIHRoZSBtYWluIGZyYW1lIHNjcm9sbC4KICAgICBEb05vdFJldmVhbAogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMTYxYzI2MmYwNWUyNmU4OTgw
OGY5MGQ5MGZmMjEwZDFmNjE5OTA2My4uNmJhNzg1MjA4OGFiZDcwMTZmMjFjZWI0YmJlMTczNjFl
M2VhN2QyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0y
NDA1LDcgKzI0MDUsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNv
bnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgIGF1dG8gc2Nyb2xs
UG9zaXRpb25DaGFuZ2VPcHRpb25zRm9yRWxlbWVudCA9IFt0aGlzLCBvcHRpb25zXShFbGVtZW50
KiBlbGVtZW50KQogICAgIHsKICAgICAgICAgYXV0byBzY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBT
Y3JvbGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOwotICAgICAg
ICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9n
cmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3Is
IGVsZW1lbnQsIG9wdGlvbnMub3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCkpCisgICAgICAgIGlm
ICghcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNz
KCkgJiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgZWxl
bWVudCkpCiAgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbk9wdGlvbnMuYW5pbWF0ZWQgPSBBbmlt
YXRlZFNjcm9sbDo6WWVzOwogICAgICAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb25PcHRpb25zOwog
ICAgIH07CkBAIC0yNDc3LDYgKzI0NzcsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAg
ICAgICAgICAgIGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6
UmV2ZWFsVXBUb01haW5GcmFtZSAmJiBmcmFtZVZpZXcuZnJhbWUoKS5pc01haW5GcmFtZSgpKQog
ICAgICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV2ZWFs
TW9kZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCAmJiBm
cmFtZVZpZXcuZnJhbWUoKS5pc01haW5GcmFtZSgpKSB7CisgICAgICAgICAgICAgICAgcGFnZSgp
LmNocm9tZSgpLnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChzbmFwcGVkSW50UmVjdChhYnNv
bHV0ZVJlY3QpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKICAg
ICAgICAgICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWluaW11bVNjcm9s
bFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9uID0gZnJhbWVW
aWV3Lm1heGltdW1TY3JvbGxQb3NpdGlvbigpOwogCkBAIC0yNTEyLDExICsyNTE3LDExIEBAIHZv
aWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJz
b2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFRo
aXMgaXMgdGhlIG91dGVybW9zdCB2aWV3IG9mIGEgd2ViIHBhZ2UsIHNvIGFmdGVyIHNjcm9sbGlu
ZyB0aGlzIHZpZXcgd2UKLSAgICAgICAgICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNh
bGxpbmcgUGFnZTo6c2Nyb2xsUmVjdEludG9WaWV3LgorICAgICAgICAgICAgLy8gc2Nyb2xsIGl0
cyBjb250YWluZXIgYnkgY2FsbGluZyBQYWdlOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qu
CiAgICAgICAgICAgICAvLyBUaGlzIG9ubHkgaGFzIGFuIGVmZmVjdCBvbiB0aGUgTWFjIHBsYXRm
b3JtIGluIGFwcGxpY2F0aW9ucwogICAgICAgICAgICAgLy8gdGhhdCBwdXQgd2ViIHZpZXdzIGlu
dG8gc2Nyb2xsaW5nIGNvbnRhaW5lcnMsIHN1Y2ggYXMgTWFjIE9TIFggTWFpbC4KICAgICAgICAg
ICAgIC8vIFRoZSBjYW5BdXRvc2Nyb2xsIGZ1bmN0aW9uIGluIEV2ZW50SGFuZGxlciBhbHNvIGtu
b3dzIGFib3V0IHRoaXMuCi0gICAgICAgICAgICBwYWdlKCkuY2hyb21lKCkuc2Nyb2xsUmVjdElu
dG9WaWV3KHNuYXBwZWRJbnRSZWN0KGFic29sdXRlUmVjdCkpOworICAgICAgICAgICAgcGFnZSgp
LmNocm9tZSgpLnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChzbmFwcGVkSW50UmVjdChhYnNv
bHV0ZVJlY3QpKTsKICAgICAgICAgfQogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKaW5kZXggMGRkY2ZlZWUwNjAzZGM5NWFiZDcwM2NmYzk4YTczYzE2MmI1
YTNmZS4uMmJiNjJjNWI4MDc1MGNhZmRjYzg3YWMzODFiNDVlOWJlNGQ0ZTg2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE0MSw3ICsxNDEsNiBAQCBzdHJ1Y3Qg
U2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnMgewogICAgIGNvbnN0IFNjcm9sbEFsaWdubWVudCYg
YWxpZ25ZIHsgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkIH07CiAgICAgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZyBzaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xs
aW5nIHsgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8gfTsKICAgICBTY3JvbGxC
ZWhhdmlvciBiZWhhdmlvciB7IFNjcm9sbEJlaGF2aW9yOjpBdXRvIH07Ci0gICAgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCB7IFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0IH07CiB9OwogCiB1c2luZyBTY3JvbGxpbmdT
Y29wZSA9IHVpbnQ2NF90OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1BhZ2VDbGllbnRJbXBsLmNwcAppbmRleCAyMGU4OGQzODE0MGI5ZTlmMmQzYmRhNDE3ZDA3YTBj
ZTI2NDVlNTk4Li5mYjU4MmMwYjI3MDZlMzBjNjc3MDEzY2JiYjc2MjU2MWMxZWExZDZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNw
cApAQCAtOTcsNiArOTcsMTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW4KICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0
KFdlYkNvcmU6OkZsb2F0UmVjdCYsIFdlYkNvcmU6OkZsb2F0UG9pbnQmKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7Cit9CisKIFdlYkNvcmU6OkZsb2F0UG9pbnQgUGFnZUNsaWVudEltcGw6OnZp
ZXdTY3JvbGxQb3NpdGlvbigpCiB7CiAgICAgcmV0dXJuIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAppbmRleCA1NmY1OTRmYWE2YjY0
OWNhYmQyOTg3NTRkN2RhMmYyNThiZjM3MGQ3Li4yMjgzY2U0ZjFiNGQxZjU1ZmExNGQ0YzRjM2Vl
OGZjODg0YzA2OTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5oCkBAIC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPERyYXdpbmdBcmVhUHJveHk+IGNyZWF0ZURyYXdpbmdBcmVhUHJveHkoV2ViUHJvY2Vz
c1Byb3h5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdl
YkNvcmU6OlJlZ2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFNjcm9sbChjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIHNjcm9sbE9yaWdpbikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0
KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdp
bikgb3ZlcnJpZGU7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCB2aWV3U2Nyb2xsUG9zaXRpb24o
KSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBpc1ZpZXdXaW5kb3dBY3RpdmUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggOWIwMWY0MDIy
NzE1MjEwMmU0N2U2Y2MyNWRiZGIyNjFkMTc3YmY5Yi4uNGE4N2UwYTg3OGEzMDY0ZjM2ZDQ3ODJh
YWFhNTM1ZWRmODE1ZTk0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTcwNyw2ICs3MDcsMTYgQEAgTlNEaWN0aW9uYXJ5
ICpXZWJQYWdlUHJveHk6OmNvbnRlbnRzT2ZVc2VySW50ZXJmYWNlSXRlbShOU1N0cmluZyAqdXNl
ckludGVyZmFjZUkKICAgICByZXR1cm4gbmlsOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVx
dWVzdFNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4p
Cit7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RTY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3Jp
Z2luKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFy
Z2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pLCAwKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IDgyZTM4
MjgwMzdiMDY0ZjViZDM2YjdkZDUzNmM2MGEwYTI5MzNhYTAuLjUyMjk4NjA3YTg2OThmMmIyZGM4
MGE1NTY0Y2I1NmQ1YTJlZDhhNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaApAQCAtNTQ2LDYgKzU0Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGdlc3R1
cmVFdmVudFdhc05vdEhhbmRsZWRCeVdlYkNvcmVGcm9tVmlld09ubHkoTlNFdmVudCAqKTsKIAog
ICAgIHZvaWQgZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CisgICAgCisgICAgdm9pZCBzY3Jv
bGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50KTsKIAogICAg
IHZvaWQgc2V0VG90YWxIZWlnaHRPZkJhbm5lcnMoQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVy
cykgeyBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzID0gdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KICAg
ICBDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEhl
aWdodE9mQmFubmVyczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbQppbmRleCA1ZmJlYmE0ZjE2ZTMxNjc3ZWIxZGZlZGEyMDk2Mzg3ZmM2NGRhNmNjLi42
ZGRiY2UyMDNiNzE4NWYyNDFmNmQzMDNkNjJjZDQzZTIzNmQ0ZjZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjU3MCw2ICsyNTcwLDExIEBA
IHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZVRpdGxlYmFyQWRqYWNlbmN5U3RhdGUoKQogCiAjZW5k
aWYgLy8gSEFWRShOU1NDUk9MTFZJRVdfU0VQQVJBVE9SX1RSQUNLSU5HX0FEQVBURVIpCiAKK3Zv
aWQgV2ViVmlld0ltcGw6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVj
dCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1Jl
Y3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwogTlNWaWV3ICpXZWJWaWV3SW1wbDo6aGl0VGVz
dChDR1BvaW50IHBvaW50KQogewogICAgIE5TVmlldyAqaGl0VmlldyA9IFttX3ZpZXcgX3dlYl9z
dXBlckhpdFRlc3Q6TlNQb2ludEZyb21DR1BvaW50KHBvaW50KV07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmgKaW5kZXggMDhjYzI4OTAzOTkyNGQzMzc0ODkzNjhmMzZjNTA1Y2M2ODg5
Njc0NS4uOTc5OGFkMDdkOWNhMzY3MDhjZTEyNzMwYzg0MzhjMmNmOGFjOTZiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNjEyLDYgKzYxMiw3IEBAIHB1YmxpYzoKICNp
ZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgdmlydHVhbCB2b2lkIHN0b3JlQXBwSGlnaGxp
Z2h0KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdodCYpID0gMDsKICNlbmRpZgorICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0
LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgPSAwOwogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvaW50ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlH
ZXN0dXJlUmVjb2duaXplciopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCBkMWE1ZmMzOGVhN2M5NWZlYTYzNGQ4NWNkOWJkMTcwZGE2NWIxOWY4Li5hNjJmZDA4
NThkMTk4NzMzNTczZWJkNmVkOTkwYzdiOGRmMjIwMDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtOTAzLDExICs5MDMsMTQgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZXRJbnB1dE1ldGhvZFN0YXRlKHN0ZDo6b3B0aW9uYWw8SW5wdXRNZXRob2RTdGF0ZT4mJik7
CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6
OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisgICAg
dm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6
OkZsb2F0UG9pbnQgb3JpZ2luKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgd2lu
ZG93QW5kVmlld0ZyYW1lc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aWV3RnJh
bWVJbldpbmRvd0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBhY2Nlc3Np
YmlsaXR5Vmlld0Nvb3JkaW5hdGVzKTsKICAgICB2b2lkIHNldE1haW5GcmFtZUlzU2Nyb2xsYWJs
ZShib29sKTsKLQorICAgICAgICAKICAgICB2b2lkIHNlbmRDb21wbGV4VGV4dElucHV0VG9QbHVn
aW4odWludDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdGV4dElucHV0KTsKICAgICBib29sIHNob3VsZERlbGF5V2luZG93T3JkZXJpbmdGb3JFdmVu
dChjb25zdCBXZWJNb3VzZUV2ZW50Jik7CiAgICAgYm9vbCBhY2NlcHRzRmlyc3RNb3VzZShpbnQg
ZXZlbnROdW1iZXIsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkYjViNTZlZjIzNTIwOWVh
MTczOTQ2OWE5MTE2MTQwZTI5NzZkOTZlLi4wMmQ4ZmQ5ZmIyMjA2YzgzMzFiNWNkMGQ4NmQ2MTZj
MGM4OTk3ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCkBAIC01MTAsNiArNTEwLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5
IHsKICNlbmRpZgogCiAgICAgRGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAKKyAgICBS
ZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3Jl
OjpGbG9hdFBvaW50IG9yaWdpbikKIAogICAgIEdldExvYWREZWNpc2lvbkZvckljb24oc3RydWN0
IFdlYkNvcmU6OkxpbmtJY29uIGljb24sIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmlu
ZGV4IDQ2MjBlNzVkMGE1NTY1NmU4MjIzYmM3MDZkMzI1YmIwODcxMGUwODQuLmQwMDU0NjM5ODdk
MTBjNTc3MDRmZjI0ZGMxZGE5MTE1ZDU2MDI0MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0yMTQsNyArMjE0LDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxWaWV3RGlkU2Nyb2xsKCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsV2lsbFN0YXJ0U2Nyb2xsKCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsRGlkRW5kU2Nyb2xsKCkgb3ZlcnJpZGU7Ci0K
KyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVj
dCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAgICAg
Ly8gQXV4aWxpYXJ5IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkK
ICAgICBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50JiBmdWxsU2NyZWVuTWFuYWdlclBy
b3h5Q2xpZW50KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIzMTg1NzQ4
ZDhjNzYxN2VjMy4uNzMwNGQ3ZmI4NDY3NDYxOWNjOGE2ZGE4ZjQ4N2FjMGJlODQyODgyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpA
QCAtMTAyMyw2ICsxMDIzLDExIEBAIFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBsOjpjb250
ZW50Vmlld0JhY2tncm91bmRDb2xvcigpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IGJhY2tn
cm91bmRDb2xvcl0uQ0dDb2xvcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNj
cm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7Cisg
ICAgW21fY29udGVudFZpZXcgX3Njcm9sbFRvUmVjdDp0YXJnZXRSZWN0IHdpdGhPcmlnaW46b3Jp
Z2luIG1pbmltdW1TY3JvbGxEaXN0YW5jZTowXTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCA2YzVjNGUzOWM2MTQ4M2RhZTkw
ZTY5MmNjNzg2NjlkYWI3NDllNWRhLi5lN2RjNWFjOWM1ZDQyYmUxYTVhMjlkNzczMDQxOWM0MDdh
OWJjMzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGxNYWMuaApAQCAtMjkwLDYgKzI5MCw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERBVEFfREVU
RUNUSU9OKQogICAgIHZvaWQgaGFuZGxlQ2xpY2tGb3JEYXRhRGV0ZWN0aW9uUmVzdWx0KGNvbnN0
IFdlYkNvcmU6OkRhdGFEZXRlY3RvckVsZW1lbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmKSBmaW5hbDsKICNlbmRpZgorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1Jl
Y3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3Jp
Z2luKSBvdmVycmlkZTsKIAogICAgIE5TVmlldyAqbV92aWV3OwogICAgIFdlYWtQdHI8V2ViVmll
d0ltcGw+IG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5tbQppbmRleCA4Yjc0YjQ1NDVkODk3YTk5OTI5NGY4MTVjN2MxZjY3YjM4ZmQz
YzJjLi43ZjgyMWQzMmU3YzZhM2Q5OGU2NWJmYTBmNTg0ODJiY2ZlNzA2Y2YzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBAIC05NzIs
NiArOTcyLDEyIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlv
bigpCiAgICAgbV9pbXBsLT5kaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKIH0KIAordm9pZCBQ
YWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFy
Z2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgLy8gRklYTUU6IEFk
ZCBhZGRpdGlvbmFsIGxvZ2ljIHRvIGF2b2lkIE5vdGUgUGlwLgorICAgIG1faW1wbC0+c2Nyb2xs
VG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisKIGJvb2wgUGFnZUNsaWVudEltcGw6Ondp
bmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2
ZW50KQogewogICAgIHJldHVybiBtX2ltcGwtPndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNl
KGV2ZW50Lm5hdGl2ZUV2ZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA4OWYwNWQ1
Y2M3MDY0YWNlZTQ1Y2YwOWE1MzAxNDNiNWUzYTJmZTFkLi5mYzczZTE0NDdmNGYyYzRiZWE3NDg5
ODE3MzAxOTQ0OGQ3NTVmNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNDIsNiArNDIs
NyBAQAogI2luY2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXJDb3B5LmgiCisjaW5jbHVkZSAi
U21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiVXNlckRh
dGEuaCIKICNpbmNsdWRlICJXZWJDb2xvckNob29zZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCIKQEAgLTY1NSw5ICs2NTYsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6
Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNv
bgogICAgIH0KIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhj
b25zdCBJbnRSZWN0JikgY29uc3QKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJh
bWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVl
c3RTY3JvbGxUb1JlY3QocmVjdCwgcmVjdC5jZW50ZXIoKSkpOwogfQogCiBib29sIFdlYkNocm9t
ZUNsaWVudDo6c2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oUmVuZGVyRW1i
ZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmls
aXR5UmVhc29uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGViNWM5ZTg4ODcwOTZkNzk2
MWIwZGJlMzUwM2Y5Yjg0NjI2YWY3MzMuLjc1YzM2OWE5ZjI4YWY1MmIwOWE0ZjZmZDE4YzUyODQ0
ZTM2ZDBmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEzMyw3ICsxMzMsNyBAQCBwcml2YXRl
OgogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5h
bDsKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50
c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKLSAgICB2
b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmlu
YWw7IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24u
CisgICAgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYpIGNvbnN0IGZpbmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5
IGltcGxlbWVudGF0aW9uLgogCiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3Nh
Z2VCZUJ1dHRvbihXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFi
aWxpdHlSZWFzb24pIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgdW5hdmFpbGFibGVQbHVnaW5CdXR0
b25DbGlja2VkKFdlYkNvcmU6OkVsZW1lbnQmLCBXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVj
dDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCmlu
ZGV4IDQ0OTA3NTVmZmY3NjhkNDEwYjUzNTdmYzYxMDIyMjZlZjdlYjU2ZWUuLmQ0ZDU0Y2UyMTgy
NDJkYzE0ZWQ2ZTlmZWNiOTY1M2U1MWQ2Njc2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KQEAgLTQ2MSw2ICs0
NjEsMTMgQEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1bHQo
Y29uc3QgRGF0YURldGVjdG9yRWxlbWVudEluZm8mIGkKIAogI2VuZGlmCiAKKwordm9pZCBXZWJQ
YWdlOjpzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6
OkZsb2F0UG9pbnQgb3JpZ2luKQoreworICAgIG1haW5GcmFtZVZpZXcoKS0+c2V0U2Nyb2xsUG9z
aXRpb24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7Cit9CisKKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzMzc3YTlkM2MzYTc1Y2Nj
MzRjNWQyYmExODk4MTliNTg1NDMxZmJhLi5kMTdjMzAzNTlhNjJjMjI0ZDI2NmQ2ZDY4ZWYzYWZk
MTRlZTExYThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CkBAIC0xMTMzLDYgKzExMzMsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGFsd2F5c1Nob3dzSG9y
aXpvbnRhbFNjcm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9hbHdheXNTaG93c0hvcml6b250YWxT
Y3JvbGxlcjsgfTsKICAgICBib29sIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigpIGNvbnN0
IHsgcmV0dXJuIG1fYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyOyB9OworICAgIAorICAgIHZv
aWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpG
bG9hdFBvaW50IG9yaWdpbik7CiAKICAgICB2b2lkIHNldE1pbmltdW1TaXplRm9yQXV0b0xheW91
dChjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtaW5pbXVt
U2l6ZUZvckF1dG9MYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1TaXplRm9yQXV0b0xh
eW91dDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KaW5kZXggMWNlZGE3YTdiY2FiMmQ4MGFlNGMyNjliMGZjMGU3ZWRiMzE1
MWRkNS4uMmMzNDk4MzQzZmNmYzc2YWEwMmMwN2QwZGEyMjNkYTczYzdmMjhmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CkBAIC02NDQsNiArNjQ0LDggQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVt
OnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBVcGRhdGVX
aXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KHN0cnVjdCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25S
ZXN1bHQgcmVzdWx0LCBzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudCwgV2Vi
Q29yZTo6RmxvYXRQb2ludCBsb2NhdGlvbikgLT4gKGVudW06dWludDhfdCBXZWJLaXQ6OlRleHRS
ZWNvZ25pdGlvblVwZGF0ZVJlc3VsdCByZXN1bHQpIEFzeW5jCiAjZW5kaWYKIAorICAgIFNjcm9s
bFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2lu
dCBvcmlnaW4pCisKICNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBNb2Rl
bEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4dElkKHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50
Q29udGV4dCBlbGVtZW50Q29udGV4dCwgU3RyaW5nIHV1aWQsIHVpbnQzMl90IGNvbnRleHRJZCkK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZTdjMmY3ZjI5
NjBjNzM5ZDBmMDAxNDdhMzlkYzEzNTk1Y2RiMTlhZS4uMGUyYzZlMmFiNjQ4YzZkNTkyYWE4MzFh
MjA5ZGYyZGY3ZWNmYzVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBA
IC01NDQsNiArNTQ0LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25zdW1lQXVkaW9Db21wb25l
bnRSZWdpc3RyYXRpb25zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogI2VuZGlmCiAgICAg
CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6Rmxv
YXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKKyNlbmRpZgor
ICAgIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQ
cm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rp
b246OkNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA0NGY0MDRmZGY1Yjg5MjQyOTIyNTM0Yjgx
YWIzNzIyYzExMTcxYjFlLi4yNWNmNjg2YzQyYzU2ZTQ5YTY0ZTZmMzU1ZmZiNmE3ZTAwZTEwYTQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgUGxh
dGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZv
aWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5n
ZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsIHsgfQotICAgIHZvaWQgc2Ny
b2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKKyAg
ICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHNldFN0YXR1c2JhclRleHQoY29uc3QgU3RyaW5n
Jikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBiNmMxOTA5MWJmZmEzODk2Mjk5
NDhiYTA1ZDc3ZGMyNGE0MmVmOWZmLi4xNjM2NzIxYzU2Y2U4NDVmMDNiMGU3NjZlZGYwZmI4N2Rl
YzM5YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC02MDYsNyArNjA2LDcgQEAgdm9pZCBXZWJD
aHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikg
Y29uc3QKIHsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhj
b25zdCBJbnRSZWN0JiByKSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByKSBjb25zdAogewogICAgIC8vIEZJWE1F
OiBUaGlzIHNjcm9sbGluZyBiZWhhdmlvciBzaG91bGQgYmUgdW5kZXIgdGhlIGNvbnRyb2wgb2Yg
dGhlIGVtYmVkZGluZyBjbGllbnQsCiAgICAgLy8gcGVyaGFwcyBpbiBhIGRlbGVnYXRlIG1ldGhv
ZCwgcmF0aGVyIHRoYW4gc29tZXRoaW5nIFdlYktpdCBkb2VzIHVuY29uZGl0aW9uYWxseS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggMDk5YWU5YzcwOWQxNTdlYTBhYTkwZjYyYzhiYmU0ZTBlODMyNDcz
NC4uODc5YTIxMWM0NDFkYTJjZGUzZWNlNjM5MzJjMDM2ZWJlOTE0OTZiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NE
ZXZpY2VBZGFwdGVyKiBncmFwaGljc0RldmljZUFkYXB0ZXIoKSBjb25zdCBmaW5hbDsKICNlbmRp
ZgogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
IGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogI2lmIEVOQUJMRShWSURF
TykKICAgICBib29sIHN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSkgZmluYWw7Cg==
</data>
<flag name="commit-queue"
          id="455796"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433525</attachid>
            <date>2021-07-14 13:42:07 -0700</date>
            <delta_ts>2021-07-14 14:45:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714134206.patch</filename>
            <type>text/plain</type>
            <size>41721</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uODJjNjcyOTRiY2JjYTlhMTM0ZDNlMzhlYjZmY2Rh
ZmUwN2IwMWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2Vy
dmVyIG1lbW9yeSBsZWFrIG9uIGRldGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBkYWY5OTZhOGExZjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi5hYTdm
ZGY2MjNkYjdiN2MwMjc4ODJhZTk4ZDkzYTk1MDRhZGE3N2E2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFBy
b2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3Jy
ZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJl
IHRoZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhy
b3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBh
bmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVh
bCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3Qg
dXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0
IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUg
d2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAg
IGluZm9ybWF0aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xp
ZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxs
b3cgdGhlIFVJUHJvY2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9j
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjJiZTRhY2ZlN2Q0ZjVjYmMwZmI4
OGY4MmY2NDliNTcxODEyNWFkMS4uMDg2ZWY0OTE3Y2U2MmQ1NGI0NTk5Y2E4NThhYjFhMzY2NzM1
MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMS0wNi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzkyNjYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUz
MTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQwYTY1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0Nv
bnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
QXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFh
OTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4YTBlODEzNjkxNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGln
aHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0
U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChBcHBIaWdobGlnaHRS
YW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kb2N1bWVu
dC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0
b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ug
c2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVt
cG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlv
bk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0
aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUo
KSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGws
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEz
ZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJjNDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3
NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lk
IEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxib29sLCBTY3Jv
bGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBhbGlnblggOiBhbGln
blksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwKICAgICAgICAgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9wdGlvbnMuYmVoYXZp
b3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJlaGF2aW9yLnZhbHVl
X29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xs
UmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZpc2libGVPcHRpb25z
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYzN2ExNGMyYzg0OTJj
NzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFm
ZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBA
QCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rp
b246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rp
b25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxl
Y3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7CiAgICAgaWYgKG1f
b3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsKQogICAgICAg
ICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsKLSAgICBpZiAobV9v
cHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZl
YXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2RvY3VtZW50LT5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMx
YS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxl
Y3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQs
CiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1
LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsKIAogY2xhc3MgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4u
MWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZy
YW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQb3NpdGlvbiYgYmFz
ZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBU
b01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5G
cmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiArNDM1LDggQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNl
bGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBlbHNlIGlmIChvcHRp
b25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0aW9ucyAmIERlbGVn
YXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAgICBlbHNlCiAgICAg
ICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRvTm90UmV2
ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rp
b24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3
IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZp
ZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhT
bW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJ
bnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJl
aGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAKICAgICBpZiAob3B0
aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byogY2xpZW50ID0gcHJv
dGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlv
bkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7
CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihjb25z
dCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxC
ZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFi
bGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9s
bEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlKQogICAgICAg
ICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9u
U2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BB
bHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAg
cmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBSZXZlYWxF
eHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpOworICAgICAg
ICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVh
bEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlmeUFjY2Vzc2liaWxp
dHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5NSw3IEBAIEhUTUxG
b3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29uc3QKICAgICByZXR1
cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGln
bm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwg
U2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxB
bGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlv
biwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYgKHJldmVhbE1vZGUg
PT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybjsKQEAg
LTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihT
ZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgICAgICBp
ZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAgICAgIGF1dG8qIHNj
cm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKTsKICAgICAg
ICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xs
aW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJl
Y3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxpZ25tZW50LCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2aW9yLCBvdmVycmlk
ZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGln
bm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZp
b3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyAr
MjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWluZXIncyBsYXllciwg
YnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0
aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4K
LSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJl
Y3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBh
bGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVo
YXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRl
cHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5z
aWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkKICAgICAgICAgICAg
IHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIx
MjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAgICAgIFJldmVhbFNl
bGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290aFNjcm9sbCA9IDEg
PDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEg
PDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDEwCiAgICAgfTsK
ICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1
bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNlclRyaWdnZXJlZCk7
CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBIVE1M
Rm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFs
TW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVhbEV4dGVu
dCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVs
dCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25t
ZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50
T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZp
b3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5v
bmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBwcml2YXRlOgotICAg
IHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3Zl
cnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9uKCk7CiAKICAgICBi
b29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJzb3JBbGlnbk9uU2Ny
b2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2
YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZp
bmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIGZp
bmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNv
bnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNz
TGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hW
aWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCmluZGV4IGEwYzA5MzA2Zjk2MjhiMTY0YTkyMjJmMzcxMGQ4N2VhNTk4MDRh
YzMuLjQ1YjNmOGU4M2Y0OGQwOGRjZjU1YmI0OTg1ZWJmN2RkZDA5ZWZmMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIENocm9tZTo6Y29udGVudHNTaXpl
Q2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiAgICAgbV9j
bGllbnQuY29udGVudHNTaXplQ2hhbmdlZChmcmFtZSwgc2l6ZSk7CiB9CiAKLXZvaWQgQ2hyb21l
OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3ZvaWQgQ2hy
b21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKIHsKLSAgICBtX2NsaWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGll
bnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJlY3QpOwogfQogCiB2b2lkIENocm9tZTo6
c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aAppbmRleCAxNWE0OTFiODRjMjA2ZGQ4YjUxYWRjNmVlMWRiNjg4OGI3ZjQzZTc4Li40NjZiM2U5
OGQ2MzE0MDg3MmFlMjY2YTczZmU4M2Y5ZjBhMGE4M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAg
LTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXpl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVj
dCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNv
bnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
YTg5NjhjOTQ0ZTRhMWFiYWNjOGMyZmQwM2I5NzFmZDNiM2Y4ZTcyYy4uMTIxNjNlMGIzZGE4MTM3
OTY0Yjc2ZTAxMmEyYTUwMmRmNTk3MTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0yMjgsNyArMjI4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmKSBjb25z
dCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0
JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxl
bWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5v
biBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRk
ZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1
MjRhM2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVz
ZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2Np
YXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAg
IGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29j
aWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxl
bWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJs
ZWQoKSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2Np
YXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xs
QmVoYXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2Qz
Li5lZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xs
QmVoYXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQot
Ym9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0
ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZl
YXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9s
bEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2
M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2
OGU4MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApA
QCAtMjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24g
OiB1aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsK
ICAgICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93
IGFuZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1
cmUgdG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZl
YWwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2
MWMyNjJmMDVlMjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjZiYTc4NTIwODhhYmQ3MDE2
ZjIxY2ViNGJiZTE3MzYxZTNlYTdkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
ICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywg
b3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9z
aXRpb25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFt
bWF0aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRv
c2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25z
LmFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBv
c2l0aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVj
dGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCku
aXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlm
IChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJhbWVW
aWV3Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3JvbGxQ
b3NpdGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUxMiwx
MSArMjUxNywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBz
byBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCi0gICAgICAgICAgICAvLyBzY3JvbGwgaXRz
IGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbFJlY3RJbnRvVmlldy4KKyAgICAgICAg
ICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0LgogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qg
b24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAgICAgIC8vIHRoYXQg
cHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNoIGFzIE1hYyBPUyBY
IE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5jdGlvbiBpbiBFdmVu
dEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAgcGFnZSgpLmNocm9t
ZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDBkZGNmZWVlMDYwM2RjOTVhYmQ3
MDNjZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3NTBjYWZkY2M4N2FjMzgxYjQ1ZTliZTRk
NGU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xNDEsNyAr
MTQxLDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zIHsKICAgICBjb25zdCBT
Y3JvbGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5l
ZWRlZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgc2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Ok5v
IH07CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IgeyBTY3JvbGxCZWhhdmlvcjo6QXV0byB9
OwotICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJs
ZW1lbnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCB9OwogfTsKIAog
dXNpbmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKaW5kZXggMjBlODhkMzgxNDBiOWU5
ZjJkM2JkYTQxN2QwN2EwY2UyNjQ1ZTU5OC4uMmE4OTVkOGUyZTFmMGQ0ZGU4OTBlMzJkYjc4Mzlh
MjA5YzI4MGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKQEAgLTk3LDYgKzk3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGNvbnN0IFdlYkNvcmU6
OkluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogV2ViQ29yZTo6RmxvYXRQb2ludCBQYWdl
Q2xpZW50SW1wbDo6dmlld1Njcm9sbFBvc2l0aW9uKCkKIHsKICAgICByZXR1cm4geyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4
IDU2ZjU5NGZhYTZiNjQ5Y2FiZDI5ODc1NGQ3ZGEyZjI1OGJmMzcwZDcuLjIyODNjZTRmMWI0ZDFm
NTVmYTE0ZDRjNGMzZWU4ZmM4ODRjMDY5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQ
cm94eShXZWJQcm9jZXNzUHJveHkmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFZpZXdOZWVkc0Rp
c3BsYXkoY29uc3QgV2ViQ29yZTo6UmVnaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXF1ZXN0
U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2luKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcXVl
c3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZpZXdT
Y3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUo
KSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpp
bmRleCA5YjAxZjQwMjI3MTUyMTAyZTQ3ZTZjYzI1ZGJkYjI2MWQxNzdiZjliLi40YTg3ZTBhODc4
YTMwNjRmMzZkNDc4MmFhYWE1MzVlZGY4MTVlOTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNzA3LDYgKzcwNywxNiBA
QCBOU0RpY3Rpb25hcnkgKldlYlBhZ2VQcm94eTo6Y29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVt
KE5TU3RyaW5nICp1c2VySW50ZXJmYWNlSQogICAgIHJldHVybiBuaWw7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9h
dFBvaW50IG9yaWdpbikKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0
YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0
KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBwcm9jZXNz
KCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdp
biksIDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hF
Q0tfQ09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
LmgKaW5kZXggODJlMzgyODAzN2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2
MDdhODY5OGYyYjJkYzgwYTU1NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgog
ICAgIHZvaWQgZ2VzdHVyZUV2ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShO
U0V2ZW50ICopOwogCiAgICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAK
KyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0
UG9pbnQpOwogCiAgICAgdm9pZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFs
SGVpZ2h0T2ZCYW5uZXJzKSB7IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9m
QmFubmVyczsgfQogICAgIENHRmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJl
dHVybiBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYz
ODdmYzY0ZGE2Y2MuLjZkZGJjZTIwM2I3MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcw
LDYgKzI1NzAsMTEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lT
dGF0ZSgpCiAKICNlbmRpZiAvLyBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdf
QURBUFRFUikKIAordm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3Bh
Z2UtPnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZp
ZXdJbXBsOjpoaXRUZXN0KENHUG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0g
W21fdmlldyBfd2ViX3N1cGVySGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2
OGYzNmM1MDVjYzY4ODk2NzQ1Li45Nzk4YWQwN2Q5Y2EzNjcwOGNlMTI3MzBjODQzOGMyY2Y4YWM5
NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcg
QEAgcHVibGljOgogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQg
c3RvcmVBcHBIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2Vu
ZGlmCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSA9IDA7CiAKICNpZiBQ
TEFURk9STShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JHZXN0dXJl
UmVjb2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IGQxYTVmYzM4ZWE3Yzk1ZmVhNjM0ZDg1Y2Q5YmQxNzBkYTY1
YjE5ZjguLmE2MmZkMDg1OGQxOTg3MzM1NzNlYmQ2ZWQ5OTBjN2I4ZGYyMjAwMjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC05MDMsMTEgKzkwMywxNCBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHNldElucHV0TWV0aG9kU3RhdGUoc3RkOjpvcHRpb25hbDxJbnB1dE1l
dGhvZFN0YXRlPiYmKTsKICNlbmRpZgorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxU
b1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQg
b3JpZ2luKTsKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0
UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOwogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgdm9pZCB3aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIHZpZXdGcmFtZUluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmIGFjY2Vzc2liaWxpdHlWaWV3Q29vcmRpbmF0ZXMpOwogICAgIHZvaWQgc2V0TWFpbkZy
YW1lSXNTY3JvbGxhYmxlKGJvb2wpOwotCisgICAgICAgIAogICAgIHZvaWQgc2VuZENvbXBsZXhU
ZXh0SW5wdXRUb1BsdWdpbih1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4dElucHV0SWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB0ZXh0SW5wdXQpOwogICAgIGJvb2wgc2hvdWxkRGVsYXlXaW5kb3dP
cmRlcmluZ0ZvckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKICAgICBib29sIGFjY2VwdHNG
aXJzdE1vdXNlKGludCBldmVudE51bWJlciwgY29uc3QgV2ViTW91c2VFdmVudCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRi
NWI1NmVmMjM1MjA5ZWExNzM5NDY5YTkxMTYxNDBlMjk3NmQ5NmUuLjAyZDhmZDlmYjIyMDZjODMz
MWI1Y2QwZDg2ZDYxNmMwYzg5OTdlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTUxMCw2ICs1MTAsOCBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAgICBEaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24o
KQorICAgIAorICAgIFJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdl
dFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQogCiAgICAgR2V0TG9hZERlY2lzaW9u
Rm9ySWNvbihzdHJ1Y3QgV2ViQ29yZTo6TGlua0ljb24gaWNvbiwgV2ViS2l0OjpDYWxsYmFja0lE
IGNhbGxiYWNrSUQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKaW5kZXggNDYyMGU3NWQwYTU1NjU2ZTgyMjNiYzcwNmQzMjViYjA4NzEwZTA4
NC4uZDAwNTQ2Mzk4N2QxMGM1NzcwNGZmMjRkYzFkYTkxMTVkNTYwMjQwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTIxNCw3ICsy
MTQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEaWRTY3Jv
bGwoKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxXaWxsU3RhcnRTY3Jv
bGwoKSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxEaWRFbmRTY3JvbGwo
KSBvdmVycmlkZTsKLQorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2Vi
Q29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSBv
dmVycmlkZTsKICAgICAvLyBBdXhpbGlhcnkgQ2xpZW50IENyZWF0aW9uCiAjaWYgRU5BQkxFKEZV
TExTQ1JFRU5fQVBJKQogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlDbGllbnQmIGZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHlDbGllbnQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBmYjcxMTJjODFmZTNhNTE0
ZjdkODcyYjMxODU3NDhkOGM3NjE3ZWMzLi43MzA0ZDdmYjg0Njc0NjE5Y2M4YTZkYThmNDg3YWMw
YmU4NDI4ODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tCkBAIC0xMDIzLDYgKzEwMjMsMTEgQEAgV2ViQ29yZTo6Q29sb3IgUGFnZUNs
aWVudEltcGw6OmNvbnRlbnRWaWV3QmFja2dyb3VuZENvbG9yKCkKICAgICByZXR1cm4gW21fY29u
dGVudFZpZXcgYmFja2dyb3VuZENvbG9yXS5DR0NvbG9yOwogfQogCit2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50
IG9yaWdpbikKK3sKKyAgICBbbV9jb250ZW50VmlldyBfc2Nyb2xsVG9SZWN0OnRhcmdldFJlY3Qg
d2l0aE9yaWdpbjpvcmlnaW4gbWluaW11bVNjcm9sbERpc3RhbmNlOjBdOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IDZjNWM0
ZTM5YzYxNDgzZGFlOTBlNjkyY2M3ODY2OWRhYjc0OWU1ZGEuLmU3ZGM1YWM5YzVkNDJiZTFhNWEy
OWQ3NzMwNDE5YzQwN2E5YmMzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oCkBAIC0yOTAsNiArMjkwLDggQEAgcHJpdmF0ZToKICNpZiBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAgdm9pZCBoYW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rp
b25SZXN1bHQoY29uc3QgV2ViQ29yZTo6RGF0YURldGVjdG9yRWxlbWVudEluZm8mLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYpIGZpbmFsOwogI2VuZGlmCisgICAgICAgIAorICAgIHZvaWQgcmVx
dWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6
RmxvYXRQb2ludCBvcmlnaW4pIG92ZXJyaWRlOwogCiAgICAgTlNWaWV3ICptX3ZpZXc7CiAgICAg
V2Vha1B0cjxXZWJWaWV3SW1wbD4gbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCmluZGV4IDhiNzRiNDU0NWQ4OTdhOTk5Mjk0Zjgx
NWM3YzFmNjdiMzhmZDNjMmMuLjdmODIxZDMyZTdjNmEzZDk4ZTY1YmZhMGY1ODQ4MmJjZmU3MDZj
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxN
YWMubW0KQEAgLTk3Miw2ICs5NzIsMTIgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUmVzdG9y
ZVNjcm9sbFBvc2l0aW9uKCkKICAgICBtX2ltcGwtPmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigp
OwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6
OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAg
ICAvLyBGSVhNRTogQWRkIGFkZGl0aW9uYWwgbG9naWMgdG8gYXZvaWQgTm90ZSBQaXAuCisgICAg
bV9pbXBsLT5zY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwogYm9vbCBQYWdl
Q2xpZW50SW1wbDo6d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoY29uc3QgTmF0aXZlV2Vi
TW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgcmV0dXJuIG1faW1wbC0+d2luZG93SXNGcm9udFdp
bmRvd1VuZGVyTW91c2UoZXZlbnQubmF0aXZlRXZlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CmluZGV4IDg5ZjA1ZDVjYzcwNjRhY2VlNDVjZjA5YTUzMDE0M2I1ZTNhMmZlMWQuLmZjNzNlMTQ0
N2Y0ZjJjNGJlYTc0ODk4MTczMDE5NDQ4ZDc1NWY2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlJl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckNvcHku
aCIKKyNpbmNsdWRlICJTbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyTWVzc2FnZXMuaCIKICNp
bmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkNvbG9yQ2hvb3Nlci5oIgogI2luY2x1
ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtNjU1LDkgKzY1Niw5IEBAIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiBmcmFtZSwgY29uc3QgSW50
U2l6ZSYgc2l6ZSkgY29uCiAgICAgfQogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xs
UmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6
OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6UmVxdWVzdFNjcm9sbFRvUmVjdChyZWN0LCByZWN0LmNlbnRlcigpKSk7CiB9CiAK
IGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1
dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24gcGx1
Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZWI1
YzllODg4NzA5NmQ3OTYxYjBkYmUzNTAzZjliODQ2MjZhZjczMy4uNzVjMzY5YTlmMjhhZjUyYjA5
YTRmNmZkMThjNTI4NDRlMzZkMGYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTMzLDcgKzEz
Myw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVu
dCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpG
cmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGlu
dHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0
IGZpbmFsOwotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5vbiBlbXB0eSBp
bXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8vIEN1cnJlbnRseSBvbmx5IE1hYyBo
YXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAgICBib29sIHNob3VsZFVuYXZhaWxh
YmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQ
bHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmluYWw7CiAgICAgdm9pZCB1bmF2YWls
YWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6RWxlbWVudCYsIFdlYkNvcmU6OlJlbmRl
ckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmluYWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQ
YWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQ
YWdlQ29jb2EubW0KaW5kZXggNDQ5MDc1NWZmZjc2OGQ0MTBiNTM1N2ZjNjEwMjIyNmVmN2ViNTZl
ZS4uZDRkNTRjZTIxODI0MmRjMTRlZDZlOWZlY2I5NjUzZTUxZDY2NzZkOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5t
bQpAQCAtNDYxLDYgKzQ2MSwxMyBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUNsaWNrRm9yRGF0YURl
dGVjdGlvblJlc3VsdChjb25zdCBEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYgaQogCiAjZW5kaWYK
IAorCit2b2lkIFdlYlBhZ2U6OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0
UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgbWFpbkZyYW1lVmlldygp
LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkp
KTsKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKENP
Q09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDMz
NzdhOWQzYzNhNzVjY2MzNGM1ZDJiYTE4OTgxOWI1ODU0MzFmYmEuLmQxN2MzMDM1OWE2MmMyMjRk
MjY2ZDZkNjhlZjNhZmQxNGVlMTFhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTExMzMsNiArMTEzMyw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2Fsd2F5c1No
b3dzSG9yaXpvbnRhbFNjcm9sbGVyOyB9OwogICAgIGJvb2wgYWx3YXlzU2hvd3NWZXJ0aWNhbFNj
cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9hbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXI7IH07
CisgICAgCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJl
Y3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKIAogICAgIHZvaWQgc2V0TWluaW11bVNp
emVGb3JBdXRvTGF5b3V0KGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICAgICBXZWJDb3JlOjpJ
bnRTaXplIG1pbmltdW1TaXplRm9yQXV0b0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11
bVNpemVGb3JBdXRvTGF5b3V0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAxY2VkYTdhN2JjYWIyZDgwYWU0YzI2
OWIwZmMwZTdlZGIzMTUxZGQ1Li4yYzM0OTgzNDNmY2ZjNzZhYTAyYzA3ZDBkYTIyM2RhNzNjN2Yy
OGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KQEAgLTY0NCw2ICs2NDQsOCBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRp
bmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlw
ZQogICAgIFVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoc3RydWN0IFdlYkNvcmU6OlRl
eHRSZWNvZ25pdGlvblJlc3VsdCByZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4
dCBlbGVtZW50LCBXZWJDb3JlOjpGbG9hdFBvaW50IGxvY2F0aW9uKSAtPiAoZW51bTp1aW50OF90
IFdlYktpdDo6VGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0IHJlc3VsdCkgQXN5bmMKICNlbmRp
ZgogCisgICAgU2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJD
b3JlOjpGbG9hdFBvaW50IG9yaWdpbikKKwogI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
TUFDKQogICAgIE1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoc3RydWN0IFdl
YkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBTdHJpbmcgdXVpZCwgdWludDMy
X3QgY29udGV4dElkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApp
bmRleCBlN2MyZjdmMjk2MGM3MzlkMGYwMDE0N2EzOWRjMTM1OTVjZGIxOWFlLi4wZTJjNmUyYWI2
NDhjNmQ1OTJhYTgzMWEyMDlkZjJkZjdlY2ZjNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgKQEAgLTU0NCw2ICs1NDQsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnN1
bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7
CiAjZW5kaWYKICAgICAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIHNjcm9sbFRvUmVj
dChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmln
aW4pOworI2VuZGlmCisgICAgCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKGNv
bnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKIAogICAgIC8v
IElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDQ0ZjQwNGZkZjVi
ODkyNDI5MjI1MzRiODFhYjM3MjJjMTExNzFiMWUuLjI1Y2Y2ODZjNDJjNTZlNDlhNjRlNmYzNTVm
ZmI2YTdlMDBlMTBhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJp
dmF0ZToKICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50KCkgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZyYW1lJiwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaW50cmluc2ljQ29u
dGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWwgeyB9
Ci0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNv
bnN0IGZpbmFsOworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQgc2V0U3RhdHVzYmFyVGV4
dChjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IGI2YzE5
MDkxYmZmYTM4OTYyOTk0OGJhMDVkNzdkYzI0YTQyZWY5ZmYuLjE2MzY3MjFjNTZjZTg0NWYwM2Iw
ZTc2NmVkZjBmYjg3ZGVjMzlhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTYwNiw3ICs2MDYs
NyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNv
bnN0IEludFNpemUmKSBjb25zdAogewogfQogCi12b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xs
UmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0Cit2b2lkIFdlYkNocm9tZUNsaWVu
dDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0CiB7
CiAgICAgLy8gRklYTUU6IFRoaXMgc2Nyb2xsaW5nIGJlaGF2aW9yIHNob3VsZCBiZSB1bmRlciB0
aGUgY29udHJvbCBvZiB0aGUgZW1iZWRkaW5nIGNsaWVudCwKICAgICAvLyBwZXJoYXBzIGluIGEg
ZGVsZWdhdGUgbWV0aG9kLCByYXRoZXIgdGhhbiBzb21ldGhpbmcgV2ViS2l0IGRvZXMgdW5jb25k
aXRpb25hbGx5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAwOTlhZTljNzA5ZDE1N2VhMGFhOTBmNjJj
OGJiZTRlMGU4MzI0NzM0Li44NzlhMjExYzQ0MWRhMmNkZTNlY2U2MzkzMmMwMzZlYmU5MTQ5NmI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTQ0LDcgKzE0NCw3IEBAIHB1YmxpYzoKICAgICBXZWJD
b3JlOjpHcmFwaGljc0RldmljZUFkYXB0ZXIqIGdyYXBoaWNzRGV2aWNlQWRhcHRlcigpIGNvbnN0
IGZpbmFsOwogI2VuZGlmCiAKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAgdm9pZCBzY3JvbGxNYWluRnJhbWVU
b1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQogCiAj
aWYgRU5BQkxFKFZJREVPKQogICAgIGJvb2wgc3VwcG9ydHNWaWRlb0Z1bGxzY3JlZW4oV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlKSBmaW5hbDsK
</data>
<flag name="commit-queue"
          id="455806"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433529</attachid>
            <date>2021-07-14 14:40:58 -0700</date>
            <delta_ts>2021-07-14 15:54:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714144057.patch</filename>
            <type>text/plain</type>
            <size>41720</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uODJjNjcyOTRiY2JjYTlhMTM0ZDNlMzhlYjZmY2Rh
ZmUwN2IwMWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2Vy
dmVyIG1lbW9yeSBsZWFrIG9uIGRldGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBkYWY5OTZhOGExZjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi5hYTdm
ZGY2MjNkYjdiN2MwMjc4ODJhZTk4ZDkzYTk1MDRhZGE3N2E2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFBy
b2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3Jy
ZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJl
IHRoZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhy
b3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBh
bmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVh
bCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3Qg
dXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0
IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUg
d2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAg
IGluZm9ybWF0aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xp
ZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxs
b3cgdGhlIFVJUHJvY2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9j
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjJiZTRhY2ZlN2Q0ZjVjYmMwZmI4
OGY4MmY2NDliNTcxODEyNWFkMS4uMDg2ZWY0OTE3Y2U2MmQ1NGI0NTk5Y2E4NThhYjFhMzY2NzM1
MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMS0wNi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzkyNjYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUz
MTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQwYTY1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0Nv
bnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
QXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFh
OTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4YTBlODEzNjkxNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGln
aHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0
U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChBcHBIaWdobGlnaHRS
YW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kb2N1bWVu
dC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0
b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ug
c2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVt
cG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlv
bk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0
aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUo
KSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGws
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEz
ZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJjNDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3
NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lk
IEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxib29sLCBTY3Jv
bGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBhbGlnblggOiBhbGln
blksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwKICAgICAgICAgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9wdGlvbnMuYmVoYXZp
b3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJlaGF2aW9yLnZhbHVl
X29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xs
UmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZpc2libGVPcHRpb25z
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYzN2ExNGMyYzg0OTJj
NzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFm
ZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBA
QCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rp
b246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rp
b25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxl
Y3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7CiAgICAgaWYgKG1f
b3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsKQogICAgICAg
ICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsKLSAgICBpZiAobV9v
cHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZl
YXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2RvY3VtZW50LT5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMx
YS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxl
Y3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQs
CiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1
LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsKIAogY2xhc3MgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4u
MWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZy
YW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQb3NpdGlvbiYgYmFz
ZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBU
b01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5G
cmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiArNDM1LDggQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNl
bGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBlbHNlIGlmIChvcHRp
b25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0aW9ucyAmIERlbGVn
YXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAgICBlbHNlCiAgICAg
ICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRvTm90UmV2
ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rp
b24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3
IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZp
ZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhT
bW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJ
bnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJl
aGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAKICAgICBpZiAob3B0
aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byogY2xpZW50ID0gcHJv
dGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlv
bkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7
CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihjb25z
dCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxC
ZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFi
bGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9s
bEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlKQogICAgICAg
ICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9u
U2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BB
bHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAg
cmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBSZXZlYWxF
eHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpOworICAgICAg
ICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVh
bEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlmeUFjY2Vzc2liaWxp
dHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5NSw3IEBAIEhUTUxG
b3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29uc3QKICAgICByZXR1
cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGln
bm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwg
U2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxB
bGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlv
biwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYgKHJldmVhbE1vZGUg
PT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybjsKQEAg
LTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihT
ZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgICAgICBp
ZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAgICAgIGF1dG8qIHNj
cm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKTsKICAgICAg
ICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xs
aW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJl
Y3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxpZ25tZW50LCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2aW9yLCBvdmVycmlk
ZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGln
bm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZp
b3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyAr
MjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWluZXIncyBsYXllciwg
YnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0
aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4K
LSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJl
Y3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBh
bGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVo
YXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRl
cHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5z
aWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkKICAgICAgICAgICAg
IHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIx
MjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAgICAgIFJldmVhbFNl
bGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290aFNjcm9sbCA9IDEg
PDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEg
PDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDEwCiAgICAgfTsK
ICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1
bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNlclRyaWdnZXJlZCk7
CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBIVE1M
Rm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFs
TW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVhbEV4dGVu
dCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVs
dCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25t
ZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50
T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZp
b3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5v
bmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBwcml2YXRlOgotICAg
IHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3Zl
cnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9uKCk7CiAKICAgICBi
b29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJzb3JBbGlnbk9uU2Ny
b2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2
YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZp
bmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIGZp
bmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNv
bnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNz
TGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hW
aWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCmluZGV4IGEwYzA5MzA2Zjk2MjhiMTY0YTkyMjJmMzcxMGQ4N2VhNTk4MDRh
YzMuLjQ1YjNmOGU4M2Y0OGQwOGRjZjU1YmI0OTg1ZWJmN2RkZDA5ZWZmMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIENocm9tZTo6Y29udGVudHNTaXpl
Q2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiAgICAgbV9j
bGllbnQuY29udGVudHNTaXplQ2hhbmdlZChmcmFtZSwgc2l6ZSk7CiB9CiAKLXZvaWQgQ2hyb21l
OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3ZvaWQgQ2hy
b21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKIHsKLSAgICBtX2NsaWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGll
bnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJlY3QpOwogfQogCiB2b2lkIENocm9tZTo6
c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aAppbmRleCAxNWE0OTFiODRjMjA2ZGQ4YjUxYWRjNmVlMWRiNjg4OGI3ZjQzZTc4Li40NjZiM2U5
OGQ2MzE0MDg3MmFlMjY2YTczZmU4M2Y5ZjBhMGE4M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAg
LTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXpl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVj
dCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNv
bnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
YTg5NjhjOTQ0ZTRhMWFiYWNjOGMyZmQwM2I5NzFmZDNiM2Y4ZTcyYy4uMTIxNjNlMGIzZGE4MTM3
OTY0Yjc2ZTAxMmEyYTUwMmRmNTk3MTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0yMjgsNyArMjI4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmKSBjb25z
dCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0
JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxl
bWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5v
biBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRk
ZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1
MjRhM2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVz
ZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2Np
YXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAg
IGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29j
aWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxl
bWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJs
ZWQoKSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2Np
YXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xs
QmVoYXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2Qz
Li5lZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xs
QmVoYXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQot
Ym9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0
ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZl
YXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9s
bEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2
M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2
OGU4MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApA
QCAtMjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24g
OiB1aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsK
ICAgICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93
IGFuZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1
cmUgdG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZl
YWwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2
MWMyNjJmMDVlMjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjZiYTc4NTIwODhhYmQ3MDE2
ZjIxY2ViNGJiZTE3MzYxZTNlYTdkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
ICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywg
b3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9z
aXRpb25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFt
bWF0aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRv
c2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25z
LmFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBv
c2l0aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVj
dGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCku
aXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlm
IChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJhbWVW
aWV3Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3JvbGxQ
b3NpdGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUxMiwx
MSArMjUxNywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBz
byBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCi0gICAgICAgICAgICAvLyBzY3JvbGwgaXRz
IGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbFJlY3RJbnRvVmlldy4KKyAgICAgICAg
ICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0LgogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qg
b24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAgICAgIC8vIHRoYXQg
cHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNoIGFzIE1hYyBPUyBY
IE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5jdGlvbiBpbiBFdmVu
dEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAgcGFnZSgpLmNocm9t
ZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDBkZGNmZWVlMDYwM2RjOTVhYmQ3
MDNjZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3NTBjYWZkY2M4N2FjMzgxYjQ1ZTliZTRk
NGU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xNDEsNyAr
MTQxLDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zIHsKICAgICBjb25zdCBT
Y3JvbGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5l
ZWRlZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgc2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Ok5v
IH07CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IgeyBTY3JvbGxCZWhhdmlvcjo6QXV0byB9
OwotICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJs
ZW1lbnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCB9OwogfTsKIAog
dXNpbmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKaW5kZXggMjBlODhkMzgxNDBiOWU5
ZjJkM2JkYTQxN2QwN2EwY2UyNjQ1ZTU5OC4uMmE4OTVkOGUyZTFmMGQ0ZGU4OTBlMzJkYjc4Mzlh
MjA5YzI4MGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKQEAgLTk3LDYgKzk3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGNvbnN0IFdlYkNvcmU6
OkluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogV2ViQ29yZTo6RmxvYXRQb2ludCBQYWdl
Q2xpZW50SW1wbDo6dmlld1Njcm9sbFBvc2l0aW9uKCkKIHsKICAgICByZXR1cm4geyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4
IDU2ZjU5NGZhYTZiNjQ5Y2FiZDI5ODc1NGQ3ZGEyZjI1OGJmMzcwZDcuLjIyODNjZTRmMWI0ZDFm
NTVmYTE0ZDRjNGMzZWU4ZmM4ODRjMDY5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQ
cm94eShXZWJQcm9jZXNzUHJveHkmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFZpZXdOZWVkc0Rp
c3BsYXkoY29uc3QgV2ViQ29yZTo6UmVnaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXF1ZXN0
U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2luKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcXVl
c3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZpZXdT
Y3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUo
KSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpp
bmRleCA5YjAxZjQwMjI3MTUyMTAyZTQ3ZTZjYzI1ZGJkYjI2MWQxNzdiZjliLi40YTg3ZTBhODc4
YTMwNjRmMzZkNDc4MmFhYWE1MzVlZGY4MTVlOTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNzA3LDYgKzcwNywxNiBA
QCBOU0RpY3Rpb25hcnkgKldlYlBhZ2VQcm94eTo6Y29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVt
KE5TU3RyaW5nICp1c2VySW50ZXJmYWNlSQogICAgIHJldHVybiBuaWw7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9h
dFBvaW50IG9yaWdpbikKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0
YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0
KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBwcm9jZXNz
KCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdp
biksIDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hF
Q0tfQ09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
LmgKaW5kZXggODJlMzgyODAzN2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2
MDdhODY5OGYyYjJkYzgwYTU1NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgog
ICAgIHZvaWQgZ2VzdHVyZUV2ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShO
U0V2ZW50ICopOwogCiAgICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAK
KyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0
UG9pbnQpOwogCiAgICAgdm9pZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFs
SGVpZ2h0T2ZCYW5uZXJzKSB7IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9m
QmFubmVyczsgfQogICAgIENHRmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJl
dHVybiBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYz
ODdmYzY0ZGE2Y2MuLjZkZGJjZTIwM2I3MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcw
LDYgKzI1NzAsMTEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lT
dGF0ZSgpCiAKICNlbmRpZiAvLyBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdf
QURBUFRFUikKIAordm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3Bh
Z2UtPnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZp
ZXdJbXBsOjpoaXRUZXN0KENHUG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0g
W21fdmlldyBfd2ViX3N1cGVySGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2
OGYzNmM1MDVjYzY4ODk2NzQ1Li4wNDk3OWY5ZGExMWQxMmViMTMzNmIxNWJiYmNkMWI3M2M4ZDVk
NGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcg
QEAgcHVibGljOgogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQg
c3RvcmVBcHBIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2Vu
ZGlmCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSB7IH0KIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVS
ZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggZDFhNWZjMzhlYTdjOTVmZWE2MzRkODVjZDliZDE3MGRhNjVi
MTlmOC4uYTYyZmQwODU4ZDE5ODczMzU3M2ViZDZlZDk5MGM3YjhkZjIyMDAyNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTkwMywxMSArOTAzLDE0IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShzdGQ6Om9wdGlvbmFsPElucHV0TWV0
aG9kU3RhdGU+JiYpOwogI2VuZGlmCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRv
UmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBv
cmlnaW4pOworICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRS
ZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UmVjdCYgdmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgYWNjZXNzaWJpbGl0eVZpZXdDb29yZGluYXRlcyk7CiAgICAgdm9pZCBzZXRNYWluRnJh
bWVJc1Njcm9sbGFibGUoYm9vbCk7Ci0KKyAgICAgICAgCiAgICAgdm9pZCBzZW5kQ29tcGxleFRl
eHRJbnB1dFRvUGx1Z2luKHVpbnQ2NF90IHBsdWdpbkNvbXBsZXhUZXh0SW5wdXRJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHRleHRJbnB1dCk7CiAgICAgYm9vbCBzaG91bGREZWxheVdpbmRvd09y
ZGVyaW5nRm9yRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOwogICAgIGJvb2wgYWNjZXB0c0Zp
cnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBXZWJNb3VzZUV2ZW50Jik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGI1
YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2ZDk2ZS4uMDJkOGZkOWZiMjIwNmM4MzMx
YjVjZDBkODZkNjE2YzBjODk5N2U5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTEwLDYgKzUxMCw4IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogICAgIERpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigp
CisgICAgCisgICAgUmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0
UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCiAKICAgICBHZXRMb2FkRGVjaXNpb25G
b3JJY29uKHN0cnVjdCBXZWJDb3JlOjpMaW5rSWNvbiBpY29uLCBXZWJLaXQ6OkNhbGxiYWNrSUQg
Y2FsbGJhY2tJRCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAppbmRleCA0NjIwZTc1ZDBhNTU2NTZlODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0
Li5kMDA1NDYzOTg3ZDEwYzU3NzA0ZmYyNGRjMWRhOTExNWQ1NjAyNDBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjE0LDcgKzIx
NCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RpZFNjcm9s
bCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFdpbGxTdGFydFNjcm9s
bCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbERpZEVuZFNjcm9sbCgp
IG92ZXJyaWRlOwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJD
b3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92
ZXJyaWRlOwogICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFCTEUoRlVM
TFNDUkVFTl9BUEkpCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgZnVsbFNj
cmVlbk1hbmFnZXJQcm94eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4MWZlM2E1MTRm
N2Q4NzJiMzE4NTc0OGQ4Yzc2MTdlYzMuLjczMDRkN2ZiODQ2NzQ2MTljYzhhNmRhOGY0ODdhYzBi
ZTg0Mjg4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0KQEAgLTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xvciBQYWdlQ2xp
ZW50SW1wbDo6Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBbbV9jb250
ZW50VmlldyBiYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudElt
cGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdldFJlY3QsIEZsb2F0UG9pbnQg
b3JpZ2luKQoreworICAgIFttX2NvbnRlbnRWaWV3IF9zY3JvbGxUb1JlY3Q6dGFyZ2V0UmVjdCB3
aXRoT3JpZ2luOm9yaWdpbiBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6MF07Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggNmM1YzRl
MzljNjE0ODNkYWU5MGU2OTJjYzc4NjY5ZGFiNzQ5ZTVkYS4uZTdkYzVhYzljNWQ0MmJlMWE1YTI5
ZDc3MzA0MTljNDA3YTliYzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwcml2YXRlOgogI2lmIEVO
QUJMRShEQVRBX0RFVEVDVElPTikKICAgICB2b2lkIGhhbmRsZUNsaWNrRm9yRGF0YURldGVjdGlv
blJlc3VsdChjb25zdCBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JikgZmluYWw7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1
ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpG
bG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmlldzsKICAgICBX
ZWFrUHRyPFdlYlZpZXdJbXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5OTkyOTRmODE1
YzdjMWY2N2IzOGZkM2MyYy4uN2Y4MjFkMzJlN2M2YTNkOThlNjViZmEwZjU4NDgyYmNmZTcwNmNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1h
Yy5tbQpAQCAtOTcyLDYgKzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZXN0b3Jl
U2Nyb2xsUG9zaXRpb24oKQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7
CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6
RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQoreworICAg
IC8vIEZJWE1FOiBBZGQgYWRkaXRpb25hbCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4KKyAgICBt
X2ltcGwtPnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29sIFBhZ2VD
bGllbnRJbXBsOjp3aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJN
b3VzZUV2ZW50JiBldmVudCkKIHsKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2lu
ZG93VW5kZXJNb3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
aW5kZXggODlmMDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZC4uZmM3M2UxNDQ3
ZjRmMmM0YmVhNzQ4OTgxNzMwMTk0NDhkNzU1ZjY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
QEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5o
IgorI2luY2x1ZGUgIlNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXJNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIlVzZXJEYXRhLmgiCiAjaW5jbHVkZSAiV2ViQ29sb3JDaG9vc2VyLmgiCiAjaW5jbHVk
ZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC02NTUsOSArNjU2LDkgQEAgdm9pZCBXZWJD
aHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRT
aXplJiBzaXplKSBjb24KICAgICB9CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxS
ZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNvbnN0Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6
c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CiB7
Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpSZXF1ZXN0U2Nyb2xsVG9SZWN0KHJlY3QsIHJlY3QuY2VudGVyKCkpKTsKIH0KIAog
Ym9vbCBXZWJDaHJvbWVDbGllbnQ6OnNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0
dG9uKFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiBwbHVn
aW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBlYjVj
OWU4ODg3MDk2ZDc5NjFiMGRiZTM1MDNmOWI4NDYyNmFmNzMzLi43NWMzNjlhOWYyOGFmNTJiMDlh
NGY2ZmQxOGM1Mjg0NGUzNmQwZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMzMsNyArMTMz
LDcgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50
KCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZy
YW1lJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaW50
cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3Qg
ZmluYWw7Ci0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpIGNvbnN0IGZpbmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGlt
cGxlbWVudGF0aW9uLgorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhh
cyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIGJvb2wgc2hvdWxkVW5hdmFpbGFi
bGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBs
dWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHVuYXZhaWxh
YmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChXZWJDb3JlOjpFbGVtZW50JiwgV2ViQ29yZTo6UmVuZGVy
RW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBh
Z2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBh
Z2VDb2NvYS5tbQppbmRleCA0NDkwNzU1ZmZmNzY4ZDQxMGI1MzU3ZmM2MTAyMjI2ZWY3ZWI1NmVl
Li5kNGQ1NGNlMjE4MjQyZGMxNGVkNmU5ZmVjYjk2NTNlNTFkNjY3NmQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1t
CkBAIC00NjEsNiArNDYxLDEzIEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQ2xpY2tGb3JEYXRhRGV0
ZWN0aW9uUmVzdWx0KGNvbnN0IERhdGFEZXRlY3RvckVsZW1lbnRJbmZvJiBpCiAKICNlbmRpZgog
CisKK3ZvaWQgV2ViUGFnZTo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRS
ZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtYWluRnJhbWVWaWV3KCkt
PnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHRhcmdldFJlY3QubWluWE1pbllDb3JuZXIoKSkp
OworfQorCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMzM3
N2E5ZDNjM2E3NWNjYzM0YzVkMmJhMTg5ODE5YjU4NTQzMWZiYS4uZDE3YzMwMzU5YTYyYzIyNGQy
NjZkNmQ2OGVmM2FmZDE0ZWUxMWE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaApAQCAtMTEzMyw2ICsxMTMzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBh
bHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWx3YXlzU2hv
d3NIb3Jpem9udGFsU2Nyb2xsZXI7IH07CiAgICAgYm9vbCBhbHdheXNTaG93c1ZlcnRpY2FsU2Ny
b2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2Fsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcjsgfTsK
KyAgICAKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVj
dCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOwogCiAgICAgdm9pZCBzZXRNaW5pbXVtU2l6
ZUZvckF1dG9MYXlvdXQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIFdlYkNvcmU6Oklu
dFNpemUgbWluaW11bVNpemVGb3JBdXRvTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVt
U2l6ZUZvckF1dG9MYXlvdXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDFjZWRhN2E3YmNhYjJkODBhZTRjMjY5
YjBmYzBlN2VkYjMxNTFkZDUuLjJjMzQ5ODM0M2ZjZmM3NmFhMDJjMDdkMGRhMjIzZGE3M2M3ZjI4
ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbgpAQCAtNjQ0LDYgKzY0NCw4IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGlu
Z0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBl
CiAgICAgVXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChzdHJ1Y3QgV2ViQ29yZTo6VGV4
dFJlY29nbml0aW9uUmVzdWx0IHJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0
IGVsZW1lbnQsIFdlYkNvcmU6OkZsb2F0UG9pbnQgbG9jYXRpb24pIC0+IChlbnVtOnVpbnQ4X3Qg
V2ViS2l0OjpUZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1bHQgcmVzdWx0KSBBc3luYwogI2VuZGlm
CiAKKyAgICBTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNv
cmU6OkZsb2F0UG9pbnQgb3JpZ2luKQorCiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19N
QUMpCiAgICAgTW9kZWxFbGVtZW50UHJldmlld0RpZE9idGFpbkNvbnRleHRJZChzdHJ1Y3QgV2Vi
Q29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFN0cmluZyB1dWlkLCB1aW50MzJf
dCBjb250ZXh0SWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmlu
ZGV4IGU3YzJmN2YyOTYwYzczOWQwZjAwMTQ3YTM5ZGMxMzU5NWNkYjE5YWUuLjBlMmM2ZTJhYjY0
OGM2ZDU5MmFhODMxYTIwOWRmMmRmN2VjZmM1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaApAQCAtNTQ0LDYgKzU0NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29uc3Vt
ZUF1ZGlvQ29tcG9uZW50UmVnaXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsK
ICNlbmRpZgogICAgIAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgc2Nyb2xsVG9SZWN0
KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdp
bik7CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVByb2Nlc3MoY29u
c3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8g
SVBDOjpDb25uZWN0aW9uOjpDbGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDRmNDA0ZmRmNWI4
OTI0MjkyMjUzNGI4MWFiMzcyMmMxMTE3MWIxZS4uMjVjZjY4NmM0MmM1NmU0OWE2NGU2ZjM1NWZm
YjZhN2UwMGUxMGE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTExMiw3ICsxMTIsNyBAQCBwcml2
YXRlOgogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBm
aW5hbDsKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25z
dCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250
ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbCB7IH0K
LSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29u
c3QgZmluYWw7CisgICAgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBzZXRTdGF0dXNiYXJUZXh0
KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYjZjMTkw
OTFiZmZhMzg5NjI5OTQ4YmEwNWQ3N2RjMjRhNDJlZjlmZi4uMTYzNjcyMWM1NmNlODQ1ZjAzYjBl
NzY2ZWRmMGZiODdkZWMzOWE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNjA2LDcgKzYwNiw3
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29u
c3QgSW50U2l6ZSYpIGNvbnN0CiB7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxS
ZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcikgY29uc3QKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50
OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcikgY29uc3QKIHsK
ICAgICAvLyBGSVhNRTogVGhpcyBzY3JvbGxpbmcgYmVoYXZpb3Igc2hvdWxkIGJlIHVuZGVyIHRo
ZSBjb250cm9sIG9mIHRoZSBlbWJlZGRpbmcgY2xpZW50LAogICAgIC8vIHBlcmhhcHMgaW4gYSBk
ZWxlZ2F0ZSBtZXRob2QsIHJhdGhlciB0aGFuIHNvbWV0aGluZyBXZWJLaXQgZG9lcyB1bmNvbmRp
dGlvbmFsbHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDA5OWFlOWM3MDlkMTU3ZWEwYWE5MGY2MmM4
YmJlNGUwZTgzMjQ3MzQuLjg3OWEyMTFjNDQxZGEyY2RlM2VjZTYzOTMyYzAzNmViZTkxNDk2Yjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogICAgIFdlYkNv
cmU6OkdyYXBoaWNzRGV2aWNlQWRhcHRlciogZ3JhcGhpY3NEZXZpY2VBZGFwdGVyKCkgY29uc3Qg
ZmluYWw7CiAjZW5kaWYKIAotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRv
UmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CiAKICNp
ZiBFTkFCTEUoVklERU8pCiAgICAgYm9vbCBzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpIGZpbmFsOwo=
</data>
<flag name="commit-queue"
          id="455817"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433534</attachid>
            <date>2021-07-14 15:48:16 -0700</date>
            <delta_ts>2021-07-14 16:11:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714154816.patch</filename>
            <type>text/plain</type>
            <size>41464</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uODJjNjcyOTRiY2JjYTlhMTM0ZDNlMzhlYjZmY2Rh
ZmUwN2IwMWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2Vy
dmVyIG1lbW9yeSBsZWFrIG9uIGRldGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBkYWY5OTZhOGExZjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi5hYTdm
ZGY2MjNkYjdiN2MwMjc4ODJhZTk4ZDkzYTk1MDRhZGE3N2E2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFBy
b2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3Jy
ZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJl
IHRoZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhy
b3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBh
bmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVh
bCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3Qg
dXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0
IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUg
d2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAg
IGluZm9ybWF0aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xp
ZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxs
b3cgdGhlIFVJUHJvY2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9j
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjJiZTRhY2ZlN2Q0ZjVjYmMwZmI4
OGY4MmY2NDliNTcxODEyNWFkMS4uMDg2ZWY0OTE3Y2U2MmQ1NGI0NTk5Y2E4NThhYjFhMzY2NzM1
MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMS0wNi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzkyNjYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUz
MTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQwYTY1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0Nv
bnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
QXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFh
OTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4YTBlODEzNjkxNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGln
aHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0
U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChBcHBIaWdobGlnaHRS
YW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kb2N1bWVu
dC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0
b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ug
c2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVt
cG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlv
bk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0
aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUo
KSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGws
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEz
ZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJjNDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3
NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lk
IEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxib29sLCBTY3Jv
bGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBhbGlnblggOiBhbGln
blksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwKICAgICAgICAgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9wdGlvbnMuYmVoYXZp
b3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJlaGF2aW9yLnZhbHVl
X29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xs
UmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZpc2libGVPcHRpb25z
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYzN2ExNGMyYzg0OTJj
NzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFm
ZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBA
QCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rp
b246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rp
b25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxl
Y3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7CiAgICAgaWYgKG1f
b3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsKQogICAgICAg
ICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsKLSAgICBpZiAobV9v
cHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZl
YXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2RvY3VtZW50LT5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMx
YS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxl
Y3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQs
CiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1
LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsKIAogY2xhc3MgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4u
MWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZy
YW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQb3NpdGlvbiYgYmFz
ZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBU
b01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5G
cmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiArNDM1LDggQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNl
bGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBlbHNlIGlmIChvcHRp
b25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0aW9ucyAmIERlbGVn
YXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAgICBlbHNlCiAgICAg
ICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRvTm90UmV2
ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rp
b24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3
IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZp
ZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhT
bW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJ
bnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJl
aGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAKICAgICBpZiAob3B0
aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byogY2xpZW50ID0gcHJv
dGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlv
bkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7
CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihjb25z
dCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxC
ZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFi
bGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9s
bEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlKQogICAgICAg
ICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9u
U2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BB
bHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAg
cmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBSZXZlYWxF
eHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpOworICAgICAg
ICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVh
bEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlmeUFjY2Vzc2liaWxp
dHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5NSw3IEBAIEhUTUxG
b3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29uc3QKICAgICByZXR1
cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGln
bm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwg
U2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxB
bGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlv
biwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYgKHJldmVhbE1vZGUg
PT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybjsKQEAg
LTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihT
ZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgICAgICBp
ZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAgICAgIGF1dG8qIHNj
cm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKTsKICAgICAg
ICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xs
aW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJl
Y3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxpZ25tZW50LCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2aW9yLCBvdmVycmlk
ZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGln
bm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZp
b3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyAr
MjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWluZXIncyBsYXllciwg
YnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0
aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4K
LSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJl
Y3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBh
bGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVo
YXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRl
cHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5z
aWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkKICAgICAgICAgICAg
IHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIx
MjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAgICAgIFJldmVhbFNl
bGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290aFNjcm9sbCA9IDEg
PDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEg
PDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDEwCiAgICAgfTsK
ICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1
bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNlclRyaWdnZXJlZCk7
CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBIVE1M
Rm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFs
TW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVhbEV4dGVu
dCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVs
dCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25t
ZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50
T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZp
b3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5v
bmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBwcml2YXRlOgotICAg
IHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3Zl
cnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9uKCk7CiAKICAgICBi
b29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJzb3JBbGlnbk9uU2Ny
b2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2
YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZp
bmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIGZp
bmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNv
bnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNz
TGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hW
aWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCmluZGV4IGEwYzA5MzA2Zjk2MjhiMTY0YTkyMjJmMzcxMGQ4N2VhNTk4MDRh
YzMuLjQ1YjNmOGU4M2Y0OGQwOGRjZjU1YmI0OTg1ZWJmN2RkZDA5ZWZmMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIENocm9tZTo6Y29udGVudHNTaXpl
Q2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiAgICAgbV9j
bGllbnQuY29udGVudHNTaXplQ2hhbmdlZChmcmFtZSwgc2l6ZSk7CiB9CiAKLXZvaWQgQ2hyb21l
OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3ZvaWQgQ2hy
b21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKIHsKLSAgICBtX2NsaWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGll
bnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJlY3QpOwogfQogCiB2b2lkIENocm9tZTo6
c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aAppbmRleCAxNWE0OTFiODRjMjA2ZGQ4YjUxYWRjNmVlMWRiNjg4OGI3ZjQzZTc4Li40NjZiM2U5
OGQ2MzE0MDg3MmFlMjY2YTczZmU4M2Y5ZjBhMGE4M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAg
LTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXpl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVj
dCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNv
bnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
YTg5NjhjOTQ0ZTRhMWFiYWNjOGMyZmQwM2I5NzFmZDNiM2Y4ZTcyYy4uMTIxNjNlMGIzZGE4MTM3
OTY0Yjc2ZTAxMmEyYTUwMmRmNTk3MTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0yMjgsNyArMjI4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmKSBjb25z
dCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0
JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxl
bWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5v
biBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRk
ZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1
MjRhM2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVz
ZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2Np
YXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAg
IGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29j
aWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxl
bWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJs
ZWQoKSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2Np
YXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xs
QmVoYXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2Qz
Li5lZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xs
QmVoYXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQot
Ym9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0
ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZl
YXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9s
bEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2
M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2
OGU4MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApA
QCAtMjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24g
OiB1aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsK
ICAgICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93
IGFuZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1
cmUgdG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZl
YWwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2
MWMyNjJmMDVlMjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjZiYTc4NTIwODhhYmQ3MDE2
ZjIxY2ViNGJiZTE3MzYxZTNlYTdkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
ICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywg
b3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9z
aXRpb25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFt
bWF0aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRv
c2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25z
LmFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBv
c2l0aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVj
dGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCku
aXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlm
IChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJhbWVW
aWV3Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3JvbGxQ
b3NpdGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUxMiwx
MSArMjUxNywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBz
byBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCi0gICAgICAgICAgICAvLyBzY3JvbGwgaXRz
IGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbFJlY3RJbnRvVmlldy4KKyAgICAgICAg
ICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0LgogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qg
b24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAgICAgIC8vIHRoYXQg
cHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNoIGFzIE1hYyBPUyBY
IE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5jdGlvbiBpbiBFdmVu
dEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAgcGFnZSgpLmNocm9t
ZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDBkZGNmZWVlMDYwM2RjOTVhYmQ3
MDNjZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3NTBjYWZkY2M4N2FjMzgxYjQ1ZTliZTRk
NGU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xNDEsNyAr
MTQxLDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zIHsKICAgICBjb25zdCBT
Y3JvbGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5l
ZWRlZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgc2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Ok5v
IH07CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IgeyBTY3JvbGxCZWhhdmlvcjo6QXV0byB9
OwotICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJs
ZW1lbnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCB9OwogfTsKIAog
dXNpbmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKaW5kZXggMjBlODhkMzgxNDBiOWU5
ZjJkM2JkYTQxN2QwN2EwY2UyNjQ1ZTU5OC4uMmE4OTVkOGUyZTFmMGQ0ZGU4OTBlMzJkYjc4Mzlh
MjA5YzI4MGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKQEAgLTk3LDYgKzk3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGNvbnN0IFdlYkNvcmU6
OkluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogV2ViQ29yZTo6RmxvYXRQb2ludCBQYWdl
Q2xpZW50SW1wbDo6dmlld1Njcm9sbFBvc2l0aW9uKCkKIHsKICAgICByZXR1cm4geyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4
IDU2ZjU5NGZhYTZiNjQ5Y2FiZDI5ODc1NGQ3ZGEyZjI1OGJmMzcwZDcuLjIyODNjZTRmMWI0ZDFm
NTVmYTE0ZDRjNGMzZWU4ZmM4ODRjMDY5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQ
cm94eShXZWJQcm9jZXNzUHJveHkmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFZpZXdOZWVkc0Rp
c3BsYXkoY29uc3QgV2ViQ29yZTo6UmVnaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXF1ZXN0
U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2luKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcXVl
c3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZpZXdT
Y3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUo
KSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpp
bmRleCA5YjAxZjQwMjI3MTUyMTAyZTQ3ZTZjYzI1ZGJkYjI2MWQxNzdiZjliLi40YTg3ZTBhODc4
YTMwNjRmMzZkNDc4MmFhYWE1MzVlZGY4MTVlOTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNzA3LDYgKzcwNywxNiBA
QCBOU0RpY3Rpb25hcnkgKldlYlBhZ2VQcm94eTo6Y29udGVudHNPZlVzZXJJbnRlcmZhY2VJdGVt
KE5TU3RyaW5nICp1c2VySW50ZXJmYWNlSQogICAgIHJldHVybiBuaWw7CiB9CiAKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9h
dFBvaW50IG9yaWdpbikKK3sKKyAgICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0
YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0
KEZsb2F0UmVjdCB0YXJnZXRSZWN0LCBGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBwcm9jZXNz
KCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdp
biksIDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hF
Q0tfQ09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
LmgKaW5kZXggODJlMzgyODAzN2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2
MDdhODY5OGYyYjJkYzgwYTU1NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgog
ICAgIHZvaWQgZ2VzdHVyZUV2ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShO
U0V2ZW50ICopOwogCiAgICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAK
KyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0
UG9pbnQpOwogCiAgICAgdm9pZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFs
SGVpZ2h0T2ZCYW5uZXJzKSB7IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9m
QmFubmVyczsgfQogICAgIENHRmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJl
dHVybiBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYz
ODdmYzY0ZGE2Y2MuLjZkZGJjZTIwM2I3MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcw
LDYgKzI1NzAsMTEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lT
dGF0ZSgpCiAKICNlbmRpZiAvLyBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdf
QURBUFRFUikKIAordm9pZCBXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3Bh
Z2UtPnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZp
ZXdJbXBsOjpoaXRUZXN0KENHUG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0g
W21fdmlldyBfd2ViX3N1cGVySGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2
OGYzNmM1MDVjYzY4ODk2NzQ1Li4wNDk3OWY5ZGExMWQxMmViMTMzNmIxNWJiYmNkMWI3M2M4ZDVk
NGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcg
QEAgcHVibGljOgogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQg
c3RvcmVBcHBIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2Vu
ZGlmCisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRS
ZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSB7IH0KIAogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVS
ZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggZDFhNWZjMzhlYTdjOTVmZWE2MzRkODVjZDliZDE3MGRhNjVi
MTlmOC4uYTYyZmQwODU4ZDE5ODczMzU3M2ViZDZlZDk5MGM3YjhkZjIyMDAyNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTkwMywxMSArOTAzLDE0IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShzdGQ6Om9wdGlvbmFsPElucHV0TWV0
aG9kU3RhdGU+JiYpOwogI2VuZGlmCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRv
UmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBv
cmlnaW4pOworICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRS
ZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UmVjdCYgdmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgYWNjZXNzaWJpbGl0eVZpZXdDb29yZGluYXRlcyk7CiAgICAgdm9pZCBzZXRNYWluRnJh
bWVJc1Njcm9sbGFibGUoYm9vbCk7Ci0KKyAgICAgICAgCiAgICAgdm9pZCBzZW5kQ29tcGxleFRl
eHRJbnB1dFRvUGx1Z2luKHVpbnQ2NF90IHBsdWdpbkNvbXBsZXhUZXh0SW5wdXRJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHRleHRJbnB1dCk7CiAgICAgYm9vbCBzaG91bGREZWxheVdpbmRvd09y
ZGVyaW5nRm9yRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYpOwogICAgIGJvb2wgYWNjZXB0c0Zp
cnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBXZWJNb3VzZUV2ZW50Jik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZGI1
YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2ZDk2ZS4uMDJkOGZkOWZiMjIwNmM4MzMx
YjVjZDBkODZkNjE2YzBjODk5N2U5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTEwLDYgKzUxMCw4IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogICAgIERpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigp
CisgICAgCisgICAgUmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0
UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCiAKICAgICBHZXRMb2FkRGVjaXNpb25G
b3JJY29uKHN0cnVjdCBXZWJDb3JlOjpMaW5rSWNvbiBpY29uLCBXZWJLaXQ6OkNhbGxiYWNrSUQg
Y2FsbGJhY2tJRCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAppbmRleCA0NjIwZTc1ZDBhNTU2NTZlODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0
Li5kMDA1NDYzOTg3ZDEwYzU3NzA0ZmYyNGRjMWRhOTExNWQ1NjAyNDBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjE0LDcgKzIx
NCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsVmlld0RpZFNjcm9s
bCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFdpbGxTdGFydFNjcm9s
bCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbERpZEVuZFNjcm9sbCgp
IG92ZXJyaWRlOwotCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChXZWJD
b3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pIG92
ZXJyaWRlOwogICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFCTEUoRlVM
TFNDUkVFTl9BUEkpCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgZnVsbFNj
cmVlbk1hbmFnZXJQcm94eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4MWZlM2E1MTRm
N2Q4NzJiMzE4NTc0OGQ4Yzc2MTdlYzMuLjczMDRkN2ZiODQ2NzQ2MTljYzhhNmRhOGY0ODdhYzBi
ZTg0Mjg4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0KQEAgLTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xvciBQYWdlQ2xp
ZW50SW1wbDo6Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBbbV9jb250
ZW50VmlldyBiYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudElt
cGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoRmxvYXRSZWN0IHRhcmdldFJlY3QsIEZsb2F0UG9pbnQg
b3JpZ2luKQoreworICAgIFttX2NvbnRlbnRWaWV3IF9zY3JvbGxUb1JlY3Q6dGFyZ2V0UmVjdCB3
aXRoT3JpZ2luOm9yaWdpbiBtaW5pbXVtU2Nyb2xsRGlzdGFuY2U6MF07Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggNmM1YzRl
MzljNjE0ODNkYWU5MGU2OTJjYzc4NjY5ZGFiNzQ5ZTVkYS4uZTdkYzVhYzljNWQ0MmJlMWE1YTI5
ZDc3MzA0MTljNDA3YTliYzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwcml2YXRlOgogI2lmIEVO
QUJMRShEQVRBX0RFVEVDVElPTikKICAgICB2b2lkIGhhbmRsZUNsaWNrRm9yRGF0YURldGVjdGlv
blJlc3VsdChjb25zdCBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JFbGVtZW50SW5mbyYsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JikgZmluYWw7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1
ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpG
bG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmlldzsKICAgICBX
ZWFrUHRyPFdlYlZpZXdJbXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5OTkyOTRmODE1
YzdjMWY2N2IzOGZkM2MyYy4uN2Y4MjFkMzJlN2M2YTNkOThlNjViZmEwZjU4NDgyYmNmZTcwNmNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1h
Yy5tbQpAQCAtOTcyLDYgKzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZXN0b3Jl
U2Nyb2xsUG9zaXRpb24oKQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7
CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6
RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQoreworICAg
IC8vIEZJWE1FOiBBZGQgYWRkaXRpb25hbCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4KKyAgICBt
X2ltcGwtPnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29sIFBhZ2VD
bGllbnRJbXBsOjp3aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJN
b3VzZUV2ZW50JiBldmVudCkKIHsKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2lu
ZG93VW5kZXJNb3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
aW5kZXggODlmMDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZC4uODY2NDA4YWUx
MDE3NWU4YjM2YmQ1ODZmMDU4Zjg1NjcxZDJhOGJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
QEAgLTY1NSw5ICs2NTUsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hh
bmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbgogICAgIH0KIH0KIAot
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0Jikg
Y29uc3QKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RTY3JvbGxUb1JlY3Qo
cmVjdCwgcmVjdC5jZW50ZXIoKSkpOwogfQogCiBib29sIFdlYkNocm9tZUNsaWVudDo6c2hvdWxk
VW5hdmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oUmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBs
dWdpblVuYXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGViNWM5ZTg4ODcwOTZkNzk2MWIwZGJlMzUwM2Y5Yjg0
NjI2YWY3MzMuLjc1YzM2OWE5ZjI4YWY1MmIwOWE0ZjZmZDE4YzUyODQ0ZTM2ZDBmMmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKQEAgLTEzMyw3ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIFBsYXRmb3Jt
UGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNv
bnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHNjcm9sbFJlY3RJ
bnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8vIEN1cnJlbnRs
eSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgdm9pZCBzY3Jv
bGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZp
bmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0aW9u
LgogCiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihXZWJD
b3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNv
bnN0IGZpbmFsOwogICAgIHZvaWQgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkKFdlYkNv
cmU6OkVsZW1lbnQmLCBXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFp
bGFiaWxpdHlSZWFzb24pIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCmluZGV4IDQ0OTA3NTVmZmY3
NjhkNDEwYjUzNTdmYzYxMDIyMjZlZjdlYjU2ZWUuLmQ0ZDU0Y2UyMTgyNDJkYzE0ZWQ2ZTlmZWNi
OTY1M2U1MWQ2Njc2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KQEAgLTQ2MSw2ICs0NjEsMTMgQEAgdm9pZCBX
ZWJQYWdlOjpoYW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1bHQoY29uc3QgRGF0YURldGVj
dG9yRWxlbWVudEluZm8mIGkKIAogI2VuZGlmCiAKKwordm9pZCBXZWJQYWdlOjpzY3JvbGxUb1Jl
Y3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3Jp
Z2luKQoreworICAgIG1haW5GcmFtZVZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQo
dGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7Cit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzMzc3YTlkM2MzYTc1Y2NjMzRjNWQyYmExODk4MTli
NTg1NDMxZmJhLi5kMTdjMzAzNTlhNjJjMjI0ZDI2NmQ2ZDY4ZWYzYWZkMTRlZTExYThjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMTMzLDYgKzEx
MzMsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVy
KCkgY29uc3QgeyByZXR1cm4gbV9hbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcjsgfTsKICAg
ICBib29sIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWx3
YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyOyB9OworICAgIAorICAgIHZvaWQgc2Nyb2xsVG9SZWN0
KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdp
bik7CiAKICAgICB2b2lkIHNldE1pbmltdW1TaXplRm9yQXV0b0xheW91dChjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJik7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtaW5pbXVtU2l6ZUZvckF1dG9MYXlv
dXQoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1TaXplRm9yQXV0b0xheW91dDsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4K
aW5kZXggMWNlZGE3YTdiY2FiMmQ4MGFlNGMyNjliMGZjMGU3ZWRiMzE1MWRkNS4uMmMzNDk4MzQz
ZmNmYzc2YWEwMmMwN2QwZGEyMjNkYTczYzdmMjhmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC02NDQsNiArNjQ0
LDggQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0
OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBVcGRhdGVXaXRoVGV4dFJlY29nbml0
aW9uUmVzdWx0KHN0cnVjdCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQgcmVzdWx0LCBz
dHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudCwgV2ViQ29yZTo6RmxvYXRQb2lu
dCBsb2NhdGlvbikgLT4gKGVudW06dWludDhfdCBXZWJLaXQ6OlRleHRSZWNvZ25pdGlvblVwZGF0
ZVJlc3VsdCByZXN1bHQpIEFzeW5jCiAjZW5kaWYKIAorICAgIFNjcm9sbFRvUmVjdChXZWJDb3Jl
OjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCisKICNp
ZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnRQcmV2aWV3
RGlkT2J0YWluQ29udGV4dElkKHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50
Q29udGV4dCwgU3RyaW5nIHV1aWQsIHVpbnQzMl90IGNvbnRleHRJZCkKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggZTdjMmY3ZjI5NjBjNzM5ZDBmMDAxNDdh
MzlkYzEzNTk1Y2RiMTlhZS4uMGUyYzZlMmFiNjQ4YzZkNTkyYWE4MzFhMjA5ZGYyZGY3ZWNmYzVm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC01NDQsNiArNTQ0LDEw
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25zdW1lQXVkaW9Db21wb25lbnRSZWdpc3RyYXRpb25z
KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogI2VuZGlmCiAgICAgCisjaWYgUExBVEZPUk0o
Q09DT0EpCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJl
Y3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKKyNlbmRpZgorICAgIAogICAgIHZvaWQg
cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyhjb25zdCBBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJik7CiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCA0NGY0MDRmZGY1Yjg5MjQyOTIyNTM0YjgxYWIzNzIyYzExMTcxYjFl
Li4yNWNmNjg2YzQyYzU2ZTQ5YTY0ZTZmMzU1ZmZiNmE3ZTAwZTEwYTQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaApAQCAtMTEyLDcgKzExMiw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50
IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXpl
Q2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBm
aW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsIHsgfQotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7
CiAKICAgICB2b2lkIHNldFN0YXR1c2JhclRleHQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5tbQppbmRleCBiNmMxOTA5MWJmZmEzODk2Mjk5NDhiYTA1ZDc3ZGMyNGE0
MmVmOWZmLi4xNjM2NzIxYzU2Y2U4NDVmMDNiMGU3NjZlZGYwZmI4N2RlYzM5YThkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lm1tCkBAIC02MDYsNyArNjA2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNv
bnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QKIHsKIH0KIAot
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JiBy
KSBjb25zdAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVj
dChjb25zdCBJbnRSZWN0JiByKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBUaGlzIHNjcm9sbGlu
ZyBiZWhhdmlvciBzaG91bGQgYmUgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIGVtYmVkZGluZyBj
bGllbnQsCiAgICAgLy8gcGVyaGFwcyBpbiBhIGRlbGVnYXRlIG1ldGhvZCwgcmF0aGVyIHRoYW4g
c29tZXRoaW5nIFdlYktpdCBkb2VzIHVuY29uZGl0aW9uYWxseS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5k
ZXggMDk5YWU5YzcwOWQxNTdlYTBhYTkwZjYyYzhiYmU0ZTBlODMyNDczNC4uODc5YTIxMWM0NDFk
YTJjZGUzZWNlNjM5MzJjMDM2ZWJlOTE0OTZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE0NCw3
ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NEZXZpY2VBZGFwdGVyKiBn
cmFwaGljc0RldmljZUFkYXB0ZXIoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0gICAgdm9pZCBz
Y3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsg
fQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1
cHBvcnRzVmlkZW9GdWxsc2NyZWVuKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6Vmlk
ZW9GdWxsc2NyZWVuTW9kZSkgZmluYWw7Cg==
</data>
<flag name="commit-queue"
          id="455818"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433536</attachid>
            <date>2021-07-14 16:11:26 -0700</date>
            <delta_ts>2021-07-14 16:32:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714161125.patch</filename>
            <type>text/plain</type>
            <size>41514</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uODJjNjcyOTRiY2JjYTlhMTM0ZDNlMzhlYjZmY2Rh
ZmUwN2IwMWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2Vy
dmVyIG1lbW9yeSBsZWFrIG9uIGRldGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBkYWY5OTZhOGExZjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi5hYTdm
ZGY2MjNkYjdiN2MwMjc4ODJhZTk4ZDkzYTk1MDRhZGE3N2E2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFBy
b2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3Jy
ZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJl
IHRoZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhy
b3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBh
bmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVh
bCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3Qg
dXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0
IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUg
d2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAg
IGluZm9ybWF0aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xp
ZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxs
b3cgdGhlIFVJUHJvY2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9j
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjJiZTRhY2ZlN2Q0ZjVjYmMwZmI4
OGY4MmY2NDliNTcxODEyNWFkMS4uMDg2ZWY0OTE3Y2U2MmQ1NGI0NTk5Y2E4NThhYjFhMzY2NzM1
MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMS0wNi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzkyNjYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUz
MTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQwYTY1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0Nv
bnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
QXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFh
OTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4YTBlODEzNjkxNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGln
aHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0
U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChBcHBIaWdobGlnaHRS
YW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kb2N1bWVu
dC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0
b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ug
c2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVt
cG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlv
bk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0
aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUo
KSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGws
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEz
ZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJjNDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3
NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lk
IEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxib29sLCBTY3Jv
bGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBhbGlnblggOiBhbGln
blksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwKICAgICAgICAgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9wdGlvbnMuYmVoYXZp
b3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJlaGF2aW9yLnZhbHVl
X29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xs
UmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZpc2libGVPcHRpb25z
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYzN2ExNGMyYzg0OTJj
NzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFm
ZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBA
QCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rp
b246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rp
b25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxl
Y3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7CiAgICAgaWYgKG1f
b3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsKQogICAgICAg
ICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsKLSAgICBpZiAobV9v
cHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZl
YXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2RvY3VtZW50LT5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMx
YS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxl
Y3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQs
CiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1
LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsKIAogY2xhc3MgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4u
MWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZy
YW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQb3NpdGlvbiYgYmFz
ZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBU
b01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5G
cmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiArNDM1LDggQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNl
bGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBlbHNlIGlmIChvcHRp
b25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0aW9ucyAmIERlbGVn
YXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAgICBlbHNlCiAgICAg
ICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRvTm90UmV2
ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rp
b24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3
IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZp
ZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhT
bW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJ
bnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJl
aGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAKICAgICBpZiAob3B0
aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byogY2xpZW50ID0gcHJv
dGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlv
bkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7
CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihjb25z
dCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxC
ZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFi
bGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9s
bEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlKQogICAgICAg
ICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9u
U2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BB
bHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAg
cmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBSZXZlYWxF
eHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpOworICAgICAg
ICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVh
bEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlmeUFjY2Vzc2liaWxp
dHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5NSw3IEBAIEhUTUxG
b3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29uc3QKICAgICByZXR1
cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGln
bm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwg
U2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxB
bGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlv
biwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYgKHJldmVhbE1vZGUg
PT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybjsKQEAg
LTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihT
ZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgICAgICBp
ZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAgICAgIGF1dG8qIHNj
cm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKTsKICAgICAg
ICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xs
aW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJl
Y3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxpZ25tZW50LCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2aW9yLCBvdmVycmlk
ZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGln
bm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZp
b3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyAr
MjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWluZXIncyBsYXllciwg
YnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0
aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4K
LSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJl
Y3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBh
bGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVo
YXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRl
cHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5z
aWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkKICAgICAgICAgICAg
IHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIx
MjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAgICAgIFJldmVhbFNl
bGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290aFNjcm9sbCA9IDEg
PDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEg
PDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDEwCiAgICAgfTsK
ICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1
bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNlclRyaWdnZXJlZCk7
CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBIVE1M
Rm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFs
TW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVhbEV4dGVu
dCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVs
dCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25t
ZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50
T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZp
b3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5v
bmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBwcml2YXRlOgotICAg
IHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3Zl
cnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9uKCk7CiAKICAgICBi
b29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJzb3JBbGlnbk9uU2Ny
b2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2
YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZp
bmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIGZp
bmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNv
bnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNz
TGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hW
aWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCmluZGV4IGEwYzA5MzA2Zjk2MjhiMTY0YTkyMjJmMzcxMGQ4N2VhNTk4MDRh
YzMuLjQ1YjNmOGU4M2Y0OGQwOGRjZjU1YmI0OTg1ZWJmN2RkZDA5ZWZmMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIENocm9tZTo6Y29udGVudHNTaXpl
Q2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiAgICAgbV9j
bGllbnQuY29udGVudHNTaXplQ2hhbmdlZChmcmFtZSwgc2l6ZSk7CiB9CiAKLXZvaWQgQ2hyb21l
OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3ZvaWQgQ2hy
b21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKIHsKLSAgICBtX2NsaWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGll
bnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJlY3QpOwogfQogCiB2b2lkIENocm9tZTo6
c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aAppbmRleCAxNWE0OTFiODRjMjA2ZGQ4YjUxYWRjNmVlMWRiNjg4OGI3ZjQzZTc4Li40NjZiM2U5
OGQ2MzE0MDg3MmFlMjY2YTczZmU4M2Y5ZjBhMGE4M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAg
LTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXpl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVj
dCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNv
bnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
YTg5NjhjOTQ0ZTRhMWFiYWNjOGMyZmQwM2I5NzFmZDNiM2Y4ZTcyYy4uMTIxNjNlMGIzZGE4MTM3
OTY0Yjc2ZTAxMmEyYTUwMmRmNTk3MTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0yMjgsNyArMjI4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmKSBjb25z
dCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0
JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxl
bWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5v
biBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRk
ZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1
MjRhM2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVz
ZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2Np
YXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAg
IGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29j
aWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxl
bWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJs
ZWQoKSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2Np
YXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xs
QmVoYXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2Qz
Li5lZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xs
QmVoYXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQot
Ym9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0
ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZl
YXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9s
bEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2
M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2
OGU4MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApA
QCAtMjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24g
OiB1aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsK
ICAgICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93
IGFuZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1
cmUgdG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZl
YWwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2
MWMyNjJmMDVlMjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjZiYTc4NTIwODhhYmQ3MDE2
ZjIxY2ViNGJiZTE3MzYxZTNlYTdkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
ICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywg
b3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9z
aXRpb25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFt
bWF0aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRv
c2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25z
LmFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBv
c2l0aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVj
dGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCku
aXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlm
IChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJhbWVW
aWV3Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3JvbGxQ
b3NpdGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUxMiwx
MSArMjUxNywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBz
byBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCi0gICAgICAgICAgICAvLyBzY3JvbGwgaXRz
IGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbFJlY3RJbnRvVmlldy4KKyAgICAgICAg
ICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0LgogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qg
b24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAgICAgIC8vIHRoYXQg
cHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNoIGFzIE1hYyBPUyBY
IE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5jdGlvbiBpbiBFdmVu
dEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAgcGFnZSgpLmNocm9t
ZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDBkZGNmZWVlMDYwM2RjOTVhYmQ3
MDNjZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3NTBjYWZkY2M4N2FjMzgxYjQ1ZTliZTRk
NGU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xNDEsNyAr
MTQxLDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zIHsKICAgICBjb25zdCBT
Y3JvbGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5l
ZWRlZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgc2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Ok5v
IH07CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IgeyBTY3JvbGxCZWhhdmlvcjo6QXV0byB9
OwotICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJs
ZW1lbnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCB9OwogfTsKIAog
dXNpbmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKaW5kZXggMjBlODhkMzgxNDBiOWU5
ZjJkM2JkYTQxN2QwN2EwY2UyNjQ1ZTU5OC4uMmE4OTVkOGUyZTFmMGQ0ZGU4OTBlMzJkYjc4Mzlh
MjA5YzI4MGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKQEAgLTk3LDYgKzk3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGNvbnN0IFdlYkNvcmU6
OkluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogV2ViQ29yZTo6RmxvYXRQb2ludCBQYWdl
Q2xpZW50SW1wbDo6dmlld1Njcm9sbFBvc2l0aW9uKCkKIHsKICAgICByZXR1cm4geyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4
IDU2ZjU5NGZhYTZiNjQ5Y2FiZDI5ODc1NGQ3ZGEyZjI1OGJmMzcwZDcuLjIyODNjZTRmMWI0ZDFm
NTVmYTE0ZDRjNGMzZWU4ZmM4ODRjMDY5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQ
cm94eShXZWJQcm9jZXNzUHJveHkmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFZpZXdOZWVkc0Rp
c3BsYXkoY29uc3QgV2ViQ29yZTo6UmVnaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXF1ZXN0
U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2luKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcXVl
c3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZpZXdT
Y3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUo
KSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggODJlMzgyODAz
N2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2MDdhODY5OGYyYjJkYzgwYTU1
NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVyZUV2
ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2ZW50ICopOwogCiAgICAg
dm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAgICB2b2lkIHNjcm9sbFRv
UmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQpOwogCiAgICAgdm9p
ZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKSB7
IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9mQmFubmVyczsgfQogICAgIENH
RmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsSGVpZ2h0
T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYzODdmYzY0ZGE2Y2MuLjZkZGJj
ZTIwM2I3MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcwLDYgKzI1NzAsMTEgQEAgdm9p
ZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lTdGF0ZSgpCiAKICNlbmRpZiAv
LyBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIAordm9pZCBX
ZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3BhZ2UtPnNjcm9sbFRvUmVjdCh0
YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZpZXdJbXBsOjpoaXRUZXN0KENH
UG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0gW21fdmlldyBfd2ViX3N1cGVy
SGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2OGYzNmM1MDVjYzY4ODk2NzQ1
Li4wNDk3OWY5ZGExMWQxMmViMTMzNmIxNWJiYmNkMWI3M2M4ZDVkNGU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcgQEAgcHVibGljOgogI2lmIEVO
QUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVBcHBIaWdobGlnaHQo
Y29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2VuZGlmCisgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdl
YkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSB7IH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVSZWNvZ25pemVyKFVJR2VzdHVy
ZVJlY29nbml6ZXIqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDU5YjBlODQwYmRlODg3ZmE5YWVhNzk0MGQ4MTAyYWQxZGUzYjNiY2QuLjQ5OGZlNGEy
YTQ0NTkzYmZkNjEyNTQxOGMyOGYyYjc0ZmU4NjhmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA3MzUsNiArMTA3MzUsMTYgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yKFJlZjxNZWRpYVNlc3Npb25Db29y
ZGluYXRvclByb3gKIH0KICNlbmRpZgogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9s
bFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAg
cGFnZUNsaWVudCgpLnJlcXVlc3RTY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30K
Kwordm9pZCBXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwg
RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pLCAwKTsKK30KKwogI2lmIFBMQVRG
T1JNKENPQ09BKQogdm9pZCBXZWJQYWdlUHJveHk6OmFwcFByaXZhY3lSZXBvcnRUZXN0aW5nRGF0
YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEFwcFByaXZhY3lSZXBvcnRUZXN0aW5nRGF0
YSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCBkMWE1ZmMzOGVhN2M5NWZlYTYzNGQ4NWNkOWJkMTcwZGE2NWIxOWY4Li5h
NjJmZDA4NThkMTk4NzMzNTczZWJkNmVkOTkwYzdiOGRmMjIwMDI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTAzLDExICs5MDMsMTQgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKHN0ZDo6b3B0aW9uYWw8SW5wdXRNZXRob2RTdGF0
ZT4mJik7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdl
YkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7
CisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdl
YkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZv
aWQgd2luZG93QW5kVmlld0ZyYW1lc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2
aWV3RnJhbWVJbldpbmRvd0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBh
Y2Nlc3NpYmlsaXR5Vmlld0Nvb3JkaW5hdGVzKTsKICAgICB2b2lkIHNldE1haW5GcmFtZUlzU2Ny
b2xsYWJsZShib29sKTsKLQorICAgICAgICAKICAgICB2b2lkIHNlbmRDb21wbGV4VGV4dElucHV0
VG9QbHVnaW4odWludDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdGV4dElucHV0KTsKICAgICBib29sIHNob3VsZERlbGF5V2luZG93T3JkZXJpbmdG
b3JFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50Jik7CiAgICAgYm9vbCBhY2NlcHRzRmlyc3RNb3Vz
ZShpbnQgZXZlbnROdW1iZXIsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkYjViNTZlZjIz
NTIwOWVhMTczOTQ2OWE5MTE2MTQwZTI5NzZkOTZlLi4wMmQ4ZmQ5ZmIyMjA2YzgzMzFiNWNkMGQ4
NmQ2MTZjMGM4OTk3ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01MTAsNiArNTEwLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICNlbmRpZgogCiAgICAgRGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAK
KyAgICBSZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKIAogICAgIEdldExvYWREZWNpc2lvbkZvckljb24o
c3RydWN0IFdlYkNvcmU6OkxpbmtJY29uIGljb24sIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oCmluZGV4IDQ2MjBlNzVkMGE1NTY1NmU4MjIzYmM3MDZkMzI1YmIwODcxMGUwODQuLmQwMDU0
NjM5ODdkMTBjNTc3MDRmZjI0ZGMxZGE5MTE1ZDU2MDI0MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0yMTQsNyArMjE0LDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxWaWV3RGlkU2Nyb2xsKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsV2lsbFN0YXJ0U2Nyb2xsKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsRGlkRW5kU2Nyb2xsKCkgb3ZlcnJp
ZGU7Ci0KKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZs
b2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7
CiAgICAgLy8gQXV4aWxpYXJ5IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkKICAgICBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50JiBmdWxsU2NyZWVuTWFu
YWdlclByb3h5Q2xpZW50KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIz
MTg1NzQ4ZDhjNzYxN2VjMy4uNzMwNGQ3ZmI4NDY3NDYxOWNjOGE2ZGE4ZjQ4N2FjMGJlODQyODgy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQpAQCAtMTAyMyw2ICsxMDIzLDExIEBAIFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBs
Ojpjb250ZW50Vmlld0JhY2tncm91bmRDb2xvcigpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3
IGJhY2tncm91bmRDb2xvcl0uQ0dDb2xvcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4p
Cit7CisgICAgW21fY29udGVudFZpZXcgX3Njcm9sbFRvUmVjdDp0YXJnZXRSZWN0IHdpdGhPcmln
aW46b3JpZ2luIG1pbmltdW1TY3JvbGxEaXN0YW5jZTowXTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCA2YzVjNGUzOWM2MTQ4
M2RhZTkwZTY5MmNjNzg2NjlkYWI3NDllNWRhLi5lN2RjNWFjOWM1ZDQyYmUxYTVhMjlkNzczMDQx
OWM0MDdhOWJjMzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGxNYWMuaApAQCAtMjkwLDYgKzI5MCw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERB
VEFfREVURUNUSU9OKQogICAgIHZvaWQgaGFuZGxlQ2xpY2tGb3JEYXRhRGV0ZWN0aW9uUmVzdWx0
KGNvbnN0IFdlYkNvcmU6OkRhdGFEZXRlY3RvckVsZW1lbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmKSBmaW5hbDsKICNlbmRpZgorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3Jv
bGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9p
bnQgb3JpZ2luKSBvdmVycmlkZTsKIAogICAgIE5TVmlldyAqbV92aWV3OwogICAgIFdlYWtQdHI8
V2ViVmlld0ltcGw+IG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCA4Yjc0YjQ1NDVkODk3YTk5OTI5NGY4MTVjN2MxZjY3
YjM4ZmQzYzJjLi43ZjgyMWQzMmU3YzZhM2Q5OGU2NWJmYTBmNTg0ODJiY2ZlNzA2Y2YzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBA
IC05NzIsNiArOTcyLDEyIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlc3RvcmVTY3JvbGxQ
b3NpdGlvbigpCiAgICAgbV9pbXBsLT5kaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKIH0KIAor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJl
Y3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgLy8gRklY
TUU6IEFkZCBhZGRpdGlvbmFsIGxvZ2ljIHRvIGF2b2lkIE5vdGUgUGlwLgorICAgIG1faW1wbC0+
c2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisKIGJvb2wgUGFnZUNsaWVudElt
cGw6OndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZl
bnQmIGV2ZW50KQogewogICAgIHJldHVybiBtX2ltcGwtPndpbmRvd0lzRnJvbnRXaW5kb3dVbmRl
ck1vdXNlKGV2ZW50Lm5hdGl2ZUV2ZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA4
OWYwNWQ1Y2M3MDY0YWNlZTQ1Y2YwOWE1MzAxNDNiNWUzYTJmZTFkLi44NjY0MDhhZTEwMTc1ZThi
MzZiZDU4NmYwNThmODU2NzFkMmE4YmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNjU1
LDkgKzY1NSw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZy
YW1lJiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29uCiAgICAgfQogfQogCi12b2lkIFdl
YkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdAor
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJ
bnRSZWN0JiByZWN0KSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9wYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFNjcm9sbFRvUmVjdChyZWN0LCBy
ZWN0LmNlbnRlcigpKSk7CiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggZWI1YzllODg4NzA5NmQ3OTYxYjBkYmUzNTAzZjliODQ2MjZhZjcz
My4uNzVjMzY5YTlmMjhhZjUyYjA5YTRmNmZkMThjNTI4NDRlMzZkMGYyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xp
ZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNT
aXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25z
dCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkg
TWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIHNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8v
IEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAg
ICBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6OlJl
bmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmlu
YWw7CiAgICAgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6RWxl
bWVudCYsIFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0
eVJlYXNvbikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KaW5kZXggNDQ5MDc1NWZmZjc2OGQ0MTBi
NTM1N2ZjNjEwMjIyNmVmN2ViNTZlZS4uZDRkNTRjZTIxODI0MmRjMTRlZDZlOWZlY2I5NjUzZTUx
ZDY2NzZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29j
b2EvV2ViUGFnZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L0NvY29hL1dlYlBhZ2VDb2NvYS5tbQpAQCAtNDYxLDYgKzQ2MSwxMyBAQCB2b2lkIFdlYlBhZ2U6
OmhhbmRsZUNsaWNrRm9yRGF0YURldGVjdGlvblJlc3VsdChjb25zdCBEYXRhRGV0ZWN0b3JFbGVt
ZW50SW5mbyYgaQogCiAjZW5kaWYKIAorCit2b2lkIFdlYlBhZ2U6OnNjcm9sbFRvUmVjdChXZWJD
b3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7
CisgICAgbWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRS
ZWN0Lm1pblhNaW5ZQ29ybmVyKCkpKTsKK30KKworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCmluZGV4IDMzNzdhOWQzYzNhNzVjY2MzNGM1ZDJiYTE4OTgxOWI1ODU0MzFm
YmEuLmQxN2MzMDM1OWE2MmMyMjRkMjY2ZDZkNjhlZjNhZmQxNGVlMTFhOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTExMzMsNiArMTEzMyw4IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoKSBjb25z
dCB7IHJldHVybiBtX2Fsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyOyB9OwogICAgIGJvb2wg
YWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9hbHdheXNTaG93
c1ZlcnRpY2FsU2Nyb2xsZXI7IH07CisgICAgCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29y
ZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKIAog
ICAgIHZvaWQgc2V0TWluaW11bVNpemVGb3JBdXRvTGF5b3V0KGNvbnN0IFdlYkNvcmU6OkludFNp
emUmKTsKICAgICBXZWJDb3JlOjpJbnRTaXplIG1pbmltdW1TaXplRm9yQXV0b0xheW91dCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bVNpemVGb3JBdXRvTGF5b3V0OyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAx
Y2VkYTdhN2JjYWIyZDgwYWU0YzI2OWIwZmMwZTdlZGIzMTUxZGQ1Li4yYzM0OTgzNDNmY2ZjNzZh
YTAyYzA3ZDBkYTIyM2RhNzNjN2YyOGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTY0NCw2ICs2NDQsOCBAQCBH
ZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRo
ZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAgIFVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1
bHQoc3RydWN0IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCByZXN1bHQsIHN0cnVjdCBX
ZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50LCBXZWJDb3JlOjpGbG9hdFBvaW50IGxvY2F0
aW9uKSAtPiAoZW51bTp1aW50OF90IFdlYktpdDo6VGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0
IHJlc3VsdCkgQXN5bmMKICNlbmRpZgogCisgICAgU2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0
UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKKwogI2lmIEhBVkUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRh
aW5Db250ZXh0SWQoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0
LCBTdHJpbmcgdXVpZCwgdWludDMyX3QgY29udGV4dElkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBlN2MyZjdmMjk2MGM3MzlkMGYwMDE0N2EzOWRjMTM1
OTVjZGIxOWFlLi4wZTJjNmUyYWI2NDhjNmQ1OTJhYTgzMWEyMDlkZjJkZjdlY2ZjNWY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTU0NCw2ICs1NDQsMTAgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGNvbnN1bWVBdWRpb0NvbXBvbmVudFJlZ2lzdHJhdGlvbnMoY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJik7CiAjZW5kaWYKICAgICAKKyNpZiBQTEFURk9STShDT0NPQSkK
KyAgICB2b2lkIHNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2Vi
Q29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOworI2VuZGlmCisgICAgCiAgICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemVQcm9jZXNzKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmKTsKIAogICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCmluZGV4IDQ0ZjQwNGZkZjViODkyNDI5MjI1MzRiODFhYjM3MjJjMTExNzFiMWUuLjI1Y2Y2
ODZjNDJjNTZlNDlhNjRlNmYzNTVmZmI2YTdlMDBlMTBhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC0xMTIsNyArMTEyLDcgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZv
cm1QYWdlQ2xpZW50KCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2Vk
KFdlYkNvcmU6OkZyYW1lJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwog
ICAgIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRT
aXplJikgY29uc3QgZmluYWwgeyB9Ci0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKIAogICAg
IHZvaWQgc2V0U3RhdHVzYmFyVGV4dChjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lm1tCmluZGV4IGI2YzE5MDkxYmZmYTM4OTYyOTk0OGJhMDVkNzdkYzI0YTQyZWY5ZmYu
LjE2MzY3MjFjNTZjZTg0NWYwM2IwZTc2NmVkZjBmYjg3ZGVjMzlhOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KQEAgLTYwNiw3ICs2MDYsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNT
aXplQ2hhbmdlZChGcmFtZSYsIGNvbnN0IEludFNpemUmKSBjb25zdAogewogfQogCi12b2lkIFdl
YkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmIHIpIGNvbnN0
Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IEludFJlY3QmIHIpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFRoaXMgc2Nyb2xsaW5nIGJlaGF2
aW9yIHNob3VsZCBiZSB1bmRlciB0aGUgY29udHJvbCBvZiB0aGUgZW1iZWRkaW5nIGNsaWVudCwK
ICAgICAvLyBwZXJoYXBzIGluIGEgZGVsZWdhdGUgbWV0aG9kLCByYXRoZXIgdGhhbiBzb21ldGhp
bmcgV2ViS2l0IGRvZXMgdW5jb25kaXRpb25hbGx5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAwOTlh
ZTljNzA5ZDE1N2VhMGFhOTBmNjJjOGJiZTRlMGU4MzI0NzM0Li44NzlhMjExYzQ0MWRhMmNkZTNl
Y2U2MzkzMmMwMzZlYmU5MTQ5NmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTQ0LDcgKzE0NCw3
IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpHcmFwaGljc0RldmljZUFkYXB0ZXIqIGdyYXBoaWNz
RGV2aWNlQWRhcHRlcigpIGNvbnN0IGZpbmFsOwogI2VuZGlmCiAKLSAgICB2b2lkIHNjcm9sbFJl
Y3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAg
dm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
IGNvbnN0IGZpbmFsIHsgfQogCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIGJvb2wgc3VwcG9ydHNW
aWRlb0Z1bGxzY3JlZW4oV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlKSBmaW5hbDsK
</data>
<flag name="commit-queue"
          id="455822"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433540</attachid>
            <date>2021-07-14 16:31:04 -0700</date>
            <delta_ts>2021-07-16 09:25:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714163104.patch</filename>
            <type>text/plain</type>
            <size>41474</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uODJjNjcyOTRiY2JjYTlhMTM0ZDNlMzhlYjZmY2Rh
ZmUwN2IwMWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2Vy
dmVyIG1lbW9yeSBsZWFrIG9uIGRldGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBkYWY5OTZhOGExZjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi5hYTdm
ZGY2MjNkYjdiN2MwMjc4ODJhZTk4ZDkzYTk1MDRhZGE3N2E2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFBy
b2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3Jy
ZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJl
IHRoZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhy
b3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBh
bmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVh
bCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3Qg
dXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0
IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUg
d2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAg
IGluZm9ybWF0aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xp
ZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxs
b3cgdGhlIFVJUHJvY2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9j
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjJiZTRhY2ZlN2Q0ZjVjYmMwZmI4
OGY4MmY2NDliNTcxODEyNWFkMS4uMDg2ZWY0OTE3Y2U2MmQ1NGI0NTk5Y2E4NThhYjFhMzY2NzM1
MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMS0wNi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzkyNjYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUz
MTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQwYTY1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0Nv
bnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
QXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFh
OTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4YTBlODEzNjkxNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGln
aHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0
U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChBcHBIaWdobGlnaHRS
YW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kb2N1bWVu
dC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0
b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ug
c2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVt
cG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlv
bk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0
aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUo
KSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGws
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEz
ZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJjNDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3
NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lk
IEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxib29sLCBTY3Jv
bGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBhbGlnblggOiBhbGln
blksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwKICAgICAgICAgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9wdGlvbnMuYmVoYXZp
b3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJlaGF2aW9yLnZhbHVl
X29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xs
UmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZpc2libGVPcHRpb25z
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYzN2ExNGMyYzg0OTJj
NzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFm
ZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBA
QCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rp
b246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rp
b25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxl
Y3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7CiAgICAgaWYgKG1f
b3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsKQogICAgICAg
ICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsKLSAgICBpZiAobV9v
cHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZl
YXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2RvY3VtZW50LT5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMx
YS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxl
Y3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQs
CiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1
LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsKIAogY2xhc3MgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4u
MWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZy
YW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQb3NpdGlvbiYgYmFz
ZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBU
b01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5G
cmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiArNDM1LDggQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNl
bGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBlbHNlIGlmIChvcHRp
b25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0aW9ucyAmIERlbGVn
YXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAgICBlbHNlCiAgICAg
ICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRvTm90UmV2
ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rp
b24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3
IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZp
ZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhT
bW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJ
bnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJl
aGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAKICAgICBpZiAob3B0
aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byogY2xpZW50ID0gcHJv
dGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlv
bkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7
CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihjb25z
dCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxC
ZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFi
bGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9s
bEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlKQogICAgICAg
ICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9u
U2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BB
bHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAg
cmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBSZXZlYWxF
eHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpOworICAgICAg
ICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVh
bEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlmeUFjY2Vzc2liaWxp
dHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5NSw3IEBAIEhUTUxG
b3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29uc3QKICAgICByZXR1
cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGln
bm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwg
U2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxB
bGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlv
biwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYgKHJldmVhbE1vZGUg
PT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybjsKQEAg
LTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihT
ZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgICAgICBp
ZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAgICAgIGF1dG8qIHNj
cm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKTsKICAgICAg
ICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xs
aW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJl
Y3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxpZ25tZW50LCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2aW9yLCBvdmVycmlk
ZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGln
bm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZp
b3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyAr
MjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWluZXIncyBsYXllciwg
YnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0
aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4K
LSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJl
Y3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBh
bGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVo
YXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRl
cHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5z
aWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkKICAgICAgICAgICAg
IHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIx
MjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAgICAgIFJldmVhbFNl
bGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290aFNjcm9sbCA9IDEg
PDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEg
PDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDEwCiAgICAgfTsK
ICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1
bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNlclRyaWdnZXJlZCk7
CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBIVE1M
Rm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFs
TW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVhbEV4dGVu
dCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVs
dCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25t
ZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50
T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZp
b3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5v
bmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBwcml2YXRlOgotICAg
IHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3Zl
cnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9uKCk7CiAKICAgICBi
b29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJzb3JBbGlnbk9uU2Ny
b2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2
YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZp
bmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIGZp
bmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNv
bnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNz
TGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hW
aWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCmluZGV4IGEwYzA5MzA2Zjk2MjhiMTY0YTkyMjJmMzcxMGQ4N2VhNTk4MDRh
YzMuLjQ1YjNmOGU4M2Y0OGQwOGRjZjU1YmI0OTg1ZWJmN2RkZDA5ZWZmMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIENocm9tZTo6Y29udGVudHNTaXpl
Q2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiAgICAgbV9j
bGllbnQuY29udGVudHNTaXplQ2hhbmdlZChmcmFtZSwgc2l6ZSk7CiB9CiAKLXZvaWQgQ2hyb21l
OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3ZvaWQgQ2hy
b21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKIHsKLSAgICBtX2NsaWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGll
bnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJlY3QpOwogfQogCiB2b2lkIENocm9tZTo6
c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aAppbmRleCAxNWE0OTFiODRjMjA2ZGQ4YjUxYWRjNmVlMWRiNjg4OGI3ZjQzZTc4Li40NjZiM2U5
OGQ2MzE0MDg3MmFlMjY2YTczZmU4M2Y5ZjBhMGE4M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAg
LTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXpl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVj
dCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNv
bnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
YTg5NjhjOTQ0ZTRhMWFiYWNjOGMyZmQwM2I5NzFmZDNiM2Y4ZTcyYy4uMTIxNjNlMGIzZGE4MTM3
OTY0Yjc2ZTAxMmEyYTUwMmRmNTk3MTc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0yMjgsNyArMjI4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmKSBjb25z
dCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0
JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxl
bWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsgLy8gQ3VycmVudGx5IG9ubHkgTWFjIGhhcyBhIG5v
biBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRk
ZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1
MjRhM2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVz
ZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2Np
YXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3Jv
bGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAg
IGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5z
Y3JvbGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29j
aWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09
IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxl
bWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJs
ZWQoKSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2Np
YXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xs
QmVoYXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2Qz
Li5lZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xs
QmVoYXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQot
Ym9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0
ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZl
YXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9s
bEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2
M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2
OGU4MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApA
QCAtMjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24g
OiB1aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsK
ICAgICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93
IGFuZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1
cmUgdG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZl
YWwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE2
MWMyNjJmMDVlMjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjZiYTc4NTIwODhhYmQ3MDE2
ZjIxY2ViNGJiZTE3MzYxZTNlYTdkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xs
UmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQK
ICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywg
b3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9z
aXRpb25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFt
bWF0aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCku
YXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhv
cHRpb25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRv
c2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlv
bnMuYmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25z
LmFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBv
c2l0aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0
LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVj
dGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCku
aXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlm
IChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJhbWVW
aWV3Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3JvbGxQ
b3NpdGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUxMiwx
MSArMjUxNywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBz
byBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCi0gICAgICAgICAgICAvLyBzY3JvbGwgaXRz
IGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbFJlY3RJbnRvVmlldy4KKyAgICAgICAg
ICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0LgogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qg
b24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAgICAgIC8vIHRoYXQg
cHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNoIGFzIE1hYyBPUyBY
IE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5jdGlvbiBpbiBFdmVu
dEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAgcGFnZSgpLmNocm9t
ZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsKKyAg
ICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25h
cHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDBkZGNmZWVlMDYwM2RjOTVhYmQ3
MDNjZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3NTBjYWZkY2M4N2FjMzgxYjQ1ZTliZTRk
NGU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xNDEsNyAr
MTQxLDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zIHsKICAgICBjb25zdCBT
Y3JvbGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5l
ZWRlZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgc2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Ok5v
IH07CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IgeyBTY3JvbGxCZWhhdmlvcjo6QXV0byB9
OwotICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJs
ZW1lbnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCB9OwogfTsKIAog
dXNpbmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKaW5kZXggMjBlODhkMzgxNDBiOWU5
ZjJkM2JkYTQxN2QwN2EwY2UyNjQ1ZTU5OC4uMmE4OTVkOGUyZTFmMGQ0ZGU4OTBlMzJkYjc4Mzlh
MjA5YzI4MGNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5jcHAKQEAgLTk3LDYgKzk3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGNvbnN0IFdlYkNvcmU6
OkluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogV2ViQ29yZTo6RmxvYXRQb2ludCBQYWdl
Q2xpZW50SW1wbDo6dmlld1Njcm9sbFBvc2l0aW9uKCkKIHsKICAgICByZXR1cm4geyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4
IDU2ZjU5NGZhYTZiNjQ5Y2FiZDI5ODc1NGQ3ZGEyZjI1OGJmMzcwZDcuLjIyODNjZTRmMWI0ZDFm
NTVmYTE0ZDRjNGMzZWU4ZmM4ODRjMDY5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQ
cm94eShXZWJQcm9jZXNzUHJveHkmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFZpZXdOZWVkc0Rp
c3BsYXkoY29uc3QgV2ViQ29yZTo6UmVnaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXF1ZXN0
U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3JpZ2luKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcXVl
c3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZs
b2F0UG9pbnQgb3JpZ2luKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZpZXdT
Y3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUo
KSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggODJlMzgyODAz
N2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uNTIyOTg2MDdhODY5OGYyYjJkYzgwYTU1
NjRjYjU2ZDVhMmVkOGE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVyZUV2
ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2ZW50ICopOwogCiAgICAg
dm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAgICB2b2lkIHNjcm9sbFRv
UmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQpOwogCiAgICAgdm9p
ZCBzZXRUb3RhbEhlaWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKSB7
IG1fdG90YWxIZWlnaHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9mQmFubmVyczsgfQogICAgIENH
RmxvYXQgdG90YWxIZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsSGVpZ2h0
T2ZCYW5uZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCmluZGV4IDVmYmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYzODdmYzY0ZGE2Y2MuLjZkZGJj
ZTIwM2I3MTg1ZjI0MWY2ZDMwM2Q2MmNkNDNlMjM2ZDRmNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcwLDYgKzI1NzAsMTEgQEAgdm9p
ZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lTdGF0ZSgpCiAKICNlbmRpZiAv
LyBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIAordm9pZCBX
ZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKK3sKKyAgICBtX3BhZ2UtPnNjcm9sbFRvUmVjdCh0
YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZpZXdJbXBsOjpoaXRUZXN0KENH
UG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0gW21fdmlldyBfd2ViX3N1cGVy
SGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2OGYzNmM1MDVjYzY4ODk2NzQ1
Li4wNDk3OWY5ZGExMWQxMmViMTMzNmIxNWJiYmNkMWI3M2M4ZDVkNGU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcgQEAgcHVibGljOgogI2lmIEVO
QUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVBcHBIaWdobGlnaHQo
Y29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2VuZGlmCisgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdl
YkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKSB7IH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
IHZpcnR1YWwgdm9pZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVSZWNvZ25pemVyKFVJR2VzdHVy
ZVJlY29nbml6ZXIqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDU5YjBlODQwYmRlODg3ZmE5YWVhNzk0MGQ4MTAyYWQxZGUzYjNiY2QuLjQ5OGZlNGEy
YTQ0NTkzYmZkNjEyNTQxOGMyOGYyYjc0ZmU4NjhmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA3MzUsNiArMTA3MzUsMTYgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNyZWF0ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yKFJlZjxNZWRpYVNlc3Npb25Db29y
ZGluYXRvclByb3gKIH0KICNlbmRpZgogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9s
bFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAg
cGFnZUNsaWVudCgpLnJlcXVlc3RTY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30K
Kwordm9pZCBXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwg
RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pLCAwKTsKK30KKwogI2lmIFBMQVRG
T1JNKENPQ09BKQogdm9pZCBXZWJQYWdlUHJveHk6OmFwcFByaXZhY3lSZXBvcnRUZXN0aW5nRGF0
YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEFwcFByaXZhY3lSZXBvcnRUZXN0aW5nRGF0
YSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCBkMWE1ZmMzOGVhN2M5NWZlYTYzNGQ4NWNkOWJkMTcwZGE2NWIxOWY4Li5h
NjJmZDA4NThkMTk4NzMzNTczZWJkNmVkOTkwYzdiOGRmMjIwMDI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTAzLDExICs5MDMsMTQgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKHN0ZDo6b3B0aW9uYWw8SW5wdXRNZXRob2RTdGF0
ZT4mJik7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdl
YkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7
CisgICAgdm9pZCBzY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdl
YkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZv
aWQgd2luZG93QW5kVmlld0ZyYW1lc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2
aWV3RnJhbWVJbldpbmRvd0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBh
Y2Nlc3NpYmlsaXR5Vmlld0Nvb3JkaW5hdGVzKTsKICAgICB2b2lkIHNldE1haW5GcmFtZUlzU2Ny
b2xsYWJsZShib29sKTsKLQorICAgICAgICAKICAgICB2b2lkIHNlbmRDb21wbGV4VGV4dElucHV0
VG9QbHVnaW4odWludDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdGV4dElucHV0KTsKICAgICBib29sIHNob3VsZERlbGF5V2luZG93T3JkZXJpbmdG
b3JFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50Jik7CiAgICAgYm9vbCBhY2NlcHRzRmlyc3RNb3Vz
ZShpbnQgZXZlbnROdW1iZXIsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkYjViNTZlZjIz
NTIwOWVhMTczOTQ2OWE5MTE2MTQwZTI5NzZkOTZlLi4wMmQ4ZmQ5ZmIyMjA2YzgzMzFiNWNkMGQ4
NmQ2MTZjMGM4OTk3ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01MTAsNiArNTEwLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICNlbmRpZgogCiAgICAgRGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKKyAgICAK
KyAgICBSZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJnZXRSZWN0LCBX
ZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKIAogICAgIEdldExvYWREZWNpc2lvbkZvckljb24o
c3RydWN0IFdlYkNvcmU6OkxpbmtJY29uIGljb24sIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oCmluZGV4IDQ2MjBlNzVkMGE1NTY1NmU4MjIzYmM3MDZkMzI1YmIwODcxMGUwODQuLmQwMDU0
NjM5ODdkMTBjNTc3MDRmZjI0ZGMxZGE5MTE1ZDU2MDI0MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0yMTQsNyArMjE0LDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxWaWV3RGlkU2Nyb2xsKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsV2lsbFN0YXJ0U2Nyb2xsKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsRGlkRW5kU2Nyb2xsKCkgb3ZlcnJp
ZGU7Ci0KKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZs
b2F0UmVjdCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikgb3ZlcnJpZGU7
CiAgICAgLy8gQXV4aWxpYXJ5IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVO
X0FQSSkKICAgICBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50JiBmdWxsU2NyZWVuTWFu
YWdlclByb3h5Q2xpZW50KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIz
MTg1NzQ4ZDhjNzYxN2VjMy4uNzMwNGQ3ZmI4NDY3NDYxOWNjOGE2ZGE4ZjQ4N2FjMGJlODQyODgy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQpAQCAtMTAyMyw2ICsxMDIzLDExIEBAIFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBs
Ojpjb250ZW50Vmlld0JhY2tncm91bmRDb2xvcigpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3
IGJhY2tncm91bmRDb2xvcl0uQ0dDb2xvcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVx
dWVzdFNjcm9sbFRvUmVjdChGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgRmxvYXRQb2ludCBvcmlnaW4p
Cit7CisgICAgW21fY29udGVudFZpZXcgX3Njcm9sbFRvUmVjdDp0YXJnZXRSZWN0IHdpdGhPcmln
aW46b3JpZ2luIG1pbmltdW1TY3JvbGxEaXN0YW5jZTowXTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCA2YzVjNGUzOWM2MTQ4
M2RhZTkwZTY5MmNjNzg2NjlkYWI3NDllNWRhLi5lN2RjNWFjOWM1ZDQyYmUxYTVhMjlkNzczMDQx
OWM0MDdhOWJjMzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGxNYWMuaApAQCAtMjkwLDYgKzI5MCw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERB
VEFfREVURUNUSU9OKQogICAgIHZvaWQgaGFuZGxlQ2xpY2tGb3JEYXRhRGV0ZWN0aW9uUmVzdWx0
KGNvbnN0IFdlYkNvcmU6OkRhdGFEZXRlY3RvckVsZW1lbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmKSBmaW5hbDsKICNlbmRpZgorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3Jv
bGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9p
bnQgb3JpZ2luKSBvdmVycmlkZTsKIAogICAgIE5TVmlldyAqbV92aWV3OwogICAgIFdlYWtQdHI8
V2ViVmlld0ltcGw+IG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCA4Yjc0YjQ1NDVkODk3YTk5OTI5NGY4MTVjN2MxZjY3
YjM4ZmQzYzJjLi43ZjgyMWQzMmU3YzZhM2Q5OGU2NWJmYTBmNTg0ODJiY2ZlNzA2Y2YzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBA
IC05NzIsNiArOTcyLDEyIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlc3RvcmVTY3JvbGxQ
b3NpdGlvbigpCiAgICAgbV9pbXBsLT5kaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKIH0KIAor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJl
Y3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCit7CisgICAgLy8gRklY
TUU6IEFkZCBhZGRpdGlvbmFsIGxvZ2ljIHRvIGF2b2lkIE5vdGUgUGlwLgorICAgIG1faW1wbC0+
c2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisKIGJvb2wgUGFnZUNsaWVudElt
cGw6OndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZl
bnQmIGV2ZW50KQogewogICAgIHJldHVybiBtX2ltcGwtPndpbmRvd0lzRnJvbnRXaW5kb3dVbmRl
ck1vdXNlKGV2ZW50Lm5hdGl2ZUV2ZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA4
OWYwNWQ1Y2M3MDY0YWNlZTQ1Y2YwOWE1MzAxNDNiNWUzYTJmZTFkLi44NjY0MDhhZTEwMTc1ZThi
MzZiZDU4NmYwNThmODU2NzFkMmE4YmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNjU1
LDkgKzY1NSw5IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZy
YW1lJiBmcmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSkgY29uCiAgICAgfQogfQogCi12b2lkIFdl
YkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmKSBjb25zdAor
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJ
bnRSZWN0JiByZWN0KSBjb25zdAogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9wYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVxdWVzdFNjcm9sbFRvUmVjdChyZWN0LCBy
ZWN0LmNlbnRlcigpKSk7CiB9CiAKIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVbmF2YWls
YWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24gcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggZWI1YzllODg4NzA5NmQ3OTYxYjBkYmUzNTAzZjliODQ2MjZhZjcz
My4uNzVjMzY5YTlmMjhhZjUyYjA5YTRmNmZkMThjNTI4NDRlMzZkMGYyYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xp
ZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNT
aXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25z
dCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkg
TWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIHNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8v
IEN1cnJlbnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCiAKICAg
ICBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6OlJl
bmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3QgZmlu
YWw7CiAgICAgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6RWxl
bWVudCYsIFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0
eVJlYXNvbikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IGU2ZGQyMzFjODA2NjdkNmY5N2M4MTE2YTcxYjRmZjY3YWUwMWRl
NzMuLmFmM2FjYWE5Y2IxZDhmYzYxZTM1NjVhOWZlMWNlZjg2NDYyYTllMTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03NjY4LDYgKzc2Njgs
MTEgQEAgdm9pZCBXZWJQYWdlOjptb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4dElk
KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXgKIH0KICNlbmRpZgogCit2b2lkIFdlYlBhZ2U6
OnNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6Rmxv
YXRQb2ludCBvcmlnaW4pCit7CisgICAgbWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQb3NpdGlv
bihJbnRQb2ludCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkpKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICN1bmRlZiBXRUJQQUdFX1JFTEVBU0VfTE9HCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMzM3N2E5ZDNjM2E3NWNjYzM0YzVk
MmJhMTg5ODE5YjU4NTQzMWZiYS4uZDE3YzMwMzU5YTYyYzIyNGQyNjZkNmQ2OGVmM2FmZDE0ZWUx
MWE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
MTEzMyw2ICsxMTMzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBhbHdheXNTaG93c0hvcml6b250
YWxTY3JvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xs
ZXI7IH07CiAgICAgYm9vbCBhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIoKSBjb25zdCB7IHJl
dHVybiBtX2Fsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcjsgfTsKKyAgICAKKyAgICB2b2lkIHNj
cm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQ
b2ludCBvcmlnaW4pOwogCiAgICAgdm9pZCBzZXRNaW5pbXVtU2l6ZUZvckF1dG9MYXlvdXQoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIFdlYkNvcmU6OkludFNpemUgbWluaW11bVNpemVG
b3JBdXRvTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtU2l6ZUZvckF1dG9MYXlvdXQ7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCmluZGV4IDFjZWRhN2E3YmNhYjJkODBhZTRjMjY5YjBmYzBlN2VkYjMxNTFkZDUu
LjJjMzQ5ODM0M2ZjZmM3NmFhMDJjMDdkMGRhMjIzZGE3M2M3ZjI4ZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAt
NjQ0LDYgKzY0NCw4IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50
OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgVXBkYXRlV2l0aFRl
eHRSZWNvZ25pdGlvblJlc3VsdChzdHJ1Y3QgV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0
IHJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnQsIFdlYkNvcmU6
OkZsb2F0UG9pbnQgbG9jYXRpb24pIC0+IChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpUZXh0UmVjb2du
aXRpb25VcGRhdGVSZXN1bHQgcmVzdWx0KSBBc3luYwogI2VuZGlmCiAKKyAgICBTY3JvbGxUb1Jl
Y3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3Jp
Z2luKQorCiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVt
ZW50UHJldmlld0RpZE9idGFpbkNvbnRleHRJZChzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRl
eHQgZWxlbWVudENvbnRleHQsIFN0cmluZyB1dWlkLCB1aW50MzJfdCBjb250ZXh0SWQpCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IGU3YzJmN2YyOTYwYzcz
OWQwZjAwMTQ3YTM5ZGMxMzU5NWNkYjE5YWUuLjBlMmM2ZTJhYjY0OGM2ZDU5MmFhODMxYTIwOWRm
MmRmN2VjZmM1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtNTQ0
LDYgKzU0NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29uc3VtZUF1ZGlvQ29tcG9uZW50UmVn
aXN0cmF0aW9ucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRpZgogICAgIAorI2lm
IFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgc2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVj
dCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbik7CisjZW5kaWYKKyAgICAK
ICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vz
c0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpD
bGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNDRmNDA0ZmRmNWI4OTI0MjkyMjUzNGI4MWFiMzcy
MmMxMTE3MWIxZS4uMjVjZjY4NmM0MmM1NmU0OWE2NGU2ZjM1NWZmYjZhN2UwMGUxMGE0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKQEAgLTExMiw3ICsxMTIsNyBAQCBwcml2YXRlOgogICAgIFBsYXRmb3Jt
UGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNv
bnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbCB7IH0KLSAgICB2b2lkIHNjcm9sbFJl
Y3RJbnRvVmlldyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CisgICAgdm9p
ZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNv
bnN0IGZpbmFsOwogCiAgICAgdm9pZCBzZXRTdGF0dXNiYXJUZXh0KGNvbnN0IFN0cmluZyYpIG92
ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggYjZjMTkwOTFiZmZhMzg5NjI5OTQ4YmEw
NWQ3N2RjMjRhNDJlZjlmZi4uMTYzNjcyMWM1NmNlODQ1ZjAzYjBlNzY2ZWRmMGZiODdkZWMzOWE4
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtNjA2LDcgKzYwNiw3IEBAIHZvaWQgV2ViQ2hyb21l
Q2xpZW50Ojpjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50U2l6ZSYpIGNvbnN0
CiB7CiB9CiAKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3Qg
SW50UmVjdCYgcikgY29uc3QKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVU
b1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcikgY29uc3QKIHsKICAgICAvLyBGSVhNRTogVGhp
cyBzY3JvbGxpbmcgYmVoYXZpb3Igc2hvdWxkIGJlIHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSBl
bWJlZGRpbmcgY2xpZW50LAogICAgIC8vIHBlcmhhcHMgaW4gYSBkZWxlZ2F0ZSBtZXRob2QsIHJh
dGhlciB0aGFuIHNvbWV0aGluZyBXZWJLaXQgZG9lcyB1bmNvbmRpdGlvbmFsbHkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDA5OWFlOWM3MDlkMTU3ZWEwYWE5MGY2MmM4YmJlNGUwZTgzMjQ3MzQuLjg3
OWEyMTFjNDQxZGEyY2RlM2VjZTYzOTMyYzAzNmViZTkxNDk2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CkBAIC0xNDQsNyArMTQ0LDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkdyYXBoaWNzRGV2aWNl
QWRhcHRlciogZ3JhcGhpY3NEZXZpY2VBZGFwdGVyKCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAot
ICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25z
dCBmaW5hbCB7IH0KKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CiAKICNpZiBFTkFCTEUoVklERU8pCiAg
ICAgYm9vbCBzdXBwb3J0c1ZpZGVvRnVsbHNjcmVlbihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUpIGZpbmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433553</attachid>
            <date>2021-07-14 18:52:10 -0700</date>
            <delta_ts>2021-07-16 09:25:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210714185209.patch</filename>
            <type>text/plain</type>
            <size>40933</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTlkZTc2ODUyYTg2YTY3
YTdjNWY1NGRmYmExOTY5MWM2Y2E3YWVkMi4uODJjNjcyOTRiY2JjYTlhMTM0ZDNlMzhlYjZmY2Rh
ZmUwN2IwMWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXNpemVPYnNlcnZlciAvIEludGVyc2VjdGlvbk9ic2Vy
dmVyIG1lbW9yeSBsZWFrIG9uIGRldGFjaGVkICYgb3V0IG9mIHJlZmVyZW5jZSBlbGVtZW50cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBkYWY5OTZhOGExZjg2OWJlMDkwMjA5Yzc3ZDk4ZTkyZTZlZTU3NjFjLi5hYTdm
ZGY2MjNkYjdiN2MwMjc4ODJhZTk4ZDkzYTk1MDRhZGE3N2E2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5j
b20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFBy
b2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3Jy
ZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJl
IHRoZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhy
b3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBh
bmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVh
bCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3Qg
dXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0
IGZvciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUg
d2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAg
IGluZm9ybWF0aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxU
b1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xp
ZW50OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTA5
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWxs
b3cgdGhlIFVJUHJvY2VzcyB0byBzZXQgbG9nZ2luZyBwYXJhbWV0ZXJzIGluIHRoZSBHUFVQcm9j
ZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZjJiZTRhY2ZlN2Q0ZjVjYmMwZmI4
OGY4MmY2NDliNTcxODEyNWFkMS4uMDg2ZWY0OTE3Y2U2MmQ1NGI0NTk5Y2E4NThhYjFhMzY2NzM1
MjQzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAg
ICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsUmVjdEludG9WaWV3IGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMS0wNi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzkyNjYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUz
MTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQwYTY1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAy
MDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50byBHcmFwaGljc0Nv
bnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
QXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2OTA1MDYwNjZkMmFh
OTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4YTBlODEzNjkxNmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGln
aHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wgQXBwSGlnaGxpZ2h0
U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChBcHBIaWdobGlnaHRS
YW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kb2N1bWVu
dC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9yKHRleHRJbmRpY2F0
b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2Ug
c2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0sIHsgVGVt
cG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBvcmFyeVNlbGVjdGlv
bk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVtcG9yYXJ5U2VsZWN0
aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsgcmFuZ2UudmFsdWUo
KSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGws
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDRiZmRiYmNhN2Q0ZWZlOTEz
ZDEwNDk4YmY0ZGM4OTZlMjI2Nzc0ZDUuLmMzMGMzZDJjNDU5M2I0YzUzZTQyZGI2ZWE5NjNmOGU3
NTNlMTFlY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5MzcsNyBAQCB2b2lk
IEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxib29sLCBTY3Jv
bGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBhbGlnblggOiBhbGln
blksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwKICAgICAgICAgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9wdGlvbnMuYmVoYXZp
b3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJlaGF2aW9yLnZhbHVl
X29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVyZXIoKS0+c2Nyb2xs
UmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZpc2libGVPcHRpb25z
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYzN2ExNGMyYzg0OTJj
NzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1MTc1ZTJlNDk4ZjFm
ZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUsMTAgKzI2NSwxMCBA
QCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2li
bGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rp
b246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1wb3JhcnlTZWxlY3Rp
b25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxl
Y3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNl
bGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAgICAgIG9wdGlvbnMu
YWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7CiAgICAgaWYgKG1f
b3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsKQogICAgICAg
ICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsKLSAgICBpZiAobV9v
cHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZl
YXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpPdmVy
cmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2RvY3VtZW50LT5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNhYTMzYTA5NTQ2MzMx
YS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBUZW1wb3JhcnlTZWxl
Y3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3JvbGwgPSAxIDw8IDQs
CiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50ID0gMSA8PCA1
LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsKIAogY2xhc3MgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdmM2YzZjU0MDVjZC4u
MWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIsOSBAQCB2b2lkIEZy
YW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQb3NpdGlvbiYgYmFz
ZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBU
b01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0aW9uVXBUb01haW5G
cmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVs
ZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERlbGVnYXRlTWFpbkZy
YW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiArNDM1LDggQEAgdm9p
ZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNl
bGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBlbHNlIGlmIChvcHRp
b25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0aW9ucyAmIERlbGVn
YXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxl
Y3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAgICBlbHNlCiAgICAg
ICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OkRvTm90UmV2
ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rp
b24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAtNDQ2LDcgKzQ1MSw3
IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZp
ZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhT
bW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJ
bnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJs
ZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJyaWRlIDogU21vb3Ro
U2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xsKSA/IFNjcm9sbEJl
aGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAKICAgICBpZiAob3B0
aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byogY2xpZW50ID0gcHJv
dGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcgKzQ3OCw3IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJldmVhbFNlbGVjdGlv
bkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlvbigpLmNsZWFyKCk7
CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbihjb25z
dCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhhdmlvciBzY3JvbGxC
ZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3ZlcmlkZUZlYXR1cmVFbmFi
bGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9s
bEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlKQogICAgICAg
ICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnQKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9u
U2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BB
bHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKLSAgICAgICAg
cmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBSZXZlYWxF
eHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1lbnQpOworICAgICAg
ICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVh
bEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlmeUFjY2Vzc2liaWxp
dHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5NSw3IEBAIEhUTUxG
b3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29uc3QKICAgICByZXR1
cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxBbGln
bm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlvbiwg
U2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVt
ZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjpyZXZl
YWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25zdCBTY3JvbGxB
bGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4dGVudE9wdGlv
biwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYgKHJldmVhbE1vZGUg
PT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAgIHJldHVybjsKQEAg
LTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihT
ZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgICAgICBp
ZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAgICAgIGF1dG8qIHNj
cm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFyZWEoKTsKICAgICAg
ICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xs
aW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKHJl
Y3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxpZ25tZW50LCBTaG91
bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2aW9yLCBvdmVycmlk
ZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RU
b1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGln
bm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZp
b3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkKQEAgLTI0MjQsNyAr
MjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25S
ZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWluZXIncyBsYXllciwg
YnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRlcnNlY3QgbW9yZSB0
aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS80Nzk5ODk5Pi4K
LSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJl
Y3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBh
bGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVo
YXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAgaWYgKHN0YXJ0LmRl
cHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5z
aWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93
Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkKICAgICAgICAgICAg
IHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3NzBhNGJmZDUzMjIx
MjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5NTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAgICAgIFJldmVhbFNl
bGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290aFNjcm9sbCA9IDEg
PDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IDEg
PDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDEwCiAgICAgfTsK
ICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+IGRlZmF1
bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNlclRyaWdnZXJlZCk7
CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBIVE1M
Rm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFs
TW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xsQWxpZ25tZW50Ojph
bGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05vdFJldmVhbEV4dGVu
dCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVs
dCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2
ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3QgU2Nyb2xsQWxpZ25t
ZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgUmV2ZWFsRXh0ZW50
T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0gU2Nyb2xsQmVoYXZp
b3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2VsZWN0aW9uRnJvbU5v
bmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBwcml2YXRlOgotICAg
IHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3Zl
cnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9uKCk7CiAKICAgICBi
b29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJzb3JBbGlnbk9uU2Ny
b2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IGYzMDljNDk3NWJkNWJjMDk1Yzg1MjI0YTIzMmU1N2E5ZmI3ODQ1MDYuLjNhZDU1Njc0NDU2
YzljNDE4MDE5MTlmNWIzMTdjNzFlYmZkNTkyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1
YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpIGZp
bmFsIHsgfQogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIGZp
bmFsIHsgfQogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYpIGNv
bnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0
IEludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNz
TGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hW
aWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCmluZGV4IGEwYzA5MzA2Zjk2MjhiMTY0YTkyMjJmMzcxMGQ4N2VhNTk4MDRh
YzMuLjQ1YjNmOGU4M2Y0OGQwOGRjZjU1YmI0OTg1ZWJmN2RkZDA5ZWZmMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAKQEAgLTEzNCw5ICsxMzQsOSBAQCB2b2lkIENocm9tZTo6Y29udGVudHNTaXpl
Q2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiAgICAgbV9j
bGllbnQuY29udGVudHNTaXplQ2hhbmdlZChmcmFtZSwgc2l6ZSk7CiB9CiAKLXZvaWQgQ2hyb21l
OjpzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3ZvaWQgQ2hy
b21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29u
c3QKIHsKLSAgICBtX2NsaWVudC5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCk7CisgICAgbV9jbGll
bnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJlY3QpOwogfQogCiB2b2lkIENocm9tZTo6
c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
aAppbmRleCAxNWE0OTFiODRjMjA2ZGQ4YjUxYWRjNmVlMWRiNjg4OGI3ZjQzZTc4Li40NjZiM2U5
OGQ2MzE0MDg3MmFlMjY2YTczZmU4M2Y5ZjBhMGE4M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAg
LTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXpl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNv
bnN0IG92ZXJyaWRlOwogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVj
dCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IElu
dFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYsIGNv
bnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
YTg5NjhjOTQ0ZTRhMWFiYWNjOGMyZmQwM2I5NzFmZDNiM2Y4ZTcyYy4uZThlYjQ3N2RlZTlkNmQw
OWFhMGEzNDZhNjkzZDJiY2IwOTg3OTBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0yMjgsNyArMjI4LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmKSBjb25z
dCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0
JikgY29uc3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxl
bWVudGF0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGNvbnN0IHsgfTsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2
YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCB2b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1i
ZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1
M2Y1MjRhM2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzlj
MGE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMz
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhT
Y3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290
aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29s
IHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNz
b2NpYXRlZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhT
Y3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwog
ICAgIGlmIChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQo
KS5zY3JvbGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2Np
YXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFz
c29jaWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50
ID09IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVk
RWxlbWVudC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0Vu
YWJsZWQoKSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNz
b2NpYXRlZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3Jv
bGxpbmdFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8v
ZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Ny
b2xsQmVoYXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcw
Y2QzLi5lZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Ny
b2xsQmVoYXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21v
b3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsK
LQotYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29j
aWF0ZWRFbGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9s
bEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNj
cm9sbEJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5
cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0
MDU2M2U4Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMw
YjM2OGU4MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMu
aApAQCAtMjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rp
b24gOiB1aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3Qg
IHsKICAgICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJm
bG93IGFuZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFp
bkZyYW1lU2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtl
IHN1cmUgdG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RS
ZXZlYWwKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4
IDE2MWMyNjJmMDVlMjZlODk4MDhmOTBkOTBmZjIxMGQxZjYxOTkwNjMuLjZiYTc4NTIwODhhYmQ3
MDE2ZjIxY2ViNGJiZTE3MzYxZTNlYTdkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Ny
b2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5z
aWQKICAgICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhp
cywgb3B0aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xs
UG9zaXRpb25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9n
cmFtbWF0aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVy
KCkuYXV0b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGlu
ZyhvcHRpb25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJs
ZW1lbnQpKQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5h
dXRvc2Nyb2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9w
dGlvbnMuYmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRp
b25zLmFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9s
bFBvc2l0aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVS
ZWN0LCBib29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNl
bGVjdGlvblJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1l
KCkuaXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAg
IGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVN
YWluRnJhbWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAg
ICAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
c25hcHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJh
bWVWaWV3Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3Jv
bGxQb3NpdGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUx
MiwxMSArMjUxNywxMSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNv
bnN0IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdl
LCBzbyBhZnRlciBzY3JvbGxpbmcgdGhpcyB2aWV3IHdlCi0gICAgICAgICAgICAvLyBzY3JvbGwg
aXRzIGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbFJlY3RJbnRvVmlldy4KKyAgICAg
ICAgICAgIC8vIHNjcm9sbCBpdHMgY29udGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsTWFp
bkZyYW1lVG9SZXZlYWxSZWN0LgogICAgICAgICAgICAgLy8gVGhpcyBvbmx5IGhhcyBhbiBlZmZl
Y3Qgb24gdGhlIE1hYyBwbGF0Zm9ybSBpbiBhcHBsaWNhdGlvbnMKICAgICAgICAgICAgIC8vIHRo
YXQgcHV0IHdlYiB2aWV3cyBpbnRvIHNjcm9sbGluZyBjb250YWluZXJzLCBzdWNoIGFzIE1hYyBP
UyBYIE1haWwuCiAgICAgICAgICAgICAvLyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5jdGlvbiBpbiBF
dmVudEhhbmRsZXIgYWxzbyBrbm93cyBhYm91dCB0aGlzLgotICAgICAgICAgICAgcGFnZSgpLmNo
cm9tZSgpLnNjcm9sbFJlY3RJbnRvVmlldyhzbmFwcGVkSW50UmVjdChhYnNvbHV0ZVJlY3QpKTsK
KyAgICAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qo
c25hcHBlZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDBkZGNmZWVlMDYwM2RjOTVh
YmQ3MDNjZmM5OGE3M2MxNjJiNWEzZmUuLjJiYjYyYzViODA3NTBjYWZkY2M4N2FjMzgxYjQ1ZTli
ZTRkNGU4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC0xNDEs
NyArMTQxLDYgQEAgc3RydWN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zIHsKICAgICBjb25z
dCBTY3JvbGxBbGlnbm1lbnQmIGFsaWduWSB7IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJ
Zk5lZWRlZCB9OwogICAgIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgc2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZyB7IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6
Ok5vIH07CiAgICAgU2Nyb2xsQmVoYXZpb3IgYmVoYXZpb3IgeyBTY3JvbGxCZWhhdmlvcjo6QXV0
byB9OwotICAgIFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVu
YWJsZW1lbnQgeyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCB9OwogfTsK
IAogdXNpbmcgU2Nyb2xsaW5nU2NvcGUgPSB1aW50NjRfdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5jcHAKaW5kZXggMjBlODhkMzgxNDBi
OWU5ZjJkM2JkYTQxN2QwN2EwY2UyNjQ1ZTU5OC4uMTc3M2Y5MmI5ZGNjZjE2ZmI4ZWNiNTVhYzE1
MDM4OTE5MGNjNjE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5jcHAKQEAgLTk3LDYgKzk3LDExIEBAIHZvaWQgUGFnZUNsaWVudElt
cGw6OnJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGNvbnN0IFdlYkNv
cmU6OkluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6
cmVxdWVzdFNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiBXZWJDb3Jl
OjpGbG9hdFBvaW50IFBhZ2VDbGllbnRJbXBsOjp2aWV3U2Nyb2xsUG9zaXRpb24oKQogewogICAg
IHJldHVybiB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3Rr
L1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VD
bGllbnRJbXBsLmgKaW5kZXggNTZmNTk0ZmFhNmI2NDljYWJkMjk4NzU0ZDdkYTJmMjU4YmYzNzBk
Ny4uZWM4OWNlMDRlNjgwMTNkNTBiOWMyZDI2NDJjZjhhMzk1OTExNDEyNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaApAQCAtNjMsNiAr
NjMsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxEcmF3aW5nQXJlYVByb3h5PiBj
cmVhdGVEcmF3aW5nQXJlYVByb3h5KFdlYlByb2Nlc3NQcm94eSYpIG92ZXJyaWRlOwogICAgIHZv
aWQgc2V0Vmlld05lZWRzRGlzcGxheShjb25zdCBXZWJDb3JlOjpSZWdpb24mKSBvdmVycmlkZTsK
ICAgICB2b2lkIHJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgc2Nyb2xs
UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxPcmlnaW4pIG92ZXJyaWRl
OworICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IHRhcmdldFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikgb3ZlcnJpZGU7
CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCB2aWV3U2Nyb2xsUG9zaXRpb24oKSBvdmVycmlkZTsK
ICAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc1Zp
ZXdXaW5kb3dBY3RpdmUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJWaWV3SW1wbC5oCmluZGV4IDgyZTM4MjgwMzdiMDY0ZjViZDM2YjdkZDUzNmM2MGEwYTI5
MzNhYTAuLmU4MjYwYTU5ZDk0Y2RjOTM4ZjAxMWM4OWU4MWY4NTQwMjMyMmQ5OTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaApAQCAtNTQ2LDYgKzU0Niw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIGdlc3R1cmVFdmVudFdhc05vdEhhbmRsZWRCeVdlYkNvcmVG
cm9tVmlld09ubHkoTlNFdmVudCAqKTsKIAogICAgIHZvaWQgZGlkUmVzdG9yZVNjcm9sbFBvc2l0
aW9uKCk7CisgICAgCisgICAgdm9pZCBzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogCiAgICAgdm9pZCBzZXRUb3RhbEhl
aWdodE9mQmFubmVycyhDR0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKSB7IG1fdG90YWxIZWln
aHRPZkJhbm5lcnMgPSB0b3RhbEhlaWdodE9mQmFubmVyczsgfQogICAgIENHRmxvYXQgdG90YWxI
ZWlnaHRPZkJhbm5lcnMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDVm
YmViYTRmMTZlMzE2NzdlYjFkZmVkYTIwOTYzODdmYzY0ZGE2Y2MuLjFhNTVlZGJhYTg3OWI2ZDY2
YjdlZjBkZTFmMWM0NWRhODZlMGNjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLm1tCkBAIC0yNTcwLDYgKzI1NzAsMTEgQEAgdm9pZCBXZWJWaWV3SW1w
bDo6dXBkYXRlVGl0bGViYXJBZGphY2VuY3lTdGF0ZSgpCiAKICNlbmRpZiAvLyBIQVZFKE5TU0NS
T0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIAordm9pZCBXZWJWaWV3SW1wbDo6
c2Nyb2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKQoreworICAgIG1fcGFnZS0+c2Nyb2xsVG9SZWN0
KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisKIE5TVmlldyAqV2ViVmlld0ltcGw6OmhpdFRlc3Qo
Q0dQb2ludCBwb2ludCkKIHsKICAgICBOU1ZpZXcgKmhpdFZpZXcgPSBbbV92aWV3IF93ZWJfc3Vw
ZXJIaXRUZXN0Ok5TUG9pbnRGcm9tQ0dQb2ludChwb2ludCldOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCmluZGV4IDA4Y2MyODkwMzk5MjRkMzM3NDg5MzY4ZjM2YzUwNWNjNjg4OTY3
NDUuLjNkOGY4ZWYyYjUwMWMyN2Y2ODkyOTcyYmEwNWRjODliMzZjYWQyNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTYxMiw2ICs2MTIsNyBAQCBwdWJsaWM6CiAjaWYg
RU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIHZpcnR1YWwgdm9pZCBzdG9yZUFwcEhpZ2hsaWdo
dChjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQmKSA9IDA7CiAjZW5kaWYKKyAgICB2aXJ0dWFs
IHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdl
dFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikgeyB9CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JHZXN0dXJlUmVj
b2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA1OWIwZTg0MGJkZTg4N2ZhOWFlYTc5NDBkODEwMmFkMWRl
M2IzYmNkLi5mZGVmMjY3Y2RhZTgzOTllOGU5MWNhMzNmYTkyZTY0NzYzMGY3MzA3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwNzM1LDYgKzEwNzM1LDE2
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVNZWRpYVNlc3Npb25Db29yZGluYXRvcihSZWY8
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94CiB9CiAjZW5kaWYKIAordm9pZCBXZWJQYWdlUHJv
eHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25z
dCBGbG9hdFBvaW50JiBvcmlnaW4pCit7CisgICAgcGFnZUNsaWVudCgpLnJlcXVlc3RTY3JvbGxU
b1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnNjcm9s
bFRvUmVjdChjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIG9y
aWdpbikKK3sKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTY3JvbGxUb1JlY3QodGFyZ2V0
UmVjdCwgb3JpZ2luKSk7Cit9CisKICNpZiBQTEFURk9STShDT0NPQSkKIHZvaWQgV2ViUGFnZVBy
b3h5OjphcHBQcml2YWN5UmVwb3J0VGVzdGluZ0RhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBBcHBQcml2YWN5UmVwb3J0VGVzdGluZ0RhdGEmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZDFhNWZjMzhlYTdj
OTVmZWE2MzRkODVjZDliZDE3MGRhNjViMTlmOC4uZTUzNmM3ZWU2N2MwZGRkMmJkY2MwNjZkZTM3
MjI4NmI2N2I0MDg1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTkwMywxMSArOTAzLDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0
ZShzdGQ6Om9wdGlvbmFsPElucHV0TWV0aG9kU3RhdGU+JiYpOwogI2VuZGlmCisgICAgICAgIAor
ICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRh
cmdldFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbik7CisgICAgdm9pZCBz
Y3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
dm9pZCB3aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IHZpZXdGcmFtZUluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQm
IGFjY2Vzc2liaWxpdHlWaWV3Q29vcmRpbmF0ZXMpOwogICAgIHZvaWQgc2V0TWFpbkZyYW1lSXNT
Y3JvbGxhYmxlKGJvb2wpOwotCisgICAgICAgIAogICAgIHZvaWQgc2VuZENvbXBsZXhUZXh0SW5w
dXRUb1BsdWdpbih1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4dElucHV0SWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB0ZXh0SW5wdXQpOwogICAgIGJvb2wgc2hvdWxkRGVsYXlXaW5kb3dPcmRlcmlu
Z0ZvckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKICAgICBib29sIGFjY2VwdHNGaXJzdE1v
dXNlKGludCBldmVudE51bWJlciwgY29uc3QgV2ViTW91c2VFdmVudCYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRiNWI1NmVm
MjM1MjA5ZWExNzM5NDY5YTkxMTYxNDBlMjk3NmQ5NmUuLjAyZDhmZDlmYjIyMDZjODMzMWI1Y2Qw
ZDg2ZDYxNmMwYzg5OTdlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTUxMCw2ICs1MTAsOCBAQCBtZXNzYWdlcyAtPiBXZWJQ
YWdlUHJveHkgewogI2VuZGlmCiAKICAgICBEaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQorICAg
IAorICAgIFJlcXVlc3RTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3Qs
IFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQogCiAgICAgR2V0TG9hZERlY2lzaW9uRm9ySWNv
bihzdHJ1Y3QgV2ViQ29yZTo6TGlua0ljb24gaWNvbiwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmgKaW5kZXggNDYyMGU3NWQwYTU1NjU2ZTgyMjNiYzcwNmQzMjViYjA4NzEwZTA4NC4uNmZi
NmNlYjQ0MTI5NDgzODYxZGVlYTE0N2U2MWEzMjllZWEyMjVhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTIxNCw3ICsyMTQsOCBA
QCBwcml2YXRlOgogICAgIHZvaWQgc2Nyb2xsaW5nTm9kZVNjcm9sbFZpZXdEaWRTY3JvbGwoKSBv
dmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxXaWxsU3RhcnRTY3JvbGwoKSBv
dmVycmlkZTsKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxEaWRFbmRTY3JvbGwoKSBvdmVy
cmlkZTsKLQorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBv
cmlnaW4pIG92ZXJyaWRlOwogICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVu
dCYgZnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4
MWZlM2E1MTRmN2Q4NzJiMzE4NTc0OGQ4Yzc2MTdlYzMuLjFiZDMzMDY1ZjEwYzE3MGQwNjZjY2I3
YTZmNmE1YzVlODYzMTg4ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xv
ciBQYWdlQ2xpZW50SW1wbDo6Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVy
biBbbV9jb250ZW50VmlldyBiYWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFn
ZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRS
ZWN0LCBjb25zdCBGbG9hdFBvaW50JiBvcmlnaW4pCit7CisgICAgW21fY29udGVudFZpZXcgX3Nj
cm9sbFRvUmVjdDp0YXJnZXRSZWN0IHdpdGhPcmlnaW46b3JpZ2luIG1pbmltdW1TY3JvbGxEaXN0
YW5jZTowXTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9S
TShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMuaAppbmRleCA2YzVjNGUzOWM2MTQ4M2RhZTkwZTY5MmNjNzg2NjlkYWI3NDllNWRh
Li5lYWZkZDQ3YTI4ZmJhOGMzZTkwMjA4YWZkNDIzZTJiMDEyMjcyNGRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaApAQCAtMjkwLDYgKzI5
MCw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQogICAgIHZvaWQgaGFu
ZGxlQ2xpY2tGb3JEYXRhRGV0ZWN0aW9uUmVzdWx0KGNvbnN0IFdlYkNvcmU6OkRhdGFEZXRlY3Rv
ckVsZW1lbnRJbmZvJiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBmaW5hbDsKICNlbmRpZgor
ICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pIG92
ZXJyaWRlOwogCiAgICAgTlNWaWV3ICptX3ZpZXc7CiAgICAgV2Vha1B0cjxXZWJWaWV3SW1wbD4g
bV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLm1tCmluZGV4IDhiNzRiNDU0NWQ4OTdhOTk5Mjk0ZjgxNWM3YzFmNjdiMzhmZDNjMmMuLjI2
YTA5OGI5YWFlM2RhOTIyOTIyYWE4OWM5ODkyMzM5MDljNjExOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTk3Miw2ICs5NzIs
MTIgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKICAg
ICBtX2ltcGwtPmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOwogfQogCit2b2lkIFBhZ2VDbGll
bnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKQoreworICAgIC8vIEZJ
WE1FOiBBZGQgYWRkaXRpb25hbCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4KKyAgICBtX2ltcGwt
PnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29sIFBhZ2VDbGllbnRJ
bXBsOjp3aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJNb3VzZUV2
ZW50JiBldmVudCkKIHsKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2luZG93VW5k
ZXJNb3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXgg
ODlmMDVkNWNjNzA2NGFjZWU0NWNmMDlhNTMwMTQzYjVlM2EyZmUxZC4uODY2NDA4YWUxMDE3NWU4
YjM2YmQ1ODZmMDU4Zjg1NjcxZDJhOGJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTY1
NSw5ICs2NTUsOSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChG
cmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbgogICAgIH0KIH0KIAotdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JikgY29uc3QK
K3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3Qg
SW50UmVjdCYgcmVjdCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RTY3JvbGxUb1JlY3QocmVjdCwg
cmVjdC5jZW50ZXIoKSkpOwogfQogCiBib29sIFdlYkNocm9tZUNsaWVudDo6c2hvdWxkVW5hdmFp
bGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oUmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVu
YXZhaWxhYmlsaXR5UmVhc29uIHBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCmluZGV4IGViNWM5ZTg4ODcwOTZkNzk2MWIwZGJlMzUwM2Y5Yjg0NjI2YWY3
MzMuLmFhYzYyZjA1ODhmYTVlMjg0MmY5YzQzOWQyZWE5NDZlOGU5Nzc3NWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKQEAgLTEzMyw3ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUGFnZUNs
aWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbnRlbnRz
U2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29u
c3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHNjcm9sbFJlY3RJbnRvVmll
dyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7IC8vIEN1cnJlbnRseSBvbmx5
IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgdm9pZCBzY3JvbGxNYWlu
RnJhbWVUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOwog
CiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihXZWJDb3Jl
OjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0
IGZpbmFsOwogICAgIHZvaWQgdW5hdmFpbGFibGVQbHVnaW5CdXR0b25DbGlja2VkKFdlYkNvcmU6
OkVsZW1lbnQmLCBXZWJDb3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFi
aWxpdHlSZWFzb24pIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCBlNmRkMjMxYzgwNjY3ZDZmOTdjODExNmE3MWI0ZmY2N2Fl
MDFkZTczLi4yNzAyNjQyOWMxODcwNTkxNTAwZjY0N2RjOWExZWYwMmJlOWU5NTY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzY2OCw2ICs3
NjY4LDExIEBAIHZvaWQgV2ViUGFnZTo6bW9kZWxFbGVtZW50UHJldmlld0RpZE9idGFpbkNvbnRl
eHRJZChjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4CiB9CiAjZW5kaWYKIAordm9pZCBXZWJQ
YWdlOjpzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pCit7CisgICAgbWFpbkZyYW1lVmlldygp
LT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkp
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBXRUJQQUdFX1JFTEVBU0Vf
TE9HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMzM3
N2E5ZDNjM2E3NWNjYzM0YzVkMmJhMTg5ODE5YjU4NTQzMWZiYS4uZTJkNGE5M2QyYjE3NTkzY2M5
MmVlZDI0OGRmNjY5ZDU5ZDE4ZDY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaApAQCAtMTEzMyw2ICsxMTMzLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBh
bHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWx3YXlzU2hv
d3NIb3Jpem9udGFsU2Nyb2xsZXI7IH07CiAgICAgYm9vbCBhbHdheXNTaG93c1ZlcnRpY2FsU2Ny
b2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2Fsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcjsgfTsK
KyAgICAKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRh
cmdldFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbik7CiAKICAgICB2b2lk
IHNldE1pbmltdW1TaXplRm9yQXV0b0xheW91dChjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAg
ICAgV2ViQ29yZTo6SW50U2l6ZSBtaW5pbXVtU2l6ZUZvckF1dG9MYXlvdXQoKSBjb25zdCB7IHJl
dHVybiBtX21pbmltdW1TaXplRm9yQXV0b0xheW91dDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMWNlZGE3YTdi
Y2FiMmQ4MGFlNGMyNjliMGZjMGU3ZWRiMzE1MWRkNS4uMmMzNDk4MzQzZmNmYzc2YWEwMmMwN2Qw
ZGEyMjNkYTczYzdmMjhmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC02NDQsNiArNjQ0LDggQEAgR2VuZXJhdGVT
eW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0
aW5nQ29tbWFuZFR5cGUKICAgICBVcGRhdGVXaXRoVGV4dFJlY29nbml0aW9uUmVzdWx0KHN0cnVj
dCBXZWJDb3JlOjpUZXh0UmVjb2duaXRpb25SZXN1bHQgcmVzdWx0LCBzdHJ1Y3QgV2ViQ29yZTo6
RWxlbWVudENvbnRleHQgZWxlbWVudCwgV2ViQ29yZTo6RmxvYXRQb2ludCBsb2NhdGlvbikgLT4g
KGVudW06dWludDhfdCBXZWJLaXQ6OlRleHRSZWNvZ25pdGlvblVwZGF0ZVJlc3VsdCByZXN1bHQp
IEFzeW5jCiAjZW5kaWYKIAorICAgIFNjcm9sbFRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QgdGFy
Z2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pCisKICNpZiBIQVZFKEFSS0lUX0lO
TElORV9QUkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4
dElkKHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50Q29udGV4dCwgU3RyaW5n
IHV1aWQsIHVpbnQzMl90IGNvbnRleHRJZCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA0
NGY0MDRmZGY1Yjg5MjQyOTIyNTM0YjgxYWIzNzIyYzExMTcxYjFlLi4yNWNmNjg2YzQyYzU2ZTQ5
YTY0ZTZmMzU1ZmZiNmE3ZTAwZTEwYTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTEyLDcgKzEx
Miw3IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVu
dCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpG
cmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGlu
dHJpbnNpY0NvbnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0
IGZpbmFsIHsgfQotICAgIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVj
dChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHNldFN0
YXR1c2JhclRleHQoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpp
bmRleCBiNmMxOTA5MWJmZmEzODk2Mjk5NDhiYTA1ZDc3ZGMyNGE0MmVmOWZmLi4xNjM2NzIxYzU2
Y2U4NDVmMDNiMGU3NjZlZGYwZmI4N2RlYzM5YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC02
MDYsNyArNjA2LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQo
RnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QKIHsKIH0KIAotdm9pZCBXZWJDaHJvbWVDbGll
bnQ6OnNjcm9sbFJlY3RJbnRvVmlldyhjb25zdCBJbnRSZWN0JiByKSBjb25zdAordm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiBy
KSBjb25zdAogewogICAgIC8vIEZJWE1FOiBUaGlzIHNjcm9sbGluZyBiZWhhdmlvciBzaG91bGQg
YmUgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIGVtYmVkZGluZyBjbGllbnQsCiAgICAgLy8gcGVy
aGFwcyBpbiBhIGRlbGVnYXRlIG1ldGhvZCwgcmF0aGVyIHRoYW4gc29tZXRoaW5nIFdlYktpdCBk
b2VzIHVuY29uZGl0aW9uYWxseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMDk5YWU5YzcwOWQxNTdl
YTBhYTkwZjYyYzhiYmU0ZTBlODMyNDczNC4uODc5YTIxMWM0NDFkYTJjZGUzZWNlNjM5MzJjMDM2
ZWJlOTE0OTZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE0NCw3ICsxNDQsNyBAQCBwdWJsaWM6
CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NEZXZpY2VBZGFwdGVyKiBncmFwaGljc0RldmljZUFkYXB0
ZXIoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCi0gICAgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXco
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xs
TWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5h
bCB7IH0KIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRzVmlkZW9GdWxsc2Ny
ZWVuKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSkg
ZmluYWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433635</attachid>
            <date>2021-07-15 16:25:23 -0700</date>
            <delta_ts>2021-07-16 09:25:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210715162522.patch</filename>
            <type>text/plain</type>
            <size>39844</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI0MDYxNzkwMTdlYTk4
ZDZjNmI5ZjZmNjY4MWRiN2ZkNDE5YTcyZi4uNWFmNzJmYzk4ZGJlODhjMTc1NjUyYWExYjQ4OGE2
OWQwYjY0YWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0xNSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlZGRpdCBQaVAgdmlkZW8gcGF1c2VzIHdoZW4gc2Nyb2xs
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDEwNWZiN2IyMGU5Y2NjMjJkNjhjZjYxMWRlZDhlNGRjOGMwM2Q3ZGEu
LjU0Mjg4NjZlNDQ5MGJlM2YyNGQzMjU0MTg5Y2I3NjgyMDc3YmRmYjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Nyb2xsaW5nIHRocm91Z2gg
VUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBPdmVybGF5IGF2b2lkYW5jZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRv
IGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9i
c2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGlu
ZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAg
ICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUg
YWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIEZvciBpT1MsIHRoaXMg
anVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9sbGluZyB0aGF0IHdlIGFscmVhZHkgdXNl
LCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQgdG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGlu
IHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3RpbmcgaXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAg
ICAgICAgaW5mb3JtYXRpb24uIAorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNj
cm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVl
c3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3Jv
bGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJv
bWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEt
MDctMTUgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW5hbWUgc2Nyb2xsUmVjdEludG9WaWV3IHRvIHNjcm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3
c1RvUmV2ZWFsUmVjdCBmb3IgY2xhcml0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCBkYmY2Njc1M2M3MjE5ZjBmMjcyYWJiYWQ3MjhhOTIwMTBiMjBhZTUxLi5lYmRlNzk4YTZhNzM2
YTMyODg3MGE1MzY5YjY2OWI2MmIzOWNjNjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJk
bmVyQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Nyb2xsaW5nIHRo
cm91Z2ggVUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBPdmVybGF5IGF2b2lkYW5j
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkx
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWlu
RnJhbWVUb1JldmVhbFJlY3QgY29uc3QpOgorCiAyMDIxLTA3LTE1ICBNZWdhbiBHYXJkbmVyICA8
bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIHNjcm9sbFJlY3RJbnRv
VmlldyB0byBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QgZm9yIGNsYXJp
dHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNl
N2MyYmYzYzdmMmUzMTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQw
YTY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorCiAyMDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50
byBHcmFwaGljc0NvbnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2
OTA1MDYwNjZkMmFhOTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4
YTBlODEzNjkxNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hp
Z2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wg
QXBwSGlnaGxpZ2h0U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChB
cHBIaWdobGlnaHRSYW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAg
ICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9y
KHRleHRJbmRpY2F0b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxl
Y3Rpb25DaGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1
ZSgpIH0sIHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBv
cmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRp
b246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsg
cmFuZ2UudmFsdWUoKSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwog
ICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGVjYjcx
ODkwZDdlNGQ0ZDllMDFmODc2YTE3NGQ1OTNiMjQzYjJmMzEuLmRhYjI1NmNmY2MwODg4Mzk2NTRl
YjI2ZTVmM2NkOTNiZjBhNzljNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5
MzcsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFu
dDxib29sLCBTY3JvbGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBh
bGlnblggOiBhbGlnblksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwK
ICAgICAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9w
dGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBT
bW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJl
aGF2aW9yLnZhbHVlX29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVy
ZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZp
c2libGVPcHRpb25zKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYz
N2ExNGMyYzg0OTJjNzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1
MTc1ZTJlNDk4ZjFmZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUs
MTAgKzI2NSwxMCBAQCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9u
KGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQo
RnJhbWVTZWxlY3Rpb246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1w
b3JhcnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5h
ZGQoRnJhbWVTZWxlY3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAm
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAg
ICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7
CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Ny
b2xsKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsK
LSAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNt
b290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2Vs
ZWN0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2Rv
Y3VtZW50LT5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNh
YTMzYTA5NTQ2MzMxYS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBU
ZW1wb3JhcnlTZWxlY3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3Jv
bGwgPSAxIDw8IDQsCiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxt
ZW50ID0gMSA8PCA1LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsK
IAogY2xhc3MgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdm
M2YzZjU0MDVjZC4uMWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIs
OSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQ
b3NpdGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9k
ZTo6UmV2ZWFsVXBUb01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0
aW9uVXBUb01haW5GcmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2
ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERl
bGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNl
bGVjdGlvbihuZXdTZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiAr
NDM1LDggQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVT
ZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBl
bHNlIGlmIChvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJl
dmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0
aW9ucyAmIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVh
bE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAg
ICBlbHNlCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1v
ZGU6OkRvTm90UmV2ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZl
YWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAt
NDQ2LDcgKzQ1MSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBW
aXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmll
dyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9u
cy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9s
bEJlaGF2aW9yOjpJbnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJy
aWRlIDogU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0
ZUFuZFJldmVhbFNlbGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xs
KSA/IFNjcm9sbEJlaGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAK
ICAgICBpZiAob3B0aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byog
Y2xpZW50ID0gcHJvdGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcg
KzQ3OCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJl
dmVhbFNlbGVjdGlvbkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlv
bigpLmNsZWFyKCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihjb25zdCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhh
dmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3Zlcmlk
ZUZlYXR1cmVFbmFibGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFs
U2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJl
aGF2aW9yIHNjcm9sbEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBk
YXRlKQogICAgICAgICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVj
dGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiBpbnQKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNB
bGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVu
dDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7
CiAKLSAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25t
ZW50LCBSZXZlYWxFeHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpOworICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGln
bm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlm
eUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5
NSw3IEBAIEhUTUxGb3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29u
c3QKICAgICByZXR1cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0
aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25z
dCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4
dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZl
YXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2Vs
ZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBj
b25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVh
bEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYg
KHJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAg
IHJldHVybjsKQEAgLTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVh
bFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAg
ICAgICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAg
ICAgIGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFy
ZWEoKTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0
VG9WaXNpYmxlKHJlY3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxp
Z25tZW50LCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2
aW9yLCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXIt
PnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxp
Z25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywg
c2Nyb2xsQmVoYXZpb3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRq
dXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRh
dGVBcHBlYXJhbmNlKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkK
QEAgLTI0MjQsNyArMjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlv
bihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWlu
ZXIncyBsYXllciwgYnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRl
cnNlY3QgbW9yZSB0aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxl
bS80Nzk5ODk5Pi4KLSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVy
KCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwg
YWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olll
cywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAg
aWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2li
bGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQs
IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkK
ICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3
NzBhNGJmZDUzMjIxMjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5
NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyAr
MTI0LDcgQEAgcHVibGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAg
ICAgIFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290
aFNjcm9sbCA9IDEgPDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5h
YmxlbWVudCA9IDEgPDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8
IDEwCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25P
cHRpb24+IGRlZmF1bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNl
clRyaWdnZXJlZCk7CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBIVE1MRm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xs
QWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05v
dFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwg
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24o
U2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3Qg
U2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwg
UmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0g
U2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Vs
ZWN0aW9uRnJvbU5vbmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBw
cml2YXRlOgotICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5h
YmxlbWVudDo6T3ZlcnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhh
dmlvcjo6SW5zdGFudCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9u
KCk7CiAKICAgICBib29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29u
c3QgVmlzaWJsZVNlbGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJz
b3JBbGlnbk9uU2Nyb2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IDM0ODZmMzlhMDE4NTFhMmM4NzE5ZjRhZGI0NzQzOTkwMTgxZjA5NWUu
LmU5ZmNkYjUzNWE2NmVkNDk5MGUzMWQzNzQ2MWI1YjgxMjVkNjc5NWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBjbGFzcyBFbXB0eUNocm9t
ZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVu
VW50aWxNb3VzZU1vdmVzKGJvb2wpIGZpbmFsIHsgfQogCiAgICAgdm9pZCBzY3JvbGxDb250YWlu
aW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsg
fQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBj
b25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUm
LCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdy
YXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CmluZGV4IGRmZTc3MTkzNWRjNjAxOWZkNzg0ZmI5NjdhMmU2MTNkMzY3MjJlYWMuLjQ2NGZhZTc3
ZDM3Y2NkZGFlYWEwZTZlNjY5MTgwYjA4YmY3YTAwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAK
QEAgLTEzOSw2ICsxMzksMTEgQEAgdm9pZCBDaHJvbWU6OnNjcm9sbENvbnRhaW5pbmdTY3JvbGxW
aWV3c1RvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAogICAgIG1fY2xpZW50
LnNjcm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChyZWN0KTsKIH0KIAordm9p
ZCBDaHJvbWU6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0
KSBjb25zdAoreworICAgIG1fY2xpZW50LnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChyZWN0
KTsKK30KKwogdm9pZCBDaHJvbWU6OnNldFdpbmRvd1JlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0
KSBjb25zdAogewogICAgIG1fY2xpZW50LnNldFdpbmRvd1JlY3QocmVjdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWUuaAppbmRleCA3ZjZmM2MzYjNjN2VkYWU1YjNlZjE1N2FkZjE4MmMxYjc0OTk4MGYxLi5kMTM1
ZjlhMDE5YjJlZjAwYTE3ZWYyZTE5Y2Y0MTEyYTI5MDJhM2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgK
QEAgLTk5LDYgKzk5LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBvdmVycmlkZVNjcmVlblNp
emUoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgc2Nyb2xsQ29udGFpbmluZ1Njcm9sbFZp
ZXdzVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdDsKKyAgICB2b2lkIHNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIGNv
bnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGY3ZGU2NmZiZGUwZjFhNzkzNDM3Y2I0OTA4NmFk
YTZmZWZkMjMzNjcuLjQ4NjJiNmE3NzlkZmVkODcxM2FmNDA1ZTkxZGNhZmVkNTJlZTk5ODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI4LDcgKzIyOCw5IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50
U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXpl
Q2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOworCiAgICAgdmlydHVhbCB2b2lkIHNj
cm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29u
c3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0
aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3Qg
SW50UmVjdCYpIGNvbnN0IHsgfTsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWlsYWJs
ZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFp
bGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lk
IHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRkZWRP
YmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1MjRh
M2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxC
ZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNjcm9s
bEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVzZVNt
b290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRl
ZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxC
ZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAgIGlm
IChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zY3Jv
bGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRlZEVs
ZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29jaWF0
ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09IFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxlbWVu
dC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQo
KSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdF
bmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVo
YXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2QzLi5l
ZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xsQmVo
YXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQotYm9v
bCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRF
bGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJl
aGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2M2U4
Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2OGU4
MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAt
MjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gOiB1
aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsKICAg
ICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93IGFu
ZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZyYW1l
U2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1cmUg
dG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZlYWwK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGUwMTc2
NWQzOTAwNzg0YmY0YTk4MDgyYzljZWU2ZTQzYTg1NTg1YTQuLjhmYzYyNWQ2MDg5NGM4MDYwZTBi
Yzg0NmMxNzhlYWFiZjEzMDBkZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAg
ICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywgb3B0
aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9zaXRp
b25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0
aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0
b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRp
b25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQp
KQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Ny
b2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMu
YmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25zLmFu
aW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0
aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBi
b29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlv
blJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNN
YWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlmIChv
cHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJh
bWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAgICAg
ICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25hcHBl
ZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJhbWVWaWV3
Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3JvbGxQb3Np
dGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUxMiw3ICsy
NTE3LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlv
dXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFnZSwgc28gYWZ0
ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3ZQotICAgICAgICAgICAgLy8gc2Nyb2xsIGl0cyBjb250
YWluZXIgYnkgY2FsbGluZyBQYWdlOjpzY3JvbGxSZWN0SW50b1ZpZXcuCisgICAgICAgICAgICAv
LyBzY3JvbGwgaXRzIGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbE1haW5GcmFtZVRv
UmV2ZWFsUmVjdC4KICAgICAgICAgICAgIC8vIFRoaXMgb25seSBoYXMgYW4gZWZmZWN0IG9uIHRo
ZSBNYWMgcGxhdGZvcm0gaW4gYXBwbGljYXRpb25zCiAgICAgICAgICAgICAvLyB0aGF0IHB1dCB3
ZWIgdmlld3MgaW50byBzY3JvbGxpbmcgY29udGFpbmVycywgc3VjaCBhcyBNYWMgT1MgWCBNYWls
LgogICAgICAgICAgICAgLy8gVGhlIGNhbkF1dG9zY3JvbGwgZnVuY3Rpb24gaW4gRXZlbnRIYW5k
bGVyIGFsc28ga25vd3MgYWJvdXQgdGhpcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKaW5kZXggMGRkY2ZlZWUwNjAzZGM5NWFiZDcwM2NmYzk4YTczYzE2MmI1YTNmZS4uMmJi
NjJjNWI4MDc1MGNhZmRjYzg3YWMzODFiNDVlOWJlNGQ0ZTg2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE0MSw3ICsxNDEsNiBAQCBzdHJ1Y3QgU2Nyb2xsUmVj
dFRvVmlzaWJsZU9wdGlvbnMgewogICAgIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25ZIHsg
U2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkIH07CiAgICAgU2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZyBzaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nIHsgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8gfTsKICAgICBTY3JvbGxCZWhhdmlvciBi
ZWhhdmlvciB7IFNjcm9sbEJlaGF2aW9yOjpBdXRvIH07Ci0gICAgU21vb3RoU2Nyb2xsRmVhdHVy
ZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCB7IFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50OjpEZWZhdWx0IH07CiB9OwogCiB1c2luZyBTY3JvbGxpbmdTY29wZSA9IHVp
bnQ2NF90OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdl
Q2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGll
bnRJbXBsLmNwcAppbmRleCAyMGU4OGQzODE0MGI5ZTlmMmQzYmRhNDE3ZDA3YTBjZTI2NDVlNTk4
Li4xNzczZjkyYjlkY2NmMTZmYjhlY2I1NWFjMTUwMzg5MTkwY2M2MTU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcApAQCAtOTcs
NiArOTcsMTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW4KICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKIFdlYkNvcmU6OkZsb2F0UG9pbnQgUGFnZUNsaWVudEltcGw6
OnZpZXdTY3JvbGxQb3NpdGlvbigpCiB7CiAgICAgcmV0dXJuIHsgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAppbmRleCA1NmY1OTRmYWE2
YjY0OWNhYmQyOTg3NTRkN2RhMmYyNThiZjM3MGQ3Li5lYzg5Y2UwNGU2ODAxM2Q1MGI5YzJkMjY0
MmNmOGEzOTU5MTE0MTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPERyYXdpbmdBcmVhUHJveHk+IGNyZWF0ZURyYXdpbmdBcmVhUHJveHkoV2ViUHJv
Y2Vzc1Byb3h5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0
IFdlYkNvcmU6OlJlZ2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFNjcm9sbChjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIHNjcm9sbE9yaWdpbikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9S
ZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgb3JpZ2luKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZp
ZXdTY3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1Np
emUoKSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggODJlMzgy
ODAzN2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uZTgyNjBhNTlkOTRjZGM5MzhmMDEx
Yzg5ZTgxZjg1NDAyMzIyZDk5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVy
ZUV2ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2ZW50ICopOwogCiAg
ICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAgICB2b2lkIHNjcm9s
bFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBv
aW50Jik7CiAKICAgICB2b2lkIHNldFRvdGFsSGVpZ2h0T2ZCYW5uZXJzKENHRmxvYXQgdG90YWxI
ZWlnaHRPZkJhbm5lcnMpIHsgbV90b3RhbEhlaWdodE9mQmFubmVycyA9IHRvdGFsSGVpZ2h0T2ZC
YW5uZXJzOyB9CiAgICAgQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVycygpIGNvbnN0IHsgcmV0
dXJuIG1fdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggNWZiZWJhNGYxNmUzMTY3N2ViMWRmZWRhMjA5NjM4
N2ZjNjRkYTZjYy4uMWE1NWVkYmFhODc5YjZkNjZiN2VmMGRlMWYxYzQ1ZGE4NmUwY2M1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTI1NzAs
NiArMjU3MCwxMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUaXRsZWJhckFkamFjZW5jeVN0
YXRlKCkKIAogI2VuZGlmIC8vIEhBVkUoTlNTQ1JPTExWSUVXX1NFUEFSQVRPUl9UUkFDS0lOR19B
REFQVEVSKQogCit2b2lkIFdlYlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4p
Cit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwog
TlNWaWV3ICpXZWJWaWV3SW1wbDo6aGl0VGVzdChDR1BvaW50IHBvaW50KQogewogICAgIE5TVmll
dyAqaGl0VmlldyA9IFttX3ZpZXcgX3dlYl9zdXBlckhpdFRlc3Q6TlNQb2ludEZyb21DR1BvaW50
KHBvaW50KV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMDhjYzI4OTAz
OTkyNGQzMzc0ODkzNjhmMzZjNTA1Y2M2ODg5Njc0NS4uM2Q4ZjhlZjJiNTAxYzI3ZjY4OTI5NzJi
YTA1ZGM4OWIzNmNhZDI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
NjEyLDYgKzYxMiw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAg
dmlydHVhbCB2b2lkIHN0b3JlQXBwSGlnaGxpZ2h0KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdo
dCYpID0gMDsKICNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgb3JpZ2luKSB7IH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9p
ZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVSZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIq
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGJhYzI4
YjdiOWRiNGU0N2QxNWYwN2M0MzgyZDBmZGVjNjhiNTliNWYuLmNkZDNiZmE5Y2UwM2Y3MjJlNjBm
N2EwMzMxYzRlMDJjNzZiZDI2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMTA3NDgsNiArMTA3NDgsMTYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNyZWF0
ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yKFJlZjxNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3gK
IH0KICNlbmRpZgogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdChjb25z
dCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbikKK3sKKyAg
ICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOwor
fQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luKQoreworICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pKTsKK30KKwogI2lmIFBM
QVRGT1JNKENPQ09BKQogdm9pZCBXZWJQYWdlUHJveHk6OmFwcFByaXZhY3lSZXBvcnRUZXN0aW5n
RGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEFwcFByaXZhY3lSZXBvcnRUZXN0aW5n
RGF0YSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCAxZGRlMmFhMGFkNjQ2MzU1ZTI5MDZjNmUzZmZiMDgwMDhkNTI3MzY1
Li5hNjgzYjI3MWZlZDExOTQwNTY3NDgzOGQyN2IwODUxOTBkMjYyNTg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTAzLDExICs5MDMsMTQgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKHN0ZDo6b3B0aW9uYWw8SW5wdXRNZXRob2RT
dGF0ZT4mJik7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgb3JpZ2luKTsKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbik7
CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRl
cywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgYWNjZXNzaWJpbGl0eVZpZXdDb29yZGluYXRl
cyk7CiAgICAgdm9pZCBzZXRNYWluRnJhbWVJc1Njcm9sbGFibGUoYm9vbCk7Ci0KKyAgICAgICAg
CiAgICAgdm9pZCBzZW5kQ29tcGxleFRleHRJbnB1dFRvUGx1Z2luKHVpbnQ2NF90IHBsdWdpbkNv
bXBsZXhUZXh0SW5wdXRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHRleHRJbnB1dCk7CiAgICAg
Ym9vbCBzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRm9yRXZlbnQoY29uc3QgV2ViTW91c2VFdmVu
dCYpOwogICAgIGJvb2wgYWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBX
ZWJNb3VzZUV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggZGI1YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2
ZDk2ZS4uMDJkOGZkOWZiMjIwNmM4MzMxYjVjZDBkODZkNjE2YzBjODk5N2U5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTEw
LDYgKzUxMCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogICAgIERp
ZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCisgICAgCisgICAgUmVxdWVzdFNjcm9sbFRvUmVjdChX
ZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4p
CiAKICAgICBHZXRMb2FkRGVjaXNpb25Gb3JJY29uKHN0cnVjdCBXZWJDb3JlOjpMaW5rSWNvbiBp
Y29uLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA0NjIwZTc1ZDBhNTU2NTZl
ODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0Li42ZmI2Y2ViNDQxMjk0ODM4NjFkZWVhMTQ3ZTYxYTMy
OWVlYTIyNWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaApAQCAtMjE0LDcgKzIxNCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY3JvbGxp
bmdOb2RlU2Nyb2xsVmlld0RpZFNjcm9sbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5n
Tm9kZVNjcm9sbFdpbGxTdGFydFNjcm9sbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5n
Tm9kZVNjcm9sbERpZEVuZFNjcm9sbCgpIG92ZXJyaWRlOwotCisgICAgICAgIAorICAgIHZvaWQg
cmVxdWVzdFNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikgb3ZlcnJpZGU7CiAgICAgLy8gQXV4
aWxpYXJ5IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBX
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50JiBmdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xp
ZW50KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW0KaW5kZXggZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIzMTg1NzQ4ZDhjNzYx
N2VjMy4uMWJkMzMwNjVmMTBjMTcwZDA2NmNjYjdhNmY2YTVjNWU4NjMxODhkZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTAy
Myw2ICsxMDIzLDExIEBAIFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmll
d0JhY2tncm91bmRDb2xvcigpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IGJhY2tncm91bmRD
b2xvcl0uQ0dDb2xvcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRv
UmVjdChjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdp
bikKK3sKKyAgICBbbV9jb250ZW50VmlldyBfc2Nyb2xsVG9SZWN0OnRhcmdldFJlY3Qgd2l0aE9y
aWdpbjpvcmlnaW4gbWluaW11bVNjcm9sbERpc3RhbmNlOjBdOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IDZjNWM0ZTM5YzYx
NDgzZGFlOTBlNjkyY2M3ODY2OWRhYjc0OWU1ZGEuLmVhZmRkNDdhMjhmYmE4YzNlOTAyMDhhZmQ0
MjNlMmIwMTIyNzI0ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbE1hYy5oCkBAIC0yOTAsNiArMjkwLDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUo
REFUQV9ERVRFQ1RJT04pCiAgICAgdm9pZCBoYW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1
bHQoY29uc3QgV2ViQ29yZTo6RGF0YURldGVjdG9yRWxlbWVudEluZm8mLCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYpIGZpbmFsOwogI2VuZGlmCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNj
cm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmll
dzsKICAgICBXZWFrUHRyPFdlYlZpZXdJbXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5
OTkyOTRmODE1YzdjMWY2N2IzOGZkM2MyYy4uMjZhMDk4YjlhYWUzZGE5MjI5MjJhYTg5Yzk4OTIz
MzkwOWM2MTE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5tbQpAQCAtOTcyLDYgKzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpk
aWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBv
c2l0aW9uKCk7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3Qo
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50JiBvcmlnaW4pCit7CisgICAgLy8gRklYTUU6IEFkZCBhZGRpdGlvbmFsIGxvZ2ljIHRv
IGF2b2lkIE5vdGUgUGlwLgorICAgIG1faW1wbC0+c2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9y
aWdpbik7Cit9CisKIGJvb2wgUGFnZUNsaWVudEltcGw6OndpbmRvd0lzRnJvbnRXaW5kb3dVbmRl
ck1vdXNlKGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50KQogewogICAgIHJldHVybiBt
X2ltcGwtPndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGV2ZW50Lm5hdGl2ZUV2ZW50KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCA0OGJhY2YyNWZhZGRhZDdmZWQ2MTNkMjYzMDQ0
NGNmYzRjMWUxZDczLi5iNDliNDM0N2ZkYTZjNzc1YWEyNWI2MmE0YzM3Y2I5YTQ0NDYyNWEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNjU1LDYgKzY1NSwxMSBAQCB2b2lkIFdlYkNocm9t
ZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUm
IHNpemUpIGNvbgogICAgIH0KIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAoreworICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RTY3JvbGxUb1JlY3QocmVjdCwg
cmVjdC5jZW50ZXIoKSkpOworfQorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsQ29udGFp
bmluZ1Njcm9sbFZpZXdzVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdAogewogICAg
IG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZWY3OGViNjVmYThjMTU3
YzJlYjQwNDVjN2QwZjhkMzQzYzQ5N2I2MC4uYzc0N2Y5YzFiOWNlNzFlOTVkOGIwYmQwNjQwMjg1
ZWMwYmUzZjZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTMzLDcgKzEzMyw5IEBAIHByaXZh
dGU6CiAgICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZp
bmFsOwogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0
IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRl
bnRzU2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOworCiAg
ICAgdm9pZCBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEg
bm9uIGVtcHR5IGltcGxlbWVudGF0aW9uLgorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZl
YWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKIAogICAgIGJvb2wg
c2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oV2ViQ29yZTo6UmVuZGVyRW1i
ZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCBmaW5hbDsKICAg
ICB2b2lkIHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChXZWJDb3JlOjpFbGVtZW50Jiwg
V2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29u
KSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKaW5kZXggY2Q0NDhjNTMzYjA3ZjAyOWJiYjY0YjFhZDQ2ODJiY2E4NjE3YjA2Mi4uYTkx
NjA2OWJjZWJiOTJmMGJjYjZlOGY1ZDc2ZjE4MTc5ZDg2YWM2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc2NzcsNiArNzY3NywxMSBAQCB2
b2lkIFdlYlBhZ2U6Om1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3Qg
V2ViQ29yZTo6RWxlbWVudENvbnRleAogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZTo6c2Nyb2xs
VG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRQb2ludCYgb3JpZ2luKQoreworICAgIG1haW5GcmFtZVZpZXcoKS0+c2V0U2Nyb2xs
UG9zaXRpb24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgV0VCUEFHRV9SRUxFQVNFX0xPRwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDM2MjMzNWZkZDc4NTE4
YTI4ZTJmYjc2NDk4MzllMzIwMTBjOTJkYjMuLjk0OTdiN2MyMGZiYWFmZmQwOTVhNTUzZTNjZjE1
N2IwNmMxOWNmMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTExMzMsNiArMTEzMyw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYWx3YXlzU2hvd3NI
b3Jpem9udGFsU2Nyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2Fsd2F5c1Nob3dzSG9yaXpvbnRh
bFNjcm9sbGVyOyB9OwogICAgIGJvb2wgYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKCkgY29u
c3QgeyByZXR1cm4gbV9hbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXI7IH07CisgICAgCisgICAg
dm9pZCBzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pOwogCiAgICAgdm9pZCBzZXRNaW5pbXVt
U2l6ZUZvckF1dG9MYXlvdXQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIFdlYkNvcmU6
OkludFNpemUgbWluaW11bVNpemVGb3JBdXRvTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9taW5p
bXVtU2l6ZUZvckF1dG9MYXlvdXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDFjZWRhN2E3YmNhYjJkODBhZTRj
MjY5YjBmYzBlN2VkYjMxNTFkZDUuLjJjMzQ5ODM0M2ZjZmM3NmFhMDJjMDdkMGRhMjIzZGE3M2M3
ZjI4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgpAQCAtNjQ0LDYgKzY0NCw4IEBAIEdlbmVyYXRlU3ludGhldGljRWRp
dGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRU
eXBlCiAgICAgVXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChzdHJ1Y3QgV2ViQ29yZTo6
VGV4dFJlY29nbml0aW9uUmVzdWx0IHJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250
ZXh0IGVsZW1lbnQsIFdlYkNvcmU6OkZsb2F0UG9pbnQgbG9jYXRpb24pIC0+IChlbnVtOnVpbnQ4
X3QgV2ViS2l0OjpUZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1bHQgcmVzdWx0KSBBc3luYwogI2Vu
ZGlmCiAKKyAgICBTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdl
YkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQorCiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklF
V19NQUMpCiAgICAgTW9kZWxFbGVtZW50UHJldmlld0RpZE9idGFpbkNvbnRleHRJZChzdHJ1Y3Qg
V2ViQ29yZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFN0cmluZyB1dWlkLCB1aW50
MzJfdCBjb250ZXh0SWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggY2ZhNmE5NWY1M2Vj
MjMwNDVhNDNmMjg0MTNmYTg3ZGQ3MTcxYjUzZS4uOTBkMGY2ZGQxMjQ2OWZiNDdiZjIxNTY4ODBi
NDQ3N2RjOTdmNzhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTExMiw4ICsxMTIsOCBAQCBwcml2
YXRlOgogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBm
aW5hbDsKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25z
dCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250
ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbCB7IH0K
LSAgICB2b2lkIHNjcm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAKKyAgICB2b2lkIHNjcm9sbENvbnRhaW5p
bmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCBzZXRTdGF0dXNiYXJUZXh0KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRl
OwogCiAgICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihXZWJD
b3JlOjpSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNv
bnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA2NzU2YTBjOTE3N2I3NTgxZmI4Zjg5MDM2
MzQwNmFjYWUyNjkxN2E5Li5kMDU3MjgxY2M0OTdlZDE1ZDg1MTA0MDQxOTYwODQ3M2UxNTAxNGY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKICNlbmRpZgog
CiAgICAgdm9pZCBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0K
IAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSkgZmluYWw7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433636</attachid>
            <date>2021-07-15 16:41:21 -0700</date>
            <delta_ts>2021-07-16 09:25:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227914-20210715164120.patch</filename>
            <type>text/plain</type>
            <size>39854</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI0MDYxNzkwMTdlYTk4
ZDZjNmI5ZjZmNjY4MWRiN2ZkNDE5YTcyZi4uNWFmNzJmYzk4ZGJlODhjMTc1NjUyYWExYjQ4OGE2
OWQwYjY0YWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgYXZvaWQgdGhlIG5vdGUgb3Zl
cmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRoZSB3ZWIgdmlldywKKyAgICAgICAg
d2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3VnaCB0aGUgVUkgcHJvY2Vzcy4gVGhp
cyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQgd2lsbCBiZSBmb2xsb3dlZCB1cCBz
aG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3b3JrIG9mIG92ZXJsYXkgYXZvaWRh
bmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNlcyB0aGUgbWFpbiBmcmFtZSBVSSBT
Y3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZvciAKKyAgICAgICAgbWFjLCB3ZSBu
ZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYWRqdXN0
aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGluZm9ybWF0aW9uLgorCisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBIaWdobGlnaHRTdG9yYWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5k
U2Nyb2xsKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzY3JvbGxJbnRvVmlldyk6CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6bW92ZVdpdGhv
dXRWYWxpZGF0aW9uVG8pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNl
bGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2
ZWFsU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZyYW1l
VG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6c2Ny
b2xsUmVjdEludG9WaWV3IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1Njcm9sbEJl
aGF2aW9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnVzZVNtb290aFNjcm9sbGluZyk6CisgICAg
ICAgICogcGFnZS9TY3JvbGxCZWhhdmlvci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5
cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKwogMjAyMS0wNy0xNSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlZGRpdCBQaVAgdmlkZW8gcGF1c2VzIHdoZW4gc2Nyb2xs
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDEwNWZiN2IyMGU5Y2NjMjJkNjhjZjYxMWRlZDhlNGRjOGMwM2Q3ZGEu
LjU0Mjg4NjZlNDQ5MGJlM2YyNGQzMjU0MTg5Y2I3NjgyMDc3YmRmYjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Nyb2xsaW5nIHRocm91Z2gg
VUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBPdmVybGF5IGF2b2lkYW5jZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkxNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIG9yZGVyIHRv
IGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9i
c2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBuZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGlu
ZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBhdGNoIGRvZXMgdGhhdCB3b3JrCisgICAg
ICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUg
YWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIEZvciBpT1MsIHRoaXMg
anVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9sbGluZyB0aGF0IHdlIGFscmVhZHkgdXNl
LCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQgdG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGlu
IHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3RpbmcgaXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAg
ICAgICAgaW5mb3JtYXRpb24uIAorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNs
aWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNj
cm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW46CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVl
c3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzY3Jv
bGxNYWluRnJhbWVUb1JldmVhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJv
bWVDbGllbnQ6OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNjcm9sbFRvUmVjdCk6CisKIDIwMjEt
MDctMTUgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW5hbWUgc2Nyb2xsUmVjdEludG9WaWV3IHRvIHNjcm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3
c1RvUmV2ZWFsUmVjdCBmb3IgY2xhcml0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCBkYmY2Njc1M2M3MjE5ZjBmMjcyYWJiYWQ3MjhhOTIwMTBiMjBhZTUxLi5lYmRlNzk4YTZhNzM2
YTMyODg3MGE1MzY5YjY2OWI2MmIzOWNjNjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMTMgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJk
bmVyQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIEFwcCBIaWdobGlnaHQgc2Nyb2xsaW5nIHRo
cm91Z2ggVUkgUHJvY2VzcyBpbiBwcmVwYXJhdGlvbiBmb3IgTm90ZSBPdmVybGF5IGF2b2lkYW5j
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzkx
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWlu
RnJhbWVUb1JldmVhbFJlY3QgY29uc3QpOgorCiAyMDIxLTA3LTE1ICBNZWdhbiBHYXJkbmVyICA8
bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIHNjcm9sbFJlY3RJbnRv
VmlldyB0byBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QgZm9yIGNsYXJp
dHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNl
N2MyYmYzYzdmMmUzMTBiNjBmNC4uNTU5ZWY1NWU1MjIxNTRiNGZjYmMxMjVmMDllNGIwMjcyNTQw
YTY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIx
LTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJl
cGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorCiAyMDIxLTA3LTA3ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFtDYWlyb10gTWVyZ2UgUGxhdGZvcm1Db250ZXh0Q2Fpcm8gaW50
byBHcmFwaGljc0NvbnRleHRDYWlybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9oaWdobGlnaHQvQXBwSGlnaGxpZ2h0U3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAppbmRleCA3ODBmYzUxNmRmZTU2
OTA1MDYwNjZkMmFhOTJmM2Q4M2UwNTVhZTcxLi42NmVlZTI3M2U4NzNmODJkODM4NGYzMDdiZjM4
YTBlODEzNjkxNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hp
Z2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcApAQCAtMjcxLDcgKzI3MSw3IEBAIGJvb2wg
QXBwSGlnaGxpZ2h0U3RvcmFnZTo6YXR0ZW1wdFRvUmVzdG9yZUhpZ2hsaWdodEFuZFNjcm9sbChB
cHBIaWdobGlnaHRSYW5nZURhCiAgICAgICAgIGlmICh0ZXh0SW5kaWNhdG9yKQogICAgICAgICAg
ICAgbV9kb2N1bWVudC0+cGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXRUZXh0SW5kaWNhdG9y
KHRleHRJbmRpY2F0b3ItPmRhdGEoKSk7CiAgICAgICAgIAotICAgICAgICBUZW1wb3JhcnlTZWxl
Y3Rpb25DaGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1
ZSgpIH0sIHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpSZXZlYWxTZWxlY3Rpb24sIFRlbXBv
cmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsLCBUZW1wb3JhcnlTZWxlY3Rpb25PcHRp
b246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsbWVudCB9KTsKKyAgICAgICAgVGVt
cG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHNlbGVjdGlvbkNoYW5nZSgqc3Ryb25nRG9jdW1lbnQsIHsg
cmFuZ2UudmFsdWUoKSB9LCB7IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWlu
RnJhbWVTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Nyb2xsIH0pOwog
ICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGVjYjcx
ODkwZDdlNGQ0ZDllMDFmODc2YTE3NGQ1OTNiMjQzYjJmMzEuLmRhYjI1NmNmY2MwODg4Mzk2NTRl
YjI2ZTVmM2NkOTNiZjBhNzljNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTkzNyw4ICs5
MzcsNyBAQCB2b2lkIEVsZW1lbnQ6OnNjcm9sbEludG9WaWV3KHN0ZDo6b3B0aW9uYWw8VmFyaWFu
dDxib29sLCBTY3JvbGxJbnRvVmlld09wdGlvbnM+PgogICAgICAgICBpc0hvcml6b250YWwgPyBh
bGlnblggOiBhbGlnblksCiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWSA6IGFsaWduWCwK
ICAgICAgICAgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8sCi0gICAgICAgIG9w
dGlvbnMuYmVoYXZpb3IudmFsdWVfb3IoU2Nyb2xsQmVoYXZpb3I6OkF1dG8pLAotICAgICAgICBT
bW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdAorICAgICAgICBvcHRpb25zLmJl
aGF2aW9yLnZhbHVlX29yKFNjcm9sbEJlaGF2aW9yOjpBdXRvKQogICAgIH07CiAgICAgcmVuZGVy
ZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShhYnNvbHV0ZUJvdW5kcywgaW5zaWRlRml4ZWQsIHZp
c2libGVPcHRpb25zKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCA4NjM3MTYz
N2ExNGMyYzg0OTJjNzdmYmI5NzgxM2ZkMGNkZTRhY2I0Li5jM2IxOTI1ZTY3Y2QzYzdhYjMzMjY1
MTc1ZTJlNDk4ZjFmZDVlZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNjUs
MTAgKzI2NSwxMCBAQCB2b2lkIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZTo6c2V0U2VsZWN0aW9u
KGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5hZGQo
RnJhbWVTZWxlY3Rpb246OkRvTm90U2V0Rm9jdXMpOwogICAgIGlmIChtX29wdGlvbnMgJiBUZW1w
b3JhcnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbikKICAgICAgICAgb3B0aW9ucy5h
ZGQoRnJhbWVTZWxlY3Rpb246OlJldmVhbFNlbGVjdGlvbik7CisgICAgaWYgKG1fb3B0aW9ucyAm
IFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGwpCisgICAg
ICAgIG9wdGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCk7
CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6U21vb3RoU2Ny
b2xsKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6U21vb3RoU2Nyb2xsKTsK
LSAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpPdmVycmlkZVNt
b290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQpCi0gICAgICAgIG9wdGlvbnMuYWRkKEZyYW1lU2Vs
ZWN0aW9uOjpPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50KTsKICAgICBtX2Rv
Y3VtZW50LT5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBvcHRpb25zKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggYjlkNzMwYjY3ZGY5ZmZlM2E5N2ViOGRjNWNh
YTMzYTA5NTQ2MzMxYS4uZmQ1OWJmZmFlNzJkNWZhZjkyNDcyM2VmNDc5YjI4NTYwNjAzODk1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgZW51bSBjbGFzcyBU
ZW1wb3JhcnlTZWxlY3Rpb25PcHRpb24gOiB1aW50OF90IHsKICAgICAKICAgICBTbW9vdGhTY3Jv
bGwgPSAxIDw8IDQsCiAgICAgCi0gICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxt
ZW50ID0gMSA8PCA1LAorICAgIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsID0gMSA8PCA1LAogfTsK
IAogY2xhc3MgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggZmNkODBkMWNiY2E3OGIwYWU0NDE3MmEzODlkYTdm
M2YzZjU0MDVjZC4uMWNhM2JmYmM5MjFjNDU3OTY4NGIxMDM1MDJlNGM1MzMyYzI5MTEyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIzMiw2ICsyMzIs
OSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZhbGlkYXRpb25Ubyhjb25zdCBQ
b3NpdGlvbiYgYmFzZSwgY29uc3QgUG9zaXRpbwogICAgIGNhc2UgU2VsZWN0aW9uUmV2ZWFsTW9k
ZTo6UmV2ZWFsVXBUb01haW5GcmFtZToKICAgICAgICAgb3B0aW9ucy5hZGQoUmV2ZWFsU2VsZWN0
aW9uVXBUb01haW5GcmFtZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VsZWN0aW9uUmV2
ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJhbWVTY3JvbGw6CisgICAgICAgIG9wdGlvbnMuYWRkKERl
bGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHNldFNl
bGVjdGlvbihuZXdTZWxlY3Rpb24sIG9wdGlvbnMsIG5ld0ludGVudCk7CiB9CkBAIC00MzIsNiAr
NDM1LDggQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVT
ZWxlY3Rpb24mIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICAgICAgbV9zZWxlY3Rpb25SZXZl
YWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsVXBUb01haW5GcmFtZTsKICAgICBl
bHNlIGlmIChvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBtX3NlbGVjdGlvblJl
dmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWw7CisgICAgZWxzZSBpZiAob3B0
aW9ucyAmIERlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKQorICAgICAgICBtX3NlbGVjdGlvblJldmVh
bE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbDsKICAg
ICBlbHNlCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1v
ZGU6OkRvTm90UmV2ZWFsOwogICAgIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZl
YWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOwpAQCAt
NDQ2LDcgKzQ1MSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbihjb25zdCBW
aXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24sIE9wdGlvblNldDxTCiAgICAgaWYgKGZyYW1lVmll
dyAmJiBmcmFtZVZpZXctPmxheW91dENvbnRleHQoKS5pc0xheW91dFBlbmRpbmcoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGludGVudCwgb3B0aW9u
cy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZpb3I6OlNtb290aCA6IFNjcm9s
bEJlaGF2aW9yOjpJbnN0YW50LCBvcHRpb25zLmNvbnRhaW5zKE92ZXJyaWRlU21vb3RoU2Nyb2xs
RmVhdHVyZUVuYWJsZW1lbnQpID8gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6Ok92ZXJy
aWRlIDogU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRlZmF1bHQpOworICAgIHVwZGF0
ZUFuZFJldmVhbFNlbGVjdGlvbihpbnRlbnQsIG9wdGlvbnMuY29udGFpbnMoU21vb3RoU2Nyb2xs
KSA/IFNjcm9sbEJlaGF2aW9yOjpTbW9vdGggOiBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCk7CiAK
ICAgICBpZiAob3B0aW9ucyAmIElzVXNlclRyaWdnZXJlZCkgewogICAgICAgICBpZiAoYXV0byog
Y2xpZW50ID0gcHJvdGVjdGVkRG9jdW1lbnQtPmVkaXRvcigpLmNsaWVudCgpKQpAQCAtNDczLDcg
KzQ3OCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnNldE5lZWRzU2VsZWN0aW9uVXBkYXRlKFJl
dmVhbFNlbGVjdGlvbkFmdGVyVXBkYXRlIHJldmVhbE1vCiAgICAgICAgIHZpZXctPnNlbGVjdGlv
bigpLmNsZWFyKCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFuZFJldmVhbFNl
bGVjdGlvbihjb25zdCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYgaW50ZW50LCBTY3JvbGxCZWhh
dmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgb3Zlcmlk
ZUZlYXR1cmVFbmFibGVtZW50KQordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFs
U2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJl
aGF2aW9yIHNjcm9sbEJlaGF2aW9yKQogewogICAgIGlmICghbV9wZW5kaW5nU2VsZWN0aW9uVXBk
YXRlKQogICAgICAgICByZXR1cm47CkBAIC00OTAsNyArNDk1LDcgQEAgdm9pZCBGcmFtZVNlbGVj
dGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JiBpbnQKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNB
bGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVu
dDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7
CiAKLSAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSwgYWxpZ25t
ZW50LCBSZXZlYWxFeHRlbnQsIHNjcm9sbEJlaGF2aW9yLCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpOworICAgICAgICByZXZlYWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGln
bm1lbnQsIFJldmVhbEV4dGVudCwgc2Nyb2xsQmVoYXZpb3IpOwogICAgIH0KIAogICAgIG5vdGlm
eUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoaW50ZW50KTsKQEAgLTIzOTAsNyArMjM5
NSw3IEBAIEhUTUxGb3JtRWxlbWVudCogRnJhbWVTZWxlY3Rpb246OmN1cnJlbnRGb3JtKCkgY29u
c3QKICAgICByZXR1cm4gc2NhbkZvckZvcm0oc3RhcnQpOwogfQogCi12b2lkIEZyYW1lU2VsZWN0
aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBjb25z
dCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVhbEV4
dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IsIFNtb290aFNjcm9sbEZl
YXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCit2b2lkIEZyYW1lU2Vs
ZWN0aW9uOjpyZXZlYWxTZWxlY3Rpb24oU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlLCBj
b25zdCBTY3JvbGxBbGlnbm1lbnQmIGFsaWdubWVudCwgUmV2ZWFsRXh0ZW50T3B0aW9uIHJldmVh
bEV4dGVudE9wdGlvbiwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVoYXZpb3IpCiB7CiAgICAgaWYg
KHJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwpCiAgICAgICAg
IHJldHVybjsKQEAgLTI0MTMsNyArMjQxOCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVh
bFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAg
ICAgICAgICAgICBpZiAoIW1fc2Nyb2xsaW5nU3VwcHJlc3NDb3VudCkgewogICAgICAgICAgICAg
ICAgIGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXItPmVuc3VyZUxheWVyU2Nyb2xsYWJsZUFy
ZWEoKTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRqdXN0Rm9ySU9TQ2Fy
ZXRXaGVuU2Nyb2xsaW5nKHRydWUpOwotICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0
VG9WaXNpYmxlKHJlY3QsIGluc2lkZUZpeGVkLCB7IHJldmVhbE1vZGUsIGFsaWdubWVudCwgYWxp
Z25tZW50LCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMsIHNjcm9sbEJlaGF2
aW9yLCBvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50fSk7CisgICAgICAgICAgICAgICAgbGF5ZXIt
PnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxp
Z25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywg
c2Nyb2xsQmVoYXZpb3J9KTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0QWRq
dXN0Rm9ySU9TQ2FyZXRXaGVuU2Nyb2xsaW5nKGZhbHNlKTsKICAgICAgICAgICAgICAgICB1cGRh
dGVBcHBlYXJhbmNlKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fZG9jdW1lbnQtPnBhZ2UoKSkK
QEAgLTI0MjQsNyArMjQyOSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVjdGlv
bihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sCiAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGNvZGUgb25seSBoYW5kbGVzIHNjcm9sbGluZyB0aGUgc3RhcnRDb250YWlu
ZXIncyBsYXllciwgYnV0CiAgICAgICAgIC8vIHRoZSBzZWxlY3Rpb24gcmVjdCBjb3VsZCBpbnRl
cnNlY3QgbW9yZSB0aGFuIGp1c3QgdGhhdC4KICAgICAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxl
bS80Nzk5ODk5Pi4KLSAgICAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVy
KCktPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwg
YWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olll
cywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnR9KSkKKyAgICAgICAg
aWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnJlbmRlcmVyKCktPnNjcm9sbFJlY3RUb1Zpc2li
bGUocmVjdCwgaW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQs
IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3J9KSkK
ICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCA5M2E1OWQ1ODY0MjRiMjdmNmE4YTg3
NzBhNGJmZDUzMjIxMjYyNDY5Li43ZTFkODk0OWQwNzE3OTUwMTM3Mjk3NTkzZDkxOTlmNDdiZTQ5
NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0xMjQsNyAr
MTI0LDcgQEAgcHVibGljOgogICAgICAgICBSZXZlYWxTZWxlY3Rpb24gPSAxIDw8IDcsCiAgICAg
ICAgIFJldmVhbFNlbGVjdGlvblVwVG9NYWluRnJhbWUgPSAxIDw8IDgsCiAgICAgICAgIFNtb290
aFNjcm9sbCA9IDEgPDwgOSwKLSAgICAgICAgT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5h
YmxlbWVudCA9IDEgPDwgMTAKKyAgICAgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8
IDEwCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxTZXRTZWxlY3Rpb25P
cHRpb24+IGRlZmF1bHRTZXRTZWxlY3Rpb25PcHRpb25zKEVVc2VyVHJpZ2dlcmVkID0gTm90VXNl
clRyaWdnZXJlZCk7CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JF
X0VYUE9SVCBIVE1MRm9ybUVsZW1lbnQqIGN1cnJlbnRGb3JtKCkgY29uc3Q7CiAKLSAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2Vs
ZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQmID0gU2Nyb2xs
QWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRpb24gPSBEb05v
dFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFudCwg
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudDo6RGVmYXVsdCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXZlYWxTZWxlY3Rpb24o
U2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCwgY29uc3Qg
U2Nyb2xsQWxpZ25tZW50JiA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwg
UmV2ZWFsRXh0ZW50T3B0aW9uID0gRG9Ob3RSZXZlYWxFeHRlbnQsIFNjcm9sbEJlaGF2aW9yID0g
U2Nyb2xsQmVoYXZpb3I6Okluc3RhbnQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2Vs
ZWN0aW9uRnJvbU5vbmUoKTsKIAogICAgIGJvb2wgc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRTaG93QmxvY2tDdXJzb3I7IH0KQEAgLTI2Myw3ICsyNjMsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGcm9tQXNzb2NpYXRlZExpdmVSYW5nZSgpOwogCiBw
cml2YXRlOgotICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFYVGV4dFN0
YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6SW5zdGFu
dCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQgPSBTbW9vdGhTY3JvbGxGZWF0dXJlRW5h
YmxlbWVudDo6T3ZlcnJpZGUpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNv
bnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JiwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhh
dmlvcjo6SW5zdGFudCk7CiAgICAgdm9pZCB1cGRhdGVEYXRhRGV0ZWN0b3JzRm9yU2VsZWN0aW9u
KCk7CiAKICAgICBib29sIHNldFNlbGVjdGlvbldpdGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29u
c3QgVmlzaWJsZVNlbGVjdGlvbiYsIE9wdGlvblNldDxTZXRTZWxlY3Rpb25PcHRpb24+LCBDdXJz
b3JBbGlnbk9uU2Nyb2xsLCBUZXh0R3JhbnVsYXJpdHkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IDM0ODZmMzlhMDE4NTFhMmM4NzE5ZjRhZGI0NzQzOTkwMTgxZjA5NWUu
LmU5ZmNkYjUzNWE2NmVkNDk5MGUzMWQzNzQ2MWI1YjgxMjVkNjc5NWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBjbGFzcyBFbXB0eUNocm9t
ZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgc2V0Q3Vyc29ySGlkZGVu
VW50aWxNb3VzZU1vdmVzKGJvb2wpIGZpbmFsIHsgfQogCiAgICAgdm9pZCBzY3JvbGxDb250YWlu
aW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsg
fQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBj
b25zdCBmaW5hbCB7IH0KIAogICAgIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUm
LCBHcmFwaGljc0xheWVyKikgZmluYWwgeyB9CiAgICAgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdy
YXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
CmluZGV4IGRmZTc3MTkzNWRjNjAxOWZkNzg0ZmI5NjdhMmU2MTNkMzY3MjJlYWMuLjQ2NGZhZTc3
ZDM3Y2NkZGFlYWEwZTZlNjY5MTgwYjA4YmY3YTAwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAK
QEAgLTEzOSw2ICsxMzksMTEgQEAgdm9pZCBDaHJvbWU6OnNjcm9sbENvbnRhaW5pbmdTY3JvbGxW
aWV3c1RvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAogICAgIG1fY2xpZW50
LnNjcm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChyZWN0KTsKIH0KIAordm9p
ZCBDaHJvbWU6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0
KSBjb25zdAoreworICAgIG1fY2xpZW50LnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChyZWN0
KTsKK30KKwogdm9pZCBDaHJvbWU6OnNldFdpbmRvd1JlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0
KSBjb25zdAogewogICAgIG1fY2xpZW50LnNldFdpbmRvd1JlY3QocmVjdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWUuaAppbmRleCA3ZjZmM2MzYjNjN2VkYWU1YjNlZjE1N2FkZjE4MmMxYjc0OTk4MGYxLi5kMTM1
ZjlhMDE5YjJlZjAwYTE3ZWYyZTE5Y2Y0MTEyYTI5MDJhM2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgK
QEAgLTk5LDYgKzk5LDcgQEAgcHVibGljOgogICAgIEZsb2F0U2l6ZSBvdmVycmlkZVNjcmVlblNp
emUoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgc2Nyb2xsQ29udGFpbmluZ1Njcm9sbFZp
ZXdzVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdDsKKyAgICB2b2lkIHNjcm9sbE1h
aW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIGNv
bnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGY3ZGU2NmZiZGUwZjFhNzkzNDM3Y2I0OTA4NmFk
YTZmZWZkMjMzNjcuLjQ4NjJiNmE3NzlkZmVkODcxM2FmNDA1ZTkxZGNhZmVkNTJlZTk5ODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMjI4LDcgKzIyOCw5IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKEZyYW1lJiwgY29uc3QgSW50
U2l6ZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaW50cmluc2ljQ29udGVudHNTaXpl
Q2hhbmdlZChjb25zdCBJbnRTaXplJikgY29uc3QgPSAwOworCiAgICAgdmlydHVhbCB2b2lkIHNj
cm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29u
c3QgeyB9OyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVtcHR5IGltcGxlbWVudGF0
aW9uLgorICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3Qg
SW50UmVjdCYpIGNvbnN0IHsgfTsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVbmF2YWlsYWJs
ZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFp
bGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lk
IHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChFbGVtZW50JiwgUmVuZGVyRW1iZWRkZWRP
YmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKaW5kZXggZmJkYTUxMDUxZjIyYmM3YzA5OGY1M2Y1MjRh
M2JkYzFiZWQzZDI4Zi4uODUxYzU4ZTI1YTU1YTY1YzI5MWEwYmQzOTQzYmIzMDZhMzljMGE3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1ib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxC
ZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNjcm9s
bEZlYXR1cmVFbmFibGVtZW50IG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQpCitib29sIHVzZVNt
b290aFNjcm9sbGluZyhTY3JvbGxCZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRl
ZEVsZW1lbnQpCiB7CiAgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtNDMsNyArNDMsNyBAQCBib29sIHVzZVNtb290aFNjcm9sbGluZyhTY3JvbGxC
ZWhhdmlvciBiZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtbwogICAgIGlm
IChhc3NvY2lhdGVkRWxlbWVudCA9PSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS5zY3Jv
bGxpbmdFbGVtZW50KCkpCiAgICAgICAgIGFzc29jaWF0ZWRFbGVtZW50ID0gYXNzb2NpYXRlZEVs
ZW1lbnQtPmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7CiAKLSAgICBpZiAoIWFzc29jaWF0
ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8IChvdmVycmlkZUZlYXR1cmVFbmFibGVtZW50ID09IFNt
b290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0ICYmICFhc3NvY2lhdGVkRWxlbWVu
dC0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQo
KSkpCisgICAgaWYgKCFhc3NvY2lhdGVkRWxlbWVudC0+cmVuZGVyZXIoKSB8fCAhYXNzb2NpYXRl
ZEVsZW1lbnQtPmRvY3VtZW50KCkuc2V0dGluZ3MoKS5DU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdF
bmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3NvbS12aWV3LyNzY3JvbGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2Nyb2xsQmVoYXZpb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Nyb2xsQmVo
YXZpb3IuaAppbmRleCBjY2JhMzA5YzcwZWM0YjlhYTE1MzFhOTkzODQ4YjUzOWU4YTcwY2QzLi5l
ZWU4MmUzMTA4ZGRkM2FmNGE2YWVkZTAwY2Q1NjNiNzFkMTA0OWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TY3JvbGxCZWhhdmlvci5oCkBAIC0zNSw4ICszNSw2IEBAIGVudW0gY2xhc3MgU2Nyb2xsQmVo
YXZpb3IgOiB1aW50OF90IHsKICAgICBTbW9vdGgKIH07CiAKLWVudW0gY2xhc3MgU21vb3RoU2Ny
b2xsRmVhdHVyZUVuYWJsZW1lbnQgOiBib29sIHsgRGVmYXVsdCwgT3ZlcnJpZGUgfTsKLQotYm9v
bCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQqIGFzc29jaWF0ZWRF
bGVtZW50LCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50OjpEZWZhdWx0KTsKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJl
aGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IDBiMWM0MDU2M2U4
Y2JiODIyYTlmZWJhNGMwYzQ2NWY4YTU3NGE5M2IuLjQyM2U3MGVmZWFkYmY1NDY2YmMwYjM2OGU4
MWNlMjYxMDcwZmI3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAt
MjQxLDYgKzI0MSw3IEBAIGVudW0gY2xhc3MgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gOiB1
aW50OF90IHsKIGVudW0gY2xhc3MgU2VsZWN0aW9uUmV2ZWFsTW9kZSA6IHVpbnQ4X3QgIHsKICAg
ICBSZXZlYWwsCiAgICAgUmV2ZWFsVXBUb01haW5GcmFtZSwgLy8gU2Nyb2xsIG92ZXJmbG93IGFu
ZCBpZnJhbWVzLCBidXQgbm90IHRoZSBtYWluIGZyYW1lLgorICAgIERlbGVnYXRlTWFpbkZyYW1l
U2Nyb2xsLCAvLyBTaW1pbGFyIHRvIFJldmVhbFVwVG9NYWluRnJhbWUsIGJ1dCBtYWtlIHN1cmUg
dG8gbWFudWFsbHkgY2FsbCB0aGUgbWFpbiBmcmFtZSBzY3JvbGwuCiAgICAgRG9Ob3RSZXZlYWwK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGUwMTc2
NWQzOTAwNzg0YmY0YTk4MDgyYzljZWU2ZTQzYTg1NTg1YTQuLjhmYzYyNWQ2MDg5NGM4MDYwZTBi
Yzg0NmMxNzhlYWFiZjEzMDBkZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcApAQCAtMjQwNSw3ICsyNDA1LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVj
dFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAg
ICBhdXRvIHNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9uc0ZvckVsZW1lbnQgPSBbdGhpcywgb3B0
aW9uc10oRWxlbWVudCogZWxlbWVudCkKICAgICB7CiAgICAgICAgIGF1dG8gc2Nyb2xsUG9zaXRp
b25PcHRpb25zID0gU2Nyb2xsUG9zaXRpb25DaGFuZ2VPcHRpb25zOjpjcmVhdGVQcm9ncmFtbWF0
aWMoKTsKLSAgICAgICAgaWYgKCFyZW5kZXJlcigpLmZyYW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0
b3Njcm9sbEluUHJvZ3Jlc3MoKSAmJiBlbGVtZW50ICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRp
b25zLmJlaGF2aW9yLCBlbGVtZW50LCBvcHRpb25zLm92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQp
KQorICAgICAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Ny
b2xsSW5Qcm9ncmVzcygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMu
YmVoYXZpb3IsIGVsZW1lbnQpKQogICAgICAgICAgICAgc2Nyb2xsUG9zaXRpb25PcHRpb25zLmFu
aW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKICAgICAgICAgcmV0dXJuIHNjcm9sbFBvc2l0
aW9uT3B0aW9uczsKICAgICB9OwpAQCAtMjQ3Nyw2ICsyNDc3LDExIEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBi
b29sIGluc2lkCiAgICAgICAgICAgICBpZiAob3B0aW9ucy5yZXZlYWxNb2RlID09IFNlbGVjdGlv
blJldmVhbE1vZGU6OlJldmVhbFVwVG9NYWluRnJhbWUgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNN
YWluRnJhbWUoKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgICAgIGlmIChv
cHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RGVsZWdhdGVNYWluRnJh
bWVTY3JvbGwgJiYgZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSkgeworICAgICAgICAg
ICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5zY3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3Qoc25hcHBl
ZEludFJlY3QoYWJzb2x1dGVSZWN0KSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorCiAgICAgICAgICAgICBhdXRvIG1pblNjcm9sbFBvc2l0aW9uID0gZnJhbWVWaWV3
Lm1pbmltdW1TY3JvbGxQb3NpdGlvbigpOwogICAgICAgICAgICAgYXV0byBtYXhTY3JvbGxQb3Np
dGlvbiA9IGZyYW1lVmlldy5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKTsKIApAQCAtMjUxMiw3ICsy
NTE3LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlv
dXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgLy8gVGhpcyBpcyB0aGUgb3V0ZXJtb3N0IHZpZXcgb2YgYSB3ZWIgcGFnZSwgc28gYWZ0
ZXIgc2Nyb2xsaW5nIHRoaXMgdmlldyB3ZQotICAgICAgICAgICAgLy8gc2Nyb2xsIGl0cyBjb250
YWluZXIgYnkgY2FsbGluZyBQYWdlOjpzY3JvbGxSZWN0SW50b1ZpZXcuCisgICAgICAgICAgICAv
LyBzY3JvbGwgaXRzIGNvbnRhaW5lciBieSBjYWxsaW5nIFBhZ2U6OnNjcm9sbE1haW5GcmFtZVRv
UmV2ZWFsUmVjdC4KICAgICAgICAgICAgIC8vIFRoaXMgb25seSBoYXMgYW4gZWZmZWN0IG9uIHRo
ZSBNYWMgcGxhdGZvcm0gaW4gYXBwbGljYXRpb25zCiAgICAgICAgICAgICAvLyB0aGF0IHB1dCB3
ZWIgdmlld3MgaW50byBzY3JvbGxpbmcgY29udGFpbmVycywgc3VjaCBhcyBNYWMgT1MgWCBNYWls
LgogICAgICAgICAgICAgLy8gVGhlIGNhbkF1dG9zY3JvbGwgZnVuY3Rpb24gaW4gRXZlbnRIYW5k
bGVyIGFsc28ga25vd3MgYWJvdXQgdGhpcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmgKaW5kZXggMGRkY2ZlZWUwNjAzZGM5NWFiZDcwM2NmYzk4YTczYzE2MmI1YTNmZS4uMmJi
NjJjNWI4MDc1MGNhZmRjYzg3YWMzODFiNDVlOWJlNGQ0ZTg2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTE0MSw3ICsxNDEsNiBAQCBzdHJ1Y3QgU2Nyb2xsUmVj
dFRvVmlzaWJsZU9wdGlvbnMgewogICAgIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25ZIHsg
U2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkIH07CiAgICAgU2hvdWxkQWxsb3dD
cm9zc09yaWdpblNjcm9sbGluZyBzaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nIHsgU2hv
dWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6Tm8gfTsKICAgICBTY3JvbGxCZWhhdmlvciBi
ZWhhdmlvciB7IFNjcm9sbEJlaGF2aW9yOjpBdXRvIH07Ci0gICAgU21vb3RoU2Nyb2xsRmVhdHVy
ZUVuYWJsZW1lbnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCB7IFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50OjpEZWZhdWx0IH07CiB9OwogCiB1c2luZyBTY3JvbGxpbmdTY29wZSA9IHVp
bnQ2NF90OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdl
Q2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGll
bnRJbXBsLmNwcAppbmRleCAyMGU4OGQzODE0MGI5ZTlmMmQzYmRhNDE3ZDA3YTBjZTI2NDVlNTk4
Li4xNzczZjkyYjlkY2NmMTZmYjhlY2I1NWFjMTUwMzg5MTkwY2M2MTU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcApAQCAtOTcs
NiArOTcsMTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbChjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW4KICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKIFdlYkNvcmU6OkZsb2F0UG9pbnQgUGFnZUNsaWVudEltcGw6
OnZpZXdTY3JvbGxQb3NpdGlvbigpCiB7CiAgICAgcmV0dXJuIHsgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAppbmRleCA1NmY1OTRmYWE2
YjY0OWNhYmQyOTg3NTRkN2RhMmYyNThiZjM3MGQ3Li5lYzg5Y2UwNGU2ODAxM2Q1MGI5YzJkMjY0
MmNmOGEzOTU5MTE0MTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC02Myw2ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPERyYXdpbmdBcmVhUHJveHk+IGNyZWF0ZURyYXdpbmdBcmVhUHJveHkoV2ViUHJv
Y2Vzc1Byb3h5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0
IFdlYkNvcmU6OlJlZ2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVxdWVzdFNjcm9sbChjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIHNjcm9sbE9yaWdpbikgb3ZlcnJpZGU7CisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9S
ZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgb3JpZ2luKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IHZp
ZXdTY3JvbGxQb3NpdGlvbigpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkludFNpemUgdmlld1Np
emUoKSBvdmVycmlkZTsKICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggODJlMzgy
ODAzN2IwNjRmNWJkMzZiN2RkNTM2YzYwYTBhMjkzM2FhMC4uZTgyNjBhNTlkOTRjZGM5MzhmMDEx
Yzg5ZTgxZjg1NDAyMzIyZDk5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5oCkBAIC01NDYsNiArNTQ2LDggQEAgcHVibGljOgogICAgIHZvaWQgZ2VzdHVy
ZUV2ZW50V2FzTm90SGFuZGxlZEJ5V2ViQ29yZUZyb21WaWV3T25seShOU0V2ZW50ICopOwogCiAg
ICAgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTsKKyAgICAKKyAgICB2b2lkIHNjcm9s
bFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBv
aW50Jik7CiAKICAgICB2b2lkIHNldFRvdGFsSGVpZ2h0T2ZCYW5uZXJzKENHRmxvYXQgdG90YWxI
ZWlnaHRPZkJhbm5lcnMpIHsgbV90b3RhbEhlaWdodE9mQmFubmVycyA9IHRvdGFsSGVpZ2h0T2ZC
YW5uZXJzOyB9CiAgICAgQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVycygpIGNvbnN0IHsgcmV0
dXJuIG1fdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggNWZiZWJhNGYxNmUzMTY3N2ViMWRmZWRhMjA5NjM4
N2ZjNjRkYTZjYy4uMWE1NWVkYmFhODc5YjZkNjZiN2VmMGRlMWYxYzQ1ZGE4NmUwY2M1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTI1NzAs
NiArMjU3MCwxMSBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUaXRsZWJhckFkamFjZW5jeVN0
YXRlKCkKIAogI2VuZGlmIC8vIEhBVkUoTlNTQ1JPTExWSUVXX1NFUEFSQVRPUl9UUkFDS0lOR19B
REFQVEVSKQogCit2b2lkIFdlYlZpZXdJbXBsOjpzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4p
Cit7CisgICAgbV9wYWdlLT5zY3JvbGxUb1JlY3QodGFyZ2V0UmVjdCwgb3JpZ2luKTsKK30KKwog
TlNWaWV3ICpXZWJWaWV3SW1wbDo6aGl0VGVzdChDR1BvaW50IHBvaW50KQogewogICAgIE5TVmll
dyAqaGl0VmlldyA9IFttX3ZpZXcgX3dlYl9zdXBlckhpdFRlc3Q6TlNQb2ludEZyb21DR1BvaW50
KHBvaW50KV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMDhjYzI4OTAz
OTkyNGQzMzc0ODkzNjhmMzZjNTA1Y2M2ODg5Njc0NS4uM2Q4ZjhlZjJiNTAxYzI3ZjY4OTI5NzJi
YTA1ZGM4OWIzNmNhZDI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
NjEyLDYgKzYxMiw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAg
dmlydHVhbCB2b2lkIHN0b3JlQXBwSGlnaGxpZ2h0KGNvbnN0IFdlYkNvcmU6OkFwcEhpZ2hsaWdo
dCYpID0gMDsKICNlbmRpZgorICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0KGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgb3JpZ2luKSB7IH0KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZpcnR1YWwgdm9p
ZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVSZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIq
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGJhYzI4
YjdiOWRiNGU0N2QxNWYwN2M0MzgyZDBmZGVjNjhiNTliNWYuLmNkZDNiZmE5Y2UwM2Y3MjJlNjBm
N2EwMzMxYzRlMDJjNzZiZDI2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMTA3NDgsNiArMTA3NDgsMTYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNyZWF0
ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yKFJlZjxNZWRpYVNlc3Npb25Db29yZGluYXRvclByb3gK
IH0KICNlbmRpZgogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFNjcm9sbFRvUmVjdChjb25z
dCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbikKK3sKKyAg
ICBwYWdlQ2xpZW50KCkucmVxdWVzdFNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOwor
fQorCit2b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVG9SZWN0KGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luKQoreworICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2U6OlNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pKTsKK30KKwogI2lmIFBM
QVRGT1JNKENPQ09BKQogdm9pZCBXZWJQYWdlUHJveHk6OmFwcFByaXZhY3lSZXBvcnRUZXN0aW5n
RGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IEFwcFByaXZhY3lSZXBvcnRUZXN0aW5n
RGF0YSYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAppbmRleCAxZGRlMmFhMGFkNjQ2MzU1ZTI5MDZjNmUzZmZiMDgwMDhkNTI3MzY1
Li5hNjgzYjI3MWZlZDExOTQwNTY3NDgzOGQyN2IwODUxOTBkMjYyNTg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTAzLDExICs5MDMsMTQgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRJbnB1dE1ldGhvZFN0YXRlKHN0ZDo6b3B0aW9uYWw8SW5wdXRNZXRob2RT
dGF0ZT4mJik7CiAjZW5kaWYKKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9SZWN0
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgb3JpZ2luKTsKKyAgICB2b2lkIHNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbik7
CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFu
Z2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRl
cywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgYWNjZXNzaWJpbGl0eVZpZXdDb29yZGluYXRl
cyk7CiAgICAgdm9pZCBzZXRNYWluRnJhbWVJc1Njcm9sbGFibGUoYm9vbCk7Ci0KKyAgICAgICAg
CiAgICAgdm9pZCBzZW5kQ29tcGxleFRleHRJbnB1dFRvUGx1Z2luKHVpbnQ2NF90IHBsdWdpbkNv
bXBsZXhUZXh0SW5wdXRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHRleHRJbnB1dCk7CiAgICAg
Ym9vbCBzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRm9yRXZlbnQoY29uc3QgV2ViTW91c2VFdmVu
dCYpOwogICAgIGJvb2wgYWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBX
ZWJNb3VzZUV2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggZGI1YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2
ZDk2ZS4uMDJkOGZkOWZiMjIwNmM4MzMxYjVjZDBkODZkNjE2YzBjODk5N2U5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTEw
LDYgKzUxMCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogICAgIERp
ZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCisgICAgCisgICAgUmVxdWVzdFNjcm9sbFRvUmVjdChX
ZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0UmVjdCwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4p
CiAKICAgICBHZXRMb2FkRGVjaXNpb25Gb3JJY29uKHN0cnVjdCBXZWJDb3JlOjpMaW5rSWNvbiBp
Y29uLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA0NjIwZTc1ZDBhNTU2NTZl
ODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0Li5iMjIxYWY3OTM2NzE1YTg0NTdhOGE4ZTg5ZGUxMDJj
ZDMxZGI3OTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaApAQCAtMjE0LDcgKzIxNCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY3JvbGxp
bmdOb2RlU2Nyb2xsVmlld0RpZFNjcm9sbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5n
Tm9kZVNjcm9sbFdpbGxTdGFydFNjcm9sbCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsaW5n
Tm9kZVNjcm9sbERpZEVuZFNjcm9sbCgpIG92ZXJyaWRlOwotCisgICAgICAgIAorICAgIHZvaWQg
cmVxdWVzdFNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikgb3ZlcnJpZGU7CisgICAgICAgIAog
ICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9B
UEkpCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgZnVsbFNjcmVlbk1hbmFn
ZXJQcm94eUNsaWVudCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGZiNzExMmM4MWZlM2E1MTRmN2Q4NzJiMzE4
NTc0OGQ4Yzc2MTdlYzMuLjFiZDMzMDY1ZjEwYzE3MGQwNjZjY2I3YTZmNmE1YzVlODYzMTg4ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KQEAgLTEwMjMsNiArMTAyMywxMSBAQCBXZWJDb3JlOjpDb2xvciBQYWdlQ2xpZW50SW1wbDo6
Y29udGVudFZpZXdCYWNrZ3JvdW5kQ29sb3IoKQogICAgIHJldHVybiBbbV9jb250ZW50VmlldyBi
YWNrZ3JvdW5kQ29sb3JdLkNHQ29sb3I7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVl
c3RTY3JvbGxUb1JlY3QoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBGbG9hdFBv
aW50JiBvcmlnaW4pCit7CisgICAgW21fY29udGVudFZpZXcgX3Njcm9sbFRvUmVjdDp0YXJnZXRS
ZWN0IHdpdGhPcmlnaW46b3JpZ2luIG1pbmltdW1TY3JvbGxEaXN0YW5jZTowXTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCA2
YzVjNGUzOWM2MTQ4M2RhZTkwZTY5MmNjNzg2NjlkYWI3NDllNWRhLi5lYWZkZDQ3YTI4ZmJhOGMz
ZTkwMjA4YWZkNDIzZTJiMDEyMjcyNGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaApAQCAtMjkwLDYgKzI5MCw4IEBAIHByaXZhdGU6CiAj
aWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQogICAgIHZvaWQgaGFuZGxlQ2xpY2tGb3JEYXRhRGV0
ZWN0aW9uUmVzdWx0KGNvbnN0IFdlYkNvcmU6OkRhdGFEZXRlY3RvckVsZW1lbnRJbmZvJiwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmKSBmaW5hbDsKICNlbmRpZgorICAgICAgICAKKyAgICB2b2lk
IHJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pIG92ZXJyaWRlOwogCiAgICAgTlNW
aWV3ICptX3ZpZXc7CiAgICAgV2Vha1B0cjxXZWJWaWV3SW1wbD4gbV9pbXBsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCmluZGV4IDhiNzRi
NDU0NWQ4OTdhOTk5Mjk0ZjgxNWM3YzFmNjdiMzhmZDNjMmMuLjI2YTA5OGI5YWFlM2RhOTIyOTIy
YWE4OWM5ODkyMzM5MDljNjExOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTk3Miw2ICs5NzIsMTIgQEAgdm9pZCBQYWdlQ2xp
ZW50SW1wbDo6ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCkKICAgICBtX2ltcGwtPmRpZFJlc3Rv
cmVTY3JvbGxQb3NpdGlvbigpOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Ny
b2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKQoreworICAgIC8vIEZJWE1FOiBBZGQgYWRkaXRpb25h
bCBsb2dpYyB0byBhdm9pZCBOb3RlIFBpcC4KKyAgICBtX2ltcGwtPnNjcm9sbFRvUmVjdCh0YXJn
ZXRSZWN0LCBvcmlnaW4pOworfQorCiBib29sIFBhZ2VDbGllbnRJbXBsOjp3aW5kb3dJc0Zyb250
V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50JiBldmVudCkKIHsKICAg
ICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShldmVudC5uYXRp
dmVFdmVudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNDhiYWNmMjVmYWRkYWQ3ZmVk
NjEzZDI2MzA0NDRjZmM0YzFlMWQ3My4uYjQ5YjQzNDdmZGE2Yzc3NWFhMjViNjJhNGMzN2NiOWE0
NDQ2MjVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTY1NSw2ICs2NTUsMTEgQEAgdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmIGZyYW1lLCBjb25z
dCBJbnRTaXplJiBzaXplKSBjb24KICAgICB9CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpz
Y3JvbGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgY29uc3QKK3sK
KyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSZXF1ZXN0U2Nyb2xsVG9S
ZWN0KHJlY3QsIHJlY3QuY2VudGVyKCkpKTsKK30KKwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNj
cm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29u
c3QKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGVmNzhl
YjY1ZmE4YzE1N2MyZWI0MDQ1YzdkMGY4ZDM0M2M0OTdiNjAuLmM3NDdmOWMxYjljZTcxZTk1ZDhi
MGJkMDY0MDI4NWVjMGJlM2Y2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEzMyw3ICsxMzMs
OSBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQo
KSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJh
bWUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRy
aW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBm
aW5hbDsKKwogICAgIHZvaWQgc2Nyb2xsQ29udGFpbmluZ1Njcm9sbFZpZXdzVG9SZXZlYWxSZWN0
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsgLy8gQ3VycmVudGx5IG9ubHkg
TWFjIGhhcyBhIG5vbiBlbXB0eSBpbXBsZW1lbnRhdGlvbi4KKyAgICB2b2lkIHNjcm9sbE1haW5G
cmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAK
ICAgICBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJlQnV0dG9uKFdlYkNvcmU6
OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQoV2ViQ29yZTo6
RWxlbWVudCYsIFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJp
bGl0eVJlYXNvbikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGNkNDQ4YzUzM2IwN2YwMjliYmI2NGIxYWQ0NjgyYmNhODYx
N2IwNjIuLmE5MTYwNjliY2ViYjkyZjBiY2I2ZThmNWQ3NmYxODE3OWQ4NmFjNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03Njc3LDYgKzc2
NzcsMTEgQEAgdm9pZCBXZWJQYWdlOjptb2RlbEVsZW1lbnRQcmV2aWV3RGlkT2J0YWluQ29udGV4
dElkKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXgKIH0KICNlbmRpZgogCit2b2lkIFdlYlBh
Z2U6OnNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikKK3sKKyAgICBtYWluRnJhbWVWaWV3KCkt
PnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHRhcmdldFJlY3QubWluWE1pbllDb3JuZXIoKSkp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFdFQlBBR0VfUkVMRUFTRV9M
T0cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzNjIz
MzVmZGQ3ODUxOGEyOGUyZmI3NjQ5ODM5ZTMyMDEwYzkyZGIzLi45NDk3YjdjMjBmYmFhZmZkMDk1
YTU1M2UzY2YxNTdiMDZjMTljZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCkBAIC0xMTMzLDYgKzExMzMsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGFs
d2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9hbHdheXNTaG93
c0hvcml6b250YWxTY3JvbGxlcjsgfTsKICAgICBib29sIGFsd2F5c1Nob3dzVmVydGljYWxTY3Jv
bGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyOyB9Owor
ICAgIAorICAgIHZvaWQgc2Nyb2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKTsKIAogICAgIHZvaWQg
c2V0TWluaW11bVNpemVGb3JBdXRvTGF5b3V0KGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICAg
ICBXZWJDb3JlOjpJbnRTaXplIG1pbmltdW1TaXplRm9yQXV0b0xheW91dCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWluaW11bVNpemVGb3JBdXRvTGF5b3V0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAxY2VkYTdhN2Jj
YWIyZDgwYWU0YzI2OWIwZmMwZTdlZGIzMTUxZGQ1Li4yYzM0OTgzNDNmY2ZjNzZhYTAyYzA3ZDBk
YTIyM2RhNzNjN2YyOGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTY0NCw2ICs2NDQsOCBAQCBHZW5lcmF0ZVN5
bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRp
bmdDb21tYW5kVHlwZQogICAgIFVwZGF0ZVdpdGhUZXh0UmVjb2duaXRpb25SZXN1bHQoc3RydWN0
IFdlYkNvcmU6OlRleHRSZWNvZ25pdGlvblJlc3VsdCByZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpF
bGVtZW50Q29udGV4dCBlbGVtZW50LCBXZWJDb3JlOjpGbG9hdFBvaW50IGxvY2F0aW9uKSAtPiAo
ZW51bTp1aW50OF90IFdlYktpdDo6VGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0IHJlc3VsdCkg
QXN5bmMKICNlbmRpZgogCisgICAgU2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVjdCB0YXJn
ZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKKwogI2lmIEhBVkUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0
SWQoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBTdHJpbmcg
dXVpZCwgdWludDMyX3QgY29udGV4dElkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGNm
YTZhOTVmNTNlYzIzMDQ1YTQzZjI4NDEzZmE4N2RkNzE3MWI1M2UuLjkwZDBmNmRkMTI0NjlmYjQ3
YmYyMTU2ODgwYjQ0NzdkYzk3Zjc4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMTIsOCArMTEy
LDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGxhdGZvcm1QYWdlQ2xpZW50
KCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBjb250ZW50c1NpemVDaGFuZ2VkKFdlYkNvcmU6OkZy
YW1lJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgaW50
cmluc2ljQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgY29uc3Qg
ZmluYWwgeyB9Ci0gICAgdm9pZCBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJl
Y3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsOwogCisgICAgdm9pZCBzY3Jv
bGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc2V0U3RhdHVzYmFyVGV4dChjb25zdCBTdHJpbmcm
KSBvdmVycmlkZTsKIAogICAgIGJvb2wgc2hvdWxkVW5hdmFpbGFibGVQbHVnaW5NZXNzYWdlQmVC
dXR0b24oV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5
UmVhc29uKSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggNjc1NmEwYzkxNzdiNzU4
MWZiOGY4OTAzNjM0MDZhY2FlMjY5MTdhOS4uZDA1NzI4MWNjNDk3ZWQxNWQ4NTEwNDA0MTk2MDg0
NzNlMTUwMTRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogICAgIHZvaWQgc2Nyb2xsQ29udGFpbmluZ1Njcm9sbFZpZXdzVG9SZXZlYWxS
ZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KKyAgICB2b2lkIHNj
cm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3Qg
ZmluYWwgeyB9CiAKICNpZiBFTkFCTEUoVklERU8pCiAgICAgYm9vbCBzdXBwb3J0c1ZpZGVvRnVs
bHNjcmVlbihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1v
ZGUpIGZpbmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433679</attachid>
            <date>2021-07-16 09:25:44 -0700</date>
            <delta_ts>2021-07-16 10:17:27 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227914-20210716092543.patch</filename>
            <type>text/plain</type>
            <size>39838</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI0MDYxNzkwMTdlYTk4
ZDZjNmI5ZjZmNjY4MWRiN2ZkNDE5YTcyZi4uYmQ3MmYzOWFmNDM5ZGI0MWQwY2Y4YjI1NGIyYWQ1
NWMzNzY1Njg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9u
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGNvcnJlY3RseSBhdm9pZCB0aGUgbm90ZSBvdmVybGF5
IHRoYXQgY2FuIHBvdGVudGlhbGx5IG9ic2N1cmUgdGhlIHdlYiB2aWV3LAorICAgICAgICB3ZSBu
ZWVkIHRvIHBpcGUgdGhlIHNjcm9sbGluZyB0aHJvdWdoIHRoZSBVSSBwcm9jZXNzLiBUaGlzIHBh
dGNoIGRvZXMgdGhhdCB3b3JrCisgICAgICAgIGFuZCB3aWxsIGJlIGZvbGxvd2VkIHVwIHNob3J0
bHkgYnkgb25lIHRoYXQgZG9lcyB0aGUgYWN0dWFsIHdvcmsgb2Ygb3ZlcmxheSBhdm9pZGFuY2Uu
CisgICAgICAgIEZvciBpT1MsIHRoaXMganVzdCB1c2VzIHRoZSBtYWluIGZyYW1lIFVJIFNjcm9s
bGluZyB0aGF0IHdlIGFscmVhZHkgdXNlLCBidXQgZm9yIAorICAgICAgICBtYWMsIHdlIG5lZWQg
dG8gZG8gdGhlIGxhc3Qgc2Nyb2xsIGluIHRoZSB3ZWIgcHJvY2VzcyBhZnRlciBhZGp1c3Rpbmcg
aXQgd2l0aCB0aGUgb3ZlcmxheSAKKyAgICAgICAgaW5mb3JtYXRpb24uCisKKyAgICAgICAgKiBN
b2R1bGVzL2hpZ2hsaWdodC9BcHBIaWdobGlnaHRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcEhpZ2hsaWdodFN0b3JhZ2U6OmF0dGVtcHRUb1Jlc3RvcmVIaWdobGlnaHRBbmRTY3Jv
bGwpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnNjcm9sbEludG9WaWV3KToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUZW1wb3JhcnlTZWxlY3Rpb25DaGFuZ2U6OnNldFNlbGVjdGlvbik6Cisg
ICAgICAgICogZWRpdGluZy9FZGl0b3IuaDoKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb3ZlV2l0aG91dFZh
bGlkYXRpb25Ubyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVj
dGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIGxv
YWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWU6OnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OnNjcm9sbFJlY3RJbnRvVmlldyBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1Jl
dmVhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpzY3JvbGxS
ZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvU2Nyb2xsQmVoYXZp
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXNlU21vb3RoU2Nyb2xsaW5nKToKKyAgICAgICAg
KiBwYWdlL1Njcm9sbEJlaGF2aW9yLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5oOgorCiAyMDIxLTA3LTE1ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVkZGl0IFBpUCB2aWRlbyBwYXVzZXMgd2hlbiBzY3JvbGxpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMTA1ZmI3YjIwZTljY2MyMmQ2OGNmNjExZGVkOGU0ZGM4YzAzZDdkYS4uN2I3
ODZlNDZlM2E0ZWUyN2U1MDI0NjVkOTRiNDFhZGVjZDUyYjIyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NCBAQAorMjAyMS0wNy0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIFBpcGUgQXBwIEhpZ2hsaWdodCBzY3JvbGxpbmcgdGhyb3VnaCBVSSBQ
cm9jZXNzIGluIHByZXBhcmF0aW9uIGZvciBOb3RlIE92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBJbiBvcmRlciB0byBjb3JyZWN0
bHkgYXZvaWQgdGhlIG5vdGUgb3ZlcmxheSB0aGF0IGNhbiBwb3RlbnRpYWxseSBvYnNjdXJlIHRo
ZSB3ZWIgdmlldywKKyAgICAgICAgd2UgbmVlZCB0byBwaXBlIHRoZSBzY3JvbGxpbmcgdGhyb3Vn
aCB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBkb2VzIHRoYXQgd29yaworICAgICAgICBhbmQg
d2lsbCBiZSBmb2xsb3dlZCB1cCBzaG9ydGx5IGJ5IG9uZSB0aGF0IGRvZXMgdGhlIGFjdHVhbCB3
b3JrIG9mIG92ZXJsYXkgYXZvaWRhbmNlLgorICAgICAgICBGb3IgaU9TLCB0aGlzIGp1c3QgdXNl
cyB0aGUgbWFpbiBmcmFtZSBVSSBTY3JvbGxpbmcgdGhhdCB3ZSBhbHJlYWR5IHVzZSwgYnV0IGZv
ciAKKyAgICAgICAgbWFjLCB3ZSBuZWVkIHRvIGRvIHRoZSBsYXN0IHNjcm9sbCBpbiB0aGUgd2Vi
IHByb2Nlc3MgYWZ0ZXIgYWRqdXN0aW5nIGl0IHdpdGggdGhlIG92ZXJsYXkgCisgICAgICAgIGlu
Zm9ybWF0aW9uLiAKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1Jl
Y3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RTY3JvbGxUb1JlY3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2Nyb2xsVG9SZWN0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xp
ZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xs
VG9SZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2Nyb2xsTWFpbkZy
YW1lVG9SZXZlYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50
OjpzY3JvbGxSZWN0SW50b1ZpZXcgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzY3JvbGxUb1JlY3QpOgorCiAyMDIxLTA3LTE1ICBN
ZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IHNjcm9sbFJlY3RJbnRvVmlldyB0byBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVh
bFJlY3QgZm9yIGNsYXJpdHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZGJmNjY3
NTNjNzIxOWYwZjI3MmFiYmFkNzI4YTkyMDEwYjIwYWU1MS4uZjRmNDdmODlkYzI5NzBmOGNmNzMx
MzNkMzEyZGZhZGQ4OTU0MmJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA3LTEzICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBs
ZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAgSGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJ
IFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9yIE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpzY3JvbGxNYWluRnJhbWVUb1JldmVh
bFJlY3QgY29uc3QpOgorCiAyMDIxLTA3LTE1ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5l
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIHNjcm9sbFJlY3RJbnRvVmlldyB0byBzY3Jv
bGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QgZm9yIGNsYXJpdHkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggYzMyMDlmNDlhMDNhMGQxMmRjZWNlN2MyYmYzYzdmMmUz
MTBiNjBmNC4uNTA4Y2U2ZTY5NDRjMTQzYmFiMTc4YmFlMGU0OGRiYWViODYxMjU4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA3LTEzICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBBcHAg
SGlnaGxpZ2h0IHNjcm9sbGluZyB0aHJvdWdoIFVJIFByb2Nlc3MgaW4gcHJlcGFyYXRpb24gZm9y
IE5vdGUgT3ZlcmxheSBhdm9pZGFuY2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc5MTQKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9u
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisKIDIwMjEt
MDctMDcgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAg
ICAgW0NhaXJvXSBNZXJnZSBQbGF0Zm9ybUNvbnRleHRDYWlybyBpbnRvIEdyYXBoaWNzQ29udGV4
dENhaXJvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9BcHBI
aWdobGlnaHRTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0Fw
cEhpZ2hsaWdodFN0b3JhZ2UuY3BwCmluZGV4IDc4MGZjNTE2ZGZlNTY5MDUwNjA2NmQyYWE5MmYz
ZDgzZTA1NWFlNzEuLjY2ZWVlMjczZTg3M2Y4MmQ4Mzg0ZjMwN2JmMzhhMGU4MTM2OTE2ZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hsaWdodFN0
b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0FwcEhpZ2hs
aWdodFN0b3JhZ2UuY3BwCkBAIC0yNzEsNyArMjcxLDcgQEAgYm9vbCBBcHBIaWdobGlnaHRTdG9y
YWdlOjphdHRlbXB0VG9SZXN0b3JlSGlnaGxpZ2h0QW5kU2Nyb2xsKEFwcEhpZ2hsaWdodFJhbmdl
RGEKICAgICAgICAgaWYgKHRleHRJbmRpY2F0b3IpCiAgICAgICAgICAgICBtX2RvY3VtZW50LT5w
YWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnNldFRleHRJbmRpY2F0b3IodGV4dEluZGljYXRvci0+
ZGF0YSgpKTsKICAgICAgICAgCi0gICAgICAgIFRlbXBvcmFyeVNlbGVjdGlvbkNoYW5nZSBzZWxl
Y3Rpb25DaGFuZ2UoKnN0cm9uZ0RvY3VtZW50LCB7IHJhbmdlLnZhbHVlKCkgfSwgeyBUZW1wb3Jh
cnlTZWxlY3Rpb25PcHRpb246OlJldmVhbFNlbGVjdGlvbiwgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0
aW9uOjpTbW9vdGhTY3JvbGwsIFRlbXBvcmFyeVNlbGVjdGlvbk9wdGlvbjo6T3ZlcnJpZGVTbW9v
dGhTY3JvbGxGZWF0dXJlRW5hYmxtZW50IH0pOworICAgICAgICBUZW1wb3JhcnlTZWxlY3Rpb25D
aGFuZ2Ugc2VsZWN0aW9uQ2hhbmdlKCpzdHJvbmdEb2N1bWVudCwgeyByYW5nZS52YWx1ZSgpIH0s
IHsgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCwgVGVt
cG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwgfSk7CiAgICAgfQogCiAgICAgcmV0
dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggZWNiNzE4OTBkN2U0ZDRkOWUwMWY4
NzZhMTc0ZDU5M2IyNDNiMmYzMS4uZGFiMjU2Y2ZjYzA4ODgzOTY1NGViMjZlNWYzY2Q5M2JmMGE3
OWM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtOTM3LDggKzkzNyw3IEBAIHZvaWQgRWxl
bWVudDo6c2Nyb2xsSW50b1ZpZXcoc3RkOjpvcHRpb25hbDxWYXJpYW50PGJvb2wsIFNjcm9sbElu
dG9WaWV3T3B0aW9ucz4+CiAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGFsaWduWCA6IGFsaWduWSwK
ICAgICAgICAgaXNIb3Jpem9udGFsID8gYWxpZ25ZIDogYWxpZ25YLAogICAgICAgICBTaG91bGRB
bGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpObywKLSAgICAgICAgb3B0aW9ucy5iZWhhdmlvci52
YWx1ZV9vcihTY3JvbGxCZWhhdmlvcjo6QXV0byksCi0gICAgICAgIFNtb290aFNjcm9sbEZlYXR1
cmVFbmFibGVtZW50OjpEZWZhdWx0CisgICAgICAgIG9wdGlvbnMuYmVoYXZpb3IudmFsdWVfb3Io
U2Nyb2xsQmVoYXZpb3I6OkF1dG8pCiAgICAgfTsKICAgICByZW5kZXJlcigpLT5zY3JvbGxSZWN0
VG9WaXNpYmxlKGFic29sdXRlQm91bmRzLCBpbnNpZGVGaXhlZCwgdmlzaWJsZU9wdGlvbnMpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDg2MzcxNjM3YTE0YzJjODQ5MmM3N2Zi
Yjk3ODEzZmQwY2RlNGFjYjQuLmMzYjE5MjVlNjdjZDNjN2FiMzMyNjUxNzVlMmU0OThmMWZkNWVl
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI2NSwxMCArMjY1LDEwIEBAIHZv
aWQgVGVtcG9yYXJ5U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNl
bGVjdGlvbiYgc2VsZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlvbjo6
RG9Ob3RTZXRGb2N1cyk7CiAgICAgaWYgKG1fb3B0aW9ucyAmIFRlbXBvcmFyeVNlbGVjdGlvbk9w
dGlvbjo6UmV2ZWFsU2VsZWN0aW9uKQogICAgICAgICBvcHRpb25zLmFkZChGcmFtZVNlbGVjdGlv
bjo6UmV2ZWFsU2VsZWN0aW9uKTsKKyAgICBpZiAobV9vcHRpb25zICYgVGVtcG9yYXJ5U2VsZWN0
aW9uT3B0aW9uOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCkKKyAgICAgICAgb3B0aW9ucy5hZGQo
RnJhbWVTZWxlY3Rpb246OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsKTsKICAgICBpZiAobV9vcHRp
b25zICYgVGVtcG9yYXJ5U2VsZWN0aW9uT3B0aW9uOjpTbW9vdGhTY3JvbGwpCiAgICAgICAgIG9w
dGlvbnMuYWRkKEZyYW1lU2VsZWN0aW9uOjpTbW9vdGhTY3JvbGwpOwotICAgIGlmIChtX29wdGlv
bnMgJiBUZW1wb3JhcnlTZWxlY3Rpb25PcHRpb246Ok92ZXJyaWRlU21vb3RoU2Nyb2xsRmVhdHVy
ZUVuYWJsbWVudCkKLSAgICAgICAgb3B0aW9ucy5hZGQoRnJhbWVTZWxlY3Rpb246Ok92ZXJyaWRl
U21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQpOwogICAgIG1fZG9jdW1lbnQtPnNlbGVjdGlv
bigpLnNldFNlbGVjdGlvbihzZWxlY3Rpb24sIG9wdGlvbnMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuaAppbmRleCBiOWQ3MzBiNjdkZjlmZmUzYTk3ZWI4ZGM1Y2FhMzNhMDk1NDYzMzFhLi5m
ZDU5YmZmYWU3MmQ1ZmFmOTI0NzIzZWY0NzliMjg1NjA2MDM4OTU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKQEAgLTEyMSw3ICsxMjEsNyBAQCBlbnVtIGNsYXNzIFRlbXBvcmFyeVNlbGVjdGlv
bk9wdGlvbiA6IHVpbnQ4X3QgewogICAgIAogICAgIFNtb290aFNjcm9sbCA9IDEgPDwgNCwKICAg
ICAKLSAgICBPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibG1lbnQgPSAxIDw8IDUsCisg
ICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwgPSAxIDw8IDUsCiB9OwogCiBjbGFzcyBUZW1wb3Jh
cnlTZWxlY3Rpb25DaGFuZ2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcAppbmRleCBmY2Q4MGQxY2JjYTc4YjBhZTQ0MTcyYTM4OWRhN2YzZjNmNTQwNWNkLi4xY2Ez
YmZiYzkyMWM0NTc5Njg0YjEwMzUwMmU0YzUzMzJjMjkxMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjMyLDYgKzIzMiw5IEBAIHZvaWQgRnJhbWVT
ZWxlY3Rpb246Om1vdmVXaXRob3V0VmFsaWRhdGlvblRvKGNvbnN0IFBvc2l0aW9uJiBiYXNlLCBj
b25zdCBQb3NpdGlvCiAgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFp
bkZyYW1lOgogICAgICAgICBvcHRpb25zLmFkZChSZXZlYWxTZWxlY3Rpb25VcFRvTWFpbkZyYW1l
KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0
ZU1haW5GcmFtZVNjcm9sbDoKKyAgICAgICAgb3B0aW9ucy5hZGQoRGVsZWdhdGVNYWluRnJhbWVT
Y3JvbGwpOworICAgICAgICBicmVhazsKICAgICB9CiAgICAgc2V0U2VsZWN0aW9uKG5ld1NlbGVj
dGlvbiwgb3B0aW9ucywgbmV3SW50ZW50KTsKIH0KQEAgLTQzMiw2ICs0MzUsOCBAQCB2b2lkIEZy
YW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0
aW9uLCBPcHRpb25TZXQ8UwogICAgICAgICBtX3NlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rp
b25SZXZlYWxNb2RlOjpSZXZlYWxVcFRvTWFpbkZyYW1lOwogICAgIGVsc2UgaWYgKG9wdGlvbnMg
JiBSZXZlYWxTZWxlY3Rpb24pCiAgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVj
dGlvblJldmVhbE1vZGU6OlJldmVhbDsKKyAgICBlbHNlIGlmIChvcHRpb25zICYgRGVsZWdhdGVN
YWluRnJhbWVTY3JvbGwpCisgICAgICAgIG1fc2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlv
blJldmVhbE1vZGU6OkRlbGVnYXRlTWFpbkZyYW1lU2Nyb2xsOwogICAgIGVsc2UKICAgICAgICAg
bV9zZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWw7
CiAgICAgbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9
IGFsaWduID09IEFsaWduQ3Vyc29yT25TY3JvbGxBbHdheXM7CkBAIC00NDYsNyArNDUxLDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24m
IHNlbGVjdGlvbiwgT3B0aW9uU2V0PFMKICAgICBpZiAoZnJhbWVWaWV3ICYmIGZyYW1lVmlldy0+
bGF5b3V0Q29udGV4dCgpLmlzTGF5b3V0UGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICB1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oaW50ZW50LCBvcHRpb25zLmNvbnRhaW5zKFNtb290
aFNjcm9sbCkgPyBTY3JvbGxCZWhhdmlvcjo6U21vb3RoIDogU2Nyb2xsQmVoYXZpb3I6Okluc3Rh
bnQsIG9wdGlvbnMuY29udGFpbnMoT3ZlcnJpZGVTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVu
dCkgPyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudDo6T3ZlcnJpZGUgOiBTbW9vdGhTY3Jv
bGxGZWF0dXJlRW5hYmxlbWVudDo6RGVmYXVsdCk7CisgICAgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0
aW9uKGludGVudCwgb3B0aW9ucy5jb250YWlucyhTbW9vdGhTY3JvbGwpID8gU2Nyb2xsQmVoYXZp
b3I6OlNtb290aCA6IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsKIAogICAgIGlmIChvcHRpb25z
ICYgSXNVc2VyVHJpZ2dlcmVkKSB7CiAgICAgICAgIGlmIChhdXRvKiBjbGllbnQgPSBwcm90ZWN0
ZWREb2N1bWVudC0+ZWRpdG9yKCkuY2xpZW50KCkpCkBAIC00NzMsNyArNDc4LDcgQEAgdm9pZCBG
cmFtZVNlbGVjdGlvbjo6c2V0TmVlZHNTZWxlY3Rpb25VcGRhdGUoUmV2ZWFsU2VsZWN0aW9uQWZ0
ZXJVcGRhdGUgcmV2ZWFsTW8KICAgICAgICAgdmlldy0+c2VsZWN0aW9uKCkuY2xlYXIoKTsKIH0K
IAotdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKGNvbnN0IEFY
VGV4dFN0YXRlQ2hhbmdlSW50ZW50JiBpbnRlbnQsIFNjcm9sbEJlaGF2aW9yIHNjcm9sbEJlaGF2
aW9yLCBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVyaWRlRmVhdHVyZUVuYWJsZW1l
bnQpCit2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3Qg
QVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludGVudCwgU2Nyb2xsQmVoYXZpb3Igc2Nyb2xsQmVo
YXZpb3IpCiB7CiAgICAgaWYgKCFtX3BlbmRpbmdTZWxlY3Rpb25VcGRhdGUpCiAgICAgICAgIHJl
dHVybjsKQEAgLTQ5MCw3ICs0OTUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBbmRS
ZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmIGludAogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3Jv
bGxXaGVuUmV2ZWFsaW5nU2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5
cyA6IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKIAotICAgICAgICByZXZl
YWxTZWxlY3Rpb24obV9zZWxlY3Rpb25SZXZlYWxNb2RlLCBhbGlnbm1lbnQsIFJldmVhbEV4dGVu
dCwgc2Nyb2xsQmVoYXZpb3IsIG92ZXJpZGVGZWF0dXJlRW5hYmxlbWVudCk7CisgICAgICAgIHJl
dmVhbFNlbGVjdGlvbihtX3NlbGVjdGlvblJldmVhbE1vZGUsIGFsaWdubWVudCwgUmV2ZWFsRXh0
ZW50LCBzY3JvbGxCZWhhdmlvcik7CiAgICAgfQogCiAgICAgbm90aWZ5QWNjZXNzaWJpbGl0eUZv
clNlbGVjdGlvbkNoYW5nZShpbnRlbnQpOwpAQCAtMjM5MCw3ICsyMzk1LDcgQEAgSFRNTEZvcm1F
bGVtZW50KiBGcmFtZVNlbGVjdGlvbjo6Y3VycmVudEZvcm0oKSBjb25zdAogICAgIHJldHVybiBz
Y2FuRm9yRm9ybShzdGFydCk7CiB9CiAKLXZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNlbGVj
dGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdubWVu
dCYgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBTY3Jv
bGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvciwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQg
b3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCkKK3ZvaWQgRnJhbWVTZWxlY3Rpb246OnJldmVhbFNl
bGVjdGlvbihTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUsIGNvbnN0IFNjcm9sbEFsaWdu
bWVudCYgYWxpZ25tZW50LCBSZXZlYWxFeHRlbnRPcHRpb24gcmV2ZWFsRXh0ZW50T3B0aW9uLCBT
Y3JvbGxCZWhhdmlvciBzY3JvbGxCZWhhdmlvcikKIHsKICAgICBpZiAocmV2ZWFsTW9kZSA9PSBT
ZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjQx
Myw3ICsyNDE4LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVj
dGlvblJldmVhbE1vZGUgcmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgICAgIGlmICgh
bV9zY3JvbGxpbmdTdXBwcmVzc0NvdW50KSB7CiAgICAgICAgICAgICAgICAgYXV0byogc2Nyb2xs
YWJsZUFyZWEgPSBsYXllci0+ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOwogICAgICAgICAg
ICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdoZW5TY3JvbGxpbmco
dHJ1ZSk7Ci0gICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUocmVjdCwg
aW5zaWRlRml4ZWQsIHsgcmV2ZWFsTW9kZSwgYWxpZ25tZW50LCBhbGlnbm1lbnQsIFNob3VsZEFs
bG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6Olllcywgc2Nyb2xsQmVoYXZpb3IsIG92ZXJyaWRlRmVh
dHVyZUVuYWJsZW1lbnR9KTsKKyAgICAgICAgICAgICAgICBsYXllci0+c2Nyb2xsUmVjdFRvVmlz
aWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVu
dCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0p
OwogICAgICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhLT5zZXRBZGp1c3RGb3JJT1NDYXJldFdo
ZW5TY3JvbGxpbmcoZmFsc2UpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsK
ICAgICAgICAgICAgICAgICBpZiAobV9kb2N1bWVudC0+cGFnZSgpKQpAQCAtMjQyNCw3ICsyNDI5
LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVh
bE1vZGUgcmV2ZWFsTW9kZSwgY29uc3QgU2Nyb2wKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29k
ZSBvbmx5IGhhbmRsZXMgc2Nyb2xsaW5nIHRoZSBzdGFydENvbnRhaW5lcidzIGxheWVyLCBidXQK
ICAgICAgICAgLy8gdGhlIHNlbGVjdGlvbiByZWN0IGNvdWxkIGludGVyc2VjdCBtb3JlIHRoYW4g
anVzdCB0aGF0LgogICAgICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzQ3OTk4OTk+LgotICAg
ICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRv
VmlzaWJsZShyZWN0LCBpbnNpZGVGaXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdu
bWVudCwgU2hvdWxkQWxsb3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlv
ciwgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudH0pKQorICAgICAgICBpZiAoc3RhcnQuZGVwcmVj
YXRlZE5vZGUoKS0+cmVuZGVyZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShyZWN0LCBpbnNpZGVG
aXhlZCwgeyByZXZlYWxNb2RlLCBhbGlnbm1lbnQsIGFsaWdubWVudCwgU2hvdWxkQWxsb3dDcm9z
c09yaWdpblNjcm9sbGluZzo6WWVzLCBzY3JvbGxCZWhhdmlvcn0pKQogICAgICAgICAgICAgdXBk
YXRlQXBwZWFyYW5jZSgpOwogI2VuZGlmCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5oCmluZGV4IDkzYTU5ZDU4NjQyNGIyN2Y2YThhODc3MGE0YmZkNTMyMjEyNjI0
NjkuLjdlMWQ4OTQ5ZDA3MTc5NTAxMzcyOTc1OTNkOTE5OWY0N2JlNDk1MmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6
CiAgICAgICAgIFJldmVhbFNlbGVjdGlvbiA9IDEgPDwgNywKICAgICAgICAgUmV2ZWFsU2VsZWN0
aW9uVXBUb01haW5GcmFtZSA9IDEgPDwgOCwKICAgICAgICAgU21vb3RoU2Nyb2xsID0gMSA8PCA5
LAotICAgICAgICBPdmVycmlkZVNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50ID0gMSA8PCAx
MAorICAgICAgICBEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCA9IDEgPDwgMTAKICAgICB9OwogICAg
IHN0YXRpYyBjb25zdGV4cHIgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4gZGVmYXVsdFNl
dFNlbGVjdGlvbk9wdGlvbnMoRVVzZXJUcmlnZ2VyZWQgPSBOb3RVc2VyVHJpZ2dlcmVkKTsKIApA
QCAtMjQ4LDcgKzI0OCw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIEhUTUxGb3Jt
RWxlbWVudCogY3VycmVudEZvcm0oKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
cmV2ZWFsU2VsZWN0aW9uKFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rpb25SZXZlYWxNb2Rl
OjpSZXZlYWwsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
Q2VudGVySWZOZWVkZWQsIFJldmVhbEV4dGVudE9wdGlvbiA9IERvTm90UmV2ZWFsRXh0ZW50LCBT
Y3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxGZWF0
dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpEZWZhdWx0KTsK
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJldmVhbFNlbGVjdGlvbihTZWxlY3Rpb25SZXZlYWxN
b2RlID0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBjb25zdCBTY3JvbGxBbGlnbm1lbnQm
ID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBSZXZlYWxFeHRlbnRPcHRp
b24gPSBEb05vdFJldmVhbEV4dGVudCwgU2Nyb2xsQmVoYXZpb3IgPSBTY3JvbGxCZWhhdmlvcjo6
SW5zdGFudCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTZWxlY3Rpb25Gcm9tTm9uZSgp
OwogCiAgICAgYm9vbCBzaG91bGRTaG93QmxvY2tDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX3No
b3VsZFNob3dCbG9ja0N1cnNvcjsgfQpAQCAtMjYzLDcgKzI2Myw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHVwZGF0ZUZyb21Bc3NvY2lhdGVkTGl2ZVJhbmdlKCk7CiAKIHByaXZhdGU6Ci0gICAgdm9p
ZCB1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQm
LCBTY3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50LCBTbW9vdGhTY3JvbGxG
ZWF0dXJlRW5hYmxlbWVudCA9IFNtb290aFNjcm9sbEZlYXR1cmVFbmFibGVtZW50OjpPdmVycmlk
ZSk7CisgICAgdm9pZCB1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oY29uc3QgQVhUZXh0U3RhdGVD
aGFuZ2VJbnRlbnQmLCBTY3JvbGxCZWhhdmlvciA9IFNjcm9sbEJlaGF2aW9yOjpJbnN0YW50KTsK
ICAgICB2b2lkIHVwZGF0ZURhdGFEZXRlY3RvcnNGb3JTZWxlY3Rpb24oKTsKIAogICAgIGJvb2wg
c2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0aW5nQXBwZWFyYW5jZShjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiwgT3B0aW9uU2V0PFNldFNlbGVjdGlvbk9wdGlvbj4sIEN1cnNvckFsaWduT25TY3JvbGws
IFRleHRHcmFudWxhcml0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXgg
MzQ4NmYzOWEwMTg1MWEyYzg3MTlmNGFkYjQ3NDM5OTAxODFmMDk1ZS4uZTlmY2RiNTM1YTY2ZWQ0
OTkwZTMxZDM3NDYxYjViODEyNWQ2Nzk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuaApAQCAtMTY0LDYgKzE2NCw3IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGlj
IENocm9tZUNsaWVudCB7CiAgICAgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMo
Ym9vbCkgZmluYWwgeyB9CiAKICAgICB2b2lkIHNjcm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1Rv
UmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29uc3QgZmluYWwgeyB9CisgICAgdm9pZCBzY3Jv
bGxNYWluRnJhbWVUb1JldmVhbFJlY3QoY29uc3QgSW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQog
CiAgICAgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSYsIEdyYXBoaWNzTGF5ZXIq
KSBmaW5hbCB7IH0KICAgICB2b2lkIGF0dGFjaFZpZXdPdmVybGF5R3JhcGhpY3NMYXllcihHcmFw
aGljc0xheWVyKikgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggZGZlNzcxOTM1
ZGM2MDE5ZmQ3ODRmYjk2N2EyZTYxM2QzNjcyMmVhYy4uNDY0ZmFlNzdkMzdjY2RkYWVhYTBlNmU2
NjkxODBiMDhiZjdhMDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMTM5LDYgKzEzOSwx
MSBAQCB2b2lkIENocm9tZTo6c2Nyb2xsQ29udGFpbmluZ1Njcm9sbFZpZXdzVG9SZXZlYWxSZWN0
KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CiAgICAgbV9jbGllbnQuc2Nyb2xsQ29udGFpbmlu
Z1Njcm9sbFZpZXdzVG9SZXZlYWxSZWN0KHJlY3QpOwogfQogCit2b2lkIENocm9tZTo6c2Nyb2xs
TWFpbkZyYW1lVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0Cit7CisgICAg
bV9jbGllbnQuc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0KHJlY3QpOworfQorCiB2b2lkIENo
cm9tZTo6c2V0V2luZG93UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnN0CiB7CiAgICAg
bV9jbGllbnQuc2V0V2luZG93UmVjdChyZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IDdmNmYz
YzNiM2M3ZWRhZTViM2VmMTU3YWRmMTgyYzFiNzQ5OTgwZjEuLmQxMzVmOWEwMTliMmVmMDBhMTdl
ZjJlMTljZjQxMTJhMjkwMmEzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtOTksNiArOTksNyBA
QCBwdWJsaWM6CiAgICAgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNvbnN0IG92ZXJy
aWRlOwogCiAgICAgdm9pZCBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3Qo
Y29uc3QgSW50UmVjdCYpIGNvbnN0OworICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxS
ZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdDsKIAogICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdl
ZChGcmFtZSYsIGNvbnN0IEludFNpemUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKaW5kZXggZjdkZTY2ZmJkZTBmMWE3OTM0MzdjYjQ5MDg2YWRhNmZlZmQyMzM2Ny4uNDg2
MmI2YTc3OWRmZWQ4NzEzYWY0MDVlOTFkY2FmZWQ1MmVlOTk4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC0yMjgsNyArMjI4LDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoRnJhbWUmLCBjb25zdCBJbnRTaXplJikgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBpbnRyaW5zaWNDb250ZW50c1NpemVDaGFuZ2VkKGNvbnN0IElu
dFNpemUmKSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQ29udGFpbmluZ1Nj
cm9sbFZpZXdzVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdCB7IH07IC8vIEN1cnJl
bnRseSBvbmx5IE1hYyBoYXMgYSBub24gZW1wdHkgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVh
bCB2b2lkIHNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JikgY29uc3Qg
eyB9OwogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFVuYXZhaWxhYmxlUGx1Z2luTWVzc2FnZUJl
QnV0dG9uKFJlbmRlckVtYmVkZGVkT2JqZWN0OjpQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgdW5hdmFpbGFibGVQbHVn
aW5CdXR0b25DbGlja2VkKEVsZW1lbnQmLCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5h
dmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JvbGxCZWhhdmlvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2
aW9yLmNwcAppbmRleCBmYmRhNTEwNTFmMjJiYzdjMDk4ZjUzZjUyNGEzYmRjMWJlZDNkMjhmLi44
NTFjNThlMjVhNTVhNjVjMjkxYTBiZDM5NDNiYjMwNmEzOWMwYTc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1Njcm9sbEJlaGF2aW9yLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9y
LCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCwgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1l
bnQgb3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCkKK2Jvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNj
cm9sbEJlaGF2aW9yIGJlaGF2aW9yLCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCkKIHsKICAg
ICBpZiAoIWFzc29jaWF0ZWRFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00Myw3
ICs0Myw3IEBAIGJvb2wgdXNlU21vb3RoU2Nyb2xsaW5nKFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9y
LCBFbGVtZW50KiBhc3NvY2lhdGVkRWxlbWVudCwgU21vCiAgICAgaWYgKGFzc29jaWF0ZWRFbGVt
ZW50ID09IGFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNjcm9sbGluZ0VsZW1lbnQoKSkK
ICAgICAgICAgYXNzb2NpYXRlZEVsZW1lbnQgPSBhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1lbnQo
KS5kb2N1bWVudEVsZW1lbnQoKTsKIAotICAgIGlmICghYXNzb2NpYXRlZEVsZW1lbnQtPnJlbmRl
cmVyKCkgfHwgKG92ZXJyaWRlRmVhdHVyZUVuYWJsZW1lbnQgPT0gU21vb3RoU2Nyb2xsRmVhdHVy
ZUVuYWJsZW1lbnQ6OkRlZmF1bHQgJiYgIWFzc29jaWF0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnNl
dHRpbmdzKCkuQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCgpKSkKKyAgICBpZiAoIWFz
c29jaWF0ZWRFbGVtZW50LT5yZW5kZXJlcigpIHx8ICFhc3NvY2lhdGVkRWxlbWVudC0+ZG9jdW1l
bnQoKS5zZXR0aW5ncygpLkNTU09NVmlld1Ntb290aFNjcm9sbGluZ0VuYWJsZWQoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29t
LXZpZXcvI3Njcm9sbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxC
ZWhhdmlvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JvbGxCZWhhdmlvci5oCmluZGV4IGNj
YmEzMDljNzBlYzRiOWFhMTUzMWE5OTM4NDhiNTM5ZThhNzBjZDMuLmVlZTgyZTMxMDhkZGQzYWY0
YTZhZWRlMDBjZDU2M2I3MWQxMDQ5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2Nyb2xsQmVoYXZpb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Njcm9sbEJlaGF2aW9y
LmgKQEAgLTM1LDggKzM1LDYgQEAgZW51bSBjbGFzcyBTY3JvbGxCZWhhdmlvciA6IHVpbnQ4X3Qg
ewogICAgIFNtb290aAogfTsKIAotZW51bSBjbGFzcyBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxl
bWVudCA6IGJvb2wgeyBEZWZhdWx0LCBPdmVycmlkZSB9OwotCi1ib29sIHVzZVNtb290aFNjcm9s
bGluZyhTY3JvbGxCZWhhdmlvciwgRWxlbWVudCogYXNzb2NpYXRlZEVsZW1lbnQsIFNtb290aFNj
cm9sbEZlYXR1cmVFbmFibGVtZW50ID0gU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRl
ZmF1bHQpOworYm9vbCB1c2VTbW9vdGhTY3JvbGxpbmcoU2Nyb2xsQmVoYXZpb3IsIEVsZW1lbnQq
IGFzc29jaWF0ZWRFbGVtZW50KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggMGIxYzQwNTYzZThjYmI4MjJhOWZlYmE0YzBj
NDY1ZjhhNTc0YTkzYi4uNDIzZTcwZWZlYWRiZjU0NjZiYzBiMzY4ZTgxY2UyNjEwNzBmYjdhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC0yNDEsNiArMjQxLDcgQEAg
ZW51bSBjbGFzcyBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiA6IHVpbnQ4X3QgewogZW51bSBj
bGFzcyBTZWxlY3Rpb25SZXZlYWxNb2RlIDogdWludDhfdCAgewogICAgIFJldmVhbCwKICAgICBS
ZXZlYWxVcFRvTWFpbkZyYW1lLCAvLyBTY3JvbGwgb3ZlcmZsb3cgYW5kIGlmcmFtZXMsIGJ1dCBu
b3QgdGhlIG1haW4gZnJhbWUuCisgICAgRGVsZWdhdGVNYWluRnJhbWVTY3JvbGwsIC8vIFNpbWls
YXIgdG8gUmV2ZWFsVXBUb01haW5GcmFtZSwgYnV0IG1ha2Ugc3VyZSB0byBtYW51YWxseSBjYWxs
IHRoZSBtYWluIGZyYW1lIHNjcm9sbC4KICAgICBEb05vdFJldmVhbAogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZTAxNzY1ZDM5MDA3ODRiZjRhOTgw
ODJjOWNlZTZlNDNhODU1ODVhNC4uOGZjNjI1ZDYwODk0YzgwNjBlMGJjODQ2YzE3OGVhYWJmMTMw
MGRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNDA1
LDcgKzI0MDUsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgIGF1dG8gc2Nyb2xsUG9z
aXRpb25DaGFuZ2VPcHRpb25zRm9yRWxlbWVudCA9IFt0aGlzLCBvcHRpb25zXShFbGVtZW50KiBl
bGVtZW50KQogICAgIHsKICAgICAgICAgYXV0byBzY3JvbGxQb3NpdGlvbk9wdGlvbnMgPSBTY3Jv
bGxQb3NpdGlvbkNoYW5nZU9wdGlvbnM6OmNyZWF0ZVByb2dyYW1tYXRpYygpOwotICAgICAgICBp
ZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5ldmVudEhhbmRsZXIoKS5hdXRvc2Nyb2xsSW5Qcm9ncmVz
cygpICYmIGVsZW1lbnQgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3IsIGVs
ZW1lbnQsIG9wdGlvbnMub3ZlcnJpZGVGZWF0dXJlRW5hYmxlbWVudCkpCisgICAgICAgIGlmICgh
cmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCkg
JiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgZWxlbWVu
dCkpCiAgICAgICAgICAgICBzY3JvbGxQb3NpdGlvbk9wdGlvbnMuYW5pbWF0ZWQgPSBBbmltYXRl
ZFNjcm9sbDo6WWVzOwogICAgICAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb25PcHRpb25zOwogICAg
IH07CkBAIC0yNDc3LDYgKzI0NzcsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRv
VmlzaWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICAg
ICAgICAgIGlmIChvcHRpb25zLnJldmVhbE1vZGUgPT0gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2
ZWFsVXBUb01haW5GcmFtZSAmJiBmcmFtZVZpZXcuZnJhbWUoKS5pc01haW5GcmFtZSgpKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICAgICAgaWYgKG9wdGlvbnMucmV2ZWFsTW9k
ZSA9PSBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEZWxlZ2F0ZU1haW5GcmFtZVNjcm9sbCAmJiBmcmFt
ZVZpZXcuZnJhbWUoKS5pc01haW5GcmFtZSgpKSB7CisgICAgICAgICAgICAgICAgcGFnZSgpLmNo
cm9tZSgpLnNjcm9sbE1haW5GcmFtZVRvUmV2ZWFsUmVjdChzbmFwcGVkSW50UmVjdChhYnNvbHV0
ZVJlY3QpKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKICAgICAg
ICAgICAgIGF1dG8gbWluU2Nyb2xsUG9zaXRpb24gPSBmcmFtZVZpZXcubWluaW11bVNjcm9sbFBv
c2l0aW9uKCk7CiAgICAgICAgICAgICBhdXRvIG1heFNjcm9sbFBvc2l0aW9uID0gZnJhbWVWaWV3
Lm1heGltdW1TY3JvbGxQb3NpdGlvbigpOwogCkBAIC0yNTEyLDcgKzI1MTcsNyBAQCB2b2lkIFJl
bmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29sdXRl
UmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBUaGlzIGlz
IHRoZSBvdXRlcm1vc3QgdmlldyBvZiBhIHdlYiBwYWdlLCBzbyBhZnRlciBzY3JvbGxpbmcgdGhp
cyB2aWV3IHdlCi0gICAgICAgICAgICAvLyBzY3JvbGwgaXRzIGNvbnRhaW5lciBieSBjYWxsaW5n
IFBhZ2U6OnNjcm9sbFJlY3RJbnRvVmlldy4KKyAgICAgICAgICAgIC8vIHNjcm9sbCBpdHMgY29u
dGFpbmVyIGJ5IGNhbGxpbmcgUGFnZTo6c2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0LgogICAg
ICAgICAgICAgLy8gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qgb24gdGhlIE1hYyBwbGF0Zm9ybSBp
biBhcHBsaWNhdGlvbnMKICAgICAgICAgICAgIC8vIHRoYXQgcHV0IHdlYiB2aWV3cyBpbnRvIHNj
cm9sbGluZyBjb250YWluZXJzLCBzdWNoIGFzIE1hYyBPUyBYIE1haWwuCiAgICAgICAgICAgICAv
LyBUaGUgY2FuQXV0b3Njcm9sbCBmdW5jdGlvbiBpbiBFdmVudEhhbmRsZXIgYWxzbyBrbm93cyBh
Ym91dCB0aGlzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAwZGRj
ZmVlZTA2MDNkYzk1YWJkNzAzY2ZjOThhNzNjMTYyYjVhM2ZlLi4yYmI2MmM1YjgwNzUwY2FmZGNj
ODdhYzM4MWI0NWU5YmU0ZDRlODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaApAQCAtMTQxLDcgKzE0MSw2IEBAIHN0cnVjdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9u
cyB7CiAgICAgY29uc3QgU2Nyb2xsQWxpZ25tZW50JiBhbGlnblkgeyBTY3JvbGxBbGlnbm1lbnQ6
OmFsaWduQ2VudGVySWZOZWVkZWQgfTsKICAgICBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xs
aW5nIHNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmcgeyBTaG91bGRBbGxvd0Nyb3NzT3Jp
Z2luU2Nyb2xsaW5nOjpObyB9OwogICAgIFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yIHsgU2Nyb2xs
QmVoYXZpb3I6OkF1dG8gfTsKLSAgICBTbW9vdGhTY3JvbGxGZWF0dXJlRW5hYmxlbWVudCBvdmVy
cmlkZUZlYXR1cmVFbmFibGVtZW50IHsgU21vb3RoU2Nyb2xsRmVhdHVyZUVuYWJsZW1lbnQ6OkRl
ZmF1bHQgfTsKIH07CiAKIHVzaW5nIFNjcm9sbGluZ1Njb3BlID0gdWludDY0X3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4
IDIwZTg4ZDM4MTQwYjllOWYyZDNiZGE0MTdkMDdhMGNlMjY0NWU1OTguLjE3NzNmOTJiOWRjY2Yx
NmZiOGVjYjU1YWMxNTAzODkxOTBjYzYxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCkBAIC05Nyw2ICs5NywxMSBAQCB2b2lk
IFBhZ2VDbGllbnRJbXBsOjpyZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQm
LCBjb25zdCBXZWJDb3JlOjpJbgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgUGFn
ZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKwogV2ViQ29yZTo6RmxvYXRQb2ludCBQYWdlQ2xpZW50SW1wbDo6dmlld1Njcm9sbFBvc2l0
aW9uKCkKIHsKICAgICByZXR1cm4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IDU2ZjU5NGZhYTZiNjQ5Y2FiZDI5ODc1NGQ3
ZGEyZjI1OGJmMzcwZDcuLmVjODljZTA0ZTY4MDEzZDUwYjljMmQyNjQyY2Y4YTM5NTkxMTQxMjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBs
LmgKQEAgLTYzLDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2lu
Z0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQcm94eShXZWJQcm9jZXNzUHJveHkmKSBvdmVy
cmlkZTsKICAgICB2b2lkIHNldFZpZXdOZWVkc0Rpc3BsYXkoY29uc3QgV2ViQ29yZTo6UmVnaW9u
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsT3Jp
Z2luKSBvdmVycmlkZTsKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmln
aW4pIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgdmlld1Njcm9sbFBvc2l0aW9u
KCkgb3ZlcnJpZGU7CiAgICAgV2ViQ29yZTo6SW50U2l6ZSB2aWV3U2l6ZSgpIG92ZXJyaWRlOwog
ICAgIGJvb2wgaXNWaWV3V2luZG93QWN0aXZlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAppbmRleCA4MmUzODI4MDM3YjA2NGY1YmQzNmI3
ZGQ1MzZjNjBhMGEyOTMzYWEwLi5lODI2MGE1OWQ5NGNkYzkzOGYwMTFjODllODFmODU0MDIzMjJk
OTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAg
LTU0Niw2ICs1NDYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXN0dXJlRXZlbnRXYXNOb3RIYW5k
bGVkQnlXZWJDb3JlRnJvbVZpZXdPbmx5KE5TRXZlbnQgKik7CiAKICAgICB2b2lkIGRpZFJlc3Rv
cmVTY3JvbGxQb3NpdGlvbigpOworICAgIAorICAgIHZvaWQgc2Nyb2xsVG9SZWN0KGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKIAogICAgIHZv
aWQgc2V0VG90YWxIZWlnaHRPZkJhbm5lcnMoQ0dGbG9hdCB0b3RhbEhlaWdodE9mQmFubmVycykg
eyBtX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzID0gdG90YWxIZWlnaHRPZkJhbm5lcnM7IH0KICAgICBD
R0Zsb2F0IHRvdGFsSGVpZ2h0T2ZCYW5uZXJzKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEhlaWdo
dE9mQmFubmVyczsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbQppbmRleCA1ZmJlYmE0ZjE2ZTMxNjc3ZWIxZGZlZGEyMDk2Mzg3ZmM2NGRhNmNjLi4xYTU1
ZWRiYWE4NzliNmQ2NmI3ZWYwZGUxZjFjNDVkYTg2ZTBjYzU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMjU3MCw2ICsyNTcwLDExIEBAIHZv
aWQgV2ViVmlld0ltcGw6OnVwZGF0ZVRpdGxlYmFyQWRqYWNlbmN5U3RhdGUoKQogCiAjZW5kaWYg
Ly8gSEFWRShOU1NDUk9MTFZJRVdfU0VQQVJBVE9SX1RSQUNLSU5HX0FEQVBURVIpCiAKK3ZvaWQg
V2ViVmlld0ltcGw6OnNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdl
dFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikKK3sKKyAgICBtX3BhZ2Ut
PnNjcm9sbFRvUmVjdCh0YXJnZXRSZWN0LCBvcmlnaW4pOworfQorCiBOU1ZpZXcgKldlYlZpZXdJ
bXBsOjpoaXRUZXN0KENHUG9pbnQgcG9pbnQpCiB7CiAgICAgTlNWaWV3ICpoaXRWaWV3ID0gW21f
dmlldyBfd2ViX3N1cGVySGl0VGVzdDpOU1BvaW50RnJvbUNHUG9pbnQocG9pbnQpXTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAwOGNjMjg5MDM5OTI0ZDMzNzQ4OTM2OGYz
NmM1MDVjYzY4ODk2NzQ1Li4zZDhmOGVmMmI1MDFjMjdmNjg5Mjk3MmJhMDVkYzg5YjM2Y2FkMjVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02MTIsNiArNjEyLDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICB2aXJ0dWFsIHZvaWQgc3Rv
cmVBcHBIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0JikgPSAwOwogI2VuZGlm
CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pIHsg
fQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvaW50ZXJz
Rm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYmFjMjhiN2I5ZGI0ZTQ3ZDE1ZjA3
YzQzODJkMGZkZWM2OGI1OWI1Zi4uY2RkM2JmYTljZTAzZjcyMmU2MGY3YTAzMzFjNGUwMmM3NmJk
MjYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDc0
OCw2ICsxMDc0OCwxNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y3JlYXRlTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3IoUmVmPE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveAogfQogI2VuZGlmCiAKK3Zv
aWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U2Nyb2xsVG9SZWN0KGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCwgY29uc3QgRmxvYXRQb2ludCYgb3JpZ2luKQoreworICAgIHBhZ2VDbGllbnQoKS5y
ZXF1ZXN0U2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbik7Cit9CisKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpzY3JvbGxUb1JlY3QoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBG
bG9hdFBvaW50JiBvcmlnaW4pCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2Nyb2xs
VG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbikpOworfQorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiB2
b2lkIFdlYlBhZ2VQcm94eTo6YXBwUHJpdmFjeVJlcG9ydFRlc3RpbmdEYXRhKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoY29uc3QgQXBwUHJpdmFjeVJlcG9ydFRlc3RpbmdEYXRhJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IDFkZGUyYWEwYWQ2NDYzNTVlMjkwNmM2ZTNmZmIwODAwOGQ1MjczNjUuLmE2ODNiMjcxZmVkMTE5
NDA1Njc0ODM4ZDI3YjA4NTE5MGQyNjI1ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC05MDMsMTEgKzkwMywxNCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldElu
cHV0TWV0aG9kU3RhdGUoc3RkOjpvcHRpb25hbDxJbnB1dE1ldGhvZFN0YXRlPiYmKTsKICNlbmRp
ZgorICAgICAgICAKKyAgICB2b2lkIHJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4p
OworICAgIHZvaWQgc2Nyb2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0
UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKTsKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIHZvaWQgd2luZG93QW5kVmlld0ZyYW1lc0NoYW5nZWQoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiB2aWV3RnJhbWVJbldpbmRvd0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50JiBhY2Nlc3NpYmlsaXR5Vmlld0Nvb3JkaW5hdGVzKTsKICAgICB2b2lkIHNl
dE1haW5GcmFtZUlzU2Nyb2xsYWJsZShib29sKTsKLQorICAgICAgICAKICAgICB2b2lkIHNlbmRD
b21wbGV4VGV4dElucHV0VG9QbHVnaW4odWludDY0X3QgcGx1Z2luQ29tcGxleFRleHRJbnB1dElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdGV4dElucHV0KTsKICAgICBib29sIHNob3VsZERlbGF5
V2luZG93T3JkZXJpbmdGb3JFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50Jik7CiAgICAgYm9vbCBh
Y2NlcHRzRmlyc3RNb3VzZShpbnQgZXZlbnROdW1iZXIsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCBkYjViNTZlZjIzNTIwOWVhMTczOTQ2OWE5MTE2MTQwZTI5NzZkOTZlLi4wMmQ4ZmQ5ZmIy
MjA2YzgzMzFiNWNkMGQ4NmQ2MTZjMGM4OTk3ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01MTAsNiArNTEwLDggQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgRGlkUmVzdG9yZVNjcm9sbFBv
c2l0aW9uKCkKKyAgICAKKyAgICBSZXF1ZXN0U2Nyb2xsVG9SZWN0KFdlYkNvcmU6OkZsb2F0UmVj
dCB0YXJnZXRSZWN0LCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKIAogICAgIEdldExvYWRE
ZWNpc2lvbkZvckljb24oc3RydWN0IFdlYkNvcmU6OkxpbmtJY29uIGljb24sIFdlYktpdDo6Q2Fs
bGJhY2tJRCBjYWxsYmFja0lEKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDQ2MjBlNzVkMGE1NTY1NmU4MjIzYmM3MDZkMzI1YmIw
ODcxMGUwODQuLmIyMjFhZjc5MzY3MTVhODQ1N2E4YThlODlkZTEwMmNkMzFkYjc5MjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0y
MTQsNyArMjE0LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjcm9sbGluZ05vZGVTY3JvbGxWaWV3
RGlkU2Nyb2xsKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsV2lsbFN0
YXJ0U2Nyb2xsKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxpbmdOb2RlU2Nyb2xsRGlkRW5k
U2Nyb2xsKCkgb3ZlcnJpZGU7Ci0KKyAgICAgICAgCisgICAgdm9pZCByZXF1ZXN0U2Nyb2xsVG9S
ZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgb3JpZ2luKSBvdmVycmlkZTsKKyAgICAgICAgCiAgICAgLy8gQXV4aWxpYXJ5
IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5Q2xpZW50JiBmdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xpZW50KCkg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW0KaW5kZXggZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIzMTg1NzQ4ZDhjNzYxN2VjMy4u
MWJkMzMwNjVmMTBjMTcwZDA2NmNjYjdhNmY2YTVjNWU4NjMxODhkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTAyMyw2ICsx
MDIzLDExIEBAIFdlYkNvcmU6OkNvbG9yIFBhZ2VDbGllbnRJbXBsOjpjb250ZW50Vmlld0JhY2tn
cm91bmRDb2xvcigpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IGJhY2tncm91bmRDb2xvcl0u
Q0dDb2xvcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6cmVxdWVzdFNjcm9sbFRvUmVjdChj
b25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIG9yaWdpbikKK3sK
KyAgICBbbV9jb250ZW50VmlldyBfc2Nyb2xsVG9SZWN0OnRhcmdldFJlY3Qgd2l0aE9yaWdpbjpv
cmlnaW4gbWluaW11bVNjcm9sbERpc3RhbmNlOjBdOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IDZjNWM0ZTM5YzYxNDgzZGFl
OTBlNjkyY2M3ODY2OWRhYjc0OWU1ZGEuLmVhZmRkNDdhMjhmYmE4YzNlOTAyMDhhZmQ0MjNlMmIw
MTIyNzI0ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbE1hYy5oCkBAIC0yOTAsNiArMjkwLDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pCiAgICAgdm9pZCBoYW5kbGVDbGlja0ZvckRhdGFEZXRlY3Rpb25SZXN1bHQoY29u
c3QgV2ViQ29yZTo6RGF0YURldGVjdG9yRWxlbWVudEluZm8mLCBjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYpIGZpbmFsOwogI2VuZGlmCisgICAgICAgIAorICAgIHZvaWQgcmVxdWVzdFNjcm9sbFRv
UmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmIG9yaWdpbikgb3ZlcnJpZGU7CiAKICAgICBOU1ZpZXcgKm1fdmlldzsKICAg
ICBXZWFrUHRyPFdlYlZpZXdJbXBsPiBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXggOGI3NGI0NTQ1ZDg5N2E5OTkyOTRm
ODE1YzdjMWY2N2IzOGZkM2MyYy4uMjZhMDk4YjlhYWUzZGE5MjI5MjJhYTg5Yzk4OTIzMzkwOWM2
MTE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bE1hYy5tbQpAQCAtOTcyLDYgKzk3MiwxMiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZXN0
b3JlU2Nyb2xsUG9zaXRpb24oKQogICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9u
KCk7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnJlcXVlc3RTY3JvbGxUb1JlY3QoY29uc3Qg
V2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
JiBvcmlnaW4pCit7CisgICAgLy8gRklYTUU6IEFkZCBhZGRpdGlvbmFsIGxvZ2ljIHRvIGF2b2lk
IE5vdGUgUGlwLgorICAgIG1faW1wbC0+c2Nyb2xsVG9SZWN0KHRhcmdldFJlY3QsIG9yaWdpbik7
Cit9CisKIGJvb2wgUGFnZUNsaWVudEltcGw6OndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNl
KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmIGV2ZW50KQogewogICAgIHJldHVybiBtX2ltcGwt
PndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGV2ZW50Lm5hdGl2ZUV2ZW50KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAppbmRleCA0OGJhY2YyNWZhZGRhZDdmZWQ2MTNkMjYzMDQ0NGNmYzRj
MWUxZDczLi5iNDliNDM0N2ZkYTZjNzc1YWEyNWI2MmE0YzM3Y2I5YTQ0NDYyNWEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtNjU1LDYgKzY1NSwxMSBAQCB2b2lkIFdlYkNocm9tZUNsaWVu
dDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFNpemUmIHNpemUp
IGNvbgogICAgIH0KIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNjcm9sbE1haW5GcmFtZVRv
UmV2ZWFsUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KSBjb25zdAoreworICAgIG1fcGFnZS5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlcXVlc3RTY3JvbGxUb1JlY3QocmVjdCwgcmVjdC5j
ZW50ZXIoKSkpOworfQorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6c2Nyb2xsQ29udGFpbmluZ1Nj
cm9sbFZpZXdzVG9SZXZlYWxSZWN0KGNvbnN0IEludFJlY3QmKSBjb25zdAogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZWY3OGViNjVmYThjMTU3YzJlYjQw
NDVjN2QwZjhkMzQzYzQ5N2I2MC4uYzc0N2Y5YzFiOWNlNzFlOTVkOGIwYmQwNjQwMjg1ZWMwYmUz
ZjZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTMzLDcgKzEzMyw5IEBAIHByaXZhdGU6CiAg
ICAgUGxhdGZvcm1QYWdlQ2xpZW50IHBsYXRmb3JtUGFnZUNsaWVudCgpIGNvbnN0IGZpbmFsOwog
ICAgIHZvaWQgY29udGVudHNTaXplQ2hhbmdlZChXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRzU2l6
ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIGNvbnN0IGZpbmFsOworCiAgICAgdm9p
ZCBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYpIGNvbnN0IGZpbmFsOyAvLyBDdXJyZW50bHkgb25seSBNYWMgaGFzIGEgbm9uIGVt
cHR5IGltcGxlbWVudGF0aW9uLgorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9SZXZlYWxSZWN0
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbDsKIAogICAgIGJvb2wgc2hvdWxk
VW5hdmFpbGFibGVQbHVnaW5NZXNzYWdlQmVCdXR0b24oV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRP
YmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25zdCBmaW5hbDsKICAgICB2b2lk
IHVuYXZhaWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZChXZWJDb3JlOjpFbGVtZW50JiwgV2ViQ29y
ZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OlBsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uKSBjb25z
dCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggY2Q0NDhjNTMzYjA3ZjAyOWJiYjY0YjFhZDQ2ODJiY2E4NjE3YjA2Mi4uYTkxNjA2OWJj
ZWJiOTJmMGJjYjZlOGY1ZDc2ZjE4MTc5ZDg2YWM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc2NzcsNiArNzY3NywxMSBAQCB2b2lkIFdl
YlBhZ2U6Om1vZGVsRWxlbWVudFByZXZpZXdEaWRPYnRhaW5Db250ZXh0SWQoY29uc3QgV2ViQ29y
ZTo6RWxlbWVudENvbnRleAogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZTo6c2Nyb2xsVG9SZWN0
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgb3JpZ2luKQoreworICAgIG1haW5GcmFtZVZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRp
b24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgV0VCUEFHRV9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDM2MjMzNWZkZDc4NTE4YTI4ZTJm
Yjc2NDk4MzllMzIwMTBjOTJkYjMuLjk0OTdiN2MyMGZiYWFmZmQwOTVhNTUzZTNjZjE1N2IwNmMx
OWNmMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTExMzMsNiArMTEzMyw4IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYWx3YXlzU2hvd3NIb3Jpem9u
dGFsU2Nyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2Fsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9s
bGVyOyB9OwogICAgIGJvb2wgYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXI7IH07CisgICAgCisgICAgdm9pZCBz
Y3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pOwogCiAgICAgdm9pZCBzZXRNaW5pbXVtU2l6ZUZv
ckF1dG9MYXlvdXQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIFdlYkNvcmU6OkludFNp
emUgbWluaW11bVNpemVGb3JBdXRvTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtU2l6
ZUZvckF1dG9MYXlvdXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDFjZWRhN2E3YmNhYjJkODBhZTRjMjY5YjBm
YzBlN2VkYjMxNTFkZDUuLjJjMzQ5ODM0M2ZjZmM3NmFhMDJjMDdkMGRhMjIzZGE3M2M3ZjI4ZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgpAQCAtNjQ0LDYgKzY0NCw4IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0Nv
bW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAg
ICAgVXBkYXRlV2l0aFRleHRSZWNvZ25pdGlvblJlc3VsdChzdHJ1Y3QgV2ViQ29yZTo6VGV4dFJl
Y29nbml0aW9uUmVzdWx0IHJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVs
ZW1lbnQsIFdlYkNvcmU6OkZsb2F0UG9pbnQgbG9jYXRpb24pIC0+IChlbnVtOnVpbnQ4X3QgV2Vi
S2l0OjpUZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1bHQgcmVzdWx0KSBBc3luYwogI2VuZGlmCiAK
KyAgICBTY3JvbGxUb1JlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHRhcmdldFJlY3QsIFdlYkNvcmU6
OkZsb2F0UG9pbnQgb3JpZ2luKQorCiAjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMp
CiAgICAgTW9kZWxFbGVtZW50UHJldmlld0RpZE9idGFpbkNvbnRleHRJZChzdHJ1Y3QgV2ViQ29y
ZTo6RWxlbWVudENvbnRleHQgZWxlbWVudENvbnRleHQsIFN0cmluZyB1dWlkLCB1aW50MzJfdCBj
b250ZXh0SWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggY2ZhNmE5NWY1M2VjMjMwNDVh
NDNmMjg0MTNmYTg3ZGQ3MTcxYjUzZS4uOTBkMGY2ZGQxMjQ2OWZiNDdiZjIxNTY4ODBiNDQ3N2Rj
OTdmNzhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTExMiw4ICsxMTIsOCBAQCBwcml2YXRlOgog
ICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwbGF0Zm9ybVBhZ2VDbGllbnQoKSBjb25zdCBmaW5hbDsK
ICAgICB2b2lkIGNvbnRlbnRzU2l6ZUNoYW5nZWQoV2ViQ29yZTo6RnJhbWUmLCBjb25zdCBXZWJD
b3JlOjpJbnRTaXplJikgY29uc3QgZmluYWw7CiAgICAgdm9pZCBpbnRyaW5zaWNDb250ZW50c1Np
emVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBjb25zdCBmaW5hbCB7IH0KLSAgICB2
b2lkIHNjcm9sbENvbnRhaW5pbmdTY3JvbGxWaWV3c1RvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JikgY29uc3QgZmluYWw7CiAKKyAgICB2b2lkIHNjcm9sbENvbnRhaW5pbmdTY3Jv
bGxWaWV3c1RvUmV2ZWFsUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgY29uc3QgZmluYWw7
CiAgICAgdm9pZCBzZXRTdGF0dXNiYXJUZXh0KGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogCiAg
ICAgYm9vbCBzaG91bGRVbmF2YWlsYWJsZVBsdWdpbk1lc3NhZ2VCZUJ1dHRvbihXZWJDb3JlOjpS
ZW5kZXJFbWJlZGRlZE9iamVjdDo6UGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24pIGNvbnN0IGZp
bmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA2NzU2YTBjOTE3N2I3NTgxZmI4Zjg5MDM2MzQwNmFj
YWUyNjkxN2E5Li5kMDU3MjgxY2M0OTdlZDE1ZDg1MTA0MDQxOTYwODQ3M2UxNTAxNGY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaApAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAg
dm9pZCBzY3JvbGxDb250YWluaW5nU2Nyb2xsVmlld3NUb1JldmVhbFJlY3QoY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpIGNvbnN0IGZpbmFsIHsgfQorICAgIHZvaWQgc2Nyb2xsTWFpbkZyYW1lVG9S
ZXZlYWxSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBjb25zdCBmaW5hbCB7IH0KIAogI2lm
IEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRzVmlkZW9GdWxsc2NyZWVuKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSkgZmluYWw7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>