<?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>224742</bug_id>
          
          <creation_ts>2021-04-19 02:06:19 -0700</creation_ts>
          <short_desc>[css-contain] Support contain:paint</short_desc>
          <delta_ts>2021-11-16 14:32:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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, WebExposed, WPTImpact</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>172026</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jbedard</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751708</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-04-19 02:06:19 -0700</bug_when>
    <thetext>Support contain:paint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751709</commentid>
    <comment_count>1</comment_count>
      <attachid>426401</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-04-19 02:09:46 -0700</bug_when>
    <thetext>Created attachment 426401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752715</commentid>
    <comment_count>2</comment_count>
      <attachid>426677</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-04-21 06:35:07 -0700</bug_when>
    <thetext>Created attachment 426677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752759</commentid>
    <comment_count>3</comment_count>
      <attachid>426694</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-04-21 08:36:33 -0700</bug_when>
    <thetext>Created attachment 426694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752883</commentid>
    <comment_count>4</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-04-21 12:59:04 -0700</bug_when>
    <thetext>After some experimentation (see the patch), almost all contain: paint tests pass, but I think there are two areas to further figure out:

- setting up z-index in StyleAdjuster is not ideal, since some elements with contain: paint on them should ignore it (for example it depends on whether the element is replaced), but we can&apos;t do that in StyleAdjuster since it needs the renderer to find out if it is replaced. Same problem applies to contain: layout but I guess no test hits it. Current workaround is to check in RenderLayer whether we need a stacking context.

- the patch forces display: hidden and position: relative (for default position) internally. This does what contain: paint requires, but I wonder if we should instead do more contain: paint checks at the place where style.overflowX()/overflowY() and style.position() are used. However I suspect that is a lot of places and I am not sure how many we&apos;d need to change and where they all are.

Simon, do you have some suggestions for above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754132</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-26 02:07:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/77143622&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755685</commentid>
    <comment_count>6</comment_count>
      <attachid>427421</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-04-30 08:14:08 -0700</bug_when>
    <thetext>Created attachment 427421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758480</commentid>
    <comment_count>7</comment_count>
      <attachid>428168</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-10 07:08:58 -0700</bug_when>
    <thetext>Created attachment 428168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758630</commentid>
    <comment_count>8</comment_count>
      <attachid>428168</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-10 14:19:28 -0700</bug_when>
    <thetext>Comment on attachment 428168
Patch

Does this need a feature flag?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758643</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-10 14:32:42 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; Does this need a feature flag?

Or is it already covered by an existing feature flag?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758886</commentid>
    <comment_count>10</comment_count>
      <attachid>428269</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-11 06:20:52 -0700</bug_when>
    <thetext>Created attachment 428269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758903</commentid>
    <comment_count>11</comment_count>
      <attachid>428275</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-11 07:50:15 -0700</bug_when>
    <thetext>Created attachment 428275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758941</commentid>
    <comment_count>12</comment_count>
      <attachid>428290</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-11 10:12:09 -0700</bug_when>
    <thetext>Created attachment 428290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759054</commentid>
    <comment_count>13</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-11 13:56:11 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; (In reply to Darin Adler from comment #8)
&gt; &gt; Does this need a feature flag?
&gt; 
&gt; Or is it already covered by an existing feature flag?

Right, all of CSS Containment depends on CSSContainmentEnabled experimental feature; if this is not enabled (and it is not by default), parsing is not done and checks like shouldApplyPaintContainment will always fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760243</commentid>
    <comment_count>14</comment_count>
      <attachid>428290</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-14 15:14:07 -0700</bug_when>
    <thetext>Comment on attachment 428290
Patch

I’d love to review, but I don’t think I *quite* have enough knowledge to spot a mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760749</commentid>
    <comment_count>15</comment_count>
      <attachid>428829</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-17 08:19:22 -0700</bug_when>
    <thetext>Created attachment 428829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760804</commentid>
    <comment_count>16</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-17 11:00:09 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #14)
&gt; Comment on attachment 428290 [details]
&gt; Patch
&gt; 
&gt; I’d love to review, but I don’t think I *quite* have enough knowledge to
&gt; spot a mistake.

Understood Darin, thanks for letting me know. In the meantime I rebased this patch after bug 225442 landed, for any other takers :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769189</commentid>
    <comment_count>17</comment_count>
      <attachid>431253</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-12 00:32:26 -0700</bug_when>
    <thetext>Created attachment 431253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769213</commentid>
    <comment_count>18</comment_count>
      <attachid>431264</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-12 12:43:50 -0700</bug_when>
    <thetext>Created attachment 431264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769255</commentid>
    <comment_count>19</comment_count>
      <attachid>431272</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-13 03:49:15 -0700</bug_when>
    <thetext>Created attachment 431272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769256</commentid>
    <comment_count>20</comment_count>
      <attachid>431273</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-13 04:27:00 -0700</bug_when>
    <thetext>Created attachment 431273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769264</commentid>
    <comment_count>21</comment_count>
      <attachid>431275</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-13 07:09:32 -0700</bug_when>
    <thetext>Created attachment 431275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769271</commentid>
    <comment_count>22</comment_count>
      <attachid>431280</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-13 09:56:22 -0700</bug_when>
    <thetext>Created attachment 431280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769285</commentid>
    <comment_count>23</comment_count>
      <attachid>431283</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-13 11:37:02 -0700</bug_when>
    <thetext>Created attachment 431283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769438</commentid>
    <comment_count>24</comment_count>
      <attachid>431283</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-06-14 09:50:23 -0700</bug_when>
    <thetext>Comment on attachment 431283
Patch

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

Looking great! I&apos;ll let Simon et al. to check it before approving.

&gt; Source/WebCore/ChangeLog:15
&gt; +        - implements clipping on the overflow clip edge.

Nit: no need to wrap those comments that much. Long lines are welcomed

&gt; Source/cmake/OptionsGTK.cmake:73
&gt; +WEBKIT_OPTION_DEFINE(USE_AVIF &quot;Whether to enable support for AVIF images.&quot; PUBLIC OFF)

Unrelated

&gt; Source/cmake/OptionsGTK.cmake:81
&gt; +WEBKIT_OPTION_DEFINE(USE_SOUP2 &quot;Whether to enable usage of Soup 2 instead of Soup 3.&quot; PUBLIC ON)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769483</commentid>
    <comment_count>25</comment_count>
      <attachid>431283</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-14 11:54:26 -0700</bug_when>
    <thetext>Comment on attachment 431283
Patch

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

&gt;&gt; Source/cmake/OptionsGTK.cmake:73
&gt;&gt; +WEBKIT_OPTION_DEFINE(USE_AVIF &quot;Whether to enable support for AVIF images.&quot; PUBLIC OFF)
&gt; 
&gt; Unrelated

You can usually ignore patches I do not put up for review :) I am usually experimenting and abusing the build bots to make sure all is green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769493</commentid>
    <comment_count>26</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-14 12:04:23 -0700</bug_when>
    <thetext>I found out a few things since Friday:
- overflow: clip is not supported sadly. However I think overflow: hidden is reasonably close.
- while actually looking at the spec a bit better, it turns our contain: paint *only* has an effect for overflow-x/y: visible [1]. This means a lot of checks (like overflowX() == Overflow::Scroll) can be done without taking contain: paint into account and not using effectiveOverflowX/Y. Really only comparison with Visible and Hidden need effectiveOverflowX/Y.
- overflowX/Y is queried in a lot of different context, for example clipping and scroll overflow, and I do not know whether contain: paint should be queried tooin all those contexts (through effectiveOverflowX/Y), actually I only know sure in the clipping case.
For example I have no idea if spatial navigation would need to take it into account.

[1] https://drafts.csswg.org/css-contain-2/#containment-paint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770172</commentid>
    <comment_count>27</comment_count>
      <attachid>431542</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-16 07:04:37 -0700</bug_when>
    <thetext>Created attachment 431542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770218</commentid>
    <comment_count>28</comment_count>
      <attachid>431542</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-16 09:25:28 -0700</bug_when>
    <thetext>Comment on attachment 431542
Patch

Patch has some improvements now and I removed the unrelated cmake changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775975</commentid>
    <comment_count>29</comment_count>
      <attachid>433212</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-07-09 05:56:43 -0700</bug_when>
    <thetext>Created attachment 433212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777001</commentid>
    <comment_count>30</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-07-14 12:23:32 -0700</bug_when>
    <thetext>Implementing overflow: clip first (bug 198230), hopefully that will make this patch a bit smaller and easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779414</commentid>
    <comment_count>31</comment_count>
      <attachid>433212</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-07-26 01:40:59 -0700</bug_when>
    <thetext>Comment on attachment 433212
Patch

overflow:clip should go in first, then this can be rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781069</commentid>
    <comment_count>32</comment_count>
      <attachid>434695</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-07-31 01:35:26 -0700</bug_when>
    <thetext>Created attachment 434695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781847</commentid>
    <comment_count>33</comment_count>
      <attachid>434892</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-04 01:41:29 -0700</bug_when>
    <thetext>Created attachment 434892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782876</commentid>
    <comment_count>34</comment_count>
      <attachid>435185</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-09 05:57:40 -0700</bug_when>
    <thetext>Created attachment 435185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783470</commentid>
    <comment_count>35</comment_count>
      <attachid>435336</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-11 05:20:02 -0700</bug_when>
    <thetext>Created attachment 435336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790694</commentid>
    <comment_count>36</comment_count>
      <attachid>437410</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-06 06:52:10 -0700</bug_when>
    <thetext>Created attachment 437410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792288</commentid>
    <comment_count>37</comment_count>
      <attachid>437851</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-10 04:35:54 -0700</bug_when>
    <thetext>Created attachment 437851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793743</commentid>
    <comment_count>38</comment_count>
      <attachid>438253</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-15 10:15:46 -0700</bug_when>
    <thetext>Created attachment 438253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793993</commentid>
    <comment_count>39</comment_count>
      <attachid>438331</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-16 03:22:58 -0700</bug_when>
    <thetext>Created attachment 438331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798304</commentid>
    <comment_count>40</comment_count>
      <attachid>439604</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-09-29 07:01:04 -0700</bug_when>
    <thetext>Created attachment 439604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806171</commentid>
    <comment_count>41</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-19 11:14:13 -0700</bug_when>
    <thetext>Is this ready for review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807130</commentid>
    <comment_count>42</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-21 07:37:53 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #41)
&gt; Is this ready for review?

A technical review is always welcome, however we still feel we need more data from perf tests to check where the patch improves things (tracked in https://bugs.webkit.org/show_bug.cgi?id=228696).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807193</commentid>
    <comment_count>43</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-21 09:16:59 -0700</bug_when>
    <thetext>It seems fine to separate the behavioral changes (affecting WPT) to the perf changes, which can be iterative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808408</commentid>
    <comment_count>44</comment_count>
      <attachid>442373</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-25 08:22:12 -0700</bug_when>
    <thetext>Created attachment 442373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808444</commentid>
    <comment_count>45</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-25 10:12:02 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #43)
&gt; It seems fine to separate the behavioral changes (affecting WPT) to the perf
&gt; changes, which can be iterative.

Nice! I rebased the patch (after some of contain: style landed) and will put it up for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813347</commentid>
    <comment_count>46</comment_count>
      <attachid>442373</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-11-09 14:51:51 -0800</bug_when>
    <thetext>Comment on attachment 442373
Patch

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

&gt; Source/WebCore/rendering/RenderElement.h:222
&gt; +    bool paintContainmentApplies() const { return m_paintContainmentApplies; }
&gt; +    void setPaintContainmentApplies(bool b) { m_paintContainmentApplies = b; }

Any particular reason for caching this values? if so, please use rare data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813504</commentid>
    <comment_count>47</comment_count>
      <attachid>443783</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-10 01:31:19 -0800</bug_when>
    <thetext>Created attachment 443783
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813524</commentid>
    <comment_count>48</comment_count>
      <attachid>443791</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-10 02:57:53 -0800</bug_when>
    <thetext>Created attachment 443791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813549</commentid>
    <comment_count>49</comment_count>
      <attachid>443802</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-10 04:19:06 -0800</bug_when>
    <thetext>Created attachment 443802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813631</commentid>
    <comment_count>50</comment_count>
      <attachid>442373</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-10 08:58:34 -0800</bug_when>
    <thetext>Comment on attachment 442373
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderElement.h:222
&gt;&gt; +    void setPaintContainmentApplies(bool b) { m_paintContainmentApplies = b; }
&gt; 
&gt; Any particular reason for caching this values? if so, please use rare data.

They will be queried a lot because of effictiveOverflow getters. I ended up using rare data indeed, but is there really a lack of bits? It seems there are 5 in RenderElement and 1 or 2 in RenderObject.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813648</commentid>
    <comment_count>51</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-10 09:24:51 -0800</bug_when>
    <thetext>Committed r285583 (244091@main): &lt;https://commits.webkit.org/244091@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443802.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814639</commentid>
    <comment_count>52</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2021-11-12 14:57:16 -0800</bug_when>
    <thetext>We&apos;ve seen a large number of layout tests become flaky failures right after this change has landed:

https://results.webkit.org/?suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;test=fast%2Ftable%2Foverflow-table-collapsed-borders-section-self-painting-layer-painting.html&amp;test=fast%2Ftable%2Foverflow-table-collapsed-borders-section-self-painting-layer-table-self-painting-layer.html&amp;test=editing%2FexecCommand%2F4580583-2.html&amp;test=editing%2FexecCommand%2F4747450.html&amp;test=fast%2Fcss%2Foutline-auto-empty-rects.html&amp;test=editing%2Finserting%2Finsert-br-quoted-005.html

I can reproduce one of the failures locally with a ToT build with the following:
run-webkit-tests fast/table/overflow-table-collapsed-borders-section-self-painting-layer-table-self-painting-layer.html --iterations 100 --child-processes 1 --exit-after-n-failures 1

I cannot reproduce the failure with r285577. None of the other changes in this range look like they could be related: https://trac.webkit.org/log/webkit/?action=stop_on_copy&amp;mode=stop_on_copy&amp;rev=285583&amp;stop_rev=285577&amp;limit=100&amp;verbose=on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814643</commentid>
    <comment_count>53</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2021-11-12 15:00:50 -0800</bug_when>
    <thetext>Reverted r285583 for reason:

Seems to have caused many layout tests to become flaky failures

Committed r285745 (244204@main): &lt;https://commits.webkit.org/244204@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814736</commentid>
    <comment_count>54</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2021-11-12 21:10:16 -0800</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #52)
&gt; We&apos;ve seen a large number of layout tests become flaky failures right after
&gt; this change has landed:
&gt; 
&gt; https://results.webkit.org/?suite=layout-tests&amp;suite=layout-
&gt; tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-
&gt; tests&amp;test=fast%2Ftable%2Foverflow-table-collapsed-borders-section-self-
&gt; painting-layer-painting.html&amp;test=fast%2Ftable%2Foverflow-table-collapsed-
&gt; borders-section-self-painting-layer-table-self-painting-layer.
&gt; html&amp;test=editing%2FexecCommand%2F4580583-2.
&gt; html&amp;test=editing%2FexecCommand%2F4747450.html&amp;test=fast%2Fcss%2Foutline-
&gt; auto-empty-rects.html&amp;test=editing%2Finserting%2Finsert-br-quoted-005.html
Looks like the flakiness has stopped after the revert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815414</commentid>
    <comment_count>55</comment_count>
      <attachid>444364</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-16 02:46:03 -0800</bug_when>
    <thetext>Created attachment 444364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815417</commentid>
    <comment_count>56</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-16 02:48:55 -0800</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #52)
&gt; We&apos;ve seen a large number of layout tests become flaky failures right after
&gt; this change has landed:
&gt; 
&gt; https://results.webkit.org/?suite=layout-tests&amp;suite=layout-
&gt; tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-
&gt; tests&amp;test=fast%2Ftable%2Foverflow-table-collapsed-borders-section-self-
&gt; painting-layer-painting.html&amp;test=fast%2Ftable%2Foverflow-table-collapsed-
&gt; borders-section-self-painting-layer-table-self-painting-layer.
&gt; html&amp;test=editing%2FexecCommand%2F4580583-2.
&gt; html&amp;test=editing%2FexecCommand%2F4747450.html&amp;test=fast%2Fcss%2Foutline-
&gt; auto-empty-rects.html&amp;test=editing%2Finserting%2Finsert-br-quoted-005.html
&gt; 
&gt; I can reproduce one of the failures locally with a ToT build with the
&gt; following:
&gt; run-webkit-tests
&gt; fast/table/overflow-table-collapsed-borders-section-self-painting-layer-
&gt; table-self-painting-layer.html --iterations 100 --child-processes 1
&gt; --exit-after-n-failures 1

It turns out this is caused by uninitialized rare data. I guess this is something that can&apos;t always be caught by the build bots due to system differences. Tricky!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815495</commentid>
    <comment_count>57</comment_count>
      <attachid>444389</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-16 08:21:21 -0800</bug_when>
    <thetext>Created attachment 444389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815525</commentid>
    <comment_count>58</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-11-16 09:13:50 -0800</bug_when>
    <thetext>@Alan this is ready for review again, see comment 56 for the cause. Besides the uninitialized member var fix in RenderObject.cpp, the only other change is skipping one more test because of https://bugs.webkit.org/show_bug.cgi?id=233193.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815655</commentid>
    <comment_count>59</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-16 14:32:47 -0800</bug_when>
    <thetext>Committed r285885 (244309@main): &lt;https://commits.webkit.org/244309@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444389.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426401</attachid>
            <date>2021-04-19 02:09:46 -0700</date>
            <delta_ts>2021-04-21 06:35:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210419110944.patch</filename>
            <type>text/plain</type>
            <size>11085</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNDlkZGI5Yjc5ZDFj
OTA2MmEyODRjYzlhZjBhNWIxNDk3ODhiMi4uN2E2MTc0ZTlkZDgzZjA4YTUzNGEwNDBjMTc2MmQx
NjUwMDQwZTg3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA0LTE5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94OjpjcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQgY29uc3Qp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3Np
dGlvbmVkT2JqZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250YWlu
c1BhaW50IGNvbnN0KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUFkanVzdGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0IGNvbnN0KToKKwogMjAyMS0wNC0x
OCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTZWxl
Y3RlZCBpbWFnZSBvdmVybGF5IHRleHQgc2hvdWxkIG5ldmVyIGJlIHZpc2libGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMTkyNDQwYjMzODgwOGEwM2VmMThjMTg5
NjE2ZGU5YTliYmZlYmRlZC4uN2M0N2FhOWZkNGVjNTM0NTU3NWM2ZjFhZGVjMDc5OTVlZDZkNjdm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ2NzgsNyArNDY3
OCw3IEBAIGJvb2wgUmVuZGVyQm94OjpjcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQoKSBjb25z
dAogewogICAgIHJldHVybiBpc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpIHx8IGlzRmxvYXRp
bmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBoYXNPdmVyZmxvd0NsaXAoKSB8fCBpc0ZsZXhJ
dGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgpCiAgICAgICAgIHx8IGlzVGFibGVDZWxsKCkgfHwgaXNU
YWJsZUNhcHRpb24oKSB8fCBpc0ZpZWxkc2V0KCkgfHwgaXNXcml0aW5nTW9kZVJvb3QoKSB8fCBp
c0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIHx8
IGlzUmVuZGVyRnJhZ21lbnRDb250YWluZXIoKQotICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5z
TGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8
IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3Bs
YXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CisgICAgICAgIHx8IHN0eWxlKCkuY29udGFp
bnNMYXlvdXQoKSB8fCBzdHlsZSgpLmNvbnRhaW5zUGFpbnQoKSB8fCBpc0dyaWRJdGVtKCkgfHwg
c3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29s
dW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9v
dDsKIH0KIAogYm9vbCBSZW5kZXJCb3g6OmF2b2lkc0Zsb2F0cygpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCBlYzAxNDBmMjliYjFlNWYxY2Y5NTVl
MzMwYjI2YmM3NjY0YTZjNWYxLi4yOTY3ZGQ5MDQ0ZTU5MjU5NTQ2OGQzNDhmNjRhNmM1Njg1YWYy
YWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTQzMCw2
ICs0MzAsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluRml4ZWRQb3Np
dGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICB8fCAoaGFzVHJhbnNmb3JtKCkgJiYgaXNSZW5k
ZXJCbG9jaygpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQogICAgICAgICB8fCBz
aG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBs
eVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAgICAgICAgIHx8IGlzT3V0T2ZGbG93UmVuZGVyRnJh
Z21lbnRlZEZsb3coKTsKIH0KIApAQCAtNDM5LDYgKzQ0MCw3IEBAIGlubGluZSBib29sIFJlbmRl
ckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAog
ICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0
eSgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRB
cHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50
Q29udGFpbm1lbnQoKnRoaXMpCiAgICAgICAgIHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDRiMDY5NTIzODE2ZDFl
YTZhYmY3ZmY3OGE0NWM2NmQzOGVlODQ3MGIuLmMxNDk1MmI4ZDgxY2M0MmJjMTYyNjJjNTEzOTdj
MWI5YTBjMGI3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CkBAIC0yNDQ4LDMgKzI0NDgsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5TGF5b3V0Q29u
dGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcgogewogICAgIHJl
dHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgJiYgKCFyZW5kZXJlci5pc0lu
bGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVy
LmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNS
ZW5kZXJCbG9ja0Zsb3coKSk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlQYWludENv
bnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAg
cmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNQYWludCgpICYmICghcmVuZGVyZXIuaXNJ
bmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJl
ci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlz
UmVuZGVyQmxvY2tGbG93KCkpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgKaW5kZXggN2FmMTM0YjA2N2MwNTVkZTk2ZDYyMjNjOGU1NTU3NWQ0YzU5YzhhZi4uZGE4
NjgyNTI3YWI3MzA5ZjFkZWQ1MTVmMWFlNzI3MzdjMDM2MzQwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMTE5MSw2ICsxMTkxLDcgQEAgdm9pZCBwcmludEdy
YXBoaWNzTGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOwogI2VuZGlmCiAKIGJvb2wgc2hvdWxk
QXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKK2Jvb2wgc2hvdWxk
QXBwbHlQYWludENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgKaW5kZXggMDZmNzBhNzFiYzA1MzUyZDdjMTY5ODkwOTdmMGIxYTA2NzNlZjc1YS4uZTU3
MjFiZTUyNmE4MDY2MTRiY2IxYTliYWYwNjlkZjk0Njk0YjZiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyNSw2ICs1MjUsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlv
VHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0g
QXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1l
bnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluOyB9CiAgICAgYm9vbCBjb250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0K
KyAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hB
bGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1l
bnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24p
OyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAg
ICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFk
anVzdGVyLmNwcAppbmRleCAyOGYyYWZhMTc5MTkyZTczYzk0OWNhNjYzYmQ1MWI3NjdlNTBmNmU2
Li5lZWE0NDZiYmUwNzZiZDM2NzU3OTFmM2NjMWQwNDRmMTI1MDVhZDhiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcApAQCAtNDM4LDcgKzQzOCw3IEBAIHZvaWQgQWRqdXN0
ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiB1c2VyQWdl
bnRBcHBlYXJhbmNlCiAjZW5kaWYKIAogICAgIC8vIGNvbnRhaW46IGxheW91dCBjcmVhdGVzIGEg
c3RhY2tpbmcgY29udGV4dC4KLSAgICBpZiAoc3R5bGUuaGFzQXV0b1VzZWRaSW5kZXgoKSAmJiBz
dHlsZS5jb250YWluc0xheW91dCgpKQorICAgIGlmIChzdHlsZS5oYXNBdXRvVXNlZFpJbmRleCgp
ICYmIChzdHlsZS5jb250YWluc0xheW91dCgpIHx8IHN0eWxlLmNvbnRhaW5zUGFpbnQoKSkpCiAg
ICAgICAgIHN0eWxlLnNldFVzZWRaSW5kZXgoMCk7CiAKICAgICAvLyBDdWxsIG91dCBhbnkgdXNl
bGVzcyBsYXllcnMgYW5kIGFsc28gcmVwZWF0IHBhdHRlcm5zIGludG8gYWRkaXRpb25hbCBsYXll
cnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZmYwYzMxOTg1NTFjZTg2Y2Y4MGIzNDU4OTdhM2FmMjk1YTNmOWZiNS4uZThm
ZmQyOTg5NzAzNmNhNjI1YWYxMDQ1YjE2MDM2YzhmMjQ3MTA0MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIxLTA0LTE5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdJUC4KKworICAgICAgICAqIFRlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjEtMDQtMTggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgU2VsZWN0ZWQgaW1hZ2Ugb3ZlcmxheSB0ZXh0IHNob3VsZCBuZXZlciBi
ZSB2aXNpYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1ZDQzOTA5YTM3OTM1MmRmNWNmMmNiNTlh
MGRlNzQ1NGFiNDhjYWFmLi5kZGUxZDkwMzFhNTlmMzE5MTRiNTM4ZjNkNTNmYTk0M2FjNjhmNDdj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2ODAsNiArNDY4MCw3IEBAIHdlYmtpdC5vcmcvYi8y
MjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRl
ZmluZWQtMDE1CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLWFuaW1hdGlvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIyB3ZWJr
aXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0w
MjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDcwMCwxMyArNDcwMSw4
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDA0Lmh0bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ3MjMsMTYg
KzQ3MTksMTAgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFp
bmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
b250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVu
ZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426677</attachid>
            <date>2021-04-21 06:35:07 -0700</date>
            <delta_ts>2021-04-21 08:36:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210421153506.patch</filename>
            <type>text/plain</type>
            <size>14679</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNDlkZGI5Yjc5ZDFj
OTA2MmEyODRjYzlhZjBhNWIxNDk3ODhiMi4uYTdjNTk2NDkyYWE1Y2U2MmZmMWEyODc2ZTE2ZWY0
MjM0NTg1NDU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIxLTA0LTIxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94OjpjcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQgY29uc3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bGVtZW50OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2Jq
ZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250YWluc1BhaW50IGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V2lsbENoYW5nZURhdGE6OnByb3BlcnR5Q3JlYXRlc1N0YWNraW5nQ29u
dGV4dCk6CisgICAgICAgICogc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZTo6QWRqdXN0ZXI6OmFkanVzdCBjb25zdCk6CisKIDIwMjEtMDQtMTggIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgU2VsZWN0ZWQgaW1h
Z2Ugb3ZlcmxheSB0ZXh0IHNob3VsZCBuZXZlciBiZSB2aXNpYmxlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDE5MjQ0MGIzMzg4MDhhMDNlZjE4YzE4OTYxNmRlOWE5
YmJmZWJkZWQuLmRjZWUxYjAxOWU5OGJkMTE2MTU4ZDZmZjI0Y2EwMjlkNDRkNzU1YzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00ODUsNyArNDg1LDEwIEBAIHZv
aWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEZsb2F0aW5nKCFpc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxvYXRpbmcoKSk7CiAKICAgICAvLyBX
ZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hvc2Ugb3ZlcmZsb3cgYXBwbGllcyB0
byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uub3ZlcmZsb3dYKCkgIT0gT3ZlcmZs
b3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkg
eworICAgIGlmIChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKSB7CisgICAgICAg
IHNldEhhc092ZXJmbG93Q2xpcCgpOworICAgICAgICBzZXRQb3NpdGlvblN0YXRlKFBvc2l0aW9u
VHlwZTo6UmVsYXRpdmUpOworICAgIH0gZWxzZSBpZiAoc3R5bGVUb1VzZS5vdmVyZmxvd1goKSAh
PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJC
bG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsKICAgICAg
ICAgaWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBj
YW4gcHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMuCkBAIC00Njc4LDcgKzQ2ODEsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1h
dHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5l
VGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZs
b3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBp
c1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3Jp
dGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVy
RnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAgICAgICAg
fHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNw
ZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpB
bGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OworICAgICAg
ICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1BhaW50KCkg
fHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCku
Y29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggZWMw
MTQwZjI5YmIxZTVmMWNmOTU1ZTMzMGIyNmJjNzY2NGE2YzVmMS4uMjk2N2RkOTA0NGU1OTI1OTU0
NjhkMzQ4ZjY0YTZjNTY4NWFmMmFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCkBAIC00MzAsNiArNDMwLDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6
Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGhhc1Ry
YW5zZm9ybSgpICYmIGlzUmVuZGVyQmxvY2soKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2Jq
ZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAg
ICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKQogICAgICAgICB8fCBp
c091dE9mRmxvd1JlbmRlckZyYWdtZW50ZWRGbG93KCk7CiB9CiAKQEAgLTQzOSw2ICs0NDAsNyBA
QCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9u
ZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBoYXNUcmFu
c2Zvcm1SZWxhdGVkUHJvcGVydHkoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkK
ICAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAg
fHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRl
clZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApp
bmRleCA0YjA2OTUyMzgxNmQxZWE2YWJmN2ZmNzhhNDVjNjZkMzhlZTg0NzBiLi5jMTQ5NTJiOGQ4
MWNjNDJiYzE2MjYyYzUxMzk3YzFiOWEwYzBiNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjQ0OCwzICsyNDQ4LDkgQEAgYm9vbCBXZWJDb3JlOjpz
aG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYg
cmVuZGVyZXIKIHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc0xheW91dCgp
ICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVs
Qm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFy
dCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpOwogfQorCitib29sIFdlYkNvcmU6
OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3Qm
IHJlbmRlcmVyKQoreworICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zUGFpbnQo
KSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZl
bEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBh
cnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxvdygpKTsKK30KKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDdhZjEzNGIwNjdjMDU1ZGU5NmQ2MjIzYzhl
NTU1NzVkNGM1OWM4YWYuLmRhODY4MjUyN2FiNzMwOWYxZGVkNTE1ZjFhZTcyNzM3YzAzNjM0MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTExOTEsNiArMTE5
MSw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsKICNl
bmRpZgogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2Jq
ZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmpl
Y3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDA2ZjcwYTcxYmMwNTM1MmQ3YzE2OTg5MDk3
ZjBiMWEwNjczZWY3NWEuLmU1NzIxYmU1MjZhODA2NjE0YmNiMWE5YmFmMDY5ZGY5NDY5NGI2YmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01
MjUsNiArNTI1LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBjb25zdCB7
IHJldHVybiBhc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OlJhdGlvIHx8IGFz
cGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6QXV0b0FuZFJhdGlvOyB9CiAgICAg
T3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250YWluKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQogICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRh
aW5tZW50OjpMYXlvdXQpOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1
cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6
UGFpbnQpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVk
RmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3Mu
Ym94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3BwCmluZGV4
IDY3ODQ4MWEyMTZhZTU2NDFkZGRkODc5YmQ1ZTgwN2Y0MDNhNmNkN2IuLjdjYTM1NzJlNDc1MDE0
YWZlYzZkZGY1OWQwYzBhOTRlNDQ1YjRmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcApAQCAtNjUsNiArNjUsNyBAQCBib29sIFdp
bGxDaGFuZ2VEYXRhOjpjb250YWluc1Byb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHkpIGNv
bnN0CiBib29sIFdpbGxDaGFuZ2VEYXRhOjpwcm9wZXJ0eUNyZWF0ZXNTdGFja2luZ0NvbnRleHQo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eSkKIHsKICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVBlcnNwZWN0aXZl
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlTY2FsZToKICAgICBjYXNlIENTU1Byb3BlcnR5Um90YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAppbmRleCAyOGYyYWZhMTc5MTky
ZTczYzk0OWNhNjYzYmQ1MWI3NjdlNTBmNmU2Li5lZWE0NDZiYmUwNzZiZDM2NzU3OTFmM2NjMWQw
NDRmMTI1MDVhZDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVz
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcApAQCAt
NDM4LDcgKzQzOCw3IEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYgc3R5bGUs
IGNvbnN0IFJlbmRlclN0eWxlKiB1c2VyQWdlbnRBcHBlYXJhbmNlCiAjZW5kaWYKIAogICAgIC8v
IGNvbnRhaW46IGxheW91dCBjcmVhdGVzIGEgc3RhY2tpbmcgY29udGV4dC4KLSAgICBpZiAoc3R5
bGUuaGFzQXV0b1VzZWRaSW5kZXgoKSAmJiBzdHlsZS5jb250YWluc0xheW91dCgpKQorICAgIGlm
IChzdHlsZS5oYXNBdXRvVXNlZFpJbmRleCgpICYmIChzdHlsZS5jb250YWluc0xheW91dCgpIHx8
IHN0eWxlLmNvbnRhaW5zUGFpbnQoKSkpCiAgICAgICAgIHN0eWxlLnNldFVzZWRaSW5kZXgoMCk7
CiAKICAgICAvLyBDdWxsIG91dCBhbnkgdXNlbGVzcyBsYXllcnMgYW5kIGFsc28gcmVwZWF0IHBh
dHRlcm5zIGludG8gYWRkaXRpb25hbCBsYXllcnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmYwYzMxOTg1NTFjZTg2Y2Y4
MGIzNDU4OTdhM2FmMjk1YTNmOWZiNS4uMjc1ZDkwODI1YTU4ZmVlZDNiNWQyMjIzNmNlMDBiMTc5
NTljMGNmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA0LTIxICBSb2IgQnVpcyAgPHJi
dWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46
cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdJ
UC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDQtMTggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgU2VsZWN0ZWQgaW1hZ2Ug
b3ZlcmxheSB0ZXh0IHNob3VsZCBuZXZlciBiZSB2aXNpYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA1ZDQzOTA5YTM3OTM1MmRmNWNmMmNiNTlhMGRlNzQ1NGFiNDhjYWFmLi43MDZmZWU0MThlYTRj
ZmY3NDdiNmU5YmU3NzNiM2YwNGVkZTcwNmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2ODAs
NiArNDY4MCwxMSBAQCB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxNQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1hbmltYXRpb24tMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
aWdub3JlZC1jYXNlcy1ydWJ5LXN0YWNraW5nLWFuZC1jbGlwcGluZy0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDY5NSw0NyArNDcwMCwxMSBAQCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0w
MTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjAuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDcuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jZWxsLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jbGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAt
MDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNsaXAtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY29udGFpbmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1pbmRlcGVuZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1z
aXplLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFhLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtdGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
MDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426694</attachid>
            <date>2021-04-21 08:36:33 -0700</date>
            <delta_ts>2021-04-30 08:14:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210421173632.patch</filename>
            <type>text/plain</type>
            <size>15009</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNDlkZGI5Yjc5ZDFj
OTA2MmEyODRjYzlhZjBhNWIxNDk3ODhiMi4uNTllMmFjNmQ4YzA1MWFjNTM5ODU3YjA1ZDk1MWY4
YjJkMjMwMzVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA0LTIxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94OjpjcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQgY29uc3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bGVtZW50OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2Jq
ZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxk
QXBwbHlQYWludENvbnRhaW5tZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNQYWludCBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldpbGxD
aGFuZ2VEYXRhOjpwcm9wZXJ0eUNyZWF0ZXNTdGFja2luZ0NvbnRleHQpOgorCiAyMDIxLTA0LTE4
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFNlbGVj
dGVkIGltYWdlIG92ZXJsYXkgdGV4dCBzaG91bGQgbmV2ZXIgYmUgdmlzaWJsZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAxOTI0NDBiMzM4ODA4YTAzZWYxOGMxODk2
MTZkZTlhOWJiZmViZGVkLi4xYjI0YTIyZjk1MGJkNGJlMTQwODFjNDg4MDI0MWUzZGRkYzIwMTk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDg1LDcgKzQ4NSwx
MSBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRGbG9hdGluZygh
aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkpOwogCiAg
ICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJmbG93IGFw
cGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAgIGlmIChzdHlsZVRvVXNlLm92ZXJmbG93WCgpICE9
IE92ZXJmbG93OjpWaXNpYmxlICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJs
b2NrKCkpIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSkgewor
ICAgICAgICBzZXRIYXNPdmVyZmxvd0NsaXAoKTsKKyAgICAgICAgaWYgKHN0eWxlKCkucG9zaXRp
b24oKSA9PSBQb3NpdGlvblR5cGU6OlN0YXRpYykKKyAgICAgICAgICAgIHNldFBvc2l0aW9uU3Rh
dGUoUG9zaXRpb25UeXBlOjpSZWxhdGl2ZSk7CisgICAgfSBlbHNlIGlmIChzdHlsZVRvVXNlLm92
ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAm
JiBpc1JlbmRlckJsb2NrKCkpIHsKICAgICAgICAgYm9vbCBib3hIYXNPdmVyZmxvd0NsaXAgPSB0
cnVlOwogICAgICAgICBpZiAoaXNCb2R5KCkpIHsKICAgICAgICAgICAgIC8vIE92ZXJmbG93IG9u
IHRoZSBib2R5IGNhbiBwcm9wYWdhdGUgdG8gdGhlIHZpZXdwb3J0IHVuZGVyIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucy4KQEAgLTQ2NzgsNyArNDY4Miw3IEBAIGJvb2wgUmVuZGVyQm94OjpjcmVh
dGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiBpc0lubGluZUJs
b2NrT3JJbmxpbmVUYWJsZSgpIHx8IGlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSB8
fCBoYXNPdmVyZmxvd0NsaXAoKSB8fCBpc0ZsZXhJdGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgpCiAg
ICAgICAgIHx8IGlzVGFibGVDZWxsKCkgfHwgaXNUYWJsZUNhcHRpb24oKSB8fCBpc0ZpZWxkc2V0
KCkgfHwgaXNXcml0aW5nTW9kZVJvb3QoKSB8fCBpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkg
fHwgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIHx8IGlzUmVuZGVyRnJhZ21lbnRDb250YWluZXIo
KQotICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8
IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENv
bHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jv
b3Q7CisgICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBzdHlsZSgpLmNvbnRh
aW5zUGFpbnQoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkg
fHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlz
cGxheSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKIH0KIAogYm9vbCBSZW5kZXJCb3g6OmF2
b2lkc0Zsb2F0cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aAppbmRleCBlYzAxNDBmMjliYjFlNWYxY2Y5NTVlMzMwYjI2YmM3NjY0YTZjNWYxLi4yOTY3ZGQ5
MDQ0ZTU5MjU5NTQ2OGQzNDhmNjRhNmM1Njg1YWYyYWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTQzMCw2ICs0MzAsNyBAQCBpbmxpbmUgYm9vbCBSZW5k
ZXJFbGVtZW50OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAg
ICB8fCAoaGFzVHJhbnNmb3JtKCkgJiYgaXNSZW5kZXJCbG9jaygpKQogICAgICAgICB8fCBpc1NW
R0ZvcmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50
KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAg
ICAgICAgIHx8IGlzT3V0T2ZGbG93UmVuZGVyRnJhZ21lbnRlZEZsb3coKTsKIH0KIApAQCAtNDM5
LDYgKzQ0MCw3IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0
ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygp
ICYmIGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVp
Z25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlz
KQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAgICAgICAg
IHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAppbmRleCA1Njk1NjFiYzc0ZDNkN2MwZDNiNTFkYjRjZjY0N2UzMjgxZmQzNmVlLi4z
MDA3MzQ3ZjE0MzRmMTQ2ZGU4ZWYxNWUyNTBlODNlYTA0MjExYTNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTU1Myw2ICs1NTMsNyBAQCBzdGF0aWMgYm9v
bCBjYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyKQogICAg
ICAgICB8fCByZW5kZXJlci5oYXNSZWZsZWN0aW9uKCkKICAgICAgICAgfHwgcmVuZGVyZXIuc3R5
bGUoKS5oYXNJc29sYXRpb24oKQogICAgICAgICB8fCAhcmVuZGVyZXIuc3R5bGUoKS5oYXNBdXRv
VXNlZFpJbmRleCgpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5k
ZXJlcikKICAgICAgICAgfHwgKHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpICYmIHJlbmRl
cmVyLnN0eWxlKCkud2lsbENoYW5nZSgpLT5jYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKSk7CiB9
CiAKQEAgLTU4Miw3ICs1ODMsNyBAQCBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZs
b3dPbmx5KCkgY29uc3QKIAogYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0Nv
bnRleHQoKSBjb25zdAogewotICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9V
c2VkWkluZGV4KCkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIoKTsKKyAgICByZXR1cm4gIXJlbmRlcmVy
KCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlu
bWVudChyZW5kZXJlcigpKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOwogfQogCiBib29sIFJlbmRl
ckxheWVyOjpzZXRJc05vcm1hbEZsb3dPbmx5KGJvb2wgaXNOb3JtYWxGbG93T25seSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggNGIwNjk1MjM4MTZkMWVh
NmFiZjdmZjc4YTQ1YzY2ZDM4ZWU4NDcwYi4uYzE0OTUyYjhkODFjYzQyYmMxNjI2MmM1MTM5N2Mx
YjlhMGMwYjcxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
QEAgLTI0NDgsMyArMjQ0OCw5IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlMYXlvdXRDb250
YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyCiB7CiAgICAgcmV0
dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSAmJiAoIXJlbmRlcmVyLmlzSW5s
aW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIu
aXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1Jl
bmRlckJsb2NrRmxvdygpKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29u
dGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICBy
ZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lu
bGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVy
LmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNS
ZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAppbmRleCA3YWYxMzRiMDY3YzA1NWRlOTZkNjIyM2M4ZTU1NTc1ZDRjNTljOGFmLi5kYTg2
ODI1MjdhYjczMDlmMWRlZDUxNWYxYWU3MjczN2MwMzYzNDAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTkxLDYgKzExOTEsNyBAQCB2b2lkIHByaW50R3Jh
cGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAjZW5kaWYKIAogYm9vbCBzaG91bGRB
cHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAppbmRleCAwNmY3MGE3MWJjMDUzNTJkN2MxNjk4OTA5N2YwYjFhMDY3M2VmNzVhLi5lNTcy
MWJlNTI2YTgwNjYxNGJjYjFhOWJhZjA2OWRmOTQ2OTRiNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTI1LDYgKzUyNSw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1cm4gYXNwZWN0UmF0aW9U
eXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCBhc3BlY3RSYXRpb1R5cGUoKSA9PSBB
c3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbzsgfQogICAgIE9wdGlvblNldDxDb250YWlubWVu
dD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQor
ICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAgIEJveEFs
aWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVu
dD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7
IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAg
ICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcAppbmRleCA2Nzg0ODFhMjE2YWU1NjQxZGRk
ZDg3OWJkNWU4MDdmNDAzYTZjZDdiLi43Y2EzNTcyZTQ3NTAxNGFmZWM2ZGRmNTlkMGMwYTk0ZTQ0
NWI0ZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENo
YW5nZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XaWxsQ2hh
bmdlRGF0YS5jcHAKQEAgLTY1LDYgKzY1LDcgQEAgYm9vbCBXaWxsQ2hhbmdlRGF0YTo6Y29udGFp
bnNQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KSBjb25zdAogYm9vbCBXaWxsQ2hhbmdl
RGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcGVy
dHkpCiB7CiAgICAgc3dpdGNoIChwcm9wZXJ0eSkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlDb250
YWluOgogICAgIGNhc2UgQ1NTUHJvcGVydHlQZXJzcGVjdGl2ZToKICAgICBjYXNlIENTU1Byb3Bl
cnR5U2NhbGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVJvdGF0ZToKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZjBjMzE5ODU1
MWNlODZjZjgwYjM0NTg5N2EzYWYyOTVhM2Y5ZmI1Li4yNzVkOTA4MjVhNThmZWVkM2I1ZDIyMjM2
Y2UwMGIxNzk1OWMwY2YyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDQtMjEgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQg
Y29udGFpbjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV0lQLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wNC0xOCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTZWxlY3Rl
ZCBpbWFnZSBvdmVybGF5IHRleHQgc2hvdWxkIG5ldmVyIGJlIHZpc2libGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDVkNDM5MDlhMzc5MzUyZGY1Y2YyY2I1OWEwZGU3NDU0YWI0OGNhYWYuLjdkYmFl
YThlZTAyMmJmNGQxNGUzY2IxNmRjNjhhMDc4MGE1Y2I5NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDY4MCw2ICs0NjgwLDEwIEBAIHdlYmtpdC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRlZmluZWQtMDE1CiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWFuaW1hdGlvbi0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0w
MTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQpAQCAtNDY5NSw0NyArNDY5OSwxMSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1sYXlvdXQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTAuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjAuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDcuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
bGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDA2Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFp
bmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
b250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVu
ZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDIxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427421</attachid>
            <date>2021-04-30 08:14:08 -0700</date>
            <delta_ts>2021-05-10 07:08:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210430171406.patch</filename>
            <type>text/plain</type>
            <size>15888</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZiZGEwYzk4NjVlYWVh
ZGE4MzcwMjRlZTBiZWMzMjEyNjU2OTFkYS4uYmIzYmNjMjY5MjkwOWRkOTlkMDlmNjhmNmYwMTFi
YWRkMTEwZWU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA0LTMwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpjb250YWluc1BhaW50IGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lsbENo
YW5nZURhdGE6OnByb3BlcnR5Q3JlYXRlc1N0YWNraW5nQ29udGV4dCk6CisKIDIwMjEtMDQtMzAg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFNoYXJlIHN0eWxl
IHJlc29sdmVycyBiZXR3ZWVuIGF1dGhvciBzaGFkb3cgdHJlZXMgd2l0aG91dCBzdHlsZSBzaGVl
dHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggZDc0ODA2YWM5ZmU2
MzliN2UzNmU5YTI4NDYyMzNmYjAxZjcwYTFiMy4uMDk4NDM0OTcxMDI3ZTQ3MDg5ZTEyMzRmNGY0
YTUyNmEwMzFmODg3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAg
LTQ4Myw3ICs0ODMsMTEgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAg
c2V0RmxvYXRpbmcoIWlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIHN0eWxlVG9Vc2UuaXNGbG9h
dGluZygpKTsKIAogICAgIC8vIFdlIGFsc28gaGFuZGxlIDxib2R5PiBhbmQgPGh0bWw+LCB3aG9z
ZSBvdmVyZmxvdyBhcHBsaWVzIHRvIHRoZSB2aWV3cG9ydC4KLSAgICBpZiAoc3R5bGVUb1VzZS5v
dmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIg
JiYgaXNSZW5kZXJCbG9jaygpKSB7CisgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dCgqdGhpcykpIHsKKyAgICAgICAgc2V0SGFzT3ZlcmZsb3dDbGlwKCk7CisgICAgICAgIGlmIChz
dHlsZSgpLnBvc2l0aW9uKCkgPT0gUG9zaXRpb25UeXBlOjpTdGF0aWMpCisgICAgICAgICAgICBz
ZXRQb3NpdGlvblN0YXRlKFBvc2l0aW9uVHlwZTo6UmVsYXRpdmUpOworICAgIH0gZWxzZSBpZiAo
c3R5bGVUb1VzZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVt
ZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3Zl
cmZsb3dDbGlwID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAv
LyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4gcHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRl
ciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCkBAIC00NjcwLDcgKzQ2NzQsNyBAQCBib29sIFJl
bmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1
cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0Rl
cHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkg
fHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1l
bnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdt
ZW50Q29udGFpbmVyKCkKLSAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlz
R3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVt
blNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxh
eVR5cGU6OkZsb3dSb290OworICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwg
c3R5bGUoKS5jb250YWluc1BhaW50KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lm
aWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8
fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wg
UmVuZGVyQm94Ojphdm9pZHNGbG9hdHMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKaW5kZXggYTU4MGYzNDZjYWFjOWI4NmIwODc0YTg2ODBlZjhkZWYyZjRm
OWM1NC4uOGFiY2VjNGZlZjJmYmZmMDA3ZDcxZDE5ZWViZTg0MmI1Yzk1ZDcyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC00MzEsNyArNDMxLDggQEAgaW5s
aW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkg
Y29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwtY2hhbmdlIHNob3VsZCBjcmVhdGUgY29udGFp
bmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChidWcgMjI1MDM1KQogICAgICAgICB8fCAoaXNS
ZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5n
ZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAg
ICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQotICAgICAgICB8fCBzaG91bGRBcHBseUxheW91
dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlu
bWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlz
KTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQ
b3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00NDIsNiArNDQzLDcgQEAgaW5saW5lIGJvb2wg
UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNv
bnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkg
JiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JPdXRPZkZs
b3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAg
IHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGFiODI5
ZjZhYjdmMGY5Y2MyZDI2NjVhYTRiYWVmNWZjMjI0ZjIwNjQuLmE2YzUyOTgxY2Q3MzRkNmVmYjYz
YmUyODY0NjlkNTM1ZjBiZTc0NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcApAQCAtNTUzLDYgKzU1Myw3IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0YWNraW5n
Q29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLmhh
c1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhhc0lzb2xhdGlvbigp
CiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKKyAgICAg
ICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAo
cmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hh
bmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKTsKIH0KIApAQCAtNTgyLDcgKzU4Myw3
IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBi
b29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1Jl
bmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9V
c2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8
IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFs
Rmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAppbmRleCBlNTRlZDlmM2FiMzdmZjFiZDM3OWZhODU3ZmY0NGE4YWUz
YWRjMzg0Li5mOGZiNGU4ZDE4YTRhZjk4OGRkMzA1ZThiN2NkYWY0YTJiNzI5Y2JiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjQ5OCwzICsyNDk4LDkg
QEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFdlYkNv
cmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIKIHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUo
KS5jb250YWluc0xheW91dCgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5p
c0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFy
ZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpOwog
fQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBXZWJD
b3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQoreworICAgIHJldHVybiByZW5kZXJlci5zdHls
ZSgpLmNvbnRhaW5zUGFpbnQoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIu
aXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICgh
cmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxvdygpKTsK
K30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGNhZmIwMTUw
MThhNDJjYmY1ZTYwMmE2NWVlMjc3MjA3MjYxY2ZmZTYuLmMyYmQ0MDcxMGFjN2IyMWZlN2Q5NWI5
NzU3OGJlM2YxOGZhNjQzNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKQEAgLTExODksNiArMTE4OSw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZvckxp
dmVEb2N1bWVudHMoKTsKICNlbmRpZgogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1l
bnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGRmNTVlZTYy
MmU2ZTEwM2E1ODI4ZDQ2YTU5ZTkzOWViMDdjOGQ4NzMuLjBjYWI2YWQzNDNjN2NlNjU3MTIzY2Yx
MWY1ODQwODhiZTc1YzU2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCkBAIC01MjcsNiArNTI3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXNw
ZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBhc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRp
b1R5cGU6OlJhdGlvIHx8IGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6QXV0
b0FuZFJhdGlvOyB9CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250YWluKCkgY29uc3Qg
eyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQogICAgIGJvb2wgY29u
dGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9CisgICAgYm9vbCBjb250YWluc1Bh
aW50KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250
YWlucyhDb250YWlubWVudDo6UGFpbnQpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlv
biBib3hEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+
KG1faW5oZXJpdGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBj
b25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVC
b3gtPmZsZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9X
aWxsQ2hhbmdlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENo
YW5nZURhdGEuY3BwCmluZGV4IGQ4NzEyZmI3ZDg3MzVjNDg1OWI3ZjNhNTVlMDY4YmE4YjBiMmYy
ZmMuLmI1MTliMzcxNDIzM2UwMDM1Y2UwNmQxMWQ2YjNkNTlmYzI5MWIxOWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcApAQCAtODIs
NiArODIsNyBAQCBib29sIFdpbGxDaGFuZ2VEYXRhOjpjcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9y
T3V0T2ZGbG93UG9zaXRpb25lZCgpIGNvbnN0CiBib29sIFdpbGxDaGFuZ2VEYXRhOjpwcm9wZXJ0
eUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSkKIHsKICAgICBz
d2l0Y2ggKHByb3BlcnR5KSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRhaW46CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVBlcnNwZWN0aXZlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlTY2FsZToKICAg
ICBjYXNlIENTU1Byb3BlcnR5Um90YXRlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdlNTJkMTkwZjIwZGNkMjllMTZlYzZm
OGYwYWQ2ZGZiNmYzMmFlMDYuLmFmMWY3NTVjNTlhOGExMzNjZmY0MTM5MWUwOGQ4N2RlMzZlZDU5
NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNC0zMCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAg
dGVzdHMgdGhhdCBwYXNzIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjEtMDQtMzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFNo
YXJlIHN0eWxlIHJlc29sdmVycyBiZXR3ZWVuIGF1dGhvciBzaGFkb3cgdHJlZXMgd2l0aG91dCBz
dHlsZSBzaGVldHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQyZTViMzBiMjhlMzBkZTljZGNkZWVh
YWIzZThjNjBlNjgzYTM4NjQuLjA1ZGQ0N2RlN2E5ODEwMWFiZDFiMjc1OGViZDljNTYwZDBiMTli
Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDY3Niw2ICs0Njc2LDEwIEBAIHdlYmtpdC5vcmcv
Yi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3By
ZWRlZmluZWQtMDE1CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLWFuaW1hdGlvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIyB3
ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDY5MSw0NyArNDY5NSwxMSBA
QCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtc2l6ZS0wMDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDgu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0w
NDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1jZWxsLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNl
bGwtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWNsaXAtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWNsaXAtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Y2xpcC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAx
OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1pbmRlcGVuZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1zaXplLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUt
MDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFh
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFiLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0w
MTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428168</attachid>
            <date>2021-05-10 07:08:58 -0700</date>
            <delta_ts>2021-05-11 06:20:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210510160856.patch</filename>
            <type>text/plain</type>
            <size>16578</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZlMjI4Mjc0YjgzNDNk
MTk0ODc5ZGRmNWFhYTM0ZTBmNWIxNGQ4MS4uYTVlOGM5ZTkzYTI0MjM4YjdjMzcxMWU1MWUyYjFm
OGE2ZWYwYjZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA1LTEwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWxs
Q2hhbmdlRGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdDb250ZXh0KToKKwogMjAyMS0wNS0x
MCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dT
dHJlYW1lcl0gZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LXZpZGVv
LXRyYWNrcy1kaXNhYmxlZC5odG1sIGZhaWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCmluZGV4IDZiYTMxMGYwZWMyODE4NTQwNGU4ZDg4OGE3ZDU4ZTE5MDJjZTU3ZDEuLjE3
ZTVjNTQ3NTQ5YTg4NDA3Yjk0ZmQ4ODA2Yjk3MTRhZjU4MzQwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00ODMsNyArNDgzLDcgQEAgdm9pZCBSZW5kZXJCb3g6
OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0RmxvYXRpbmcoIWlzT3V0T2ZGbG93UG9zaXRpb25l
ZCgpICYmIHN0eWxlVG9Vc2UuaXNGbG9hdGluZygpKTsKIAogICAgIC8vIFdlIGFsc28gaGFuZGxl
IDxib2R5PiBhbmQgPGh0bWw+LCB3aG9zZSBvdmVyZmxvdyBhcHBsaWVzIHRvIHRoZSB2aWV3cG9y
dC4KLSAgICBpZiAoc3R5bGVUb1VzZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSAm
JiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CisgICAgaWYgKChz
dHlsZVRvVXNlLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlIHx8IHNob3VsZEFwcGx5
UGFpbnRDb250YWlubWVudCgqdGhpcykpICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1Jl
bmRlckJsb2NrKCkpIHsKICAgICAgICAgYm9vbCBib3hIYXNPdmVyZmxvd0NsaXAgPSB0cnVlOwog
ICAgICAgICBpZiAoaXNCb2R5KCkpIHsKICAgICAgICAgICAgIC8vIE92ZXJmbG93IG9uIHRoZSBi
b2R5IGNhbiBwcm9wYWdhdGUgdG8gdGhlIHZpZXdwb3J0IHVuZGVyIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucy4KQEAgLTQ2NzgsNyArNDY3OCw3IEBAIGJvb2wgUmVuZGVyQm94OjpjcmVhdGVzTmV3
Rm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiBpc0lubGluZUJsb2NrT3JJ
bmxpbmVUYWJsZSgpIHx8IGlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBoYXNP
dmVyZmxvd0NsaXAoKSB8fCBpc0ZsZXhJdGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgpCiAgICAgICAg
IHx8IGlzVGFibGVDZWxsKCkgfHwgaXNUYWJsZUNhcHRpb24oKSB8fCBpc0ZpZWxkc2V0KCkgfHwg
aXNXcml0aW5nTW9kZVJvb3QoKSB8fCBpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNS
ZW5kZXJGcmFnbWVudGVkRmxvdygpIHx8IGlzUmVuZGVyRnJhZ21lbnRDb250YWluZXIoKQotICAg
ICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxl
KCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNw
YW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7Cisg
ICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBzdHlsZSgpLmNvbnRhaW5zUGFp
bnQoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5
bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgp
ID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKIH0KIAogYm9vbCBSZW5kZXJCb3g6OmF2b2lkc0Zs
b2F0cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRl
eCBhNWRiYzdiYmI3ZDZhNDVlNWVjNzQyMzg0OGYxMTcwZjcxYWU0MWJlLi5iMDQzYmU2NTA4ZjJi
YWYzNTYwNzdmYmQ0MTljZTNiNWQ2ZTM3ZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKQEAgLTQ0MSw3ICs0NDEsOCBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVt
ZW50OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICAvLyBG
SVhNRTogd2lsbC1jaGFuZ2Ugc2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2NrcyBvbiBpbmxp
bmUgYm94ZXMgKGJ1ZyAyMjUwMzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5
bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWlu
aW5nQmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWln
bk9iamVjdCgpCi0gICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMp
OworICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAg
ICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBpbmxpbmUgYm9v
bCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkg
Y29uc3QKQEAgLTQ1Miw2ICs0NTMsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5D
b250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGlz
UmVuZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFu
Z2UoKS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAg
ICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlv
dXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMjljNjM4Njc4NDFjYWE0MjhjMTdlYjIx
NGJhMWNkY2ZkZWRlZTBhNy4uZjg0ODdkNjg0YTZmZTNiZWE5NDUzNzBhZWMwM2Y2N2RlYTVhN2M3
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTMsNiAr
NTUzLDcgQEAgc3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRl
ckxheWVyJiBsYXllcikKICAgICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAg
ICAgIHx8IHJlbmRlcmVyLnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkKICAgICAgICAgfHwgIXJlbmRl
cmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKQorICAgICAgICB8fCBzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndp
bGxDaGFuZ2UoKSAmJiByZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3Rh
Y2tpbmdDb250ZXh0KCkpOwogfQogCkBAIC01ODIsNyArNTgzLDcgQEAgYm9vbCBSZW5kZXJMYXll
cjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNo
b3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gIXJlbmRlcmVy
KCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7Cisg
ICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBzaG91
bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIo
KTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93T25seShib29sIGlzTm9y
bWFsRmxvd09ubHkpCkBAIC00NDc5LDcgKzQ0ODAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxj
dWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwg
QwogICAgICAgICAgICAgQ2xpcFJlY3QgbmV3T3ZlcmZsb3dDbGlwID0gZG93bmNhc3Q8UmVuZGVy
Qm94PihyZW5kZXJlcigpKS5vdmVyZmxvd0NsaXBSZWN0Rm9yQ2hpbGRMYXllcnMob2Zmc2V0LCBu
dWxscHRyLCBjbGlwUmVjdHNDb250ZXh0Lm92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5KTsK
ICAgICAgICAgICAgIG5ld092ZXJmbG93Q2xpcC5zZXRBZmZlY3RlZEJ5UmFkaXVzKHJlbmRlcmVy
KCkuc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSk7CiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0
T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMu
b3ZlcmZsb3dDbGlwUmVjdCgpKSk7Ci0gICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0
aW9uZWQoKSkKKyAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzUG9zaXRpb25lZCgpIHx8IHNo
b3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkKICAgICAgICAgICAgICAgICBj
bGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xp
cFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKICAgICAgICAgfQogICAgICAgICBpZiAocmVuZGVyZXIo
KS5oYXNDbGlwKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggZTU0ZWQ5ZjNhYjM3ZmYxYmQzNzlmYTg1N2ZmNDRhOGFlM2FkYzM4NC4uZjhmYjRlOGQx
OGE0YWY5ODhkZDMwNWU4YjdjZGFmNGEyYjcyOWNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI0OTgsMyArMjQ5OCw5IEBAIGJvb2wgV2ViQ29yZTo6
c2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3Qm
IHJlbmRlcmVyCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNMYXlvdXQo
KSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZl
bEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBh
cnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxvdygpKTsKIH0KKworYm9vbCBXZWJDb3Jl
OjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0
JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50
KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2
ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQ
YXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAzMWYwZjA3ZDU0NzI3ZThjNTQ2YzU0N2M1
N2QzMDQ1MWUxOTIzMmM2Li45NTZhYTUzNzNhODhjOWJlYTUyNjVlNzNmYTQyZjY5OTM1MGZiMDg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTg3LDYgKzEx
ODcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAj
ZW5kaWYKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9i
amVjdCYpOworYm9vbCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2Jq
ZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCBkZjU1ZWU2MjJlNmUxMDNhNTgyOGQ0NmE1
OWU5MzllYjA3YzhkODczLi4wY2FiNmFkMzQzYzdjZTY1NzEyM2NmMTFmNTg0MDg4YmU3NWM1NmI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAt
NTI3LDYgKzUyNyw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3Qg
eyByZXR1cm4gYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCBh
c3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbzsgfQogICAg
IE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250
YWlubWVudDo6TGF5b3V0KTsgfQorICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6
OlBhaW50KTsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRl
ZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdz
LmJveERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcAppbmRl
eCBkODcxMmZiN2Q4NzM1YzQ4NTliN2YzYTU1ZTA2OGJhOGIwYjJmMmZjLi5iNTE5YjM3MTQyMzNl
MDAzNWNlMDZkMTFkNmIzZDU5ZmMyOTFiMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHAKQEAgLTgyLDYgKzgyLDcgQEAgYm9vbCBX
aWxsQ2hhbmdlRGF0YTo6Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9u
ZWQoKSBjb25zdAogYm9vbCBXaWxsQ2hhbmdlRGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdD
b250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcGVydHkpCiB7CiAgICAgc3dpdGNoIChwcm9wZXJ0eSkg
eworICAgIGNhc2UgQ1NTUHJvcGVydHlDb250YWluOgogICAgIGNhc2UgQ1NTUHJvcGVydHlQZXJz
cGVjdGl2ZToKICAgICBjYXNlIENTU1Byb3BlcnR5U2NhbGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVJvdGF0ZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAwZDYyZDAwMWIwMTE2MWYxNmViMmYzMzZkNTc3N2QzNWQ4M2U0MWEz
Li4xMzYzODk3MGIzYjg1NWNhYzJjYjVlZTYxMmRjYWExZDJjN2JmNTFlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjEtMDUtMTAgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHRlc3RzIHRoYXQgcGFzcyBu
b3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA1LTEwICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBm
YXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLXZpZGVvLWVsZW1lbnQtdmlkZW8tdHJhY2tzLWRp
c2FibGVkLmh0bWwgZmFpbHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZiMDQwMTE0NmRlMjA4YjU0
NjM4ZDlmMzNkZWQyZDBhOGUzMWMwNDEuLmUzZmYzZTliZmM2NjhlNTY0OGE0ZTRlZTUyMjM1NjMy
N2IzMjczZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDY0OSw2ICs0NjQ5LDEwIEBAIHdlYmFu
aW1hdGlvbnMvdHJhbnNsYXRlLXByb3BlcnR5LWFuZC10cmFuc2xhdGUtYW5pbWF0aW9uLXdpdGgt
ZGVsYXktb24tZm9yY2VkLWxhCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLWFuaW1hdGlvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDY2NCw0NyArNDY2
OCwxMSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtc2l6ZS0wMDMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wNDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNlbGwtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2xpcC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
bGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFy
Z2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVuZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4
dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0w
MDFiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAxMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428269</attachid>
            <date>2021-05-11 06:20:52 -0700</date>
            <delta_ts>2021-05-11 07:50:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210511152050.patch</filename>
            <type>text/plain</type>
            <size>16757</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI4MmU0NzJiZjY3YjNh
YzBiOTFkZjE2ODUwMzE0ZjU5OWQ3NGI4OS4uYWFlMThjZjVlNzY4OWVkMTljYjI5NTJlNTdmY2E5
YTk0MDE5M2U5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA1LTExICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWxs
Q2hhbmdlRGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdDb250ZXh0KToKKwogMjAyMS0wNS0x
MSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBj
b250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAppbmRleCBjOGFlMDQxMmZjNmNjNjhhMTM4OTQwNTM1YWVjODk3ZDlhYWNhZmRjLi4x
ZTJjOTk2ODhkNjcwZDNlNzA1MDg0NzNlYzRhZDA1NzhhYTgzYmVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUmVuZGVyQm94
Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9u
ZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxvYXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRs
ZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hvc2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3Bv
cnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUg
JiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmICgo
c3R5bGVUb1VzZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBzaG91bGRBcHBs
eVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNS
ZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsK
ICAgICAgICAgaWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUg
Ym9keSBjYW4gcHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMuCkBAIC00Njg2LDcgKzQ2ODYsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05l
d0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09y
SW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFz
T3ZlcmZsb3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAg
ICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8
IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlz
UmVuZGVyRnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAg
ICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHls
ZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5T
cGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290Owor
ICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1Bh
aW50KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0
eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNG
bG9hdHMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5k
ZXggYTVkYmM3YmJiN2Q2YTQ1ZTVlYzc0MjM4NDhmMTE3MGY3MWFlNDFiZS4uYjA0M2JlNjUwOGYy
YmFmMzU2MDc3ZmJkNDE5Y2UzYjVkNmUzN2ZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCkBAIC00NDEsNyArNDQxLDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxl
bWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8g
RklYTUU6IHdpbGwtY2hhbmdlIHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5s
aW5lIGJveGVzIChidWcgMjI1MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0
eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFp
bmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVp
Z25PYmplY3QoKQotICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlz
KTsKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAg
ICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJv
b2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygp
IGNvbnN0CkBAIC00NTIsNiArNDUzLDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2Fu
Q29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChp
c1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hh
bmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAg
ICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5
b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlu
bWVudCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDI5YzYzODY3ODQxY2FhNDI4YzE3ZWIy
MTRiYTFjZGNmZGVkZWUwYTcuLmY4NDg3ZDY4NGE2ZmUzYmVhOTQ1MzcwYWVjMDNmNjdkZWE1YTdj
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTUzLDYg
KzU1Myw3IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5k
ZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAg
ICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5k
ZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53
aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0
YWNraW5nQ29udGV4dCgpKTsKIH0KIApAQCAtNTgyLDcgKzU4Myw3IEBAIGJvb2wgUmVuZGVyTGF5
ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpz
aG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJl
cigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOwor
ICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVy
KCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05v
cm1hbEZsb3dPbmx5KQpAQCAtNDQ3OSw3ICs0NDgwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2Fs
Y3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQs
IEMKICAgICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IGRvd25jYXN0PFJlbmRl
ckJveD4ocmVuZGVyZXIoKSkub3ZlcmZsb3dDbGlwUmVjdEZvckNoaWxkTGF5ZXJzKG9mZnNldCwg
bnVsbHB0ciwgY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7
CiAgICAgICAgICAgICBuZXdPdmVyZmxvd0NsaXAuc2V0QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJl
cigpLnN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpOwogICAgICAgICAgICAgY2xpcFJlY3RzLnNl
dE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3Rz
Lm92ZXJmbG93Q2xpcFJlY3QoKSkpOwotICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3Np
dGlvbmVkKCkpCisgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBz
aG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpCiAgICAgICAgICAgICAgICAg
Y2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNs
aXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVy
KCkuaGFzQ2xpcCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CmluZGV4IGM1OGI5MWJjNGUzYmQ1ZjJiYTg2NTgzODc3OWQxNmFmMTM1OGY1OGIuLmRkYTdhMzc4
Y2Q4ODQxNzc2NzUwYjdlZDEwNDMzM2VmMDUxN2ExNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTAzLDMgKzI1MDMsOSBAQCBib29sIFdlYkNvcmU6
OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYg
cmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkg
JiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxC
b3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0
KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsK
IH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5
bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVy
LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAo
IXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7
Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA4NmZiNTNj
OWVlNDFlZjZhZTVmZWMxMWRkNWJlMDUzNGQ2M2Q0Y2M0Li44NDBhYTM4ZTQ1MDBmOWM1MmNmMGZh
N2UzYjY1YjU0N2IyNjc3OWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCkBAIC0xMTg4LDYgKzExODgsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JM
aXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25z
dCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3Qg
UmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBS
ZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGZlOGM3ZjRmNzY1MTk2MGI1
NzJmNDViMjc3N2I5NWViMTNkMjEyZDQuLjIwYjZjNWI3MmE1MTBkOWU1NTQ0NjNjZGVkNTczODU3
Y2IxMjM4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCkBAIC01MjgsNiArNTI4LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVu
dD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQog
ICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNv
bnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94
QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94
RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERp
cmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94
RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRG
bGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9XaWxsQ2hhbmdlRGF0YS5jcHAKaW5kZXggZDg3MTJmYjdkODczNWM0ODU5YjdmM2E1NWUwNjhi
YThiMGIyZjJmYy4uYjUxOWIzNzE0MjMzZTAwMzVjZTA2ZDExZDZiM2Q1OWZjMjkxYjE5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3Bw
CkBAIC04Miw2ICs4Miw3IEBAIGJvb2wgV2lsbENoYW5nZURhdGE6OmNyZWF0ZXNDb250YWluaW5n
QmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgY29uc3QKIGJvb2wgV2lsbENoYW5nZURhdGE6
OnByb3BlcnR5Q3JlYXRlc1N0YWNraW5nQ29udGV4dChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KQog
ewogICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGFpbjoK
ICAgICBjYXNlIENTU1Byb3BlcnR5UGVyc3BlY3RpdmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNj
YWxlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlSb3RhdGU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDYzYjUwYjU3ZGQ1NjFi
ODJlMjdlYWIyNzE2NGZkOTMzYjI5YWI1My4uNThmYmEyZDAwOTMwZmE1MTJkMmM2YTIzODQzMGNm
N2IzOWMyOGUyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTExICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRh
aW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVuc2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKwogMjAyMS0wNS0xMSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0NTUyBjb250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggMTA1ODVmMDdmZWRjOTE1NjE1OTk4MzM4NDQ0NGFiMzQ4MTlkNDM2OS4uMGFiNTFj
NDEzZjM3NDZjNzEyMjJkNTM3MzNlYjVhNDc2NWZlMDlmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC00NjQ4LDYgKzQ2NDgsMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5k
LXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRh
aW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQpAQCAtNDY2Miw1MCArNDY2Niw4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAx
MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0w
MDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlw
LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jb250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNp
emUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0
cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428275</attachid>
            <date>2021-05-11 07:50:15 -0700</date>
            <delta_ts>2021-05-11 10:12:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210511165013.patch</filename>
            <type>text/plain</type>
            <size>16841</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI4MmU0NzJiZjY3YjNh
YzBiOTFkZjE2ODUwMzE0ZjU5OWQ3NGI4OS4uYWFlMThjZjVlNzY4OWVkMTljYjI5NTJlNTdmY2E5
YTk0MDE5M2U5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA1LTExICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWxs
Q2hhbmdlRGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdDb250ZXh0KToKKwogMjAyMS0wNS0x
MSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBj
b250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAppbmRleCBjOGFlMDQxMmZjNmNjNjhhMTM4OTQwNTM1YWVjODk3ZDlhYWNhZmRjLi4x
ZTJjOTk2ODhkNjcwZDNlNzA1MDg0NzNlYzRhZDA1NzhhYTgzYmVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUmVuZGVyQm94
Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9u
ZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxvYXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRs
ZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hvc2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3Bv
cnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUg
JiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmICgo
c3R5bGVUb1VzZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBzaG91bGRBcHBs
eVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNS
ZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsK
ICAgICAgICAgaWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUg
Ym9keSBjYW4gcHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMuCkBAIC00Njg2LDcgKzQ2ODYsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05l
d0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09y
SW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFz
T3ZlcmZsb3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAg
ICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8
IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlz
UmVuZGVyRnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAg
ICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHls
ZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5T
cGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290Owor
ICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1Bh
aW50KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0
eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNG
bG9hdHMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5k
ZXggYTVkYmM3YmJiN2Q2YTQ1ZTVlYzc0MjM4NDhmMTE3MGY3MWFlNDFiZS4uYjA0M2JlNjUwOGYy
YmFmMzU2MDc3ZmJkNDE5Y2UzYjVkNmUzN2ZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCkBAIC00NDEsNyArNDQxLDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxl
bWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8g
RklYTUU6IHdpbGwtY2hhbmdlIHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5s
aW5lIGJveGVzIChidWcgMjI1MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0
eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFp
bmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVp
Z25PYmplY3QoKQotICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlz
KTsKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAg
ICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJv
b2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygp
IGNvbnN0CkBAIC00NTIsNiArNDUzLDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2Fu
Q29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChp
c1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hh
bmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAg
ICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5
b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlu
bWVudCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDI5YzYzODY3ODQxY2FhNDI4YzE3ZWIy
MTRiYTFjZGNmZGVkZWUwYTcuLmY4NDg3ZDY4NGE2ZmUzYmVhOTQ1MzcwYWVjMDNmNjdkZWE1YTdj
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTUzLDYg
KzU1Myw3IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5k
ZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAg
ICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5k
ZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53
aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0
YWNraW5nQ29udGV4dCgpKTsKIH0KIApAQCAtNTgyLDcgKzU4Myw3IEBAIGJvb2wgUmVuZGVyTGF5
ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpz
aG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJl
cigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOwor
ICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVy
KCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05v
cm1hbEZsb3dPbmx5KQpAQCAtNDQ3OSw3ICs0NDgwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2Fs
Y3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQs
IEMKICAgICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IGRvd25jYXN0PFJlbmRl
ckJveD4ocmVuZGVyZXIoKSkub3ZlcmZsb3dDbGlwUmVjdEZvckNoaWxkTGF5ZXJzKG9mZnNldCwg
bnVsbHB0ciwgY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7
CiAgICAgICAgICAgICBuZXdPdmVyZmxvd0NsaXAuc2V0QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJl
cigpLnN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpOwogICAgICAgICAgICAgY2xpcFJlY3RzLnNl
dE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3Rz
Lm92ZXJmbG93Q2xpcFJlY3QoKSkpOwotICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3Np
dGlvbmVkKCkpCisgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBz
aG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpCiAgICAgICAgICAgICAgICAg
Y2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNs
aXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVy
KCkuaGFzQ2xpcCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CmluZGV4IGM1OGI5MWJjNGUzYmQ1ZjJiYTg2NTgzODc3OWQxNmFmMTM1OGY1OGIuLmRkYTdhMzc4
Y2Q4ODQxNzc2NzUwYjdlZDEwNDMzM2VmMDUxN2ExNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTAzLDMgKzI1MDMsOSBAQCBib29sIFdlYkNvcmU6
OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYg
cmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkg
JiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxC
b3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0
KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsK
IH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5
bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVy
LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAo
IXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7
Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA4NmZiNTNj
OWVlNDFlZjZhZTVmZWMxMWRkNWJlMDUzNGQ2M2Q0Y2M0Li44NDBhYTM4ZTQ1MDBmOWM1MmNmMGZh
N2UzYjY1YjU0N2IyNjc3OWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCkBAIC0xMTg4LDYgKzExODgsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JM
aXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25z
dCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3Qg
UmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBS
ZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGZlOGM3ZjRmNzY1MTk2MGI1
NzJmNDViMjc3N2I5NWViMTNkMjEyZDQuLjIwYjZjNWI3MmE1MTBkOWU1NTQ0NjNjZGVkNTczODU3
Y2IxMjM4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCkBAIC01MjgsNiArNTI4LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVu
dD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQog
ICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNv
bnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94
QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94
RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERp
cmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94
RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRG
bGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9XaWxsQ2hhbmdlRGF0YS5jcHAKaW5kZXggZDg3MTJmYjdkODczNWM0ODU5YjdmM2E1NWUwNjhi
YThiMGIyZjJmYy4uYjUxOWIzNzE0MjMzZTAwMzVjZTA2ZDExZDZiM2Q1OWZjMjkxYjE5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3Bw
CkBAIC04Miw2ICs4Miw3IEBAIGJvb2wgV2lsbENoYW5nZURhdGE6OmNyZWF0ZXNDb250YWluaW5n
QmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgY29uc3QKIGJvb2wgV2lsbENoYW5nZURhdGE6
OnByb3BlcnR5Q3JlYXRlc1N0YWNraW5nQ29udGV4dChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KQog
ewogICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGFpbjoK
ICAgICBjYXNlIENTU1Byb3BlcnR5UGVyc3BlY3RpdmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNj
YWxlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlSb3RhdGU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDYzYjUwYjU3ZGQ1NjFi
ODJlMjdlYWIyNzE2NGZkOTMzYjI5YWI1My4uNThmYmEyZDAwOTMwZmE1MTJkMmM2YTIzODQzMGNm
N2IzOWMyOGUyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTExICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRh
aW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVuc2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKwogMjAyMS0wNS0xMSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0NTUyBjb250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggMTA1ODVmMDdmZWRjOTE1NjE1OTk4MzM4NDQ0NGFiMzQ4MTlkNDM2OS4uMDMzMjk3
OTU1MjI1ODE1YWI2OTEyZTljMjBmNWYwMzUxZWQxY2Q5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC00NjQ4LDYgKzQ2NDgsMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5k
LXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRh
aW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQpAQCAtNDY2Miw1MCArNDY2Niw5IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAx
MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0w
MDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisjIGNvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBhbmQg
Y29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIG5lZWQgZnV6enkgbWF0Y2hpbmcuCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNs
aXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTku
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWFic29sdXRl
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4
ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0
LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29u
dGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29u
dGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2lu
Zy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1j
b250ZXh0LTAwMWIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1j
b3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428290</attachid>
            <date>2021-05-11 10:12:09 -0700</date>
            <delta_ts>2021-05-17 08:19:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210511191208.patch</filename>
            <type>text/plain</type>
            <size>20108</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzI4MmU0NzJiZjY3YjNh
YzBiOTFkZjE2ODUwMzE0ZjU5OWQ3NGI4OS4uYWFlMThjZjVlNzY4OWVkMTljYjI5NTJlNTdmY2E5
YTk0MDE5M2U5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA1LTExICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9XaWxsQ2hhbmdlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaWxs
Q2hhbmdlRGF0YTo6cHJvcGVydHlDcmVhdGVzU3RhY2tpbmdDb250ZXh0KToKKwogMjAyMS0wNS0x
MSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBj
b250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAppbmRleCBjOGFlMDQxMmZjNmNjNjhhMTM4OTQwNTM1YWVjODk3ZDlhYWNhZmRjLi4x
ZTJjOTk2ODhkNjcwZDNlNzA1MDg0NzNlYzRhZDA1NzhhYTgzYmVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUmVuZGVyQm94
Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9u
ZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxvYXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRs
ZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hvc2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3Bv
cnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUg
JiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmICgo
c3R5bGVUb1VzZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBzaG91bGRBcHBs
eVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNS
ZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsK
ICAgICAgICAgaWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUg
Ym9keSBjYW4gcHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMuCkBAIC00Njg2LDcgKzQ2ODYsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05l
d0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09y
SW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFz
T3ZlcmZsb3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAg
ICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8
IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlz
UmVuZGVyRnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAg
ICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHls
ZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5T
cGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290Owor
ICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1Bh
aW50KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0
eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNG
bG9hdHMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5k
ZXggYTVkYmM3YmJiN2Q2YTQ1ZTVlYzc0MjM4NDhmMTE3MGY3MWFlNDFiZS4uYjA0M2JlNjUwOGYy
YmFmMzU2MDc3ZmJkNDE5Y2UzYjVkNmUzN2ZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oCkBAIC00NDEsNyArNDQxLDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxl
bWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8g
RklYTUU6IHdpbGwtY2hhbmdlIHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5s
aW5lIGJveGVzIChidWcgMjI1MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0
eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFp
bmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVp
Z25PYmplY3QoKQotICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlz
KTsKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAg
ICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJv
b2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygp
IGNvbnN0CkBAIC00NTIsNiArNDUzLDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2Fu
Q29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChp
c1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hh
bmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAg
ICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5
b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlu
bWVudCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDI5YzYzODY3ODQxY2FhNDI4YzE3ZWIy
MTRiYTFjZGNmZGVkZWUwYTcuLmY4NDg3ZDY4NGE2ZmUzYmVhOTQ1MzcwYWVjMDNmNjdkZWE1YTdj
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTUzLDYg
KzU1Myw3IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5k
ZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAg
ICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5k
ZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53
aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0
YWNraW5nQ29udGV4dCgpKTsKIH0KIApAQCAtNTgyLDcgKzU4Myw3IEBAIGJvb2wgUmVuZGVyTGF5
ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpz
aG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJl
cigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOwor
ICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVy
KCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05v
cm1hbEZsb3dPbmx5KQpAQCAtNDQ3OSw3ICs0NDgwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2Fs
Y3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQs
IEMKICAgICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IGRvd25jYXN0PFJlbmRl
ckJveD4ocmVuZGVyZXIoKSkub3ZlcmZsb3dDbGlwUmVjdEZvckNoaWxkTGF5ZXJzKG9mZnNldCwg
bnVsbHB0ciwgY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7
CiAgICAgICAgICAgICBuZXdPdmVyZmxvd0NsaXAuc2V0QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJl
cigpLnN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpOwogICAgICAgICAgICAgY2xpcFJlY3RzLnNl
dE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3Rz
Lm92ZXJmbG93Q2xpcFJlY3QoKSkpOwotICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3Np
dGlvbmVkKCkpCisgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBz
aG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpCiAgICAgICAgICAgICAgICAg
Y2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNs
aXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVy
KCkuaGFzQ2xpcCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CmluZGV4IGM1OGI5MWJjNGUzYmQ1ZjJiYTg2NTgzODc3OWQxNmFmMTM1OGY1OGIuLmRkYTdhMzc4
Y2Q4ODQxNzc2NzUwYjdlZDEwNDMzM2VmMDUxN2ExNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTAzLDMgKzI1MDMsOSBAQCBib29sIFdlYkNvcmU6
OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYg
cmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkg
JiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxC
b3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0
KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsK
IH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5
bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVy
LmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAo
IXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7
Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA4NmZiNTNj
OWVlNDFlZjZhZTVmZWMxMWRkNWJlMDUzNGQ2M2Q0Y2M0Li44NDBhYTM4ZTQ1MDBmOWM1MmNmMGZh
N2UzYjY1YjU0N2IyNjc3OWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCkBAIC0xMTg4LDYgKzExODgsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JM
aXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25z
dCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3Qg
UmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBS
ZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGZlOGM3ZjRmNzY1MTk2MGI1
NzJmNDViMjc3N2I5NWViMTNkMjEyZDQuLjIwYjZjNWI3MmE1MTBkOWU1NTQ0NjNjZGVkNTczODU3
Y2IxMjM4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCkBAIC01MjgsNiArNTI4LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVu
dD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQog
ICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNv
bnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94
QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94
RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERp
cmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94
RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRG
bGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9XaWxsQ2hhbmdlRGF0YS5jcHAKaW5kZXggZDg3MTJmYjdkODczNWM0ODU5YjdmM2E1NWUwNjhi
YThiMGIyZjJmYy4uYjUxOWIzNzE0MjMzZTAwMzVjZTA2ZDExZDZiM2Q1OWZjMjkxYjE5YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dpbGxDaGFuZ2VEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV2lsbENoYW5nZURhdGEuY3Bw
CkBAIC04Miw2ICs4Miw3IEBAIGJvb2wgV2lsbENoYW5nZURhdGE6OmNyZWF0ZXNDb250YWluaW5n
QmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgY29uc3QKIGJvb2wgV2lsbENoYW5nZURhdGE6
OnByb3BlcnR5Q3JlYXRlc1N0YWNraW5nQ29udGV4dChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5KQog
ewogICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICBjYXNlIENTU1Byb3BlcnR5Q29udGFpbjoK
ICAgICBjYXNlIENTU1Byb3BlcnR5UGVyc3BlY3RpdmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNj
YWxlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlSb3RhdGU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDYzYjUwYjU3ZGQ1NjFi
ODJlMjdlYWIyNzE2NGZkOTMzYjI5YWI1My4uYjZlODc5NzM5NmVhZTAwMGZlODNkMTExMmU5YjI1
MmE5YmJmN2Y4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA1LTExICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRh
aW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVuc2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisKIDIwMjEtMDUtMTEgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtDU1MgY29udGFpbl0gU3VwcG9ydCBjb250YWluOnNpemUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGM4YzhhZGU2Mzg0MWE3ODU1MzQ1MThlN2FmNTMy
YTU0MGZkZTUwZGQuLjI2OTBlNTI0ZDIwOTY0OWU5ZThkYmM2MWU1Y2RjNjBlMmJlODY3ZTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTEx
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBT
dXBwb3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkanVzdCB0ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRhaW46IHN0
cmljdCBpcyBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIx
LTA1LTExICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBb
Q1NTIGNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpzaXplCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAx
MDU4NWYwN2ZlZGM5MTU2MTU5OTgzMzg0NDQ0YWIzNDgxOWQ0MzY5Li4wMzMyOTc5NTUyMjU4MTVh
YjY5MTJlOWMyMGY1ZjAzNTFlZDFjZDllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2NDgsNiAr
NDY0OCwxMCBAQCB3ZWJhbmltYXRpb25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1hbmQtdHJhbnNsYXRl
LWFuaW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYQogIyBDU1MgY29udGFpbm1lbnQgdGVz
dHMgdGhhdCBmYWlsCiAjIHdlYmtpdC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAw
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00
NjYyLDUwICs0NjY2LDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWIKIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDEwLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIwLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ3Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDQ4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWNsaXAtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Y2xpcC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwNi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAx
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE0Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KKyMgY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIGFuZCBjb250YWluLXBh
aW50LWNsaXAtMDE2Lmh0bWwgbmVlZCBmdXp6eSBtYXRjaGluZy4KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stYWJzb2x1dGUtMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1maXhlZC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtZmxvYXQtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LW1hcmdp
bi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pZmMtMDExLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtaW5kZXBlbmRlbnQtZm9ybWF0dGluZy1jb250ZXh0LTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1z
aXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQt
MDAxYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAx
Yi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0
cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxl
LWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0
CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkz
N2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRl
bS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlu
cy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsxLDEzIEBACiBTdHJldGNoZWQ6CiAKLUNv
bHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwogRmxleC1zdGFydDoKIAotQ29sdW1uCiAKLVJv
dwogCiBDb2x1bW4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250
YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250
YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh
NTNlMTYwZGI2NmUyMDIxY2RjMDQ2OWUwZTEwMTJiZTU4OTEyOGEyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0t
Y29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAg
QEAKLVN0cmV0Y2hlZDoKLQotQ29sdW1uCi0KLVJvdwotCi1Db2x1bW4KLQotUm93Ci1GbGV4LXN0
YXJ0OgotCi1Db2x1bW4KLQotUm93Ci0KLUNvbHVtbgotCi1Sb3cKLQotRkFJTCAuaW5saW5lLWZs
ZXggMSBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0iY29udGFp
bjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjAiPkNvbHVtbjwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgNTEKLUZB
SUwgLmlubGluZS1mbGV4IDIgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxk
aXYgc3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Sb3c8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDMxCi1QQVNTIC5pbmxpbmUtZmxleCAzCi1QQVNTIC5pbmxpbmUtZmxleCA0Ci1GQUlM
IC5pbmxpbmUtZmxleCA1IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIg
c3R5bGU9ImZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2
IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMCI+Q29sdW1uPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAg
YnV0IGdvdCA1MQotRkFJTCAuaW5saW5lLWZsZXggNiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFz
cz0iaW5saW5lLWZsZXgiIHN0eWxlPSJhbGlnbi1pdGVtczogZmxleC1zdGFydDsiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0i
Y29udGFpbjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjAiPlJvdzwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzEK
LVBBU1MgLmlubGluZS1mbGV4IDcKLVBBU1MgLmlubGluZS1mbGV4IDgKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428829</attachid>
            <date>2021-05-17 08:19:22 -0700</date>
            <delta_ts>2021-06-12 00:32:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210517171920.patch</filename>
            <type>text/plain</type>
            <size>17353</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTExZDliN2U3MmQwNjE5
N2U1NTk1ODc3MGU4YjRhNDQ3MGMyYzY3My4uOGZiZjc5MDc5ZmU2NDdjZDhhNzczNDlkYWMyM2Fi
MzI0MTYwY2VjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA1LTE3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA1LTE3
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgd2lsbC1jaGFuZ2U6IGNv
bnRhaW4gc2hvdWxkIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2sKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKaW5kZXggNmFhNTRiNGQwMWUzODBkNzc1MWI5ZTRmMzBlOTk2ZGFh
M2Q0NzA0Yi4uMTc4YzljZWUxNTNjYmVlZWY5MjU4MGE5ODFkOWM3MTczZmNhODdhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ4Myw3ICs0ODMsNyBAQCB2b2lk
IFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRGbG9hdGluZyghaXNPdXRPZkZs
b3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkpOwogCiAgICAgLy8gV2Ug
YWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJmbG93IGFwcGxpZXMgdG8g
dGhlIHZpZXdwb3J0LgotICAgIGlmIChzdHlsZVRvVXNlLm92ZXJmbG93WCgpICE9IE92ZXJmbG93
OjpWaXNpYmxlICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsK
KyAgICBpZiAoKHN0eWxlVG9Vc2Uub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgfHwg
c2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSkgJiYgIWlzRG9jRWxlbWVudFJlbmRl
cmVyICYmIGlzUmVuZGVyQmxvY2soKSkgewogICAgICAgICBib29sIGJveEhhc092ZXJmbG93Q2xp
cCA9IHRydWU7CiAgICAgICAgIGlmIChpc0JvZHkoKSkgewogICAgICAgICAgICAgLy8gT3ZlcmZs
b3cgb24gdGhlIGJvZHkgY2FuIHByb3BhZ2F0ZSB0byB0aGUgdmlld3BvcnQgdW5kZXIgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zLgpAQCAtNDY5Niw3ICs0Njk2LDcgQEAgYm9vbCBSZW5kZXJCb3g6
OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSW5s
aW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25l
ZCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpIHx8IGlzRmxleEl0ZW1JbmNsdWRpbmdEZXByZWNhdGVk
KCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc1RhYmxlQ2FwdGlvbigpIHx8IGlzRmll
bGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8IGlzRG9jdW1lbnRFbGVtZW50UmVuZGVy
ZXIoKSB8fCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgfHwgaXNSZW5kZXJGcmFnbWVudENvbnRh
aW5lcigpCi0gICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBpc0dyaWRJdGVt
KCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkg
PT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpG
bG93Um9vdDsKKyAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IHN0eWxlKCku
Y29udGFpbnNQYWludCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVt
bnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUo
KS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJlbmRlckJv
eDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oCmluZGV4IGFmNjZjNGIyMTRjMzRhMjI4ODAwYzg0ODI2OTdjMDY3ZmUyODFlMTEuLjFm
NGQ3ZTAyNmZlM2NmMTk0MGQxMjdhM2E3YjVkMGFlNDkyZDg2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtNDQxLDcgKzQ0MSw4IEBAIGlubGluZSBib29s
IFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0CiAg
ICAgICAgIC8vIEZJWE1FOiB3aWxsLWNoYW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcgYmxv
Y2tzIG9uIGlubGluZSBib3hlcyAoYnVnIDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVyQmxv
Y2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3Jl
YXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgfHwg
aXNTVkdGb3JlaWduT2JqZWN0KCkKLSAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlu
bWVudCgqdGhpcyk7CisgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRo
aXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9CiAK
IGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25l
ZE9iamVjdHMoKSBjb25zdApAQCAtNDUyLDYgKzQ1Myw3IEBAIGlubGluZSBib29sIFJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAg
ICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxl
KCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBvc2l0
aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hv
dWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZTZhOTVhZmU0OGFl
ZjAyNmEyYWUxZTBjZjEyYThhNDIxZjFiNjEzOS4uOGNmMGM5ODlkNmVkOWZiNmEyMWMwYTk3MDg5
Y2MwYzExMjU3ZGYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CkBAIC01NTUsNiArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0
KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVj
dGlvbigpCiAgICAgICAgIHx8IHJlbmRlcmVyLnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkKICAgICAg
ICAgfHwgIXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKQorICAgICAgICB8fCBz
aG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8IChyZW5kZXJl
ci5zdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiByZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+
Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KCkpOwogfQogCkBAIC01ODQsNyArNTg1LDcgQEAgYm9v
bCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJvb2wgUmVu
ZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1
cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVuZGVyVmll
d0xheWVyKCk7CisgICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5k
ZXgoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwgaXNSZW5k
ZXJWaWV3TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93T25s
eShib29sIGlzTm9ybWFsRmxvd09ubHkpCkBAIC00NDgxLDcgKzQ0ODIsNyBAQCB2b2lkIFJlbmRl
ckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJl
Y3RzQ29udGV4dCwgQwogICAgICAgICAgICAgQ2xpcFJlY3QgbmV3T3ZlcmZsb3dDbGlwID0gZG93
bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5vdmVyZmxvd0NsaXBSZWN0Rm9yQ2hpbGRMYXll
cnMob2Zmc2V0LCBudWxscHRyLCBjbGlwUmVjdHNDb250ZXh0Lm92ZXJsYXlTY3JvbGxiYXJTaXpl
UmVsZXZhbmN5KTsKICAgICAgICAgICAgIG5ld092ZXJmbG93Q2xpcC5zZXRBZmZlY3RlZEJ5UmFk
aXVzKHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSk7CiAgICAgICAgICAgICBj
bGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlw
LCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7Ci0gICAgICAgICAgICBpZiAocmVuZGVy
ZXIoKS5pc1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzUG9zaXRp
b25lZCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkKICAgICAg
ICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJm
bG93Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKICAgICAgICAgfQogICAgICAgICBp
ZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKaW5kZXggMWQyOWQ5NWYwMmU5ZDllZTQyOGVjN2M3ZmYxZmE3OTU5MTk2MTk2
NS4uNDQ3MWE2YjUwZDFiYzcyYzcwYjk0ZTRlOWI5MDM3MTVjNjU0ODg0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI1MDMsMyArMjUwMyw5IEBAIGJv
b2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0JiByZW5kZXJlcikKIHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250
YWluc1NpemUoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJ
bmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIu
aXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIu
aXNUYWJsZSgpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQoreworICAgIHJldHVybiBy
ZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zUGFpbnQoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkg
fHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5
VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJs
b2NrRmxvdygpKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmlu
ZGV4IDg2ZmI1M2M5ZWU0MWVmNmFlNWZlYzExZGQ1YmUwNTM0ZDYzZDRjYzQuLjg0MGFhMzhlNDUw
MGY5YzUyY2YwZmE3ZTNiNjViNTQ3YjI2Nzc5ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmgKQEAgLTExODgsNiArMTE4OCw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xh
eWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRh
aW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlu
bWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKK2Jvb2wgc2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggN2M4N2Ni
MTNiYWUyZWJiYzY1MWUyMjg5YzhmYzc2ZGI3NjU3YTUxZS4uMmE0YmQ5ZjgxZGQzM2YzZWI3YTU0
NjI2NGNjYTdlZjg4ODk5NGIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKQEAgLTUyOCw2ICs1MjgsNyBAQCBwdWJsaWM6CiAgICAgT3B0aW9uU2V0
PENvbnRhaW5tZW50PiBjb250YWluKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGFpbjsgfQogICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpM
YXlvdXQpOyB9CiAgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQor
ICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAgIEJveEFs
aWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVu
dD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7
IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAg
ICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjg2NjlhYjUwNzIyMTdmY2Iw
MDk1ODhhMWUwZDFhODhiYjg1NjViZS4uM2FiNTI0YjhiMDJkYmZmMzM1YzMzYTUwNTVkNjk4YWNk
NjllY2QyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA1LTE3ICBSb2IgQnVpcyAgPHJi
dWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46
cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVu
c2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoK
KwogMjAyMS0wNS0xNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIHdp
bGwtY2hhbmdlOiBjb250YWluIHNob3VsZCBjcmVhdGUgYSBjb250YWluaW5nIGJsb2NrCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlZTFmNjg5MDBkZWI0OTg5NWI1MGZiY2RmNzMy
YTk3ZjJkMDkwNTg5Li5kN2I5YjVhZDZhOGU5NTcyNzFkN2JlYzY4YTE3MDU4MzgwYjVmNjMyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNS0x
NyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0g
U3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBub3cgdGhhdCBjb250YWluOiBz
dHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKwogMjAy
MS0wNS0xNiAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IE1ha2UgTWF0aE1MIFdQVHMgd2FpdCBmb3IgYWxsIGZvbnQgbG9hZHMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDhjZGExMzAzMWFkOGY3ODk4NWZlMjIyMTBhOTIxYjJmYTkwY2EwNmEuLjlkYTc1YWY3
YWIwNDA2NDc0ZTNlMzVhNmU5NDJjMGJiM2ZlMWQ1OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
NDYxNyw2ICs0NjE3LDEwIEBAIHdlYmFuaW1hdGlvbnMvdHJhbnNsYXRlLXByb3BlcnR5LWFuZC10
cmFuc2xhdGUtYW5pbWF0aW9uLXdpdGgtZGVsYXktb24tZm9yY2VkLWxhCiAjIENTUyBjb250YWlu
bWVudCB0ZXN0cyB0aGF0IGZhaWwKICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KQEAgLTQ2MzEsNDkgKzQ2MzUsOSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTAu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjAuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDcuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
ZWxsLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDA2
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQorIyBjb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgYW5kIGNv
bnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBuZWVkIGZ1enp5IG1hdGNoaW5nLgogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlw
LTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jbGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE5Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1hYnNvbHV0ZS0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWZpeGVk
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1m
bG9hdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRl
eHQtbWFyZ2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWlmYy0wMTEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVuZGVudC1mb3JtYXR0aW5nLWNvbnRl
eHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmct
Y29udGV4dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDIu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc3R5bGUtY291bnRlcnMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUt
Y291bnRlcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250
YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1l
eHBlY3RlZC50eHQKaW5kZXggY2MwYmFjNzU4YTg2NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFkYzFl
ZS4uMmY3YWNjOTM3ZGQ4ZDA0NzdkZWNjOTE2Y2Y5OTUyYTcyMmIyZGVjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhi
b3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1p
dGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsMTMgQEAKIFN0cmV0
Y2hlZDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAogUm93CiBGbGV4LXN0YXJ0OgogCi1D
b2x1bW4KIAotUm93CiAKIENvbHVtbgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431253</attachid>
            <date>2021-06-12 00:32:26 -0700</date>
            <delta_ts>2021-06-12 12:43:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210612093224.patch</filename>
            <type>text/plain</type>
            <size>18228</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNmYzFjM2JmNGIxNzU2
NWY3ZjQ2ZTljZDc2ZDEzOGEwYzI0YTEwZi4uYmYxMTZjNDEyMzBkMzA4NGNlZmM0NTdkODVkMmU4
NzUwMzk1ZmFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTExICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA2LTEx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5IGNvbXB1
dGUgU2VjdXJpdHlPcmlnaW46Om1faXNQb3RlbnRpYWxseVRydXN0d29ydGh5IGZvciBwZXJmb3Jt
YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBhMWQyZjhhYmJi
MTVlNWY5NjBjZWM5MWQ3MDQ3ZWZjZTY3ZDg4NmI2Li43MjJlYWU0NjQ3MzkzZjVjYTdiYzk0NGRj
OGE3YTc5Zjk0NDgxNmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAg
IHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxv
YXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hv
c2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVy
ICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmIChlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBP
dmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9j
aygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsKICAgICAgICAg
aWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4g
cHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMu
CkBAIC00Nzk2LDcgKzQ3OTYsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRp
bmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFi
bGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZsb3dD
bGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1Rh
YmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGlu
Z01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJh
Z21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAgICAgICAgfHwg
c3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNp
Zmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwg
fHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OworICAgICAgICB8
fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1BhaW50KCkgfHwg
aXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29s
dW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNw
bGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGFm
ODE5NjBiMDA1MDcwMzI3Yjg1NDM2Yjg3ZmI3NWNkYzcyNjRlOGEuLjU0MDhlMzQxMTkxYjc3MjNm
NGY3NWE3ZWM5MzlmNGRkM2JhNjUxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKQEAgLTIzNzEsNCArMjM3MSwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8UmVu
ZGVyU3R5bGU+IFJlbmRlckVsZW1lbnQ6OmFuaW1hdGVkU3R5bGUoKQogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WCgpIGNv
bnN0Cit7CisgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykpCisgICAg
ICAgIHJldHVybiBPdmVyZmxvdzo6SGlkZGVuOworICAgIHJldHVybiBzdHlsZSgpLm92ZXJmbG93
WCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRl
eCBjMmUwNGJlOTYxYzExNWU1ZDA5MDVmMTJiMzhlMmQyZTE1NjJjNWM0Li40NGE3OTAzYmMwMGFl
YjA0ZTc1YTdjOWI0YTI5NDIxMDAxOGE5NTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKQEAgLTI1Myw2ICsyNTMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHN1c3BlbmRBbmltYXRpb25zKE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lKCkpIHsg
fQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gYW5pbWF0ZWRTdHlsZSgpOwogCisg
ICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAg
ICBlbnVtIEJhc2VUeXBlRmxhZyB7CiAgICAgICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3RGbGFn
ICA9IDEgPDwgMCwKQEAgLTQ0Miw3ICs0NDQsOCBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50
OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICAvLyBGSVhN
RTogd2lsbC1jaGFuZ2Ugc2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2NrcyBvbiBpbmxpbmUg
Ym94ZXMgKGJ1ZyAyMjUwMzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUo
KS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5n
QmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9i
amVjdCgpCi0gICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpOwor
ICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8
fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBpbmxpbmUgYm9vbCBS
ZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29u
c3QKQEAgLTQ1Myw2ICs0NTYsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250
YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGlzUmVu
ZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2Uo
KS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlbHlQb3NpdGlvbmVkKCkpCiAgICAg
ICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0
Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDFmMTFhOTc4ZTMxNWJhZGQ3YWNjODIzYjcx
ZDdkODUwODhmMDNlZjMuLjdiN2YxNWZjNjM1YTE0NjgyNGE2MGI4MWQxODU1NmQxYjM2OWRiNzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1
NSw3IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJM
YXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAg
ICB8fCByZW5kZXJlci5zdHlsZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5kZXJl
ci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWlu
dENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxs
Q2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNr
aW5nQ29udGV4dCgpKTsKIH0KIApAQCAtNTg0LDcgKzU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6
OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91
bGRCZUNTU1N0YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigp
LnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAg
IHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxk
QXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7
CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1h
bEZsb3dPbmx5KQpAQCAtNDQ2OSw3ICs0NDcwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3Vs
YXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMK
ICAgICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IGRvd25jYXN0PFJlbmRlckJv
eD4ocmVuZGVyZXIoKSkub3ZlcmZsb3dDbGlwUmVjdEZvckNoaWxkTGF5ZXJzKG9mZnNldCwgbnVs
bHB0ciwgY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7CiAg
ICAgICAgICAgICBuZXdPdmVyZmxvd0NsaXAuc2V0QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJlcigp
LnN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpOwogICAgICAgICAgICAgY2xpcFJlY3RzLnNldE92
ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLm92
ZXJmbG93Q2xpcFJlY3QoKSkpOwotICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3NpdGlv
bmVkKCkpCisgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBzaG91
bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpCiAgICAgICAgICAgICAgICAgY2xp
cFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBS
ZWN0cy5wb3NDbGlwUmVjdCgpKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCku
aGFzQ2xpcCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmlu
ZGV4IDBkY2ZiY2Y2MDFkMzc4ZTI4NmM4MTgyYzRmZGM4NmEwMmRhMzk5MDAuLmMwNTk0NDM5Mjky
ZTQ5ZDI5YzJiZGYxNWRhMjVhNjAxOTY3NzNlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTE0LDMgKzI1MTQsOSBAQCBib29sIFdlYkNvcmU6OnNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVu
ZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYg
KCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3go
KSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkg
fHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0K
KworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUo
KS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlz
QXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJl
bmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmMjBmNzU5NWQ1
ZTA0YzViMzI1ZDQ3YThkZTA1NmNjOWYxODQzYzA3Li4zMzA5ODdhM2RlOGEwZGQ2OGQyOWNlNmY5
OThlMTVhMWZiMDJjZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CkBAIC0xMTk3LDYgKzExOTcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZl
RG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBS
ZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVu
ZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5k
ZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDkzZDk1NzFlNmRlNTU1N2E3NmNk
MDQ5NWQ0MjU1OTBiNmEwZmVhNzEuLmE5OGM3YmRmZGRiNGI1YWQ3ZmEzY2VmMTgwNmZiZWJhZWVl
YjEzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CkBAIC01MjgsNiArNTI4LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4g
Y29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47
IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAg
IGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRh
aW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWlu
LmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxp
Z24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGly
ZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVj
dGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94Rmxl
eCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4
aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJjMTk1ZDFlNjA5NTE5NmRjYTUzMGI3NmQzZmEwMWI5
ZTFhYzFhZDkuLjJhM2Y2NGQ1NTExNDg2OTBjZTdmYTA3Yjk4ZDFiZjZlNzZiN2FlYjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNi0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29t
PgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhh
dCBwYXNzIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMTEg
IFJvYmVydCBKZW5uZXIgIDxqZW5uZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtMYXlvdXRUZXN0
c10gRGVsZXRlIHVudXNlZCBMYXlvdXRUZXN0cy9odG1sNWxpYiByZXNvdXJjZXMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGE1YjdlZDY5ODEyODE0MjI1MGQxYWFjNzM5OTgxNGY1
MWUwZDYzYzEuLmFlYmQxZjdlNTkwM2QwYzg0YjY1ZWIwNTUxMzM0ZjcwZThlMmZiNDUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA2LTExICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBw
b3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkanVzdCB0ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRhaW46IHN0cmlj
dCBpcyBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
bGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA2
LTExICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2Ug
SFRNTERpbWVuc2lvbiB0byBwYXJzZSBkaWZmZXJlbnQgSFRNTCBhdHRyaWJ1dGUgbGVuZ3RoIHZh
bHVlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzJhN2VjMDM5ZmZiZDI0Mjg3NDUyZDQ2NzQ5MGMy
MGQ3NjhkMTUxYy4uMjExNDljMzg3NjQ5OGYzNzFhYTNkNTViNDlkNjViY2QzYWE0MWExOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC00NjMzLDYgKzQ2MzMsMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFu
c2xhdGUtcHJvcGVydHktYW5kLXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3Jj
ZWQtbGEKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10
ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDY0Nyw0OSArNDY1MSw5IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTA0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2VsbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2xpcC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlw
LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jbGlwLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisjIGNvbnRhaW4tcGFpbnQt
Y2xpcC0wMTUuaHRtbCBhbmQgY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIG5lZWQgZnV6enkg
bWF0Y2hpbmcuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Y2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWlu
aW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNv
bnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Zm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWluZGVwZW5k
ZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0w
MDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zdHlsZS1jb3VudGVycy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZs
ZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0
ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAppbmRleCBjYzBiYWM3NThhODY2ZDRhZWVj
NzVhY2U4ZWU3ZDgzM2JmMWRjMWVlLi4yZjdhY2M5MzdkZDhkMDQ3N2RlY2M5MTZjZjk5NTJhNzIy
YjJkZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dApAQCAt
MSwxNyArMSwxMyBAQAogU3RyZXRjaGVkOgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCiBS
b3cKIEZsZXgtc3RhcnQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431264</attachid>
            <date>2021-06-12 12:43:50 -0700</date>
            <delta_ts>2021-06-13 03:49:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210612214348.patch</filename>
            <type>text/plain</type>
            <size>27064</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNmYzFjM2JmNGIxNzU2
NWY3ZjQ2ZTljZDc2ZDEzOGEwYzI0YTEwZi4uOWM0ZDJhYjM0NDgwNmQzMTRkNGI2MGI2ZmVlZGRl
MTczMTMxOGE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTEyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA2LTEx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5IGNvbXB1
dGUgU2VjdXJpdHlPcmlnaW46Om1faXNQb3RlbnRpYWxseVRydXN0d29ydGh5IGZvciBwZXJmb3Jt
YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBhMWQyZjhhYmJi
MTVlNWY5NjBjZWM5MWQ3MDQ3ZWZjZTY3ZDg4NmI2Li5jMGMxNmRiMjkxZGQ1MzllYTU3NGNmNzE2
NGJmMDFjOWYyNTlkOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAg
IHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxv
YXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hv
c2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVy
ICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmIChlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBP
dmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9j
aygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsKICAgICAgICAg
aWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4g
cHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMu
CkBAIC00OTUsNyArNDk1LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAg
ICAgICAgICAgICAvLyAoMykgVGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4K
ICAgICAgICAgICAgIGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpKQogICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1l
bnQoKQotICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlcmVyKCktPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAg
ICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigp
LT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAg
ICAgICAgIGJveEhhc092ZXJmbG93Q2xpcCA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC04NTIsNyArODUyLDcgQEAgYm9vbCBSZW5kZXJCb3g6OmluY2x1ZGVWZXJ0aWNhbFNj
cm9sbGJhclNpemUoKSBjb25zdAogYm9vbCBSZW5kZXJCb3g6OmluY2x1ZGVIb3Jpem9udGFsU2Ny
b2xsYmFyU2l6ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIGxh
eWVyKCkgJiYgIWxheWVyKCktPmhhc092ZXJsYXlTY3JvbGxiYXJzKCkKLSAgICAgICAgJiYgKHN0
eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlNjcm9sbCB8fCBzdHlsZSgpLm92ZXJmbG93
WCgpID09IE92ZXJmbG93OjpBdXRvKTsKKyAgICAgICAgJiYgKGVmZmVjdGl2ZU92ZXJmbG93WCgp
ID09IE92ZXJmbG93OjpTY3JvbGwgfHwgZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OkF1dG8pOwogfQogCiBpbnQgUmVuZGVyQm94Ojp2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgY29u
c3QKQEAgLTg4MSw3ICs4ODEsNyBAQCBpbnQgUmVuZGVyQm94OjppbnRyaW5zaWNTY3JvbGxiYXJM
b2dpY2FsV2lkdGgoKSBjb25zdAogICAgICAgICByZXR1cm4gdmVydGljYWxTY3JvbGxiYXJXaWR0
aCgpOwogICAgIH0KIAotICAgIGlmICghaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiAoc3R5
bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6U2Nyb2xsICYmICFjYW5Vc2VPdmVybGF5U2Ny
b2xsYmFycygpKSkgeworICAgIGlmICghaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAmJiAoZWZm
ZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlNjcm9sbCAmJiAhY2FuVXNlT3ZlcmxheVNj
cm9sbGJhcnMoKSkpIHsKICAgICAgICAgQVNTRVJUKGxheWVyKCkgJiYgbGF5ZXIoKS0+c2Nyb2xs
YWJsZUFyZWEoKSAmJiBsYXllcigpLT5zY3JvbGxhYmxlQXJlYSgpLT5oYXNIb3Jpem9udGFsU2Ny
b2xsYmFyKCkpOwogICAgICAgICByZXR1cm4gaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCgpOwog
ICAgIH0KQEAgLTEwNzQsNyArMTA3NCw3IEBAIGJvb2wgUmVuZGVyQm94OjpoYXNBdXRvU2Nyb2xs
YmFyKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKSBjb25zdAogCiAgICAgc3dpdGNo
IChvcmllbnRhdGlvbikgewogICAgIGNhc2UgU2Nyb2xsYmFyT3JpZW50YXRpb246Okhvcml6b250
YWxTY3JvbGxiYXI6Ci0gICAgICAgIHJldHVybiBpc0F1dG9PclNjcm9sbFdpdGhPdmVybGF5U2Ny
b2xsYmFyKHN0eWxlKCkub3ZlcmZsb3dYKCkpOworICAgICAgICByZXR1cm4gaXNBdXRvT3JTY3Jv
bGxXaXRoT3ZlcmxheVNjcm9sbGJhcihlZmZlY3RpdmVPdmVyZmxvd1goKSk7CiAgICAgY2FzZSBT
Y3JvbGxiYXJPcmllbnRhdGlvbjo6VmVydGljYWxTY3JvbGxiYXI6CiAgICAgICAgIHJldHVybiBp
c0F1dG9PclNjcm9sbFdpdGhPdmVybGF5U2Nyb2xsYmFyKHN0eWxlKCkub3ZlcmZsb3dZKCkpOwog
ICAgIH0KQEAgLTEwOTIsNyArMTA5Miw3IEBAIGJvb2wgUmVuZGVyQm94OjpoYXNBbHdheXNQcmVz
ZW50U2Nyb2xsYmFyKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKSBjb25zCiAKICAg
ICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7CiAgICAgY2FzZSBTY3JvbGxiYXJPcmllbnRhdGlvbjo6
SG9yaXpvbnRhbFNjcm9sbGJhcjoKLSAgICAgICAgcmV0dXJuIGlzQWx3YXlzVmlzaWJsZVNjcm9s
bGJhcihzdHlsZSgpLm92ZXJmbG93WCgpKTsKKyAgICAgICAgcmV0dXJuIGlzQWx3YXlzVmlzaWJs
ZVNjcm9sbGJhcihlZmZlY3RpdmVPdmVyZmxvd1goKSk7CiAgICAgY2FzZSBTY3JvbGxiYXJPcmll
bnRhdGlvbjo6VmVydGljYWxTY3JvbGxiYXI6CiAgICAgICAgIHJldHVybiBpc0Fsd2F5c1Zpc2li
bGVTY3JvbGxiYXIoc3R5bGUoKS5vdmVyZmxvd1koKSk7CiAgICAgfQpAQCAtNDc5Niw3ICs0Nzk2
LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGlu
Z09yT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpIHx8IGlzRmxleEl0
ZW1JbmNsdWRpbmdEZXByZWNhdGVkKCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc1Rh
YmxlQ2FwdGlvbigpIHx8IGlzRmllbGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8IGlz
RG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSB8fCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgfHwg
aXNSZW5kZXJGcmFnbWVudENvbnRhaW5lcigpCi0gICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNM
YXlvdXQoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwg
c3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxh
eSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKKyAgICAgICAgfHwgc3R5bGUoKS5jb250YWlu
c0xheW91dCgpIHx8IHN0eWxlKCkuY29udGFpbnNQYWludCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBz
dHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1
bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290
OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaAppbmRleCA4M2I3MjAxNGVhMTIwYTJjYjZkZGY3ZTVhYjY5NmE3
YmJjNDEyZDlmLi4wOWIwNGM5MjQ5ZGEzNGQ2NWNlMzA3OGQ2NWJmYzNiNTY4Mjg2MDM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00OTAsNyArNDkwLDcgQEAgb3ZlcnJp
ZGU7CiAgICAgYm9vbCBoYXNBbHdheXNQcmVzZW50U2Nyb2xsYmFyKFNjcm9sbGJhck9yaWVudGF0
aW9uKSBjb25zdDsKIAogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93KCkgY29uc3QgeyByZXR1cm4g
c2Nyb2xsc092ZXJmbG93WCgpIHx8IHNjcm9sbHNPdmVyZmxvd1koKTsgfQotICAgIGJvb2wgc2Ny
b2xsc092ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIChzdHls
ZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpTY3JvbGwgfHwgc3R5bGUoKS5vdmVyZmxvd1go
KSA9PSBPdmVyZmxvdzo6QXV0byk7IH0KKyAgICBib29sIHNjcm9sbHNPdmVyZmxvd1goKSBjb25z
dCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAoZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0g
T3ZlcmZsb3c6OlNjcm9sbCB8fCBlZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6QXV0
byk7IH0KICAgICBib29sIHNjcm9sbHNPdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBoYXNPdmVy
Zmxvd0NsaXAoKSAmJiAoc3R5bGUoKS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6U2Nyb2xsIHx8
IHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OkF1dG8pOyB9CiAKICAgICBib29sIGhh
c0hvcml6b250YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHNjcm9sbFdpZHRoKCkgIT0gcm91
bmRUb0ludChwYWRkaW5nQm94V2lkdGgoKSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcAppbmRleCBhZjgxOTYwYjAwNTA3MDMyN2I4NTQzNmI4N2ZiNzVjZGM3
MjY0ZThhLi40ZTJlZWY0MGY1ODMwNDU1MzM3MGVjYjNjMmU3MmY0NTc3N2I0ZjBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0yMzcxLDQgKzIzNzEs
MTIgQEAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZW5kZXJFbGVtZW50OjphbmltYXRl
ZFN0eWxlKCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitPdmVyZmxvdyBSZW5kZXJFbGVtZW50
OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dYID0gc3R5
bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0
aGlzKSAmJiBvdmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBP
dmVyZmxvdzo6SGlkZGVuOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9CisKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IGMyZTA0YmU5NjFjMTE1ZTVkMDkw
NWYxMmIzOGUyZDJlMTU2MmM1YzQuLjQ0YTc5MDNiYzAwYWViMDRlNzVhN2M5YjRhMjk0MjEwMDE4
YTk1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjUz
LDYgKzI1Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMo
TW9ub3RvbmljVGltZSA9IE1vbm90b25pY1RpbWUoKSkgeyB9CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFJlbmRlclN0eWxlPiBhbmltYXRlZFN0eWxlKCk7CiAKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVP
dmVyZmxvd1goKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsK
ICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcgID0gMSA8PCAwLApAQCAtNDQyLDcg
KzQ0NCw4IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0
aW9uT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIC8vIEZJWE1FOiB3aWxsLWNoYW5nZSBzaG91bGQg
Y3JlYXRlIGNvbnRhaW5pbmcgYmxvY2tzIG9uIGlubGluZSBib3hlcyAoYnVnIDIyNTAzNSkKICAg
ICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHls
ZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0
aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKLSAgICAgICAgfHwgc2hv
dWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcyk7CisgICAgICAgIHx8IHNob3VsZEFwcGx5
TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250
YWlubWVudCgqdGhpcyk7CiB9CiAKIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRh
aW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdApAQCAtNDUzLDYgKzQ1Niw3IEBA
IGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25l
ZE9iamVjdHMoKSBjb25zdAogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCku
d2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Js
b2NrRm9yQWJzb2x1dGVseVBvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2Jq
ZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAg
ICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKQogICAgICAgICB8fCBp
c1JlbmRlclZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAKaW5kZXggNTcwOGIzMWExZDg0MDVjNjg3OTExMGFjYTdiYTZkNzk2OTk1
NjcyZS4uYWE4NzUxMzY3Mzc2M2ZlZTZiOWFmNTQxZTQwYjMwMzU4MTY4NDNkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC0xNjY4LDcg
KzE2NjgsNyBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhhc0ludHJpbnNpY01haW5B
eGlzU2l6ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQogT3ZlcmZsb3cgUmVuZGVyRmxleGlibGVC
b3g6Om1haW5BeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25z
dAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0gICAgICAgIHJldHVybiBjaGlsZC5z
dHlsZSgpLm92ZXJmbG93WCgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZs
b3dYKCk7CiAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7CiB9CiAKQEAgLTE2
NzYsNyArMTY3Niw3IEBAIE92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVy
Zmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvCiB7CiAgICAgaWYgKGlzSG9y
aXpvbnRhbEZsb3coKSkKICAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7
Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgcmV0dXJuIGNoaWxk
LmVmZmVjdGl2ZU92ZXJmbG93WCgpOwogfQogCiBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGls
ZEhhc1BlcmNlbnRIZWlnaHREZXNjZW5kYW50cyhjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMWYxMWE5
NzhlMzE1YmFkZDdhY2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4uN2I3ZjE1ZmM2MzVhMTQ2ODI0YTYw
YjgxZDE4NTU2ZDFiMzY5ZGI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCkBAIC01NTUsNiArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdD
b250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwgcmVuZGVyZXIuaGFz
UmVmbGVjdGlvbigpCiAgICAgICAgIHx8IHJlbmRlcmVyLnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkK
ICAgICAgICAgfHwgIXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKQorICAgICAg
ICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8IChy
ZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiByZW5kZXJlci5zdHlsZSgpLndpbGxDaGFu
Z2UoKS0+Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KCkpOwogfQogCkBAIC01ODQsNyArNTg1LDcg
QEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJv
b2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVu
ZGVyVmlld0xheWVyKCk7CisgICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1Vz
ZWRaSW5kZXgoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwg
aXNSZW5kZXJWaWV3TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxG
bG93T25seShib29sIGlzTm9ybWFsRmxvd09ubHkpCkBAIC00NDY5LDcgKzQ0NzAsNyBAQCB2b2lk
IFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYg
Y2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICAgICAgQ2xpcFJlY3QgbmV3T3ZlcmZsb3dDbGlw
ID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5vdmVyZmxvd0NsaXBSZWN0Rm9yQ2hp
bGRMYXllcnMob2Zmc2V0LCBudWxscHRyLCBjbGlwUmVjdHNDb250ZXh0Lm92ZXJsYXlTY3JvbGxi
YXJTaXplUmVsZXZhbmN5KTsKICAgICAgICAgICAgIG5ld092ZXJmbG93Q2xpcC5zZXRBZmZlY3Rl
ZEJ5UmFkaXVzKHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSk7CiAgICAgICAg
ICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZs
b3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7Ci0gICAgICAgICAgICBpZiAo
cmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlz
UG9zaXRpb25lZCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkK
ICAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5l
d092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKICAgICAgICAgfQogICAg
ICAgICBpZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcAppbmRleCAzMGQ5Yjkw
NDRjNmY3ZDIzOWVjNTEyZGRlYzVlZTIxYjcxZmVlNDhiLi45MGFiMTA4ZDNjYjFjYmZmMDEzZjBh
MDBjMDVjZDFlODJlNjMzMTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0xMTU4LDcgKzExNTgsNyBAQCB2
b2lkIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnVwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91
dCgpCiAgICAgICAgIGF1dG8mIHJlbmRlcmVyID0gbV9sYXllci5yZW5kZXJlcigpOwogICAgICAg
ICByZW5kZXJlci5yZXBhaW50KCk7CiAKLSAgICAgICAgaWYgKHJlbmRlcmVyLnN0eWxlKCkub3Zl
cmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkF1dG8gfHwgcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1ko
KSA9PSBPdmVyZmxvdzo6QXV0bykgeworICAgICAgICBpZiAocmVuZGVyZXIuZWZmZWN0aXZlT3Zl
cmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkF1dG8gfHwgcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1ko
KSA9PSBPdmVyZmxvdzo6QXV0bykgewogICAgICAgICAgICAgaWYgKCFtX2luT3ZlcmZsb3dSZWxh
eW91dCkgewogICAgICAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IGluT3ZlcmZsb3dSZWxh
eW91dFNjb3BlKG1faW5PdmVyZmxvd1JlbGF5b3V0LCB0cnVlKTsKICAgICAgICAgICAgICAgICBy
ZW5kZXJlci5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAwZGNmYmNmNjAxZDM3OGUyODZjODE4MmM0ZmRj
ODZhMDJkYTM5OTAwLi5jMDU5NDQzOTI5MmU0OWQyOWMyYmRmMTVkYTI1YTYwMTk2NzczZWJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjUxNCwzICsy
NTE0LDkgQEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBX
ZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogewogICAgIHJldHVybiByZW5kZXJlci5z
dHlsZSgpLmNvbnRhaW5zU2l6ZSgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJl
ci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYg
KCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9uKCkpICYm
ICFyZW5kZXJlci5pc1RhYmxlKCk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlQYWlu
dENvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7Cisg
ICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNQYWludCgpICYmICghcmVuZGVyZXIu
aXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5k
ZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVy
LmlzUmVuZGVyQmxvY2tGbG93KCkpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgKaW5kZXggZjIwZjc1OTVkNWUwNGM1YjMyNWQ0N2E4ZGUwNTZjYzlmMTg0M2MwNy4u
MzMwOTg3YTNkZThhMGRkNjhkMjljZTZmOTk4ZTE1YTFmYjAyY2ZkNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMTE5Nyw2ICsxMTk3LDcgQEAgdm9pZCBwcmlu
dEdyYXBoaWNzTGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOwogCiBib29sIHNob3VsZEFwcGx5
TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5j
cHAKaW5kZXggMjQyYWNhM2EwNmI5MTU3NGE3NDhiMTNlY2VmYTgwYzYxNzJiOWM1OS4uNmIyZDFi
ZjdlYzJmMDAyZWU4MzVlM2U1N2U3MzAyM2JiNjFjYzBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgUmVu
ZGVyQm94OjpMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMgUmVuZGVyVGV4dENvbnRyb2w6OmNv
bXB1dGVMb2dpY2FsSGVpZ2h0KEwKICAgICAgICAgbG9naWNhbEhlaWdodCA9IGNvbXB1dGVDb250
cm9sTG9naWNhbEhlaWdodChpbm5lclRleHRCb3gtPmxpbmVIZWlnaHQodHJ1ZSwgSG9yaXpvbnRh
bExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcyksIG5vbkNvbnRlbnRIZWlnaHQpOwog
CiAgICAgICAgIC8vIFdlIGFyZSBhYmxlIHRvIGhhdmUgYSBob3Jpem9udGFsIHNjcm9sbGJhciBp
ZiB0aGUgb3ZlcmZsb3cgc3R5bGUgaXMgc2Nyb2xsLCBvciBpZiBpdHMgYXV0byBhbmQgdGhlcmUn
cyBubyB3b3JkIHdyYXAuCi0gICAgICAgIGlmICgoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAm
JiAoc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6U2Nyb2xsIHx8ICAoc3R5bGUoKS5v
dmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6QXV0byAmJiBpbm5lclRleHQtPnJlbmRlcmVyKCktPnN0
eWxlKCkub3ZlcmZsb3dXcmFwKCkgPT0gT3ZlcmZsb3dXcmFwOjpOb3JtYWwpKSkKKyAgICAgICAg
aWYgKChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpICYmIChlZmZlY3RpdmVPdmVyZmxvd1goKSA9
PSBPdmVyZmxvdzo6U2Nyb2xsIHx8ICAoZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OkF1dG8gJiYgaW5uZXJUZXh0LT5yZW5kZXJlcigpLT5zdHlsZSgpLm92ZXJmbG93V3JhcCgpID09
IE92ZXJmbG93V3JhcDo6Tm9ybWFsKSkpCiAgICAgICAgICAgICB8fCAoIWlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgJiYgKHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlNjcm9sbCB8
fCAgKHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OkF1dG8gJiYgaW5uZXJUZXh0LT5y
ZW5kZXJlcigpLT5zdHlsZSgpLm92ZXJmbG93V3JhcCgpID09IE92ZXJmbG93V3JhcDo6Tm9ybWFs
KSkpKQogICAgICAgICAgICAgbG9naWNhbEhlaWdodCArPSBzY3JvbGxiYXJUaGlja25lc3MoKTsK
ICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CmluZGV4IDkzZDk1NzFlNmRlNTU1N2E3NmNkMDQ5NWQ0MjU1OTBiNmEwZmVhNzEuLmE5OGM3YmRm
ZGRiNGI1YWQ3ZmEzY2VmMTgwNmZiZWJhZWVlYjEzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01MjgsNiArNTI4LDcgQEAgcHVibGljOgog
ICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkg
Y29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhD
b250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVu
dDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7
IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJs
ZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJl
Y3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5j
bWFrZQppbmRleCA3ZGUyZDYwNDZhOTg4Mzk2ODdlZDI3NzAwOWJkOWZkNGViNWMyZmUwLi42MDA0
NDU5NTNjMDAyMTM1NDNmMmFkZDRjNWJjZTAxZjdkODViZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFr
ZQpAQCAtNzAsNyArNzAsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5UUk9TUEVD
VElPTiAiV2hldGhlciB0byBlbmFibGUgR09iamVjdCBpbnRyb3NwZWN0aQogV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1FVQVJUWl9UQVJHRVQgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQg
Zm9yIHRoZSBRdWFydHogd2luZG93aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9XQVlMQU5EX1RBUkdFVCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9y
dCBmb3IgdGhlIFdheWxhbmQgd2luZG93aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9YMTFfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0
IGZvciB0aGUgWDExIHdpbmRvd2luZyB0YXJnZXQuIiBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9O
X0RFRklORShVU0VfQVZJRiAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgQVZJRiBpbWFn
ZXMuIiBQVUJMSUMgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTfSkKK1dFQktJVF9PUFRJ
T05fREVGSU5FKFVTRV9BVklGICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBBVklGIGlt
YWdlcy4iIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfR1RLNCAiV2hldGhl
ciB0byBlbmFibGUgdXNhZ2Ugb2YgR1RLNCBpbnN0ZWFkIG9mIEdUSzMuIiBQVUJMSUMgT0ZGKQog
V0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xDTVMgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQg
Zm9yIGltYWdlIGNvbG9yIG1hbmFnZW1lbnQgdXNpbmcgbGliY21zMi4iIFBVQkxJQyBPTikKIFdF
QktJVF9PUFRJT05fREVGSU5FKFVTRV9MSUJIWVBIRU4gIldoZXRoZXIgdG8gZW5hYmxlIHRoZSBk
ZWZhdWx0IGF1dG9tYXRpYyBoeXBoZW5hdGlvbiBpbXBsZW1lbnRhdGlvbi4iIFBVQkxJQyBPTikK
QEAgLTc4LDcgKzc4LDcgQEAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xJQk5PVElGWSAiV2hl
dGhlciB0byBlbmFibGUgdGhlIGRlZmF1bHQgd2ViIG5vdGlmaWNhdGkKIFdFQktJVF9PUFRJT05f
REVGSU5FKFVTRV9MSUJTRUNSRVQgIldoZXRoZXIgdG8gZW5hYmxlIHRoZSBwZXJzaXN0ZW50IGNy
ZWRlbnRpYWwgc3RvcmFnZSB1c2luZyBsaWJzZWNyZXQuIiBQVUJMSUMgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRklORShVU0VfT1BFTkdMX09SX0VTICJXaGV0aGVyIHRvIHVzZSBPcGVuR0wgb3IgRVMu
IiBQVUJMSUMgJHtVU0VfT1BFTkdMX09SX0VTX0RFRkFVTFR9KQogV0VCS0lUX09QVElPTl9ERUZJ
TkUoVVNFX09QRU5KUEVHICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBKUEVHMjAwMCBp
bWFnZXMuIiBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU09VUDIgIldoZXRo
ZXIgdG8gZW5hYmxlIHVzYWdlIG9mIFNvdXAgMiBpbnN0ZWFkIG9mIFNvdXAgMy4iIFBVQkxJQyBP
RkYpCitXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU09VUDIgIldoZXRoZXIgdG8gZW5hYmxlIHVz
YWdlIG9mIFNvdXAgMiBpbnN0ZWFkIG9mIFNvdXAgMy4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJ
T05fREVGSU5FKFVTRV9TWVNURU1EICJXaGV0aGVyIHRvIGVuYWJsZSBqb3VybmFsZCBsb2dnaW5n
IiBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfV09GRjIgIldoZXRoZXIgdG8g
ZW5hYmxlIHN1cHBvcnQgZm9yIFdPRkYyIFdlYiBGb250cy4iIFBVQkxJQyBPTikKIFdFQktJVF9P
UFRJT05fREVGSU5FKFVTRV9XUEVfUkVOREVSRVIgIldoZXRoZXIgdG8gZW5hYmxlIFdQRSByZW5k
ZXJpbmciIFBVQkxJQyBPTikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYzE5NWQxZTYwOTUxOTZkY2E1MzBiNzZkM2ZhMDFi
OWUxYWMxYWQ5Li5lM2QzNWJkNDA4NmRiYjk0YzlmZjA0MWIyMzM3NTcyZmQ3NWRiZTRiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMTIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNv
bT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHRlc3RzIHRo
YXQgcGFzcyBub3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA2LTEx
ICBSb2JlcnQgSmVubmVyICA8amVubmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbTGF5b3V0VGVz
dHNdIERlbGV0ZSB1bnVzZWQgTGF5b3V0VGVzdHMvaHRtbDVsaWIgcmVzb3VyY2VzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBhNWI3ZWQ2OTgxMjgxNDIyNTBkMWFhYzczOTk4MTRm
NTFlMGQ2M2MxLi4xMzg3YmE5MDE2ZDg4ZTMzMjUzNmIzMmM1MzNiOWIzYzFjZTczYjVjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNi0xMiAg
Um9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3Vw
cG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBub3cgdGhhdCBjb250YWluOiBzdHJp
Y3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
ZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0w
Ni0xMSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNl
IEhUTUxEaW1lbnNpb24gdG8gcGFyc2UgZGlmZmVyZW50IEhUTUwgYXR0cmlidXRlIGxlbmd0aCB2
YWx1ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDMyYTdlYzAzOWZmYmQyNDI4NzQ1MmQ0Njc0OTBj
MjBkNzY4ZDE1MWMuLjIxMTQ5YzM4NzY0OThmMzcxYWEzZDU1YjQ5ZDY1YmNkM2FhNDFhMTkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNDYzMyw2ICs0NjMzLDEwIEBAIHdlYmFuaW1hdGlvbnMvdHJh
bnNsYXRlLXByb3BlcnR5LWFuZC10cmFuc2xhdGUtYW5pbWF0aW9uLXdpdGgtZGVsYXktb24tZm9y
Y2VkLWxhCiAjIENTUyBjb250YWlubWVudCB0ZXN0cyB0aGF0IGZhaWwKICMgd2Via2l0LXJ1Ynkt
dGV4dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1sYXlvdXQtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ2NDcsNDkgKzQ2NTEsOSBAQCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjAuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wNDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNlbGwtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2xpcC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorIyBjb250YWluLXBhaW50
LWNsaXAtMDE1Lmh0bWwgYW5kIGNvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBuZWVkIGZ1enp5
IG1hdGNoaW5nLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFp
bmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
b250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVu
ZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUt
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDEx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc3R5bGUtY291bnRlcnMtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
bGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1p
dGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKaW5kZXggY2MwYmFjNzU4YTg2NmQ0YWVl
Yzc1YWNlOGVlN2Q4MzNiZjFkYzFlZS4uMmY3YWNjOTM3ZGQ4ZDA0NzdkZWNjOTE2Y2Y5OTUyYTcy
MmIyZGVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKQEAg
LTEsMTcgKzEsMTMgQEAKIFN0cmV0Y2hlZDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAog
Um93CiBGbGV4LXN0YXJ0OgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431272</attachid>
            <date>2021-06-13 03:49:15 -0700</date>
            <delta_ts>2021-06-13 04:27:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210613124914.patch</filename>
            <type>text/plain</type>
            <size>22852</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNmYzFjM2JmNGIxNzU2
NWY3ZjQ2ZTljZDc2ZDEzOGEwYzI0YTEwZi4uOWM0ZDJhYjM0NDgwNmQzMTRkNGI2MGI2ZmVlZGRl
MTczMTMxOGE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTEyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA2LTEx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5IGNvbXB1
dGUgU2VjdXJpdHlPcmlnaW46Om1faXNQb3RlbnRpYWxseVRydXN0d29ydGh5IGZvciBwZXJmb3Jt
YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBhMWQyZjhhYmJi
MTVlNWY5NjBjZWM5MWQ3MDQ3ZWZjZTY3ZDg4NmI2Li4yNzU2NGQ0MDQ1NzU4MTU0YWZhZTgzOGEz
YWNmNDAwZTM1Zjg5NmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAg
IHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxv
YXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hv
c2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVy
ICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmIChlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBP
dmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9j
aygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsKICAgICAgICAg
aWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4g
cHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMu
CkBAIC00OTUsNyArNDk1LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAg
ICAgICAgICAgICAvLyAoMykgVGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4K
ICAgICAgICAgICAgIGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpKQogICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1l
bnQoKQotICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlcmVyKCktPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAg
ICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigp
LT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAg
ICAgICAgIGJveEhhc092ZXJmbG93Q2xpcCA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC00Nzk2LDcgKzQ3OTYsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1h
dHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5l
VGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZs
b3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBp
c1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3Jp
dGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVy
RnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAgICAgICAg
fHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNw
ZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpB
bGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OworICAgICAg
ICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1BhaW50KCkg
fHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCku
Y29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4
IGFmODE5NjBiMDA1MDcwMzI3Yjg1NDM2Yjg3ZmI3NWNkYzcyNjRlOGEuLmFmZWRiODRjNGU2NWQ3
YTk3MzBlZDYwZjI3ZGI0MjE5ODUxZTc0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAKQEAgLTIyOTEsNyArMjI5MSw3IEBAIHN0YXRpYyBSZW5kZXJPYmpl
Y3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJl
bmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKSB7CiAgICAgICAg
ICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYgdGhlIG92ZXJmbG93IHNpemUgb2Yg
dGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lmaWVkCiAgICAgICAgICAgICAvLyBo
ZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRvLXNpemluZy4KLSAgICAgICAgICAg
IGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQorICAgICAgICAgICAg
aWYgKGVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlCiAgICAgICAgICAg
ICAgICAgJiYgc3R5bGUuaGVpZ2h0KCkudmFsdWUoKSA8IGRvd25jYXN0PFJlbmRlckJsb2NrPihy
ZW5kZXJlcikubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQogICAgICAgICAgICAgICAgIHJl
dHVybiBSZW5kZXJPYmplY3Q6Ok92ZXJmbG93SGVpZ2h0OwogICAgICAgICB9CkBAIC0yMzcxLDQg
KzIzNzEsMjAgQEAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZW5kZXJFbGVtZW50Ojph
bmltYXRlZFN0eWxlKCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitPdmVyZmxvdyBSZW5kZXJF
bGVtZW50OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dY
ID0gc3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KCp0aGlzKSAmJiBvdmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJl
dHVybiBPdmVyZmxvdzo6SGlkZGVuOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9CisKK092ZXJm
bG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7CisgICAgYXV0
byBvdmVyZmxvd1kgPSBzdHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQoKnRoaXMpICYmIG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkK
KyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpIaWRkZW47CisgICAgcmV0dXJuIG92ZXJmbG93WTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggYzJl
MDRiZTk2MWMxMTVlNWQwOTA1ZjEyYjM4ZTJkMmUxNTYyYzVjNC4uMjkwY2VlOGJlYTY5YmUzNzVk
M2Y2MjUwMTc1OWJlNDgwZDc5NWUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCkBAIC0yNTMsNiArMjUzLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
dXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZSgpKSB7IH0KICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGFuaW1hdGVkU3R5bGUoKTsKIAorICAgIE92
ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0OworICAgIE92ZXJmbG93IGVmZmVjdGl2
ZU92ZXJmbG93WSgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlwZUZsYWcg
ewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAsCkBAIC00NDIs
NyArNDQ1LDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9z
aXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwtY2hhbmdlIHNob3Vs
ZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChidWcgMjI1MDM1KQog
ICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0
eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9z
aXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQotICAgICAgICB8fCBz
aG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAgfHwgc2hvdWxkQXBw
bHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENv
bnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29u
dGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00NTMsNiArNDU3LDcg
QEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlv
bmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUo
KS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5n
QmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25P
YmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQor
ICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAgICAgICAgIHx8
IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcAppbmRleCA1NzA4YjMxYTFkODQwNWM2ODc5MTEwYWNhN2JhNmQ3OTY5
OTU2NzJlLi43MjUxYzQ3OTBkOTk4YTI5NjM0YzBjZTA0NzE0MGFjM2IxM2U3YTRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTE2Njgs
MTUgKzE2NjgsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNJbnRyaW5zaWNN
YWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92ZXJmbG93IFJlbmRlckZsZXhp
YmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkg
Y29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1cm4gY2hp
bGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxv
d1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOworICAgIHJl
dHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAogT3ZlcmZsb3cgUmVuZGVyRmxl
eGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1cm4g
Y2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVy
Zmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgpOworICAg
IHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0KIAogYm9vbCBSZW5kZXJGbGV4
aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoY29uc3QgUmVuZGVyQm94
JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CmluZGV4IDFmMTFhOTc4ZTMxNWJhZGQ3YWNjODIzYjcxZDdkODUwODhmMDNlZjMuLjdiN2YxNWZj
NjM1YTE0NjgyNGE2MGI4MWQxODU1NmQxYjM2OWRiNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBAIHN0YXRpYyBib29sIGNhbkNy
ZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8
IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhh
c0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWklu
ZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKQog
ICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5
bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKTsKIH0KIApAQCAt
NTg0LDcgKzU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHko
KSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5k
ZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHls
ZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJl
bmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6
OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpAQCAtNDQ2OSw3ICs0
NDcwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBS
ZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAgIENsaXBSZWN0IG5l
d092ZXJmbG93Q2xpcCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkub3ZlcmZsb3dD
bGlwUmVjdEZvckNoaWxkTGF5ZXJzKG9mZnNldCwgbnVsbHB0ciwgY2xpcFJlY3RzQ29udGV4dC5v
dmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7CiAgICAgICAgICAgICBuZXdPdmVyZmxvd0Ns
aXAuc2V0QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJlcigpLnN0eWxlKCkuaGFzQm9yZGVyUmFkaXVz
KCkpOwogICAgICAgICAgICAgY2xpcFJlY3RzLnNldE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0
aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSkpOwotICAg
ICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICBpZiAo
cmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQo
cmVuZGVyZXIoKSkpCiAgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGlu
dGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CiAg
ICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFzQ2xpcCgpKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDBkY2ZiY2Y2MDFkMzc4ZTI4NmM4
MTgyYzRmZGM4NmEwMmRhMzk5MDAuLmMwNTk0NDM5MjkyZTQ5ZDI5YzJiZGYxNWRhMjVhNjAxOTY3
NzNlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0y
NTE0LDMgKzI1MTQsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50
KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJl
bmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8
IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRl
eHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRp
b24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJl
cikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFy
ZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkg
JiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwg
cmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAppbmRleCBmMjBmNzU5NWQ1ZTA0YzViMzI1ZDQ3YThkZTA1NmNjOWYx
ODQzYzA3Li4zMzA5ODdhM2RlOGEwZGQ2OGQyOWNlNmY5OThlMTVhMWZiMDJjZmQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTk3LDYgKzExOTcsNyBAQCB2
b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hv
dWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hv
dWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IDkzZDk1NzFlNmRlNTU1N2E3NmNkMDQ5NWQ0MjU1OTBiNmEwZmVhNzEuLmE5
OGM3YmRmZGRiNGI1YWQ3ZmEzY2VmMTgwNmZiZWJhZWVlYjEzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01MjgsNiArNTI4LDcgQEAgcHVi
bGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5
b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250
YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250
YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQ
YWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRG
bGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5i
b3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZQppbmRleCA3ZGUyZDYwNDZhOTg4Mzk2ODdlZDI3NzAwOWJkOWZkNGViNWMyZmUw
Li42MDA0NDU5NTNjMDAyMTM1NDNmMmFkZDRjNWJjZTAxZjdkODViZmVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dU
Sy5jbWFrZQpAQCAtNzAsNyArNzAsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5U
Uk9TUEVDVElPTiAiV2hldGhlciB0byBlbmFibGUgR09iamVjdCBpbnRyb3NwZWN0aQogV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX1FVQVJUWl9UQVJHRVQgIldoZXRoZXIgdG8gZW5hYmxlIHN1
cHBvcnQgZm9yIHRoZSBRdWFydHogd2luZG93aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9XQVlMQU5EX1RBUkdFVCAiV2hldGhlciB0byBlbmFibGUg
c3VwcG9ydCBmb3IgdGhlIFdheWxhbmQgd2luZG93aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YMTFfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBz
dXBwb3J0IGZvciB0aGUgWDExIHdpbmRvd2luZyB0YXJnZXQuIiBQVUJMSUMgT04pCi1XRUJLSVRf
T1BUSU9OX0RFRklORShVU0VfQVZJRiAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgQVZJ
RiBpbWFnZXMuIiBQVUJMSUMgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTfSkKK1dFQktJ
VF9PUFRJT05fREVGSU5FKFVTRV9BVklGICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBB
VklGIGltYWdlcy4iIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfR1RLNCAi
V2hldGhlciB0byBlbmFibGUgdXNhZ2Ugb2YgR1RLNCBpbnN0ZWFkIG9mIEdUSzMuIiBQVUJMSUMg
T0ZGKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xDTVMgIldoZXRoZXIgdG8gZW5hYmxlIHN1
cHBvcnQgZm9yIGltYWdlIGNvbG9yIG1hbmFnZW1lbnQgdXNpbmcgbGliY21zMi4iIFBVQkxJQyBP
TikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9MSUJIWVBIRU4gIldoZXRoZXIgdG8gZW5hYmxl
IHRoZSBkZWZhdWx0IGF1dG9tYXRpYyBoeXBoZW5hdGlvbiBpbXBsZW1lbnRhdGlvbi4iIFBVQkxJ
QyBPTikKQEAgLTc4LDcgKzc4LDcgQEAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xJQk5PVElG
WSAiV2hldGhlciB0byBlbmFibGUgdGhlIGRlZmF1bHQgd2ViIG5vdGlmaWNhdGkKIFdFQktJVF9P
UFRJT05fREVGSU5FKFVTRV9MSUJTRUNSRVQgIldoZXRoZXIgdG8gZW5hYmxlIHRoZSBwZXJzaXN0
ZW50IGNyZWRlbnRpYWwgc3RvcmFnZSB1c2luZyBsaWJzZWNyZXQuIiBQVUJMSUMgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRklORShVU0VfT1BFTkdMX09SX0VTICJXaGV0aGVyIHRvIHVzZSBPcGVuR0wg
b3IgRVMuIiBQVUJMSUMgJHtVU0VfT1BFTkdMX09SX0VTX0RFRkFVTFR9KQogV0VCS0lUX09QVElP
Tl9ERUZJTkUoVVNFX09QRU5KUEVHICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBKUEVH
MjAwMCBpbWFnZXMuIiBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU09VUDIg
IldoZXRoZXIgdG8gZW5hYmxlIHVzYWdlIG9mIFNvdXAgMiBpbnN0ZWFkIG9mIFNvdXAgMy4iIFBV
QkxJQyBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU09VUDIgIldoZXRoZXIgdG8gZW5h
YmxlIHVzYWdlIG9mIFNvdXAgMiBpbnN0ZWFkIG9mIFNvdXAgMy4iIFBVQkxJQyBPTikKIFdFQktJ
VF9PUFRJT05fREVGSU5FKFVTRV9TWVNURU1EICJXaGV0aGVyIHRvIGVuYWJsZSBqb3VybmFsZCBs
b2dnaW5nIiBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfV09GRjIgIldoZXRo
ZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIFdPRkYyIFdlYiBGb250cy4iIFBVQkxJQyBPTikKIFdF
QktJVF9PUFRJT05fREVGSU5FKFVTRV9XUEVfUkVOREVSRVIgIldoZXRoZXIgdG8gZW5hYmxlIFdQ
RSByZW5kZXJpbmciIFBVQkxJQyBPTikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYzE5NWQxZTYwOTUxOTZkY2E1MzBiNzZk
M2ZhMDFiOWUxYWMxYWQ5Li5lM2QzNWJkNDA4NmRiYjk0YzlmZjA0MWIyMzM3NTcyZmQ3NWRiZTRi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMTIgIFJvYiBCdWlzICA8cmJ1aXNAaWdh
bGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHRl
c3RzIHRoYXQgcGFzcyBub3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIx
LTA2LTExICBSb2JlcnQgSmVubmVyICA8amVubmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbTGF5
b3V0VGVzdHNdIERlbGV0ZSB1bnVzZWQgTGF5b3V0VGVzdHMvaHRtbDVsaWIgcmVzb3VyY2VzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBhNWI3ZWQ2OTgxMjgxNDIyNTBkMWFhYzcz
OTk4MTRmNTFlMGQ2M2MxLi4xMzg3YmE5MDE2ZDg4ZTMzMjUzNmIzMmM1MzNiOWIzYzFjZTczYjVj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0w
Ni0xMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFp
bl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBub3cgdGhhdCBjb250YWlu
OiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKwog
MjAyMS0wNi0xMSAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVXNlIEhUTUxEaW1lbnNpb24gdG8gcGFyc2UgZGlmZmVyZW50IEhUTUwgYXR0cmlidXRlIGxl
bmd0aCB2YWx1ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDMyYTdlYzAzOWZmYmQyNDI4NzQ1MmQ0
Njc0OTBjMjBkNzY4ZDE1MWMuLjIxMTQ5YzM4NzY0OThmMzcxYWEzZDU1YjQ5ZDY1YmNkM2FhNDFh
MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDYzMyw2ICs0NjMzLDEwIEBAIHdlYmFuaW1hdGlv
bnMvdHJhbnNsYXRlLXByb3BlcnR5LWFuZC10cmFuc2xhdGUtYW5pbWF0aW9uLXdpdGgtZGVsYXkt
b24tZm9yY2VkLWxhCiAjIENTUyBjb250YWlubWVudCB0ZXN0cyB0aGF0IGZhaWwKICMgd2Via2l0
LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ2NDcsNDkgKzQ2NTEsOSBAQCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjAuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDkuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTkuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjIu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wNDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDguaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNlbGwtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNsaXAtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2xpcC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2xpcC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorIyBjb250YWlu
LXBhaW50LWNsaXAtMDE1Lmh0bWwgYW5kIGNvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBuZWVk
IGZ1enp5IG1hdGNoaW5nLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Y29udGFpbmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jb250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1p
bmRlcGVuZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
dGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJp
Y3QtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gv
ZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKaW5kZXggY2MwYmFjNzU4YTg2
NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFkYzFlZS4uMmY3YWNjOTM3ZGQ4ZDA0NzdkZWNjOTE2Y2Y5
OTUyYTcyMmIyZGVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50
eHQKQEAgLTEsMTcgKzEsMTMgQEAKIFN0cmV0Y2hlZDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1
bW4KIAogUm93CiBGbGV4LXN0YXJ0OgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCg==
</data>
<flag name="commit-queue"
          id="453008"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431273</attachid>
            <date>2021-06-13 04:27:00 -0700</date>
            <delta_ts>2021-06-13 07:09:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210613132659.patch</filename>
            <type>text/plain</type>
            <size>22830</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNmYzFjM2JmNGIxNzU2
NWY3ZjQ2ZTljZDc2ZDEzOGEwYzI0YTEwZi4uYzUxNTVjNTM4MDAyMGViZjE3Yjg2YmMxZDk3ZmVk
NjBkOWI5YTVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTEzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA2LTEx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5IGNvbXB1
dGUgU2VjdXJpdHlPcmlnaW46Om1faXNQb3RlbnRpYWxseVRydXN0d29ydGh5IGZvciBwZXJmb3Jt
YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBhMWQyZjhhYmJi
MTVlNWY5NjBjZWM5MWQ3MDQ3ZWZjZTY3ZDg4NmI2Li4yNzU2NGQ0MDQ1NzU4MTU0YWZhZTgzOGEz
YWNmNDAwZTM1Zjg5NmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAg
IHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxv
YXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hv
c2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVy
ICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmIChlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBP
dmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9j
aygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsKICAgICAgICAg
aWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4g
cHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMu
CkBAIC00OTUsNyArNDk1LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAg
ICAgICAgICAgICAvLyAoMykgVGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4K
ICAgICAgICAgICAgIGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpKQogICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1l
bnQoKQotICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlcmVyKCktPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAg
ICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigp
LT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAg
ICAgICAgIGJveEhhc092ZXJmbG93Q2xpcCA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC00Nzk2LDcgKzQ3OTYsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1h
dHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5l
VGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZs
b3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBp
c1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3Jp
dGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVy
RnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAgICAgICAg
fHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNw
ZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpB
bGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OworICAgICAg
ICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1BhaW50KCkg
fHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCku
Y29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4
IGFmODE5NjBiMDA1MDcwMzI3Yjg1NDM2Yjg3ZmI3NWNkYzcyNjRlOGEuLjZkNjYxZmI0NTcwMjdj
MjExYzAxNGI3YWQ1YjAxZTE3Nzc0NGVmM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAKQEAgLTIyOTEsNyArMjI5MSw3IEBAIHN0YXRpYyBSZW5kZXJPYmpl
Y3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJl
bmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKSB7CiAgICAgICAg
ICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYgdGhlIG92ZXJmbG93IHNpemUgb2Yg
dGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lmaWVkCiAgICAgICAgICAgICAvLyBo
ZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRvLXNpemluZy4KLSAgICAgICAgICAg
IGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQorICAgICAgICAgICAg
aWYgKHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlCiAg
ICAgICAgICAgICAgICAgJiYgc3R5bGUuaGVpZ2h0KCkudmFsdWUoKSA8IGRvd25jYXN0PFJlbmRl
ckJsb2NrPihyZW5kZXJlcikubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBSZW5kZXJPYmplY3Q6Ok92ZXJmbG93SGVpZ2h0OwogICAgICAgICB9CkBA
IC0yMzcxLDQgKzIzNzEsMjAgQEAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZW5kZXJF
bGVtZW50OjphbmltYXRlZFN0eWxlKCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitPdmVyZmxv
dyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8g
b3ZlcmZsb3dYID0gc3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAoc2hvdWxkQXBwbHlQYWlu
dENvbnRhaW5tZW50KCp0aGlzKSAmJiBvdmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisg
ICAgICAgIHJldHVybiBPdmVyZmxvdzo6SGlkZGVuOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9
CisKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7
CisgICAgYXV0byBvdmVyZmxvd1kgPSBzdHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChzaG91
bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpICYmIG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpIaWRkZW47CisgICAgcmV0dXJuIG92
ZXJmbG93WTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgK
aW5kZXggYzJlMDRiZTk2MWMxMTVlNWQwOTA1ZjEyYjM4ZTJkMmUxNTYyYzVjNC4uMjkwY2VlOGJl
YTY5YmUzNzVkM2Y2MjUwMTc1OWJlNDgwZDc5NWUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yNTMsNiArMjUzLDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZSgp
KSB7IH0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGFuaW1hdGVkU3R5bGUoKTsK
IAorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0OworICAgIE92ZXJmbG93
IGVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNl
VHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAs
CkBAIC00NDIsNyArNDQ1LDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFp
bkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwtY2hh
bmdlIHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChidWcg
MjI1MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5n
ZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yT3V0
T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQotICAg
ICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAgfHwg
c2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBw
bHlQYWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVu
dDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00NTMs
NiArNDU3LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRl
bHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkg
JiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXND
b250YWluaW5nQmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NW
R0ZvcmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50
KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAg
ICAgICAgIHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA1NzA4YjMxYTFkODQwNWM2ODc5MTEwYWNh
N2JhNmQ3OTY5OTU2NzJlLi43MjUxYzQ3OTBkOTk4YTI5NjM0YzBjZTA0NzE0MGFjM2IxM2U3YTRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAK
QEAgLTE2NjgsMTUgKzE2NjgsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNJ
bnRyaW5zaWNNYWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92ZXJmbG93IFJl
bmRlckZsZXhpYmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94
JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICBy
ZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUo
KS5vdmVyZmxvd1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgp
OworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAogT3ZlcmZsb3cg
UmVuZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVy
Qm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAg
ICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5
bGUoKS5vdmVyZmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93
WSgpOworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0KIAogYm9vbCBS
ZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoY29uc3Qg
UmVuZGVyQm94JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCmluZGV4IDFmMTFhOTc4ZTMxNWJhZGQ3YWNjODIzYjcxZDdkODUwODhmMDNlZjMu
LjdiN2YxNWZjNjM1YTE0NjgyNGE2MGI4MWQxODU1NmQxYjM2OWRiNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBAIHN0YXRpYyBi
b29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAg
ICAgICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5z
dHlsZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhhc0F1
dG9Vc2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJl
bmRlcmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVu
ZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKTsK
IH0KIApAQCAtNTg0LDcgKzU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFs
Rmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5n
Q29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0
b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVy
ZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRh
aW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVu
ZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpAQCAt
NDQ2OSw3ICs0NDcwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNv
bnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAgIENs
aXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSku
b3ZlcmZsb3dDbGlwUmVjdEZvckNoaWxkTGF5ZXJzKG9mZnNldCwgbnVsbHB0ciwgY2xpcFJlY3Rz
Q29udGV4dC5vdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7CiAgICAgICAgICAgICBuZXdP
dmVyZmxvd0NsaXAuc2V0QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJlcigpLnN0eWxlKCkuaGFzQm9y
ZGVyUmFkaXVzKCkpOwogICAgICAgICAgICAgY2xpcFJlY3RzLnNldE92ZXJmbG93Q2xpcFJlY3Qo
aW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3Qo
KSkpOwotICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3NpdGlvbmVkKCkpCisgICAgICAg
ICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBzaG91bGRBcHBseVBhaW50Q29u
dGFpbm1lbnQocmVuZGVyZXIoKSkpCiAgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0Ns
aXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVj
dCgpKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFzQ2xpcCgpKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDBkY2ZiY2Y2MDFk
Mzc4ZTI4NmM4MTgyYzRmZGM4NmEwMmRhMzk5MDAuLmMwNTk0NDM5MjkyZTQ5ZDI5YzJiZGYxNWRh
MjVhNjAxOTY3NzNlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCkBAIC0yNTE0LDMgKzI1MTQsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAg
cmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lu
bGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVy
LmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNU
YWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3Jl
OjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0
JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50
KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2
ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQ
YXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmMjBmNzU5NWQ1ZTA0YzViMzI1ZDQ3YThk
ZTA1NmNjOWYxODQzYzA3Li4zMzA5ODdhM2RlOGEwZGQ2OGQyOWNlNmY5OThlMTVhMWZiMDJjZmQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTk3LDYgKzEx
OTcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAK
IGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsK
IGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citi
b29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCmluZGV4IDkzZDk1NzFlNmRlNTU1N2E3NmNkMDQ5NWQ0MjU1OTBiNmEw
ZmVhNzEuLmE5OGM3YmRmZGRiNGI1YWQ3ZmEzY2VmMTgwNmZiZWJhZWVlYjEzNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01MjgsNiArNTI4
LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0
IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNv
bnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29u
dGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNT
aXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250
YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRh
aW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRl
cHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0
ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21h
a2UvT3B0aW9uc0dUSy5jbWFrZQppbmRleCA3ZGUyZDYwNDZhOTg4Mzk2ODdlZDI3NzAwOWJkOWZk
NGViNWMyZmUwLi42MDA0NDU5NTNjMDAyMTM1NDNmMmFkZDRjNWJjZTAxZjdkODViZmVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0dUSy5jbWFrZQpAQCAtNzAsNyArNzAsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfSU5UUk9TUEVDVElPTiAiV2hldGhlciB0byBlbmFibGUgR09iamVjdCBpbnRyb3NwZWN0
aQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1FVQVJUWl9UQVJHRVQgIldoZXRoZXIgdG8g
ZW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBRdWFydHogd2luZG93aW5nIHRhcmdldC4iIFBVQkxJQyBP
TikKIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9XQVlMQU5EX1RBUkdFVCAiV2hldGhlciB0
byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFdheWxhbmQgd2luZG93aW5nIHRhcmdldC4iIFBVQkxJ
QyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YMTFfVEFSR0VUICJXaGV0aGVyIHRv
IGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgWDExIHdpbmRvd2luZyB0YXJnZXQuIiBQVUJMSUMgT04p
Ci1XRUJLSVRfT1BUSU9OX0RFRklORShVU0VfQVZJRiAiV2hldGhlciB0byBlbmFibGUgc3VwcG9y
dCBmb3IgQVZJRiBpbWFnZXMuIiBQVUJMSUMgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
fSkKK1dFQktJVF9PUFRJT05fREVGSU5FKFVTRV9BVklGICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBw
b3J0IGZvciBBVklGIGltYWdlcy4iIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRklORShV
U0VfR1RLNCAiV2hldGhlciB0byBlbmFibGUgdXNhZ2Ugb2YgR1RLNCBpbnN0ZWFkIG9mIEdUSzMu
IiBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xDTVMgIldoZXRoZXIgdG8g
ZW5hYmxlIHN1cHBvcnQgZm9yIGltYWdlIGNvbG9yIG1hbmFnZW1lbnQgdXNpbmcgbGliY21zMi4i
IFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9MSUJIWVBIRU4gIldoZXRoZXIg
dG8gZW5hYmxlIHRoZSBkZWZhdWx0IGF1dG9tYXRpYyBoeXBoZW5hdGlvbiBpbXBsZW1lbnRhdGlv
bi4iIFBVQkxJQyBPTikKQEAgLTc4LDcgKzc4LDcgQEAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNF
X0xJQk5PVElGWSAiV2hldGhlciB0byBlbmFibGUgdGhlIGRlZmF1bHQgd2ViIG5vdGlmaWNhdGkK
IFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9MSUJTRUNSRVQgIldoZXRoZXIgdG8gZW5hYmxlIHRo
ZSBwZXJzaXN0ZW50IGNyZWRlbnRpYWwgc3RvcmFnZSB1c2luZyBsaWJzZWNyZXQuIiBQVUJMSUMg
T04pCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfT1BFTkdMX09SX0VTICJXaGV0aGVyIHRvIHVz
ZSBPcGVuR0wgb3IgRVMuIiBQVUJMSUMgJHtVU0VfT1BFTkdMX09SX0VTX0RFRkFVTFR9KQogV0VC
S0lUX09QVElPTl9ERUZJTkUoVVNFX09QRU5KUEVHICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0
IGZvciBKUEVHMjAwMCBpbWFnZXMuIiBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRklORShV
U0VfU09VUDIgIldoZXRoZXIgdG8gZW5hYmxlIHVzYWdlIG9mIFNvdXAgMiBpbnN0ZWFkIG9mIFNv
dXAgMy4iIFBVQkxJQyBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU09VUDIgIldoZXRo
ZXIgdG8gZW5hYmxlIHVzYWdlIG9mIFNvdXAgMiBpbnN0ZWFkIG9mIFNvdXAgMy4iIFBVQkxJQyBP
TikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9TWVNURU1EICJXaGV0aGVyIHRvIGVuYWJsZSBq
b3VybmFsZCBsb2dnaW5nIiBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfV09G
RjIgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIFdPRkYyIFdlYiBGb250cy4iIFBVQkxJ
QyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9XUEVfUkVOREVSRVIgIldoZXRoZXIgdG8g
ZW5hYmxlIFdQRSByZW5kZXJpbmciIFBVQkxJQyBPTikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YzAyNjhjZGE0NGY5NGQ3
NzhmZjQwYjlkZTM4Mjc3NTgzM2M3MjQ4Li4wNjQ5YzlmN2YwMjM0NGQxMGJkYmQ0Y2U2NjQxNmFh
OWE1NDA3NjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMTMgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFp
bjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VW5za2lwIHRlc3RzIHRoYXQgcGFzcyBub3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25z
OgorCiAyMDIxLTA2LTEyICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAg
ICBEaXNhYmxlIFdlYlhSIHRlc3RzIG9uIFdpbmRvd3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGE1YjdlZDY5ODEyODE0MjI1MGQxYWFjNzM5OTgxNGY1MWUwZDYzYzEuLjlhN2I1
NmVjOWQ4ZDEwOTgzMzhlMGEwYTMwOGMyZjAzNTA0YjU3ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA2LTEzICBSb2IgQnVpcyAgPHJidWlz
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46cGFp
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkanVz
dCB0ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRhaW46IHN0cmljdCBpcyBzdXBwb3J0ZWQu
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRl
bS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA2LTExICBDYXRoaWUgQ2hl
biAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBVc2UgSFRNTERpbWVuc2lvbiB0
byBwYXJzZSBkaWZmZXJlbnQgSFRNTCBhdHRyaWJ1dGUgbGVuZ3RoIHZhbHVlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMzJhN2VjMDM5ZmZiZDI0Mjg3NDUyZDQ2NzQ5MGMyMGQ3NjhkMTUxYy4uMjEx
NDljMzg3NjQ5OGYzNzFhYTNkNTViNDlkNjViY2QzYWE0MWExOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC00NjMzLDYgKzQ2MzMsMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHkt
YW5kLXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNv
bnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQpAQCAtNDY0Nyw0OSArNDY1MSw5IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisjIGNvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBh
bmQgY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIG5lZWQgZnV6enkgbWF0Y2hpbmcuCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0w
MTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWFic29s
dXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2st
Zml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250
ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmct
Y29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAx
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWluZGVwZW5kZW50LWZvcm1hdHRpbmct
Y29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFj
a2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
dHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVy
cy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVt
LWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3Ry
aWN0LWV4cGVjdGVkLnR4dAppbmRleCBjYzBiYWM3NThhODY2ZDRhZWVjNzVhY2U4ZWU3ZDgzM2Jm
MWRjMWVlLi4yZjdhY2M5MzdkZDhkMDQ3N2RlY2M5MTZjZjk5NTJhNzIyYjJkZWNiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
ZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9m
bGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwxMyBAQAog
U3RyZXRjaGVkOgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCiBSb3cKIEZsZXgtc3RhcnQ6
CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431275</attachid>
            <date>2021-06-13 07:09:32 -0700</date>
            <delta_ts>2021-06-13 10:54:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210613160930.patch</filename>
            <type>text/plain</type>
            <size>22853</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNmYzFjM2JmNGIxNzU2
NWY3ZjQ2ZTljZDc2ZDEzOGEwYzI0YTEwZi4uYzUxNTVjNTM4MDAyMGViZjE3Yjg2YmMxZDk3ZmVk
NjBkOWI5YTVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTEzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA2LTEx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5IGNvbXB1
dGUgU2VjdXJpdHlPcmlnaW46Om1faXNQb3RlbnRpYWxseVRydXN0d29ydGh5IGZvciBwZXJmb3Jt
YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBhMWQyZjhhYmJi
MTVlNWY5NjBjZWM5MWQ3MDQ3ZWZjZTY3ZDg4NmI2Li4yNzU2NGQ0MDQ1NzU4MTU0YWZhZTgzOGEz
YWNmNDAwZTM1Zjg5NmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApA
QCAtNDg2LDcgKzQ4Niw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAg
IHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxv
YXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hv
c2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVy
ICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmIChlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBP
dmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9j
aygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzT3ZlcmZsb3dDbGlwID0gdHJ1ZTsKICAgICAgICAg
aWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4g
cHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMu
CkBAIC00OTUsNyArNDk1LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAg
ICAgICAgICAgICAvLyAoMykgVGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4K
ICAgICAgICAgICAgIGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpKQogICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1l
bnQoKQotICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlcmVyKCktPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAg
ICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigp
LT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAg
ICAgICAgIGJveEhhc092ZXJmbG93Q2xpcCA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC00Nzk2LDcgKzQ3OTYsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1h
dHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5l
VGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzT3ZlcmZs
b3dDbGlwKCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBp
c1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3Jp
dGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVy
RnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAgICAgICAg
fHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNw
ZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpB
bGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OworICAgICAg
ICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1BhaW50KCkg
fHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCku
Y29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4
IGFmODE5NjBiMDA1MDcwMzI3Yjg1NDM2Yjg3ZmI3NWNkYzcyNjRlOGEuLjI3ODFmODMxNjc2MzY3
NTIzMGUyMmY3N2ZjMmNhOThiYmQ1MTVjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAKQEAgLTIyOTEsNyArMjI5MSw3IEBAIHN0YXRpYyBSZW5kZXJPYmpl
Y3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJl
bmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKSB7CiAgICAgICAg
ICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYgdGhlIG92ZXJmbG93IHNpemUgb2Yg
dGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lmaWVkCiAgICAgICAgICAgICAvLyBo
ZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRvLXNpemluZy4KLSAgICAgICAgICAg
IGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQorICAgICAgICAgICAg
aWYgKGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlcikuZWZmZWN0aXZlT3ZlcmZsb3dZKCkg
PT0gT3ZlcmZsb3c6OlZpc2libGUKICAgICAgICAgICAgICAgICAmJiBzdHlsZS5oZWlnaHQoKS52
YWx1ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKS5sYXlvdXRPdmVyZmxvd1Jl
Y3QoKS5tYXhZKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6T3ZlcmZs
b3dIZWlnaHQ7CiAgICAgICAgIH0KQEAgLTIzNzEsNCArMjM3MSwyMCBAQCBzdGQ6OnVuaXF1ZV9w
dHI8UmVuZGVyU3R5bGU+IFJlbmRlckVsZW1lbnQ6OmFuaW1hdGVkU3R5bGUoKQogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93
WCgpIGNvbnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1ggPSBzdHlsZSgpLm92ZXJmbG93WCgpOwor
ICAgIGlmIChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpICYmIG92ZXJmbG93WCA9
PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpIaWRkZW47Cisg
ICAgcmV0dXJuIG92ZXJmbG93WDsKK30KKworT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0
aXZlT3ZlcmZsb3dZKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WSA9IHN0eWxlKCkub3Zl
cmZsb3dZKCk7CisgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykgJiYg
b3ZlcmZsb3dZID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6
OkhpZGRlbjsKKyAgICByZXR1cm4gb3ZlcmZsb3dZOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCBjMmUwNGJlOTYxYzExNWU1ZDA5MDVmMTJiMzhl
MmQyZTE1NjJjNWM0Li4yOTBjZWU4YmVhNjliZTM3NWQzZjYyNTAxNzU5YmU0ODBkNzk1ZTMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTI1Myw2ICsyNTMs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKE1vbm90b25p
Y1RpbWUgPSBNb25vdG9uaWNUaW1lKCkpIHsgfQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJT
dHlsZT4gYW5pbWF0ZWRTdHlsZSgpOwogCisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dY
KCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3Q7CisKIHBy
b3RlY3RlZDoKICAgICBlbnVtIEJhc2VUeXBlRmxhZyB7CiAgICAgICAgIFJlbmRlckxheWVyTW9k
ZWxPYmplY3RGbGFnICA9IDEgPDwgMCwKQEAgLTQ0Miw3ICs0NDUsOCBAQCBpbmxpbmUgYm9vbCBS
ZW5kZXJFbGVtZW50OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAg
ICAgICAvLyBGSVhNRTogd2lsbC1jaGFuZ2Ugc2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2Nr
cyBvbiBpbmxpbmUgYm94ZXMgKGJ1ZyAyMjUwMzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2Nr
KCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0
ZXNDb250YWluaW5nQmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlz
U1ZHRm9yZWlnbk9iamVjdCgpCi0gICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1l
bnQoKnRoaXMpOworICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlz
KQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBp
bmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRP
YmplY3RzKCkgY29uc3QKQEAgLTQ1Myw2ICs0NTcsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVt
ZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAg
ICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgp
LndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlbHlQb3NpdGlv
bmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3Vs
ZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFp
bnRDb250YWlubWVudCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDU3
MDhiMzFhMWQ4NDA1YzY4NzkxMTBhY2E3YmE2ZDc5Njk5NTY3MmUuLjcyNTFjNDc5MGQ5OThhMjk2
MzRjMGNlMDQ3MTQwYWMzYjEzZTdhNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtMTY2OCwxNSArMTY2OCwxNSBAQCBib29sIFJlbmRl
ckZsZXhpYmxlQm94OjpjaGlsZEhhc0ludHJpbnNpY01haW5BeGlzU2l6ZShjb25zdCBSZW5kZXJC
b3gmIGNoaWxkKQogT3ZlcmZsb3cgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzT3ZlcmZsb3dG
b3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6
b250YWxGbG93KCkpCi0gICAgICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOwot
ICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgICAgICByZXR1cm4gY2hp
bGQuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJm
bG93WSgpOwogfQogCiBPdmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzT3ZlcmZs
b3dGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hv
cml6b250YWxGbG93KCkpCi0gICAgICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgp
OwotICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOworICAgICAgICByZXR1cm4g
Y2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92
ZXJmbG93WCgpOwogfQogCiBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhhc1BlcmNlbnRI
ZWlnaHREZXNjZW5kYW50cyhjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMWYxMWE5NzhlMzE1YmFkZDdh
Y2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4uN2I3ZjE1ZmM2MzVhMTQ2ODI0YTYwYjgxZDE4NTU2ZDFi
MzY5ZGI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01
NTUsNiArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0
IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigp
CiAgICAgICAgIHx8IHJlbmRlcmVyLnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkKICAgICAgICAgfHwg
IXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKQorICAgICAgICB8fCBzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHls
ZSgpLndpbGxDaGFuZ2UoKSAmJiByZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3Jl
YXRlU3RhY2tpbmdDb250ZXh0KCkpOwogfQogCkBAIC01ODQsNyArNTg1LDcgQEAgYm9vbCBSZW5k
ZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyTGF5
ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gIXJl
bmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVuZGVyVmlld0xheWVy
KCk7CisgICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8
fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwgaXNSZW5kZXJWaWV3
TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93T25seShib29s
IGlzTm9ybWFsRmxvd09ubHkpCkBAIC00NDY5LDcgKzQ0NzAsNyBAQCB2b2lkIFJlbmRlckxheWVy
OjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29u
dGV4dCwgQwogICAgICAgICAgICAgQ2xpcFJlY3QgbmV3T3ZlcmZsb3dDbGlwID0gZG93bmNhc3Q8
UmVuZGVyQm94PihyZW5kZXJlcigpKS5vdmVyZmxvd0NsaXBSZWN0Rm9yQ2hpbGRMYXllcnMob2Zm
c2V0LCBudWxscHRyLCBjbGlwUmVjdHNDb250ZXh0Lm92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZh
bmN5KTsKICAgICAgICAgICAgIG5ld092ZXJmbG93Q2xpcC5zZXRBZmZlY3RlZEJ5UmFkaXVzKHJl
bmRlcmVyKCkuc3R5bGUoKS5oYXNCb3JkZXJSYWRpdXMoKSk7CiAgICAgICAgICAgICBjbGlwUmVj
dHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlw
UmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7Ci0gICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5p
c1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzUG9zaXRpb25lZCgp
IHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkKICAgICAgICAgICAg
ICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xp
cCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKICAgICAgICAgfQogICAgICAgICBpZiAocmVu
ZGVyZXIoKS5oYXNDbGlwKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKaW5kZXggMGRjZmJjZjYwMWQzNzhlMjg2YzgxODJjNGZkYzg2YTAyZGEzOTkwMC4uYzA1
OTQ0MzkyOTJlNDlkMjljMmJkZjE1ZGEyNWE2MDE5Njc3M2ViYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI1MTQsMyArMjUxNCw5IEBAIGJvb2wgV2Vi
Q29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2Jq
ZWN0JiByZW5kZXJlcikKIHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1Np
emUoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVM
ZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJs
ZVBhcnQoKSB8fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJs
ZSgpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25z
dCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQoreworICAgIHJldHVybiByZW5kZXJl
ci5zdHlsZSgpLmNvbnRhaW5zUGFpbnQoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVu
ZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgp
ICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxv
dygpKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGYy
MGY3NTk1ZDVlMDRjNWIzMjVkNDdhOGRlMDU2Y2M5ZjE4NDNjMDcuLjMzMDk4N2EzZGU4YTBkZDY4
ZDI5Y2U2Zjk5OGUxNWExZmIwMmNmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgKQEAgLTExOTcsNiArMTE5Nyw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJl
ZUZvckxpdmVEb2N1bWVudHMoKTsKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50
KGNvbnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVudChj
b25zdCBSZW5kZXJPYmplY3QmKTsKK2Jvb2wgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KGNv
bnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggOTNkOTU3MWU2ZGU1
NTU3YTc2Y2QwNDk1ZDQyNTU5MGI2YTBmZWE3MS4uYTk4YzdiZGZkZGI0YjVhZDdmYTNjZWYxODA2
ZmJlYmFlZWViMTM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKQEAgLTUyOCw2ICs1MjgsNyBAQCBwdWJsaWM6CiAgICAgT3B0aW9uU2V0PENvbnRh
aW5tZW50PiBjb250YWluKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGFpbjsgfQogICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQp
OyB9CiAgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhl
cml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQorICAgIGJv
b2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAgIEJveEFsaWdubWVu
dCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAg
ICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAgICBmbG9h
dCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVj
YXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDdkZTJkNjA0
NmE5ODgzOTY4N2VkMjc3MDA5YmQ5ZmQ0ZWI1YzJmZTAuLjYwMDQ0NTk1M2MwMDIxMzU0M2YyYWRk
NGM1YmNlMDFmN2Q4NWJmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC03MCw3ICs3MCw3IEBA
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTlRST1NQRUNUSU9OICJXaGV0aGVyIHRvIGVu
YWJsZSBHT2JqZWN0IGludHJvc3BlY3RpCiBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUVVB
UlRaX1RBUkdFVCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFF1YXJ0eiB3aW5k
b3dpbmcgdGFyZ2V0LiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1dB
WUxBTkRfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgV2F5bGFuZCB3
aW5kb3dpbmcgdGFyZ2V0LiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1gxMV9UQVJHRVQgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBYMTEgd2luZG93
aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9BVklGICJX
aGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBBVklGIGltYWdlcy4iIFBVQkxJQyAke0VOQUJM
RV9FWFBFUklNRU5UQUxfRkVBVFVSRVN9KQorV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0FWSUYg
IldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIEFWSUYgaW1hZ2VzLiIgUFVCTElDIE9GRikK
IFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9HVEs0ICJXaGV0aGVyIHRvIGVuYWJsZSB1c2FnZSBv
ZiBHVEs0IGluc3RlYWQgb2YgR1RLMy4iIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRklO
RShVU0VfTENNUyAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgaW1hZ2UgY29sb3IgbWFu
YWdlbWVudCB1c2luZyBsaWJjbXMyLiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUo
VVNFX0xJQkhZUEhFTiAiV2hldGhlciB0byBlbmFibGUgdGhlIGRlZmF1bHQgYXV0b21hdGljIGh5
cGhlbmF0aW9uIGltcGxlbWVudGF0aW9uLiIgUFVCTElDIE9OKQpAQCAtNzgsNyArNzgsNyBAQCBX
RUJLSVRfT1BUSU9OX0RFRklORShVU0VfTElCTk9USUZZICJXaGV0aGVyIHRvIGVuYWJsZSB0aGUg
ZGVmYXVsdCB3ZWIgbm90aWZpY2F0aQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xJQlNFQ1JF
VCAiV2hldGhlciB0byBlbmFibGUgdGhlIHBlcnNpc3RlbnQgY3JlZGVudGlhbCBzdG9yYWdlIHVz
aW5nIGxpYnNlY3JldC4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9PUEVO
R0xfT1JfRVMgIldoZXRoZXIgdG8gdXNlIE9wZW5HTCBvciBFUy4iIFBVQkxJQyAke1VTRV9PUEVO
R0xfT1JfRVNfREVGQVVMVH0pCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfT1BFTkpQRUcgIldo
ZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIEpQRUcyMDAwIGltYWdlcy4iIFBVQkxJQyBPTikK
LVdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9TT1VQMiAiV2hldGhlciB0byBlbmFibGUgdXNhZ2Ug
b2YgU291cCAyIGluc3RlYWQgb2YgU291cCAzLiIgUFVCTElDIE9GRikKK1dFQktJVF9PUFRJT05f
REVGSU5FKFVTRV9TT1VQMiAiV2hldGhlciB0byBlbmFibGUgdXNhZ2Ugb2YgU291cCAyIGluc3Rl
YWQgb2YgU291cCAzLiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1NZU1RF
TUQgIldoZXRoZXIgdG8gZW5hYmxlIGpvdXJuYWxkIGxvZ2dpbmciIFBVQkxJQyBPTikKIFdFQktJ
VF9PUFRJT05fREVGSU5FKFVTRV9XT0ZGMiAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3Ig
V09GRjIgV2ViIEZvbnRzLiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1dQ
RV9SRU5ERVJFUiAiV2hldGhlciB0byBlbmFibGUgV1BFIHJlbmRlcmluZyIgUFVCTElDIE9OKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDZjMDI2OGNkYTQ0Zjk0ZDc3OGZmNDBiOWRlMzgyNzc1ODMzYzcyNDguLjA2NDljOWY3
ZjAyMzQ0ZDEwYmRiZDRjZTY2NDE2YWE5YTU0MDc2NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wNi0xMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3Mt
Y29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhhdCBwYXNzIG5vdy4KKworICAg
ICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMTIgIFNhbSBXZWluaWcgIDx3ZWlu
aWdAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgV2ViWFIgdGVzdHMgb24gV2luZG93cwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYTViN2VkNjk4MTI4MTQyMjUwZDFhYWM3
Mzk5ODE0ZjUxZTBkNjNjMS4uOWE3YjU2ZWM5ZDhkMTA5ODMzOGUwYTBhMzA4YzJmMDM1MDRiNTdl
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEt
MDYtMTMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRh
aW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRqdXN0IHRlc3QgZXhwZWN0YXRpb24gbm93IHRoYXQgY29udGFp
bjogc3RyaWN0IGlzIHN1cHBvcnRlZC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQ6CisK
IDIwMjEtMDYtMTEgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVzZSBIVE1MRGltZW5zaW9uIHRvIHBhcnNlIGRpZmZlcmVudCBIVE1MIGF0dHJpYnV0ZSBs
ZW5ndGggdmFsdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzMmE3ZWMwMzlmZmJkMjQyODc0NTJk
NDY3NDkwYzIwZDc2OGQxNTFjLi4yMTE0OWMzODc2NDk4ZjM3MWFhM2Q1NWI0OWQ2NWJjZDNhYTQx
YTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2MzMsNiArNDYzMywxMCBAQCB3ZWJhbmltYXRp
b25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1hbmQtdHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5
LW9uLWZvcmNlZC1sYQogIyBDU1MgY29udGFpbm1lbnQgdGVzdHMgdGhhdCBmYWlsCiAjIHdlYmtp
dC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAw
NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAw
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NjQ3LDQ5ICs0NjUxLDkgQEAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWIKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA5Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE5Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDQ3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ4Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jZWxsLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNsaXAtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKyMgY29udGFp
bi1wYWludC1jbGlwLTAxNS5odG1sIGFuZCBjb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgbmVl
ZCBmdXp6eSBtYXRjaGluZy4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE3
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTguaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNvbnRhaW5pbmctYmxvY2stYWJzb2x1dGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY29udGFpbmluZy1ibG9jay1maXhlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtZmxvYXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LW1hcmdpbi0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1pZmMtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
aW5kZXBlbmRlbnQtZm9ybWF0dGluZy1jb250ZXh0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LXNpemUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0w
MDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAxYS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3Ry
aWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94
L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4
NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNm
OTk1MmE3MjJiMmRlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3Qt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE3ICsxLDEzIEBACiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29s
dW1uCiAKIFJvdwogRmxleC1zdGFydDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>
<flag name="commit-queue"
          id="453021"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431280</attachid>
            <date>2021-06-13 09:56:22 -0700</date>
            <delta_ts>2021-06-13 11:36:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210613185620.patch</filename>
            <type>text/plain</type>
            <size>26673</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNmYzFjM2JmNGIxNzU2
NWY3ZjQ2ZTljZDc2ZDEzOGEwYzI0YTEwZi4uYzUxNTVjNTM4MDAyMGViZjE3Yjg2YmMxZDk3ZmVk
NjBkOWI5YTVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTEzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA2LTEx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5IGNvbXB1
dGUgU2VjdXJpdHlPcmlnaW46Om1faXNQb3RlbnRpYWxseVRydXN0d29ydGh5IGZvciBwZXJmb3Jt
YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtLmNwcAppbmRleCBkYTg5MTNkYmU3YmJjOTQ1YWM1YzVkYzk3NmE5MzY3ZWE5MTFj
MjA5Li4xYWQ3OTY3M2JhZjhlYTI0NjJlNjhiMjdiNDBiZjIzMTVjODdiMzIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNw
cApAQCAtODA1LDcgKzgwNSw3IEBAIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
U3RyYXRlZ3k6Om1pblNpemVGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkKSBjCiAgICAgICAgIHJl
dHVybiBtaW5Db250ZW50Rm9yQ2hpbGQoY2hpbGQpOwogCiAgICAgY29uc3QgTGVuZ3RoJiBjaGls
ZE1pblNpemUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpIDog
Y2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAgYm9vbCBvdmVyZmxvd0lzVmlz
aWJsZSA9IGlzUm93QXhpcyA/IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24o
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSA6IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dCbG9ja0RpcmVj
dGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlOworICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUg
PSBpc1Jvd0F4aXMgPyBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09
IE92ZXJmbG93OjpWaXNpYmxlIDogY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlv
bigpID09IE92ZXJmbG93OjpWaXNpYmxlOwogICAgIExheW91dFVuaXQgYmFzZWxpbmVTaGltID0g
bV9hbGdvcml0aG0uYmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCwgZ3JpZEF4aXNGb3JEaXJl
Y3Rpb24oZGlyZWN0aW9uKCkpKTsKIAogICAgIGlmIChjaGlsZE1pblNpemUuaXNBdXRvKCkgJiYg
b3ZlcmZsb3dJc1Zpc2libGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggYTFkMmY4YWJiYjE1ZTVmOTYwY2VjOTFkNzA0N2VmY2U2N2Q4ODZiNi4uZTk5ZWVhODBh
NDQyNzc3ODIxMjUwYjVjM2Q1YmViN2VmMjY2YTg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKQEAgLTQ4Niw3ICs0ODYsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRl
RnJvbVN0eWxlKCkKICAgICBzZXRGbG9hdGluZyghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYg
c3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkpOwogCiAgICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+
IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJmbG93IGFwcGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAg
IGlmIChzdHlsZVRvVXNlLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlICYmICFpc0Rv
Y0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKKyAgICBpZiAoZWZmZWN0aXZl
T3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVy
ICYmIGlzUmVuZGVyQmxvY2soKSkgewogICAgICAgICBib29sIGJveEhhc092ZXJmbG93Q2xpcCA9
IHRydWU7CiAgICAgICAgIGlmIChpc0JvZHkoKSkgewogICAgICAgICAgICAgLy8gT3ZlcmZsb3cg
b24gdGhlIGJvZHkgY2FuIHByb3BhZ2F0ZSB0byB0aGUgdmlld3BvcnQgdW5kZXIgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zLgpAQCAtNDk1LDcgKzQ5NSw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRh
dGVGcm9tU3R5bGUoKQogICAgICAgICAgICAgLy8gKDMpIFRoZSByb290IGVsZW1lbnQgaGFzIHZp
c2libGUgb3ZlcmZsb3cuCiAgICAgICAgICAgICBpZiAoaXM8SFRNTEh0bWxFbGVtZW50PigqZG9j
dW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgp
LmJvZHkoKSA9PSBlbGVtZW50KCkKLSAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3Vt
ZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93
OjpWaXNpYmxlKSB7CisgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyZXIoKS0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2li
bGUpIHsKICAgICAgICAgICAgICAgICBib3hIYXNPdmVyZmxvd0NsaXAgPSBmYWxzZTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQpAQCAtNjY2LDcgKzY2Niw3IEBAIExheW91dFVuaXQgUmVuZGVy
Qm94Ojpjb25zdHJhaW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoTGF5b3V0VW5pdCBs
b2dpY2FsCiAgICAgaWYgKGFsbG93SW50cmluc2ljID09IEFsbG93SW50cmluc2ljOjpObyAmJiBz
dHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLmlzSW50cmluc2ljKCkpCiAgICAgICAgIHJldHVy
biBsb2dpY2FsV2lkdGg7CiAgICAgYXV0byBtaW5MZW5ndGggPSBzdHlsZVRvVXNlLmxvZ2ljYWxN
aW5XaWR0aCgpOwotICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYgbWluTGVu
Z3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0
eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1VzZS5sb2dp
Y2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd0lubGluZURp
cmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYgKHN0eWxlVG9Vc2UuaGFz
QXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2UubG9naWNh
bFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRl
bnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAmJiBlZmZl
Y3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAg
ICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBhY3R1YWxseSB1c2VkIHRoZSBhc3BlY3QgcmF0aW8uCiAg
ICAgICAgIGlmIChzaG91bGRDb21wdXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKCkpCiAg
ICAgICAgICAgICBtaW5MZW5ndGggPSBMZW5ndGgoTGVuZ3RoVHlwZTo6TWluSW50cmluc2ljKTsK
QEAgLTY4Miw3ICs2ODIsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNh
bEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICAgICAg
bG9naWNhbEhlaWdodCA9IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAg
ICAgfQogICAgIGF1dG8gbG9naWNhbE1pbkhlaWdodCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhl
aWdodCgpOwotICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1
dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdo
dCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6Vmlz
aWJsZSkKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRl
TG9naWNhbEhlaWdodEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQg
JiYgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
KQogICAgICAgICBsb2dpY2FsTWluSGVpZ2h0ID0gTGVuZ3RoKCppbnRyaW5zaWNDb250ZW50SGVp
Z2h0LCBMZW5ndGhUeXBlOjpGaXhlZCk7CiAgICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNNaW5D
b250ZW50KCkgfHwgbG9naWNhbE1pbkhlaWdodC5pc01heENvbnRlbnQoKSkKICAgICAgICAgbG9n
aWNhbE1pbkhlaWdodCA9IExlbmd0aCgpOwpAQCAtNDc5Niw3ICs0Nzk2LDcgQEAgYm9vbCBSZW5k
ZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9z
aXRpb25lZCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpIHx8IGlzRmxleEl0ZW1JbmNsdWRpbmdEZXBy
ZWNhdGVkKCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc1RhYmxlQ2FwdGlvbigpIHx8
IGlzRmllbGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8IGlzRG9jdW1lbnRFbGVtZW50
UmVuZGVyZXIoKSB8fCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgfHwgaXNSZW5kZXJGcmFnbWVu
dENvbnRhaW5lcigpCi0gICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBpc0dy
aWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5T
cGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlU
eXBlOjpGbG93Um9vdDsKKyAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IHN0
eWxlKCkuY29udGFpbnNQYWludCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmll
c0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwg
c3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJl
bmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcAppbmRleCBhZjgxOTYwYjAwNTA3MDMyN2I4NTQzNmI4N2ZiNzVjZGM3
MjY0ZThhLi4yNzgxZjgzMTY3NjM2NzUyMzBlMjJmNzdmYzJjYTk4YmJkNTE1YzZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0yMjkxLDcgKzIyOTEs
NyBAQCBzdGF0aWMgUmVuZGVyT2JqZWN0OjpCbG9ja0NvbnRlbnRIZWlnaHRUeXBlIGluY2x1ZGVO
b25GaXhlZEhlaWdodChjb25zdCBSZW5kZXJPYgogICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+
KHJlbmRlcmVyKSkgewogICAgICAgICAgICAgLy8gRm9yIGZpeGVkIGhlaWdodCBzdHlsZXMsIGlm
IHRoZSBvdmVyZmxvdyBzaXplIG9mIHRoZSBlbGVtZW50IHNwaWxscyBvdXQgb2YgdGhlIHNwZWNp
ZmllZAogICAgICAgICAgICAgLy8gaGVpZ2h0LCBhc3N1bWUgd2UgY2FuIGFwcGx5IHRleHQgYXV0
by1zaXppbmcuCi0gICAgICAgICAgICBpZiAoc3R5bGUub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUKKyAgICAgICAgICAgIGlmIChkb3duY2FzdDxSZW5kZXJCbG9jaz4ocmVuZGVyZXIp
LmVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlCiAgICAgICAgICAgICAg
ICAgJiYgc3R5bGUuaGVpZ2h0KCkudmFsdWUoKSA8IGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5k
ZXJlcikubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQogICAgICAgICAgICAgICAgIHJldHVy
biBSZW5kZXJPYmplY3Q6Ok92ZXJmbG93SGVpZ2h0OwogICAgICAgICB9CkBAIC0yMzcxLDQgKzIz
NzEsMjAgQEAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZW5kZXJFbGVtZW50Ojphbmlt
YXRlZFN0eWxlKCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitPdmVyZmxvdyBSZW5kZXJFbGVt
ZW50OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dYID0g
c3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50
KCp0aGlzKSAmJiBvdmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVy
biBPdmVyZmxvdzo6SGlkZGVuOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9CisKK092ZXJmbG93
IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7CisgICAgYXV0byBv
dmVyZmxvd1kgPSBzdHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChzaG91bGRBcHBseVBhaW50
Q29udGFpbm1lbnQoKnRoaXMpICYmIG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAg
ICAgICAgcmV0dXJuIE92ZXJmbG93OjpIaWRkZW47CisgICAgcmV0dXJuIG92ZXJmbG93WTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggYzJlMDRi
ZTk2MWMxMTVlNWQwOTA1ZjEyYjM4ZTJkMmUxNTYyYzVjNC4uOTBlMTk5MjkwZWE2NzMxNDNjN2Fm
YTJkMDgyN2QzNGJlNzc0MmM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oCkBAIC0yNTMsNiArMjUzLDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3Vz
cGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9IE1vbm90b25pY1RpbWUoKSkgeyB9CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBhbmltYXRlZFN0eWxlKCk7CiAKKyAgICBPdmVy
ZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVP
dmVyZmxvd1koKSBjb25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURp
cmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3ZlcmZsb3dZKCk7IH0KKyAgICBP
dmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4g
c3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkg
OiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlw
ZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAsCkBA
IC00NDIsNyArNDQ3LDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZp
eGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwtY2hhbmdl
IHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChidWcgMjI1
MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgp
ICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yT3V0T2ZG
bG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQotICAgICAg
ICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAgfHwgc2hv
dWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6
Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00NTMsNiAr
NDU5LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQ
b3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYg
c3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250
YWluaW5nQmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0Zv
cmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0
aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAgICAg
ICAgIHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA1NzA4YjMxYTFkODQwNWM2ODc5MTEwYWNhN2Jh
NmQ3OTY5OTU2NzJlLi43MjUxYzQ3OTBkOTk4YTI5NjM0YzBjZTA0NzE0MGFjM2IxM2U3YTRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAg
LTE2NjgsMTUgKzE2NjgsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNJbnRy
aW5zaWNNYWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92ZXJmbG93IFJlbmRl
ckZsZXhpYmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBj
aGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1
cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5v
dmVyZmxvd1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwor
ICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAogT3ZlcmZsb3cgUmVu
ZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94
JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICBy
ZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUo
KS5vdmVyZmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgp
OworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0KIAogYm9vbCBSZW5k
ZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoY29uc3QgUmVu
ZGVyQm94JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCmluZGV4IDFmMTFhOTc4ZTMxNWJhZGQ3YWNjODIzYjcxZDdkODUwODhmMDNlZjMuLjdi
N2YxNWZjNjM1YTE0NjgyNGE2MGI4MWQxODU1NmQxYjM2OWRiNzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBAIHN0YXRpYyBib29s
IGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAg
ICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5zdHls
ZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhhc0F1dG9V
c2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRl
cmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVuZGVy
ZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKTsKIH0K
IApAQCAtNTg0LDcgKzU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxv
d09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29u
dGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1Vz
ZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVyZXIo
KS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVuZGVy
TGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpAQCAtNDQ2
OSw3ICs0NDcwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0
IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAgIENsaXBS
ZWN0IG5ld092ZXJmbG93Q2xpcCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkub3Zl
cmZsb3dDbGlwUmVjdEZvckNoaWxkTGF5ZXJzKG9mZnNldCwgbnVsbHB0ciwgY2xpcFJlY3RzQ29u
dGV4dC5vdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7CiAgICAgICAgICAgICBuZXdPdmVy
Zmxvd0NsaXAuc2V0QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJlcigpLnN0eWxlKCkuaGFzQm9yZGVy
UmFkaXVzKCkpOwogICAgICAgICAgICAgY2xpcFJlY3RzLnNldE92ZXJmbG93Q2xpcFJlY3QoaW50
ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSkp
OwotICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3NpdGlvbmVkKCkpCisgICAgICAgICAg
ICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFp
bm1lbnQocmVuZGVyZXIoKSkpCiAgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBS
ZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgp
KSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFzQ2xpcCgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDBkY2ZiY2Y2MDFkMzc4
ZTI4NmM4MTgyYzRmZGM4NmEwMmRhMzk5MDAuLmMwNTk0NDM5MjkyZTQ5ZDI5YzJiZGYxNWRhMjVh
NjAxOTY3NzNlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CkBAIC0yNTE0LDMgKzI1MTQsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0
dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGlu
ZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlz
UnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJs
ZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpz
aG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiBy
ZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkg
JiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxC
b3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0
KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmMjBmNzU5NWQ1ZTA0YzViMzI1ZDQ3YThkZTA1
NmNjOWYxODQzYzA3Li4zMzA5ODdhM2RlOGEwZGQ2OGQyOWNlNmY5OThlMTVhMWZiMDJjZmQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTk3LDYgKzExOTcs
NyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJv
b2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJv
b2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29s
IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCmluZGV4IDkzZDk1NzFlNmRlNTU1N2E3NmNkMDQ5NWQ0MjU1OTBiNmEwZmVh
NzEuLjA2YTBlODY1ZDllMDE1NjNjYzA3NGU1NWIyODc1YzQ3ZGZkYjQ0MDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zMzAsOCArMzMwLDYg
QEAgcHVibGljOgogICAgIAogICAgIE92ZXJmbG93IG92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PE92ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WCk7IH0K
ICAgICBPdmVyZmxvdyBvdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVy
Zmxvdz4obV9ub25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1kpOyB9Ci0gICAgT3ZlcmZsb3cgb3Zl
cmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gb3ZlcmZsb3dYKCkgOiBvdmVyZmxvd1koKTsgfQotICAgIE92ZXJmbG93IG92ZXJm
bG93QmxvY2tEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9k
ZSgpID8gb3ZlcmZsb3dZKCkgOiBvdmVyZmxvd1goKTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Zp
c2libGUoKSBjb25zdCB7IHJldHVybiBvdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSB8
fCBvdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsgfQogCiAgICAgT3ZlcnNjcm9sbEJl
aGF2aW9yIG92ZXJzY3JvbGxCZWhhdmlvclgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxP
dmVyc2Nyb2xsQmVoYXZpb3I+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm92ZXJzY3JvbGxCZWhh
dmlvclgpOyB9CkBAIC01MjgsNiArNTI2LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250
YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmNvbnRhaW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0
KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBi
b29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1l
bnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAg
ICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxv
YXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJl
Y2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlv
bnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQppbmRleCA3ZGUyZDYw
NDZhOTg4Mzk2ODdlZDI3NzAwOWJkOWZkNGViNWMyZmUwLi42MDA0NDU5NTNjMDAyMTM1NDNmMmFk
ZDRjNWJjZTAxZjdkODViZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5j
bWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtNzAsNyArNzAsNyBA
QCBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfSU5UUk9TUEVDVElPTiAiV2hldGhlciB0byBl
bmFibGUgR09iamVjdCBpbnRyb3NwZWN0aQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1FV
QVJUWl9UQVJHRVQgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBRdWFydHogd2lu
ZG93aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9X
QVlMQU5EX1RBUkdFVCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFdheWxhbmQg
d2luZG93aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9YMTFfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgWDExIHdpbmRv
d2luZyB0YXJnZXQuIiBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRklORShVU0VfQVZJRiAi
V2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgQVZJRiBpbWFnZXMuIiBQVUJMSUMgJHtFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTfSkKK1dFQktJVF9PUFRJT05fREVGSU5FKFVTRV9BVklG
ICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBBVklGIGltYWdlcy4iIFBVQkxJQyBPRkYp
CiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfR1RLNCAiV2hldGhlciB0byBlbmFibGUgdXNhZ2Ug
b2YgR1RLNCBpbnN0ZWFkIG9mIEdUSzMuIiBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZJ
TkUoVVNFX0xDTVMgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGltYWdlIGNvbG9yIG1h
bmFnZW1lbnQgdXNpbmcgbGliY21zMi4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5F
KFVTRV9MSUJIWVBIRU4gIldoZXRoZXIgdG8gZW5hYmxlIHRoZSBkZWZhdWx0IGF1dG9tYXRpYyBo
eXBoZW5hdGlvbiBpbXBsZW1lbnRhdGlvbi4iIFBVQkxJQyBPTikKQEAgLTc4LDcgKzc4LDcgQEAg
V0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xJQk5PVElGWSAiV2hldGhlciB0byBlbmFibGUgdGhl
IGRlZmF1bHQgd2ViIG5vdGlmaWNhdGkKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9MSUJTRUNS
RVQgIldoZXRoZXIgdG8gZW5hYmxlIHRoZSBwZXJzaXN0ZW50IGNyZWRlbnRpYWwgc3RvcmFnZSB1
c2luZyBsaWJzZWNyZXQuIiBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfT1BF
TkdMX09SX0VTICJXaGV0aGVyIHRvIHVzZSBPcGVuR0wgb3IgRVMuIiBQVUJMSUMgJHtVU0VfT1BF
TkdMX09SX0VTX0RFRkFVTFR9KQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX09QRU5KUEVHICJX
aGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBKUEVHMjAwMCBpbWFnZXMuIiBQVUJMSUMgT04p
Ci1XRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU09VUDIgIldoZXRoZXIgdG8gZW5hYmxlIHVzYWdl
IG9mIFNvdXAgMiBpbnN0ZWFkIG9mIFNvdXAgMy4iIFBVQkxJQyBPRkYpCitXRUJLSVRfT1BUSU9O
X0RFRklORShVU0VfU09VUDIgIldoZXRoZXIgdG8gZW5hYmxlIHVzYWdlIG9mIFNvdXAgMiBpbnN0
ZWFkIG9mIFNvdXAgMy4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9TWVNU
RU1EICJXaGV0aGVyIHRvIGVuYWJsZSBqb3VybmFsZCBsb2dnaW5nIiBQVUJMSUMgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRklORShVU0VfV09GRjIgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9y
IFdPRkYyIFdlYiBGb250cy4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9X
UEVfUkVOREVSRVIgIldoZXRoZXIgdG8gZW5hYmxlIFdQRSByZW5kZXJpbmciIFBVQkxJQyBPTikK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2YzAyNjhjZGE0NGY5NGQ3NzhmZjQwYjlkZTM4Mjc3NTgzM2M3MjQ4Li4wNjQ5Yzlm
N2YwMjM0NGQxMGJkYmQ0Y2U2NjQxNmFhOWE1NDA3NjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMjEtMDYtMTMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3Nz
LWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHRlc3RzIHRoYXQgcGFzcyBub3cuCisKKyAg
ICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA2LTEyICBTYW0gV2VpbmlnICA8d2Vp
bmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIFdlYlhSIHRlc3RzIG9uIFdpbmRvd3MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGE1YjdlZDY5ODEyODE0MjI1MGQxYWFj
NzM5OTgxNGY1MWUwZDYzYzEuLjlhN2I1NmVjOWQ4ZDEwOTgzMzhlMGEwYTMwOGMyZjAzNTA0YjU3
ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIx
LTA2LTEzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250
YWluXSBTdXBwb3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkanVzdCB0ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRh
aW46IHN0cmljdCBpcyBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0Ogor
CiAyMDIxLTA2LTExICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KIAogICAg
ICAgICBVc2UgSFRNTERpbWVuc2lvbiB0byBwYXJzZSBkaWZmZXJlbnQgSFRNTCBhdHRyaWJ1dGUg
bGVuZ3RoIHZhbHVlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzJhN2VjMDM5ZmZiZDI0Mjg3NDUy
ZDQ2NzQ5MGMyMGQ3NjhkMTUxYy4uMjExNDljMzg3NjQ5OGYzNzFhYTNkNTViNDlkNjViY2QzYWE0
MWExOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NjMzLDYgKzQ2MzMsMTAgQEAgd2ViYW5pbWF0
aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5kLXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxh
eS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJr
aXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0w
MDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0
eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDY0Nyw0OSArNDY1MSw5IEBAIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAy
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAy
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlw
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1jbGlwLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisjIGNvbnRh
aW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBhbmQgY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIG5l
ZWQgZnV6enkgbWF0Y2hpbmcuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAx
Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jb250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUt
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0
cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJv
eC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAppbmRleCBjYzBiYWM3NThh
ODY2ZDRhZWVjNzVhY2U4ZWU3ZDgzM2JmMWRjMWVlLi4yZjdhY2M5MzdkZDhkMDQ3N2RlY2M5MTZj
Zjk5NTJhNzIyYjJkZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVk
LnR4dApAQCAtMSwxNyArMSwxMyBAQAogU3RyZXRjaGVkOgogCi1Db2x1bW4KIAotUm93CiAKIENv
bHVtbgogCiBSb3cKIEZsZXgtc3RhcnQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431283</attachid>
            <date>2021-06-13 11:37:02 -0700</date>
            <delta_ts>2021-06-16 07:04:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210613203701.patch</filename>
            <type>text/plain</type>
            <size>31064</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNmYzFjM2JmNGIxNzU2
NWY3ZjQ2ZTljZDc2ZDEzOGEwYzI0YTEwZi4uYzUxNTVjNTM4MDAyMGViZjE3Yjg2YmMxZDk3ZmVk
NjBkOWI5YTVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTEzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50IHRvIGNo
ZWNrIHdoZXRoZXIgdGhlCisgICAgICAgIGVsZW1lbnQgYXBwbGllcyBmb3IgcGFpbnQgY29udGFp
bm1lbnQuIElzIHNvLCB0aGVuOgorICAgICAgICAtIGFuIGluZGVwZW5kZW50IGZvcm1hdHRpbmcg
Y29udGV4dCBpcyBlc3RhYmxpc2hlZC4KKyAgICAgICAgLSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmlu
ZyBhbmQgZml4ZWQgcG9zaXRpb25pbmcKKyAgICAgICAgY29udGFpbmluZyBibG9jayBpcyBlc3Rh
Ymxpc2hlZC4KKyAgICAgICAgLSBhIHN0YWNraW5nIGNvbnRleHQgaXMgY3JlYXRlZC4KKyAgICAg
ICAgLSBpbXBsZW1lbnRzIGNsaXBwaW5nIG9uIHRoZSBvdmVyZmxvdyBjbGlwIGVkZ2UuCisKKyAg
ICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1j
b250YWlubWVudAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmpl
Y3RzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorCiAyMDIxLTA2LTEx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5IGNvbXB1
dGUgU2VjdXJpdHlPcmlnaW46Om1faXNQb3RlbnRpYWxseVRydXN0d29ydGh5IGZvciBwZXJmb3Jt
YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGEyMTI5Zjc3NjlmZDEwZDI5NjBj
NzY0ZGQ2ODQ1Nzg2NzEwNmFiNTkuLjQ4ZDc5YTVkYTc0Nzc2ZmRjZjFmZGQwODVkMzJjNTQwYzY1
ODdiYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTYzNSw4ICs2MzUsOCBAQCB2
b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogCiAgICAgYm9vbCBvdmVycmlkZUhpZGRlbiA9IGZyYW1l
KCkuaXNNYWluRnJhbWUoKSAmJiAoKGZyYW1lKCkuZnJhbWVTY2FsZUZhY3RvcigpID4gMSkgfHwg
aGVhZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0KCkpOwogCi0gICAgT3ZlcmZsb3cgb3ZlcmZs
b3dYID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICBPdmVyZmxvdyBvdmVyZmxv
d1kgPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92ZXJmbG93IG92ZXJmbG93
WCA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpOworICAgIE92ZXJmbG93IG92ZXJmbG93
WSA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogCiAgICAgaWYgKGlzPFJlbmRlclNW
R1Jvb3Q+KHJlbmRlcmVyKSkgewogICAgICAgICAvLyBGSVhNRTogZXZhbHVhdGUgaWYgd2UgY2Fu
IGFsbG93IG92ZXJmbG93IGZvciB0aGVzZSBjYXNlcyB0b28uCkBAIC02OTgsMTIgKzY5OCwxMiBA
QCB2b2lkIEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9ydCgpCiAKICAgICBhdXRv
KiBib2R5ID0gZG9jdW1lbnQtPmJvZHkoKTsKICAgICBpZiAoYm9keSAmJiBib2R5LT5yZW5kZXJl
cigpKSB7Ci0gICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVy
LnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxF
bGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CisgICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVy
ZXIgPSBkb2N1bWVudFJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpW
aXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50RWxlbWVudCkgPwogICAgICAg
ICAgICAgYm9keS0+cmVuZGVyZXIoKSA6ICZkb2N1bWVudFJlbmRlcmVyOwogICAgIH0KIAogICAg
IFBhZ2luYXRpb24gcGFnaW5hdGlvbjsKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVu
dE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92ZXJmbG93IG92ZXJm
bG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogICAg
IGlmIChvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWCB8fCBvdmVyZmxvd1kgPT0gT3ZlcmZs
b3c6OlBhZ2VkWSkgewogICAgICAgICBwYWdpbmF0aW9uLm1vZGUgPSBXZWJDb3JlOjpwYWdpbmF0
aW9uTW9kZUZvclJlbmRlclN0eWxlKGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkpOwog
ICAgICAgICBHYXBMZW5ndGggY29sdW1uR2FwTGVuZ3RoID0gZG9jdW1lbnRPckJvZHlSZW5kZXJl
ci0+c3R5bGUoKS5jb2x1bW5HYXAoKTsKQEAgLTc2NSw3ICs3NjUsNyBAQCB2b2lkIEZyYW1lVmll
dzo6Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFyTW9kZSYgaE1vZGUs
IFNjcm9sbGJhcgogICAgIGlmIChpczxIVE1MQm9keUVsZW1lbnQ+KCpib2R5T3JGcmFtZXNldCkg
JiYgcm9vdFJlbmRlcmVyKSB7CiAgICAgICAgIC8vIEl0J3Mgc3VmZmljaWVudCB0byBqdXN0IGNo
ZWNrIHRoZSBYIG92ZXJmbG93LAogICAgICAgICAvLyBzaW5jZSBpdCdzIGlsbGVnYWwgdG8gaGF2
ZSB2aXNpYmxlIGluIG9ubHkgb25lIGRpcmVjdGlvbi4KLSAgICAgICAgaWYgKHJvb3RSZW5kZXJl
ci0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRt
bEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKKyAgICAgICAgaWYgKHJvb3RSZW5kZXJlci0+
ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxF
bGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CiAgICAgICAgICAgICBhdXRvKiBib2R5UmVuZGVy
ZXIgPSBib2R5T3JGcmFtZXNldC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgIGlmIChib2R5UmVu
ZGVyZXIpIHsKICAgICAgICAgICAgICAgICBhcHBseU92ZXJmbG93VG9WaWV3cG9ydCgqYm9keVJl
bmRlcmVyLCBoTW9kZSwgdk1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRleCBkYTg5MTNkYmU3YmJjOTQ1YWM1
YzVkYzk3NmE5MzY3ZWE5MTFjMjA5Li4xYWQ3OTY3M2JhZjhlYTI0NjJlNjhiMjdiNDBiZjIzMTVj
ODdiMzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNr
U2l6aW5nQWxnb3JpdGhtLmNwcApAQCAtODA1LDcgKzgwNSw3IEBAIExheW91dFVuaXQgR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6Om1pblNpemVGb3JDaGlsZChSZW5kZXJCb3gmIGNo
aWxkKSBjCiAgICAgICAgIHJldHVybiBtaW5Db250ZW50Rm9yQ2hpbGQoY2hpbGQpOwogCiAgICAg
Y29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLmxv
Z2ljYWxNaW5XaWR0aCgpIDogY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAg
Ym9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/IGNoaWxkLnN0eWxlKCkub3ZlcmZs
b3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSA6IGNoaWxkLnN0eWxlKCku
b3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlOworICAgIGJvb2wg
b3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd0lu
bGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlIDogY2hpbGQuZWZmZWN0aXZlT3Zl
cmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlOwogICAgIExheW91dFVu
aXQgYmFzZWxpbmVTaGltID0gbV9hbGdvcml0aG0uYmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGls
ZCwgZ3JpZEF4aXNGb3JEaXJlY3Rpb24oZGlyZWN0aW9uKCkpKTsKIAogICAgIGlmIChjaGlsZE1p
blNpemUuaXNBdXRvKCkgJiYgb3ZlcmZsb3dJc1Zpc2libGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKaW5kZXggYTFkMmY4YWJiYjE1ZTVmOTYwY2VjOTFkNzA0N2VmY2U2
N2Q4ODZiNi4uZTk5ZWVhODBhNDQyNzc3ODIxMjUwYjVjM2Q1YmViN2VmMjY2YTg0OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ4Niw3ICs0ODYsNyBAQCB2b2lk
IFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRGbG9hdGluZyghaXNPdXRPZkZs
b3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkpOwogCiAgICAgLy8gV2Ug
YWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJmbG93IGFwcGxpZXMgdG8g
dGhlIHZpZXdwb3J0LgotICAgIGlmIChzdHlsZVRvVXNlLm92ZXJmbG93WCgpICE9IE92ZXJmbG93
OjpWaXNpYmxlICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsK
KyAgICBpZiAoZWZmZWN0aXZlT3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlz
RG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkgewogICAgICAgICBib29sIGJv
eEhhc092ZXJmbG93Q2xpcCA9IHRydWU7CiAgICAgICAgIGlmIChpc0JvZHkoKSkgewogICAgICAg
ICAgICAgLy8gT3ZlcmZsb3cgb24gdGhlIGJvZHkgY2FuIHByb3BhZ2F0ZSB0byB0aGUgdmlld3Bv
cnQgdW5kZXIgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zLgpAQCAtNDk1LDcgKzQ5NSw3IEBAIHZv
aWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgICAgICAgICAgLy8gKDMpIFRoZSBy
b290IGVsZW1lbnQgaGFzIHZpc2libGUgb3ZlcmZsb3cuCiAgICAgICAgICAgICBpZiAoaXM8SFRN
TEh0bWxFbGVtZW50PigqZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkKICAgICAgICAgICAg
ICAgICAmJiBkb2N1bWVudCgpLmJvZHkoKSA9PSBlbGVtZW50KCkKLSAgICAgICAgICAgICAgICAm
JiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5zdHlsZSgpLm92ZXJm
bG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgICAgICAgICAgICAgJiYgZG9jdW1l
bnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkg
PT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgICAgICAgICBib3hIYXNPdmVyZmxvd0Ns
aXAgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNjY2LDcgKzY2Niw3IEBA
IExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlN
aW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsCiAgICAgaWYgKGFsbG93SW50cmluc2ljID09IEFsbG93
SW50cmluc2ljOjpObyAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLmlzSW50cmluc2lj
KCkpCiAgICAgICAgIHJldHVybiBsb2dpY2FsV2lkdGg7CiAgICAgYXV0byBtaW5MZW5ndGggPSBz
dHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpOwotICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVj
dFJhdGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0
aCgpLmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkg
fHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgc3R5bGVUb1Vz
ZS5vdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAg
aWYgKHN0eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYg
KHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2Fs
V2lkdGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4
Q29udGVudCgpKSAmJiBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJm
bG93OjpWaXNpYmxlKSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBhY3R1YWxseSB1c2VkIHRo
ZSBhc3BlY3QgcmF0aW8uCiAgICAgICAgIGlmIChzaG91bGRDb21wdXRlTG9naWNhbFdpZHRoRnJv
bUFzcGVjdFJhdGlvKCkpCiAgICAgICAgICAgICBtaW5MZW5ndGggPSBMZW5ndGgoTGVuZ3RoVHlw
ZTo6TWluSW50cmluc2ljKTsKQEAgLTY4Miw3ICs2ODIsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJv
eDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbEhlaWdo
dCwgcwogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQs
IG1heEgudmFsdWUoKSk7CiAgICAgfQogICAgIGF1dG8gbG9naWNhbE1pbkhlaWdodCA9IHN0eWxl
VG9Vc2UubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzQXV0
bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkgJiYgaW50
cmluc2ljQ29udGVudEhlaWdodCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24o
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8o
KSAmJiBzaG91bGRDb21wdXRlTG9naWNhbEhlaWdodEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJp
bnNpY0NvbnRlbnRIZWlnaHQgJiYgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09
IE92ZXJmbG93OjpWaXNpYmxlKQogICAgICAgICBsb2dpY2FsTWluSGVpZ2h0ID0gTGVuZ3RoKCpp
bnRyaW5zaWNDb250ZW50SGVpZ2h0LCBMZW5ndGhUeXBlOjpGaXhlZCk7CiAgICAgaWYgKGxvZ2lj
YWxNaW5IZWlnaHQuaXNNaW5Db250ZW50KCkgfHwgbG9naWNhbE1pbkhlaWdodC5pc01heENvbnRl
bnQoKSkKICAgICAgICAgbG9naWNhbE1pbkhlaWdodCA9IExlbmd0aCgpOwpAQCAtNDc5Niw3ICs0
Nzk2LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9h
dGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpIHx8IGlzRmxl
eEl0ZW1JbmNsdWRpbmdEZXByZWNhdGVkKCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBp
c1RhYmxlQ2FwdGlvbigpIHx8IGlzRmllbGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8
IGlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSB8fCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkg
fHwgaXNSZW5kZXJGcmFnbWVudENvbnRhaW5lcigpCi0gICAgICAgIHx8IHN0eWxlKCkuY29udGFp
bnNMYXlvdXQoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkg
fHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlz
cGxheSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKKyAgICAgICAgfHwgc3R5bGUoKS5jb250
YWluc0xheW91dCgpIHx8IHN0eWxlKCkuY29udGFpbnNQYWludCgpIHx8IGlzR3JpZEl0ZW0oKSB8
fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBD
b2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dS
b290OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCBhZjgxOTYwYjAwNTA3MDMy
N2I4NTQzNmI4N2ZiNzVjZGM3MjY0ZThhLi4yNzgxZjgzMTY3NjM2NzUyMzBlMjJmNzdmYzJjYTk4
YmJkNTE1YzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
CkBAIC0yMjkxLDcgKzIyOTEsNyBAQCBzdGF0aWMgUmVuZGVyT2JqZWN0OjpCbG9ja0NvbnRlbnRI
ZWlnaHRUeXBlIGluY2x1ZGVOb25GaXhlZEhlaWdodChjb25zdCBSZW5kZXJPYgogICAgICAgICBp
ZiAoaXM8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKSkgewogICAgICAgICAgICAgLy8gRm9yIGZpeGVk
IGhlaWdodCBzdHlsZXMsIGlmIHRoZSBvdmVyZmxvdyBzaXplIG9mIHRoZSBlbGVtZW50IHNwaWxs
cyBvdXQgb2YgdGhlIHNwZWNpZmllZAogICAgICAgICAgICAgLy8gaGVpZ2h0LCBhc3N1bWUgd2Ug
Y2FuIGFwcGx5IHRleHQgYXV0by1zaXppbmcuCi0gICAgICAgICAgICBpZiAoc3R5bGUub3ZlcmZs
b3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKKyAgICAgICAgICAgIGlmIChkb3duY2FzdDxSZW5k
ZXJCbG9jaz4ocmVuZGVyZXIpLmVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNp
YmxlCiAgICAgICAgICAgICAgICAgJiYgc3R5bGUuaGVpZ2h0KCkudmFsdWUoKSA8IGRvd25jYXN0
PFJlbmRlckJsb2NrPihyZW5kZXJlcikubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQogICAg
ICAgICAgICAgICAgIHJldHVybiBSZW5kZXJPYmplY3Q6Ok92ZXJmbG93SGVpZ2h0OwogICAgICAg
ICB9CkBAIC0yMzcxLDQgKzIzNzEsMjAgQEAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBS
ZW5kZXJFbGVtZW50OjphbmltYXRlZFN0eWxlKCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitP
dmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAg
IGF1dG8gb3ZlcmZsb3dYID0gc3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAoc2hvdWxkQXBw
bHlQYWludENvbnRhaW5tZW50KCp0aGlzKSAmJiBvdmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2li
bGUpCisgICAgICAgIHJldHVybiBPdmVyZmxvdzo6SGlkZGVuOworICAgIHJldHVybiBvdmVyZmxv
d1g7Cit9CisKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNv
bnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1kgPSBzdHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlm
IChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpICYmIG92ZXJmbG93WSA9PSBPdmVy
Zmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpIaWRkZW47CisgICAgcmV0
dXJuIG92ZXJmbG93WTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmgKaW5kZXggYzJlMDRiZTk2MWMxMTVlNWQwOTA1ZjEyYjM4ZTJkMmUxNTYyYzVjNC4uOTBl
MTk5MjkwZWE2NzMxNDNjN2FmYTJkMDgyN2QzNGJlNzc0MmM2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yNTMsNiArMjUzLDExIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9IE1vbm90b25p
Y1RpbWUoKSkgeyB9CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBhbmltYXRlZFN0
eWxlKCk7CiAKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdDsKKyAgICBP
dmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3Rp
dmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3Zl
cmZsb3dZKCk7IH0KKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9u
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZm
ZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQorCiBwcm90ZWN0ZWQ6
CiAgICAgZW51bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0
RmxhZyAgPSAxIDw8IDAsCkBAIC00NDIsNyArNDQ3LDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxl
bWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8g
RklYTUU6IHdpbGwtY2hhbmdlIHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5s
aW5lIGJveGVzIChidWcgMjI1MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0
eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFp
bmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVp
Z25PYmplY3QoKQotICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlz
KTsKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAg
ICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJv
b2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygp
IGNvbnN0CkBAIC00NTMsNiArNDU5LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2Fu
Q29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChp
c1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hh
bmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQog
ICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxh
eW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFp
bm1lbnQoKnRoaXMpCiAgICAgICAgIHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA1NzA4YjMxYTFk
ODQwNWM2ODc5MTEwYWNhN2JhNmQ3OTY5OTU2NzJlLi43MjUxYzQ3OTBkOTk4YTI5NjM0YzBjZTA0
NzE0MGFjM2IxM2U3YTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAKQEAgLTE2NjgsMTUgKzE2NjgsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJs
ZUJveDo6Y2hpbGRIYXNJbnRyaW5zaWNNYWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCkKIE92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQo
Y29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxv
dygpKQotICAgICAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1
cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVj
dGl2ZU92ZXJmbG93WCgpOworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsK
IH0KIAogT3ZlcmZsb3cgUmVuZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hp
bGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFs
RmxvdygpKQotICAgICAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICBy
ZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVm
ZmVjdGl2ZU92ZXJmbG93WSgpOworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1go
KTsKIH0KIAogYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVz
Y2VuZGFudHMoY29uc3QgUmVuZGVyQm94JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IGIz
MjM0ZTAxM2M2NzhiNjNhNzg4NzQ0NTgxZGI5MDdmMWQ2OWI4ODcuLjhiZTVkMGQ5NGE1MmU1ZGUy
MmQ4NjA1ZTlmN2IzY2U3NTkzYWQ2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcApAQCAtMTU5LDE0ICsxNTksMTQgQEAg
TGF5b3V0UmVjdCBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6b3ZlcmZsb3dSZWN0Rm9yRnJhZ21l
bnRlZEZsb3dQb3J0aW9uKGNvbnN0IEwKICAgICBpZiAobV9mcmFnbWVudGVkRmxvdy0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSkgewogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBpc0ZpcnN0
UG9ydGlvbiA/IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueSgpIDogZnJhZ21lbnRlZEZsb3dQb3J0
aW9uUmVjdC55KCk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WSA9IGlzTGFzdFBvcnRpb24gPyBz
dGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSwgZnJhZ21lbnRlZEZsb3dP
dmVyZmxvdy5tYXhZKCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCk7Ci0gICAg
ICAgIGJvb2wgY2xpcFggPSBzdHlsZSgpLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxl
OworICAgICAgICBib29sIGNsaXBYID0gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6
OlZpc2libGU7CiAgICAgICAgIExheW91dFVuaXQgbWluWCA9IGNsaXBYID8gZnJhZ21lbnRlZEZs
b3dQb3J0aW9uUmVjdC54KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lngo
KSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFgg
PSBjbGlwWCA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpIDogc3RkOjptYXgoZnJh
Z21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4
WCgpKTsKICAgICAgICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBt
aW5YLCBtYXhZIC0gbWluWSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5Y
ID0gaXNGaXJzdFBvcnRpb24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LngoKSA6IGZyYWdtZW50
ZWRGbG93UG9ydGlvblJlY3QueCgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBpc0xhc3RQ
b3J0aW9uID8gc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdt
ZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4
WCgpOwotICAgICAgICBib29sIGNsaXBZID0gc3R5bGUoKS5vdmVyZmxvd1koKSAhPSBPdmVyZmxv
dzo6VmlzaWJsZTsKKyAgICAgICAgYm9vbCBjbGlwWSA9IGVmZmVjdGl2ZU92ZXJmbG93WSgpICE9
IE92ZXJmbG93OjpWaXNpYmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBjbGlwWSA/IGZy
YWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0
aW9uUmVjdC55KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueSgpKTsKICAgICAgICAgTGF5b3V0
VW5pdCBtYXhZID0gY2xpcFkgPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSA6IHN0
ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJm
bG93Lm1heFkoKSk7CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBt
YXhYIC0gbWluWCwgbWF4WSAtIG1pblkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggMWYxMWE5NzhlMzE1YmFkZDdhY2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4u
N2I3ZjE1ZmM2MzVhMTQ2ODI0YTYwYjgxZDE4NTU2ZDFiMzY5ZGI3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTUsNiArNTU1LDcgQEAgc3RhdGljIGJv
b2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKICAg
ICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAgICAgIHx8IHJlbmRlcmVyLnN0
eWxlKCkuaGFzSXNvbGF0aW9uKCkKICAgICAgICAgfHwgIXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0
b1VzZWRaSW5kZXgoKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVu
ZGVyZXIpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiByZW5k
ZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KCkpOwog
fQogCkBAIC01ODQsNyArNTg1LDcgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxG
bG93T25seSgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdD
b250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRv
VXNlZFpJbmRleCgpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CisgICAgcmV0dXJuICFyZW5kZXJl
cigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFp
bm1lbnQocmVuZGVyZXIoKSkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5k
ZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93T25seShib29sIGlzTm9ybWFsRmxvd09ubHkpCkBAIC00
NDY5LDcgKzQ0NzAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29u
c3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICAgICAgQ2xp
cFJlY3QgbmV3T3ZlcmZsb3dDbGlwID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5v
dmVyZmxvd0NsaXBSZWN0Rm9yQ2hpbGRMYXllcnMob2Zmc2V0LCBudWxscHRyLCBjbGlwUmVjdHND
b250ZXh0Lm92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5KTsKICAgICAgICAgICAgIG5ld092
ZXJmbG93Q2xpcC5zZXRBZmZlY3RlZEJ5UmFkaXVzKHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNCb3Jk
ZXJSYWRpdXMoKSk7CiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChp
bnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgp
KSk7Ci0gICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSkKKyAgICAgICAg
ICAgIGlmIChyZW5kZXJlcigpLmlzUG9zaXRpb25lZCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250
YWlubWVudChyZW5kZXJlcigpKSkKICAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xp
cFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0
KCkpKTsKICAgICAgICAgfQogICAgICAgICBpZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMGRjZmJjZjYwMWQz
NzhlMjg2YzgxODJjNGZkYzg2YTAyZGEzOTkwMC4uYzA1OTQ0MzkyOTJlNDlkMjljMmJkZjE1ZGEy
NWE2MDE5Njc3M2ViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKQEAgLTI1MTQsMyArMjUxNCw5IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKIHsKICAgICBy
ZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1NpemUoKSAmJiAoIXJlbmRlcmVyLmlzSW5s
aW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIu
aXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1Rh
YmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJsZSgpOwogfQorCitib29sIFdlYkNvcmU6
OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3Qm
IHJlbmRlcmVyKQoreworICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zUGFpbnQo
KSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZl
bEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBh
cnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxvdygpKTsKK30KKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGYyMGY3NTk1ZDVlMDRjNWIzMjVkNDdhOGRl
MDU2Y2M5ZjE4NDNjMDcuLjMzMDk4N2EzZGU4YTBkZDY4ZDI5Y2U2Zjk5OGUxNWExZmIwMmNmZDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTExOTcsNiArMTE5
Nyw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsKIAog
Ym9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwog
Ym9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKK2Jv
b2wgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgKaW5kZXggOTNkOTU3MWU2ZGU1NTU3YTc2Y2QwNDk1ZDQyNTU5MGI2YTBm
ZWE3MS4uMDZhMGU4NjVkOWUwMTU2M2NjMDc0ZTU1YjI4NzVjNDdkZmRiNDQwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTMzMCw4ICszMzAs
NiBAQCBwdWJsaWM6CiAgICAgCiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dYKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mub3ZlcmZsb3dYKTsg
fQogICAgIE92ZXJmbG93IG92ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92
ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WSk7IH0KLSAgICBPdmVyZmxvdyBv
dmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBvdmVyZmxvd1goKSA6IG92ZXJmbG93WSgpOyB9Ci0gICAgT3ZlcmZsb3cgb3Zl
cmZsb3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyBvdmVyZmxvd1koKSA6IG92ZXJmbG93WCgpOyB9CiAgICAgYm9vbCBpc092ZXJmbG93
VmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxl
IHx8IG92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlOyB9CiAKICAgICBPdmVyc2Nyb2xs
QmVoYXZpb3Igb3ZlcnNjcm9sbEJlaGF2aW9yWCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PE92ZXJzY3JvbGxCZWhhdmlvcj4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+b3ZlcnNjcm9sbEJl
aGF2aW9yWCk7IH0KQEAgLTUyOCw2ICs1MjYsNyBAQCBwdWJsaWM6CiAgICAgT3B0aW9uU2V0PENv
bnRhaW5tZW50PiBjb250YWluKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+Y29udGFpbjsgfQogICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBt
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlv
dXQpOyB9CiAgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25J
bmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQorICAg
IGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAgIEJveEFsaWdu
bWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4o
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0K
ICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAgICBm
bG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVw
cmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDdkZTJk
NjA0NmE5ODgzOTY4N2VkMjc3MDA5YmQ5ZmQ0ZWI1YzJmZTAuLjYwMDQ0NTk1M2MwMDIxMzU0M2Yy
YWRkNGM1YmNlMDFmN2Q4NWJmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC03MCw3ICs3MCw3
IEBAIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9JTlRST1NQRUNUSU9OICJXaGV0aGVyIHRv
IGVuYWJsZSBHT2JqZWN0IGludHJvc3BlY3RpCiBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
UVVBUlRaX1RBUkdFVCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFF1YXJ0eiB3
aW5kb3dpbmcgdGFyZ2V0LiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1dBWUxBTkRfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgV2F5bGFu
ZCB3aW5kb3dpbmcgdGFyZ2V0LiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX1gxMV9UQVJHRVQgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIHRoZSBYMTEgd2lu
ZG93aW5nIHRhcmdldC4iIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9BVklG
ICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBBVklGIGltYWdlcy4iIFBVQkxJQyAke0VO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVN9KQorV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0FW
SUYgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIEFWSUYgaW1hZ2VzLiIgUFVCTElDIE9G
RikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9HVEs0ICJXaGV0aGVyIHRvIGVuYWJsZSB1c2Fn
ZSBvZiBHVEs0IGluc3RlYWQgb2YgR1RLMy4iIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RF
RklORShVU0VfTENNUyAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgaW1hZ2UgY29sb3Ig
bWFuYWdlbWVudCB1c2luZyBsaWJjbXMyLiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJ
TkUoVVNFX0xJQkhZUEhFTiAiV2hldGhlciB0byBlbmFibGUgdGhlIGRlZmF1bHQgYXV0b21hdGlj
IGh5cGhlbmF0aW9uIGltcGxlbWVudGF0aW9uLiIgUFVCTElDIE9OKQpAQCAtNzgsNyArNzgsNyBA
QCBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfTElCTk9USUZZICJXaGV0aGVyIHRvIGVuYWJsZSB0
aGUgZGVmYXVsdCB3ZWIgbm90aWZpY2F0aQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0xJQlNF
Q1JFVCAiV2hldGhlciB0byBlbmFibGUgdGhlIHBlcnNpc3RlbnQgY3JlZGVudGlhbCBzdG9yYWdl
IHVzaW5nIGxpYnNlY3JldC4iIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9P
UEVOR0xfT1JfRVMgIldoZXRoZXIgdG8gdXNlIE9wZW5HTCBvciBFUy4iIFBVQkxJQyAke1VTRV9P
UEVOR0xfT1JfRVNfREVGQVVMVH0pCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfT1BFTkpQRUcg
IldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIEpQRUcyMDAwIGltYWdlcy4iIFBVQkxJQyBP
TikKLVdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9TT1VQMiAiV2hldGhlciB0byBlbmFibGUgdXNh
Z2Ugb2YgU291cCAyIGluc3RlYWQgb2YgU291cCAzLiIgUFVCTElDIE9GRikKK1dFQktJVF9PUFRJ
T05fREVGSU5FKFVTRV9TT1VQMiAiV2hldGhlciB0byBlbmFibGUgdXNhZ2Ugb2YgU291cCAyIGlu
c3RlYWQgb2YgU291cCAzLiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1NZ
U1RFTUQgIldoZXRoZXIgdG8gZW5hYmxlIGpvdXJuYWxkIGxvZ2dpbmciIFBVQkxJQyBPTikKIFdF
QktJVF9PUFRJT05fREVGSU5FKFVTRV9XT0ZGMiAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBm
b3IgV09GRjIgV2ViIEZvbnRzLiIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNF
X1dQRV9SRU5ERVJFUiAiV2hldGhlciB0byBlbmFibGUgV1BFIHJlbmRlcmluZyIgUFVCTElDIE9O
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDZjMDI2OGNkYTQ0Zjk0ZDc3OGZmNDBiOWRlMzgyNzc1ODMzYzcyNDguLjA2NDlj
OWY3ZjAyMzQ0ZDEwYmRiZDRjZTY2NDE2YWE5YTU0MDc2NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMS0wNi0xMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtj
c3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhhdCBwYXNzIG5vdy4KKwor
ICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMTIgIFNhbSBXZWluaWcgIDx3
ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgV2ViWFIgdGVzdHMgb24gV2luZG93
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYTViN2VkNjk4MTI4MTQyMjUwZDFh
YWM3Mzk5ODE0ZjUxZTBkNjNjMS4uOWE3YjU2ZWM5ZDhkMTA5ODMzOGUwYTBhMzA4YzJmMDM1MDRi
NTdlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMDYtMTMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNv
bnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRqdXN0IHRlc3QgZXhwZWN0YXRpb24gbm93IHRoYXQgY29u
dGFpbjogc3RyaWN0IGlzIHN1cHBvcnRlZC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQ6
CisKIDIwMjEtMDYtMTEgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFVzZSBIVE1MRGltZW5zaW9uIHRvIHBhcnNlIGRpZmZlcmVudCBIVE1MIGF0dHJpYnV0
ZSBsZW5ndGggdmFsdWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzMmE3ZWMwMzlmZmJkMjQyODc0
NTJkNDY3NDkwYzIwZDc2OGQxNTFjLi4yMTE0OWMzODc2NDk4ZjM3MWFhM2Q1NWI0OWQ2NWJjZDNh
YTQxYTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2MzMsNiArNDYzMywxMCBAQCB3ZWJhbmlt
YXRpb25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1hbmQtdHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRl
bGF5LW9uLWZvcmNlZC1sYQogIyBDU1MgY29udGFpbm1lbnQgdGVzdHMgdGhhdCBmYWlsCiAjIHdl
YmtpdC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmls
aXR5LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NjQ3LDQ5ICs0NjUxLDkgQEAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWIKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIw
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA5Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE5Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
MDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIzLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDQ3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ4Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1jZWxsLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNs
aXAtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWNsaXAtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTIu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWNsaXAtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKyMgY29u
dGFpbi1wYWludC1jbGlwLTAxNS5odG1sIGFuZCBjb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwg
bmVlZCBmdXp6eSBtYXRjaGluZy4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAt
MDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTguaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNvbnRhaW5pbmctYmxvY2stYWJzb2x1dGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1maXhlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtZmxvYXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LW1hcmdpbi0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1pZmMtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtaW5kZXBlbmRlbnQtZm9ybWF0dGluZy1jb250ZXh0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LXNpemUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6
ZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAxYS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4
Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1
OGE4NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkx
NmNmOTk1MmE3MjJiMmRlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJp
Y3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0
ZWQudHh0CkBAIC0xLDE3ICsxLDEzIEBACiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAog
Q29sdW1uCiAKIFJvdwogRmxleC1zdGFydDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431542</attachid>
            <date>2021-06-16 07:04:37 -0700</date>
            <delta_ts>2021-07-09 05:56:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210616150436.patch</filename>
            <type>text/plain</type>
            <size>33131</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTcyMWE3NDAwYjYzZDA5
NDFhNjkxMjQ5NGU5NzY1ODNmZDg3M2IzNy4uNGJiZGE0MWI4OTU2MWRmZDI2N2Y0NTM1ZWE2ZTBj
YTQwMDNlYzA5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIxLTA2LTE2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMS0wNi0xNiAgUGVyIEFybmUgIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcGRhdGUgTWVkaWEgQWNjZXNzaWJpbGl0eSBwcmVmZXJlbmNlcyBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIGZyb20gdGhlIFVJIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCBhMjEyOWY3NzY5ZmQxMGQyOTYwYzc2NGRkNjg0NTc4NjcxMDZhYjU5Li40OGQ3
OWE1ZGE3NDc3NmZkY2YxZmRkMDg1ZDMyYzU0MGM2NTg3YmE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC02MzUsOCArNjM1LDggQEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5T3ZlcmZs
b3dUb1ZpZXdwb3J0KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBTY3JvbGxiYXIKIAog
ICAgIGJvb2wgb3ZlcnJpZGVIaWRkZW4gPSBmcmFtZSgpLmlzTWFpbkZyYW1lKCkgJiYgKChmcmFt
ZSgpLmZyYW1lU2NhbGVGYWN0b3IoKSA+IDEpIHx8IGhlYWRlckhlaWdodCgpIHx8IGZvb3Rlckhl
aWdodCgpKTsKIAotICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLnN0eWxlKCkub3Zl
cmZsb3dYKCk7Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVy
Zmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5lZmZlY3RpdmVPdmVy
Zmxvd1goKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5lZmZlY3RpdmVPdmVy
Zmxvd1koKTsKIAogICAgIGlmIChpczxSZW5kZXJTVkdSb290PihyZW5kZXJlcikpIHsKICAgICAg
ICAgLy8gRklYTUU6IGV2YWx1YXRlIGlmIHdlIGNhbiBhbGxvdyBvdmVyZmxvdyBmb3IgdGhlc2Ug
Y2FzZXMgdG9vLgpAQCAtNjk4LDEyICs2OTgsMTIgQEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5UGFn
aW5hdGlvblRvVmlld3BvcnQoKQogCiAgICAgYXV0byogYm9keSA9IGRvY3VtZW50LT5ib2R5KCk7
CiAgICAgaWYgKGJvZHkgJiYgYm9keS0+cmVuZGVyZXIoKSkgewotICAgICAgICBkb2N1bWVudE9y
Qm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92
ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50RWxlbWVudCkg
PworICAgICAgICBkb2N1bWVudE9yQm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5kZXJlci5lZmZl
Y3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1l
bnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KICAgICAgICAgICAgIGJvZHktPnJlbmRlcmVyKCkgOiAm
ZG9jdW1lbnRSZW5kZXJlcjsKICAgICB9CiAKICAgICBQYWdpbmF0aW9uIHBhZ2luYXRpb247Ci0g
ICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5v
dmVyZmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRl
cmVyLT5lZmZlY3RpdmVPdmVyZmxvd1koKTsKICAgICBpZiAob3ZlcmZsb3dZID09IE92ZXJmbG93
OjpQYWdlZFggfHwgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpQYWdlZFkpIHsKICAgICAgICAgcGFn
aW5hdGlvbi5tb2RlID0gV2ViQ29yZTo6cGFnaW5hdGlvbk1vZGVGb3JSZW5kZXJTdHlsZShkb2N1
bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgR2FwTGVuZ3RoIGNvbHVtbkdh
cExlbmd0aCA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkuY29sdW1uR2FwKCk7CkBA
IC03NjUsNyArNzY1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVz
Rm9yTGF5b3V0KFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTY3JvbGxiYXIKICAgICBpZiAoaXM8SFRN
TEJvZHlFbGVtZW50PigqYm9keU9yRnJhbWVzZXQpICYmIHJvb3RSZW5kZXJlcikgewogICAgICAg
ICAvLyBJdCdzIHN1ZmZpY2llbnQgdG8ganVzdCBjaGVjayB0aGUgWCBvdmVyZmxvdywKICAgICAg
ICAgLy8gc2luY2UgaXQncyBpbGxlZ2FsIHRvIGhhdmUgdmlzaWJsZSBpbiBvbmx5IG9uZSBkaXJl
Y3Rpb24uCi0gICAgICAgIGlmIChyb290UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0g
T3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQp
KSB7CisgICAgICAgIGlmIChyb290UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92
ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkg
ewogICAgICAgICAgICAgYXV0byogYm9keVJlbmRlcmVyID0gYm9keU9yRnJhbWVzZXQtPnJlbmRl
cmVyKCk7CiAgICAgICAgICAgICBpZiAoYm9keVJlbmRlcmVyKSB7CiAgICAgICAgICAgICAgICAg
YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoKmJvZHlSZW5kZXJlciwgaE1vZGUsIHZNb2RlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0
aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRo
bS5jcHAKaW5kZXggZGE4OTEzZGJlN2JiYzk0NWFjNWM1ZGM5NzZhOTM2N2VhOTExYzIwOS4uMWFk
Nzk2NzNiYWY4ZWEyNDYyZTY4YjI3YjQwYmYyMzE1Yzg3YjMyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTgw
NSw3ICs4MDUsNyBAQCBMYXlvdXRVbml0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobVN0cmF0ZWd5
OjptaW5TaXplRm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgYwogICAgICAgICByZXR1cm4gbWlu
Q29udGVudEZvckNoaWxkKGNoaWxkKTsKIAogICAgIGNvbnN0IExlbmd0aCYgY2hpbGRNaW5TaXpl
ID0gaXNSb3dBeGlzID8gY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSA6IGNoaWxkLnN0
eWxlKCkubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBp
c1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGUgOiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9
PSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICBib29sIG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dB
eGlzID8gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZSA6IGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZTsKICAgICBMYXlvdXRVbml0IGJhc2VsaW5lU2hpbSA9IG1fYWxnb3Jp
dGhtLmJhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQsIGdyaWRBeGlzRm9yRGlyZWN0aW9uKGRp
cmVjdGlvbigpKSk7CiAKICAgICBpZiAoY2hpbGRNaW5TaXplLmlzQXV0bygpICYmIG92ZXJmbG93
SXNWaXNpYmxlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGEx
ZDJmOGFiYmIxNWU1Zjk2MGNlYzkxZDcwNDdlZmNlNjdkODg2YjYuLmU5OWVlYTgwYTQ0Mjc3Nzgy
MTI1MGI1YzNkNWJlYjdlZjI2NmE4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCkBAIC00ODYsNyArNDg2LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHls
ZSgpCiAgICAgc2V0RmxvYXRpbmcoIWlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIHN0eWxlVG9V
c2UuaXNGbG9hdGluZygpKTsKIAogICAgIC8vIFdlIGFsc28gaGFuZGxlIDxib2R5PiBhbmQgPGh0
bWw+LCB3aG9zZSBvdmVyZmxvdyBhcHBsaWVzIHRvIHRoZSB2aWV3cG9ydC4KLSAgICBpZiAoc3R5
bGVUb1VzZS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZSAmJiAhaXNEb2NFbGVtZW50
UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CisgICAgaWYgKGVmZmVjdGl2ZU92ZXJmbG93
WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1Jl
bmRlckJsb2NrKCkpIHsKICAgICAgICAgYm9vbCBib3hIYXNPdmVyZmxvd0NsaXAgPSB0cnVlOwog
ICAgICAgICBpZiAoaXNCb2R5KCkpIHsKICAgICAgICAgICAgIC8vIE92ZXJmbG93IG9uIHRoZSBi
b2R5IGNhbiBwcm9wYWdhdGUgdG8gdGhlIHZpZXdwb3J0IHVuZGVyIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucy4KQEAgLTQ5NSw3ICs0OTUsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0
eWxlKCkKICAgICAgICAgICAgIC8vICgzKSBUaGUgcm9vdCBlbGVtZW50IGhhcyB2aXNpYmxlIG92
ZXJmbG93LgogICAgICAgICAgICAgaWYgKGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5ib2R5KCkg
PT0gZWxlbWVudCgpCi0gICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyZXIoKS0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSkgeworICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlcmVyKCktPmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAg
ICAgICAgICAgICAgICAgYm94SGFzT3ZlcmZsb3dDbGlwID0gZmFsc2U7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KQEAgLTY2Niw3ICs2NjYsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29u
c3RyYWluTG9naWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbAog
ICAgIGlmIChhbGxvd0ludHJpbnNpYyA9PSBBbGxvd0ludHJpbnNpYzo6Tm8gJiYgc3R5bGVUb1Vz
ZS5sb2dpY2FsTWluV2lkdGgoKS5pc0ludHJpbnNpYygpKQogICAgICAgICByZXR1cm4gbG9naWNh
bFdpZHRoOwogICAgIGF1dG8gbWluTGVuZ3RoID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgo
KTsKLSAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0aC5pc0F1
dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRvVXNl
LmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRo
KCkuaXNNYXhDb250ZW50KCkpICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24o
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJh
dGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgp
LmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwg
c3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgZWZmZWN0aXZlT3Zl
cmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAv
LyBNYWtlIHN1cmUgd2UgYWN0dWFsbHkgdXNlZCB0aGUgYXNwZWN0IHJhdGlvLgogICAgICAgICBp
ZiAoc2hvdWxkQ29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRpbygpKQogICAgICAgICAg
ICAgbWluTGVuZ3RoID0gTGVuZ3RoKExlbmd0aFR5cGU6Ok1pbkludHJpbnNpYyk7CkBAIC02ODIs
NyArNjgyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRC
eU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIHMKICAgICAgICAgICAgIGxvZ2ljYWxI
ZWlnaHQgPSBzdGQ6Om1pbihsb2dpY2FsSGVpZ2h0LCBtYXhILnZhbHVlKCkpOwogICAgIH0KICAg
ICBhdXRvIGxvZ2ljYWxNaW5IZWlnaHQgPSBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5IZWlnaHQoKTsK
LSAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRlTG9naWNh
bEhlaWdodEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQgJiYgc3R5
bGVUb1VzZS5vdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpCisg
ICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxI
ZWlnaHRGcm9tQXNwZWN0UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYmIGVmZmVj
dGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKICAgICAg
ICAgbG9naWNhbE1pbkhlaWdodCA9IExlbmd0aCgqaW50cmluc2ljQ29udGVudEhlaWdodCwgTGVu
Z3RoVHlwZTo6Rml4ZWQpOwogICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzTWluQ29udGVudCgp
IHx8IGxvZ2ljYWxNaW5IZWlnaHQuaXNNYXhDb250ZW50KCkpCiAgICAgICAgIGxvZ2ljYWxNaW5I
ZWlnaHQgPSBMZW5ndGgoKTsKQEAgLTQ3OTYsNyArNDc5Niw3IEBAIGJvb2wgUmVuZGVyQm94Ojpj
cmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiBpc0lubGlu
ZUJsb2NrT3JJbmxpbmVUYWJsZSgpIHx8IGlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQo
KSB8fCBoYXNPdmVyZmxvd0NsaXAoKSB8fCBpc0ZsZXhJdGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgp
CiAgICAgICAgIHx8IGlzVGFibGVDZWxsKCkgfHwgaXNUYWJsZUNhcHRpb24oKSB8fCBpc0ZpZWxk
c2V0KCkgfHwgaXNXcml0aW5nTW9kZVJvb3QoKSB8fCBpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVy
KCkgfHwgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIHx8IGlzUmVuZGVyRnJhZ21lbnRDb250YWlu
ZXIoKQotICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgp
IHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09
IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxv
d1Jvb3Q7CisgICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBzdHlsZSgpLmNv
bnRhaW5zUGFpbnQoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5z
KCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCku
ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKIH0KIAogYm9vbCBSZW5kZXJCb3g6
OmF2b2lkc0Zsb2F0cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCBjOGFkYWYyYmE4MTkzMjFjNGNiZmI1NGRiYzdj
M2Q3MmYyMDlmMzBlLi5lZmU2NGQ3NGUyZTRmY2IxYjg2MTdkNTM1OGQ3YzliMDJhZTkwYWVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAKQEAgLTIxMSw2ICsyMTEsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVG
cm9tU3R5bGUoKQogICAgIHNldEhvcml6b250YWxXcml0aW5nTW9kZShzdHlsZVRvVXNlLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkpOwogICAgIGlmIChzdHlsZVRvVXNlLmlzRmxpcHBlZEJsb2Nr
c1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5zZXRIYXNGbGlwcGVk
QmxvY2tSZW5kZXJlcnModHJ1ZSk7CisgICAgc2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7CiB9CiAKIHN0YXRpYyBMYXlvdXRTaXpl
IGFjY3VtdWxhdGVJbkZsb3dQb3NpdGlvbk9mZnNldHMoY29uc3QgUmVuZGVyT2JqZWN0KiBjaGls
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCA4Mjc3
Y2Q0YzczNmViZWJmNmYxMDM4ZWNmYTRiMmQyNDNjODJmMDU2Li5kMWUyNGNiNTQzMWEwNGI2ODVh
OTI4ZjI5YTU4YmY5NTVlOTI0NDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJFbGVtZW50KTsKIAogc3RydWN0IFNhbWVTaXpl
QXNSZW5kZXJFbGVtZW50IDogcHVibGljIFJlbmRlck9iamVjdCB7Ci0gICAgdW5zaWduZWQgYml0
ZmllbGRzIDogMjU7CisgICAgdW5zaWduZWQgYml0ZmllbGRzIDogMjY7CiAgICAgdm9pZCogZmly
c3RDaGlsZDsKICAgICB2b2lkKiBsYXN0Q2hpbGQ7CiAgICAgUmVuZGVyU3R5bGUgc3R5bGU7CkBA
IC0xMjMsNiArMTIzLDcgQEAgaW5saW5lIFJlbmRlckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQoQ29u
dGFpbmVyTm9kZSYgZWxlbWVudE9yRG9jdW1lbnQsIFJlbmRlclN0eWwKICAgICAsIG1faXNSZWdp
c3RlcmVkRm9yVmlzaWJsZUluVmlld3BvcnRDYWxsYmFjayhmYWxzZSkKICAgICAsIG1fdmlzaWJs
ZUluVmlld3BvcnRTdGF0ZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oVmlzaWJsZUluVmlld3BvcnRT
dGF0ZTo6VW5rbm93bikpCiAgICAgLCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50KGZhbHNlKQorICAgICwgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyhmYWxzZSkK
ICAgICAsIG1fZmlyc3RDaGlsZChudWxscHRyKQogICAgICwgbV9sYXN0Q2hpbGQobnVsbHB0cikK
ICAgICAsIG1fc3R5bGUoV1RGTW92ZShzdHlsZSkpCkBAIC0yMjg5LDcgKzIyOTAsNyBAQCBzdGF0
aWMgUmVuZGVyT2JqZWN0OjpCbG9ja0NvbnRlbnRIZWlnaHRUeXBlIGluY2x1ZGVOb25GaXhlZEhl
aWdodChjb25zdCBSZW5kZXJPYgogICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KHJlbmRlcmVy
KSkgewogICAgICAgICAgICAgLy8gRm9yIGZpeGVkIGhlaWdodCBzdHlsZXMsIGlmIHRoZSBvdmVy
ZmxvdyBzaXplIG9mIHRoZSBlbGVtZW50IHNwaWxscyBvdXQgb2YgdGhlIHNwZWNpZmllZAogICAg
ICAgICAgICAgLy8gaGVpZ2h0LCBhc3N1bWUgd2UgY2FuIGFwcGx5IHRleHQgYXV0by1zaXppbmcu
Ci0gICAgICAgICAgICBpZiAoc3R5bGUub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUK
KyAgICAgICAgICAgIGlmIChkb3duY2FzdDxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpLmVmZmVjdGl2
ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlCiAgICAgICAgICAgICAgICAgJiYgc3R5
bGUuaGVpZ2h0KCkudmFsdWUoKSA8IGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlcikubGF5
b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBSZW5kZXJP
YmplY3Q6Ok92ZXJmbG93SGVpZ2h0OwogICAgICAgICB9CkBAIC0yMzY5LDQgKzIzNzAsMjAgQEAg
c3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZW5kZXJFbGVtZW50OjphbmltYXRlZFN0eWxl
KCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZl
Y3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dYID0gc3R5bGUoKS5v
dmVyZmxvd1goKTsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMoKSAmJiBvdmVyZmxv
d1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBPdmVyZmxvdzo6SGlkZGVu
OworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9CisKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVm
ZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1kgPSBzdHlsZSgp
Lm92ZXJmbG93WSgpOworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpICYmIG92ZXJm
bG93WSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpIaWRk
ZW47CisgICAgcmV0dXJuIG92ZXJmbG93WTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmgKaW5kZXggZDM3N2VhNjgyNzg3NmNlMTRhNmU5MDgwMGU1NzAyZDU2
ZGNmNDgzZC4uMzE5MWEzMjRjNzhmNjA4MTg1NjQzMTdiYzc4M2FhZDgxNTYzYzc4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yMTEsNiArMjExLDkgQEAg
cHVibGljOgogICAgIGJvb2wgZGlkQ29udGlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQ7IH0KICAgICB2b2lkIHNldERpZENvbnRpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQoKSB7IG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgPSB0
cnVlOyB9CiAKKyAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1
cm4gbV9wYWludENvbnRhaW5tZW50QXBwbGllczsgfQorICAgIHZvaWQgc2V0UGFpbnRDb250YWlu
bWVudEFwcGxpZXMoYm9vbCBiKSB7IG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMgPSBiOyB9CisK
ICAgICBib29sIHJlcGFpbnRGb3JQYXVzZWRJbWFnZUFuaW1hdGlvbnNJZk5lZWRlZChjb25zdCBJ
bnRSZWN0JiB2aXNpYmxlUmVjdCwgQ2FjaGVkSW1hZ2UmKTsKICAgICBib29sIGhhc1BhdXNlZElt
YWdlQW5pbWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGF1c2VkSW1hZ2VBbmltYXRpb25z
OyB9CiAgICAgdm9pZCBzZXRIYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMoYm9vbCBiKSB7IG1faGFz
UGF1c2VkSW1hZ2VBbmltYXRpb25zID0gYjsgfQpAQCAtMjU3LDYgKzI2MCwxMSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKE1vbm90b25pY1RpbWUgPSBNb25v
dG9uaWNUaW1lKCkpIHsgfQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gYW5pbWF0
ZWRTdHlsZSgpOwogCisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3Q7Cisg
ICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZm
ZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6IGVmZmVjdGl2
ZU92ZXJmbG93WSgpOyB9CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0KKwogcHJvdGVj
dGVkOgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdEZsYWcgID0gMSA8PCAwLApAQCAtMzgxLDYgKzM4OSw4IEBAIHByaXZhdGU6CiAKICAgICB1
bnNpZ25lZCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IDogMTsK
IAorICAgIHVuc2lnbmVkIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMgOiAxOworCiAgICAgUmVu
ZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgUmVuZGVyT2JqZWN0KiBtX2xhc3RDaGlsZDsK
IApAQCAtNDQ2LDcgKzQ1Niw4IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRh
aW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIC8vIEZJWE1FOiB3aWxsLWNo
YW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcgYmxvY2tzIG9uIGlubGluZSBib3hlcyAoYnVn
IDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFu
Z2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91
dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKLSAg
ICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcyk7CisgICAgICAgIHx8
IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFw
cGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIGlubGluZSBib29sIFJlbmRlckVsZW1l
bnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdApAQCAtNDU3
LDYgKzQ2OCw3IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0
ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygp
ICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVz
Q29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNT
VkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVu
dCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKQog
ICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMDkxMDEwMmU2NWU2ZmIzMzc5N2I3YWM4
YzVkZjM0Y2I3ZDdkMDc5YS4uZDBhZmQwZjQ0NGJlZjIwMTBjMjBmMmJhMzkyNGYxZDcwYjdmYTBi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CkBAIC0xNjY1LDE1ICsxNjY1LDE1IEBAIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFz
SW50cmluc2ljTWFpbkF4aXNTaXplKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpCiBPdmVyZmxvdyBS
ZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRlckJv
eCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkKLSAgICAgICAg
cmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxl
KCkub3ZlcmZsb3dZKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1go
KTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiB9CiAKIE92ZXJmbG93
IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRl
ckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkKLSAgICAg
ICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7Ci0gICAgcmV0dXJuIGNoaWxkLnN0
eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxv
d1koKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7CiB9CiAKIGJvb2wg
UmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzUGVyY2VudEhlaWdodERlc2NlbmRhbnRzKGNvbnN0
IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRleCBiMzIzNGUwMTNjNjc4YjYz
YTc4ODc0NDU4MWRiOTA3ZjFkNjliODg3Li44YmU1ZDBkOTRhNTJlNWRlMjJkODYwNWU5ZjdiM2Nl
NzU5M2FkNmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJh
Z21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
cmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTE1OSwxNCArMTU5LDE0IEBAIExheW91dFJlY3QgUmVu
ZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93UG9ydGlv
bihjb25zdCBMCiAgICAgaWYgKG1fZnJhZ21lbnRlZEZsb3ctPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gaXNGaXJzdFBvcnRpb24gPyBmcmFn
bWVudGVkRmxvd092ZXJmbG93LnkoKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgpOwog
ICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBpc0xhc3RQb3J0aW9uID8gc3RkOjptYXgoZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WSgp
KSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpOwotICAgICAgICBib29sIGNsaXBY
ID0gc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICAgICAgYm9v
bCBjbGlwWCA9IGVmZmVjdGl2ZU92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlOwogICAg
ICAgICBMYXlvdXRVbml0IG1pblggPSBjbGlwWCA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qu
eCgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54KCksIGZyYWdtZW50ZWRG
bG93T3ZlcmZsb3cueCgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gY2xpcFggPyBmcmFn
bWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSA6IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9y
dGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFgoKSk7CiAgICAgICAg
IGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwgbWF4WSAtIG1p
blkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWCA9IGlzRmlyc3RQb3J0
aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25S
ZWN0LngoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6
bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJm
bG93Lm1heFgoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKTsKLSAgICAgICAg
Ym9vbCBjbGlwWSA9IHN0eWxlKCkub3ZlcmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7Cisg
ICAgICAgIGJvb2wgY2xpcFkgPSBlZmZlY3RpdmVPdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6Vmlz
aWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gY2xpcFkgPyBmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0LnkoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgpLCBm
cmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WSA9IGNs
aXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCkgOiBzdGQ6Om1heChmcmFnbWVu
dGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhZKCkpOwog
ICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAtIG1pblgsIG1h
eFkgLSBtaW5ZKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4
IDFmMTFhOTc4ZTMxNWJhZGQ3YWNjODIzYjcxZDdkODUwODhmMDNlZjMuLjdiN2YxNWZjNjM1YTE0
NjgyNGE2MGI4MWQxODU1NmQxYjM2OWRiNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0
YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJlbmRl
cmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhhc0lzb2xh
dGlvbigpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkK
KyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAg
ICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5bGUoKS53
aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKTsKIH0KIApAQCAtNTg0LDcg
KzU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25z
dAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8
fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhh
c0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVy
KCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNldElz
Tm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpAQCAtNDQ2OSw3ICs0NDcwLDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0Nv
bnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJm
bG93Q2xpcCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkub3ZlcmZsb3dDbGlwUmVj
dEZvckNoaWxkTGF5ZXJzKG9mZnNldCwgbnVsbHB0ciwgY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5
U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSk7CiAgICAgICAgICAgICBuZXdPdmVyZmxvd0NsaXAuc2V0
QWZmZWN0ZWRCeVJhZGl1cyhyZW5kZXJlcigpLnN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpOwog
ICAgICAgICAgICAgY2xpcFJlY3RzLnNldE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5l
d092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSkpOwotICAgICAgICAg
ICAgaWYgKHJlbmRlcmVyKCkuaXNQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICBpZiAocmVuZGVy
ZXIoKS5pc1Bvc2l0aW9uZWQoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVy
ZXIoKSkpCiAgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2Vj
dGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFzQ2xpcCgpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDBkY2ZiY2Y2MDFkMzc4ZTI4NmM4MTgyYzRm
ZGM4NmEwMmRhMzk5MDAuLmMwNTk0NDM5MjkyZTQ5ZDI5YzJiZGYxNWRhMjVhNjAxOTY3NzNlYmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTE0LDMg
KzI1MTQsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0
IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVy
LnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRl
cmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAm
JiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkg
JiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sK
KyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJl
ci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJl
bmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVy
ZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAppbmRleCBmMjBmNzU5NWQ1ZTA0YzViMzI1ZDQ3YThkZTA1NmNjOWYxODQzYzA3
Li4zMzA5ODdhM2RlOGEwZGQ2OGQyOWNlNmY5OThlMTVhMWZiMDJjZmQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTk3LDYgKzExOTcsNyBAQCB2b2lkIHBy
aW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBw
bHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBw
bHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5
UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CmluZGV4IDM0NDBmMDc2NTYxY2FiMmFmYjlhMDUxYjYwZWZiNDFmMWQwMWNmNWMuLmUyOTllZmYw
MjY3NjJlOTMwMjk5OWIxZWJlN2ViMWI1NTNkMzJlZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zMzAsOCArMzMwLDYgQEAgcHVibGljOgog
ICAgIAogICAgIE92ZXJmbG93IG92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PE92ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WCk7IH0KICAgICBPdmVyZmxv
dyBvdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4obV9ub25J
bmhlcml0ZWRGbGFncy5vdmVyZmxvd1kpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dJbmxpbmVE
aXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gb3Zl
cmZsb3dYKCkgOiBvdmVyZmxvd1koKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93QmxvY2tEaXJl
Y3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gb3ZlcmZs
b3dZKCkgOiBvdmVyZmxvd1goKTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUoKSBjb25z
dCB7IHJldHVybiBvdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBvdmVyZmxvd1ko
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsgfQogCiAgICAgT3ZlcnNjcm9sbEJlaGF2aW9yIG92ZXJz
Y3JvbGxCZWhhdmlvclgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyc2Nyb2xsQmVo
YXZpb3I+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm92ZXJzY3JvbGxCZWhhdmlvclgpOyB9CkBA
IC01MjgsNiArNTI2LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29u
dGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0K
ICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJv
b2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5z
UGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNv
bnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24o
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0
aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlv
bj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJs
ZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY4Yjg0NDk5ODY1ZmJmZTkyZmNhZWE4MDcwYWQyMjE1Yjk2
NjBiZTAuLjc1M2NmYWY1NjE1Mjk5NmFjOGU5NTNlNjJkNDFlMjEzZjMzMWY3OWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAyMS0wNi0xNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhhdCBw
YXNzIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMTYgIEFy
Y2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dMSUJdIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcsIGFkZCBzb21lIG5ldyBUaW1pbmctQWxs
b3ctT3JpZ2luIGZhaWx1cmVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkMDNh
OWM4OTgzOGJiMGFlOWM4NmM5ZmVhYTg1ZTBhN2UyZGU1ZmJiLi4yZjc2OTUxOTI5NDNjMTgxNDZh
MTc3MTAxYjQ3ZjlhMjU3NTc0OGM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAyMS0wNi0xNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3Rh
dGlvbiBub3cgdGhhdCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3Ry
aWN0LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNi0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENoZWNrIGZvciAieG4tLSIgaW4gYW55IHN1
YmRvbWFpbiB3aGVuIHBhcnNpbmcgVVJMIGhvc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhYzU3
YjNiNDkyNzdkZmRlZTk1Y2Q3YTA0MjAzMTQ3NGJkZjQ5NjA2Li42Mzk2ODBlMjczNTQ4NDI1YzYw
Mjg5OGEwMDM2OTBlYTY4YTYxMmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2MzAsNiArNDYz
MCwxMCBAQCB3ZWJhbmltYXRpb25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1hbmQtdHJhbnNsYXRlLWFu
aW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYQogIyBDU1MgY29udGFpbm1lbnQgdGVzdHMg
dGhhdCBmYWlsCiAjIHdlYmtpdC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NjQ0
LDQ5ICs0NjQ4LDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWIKIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDEwLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
MDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIwLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIzLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDQ4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwNi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2xpcC0wMTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KKyMgY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIGFuZCBjb250YWluLXBhaW50
LWNsaXAtMDE2Lmh0bWwgbmVlZCBmdXp6eSBtYXRjaGluZy4KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0w
MTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stYWJzb2x1dGUtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1maXhlZC0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtZmxvYXQtMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LW1hcmdpbi0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pZmMtMDExLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtaW5kZXBlbmRlbnQtZm9ybWF0dGluZy1jb250ZXh0LTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtc2l6ZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXpl
LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAx
YS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0
cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxl
LWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0
CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkz
N2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRl
bS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlu
cy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsxLDEzIEBACiBTdHJldGNoZWQ6CiAKLUNv
bHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwogRmxleC1zdGFydDoKIAotQ29sdW1uCiAKLVJv
dwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433212</attachid>
            <date>2021-07-09 05:56:43 -0700</date>
            <delta_ts>2021-07-31 01:35:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210709145642.patch</filename>
            <type>text/plain</type>
            <size>34295</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Nzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE0YmNjYWI0ZmQyMGFm
YTdjOTNkMjM1N2JiYmQ2Y2I2MmUyOTZjOS4uZGU4MDEzYjI3OGU3NDVkYWQwMTMzNDcxNDY1MjE4
MTk1YjQ2MGMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA3LTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAgY29u
c3QpOgorCiAyMDIxLTA3LTA5ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV1bbGlic291cF0gVGVzdCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nvb2tpZXMvc2FtZXNpdGUvYWJvdXQtYmxhbmstdG9wbGV2
ZWwuaHR0cHMuaHRtbCBjcmFzaGVzIHNpbmNlIGl0IHdhcyBpbXBvcnRlZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCmluZGV4IGE3ZTlmMzNlYTZlZmZjZGExMmFiNTZiYjg2MThjOGViNWUyY2Rh
NjAuLjU5M2ViOWI4YWQxZGQ4OGFhMjY3M2EwMjNiNWJiMDJiNzI5ZTM2NTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKQEAgLTYzNSw4ICs2MzUsOCBAQCB2b2lkIEZyYW1lVmlldzo6YXBw
bHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9s
bGJhcgogCiAgICAgYm9vbCBvdmVycmlkZUhpZGRlbiA9IGZyYW1lKCkuaXNNYWluRnJhbWUoKSAm
JiAoKGZyYW1lKCkuZnJhbWVTY2FsZUZhY3RvcigpID4gMSkgfHwgaGVhZGVySGVpZ2h0KCkgfHwg
Zm9vdGVySGVpZ2h0KCkpOwogCi0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuc3R5
bGUoKS5vdmVyZmxvd1goKTsKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5zdHls
ZSgpLm92ZXJmbG93WSgpOworICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLmVmZmVj
dGl2ZU92ZXJmbG93WCgpOworICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLmVmZmVj
dGl2ZU92ZXJmbG93WSgpOwogCiAgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KHJlbmRlcmVyKSkg
ewogICAgICAgICAvLyBGSVhNRTogZXZhbHVhdGUgaWYgd2UgY2FuIGFsbG93IG92ZXJmbG93IGZv
ciB0aGVzZSBjYXNlcyB0b28uCkBAIC02OTgsMTIgKzY5OCwxMiBAQCB2b2lkIEZyYW1lVmlldzo6
YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9ydCgpCiAKICAgICBhdXRvKiBib2R5ID0gZG9jdW1lbnQt
PmJvZHkoKTsKICAgICBpZiAoYm9keSAmJiBib2R5LT5yZW5kZXJlcigpKSB7Ci0gICAgICAgIGRv
Y3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRF
bGVtZW50KSA/CisgICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRl
cmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxI
dG1sRWxlbWVudD4oKmRvY3VtZW50RWxlbWVudCkgPwogICAgICAgICAgICAgYm9keS0+cmVuZGVy
ZXIoKSA6ICZkb2N1bWVudFJlbmRlcmVyOwogICAgIH0KIAogICAgIFBhZ2luYXRpb24gcGFnaW5h
dGlvbjsKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5z
dHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JC
b2R5UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogICAgIGlmIChvdmVyZmxvd1kgPT0g
T3ZlcmZsb3c6OlBhZ2VkWCB8fCBvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWSkgewogICAg
ICAgICBwYWdpbmF0aW9uLm1vZGUgPSBXZWJDb3JlOjpwYWdpbmF0aW9uTW9kZUZvclJlbmRlclN0
eWxlKGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkpOwogICAgICAgICBHYXBMZW5ndGgg
Y29sdW1uR2FwTGVuZ3RoID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5jb2x1bW5H
YXAoKTsKQEAgLTc2NSw3ICs3NjUsNyBAQCB2b2lkIEZyYW1lVmlldzo6Y2FsY3VsYXRlU2Nyb2xs
YmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFyTW9kZSYgaE1vZGUsIFNjcm9sbGJhcgogICAgIGlm
IChpczxIVE1MQm9keUVsZW1lbnQ+KCpib2R5T3JGcmFtZXNldCkgJiYgcm9vdFJlbmRlcmVyKSB7
CiAgICAgICAgIC8vIEl0J3Mgc3VmZmljaWVudCB0byBqdXN0IGNoZWNrIHRoZSBYIG92ZXJmbG93
LAogICAgICAgICAvLyBzaW5jZSBpdCdzIGlsbGVnYWwgdG8gaGF2ZSB2aXNpYmxlIGluIG9ubHkg
b25lIGRpcmVjdGlvbi4KLSAgICAgICAgaWYgKHJvb3RSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxv
d1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50
RWxlbWVudCkpIHsKKyAgICAgICAgaWYgKHJvb3RSZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVs
ZW1lbnQpKSB7CiAgICAgICAgICAgICBhdXRvKiBib2R5UmVuZGVyZXIgPSBib2R5T3JGcmFtZXNl
dC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgIGlmIChib2R5UmVuZGVyZXIpIHsKICAgICAgICAg
ICAgICAgICBhcHBseU92ZXJmbG93VG9WaWV3cG9ydCgqYm9keVJlbmRlcmVyLCBoTW9kZSwgdk1v
ZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtLmNwcAppbmRleCBkYTg5MTNkYmU3YmJjOTQ1YWM1YzVkYzk3NmE5MzY3ZWE5MTFj
MjA5Li4xYWQ3OTY3M2JhZjhlYTI0NjJlNjhiMjdiNDBiZjIzMTVjODdiMzIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNw
cApAQCAtODA1LDcgKzgwNSw3IEBAIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
U3RyYXRlZ3k6Om1pblNpemVGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkKSBjCiAgICAgICAgIHJl
dHVybiBtaW5Db250ZW50Rm9yQ2hpbGQoY2hpbGQpOwogCiAgICAgY29uc3QgTGVuZ3RoJiBjaGls
ZE1pblNpemUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpIDog
Y2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAgYm9vbCBvdmVyZmxvd0lzVmlz
aWJsZSA9IGlzUm93QXhpcyA/IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24o
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSA6IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dCbG9ja0RpcmVj
dGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlOworICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUg
PSBpc1Jvd0F4aXMgPyBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09
IE92ZXJmbG93OjpWaXNpYmxlIDogY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlv
bigpID09IE92ZXJmbG93OjpWaXNpYmxlOwogICAgIExheW91dFVuaXQgYmFzZWxpbmVTaGltID0g
bV9hbGdvcml0aG0uYmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCwgZ3JpZEF4aXNGb3JEaXJl
Y3Rpb24oZGlyZWN0aW9uKCkpKTsKIAogICAgIGlmIChjaGlsZE1pblNpemUuaXNBdXRvKCkgJiYg
b3ZlcmZsb3dJc1Zpc2libGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggNjg5YjE3ZGMwODBlZWI1NTBhMmFiNzQ4NmJmYjg3ZWM4Y2E5ODRmMS4uMTVjNjJkOGUy
NWRkOTBhMGQ3NTI0NWQ4MWM5ZGI5NDlkNDUzNjg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKQEAgLTQ4Miw3ICs0ODIsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRl
RnJvbVN0eWxlKCkKICAgICBzZXRGbG9hdGluZyghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYg
c3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkpOwogCiAgICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+
IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJmbG93IGFwcGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAg
IGlmIChzdHlsZVRvVXNlLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlICYmICFpc0Rv
Y0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKKyAgICBpZiAoZWZmZWN0aXZl
T3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVy
ICYmIGlzUmVuZGVyQmxvY2soKSkgewogICAgICAgICBib29sIGJveEhhc092ZXJmbG93Q2xpcCA9
IHRydWU7CiAgICAgICAgIGlmIChpc0JvZHkoKSkgewogICAgICAgICAgICAgLy8gT3ZlcmZsb3cg
b24gdGhlIGJvZHkgY2FuIHByb3BhZ2F0ZSB0byB0aGUgdmlld3BvcnQgdW5kZXIgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zLgpAQCAtNDkxLDcgKzQ5MSw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRh
dGVGcm9tU3R5bGUoKQogICAgICAgICAgICAgLy8gKDMpIFRoZSByb290IGVsZW1lbnQgaGFzIHZp
c2libGUgb3ZlcmZsb3cuCiAgICAgICAgICAgICBpZiAoaXM8SFRNTEh0bWxFbGVtZW50PigqZG9j
dW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgp
LmJvZHkoKSA9PSBlbGVtZW50KCkKLSAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3Vt
ZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93
OjpWaXNpYmxlKSB7CisgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyZXIoKS0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2li
bGUpIHsKICAgICAgICAgICAgICAgICBib3hIYXNPdmVyZmxvd0NsaXAgPSBmYWxzZTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQpAQCAtNjYyLDcgKzY2Miw3IEBAIExheW91dFVuaXQgUmVuZGVy
Qm94Ojpjb25zdHJhaW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoTGF5b3V0VW5pdCBs
b2dpY2FsCiAgICAgaWYgKGFsbG93SW50cmluc2ljID09IEFsbG93SW50cmluc2ljOjpObyAmJiBz
dHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLmlzSW50cmluc2ljKCkpCiAgICAgICAgIHJldHVy
biBsb2dpY2FsV2lkdGg7CiAgICAgYXV0byBtaW5MZW5ndGggPSBzdHlsZVRvVXNlLmxvZ2ljYWxN
aW5XaWR0aCgpOwotICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYgbWluTGVu
Z3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0
eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1VzZS5sb2dp
Y2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd0lubGluZURp
cmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYgKHN0eWxlVG9Vc2UuaGFz
QXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2UubG9naWNh
bFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRl
bnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAmJiBlZmZl
Y3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAg
ICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBhY3R1YWxseSB1c2VkIHRoZSBhc3BlY3QgcmF0aW8uCiAg
ICAgICAgIGlmIChzaG91bGRDb21wdXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKCkpCiAg
ICAgICAgICAgICBtaW5MZW5ndGggPSBMZW5ndGgoTGVuZ3RoVHlwZTo6TWluSW50cmluc2ljKTsK
QEAgLTY3OCw3ICs2NzgsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNh
bEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICAgICAg
bG9naWNhbEhlaWdodCA9IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAg
ICAgfQogICAgIGF1dG8gbG9naWNhbE1pbkhlaWdodCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhl
aWdodCgpOwotICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1
dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdo
dCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6Vmlz
aWJsZSkKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRl
TG9naWNhbEhlaWdodEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQg
JiYgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
KQogICAgICAgICBsb2dpY2FsTWluSGVpZ2h0ID0gTGVuZ3RoKCppbnRyaW5zaWNDb250ZW50SGVp
Z2h0LCBMZW5ndGhUeXBlOjpGaXhlZCk7CiAgICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNNaW5D
b250ZW50KCkgfHwgbG9naWNhbE1pbkhlaWdodC5pc01heENvbnRlbnQoKSkKICAgICAgICAgbG9n
aWNhbE1pbkhlaWdodCA9IExlbmd0aCgpOwpAQCAtNDc4OCw3ICs0Nzg4LDcgQEAgYm9vbCBSZW5k
ZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9z
aXRpb25lZCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpIHx8IGlzRmxleEl0ZW1JbmNsdWRpbmdEZXBy
ZWNhdGVkKCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc1RhYmxlQ2FwdGlvbigpIHx8
IGlzRmllbGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8IGlzRG9jdW1lbnRFbGVtZW50
UmVuZGVyZXIoKSB8fCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkgfHwgaXNSZW5kZXJGcmFnbWVu
dENvbnRhaW5lcigpCi0gICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBpc0dy
aWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5T
cGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlU
eXBlOjpGbG93Um9vdDsKKyAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IHN0
eWxlKCkuY29udGFpbnNQYWludCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmll
c0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwg
c3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJl
bmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGM4YWRhZjJiYTgxOTMyMWM0Y2Jm
YjU0ZGJjN2MzZDcyZjIwOWYzMGUuLmVmZTY0ZDc0ZTJlNGZjYjFiODYxN2Q1MzU4ZDdjOWIwMmFl
OTBhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcApAQCAtMjExLDYgKzIxMSw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6
OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0SG9yaXpvbnRhbFdyaXRpbmdNb2RlKHN0eWxlVG9V
c2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSk7CiAgICAgaWYgKHN0eWxlVG9Vc2UuaXNGbGlw
cGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhh
c0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKKyAgICBzZXRQYWludENvbnRhaW5tZW50QXBw
bGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKTsKIH0KIAogc3RhdGljIExh
eW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmpl
Y3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmlu
ZGV4IDIxOTkzZDFjZWYxZWE4MTM2YmUwNzJiNWM4MGZiODEwNDY2NWY4NTkuLmJlYzk0ZWNkMzg0
MzQyN2JlMmQ5OTczODcyZjNjNWI5MGI5YjUzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJlbmRlckVsZW1lbnQpOwogCiBzdHJ1Y3Qg
U2FtZVNpemVBc1JlbmRlckVsZW1lbnQgOiBwdWJsaWMgUmVuZGVyT2JqZWN0IHsKLSAgICB1bnNp
Z25lZCBiaXRmaWVsZHMgOiAyNTsKKyAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNjsKICAgICB2
b2lkKiBmaXJzdENoaWxkOwogICAgIHZvaWQqIGxhc3RDaGlsZDsKICAgICBSZW5kZXJTdHlsZSBz
dHlsZTsKQEAgLTEyMyw2ICsxMjMsNyBAQCBpbmxpbmUgUmVuZGVyRWxlbWVudDo6UmVuZGVyRWxl
bWVudChDb250YWluZXJOb2RlJiBlbGVtZW50T3JEb2N1bWVudCwgUmVuZGVyU3R5bAogICAgICwg
bV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxlSW5WaWV3cG9ydENhbGxiYWNrKGZhbHNlKQogICAgICwg
bV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihWaXNpYmxlSW5W
aWV3cG9ydFN0YXRlOjpVbmtub3duKSkKICAgICAsIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQoZmFsc2UpCisgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVz
KGZhbHNlKQogICAgICwgbV9maXJzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX2xhc3RDaGlsZChu
dWxscHRyKQogICAgICwgbV9zdHlsZShXVEZNb3ZlKHN0eWxlKSkKQEAgLTIyOTEsNyArMjI5Miw3
IEBAIHN0YXRpYyBSZW5kZXJPYmplY3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5v
bkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4o
cmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYg
dGhlIG92ZXJmbG93IHNpemUgb2YgdGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lm
aWVkCiAgICAgICAgICAgICAvLyBoZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRv
LXNpemluZy4KLSAgICAgICAgICAgIGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZQorICAgICAgICAgICAgaWYgKGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlciku
ZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKICAgICAgICAgICAgICAg
ICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRl
cmVyKS5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IFJlbmRlck9iamVjdDo6T3ZlcmZsb3dIZWlnaHQ7CiAgICAgICAgIH0KQEAgLTIzNzEsNCArMjM3
MiwyMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IFJlbmRlckVsZW1lbnQ6OmFuaW1h
dGVkU3R5bGUoKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK092ZXJmbG93IFJlbmRlckVsZW1l
bnQ6OmVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1ggPSBz
dHlsZSgpLm92ZXJmbG93WCgpOworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpICYm
IG92ZXJmbG93WCA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93
OjpIaWRkZW47CisgICAgcmV0dXJuIG92ZXJmbG93WDsKK30KKworT3ZlcmZsb3cgUmVuZGVyRWxl
bWVudDo6ZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WSA9
IHN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkg
JiYgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZs
b3c6OkhpZGRlbjsKKyAgICByZXR1cm4gb3ZlcmZsb3dZOworfQorCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCBkMzc3ZWE2ODI3ODc2Y2UxNGE2ZTkwODAw
ZTU3MDJkNTZkY2Y0ODNkLi4zMTkxYTMyNGM3OGY2MDgxODU2NDMxN2JjNzgzYWFkODE1NjNjNzhi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTIxMSw2ICsy
MTEsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBkaWRDb250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVt
cHR5UGl4ZWxDb3VudDsgfQogICAgIHZvaWQgc2V0RGlkQ29udGlidXRlVG9WaXN1YWxseU5vbkVt
cHR5UGl4ZWxDb3VudCgpIHsgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxD
b3VudCA9IHRydWU7IH0KIAorICAgIGJvb2wgcGFpbnRDb250YWlubWVudEFwcGxpZXMoKSBjb25z
dCB7IHJldHVybiBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzOyB9CisgICAgdm9pZCBzZXRQYWlu
dENvbnRhaW5tZW50QXBwbGllcyhib29sIGIpIHsgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyA9
IGI7IH0KKwogICAgIGJvb2wgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVk
KGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBDYWNoZWRJbWFnZSYpOwogICAgIGJvb2wgaGFz
UGF1c2VkSW1hZ2VBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQYXVzZWRJbWFnZUFu
aW1hdGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhib29sIGIp
IHsgbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMgPSBiOyB9CkBAIC0yNTcsNiArMjYwLDExIEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGlt
ZSA9IE1vbm90b25pY1RpbWUoKSkgeyB9CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxl
PiBhbmltYXRlZFN0eWxlKCk7CiAKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1goKSBj
b25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdDsKKyAgICBPdmVy
ZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0
eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDog
ZWZmZWN0aXZlT3ZlcmZsb3dZKCk7IH0KKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Js
b2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQor
CiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAsCkBAIC0zODEsNiArMzg5LDggQEAgcHJpdmF0ZToK
IAogICAgIHVuc2lnbmVkIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291
bnQgOiAxOwogCisgICAgdW5zaWduZWQgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyA6IDE7CisK
ICAgICBSZW5kZXJPYmplY3QqIG1fZmlyc3RDaGlsZDsKICAgICBSZW5kZXJPYmplY3QqIG1fbGFz
dENoaWxkOwogCkBAIC00NDYsNyArNDU2LDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6
Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6
IHdpbGwtY2hhbmdlIHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJv
eGVzIChidWcgMjI1MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCku
d2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Js
b2NrRm9yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmpl
Y3QoKQotICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAg
ICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwg
c2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVu
ZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0
CkBAIC00NTcsNiArNDY4LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFp
bkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRl
ckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkt
PmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAg
ICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENv
bnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQo
KnRoaXMpCiAgICAgICAgIHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAxZWU4Mzk2MTFkYmY1ZTUz
OGM2NjQ1MjkyODkyZDdmMjEzZDBhZGVmLi4zYzQwMDkxNjk1ZTAwMDMwZDQ1ZWFkY2UxMDE4MmVj
NDcwNWE3MTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAKQEAgLTE3MzgsMTUgKzE3MzgsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6
Y2hpbGRIYXNJbnRyaW5zaWNNYWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92
ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3Qg
UmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQot
ICAgICAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hp
bGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92
ZXJmbG93WCgpOworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAog
T3ZlcmZsb3cgUmVuZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29u
c3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygp
KQotICAgICAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4g
Y2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2
ZU92ZXJmbG93WSgpOworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0K
IAogYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFu
dHMoY29uc3QgUmVuZGVyQm94JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IGIzMjM0ZTAx
M2M2NzhiNjNhNzg4NzQ0NTgxZGI5MDdmMWQ2OWI4ODcuLjhiZTVkMGQ5NGE1MmU1ZGUyMmQ4NjA1
ZTlmN2IzY2U3NTkzYWQ2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcApAQCAtMTU5LDE0ICsxNTksMTQgQEAgTGF5b3V0
UmVjdCBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6b3ZlcmZsb3dSZWN0Rm9yRnJhZ21lbnRlZEZs
b3dQb3J0aW9uKGNvbnN0IEwKICAgICBpZiAobV9mcmFnbWVudGVkRmxvdy0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSkgewogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBpc0ZpcnN0UG9ydGlv
biA/IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueSgpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVj
dC55KCk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WSA9IGlzTGFzdFBvcnRpb24gPyBzdGQ6Om1h
eChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxv
dy5tYXhZKCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCk7Ci0gICAgICAgIGJv
b2wgY2xpcFggPSBzdHlsZSgpLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlOworICAg
ICAgICBib29sIGNsaXBYID0gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2li
bGU7CiAgICAgICAgIExheW91dFVuaXQgbWluWCA9IGNsaXBYID8gZnJhZ21lbnRlZEZsb3dQb3J0
aW9uUmVjdC54KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKSwgZnJh
Z21lbnRlZEZsb3dPdmVyZmxvdy54KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBjbGlw
WCA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpIDogc3RkOjptYXgoZnJhZ21lbnRl
ZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgpKTsK
ICAgICAgICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBt
YXhZIC0gbWluWSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gaXNG
aXJzdFBvcnRpb24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LngoKSA6IGZyYWdtZW50ZWRGbG93
UG9ydGlvblJlY3QueCgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBpc0xhc3RQb3J0aW9u
ID8gc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRG
bG93T3ZlcmZsb3cubWF4WCgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpOwot
ICAgICAgICBib29sIGNsaXBZID0gc3R5bGUoKS5vdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6Vmlz
aWJsZTsKKyAgICAgICAgYm9vbCBjbGlwWSA9IGVmZmVjdGl2ZU92ZXJmbG93WSgpICE9IE92ZXJm
bG93OjpWaXNpYmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBjbGlwWSA/IGZyYWdtZW50
ZWRGbG93UG9ydGlvblJlY3QueSgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVj
dC55KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueSgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBt
YXhZID0gY2xpcFkgPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSA6IHN0ZDo6bWF4
KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1h
eFkoKSk7CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0g
bWluWCwgbWF4WSAtIG1pblkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggMTYxYzI2MmYwNWUyNmU4OTgwOGY5MGQ5MGZmMjEwZDFmNjE5OTA2My4uZWJjYWE3
NDRmNTc0NTk1YTllMmM2MWMyMGQzZWE5ZTFhMDI3YzlmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTUsNiArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2Fu
Q3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAg
fHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAgICAgIHx8IHJlbmRlcmVyLnN0eWxlKCku
aGFzSXNvbGF0aW9uKCkKICAgICAgICAgfHwgIXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRa
SW5kZXgoKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIp
CiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiByZW5kZXJlci5z
dHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KCkpOwogfQogCkBA
IC01ODQsNyArNTg1LDcgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25s
eSgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJ
bmRleCgpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CisgICAgcmV0dXJuICFyZW5kZXJlcigpLnN0
eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQo
cmVuZGVyZXIoKSkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXll
cjo6c2V0SXNOb3JtYWxGbG93T25seShib29sIGlzTm9ybWFsRmxvd09ubHkpCkBAIC00NDcwLDcg
KzQ0NzEsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xp
cFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICAgICAgQ2xpcFJlY3Qg
bmV3T3ZlcmZsb3dDbGlwID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5vdmVyZmxv
d0NsaXBSZWN0Rm9yQ2hpbGRMYXllcnMob2Zmc2V0LCBudWxscHRyLCBjbGlwUmVjdHNDb250ZXh0
Lm92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5KTsKICAgICAgICAgICAgIG5ld092ZXJmbG93
Q2xpcC5zZXRBZmZlY3RlZEJ5UmFkaXVzKHJlbmRlcmVyKCkuc3R5bGUoKS5oYXNCb3JkZXJSYWRp
dXMoKSk7CiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNl
Y3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7Ci0g
ICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgICAgIGlm
IChyZW5kZXJlcigpLmlzUG9zaXRpb25lZCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dChyZW5kZXJlcigpKSkKICAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3Qo
aW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsK
ICAgICAgICAgfQogICAgICAgICBpZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMGRjZmJjZjYwMWQzNzhlMjg2
YzgxODJjNGZkYzg2YTAyZGEzOTkwMC4uYzA1OTQ0MzkyOTJlNDlkMjljMmJkZjE1ZGEyNWE2MDE5
Njc3M2ViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAg
LTI1MTQsMyArMjUxNCw5IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKIHsKICAgICByZXR1cm4g
cmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1NpemUoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkg
fHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5
VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1RhYmxlQ2Fw
dGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJsZSgpOwogfQorCitib29sIFdlYkNvcmU6OnNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRl
cmVyKQoreworICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zUGFpbnQoKSAmJiAo
IXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgp
KSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8
fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxvdygpKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGYyMGY3NTk1ZDVlMDRjNWIzMjVkNDdhOGRlMDU2Y2M5
ZjE4NDNjMDcuLjMzMDk4N2EzZGU4YTBkZDY4ZDI5Y2U2Zjk5OGUxNWExZmIwMmNmZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTExOTcsNiArMTE5Nyw3IEBA
IHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsKIAogYm9vbCBz
aG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBz
aG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKK2Jvb2wgc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKaW5kZXggNzNmNWFjZjUyZTI0YWRkYmJlMGRiZjU0YWVkNzk1ODNjYmJiOGM4My4u
MDk5Y2QyYjFlMzM4M2FiZGZlM2I1ZTdjNjU5MzkzZTA3YWZhMDMzNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTMzMCw4ICszMzAsNiBAQCBw
dWJsaWM6CiAgICAgCiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dYKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mub3ZlcmZsb3dYKTsgfQogICAg
IE92ZXJmbG93IG92ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJmbG93
PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WSk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxv
d0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyBvdmVyZmxvd1goKSA6IG92ZXJmbG93WSgpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dC
bG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBvdmVyZmxvd1koKSA6IG92ZXJmbG93WCgpOyB9CiAgICAgYm9vbCBpc092ZXJmbG93VmlzaWJs
ZSgpIGNvbnN0IHsgcmV0dXJuIG92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlIHx8IG92
ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlOyB9CiAKICAgICBPdmVyc2Nyb2xsQmVoYXZp
b3Igb3ZlcnNjcm9sbEJlaGF2aW9yWCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJz
Y3JvbGxCZWhhdmlvcj4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+b3ZlcnNjcm9sbEJlaGF2aW9y
WCk7IH0KQEAgLTUyOCw2ICs1MjYsNyBAQCBwdWJsaWM6CiAgICAgT3B0aW9uU2V0PENvbnRhaW5t
ZW50PiBjb250YWluKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29u
dGFpbjsgfQogICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9
CiAgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQorICAgIGJvb2wg
Y29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNv
bnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAgIEJveEFsaWdubWVudCBi
b3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBC
b3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94
RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBi
b3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRl
ZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAppbmRleCAzZjk4NzI5MTg4YTAxODg5MTkyMTJjZmI0ODZmZGU5Mzgx
YjBkNGFjLi43ZWJlMTMwNGIwNjc3Mjk1OWM1MTZlY2JkNjIxYjcwNGEzYTA0NzAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTIxNCw3
ICsyMTQsNyBAQCBib29sIFJlbmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5Vmlld3BvcnRDbGlwKCkg
Y29uc3QKICAgICAvLyB0aGUgb3V0ZXJtb3N0IHN2ZyBpcyBjbGlwcGVkIGlmIGF1dG8sIGFuZCBz
dmcgZG9jdW1lbnQgcm9vdHMgYXJlIGFsd2F5cyBjbGlwcGVkCiAgICAgLy8gV2hlbiB0aGUgc3Zn
IGlzIHN0YW5kLWFsb25lIChpc0RvY3VtZW50RWxlbWVudCgpID09IHRydWUpIHRoZSB2aWV3cG9y
dCBjbGlwcGluZyBzaG91bGQgYWx3YXlzCiAgICAgLy8gYmUgYXBwbGllZCwgbm90aW5nIHRoYXQg
dGhlIHdpbmRvdyBzY3JvbGxiYXJzIHNob3VsZCBiZSBoaWRkZW4gaWYgb3ZlcmZsb3c9aGlkZGVu
LgotICAgIHJldHVybiBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4KKyAg
ICByZXR1cm4gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkhpZGRlbgogICAgICAg
ICB8fCBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpBdXRvCiAgICAgICAgIHx8IHN0
eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlNjcm9sbAogICAgICAgICB8fCB0aGlzLT5p
c0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWVjOGViYmRiZDRmZDQxOTY4MWIy
YjYwMjA1YmU0MWQ3MmY1ZGQxZi4uZDdiZGFjMjJhNWIwMDVkOWQ0NjI4M2Q2NTgzODY3N2JkOTUy
MGE1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA3LTA5ICBSb2IgQnVpcyAgPHJidWlz
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46cGFp
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tp
cCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwog
MjAyMS0wNy0wOSAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXVtXUEVdW2xpYnNvdXBdIFRlc3QgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb29raWVzL3NhbWVzaXRlL2Fib3V0LWJsYW5rLXRvcGxldmVsLmh0dHBz
Lmh0bWwgY3Jhc2hlcyBzaW5jZSBpdCB3YXMgaW1wb3J0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IDZlOTFlM2NiZjVlMDljNDI4YWVmODlmZmY3NWMwMmVhNThhMTljODguLjFh
NjFhYzU1M2ExNDYzNzAxY2NiZmUyOTZhYzU5N2E4MDU0ZWVkNzYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA3LTA5ICBSb2IgQnVpcyAgPHJi
dWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46
cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
anVzdCB0ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRhaW46IHN0cmljdCBpcyBzdXBwb3J0
ZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgt
aXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA3LTA4ICBZdXN1a2Ug
U3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IFN0cnVjdHVyZWRDbG9u
ZSBmb3Igc3RyZWFtcyB0byBoYW5kbGUgQmlnSW50NjRBcnJheSAvIEJpZ1VpbnQ2NEFycmF5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBkMGMwM2JlMTFiNmYxZmY4MjFhZDFlYTc2NDBjNTkzYzExZjc0
NDg3Li5iZjY1YzI1MzdiZTliZjU0ZGM5YjQyZGMwYjExZDY1NWUyMDlmZmM3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTQ4MDMsNiArNDgwMywxMCBAQCB3ZWJhbmltYXRpb25zL3RyYW5zbGF0ZS1w
cm9wZXJ0eS1hbmQtdHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYQog
IyBDU1MgY29udGFpbm1lbnQgdGVzdHMgdGhhdCBmYWlsCiAjIHdlYmtpdC1ydWJ5LXRleHQKIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tbGF5
b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAw
OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCkBAIC00ODE3LDQ5ICs0ODIxLDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWIKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
MDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE0Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIyLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ3
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ4Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxs
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jbGlwLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDExLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1jbGlwLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNs
aXAtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKyMgY29udGFpbi1wYWludC1jbGlwLTAx
NS5odG1sIGFuZCBjb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgbmVlZCBmdXp6eSBtYXRjaGlu
Zy4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAx
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE3Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jbGlwLTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxv
Y2stYWJzb2x1dGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmlu
Zy1ibG9jay1maXhlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0
aW5nLWNvbnRleHQtZmxvYXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9y
bWF0dGluZy1jb250ZXh0LW1hcmdpbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1pZmMtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaW5kZXBlbmRlbnQtZm9y
bWF0dGluZy1jb250ZXh0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LXN0YWNraW5nLWNvbnRleHQtMDAxYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxl
LWNvdW50ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9m
bGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250
YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThl
ZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRlY2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
bGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsx
LDEzIEBACiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwogRmxl
eC1zdGFydDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434695</attachid>
            <date>2021-07-31 01:35:26 -0700</date>
            <delta_ts>2021-08-04 01:41:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210731103524.patch</filename>
            <type>text/plain</type>
            <size>34118</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTljZDM4ZWEwYjFmOWVh
MWY4MWI2Nzk3NWQ2ZGNjNmFmYzY5YWJmNC4uOWRiNWIzM2M1NzVkZTFhYTZkYjczMmJhNWExMjdh
ZTc3ZDBjMzE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA3LTMxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAgY29u
c3QpOgorCiAyMDIxLTA3LTMxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI4MDQ4OC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAppbmRleCA1MTQ3ZGQ3Yzk3ZmQyNjNiMGQ2YmI2ODM3NzA1YTUxMWUyY2Vk
NjE3Li5lOTI2N2RkODlhOWRjNzc4ZmU2MTkxMTY3YTA4YzNiYmY3NTRiMTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCkBAIC02MzUsOCArNjM1LDggQEAgdm9pZCBGcmFtZVZpZXc6OmFw
cGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBTY3Jv
bGxiYXIKIAogICAgIGJvb2wgb3ZlcnJpZGVIaWRkZW4gPSBmcmFtZSgpLmlzTWFpbkZyYW1lKCkg
JiYgKChmcmFtZSgpLmZyYW1lU2NhbGVGYWN0b3IoKSA+IDEpIHx8IGhlYWRlckhlaWdodCgpIHx8
IGZvb3RlckhlaWdodCgpKTsKIAotICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLnN0
eWxlKCkub3ZlcmZsb3dYKCk7Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuc3R5
bGUoKS5vdmVyZmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5lZmZl
Y3RpdmVPdmVyZmxvd1goKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5lZmZl
Y3RpdmVPdmVyZmxvd1koKTsKIAogICAgIGlmIChpczxSZW5kZXJTVkdSb290PihyZW5kZXJlcikp
IHsKICAgICAgICAgLy8gRklYTUU6IGV2YWx1YXRlIGlmIHdlIGNhbiBhbGxvdyBvdmVyZmxvdyBm
b3IgdGhlc2UgY2FzZXMgdG9vLgpAQCAtNzAwLDEyICs3MDAsMTIgQEAgdm9pZCBGcmFtZVZpZXc6
OmFwcGx5UGFnaW5hdGlvblRvVmlld3BvcnQoKQogCiAgICAgYXV0byogYm9keSA9IGRvY3VtZW50
LT5ib2R5KCk7CiAgICAgaWYgKGJvZHkgJiYgYm9keS0+cmVuZGVyZXIoKSkgewotICAgICAgICBk
b2N1bWVudE9yQm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93
WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50
RWxlbWVudCkgPworICAgICAgICBkb2N1bWVudE9yQm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5k
ZXJlci5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1M
SHRtbEVsZW1lbnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KICAgICAgICAgICAgIGJvZHktPnJlbmRl
cmVyKCkgOiAmZG9jdW1lbnRSZW5kZXJlcjsKICAgICB9CiAKICAgICBQYWdpbmF0aW9uIHBhZ2lu
YXRpb247Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+
c3R5bGUoKS5vdmVyZmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVudE9y
Qm9keVJlbmRlcmVyLT5lZmZlY3RpdmVPdmVyZmxvd1koKTsKICAgICBpZiAob3ZlcmZsb3dZID09
IE92ZXJmbG93OjpQYWdlZFggfHwgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpQYWdlZFkpIHsKICAg
ICAgICAgcGFnaW5hdGlvbi5tb2RlID0gV2ViQ29yZTo6cGFnaW5hdGlvbk1vZGVGb3JSZW5kZXJT
dHlsZShkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgR2FwTGVuZ3Ro
IGNvbHVtbkdhcExlbmd0aCA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkuY29sdW1u
R2FwKCk7CkBAIC03NjcsNyArNzY3LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmNhbGN1bGF0ZVNjcm9s
bGJhck1vZGVzRm9yTGF5b3V0KFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTY3JvbGxiYXIKICAgICBp
ZiAoaXM8SFRNTEJvZHlFbGVtZW50PigqYm9keU9yRnJhbWVzZXQpICYmIHJvb3RSZW5kZXJlcikg
ewogICAgICAgICAvLyBJdCdzIHN1ZmZpY2llbnQgdG8ganVzdCBjaGVjayB0aGUgWCBvdmVyZmxv
dywKICAgICAgICAgLy8gc2luY2UgaXQncyBpbGxlZ2FsIHRvIGhhdmUgdmlzaWJsZSBpbiBvbmx5
IG9uZSBkaXJlY3Rpb24uCi0gICAgICAgIGlmIChyb290UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZs
b3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVu
dEVsZW1lbnQpKSB7CisgICAgICAgIGlmIChyb290UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJmbG93
WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRF
bGVtZW50KSkgewogICAgICAgICAgICAgYXV0byogYm9keVJlbmRlcmVyID0gYm9keU9yRnJhbWVz
ZXQtPnJlbmRlcmVyKCk7CiAgICAgICAgICAgICBpZiAoYm9keVJlbmRlcmVyKSB7CiAgICAgICAg
ICAgICAgICAgYXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoKmJvZHlSZW5kZXJlciwgaE1vZGUsIHZN
b2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAKaW5kZXggZGE4OTEzZGJlN2JiYzk0NWFjNWM1ZGM5NzZhOTM2N2VhOTEx
YzIwOS4uMWFkNzk2NzNiYWY4ZWEyNDYyZTY4YjI3YjQwYmYyMzE1Yzg3YjMyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5j
cHAKQEAgLTgwNSw3ICs4MDUsNyBAQCBMYXlvdXRVbml0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRo
bVN0cmF0ZWd5OjptaW5TaXplRm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgYwogICAgICAgICBy
ZXR1cm4gbWluQ29udGVudEZvckNoaWxkKGNoaWxkKTsKIAogICAgIGNvbnN0IExlbmd0aCYgY2hp
bGRNaW5TaXplID0gaXNSb3dBeGlzID8gY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSA6
IGNoaWxkLnN0eWxlKCkubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGJvb2wgb3ZlcmZsb3dJc1Zp
c2libGUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLm92ZXJmbG93SW5saW5lRGlyZWN0aW9u
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgOiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93QmxvY2tEaXJl
Y3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICBib29sIG92ZXJmbG93SXNWaXNpYmxl
ID0gaXNSb3dBeGlzID8gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9
PSBPdmVyZmxvdzo6VmlzaWJsZSA6IGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rp
b24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsKICAgICBMYXlvdXRVbml0IGJhc2VsaW5lU2hpbSA9
IG1fYWxnb3JpdGhtLmJhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQsIGdyaWRBeGlzRm9yRGly
ZWN0aW9uKGRpcmVjdGlvbigpKSk7CiAKICAgICBpZiAoY2hpbGRNaW5TaXplLmlzQXV0bygpICYm
IG92ZXJmbG93SXNWaXNpYmxlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CmluZGV4IGYwYWEyZWVjNTkwNjE1ZDk2ZDlmNDU5YTk1N2M1Njk3ZmNiNGRmYmEuLmU5YjdkZjgx
M2IwMjFmMGZmMGRmNWY4MThmYjRlMDU2MTdmMTU0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCkBAIC00ODIsNyArNDgyLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0
ZUZyb21TdHlsZSgpCiAgICAgc2V0RmxvYXRpbmcoIWlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYm
IHN0eWxlVG9Vc2UuaXNGbG9hdGluZygpKTsKIAogICAgIC8vIFdlIGFsc28gaGFuZGxlIDxib2R5
PiBhbmQgPGh0bWw+LCB3aG9zZSBvdmVyZmxvdyBhcHBsaWVzIHRvIHRoZSB2aWV3cG9ydC4KLSAg
ICBpZiAoIShzdHlsZVRvVXNlLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIHN0
eWxlVG9Vc2Uub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpICYmICFpc0RvY0VsZW1l
bnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKKyAgICBpZiAoIShlZmZlY3RpdmVPdmVy
Zmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBlZmZlY3RpdmVPdmVyZmxvd1koKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxv
Y2soKSkgewogICAgICAgICBib29sIGJveEhhc05vblZpc2libGVPdmVyZmxvdyA9IHRydWU7CiAg
ICAgICAgIGlmIChpc0JvZHkoKSkgewogICAgICAgICAgICAgLy8gT3ZlcmZsb3cgb24gdGhlIGJv
ZHkgY2FuIHByb3BhZ2F0ZSB0byB0aGUgdmlld3BvcnQgdW5kZXIgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zLgpAQCAtNDkxLDcgKzQ5MSw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5
bGUoKQogICAgICAgICAgICAgLy8gKDMpIFRoZSByb290IGVsZW1lbnQgaGFzIHZpc2libGUgb3Zl
cmZsb3cuCiAgICAgICAgICAgICBpZiAoaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnQoKS5k
b2N1bWVudEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmJvZHkoKSA9
PSBlbGVtZW50KCkKLSAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVu
dCgpLT5yZW5kZXJlcigpLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxl
KSB7CisgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVu
ZGVyZXIoKS0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAg
ICAgICAgICAgICAgICBib3hIYXNOb25WaXNpYmxlT3ZlcmZsb3cgPSBmYWxzZTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQpAQCAtNjYxLDcgKzY2MSw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94
Ojpjb25zdHJhaW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dp
Y2FsCiAgICAgaWYgKGFsbG93SW50cmluc2ljID09IEFsbG93SW50cmluc2ljOjpObyAmJiBzdHls
ZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLmlzSW50cmluc2ljKCkpCiAgICAgICAgIHJldHVybiBs
b2dpY2FsV2lkdGg7CiAgICAgYXV0byBtaW5MZW5ndGggPSBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5X
aWR0aCgpOwotICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYgbWluTGVuZ3Ro
LmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxl
VG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1VzZS5sb2dpY2Fs
V2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd0lubGluZURpcmVj
dGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYgKHN0eWxlVG9Vc2UuaGFzQXNw
ZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2UubG9naWNhbFdp
ZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRlbnQo
KSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAmJiBlZmZlY3Rp
dmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAg
ICAgIC8vIE1ha2Ugc3VyZSB3ZSBhY3R1YWxseSB1c2VkIHRoZSBhc3BlY3QgcmF0aW8uCiAgICAg
ICAgIGlmIChzaG91bGRDb21wdXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKCkpCiAgICAg
ICAgICAgICBtaW5MZW5ndGggPSBMZW5ndGgoTGVuZ3RoVHlwZTo6TWluSW50cmluc2ljKTsKQEAg
LTY3Nyw3ICs2NzcsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhl
aWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICAgICAgbG9n
aWNhbEhlaWdodCA9IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAg
fQogICAgIGF1dG8gbG9naWNhbE1pbkhlaWdodCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdo
dCgpOwotICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVM
b2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAm
JiBzdHlsZVRvVXNlLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSkKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRlTG9n
aWNhbEhlaWdodEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQgJiYg
ZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKQog
ICAgICAgICBsb2dpY2FsTWluSGVpZ2h0ID0gTGVuZ3RoKCppbnRyaW5zaWNDb250ZW50SGVpZ2h0
LCBMZW5ndGhUeXBlOjpGaXhlZCk7CiAgICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNNaW5Db250
ZW50KCkgfHwgbG9naWNhbE1pbkhlaWdodC5pc01heENvbnRlbnQoKSkKICAgICAgICAgbG9naWNh
bE1pbkhlaWdodCA9IExlbmd0aCgpOwpAQCAtNDgxMiw3ICs0ODEyLDcgQEAgYm9vbCBSZW5kZXJC
b3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlz
SW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRp
b25lZCgpIHx8IGhhc1BvdGVudGlhbGx5U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRl
bUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFi
bGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNE
b2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSB8fCBp
c1JlbmRlckZyYWdtZW50Q29udGFpbmVyKCkKLSAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xh
eW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBz
dHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5
KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OworICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5z
TGF5b3V0KCkgfHwgc3R5bGUoKS5jb250YWluc1BhaW50KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0
eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVt
blNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7
CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggMDZlOGNj
MTg5ZTQ0ODg0NDhkMGIzZjc5M2ViMmM1NGQ5OTY5Nzc3NC4uMmIwMzJmZWMzYmE2YjcwODljYTE5
NDkxOTk5YWUwODBiMzIyYTlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0yMTEsNiArMjExLDcgQEAgdm9pZCBSZW5kZXJC
b3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRIb3Jpem9udGFsV3JpdGlu
Z01vZGUoc3R5bGVUb1VzZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKTsKICAgICBpZiAoc3R5
bGVUb1VzZS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQogICAgICAgICB2aWV3KCkuZnJh
bWVWaWV3KCkuc2V0SGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKHRydWUpOworICAgIHNldFBhaW50
Q29udGFpbm1lbnRBcHBsaWVzKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykpOwog
fQogCiBzdGF0aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZzZXRzKGNv
bnN0IFJlbmRlck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5jcHAKaW5kZXggZjg3ZDA1ZjM5OWU4NDkwOGI1OTk4ZjVjOWY5NTZjOWFkNWNjMmYx
Ny4uNGI4N2Q3MWMzNGVhYTIwNTE3YmYzZTVmNzRhOWVmZjdlOTA3Y2JkYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtOTQsNyArOTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUmVuZGVyRWxlbWVu
dCk7CiAKIHN0cnVjdCBTYW1lU2l6ZUFzUmVuZGVyRWxlbWVudCA6IHB1YmxpYyBSZW5kZXJPYmpl
Y3QgewotICAgIHVuc2lnbmVkIGJpdGZpZWxkcyA6IDI1OworICAgIHVuc2lnbmVkIGJpdGZpZWxk
cyA6IDI2OwogICAgIHZvaWQqIGZpcnN0Q2hpbGQ7CiAgICAgdm9pZCogbGFzdENoaWxkOwogICAg
IFJlbmRlclN0eWxlIHN0eWxlOwpAQCAtMTIzLDYgKzEyMyw3IEBAIGlubGluZSBSZW5kZXJFbGVt
ZW50OjpSZW5kZXJFbGVtZW50KENvbnRhaW5lck5vZGUmIGVsZW1lbnRPckRvY3VtZW50LCBSZW5k
ZXJTdHlsCiAgICAgLCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2so
ZmFsc2UpCiAgICAgLCBtX3Zpc2libGVJblZpZXdwb3J0U3RhdGUoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KFZpc2libGVJblZpZXdwb3J0U3RhdGU6OlVua25vd24pKQogICAgICwgbV9kaWRDb250cmli
dXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChmYWxzZSkKKyAgICAsIG1fcGFpbnRDb250
YWlubWVudEFwcGxpZXMoZmFsc2UpCiAgICAgLCBtX2ZpcnN0Q2hpbGQobnVsbHB0cikKICAgICAs
IG1fbGFzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX3N0eWxlKFdURk1vdmUoc3R5bGUpKQpAQCAt
MjI5NSw3ICsyMjk2LDcgQEAgc3RhdGljIFJlbmRlck9iamVjdDo6QmxvY2tDb250ZW50SGVpZ2h0
VHlwZSBpbmNsdWRlTm9uRml4ZWRIZWlnaHQoY29uc3QgUmVuZGVyT2IKICAgICAgICAgaWYgKGlz
PFJlbmRlckJsb2NrPihyZW5kZXJlcikpIHsKICAgICAgICAgICAgIC8vIEZvciBmaXhlZCBoZWln
aHQgc3R5bGVzLCBpZiB0aGUgb3ZlcmZsb3cgc2l6ZSBvZiB0aGUgZWxlbWVudCBzcGlsbHMgb3V0
IG9mIHRoZSBzcGVjaWZpZWQKICAgICAgICAgICAgIC8vIGhlaWdodCwgYXNzdW1lIHdlIGNhbiBh
cHBseSB0ZXh0IGF1dG8tc2l6aW5nLgotICAgICAgICAgICAgaWYgKHN0eWxlLm92ZXJmbG93WSgp
ID09IE92ZXJmbG93OjpWaXNpYmxlCisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8UmVuZGVyQmxv
Y2s+KHJlbmRlcmVyKS5lZmZlY3RpdmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQog
ICAgICAgICAgICAgICAgICYmIHN0eWxlLmhlaWdodCgpLnZhbHVlKCkgPCBkb3duY2FzdDxSZW5k
ZXJCbG9jaz4ocmVuZGVyZXIpLmxheW91dE92ZXJmbG93UmVjdCgpLm1heFkoKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gUmVuZGVyT2JqZWN0OjpPdmVyZmxvd0hlaWdodDsKICAgICAgICAgfQpA
QCAtMjM3NSw0ICsyMzc2LDIwIEBAIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gUmVuZGVy
RWxlbWVudDo6YW5pbWF0ZWRTdHlsZSgpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorT3ZlcmZs
b3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3QKK3sKKyAgICBhdXRv
IG92ZXJmbG93WCA9IHN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dYID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICBy
ZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAgcmV0dXJuIG92ZXJmbG93WDsKK30KKworT3ZlcmZs
b3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3QKK3sKKyAgICBhdXRv
IG92ZXJmbG93WSA9IHN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICBy
ZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAgcmV0dXJuIG92ZXJmbG93WTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggMjM3N2JhOTcyYzRhYzk1
Y2M4Zjc4ZGQzMmRkZTgxOTQ5YzQ3ZmUyNS4uMWQ4MTg0MGJkNjc1YWUzNmRmYzVmNDI0OGNlN2Q3
MGEzZGMxNWQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBA
IC0yMTEsNiArMjExLDkgQEAgcHVibGljOgogICAgIGJvb2wgZGlkQ29udGlidXRlVG9WaXN1YWxs
eU5vbkVtcHR5UGl4ZWxDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkQ29udHJpYnV0ZVRvVmlz
dWFsbHlOb25FbXB0eVBpeGVsQ291bnQ7IH0KICAgICB2b2lkIHNldERpZENvbnRpYnV0ZVRvVmlz
dWFsbHlOb25FbXB0eVBpeGVsQ291bnQoKSB7IG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25F
bXB0eVBpeGVsQ291bnQgPSB0cnVlOyB9CiAKKyAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBs
aWVzKCkgY29uc3QgeyByZXR1cm4gbV9wYWludENvbnRhaW5tZW50QXBwbGllczsgfQorICAgIHZv
aWQgc2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBiKSB7IG1fcGFpbnRDb250YWlubWVu
dEFwcGxpZXMgPSBiOyB9CisKICAgICBib29sIHJlcGFpbnRGb3JQYXVzZWRJbWFnZUFuaW1hdGlv
bnNJZk5lZWRlZChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCwgQ2FjaGVkSW1hZ2UmKTsKICAg
ICBib29sIGhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGF1
c2VkSW1hZ2VBbmltYXRpb25zOyB9CiAgICAgdm9pZCBzZXRIYXNQYXVzZWRJbWFnZUFuaW1hdGlv
bnMoYm9vbCBiKSB7IG1faGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zID0gYjsgfQpAQCAtMjU3LDYg
KzI2MCwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKE1v
bm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lKCkpIHsgfQogICAgIHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4gYW5pbWF0ZWRTdHlsZSgpOwogCisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3Zl
cmZsb3dYKCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3Q7
CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7
IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVy
Zmxvd1goKSA6IGVmZmVjdGl2ZU92ZXJmbG93WSgpOyB9CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZl
T3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9u
dGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZs
b3dYKCk7IH0KKwogcHJvdGVjdGVkOgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAg
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcgID0gMSA8PCAwLApAQCAtMzgxLDYgKzM4OSw4IEBA
IHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1w
dHlQaXhlbENvdW50IDogMTsKIAorICAgIHVuc2lnbmVkIG1fcGFpbnRDb250YWlubWVudEFwcGxp
ZXMgOiAxOworCiAgICAgUmVuZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgUmVuZGVyT2Jq
ZWN0KiBtX2xhc3RDaGlsZDsKIApAQCAtNDQ2LDcgKzQ1Niw4IEBAIGlubGluZSBib29sIFJlbmRl
ckVsZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0CiAgICAgICAg
IC8vIEZJWE1FOiB3aWxsLWNoYW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcgYmxvY2tzIG9u
IGlubGluZSBib3hlcyAoYnVnIDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAm
JiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0Nv
bnRhaW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdG
b3JlaWduT2JqZWN0KCkKLSAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgq
dGhpcyk7CisgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisg
ICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIGlubGlu
ZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVj
dHMoKSBjb25zdApAQCAtNDU3LDYgKzQ2OCw3IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6
OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAgICAgICB8
fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2ls
bENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBvc2l0aW9uZWQo
KSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBw
bHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENv
bnRhaW5tZW50KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggZWY5ZWQ0
MmFiNTAyMGEwNWJkZTMyZTU1NTQ4ZDRmNjlkZWYyYTM5ZC4uY2NhNDY2MDcyMDgxODIzYmU0NjM4
M2QzZDdmMjU5NzkyNTg0Njc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxleGlibGVCb3guY3BwCkBAIC0xNzM4LDE1ICsxNzM4LDE1IEBAIGJvb2wgUmVuZGVyRmxl
eGlibGVCb3g6OmNoaWxkSGFzSW50cmluc2ljTWFpbkF4aXNTaXplKGNvbnN0IFJlbmRlckJveCYg
Y2hpbGQpCiBPdmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxvd0ZvckNo
aWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRh
bEZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7Ci0gICAg
cmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5l
ZmZlY3RpdmVPdmVyZmxvd1goKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dZ
KCk7CiB9CiAKIE92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0Zv
ckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpv
bnRhbEZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7Ci0g
ICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgICAgIHJldHVybiBjaGls
ZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZs
b3dYKCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzUGVyY2VudEhlaWdo
dERlc2NlbmRhbnRzKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRl
eCBhZmIyN2NjYTY3MWRlNmFiZjdhMzI5YjIxYzc4MTE3MDBjZjI5NTNlLi43OTcwZjJmZDc4MTM2
NWU2NGMxNTFiNDNlMmMzMzdjMDJlMmQ5Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTE1NywxNCArMTU3LDE0
IEBAIExheW91dFJlY3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZy
YWdtZW50ZWRGbG93UG9ydGlvbihjb25zdCBMCiAgICAgaWYgKG1fZnJhZ21lbnRlZEZsb3ctPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gaXNG
aXJzdFBvcnRpb24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSA6IGZyYWdtZW50ZWRGbG93
UG9ydGlvblJlY3QueSgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBpc0xhc3RQb3J0aW9u
ID8gc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCksIGZyYWdtZW50ZWRG
bG93T3ZlcmZsb3cubWF4WSgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpOwot
ICAgICAgICBib29sIGNsaXBYID0gc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6Vmlz
aWJsZTsKKyAgICAgICAgYm9vbCBjbGlwWCA9IGVmZmVjdGl2ZU92ZXJmbG93WCgpICE9IE92ZXJm
bG93OjpWaXNpYmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBjbGlwWCA/IGZyYWdtZW50
ZWRGbG93UG9ydGlvblJlY3QueCgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVj
dC54KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBt
YXhYID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSA6IHN0ZDo6bWF4
KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93
Lm1heFgoKSk7CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhY
IC0gbWluWCwgbWF4WSAtIG1pblkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIExheW91dFVuaXQg
bWluWCA9IGlzRmlyc3RQb3J0aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54KCkgOiBmcmFn
bWVudGVkRmxvd1BvcnRpb25SZWN0LngoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gaXNM
YXN0UG9ydGlvbiA/IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBm
cmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFgoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0
Lm1heFgoKTsKLSAgICAgICAgYm9vbCBjbGlwWSA9IHN0eWxlKCkub3ZlcmZsb3dZKCkgIT0gT3Zl
cmZsb3c6OlZpc2libGU7CisgICAgICAgIGJvb2wgY2xpcFkgPSBlZmZlY3RpdmVPdmVyZmxvd1ko
KSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gY2xpcFkg
PyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93
UG9ydGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSk7CiAgICAgICAgIExh
eW91dFVuaXQgbWF4WSA9IGNsaXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCkg
OiBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21lbnRlZEZsb3dP
dmVyZmxvdy5tYXhZKCkpOwogICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWlu
WSwgbWF4WCAtIG1pblgsIG1heFkgLSBtaW5ZKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDhmYzYyNWQ2MDg5NGM4MDYwZTBiYzg0NmMxNzhlYWFiZjEzMDBk
ZWUuLmRkYjI0YjdmNzI5YWMxODBjNWMzNDNmNWM4NTU3Y2VjMDBhZmZiOGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBAIHN0YXRp
YyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIp
CiAgICAgICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJl
ci5zdHlsZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhh
c0F1dG9Vc2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50
KHJlbmRlcmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYg
cmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgp
KTsKIH0KIApAQCAtNTg0LDcgKzU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9y
bWFsRmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNr
aW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFz
QXV0b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVu
ZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENv
bnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wg
UmVuZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpA
QCAtNDQ3OCw3ICs0NDc5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3Rz
KGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAg
IGlmIChyZW5kZXJlcigpLmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgICAgIGNsaXBSZWN0
cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMu
cG9zQ2xpcFJlY3QoKSkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChyZW5kZXJlcigpLmhhc0Ns
aXAoKSkgeworICAgICAgICBpZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpKSB7CiAgICAgICAgICAgICBMYXlvdXRSZWN0IG5l
d1Bvc0NsaXAgPSBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpLmNsaXBSZWN0KG9mZnNl
dCwgbnVsbHB0cik7CiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJz
ZWN0aW9uKG5ld1Bvc0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CiAgICAgICAgICAg
ICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3UG9zQ2xpcCwg
Y2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAppbmRleCAyNjU4ZDRhOGYyYjQzYmVmOWE4NWIxMGFmNzZkMGVjNzE4
MmZlOTIxLi5kYTExYzA4ZWFlNWNlY2QwNThiNjEyNDE3Mzk0YWJjMTc0MjM3ZTNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjUzMywzICsyNTMzLDkg
QEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBXZWJDb3Jl
OjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogewogICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgp
LmNvbnRhaW5zU2l6ZSgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0
b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5k
ZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9uKCkpICYmICFyZW5k
ZXJlci5pc1RhYmxlKCk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlQYWludENvbnRh
aW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgcmV0
dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNQYWludCgpICYmICghcmVuZGVyZXIuaXNJbmxp
bmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5p
c1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzUmVu
ZGVyQmxvY2tGbG93KCkpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKaW5kZXggMmZkOTY4NzkwMjJhNmEzYjhhY2MzMTZhZjFlMTUwNGE2MjMyNzRlNy4uOTY0MjMy
ODlmODRiY2QyYTcxYTRiZWE5ODViM2U0YTUwMWZmYmZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaApAQCAtMTIwNiw2ICsxMjA2LDcgQEAgdm9pZCBwcmludEdyYXBo
aWNzTGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOwogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0
Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVBhaW50Q29u
dGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA3
M2Y1YWNmNTJlMjRhZGRiYmUwZGJmNTRhZWQ3OTU4M2NiYmI4YzgzLi4wOTljZDJiMWUzMzgzYWJk
ZmUzYjVlN2M2NTkzOTNlMDdhZmEwMzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMzMwLDggKzMzMCw2IEBAIHB1YmxpYzoKICAgICAKICAg
ICBPdmVyZmxvdyBvdmVyZmxvd1goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxv
dz4obV9ub25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1gpOyB9CiAgICAgT3ZlcmZsb3cgb3ZlcmZs
b3dZKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVk
RmxhZ3Mub3ZlcmZsb3dZKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93SW5saW5lRGlyZWN0aW9u
KCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WCgp
IDogb3ZlcmZsb3dZKCk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkg
Y29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WSgpIDog
b3ZlcmZsb3dYKCk7IH0KICAgICBib29sIGlzT3ZlcmZsb3dWaXNpYmxlKCkgY29uc3QgeyByZXR1
cm4gb3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgfHwgb3ZlcmZsb3dZKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGU7IH0KIAogICAgIE92ZXJzY3JvbGxCZWhhdmlvciBvdmVyc2Nyb2xsQmVo
YXZpb3JYKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcnNjcm9sbEJlaGF2aW9yPiht
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5vdmVyc2Nyb2xsQmVoYXZpb3JYKTsgfQpAQCAtNTI4LDYg
KzUyNiw3IEBAIHB1YmxpYzoKICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBj
b25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAgICAgYm9v
bCBjb250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0KICAgICBib29sIGNvbnRh
aW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4u
Y29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkg
Y29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhD
b250YWlubWVudDo6UGFpbnQpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hE
aXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5o
ZXJpdGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7
IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZs
ZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3Bw
CmluZGV4IDNmOTg3MjkxODhhMDE4ODkxOTIxMmNmYjQ4NmZkZTkzODFiMGQ0YWMuLjdlYmUxMzA0
YjA2NzcyOTU5YzUxNmVjYmQ2MjFiNzA0YTNhMDQ3MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMjE0LDcgKzIxNCw3IEBAIGJvb2wg
UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAoKSBjb25zdAogICAgIC8vIHRo
ZSBvdXRlcm1vc3Qgc3ZnIGlzIGNsaXBwZWQgaWYgYXV0bywgYW5kIHN2ZyBkb2N1bWVudCByb290
cyBhcmUgYWx3YXlzIGNsaXBwZWQKICAgICAvLyBXaGVuIHRoZSBzdmcgaXMgc3RhbmQtYWxvbmUg
KGlzRG9jdW1lbnRFbGVtZW50KCkgPT0gdHJ1ZSkgdGhlIHZpZXdwb3J0IGNsaXBwaW5nIHNob3Vs
ZCBhbHdheXMKICAgICAvLyBiZSBhcHBsaWVkLCBub3RpbmcgdGhhdCB0aGUgd2luZG93IHNjcm9s
bGJhcnMgc2hvdWxkIGJlIGhpZGRlbiBpZiBvdmVyZmxvdz1oaWRkZW4uCi0gICAgcmV0dXJuIHN0
eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkhpZGRlbgorICAgIHJldHVybiBlZmZlY3Rp
dmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuCiAgICAgICAgIHx8IHN0eWxlKCkub3Zl
cmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkF1dG8KICAgICAgICAgfHwgc3R5bGUoKS5vdmVyZmxvd1go
KSA9PSBPdmVyZmxvdzo6U2Nyb2xsCiAgICAgICAgIHx8IHRoaXMtPmlzRG9jdW1lbnRFbGVtZW50
UmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAyNTRlYzAxMjZhMjlmYjg1OGJlNGY5YTYxMTNkOGVhZGQ4YWM4
ZmQxLi42NzkxNmMxZjM0OTQ4YjkzOGE3YjhhNTQ4ODBkNTcwOTJjMzY2OWUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMDctMzEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHRlc3RzIHRoYXQgcGFz
cyBub3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA3LTMwICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1Mgd2syIEFSTSA2
NCBdIHN0b3JhZ2UvaW5kZXhlZGRiL0lEQk9iamVjdC1sZWFrLmh0bWwgaXMgYSBmbGFrZXkgdGV4
dCBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwMzYyMGYzYTFmZWRh
YmFjMjNkNjA5MzhmOWRjYjc4YWE4MjM4NjdiLi41ZWYzYTg4MTU0OGFhOWU5YTRiMzQ3ZmQ1NGU1
Njc5NDEyNjA5NTc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMS0wNy0zMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAg
IFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBub3cg
dGhhdCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVj
dGVkLnR4dDoKKwogMjAyMS0wNy0zMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODA0ODguCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA1ODNjM2ZiNjI2ZTJmMzM5Mjg3NGRlNjllZTQxYWRiYzJhZjU0YjNiLi4w
YTVmZTJhYTg4YjNlNmUzNzc4NDc5ZWFhZDY4OTdlMmY3NjQyYjU1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTQ4NTksNiArNDg1OSwxMCBAQCB3ZWJhbmltYXRpb25zL3RyYW5zbGF0ZS1wcm9wZXJ0
eS1hbmQtdHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYQogIyBDU1Mg
Y29udGFpbm1lbnQgdGVzdHMgdGhhdCBmYWlsCiAjIHdlYmtpdC1ydWJ5LXRleHQKIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tbGF5b3V0LTAx
Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCkBAIC00ODczLDQ5ICs0ODc3LDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWIK
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRl
bnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA0Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE0Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIw
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ3Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
bGlwLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDExLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE0
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKyMgY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1s
IGFuZCBjb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgbmVlZCBmdXp6eSBtYXRjaGluZy4KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2xpcC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2xpcC0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlw
LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stYWJz
b2x1dGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9j
ay1maXhlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNv
bnRleHQtZmxvYXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGlu
Zy1jb250ZXh0LW1hcmdpbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pZmMt
MDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaW5kZXBlbmRlbnQtZm9ybWF0dGlu
Zy1jb250ZXh0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1zaXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0
YWNraW5nLWNvbnRleHQtMDAxYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxl
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJp
Y3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50
ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0
ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1z
dHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMz
YmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRlY2IgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94
L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsxLDEzIEBA
CiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwogRmxleC1zdGFy
dDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434892</attachid>
            <date>2021-08-04 01:41:29 -0700</date>
            <delta_ts>2021-08-09 05:57:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210804104127.patch</filename>
            <type>text/plain</type>
            <size>35220</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFiZDMyYTgxNjU2OTY3
NTBjYmU2ZTI1NGRlMThkMjg2YjgxYjVhNy4uMWJhN2M5YTNlOTg1M2QzNDQ3OTI0NmUwN2MxNGQ0
OWU3NTBlYmI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA4LTAzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAgY29u
c3QpOgorCiAyMDIxLTA4LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZWFkYWJsZVN0cmVhbSdzIHBpcGVUbygpIGFuZCBwaXBlVGhyb3VnaCgpIGRvbid0
IGhhbmRsZSBvcHRpb25zIGluIHNwZWMtcGVyZmVjdCB3YXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCA1MTQ3ZGQ3Yzk3ZmQyNjNiMGQ2YmI2ODM3NzA1YTUxMWUyY2VkNjE3Li5lOTI2
N2RkODlhOWRjNzc4ZmU2MTkxMTY3YTA4YzNiYmY3NTRiMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC02MzUsOCArNjM1LDggQEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5T3ZlcmZs
b3dUb1ZpZXdwb3J0KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBTY3JvbGxiYXIKIAog
ICAgIGJvb2wgb3ZlcnJpZGVIaWRkZW4gPSBmcmFtZSgpLmlzTWFpbkZyYW1lKCkgJiYgKChmcmFt
ZSgpLmZyYW1lU2NhbGVGYWN0b3IoKSA+IDEpIHx8IGhlYWRlckhlaWdodCgpIHx8IGZvb3Rlckhl
aWdodCgpKTsKIAotICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLnN0eWxlKCkub3Zl
cmZsb3dYKCk7Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVy
Zmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5lZmZlY3RpdmVPdmVy
Zmxvd1goKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5lZmZlY3RpdmVPdmVy
Zmxvd1koKTsKIAogICAgIGlmIChpczxSZW5kZXJTVkdSb290PihyZW5kZXJlcikpIHsKICAgICAg
ICAgLy8gRklYTUU6IGV2YWx1YXRlIGlmIHdlIGNhbiBhbGxvdyBvdmVyZmxvdyBmb3IgdGhlc2Ug
Y2FzZXMgdG9vLgpAQCAtNzAwLDEyICs3MDAsMTIgQEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5UGFn
aW5hdGlvblRvVmlld3BvcnQoKQogCiAgICAgYXV0byogYm9keSA9IGRvY3VtZW50LT5ib2R5KCk7
CiAgICAgaWYgKGJvZHkgJiYgYm9keS0+cmVuZGVyZXIoKSkgewotICAgICAgICBkb2N1bWVudE9y
Qm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92
ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50RWxlbWVudCkg
PworICAgICAgICBkb2N1bWVudE9yQm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5kZXJlci5lZmZl
Y3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1l
bnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KICAgICAgICAgICAgIGJvZHktPnJlbmRlcmVyKCkgOiAm
ZG9jdW1lbnRSZW5kZXJlcjsKICAgICB9CiAKICAgICBQYWdpbmF0aW9uIHBhZ2luYXRpb247Ci0g
ICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5v
dmVyZmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRl
cmVyLT5lZmZlY3RpdmVPdmVyZmxvd1koKTsKICAgICBpZiAob3ZlcmZsb3dZID09IE92ZXJmbG93
OjpQYWdlZFggfHwgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpQYWdlZFkpIHsKICAgICAgICAgcGFn
aW5hdGlvbi5tb2RlID0gV2ViQ29yZTo6cGFnaW5hdGlvbk1vZGVGb3JSZW5kZXJTdHlsZShkb2N1
bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgR2FwTGVuZ3RoIGNvbHVtbkdh
cExlbmd0aCA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkuY29sdW1uR2FwKCk7CkBA
IC03NjcsNyArNzY3LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVz
Rm9yTGF5b3V0KFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTY3JvbGxiYXIKICAgICBpZiAoaXM8SFRN
TEJvZHlFbGVtZW50PigqYm9keU9yRnJhbWVzZXQpICYmIHJvb3RSZW5kZXJlcikgewogICAgICAg
ICAvLyBJdCdzIHN1ZmZpY2llbnQgdG8ganVzdCBjaGVjayB0aGUgWCBvdmVyZmxvdywKICAgICAg
ICAgLy8gc2luY2UgaXQncyBpbGxlZ2FsIHRvIGhhdmUgdmlzaWJsZSBpbiBvbmx5IG9uZSBkaXJl
Y3Rpb24uCi0gICAgICAgIGlmIChyb290UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0g
T3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQp
KSB7CisgICAgICAgIGlmIChyb290UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92
ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkg
ewogICAgICAgICAgICAgYXV0byogYm9keVJlbmRlcmVyID0gYm9keU9yRnJhbWVzZXQtPnJlbmRl
cmVyKCk7CiAgICAgICAgICAgICBpZiAoYm9keVJlbmRlcmVyKSB7CiAgICAgICAgICAgICAgICAg
YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoKmJvZHlSZW5kZXJlciwgaE1vZGUsIHZNb2RlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0
aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRo
bS5jcHAKaW5kZXggZGE4OTEzZGJlN2JiYzk0NWFjNWM1ZGM5NzZhOTM2N2VhOTExYzIwOS4uMWFk
Nzk2NzNiYWY4ZWEyNDYyZTY4YjI3YjQwYmYyMzE1Yzg3YjMyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTgw
NSw3ICs4MDUsNyBAQCBMYXlvdXRVbml0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobVN0cmF0ZWd5
OjptaW5TaXplRm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgYwogICAgICAgICByZXR1cm4gbWlu
Q29udGVudEZvckNoaWxkKGNoaWxkKTsKIAogICAgIGNvbnN0IExlbmd0aCYgY2hpbGRNaW5TaXpl
ID0gaXNSb3dBeGlzID8gY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSA6IGNoaWxkLnN0
eWxlKCkubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBp
c1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGUgOiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9
PSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICBib29sIG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dB
eGlzID8gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZSA6IGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZTsKICAgICBMYXlvdXRVbml0IGJhc2VsaW5lU2hpbSA9IG1fYWxnb3Jp
dGhtLmJhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQsIGdyaWRBeGlzRm9yRGlyZWN0aW9uKGRp
cmVjdGlvbigpKSk7CiAKICAgICBpZiAoY2hpbGRNaW5TaXplLmlzQXV0bygpICYmIG92ZXJmbG93
SXNWaXNpYmxlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGYw
YWEyZWVjNTkwNjE1ZDk2ZDlmNDU5YTk1N2M1Njk3ZmNiNGRmYmEuLmU5YjdkZjgxM2IwMjFmMGZm
MGRmNWY4MThmYjRlMDU2MTdmMTU0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCkBAIC00ODIsNyArNDgyLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHls
ZSgpCiAgICAgc2V0RmxvYXRpbmcoIWlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIHN0eWxlVG9V
c2UuaXNGbG9hdGluZygpKTsKIAogICAgIC8vIFdlIGFsc28gaGFuZGxlIDxib2R5PiBhbmQgPGh0
bWw+LCB3aG9zZSBvdmVyZmxvdyBhcHBsaWVzIHRvIHRoZSB2aWV3cG9ydC4KLSAgICBpZiAoIShz
dHlsZVRvVXNlLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpICYmICFpc0RvY0VsZW1lbnRSZW5kZXJl
ciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKKyAgICBpZiAoIShlZmZlY3RpdmVPdmVyZmxvd1goKSA9
PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBlZmZlY3RpdmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkgewog
ICAgICAgICBib29sIGJveEhhc05vblZpc2libGVPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgIGlm
IChpc0JvZHkoKSkgewogICAgICAgICAgICAgLy8gT3ZlcmZsb3cgb24gdGhlIGJvZHkgY2FuIHBy
b3BhZ2F0ZSB0byB0aGUgdmlld3BvcnQgdW5kZXIgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zLgpA
QCAtNDkxLDcgKzQ5MSw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAg
ICAgICAgICAgLy8gKDMpIFRoZSByb290IGVsZW1lbnQgaGFzIHZpc2libGUgb3ZlcmZsb3cuCiAg
ICAgICAgICAgICBpZiAoaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnQoKS5kb2N1bWVudEVs
ZW1lbnQoKSkKICAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmJvZHkoKSA9PSBlbGVtZW50
KCkKLSAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5k
ZXJlcigpLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAg
ICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+
ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgICAg
ICAgICBib3hIYXNOb25WaXNpYmxlT3ZlcmZsb3cgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQpAQCAtNjYxLDcgKzY2MSw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJh
aW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsCiAgICAg
aWYgKGFsbG93SW50cmluc2ljID09IEFsbG93SW50cmluc2ljOjpObyAmJiBzdHlsZVRvVXNlLmxv
Z2ljYWxNaW5XaWR0aCgpLmlzSW50cmluc2ljKCkpCiAgICAgICAgIHJldHVybiBsb2dpY2FsV2lk
dGg7CiAgICAgYXV0byBtaW5MZW5ndGggPSBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpOwot
ICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygp
ICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9n
aWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5p
c01heENvbnRlbnQoKSkgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09
IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYgKHN0eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8o
KSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNB
dXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHls
ZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAmJiBlZmZlY3RpdmVPdmVyZmxv
d0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAgIC8vIE1h
a2Ugc3VyZSB3ZSBhY3R1YWxseSB1c2VkIHRoZSBhc3BlY3QgcmF0aW8uCiAgICAgICAgIGlmIChz
aG91bGRDb21wdXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKCkpCiAgICAgICAgICAgICBt
aW5MZW5ndGggPSBMZW5ndGgoTGVuZ3RoVHlwZTo6TWluSW50cmluc2ljKTsKQEAgLTY3Nyw3ICs2
NzcsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWlu
TWF4KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICAgICAgbG9naWNhbEhlaWdo
dCA9IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAgfQogICAgIGF1
dG8gbG9naWNhbE1pbkhlaWdodCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpOwotICAg
IGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVp
Z2h0RnJvbUFzcGVjdFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBzdHlsZVRv
VXNlLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICBp
ZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRlTG9naWNhbEhlaWdo
dEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQgJiYgZWZmZWN0aXZl
T3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKQogICAgICAgICBs
b2dpY2FsTWluSGVpZ2h0ID0gTGVuZ3RoKCppbnRyaW5zaWNDb250ZW50SGVpZ2h0LCBMZW5ndGhU
eXBlOjpGaXhlZCk7CiAgICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNNaW5Db250ZW50KCkgfHwg
bG9naWNhbE1pbkhlaWdodC5pc01heENvbnRlbnQoKSkKICAgICAgICAgbG9naWNhbE1pbkhlaWdo
dCA9IExlbmd0aCgpOwpAQCAtNDgxMiw3ICs0ODEyLDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNyZWF0
ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSW5saW5lQmxv
Y2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8
IGhhc1BvdGVudGlhbGx5U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRlbUluY2x1ZGlu
Z0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9u
KCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVs
ZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZy
YWdtZW50Q29udGFpbmVyKCkKLSAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8
IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNv
bHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlz
cGxheVR5cGU6OkZsb3dSb290OworICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkg
fHwgc3R5bGUoKS5jb250YWluc1BhaW50KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3Bl
Y2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFs
bCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJv
b2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggMDZlOGNjMTg5ZTQ0ODg0
NDhkMGIzZjc5M2ViMmM1NGQ5OTY5Nzc3NC4uMmIwMzJmZWMzYmE2YjcwODljYTE5NDkxOTk5YWUw
ODBiMzIyYTlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCkBAIC0yMTEsNiArMjExLDcgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9i
amVjdDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRIb3Jpem9udGFsV3JpdGluZ01vZGUoc3R5
bGVUb1VzZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKTsKICAgICBpZiAoc3R5bGVUb1VzZS5p
c0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQogICAgICAgICB2aWV3KCkuZnJhbWVWaWV3KCku
c2V0SGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKHRydWUpOworICAgIHNldFBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykpOwogfQogCiBzdGF0
aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZzZXRzKGNvbnN0IFJlbmRl
ck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKaW5kZXggZjg3ZDA1ZjM5OWU4NDkwOGI1OTk4ZjVjOWY5NTZjOWFkNWNjMmYxNy4uNGI4N2Q3
MWMzNGVhYTIwNTE3YmYzZTVmNzRhOWVmZjdlOTA3Y2JkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtOTQsNyArOTQsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUmVuZGVyRWxlbWVudCk7CiAKIHN0
cnVjdCBTYW1lU2l6ZUFzUmVuZGVyRWxlbWVudCA6IHB1YmxpYyBSZW5kZXJPYmplY3QgewotICAg
IHVuc2lnbmVkIGJpdGZpZWxkcyA6IDI1OworICAgIHVuc2lnbmVkIGJpdGZpZWxkcyA6IDI2Owog
ICAgIHZvaWQqIGZpcnN0Q2hpbGQ7CiAgICAgdm9pZCogbGFzdENoaWxkOwogICAgIFJlbmRlclN0
eWxlIHN0eWxlOwpAQCAtMTIzLDYgKzEyMyw3IEBAIGlubGluZSBSZW5kZXJFbGVtZW50OjpSZW5k
ZXJFbGVtZW50KENvbnRhaW5lck5vZGUmIGVsZW1lbnRPckRvY3VtZW50LCBSZW5kZXJTdHlsCiAg
ICAgLCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2soZmFsc2UpCiAg
ICAgLCBtX3Zpc2libGVJblZpZXdwb3J0U3RhdGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFZpc2li
bGVJblZpZXdwb3J0U3RhdGU6OlVua25vd24pKQogICAgICwgbV9kaWRDb250cmlidXRlVG9WaXN1
YWxseU5vbkVtcHR5UGl4ZWxDb3VudChmYWxzZSkKKyAgICAsIG1fcGFpbnRDb250YWlubWVudEFw
cGxpZXMoZmFsc2UpCiAgICAgLCBtX2ZpcnN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fbGFzdENo
aWxkKG51bGxwdHIpCiAgICAgLCBtX3N0eWxlKFdURk1vdmUoc3R5bGUpKQpAQCAtMjI5NSw3ICsy
Mjk2LDcgQEAgc3RhdGljIFJlbmRlck9iamVjdDo6QmxvY2tDb250ZW50SGVpZ2h0VHlwZSBpbmNs
dWRlTm9uRml4ZWRIZWlnaHQoY29uc3QgUmVuZGVyT2IKICAgICAgICAgaWYgKGlzPFJlbmRlckJs
b2NrPihyZW5kZXJlcikpIHsKICAgICAgICAgICAgIC8vIEZvciBmaXhlZCBoZWlnaHQgc3R5bGVz
LCBpZiB0aGUgb3ZlcmZsb3cgc2l6ZSBvZiB0aGUgZWxlbWVudCBzcGlsbHMgb3V0IG9mIHRoZSBz
cGVjaWZpZWQKICAgICAgICAgICAgIC8vIGhlaWdodCwgYXNzdW1lIHdlIGNhbiBhcHBseSB0ZXh0
IGF1dG8tc2l6aW5nLgotICAgICAgICAgICAgaWYgKHN0eWxlLm92ZXJmbG93WSgpID09IE92ZXJm
bG93OjpWaXNpYmxlCisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRl
cmVyKS5lZmZlY3RpdmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQogICAgICAgICAg
ICAgICAgICYmIHN0eWxlLmhlaWdodCgpLnZhbHVlKCkgPCBkb3duY2FzdDxSZW5kZXJCbG9jaz4o
cmVuZGVyZXIpLmxheW91dE92ZXJmbG93UmVjdCgpLm1heFkoKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gUmVuZGVyT2JqZWN0OjpPdmVyZmxvd0hlaWdodDsKICAgICAgICAgfQpAQCAtMjM3NSw0
ICsyMzc2LDIwIEBAIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gUmVuZGVyRWxlbWVudDo6
YW5pbWF0ZWRTdHlsZSgpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorT3ZlcmZsb3cgUmVuZGVy
RWxlbWVudDo6ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93
WCA9IHN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVz
KCkgJiYgb3ZlcmZsb3dYID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3Zl
cmZsb3c6OkNsaXA7CisgICAgcmV0dXJuIG92ZXJmbG93WDsKK30KKworT3ZlcmZsb3cgUmVuZGVy
RWxlbWVudDo6ZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93
WSA9IHN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVz
KCkgJiYgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3Zl
cmZsb3c6OkNsaXA7CisgICAgcmV0dXJuIG92ZXJmbG93WTsKK30KKwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggMjM3N2JhOTcyYzRhYzk1Y2M4Zjc4ZGQz
MmRkZTgxOTQ5YzQ3ZmUyNS4uMWQ4MTg0MGJkNjc1YWUzNmRmYzVmNDI0OGNlN2Q3MGEzZGMxNWQy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yMTEsNiAr
MjExLDkgQEAgcHVibGljOgogICAgIGJvb2wgZGlkQ29udGlidXRlVG9WaXN1YWxseU5vbkVtcHR5
UGl4ZWxDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25F
bXB0eVBpeGVsQ291bnQ7IH0KICAgICB2b2lkIHNldERpZENvbnRpYnV0ZVRvVmlzdWFsbHlOb25F
bXB0eVBpeGVsQ291bnQoKSB7IG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQgPSB0cnVlOyB9CiAKKyAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29u
c3QgeyByZXR1cm4gbV9wYWludENvbnRhaW5tZW50QXBwbGllczsgfQorICAgIHZvaWQgc2V0UGFp
bnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBiKSB7IG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMg
PSBiOyB9CisKICAgICBib29sIHJlcGFpbnRGb3JQYXVzZWRJbWFnZUFuaW1hdGlvbnNJZk5lZWRl
ZChjb25zdCBJbnRSZWN0JiB2aXNpYmxlUmVjdCwgQ2FjaGVkSW1hZ2UmKTsKICAgICBib29sIGhh
c1BhdXNlZEltYWdlQW5pbWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGF1c2VkSW1hZ2VB
bmltYXRpb25zOyB9CiAgICAgdm9pZCBzZXRIYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMoYm9vbCBi
KSB7IG1faGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zID0gYjsgfQpAQCAtMjU3LDYgKzI2MCwxMSBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmRBbmltYXRpb25zKE1vbm90b25pY1Rp
bWUgPSBNb25vdG9uaWNUaW1lKCkpIHsgfQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHls
ZT4gYW5pbWF0ZWRTdHlsZSgpOwogCisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dYKCkg
Y29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3Q7CisgICAgT3Zl
cmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6
IGVmZmVjdGl2ZU92ZXJmbG93WSgpOyB9CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dC
bG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0K
KwogcHJvdGVjdGVkOgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdEZsYWcgID0gMSA8PCAwLApAQCAtMzgxLDYgKzM4OSw4IEBAIHByaXZhdGU6
CiAKICAgICB1bnNpZ25lZCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50IDogMTsKIAorICAgIHVuc2lnbmVkIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMgOiAxOwor
CiAgICAgUmVuZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgUmVuZGVyT2JqZWN0KiBtX2xh
c3RDaGlsZDsKIApAQCAtNDQ2LDcgKzQ1Niw4IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6
OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIC8vIEZJWE1F
OiB3aWxsLWNoYW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcgYmxvY2tzIG9uIGlubGluZSBi
b3hlcyAoYnVnIDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBzdHlsZSgp
LndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0NvbnRhaW5pbmdC
bG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2Jq
ZWN0KCkKLSAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcyk7Cisg
ICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8
IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIGlubGluZSBib29sIFJl
bmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25z
dApAQCAtNDU3LDYgKzQ2OCw3IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRh
aW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAgICAgICB8fCAoaXNSZW5k
ZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgp
LT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBvc2l0aW9uZWQoKSkKICAgICAg
ICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRD
b250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50
KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggOWZjOTNkZjI0Y2IwYjBk
ODZjOTczMmZmNmExNDg0OTk4NmYwMTlmYy4uZmFhNDhhZDkzNmZiYWI1NjBkYTUwOTcxYjc5YmE3
ZDI3MzYwNjgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwCkBAIC0xNzUzLDE1ICsxNzUzLDE1IEBAIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6
OmNoaWxkSGFzSW50cmluc2ljTWFpbkF4aXNTaXplKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpCiBP
dmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkKGNvbnN0
IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkK
LSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7Ci0gICAgcmV0dXJuIGNo
aWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVP
dmVyZmxvd1goKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiB9CiAK
IE92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkKGNv
bnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3co
KSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7Ci0gICAgcmV0dXJu
IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5lZmZlY3Rp
dmVPdmVyZmxvd1koKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7CiB9
CiAKIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzUGVyY2VudEhlaWdodERlc2NlbmRh
bnRzKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRleCBhZmIyN2Nj
YTY3MWRlNmFiZjdhMzI5YjIxYzc4MTE3MDBjZjI5NTNlLi43OTcwZjJmZDc4MTM2NWU2NGMxNTFi
NDNlMmMzMzdjMDJlMmQ5Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIExheW91
dFJlY3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRG
bG93UG9ydGlvbihjb25zdCBMCiAgICAgaWYgKG1fZnJhZ21lbnRlZEZsb3ctPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gaXNGaXJzdFBvcnRp
b24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJl
Y3QueSgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBpc0xhc3RQb3J0aW9uID8gc3RkOjpt
YXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZs
b3cubWF4WSgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpOwotICAgICAgICBi
b29sIGNsaXBYID0gc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAg
ICAgICAgYm9vbCBjbGlwWCA9IGVmZmVjdGl2ZU92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNp
YmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBjbGlwWCA/IGZyYWdtZW50ZWRGbG93UG9y
dGlvblJlY3QueCgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54KCksIGZy
YWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gY2xp
cFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSA6IHN0ZDo6bWF4KGZyYWdtZW50
ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFgoKSk7
CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwg
bWF4WSAtIG1pblkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWCA9IGlz
Rmlyc3RQb3J0aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54KCkgOiBmcmFnbWVudGVkRmxv
d1BvcnRpb25SZWN0LngoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gaXNMYXN0UG9ydGlv
biA/IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVk
Rmxvd092ZXJmbG93Lm1heFgoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKTsK
LSAgICAgICAgYm9vbCBjbGlwWSA9IHN0eWxlKCkub3ZlcmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZp
c2libGU7CisgICAgICAgIGJvb2wgY2xpcFkgPSBlZmZlY3RpdmVPdmVyZmxvd1koKSAhPSBPdmVy
Zmxvdzo6VmlzaWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gY2xpcFkgPyBmcmFnbWVu
dGVkRmxvd1BvcnRpb25SZWN0LnkoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJl
Y3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSk7CiAgICAgICAgIExheW91dFVuaXQg
bWF4WSA9IGNsaXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCkgOiBzdGQ6Om1h
eChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5t
YXhZKCkpOwogICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAt
IG1pblgsIG1heFkgLSBtaW5ZKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbmxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUu
aAppbmRleCA2NmY1NGM3N2ExNWIxZjcyNDNmODZjMzIxNWU5MmY5ODc1ZTljMDBlLi5kZjU0ODIz
ZmI3YjQ2NGI1NzEzOGI4Y2VmYzRjY2NjMGUxYTRjODFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcklubGluZS5oCkBAIC04OSw3ICs4OSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aGl0VGVzdEN1bGxlZElubGluZShjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQm
LCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91
dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiAKLSAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVzR3Jv
dXAoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tpbmdDb250ZXh0
KCkgfHwgaGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CisgICAgYm9vbCByZXF1
aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVkKCkg
fHwgY3JlYXRlc0dyb3VwKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBzaG91bGRBcHBseVBhaW50Q29u
dGFpbm1lbnQoKnRoaXMpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkgfHwg
aGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CiAKIHByb3RlY3RlZDoKICAgICB2
b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKaW5kZXggOGZjNjI1ZDYwODk0YzgwNjBlMGJjODQ2YzE3OGVhYWJmMTMw
MGRlZS4uMmQ4MjM0MGNmOWRjMmNmZjE3NjIyZDY2OTgyOGM5NmU5MzYxNzA3MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTUsNiArNTU1LDcgQEAgc3Rh
dGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBsYXll
cikKICAgICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAgICAgIHx8IHJlbmRl
cmVyLnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkKICAgICAgICAgfHwgIXJlbmRlcmVyLnN0eWxlKCku
aGFzQXV0b1VzZWRaSW5kZXgoKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1l
bnQocmVuZGVyZXIpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKSAm
JiByZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0
KCkpOwogfQogCkBAIC01ODQsNyArNTg1LDcgQEAgYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVO
b3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3Rh
Y2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5o
YXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CisgICAgcmV0dXJuICFy
ZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBzaG91bGRBcHBseVBhaW50
Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIoKTsKIH0KIAogYm9v
bCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93T25seShib29sIGlzTm9ybWFsRmxvd09ubHkp
CkBAIC00NDc3LDYgKzQ0NzgsMTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJl
Y3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAg
ICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxv
d0NsaXAsIGNsaXBSZWN0cy5vdmVyZmxvd0NsaXBSZWN0KCkpKTsKICAgICAgICAgICAgIGlmIChy
ZW5kZXJlcigpLmlzUG9zaXRpb25lZCgpKQogICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRQ
b3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMucG9zQ2xp
cFJlY3QoKSkpOworICAgICAgICAgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChy
ZW5kZXJlcigpKSkgeworICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChp
bnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOwor
ICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRGaXhlZENsaXBSZWN0KGludGVyc2VjdGlvbihu
ZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5maXhlZENsaXBSZWN0KCkpKTsKKyAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgICAgICBpZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkpIHsKICAgICAg
ICAgICAgIExheW91dFJlY3QgbmV3UG9zQ2xpcCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVy
ZXIoKSkuY2xpcFJlY3Qob2Zmc2V0LCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKaW5kZXggMjY1OGQ0YThmMmI0M2JlZjlhODViMTBhZjc2ZDBlYzcx
ODJmZTkyMS4uZGExMWMwOGVhZTVjZWNkMDU4YjYxMjQxNzM5NGFiYzE3NDIzN2UzZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI1MzMsMyArMjUzMyw5
IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKIHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUo
KS5jb250YWluc1NpemUoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNB
dG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVu
ZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVu
ZGVyZXIuaXNUYWJsZSgpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5UGFpbnRDb250
YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQoreworICAgIHJl
dHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zUGFpbnQoKSAmJiAoIXJlbmRlcmVyLmlzSW5s
aW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIu
aXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1Jl
bmRlckJsb2NrRmxvdygpKTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCmluZGV4IDJmZDk2ODc5MDIyYTZhM2I4YWNjMzE2YWYxZTE1MDRhNjIzMjc0ZTcuLjk2NDIz
Mjg5Zjg0YmNkMmE3MWE0YmVhOTg1YjNlNGE1MDFmZmJmZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTEyMDYsNiArMTIwNiw3IEBAIHZvaWQgcHJpbnRHcmFw
aGljc0xheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsKIAogYm9vbCBzaG91bGRBcHBseUxheW91
dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91bGRBcHBseVNpemVD
b250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKK2Jvb2wgc2hvdWxkQXBwbHlQYWludENv
bnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXgg
NzNmNWFjZjUyZTI0YWRkYmJlMGRiZjU0YWVkNzk1ODNjYmJiOGM4My4uMDk5Y2QyYjFlMzM4M2Fi
ZGZlM2I1ZTdjNjU5MzkzZTA3YWZhMDMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTMzMCw4ICszMzAsNiBAQCBwdWJsaWM6CiAgICAgCiAg
ICAgT3ZlcmZsb3cgb3ZlcmZsb3dYKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcmZs
b3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mub3ZlcmZsb3dYKTsgfQogICAgIE92ZXJmbG93IG92ZXJm
bG93WSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJmbG93PihtX25vbkluaGVyaXRl
ZEZsYWdzLm92ZXJmbG93WSk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxvd0lubGluZURpcmVjdGlv
bigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBvdmVyZmxvd1go
KSA6IG92ZXJmbG93WSgpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigp
IGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBvdmVyZmxvd1koKSA6
IG92ZXJmbG93WCgpOyB9CiAgICAgYm9vbCBpc092ZXJmbG93VmlzaWJsZSgpIGNvbnN0IHsgcmV0
dXJuIG92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlIHx8IG92ZXJmbG93WSgpID09IE92
ZXJmbG93OjpWaXNpYmxlOyB9CiAKICAgICBPdmVyc2Nyb2xsQmVoYXZpb3Igb3ZlcnNjcm9sbEJl
aGF2aW9yWCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJzY3JvbGxCZWhhdmlvcj4o
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+b3ZlcnNjcm9sbEJlaGF2aW9yWCk7IH0KQEAgLTUyOCw2
ICs1MjYsNyBAQCBwdWJsaWM6CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250YWluKCkg
Y29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQogICAgIGJv
b2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9CiAgICAgYm9vbCBjb250
YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWlu
LmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQorICAgIGJvb2wgY29udGFpbnNQYWludCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMo
Q29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBCb3hEaXJlY3Rpb24gYm94
RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2lu
aGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBib3hGbGV4KCkgY29uc3Qg
eyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5m
bGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cAppbmRleCAzZjk4NzI5MTg4YTAxODg5MTkyMTJjZmI0ODZmZGU5MzgxYjBkNGFjLi43ZWJlMTMw
NGIwNjc3Mjk1OWM1MTZlY2JkNjIxYjcwNGEzYTA0NzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTIxNCw3ICsyMTQsNyBAQCBib29s
IFJlbmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5Vmlld3BvcnRDbGlwKCkgY29uc3QKICAgICAvLyB0
aGUgb3V0ZXJtb3N0IHN2ZyBpcyBjbGlwcGVkIGlmIGF1dG8sIGFuZCBzdmcgZG9jdW1lbnQgcm9v
dHMgYXJlIGFsd2F5cyBjbGlwcGVkCiAgICAgLy8gV2hlbiB0aGUgc3ZnIGlzIHN0YW5kLWFsb25l
IChpc0RvY3VtZW50RWxlbWVudCgpID09IHRydWUpIHRoZSB2aWV3cG9ydCBjbGlwcGluZyBzaG91
bGQgYWx3YXlzCiAgICAgLy8gYmUgYXBwbGllZCwgbm90aW5nIHRoYXQgdGhlIHdpbmRvdyBzY3Jv
bGxiYXJzIHNob3VsZCBiZSBoaWRkZW4gaWYgb3ZlcmZsb3c9aGlkZGVuLgotICAgIHJldHVybiBz
dHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4KKyAgICByZXR1cm4gZWZmZWN0
aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkhpZGRlbgogICAgICAgICB8fCBzdHlsZSgpLm92
ZXJmbG93WCgpID09IE92ZXJmbG93OjpBdXRvCiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OlNjcm9sbAogICAgICAgICB8fCB0aGlzLT5pc0RvY3VtZW50RWxlbWVu
dFJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzk3M2EzMDE1YmVjYmZiYjFhMDdiYjdiZTljZDk4OGJhMjE2
MWIwZS4uMTk5ODQyYWM4ODc3YjBiNzQ3MTA4MTUzYjk3ZDQyODRkODEyMjUzYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIxLTA4LTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCB0ZXN0cyB0aGF0IHBh
c3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOC0wMyAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1wb3J0IGNzcy9j
c3Mtc2l6aW5nL2FzcGVjdC1yYXRpbyB0ZXN0cyBmcm9tIFdQVApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggYWJhM2QzZmFlMTgzYzcwY2FmOWQwMjlhNDAxNGM2NDg4MzdkZjMyOS4u
MWY2N2U2ZGVhZDZlYmQyN2FkYzUyZDZkZTg3ZmYxNDYyN2E2NDVlMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDgtMDMgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFp
bjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRqdXN0IHRlc3QgZXhwZWN0YXRpb24gbm93IHRoYXQgY29udGFpbjogc3RyaWN0IGlzIHN1cHBv
cnRlZC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxl
eC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMDMgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlYWRhYmxlU3RyZWFtJ3Mg
cGlwZVRvKCkgYW5kIHBpcGVUaHJvdWdoKCkgZG9uJ3QgaGFuZGxlIG9wdGlvbnMgaW4gc3BlYy1w
ZXJmZWN0IHdheQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmMxOTI1Y2EwNjVhMTU3MTg5NWRlN2M0
NTgzMjU2YzMxMzMyYTQ5Yy4uMDhmY2E0ZDU3MjQ1NGU3MjhjMjE2NjQ0YzE1Y2ZlNzc4NjFkMDE1
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00ODYxLDYgKzQ4NjEsMTAgQEAgd2ViYW5pbWF0aW9u
cy90cmFuc2xhdGUtcHJvcGVydHktYW5kLXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1v
bi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQt
cnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0w
MDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDg3NSw0OSArNDg3OSw5IEBAIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAy
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTA0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jbGlwLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisjIGNvbnRhaW4t
cGFpbnQtY2xpcC0wMTUuaHRtbCBhbmQgY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIG5lZWQg
ZnV6enkgbWF0Y2hpbmcuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
b250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWlu
ZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10
YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmlj
dC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zdHlsZS1jb3VudGVycy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9m
bGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAppbmRleCBjYzBiYWM3NThhODY2
ZDRhZWVjNzVhY2U4ZWU3ZDgzM2JmMWRjMWVlLi4yZjdhY2M5MzdkZDhkMDQ3N2RlY2M5MTZjZjk5
NTJhNzIyYjJkZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4
dApAQCAtMSwxNyArMSwxMyBAQAogU3RyZXRjaGVkOgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVt
bgogCiBSb3cKIEZsZXgtc3RhcnQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435185</attachid>
            <date>2021-08-09 05:57:40 -0700</date>
            <delta_ts>2021-08-11 05:19:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210809145738.patch</filename>
            <type>text/plain</type>
            <size>35217</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODZlZWJiZjNhNjEyYWVl
MjRkMmJiYWJmN2FhNzk4NzJhYTZiOWMxNC4uZTAzMDMzYzkyZmUzNjhmMjFhNTE2OTNjZGI3Mzlm
YTk2YjZmYTFlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA4LTA5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAgY29u
c3QpOgorCiAyMDIxLTA4LTA5ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgQ2FjaGUgcmVjZW50bHkgYXRvbWl6ZWQgYWxsLXdoaXRlc3BhY2Ugc3RyaW5n
cyBmb3IgdXNlIGJ5IHRoZSBIVE1MIHBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmlu
ZGV4IDUxNDdkZDdjOTdmZDI2M2IwZDZiYjY4Mzc3MDVhNTExZTJjZWQ2MTcuLmU5MjY3ZGQ4OWE5
ZGM3NzhmZTYxOTExNjdhMDhjM2JiZjc1NGIxMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKQEAgLTYzNSw4ICs2MzUsOCBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmll
d3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogCiAgICAgYm9v
bCBvdmVycmlkZUhpZGRlbiA9IGZyYW1lKCkuaXNNYWluRnJhbWUoKSAmJiAoKGZyYW1lKCkuZnJh
bWVTY2FsZUZhY3RvcigpID4gMSkgfHwgaGVhZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0KCkp
OwogCi0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1go
KTsKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WSgp
OworICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgp
OworICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgp
OwogCiAgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KHJlbmRlcmVyKSkgewogICAgICAgICAvLyBG
SVhNRTogZXZhbHVhdGUgaWYgd2UgY2FuIGFsbG93IG92ZXJmbG93IGZvciB0aGVzZSBjYXNlcyB0
b28uCkBAIC03MDAsMTIgKzcwMCwxMiBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9u
VG9WaWV3cG9ydCgpCiAKICAgICBhdXRvKiBib2R5ID0gZG9jdW1lbnQtPmJvZHkoKTsKICAgICBp
ZiAoYm9keSAmJiBib2R5LT5yZW5kZXJlcigpKSB7Ci0gICAgICAgIGRvY3VtZW50T3JCb2R5UmVu
ZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CisgICAg
ICAgIGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLmVmZmVjdGl2ZU92
ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRv
Y3VtZW50RWxlbWVudCkgPwogICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIoKSA6ICZkb2N1bWVu
dFJlbmRlcmVyOwogICAgIH0KIAogICAgIFBhZ2luYXRpb24gcGFnaW5hdGlvbjsKLSAgICBPdmVy
ZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93
WSgpOworICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPmVm
ZmVjdGl2ZU92ZXJmbG93WSgpOwogICAgIGlmIChvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2Vk
WCB8fCBvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWSkgewogICAgICAgICBwYWdpbmF0aW9u
Lm1vZGUgPSBXZWJDb3JlOjpwYWdpbmF0aW9uTW9kZUZvclJlbmRlclN0eWxlKGRvY3VtZW50T3JC
b2R5UmVuZGVyZXItPnN0eWxlKCkpOwogICAgICAgICBHYXBMZW5ndGggY29sdW1uR2FwTGVuZ3Ro
ID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5jb2x1bW5HYXAoKTsKQEAgLTc2Nyw3
ICs3NjcsNyBAQCB2b2lkIEZyYW1lVmlldzo6Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlv
dXQoU2Nyb2xsYmFyTW9kZSYgaE1vZGUsIFNjcm9sbGJhcgogICAgIGlmIChpczxIVE1MQm9keUVs
ZW1lbnQ+KCpib2R5T3JGcmFtZXNldCkgJiYgcm9vdFJlbmRlcmVyKSB7CiAgICAgICAgIC8vIEl0
J3Mgc3VmZmljaWVudCB0byBqdXN0IGNoZWNrIHRoZSBYIG92ZXJmbG93LAogICAgICAgICAvLyBz
aW5jZSBpdCdzIGlsbGVnYWwgdG8gaGF2ZSB2aXNpYmxlIGluIG9ubHkgb25lIGRpcmVjdGlvbi4K
LSAgICAgICAgaWYgKHJvb3RSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKKyAg
ICAgICAgaWYgKHJvb3RSZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CiAgICAg
ICAgICAgICBhdXRvKiBib2R5UmVuZGVyZXIgPSBib2R5T3JGcmFtZXNldC0+cmVuZGVyZXIoKTsK
ICAgICAgICAgICAgIGlmIChib2R5UmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBhcHBseU92
ZXJmbG93VG9WaWV3cG9ydCgqYm9keVJlbmRlcmVyLCBoTW9kZSwgdk1vZGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApp
bmRleCBkYTg5MTNkYmU3YmJjOTQ1YWM1YzVkYzk3NmE5MzY3ZWE5MTFjMjA5Li4xYWQ3OTY3M2Jh
ZjhlYTI0NjJlNjhiMjdiNDBiZjIzMTVjODdiMzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApAQCAtODA1LDcgKzgw
NSw3IEBAIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6Om1pblNp
emVGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkKSBjCiAgICAgICAgIHJldHVybiBtaW5Db250ZW50
Rm9yQ2hpbGQoY2hpbGQpOwogCiAgICAgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUgPSBpc1Jv
d0F4aXMgPyBjaGlsZC5zdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpIDogY2hpbGQuc3R5bGUoKS5s
b2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhp
cyA/IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSA6IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJm
bG93OjpWaXNpYmxlOworICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBj
aGlsZC5lZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNp
YmxlIDogY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93
OjpWaXNpYmxlOwogICAgIExheW91dFVuaXQgYmFzZWxpbmVTaGltID0gbV9hbGdvcml0aG0uYmFz
ZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCwgZ3JpZEF4aXNGb3JEaXJlY3Rpb24oZGlyZWN0aW9u
KCkpKTsKIAogICAgIGlmIChjaGlsZE1pblNpemUuaXNBdXRvKCkgJiYgb3ZlcmZsb3dJc1Zpc2li
bGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNzJkZWQ2ZDFh
OTY2ZGJlOWVjYTMyZTQ2MjEyMzk3ZWYxOTMwNTFjOC4uOWI1N2ExNTFkZDBlMmZhNWI2ZThkNjE1
NjQ4OTEzNDI5ZmY2MTY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
QEAgLTQ4Miw3ICs0ODIsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAg
ICBzZXRGbG9hdGluZyghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zs
b2F0aW5nKCkpOwogCiAgICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdo
b3NlIG92ZXJmbG93IGFwcGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAgIGlmICghKHN0eWxlVG9V
c2Uub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgc3R5bGVUb1VzZS5vdmVyZmxv
d1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlz
UmVuZGVyQmxvY2soKSkgeworICAgIGlmICghKGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJm
bG93OjpWaXNpYmxlICYmIGVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxl
KSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CiAgICAgICAg
IGJvb2wgYm94SGFzTm9uVmlzaWJsZU92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzQm9k
eSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4gcHJvcGFnYXRl
IHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCkBAIC00OTEs
NyArNDkxLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgICAgICAg
ICAvLyAoMykgVGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4KICAgICAgICAg
ICAgIGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgp
KQogICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1lbnQoKQotICAg
ICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCkt
PnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICAgICAgICAg
ICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5lZmZlY3Rp
dmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAgICAgICAgIGJv
eEhhc05vblZpc2libGVPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9
CkBAIC02NjEsNyArNjYxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2lj
YWxXaWR0aEluRnJhZ21lbnRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWwKICAgICBpZiAoYWxs
b3dJbnRyaW5zaWMgPT0gQWxsb3dJbnRyaW5zaWM6Ok5vICYmIHN0eWxlVG9Vc2UubG9naWNhbE1p
bldpZHRoKCkuaXNJbnRyaW5zaWMoKSkKICAgICAgICAgcmV0dXJuIGxvZ2ljYWxXaWR0aDsKICAg
ICBhdXRvIG1pbkxlbmd0aCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCk7Ci0gICAgaWYg
KHN0eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0
eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lk
dGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29u
dGVudCgpKSAmJiBzdHlsZVRvVXNlLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZs
b3c6OlZpc2libGUpIHsKKyAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1p
bkxlbmd0aC5pc0F1dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8
fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2Uu
bG9naWNhbFdpZHRoKCkuaXNNYXhDb250ZW50KCkpICYmIGVmZmVjdGl2ZU92ZXJmbG93SW5saW5l
RGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgLy8gTWFrZSBzdXJl
IHdlIGFjdHVhbGx5IHVzZWQgdGhlIGFzcGVjdCByYXRpby4KICAgICAgICAgaWYgKHNob3VsZENv
bXB1dGVMb2dpY2FsV2lkdGhGcm9tQXNwZWN0UmF0aW8oKSkKICAgICAgICAgICAgIG1pbkxlbmd0
aCA9IExlbmd0aChMZW5ndGhUeXBlOjpNaW5Db250ZW50KTsKQEAgLTY3Nyw3ICs2NzcsNyBAQCBM
YXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91
dFVuaXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IHN0ZDo6
bWluKGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAgfQogICAgIGF1dG8gbG9naWNh
bE1pbkhlaWdodCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGlmIChsb2dp
Y2FsTWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFz
cGVjdFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBzdHlsZVRvVXNlLm92ZXJm
bG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICBpZiAobG9naWNh
bE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRlTG9naWNhbEhlaWdodEZyb21Bc3Bl
Y3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQgJiYgZWZmZWN0aXZlT3ZlcmZsb3dC
bG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKQogICAgICAgICBsb2dpY2FsTWlu
SGVpZ2h0ID0gTGVuZ3RoKCppbnRyaW5zaWNDb250ZW50SGVpZ2h0LCBMZW5ndGhUeXBlOjpGaXhl
ZCk7CiAgICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNNaW5Db250ZW50KCkgfHwgbG9naWNhbE1p
bkhlaWdodC5pc01heENvbnRlbnQoKSkKICAgICAgICAgbG9naWNhbE1pbkhlaWdodCA9IExlbmd0
aCgpOwpAQCAtNDgxOSw3ICs0ODE5LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3Jt
YXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSW5saW5lQmxvY2tPcklubGlu
ZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGhhc1BvdGVu
dGlhbGx5U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0
ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNG
aWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5k
ZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSB8fCBpc1JlbmRlckZyYWdtZW50Q29u
dGFpbmVyKCkKLSAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0
ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4o
KSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6
OkZsb3dSb290OworICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgcGFpbnRD
b250YWlubWVudEFwcGxpZXMoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXND
b2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0
eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKIH0KIAogYm9vbCBSZW5k
ZXJCb3g6OmF2b2lkc0Zsb2F0cygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAwNmU4Y2MxODllNDQ4ODQ0OGQwYjNm
NzkzZWIyYzU0ZDk5Njk3Nzc0Li4yYjAzMmZlYzNiYTZiNzA4OWNhMTk0OTE5OTlhZTA4MGIzMjJh
OWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKQEAgLTIxMSw2ICsyMTEsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1
cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEhvcml6b250YWxXcml0aW5nTW9kZShzdHlsZVRvVXNl
LmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpOwogICAgIGlmIChzdHlsZVRvVXNlLmlzRmxpcHBl
ZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5zZXRIYXNG
bGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CisgICAgc2V0UGFpbnRDb250YWlubWVudEFwcGxp
ZXMoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7CiB9CiAKIHN0YXRpYyBMYXlv
dXRTaXplIGFjY3VtdWxhdGVJbkZsb3dQb3NpdGlvbk9mZnNldHMoY29uc3QgUmVuZGVyT2JqZWN0
KiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRl
eCBmODdkMDVmMzk5ZTg0OTA4YjU5OThmNWM5Zjk1NmM5YWQ1Y2MyZjE3Li40Yjg3ZDcxYzM0ZWFh
MjA1MTdiZjNlNWY3NGE5ZWZmN2U5MDdjYmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJFbGVtZW50KTsKIAogc3RydWN0IFNh
bWVTaXplQXNSZW5kZXJFbGVtZW50IDogcHVibGljIFJlbmRlck9iamVjdCB7Ci0gICAgdW5zaWdu
ZWQgYml0ZmllbGRzIDogMjU7CisgICAgdW5zaWduZWQgYml0ZmllbGRzIDogMjY7CiAgICAgdm9p
ZCogZmlyc3RDaGlsZDsKICAgICB2b2lkKiBsYXN0Q2hpbGQ7CiAgICAgUmVuZGVyU3R5bGUgc3R5
bGU7CkBAIC0xMjMsNiArMTIzLDcgQEAgaW5saW5lIFJlbmRlckVsZW1lbnQ6OlJlbmRlckVsZW1l
bnQoQ29udGFpbmVyTm9kZSYgZWxlbWVudE9yRG9jdW1lbnQsIFJlbmRlclN0eWwKICAgICAsIG1f
aXNSZWdpc3RlcmVkRm9yVmlzaWJsZUluVmlld3BvcnRDYWxsYmFjayhmYWxzZSkKICAgICAsIG1f
dmlzaWJsZUluVmlld3BvcnRTdGF0ZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4oVmlzaWJsZUluVmll
d3BvcnRTdGF0ZTo6VW5rbm93bikpCiAgICAgLCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9u
RW1wdHlQaXhlbENvdW50KGZhbHNlKQorICAgICwgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyhm
YWxzZSkKICAgICAsIG1fZmlyc3RDaGlsZChudWxscHRyKQogICAgICwgbV9sYXN0Q2hpbGQobnVs
bHB0cikKICAgICAsIG1fc3R5bGUoV1RGTW92ZShzdHlsZSkpCkBAIC0yMjk1LDcgKzIyOTYsNyBA
QCBzdGF0aWMgUmVuZGVyT2JqZWN0OjpCbG9ja0NvbnRlbnRIZWlnaHRUeXBlIGluY2x1ZGVOb25G
aXhlZEhlaWdodChjb25zdCBSZW5kZXJPYgogICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KHJl
bmRlcmVyKSkgewogICAgICAgICAgICAgLy8gRm9yIGZpeGVkIGhlaWdodCBzdHlsZXMsIGlmIHRo
ZSBvdmVyZmxvdyBzaXplIG9mIHRoZSBlbGVtZW50IHNwaWxscyBvdXQgb2YgdGhlIHNwZWNpZmll
ZAogICAgICAgICAgICAgLy8gaGVpZ2h0LCBhc3N1bWUgd2UgY2FuIGFwcGx5IHRleHQgYXV0by1z
aXppbmcuCi0gICAgICAgICAgICBpZiAoc3R5bGUub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUKKyAgICAgICAgICAgIGlmIChkb3duY2FzdDxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpLmVm
ZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlCiAgICAgICAgICAgICAgICAg
JiYgc3R5bGUuaGVpZ2h0KCkudmFsdWUoKSA8IGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJl
cikubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBS
ZW5kZXJPYmplY3Q6Ok92ZXJmbG93SGVpZ2h0OwogICAgICAgICB9CkBAIC0yMzc1LDQgKzIzNzYs
MjAgQEAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBSZW5kZXJFbGVtZW50OjphbmltYXRl
ZFN0eWxlKCkKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitPdmVyZmxvdyBSZW5kZXJFbGVtZW50
OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dYID0gc3R5
bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMoKSAmJiBv
dmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBPdmVyZmxvdzo6
Q2xpcDsKKyAgICByZXR1cm4gb3ZlcmZsb3dYOworfQorCitPdmVyZmxvdyBSZW5kZXJFbGVtZW50
OjplZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dZID0gc3R5
bGUoKS5vdmVyZmxvd1koKTsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMoKSAmJiBv
dmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBPdmVyZmxvdzo6
Q2xpcDsKKyAgICByZXR1cm4gb3ZlcmZsb3dZOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCAyMzc3YmE5NzJjNGFjOTVjYzhmNzhkZDMyZGRlODE5
NDljNDdmZTI1Li4xZDgxODQwYmQ2NzVhZTM2ZGZjNWY0MjQ4Y2U3ZDcwYTNkYzE1ZDJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTIxMSw2ICsyMTEsOSBA
QCBwdWJsaWM6CiAgICAgYm9vbCBkaWRDb250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENv
dW50KCkgY29uc3QgeyByZXR1cm4gbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4
ZWxDb3VudDsgfQogICAgIHZvaWQgc2V0RGlkQ29udGlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4
ZWxDb3VudCgpIHsgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA9
IHRydWU7IH0KIAorICAgIGJvb2wgcGFpbnRDb250YWlubWVudEFwcGxpZXMoKSBjb25zdCB7IHJl
dHVybiBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzOyB9CisgICAgdm9pZCBzZXRQYWludENvbnRh
aW5tZW50QXBwbGllcyhib29sIGIpIHsgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyA9IGI7IH0K
KwogICAgIGJvb2wgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKGNvbnN0
IEludFJlY3QmIHZpc2libGVSZWN0LCBDYWNoZWRJbWFnZSYpOwogICAgIGJvb2wgaGFzUGF1c2Vk
SW1hZ2VBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlv
bnM7IH0KICAgICB2b2lkIHNldEhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhib29sIGIpIHsgbV9o
YXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMgPSBiOyB9CkBAIC0yNTcsNiArMjYwLDExIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9IE1v
bm90b25pY1RpbWUoKSkgeyB9CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBhbmlt
YXRlZFN0eWxlKCk7CiAKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdDsK
KyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdDsKKyAgICBPdmVyZmxvdyBl
ZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCku
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0
aXZlT3ZlcmZsb3dZKCk7IH0KKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGly
ZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVs
T2JqZWN0RmxhZyAgPSAxIDw8IDAsCkBAIC0zODEsNiArMzg5LDggQEAgcHJpdmF0ZToKIAogICAg
IHVuc2lnbmVkIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgOiAx
OwogCisgICAgdW5zaWduZWQgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyA6IDE7CisKICAgICBS
ZW5kZXJPYmplY3QqIG1fZmlyc3RDaGlsZDsKICAgICBSZW5kZXJPYmplY3QqIG1fbGFzdENoaWxk
OwogCkBAIC00NDYsNyArNDU2LDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29u
dGFpbkZpeGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwt
Y2hhbmdlIHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChi
dWcgMjI1MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENo
YW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9y
T3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQot
ICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAg
fHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxk
QXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxl
bWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00
NTcsNiArNDY4LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29s
dXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2Nr
KCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0
ZXNDb250YWluaW5nQmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBp
c1NWR0ZvcmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5t
ZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMp
CiAgICAgICAgIHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCA5ZmM5M2RmMjRjYjBiMGQ4NmM5NzMy
ZmY2YTE0ODQ5OTg2ZjAxOWZjLi5mYWE0OGFkOTM2ZmJhYjU2MGRhNTA5NzFiNzliYTdkMjczNjA2
ODFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAKQEAgLTE3NTMsMTUgKzE3NTMsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRI
YXNJbnRyaW5zaWNNYWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92ZXJmbG93
IFJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVy
Qm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAg
ICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5
bGUoKS5vdmVyZmxvd1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93
WCgpOworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAogT3ZlcmZs
b3cgUmVuZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAg
ICAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4gY2hpbGQu
c3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJm
bG93WSgpOworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0KIAogYm9v
bCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoY29u
c3QgUmVuZGVyQm94JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IGFmYjI3Y2NhNjcxZGU2
YWJmN2EzMjliMjFjNzgxMTcwMGNmMjk1M2UuLjc5NzBmMmZkNzgxMzY1ZTY0YzE1MWI0M2UyYzMz
N2MwMmUyZDljYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
cmFnbWVudENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYWdtZW50Q29udGFpbmVyLmNwcApAQCAtMTU3LDE0ICsxNTcsMTQgQEAgTGF5b3V0UmVjdCBS
ZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6b3ZlcmZsb3dSZWN0Rm9yRnJhZ21lbnRlZEZsb3dQb3J0
aW9uKGNvbnN0IEwKICAgICBpZiAobV9mcmFnbWVudGVkRmxvdy0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSkgewogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBpc0ZpcnN0UG9ydGlvbiA/IGZy
YWdtZW50ZWRGbG93T3ZlcmZsb3cueSgpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCk7
CiAgICAgICAgIExheW91dFVuaXQgbWF4WSA9IGlzTGFzdFBvcnRpb24gPyBzdGQ6Om1heChmcmFn
bWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhZ
KCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCk7Ci0gICAgICAgIGJvb2wgY2xp
cFggPSBzdHlsZSgpLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlOworICAgICAgICBi
b29sIGNsaXBYID0gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CiAg
ICAgICAgIExheW91dFVuaXQgbWluWCA9IGNsaXBYID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVj
dC54KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKSwgZnJhZ21lbnRl
ZEZsb3dPdmVyZmxvdy54KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBjbGlwWCA/IGZy
YWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpIDogc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQ
b3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgpKTsKICAgICAg
ICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBtYXhZIC0g
bWluWSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gaXNGaXJzdFBv
cnRpb24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LngoKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlv
blJlY3QueCgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBpc0xhc3RQb3J0aW9uID8gc3Rk
OjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3Zl
cmZsb3cubWF4WCgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpOwotICAgICAg
ICBib29sIGNsaXBZID0gc3R5bGUoKS5vdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsK
KyAgICAgICAgYm9vbCBjbGlwWSA9IGVmZmVjdGl2ZU92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpW
aXNpYmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBjbGlwWSA/IGZyYWdtZW50ZWRGbG93
UG9ydGlvblJlY3QueSgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCks
IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueSgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0g
Y2xpcFkgPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSA6IHN0ZDo6bWF4KGZyYWdt
ZW50ZWRGbG93UG9ydGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFkoKSk7
CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwg
bWF4WSAtIG1pblkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklubGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCmluZGV4
IDY2ZjU0Yzc3YTE1YjFmNzI0M2Y4NmMzMjE1ZTkyZjk4NzVlOWMwMGUuLmRmNTQ4MjNmYjdiNDY0
YjU3MTM4YjhjZWZjNGNjY2MwZTFhNGM4MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmgKQEAgLTg5LDcgKzg5LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBoaXRUZXN0
Q3VsbGVkSW5saW5lKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0
IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQm
IGFjY3VtdWxhdGVkT2Zmc2V0KTsKIAotICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGlzSW5GbG93UG9zaXRpb25lZCgpIHx8IGNyZWF0ZXNHcm91cCgpIHx8
IGhhc0NsaXBQYXRoKCkgfHwgd2lsbENoYW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBo
YXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25zKCk7IH0KKyAgICBib29sIHJlcXVpcmVzTGF5
ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVh
dGVzR3JvdXAoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dCgqdGhpcykgfHwgd2lsbENoYW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBoYXNSdW5u
aW5nQWNjZWxlcmF0ZWRBbmltYXRpb25zKCk7IH0KIAogcHJvdGVjdGVkOgogICAgIHZvaWQgd2ls
bEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAppbmRleCA4ZmM2MjVkNjA4OTRjODA2MGUwYmM4NDZjMTc4ZWFhYmYxMzAwZGVlLi4y
ZDgyMzQwY2Y5ZGMyY2ZmMTc2MjJkNjY5ODI4Yzk2ZTkzNjE3MDczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTU1NSw2ICs1NTUsNyBAQCBzdGF0aWMgYm9v
bCBjYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyKQogICAg
ICAgICB8fCByZW5kZXJlci5oYXNSZWZsZWN0aW9uKCkKICAgICAgICAgfHwgcmVuZGVyZXIuc3R5
bGUoKS5oYXNJc29sYXRpb24oKQogICAgICAgICB8fCAhcmVuZGVyZXIuc3R5bGUoKS5oYXNBdXRv
VXNlZFpJbmRleCgpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5k
ZXJlcikKICAgICAgICAgfHwgKHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpICYmIHJlbmRl
cmVyLnN0eWxlKCkud2lsbENoYW5nZSgpLT5jYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKSk7CiB9
CiAKQEAgLTU4NCw3ICs1ODUsNyBAQCBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZs
b3dPbmx5KCkgY29uc3QKIAogYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0Nv
bnRleHQoKSBjb25zdAogewotICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9V
c2VkWkluZGV4KCkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIoKTsKKyAgICByZXR1cm4gIXJlbmRlcmVy
KCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlu
bWVudChyZW5kZXJlcigpKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOwogfQogCiBib29sIFJlbmRl
ckxheWVyOjpzZXRJc05vcm1hbEZsb3dPbmx5KGJvb2wgaXNOb3JtYWxGbG93T25seSkKQEAgLTQ0
NzcsNiArNDQ3OCwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29u
c3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICAgICAgY2xp
cFJlY3RzLnNldE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwg
Y2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSkpOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVy
KCkuaXNQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBS
ZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgp
KSk7CisgICAgICAgICAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVy
KCkpKSB7CisgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2Vj
dGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CisgICAgICAg
ICAgICAgICAgY2xpcFJlY3RzLnNldEZpeGVkQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJm
bG93Q2xpcCwgY2xpcFJlY3RzLmZpeGVkQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgICAgIGlmIChyZW5kZXJlcigpLmhhc0NsaXAoKSkgewogICAgICAgICAgICAg
TGF5b3V0UmVjdCBuZXdQb3NDbGlwID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5j
bGlwUmVjdChvZmZzZXQsIG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAppbmRleCAyNjU4ZDRhOGYyYjQzYmVmOWE4NWIxMGFmNzZkMGVjNzE4MmZlOTIx
Li5kYTExYzA4ZWFlNWNlY2QwNThiNjEyNDE3Mzk0YWJjMTc0MjM3ZTNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjUzMywzICsyNTMzLDkgQEAgYm9v
bCBXZWJDb3JlOjpzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5k
ZXJPYmplY3QmIHJlbmRlcmVyKQogewogICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRh
aW5zU2l6ZSgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lu
bGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5p
c1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9uKCkpICYmICFyZW5kZXJlci5p
c1RhYmxlKCk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50
KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIHJl
bmRlcmVyLnN0eWxlKCkuY29udGFpbnNQYWludCgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8
fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlU
ZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVyQmxv
Y2tGbG93KCkpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5k
ZXggMmZkOTY4NzkwMjJhNmEzYjhhY2MzMTZhZjFlMTUwNGE2MjMyNzRlNy4uOTY0MjMyODlmODRi
Y2QyYTcxYTRiZWE5ODViM2U0YTUwMWZmYmZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaApAQCAtMTIwNiw2ICsxMjA2LDcgQEAgdm9pZCBwcmludEdyYXBoaWNzTGF5
ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOwogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0Q29udGFp
bm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5t
ZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1l
bnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA3M2Y1YWNm
NTJlMjRhZGRiYmUwZGJmNTRhZWQ3OTU4M2NiYmI4YzgzLi4wOTljZDJiMWUzMzgzYWJkZmUzYjVl
N2M2NTkzOTNlMDdhZmEwMzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaApAQCAtMzMwLDggKzMzMCw2IEBAIHB1YmxpYzoKICAgICAKICAgICBPdmVy
ZmxvdyBvdmVyZmxvd1goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4obV9u
b25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1gpOyB9CiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mu
b3ZlcmZsb3dZKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgY29u
c3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WCgpIDogb3Zl
cmZsb3dZKCk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WSgpIDogb3ZlcmZs
b3dYKCk7IH0KICAgICBib29sIGlzT3ZlcmZsb3dWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gb3Zl
cmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgfHwgb3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGU7IH0KIAogICAgIE92ZXJzY3JvbGxCZWhhdmlvciBvdmVyc2Nyb2xsQmVoYXZpb3JY
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcnNjcm9sbEJlaGF2aW9yPihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5vdmVyc2Nyb2xsQmVoYXZpb3JYKTsgfQpAQCAtNTI4LDYgKzUyNiw3
IEBAIHB1YmxpYzoKICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25zdCB7
IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAgICAgYm9vbCBjb250
YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0KICAgICBib29sIGNvbnRhaW5zU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFp
bnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3Qg
eyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlu
bWVudDo6UGFpbnQpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXBy
ZWNhdGVkRmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rp
b24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVk
RmxhZ3MuYm94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4
IDNmOTg3MjkxODhhMDE4ODkxOTIxMmNmYjQ4NmZkZTkzODFiMGQ0YWMuLjdlYmUxMzA0YjA2Nzcy
OTU5YzUxNmVjYmQ2MjFiNzA0YTNhMDQ3MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMjE0LDcgKzIxNCw3IEBAIGJvb2wgUmVuZGVy
U1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAoKSBjb25zdAogICAgIC8vIHRoZSBvdXRl
cm1vc3Qgc3ZnIGlzIGNsaXBwZWQgaWYgYXV0bywgYW5kIHN2ZyBkb2N1bWVudCByb290cyBhcmUg
YWx3YXlzIGNsaXBwZWQKICAgICAvLyBXaGVuIHRoZSBzdmcgaXMgc3RhbmQtYWxvbmUgKGlzRG9j
dW1lbnRFbGVtZW50KCkgPT0gdHJ1ZSkgdGhlIHZpZXdwb3J0IGNsaXBwaW5nIHNob3VsZCBhbHdh
eXMKICAgICAvLyBiZSBhcHBsaWVkLCBub3RpbmcgdGhhdCB0aGUgd2luZG93IHNjcm9sbGJhcnMg
c2hvdWxkIGJlIGhpZGRlbiBpZiBvdmVyZmxvdz1oaWRkZW4uCi0gICAgcmV0dXJuIHN0eWxlKCku
b3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkhpZGRlbgorICAgIHJldHVybiBlZmZlY3RpdmVPdmVy
Zmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuCiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OkF1dG8KICAgICAgICAgfHwgc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBP
dmVyZmxvdzo6U2Nyb2xsCiAgICAgICAgIHx8IHRoaXMtPmlzRG9jdW1lbnRFbGVtZW50UmVuZGVy
ZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA0YzA2M2FlM2U4ZDAyN2IyZmY4ZjVhYTYzZWU1ZGJiYTkzYmYyNDQ5Li43
OWZkMmM5YjFiMDNhMzZjZDlhNzAyOWMwZmMwMDI0NzEzMjYzMzdhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjEtMDgtMDkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAg
ICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHRlc3RzIHRoYXQgcGFzcyBub3cu
CisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA4LTA4ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIGNhcmV0LWNvbG9yIGRvZXMg
bm90IHdvcmsgb24gZmlyc3QgY2xpY2sgaW4gaW9zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCBiN2RhMTBhNmY0NzVjZmVjYjY4M2Y4OTQ4OTgzMDAzMDIyZjEwZTYzLi44MjQ3N2Uw
NmNjYTFiMGY3OTZmMTdiYzQ3ZGVhYzM3YWU0MWEzNTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOC0wOSAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3Qg
dGVzdCBleHBlY3RhdGlvbiBub3cgdGhhdCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0t
Y29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wOC0wNiAgQW50dGkgS29pdmlz
dG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI3NDAzOCk6IEtl
eWZyYW1lIGFuaW1hdGlvbiB3aXRoIHRvcC9sZWZ0IHdpdGggcGVyY2VudGFnZXMgZmFpbHMgdG8g
YW5pbWF0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTgzYzNmYjYyNmUyZjMzOTI4NzRkZTY5ZWU0
MWFkYmMyYWY1NGIzYi4uMGE1ZmUyYWE4OGIzZTZlMzc3ODQ3OWVhYWQ2ODk3ZTJmNzY0MmI1NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00ODU5LDYgKzQ4NTksMTAgQEAgd2ViYW5pbWF0aW9ucy90
cmFuc2xhdGUtcHJvcGVydHktYW5kLXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1m
b3JjZWQtbGEKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVi
eS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDg3Myw0OSArNDg3Nyw5IEBAIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAx
NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTA0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2VsbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
bGlwLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisjIGNvbnRhaW4tcGFp
bnQtY2xpcC0wMTUuaHRtbCBhbmQgY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIG5lZWQgZnV6
enkgbWF0Y2hpbmcuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250
YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWluZGVw
ZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAyLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJs
ZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0w
MTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zdHlsZS1jb3VudGVycy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4
LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAppbmRleCBjYzBiYWM3NThhODY2ZDRh
ZWVjNzVhY2U4ZWU3ZDgzM2JmMWRjMWVlLi4yZjdhY2M5MzdkZDhkMDQ3N2RlY2M5MTZjZjk5NTJh
NzIyYjJkZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dApA
QCAtMSwxNyArMSwxMyBAQAogU3RyZXRjaGVkOgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgog
CiBSb3cKIEZsZXgtc3RhcnQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435336</attachid>
            <date>2021-08-11 05:20:02 -0700</date>
            <delta_ts>2021-09-06 06:52:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210811142000.patch</filename>
            <type>text/plain</type>
            <size>35361</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwOTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmRmMzBiNTYwZTY4Nzky
NjVkYzFhOTAzYWUzY2QxYjI4NTk0ZTA4My4uZDNiZGM2ZmUwNTRjYzJmMDVjZTQ3OTgzZjQzYTNh
ZTVhYWVhMDY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA4LTExICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAgY29u
c3QpOgorCiAyMDIxLTA4LTExICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJvICA8YXBlcmV6QGlnYWxp
YS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMsIG1pZCBBdWd1c3QgMjAy
MSBlZGl0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNTE0N2RkN2M5N2ZkMjYz
YjBkNmJiNjgzNzcwNWE1MTFlMmNlZDYxNy4uZTkyNjdkZDg5YTlkYzc3OGZlNjE5MTE2N2EwOGMz
YmJmNzU0YjEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNjM1LDggKzYzNSw4
IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydChjb25zdCBSZW5kZXJF
bGVtZW50JiByZW5kZXJlciwgU2Nyb2xsYmFyCiAKICAgICBib29sIG92ZXJyaWRlSGlkZGVuID0g
ZnJhbWUoKS5pc01haW5GcmFtZSgpICYmICgoZnJhbWUoKS5mcmFtZVNjYWxlRmFjdG9yKCkgPiAx
KSB8fCBoZWFkZXJIZWlnaHQoKSB8fCBmb290ZXJIZWlnaHQoKSk7CiAKLSAgICBPdmVyZmxvdyBv
dmVyZmxvd1ggPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WCgpOwotICAgIE92ZXJmbG93IG92
ZXJmbG93WSA9IHJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgT3ZlcmZsb3cgb3Zl
cmZsb3dYID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7CisgICAgT3ZlcmZsb3cgb3Zl
cmZsb3dZID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiAKICAgICBpZiAoaXM8UmVu
ZGVyU1ZHUm9vdD4ocmVuZGVyZXIpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBldmFsdWF0ZSBpZiB3
ZSBjYW4gYWxsb3cgb3ZlcmZsb3cgZm9yIHRoZXNlIGNhc2VzIHRvby4KQEAgLTcwMCwxMiArNzAw
LDEyIEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseVBhZ2luYXRpb25Ub1ZpZXdwb3J0KCkKIAogICAg
IGF1dG8qIGJvZHkgPSBkb2N1bWVudC0+Ym9keSgpOwogICAgIGlmIChib2R5ICYmIGJvZHktPnJl
bmRlcmVyKCkpIHsKLSAgICAgICAgZG9jdW1lbnRPckJvZHlSZW5kZXJlciA9IGRvY3VtZW50UmVu
ZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1M
SHRtbEVsZW1lbnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KKyAgICAgICAgZG9jdW1lbnRPckJvZHlS
ZW5kZXJlciA9IGRvY3VtZW50UmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZs
b3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CiAg
ICAgICAgICAgICBib2R5LT5yZW5kZXJlcigpIDogJmRvY3VtZW50UmVuZGVyZXI7CiAgICAgfQog
CiAgICAgUGFnaW5hdGlvbiBwYWdpbmF0aW9uOwotICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IGRv
Y3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgT3ZlcmZsb3cg
b3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dZKCk7
CiAgICAgaWYgKG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFnZWRYIHx8IG92ZXJmbG93WSA9PSBP
dmVyZmxvdzo6UGFnZWRZKSB7CiAgICAgICAgIHBhZ2luYXRpb24ubW9kZSA9IFdlYkNvcmU6OnBh
Z2luYXRpb25Nb2RlRm9yUmVuZGVyU3R5bGUoZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUo
KSk7CiAgICAgICAgIEdhcExlbmd0aCBjb2x1bW5HYXBMZW5ndGggPSBkb2N1bWVudE9yQm9keVJl
bmRlcmVyLT5zdHlsZSgpLmNvbHVtbkdhcCgpOwpAQCAtNzY3LDcgKzc2Nyw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBo
TW9kZSwgU2Nyb2xsYmFyCiAgICAgaWYgKGlzPEhUTUxCb2R5RWxlbWVudD4oKmJvZHlPckZyYW1l
c2V0KSAmJiByb290UmVuZGVyZXIpIHsKICAgICAgICAgLy8gSXQncyBzdWZmaWNpZW50IHRvIGp1
c3QgY2hlY2sgdGhlIFggb3ZlcmZsb3csCiAgICAgICAgIC8vIHNpbmNlIGl0J3MgaWxsZWdhbCB0
byBoYXZlIHZpc2libGUgaW4gb25seSBvbmUgZGlyZWN0aW9uLgotICAgICAgICBpZiAocm9vdFJl
bmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhU
TUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkgeworICAgICAgICBpZiAocm9vdFJlbmRl
cmVyLT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1M
SHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKICAgICAgICAgICAgIGF1dG8qIGJvZHlS
ZW5kZXJlciA9IGJvZHlPckZyYW1lc2V0LT5yZW5kZXJlcigpOwogICAgICAgICAgICAgaWYgKGJv
ZHlSZW5kZXJlcikgewogICAgICAgICAgICAgICAgIGFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KCpi
b2R5UmVuZGVyZXIsIGhNb2RlLCB2TW9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCmluZGV4IGRhODkxM2RiZTdiYmM5
NDVhYzVjNWRjOTc2YTkzNjdlYTkxMWMyMDkuLjFhZDc5NjczYmFmOGVhMjQ2MmU2OGIyN2I0MGJm
MjMxNWM4N2IzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Hcmlk
VHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC04MDUsNyArODA1LDcgQEAgTGF5b3V0VW5pdCBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkKFJlbmRlckJv
eCYgY2hpbGQpIGMKICAgICAgICAgcmV0dXJuIG1pbkNvbnRlbnRGb3JDaGlsZChjaGlsZCk7CiAK
ICAgICBjb25zdCBMZW5ndGgmIGNoaWxkTWluU2l6ZSA9IGlzUm93QXhpcyA/IGNoaWxkLnN0eWxl
KCkubG9naWNhbE1pbldpZHRoKCkgOiBjaGlsZC5zdHlsZSgpLmxvZ2ljYWxNaW5IZWlnaHQoKTsK
LSAgICBib29sIG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dBeGlzID8gY2hpbGQuc3R5bGUoKS5v
dmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlIDogY2hpbGQuc3R5
bGUoKS5vdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGU7CisgICAg
Ym9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/IGNoaWxkLmVmZmVjdGl2ZU92ZXJm
bG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgOiBjaGlsZC5lZmZlY3Rp
dmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGU7CiAgICAgTGF5
b3V0VW5pdCBiYXNlbGluZVNoaW0gPSBtX2FsZ29yaXRobS5iYXNlbGluZU9mZnNldEZvckNoaWxk
KGNoaWxkLCBncmlkQXhpc0ZvckRpcmVjdGlvbihkaXJlY3Rpb24oKSkpOwogCiAgICAgaWYgKGNo
aWxkTWluU2l6ZS5pc0F1dG8oKSAmJiBvdmVyZmxvd0lzVmlzaWJsZSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBkODdlOGJkNWNkZTA5OWQ4NzI4MjJhZjRlMTIz
ZDg5ODc3MzlhYTBlLi4yMGEzYTY5YTM5MDY2ZWNjZjY3MGI1YjY2ZDU3NGQ3NmVhYjNkMDQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDgyLDcgKzQ4Miw3IEBA
IHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEZsb2F0aW5nKCFpc091
dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxvYXRpbmcoKSk7CiAKICAgICAv
LyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hvc2Ugb3ZlcmZsb3cgYXBwbGll
cyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKCEoc3R5bGVUb1VzZS5vdmVyZmxvd1goKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZSAmJiBzdHlsZVRvVXNlLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpW
aXNpYmxlKSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7Cisg
ICAgaWYgKCEoZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgZWZm
ZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpICYmICFpc0RvY0VsZW1lbnRS
ZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKICAgICAgICAgYm9vbCBib3hIYXNOb25WaXNp
YmxlT3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICBpZiAoaXNCb2R5KCkpIHsKICAgICAgICAgICAg
IC8vIE92ZXJmbG93IG9uIHRoZSBib2R5IGNhbiBwcm9wYWdhdGUgdG8gdGhlIHZpZXdwb3J0IHVu
ZGVyIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucy4KQEAgLTQ5MSw3ICs0OTEsNyBAQCB2b2lkIFJl
bmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICAgICAgICAgIC8vICgzKSBUaGUgcm9vdCBl
bGVtZW50IGhhcyB2aXNpYmxlIG92ZXJmbG93LgogICAgICAgICAgICAgaWYgKGlzPEhUTUxIdG1s
RWxlbWVudD4oKmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAg
JiYgZG9jdW1lbnQoKS5ib2R5KCkgPT0gZWxlbWVudCgpCi0gICAgICAgICAgICAgICAgJiYgZG9j
dW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+c3R5bGUoKS5vdmVyZmxvd1go
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92
ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAgICAgICAgICAgYm94SGFzTm9uVmlzaWJsZU92ZXJm
bG93ID0gZmFsc2U7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTY2MSw3ICs2NjEsNyBA
QCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbFdpZHRoSW5GcmFnbWVudEJ5
TWluTWF4KExheW91dFVuaXQgbG9naWNhbAogICAgIGlmIChhbGxvd0ludHJpbnNpYyA9PSBBbGxv
d0ludHJpbnNpYzo6Tm8gJiYgc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS5pc0ludHJpbnNp
YygpKQogICAgICAgICByZXR1cm4gbG9naWNhbFdpZHRoOwogICAgIGF1dG8gbWluTGVuZ3RoID0g
c3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKTsKLSAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3Bl
Y3RSYXRpbygpICYmIG1pbkxlbmd0aC5pc0F1dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lk
dGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgp
IHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNYXhDb250ZW50KCkpICYmIHN0eWxlVG9V
c2Uub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAg
IGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygpICYm
IChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9naWNh
bFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01h
eENvbnRlbnQoKSkgJiYgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVy
Zmxvdzo6VmlzaWJsZSkgewogICAgICAgICAvLyBNYWtlIHN1cmUgd2UgYWN0dWFsbHkgdXNlZCB0
aGUgYXNwZWN0IHJhdGlvLgogICAgICAgICBpZiAoc2hvdWxkQ29tcHV0ZUxvZ2ljYWxXaWR0aEZy
b21Bc3BlY3RSYXRpbygpKQogICAgICAgICAgICAgbWluTGVuZ3RoID0gTGVuZ3RoKExlbmd0aFR5
cGU6Ok1pbkNvbnRlbnQpOwpAQCAtNjc3LDcgKzY3Nyw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94
Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0
LCBzCiAgICAgICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gc3RkOjptaW4obG9naWNhbEhlaWdodCwg
bWF4SC52YWx1ZSgpKTsKICAgICB9CiAgICAgYXV0byBsb2dpY2FsTWluSGVpZ2h0ID0gc3R5bGVU
b1VzZS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNBdXRv
KCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9tQXNwZWN0UmF0aW8oKSAmJiBpbnRy
aW5zaWNDb250ZW50SGVpZ2h0ICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigp
ID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNBdXRv
KCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9tQXNwZWN0UmF0aW8oKSAmJiBpbnRy
aW5zaWNDb250ZW50SGVpZ2h0ICYmIGVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9
PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICBhdXRvIGhlaWdodEZyb21Bc3BlY3RSYXRp
byA9IGJsb2NrU2l6ZUZyb21Bc3BlY3RSYXRpbyhob3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ0V4
dGVudCgpLCB2ZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKSwgTGF5b3V0VW5pdChzdHls
ZSgpLmxvZ2ljYWxBc3BlY3RSYXRpbygpKSwgc3R5bGUoKS5ib3hTaXppbmdGb3JBc3BlY3RSYXRp
bygpLCBsb2dpY2FsV2lkdGgoKSkgLSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwog
ICAgICAgICBpZiAoZmlyc3RDaGlsZCgpKQogICAgICAgICAgICAgaGVpZ2h0RnJvbUFzcGVjdFJh
dGlvID0gc3RkOjptYXgoaGVpZ2h0RnJvbUFzcGVjdFJhdGlvLCAqaW50cmluc2ljQ29udGVudEhl
aWdodCk7CkBAIC00ODIzLDcgKzQ4MjMsNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zv
cm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5s
aW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzUG90
ZW50aWFsbHlTY3JvbGxhYmxlT3ZlcmZsb3coKSB8fCBpc0ZsZXhJdGVtSW5jbHVkaW5nRGVwcmVj
YXRlZCgpCiAgICAgICAgIHx8IGlzVGFibGVDZWxsKCkgfHwgaXNUYWJsZUNhcHRpb24oKSB8fCBp
c0ZpZWxkc2V0KCkgfHwgaXNXcml0aW5nTW9kZVJvb3QoKSB8fCBpc0RvY3VtZW50RWxlbWVudFJl
bmRlcmVyKCkgfHwgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIHx8IGlzUmVuZGVyRnJhZ21lbnRD
b250YWluZXIoKQotICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlk
SXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3Bh
bigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlw
ZTo6Rmxvd1Jvb3Q7CisgICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBwYWlu
dENvbnRhaW5tZW50QXBwbGllcygpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmll
c0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwg
c3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJl
bmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDA2ZThjYzE4OWU0NDg4NDQ4ZDBi
M2Y3OTNlYjJjNTRkOTk2OTc3NzQuLjJiMDMyZmVjM2JhNmI3MDg5Y2ExOTQ5MTk5OWFlMDgwYjMy
MmE5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcApAQCAtMjExLDYgKzIxMSw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6
OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0SG9yaXpvbnRhbFdyaXRpbmdNb2RlKHN0eWxlVG9V
c2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSk7CiAgICAgaWYgKHN0eWxlVG9Vc2UuaXNGbGlw
cGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhh
c0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKKyAgICBzZXRQYWludENvbnRhaW5tZW50QXBw
bGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKTsKIH0KIAogc3RhdGljIExh
eW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmpl
Y3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmlu
ZGV4IGY4N2QwNWYzOTllODQ5MDhiNTk5OGY1YzlmOTU2YzlhZDVjYzJmMTcuLjRiODdkNzFjMzRl
YWEyMDUxN2JmM2U1Zjc0YTllZmY3ZTkwN2NiZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJlbmRlckVsZW1lbnQpOwogCiBzdHJ1Y3Qg
U2FtZVNpemVBc1JlbmRlckVsZW1lbnQgOiBwdWJsaWMgUmVuZGVyT2JqZWN0IHsKLSAgICB1bnNp
Z25lZCBiaXRmaWVsZHMgOiAyNTsKKyAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNjsKICAgICB2
b2lkKiBmaXJzdENoaWxkOwogICAgIHZvaWQqIGxhc3RDaGlsZDsKICAgICBSZW5kZXJTdHlsZSBz
dHlsZTsKQEAgLTEyMyw2ICsxMjMsNyBAQCBpbmxpbmUgUmVuZGVyRWxlbWVudDo6UmVuZGVyRWxl
bWVudChDb250YWluZXJOb2RlJiBlbGVtZW50T3JEb2N1bWVudCwgUmVuZGVyU3R5bAogICAgICwg
bV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxlSW5WaWV3cG9ydENhbGxiYWNrKGZhbHNlKQogICAgICwg
bV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihWaXNpYmxlSW5W
aWV3cG9ydFN0YXRlOjpVbmtub3duKSkKICAgICAsIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlO
b25FbXB0eVBpeGVsQ291bnQoZmFsc2UpCisgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVz
KGZhbHNlKQogICAgICwgbV9maXJzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX2xhc3RDaGlsZChu
dWxscHRyKQogICAgICwgbV9zdHlsZShXVEZNb3ZlKHN0eWxlKSkKQEAgLTIyOTUsNyArMjI5Niw3
IEBAIHN0YXRpYyBSZW5kZXJPYmplY3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5v
bkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4o
cmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYg
dGhlIG92ZXJmbG93IHNpemUgb2YgdGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lm
aWVkCiAgICAgICAgICAgICAvLyBoZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRv
LXNpemluZy4KLSAgICAgICAgICAgIGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZQorICAgICAgICAgICAgaWYgKGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlciku
ZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKICAgICAgICAgICAgICAg
ICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRl
cmVyKS5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IFJlbmRlck9iamVjdDo6T3ZlcmZsb3dIZWlnaHQ7CiAgICAgICAgIH0KQEAgLTIzNzUsNCArMjM3
NiwyMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IFJlbmRlckVsZW1lbnQ6OmFuaW1h
dGVkU3R5bGUoKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK092ZXJmbG93IFJlbmRlckVsZW1l
bnQ6OmVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1ggPSBz
dHlsZSgpLm92ZXJmbG93WCgpOworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpICYm
IG92ZXJmbG93WCA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93
OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9CisKK092ZXJmbG93IFJlbmRlckVsZW1l
bnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1kgPSBz
dHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpICYm
IG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93
OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1k7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDIzNzdiYTk3MmM0YWM5NWNjOGY3OGRkMzJkZGU4
MTk0OWM0N2ZlMjUuLjFkODE4NDBiZDY3NWFlMzZkZmM1ZjQyNDhjZTdkNzBhM2RjMTVkMmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjExLDYgKzIxMSw5
IEBAIHB1YmxpYzoKICAgICBib29sIGRpZENvbnRpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50OyB9CiAgICAgdm9pZCBzZXREaWRDb250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50KCkgeyBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50
ID0gdHJ1ZTsgfQogCisgICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsg
cmV0dXJuIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXM7IH0KKyAgICB2b2lkIHNldFBhaW50Q29u
dGFpbm1lbnRBcHBsaWVzKGJvb2wgYikgeyBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzID0gYjsg
fQorCiAgICAgYm9vbCByZXBhaW50Rm9yUGF1c2VkSW1hZ2VBbmltYXRpb25zSWZOZWVkZWQoY29u
c3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsIENhY2hlZEltYWdlJik7CiAgICAgYm9vbCBoYXNQYXVz
ZWRJbWFnZUFuaW1hdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2hhc1BhdXNlZEltYWdlQW5pbWF0
aW9uczsgfQogICAgIHZvaWQgc2V0SGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKGJvb2wgYikgeyBt
X2hhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyA9IGI7IH0KQEAgLTI1Nyw2ICsyNjAsMTEgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhNb25vdG9uaWNUaW1lID0g
TW9ub3RvbmljVGltZSgpKSB7IH0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGFu
aW1hdGVkU3R5bGUoKTsKIAorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0
OworICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0OworICAgIE92ZXJmbG93
IGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUo
KS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgOiBlZmZl
Y3RpdmVPdmVyZmxvd1koKTsgfQorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93QmxvY2tE
aXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyBlZmZlY3RpdmVPdmVyZmxvd1koKSA6IGVmZmVjdGl2ZU92ZXJmbG93WCgpOyB9CisKIHBy
b3RlY3RlZDoKICAgICBlbnVtIEJhc2VUeXBlRmxhZyB7CiAgICAgICAgIFJlbmRlckxheWVyTW9k
ZWxPYmplY3RGbGFnICA9IDEgPDwgMCwKQEAgLTM4MSw2ICszODksOCBAQCBwcml2YXRlOgogCiAg
ICAgdW5zaWduZWQgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA6
IDE7CiAKKyAgICB1bnNpZ25lZCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzIDogMTsKKwogICAg
IFJlbmRlck9iamVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCogbV9sYXN0Q2hp
bGQ7CiAKQEAgLTQ0Niw3ICs0NTYsOCBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5D
b250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICAvLyBGSVhNRTogd2ls
bC1jaGFuZ2Ugc2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2NrcyBvbiBpbmxpbmUgYm94ZXMg
KGJ1ZyAyMjUwMzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxs
Q2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tG
b3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgp
Ci0gICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpOworICAgICAg
ICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91
bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBpbmxpbmUgYm9vbCBSZW5kZXJF
bGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKQEAg
LTQ1Nyw2ICs0NjgsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJz
b2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGlzUmVuZGVyQmxv
Y2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3Jl
YXRlc0NvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlbHlQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8
IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFp
bm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhp
cykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDlmYzkzZGYyNGNiMGIwZDg2Yzk3
MzJmZjZhMTQ4NDk5ODZmMDE5ZmMuLmZhYTQ4YWQ5MzZmYmFiNTYwZGE1MDk3MWI3OWJhN2QyNzM2
MDY4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmNwcApAQCAtMTc1MywxNSArMTc1MywxNSBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGls
ZEhhc0ludHJpbnNpY01haW5BeGlzU2l6ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQogT3ZlcmZs
b3cgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25zdCBSZW5k
ZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0gICAg
ICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOwotICAgIHJldHVybiBjaGlsZC5z
dHlsZSgpLm92ZXJmbG93WSgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZs
b3dYKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogfQogCiBPdmVy
ZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25zdCBS
ZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0g
ICAgICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOwotICAgIHJldHVybiBjaGls
ZC5zdHlsZSgpLm92ZXJmbG93WCgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3Zl
cmZsb3dZKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwogfQogCiBi
b29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhhc1BlcmNlbnRIZWlnaHREZXNjZW5kYW50cyhj
b25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKaW5kZXggYWZiMjdjY2E2NzFk
ZTZhYmY3YTMyOWIyMWM3ODExNzAwY2YyOTUzZS4uNzk3MGYyZmQ3ODEzNjVlNjRjMTUxYjQzZTJj
MzM3YzAyZTJkOWNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYWdtZW50Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCkBAIC0xNTcsMTQgKzE1NywxNCBAQCBMYXlvdXRSZWN0
IFJlbmRlckZyYWdtZW50Q29udGFpbmVyOjpvdmVyZmxvd1JlY3RGb3JGcmFnbWVudGVkRmxvd1Bv
cnRpb24oY29uc3QgTAogICAgIGlmIChtX2ZyYWdtZW50ZWRGbG93LT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpKSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGlzRmlyc3RQb3J0aW9uID8g
ZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy55KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lnko
KTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6bWF4KGZy
YWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1h
eFkoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKTsKLSAgICAgICAgYm9vbCBj
bGlwWCA9IHN0eWxlKCkub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CisgICAgICAg
IGJvb2wgY2xpcFggPSBlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsK
ICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25S
ZWN0LngoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpLCBmcmFnbWVu
dGVkRmxvd092ZXJmbG93LngoKSk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGNsaXBYID8g
ZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCkgOiBzdGQ6Om1heChmcmFnbWVudGVkRmxv
d1BvcnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhYKCkpOwogICAg
ICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAtIG1pblgsIG1heFkg
LSBtaW5ZKTsKICAgICB9IGVsc2UgewogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBpc0ZpcnN0
UG9ydGlvbiA/IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpIDogZnJhZ21lbnRlZEZsb3dQb3J0
aW9uUmVjdC54KCk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGlzTGFzdFBvcnRpb24gPyBz
dGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dP
dmVyZmxvdy5tYXhYKCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCk7Ci0gICAg
ICAgIGJvb2wgY2xpcFkgPSBzdHlsZSgpLm92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpWaXNpYmxl
OworICAgICAgICBib29sIGNsaXBZID0gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgIT0gT3ZlcmZsb3c6
OlZpc2libGU7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGNsaXBZID8gZnJhZ21lbnRlZEZs
b3dQb3J0aW9uUmVjdC55KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lnko
KSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy55KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkg
PSBjbGlwWSA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpIDogc3RkOjptYXgoZnJh
Z21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WSgp
KTsKICAgICAgICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5Y
LCBtYXhZIC0gbWluWSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKaW5k
ZXggNjZmNTRjNzdhMTViMWY3MjQzZjg2YzMyMTVlOTJmOTg3NWU5YzAwZS4uZGY1NDgyM2ZiN2I0
NjRiNTcxMzhiOGNlZmM0Y2NjYzBlMWE0YzgxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbmxpbmUuaApAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGhpdFRl
c3RDdWxsZWRJbmxpbmUoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29u
c3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2lu
dCYgYWNjdW11bGF0ZWRPZmZzZXQpOwogCi0gICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dyb3VwKCkg
fHwgaGFzQ2xpcFBhdGgoKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgpIHx8
IGhhc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQorICAgIGJvb2wgcmVxdWlyZXNM
YXllcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzSW5GbG93UG9zaXRpb25lZCgpIHx8IGNy
ZWF0ZXNHcm91cCgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KCp0aGlzKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgpIHx8IGhhc1J1
bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB3
aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCmluZGV4IDhmYzYyNWQ2MDg5NGM4MDYwZTBiYzg0NmMxNzhlYWFiZjEzMDBkZWUu
LjJkODIzNDBjZjlkYzJjZmYxNzYyMmQ2Njk4MjhjOTZlOTM2MTcwNzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBAIHN0YXRpYyBi
b29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAg
ICAgICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5z
dHlsZSgpLmhhc0lzb2xhdGlvbigpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhhc0F1
dG9Vc2VkWkluZGV4KCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJl
bmRlcmVyKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVu
ZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKTsK
IH0KIApAQCAtNTg0LDcgKzU4NSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFs
Rmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5n
Q29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0
b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVy
ZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRh
aW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVu
ZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpAQCAt
NDQ3Nyw2ICs0NDc4LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyhj
b25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb250ZXh0LCBDCiAgICAgICAgICAgICBj
bGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlw
LCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7CiAgICAgICAgICAgICBpZiAocmVuZGVy
ZXIoKS5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xp
cFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0
KCkpKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVy
ZXIoKSkpIHsKKyAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJz
ZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKKyAgICAg
ICAgICAgICAgICBjbGlwUmVjdHMuc2V0Rml4ZWRDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3Zl
cmZsb3dDbGlwLCBjbGlwUmVjdHMuZml4ZWRDbGlwUmVjdCgpKSk7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFzQ2xpcCgpKSB7CiAgICAgICAgICAg
ICBMYXlvdXRSZWN0IG5ld1Bvc0NsaXAgPSBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkp
LmNsaXBSZWN0KG9mZnNldCwgbnVsbHB0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCmluZGV4IDI2NThkNGE4ZjJiNDNiZWY5YTg1YjEwYWY3NmQwZWM3MTgyZmU5
MjEuLmRhMTFjMDhlYWU1Y2VjZDA1OGI2MTI0MTczOTRhYmMxNzQyMzdlM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTMzLDMgKzI1MzMsOSBAQCBi
b29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJl
bmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29u
dGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWlj
SW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVy
LmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVy
LmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1l
bnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4g
cmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgp
IHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVi
eVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJC
bG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApp
bmRleCAyZmQ5Njg3OTAyMmE2YTNiOGFjYzMxNmFmMWUxNTA0YTYyMzI3NGU3Li45NjQyMzI4OWY4
NGJjZDJhNzFhNGJlYTk4NWIzZTRhNTAxZmZiZmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oCkBAIC0xMjA2LDYgKzEyMDYsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NM
YXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250
YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRDb250YWlu
bWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDczZjVh
Y2Y1MmUyNGFkZGJiZTBkYmY1NGFlZDc5NTgzY2JiYjhjODMuLjA5OWNkMmIxZTMzODNhYmRmZTNi
NWU3YzY1OTM5M2UwN2FmYTAzMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCkBAIC0zMzAsOCArMzMwLDYgQEAgcHVibGljOgogICAgIAogICAgIE92
ZXJmbG93IG92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJmbG93Piht
X25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WCk7IH0KICAgICBPdmVyZmxvdyBvdmVyZmxvd1ko
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4obV9ub25Jbmhlcml0ZWRGbGFn
cy5vdmVyZmxvd1kpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBj
b25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gb3ZlcmZsb3dYKCkgOiBv
dmVyZmxvd1koKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSBjb25z
dCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gb3ZlcmZsb3dZKCkgOiBvdmVy
Zmxvd1goKTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBv
dmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBvdmVyZmxvd1koKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZTsgfQogCiAgICAgT3ZlcnNjcm9sbEJlaGF2aW9yIG92ZXJzY3JvbGxCZWhhdmlv
clgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyc2Nyb2xsQmVoYXZpb3I+KG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPm92ZXJzY3JvbGxCZWhhdmlvclgpOyB9CkBAIC01MjgsNiArNTI2
LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0
IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNv
bnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29u
dGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNT
aXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250
YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRh
aW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRl
cHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0
ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5k
ZXggM2Y5ODcyOTE4OGEwMTg4OTE5MjEyY2ZiNDg2ZmRlOTM4MWIwZDRhYy4uN2ViZTEzMDRiMDY3
NzI5NTljNTE2ZWNiZDYyMWI3MDRhM2EwNDcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0yMTQsNyArMjE0LDcgQEAgYm9vbCBSZW5k
ZXJTVkdSb290OjpzaG91bGRBcHBseVZpZXdwb3J0Q2xpcCgpIGNvbnN0CiAgICAgLy8gdGhlIG91
dGVybW9zdCBzdmcgaXMgY2xpcHBlZCBpZiBhdXRvLCBhbmQgc3ZnIGRvY3VtZW50IHJvb3RzIGFy
ZSBhbHdheXMgY2xpcHBlZAogICAgIC8vIFdoZW4gdGhlIHN2ZyBpcyBzdGFuZC1hbG9uZSAoaXNE
b2N1bWVudEVsZW1lbnQoKSA9PSB0cnVlKSB0aGUgdmlld3BvcnQgY2xpcHBpbmcgc2hvdWxkIGFs
d2F5cwogICAgIC8vIGJlIGFwcGxpZWQsIG5vdGluZyB0aGF0IHRoZSB3aW5kb3cgc2Nyb2xsYmFy
cyBzaG91bGQgYmUgaGlkZGVuIGlmIG92ZXJmbG93PWhpZGRlbi4KLSAgICByZXR1cm4gc3R5bGUo
KS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuCisgICAgcmV0dXJuIGVmZmVjdGl2ZU92
ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4KICAgICAgICAgfHwgc3R5bGUoKS5vdmVyZmxv
d1goKSA9PSBPdmVyZmxvdzo6QXV0bwogICAgICAgICB8fCBzdHlsZSgpLm92ZXJmbG93WCgpID09
IE92ZXJmbG93OjpTY3JvbGwKICAgICAgICAgfHwgdGhpcy0+aXNEb2N1bWVudEVsZW1lbnRSZW5k
ZXJlcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGJkNmZiMjk2YTJiNTJhMzMxYTM4YjgzNjg1YTg3OWM5ZWYxNWNjY2Mu
LjVjNzVjMmUyNmM4YzBmNjFmZGMwZjdiYjFlODBiZTBjNWFhOTg5NTIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMS0wOC0xMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhhdCBwYXNzIG5v
dy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDgtMTEgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGVycnktcGljayBBTkdM
RTogUmV2aXNlIFdlYkdMJ3Mgc2hhZGVyU291cmNlIHZhbGlkYXRpb24KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IGQ1MTZjOTkzMjk0MzAyYTRlN2M3NjA0NWI4YzM0ZGIyNDViZjMz
MGIuLmEwYWQyNzJmOTM3NzBjNjMyYmExNjQzNGU1Nzg4YjI5ZGIzZjEzNzEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA4LTExICBSb2IgQnVp
cyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNv
bnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkanVzdCB0ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRhaW46IHN0cmljdCBpcyBz
dXBwb3J0ZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94
L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA4LTEwICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIENyb3NzLU9yaWdp
bi1PcGVuZXItUG9saWN5IHN1cHBvcnQgZm9yIEJsb2IgVVJMcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMzE1NjI0OTc0NjJlZGVhYzQyZTcwNGVhOTA3MzAyODdlN2ZhNTM2NS4uNjk5M2VmNmYzN2Ji
NDMzMDMwOTYzMjU0NTVhMTc3OTJiZDI0YWI5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00ODYy
LDYgKzQ4NjIsMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5kLXRyYW5z
bGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRhaW5tZW50
IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpA
QCAtNDg3Niw0OSArNDg4MCw5IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkv
Y29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAw
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxMC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDYuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCisjIGNvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBhbmQgY29udGFp
bi1wYWludC1jbGlwLTAxNi5odG1sIG5lZWQgZnV6enkgbWF0Y2hpbmcuCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1t
YXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LXNpemUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250
ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3Vu
dGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5z
LXN0cmljdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVj
dGVkLnR4dAppbmRleCBjYzBiYWM3NThhODY2ZDRhZWVjNzVhY2U4ZWU3ZDgzM2JmMWRjMWVlLi4y
ZjdhY2M5MzdkZDhkMDQ3N2RlY2M5MTZjZjk5NTJhNzIyYjJkZWNiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9m
bGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0t
Y29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwxMyBAQAogU3RyZXRjaGVk
OgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCiBSb3cKIEZsZXgtc3RhcnQ6CiAKLUNvbHVt
bgogCi1Sb3cKIAogQ29sdW1uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437410</attachid>
            <date>2021-09-06 06:52:10 -0700</date>
            <delta_ts>2021-09-10 04:35:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210906155207.patch</filename>
            <type>text/plain</type>
            <size>35530</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYzMDY3ZjhiZjBiYjNj
YTg0ZjE3YmE4M2I5M2I1YzUxOTk3Y2FkOC4uYjJkYzE1YmQ1M2QxOTFlM2U5MWMwMTk5YzE5MGFl
ZTA4MjU0YmE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIxLTA5LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAgY29u
c3QpOgorCiAyMDIxLTA5LTA2ICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl1bTVNFXSBDaGVjayBDb250ZW50VHlwZSBw
YXJhbWV0ZXJzIHdoZW4gY2hlY2tpbmcgc3VwcG9ydGVkIHR5cGVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKaW5kZXggODlhNjJkMzgyZDM0NTQ1ZjUzMGNjNzRmNzA2N2I4NGI1Y2E2YTAxZS4u
MmU4MzJhYTY4MjY0MDU5Mzg5MzNlMmUyMjU2MjI0ZDAxN2I0NGY0ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtNjM1LDggKzYzNSw4IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92
ZXJmbG93VG9WaWV3cG9ydChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgU2Nyb2xsYmFy
CiAKICAgICBib29sIG92ZXJyaWRlSGlkZGVuID0gZnJhbWUoKS5pc01haW5GcmFtZSgpICYmICgo
ZnJhbWUoKS5mcmFtZVNjYWxlRmFjdG9yKCkgPiAxKSB8fCBoZWFkZXJIZWlnaHQoKSB8fCBmb290
ZXJIZWlnaHQoKSk7CiAKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5zdHlsZSgp
Lm92ZXJmbG93WCgpOwotICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLnN0eWxlKCku
b3ZlcmZsb3dZKCk7CisgICAgT3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuZWZmZWN0aXZl
T3ZlcmZsb3dYKCk7CisgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuZWZmZWN0aXZl
T3ZlcmZsb3dZKCk7CiAKICAgICBpZiAoaXM8UmVuZGVyU1ZHUm9vdD4ocmVuZGVyZXIpKSB7CiAg
ICAgICAgIC8vIEZJWE1FOiBldmFsdWF0ZSBpZiB3ZSBjYW4gYWxsb3cgb3ZlcmZsb3cgZm9yIHRo
ZXNlIGNhc2VzIHRvby4KQEAgLTcwMCwxMiArNzAwLDEyIEBAIHZvaWQgRnJhbWVWaWV3OjphcHBs
eVBhZ2luYXRpb25Ub1ZpZXdwb3J0KCkKIAogICAgIGF1dG8qIGJvZHkgPSBkb2N1bWVudC0+Ym9k
eSgpOwogICAgIGlmIChib2R5ICYmIGJvZHktPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgZG9jdW1l
bnRPckJvZHlSZW5kZXJlciA9IGRvY3VtZW50UmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKSA9
PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudEVsZW1l
bnQpID8KKyAgICAgICAgZG9jdW1lbnRPckJvZHlSZW5kZXJlciA9IGRvY3VtZW50UmVuZGVyZXIu
ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxF
bGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CiAgICAgICAgICAgICBib2R5LT5yZW5kZXJlcigp
IDogJmRvY3VtZW50UmVuZGVyZXI7CiAgICAgfQogCiAgICAgUGFnaW5hdGlvbiBwYWdpbmF0aW9u
OwotICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxl
KCkub3ZlcmZsb3dZKCk7CisgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlS
ZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiAgICAgaWYgKG92ZXJmbG93WSA9PSBPdmVy
Zmxvdzo6UGFnZWRYIHx8IG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFnZWRZKSB7CiAgICAgICAg
IHBhZ2luYXRpb24ubW9kZSA9IFdlYkNvcmU6OnBhZ2luYXRpb25Nb2RlRm9yUmVuZGVyU3R5bGUo
ZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKSk7CiAgICAgICAgIEdhcExlbmd0aCBjb2x1
bW5HYXBMZW5ndGggPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLmNvbHVtbkdhcCgp
OwpAQCAtNzY3LDcgKzc2Nyw3IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJN
b2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgaWYgKGlz
PEhUTUxCb2R5RWxlbWVudD4oKmJvZHlPckZyYW1lc2V0KSAmJiByb290UmVuZGVyZXIpIHsKICAg
ICAgICAgLy8gSXQncyBzdWZmaWNpZW50IHRvIGp1c3QgY2hlY2sgdGhlIFggb3ZlcmZsb3csCiAg
ICAgICAgIC8vIHNpbmNlIGl0J3MgaWxsZWdhbCB0byBoYXZlIHZpc2libGUgaW4gb25seSBvbmUg
ZGlyZWN0aW9uLgotICAgICAgICBpZiAocm9vdFJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WCgp
ID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVt
ZW50KSkgeworICAgICAgICBpZiAocm9vdFJlbmRlcmVyLT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9
PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVu
dCkpIHsKICAgICAgICAgICAgIGF1dG8qIGJvZHlSZW5kZXJlciA9IGJvZHlPckZyYW1lc2V0LT5y
ZW5kZXJlcigpOwogICAgICAgICAgICAgaWYgKGJvZHlSZW5kZXJlcikgewogICAgICAgICAgICAg
ICAgIGFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KCpib2R5UmVuZGVyZXIsIGhNb2RlLCB2TW9kZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uY3BwCmluZGV4IGRhODkxM2RiZTdiYmM5NDVhYzVjNWRjOTc2YTkzNjdlYTkxMWMyMDku
LjFhZDc5NjczYmFmOGVhMjQ2MmU2OGIyN2I0MGJmMjMxNWM4N2IzMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBA
IC04MDUsNyArODA1LDcgQEAgTGF5b3V0VW5pdCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJh
dGVneTo6bWluU2l6ZUZvckNoaWxkKFJlbmRlckJveCYgY2hpbGQpIGMKICAgICAgICAgcmV0dXJu
IG1pbkNvbnRlbnRGb3JDaGlsZChjaGlsZCk7CiAKICAgICBjb25zdCBMZW5ndGgmIGNoaWxkTWlu
U2l6ZSA9IGlzUm93QXhpcyA/IGNoaWxkLnN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkgOiBjaGls
ZC5zdHlsZSgpLmxvZ2ljYWxNaW5IZWlnaHQoKTsKLSAgICBib29sIG92ZXJmbG93SXNWaXNpYmxl
ID0gaXNSb3dBeGlzID8gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09
IE92ZXJmbG93OjpWaXNpYmxlIDogY2hpbGQuc3R5bGUoKS5vdmVyZmxvd0Jsb2NrRGlyZWN0aW9u
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGU7CisgICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlz
Um93QXhpcyA/IGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGUgOiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkg
PT0gT3ZlcmZsb3c6OlZpc2libGU7CiAgICAgTGF5b3V0VW5pdCBiYXNlbGluZVNoaW0gPSBtX2Fs
Z29yaXRobS5iYXNlbGluZU9mZnNldEZvckNoaWxkKGNoaWxkLCBncmlkQXhpc0ZvckRpcmVjdGlv
bihkaXJlY3Rpb24oKSkpOwogCiAgICAgaWYgKGNoaWxkTWluU2l6ZS5pc0F1dG8oKSAmJiBvdmVy
Zmxvd0lzVmlzaWJsZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRl
eCA0ZmVhYjc1NjYxYmY5NDcxNjdkYTY5MjVjY2ZjMTFkMzljNjkzN2UxLi5hZDUzZDFkMzhlNTdh
M2FjZWJmMDRmOTI1NGNlZTY4ZjkxYTIwNWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcApAQCAtNDgxLDcgKzQ4MSw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9t
U3R5bGUoKQogICAgIHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHls
ZVRvVXNlLmlzRmxvYXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5k
IDxodG1sPiwgd2hvc2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYg
KCEoc3R5bGVUb1VzZS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBzdHlsZVRv
VXNlLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAmJiAhaXNEb2NFbGVtZW50UmVu
ZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CisgICAgaWYgKCEoZWZmZWN0aXZlT3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZs
b3c6OlZpc2libGUpICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkp
IHsKICAgICAgICAgYm9vbCBib3hIYXNOb25WaXNpYmxlT3ZlcmZsb3cgPSB0cnVlOwogICAgICAg
ICBpZiAoaXNCb2R5KCkpIHsKICAgICAgICAgICAgIC8vIE92ZXJmbG93IG9uIHRoZSBib2R5IGNh
biBwcm9wYWdhdGUgdG8gdGhlIHZpZXdwb3J0IHVuZGVyIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cy4KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkK
ICAgICAgICAgICAgIC8vICgzKSBUaGUgcm9vdCBlbGVtZW50IGhhcyB2aXNpYmxlIG92ZXJmbG93
LgogICAgICAgICAgICAgaWYgKGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50KCkuZG9jdW1l
bnRFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5ib2R5KCkgPT0gZWxl
bWVudCgpCi0gICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+
cmVuZGVyZXIoKS0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewor
ICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVy
KCktPmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAg
ICAgICAgICAgYm94SGFzTm9uVmlzaWJsZU92ZXJmbG93ID0gZmFsc2U7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KQEAgLTY2MCw3ICs2NjAsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29u
c3RyYWluTG9naWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbAog
ICAgIGlmIChhbGxvd0ludHJpbnNpYyA9PSBBbGxvd0ludHJpbnNpYzo6Tm8gJiYgc3R5bGVUb1Vz
ZS5sb2dpY2FsTWluV2lkdGgoKS5pc0ludHJpbnNpYygpKQogICAgICAgICByZXR1cm4gbG9naWNh
bFdpZHRoOwogICAgIGF1dG8gbWluTGVuZ3RoID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgo
KTsKLSAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0aC5pc0F1
dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRvVXNl
LmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRo
KCkuaXNNYXhDb250ZW50KCkpICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24o
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJh
dGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgp
LmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwg
c3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgZWZmZWN0aXZlT3Zl
cmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAv
LyBNYWtlIHN1cmUgd2UgYWN0dWFsbHkgdXNlZCB0aGUgYXNwZWN0IHJhdGlvLgogICAgICAgICBp
ZiAoc2hvdWxkQ29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRpbygpKQogICAgICAgICAg
ICAgbWluTGVuZ3RoID0gTGVuZ3RoKExlbmd0aFR5cGU6Ok1pbkNvbnRlbnQpOwpAQCAtNjc2LDcg
KzY3Niw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlN
aW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBzCiAgICAgICAgICAgICBsb2dpY2FsSGVp
Z2h0ID0gc3RkOjptaW4obG9naWNhbEhlaWdodCwgbWF4SC52YWx1ZSgpKTsKICAgICB9CiAgICAg
YXV0byBsb2dpY2FsTWluSGVpZ2h0ID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0g
ICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxI
ZWlnaHRGcm9tQXNwZWN0UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYmIHN0eWxl
VG9Vc2Uub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7Cisg
ICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxI
ZWlnaHRGcm9tQXNwZWN0UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYmIGVmZmVj
dGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAg
ICAgICBhdXRvIGhlaWdodEZyb21Bc3BlY3RSYXRpbyA9IGJsb2NrU2l6ZUZyb21Bc3BlY3RSYXRp
byhob3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpLCB2ZXJ0aWNhbEJvcmRlckFuZFBh
ZGRpbmdFeHRlbnQoKSwgTGF5b3V0VW5pdChzdHlsZSgpLmxvZ2ljYWxBc3BlY3RSYXRpbygpKSwg
c3R5bGUoKS5ib3hTaXppbmdGb3JBc3BlY3RSYXRpbygpLCBsb2dpY2FsV2lkdGgoKSkgLSBib3Jk
ZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwogICAgICAgICBpZiAoZmlyc3RDaGlsZCgpKQog
ICAgICAgICAgICAgaGVpZ2h0RnJvbUFzcGVjdFJhdGlvID0gc3RkOjptYXgoaGVpZ2h0RnJvbUFz
cGVjdFJhdGlvLCAqaW50cmluc2ljQ29udGVudEhlaWdodCk7CkBAIC00ODM5LDcgKzQ4MzksNyBA
QCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JP
dXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzUG90ZW50aWFsbHlTY3JvbGxhYmxlT3ZlcmZsb3co
KSB8fCBpc0ZsZXhJdGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgpCiAgICAgICAgIHx8IGlzVGFibGVD
ZWxsKCkgfHwgaXNUYWJsZUNhcHRpb24oKSB8fCBpc0ZpZWxkc2V0KCkgfHwgaXNXcml0aW5nTW9k
ZVJvb3QoKSB8fCBpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNSZW5kZXJGcmFnbWVu
dGVkRmxvdygpIHx8IGlzUmVuZGVyRnJhZ21lbnRDb250YWluZXIoKQotICAgICAgICB8fCBzdHls
ZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVz
Q29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBz
dHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CisgICAgICAgIHx8IHN0
eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIHx8IGlz
R3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVt
blNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxh
eVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwCmluZGV4IGZjNDQ4OWE3MTZiYTBjZjZiNmNhMDcyMTI2YzFkMjU3ZDc5OWQxZDkuLjQwNWY4
ZTRmM2M2ZTIwN2NlZDA1MDg3MmQyMzdjNGI3MWRmNDNmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjA5LDYgKzIwOSw3
IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKHN0eWxlVG9Vc2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSk7CiAgICAgaWYgKHN0eWxlVG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAg
ICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVl
KTsKKyAgICBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29udGFp
bm1lbnQoKnRoaXMpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bv
c2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDcyN2IxMjk4YmJjMjRhZGM1YzQwNGQy
MzkwNzFjZjllOWJiZmY5ZjguLmY2ZTE4NmExZWZkYmRmMGU3NjI3YzRjMzFlZmYxMmFkYjlkYjc0
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTk2
LDcgKzk2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKFJlbmRlckVsZW1lbnQpOwogCiBzdHJ1Y3QgU2FtZVNpemVBc1JlbmRlckVsZW1lbnQgOiBw
dWJsaWMgUmVuZGVyT2JqZWN0IHsKLSAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNTsKKyAgICB1
bnNpZ25lZCBiaXRmaWVsZHMgOiAyNjsKICAgICB2b2lkKiBmaXJzdENoaWxkOwogICAgIHZvaWQq
IGxhc3RDaGlsZDsKICAgICBSZW5kZXJTdHlsZSBzdHlsZTsKQEAgLTEyNSw2ICsxMjUsNyBAQCBp
bmxpbmUgUmVuZGVyRWxlbWVudDo6UmVuZGVyRWxlbWVudChDb250YWluZXJOb2RlJiBlbGVtZW50
T3JEb2N1bWVudCwgUmVuZGVyU3R5bAogICAgICwgbV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxlSW5W
aWV3cG9ydENhbGxiYWNrKGZhbHNlKQogICAgICwgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpVbmtub3duKSkKICAg
ICAsIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoZmFsc2UpCisg
ICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQogICAgICwgbV9maXJzdENoaWxk
KG51bGxwdHIpCiAgICAgLCBtX2xhc3RDaGlsZChudWxscHRyKQogICAgICwgbV9zdHlsZShXVEZN
b3ZlKHN0eWxlKSkKQEAgLTIzMTUsNyArMjMxNiw3IEBAIHN0YXRpYyBSZW5kZXJPYmplY3Q6OkJs
b2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRlck9i
CiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAv
LyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYgdGhlIG92ZXJmbG93IHNpemUgb2YgdGhlIGVs
ZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lmaWVkCiAgICAgICAgICAgICAvLyBoZWlnaHQs
IGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRvLXNpemluZy4KLSAgICAgICAgICAgIGlmIChz
dHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQorICAgICAgICAgICAgaWYgKGRv
d25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlcikuZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGUKICAgICAgICAgICAgICAgICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1ZSgp
IDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKS5sYXlvdXRPdmVyZmxvd1JlY3QoKS5t
YXhZKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6T3ZlcmZsb3dIZWln
aHQ7CiAgICAgICAgIH0KQEAgLTI0MDUsNCArMjQwNiwyMCBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6
OnNldEJhY2tkcm9wUmVuZGVyZXIoUmVuZGVyQmxvY2tGbG93JiByZW5kZXJlcikKICAgICBlbnN1
cmVSYXJlRGF0YSgpLmJhY2tkcm9wUmVuZGVyZXIgPSBtYWtlV2Vha1B0cihyZW5kZXJlcik7CiB9
CiAKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0Cit7
CisgICAgYXV0byBvdmVyZmxvd1ggPSBzdHlsZSgpLm92ZXJmbG93WCgpOworICAgIGlmIChwYWlu
dENvbnRhaW5tZW50QXBwbGllcygpICYmIG92ZXJmbG93WCA9PSBPdmVyZmxvdzo6VmlzaWJsZSkK
KyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9
CisKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7
CisgICAgYXV0byBvdmVyZmxvd1kgPSBzdHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChwYWlu
dENvbnRhaW5tZW50QXBwbGllcygpICYmIG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkK
KyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1k7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDZjNGM1
MDhmODkyNTdiOGU2ZjM3ZmZhZjFhMzBhZjNkZTRhNjAxMGYuLmFiYTM1NzdkZjE4MDgyODM1NTZm
OGU4MmMwYmE3Yjk3OTJmYzVjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaApAQCAtMjE1LDYgKzIxNSw5IEBAIHB1YmxpYzoKICAgICBib29sIGRpZENvbnRpYnV0
ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2RpZENvbnRy
aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50OyB9CiAgICAgdm9pZCBzZXREaWRDb250
aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KCkgeyBtX2RpZENvbnRyaWJ1dGVUb1Zp
c3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50ID0gdHJ1ZTsgfQogCisgICAgYm9vbCBwYWludENvbnRh
aW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXM7
IH0KKyAgICB2b2lkIHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgYikgeyBtX3BhaW50
Q29udGFpbm1lbnRBcHBsaWVzID0gYjsgfQorCiAgICAgYm9vbCByZXBhaW50Rm9yUGF1c2VkSW1h
Z2VBbmltYXRpb25zSWZOZWVkZWQoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsIENhY2hlZElt
YWdlJik7CiAgICAgYm9vbCBoYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMoKSBjb25zdCB7IHJldHVy
biBtX2hhc1BhdXNlZEltYWdlQW5pbWF0aW9uczsgfQogICAgIHZvaWQgc2V0SGFzUGF1c2VkSW1h
Z2VBbmltYXRpb25zKGJvb2wgYikgeyBtX2hhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyA9IGI7IH0K
QEAgLTI2NSw2ICsyNjgsMTEgQEAgcHVibGljOgogCiAgICAgUmVmZXJlbmNlZFNWR1Jlc291cmNl
cyYgZW5zdXJlUmVmZXJlbmNlZFNWR1Jlc291cmNlcygpOwogCisgICAgT3ZlcmZsb3cgZWZmZWN0
aXZlT3ZlcmZsb3dYKCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZKCkg
Y29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBj
b25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3Rp
dmVPdmVyZmxvd1goKSA6IGVmZmVjdGl2ZU92ZXJmbG93WSgpOyB9CisgICAgT3ZlcmZsb3cgZWZm
ZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZl
T3ZlcmZsb3dYKCk7IH0KKwogcHJvdGVjdGVkOgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAg
ICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcgID0gMSA8PCAwLApAQCAtMzkyLDYgKzQw
MCw4IEBAIHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5
Tm9uRW1wdHlQaXhlbENvdW50IDogMTsKIAorICAgIHVuc2lnbmVkIG1fcGFpbnRDb250YWlubWVu
dEFwcGxpZXMgOiAxOworCiAgICAgUmVuZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgUmVu
ZGVyT2JqZWN0KiBtX2xhc3RDaGlsZDsKIApAQCAtNDU3LDcgKzQ2Nyw4IEBAIGlubGluZSBib29s
IFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0CiAg
ICAgICAgIC8vIEZJWE1FOiB3aWxsLWNoYW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcgYmxv
Y2tzIG9uIGlubGluZSBib3hlcyAoYnVnIDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVyQmxv
Y2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3Jl
YXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgfHwg
aXNTVkdGb3JlaWduT2JqZWN0KCkKLSAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlu
bWVudCgqdGhpcyk7CisgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRo
aXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9CiAK
IGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25l
ZE9iamVjdHMoKSBjb25zdApAQCAtNDY4LDYgKzQ3OSw3IEBAIGlubGluZSBib29sIFJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAg
ICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxl
KCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBvc2l0
aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hv
dWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXgg
ZGE4ZDczNWQwOTg3ODM3M2E4MGQzN2Q3MGFmYjE5MTJhNzAzODBhNi4uMzYxNDAzNzhjNGIyZThk
MjhhZTQ0MTIxNDkzYWYyZjQyYmIzM2VlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC0xNzcxLDE1ICsxNzcxLDE1IEBAIGJvb2wgUmVu
ZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzSW50cmluc2ljTWFpbkF4aXNTaXplKGNvbnN0IFJlbmRl
ckJveCYgY2hpbGQpCiBPdmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxv
d0ZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9y
aXpvbnRhbEZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7
Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgICAgIHJldHVybiBj
aGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3Zl
cmZsb3dZKCk7CiB9CiAKIE92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVy
Zmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlz
SG9yaXpvbnRhbEZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZ
KCk7Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgICAgIHJldHVy
biBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZl
T3ZlcmZsb3dYKCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzUGVyY2Vu
dEhlaWdodERlc2NlbmRhbnRzKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNw
cAppbmRleCBhZmIyN2NjYTY3MWRlNmFiZjdhMzI5YjIxYzc4MTE3MDBjZjI5NTNlLi43OTcwZjJm
ZDc4MTM2NWU2NGMxNTFiNDNlMmMzMzdjMDJlMmQ5Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTE1NywxNCAr
MTU3LDE0IEBAIExheW91dFJlY3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVj
dEZvckZyYWdtZW50ZWRGbG93UG9ydGlvbihjb25zdCBMCiAgICAgaWYgKG1fZnJhZ21lbnRlZEZs
b3ctPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5Z
ID0gaXNGaXJzdFBvcnRpb24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSA6IGZyYWdtZW50
ZWRGbG93UG9ydGlvblJlY3QueSgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBpc0xhc3RQ
b3J0aW9uID8gc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCksIGZyYWdt
ZW50ZWRGbG93T3ZlcmZsb3cubWF4WSgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4
WSgpOwotICAgICAgICBib29sIGNsaXBYID0gc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPdmVyZmxv
dzo6VmlzaWJsZTsKKyAgICAgICAgYm9vbCBjbGlwWCA9IGVmZmVjdGl2ZU92ZXJmbG93WCgpICE9
IE92ZXJmbG93OjpWaXNpYmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBjbGlwWCA/IGZy
YWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0
aW9uUmVjdC54KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpKTsKICAgICAgICAgTGF5b3V0
VW5pdCBtYXhYID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSA6IHN0
ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092
ZXJmbG93Lm1heFgoKSk7CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5Z
LCBtYXhYIC0gbWluWCwgbWF4WSAtIG1pblkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIExheW91
dFVuaXQgbWluWCA9IGlzRmlyc3RQb3J0aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54KCkg
OiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhY
ID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4
WCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFgoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRp
b25SZWN0Lm1heFgoKTsKLSAgICAgICAgYm9vbCBjbGlwWSA9IHN0eWxlKCkub3ZlcmZsb3dZKCkg
IT0gT3ZlcmZsb3c6OlZpc2libGU7CisgICAgICAgIGJvb2wgY2xpcFkgPSBlZmZlY3RpdmVPdmVy
Zmxvd1koKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0g
Y2xpcFkgPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSA6IHN0ZDo6bWluKGZyYWdtZW50
ZWRGbG93UG9ydGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSk7CiAgICAg
ICAgIExheW91dFVuaXQgbWF4WSA9IGNsaXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5t
YXhZKCkgOiBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21lbnRl
ZEZsb3dPdmVyZmxvdy5tYXhZKCkpOwogICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWlu
WCwgbWluWSwgbWF4WCAtIG1pblgsIG1heFkgLSBtaW5ZKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbmxpbmUuaAppbmRleCBhMzUyNDNmNGNjNTZmYzkxOWE0OWJiMmJmMGNjM2VkNTVj
OWIyOTI4Li5mOTFjNDVjMTZhMWIyZTAwMWU5ZjY0MWZlYzQ3MTA1OGJjNDQ1ZTQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCkBAIC04OSw3ICs4OSw3IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgaGl0VGVzdEN1bGxlZElubGluZShjb25zdCBIaXRUZXN0UmVxdWVzdCYs
IEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWlu
ZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiAKLSAgICBib29sIHJl
cXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQo
KSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IHdpbGxDaGFuZ2VDcmVhdGVz
U3RhY2tpbmdDb250ZXh0KCkgfHwgaGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9
CisgICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZs
b3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBzaG91
bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tp
bmdDb250ZXh0KCkgfHwgaGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CiAKIHBy
b3RlY3RlZDoKICAgICB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZDFkNzcwMTRkMWM4Y2YwMTU4NjM2
ODhhYzc1MjRjN2E0N2M0NzkxNS4uYWRjY2VkNGMwYjAxZGVhYzU4ZGE1OGY2N2NiZjMzYzNhNzI5
NWI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTUs
NiArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJl
bmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwgcmVuZGVyZXIuaXNQb3NpdGlvbmVkKCkgLy8g
Tm90ZSB0aGF0IHRoaXMgb25seSBjcmVhdGVzIHN0YWNraW5nIGNvbnRleHQgaW4gY29uanVuY3Rp
b24gd2l0aCBleHBsaWNpdCB6LWluZGV4LgogICAgICAgICB8fCByZW5kZXJlci5oYXNSZWZsZWN0
aW9uKCkKICAgICAgICAgfHwgcmVuZGVyZXIuc3R5bGUoKS5oYXNJc29sYXRpb24oKQorICAgICAg
ICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8ICFy
ZW5kZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKICAgICAgICAgfHwgKHJlbmRlcmVy
LnN0eWxlKCkud2lsbENoYW5nZSgpICYmIHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpLT5j
YW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKSkKICAgICAgICAgfHwgbGF5ZXIuZXN0YWJsaXNoZXNU
b3BMYXllcigpOwpAQCAtNTg2LDcgKzU4Nyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJl
Tm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0
YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCku
aGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAh
cmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWlu
dENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJv
b2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5
KQpAQCAtNDUyNSw2ICs0NTI2LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBS
ZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb250ZXh0LCBDCiAgICAgICAg
ICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZs
b3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7CiAgICAgICAgICAgICBpZiAo
cmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0
UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0Ns
aXBSZWN0KCkpKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQo
cmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3Qo
aW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsK
KyAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0Rml4ZWRDbGlwUmVjdChpbnRlcnNlY3Rpb24o
bmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMuZml4ZWRDbGlwUmVjdCgpKSk7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFzQ2xpcCgpKSB7CiAgICAg
ICAgICAgICBMYXlvdXRSZWN0IG5ld1Bvc0NsaXAgPSBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRl
cmVyKCkpLmNsaXBSZWN0KG9mZnNldCwgbnVsbHB0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDcwNzExMzgwYjI0Yjk5ZmUxN2I2NWY0OWU0YjExZTcx
YWJmNWIxYmIuLjZiNjVjMWIxNzg2ODhlMzUxMDJiNDY2YTM1ZmY4MDY0Mzk2ZjYwNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTQzLDMgKzI1NDMs
OSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNv
cmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxl
KCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlz
QXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJl
bmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJl
bmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29u
dGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICBy
ZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lu
bGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVy
LmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNS
ZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAppbmRleCBmM2M0ZTkxODkyZGQxMjMzMDYwNzQwYTg4ZTM0YjgyOTUzYjczZDM2Li5jMjQ3
YmU5NjE4MGM2MmExMTMxZmJiZTE3M2YyMTU2YmE1MTRjZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMjA3LDYgKzEyMDcsNyBAQCB2b2lkIHByaW50R3Jh
cGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlv
dXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXpl
Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5UGFpbnRD
b250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4
IDUyZjZjZjM0YzdmNWU3YmNjNzQyY2U2NjI0NjM0ODdkOGQyYzc1ODQuLmMzNjQ3NTQxZGUwMWE2
ZjNlMWJmMjExNmFmMzY2YzM0OTJkNmZhYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zMzAsOCArMzMwLDYgQEAgcHVibGljOgogICAgIAog
ICAgIE92ZXJmbG93IG92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJm
bG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WCk7IH0KICAgICBPdmVyZmxvdyBvdmVy
Zmxvd1koKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4obV9ub25Jbmhlcml0
ZWRGbGFncy5vdmVyZmxvd1kpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dJbmxpbmVEaXJlY3Rp
b24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gb3ZlcmZsb3dY
KCkgOiBvdmVyZmxvd1koKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93QmxvY2tEaXJlY3Rpb24o
KSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gb3ZlcmZsb3dZKCkg
OiBvdmVyZmxvd1goKTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUoKSBjb25zdCB7IHJl
dHVybiBvdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBvdmVyZmxvd1koKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZTsgfQogCiAgICAgT3ZlcnNjcm9sbEJlaGF2aW9yIG92ZXJzY3JvbGxC
ZWhhdmlvclgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyc2Nyb2xsQmVoYXZpb3I+
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm92ZXJzY3JvbGxCZWhhdmlvclgpOyB9CkBAIC01Mjgs
NiArNTI2LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigp
IGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBi
b29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29u
dGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFp
bi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zUGFpbnQo
KSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5z
KENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJv
eERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9p
bmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+
ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHAKaW5kZXggZGQ0ZjIxZTQwNWZlOTlkYzkyOGYyMmFlYmQ2MTUxMzEzM2UyM2ZmNC4uZjE3NjEx
MzhmYWM4YzUxNTliYjlkOWFkZDg3NGM4M2NiYzk4ZTk0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0yMTQsNyArMjE0LDcgQEAgYm9v
bCBSZW5kZXJTVkdSb290OjpzaG91bGRBcHBseVZpZXdwb3J0Q2xpcCgpIGNvbnN0CiAgICAgLy8g
dGhlIG91dGVybW9zdCBzdmcgaXMgY2xpcHBlZCBpZiBhdXRvLCBhbmQgc3ZnIGRvY3VtZW50IHJv
b3RzIGFyZSBhbHdheXMgY2xpcHBlZAogICAgIC8vIFdoZW4gdGhlIHN2ZyBpcyBzdGFuZC1hbG9u
ZSAoaXNEb2N1bWVudEVsZW1lbnQoKSA9PSB0cnVlKSB0aGUgdmlld3BvcnQgY2xpcHBpbmcgc2hv
dWxkIGFsd2F5cwogICAgIC8vIGJlIGFwcGxpZWQsIG5vdGluZyB0aGF0IHRoZSB3aW5kb3cgc2Ny
b2xsYmFycyBzaG91bGQgYmUgaGlkZGVuIGlmIG92ZXJmbG93PWhpZGRlbi4KLSAgICByZXR1cm4g
c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuCisgICAgcmV0dXJuIGVmZmVj
dGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4KICAgICAgICAgfHwgc3R5bGUoKS5v
dmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6QXV0bwogICAgICAgICB8fCBzdHlsZSgpLm92ZXJmbG93
WCgpID09IE92ZXJmbG93OjpTY3JvbGwKICAgICAgICAgfHwgdGhpcy0+aXNEb2N1bWVudEVsZW1l
bnRSZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFiY2VlYmJiNjA5ZTQyYmZhNjFmYzg4NWFhNmNkZGE4ZTli
ZjViZGIuLmY5NDI4NWE1NGI0MzdiNGEzNmYwZTA1ZWE5NDA0MmZlNWIyNTU3NDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAyMS0wOS0wNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhhdCBw
YXNzIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDktMDYgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBsaWJ3
ZWJydGMgbmV0d29yayBtYW5hZ2VyIEdldE1kbnNSZXNwb25kZXIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDE2NGI2MTQ1NTBiMzZhYzE4ZDlmZTJmYTIwYjI4ZjJjODE3MzZjN2Mu
LjhhODRhYzlkNDI3ZDQxOGI5MDg4ZGMwYWE4ZWJjMGJjYzIxODkxM2QgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTA2ICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRh
aW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkanVzdCB0ZXN0IGV4cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRhaW46IHN0cmljdCBpcyBzdXBw
b3J0ZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2Zs
ZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5LTAzICBKb2hu
c29uIFpob3UgIDxxaWFvc29uZ196aG91QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRpdGlvbiBv
ZiBDU1NOdW1lcmljRmFjdG9yeSBpbiBDU1MgVHlwZWQgT00KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDRjMDllNWNiNDU0MTJjNWJkNWM0Y2RkOGM4NzAxNzY5OTdiMGVjNGEuLjU3MjQ2YWY4YzczZTM4
YzM1NGFjMGVlNzJkMDFkNWJkYTFjMWM0ODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDgwNyw2
ICs0ODA3LDEwIEBAIHdlYmFuaW1hdGlvbnMvdHJhbnNsYXRlLXByb3BlcnR5LWFuZC10cmFuc2xh
dGUtYW5pbWF0aW9uLXdpdGgtZGVsYXktb24tZm9yY2VkLWxhCiAjIENTUyBjb250YWlubWVudCB0
ZXN0cyB0aGF0IGZhaWwKICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
MDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAg
LTQ4MjEsNDkgKzQ4MjUsOSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTAuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjAuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0w
MjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDcuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAyLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jbGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDA2Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAt
MDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQorIyBjb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgYW5kIGNvbnRhaW4t
cGFpbnQtY2xpcC0wMTYuaHRtbCBuZWVkIGZ1enp5IG1hdGNoaW5nLgogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
bGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFy
Z2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVuZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4
dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c3R5bGUtY291bnRlcnMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRl
cnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1z
dHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3Rl
ZC50eHQKaW5kZXggY2MwYmFjNzU4YTg2NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFkYzFlZS4uMmY3
YWNjOTM3ZGQ4ZDA0NzdkZWNjOTE2Y2Y5OTUyYTcyMmIyZGVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxl
eC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNv
bnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsMTMgQEAKIFN0cmV0Y2hlZDoK
IAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAogUm93CiBGbGV4LXN0YXJ0OgogCi1Db2x1bW4K
IAotUm93CiAKIENvbHVtbgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437851</attachid>
            <date>2021-09-10 04:35:54 -0700</date>
            <delta_ts>2021-09-15 10:15:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210910133553.patch</filename>
            <type>text/plain</type>
            <size>36663</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTZmODBkODhjMWQ0MTkx
ZDA2ZGQ0MDA4ZWU3ODczYmU0OTc3MjA5Mi4uNTI4YzM1YTg0Y2IxM2VlNGY4YzI5ZTVkZjY2Njc4
NzM4Mzc1NDllZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTA5LTEwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVT
dGFja2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJl
Q1NTU3RhY2tpbmdDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzZXRBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2Nl
bmRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0
cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2Nr
RGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBw
bHlWaWV3cG9ydENsaXAgY29uc3QpOgorCiAyMDIxLTA5LTEwICBKZWFuLVl2ZXMgQXZlbmFyZCAg
PGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIG9mIG1lbWNweSB3aXRoIG92ZXJsYXBwaW5n
IG1lbW9yeSBwb2ludGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGFiNDhmZWUx
OGU3Y2E2NzU2M2MyMzU1NTFlZmMwMDRhZTdhMTcxYzguLmQ2ZDgyYzFlMTg0YmE4ZmFhNDgwYmU0
NDVkNDAyNDJlZDBlNWI1MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTYzNSw4
ICs2MzUsOCBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3Qg
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogCiAgICAgYm9vbCBvdmVycmlkZUhp
ZGRlbiA9IGZyYW1lKCkuaXNNYWluRnJhbWUoKSAmJiAoKGZyYW1lKCkuZnJhbWVTY2FsZUZhY3Rv
cigpID4gMSkgfHwgaGVhZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0KCkpOwogCi0gICAgT3Zl
cmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICBPdmVy
ZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92ZXJm
bG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpOworICAgIE92ZXJm
bG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogCiAgICAgaWYg
KGlzPFJlbmRlclNWR1Jvb3Q+KHJlbmRlcmVyKSkgewogICAgICAgICAvLyBGSVhNRTogZXZhbHVh
dGUgaWYgd2UgY2FuIGFsbG93IG92ZXJmbG93IGZvciB0aGVzZSBjYXNlcyB0b28uCkBAIC03MDAs
MTIgKzcwMCwxMiBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9ydCgp
CiAKICAgICBhdXRvKiBib2R5ID0gZG9jdW1lbnQtPmJvZHkoKTsKICAgICBpZiAoYm9keSAmJiBi
b2R5LT5yZW5kZXJlcigpKSB7Ci0gICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1
bWVudFJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYg
aXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CisgICAgICAgIGRvY3VtZW50
T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpID09
IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50RWxlbWVu
dCkgPwogICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIoKSA6ICZkb2N1bWVudFJlbmRlcmVyOwog
ICAgIH0KIAogICAgIFBhZ2luYXRpb24gcGFnaW5hdGlvbjsKLSAgICBPdmVyZmxvdyBvdmVyZmxv
d1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92
ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJm
bG93WSgpOwogICAgIGlmIChvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWCB8fCBvdmVyZmxv
d1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWSkgewogICAgICAgICBwYWdpbmF0aW9uLm1vZGUgPSBXZWJD
b3JlOjpwYWdpbmF0aW9uTW9kZUZvclJlbmRlclN0eWxlKGRvY3VtZW50T3JCb2R5UmVuZGVyZXIt
PnN0eWxlKCkpOwogICAgICAgICBHYXBMZW5ndGggY29sdW1uR2FwTGVuZ3RoID0gZG9jdW1lbnRP
ckJvZHlSZW5kZXJlci0+c3R5bGUoKS5jb2x1bW5HYXAoKTsKQEAgLTc2Nyw3ICs3NjcsNyBAQCB2
b2lkIEZyYW1lVmlldzo6Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFy
TW9kZSYgaE1vZGUsIFNjcm9sbGJhcgogICAgIGlmIChpczxIVE1MQm9keUVsZW1lbnQ+KCpib2R5
T3JGcmFtZXNldCkgJiYgcm9vdFJlbmRlcmVyKSB7CiAgICAgICAgIC8vIEl0J3Mgc3VmZmljaWVu
dCB0byBqdXN0IGNoZWNrIHRoZSBYIG92ZXJmbG93LAogICAgICAgICAvLyBzaW5jZSBpdCdzIGls
bGVnYWwgdG8gaGF2ZSB2aXNpYmxlIGluIG9ubHkgb25lIGRpcmVjdGlvbi4KLSAgICAgICAgaWYg
KHJvb3RSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAm
JiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKKyAgICAgICAgaWYgKHJv
b3RSZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYg
aXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CiAgICAgICAgICAgICBhdXRv
KiBib2R5UmVuZGVyZXIgPSBib2R5T3JGcmFtZXNldC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAg
IGlmIChib2R5UmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBhcHBseU92ZXJmbG93VG9WaWV3
cG9ydCgqYm9keVJlbmRlcmVyLCBoTW9kZSwgdk1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRleCBkYTg5MTNk
YmU3YmJjOTQ1YWM1YzVkYzk3NmE5MzY3ZWE5MTFjMjA5Li4xYWQ3OTY3M2JhZjhlYTI0NjJlNjhi
MjdiNDBiZjIzMTVjODdiMzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApAQCAtODA1LDcgKzgwNSw3IEBAIExheW91
dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6Om1pblNpemVGb3JDaGlsZChS
ZW5kZXJCb3gmIGNoaWxkKSBjCiAgICAgICAgIHJldHVybiBtaW5Db250ZW50Rm9yQ2hpbGQoY2hp
bGQpOwogCiAgICAgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUgPSBpc1Jvd0F4aXMgPyBjaGls
ZC5zdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpIDogY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluSGVp
Z2h0KCk7Ci0gICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/IGNoaWxkLnN0
eWxlKCkub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSA6IGNo
aWxkLnN0eWxlKCkub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
OworICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5lZmZlY3Rp
dmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlIDogY2hpbGQu
ZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlOwog
ICAgIExheW91dFVuaXQgYmFzZWxpbmVTaGltID0gbV9hbGdvcml0aG0uYmFzZWxpbmVPZmZzZXRG
b3JDaGlsZChjaGlsZCwgZ3JpZEF4aXNGb3JEaXJlY3Rpb24oZGlyZWN0aW9uKCkpKTsKIAogICAg
IGlmIChjaGlsZE1pblNpemUuaXNBdXRvKCkgJiYgb3ZlcmZsb3dJc1Zpc2libGUpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMGQ3OWI0NDdhNzdhOGE3MWQyNjFh
OGNkNTg0M2VlNzA0MWVkYzdmYi4uNWIxYWI0NzY3N2Y1NWRkMTVkNDNjNzBhNDBlMTI1NTI0MTQx
Y2Q5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ4MSw3ICs0
ODEsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRGbG9hdGlu
ZyghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkpOwog
CiAgICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJmbG93
IGFwcGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAgIGlmICghKHN0eWxlVG9Vc2Uub3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd1koKSA9PSBPdmVy
Zmxvdzo6VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2so
KSkgeworICAgIGlmICghKGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxl
ICYmIGVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAmJiAhaXNEb2NF
bGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFz
Tm9uVmlzaWJsZU92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzQm9keSgpKSB7CiAgICAg
ICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4gcHJvcGFnYXRlIHRvIHRoZSB2aWV3
cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCkBAIC00OTAsNyArNDkwLDcgQEAg
dm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgICAgICAgICAvLyAoMykgVGhl
IHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4KICAgICAgICAgICAgIGlmIChpczxI
VE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKQogICAgICAgICAg
ICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1lbnQoKQotICAgICAgICAgICAgICAg
ICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPnN0eWxlKCkub3Zl
cmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICAgICAgICAgICAgICAmJiBkb2N1
bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5lZmZlY3RpdmVPdmVyZmxvd1go
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAgICAgICAgIGJveEhhc05vblZpc2li
bGVPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC02NjAsNyAr
NjYwLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxXaWR0aEluRnJh
Z21lbnRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWwKICAgICBpZiAoYWxsb3dJbnRyaW5zaWMg
PT0gQWxsb3dJbnRyaW5zaWM6Ok5vICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkuaXNJ
bnRyaW5zaWMoKSkKICAgICAgICAgcmV0dXJuIGxvZ2ljYWxXaWR0aDsKICAgICBhdXRvIG1pbkxl
bmd0aCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCk7Ci0gICAgaWYgKHN0eWxlVG9Vc2Uu
aGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2UubG9n
aWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01pbkNv
bnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAmJiBz
dHlsZVRvVXNlLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUp
IHsKKyAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0aC5pc0F1
dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRvVXNl
LmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRo
KCkuaXNNYXhDb250ZW50KCkpICYmIGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkg
PT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGFjdHVhbGx5
IHVzZWQgdGhlIGFzcGVjdCByYXRpby4KICAgICAgICAgaWYgKHNob3VsZENvbXB1dGVMb2dpY2Fs
V2lkdGhGcm9tQXNwZWN0UmF0aW8oKSkKICAgICAgICAgICAgIG1pbkxlbmd0aCA9IExlbmd0aChM
ZW5ndGhUeXBlOjpNaW5Db250ZW50KTsKQEAgLTY3Niw3ICs2NzYsNyBAQCBMYXlvdXRVbml0IFJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNh
bEhlaWdodCwgcwogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IHN0ZDo6bWluKGxvZ2ljYWxI
ZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAgfQogICAgIGF1dG8gbG9naWNhbE1pbkhlaWdodCA9
IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0
LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkg
JiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93QmxvY2tEaXJl
Y3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0
LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkg
JiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0
aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgYXV0byBoZWlnaHRGcm9tQXNw
ZWN0UmF0aW8gPSBibG9ja1NpemVGcm9tQXNwZWN0UmF0aW8oaG9yaXpvbnRhbEJvcmRlckFuZFBh
ZGRpbmdFeHRlbnQoKSwgdmVydGljYWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCksIExheW91dFVu
aXQoc3R5bGUoKS5sb2dpY2FsQXNwZWN0UmF0aW8oKSksIHN0eWxlKCkuYm94U2l6aW5nRm9yQXNw
ZWN0UmF0aW8oKSwgbG9naWNhbFdpZHRoKCkpIC0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWln
aHQoKTsKICAgICAgICAgaWYgKGZpcnN0Q2hpbGQoKSkKICAgICAgICAgICAgIGhlaWdodEZyb21B
c3BlY3RSYXRpbyA9IHN0ZDo6bWF4KGhlaWdodEZyb21Bc3BlY3RSYXRpbywgKmludHJpbnNpY0Nv
bnRlbnRIZWlnaHQpOwpAQCAtNDgzOSw3ICs0ODM5LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNyZWF0
ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSW5saW5lQmxv
Y2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8
IGhhc1BvdGVudGlhbGx5U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRlbUluY2x1ZGlu
Z0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9u
KCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVs
ZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKQotICAgICAgICB8fCBz
dHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lm
aWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8
fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CisgICAgICAgIHx8
IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIHx8
IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNv
bHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlz
cGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRzRmxvYXRzKCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCmluZGV4IDg4OGRlMzI4M2Y5MjYyYzViZDIwZWYyNTk4OTYwZTRhNjhjMGU3MWYuLjE5
OGJjODNhNjVkMGJiNjNhZTE5OGEzYjdjYmFhMzIzZjllYTJiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjA5LDYgKzIw
OSw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAg
c2V0SG9yaXpvbnRhbFdyaXRpbmdNb2RlKHN0eWxlVG9Vc2UuaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSk7CiAgICAgaWYgKHN0eWxlVG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkK
ICAgICAgICAgdmlldygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0
cnVlKTsKKyAgICBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29u
dGFpbm1lbnQoKnRoaXMpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxv
d1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDFiMWIwMjFmZjQzZWJhM2RmYWQx
YjkxZDM1ZDQ3NGE3NzY0YjdiMDAuLjE0MTA2Yjc0ZDU1M2JlMWRmZTMzYTJmOWE4ZGY0YzdiOWQ4
MTJjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAg
LTk2LDcgKzk2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKFJlbmRlckVsZW1lbnQpOwogCiBzdHJ1Y3QgU2FtZVNpemVBc1JlbmRlckVsZW1lbnQg
OiBwdWJsaWMgUmVuZGVyT2JqZWN0IHsKLSAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNTsKKyAg
ICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNjsKICAgICB2b2lkKiBmaXJzdENoaWxkOwogICAgIHZv
aWQqIGxhc3RDaGlsZDsKICAgICBSZW5kZXJTdHlsZSBzdHlsZTsKQEAgLTEyNCw2ICsxMjQsNyBA
QCBpbmxpbmUgUmVuZGVyRWxlbWVudDo6UmVuZGVyRWxlbWVudChDb250YWluZXJOb2RlJiBlbGVt
ZW50T3JEb2N1bWVudCwgUmVuZGVyU3R5bAogICAgICwgbV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxl
SW5WaWV3cG9ydENhbGxiYWNrKGZhbHNlKQogICAgICwgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRl
KHN0YXRpY19jYXN0PHVuc2lnbmVkPihWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpVbmtub3duKSkK
ICAgICAsIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoZmFsc2Up
CisgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQogICAgICwgbV9maXJzdENo
aWxkKG51bGxwdHIpCiAgICAgLCBtX2xhc3RDaGlsZChudWxscHRyKQogICAgICwgbV9zdHlsZShX
VEZNb3ZlKHN0eWxlKSkKQEAgLTIzMTQsNyArMjMxNSw3IEBAIHN0YXRpYyBSZW5kZXJPYmplY3Q6
OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRl
ck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKSB7CiAgICAgICAgICAg
ICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYgdGhlIG92ZXJmbG93IHNpemUgb2YgdGhl
IGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lmaWVkCiAgICAgICAgICAgICAvLyBoZWln
aHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRvLXNpemluZy4KLSAgICAgICAgICAgIGlm
IChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQorICAgICAgICAgICAgaWYg
KGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlcikuZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0g
T3ZlcmZsb3c6OlZpc2libGUKICAgICAgICAgICAgICAgICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1
ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKS5sYXlvdXRPdmVyZmxvd1JlY3Qo
KS5tYXhZKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6T3ZlcmZsb3dI
ZWlnaHQ7CiAgICAgICAgIH0KQEAgLTI0MDQsNCArMjQwNSwyMCBAQCB2b2lkIFJlbmRlckVsZW1l
bnQ6OnNldEJhY2tkcm9wUmVuZGVyZXIoUmVuZGVyQmxvY2tGbG93JiByZW5kZXJlcikKICAgICBl
bnN1cmVSYXJlRGF0YSgpLmJhY2tkcm9wUmVuZGVyZXIgPSBtYWtlV2Vha1B0cihyZW5kZXJlcik7
CiB9CiAKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0
Cit7CisgICAgYXV0byBvdmVyZmxvd1ggPSBzdHlsZSgpLm92ZXJmbG93WCgpOworICAgIGlmIChw
YWludENvbnRhaW5tZW50QXBwbGllcygpICYmIG92ZXJmbG93WCA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1g7
Cit9CisKK092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0
Cit7CisgICAgYXV0byBvdmVyZmxvd1kgPSBzdHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChw
YWludENvbnRhaW5tZW50QXBwbGllcygpICYmIG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1k7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDY5
ODhiZWM1YTFlNWFmOTU5Zjc4MGU1NWYzOWEzYTNlYWZlNjg1OWEuLjVjNjYwNTMwMmYxMGUxYmFj
ZDMxOTZhMjdmNGZiY2QwYzdhY2YyOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaApAQCAtMjE1LDYgKzIxNSw5IEBAIHB1YmxpYzoKICAgICBib29sIGRpZENvbnRp
YnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2RpZENv
bnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50OyB9CiAgICAgdm9pZCBzZXREaWRD
b250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KCkgeyBtX2RpZENvbnRyaWJ1dGVU
b1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50ID0gdHJ1ZTsgfQogCisgICAgYm9vbCBwYWludENv
bnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0dXJuIG1fcGFpbnRDb250YWlubWVudEFwcGxp
ZXM7IH0KKyAgICB2b2lkIHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKGJvb2wgYikgeyBtX3Bh
aW50Q29udGFpbm1lbnRBcHBsaWVzID0gYjsgfQorCiAgICAgYm9vbCByZXBhaW50Rm9yUGF1c2Vk
SW1hZ2VBbmltYXRpb25zSWZOZWVkZWQoY29uc3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsIENhY2hl
ZEltYWdlJik7CiAgICAgYm9vbCBoYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMoKSBjb25zdCB7IHJl
dHVybiBtX2hhc1BhdXNlZEltYWdlQW5pbWF0aW9uczsgfQogICAgIHZvaWQgc2V0SGFzUGF1c2Vk
SW1hZ2VBbmltYXRpb25zKGJvb2wgYikgeyBtX2hhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyA9IGI7
IH0KQEAgLTI2NSw2ICsyNjgsMTEgQEAgcHVibGljOgogCiAgICAgUmVmZXJlbmNlZFNWR1Jlc291
cmNlcyYgZW5zdXJlUmVmZXJlbmNlZFNWR1Jlc291cmNlcygpOwogCisgICAgT3ZlcmZsb3cgZWZm
ZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZ
KCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24o
KSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZl
Y3RpdmVPdmVyZmxvd1goKSA6IGVmZmVjdGl2ZU92ZXJmbG93WSgpOyB9CisgICAgT3ZlcmZsb3cg
ZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCku
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0
aXZlT3ZlcmZsb3dYKCk7IH0KKwogcHJvdGVjdGVkOgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsK
ICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdEZsYWcgID0gMSA8PCAwLApAQCAtMzg4LDYg
KzM5Niw4IEBAIHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50IDogMTsKIAorICAgIHVuc2lnbmVkIG1fcGFpbnRDb250YWlu
bWVudEFwcGxpZXMgOiAxOworCiAgICAgUmVuZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAg
UmVuZGVyT2JqZWN0KiBtX2xhc3RDaGlsZDsKIApAQCAtNDUzLDcgKzQ2Myw4IEBAIGlubGluZSBi
b29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0
CiAgICAgICAgIC8vIEZJWE1FOiB3aWxsLWNoYW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcg
YmxvY2tzIG9uIGlubGluZSBib3hlcyAoYnVnIDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVy
QmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+
Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAg
fHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKLSAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250
YWlubWVudCgqdGhpcyk7CisgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQo
KnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9
CiAKIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRp
b25lZE9iamVjdHMoKSBjb25zdApAQCAtNDY0LDYgKzQ3NSw3IEBAIGlubGluZSBib29sIFJlbmRl
ckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAog
ICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0
eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBv
c2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwg
c2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBw
bHlQYWludENvbnRhaW5tZW50KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5k
ZXggZWRhMDcwMGY3NzQ1ZTgyZjQ0MzJlYTdiZmY3NzVkYzRjMTllMjJhOC4uOWFlYTQ5NmM5ZTI2
ZmY3MmZhMWU1Nzk3YTlhZmU2NTEwNTM5OWZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC0xNzk2LDE1ICsxNzk2LDE1IEBAIGJvb2wg
UmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzSW50cmluc2ljTWFpbkF4aXNTaXplKGNvbnN0IFJl
bmRlckJveCYgY2hpbGQpCiBPdmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVy
Zmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlz
SG9yaXpvbnRhbEZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dY
KCk7Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgICAgIHJldHVy
biBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZl
T3ZlcmZsb3dZKCk7CiB9CiAKIE92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNP
dmVyZmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYg
KGlzSG9yaXpvbnRhbEZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZs
b3dZKCk7Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgICAgIHJl
dHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0
aXZlT3ZlcmZsb3dYKCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzUGVy
Y2VudEhlaWdodERlc2NlbmRhbnRzKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWlu
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVy
LmNwcAppbmRleCBhZmIyN2NjYTY3MWRlNmFiZjdhMzI5YjIxYzc4MTE3MDBjZjI5NTNlLi43OTcw
ZjJmZDc4MTM2NWU2NGMxNTFiNDNlMmMzMzdjMDJlMmQ5Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTE1Nywx
NCArMTU3LDE0IEBAIExheW91dFJlY3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93
UmVjdEZvckZyYWdtZW50ZWRGbG93UG9ydGlvbihjb25zdCBMCiAgICAgaWYgKG1fZnJhZ21lbnRl
ZEZsb3ctPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBt
aW5ZID0gaXNGaXJzdFBvcnRpb24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSA6IGZyYWdt
ZW50ZWRGbG93UG9ydGlvblJlY3QueSgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBpc0xh
c3RQb3J0aW9uID8gc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCksIGZy
YWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WSgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qu
bWF4WSgpOwotICAgICAgICBib29sIGNsaXBYID0gc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPdmVy
Zmxvdzo6VmlzaWJsZTsKKyAgICAgICAgYm9vbCBjbGlwWCA9IGVmZmVjdGl2ZU92ZXJmbG93WCgp
ICE9IE92ZXJmbG93OjpWaXNpYmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBjbGlwWCA/
IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQ
b3J0aW9uUmVjdC54KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpKTsKICAgICAgICAgTGF5
b3V0VW5pdCBtYXhYID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSA6
IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxv
d092ZXJmbG93Lm1heFgoKSk7CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBt
aW5ZLCBtYXhYIC0gbWluWCwgbWF4WSAtIG1pblkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIExh
eW91dFVuaXQgbWluWCA9IGlzRmlyc3RQb3J0aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54
KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKTsKICAgICAgICAgTGF5b3V0VW5pdCBt
YXhYID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qu
bWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFgoKSkgOiBmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0Lm1heFgoKTsKLSAgICAgICAgYm9vbCBjbGlwWSA9IHN0eWxlKCkub3ZlcmZsb3dZ
KCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CisgICAgICAgIGJvb2wgY2xpcFkgPSBlZmZlY3RpdmVP
dmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5Z
ID0gY2xpcFkgPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSA6IHN0ZDo6bWluKGZyYWdt
ZW50ZWRGbG93UG9ydGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSk7CiAg
ICAgICAgIExheW91dFVuaXQgbWF4WSA9IGNsaXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVj
dC5tYXhZKCkgOiBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21l
bnRlZEZsb3dPdmVyZmxvdy5tYXhZKCkpOwogICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3Qo
bWluWCwgbWluWSwgbWF4WCAtIG1pblgsIG1heFkgLSBtaW5ZKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbmxpbmUuaAppbmRleCA1NjY5ZDAzNGFjOWZiMzNhN2I4ZDMzZjZkNzAyYWYy
Y2IzNDQ3NWQyLi42ODViOGNiODhhMTExNTcwMWY1NGE0OTYxNGYzMzgzOWJjMDU5ODU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCkBAIC04Miw3ICs4Miw3IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgbWF5QWZmZWN0TGF5b3V0KCkgY29uc3Q7CiAKLSAgICBib29sIHJl
cXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQo
KSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IHdpbGxDaGFuZ2VDcmVhdGVz
U3RhY2tpbmdDb250ZXh0KCkgfHwgaGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9
CisgICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZs
b3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBzaG91
bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tp
bmdDb250ZXh0KCkgfHwgaGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CiAKIHBy
b3RlY3RlZDoKICAgICB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZDFkNzcwMTRkMWM4Y2YwMTU4NjM2
ODhhYzc1MjRjN2E0N2M0NzkxNS4uNWVmMjljZjk1YzM5OGJkOTliODNhOWRlMzhlZTNmOWJkNGE5
OTY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTUs
NiArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJl
bmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwgcmVuZGVyZXIuaXNQb3NpdGlvbmVkKCkgLy8g
Tm90ZSB0aGF0IHRoaXMgb25seSBjcmVhdGVzIHN0YWNraW5nIGNvbnRleHQgaW4gY29uanVuY3Rp
b24gd2l0aCBleHBsaWNpdCB6LWluZGV4LgogICAgICAgICB8fCByZW5kZXJlci5oYXNSZWZsZWN0
aW9uKCkKICAgICAgICAgfHwgcmVuZGVyZXIuc3R5bGUoKS5oYXNJc29sYXRpb24oKQorICAgICAg
ICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8ICFy
ZW5kZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKICAgICAgICAgfHwgKHJlbmRlcmVy
LnN0eWxlKCkud2lsbENoYW5nZSgpICYmIHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpLT5j
YW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKSkKICAgICAgICAgfHwgbGF5ZXIuZXN0YWJsaXNoZXNU
b3BMYXllcigpOwpAQCAtNTg2LDcgKzU4Nyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJl
Tm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0
YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCku
aGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAh
cmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWlu
dENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJv
b2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5
KQpAQCAtMTA2OSw2ICsxMDcwLDExIEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OnJlcGFpbnRS
ZWN0SW5jbHVkaW5nTm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cygpIGNvbnN0CiB2b2lkIFJlbmRl
ckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkK
IHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxh
eWVyLT5wYXJlbnQoKSkgeworICAgICAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50
KHJlbmRlcmVyKCkpKSB7CisgICAgICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2Vu
ZGFudCA9IHRydWU7CisgICAgICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFu
dERpcnR5ID0gZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBp
ZiAoIWxheWVyLT5tX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERpcnR5ICYmIGxheWVy
LT5oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKSkKICAgICAgICAgICAgIGJyZWFrOwog
CkBAIC0xNDg5LDYgKzE0OTUsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6ZGlydHlBbmNlc3RvckNo
YWluVmlzaWJsZURlc2NlbmRhbnRTdGF0dXMoKQogdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0
b3JDaGFpbkhhc1Zpc2libGVEZXNjZW5kYW50KCkKIHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBs
YXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5wYXJlbnQoKSkgeworICAgICAgICBp
ZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpKSB7CisgICAgICAgICAg
ICBtX2hhc1Zpc2libGVEZXNjZW5kYW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fdmlzaWJsZURl
c2NlbmRhbnRTdGF0dXNEaXJ0eSA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IH0KICAgICAgICAgaWYgKCFsYXllci0+bV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5ICYm
IGxheWVyLT5oYXNWaXNpYmxlRGVzY2VuZGFudCgpKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAg
LTQ1MjUsNiArNDUzNiwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMo
Y29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICAgICAg
Y2xpcFJlY3RzLnNldE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xp
cCwgY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSkpOwogICAgICAgICAgICAgaWYgKHJlbmRl
cmVyKCkuaXNQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0Ns
aXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVj
dCgpKSk7CisgICAgICAgICAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRl
cmVyKCkpKSB7CisgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVy
c2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CisgICAg
ICAgICAgICAgICAgY2xpcFJlY3RzLnNldEZpeGVkQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092
ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLmZpeGVkQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgICAgIGlmIChyZW5kZXJlcigpLmhhc0NsaXAoKSkgewogICAgICAgICAg
ICAgTGF5b3V0UmVjdCBuZXdQb3NDbGlwID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigp
KS5jbGlwUmVjdChvZmZzZXQsIG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcAppbmRleCA3MDcxMTM4MGIyNGI5OWZlMTdiNjVmNDllNGIxMWU3MWFiZjVi
MWJiLi42YjY1YzFiMTc4Njg4ZTM1MTAyYjQ2NmEzNWZmODA2NDM5NmY2MDcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjU0MywzICsyNTQzLDkgQEAg
Ym9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpS
ZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogewogICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNv
bnRhaW5zU2l6ZSgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21p
Y0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJl
ci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9uKCkpICYmICFyZW5kZXJl
ci5pc1RhYmxlKCk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgcmV0dXJu
IHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNQYWludCgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUo
KSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1
YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVy
QmxvY2tGbG93KCkpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
aW5kZXggZjNjNGU5MTg5MmRkMTIzMzA2MDc0MGE4OGUzNGI4Mjk1M2I3M2QzNi4uYzI0N2JlOTYx
ODBjNjJhMTEzMWZiYmUxNzNmMjE1NmJhNTE0Y2VlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaApAQCAtMTIwNyw2ICsxMjA3LDcgQEAgdm9pZCBwcmludEdyYXBoaWNz
TGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOwogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0Q29u
dGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVBhaW50Q29udGFp
bm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA1MmY2
Y2YzNGM3ZjVlN2JjYzc0MmNlNjYyNDYzNDg3ZDhkMmM3NTg0Li5jMzY0NzU0MWRlMDFhNmYzZTFi
ZjIxMTZhZjM2NmMzNDkyZDZmYWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaApAQCAtMzMwLDggKzMzMCw2IEBAIHB1YmxpYzoKICAgICAKICAgICBP
dmVyZmxvdyBvdmVyZmxvd1goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4o
bV9ub25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1gpOyB9CiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZ
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxh
Z3Mub3ZlcmZsb3dZKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkg
Y29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WCgpIDog
b3ZlcmZsb3dZKCk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29u
c3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WSgpIDogb3Zl
cmZsb3dYKCk7IH0KICAgICBib29sIGlzT3ZlcmZsb3dWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4g
b3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgfHwgb3ZlcmZsb3dZKCkgPT0gT3ZlcmZs
b3c6OlZpc2libGU7IH0KIAogICAgIE92ZXJzY3JvbGxCZWhhdmlvciBvdmVyc2Nyb2xsQmVoYXZp
b3JYKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcnNjcm9sbEJlaGF2aW9yPihtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5vdmVyc2Nyb2xsQmVoYXZpb3JYKTsgfQpAQCAtNTI4LDYgKzUy
Niw3IEBAIHB1YmxpYzoKICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAgICAgYm9vbCBj
b250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNv
bnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0KICAgICBib29sIGNvbnRhaW5z
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29u
dGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250
YWlubWVudDo6UGFpbnQpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5k
ZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJl
Y3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJp
dGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJl
dHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmlu
ZGV4IGRkNGYyMWU0MDVmZTk5ZGM5MjhmMjJhZWJkNjE1MTMxMzNlMjNmZjQuLmYxNzYxMTM4ZmFj
OGM1MTU5YmI5ZDlhZGQ4NzRjODNjYmM5OGU5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtMjE0LDcgKzIxNCw3IEBAIGJvb2wgUmVu
ZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAoKSBjb25zdAogICAgIC8vIHRoZSBv
dXRlcm1vc3Qgc3ZnIGlzIGNsaXBwZWQgaWYgYXV0bywgYW5kIHN2ZyBkb2N1bWVudCByb290cyBh
cmUgYWx3YXlzIGNsaXBwZWQKICAgICAvLyBXaGVuIHRoZSBzdmcgaXMgc3RhbmQtYWxvbmUgKGlz
RG9jdW1lbnRFbGVtZW50KCkgPT0gdHJ1ZSkgdGhlIHZpZXdwb3J0IGNsaXBwaW5nIHNob3VsZCBh
bHdheXMKICAgICAvLyBiZSBhcHBsaWVkLCBub3RpbmcgdGhhdCB0aGUgd2luZG93IHNjcm9sbGJh
cnMgc2hvdWxkIGJlIGhpZGRlbiBpZiBvdmVyZmxvdz1oaWRkZW4uCi0gICAgcmV0dXJuIHN0eWxl
KCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkhpZGRlbgorICAgIHJldHVybiBlZmZlY3RpdmVP
dmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuCiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZs
b3dYKCkgPT0gT3ZlcmZsb3c6OkF1dG8KICAgICAgICAgfHwgc3R5bGUoKS5vdmVyZmxvd1goKSA9
PSBPdmVyZmxvdzo6U2Nyb2xsCiAgICAgICAgIHx8IHRoaXMtPmlzRG9jdW1lbnRFbGVtZW50UmVu
ZGVyZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA3ZTQxZGI2MmNkMTgzYmJjNWUzZjg4NmYzMzViMzJkNjJiNzNjNjIw
Li4yNjA5ZjA0NTVlN2ZhOGI0NTMyMjk5Njk0N2E5ODI1MDAxZmExYWNlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjEtMDktMTAgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHRlc3RzIHRoYXQgcGFzcyBu
b3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA5LTA5ICBGcsOpZMOp
cmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4g
Q29tcG9zaXRlRWRpdENvbW1hbmQ6OnNwbGl0VHJlZVRvTm9kZSB2aWEgSW5zZXJ0UGFyYWdyYXBo
U2VwYXJhdG9yQ29tbWFuZDo6ZG9BcHBseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggOGNkMzcxMzczMTE1ZDQxMWNmNWQ3ZTQ3ZGE0YTEzZjM3YTVlMGFjNS4uNjVjOTE3NGJkNmNi
MDIzOTcyZDQ4NjhmMTkyM2ZlZjVlNWJjNDFiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDktMTAgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlh
LmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRqdXN0IHRlc3Qg
ZXhwZWN0YXRpb24gbm93IHRoYXQgY29udGFpbjogc3RyaWN0IGlzIHN1cHBvcnRlZC4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRh
aW5zLXN0cmljdC1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDktMDkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBGb250RmFjZVNldC5sb2FkKCkgbmVl
ZHMgdG8gcmVhY3QgdG8gc3R5bGUgY2hhbmdlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzczNGRk
ZjY3ZWY0MjM3MmIwNmVjMTJkZDNmYTE0YzVkYmViMGEyYy4uZTc0M2U3MDM2YTgxODcwYTY0YWQ5
NDllMjE4NWE0NzEyZDk4MGFhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00ODA2LDYgKzQ4MDYs
MTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5kLXRyYW5zbGF0ZS1hbmlt
YXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRo
YXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDgyMCw0
OSArNDgyNCw5IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxMC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAx
OS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAt
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDYuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCisjIGNvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBhbmQgY29udGFpbi1wYWludC1j
bGlwLTAxNi5odG1sIG5lZWQgZnV6enkgbWF0Y2hpbmcuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LXNpemUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0w
MDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJp
Y3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1j
b3VudGVycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dApp
bmRleCBjYzBiYWM3NThhODY2ZDRhZWVjNzVhY2U4ZWU3ZDgzM2JmMWRjMWVlLi4yZjdhY2M5Mzdk
ZDhkMDQ3N2RlY2M5MTZjZjk5NTJhNzIyYjJkZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0t
Y29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMt
c3RyaWN0LWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwxMyBAQAogU3RyZXRjaGVkOgogCi1Db2x1
bW4KIAotUm93CiAKIENvbHVtbgogCiBSb3cKIEZsZXgtc3RhcnQ6CiAKLUNvbHVtbgogCi1Sb3cK
IAogQ29sdW1uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438253</attachid>
            <date>2021-09-15 10:15:46 -0700</date>
            <delta_ts>2021-09-16 03:22:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210915191545.patch</filename>
            <type>text/plain</type>
            <size>38786</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y4MjY1ZGJmZThhNmQw
ZjgzNzM0ZmVmMmZhMjE4MGMwYWI2NTAyOC4uM2ZmN2ZiNTIzNTc4NjFhM2Y2NWM3N2FlMmY1NjI2
ODU0NzE4MGNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTA5LTE1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVT
dGFja2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJl
Q1NTU3RhY2tpbmdDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzZXRBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2Nl
bmRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0
cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2Nr
RGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBw
bHlWaWV3cG9ydENsaXAgY29uc3QpOgorCiAyMDIxLTA5LTE1ICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbTGF5b3V0XVtJbnRlZ3JhdGlvbl0gUmVtb3ZlIHVu
bmVjZXNzYXJ5IFJ1biB0eXBlZGVmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYWI0
OGZlZTE4ZTdjYTY3NTYzYzIzNTU1MWVmYzAwNGFlN2ExNzFjOC4uZDZkODJjMWUxODRiYThmYWE0
ODBiZTQ0NWQ0MDI0MmVkMGU1YjUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAt
NjM1LDggKzYzNSw4IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydChj
b25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgU2Nyb2xsYmFyCiAKICAgICBib29sIG92ZXJy
aWRlSGlkZGVuID0gZnJhbWUoKS5pc01haW5GcmFtZSgpICYmICgoZnJhbWUoKS5mcmFtZVNjYWxl
RmFjdG9yKCkgPiAxKSB8fCBoZWFkZXJIZWlnaHQoKSB8fCBmb290ZXJIZWlnaHQoKSk7CiAKLSAg
ICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WCgpOwotICAg
IE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAg
T3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7CisgICAg
T3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiAKICAg
ICBpZiAoaXM8UmVuZGVyU1ZHUm9vdD4ocmVuZGVyZXIpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBl
dmFsdWF0ZSBpZiB3ZSBjYW4gYWxsb3cgb3ZlcmZsb3cgZm9yIHRoZXNlIGNhc2VzIHRvby4KQEAg
LTcwMCwxMiArNzAwLDEyIEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseVBhZ2luYXRpb25Ub1ZpZXdw
b3J0KCkKIAogICAgIGF1dG8qIGJvZHkgPSBkb2N1bWVudC0+Ym9keSgpOwogICAgIGlmIChib2R5
ICYmIGJvZHktPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgZG9jdW1lbnRPckJvZHlSZW5kZXJlciA9
IGRvY3VtZW50UmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KKyAgICAgICAgZG9j
dW1lbnRPckJvZHlSZW5kZXJlciA9IGRvY3VtZW50UmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRF
bGVtZW50KSA/CiAgICAgICAgICAgICBib2R5LT5yZW5kZXJlcigpIDogJmRvY3VtZW50UmVuZGVy
ZXI7CiAgICAgfQogCiAgICAgUGFnaW5hdGlvbiBwYWdpbmF0aW9uOwotICAgIE92ZXJmbG93IG92
ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZsb3dZKCk7Cisg
ICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+ZWZmZWN0aXZl
T3ZlcmZsb3dZKCk7CiAgICAgaWYgKG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFnZWRYIHx8IG92
ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFnZWRZKSB7CiAgICAgICAgIHBhZ2luYXRpb24ubW9kZSA9
IFdlYkNvcmU6OnBhZ2luYXRpb25Nb2RlRm9yUmVuZGVyU3R5bGUoZG9jdW1lbnRPckJvZHlSZW5k
ZXJlci0+c3R5bGUoKSk7CiAgICAgICAgIEdhcExlbmd0aCBjb2x1bW5HYXBMZW5ndGggPSBkb2N1
bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLmNvbHVtbkdhcCgpOwpAQCAtNzY3LDcgKzc2Nyw3
IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChTY3Jv
bGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgaWYgKGlzPEhUTUxCb2R5RWxlbWVudD4o
KmJvZHlPckZyYW1lc2V0KSAmJiByb290UmVuZGVyZXIpIHsKICAgICAgICAgLy8gSXQncyBzdWZm
aWNpZW50IHRvIGp1c3QgY2hlY2sgdGhlIFggb3ZlcmZsb3csCiAgICAgICAgIC8vIHNpbmNlIGl0
J3MgaWxsZWdhbCB0byBoYXZlIHZpc2libGUgaW4gb25seSBvbmUgZGlyZWN0aW9uLgotICAgICAg
ICBpZiAocm9vdFJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNp
YmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkgeworICAgICAgICBp
ZiAocm9vdFJlbmRlcmVyLT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKICAgICAgICAgICAg
IGF1dG8qIGJvZHlSZW5kZXJlciA9IGJvZHlPckZyYW1lc2V0LT5yZW5kZXJlcigpOwogICAgICAg
ICAgICAgaWYgKGJvZHlSZW5kZXJlcikgewogICAgICAgICAgICAgICAgIGFwcGx5T3ZlcmZsb3dU
b1ZpZXdwb3J0KCpib2R5UmVuZGVyZXIsIGhNb2RlLCB2TW9kZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCmluZGV4IGRh
ODkxM2RiZTdiYmM5NDVhYzVjNWRjOTc2YTkzNjdlYTkxMWMyMDkuLjFhZDc5NjczYmFmOGVhMjQ2
MmU2OGIyN2I0MGJmMjMxNWM4N2IzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC04MDUsNyArODA1LDcgQEAg
TGF5b3V0VW5pdCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNo
aWxkKFJlbmRlckJveCYgY2hpbGQpIGMKICAgICAgICAgcmV0dXJuIG1pbkNvbnRlbnRGb3JDaGls
ZChjaGlsZCk7CiAKICAgICBjb25zdCBMZW5ndGgmIGNoaWxkTWluU2l6ZSA9IGlzUm93QXhpcyA/
IGNoaWxkLnN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkgOiBjaGlsZC5zdHlsZSgpLmxvZ2ljYWxN
aW5IZWlnaHQoKTsKLSAgICBib29sIG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dBeGlzID8gY2hp
bGQuc3R5bGUoKS5vdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
IDogY2hpbGQuc3R5bGUoKS5vdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGU7CisgICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/IGNoaWxkLmVm
ZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgOiBj
aGlsZC5lZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2li
bGU7CiAgICAgTGF5b3V0VW5pdCBiYXNlbGluZVNoaW0gPSBtX2FsZ29yaXRobS5iYXNlbGluZU9m
ZnNldEZvckNoaWxkKGNoaWxkLCBncmlkQXhpc0ZvckRpcmVjdGlvbihkaXJlY3Rpb24oKSkpOwog
CiAgICAgaWYgKGNoaWxkTWluU2l6ZS5pc0F1dG8oKSAmJiBvdmVyZmxvd0lzVmlzaWJsZSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggYzMxOTZiN2FkMzEz
NWUyMTNlYTIwNmY4YjYzMjlmMmRmYzRiNTIwNS4uMDg2MmJmNjQ0NGI1ZGQwODdmZjVkYzM0MGQy
MmVkYTdlZDg5MDczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CkBAIC02NDgsNiArNjQ4LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0QmxvY2soYm9vbCwg
TGF5b3V0VW5pdCkKIAogdm9pZCBSZW5kZXJCbG9jazo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGRyZW4o
KQogeworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpKQorICAgICAgICByZXR1cm47
CiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIGFkZE92ZXJmbG93RnJvbUlubGlu
ZUNoaWxkcmVuKCk7CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCBkZmQ4ZjBlYTViNWYzMmQ2OTMxYmE5ZTZlMTA0MjdkYjZkMGQ3ZGYzLi4wZTJhMmU1
ZmQxN2M0ZTk4MDdlNjczNzFkOGY1MDc3ZDdhZTIyZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcApAQCAtNDgxLDcgKzQ4MSw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRh
dGVGcm9tU3R5bGUoKQogICAgIHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAm
JiBzdHlsZVRvVXNlLmlzRmxvYXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9k
eT4gYW5kIDxodG1sPiwgd2hvc2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0g
ICAgaWYgKCEoc3R5bGVUb1VzZS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBz
dHlsZVRvVXNlLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAmJiAhaXNEb2NFbGVt
ZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CisgICAgaWYgKCEoZWZmZWN0aXZlT3Zl
cmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0g
T3ZlcmZsb3c6OlZpc2libGUpICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJs
b2NrKCkpIHsKICAgICAgICAgYm9vbCBib3hIYXNOb25WaXNpYmxlT3ZlcmZsb3cgPSB0cnVlOwog
ICAgICAgICBpZiAoaXNCb2R5KCkpIHsKICAgICAgICAgICAgIC8vIE92ZXJmbG93IG9uIHRoZSBi
b2R5IGNhbiBwcm9wYWdhdGUgdG8gdGhlIHZpZXdwb3J0IHVuZGVyIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucy4KQEAgLTQ5MCw3ICs0OTAsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0
eWxlKCkKICAgICAgICAgICAgIC8vICgzKSBUaGUgcm9vdCBlbGVtZW50IGhhcyB2aXNpYmxlIG92
ZXJmbG93LgogICAgICAgICAgICAgaWYgKGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCkpCiAgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5ib2R5KCkg
PT0gZWxlbWVudCgpCi0gICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1l
bnQoKS0+cmVuZGVyZXIoKS0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSkgeworICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJl
bmRlcmVyKCktPmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAg
ICAgICAgICAgICAgICAgYm94SGFzTm9uVmlzaWJsZU92ZXJmbG93ID0gZmFsc2U7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KQEAgLTY2MCw3ICs2NjAsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJv
eDo6Y29uc3RyYWluTG9naWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4KExheW91dFVuaXQgbG9n
aWNhbAogICAgIGlmIChhbGxvd0ludHJpbnNpYyA9PSBBbGxvd0ludHJpbnNpYzo6Tm8gJiYgc3R5
bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKS5pc0ludHJpbnNpYygpKQogICAgICAgICByZXR1cm4g
bG9naWNhbFdpZHRoOwogICAgIGF1dG8gbWluTGVuZ3RoID0gc3R5bGVUb1VzZS5sb2dpY2FsTWlu
V2lkdGgoKTsKLSAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0
aC5pc0F1dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHls
ZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNh
bFdpZHRoKCkuaXNNYXhDb250ZW50KCkpICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dJbmxpbmVEaXJl
Y3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChzdHlsZVRvVXNlLmhhc0Fz
cGVjdFJhdGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxX
aWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50
KCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgZWZmZWN0
aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAg
ICAgICAvLyBNYWtlIHN1cmUgd2UgYWN0dWFsbHkgdXNlZCB0aGUgYXNwZWN0IHJhdGlvLgogICAg
ICAgICBpZiAoc2hvdWxkQ29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRpbygpKQogICAg
ICAgICAgICAgbWluTGVuZ3RoID0gTGVuZ3RoKExlbmd0aFR5cGU6Ok1pbkNvbnRlbnQpOwpAQCAt
Njc2LDcgKzY3Niw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVp
Z2h0QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBzCiAgICAgICAgICAgICBsb2dp
Y2FsSGVpZ2h0ID0gc3RkOjptaW4obG9naWNhbEhlaWdodCwgbWF4SC52YWx1ZSgpKTsKICAgICB9
CiAgICAgYXV0byBsb2dpY2FsTWluSGVpZ2h0ID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluSGVpZ2h0
KCk7Ci0gICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxv
Z2ljYWxIZWlnaHRGcm9tQXNwZWN0UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYm
IHN0eWxlVG9Vc2Uub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
KSB7CisgICAgaWYgKGxvZ2ljYWxNaW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxv
Z2ljYWxIZWlnaHRGcm9tQXNwZWN0UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYm
IGVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkg
ewogICAgICAgICBhdXRvIGhlaWdodEZyb21Bc3BlY3RSYXRpbyA9IGJsb2NrU2l6ZUZyb21Bc3Bl
Y3RSYXRpbyhob3Jpem9udGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpLCB2ZXJ0aWNhbEJvcmRl
ckFuZFBhZGRpbmdFeHRlbnQoKSwgTGF5b3V0VW5pdChzdHlsZSgpLmxvZ2ljYWxBc3BlY3RSYXRp
bygpKSwgc3R5bGUoKS5ib3hTaXppbmdGb3JBc3BlY3RSYXRpbygpLCBsb2dpY2FsV2lkdGgoKSkg
LSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwogICAgICAgICBpZiAoZmlyc3RDaGls
ZCgpKQogICAgICAgICAgICAgaGVpZ2h0RnJvbUFzcGVjdFJhdGlvID0gc3RkOjptYXgoaGVpZ2h0
RnJvbUFzcGVjdFJhdGlvLCAqaW50cmluc2ljQ29udGVudEhlaWdodCk7CkBAIC00ODM5LDcgKzQ4
MzksNyBAQCBib29sIFJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0KCkgY29u
c3QKIHsKICAgICByZXR1cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0
aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgaGFzUG90ZW50aWFsbHlTY3JvbGxhYmxlT3Zl
cmZsb3coKSB8fCBpc0ZsZXhJdGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgpCiAgICAgICAgIHx8IGlz
VGFibGVDZWxsKCkgfHwgaXNUYWJsZUNhcHRpb24oKSB8fCBpc0ZpZWxkc2V0KCkgfHwgaXNXcml0
aW5nTW9kZVJvb3QoKSB8fCBpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNSZW5kZXJG
cmFnbWVudGVkRmxvdygpCi0gICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBp
c0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1
bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3Bs
YXlUeXBlOjpGbG93Um9vdDsKKyAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8
IHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3Bl
Y2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFs
bCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJv
b2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMoKSBjb25zdApAQCAtNDg0OSw2ICs0ODQ5LDggQEAg
Ym9vbCBSZW5kZXJCb3g6OmF2b2lkc0Zsb2F0cygpIGNvbnN0CiAKIHZvaWQgUmVuZGVyQm94Ojph
ZGRWaXN1YWxFZmZlY3RPdmVyZmxvdygpCiB7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBs
aWVzKCkpCisgICAgICAgIHJldHVybjsKICAgICBib29sIGhhc0JveFNoYWRvdyA9IHN0eWxlKCku
Ym94U2hhZG93KCk7CiAgICAgYm9vbCBoYXNCb3JkZXJJbWFnZU91dHNldHMgPSBzdHlsZSgpLmhh
c0JvcmRlckltYWdlT3V0c2V0cygpOwogICAgIGJvb2wgaGFzT3V0bGluZSA9IG91dGxpbmVTdHls
ZUZvclJlcGFpbnQoKS5oYXNPdXRsaW5lSW5WaXN1YWxPdmVyZmxvdygpOwpAQCAtNDkwNyw2ICs0
OTA5LDggQEAgTGF5b3V0UmVjdCBSZW5kZXJCb3g6OmFwcGx5VmlzdWFsRWZmZWN0T3ZlcmZsb3co
Y29uc3QgTGF5b3V0UmVjdCYgYm9yZGVyQm94KSBjb24KIAogdm9pZCBSZW5kZXJCb3g6OmFkZE92
ZXJmbG93RnJvbUNoaWxkKGNvbnN0IFJlbmRlckJveCogY2hpbGQsIGNvbnN0IExheW91dFNpemUm
IGRlbHRhKQogeworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpKQorICAgICAgICBy
ZXR1cm47CiAgICAgLy8gTmV2ZXIgYWxsb3cgZmxvdyB0aHJlYWRzIHRvIHByb3BhZ2F0ZSBvdmVy
ZmxvdyB1cCB0byBhIHBhcmVudC4KICAgICBpZiAoY2hpbGQtPmlzUmVuZGVyRnJhZ21lbnRlZEZs
b3coKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggODg4ZGUzMjgzZjkyNjJjNWJkMjBlZjI1OTg5
NjBlNGE2OGMwZTcxZi4uMTk4YmM4M2E2NWQwYmI2M2FlMTk4YTNiN2NiYWEzMjNmOWVhMmIxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwCkBAIC0yMDksNiArMjA5LDcgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRl
RnJvbVN0eWxlKCkKICAgICBzZXRIb3Jpem9udGFsV3JpdGluZ01vZGUoc3R5bGVUb1VzZS5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKTsKICAgICBpZiAoc3R5bGVUb1VzZS5pc0ZsaXBwZWRCbG9j
a3NXcml0aW5nTW9kZSgpKQogICAgICAgICB2aWV3KCkuZnJhbWVWaWV3KCkuc2V0SGFzRmxpcHBl
ZEJsb2NrUmVuZGVyZXJzKHRydWUpOworICAgIHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKHNo
b3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykpOwogfQogCiBzdGF0aWMgTGF5b3V0U2l6
ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZzZXRzKGNvbnN0IFJlbmRlck9iamVjdCogY2hp
bGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5kZXggMWIx
YjAyMWZmNDNlYmEzZGZhZDFiOTFkMzVkNDc0YTc3NjRiN2IwMC4uMTQxMDZiNzRkNTUzYmUxZGZl
MzNhMmY5YThkZjRjN2I5ZDgxMmNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJFbGVtZW50LmNwcApAQCAtOTYsNyArOTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUmVuZGVyRWxlbWVudCk7CiAKIHN0cnVjdCBTYW1lU2l6
ZUFzUmVuZGVyRWxlbWVudCA6IHB1YmxpYyBSZW5kZXJPYmplY3QgewotICAgIHVuc2lnbmVkIGJp
dGZpZWxkcyA6IDI1OworICAgIHVuc2lnbmVkIGJpdGZpZWxkcyA6IDI2OwogICAgIHZvaWQqIGZp
cnN0Q2hpbGQ7CiAgICAgdm9pZCogbGFzdENoaWxkOwogICAgIFJlbmRlclN0eWxlIHN0eWxlOwpA
QCAtMTI0LDYgKzEyNCw3IEBAIGlubGluZSBSZW5kZXJFbGVtZW50OjpSZW5kZXJFbGVtZW50KENv
bnRhaW5lck5vZGUmIGVsZW1lbnRPckRvY3VtZW50LCBSZW5kZXJTdHlsCiAgICAgLCBtX2lzUmVn
aXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2FsbGJhY2soZmFsc2UpCiAgICAgLCBtX3Zpc2li
bGVJblZpZXdwb3J0U3RhdGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFZpc2libGVJblZpZXdwb3J0
U3RhdGU6OlVua25vd24pKQogICAgICwgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5
UGl4ZWxDb3VudChmYWxzZSkKKyAgICAsIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMoZmFsc2Up
CiAgICAgLCBtX2ZpcnN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fbGFzdENoaWxkKG51bGxwdHIp
CiAgICAgLCBtX3N0eWxlKFdURk1vdmUoc3R5bGUpKQpAQCAtMjMxNCw3ICsyMzE1LDcgQEAgc3Rh
dGljIFJlbmRlck9iamVjdDo6QmxvY2tDb250ZW50SGVpZ2h0VHlwZSBpbmNsdWRlTm9uRml4ZWRI
ZWlnaHQoY29uc3QgUmVuZGVyT2IKICAgICAgICAgaWYgKGlzPFJlbmRlckJsb2NrPihyZW5kZXJl
cikpIHsKICAgICAgICAgICAgIC8vIEZvciBmaXhlZCBoZWlnaHQgc3R5bGVzLCBpZiB0aGUgb3Zl
cmZsb3cgc2l6ZSBvZiB0aGUgZWxlbWVudCBzcGlsbHMgb3V0IG9mIHRoZSBzcGVjaWZpZWQKICAg
ICAgICAgICAgIC8vIGhlaWdodCwgYXNzdW1lIHdlIGNhbiBhcHBseSB0ZXh0IGF1dG8tc2l6aW5n
LgotICAgICAgICAgICAgaWYgKHN0eWxlLm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxl
CisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKS5lZmZlY3Rp
dmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQogICAgICAgICAgICAgICAgICYmIHN0
eWxlLmhlaWdodCgpLnZhbHVlKCkgPCBkb3duY2FzdDxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpLmxh
eW91dE92ZXJmbG93UmVjdCgpLm1heFkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gUmVuZGVy
T2JqZWN0OjpPdmVyZmxvd0hlaWdodDsKICAgICAgICAgfQpAQCAtMjQwNCw0ICsyNDA1LDIwIEBA
IHZvaWQgUmVuZGVyRWxlbWVudDo6c2V0QmFja2Ryb3BSZW5kZXJlcihSZW5kZXJCbG9ja0Zsb3cm
IHJlbmRlcmVyKQogICAgIGVuc3VyZVJhcmVEYXRhKCkuYmFja2Ryb3BSZW5kZXJlciA9IG1ha2VX
ZWFrUHRyKHJlbmRlcmVyKTsKIH0KIAorT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZl
T3ZlcmZsb3dYKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WCA9IHN0eWxlKCkub3ZlcmZs
b3dYKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dYID09
IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAg
cmV0dXJuIG92ZXJmbG93WDsKK30KKworT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZl
T3ZlcmZsb3dZKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WSA9IHN0eWxlKCkub3ZlcmZs
b3dZKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dZID09
IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAg
cmV0dXJuIG92ZXJmbG93WTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmgKaW5kZXggMGE1OTM0NTJhNzA3YzU4NjJkMDNkZmJlYWJhNTJlZjZhYWU5NDg1YS4u
ZTBiMzhlMGJhN2QzMmE2ODQ3MGY5NWNkYmI2YTViZTkzYmYwZjQzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yMTUsNiArMjE1LDkgQEAgcHVibGljOgog
ICAgIGJvb2wgZGlkQ29udGlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCgpIGNvbnN0
IHsgcmV0dXJuIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQ7IH0K
ICAgICB2b2lkIHNldERpZENvbnRpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoKSB7
IG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgPSB0cnVlOyB9CiAK
KyAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1cm4gbV9wYWlu
dENvbnRhaW5tZW50QXBwbGllczsgfQorICAgIHZvaWQgc2V0UGFpbnRDb250YWlubWVudEFwcGxp
ZXMoYm9vbCBiKSB7IG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMgPSBiOyB9CisKICAgICBib29s
IHJlcGFpbnRGb3JQYXVzZWRJbWFnZUFuaW1hdGlvbnNJZk5lZWRlZChjb25zdCBJbnRSZWN0JiB2
aXNpYmxlUmVjdCwgQ2FjaGVkSW1hZ2UmKTsKICAgICBib29sIGhhc1BhdXNlZEltYWdlQW5pbWF0
aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zOyB9CiAgICAg
dm9pZCBzZXRIYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMoYm9vbCBiKSB7IG1faGFzUGF1c2VkSW1h
Z2VBbmltYXRpb25zID0gYjsgfQpAQCAtMjY1LDYgKzI2OCwxMSBAQCBwdWJsaWM6CiAKICAgICBS
ZWZlcmVuY2VkU1ZHUmVzb3VyY2VzJiBlbnN1cmVSZWZlcmVuY2VkU1ZHUmVzb3VyY2VzKCk7CiAK
KyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdDsKKyAgICBPdmVyZmxvdyBl
ZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxv
d0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3ZlcmZsb3dZKCk7
IH0KKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3Zl
cmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgZW51
bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAx
IDw8IDAsCkBAIC0zODgsNiArMzk2LDggQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fZGlk
Q29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgOiAxOwogCisgICAgdW5zaWdu
ZWQgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyA6IDE7CisKICAgICBSZW5kZXJPYmplY3QqIG1f
Zmlyc3RDaGlsZDsKICAgICBSZW5kZXJPYmplY3QqIG1fbGFzdENoaWxkOwogCkBAIC00NTMsNyAr
NDYzLDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRp
b25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwtY2hhbmdlIHNob3VsZCBj
cmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChidWcgMjI1MDM1KQogICAg
ICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxl
KCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9zaXRp
b25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQotICAgICAgICB8fCBzaG91
bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlM
YXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRh
aW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFp
bkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00NjQsNiArNDc1LDcgQEAg
aW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVk
T2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53
aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxv
Y2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmpl
Y3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAg
ICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAgICAgICAgIHx8IGlz
UmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmNwcAppbmRleCBhNjdjMjFkNzRiM2NjNzVmZjhhZjMxYjU3NmY5ZDZmZWVkODQw
ZjM3Li5iZGY3ZDg3MzM4ZmFmODEyZTUxNTIxOTVjYWNiMTlmYzU2OTk3NDcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTE4MTcsMTUg
KzE4MTcsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNJbnRyaW5zaWNNYWlu
QXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92ZXJmbG93IFJlbmRlckZsZXhpYmxl
Qm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29u
c3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1cm4gY2hpbGQu
c3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1ko
KTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOworICAgIHJldHVy
biBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAogT3ZlcmZsb3cgUmVuZGVyRmxleGli
bGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkg
Y29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1cm4gY2hp
bGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxv
d1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgpOworICAgIHJl
dHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0KIAogYm9vbCBSZW5kZXJGbGV4aWJs
ZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoY29uc3QgUmVuZGVyQm94JiBy
ZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IGFmYjI3Y2NhNjcxZGU2YWJmN2EzMjliMjFjNzgx
MTcwMGNmMjk1M2UuLjc5NzBmMmZkNzgxMzY1ZTY0YzE1MWI0M2UyYzMzN2MwMmUyZDljYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFp
bmVyLmNwcApAQCAtMTU3LDE0ICsxNTcsMTQgQEAgTGF5b3V0UmVjdCBSZW5kZXJGcmFnbWVudENv
bnRhaW5lcjo6b3ZlcmZsb3dSZWN0Rm9yRnJhZ21lbnRlZEZsb3dQb3J0aW9uKGNvbnN0IEwKICAg
ICBpZiAobV9mcmFnbWVudGVkRmxvdy0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewogICAg
ICAgICBMYXlvdXRVbml0IG1pblkgPSBpc0ZpcnN0UG9ydGlvbiA/IGZyYWdtZW50ZWRGbG93T3Zl
cmZsb3cueSgpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCk7CiAgICAgICAgIExheW91
dFVuaXQgbWF4WSA9IGlzTGFzdFBvcnRpb24gPyBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRp
b25SZWN0Lm1heFkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhZKCkpIDogZnJhZ21lbnRl
ZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCk7Ci0gICAgICAgIGJvb2wgY2xpcFggPSBzdHlsZSgpLm92
ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlOworICAgICAgICBib29sIGNsaXBYID0gZWZm
ZWN0aXZlT3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CiAgICAgICAgIExheW91dFVu
aXQgbWluWCA9IGNsaXBYID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54KCkgOiBzdGQ6Om1p
bihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54
KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBjbGlwWCA/IGZyYWdtZW50ZWRGbG93UG9y
dGlvblJlY3QubWF4WCgpIDogc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhY
KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgpKTsKICAgICAgICAgY2xpcFJlY3QgPSBM
YXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBtYXhZIC0gbWluWSk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gaXNGaXJzdFBvcnRpb24gPyBmcmFnbWVu
dGVkRmxvd092ZXJmbG93LngoKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpOwogICAg
ICAgICBMYXlvdXRVbml0IG1heFggPSBpc0xhc3RQb3J0aW9uID8gc3RkOjptYXgoZnJhZ21lbnRl
ZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgpKSA6
IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpOwotICAgICAgICBib29sIGNsaXBZID0g
c3R5bGUoKS5vdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICAgICAgYm9vbCBj
bGlwWSA9IGVmZmVjdGl2ZU92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpWaXNpYmxlOwogICAgICAg
ICBMYXlvdXRVbml0IG1pblkgPSBjbGlwWSA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgp
IDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCksIGZyYWdtZW50ZWRGbG93
T3ZlcmZsb3cueSgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0gY2xpcFkgPyBmcmFnbWVu
dGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSA6IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlv
blJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFkoKSk7CiAgICAgICAgIGNsaXBS
ZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwgbWF4WSAtIG1pblkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCmluZGV4IDU2NjlkMDM0YWM5ZmIz
M2E3YjhkMzNmNmQ3MDJhZjJjYjM0NDc1ZDIuLjY4NWI4Y2I4OGExMTE1NzAxZjU0YTQ5NjE0ZjMz
ODM5YmMwNTk4NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKQEAg
LTgyLDcgKzgyLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBtYXlBZmZlY3RMYXlvdXQoKSBjb25z
dDsKIAotICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlz
SW5GbG93UG9zaXRpb25lZCgpIHx8IGNyZWF0ZXNHcm91cCgpIHx8IGhhc0NsaXBQYXRoKCkgfHwg
d2lsbENoYW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBoYXNSdW5uaW5nQWNjZWxlcmF0
ZWRBbmltYXRpb25zKCk7IH0KKyAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBoYXND
bGlwUGF0aCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykgfHwgd2lsbENo
YW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBoYXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmlt
YXRpb25zKCk7IH0KIAogcHJvdGVjdGVkOgogICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAxMGEy
YmQxNWRlMzZkNDk1NjVlMWQwMzcwZThiMDI3ZjUwNjg0OTAzLi45ZmE4YmZhZjA1MWMxZDliMDgy
YWY5NjU3MGY3ODljNzNhY2E3MzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKQEAgLTU1NSw2ICs1NTUsNyBAQCBzdGF0aWMgYm9vbCBjYW5DcmVhdGVTdGFja2lu
Z0NvbnRleHQoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyKQogICAgICAgICB8fCByZW5kZXJlci5p
c1Bvc2l0aW9uZWQoKSAvLyBOb3RlIHRoYXQgdGhpcyBvbmx5IGNyZWF0ZXMgc3RhY2tpbmcgY29u
dGV4dCBpbiBjb25qdW5jdGlvbiB3aXRoIGV4cGxpY2l0IHotaW5kZXguCiAgICAgICAgIHx8IHJl
bmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhhc0lz
b2xhdGlvbigpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJl
cikKICAgICAgICAgfHwgIXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKQogICAg
ICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5bGUo
KS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKQogICAgICAgICB8fCBs
YXllci5lc3RhYmxpc2hlc1RvcExheWVyKCk7CkBAIC01ODYsNyArNTg3LDcgQEAgYm9vbCBSZW5k
ZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyTGF5
ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gIXJl
bmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVuZGVyVmlld0xheWVy
KCk7CisgICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8
fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwgaXNSZW5kZXJWaWV3
TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93T25seShib29s
IGlzTm9ybWFsRmxvd09ubHkpCkBAIC0xMDY5LDYgKzEwNzAsMTEgQEAgTGF5b3V0UmVjdCBSZW5k
ZXJMYXllcjo6cmVwYWludFJlY3RJbmNsdWRpbmdOb25Db21wb3NpdGluZ0Rlc2NlbmRhbnRzKCkg
Y29uc3QKIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNTZWxmUGFpbnRpbmdM
YXllckRlc2NlbmRhbnQoKQogewogICAgIGZvciAoUmVuZGVyTGF5ZXIqIGxheWVyID0gdGhpczsg
bGF5ZXI7IGxheWVyID0gbGF5ZXItPnBhcmVudCgpKSB7CisgICAgICAgIGlmIChzaG91bGRBcHBs
eVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgIG1faGFzU2VsZlBh
aW50aW5nTGF5ZXJEZXNjZW5kYW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1faGFzU2VsZlBhaW50
aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CiAgICAgICAgIGlmICghbGF5ZXItPm1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5k
YW50RGlydHkgJiYgbGF5ZXItPmhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKQogICAg
ICAgICAgICAgYnJlYWs7CiAKQEAgLTE0NzAsNiArMTQ3NiwxMSBAQCB2b2lkIFJlbmRlckxheWVy
OjpkaXJ0eUFuY2VzdG9yQ2hhaW5WaXNpYmxlRGVzY2VuZGFudFN0YXR1cygpCiB2b2lkIFJlbmRl
ckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRhbnQoKQogewogICAgIGZv
ciAoUmVuZGVyTGF5ZXIqIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPnBhcmVu
dCgpKSB7CisgICAgICAgIGlmIChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIo
KSkpIHsKKyAgICAgICAgICAgIG1faGFzVmlzaWJsZURlc2NlbmRhbnQgPSB0cnVlOworICAgICAg
ICAgICAgbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5ID0gZmFsc2U7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBpZiAoIWxheWVyLT5tX3Zpc2libGVEZXNjZW5k
YW50U3RhdHVzRGlydHkgJiYgbGF5ZXItPmhhc1Zpc2libGVEZXNjZW5kYW50KCkpCiAgICAgICAg
ICAgICBicmVhazsKIApAQCAtNDUwNiw2ICs0NTE3LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNh
bGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb250ZXh0
LCBDCiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rp
b24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7CiAgICAg
ICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAgICBj
bGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xp
cFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRBcHBseVBhaW50
Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0
UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBvc0Ns
aXBSZWN0KCkpKTsKKyAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0Rml4ZWRDbGlwUmVjdChp
bnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMuZml4ZWRDbGlwUmVjdCgpKSk7
CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFzQ2xp
cCgpKSB7CiAgICAgICAgICAgICBMYXlvdXRSZWN0IG5ld1Bvc0NsaXAgPSBkb3duY2FzdDxSZW5k
ZXJCb3g+KHJlbmRlcmVyKCkpLmNsaXBSZWN0KG9mZnNldCwgbnVsbHB0cik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDcwNzExMzgwYjI0Yjk5ZmUxN2I2
NWY0OWU0YjExZTcxYWJmNWIxYmIuLjZiNjVjMWIxNzg2ODhlMzUxMDJiNDY2YTM1ZmY4MDY0Mzk2
ZjYwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0y
NTQzLDMgKzI1NDMsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50
KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJl
bmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8
IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRl
eHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRp
b24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJl
cikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFy
ZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkg
JiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwg
cmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAppbmRleCBmM2M0ZTkxODkyZGQxMjMzMDYwNzQwYTg4ZTM0YjgyOTUz
YjczZDM2Li5jMjQ3YmU5NjE4MGM2MmExMTMxZmJiZTE3M2YyMTU2YmE1MTRjZWVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMjA3LDYgKzEyMDcsNyBAQCB2
b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hv
dWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hv
dWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IGJmYjFkNTEzZmUxNzM2MTQyMzc1Y2Y2Y2RjMDZmNTVhZDU0ZTdmOTAuLmNk
MzEzMmZmMThkZmJlZDliMWJhODg5MDUzZWI1MDc4ODhhMzMzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zMzAsOCArMzMwLDYgQEAgcHVi
bGljOgogICAgIAogICAgIE92ZXJmbG93IG92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PE92ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WCk7IH0KICAgICBP
dmVyZmxvdyBvdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4o
bV9ub25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1kpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dJ
bmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gb3ZlcmZsb3dYKCkgOiBvdmVyZmxvd1koKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93Qmxv
Y2tEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
b3ZlcmZsb3dZKCkgOiBvdmVyZmxvd1goKTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUo
KSBjb25zdCB7IHJldHVybiBvdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBvdmVy
Zmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsgfQogCiAgICAgT3ZlcnNjcm9sbEJlaGF2aW9y
IG92ZXJzY3JvbGxCZWhhdmlvclgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyc2Ny
b2xsQmVoYXZpb3I+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm92ZXJzY3JvbGxCZWhhdmlvclgp
OyB9CkBAIC01MjgsNiArNTI2LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVu
dD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9u
SW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQog
ICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNv
bnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250
YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94
QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94
RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERp
cmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94
RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRG
bGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5jcHAKaW5kZXggZGQ0ZjIxZTQwNWZlOTlkYzkyOGYyMmFlYmQ2MTUxMzEzM2Uy
M2ZmNC4uZjE3NjExMzhmYWM4YzUxNTliYjlkOWFkZDg3NGM4M2NiYzk4ZTk0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0yMTQsNyAr
MjE0LDcgQEAgYm9vbCBSZW5kZXJTVkdSb290OjpzaG91bGRBcHBseVZpZXdwb3J0Q2xpcCgpIGNv
bnN0CiAgICAgLy8gdGhlIG91dGVybW9zdCBzdmcgaXMgY2xpcHBlZCBpZiBhdXRvLCBhbmQgc3Zn
IGRvY3VtZW50IHJvb3RzIGFyZSBhbHdheXMgY2xpcHBlZAogICAgIC8vIFdoZW4gdGhlIHN2ZyBp
cyBzdGFuZC1hbG9uZSAoaXNEb2N1bWVudEVsZW1lbnQoKSA9PSB0cnVlKSB0aGUgdmlld3BvcnQg
Y2xpcHBpbmcgc2hvdWxkIGFsd2F5cwogICAgIC8vIGJlIGFwcGxpZWQsIG5vdGluZyB0aGF0IHRo
ZSB3aW5kb3cgc2Nyb2xsYmFycyBzaG91bGQgYmUgaGlkZGVuIGlmIG92ZXJmbG93PWhpZGRlbi4K
LSAgICByZXR1cm4gc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuCisgICAg
cmV0dXJuIGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4KICAgICAgICAg
fHwgc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6QXV0bwogICAgICAgICB8fCBzdHls
ZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpTY3JvbGwKICAgICAgICAgfHwgdGhpcy0+aXNE
b2N1bWVudEVsZW1lbnRSZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIu
cHkKaW5kZXggNjU2OGZmYTcxNDdkYjdjZTQ4ZWZlOTJhMDYxNjc4MGIyZTNkMjU4NC4uMTZhNTY2
Yjk3ZTcwZTYzMjMxOTVlZDU4MjYwNWRjOWZiMTBiMTI1ZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZHJpdmVyLnB5CkBAIC00NDUsNyArNDQ1LDcgQEAgY2xhc3MgRHJpdmVyKG9iamVjdCk6
CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBlbnZpcm9ubWVudFsnRFVNUFJFTkRFUlRSRUVf
VEVNUCddID0gc3RyKHNlbGYuX2RyaXZlcl90ZW1wZGlyKQogICAgICAgICBlbnZpcm9ubWVudFsn
TE9DQUxfUkVTT1VSQ0VfUk9PVCddID0gc3RyKHNlbGYuX3BvcnQubGF5b3V0X3Rlc3RzX2Rpcigp
KQotICAgICAgICBlbnZpcm9ubWVudFsnQVNBTl9PUFRJT05TJ10gPSAiYWxsb2NhdG9yX21heV9y
ZXR1cm5fbnVsbD0xIgorICAgICAgICBlbnZpcm9ubWVudFsnQVNBTl9PUFRJT05TJ10gPSAiYWxs
b2NhdG9yX21heV9yZXR1cm5fbnVsbD0xIGRldGVjdF9vZHJfdmlvbGF0aW9uPTAiCiAgICAgICAg
IGVudmlyb25tZW50WydfX1hQQ19BU0FOX09QVElPTlMnXSA9IGVudmlyb25tZW50WydBU0FOX09Q
VElPTlMnXQogCiAgICAgICAgICMgRGlzYWJsZSB2bm9kZS1ndWFyZCByZWxhdGVkIHNpbXVsYXRl
ZCBjcmFzaGVzIGZvciBXS1RSIC8gRFJUIChyZGFyOi8vcHJvYmxlbS80MDY3NDAzNCkuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZjNmZDY5MzQxYzI0NjQzMzc2ODE5M2ZjMDc2NmFiYjNjNTUzMjQwMi4uNTg0OGU5Yjg4NjNm
ODg4MDAwZDI4YWVmY2U5ZDI3OGNlOWYyY2NmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIx
LTA5LTE1ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250
YWluXSBTdXBwb3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVuc2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAg
ICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOS0xNSAgTWFydGluIFJvYmluc29uICA8bXJv
Ymluc29uQHdlYmtpdC5vcmc+CiAKICAgICAgICAgb2Zmc2V0TGVmdCBvbiBkaXNwbGF5OmlubGlu
ZSBlbGVtZW50IGluIHZlcnRpY2FsLXJsIHBhcmVudCBjYW4gcmV0dXJuIGEgbmVnYXRpdmUgbnVt
YmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA3NGI3NWRmMjc0MzRmMWU0OWQ0
NDkxMWZhZTAxYjg0YWMyZGI1MGFmLi5iMmYxYThiNjU0MTgxNmNlOWFjYjEyZWI3MDJlMTk0YTY0
OWU3N2Q0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMS0wOS0xNSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3Mt
Y29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBub3cgdGhhdCBj
b250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4
dDoKKwogMjAyMS0wOS0xNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgb2Zmc2V0TGVmdCBvbiBkaXNwbGF5OmlubGluZSBlbGVtZW50IGluIHZlcnRp
Y2FsLXJsIHBhcmVudCBjYW4gcmV0dXJuIGEgbmVnYXRpdmUgbnVtYmVyCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBiNmVkMTYzYWViZTVlMTA3ZGUxZWIyMjAwZDY4NWUwZDNlZjg5OGQzLi5kNzgzOWJk
YzYyMzNhMzk2NzI0M2JiZDFiODc0YzAwYTdlZDUxMWVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTUwMTQsNiArNTAxNCwxMCBAQCB3ZWJhbmltYXRpb25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1hbmQt
dHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYQogIyBDU1MgY29udGFp
bm1lbnQgdGVzdHMgdGhhdCBmYWlsCiAjIHdlYmtpdC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCkBAIC01MDI4LDQ5ICs1MDMyLDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWIKIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA0Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDEw
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIwLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ3Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDQ4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Y2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAw
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDExLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jbGlwLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE0Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KKyMgY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIGFuZCBj
b250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgbmVlZCBmdXp6eSBtYXRjaGluZy4KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2xpcC0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stYWJzb2x1dGUt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1ibG9jay1maXhl
ZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQt
ZmxvYXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250
ZXh0LW1hcmdpbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pZmMtMDExLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaW5kZXBlbmRlbnQtZm9ybWF0dGluZy1jb250
ZXh0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1zaXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5n
LWNvbnRleHQtMDAxYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxl
LWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAw
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29u
dGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3Qt
ZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMx
ZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRlY2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4
Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgt
aXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsxLDEzIEBACiBTdHJl
dGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwogRmxleC1zdGFydDoKIAot
Q29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438331</attachid>
            <date>2021-09-16 03:22:58 -0700</date>
            <delta_ts>2021-09-29 07:00:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210916122256.patch</filename>
            <type>text/plain</type>
            <size>38186</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjhlODBhMTExZTMwNzUw
MzlkOTExYmI1NTM1OTIzYTVjODljNWQyNS4uNmVlNDhiOGNmMDNlYzNjNTVlYWVlMzFiYmJkY2U3
MjkyY2E5NDUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTA5LTE2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVT
dGFja2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJl
Q1NTU3RhY2tpbmdDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzZXRBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2Nl
bmRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0
cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2Nr
RGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBw
bHlWaWV3cG9ydENsaXAgY29uc3QpOgorCiAyMDIxLTA5LTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgbGlid2VicnRjIE9uU3RhbmRhcmRpemVkSWNl
Q29ubmVjdGlvbkNoYW5nZSBjYWxsYmFjayBpbnN0ZWFkIG9mIE9uSWNlQ29ubmVjdGlvbkNoYW5n
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGFiNDhmZWUxOGU3Y2E2NzU2M2MyMzU1
NTFlZmMwMDRhZTdhMTcxYzguLmQ2ZDgyYzFlMTg0YmE4ZmFhNDgwYmU0NDVkNDAyNDJlZDBlNWI1
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTYzNSw4ICs2MzUsOCBAQCB2b2lk
IEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYg
cmVuZGVyZXIsIFNjcm9sbGJhcgogCiAgICAgYm9vbCBvdmVycmlkZUhpZGRlbiA9IGZyYW1lKCku
aXNNYWluRnJhbWUoKSAmJiAoKGZyYW1lKCkuZnJhbWVTY2FsZUZhY3RvcigpID4gMSkgfHwgaGVh
ZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0KCkpOwogCi0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dY
ID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1kg
PSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92ZXJmbG93IG92ZXJmbG93WCA9
IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpOworICAgIE92ZXJmbG93IG92ZXJmbG93WSA9
IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogCiAgICAgaWYgKGlzPFJlbmRlclNWR1Jv
b3Q+KHJlbmRlcmVyKSkgewogICAgICAgICAvLyBGSVhNRTogZXZhbHVhdGUgaWYgd2UgY2FuIGFs
bG93IG92ZXJmbG93IGZvciB0aGVzZSBjYXNlcyB0b28uCkBAIC03MDAsMTIgKzcwMCwxMiBAQCB2
b2lkIEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9ydCgpCiAKICAgICBhdXRvKiBi
b2R5ID0gZG9jdW1lbnQtPmJvZHkoKTsKICAgICBpZiAoYm9keSAmJiBib2R5LT5yZW5kZXJlcigp
KSB7Ci0gICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLnN0
eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVt
ZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CisgICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVyZXIg
PSBkb2N1bWVudFJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNp
YmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50RWxlbWVudCkgPwogICAgICAgICAg
ICAgYm9keS0+cmVuZGVyZXIoKSA6ICZkb2N1bWVudFJlbmRlcmVyOwogICAgIH0KIAogICAgIFBh
Z2luYXRpb24gcGFnaW5hdGlvbjsKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVudE9y
Qm9keVJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92ZXJmbG93IG92ZXJmbG93
WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogICAgIGlm
IChvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWCB8fCBvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6
OlBhZ2VkWSkgewogICAgICAgICBwYWdpbmF0aW9uLm1vZGUgPSBXZWJDb3JlOjpwYWdpbmF0aW9u
TW9kZUZvclJlbmRlclN0eWxlKGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkpOwogICAg
ICAgICBHYXBMZW5ndGggY29sdW1uR2FwTGVuZ3RoID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+
c3R5bGUoKS5jb2x1bW5HYXAoKTsKQEAgLTc2Nyw3ICs3NjcsNyBAQCB2b2lkIEZyYW1lVmlldzo6
Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFyTW9kZSYgaE1vZGUsIFNj
cm9sbGJhcgogICAgIGlmIChpczxIVE1MQm9keUVsZW1lbnQ+KCpib2R5T3JGcmFtZXNldCkgJiYg
cm9vdFJlbmRlcmVyKSB7CiAgICAgICAgIC8vIEl0J3Mgc3VmZmljaWVudCB0byBqdXN0IGNoZWNr
IHRoZSBYIG92ZXJmbG93LAogICAgICAgICAvLyBzaW5jZSBpdCdzIGlsbGVnYWwgdG8gaGF2ZSB2
aXNpYmxlIGluIG9ubHkgb25lIGRpcmVjdGlvbi4KLSAgICAgICAgaWYgKHJvb3RSZW5kZXJlci0+
c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVs
ZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKKyAgICAgICAgaWYgKHJvb3RSZW5kZXJlci0+ZWZm
ZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVt
ZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CiAgICAgICAgICAgICBhdXRvKiBib2R5UmVuZGVyZXIg
PSBib2R5T3JGcmFtZXNldC0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgIGlmIChib2R5UmVuZGVy
ZXIpIHsKICAgICAgICAgICAgICAgICBhcHBseU92ZXJmbG93VG9WaWV3cG9ydCgqYm9keVJlbmRl
cmVyLCBoTW9kZSwgdk1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRleCBkYTg5MTNkYmU3YmJjOTQ1YWM1YzVk
Yzk3NmE5MzY3ZWE5MTFjMjA5Li4xYWQ3OTY3M2JhZjhlYTI0NjJlNjhiMjdiNDBiZjIzMTVjODdi
MzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtLmNwcApAQCAtODA1LDcgKzgwNSw3IEBAIExheW91dFVuaXQgR3JpZFRyYWNr
U2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6Om1pblNpemVGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxk
KSBjCiAgICAgICAgIHJldHVybiBtaW5Db250ZW50Rm9yQ2hpbGQoY2hpbGQpOwogCiAgICAgY29u
c3QgTGVuZ3RoJiBjaGlsZE1pblNpemUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLmxvZ2lj
YWxNaW5XaWR0aCgpIDogY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAgYm9v
bCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dJ
bmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSA6IGNoaWxkLnN0eWxlKCkub3Zl
cmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlOworICAgIGJvb2wgb3Zl
cmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd0lubGlu
ZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlIDogY2hpbGQuZWZmZWN0aXZlT3ZlcmZs
b3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlOwogICAgIExheW91dFVuaXQg
YmFzZWxpbmVTaGltID0gbV9hbGdvcml0aG0uYmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCwg
Z3JpZEF4aXNGb3JEaXJlY3Rpb24oZGlyZWN0aW9uKCkpKTsKIAogICAgIGlmIChjaGlsZE1pblNp
emUuaXNBdXRvKCkgJiYgb3ZlcmZsb3dJc1Zpc2libGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKaW5kZXggZGZkOGYwZWE1YjVmMzJkNjkzMWJhOWU2ZTEwNDI3ZGI2ZDBk
N2RmMy4uMGUyYTJlNWZkMTdjNGU5ODA3ZTY3MzcxZDhmNTA3N2Q3YWUyMmQ5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ4MSw3ICs0ODEsNyBAQCB2b2lkIFJl
bmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRGbG9hdGluZyghaXNPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkpOwogCiAgICAgLy8gV2UgYWxz
byBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJmbG93IGFwcGxpZXMgdG8gdGhl
IHZpZXdwb3J0LgotICAgIGlmICghKHN0eWxlVG9Vc2Uub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkg
JiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkgeworICAgIGlmICgh
KGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGVmZmVjdGl2ZU92
ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIg
JiYgaXNSZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94SGFzTm9uVmlzaWJsZU92ZXJm
bG93ID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzQm9keSgpKSB7CiAgICAgICAgICAgICAvLyBPdmVy
ZmxvdyBvbiB0aGUgYm9keSBjYW4gcHJvcGFnYXRlIHRvIHRoZSB2aWV3cG9ydCB1bmRlciB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMuCkBAIC00OTAsNyArNDkwLDcgQEAgdm9pZCBSZW5kZXJCb3g6
OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgICAgICAgICAvLyAoMykgVGhlIHJvb3QgZWxlbWVudCBo
YXMgdmlzaWJsZSBvdmVyZmxvdy4KICAgICAgICAgICAgIGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+
KCpkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKQogICAgICAgICAgICAgICAgICYmIGRvY3Vt
ZW50KCkuYm9keSgpID09IGVsZW1lbnQoKQotICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCku
ZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGUpIHsKKyAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpLT5yZW5kZXJlcigpLT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSkgewogICAgICAgICAgICAgICAgIGJveEhhc05vblZpc2libGVPdmVyZmxvdyA9IGZh
bHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC02NjAsNyArNjYwLDcgQEAgTGF5b3V0
VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxXaWR0aEluRnJhZ21lbnRCeU1pbk1heChM
YXlvdXRVbml0IGxvZ2ljYWwKICAgICBpZiAoYWxsb3dJbnRyaW5zaWMgPT0gQWxsb3dJbnRyaW5z
aWM6Ok5vICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCkuaXNJbnRyaW5zaWMoKSkKICAg
ICAgICAgcmV0dXJuIGxvZ2ljYWxXaWR0aDsKICAgICBhdXRvIG1pbkxlbmd0aCA9IHN0eWxlVG9V
c2UubG9naWNhbE1pbldpZHRoKCk7Ci0gICAgaWYgKHN0eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8o
KSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNB
dXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHls
ZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAmJiBzdHlsZVRvVXNlLm92ZXJm
bG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICBpZiAoc3R5
bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0aC5pc0F1dG8oKSAmJiAoc3R5bGVU
b1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgp
LmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNYXhDb250ZW50
KCkpICYmIGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUpIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGFjdHVhbGx5IHVzZWQgdGhlIGFzcGVj
dCByYXRpby4KICAgICAgICAgaWYgKHNob3VsZENvbXB1dGVMb2dpY2FsV2lkdGhGcm9tQXNwZWN0
UmF0aW8oKSkKICAgICAgICAgICAgIG1pbkxlbmd0aCA9IExlbmd0aChMZW5ndGhUeXBlOjpNaW5D
b250ZW50KTsKQEAgLTY3Niw3ICs2NzYsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3Ry
YWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgcwogICAg
ICAgICAgICAgbG9naWNhbEhlaWdodCA9IHN0ZDo6bWluKGxvZ2ljYWxIZWlnaHQsIG1heEgudmFs
dWUoKSk7CiAgICAgfQogICAgIGF1dG8gbG9naWNhbE1pbkhlaWdodCA9IHN0eWxlVG9Vc2UubG9n
aWNhbE1pbkhlaWdodCgpOwotICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzQXV0bygpICYmIHNo
b3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkgJiYgaW50cmluc2ljQ29u
dGVudEhlaWdodCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVy
Zmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzQXV0bygpICYmIHNo
b3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkgJiYgaW50cmluc2ljQ29u
dGVudEhlaWdodCAmJiBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZs
b3c6OlZpc2libGUpIHsKICAgICAgICAgYXV0byBoZWlnaHRGcm9tQXNwZWN0UmF0aW8gPSBibG9j
a1NpemVGcm9tQXNwZWN0UmF0aW8oaG9yaXpvbnRhbEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKSwg
dmVydGljYWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCksIExheW91dFVuaXQoc3R5bGUoKS5sb2dp
Y2FsQXNwZWN0UmF0aW8oKSksIHN0eWxlKCkuYm94U2l6aW5nRm9yQXNwZWN0UmF0aW8oKSwgbG9n
aWNhbFdpZHRoKCkpIC0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAg
aWYgKGZpcnN0Q2hpbGQoKSkKICAgICAgICAgICAgIGhlaWdodEZyb21Bc3BlY3RSYXRpbyA9IHN0
ZDo6bWF4KGhlaWdodEZyb21Bc3BlY3RSYXRpbywgKmludHJpbnNpY0NvbnRlbnRIZWlnaHQpOwpA
QCAtNDgzOSw3ICs0ODM5LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5n
Q29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSW5saW5lQmxvY2tPcklubGluZVRhYmxl
KCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGhhc1BvdGVudGlhbGx5
U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRlbUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQog
ICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNl
dCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigp
IHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKQotICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5z
TGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8
IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3Bs
YXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CisgICAgICAgIHx8IHN0eWxlKCkuY29udGFp
bnNMYXlvdXQoKSB8fCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIHx8IGlzR3JpZEl0ZW0oKSB8
fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBD
b2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dS
b290OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRzRmxvYXRzKCkgY29uc3QKQEAgLTQ4NDks
NiArNDg0OSw4IEBAIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNGbG9hdHMoKSBjb25zdAogCiB2b2lk
IFJlbmRlckJveDo6YWRkVmlzdWFsRWZmZWN0T3ZlcmZsb3coKQogeworICAgIGlmIChwYWludENv
bnRhaW5tZW50QXBwbGllcygpKQorICAgICAgICByZXR1cm47CiAgICAgYm9vbCBoYXNCb3hTaGFk
b3cgPSBzdHlsZSgpLmJveFNoYWRvdygpOwogICAgIGJvb2wgaGFzQm9yZGVySW1hZ2VPdXRzZXRz
ID0gc3R5bGUoKS5oYXNCb3JkZXJJbWFnZU91dHNldHMoKTsKICAgICBib29sIGhhc091dGxpbmUg
PSBvdXRsaW5lU3R5bGVGb3JSZXBhaW50KCkuaGFzT3V0bGluZUluVmlzdWFsT3ZlcmZsb3coKTsK
QEAgLTQ5MDcsNiArNDkwOSw4IEBAIExheW91dFJlY3QgUmVuZGVyQm94OjphcHBseVZpc3VhbEVm
ZmVjdE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIGJvcmRlckJveCkgY29uCiAKIHZvaWQgUmVu
ZGVyQm94OjphZGRPdmVyZmxvd0Zyb21DaGlsZChjb25zdCBSZW5kZXJCb3gqIGNoaWxkLCBjb25z
dCBMYXlvdXRTaXplJiBkZWx0YSkKIHsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMo
KSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIE5ldmVyIGFsbG93IGZsb3cgdGhyZWFkcyB0byBw
cm9wYWdhdGUgb3ZlcmZsb3cgdXAgdG8gYSBwYXJlbnQuCiAgICAgaWYgKGNoaWxkLT5pc1JlbmRl
ckZyYWdtZW50ZWRGbG93KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDg4OGRlMzI4M2Y5MjYy
YzViZDIwZWYyNTk4OTYwZTRhNjhjMGU3MWYuLjE5OGJjODNhNjVkMGJiNjNhZTE5OGEzYjdjYmFh
MzIzZjllYTJiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcApAQCAtMjA5LDYgKzIwOSw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxP
YmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0SG9yaXpvbnRhbFdyaXRpbmdNb2RlKHN0
eWxlVG9Vc2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSk7CiAgICAgaWYgKHN0eWxlVG9Vc2Uu
aXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmlldygpLmZyYW1lVmlldygp
LnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKKyAgICBzZXRQYWludENvbnRhaW5t
ZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKTsKIH0KIAogc3Rh
dGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhjb25zdCBSZW5k
ZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwCmluZGV4IDFiMWIwMjFmZjQzZWJhM2RmYWQxYjkxZDM1ZDQ3NGE3NzY0YjdiMDAuLjE0MTA2
Yjc0ZDU1M2JlMWRmZTMzYTJmOWE4ZGY0YzdiOWQ4MTJjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJlbmRlckVsZW1lbnQpOwogCiBz
dHJ1Y3QgU2FtZVNpemVBc1JlbmRlckVsZW1lbnQgOiBwdWJsaWMgUmVuZGVyT2JqZWN0IHsKLSAg
ICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNTsKKyAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNjsK
ICAgICB2b2lkKiBmaXJzdENoaWxkOwogICAgIHZvaWQqIGxhc3RDaGlsZDsKICAgICBSZW5kZXJT
dHlsZSBzdHlsZTsKQEAgLTEyNCw2ICsxMjQsNyBAQCBpbmxpbmUgUmVuZGVyRWxlbWVudDo6UmVu
ZGVyRWxlbWVudChDb250YWluZXJOb2RlJiBlbGVtZW50T3JEb2N1bWVudCwgUmVuZGVyU3R5bAog
ICAgICwgbV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxlSW5WaWV3cG9ydENhbGxiYWNrKGZhbHNlKQog
ICAgICwgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlKHN0YXRpY19jYXN0PHVuc2lnbmVkPihWaXNp
YmxlSW5WaWV3cG9ydFN0YXRlOjpVbmtub3duKSkKICAgICAsIG1fZGlkQ29udHJpYnV0ZVRvVmlz
dWFsbHlOb25FbXB0eVBpeGVsQ291bnQoZmFsc2UpCisgICAgLCBtX3BhaW50Q29udGFpbm1lbnRB
cHBsaWVzKGZhbHNlKQogICAgICwgbV9maXJzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX2xhc3RD
aGlsZChudWxscHRyKQogICAgICwgbV9zdHlsZShXVEZNb3ZlKHN0eWxlKSkKQEAgLTIzMTQsNyAr
MjMxNSw3IEBAIHN0YXRpYyBSZW5kZXJPYmplY3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5j
bHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJC
bG9jaz4ocmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxl
cywgaWYgdGhlIG92ZXJmbG93IHNpemUgb2YgdGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUg
c3BlY2lmaWVkCiAgICAgICAgICAgICAvLyBoZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4
dCBhdXRvLXNpemluZy4KLSAgICAgICAgICAgIGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVy
Zmxvdzo6VmlzaWJsZQorICAgICAgICAgICAgaWYgKGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5k
ZXJlcikuZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKICAgICAgICAg
ICAgICAgICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+
KHJlbmRlcmVyKS5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIFJlbmRlck9iamVjdDo6T3ZlcmZsb3dIZWlnaHQ7CiAgICAgICAgIH0KQEAgLTI0MDQs
NCArMjQwNSwyMCBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnNldEJhY2tkcm9wUmVuZGVyZXIoUmVu
ZGVyQmxvY2tGbG93JiByZW5kZXJlcikKICAgICBlbnN1cmVSYXJlRGF0YSgpLmJhY2tkcm9wUmVu
ZGVyZXIgPSBtYWtlV2Vha1B0cihyZW5kZXJlcik7CiB9CiAKK092ZXJmbG93IFJlbmRlckVsZW1l
bnQ6OmVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1ggPSBz
dHlsZSgpLm92ZXJmbG93WCgpOworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpICYm
IG92ZXJmbG93WCA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93
OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9CisKK092ZXJmbG93IFJlbmRlckVsZW1l
bnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7CisgICAgYXV0byBvdmVyZmxvd1kgPSBz
dHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBwbGllcygpICYm
IG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAgICAgICAgcmV0dXJuIE92ZXJmbG93
OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1k7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDBhNTkzNDUyYTcwN2M1ODYyZDAzZGZiZWFiYTUy
ZWY2YWFlOTQ4NWEuLmUwYjM4ZTBiYTdkMzJhNjg0NzBmOTVjZGJiNmE1YmU5M2JmMGY0MzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtMjE1LDYgKzIxNSw5
IEBAIHB1YmxpYzoKICAgICBib29sIGRpZENvbnRpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50OyB9CiAgICAgdm9pZCBzZXREaWRDb250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQ
aXhlbENvdW50KCkgeyBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50
ID0gdHJ1ZTsgfQogCisgICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsg
cmV0dXJuIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXM7IH0KKyAgICB2b2lkIHNldFBhaW50Q29u
dGFpbm1lbnRBcHBsaWVzKGJvb2wgYikgeyBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzID0gYjsg
fQorCiAgICAgYm9vbCByZXBhaW50Rm9yUGF1c2VkSW1hZ2VBbmltYXRpb25zSWZOZWVkZWQoY29u
c3QgSW50UmVjdCYgdmlzaWJsZVJlY3QsIENhY2hlZEltYWdlJik7CiAgICAgYm9vbCBoYXNQYXVz
ZWRJbWFnZUFuaW1hdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2hhc1BhdXNlZEltYWdlQW5pbWF0
aW9uczsgfQogICAgIHZvaWQgc2V0SGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKGJvb2wgYikgeyBt
X2hhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyA9IGI7IH0KQEAgLTI2NSw2ICsyNjgsMTEgQEAgcHVi
bGljOgogCiAgICAgUmVmZXJlbmNlZFNWR1Jlc291cmNlcyYgZW5zdXJlUmVmZXJlbmNlZFNWR1Jl
c291cmNlcygpOwogCisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3Q7Cisg
ICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZm
ZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6IGVmZmVjdGl2
ZU92ZXJmbG93WSgpOyB9CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVj
dGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IGVmZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0KKwogcHJvdGVj
dGVkOgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdEZsYWcgID0gMSA8PCAwLApAQCAtMzg4LDYgKzM5Niw4IEBAIHByaXZhdGU6CiAKICAgICB1
bnNpZ25lZCBtX2RpZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50IDogMTsK
IAorICAgIHVuc2lnbmVkIG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMgOiAxOworCiAgICAgUmVu
ZGVyT2JqZWN0KiBtX2ZpcnN0Q2hpbGQ7CiAgICAgUmVuZGVyT2JqZWN0KiBtX2xhc3RDaGlsZDsK
IApAQCAtNDUzLDcgKzQ2Myw4IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRh
aW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIC8vIEZJWE1FOiB3aWxsLWNo
YW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcgYmxvY2tzIG9uIGlubGluZSBib3hlcyAoYnVn
IDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFu
Z2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0Zvck91
dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKLSAg
ICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcyk7CisgICAgICAgIHx8
IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFw
cGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIGlubGluZSBib29sIFJlbmRlckVsZW1l
bnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdApAQCAtNDY0
LDYgKzQ3NSw3IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0
ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygp
ICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVz
Q29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNT
VkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVu
dCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKQog
ICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMTA0NWQwOTZjNGQ2YmExZWJhYjgwMWVj
ZjQ5MjliODViMDI1Y2FkOS4uZGFhNTg5NzkzNDlhNWQ5ZWRkOTQyMDBmZjE2ZTljYjI4YWQ1NWJh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CkBAIC0xODA1LDE1ICsxODA1LDE1IEBAIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFz
SW50cmluc2ljTWFpbkF4aXNTaXplKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpCiBPdmVyZmxvdyBS
ZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRlckJv
eCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkKLSAgICAgICAg
cmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7Ci0gICAgcmV0dXJuIGNoaWxkLnN0eWxl
KCkub3ZlcmZsb3dZKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1go
KTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiB9CiAKIE92ZXJmbG93
IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkKGNvbnN0IFJlbmRl
ckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkKLSAgICAg
ICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7Ci0gICAgcmV0dXJuIGNoaWxkLnN0
eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxv
d1koKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7CiB9CiAKIGJvb2wg
UmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzUGVyY2VudEhlaWdodERlc2NlbmRhbnRzKGNvbnN0
IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRleCBhZmIyN2NjYTY3MWRlNmFi
ZjdhMzI5YjIxYzc4MTE3MDBjZjI5NTNlLi43OTcwZjJmZDc4MTM2NWU2NGMxNTFiNDNlMmMzMzdj
MDJlMmQ5Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJh
Z21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
cmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBAIExheW91dFJlY3QgUmVu
ZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93UG9ydGlv
bihjb25zdCBMCiAgICAgaWYgKG1fZnJhZ21lbnRlZEZsb3ctPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gaXNGaXJzdFBvcnRpb24gPyBmcmFn
bWVudGVkRmxvd092ZXJmbG93LnkoKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgpOwog
ICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBpc0xhc3RQb3J0aW9uID8gc3RkOjptYXgoZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WSgp
KSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpOwotICAgICAgICBib29sIGNsaXBY
ID0gc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICAgICAgYm9v
bCBjbGlwWCA9IGVmZmVjdGl2ZU92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlOwogICAg
ICAgICBMYXlvdXRVbml0IG1pblggPSBjbGlwWCA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qu
eCgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54KCksIGZyYWdtZW50ZWRG
bG93T3ZlcmZsb3cueCgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gY2xpcFggPyBmcmFn
bWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSA6IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9y
dGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFgoKSk7CiAgICAgICAg
IGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwgbWF4WSAtIG1p
blkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWCA9IGlzRmlyc3RQb3J0
aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25S
ZWN0LngoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6
bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJm
bG93Lm1heFgoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKTsKLSAgICAgICAg
Ym9vbCBjbGlwWSA9IHN0eWxlKCkub3ZlcmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7Cisg
ICAgICAgIGJvb2wgY2xpcFkgPSBlZmZlY3RpdmVPdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6Vmlz
aWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gY2xpcFkgPyBmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0LnkoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueSgpLCBm
cmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WSA9IGNs
aXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCkgOiBzdGQ6Om1heChmcmFnbWVu
dGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhZKCkpOwog
ICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAtIG1pblgsIG1h
eFkgLSBtaW5ZKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaAppbmRleCA1
NjY5ZDAzNGFjOWZiMzNhN2I4ZDMzZjZkNzAyYWYyY2IzNDQ3NWQyLi42ODViOGNiODhhMTExNTcw
MWY1NGE0OTYxNGYzMzgzOWJjMDU5ODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklubGluZS5oCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgbWF5QWZmZWN0
TGF5b3V0KCkgY29uc3Q7CiAKLSAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBoYXND
bGlwUGF0aCgpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkgfHwgaGFzUnVu
bmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CisgICAgYm9vbCByZXF1aXJlc0xheWVyKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dy
b3VwKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRo
aXMpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkgfHwgaGFzUnVubmluZ0Fj
Y2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CiAKIHByb3RlY3RlZDoKICAgICB2b2lkIHdpbGxCZURl
c3Ryb3llZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggMTBhMmJkMTVkZTM2ZDQ5NTY1ZTFkMDM3MGU4YjAyN2Y1MDY4NDkwMy4uOWZhOGJm
YWYwNTFjMWQ5YjA4MmFmOTY1NzBmNzg5YzczYWNhNzMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTUsNiArNTU1LDcgQEAgc3RhdGljIGJvb2wgY2Fu
Q3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAg
fHwgcmVuZGVyZXIuaXNQb3NpdGlvbmVkKCkgLy8gTm90ZSB0aGF0IHRoaXMgb25seSBjcmVhdGVz
IHN0YWNraW5nIGNvbnRleHQgaW4gY29uanVuY3Rpb24gd2l0aCBleHBsaWNpdCB6LWluZGV4Lgog
ICAgICAgICB8fCByZW5kZXJlci5oYXNSZWZsZWN0aW9uKCkKICAgICAgICAgfHwgcmVuZGVyZXIu
c3R5bGUoKS5oYXNJc29sYXRpb24oKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFp
bm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHlsZSgpLmhhc0F1dG9Vc2Vk
WkluZGV4KCkKICAgICAgICAgfHwgKHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpICYmIHJl
bmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpLT5jYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKSkK
ICAgICAgICAgfHwgbGF5ZXIuZXN0YWJsaXNoZXNUb3BMYXllcigpOwpAQCAtNTg2LDcgKzU4Nyw3
IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdAogCiBi
b29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4dCgpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKSB8fCBpc1Jl
bmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9V
c2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpIHx8
IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OnNldElzTm9ybWFs
Rmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpAQCAtMTA2OSw2ICsxMDcwLDExIEBAIExh
eW91dFJlY3QgUmVuZGVyTGF5ZXI6OnJlcGFpbnRSZWN0SW5jbHVkaW5nTm9uQ29tcG9zaXRpbmdE
ZXNjZW5kYW50cygpIGNvbnN0CiB2b2lkIFJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFz
U2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkKIHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBs
YXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5wYXJlbnQoKSkgeworICAgICAgICBp
ZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpKSB7CisgICAgICAgICAg
ICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCA9IHRydWU7CisgICAgICAgICAgICBt
X2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERpcnR5ID0gZmFsc2U7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBpZiAoIWxheWVyLT5tX2hhc1NlbGZQYWludGlu
Z0xheWVyRGVzY2VuZGFudERpcnR5ICYmIGxheWVyLT5oYXNTZWxmUGFpbnRpbmdMYXllckRlc2Nl
bmRhbnQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC0xNDcwLDYgKzE0NzYsMTEgQEAgdm9p
ZCBSZW5kZXJMYXllcjo6ZGlydHlBbmNlc3RvckNoYWluVmlzaWJsZURlc2NlbmRhbnRTdGF0dXMo
KQogdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0b3JDaGFpbkhhc1Zpc2libGVEZXNjZW5kYW50
KCkKIHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9
IGxheWVyLT5wYXJlbnQoKSkgeworICAgICAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KHJlbmRlcmVyKCkpKSB7CisgICAgICAgICAgICBtX2hhc1Zpc2libGVEZXNjZW5kYW50ID0g
dHJ1ZTsKKyAgICAgICAgICAgIG1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSA9IGZhbHNl
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFsYXllci0+bV92
aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5ICYmIGxheWVyLT5oYXNWaXNpYmxlRGVzY2VuZGFu
dCgpKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTQ1MDYsNiArNDUxNywxMCBAQCB2b2lkIFJl
bmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xp
cFJlY3RzQ29udGV4dCwgQwogICAgICAgICAgICAgY2xpcFJlY3RzLnNldE92ZXJmbG93Q2xpcFJl
Y3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJl
Y3QoKSkpOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3NpdGlvbmVkKCkpCiAgICAg
ICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVy
Zmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CisgICAgICAgICAgICBpZiAoc2hv
dWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpKSB7CisgICAgICAgICAgICAgICAg
Y2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNs
aXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CisgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldEZp
eGVkQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLmZpeGVk
Q2xpcFJlY3QoKSkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmIChyZW5k
ZXJlcigpLmhhc0NsaXAoKSkgewogICAgICAgICAgICAgTGF5b3V0UmVjdCBuZXdQb3NDbGlwID0g
ZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5jbGlwUmVjdChvZmZzZXQsIG51bGxwdHIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA3MDcxMTM4
MGIyNGI5OWZlMTdiNjVmNDllNGIxMWU3MWFiZjViMWJiLi42YjY1YzFiMTc4Njg4ZTM1MTAyYjQ2
NmEzNWZmODA2NDM5NmY2MDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcApAQCAtMjU0MywzICsyNTQzLDkgQEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVNp
emVDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogewog
ICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zU2l6ZSgpICYmICghcmVuZGVyZXIu
aXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5k
ZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVy
LmlzVGFibGVDYXB0aW9uKCkpICYmICFyZW5kZXJlci5pc1RhYmxlKCk7CiB9CisKK2Jvb2wgV2Vi
Q29yZTo6c2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9i
amVjdCYgcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNQ
YWludCgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGlu
ZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1Rh
YmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpOworfQorCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggZjNjNGU5MTg5MmRkMTIzMzA2MDc0
MGE4OGUzNGI4Mjk1M2I3M2QzNi4uYzI0N2JlOTYxODBjNjJhMTEzMWZiYmUxNzNmMjE1NmJhNTE0
Y2VlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMTIwNyw2
ICsxMjA3LDcgQEAgdm9pZCBwcmludEdyYXBoaWNzTGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygp
OwogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0
Jik7CiBib29sIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYp
OworYm9vbCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCBiZmIxZDUxM2ZlMTczNjE0MjM3NWNmNmNkYzA2ZjU1
YWQ1NGU3ZjkwLi5jZDMxMzJmZjE4ZGZiZWQ5YjFiYTg4OTA1M2ViNTA3ODg4YTMzM2ExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMzMwLDgg
KzMzMCw2IEBAIHB1YmxpYzoKICAgICAKICAgICBPdmVyZmxvdyBvdmVyZmxvd1goKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4obV9ub25Jbmhlcml0ZWRGbGFncy5vdmVyZmxv
d1gpOyB9CiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mub3ZlcmZsb3dZKTsgfQotICAgIE92ZXJm
bG93IG92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WCgpIDogb3ZlcmZsb3dZKCk7IH0KLSAgICBPdmVyZmxv
dyBvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IG92ZXJmbG93WSgpIDogb3ZlcmZsb3dYKCk7IH0KICAgICBib29sIGlzT3Zl
cmZsb3dWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gb3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUgfHwgb3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGU7IH0KIAogICAgIE92ZXJz
Y3JvbGxCZWhhdmlvciBvdmVyc2Nyb2xsQmVoYXZpb3JYKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8T3ZlcnNjcm9sbEJlaGF2aW9yPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5vdmVyc2Ny
b2xsQmVoYXZpb3JYKTsgfQpAQCAtNTI4LDYgKzUyNiw3IEBAIHB1YmxpYzoKICAgICBPcHRpb25T
ZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluOyB9CiAgICAgYm9vbCBjb250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6
OkxheW91dCk7IH0KICAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9
CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6UGFpbnQpOyB9CiAgICAgQm94
QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25t
ZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWdu
KTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQog
ICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGRkNGYyMWU0MDVmZTk5ZGM5MjhmMjJh
ZWJkNjE1MTMxMzNlMjNmZjQuLmYxNzYxMTM4ZmFjOGM1MTU5YmI5ZDlhZGQ4NzRjODNjYmM5OGU5
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cApAQCAtMjE0LDcgKzIxNCw3IEBAIGJvb2wgUmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3
cG9ydENsaXAoKSBjb25zdAogICAgIC8vIHRoZSBvdXRlcm1vc3Qgc3ZnIGlzIGNsaXBwZWQgaWYg
YXV0bywgYW5kIHN2ZyBkb2N1bWVudCByb290cyBhcmUgYWx3YXlzIGNsaXBwZWQKICAgICAvLyBX
aGVuIHRoZSBzdmcgaXMgc3RhbmQtYWxvbmUgKGlzRG9jdW1lbnRFbGVtZW50KCkgPT0gdHJ1ZSkg
dGhlIHZpZXdwb3J0IGNsaXBwaW5nIHNob3VsZCBhbHdheXMKICAgICAvLyBiZSBhcHBsaWVkLCBu
b3RpbmcgdGhhdCB0aGUgd2luZG93IHNjcm9sbGJhcnMgc2hvdWxkIGJlIGhpZGRlbiBpZiBvdmVy
Zmxvdz1oaWRkZW4uCi0gICAgcmV0dXJuIHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OkhpZGRlbgorICAgIHJldHVybiBlZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlk
ZGVuCiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkF1dG8KICAg
ICAgICAgfHwgc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6U2Nyb2xsCiAgICAgICAg
IHx8IHRoaXMtPmlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvZHJpdmVyLnB5CmluZGV4IDY1NjhmZmE3MTQ3ZGI3Y2U0OGVmZTkyYTA2MTY3ODBiMmUz
ZDI1ODQuLjE2YTU2NmI5N2U3MGU2MzIzMTk1ZWQ1ODI2MDVkYzlmYjEwYjEyNWYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2RyaXZlci5weQpAQCAtNDQ1LDcgKzQ0NSw3IEBAIGNsYXNzIERy
aXZlcihvYmplY3QpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZW52aXJvbm1lbnRbJ0RV
TVBSRU5ERVJUUkVFX1RFTVAnXSA9IHN0cihzZWxmLl9kcml2ZXJfdGVtcGRpcikKICAgICAgICAg
ZW52aXJvbm1lbnRbJ0xPQ0FMX1JFU09VUkNFX1JPT1QnXSA9IHN0cihzZWxmLl9wb3J0LmxheW91
dF90ZXN0c19kaXIoKSkKLSAgICAgICAgZW52aXJvbm1lbnRbJ0FTQU5fT1BUSU9OUyddID0gImFs
bG9jYXRvcl9tYXlfcmV0dXJuX251bGw9MSIKKyAgICAgICAgZW52aXJvbm1lbnRbJ0FTQU5fT1BU
SU9OUyddID0gImFsbG9jYXRvcl9tYXlfcmV0dXJuX251bGw9MSBkZXRlY3Rfb2RyX3Zpb2xhdGlv
bj0wIgogICAgICAgICBlbnZpcm9ubWVudFsnX19YUENfQVNBTl9PUFRJT05TJ10gPSBlbnZpcm9u
bWVudFsnQVNBTl9PUFRJT05TJ10KIAogICAgICAgICAjIERpc2FibGUgdm5vZGUtZ3VhcmQgcmVs
YXRlZCBzaW11bGF0ZWQgY3Jhc2hlcyBmb3IgV0tUUiAvIERSVCAocmRhcjovL3Byb2JsZW0vNDA2
NzQwMzQpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDU3YmZkYzJjNTk4YjExYTJlN2YzYTQ5OTgzYjdlNDNlNGNjNTI4NzYu
LjUwYTYxODlkYTdjMTFjMTRhNDM2YTcwZGU0OTg5NDdhMmI4NzBkNjIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMS0wOS0xNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhhdCBwYXNzIG5v
dy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDktMTUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgSURMIHNr
ZWxldG9uIGZvciBTaGFyZWRXb3JrZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDhhM2JiNzIzZDNjZWYwMzA3YTdiZjQyM2M4NDEyMTEwZTk3YzM0OTUuLjRmMDg5ZjZiODYwOGI0
Yzk4NDE3NDQzOGEyODI4ODdiZTRlZDIxN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE2ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46cGFpbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkanVzdCB0ZXN0IGV4
cGVjdGF0aW9uIG5vdyB0aGF0IGNvbnRhaW46IHN0cmljdCBpcyBzdXBwb3J0ZWQuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlu
cy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5LTE1ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIElETCBza2VsZXRvbiBmb3Ig
U2hhcmVkV29ya2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MWY2ZDM2NjY3NjdhNjRhNDM4Njg2
ZDgyNjI3N2Q0MWEzYjU3NmFhLi42NTIyOWU2N2Q4ODNjNzg1MWJmYWYzNTdmMDM2MjI1ZmNhY2M0
Mjg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTUwMTcsNiArNTAxNywxMCBAQCB3ZWJhbmltYXRp
b25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1hbmQtdHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5
LW9uLWZvcmNlZC1sYQogIyBDU1MgY29udGFpbm1lbnQgdGVzdHMgdGhhdCBmYWlsCiAjIHdlYmtp
dC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAw
NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAw
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC01MDMxLDQ5ICs1MDM1LDkgQEAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWIKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDIyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA5Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE5Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDQ3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ4Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jZWxsLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNsaXAtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKyMgY29udGFp
bi1wYWludC1jbGlwLTAxNS5odG1sIGFuZCBjb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgbmVl
ZCBmdXp6eSBtYXRjaGluZy4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE3
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTguaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNvbnRhaW5pbmctYmxvY2stYWJzb2x1dGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY29udGFpbmluZy1ibG9jay1maXhlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1mb3JtYXR0aW5nLWNvbnRleHQtZmxvYXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LW1hcmdpbi0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1pZmMtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
aW5kZXBlbmRlbnQtZm9ybWF0dGluZy1jb250ZXh0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LXNpemUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0w
MDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAxYS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3Ry
aWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94
L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4
NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNm
OTk1MmE3MjJiMmRlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3Qt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE3ICsxLDEzIEBACiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29s
dW1uCiAKIFJvdwogRmxleC1zdGFydDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439604</attachid>
            <date>2021-09-29 07:01:04 -0700</date>
            <delta_ts>2021-10-25 08:22:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20210929150103.patch</filename>
            <type>text/plain</type>
            <size>36977</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2UxYWE3NDM2Njc4OGE1
NzNkOGJmYWQ4MDVhMTVkMDY4YWZjYTM4Yy4uZGJjODU5NWM5YjliN2EzNTkxZjAzMzZhZTAxMzFh
YTkxMDEyMDU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTA5LTI5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVT
dGFja2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJl
Q1NTU3RhY2tpbmdDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzZXRBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2Nl
bmRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0
cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2Nr
RGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBw
bHlWaWV3cG9ydENsaXAgY29uc3QpOgorCiAyMDIxLTA5LTI3ICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgb3ZlcnJpZGUtY29sb3IgaGFzIGJlZW4g
cmVuYW1lZCB0byBvdmVycmlkZS1jb2xvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRl
eCAxODc3ZGNmMTE2ZmFiMzY4MWQ2YmNkNjk5OTc0NTAwYTRhMWQ5NmQwLi5jN2QyMDY5ZDcwYTRi
NzkzZDVmODYzNGI5MGY0NmMwOTZiMGYyNWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CkBAIC02MzUsOCArNjM1LDggQEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdw
b3J0KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBTY3JvbGxiYXIKIAogICAgIGJvb2wg
b3ZlcnJpZGVIaWRkZW4gPSBmcmFtZSgpLmlzTWFpbkZyYW1lKCkgJiYgKChmcmFtZSgpLmZyYW1l
U2NhbGVGYWN0b3IoKSA+IDEpIHx8IGhlYWRlckhlaWdodCgpIHx8IGZvb3RlckhlaWdodCgpKTsK
IAotICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dYKCk7
Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1koKTsK
KyAgICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5lZmZlY3RpdmVPdmVyZmxvd1goKTsK
KyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5lZmZlY3RpdmVPdmVyZmxvd1koKTsK
IAogICAgIGlmIChpczxSZW5kZXJTVkdSb290PihyZW5kZXJlcikpIHsKICAgICAgICAgLy8gRklY
TUU6IGV2YWx1YXRlIGlmIHdlIGNhbiBhbGxvdyBvdmVyZmxvdyBmb3IgdGhlc2UgY2FzZXMgdG9v
LgpAQCAtNzAwLDEyICs3MDAsMTIgQEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5UGFnaW5hdGlvblRv
Vmlld3BvcnQoKQogCiAgICAgYXV0byogYm9keSA9IGRvY3VtZW50LT5ib2R5KCk7CiAgICAgaWYg
KGJvZHkgJiYgYm9keS0+cmVuZGVyZXIoKSkgewotICAgICAgICBkb2N1bWVudE9yQm9keVJlbmRl
cmVyID0gZG9jdW1lbnRSZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpW
aXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50RWxlbWVudCkgPworICAgICAg
ICBkb2N1bWVudE9yQm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5kZXJlci5lZmZlY3RpdmVPdmVy
Zmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1
bWVudEVsZW1lbnQpID8KICAgICAgICAgICAgIGJvZHktPnJlbmRlcmVyKCkgOiAmZG9jdW1lbnRS
ZW5kZXJlcjsKICAgICB9CiAKICAgICBQYWdpbmF0aW9uIHBhZ2luYXRpb247Ci0gICAgT3ZlcmZs
b3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxvd1ko
KTsKKyAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5lZmZl
Y3RpdmVPdmVyZmxvd1koKTsKICAgICBpZiAob3ZlcmZsb3dZID09IE92ZXJmbG93OjpQYWdlZFgg
fHwgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpQYWdlZFkpIHsKICAgICAgICAgcGFnaW5hdGlvbi5t
b2RlID0gV2ViQ29yZTo6cGFnaW5hdGlvbk1vZGVGb3JSZW5kZXJTdHlsZShkb2N1bWVudE9yQm9k
eVJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgR2FwTGVuZ3RoIGNvbHVtbkdhcExlbmd0aCA9
IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkuY29sdW1uR2FwKCk7CkBAIC03NjcsNyAr
NzY3LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0
KFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTY3JvbGxiYXIKICAgICBpZiAoaXM8SFRNTEJvZHlFbGVt
ZW50PigqYm9keU9yRnJhbWVzZXQpICYmIHJvb3RSZW5kZXJlcikgewogICAgICAgICAvLyBJdCdz
IHN1ZmZpY2llbnQgdG8ganVzdCBjaGVjayB0aGUgWCBvdmVyZmxvdywKICAgICAgICAgLy8gc2lu
Y2UgaXQncyBpbGxlZ2FsIHRvIGhhdmUgdmlzaWJsZSBpbiBvbmx5IG9uZSBkaXJlY3Rpb24uCi0g
ICAgICAgIGlmIChyb290UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CisgICAg
ICAgIGlmIChyb290UmVuZGVyZXItPmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpW
aXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkgewogICAgICAg
ICAgICAgYXV0byogYm9keVJlbmRlcmVyID0gYm9keU9yRnJhbWVzZXQtPnJlbmRlcmVyKCk7CiAg
ICAgICAgICAgICBpZiAoYm9keVJlbmRlcmVyKSB7CiAgICAgICAgICAgICAgICAgYXBwbHlPdmVy
Zmxvd1RvVmlld3BvcnQoKmJvZHlSZW5kZXJlciwgaE1vZGUsIHZNb2RlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKaW5k
ZXggOTE0NjFmODM5NDFkODQ0NTM0MzFlMzdiMjBlMGQ0YmJlMWJiOTJjMy4uNTBhODgzNjViNzlh
ODZhYTMxOTRkOTFiMjFhMmE4NDQ1ZmM3NzY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTgwNSw3ICs4MDUs
NyBAQCBMYXlvdXRVbml0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobVN0cmF0ZWd5OjptaW5TaXpl
Rm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCkgYwogICAgICAgICByZXR1cm4gbWluQ29udGVudEZv
ckNoaWxkKGNoaWxkKTsKIAogICAgIGNvbnN0IExlbmd0aCYgY2hpbGRNaW5TaXplID0gaXNSb3dB
eGlzID8gY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKSA6IGNoaWxkLnN0eWxlKCkubG9n
aWNhbE1pbkhlaWdodCgpOwotICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMg
PyBjaGlsZC5zdHlsZSgpLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUgOiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZTsKKyAgICBib29sIG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dBeGlzID8gY2hp
bGQuZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSA6IGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZTsKICAgICBMYXlvdXRVbml0IGJhc2VsaW5lU2hpbSA9IG1fYWxnb3JpdGhtLmJhc2Vs
aW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQsIGdyaWRBeGlzRm9yRGlyZWN0aW9uKGRpcmVjdGlvbigp
KSk7CiAKICAgICBpZiAoY2hpbGRNaW5TaXplLmlzQXV0bygpICYmIG92ZXJmbG93SXNWaXNpYmxl
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGEwYzIyZGQzN2Nj
ZTVhMjRjNjEyYTEzOTViZDA1YWZjOTcwN2MxZTMuLjM1NGIyNmVmOTUyNTVhOTVlYTYxMDUyMzRm
MGVhZDAzMjM0Y2I3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC00ODEsNyArNDgxLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAg
c2V0RmxvYXRpbmcoIWlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmIHN0eWxlVG9Vc2UuaXNGbG9h
dGluZygpKTsKIAogICAgIC8vIFdlIGFsc28gaGFuZGxlIDxib2R5PiBhbmQgPGh0bWw+LCB3aG9z
ZSBvdmVyZmxvdyBhcHBsaWVzIHRvIHRoZSB2aWV3cG9ydC4KLSAgICBpZiAoIShzdHlsZVRvVXNl
Lm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dZ
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1Jl
bmRlckJsb2NrKCkpIHsKKyAgICBpZiAoIShlZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZSAmJiBlZmZlY3RpdmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkg
JiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxvY2soKSkgewogICAgICAgICBi
b29sIGJveEhhc05vblZpc2libGVPdmVyZmxvdyA9IHRydWU7CiAgICAgICAgIGlmIChpc0JvZHko
KSkgewogICAgICAgICAgICAgLy8gT3ZlcmZsb3cgb24gdGhlIGJvZHkgY2FuIHByb3BhZ2F0ZSB0
byB0aGUgdmlld3BvcnQgdW5kZXIgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zLgpAQCAtNDkwLDcg
KzQ5MCw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgICAgICAgICAg
Ly8gKDMpIFRoZSByb290IGVsZW1lbnQgaGFzIHZpc2libGUgb3ZlcmZsb3cuCiAgICAgICAgICAg
ICBpZiAoaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkK
ICAgICAgICAgICAgICAgICAmJiBkb2N1bWVudCgpLmJvZHkoKSA9PSBlbGVtZW50KCkKLSAgICAg
ICAgICAgICAgICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5z
dHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgICAgICAgICAg
ICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+ZWZmZWN0aXZl
T3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgICAgICAgICBib3hI
YXNOb25WaXNpYmxlT3ZlcmZsb3cgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpA
QCAtNjYwLDcgKzY2MCw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2Fs
V2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsCiAgICAgaWYgKGFsbG93
SW50cmluc2ljID09IEFsbG93SW50cmluc2ljOjpObyAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5X
aWR0aCgpLmlzSW50cmluc2ljKCkpCiAgICAgICAgIHJldHVybiBsb2dpY2FsV2lkdGg7CiAgICAg
YXV0byBtaW5MZW5ndGggPSBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpOwotICAgIGlmIChz
dHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygpICYmIChzdHls
ZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRo
KCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRl
bnQoKSkgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93
OjpWaXNpYmxlKSB7CisgICAgaWYgKHN0eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5M
ZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwg
c3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxv
Z2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAmJiBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURp
cmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSB3
ZSBhY3R1YWxseSB1c2VkIHRoZSBhc3BlY3QgcmF0aW8uCiAgICAgICAgIGlmIChzaG91bGRDb21w
dXRlTG9naWNhbFdpZHRoRnJvbUFzcGVjdFJhdGlvKCkpCiAgICAgICAgICAgICBtaW5MZW5ndGgg
PSBMZW5ndGgoTGVuZ3RoVHlwZTo6TWluQ29udGVudCk7CkBAIC02NzYsNyArNjc2LDcgQEAgTGF5
b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heChMYXlvdXRV
bml0IGxvZ2ljYWxIZWlnaHQsIHMKICAgICAgICAgICAgIGxvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1p
bihsb2dpY2FsSGVpZ2h0LCBtYXhILnZhbHVlKCkpOwogICAgIH0KICAgICBhdXRvIGxvZ2ljYWxN
aW5IZWlnaHQgPSBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5IZWlnaHQoKTsKLSAgICBpZiAobG9naWNh
bE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRlTG9naWNhbEhlaWdodEZyb21Bc3Bl
Y3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQgJiYgc3R5bGVUb1VzZS5vdmVyZmxv
d0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICBpZiAobG9naWNh
bE1pbkhlaWdodC5pc0F1dG8oKSAmJiBzaG91bGRDb21wdXRlTG9naWNhbEhlaWdodEZyb21Bc3Bl
Y3RSYXRpbygpICYmIGludHJpbnNpY0NvbnRlbnRIZWlnaHQgJiYgZWZmZWN0aXZlT3ZlcmZsb3dC
bG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAgIGF1dG8gaGVp
Z2h0RnJvbUFzcGVjdFJhdGlvID0gYmxvY2tTaXplRnJvbUFzcGVjdFJhdGlvKGhvcml6b250YWxC
b3JkZXJBbmRQYWRkaW5nRXh0ZW50KCksIHZlcnRpY2FsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgp
LCBMYXlvdXRVbml0KHN0eWxlKCkubG9naWNhbEFzcGVjdFJhdGlvKCkpLCBzdHlsZSgpLmJveFNp
emluZ0ZvckFzcGVjdFJhdGlvKCksIGxvZ2ljYWxXaWR0aCgpKSAtIGJvcmRlckFuZFBhZGRpbmdM
b2dpY2FsSGVpZ2h0KCk7CiAgICAgICAgIGlmIChmaXJzdENoaWxkKCkpCiAgICAgICAgICAgICBo
ZWlnaHRGcm9tQXNwZWN0UmF0aW8gPSBzdGQ6Om1heChoZWlnaHRGcm9tQXNwZWN0UmF0aW8sICpp
bnRyaW5zaWNDb250ZW50SGVpZ2h0KTsKQEAgLTQ4NDQsNyArNDg0NCw3IEBAIGJvb2wgUmVuZGVy
Qm94OjpjcmVhdGVzTmV3Rm9ybWF0dGluZ0NvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiBp
c0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpIHx8IGlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0
aW9uZWQoKSB8fCBoYXNQb3RlbnRpYWxseVNjcm9sbGFibGVPdmVyZmxvdygpIHx8IGlzRmxleEl0
ZW1JbmNsdWRpbmdEZXByZWNhdGVkKCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc1Rh
YmxlQ2FwdGlvbigpIHx8IGlzRmllbGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8IGlz
RG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSB8fCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkKLSAg
ICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHls
ZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5T
cGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290Owor
ICAgICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgcGFpbnRDb250YWlubWVudEFw
cGxpZXMoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwg
c3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxh
eSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKIH0KIAogYm9vbCBSZW5kZXJCb3g6OmF2b2lk
c0Zsb2F0cygpIGNvbnN0CkBAIC00OTEyLDYgKzQ5MTIsOCBAQCBMYXlvdXRSZWN0IFJlbmRlckJv
eDo6YXBwbHlWaXN1YWxFZmZlY3RPdmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0JiBib3JkZXJCb3gp
IGNvbgogCiB2b2lkIFJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoY29uc3QgUmVuZGVy
Qm94KiBjaGlsZCwgY29uc3QgTGF5b3V0U2l6ZSYgZGVsdGEpCiB7CisgICAgaWYgKHBhaW50Q29u
dGFpbm1lbnRBcHBsaWVzKCkpCisgICAgICAgIHJldHVybjsKICAgICAvLyBOZXZlciBhbGxvdyBm
bG93IHRocmVhZHMgdG8gcHJvcGFnYXRlIG92ZXJmbG93IHVwIHRvIGEgcGFyZW50LgogICAgIGlm
IChjaGlsZC0+aXNSZW5kZXJGcmFnbWVudGVkRmxvdygpKQogICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCBjMTNjMGM2ZWUwZGViMTE0MjA3YTA1NTY1NDMzNjg1NDk3OTU2NGMwLi4yZjc4ZTY2NWQ3NWYy
YjQyYzQ5OWYxZDI4NTBiYjZhNzY1NDc0MGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTIwOSw2ICsyMDksNyBAQCB2b2lk
IFJlbmRlckJveE1vZGVsT2JqZWN0Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEhvcml6b250
YWxXcml0aW5nTW9kZShzdHlsZVRvVXNlLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpOwogICAg
IGlmIChzdHlsZVRvVXNlLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZp
ZXcoKS5mcmFtZVZpZXcoKS5zZXRIYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CisgICAg
c2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0
aGlzKSk7CiB9CiAKIHN0YXRpYyBMYXlvdXRTaXplIGFjY3VtdWxhdGVJbkZsb3dQb3NpdGlvbk9m
ZnNldHMoY29uc3QgUmVuZGVyT2JqZWN0KiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCA1ZDM1NjE4ZDcwZjUxNzNmNGYzNWM2MThhYzE1YzU1
MTUyY2MzNzQwLi43MDU3YmU2NjkxZTJlYTMzOGEyM2JkOTZmZmZhNzQ5YmYyYzk5MjZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC05Niw3ICs5Niw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5k
ZXJFbGVtZW50KTsKIAogc3RydWN0IFNhbWVTaXplQXNSZW5kZXJFbGVtZW50IDogcHVibGljIFJl
bmRlck9iamVjdCB7Ci0gICAgdW5zaWduZWQgYml0ZmllbGRzIDogMjU7CisgICAgdW5zaWduZWQg
Yml0ZmllbGRzIDogMjY7CiAgICAgdm9pZCogZmlyc3RDaGlsZDsKICAgICB2b2lkKiBsYXN0Q2hp
bGQ7CiAgICAgUmVuZGVyU3R5bGUgc3R5bGU7CkBAIC0xMjQsNiArMTI0LDcgQEAgaW5saW5lIFJl
bmRlckVsZW1lbnQ6OlJlbmRlckVsZW1lbnQoQ29udGFpbmVyTm9kZSYgZWxlbWVudE9yRG9jdW1l
bnQsIFJlbmRlclN0eWwKICAgICAsIG1faXNSZWdpc3RlcmVkRm9yVmlzaWJsZUluVmlld3BvcnRD
YWxsYmFjayhmYWxzZSkKICAgICAsIG1fdmlzaWJsZUluVmlld3BvcnRTdGF0ZShzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oVmlzaWJsZUluVmlld3BvcnRTdGF0ZTo6VW5rbm93bikpCiAgICAgLCBtX2Rp
ZENvbnRyaWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhlbENvdW50KGZhbHNlKQorICAgICwgbV9w
YWludENvbnRhaW5tZW50QXBwbGllcyhmYWxzZSkKICAgICAsIG1fZmlyc3RDaGlsZChudWxscHRy
KQogICAgICwgbV9sYXN0Q2hpbGQobnVsbHB0cikKICAgICAsIG1fc3R5bGUoV1RGTW92ZShzdHls
ZSkpCkBAIC0yMzEzLDcgKzIzMTQsNyBAQCBzdGF0aWMgUmVuZGVyT2JqZWN0OjpCbG9ja0NvbnRl
bnRIZWlnaHRUeXBlIGluY2x1ZGVOb25GaXhlZEhlaWdodChjb25zdCBSZW5kZXJPYgogICAgICAg
ICBpZiAoaXM8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKSkgewogICAgICAgICAgICAgLy8gRm9yIGZp
eGVkIGhlaWdodCBzdHlsZXMsIGlmIHRoZSBvdmVyZmxvdyBzaXplIG9mIHRoZSBlbGVtZW50IHNw
aWxscyBvdXQgb2YgdGhlIHNwZWNpZmllZAogICAgICAgICAgICAgLy8gaGVpZ2h0LCBhc3N1bWUg
d2UgY2FuIGFwcGx5IHRleHQgYXV0by1zaXppbmcuCi0gICAgICAgICAgICBpZiAoc3R5bGUub3Zl
cmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKKyAgICAgICAgICAgIGlmIChkb3duY2FzdDxS
ZW5kZXJCbG9jaz4ocmVuZGVyZXIpLmVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpW
aXNpYmxlCiAgICAgICAgICAgICAgICAgJiYgc3R5bGUuaGVpZ2h0KCkudmFsdWUoKSA8IGRvd25j
YXN0PFJlbmRlckJsb2NrPihyZW5kZXJlcikubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBSZW5kZXJPYmplY3Q6Ok92ZXJmbG93SGVpZ2h0OwogICAg
ICAgICB9CkBAIC0yNDAzLDQgKzI0MDQsMjAgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpzZXRCYWNr
ZHJvcFJlbmRlcmVyKFJlbmRlckJsb2NrRmxvdyYgcmVuZGVyZXIpCiAgICAgZW5zdXJlUmFyZURh
dGEoKS5iYWNrZHJvcFJlbmRlcmVyID0gbWFrZVdlYWtQdHIocmVuZGVyZXIpOwogfQogCitPdmVy
ZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1
dG8gb3ZlcmZsb3dYID0gc3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAocGFpbnRDb250YWlu
bWVudEFwcGxpZXMoKSAmJiBvdmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAg
IHJldHVybiBPdmVyZmxvdzo6Q2xpcDsKKyAgICByZXR1cm4gb3ZlcmZsb3dYOworfQorCitPdmVy
ZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdAoreworICAgIGF1
dG8gb3ZlcmZsb3dZID0gc3R5bGUoKS5vdmVyZmxvd1koKTsKKyAgICBpZiAocGFpbnRDb250YWlu
bWVudEFwcGxpZXMoKSAmJiBvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAg
IHJldHVybiBPdmVyZmxvdzo6Q2xpcDsKKyAgICByZXR1cm4gb3ZlcmZsb3dZOworfQorCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCAyMTkwMTRjYWNjNTQx
MWM4ZWU2NWJiNTBkNThhZTBkOTE5MWFlZTYzLi4zYjAyYzhmYzA5MzUwZjM4YWVmNmQxYWZlMDIz
M2M3NDMyOGMwYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgK
QEAgLTIxOCw2ICsyMTgsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBkaWRDb250aWJ1dGVUb1Zpc3Vh
bGx5Tm9uRW1wdHlQaXhlbENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9kaWRDb250cmlidXRlVG9W
aXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudDsgfQogICAgIHZvaWQgc2V0RGlkQ29udGlidXRlVG9W
aXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCgpIHsgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5v
bkVtcHR5UGl4ZWxDb3VudCA9IHRydWU7IH0KIAorICAgIGJvb2wgcGFpbnRDb250YWlubWVudEFw
cGxpZXMoKSBjb25zdCB7IHJldHVybiBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzOyB9CisgICAg
dm9pZCBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhib29sIGIpIHsgbV9wYWludENvbnRhaW5t
ZW50QXBwbGllcyA9IGI7IH0KKwogICAgIGJvb2wgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0
aW9uc0lmTmVlZGVkKGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBDYWNoZWRJbWFnZSYpOwog
ICAgIGJvb2wgaGFzUGF1c2VkSW1hZ2VBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQ
YXVzZWRJbWFnZUFuaW1hdGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1BhdXNlZEltYWdlQW5pbWF0
aW9ucyhib29sIGIpIHsgbV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMgPSBiOyB9CkBAIC0yNjgs
NiArMjcxLDExIEBAIHB1YmxpYzoKIAogICAgIFJlZmVyZW5jZWRTVkdSZXNvdXJjZXMmIGVuc3Vy
ZVJlZmVyZW5jZWRTVkdSZXNvdXJjZXMoKTsKIAorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJm
bG93WCgpIGNvbnN0OworICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Owor
ICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZs
b3dYKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1koKTsgfQorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92
ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1koKSA6IGVmZmVjdGl2ZU92ZXJmbG93
WCgpOyB9CisKIHByb3RlY3RlZDoKICAgICBlbnVtIEJhc2VUeXBlRmxhZyB7CiAgICAgICAgIFJl
bmRlckxheWVyTW9kZWxPYmplY3RGbGFnICA9IDEgPDwgMCwKQEAgLTM5MSw2ICszOTksOCBAQCBw
cml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5
UGl4ZWxDb3VudCA6IDE7CiAKKyAgICB1bnNpZ25lZCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVz
IDogMTsKKwogICAgIFJlbmRlck9iamVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVj
dCogbV9sYXN0Q2hpbGQ7CiAKQEAgLTQ1Niw3ICs0NjYsOCBAQCBpbmxpbmUgYm9vbCBSZW5kZXJF
bGVtZW50OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICAv
LyBGSVhNRTogd2lsbC1jaGFuZ2Ugc2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2NrcyBvbiBp
bmxpbmUgYm94ZXMgKGJ1ZyAyMjUwMzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYg
c3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250
YWluaW5nQmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9y
ZWlnbk9iamVjdCgpCi0gICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRo
aXMpOworICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAg
ICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBpbmxpbmUg
Ym9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3Rz
KCkgY29uc3QKQEAgLTQ2Nyw2ICs0NzgsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50Ojpj
YW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwg
KGlzUmVuZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxD
aGFuZ2UoKS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlbHlQb3NpdGlvbmVkKCkp
CiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5
TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250
YWlubWVudCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDEwNDVkMDk2
YzRkNmJhMWViYWI4MDFlY2Y0OTI5Yjg1YjAyNWNhZDkuLmRhYTU4OTc5MzQ5YTVkOWVkZDk0MjAw
ZmYxNmU5Y2IyOGFkNTViYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcApAQCAtMTgwNSwxNSArMTgwNSwxNSBAQCBib29sIFJlbmRlckZsZXhp
YmxlQm94OjpjaGlsZEhhc0ludHJpbnNpY01haW5BeGlzU2l6ZShjb25zdCBSZW5kZXJCb3gmIGNo
aWxkKQogT3ZlcmZsb3cgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzT3ZlcmZsb3dGb3JDaGls
ZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxG
bG93KCkpCi0gICAgICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOwotICAgIHJl
dHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZm
ZWN0aXZlT3ZlcmZsb3dYKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgp
OwogfQogCiBPdmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzT3ZlcmZsb3dGb3JD
aGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250
YWxGbG93KCkpCi0gICAgICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOwotICAg
IHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOworICAgICAgICByZXR1cm4gY2hpbGQu
ZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93
WCgpOwogfQogCiBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhhc1BlcmNlbnRIZWlnaHRE
ZXNjZW5kYW50cyhjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKaW5kZXgg
YWZiMjdjY2E2NzFkZTZhYmY3YTMyOWIyMWM3ODExNzAwY2YyOTUzZS4uNzk3MGYyZmQ3ODEzNjVl
NjRjMTUxYjQzZTJjMzM3YzAyZTJkOWNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCkBAIC0xNTcsMTQgKzE1NywxNCBA
QCBMYXlvdXRSZWN0IFJlbmRlckZyYWdtZW50Q29udGFpbmVyOjpvdmVyZmxvd1JlY3RGb3JGcmFn
bWVudGVkRmxvd1BvcnRpb24oY29uc3QgTAogICAgIGlmIChtX2ZyYWdtZW50ZWRGbG93LT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGlzRmly
c3RQb3J0aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy55KCkgOiBmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0LnkoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0gaXNMYXN0UG9ydGlvbiA/
IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpLCBmcmFnbWVudGVkRmxv
d092ZXJmbG93Lm1heFkoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKTsKLSAg
ICAgICAgYm9vbCBjbGlwWCA9IHN0eWxlKCkub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2li
bGU7CisgICAgICAgIGJvb2wgY2xpcFggPSBlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBPdmVyZmxv
dzo6VmlzaWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gY2xpcFggPyBmcmFnbWVudGVk
Rmxvd1BvcnRpb25SZWN0LngoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qu
eCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93LngoKSk7CiAgICAgICAgIExheW91dFVuaXQgbWF4
WCA9IGNsaXBYID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCkgOiBzdGQ6Om1heChm
cmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5t
YXhYKCkpOwogICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAt
IG1pblgsIG1heFkgLSBtaW5ZKTsKICAgICB9IGVsc2UgewogICAgICAgICBMYXlvdXRVbml0IG1p
blggPSBpc0ZpcnN0UG9ydGlvbiA/IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpIDogZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdC54KCk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGlzTGFz
dFBvcnRpb24gPyBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSwgZnJh
Z21lbnRlZEZsb3dPdmVyZmxvdy5tYXhYKCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5t
YXhYKCk7Ci0gICAgICAgIGJvb2wgY2xpcFkgPSBzdHlsZSgpLm92ZXJmbG93WSgpICE9IE92ZXJm
bG93OjpWaXNpYmxlOworICAgICAgICBib29sIGNsaXBZID0gZWZmZWN0aXZlT3ZlcmZsb3dZKCkg
IT0gT3ZlcmZsb3c6OlZpc2libGU7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGNsaXBZID8g
ZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0LnkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy55KCkpOwogICAgICAgICBMYXlv
dXRVbml0IG1heFkgPSBjbGlwWSA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpIDog
c3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCksIGZyYWdtZW50ZWRGbG93T3Zl
cmZsb3cubWF4WSgpKTsKICAgICAgICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblks
IG1heFggLSBtaW5YLCBtYXhZIC0gbWluWSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW5saW5lLmgKaW5kZXggNTY2OWQwMzRhYzlmYjMzYTdiOGQzM2Y2ZDcwMmFmMmNiMzQ0NzVkMi4u
Njg1YjhjYjg4YTExMTU3MDFmNTRhNDk2MTRmMzM4MzliYzA1OTg1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuaApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAKICAg
ICBib29sIG1heUFmZmVjdExheW91dCgpIGNvbnN0OwogCi0gICAgYm9vbCByZXF1aXJlc0xheWVy
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRl
c0dyb3VwKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29u
dGV4dCgpIHx8IGhhc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQorICAgIGJvb2wg
cmVxdWlyZXNMYXllcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzSW5GbG93UG9zaXRpb25l
ZCgpIHx8IGNyZWF0ZXNHcm91cCgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgc2hvdWxkQXBwbHlQYWlu
dENvbnRhaW5tZW50KCp0aGlzKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgp
IHx8IGhhc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQogCiBwcm90ZWN0ZWQ6CiAg
ICAgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDU2Y2JlNzE5ODdiY2EwYTI5Y2NhYzVlYWI1OTE3MTgz
ZGI0NzRhZTguLjNiM2FlYmUyM2ZkNDkwYWJmZDY1ODNlZTliYzZkN2E1NmEzNDhlNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBA
IHN0YXRpYyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYg
bGF5ZXIpCiAgICAgICAgIHx8IHJlbmRlcmVyLmlzUG9zaXRpb25lZCgpIC8vIE5vdGUgdGhhdCB0
aGlzIG9ubHkgY3JlYXRlcyBzdGFja2luZyBjb250ZXh0IGluIGNvbmp1bmN0aW9uIHdpdGggZXhw
bGljaXQgei1pbmRleC4KICAgICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAg
ICAgIHx8IHJlbmRlcmVyLnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkKKyAgICAgICAgfHwgc2hvdWxk
QXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAhcmVuZGVyZXIuc3R5
bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndp
bGxDaGFuZ2UoKSAmJiByZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3Rh
Y2tpbmdDb250ZXh0KCkpCiAgICAgICAgIHx8IGxheWVyLmVzdGFibGlzaGVzVG9wTGF5ZXIoKTsK
QEAgLTU4Niw3ICs1ODcsNyBAQCBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZsb3dP
bmx5KCkgY29uc3QKIAogYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRl
eHQoKSBjb25zdAogewotICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2Vk
WkluZGV4KCkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIoKTsKKyAgICByZXR1cm4gIXJlbmRlcmVyKCku
c3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dChyZW5kZXJlcigpKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOwogfQogCiBib29sIFJlbmRlckxh
eWVyOjpzZXRJc05vcm1hbEZsb3dPbmx5KGJvb2wgaXNOb3JtYWxGbG93T25seSkKQEAgLTEwNjks
NiArMTA3MCwxMSBAQCBMYXlvdXRSZWN0IFJlbmRlckxheWVyOjpyZXBhaW50UmVjdEluY2x1ZGlu
Z05vbkNvbXBvc2l0aW5nRGVzY2VuZGFudHMoKSBjb25zdAogdm9pZCBSZW5kZXJMYXllcjo6c2V0
QW5jZXN0b3JDaGFpbkhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpCiB7CiAgICAgZm9y
IChSZW5kZXJMYXllciogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50
KCkpIHsKKyAgICAgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigp
KSkgeworICAgICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSB0cnVl
OworICAgICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSA9IGZh
bHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFsYXllci0+
bV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSAmJiBsYXllci0+aGFzU2VsZlBh
aW50aW5nTGF5ZXJEZXNjZW5kYW50KCkpCiAgICAgICAgICAgICBicmVhazsKIApAQCAtMTQ3MCw2
ICsxNDc2LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmRpcnR5QW5jZXN0b3JDaGFpblZpc2libGVE
ZXNjZW5kYW50U3RhdHVzKCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNW
aXNpYmxlRGVzY2VuZGFudCgpCiB7CiAgICAgZm9yIChSZW5kZXJMYXllciogbGF5ZXIgPSB0aGlz
OyBsYXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50KCkpIHsKKyAgICAgICAgaWYgKHNob3VsZEFw
cGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgeworICAgICAgICAgICAgbV9oYXNWaXNp
YmxlRGVzY2VuZGFudCA9IHRydWU7CisgICAgICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50U3Rh
dHVzRGlydHkgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAg
IGlmICghbGF5ZXItPm1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSAmJiBsYXllci0+aGFz
VmlzaWJsZURlc2NlbmRhbnQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC00NTA2LDYgKzQ1
MTcsMTAgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBS
ZWN0c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAgIGNsaXBSZWN0cy5z
ZXRPdmVyZmxvd0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0
cy5vdmVyZmxvd0NsaXBSZWN0KCkpKTsKICAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzUG9z
aXRpb25lZCgpKQogICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRl
cnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOworICAg
ICAgICAgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgewor
ICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3
T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgICAg
IGNsaXBSZWN0cy5zZXRGaXhlZENsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAs
IGNsaXBSZWN0cy5maXhlZENsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgICAgICBpZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkpIHsKICAgICAgICAgICAgIExheW91dFJl
Y3QgbmV3UG9zQ2xpcCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkuY2xpcFJlY3Qo
b2Zmc2V0LCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggZjUyNzgzYWU4YWY3ZDVkNjNjNWJjOGVhYjZjMzY5YzZkNGFlOGFlYy4uZmE0NDc1
MGU5NjFiNjY3MjliNmQwMDVkYjEyZDc5YmZmMTZjODA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI1MzYsMyArMjUzNiw5IEBAIGJvb2wgV2ViQ29y
ZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0
JiByZW5kZXJlcikKIHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1NpemUo
KSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZl
bEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBh
cnQoKSB8fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJsZSgp
OwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBX
ZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQoreworICAgIHJldHVybiByZW5kZXJlci5z
dHlsZSgpLmNvbnRhaW5zUGFpbnQoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVy
ZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYm
ICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxvdygp
KTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGYzYzRl
OTE4OTJkZDEyMzMwNjA3NDBhODhlMzRiODI5NTNiNzNkMzYuLmMyNDdiZTk2MTgwYzYyYTExMzFm
YmJlMTczZjIxNTZiYTUxNGNlZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgKQEAgLTEyMDcsNiArMTIwNyw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZv
ckxpdmVEb2N1bWVudHMoKTsKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNv
bnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25z
dCBSZW5kZXJPYmplY3QmKTsKK2Jvb2wgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KGNvbnN0
IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggYTgwOTMyNGU5OGIzMzc5
ODU5NWFhNjc1ZDM3ODFiMzNhMTc1MGYxOC4uZjJjYzYwYjRlOTgzNWY4MjhkOGFiNTQyMGQ5MGFl
ZjUzYzljODRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgKQEAgLTMzMCw4ICszMzAsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgT3ZlcmZsb3cgb3Zl
cmZsb3dYKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJp
dGVkRmxhZ3Mub3ZlcmZsb3dYKTsgfQogICAgIE92ZXJmbG93IG92ZXJmbG93WSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PE92ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93
WSk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0
dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBvdmVyZmxvd1goKSA6IG92ZXJmbG93WSgp
OyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJu
IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBvdmVyZmxvd1koKSA6IG92ZXJmbG93WCgpOyB9
CiAgICAgYm9vbCBpc092ZXJmbG93VmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG92ZXJmbG93WCgp
ID09IE92ZXJmbG93OjpWaXNpYmxlIHx8IG92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxl
OyB9CiAKICAgICBPdmVyc2Nyb2xsQmVoYXZpb3Igb3ZlcnNjcm9sbEJlaGF2aW9yWCgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJzY3JvbGxCZWhhdmlvcj4obV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+b3ZlcnNjcm9sbEJlaGF2aW9yWCk7IH0KQEAgLTUyOSw2ICs1MjcsNyBAQCBwdWJs
aWM6CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250YWluKCkgY29uc3QgeyByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQogICAgIGJvb2wgY29udGFpbnNMYXlv
dXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRh
aW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9CiAgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRh
aW5tZW50OjpTaXplKTsgfQorICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBh
aW50KTsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZs
ZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJv
eERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCBkZDRmMjFl
NDA1ZmU5OWRjOTI4ZjIyYWViZDYxNTEzMTMzZTIzZmY0Li5mMTc2MTEzOGZhYzhjNTE1OWJiOWQ5
YWRkODc0YzgzY2JjOThlOTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTIxNCw3ICsyMTQsNyBAQCBib29sIFJlbmRlclNWR1Jvb3Q6
OnNob3VsZEFwcGx5Vmlld3BvcnRDbGlwKCkgY29uc3QKICAgICAvLyB0aGUgb3V0ZXJtb3N0IHN2
ZyBpcyBjbGlwcGVkIGlmIGF1dG8sIGFuZCBzdmcgZG9jdW1lbnQgcm9vdHMgYXJlIGFsd2F5cyBj
bGlwcGVkCiAgICAgLy8gV2hlbiB0aGUgc3ZnIGlzIHN0YW5kLWFsb25lIChpc0RvY3VtZW50RWxl
bWVudCgpID09IHRydWUpIHRoZSB2aWV3cG9ydCBjbGlwcGluZyBzaG91bGQgYWx3YXlzCiAgICAg
Ly8gYmUgYXBwbGllZCwgbm90aW5nIHRoYXQgdGhlIHdpbmRvdyBzY3JvbGxiYXJzIHNob3VsZCBi
ZSBoaWRkZW4gaWYgb3ZlcmZsb3c9aGlkZGVuLgotICAgIHJldHVybiBzdHlsZSgpLm92ZXJmbG93
WCgpID09IE92ZXJmbG93OjpIaWRkZW4KKyAgICByZXR1cm4gZWZmZWN0aXZlT3ZlcmZsb3dYKCkg
PT0gT3ZlcmZsb3c6OkhpZGRlbgogICAgICAgICB8fCBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92
ZXJmbG93OjpBdXRvCiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OlNjcm9sbAogICAgICAgICB8fCB0aGlzLT5pc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNjAxMGEwMjAzY2E3NzcyZGYzZGQ3OThkNTY5N2VmZjBjMjU0MjExMy4uNDFjZmFiNTZm
OGQ0MDExMDZhYjY3MjNkZDY3YjY1ZDE0Y2RiODg4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIxLTA5LTI5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1j
b250YWluXSBTdXBwb3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wOS0yOCAgQW50dGkgS29pdmlzdG8gIDxh
bnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBDYXNjYWRlIExheWVyc10gSW1wb3J0IG1v
cmUgV1BUIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA3MmFkNmRiZDI4
ZDc1ZDA5NTdjNzIzNTJkMWViMWU0N2Y0NjcwYWRlLi42ZDExZDIyY2M2ZDk3MWZjMTZhMTY4YzIy
ZDI4ZjJhYTEzOTJkMGFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMS0wOS0yOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBu
b3cgdGhhdCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4
cGVjdGVkLnR4dDoKKwogMjAyMS0wOS0yOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NTUyBDYXNjYWRlIExheWVyc10gSW1wb3J0IG1vcmUgV1BUIHRlc3Rz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCAwNjk1Y2ZmZTUzZDI5ZDZlMzYyNjNiNTQxNDYwZTRiMjVi
ODMxZmRmLi41MGE0YmYyNzJmMWEzZmUwODA5NWY3Y2M0MDNhN2Q1Nzg2NTg4MGM1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQ4NzMsNiArNDg3MywxMCBAQCB3ZWJhbmltYXRpb25zL3RyYW5zbGF0
ZS1wcm9wZXJ0eS1hbmQtdHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1s
YQogIyBDU1MgY29udGFpbm1lbnQgdGVzdHMgdGhhdCBmYWlsCiAjIHdlYmtpdC1ydWJ5LXRleHQK
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
bGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00ODg3LDQ5ICs0ODkxLDkgQEAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWIKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIwLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDIyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA5Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE0Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDIyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
MDQ3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDQ4Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
ZWxsLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKyMgY29udGFpbi1wYWludC1jbGlw
LTAxNS5odG1sIGFuZCBjb250YWluLXBhaW50LWNsaXAtMDE2Lmh0bWwgbmVlZCBmdXp6eSBtYXRj
aGluZy4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2xpcC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlw
LTAxNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE3Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jbGlwLTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5pbmct
YmxvY2stYWJzb2x1dGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFp
bmluZy1ibG9jay1maXhlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1mb3Jt
YXR0aW5nLWNvbnRleHQtZmxvYXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Zm9ybWF0dGluZy1jb250ZXh0LW1hcmdpbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1pZmMtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtaW5kZXBlbmRlbnQt
Zm9ybWF0dGluZy1jb250ZXh0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNp
emUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAxYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0
eWxlLWNvdW50ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJv
eC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1j
b250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFj
ZThlZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRl
Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3
ICsxLDEzIEBACiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwog
RmxleC1zdGFydDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442373</attachid>
            <date>2021-10-25 08:22:12 -0700</date>
            <delta_ts>2021-11-10 01:31:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20211025172211.patch</filename>
            <type>text/plain</type>
            <size>37478</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg4ZTRmMmZiYzE1NDE2
ODg0MjE0YjkxOGMxZWE0NmY4OGI1MGM4Ny4uNGU1Yjg2MDA5MWIwZjkyYWQ0ZmUzYjY4NDEyZjhk
ZjgyMjFiYjA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTEwLTI1ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFp
bm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3Rz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNv
bHV0ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93
UG9ydGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVT
dGFja2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJl
Q1NTU3RhY2tpbmdDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpzZXRBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2Nl
bmRhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0
cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2Nr
RGlyZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBw
bHlWaWV3cG9ydENsaXAgY29uc3QpOgorCiAyMDIxLTEwLTI1ICBBbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFJlbmFtZSBUZXh0VXRpbDo6bWlkV29y
ZEJyZWFrIHRvIGJyZWFrV29yZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDE0NDE5
Yjk1YTNiNmFkZGQ0MTcwYTcxZDJjZjBhNzQyMGM2OGQ4N2MuLmFmY2E4NmI1YTE1ZDE5MjU2OTli
NDNkZDEwZDM2OTA1M2U1MjE2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTY0
Myw4ICs2NDMsOCBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29u
c3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogCiAgICAgYm9vbCBvdmVycmlk
ZUhpZGRlbiA9IGZyYW1lKCkuaXNNYWluRnJhbWUoKSAmJiAoKGZyYW1lKCkuZnJhbWVTY2FsZUZh
Y3RvcigpID4gMSkgfHwgaGVhZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0KCkpOwogCi0gICAg
T3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICBP
dmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgIE92
ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpOworICAgIE92
ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogCiAgICAg
aWYgKGlzPFJlbmRlclNWR1Jvb3Q+KHJlbmRlcmVyKSkgewogICAgICAgICAvLyBGSVhNRTogZXZh
bHVhdGUgaWYgd2UgY2FuIGFsbG93IG92ZXJmbG93IGZvciB0aGVzZSBjYXNlcyB0b28uCkBAIC03
MDgsMTIgKzcwOCwxMiBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9WaWV3cG9y
dCgpCiAKICAgICBhdXRvKiBib2R5ID0gZG9jdW1lbnQtPmJvZHkoKTsKICAgICBpZiAoYm9keSAm
JiBib2R5LT5yZW5kZXJlcigpKSB7Ci0gICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBk
b2N1bWVudFJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUg
JiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CisgICAgICAgIGRvY3Vt
ZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgp
ID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50RWxl
bWVudCkgPwogICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIoKSA6ICZkb2N1bWVudFJlbmRlcmVy
OwogICAgIH0KIAogICAgIFBhZ2luYXRpb24gcGFnaW5hdGlvbjsKLSAgICBPdmVyZmxvdyBvdmVy
Zmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WSgpOworICAg
IE92ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPmVmZmVjdGl2ZU92
ZXJmbG93WSgpOwogICAgIGlmIChvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWCB8fCBvdmVy
Zmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWSkgewogICAgICAgICBwYWdpbmF0aW9uLm1vZGUgPSBX
ZWJDb3JlOjpwYWdpbmF0aW9uTW9kZUZvclJlbmRlclN0eWxlKGRvY3VtZW50T3JCb2R5UmVuZGVy
ZXItPnN0eWxlKCkpOwogICAgICAgICBHYXBMZW5ndGggY29sdW1uR2FwTGVuZ3RoID0gZG9jdW1l
bnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5jb2x1bW5HYXAoKTsKQEAgLTc3NSw3ICs3NzUsNyBA
QCB2b2lkIEZyYW1lVmlldzo6Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xs
YmFyTW9kZSYgaE1vZGUsIFNjcm9sbGJhcgogICAgIGlmIChpczxIVE1MQm9keUVsZW1lbnQ+KCpi
b2R5T3JGcmFtZXNldCkgJiYgcm9vdFJlbmRlcmVyKSB7CiAgICAgICAgIC8vIEl0J3Mgc3VmZmlj
aWVudCB0byBqdXN0IGNoZWNrIHRoZSBYIG92ZXJmbG93LAogICAgICAgICAvLyBzaW5jZSBpdCdz
IGlsbGVnYWwgdG8gaGF2ZSB2aXNpYmxlIGluIG9ubHkgb25lIGRpcmVjdGlvbi4KLSAgICAgICAg
aWYgKHJvb3RSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJs
ZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKKyAgICAgICAgaWYg
KHJvb3RSZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUg
JiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CiAgICAgICAgICAgICBh
dXRvKiBib2R5UmVuZGVyZXIgPSBib2R5T3JGcmFtZXNldC0+cmVuZGVyZXIoKTsKICAgICAgICAg
ICAgIGlmIChib2R5UmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBhcHBseU92ZXJmbG93VG9W
aWV3cG9ydCgqYm9keVJlbmRlcmVyLCBoTW9kZSwgdk1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRleCA4OTFk
YWZmYmFhYTJkMGVmNDA3NTQ4Zjk0YjRkMDVhODg4MWQ0MGYwLi5mNjQ2ZmM3ZGFkZTA4NzM4OTZh
M2EzNzQyZTA4ZjEwNDBjNDMwZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApAQCAtODM5LDcgKzgzOSw3IEBAIExh
eW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6Om1pblNpemVGb3JDaGls
ZChSZW5kZXJCb3gmIGNoaWxkKSBjCiAgICAgICAgIHJldHVybiBtaW5Db250ZW50Rm9yQ2hpbGQo
Y2hpbGQpOwogCiAgICAgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUgPSBpc1Jvd0F4aXMgPyBj
aGlsZC5zdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpIDogY2hpbGQuc3R5bGUoKS5sb2dpY2FsTWlu
SGVpZ2h0KCk7Ci0gICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/IGNoaWxk
LnN0eWxlKCkub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSA6
IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNp
YmxlOworICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5lZmZl
Y3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlIDogY2hp
bGQuZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
OwogICAgIExheW91dFVuaXQgYmFzZWxpbmVTaGltID0gbV9hbGdvcml0aG0uYmFzZWxpbmVPZmZz
ZXRGb3JDaGlsZChjaGlsZCwgZ3JpZEF4aXNGb3JEaXJlY3Rpb24oZGlyZWN0aW9uKCkpKTsKIAog
ICAgIGlmIChjaGlsZE1pblNpemUuaXNBdXRvKCkgJiYgb3ZlcmZsb3dJc1Zpc2libGUpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYTQ2NzQ5MDliODNmODA3NjQ1
NWQ3ODUzNWFlMDc3NThkZTcwNzA1OC4uMTI4ODhlNzJkNGQwY2QzOTcxN2VkMmQ0ZWRkMWMzOTRj
YTY1N2UxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ4Myw3
ICs0ODMsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRGbG9h
dGluZyghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0aW5nKCkp
OwogCiAgICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3NlIG92ZXJm
bG93IGFwcGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAgIGlmICghKHN0eWxlVG9Vc2Uub3ZlcmZs
b3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd1koKSA9PSBP
dmVyZmxvdzo6VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVuZGVyQmxv
Y2soKSkgeworICAgIGlmICghKGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNp
YmxlICYmIGVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAmJiAhaXNE
b2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJvb2wgYm94
SGFzTm9uVmlzaWJsZU92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzQm9keSgpKSB7CiAg
ICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4gcHJvcGFnYXRlIHRvIHRoZSB2
aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCkBAIC00OTIsNyArNDkyLDcg
QEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgICAgICAgICAvLyAoMykg
VGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4KICAgICAgICAgICAgIGlmIChp
czxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKQogICAgICAg
ICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1lbnQoKQotICAgICAgICAgICAg
ICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPnN0eWxlKCku
b3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICAgICAgICAgICAgICAmJiBk
b2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5lZmZlY3RpdmVPdmVyZmxv
d1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAgICAgICAgIGJveEhhc05vblZp
c2libGVPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC02NjIs
NyArNjYyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxXaWR0aElu
RnJhZ21lbnRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWwKICAgICBpZiAoYWxsb3dJbnRyaW5z
aWMgPT0gQWxsb3dJbnRyaW5zaWM6Ok5vICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCku
aXNJbnRyaW5zaWMoKSkKICAgICAgICAgcmV0dXJuIGxvZ2ljYWxXaWR0aDsKICAgICBhdXRvIG1p
bkxlbmd0aCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCk7Ci0gICAgaWYgKHN0eWxlVG9V
c2UuaGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxlVG9Vc2Uu
bG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01p
bkNvbnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVudCgpKSAm
JiBzdHlsZVRvVXNlLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2li
bGUpIHsKKyAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0aC5p
c0F1dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRv
VXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdp
ZHRoKCkuaXNNYXhDb250ZW50KCkpICYmIGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9u
KCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGFjdHVh
bGx5IHVzZWQgdGhlIGFzcGVjdCByYXRpby4KICAgICAgICAgaWYgKHNob3VsZENvbXB1dGVMb2dp
Y2FsV2lkdGhGcm9tQXNwZWN0UmF0aW8oKSkKICAgICAgICAgICAgIG1pbkxlbmd0aCA9IExlbmd0
aChMZW5ndGhUeXBlOjpNaW5Db250ZW50KTsKQEAgLTY3OCw3ICs2NzgsNyBAQCBMYXlvdXRVbml0
IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVuaXQgbG9n
aWNhbEhlaWdodCwgcwogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IHN0ZDo6bWluKGxvZ2lj
YWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAgfQogICAgIGF1dG8gbG9naWNhbE1pbkhlaWdo
dCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGlmIChsb2dpY2FsTWluSGVp
Z2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlv
KCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93QmxvY2tE
aXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChsb2dpY2FsTWluSGVp
Z2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlv
KCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGly
ZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgYXV0byBoZWlnaHRGcm9t
QXNwZWN0UmF0aW8gPSBibG9ja1NpemVGcm9tQXNwZWN0UmF0aW8oaG9yaXpvbnRhbEJvcmRlckFu
ZFBhZGRpbmdFeHRlbnQoKSwgdmVydGljYWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCksIExheW91
dFVuaXQoc3R5bGUoKS5sb2dpY2FsQXNwZWN0UmF0aW8oKSksIHN0eWxlKCkuYm94U2l6aW5nRm9y
QXNwZWN0UmF0aW8oKSwgbG9naWNhbFdpZHRoKCkpIC0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxI
ZWlnaHQoKTsKICAgICAgICAgaWYgKGZpcnN0Q2hpbGQoKSkKICAgICAgICAgICAgIGhlaWdodEZy
b21Bc3BlY3RSYXRpbyA9IHN0ZDo6bWF4KGhlaWdodEZyb21Bc3BlY3RSYXRpbywgKmludHJpbnNp
Y0NvbnRlbnRIZWlnaHQpOwpAQCAtNDg0OSw3ICs0ODQ5LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmNy
ZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSW5saW5l
QmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgp
IHx8IGhhc1BvdGVudGlhbGx5U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRlbUluY2x1
ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFibGVDYXB0
aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNEb2N1bWVu
dEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKQotICAgICAgICB8
fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3Bl
Y2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFs
bCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CisgICAgICAg
IHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBwYWludENvbnRhaW5tZW50QXBwbGllcygp
IHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBzdHlsZSgp
LmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5KCkgPT0g
RGlzcGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRzRmxvYXRz
KCkgY29uc3QKQEAgLTQ5MTcsNiArNDkxNyw4IEBAIExheW91dFJlY3QgUmVuZGVyQm94OjphcHBs
eVZpc3VhbEVmZmVjdE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIGJvcmRlckJveCkgY29uCiAK
IHZvaWQgUmVuZGVyQm94OjphZGRPdmVyZmxvd0Zyb21DaGlsZChjb25zdCBSZW5kZXJCb3gqIGNo
aWxkLCBjb25zdCBMYXlvdXRTaXplJiBkZWx0YSkKIHsKKyAgICBpZiAocGFpbnRDb250YWlubWVu
dEFwcGxpZXMoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIE5ldmVyIGFsbG93IGZsb3cgdGhy
ZWFkcyB0byBwcm9wYWdhdGUgb3ZlcmZsb3cgdXAgdG8gYSBwYXJlbnQuCiAgICAgaWYgKGNoaWxk
LT5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDI0NTA5
MTlmNDI2NDQ2Mzc0MmVjZDgwYjlkMmY2NDQyZGYxZTAxZjEuLjVjY2YxN2E5Mjc5ZTM1N2Y3ZGY3
NTM5NDhiY2Q0ZDc3OWFjMzNiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjExLDYgKzIxMSw3IEBAIHZvaWQgUmVuZGVy
Qm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0SG9yaXpvbnRhbFdyaXRp
bmdNb2RlKHN0eWxlVG9Vc2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSk7CiAgICAgaWYgKHN0
eWxlVG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmlldygpLmZy
YW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKKyAgICBzZXRQYWlu
dENvbnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpKTsK
IH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zmc2V0cyhj
b25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwCmluZGV4IDE0NzUyMjY4NWVmYjEwOGMyNTI5MDA2YjkwN2MyMGMyOTY4NzM3
NTcuLjRlOThjNDk4NjdkMDg3YTA5MzRmYzYzZTIxOWYyMGQxODM1ZGEyMDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJlbmRlckVsZW1l
bnQpOwogCiBzdHJ1Y3QgU2FtZVNpemVBc1JlbmRlckVsZW1lbnQgOiBwdWJsaWMgUmVuZGVyT2Jq
ZWN0IHsKLSAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNTsKKyAgICB1bnNpZ25lZCBiaXRmaWVs
ZHMgOiAyNjsKICAgICB2b2lkKiBmaXJzdENoaWxkOwogICAgIHZvaWQqIGxhc3RDaGlsZDsKICAg
ICBSZW5kZXJTdHlsZSBzdHlsZTsKQEAgLTEyNiw2ICsxMjYsNyBAQCBpbmxpbmUgUmVuZGVyRWxl
bWVudDo6UmVuZGVyRWxlbWVudChDb250YWluZXJOb2RlJiBlbGVtZW50T3JEb2N1bWVudCwgUmVu
ZGVyU3R5bAogICAgICwgbV9pc1JlZ2lzdGVyZWRGb3JWaXNpYmxlSW5WaWV3cG9ydENhbGxiYWNr
KGZhbHNlKQogICAgICwgbV92aXNpYmxlSW5WaWV3cG9ydFN0YXRlKHN0YXRpY19jYXN0PHVuc2ln
bmVkPihWaXNpYmxlSW5WaWV3cG9ydFN0YXRlOjpVbmtub3duKSkKICAgICAsIG1fZGlkQ29udHJp
YnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQoZmFsc2UpCisgICAgLCBtX3BhaW50Q29u
dGFpbm1lbnRBcHBsaWVzKGZhbHNlKQogICAgICwgbV9maXJzdENoaWxkKG51bGxwdHIpCiAgICAg
LCBtX2xhc3RDaGlsZChudWxscHRyKQogICAgICwgbV9zdHlsZShXVEZNb3ZlKHN0eWxlKSkKQEAg
LTIzMjAsNyArMjMyMSw3IEBAIHN0YXRpYyBSZW5kZXJPYmplY3Q6OkJsb2NrQ29udGVudEhlaWdo
dFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRlck9iCiAgICAgICAgIGlmIChp
czxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAvLyBGb3IgZml4ZWQgaGVp
Z2h0IHN0eWxlcywgaWYgdGhlIG92ZXJmbG93IHNpemUgb2YgdGhlIGVsZW1lbnQgc3BpbGxzIG91
dCBvZiB0aGUgc3BlY2lmaWVkCiAgICAgICAgICAgICAvLyBoZWlnaHQsIGFzc3VtZSB3ZSBjYW4g
YXBwbHkgdGV4dCBhdXRvLXNpemluZy4KLSAgICAgICAgICAgIGlmIChzdHlsZS5vdmVyZmxvd1ko
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZQorICAgICAgICAgICAgaWYgKGRvd25jYXN0PFJlbmRlckJs
b2NrPihyZW5kZXJlcikuZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUK
ICAgICAgICAgICAgICAgICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1ZSgpIDwgZG93bmNhc3Q8UmVu
ZGVyQmxvY2s+KHJlbmRlcmVyKS5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6T3ZlcmZsb3dIZWlnaHQ7CiAgICAgICAgIH0K
QEAgLTI0MTAsNCArMjQxMSwyMCBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnNldEJhY2tkcm9wUmVu
ZGVyZXIoUmVuZGVyQmxvY2tGbG93JiByZW5kZXJlcikKICAgICBlbnN1cmVSYXJlRGF0YSgpLmJh
Y2tkcm9wUmVuZGVyZXIgPSByZW5kZXJlcjsKIH0KIAorT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6
ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WCA9IHN0eWxl
KCkub3ZlcmZsb3dYKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3Zl
cmZsb3dYID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNs
aXA7CisgICAgcmV0dXJuIG92ZXJmbG93WDsKK30KKworT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6
ZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WSA9IHN0eWxl
KCkub3ZlcmZsb3dZKCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3Zl
cmZsb3dZID09IE92ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNs
aXA7CisgICAgcmV0dXJuIG92ZXJmbG93WTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmgKaW5kZXggMjE5MDE0Y2FjYzU0MTFjOGVlNjViYjUwZDU4YWUwZDkx
OTFhZWU2My4uM2IwMmM4ZmMwOTM1MGYzOGFlZjZkMWFmZTAyMzNjNzQzMjhjMGM5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yMTgsNiArMjE4LDkgQEAg
cHVibGljOgogICAgIGJvb2wgZGlkQ29udGlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQ7IH0KICAgICB2b2lkIHNldERpZENvbnRpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVs
Q291bnQoKSB7IG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgPSB0
cnVlOyB9CiAKKyAgICBib29sIHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1
cm4gbV9wYWludENvbnRhaW5tZW50QXBwbGllczsgfQorICAgIHZvaWQgc2V0UGFpbnRDb250YWlu
bWVudEFwcGxpZXMoYm9vbCBiKSB7IG1fcGFpbnRDb250YWlubWVudEFwcGxpZXMgPSBiOyB9CisK
ICAgICBib29sIHJlcGFpbnRGb3JQYXVzZWRJbWFnZUFuaW1hdGlvbnNJZk5lZWRlZChjb25zdCBJ
bnRSZWN0JiB2aXNpYmxlUmVjdCwgQ2FjaGVkSW1hZ2UmKTsKICAgICBib29sIGhhc1BhdXNlZElt
YWdlQW5pbWF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1faGFzUGF1c2VkSW1hZ2VBbmltYXRpb25z
OyB9CiAgICAgdm9pZCBzZXRIYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMoYm9vbCBiKSB7IG1faGFz
UGF1c2VkSW1hZ2VBbmltYXRpb25zID0gYjsgfQpAQCAtMjY4LDYgKzI3MSwxMSBAQCBwdWJsaWM6
CiAKICAgICBSZWZlcmVuY2VkU1ZHUmVzb3VyY2VzJiBlbnN1cmVSZWZlcmVuY2VkU1ZHUmVzb3Vy
Y2VzKCk7CiAKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdDsKKyAgICBP
dmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3Rp
dmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IGVmZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3Zl
cmZsb3dZKCk7IH0KKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9u
KCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZm
ZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1goKTsgfQorCiBwcm90ZWN0ZWQ6
CiAgICAgZW51bSBCYXNlVHlwZUZsYWcgewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0
RmxhZyAgPSAxIDw8IDAsCkBAIC0zOTEsNiArMzk5LDggQEAgcHJpdmF0ZToKIAogICAgIHVuc2ln
bmVkIG1fZGlkQ29udHJpYnV0ZVRvVmlzdWFsbHlOb25FbXB0eVBpeGVsQ291bnQgOiAxOwogCisg
ICAgdW5zaWduZWQgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyA6IDE7CisKICAgICBSZW5kZXJP
YmplY3QqIG1fZmlyc3RDaGlsZDsKICAgICBSZW5kZXJPYmplY3QqIG1fbGFzdENoaWxkOwogCkBA
IC00NTYsNyArNDY2LDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZp
eGVkUG9zaXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwtY2hhbmdl
IHNob3VsZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChidWcgMjI1
MDM1KQogICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgp
ICYmIHN0eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yT3V0T2ZG
bG93UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQotICAgICAg
ICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAgfHwgc2hv
dWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6
Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00NjcsNiAr
NDc4LDcgQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQ
b3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYg
c3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250
YWluaW5nQmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0Zv
cmVpZ25PYmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0
aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAgICAg
ICAgIHx8IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCBmZDUxODliNTdmZGQ0NWNmNDFjNDY0Mjc1YTAx
MjQzYTU3M2YzYzA0Li40MDk2OWU5M2UxMmExNGQxYjFhMTQ1ODVhMTkxZDM1Y2U0YWZiYmQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAg
LTE4NjIsMTUgKzE4NjIsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNJbnRy
aW5zaWNNYWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92ZXJmbG93IFJlbmRl
ckZsZXhpYmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBj
aGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1
cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5v
dmVyZmxvd1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwor
ICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAogT3ZlcmZsb3cgUmVu
ZGVyRmxleGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94
JiBjaGlsZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICBy
ZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUo
KS5vdmVyZmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgp
OworICAgIHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0KIAogYm9vbCBSZW5k
ZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoY29uc3QgUmVu
ZGVyQm94JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IGFmYjI3Y2NhNjcxZGU2YWJmN2Ez
MjliMjFjNzgxMTcwMGNmMjk1M2UuLjc5NzBmMmZkNzgxMzY1ZTY0YzE1MWI0M2UyYzMzN2MwMmUy
ZDljYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVu
dENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdt
ZW50Q29udGFpbmVyLmNwcApAQCAtMTU3LDE0ICsxNTcsMTQgQEAgTGF5b3V0UmVjdCBSZW5kZXJG
cmFnbWVudENvbnRhaW5lcjo6b3ZlcmZsb3dSZWN0Rm9yRnJhZ21lbnRlZEZsb3dQb3J0aW9uKGNv
bnN0IEwKICAgICBpZiAobV9mcmFnbWVudGVkRmxvdy0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSkgewogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBpc0ZpcnN0UG9ydGlvbiA/IGZyYWdtZW50
ZWRGbG93T3ZlcmZsb3cueSgpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCk7CiAgICAg
ICAgIExheW91dFVuaXQgbWF4WSA9IGlzTGFzdFBvcnRpb24gPyBzdGQ6Om1heChmcmFnbWVudGVk
Rmxvd1BvcnRpb25SZWN0Lm1heFkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhZKCkpIDog
ZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCk7Ci0gICAgICAgIGJvb2wgY2xpcFggPSBz
dHlsZSgpLm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlOworICAgICAgICBib29sIGNs
aXBYID0gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CiAgICAgICAg
IExheW91dFVuaXQgbWluWCA9IGNsaXBYID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54KCkg
OiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKSwgZnJhZ21lbnRlZEZsb3dP
dmVyZmxvdy54KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBjbGlwWCA/IGZyYWdtZW50
ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpIDogc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9u
UmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgpKTsKICAgICAgICAgY2xp
cFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBtYXhZIC0gbWluWSk7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gaXNGaXJzdFBvcnRpb24g
PyBmcmFnbWVudGVkRmxvd092ZXJmbG93LngoKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qu
eCgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBpc0xhc3RQb3J0aW9uID8gc3RkOjptYXgo
ZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cu
bWF4WCgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpOwotICAgICAgICBib29s
IGNsaXBZID0gc3R5bGUoKS5vdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICAg
ICAgYm9vbCBjbGlwWSA9IGVmZmVjdGl2ZU92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpWaXNpYmxl
OwogICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBjbGlwWSA/IGZyYWdtZW50ZWRGbG93UG9ydGlv
blJlY3QueSgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCksIGZyYWdt
ZW50ZWRGbG93T3ZlcmZsb3cueSgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0gY2xpcFkg
PyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSA6IHN0ZDo6bWF4KGZyYWdtZW50ZWRG
bG93UG9ydGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFkoKSk7CiAgICAg
ICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwgbWF4WSAt
IG1pblkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGlu
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCmluZGV4IDM2MGRi
M2NhNjQ0OGVkMTM4OGRiN2M5NTAwZmJiMjZkMjEzNmJlOGQuLjBhMTcxYWY4YmJhZGNhYjBlMGJh
NDE2ZDJhMDk4Nzk4YmVkMjc0MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbmxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5s
aW5lLmgKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBtYXlBZmZlY3RMYXlv
dXQoKSBjb25zdDsKIAotICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIGlzSW5GbG93UG9zaXRpb25lZCgpIHx8IGNyZWF0ZXNHcm91cCgpIHx8IGhhc0NsaXBQ
YXRoKCkgfHwgd2lsbENoYW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBoYXNSdW5uaW5n
QWNjZWxlcmF0ZWRBbmltYXRpb25zKCk7IH0KKyAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAo
KSB8fCBoYXNDbGlwUGF0aCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykg
fHwgd2lsbENoYW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBoYXNSdW5uaW5nQWNjZWxl
cmF0ZWRBbmltYXRpb25zKCk7IH0KIAogcHJvdGVjdGVkOgogICAgIHZvaWQgd2lsbEJlRGVzdHJv
eWVkKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCBlOGMwMzgzY2U5ZTExMDRjZWQzNTE4YmM2Mjg2YjQyZmJkYzU0MDYyLi5jMTBkNjc0MjA5
NWJjZTRlZGNmOWIzZmE0MjlkNTBmYTU1OTZkYzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTU1Niw2ICs1NTYsNyBAQCBzdGF0aWMgYm9vbCBjYW5DcmVh
dGVTdGFja2luZ0NvbnRleHQoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyKQogICAgICAgICB8fCBy
ZW5kZXJlci5pc1Bvc2l0aW9uZWQoKSAvLyBOb3RlIHRoYXQgdGhpcyBvbmx5IGNyZWF0ZXMgc3Rh
Y2tpbmcgY29udGV4dCBpbiBjb25qdW5jdGlvbiB3aXRoIGV4cGxpY2l0IHotaW5kZXguCiAgICAg
ICAgIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5zdHls
ZSgpLmhhc0lzb2xhdGlvbigpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dChyZW5kZXJlcikKICAgICAgICAgfHwgIXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5k
ZXgoKQogICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVuZGVy
ZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKQogICAg
ICAgICB8fCBsYXllci5lc3RhYmxpc2hlc1RvcExheWVyKCk7CkBAIC01ODcsNyArNTg4LDcgQEAg
Ym9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJvb2wg
UmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVuZGVy
Vmlld0xheWVyKCk7CisgICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRa
SW5kZXgoKSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwgaXNS
ZW5kZXJWaWV3TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93
T25seShib29sIGlzTm9ybWFsRmxvd09ubHkpCkBAIC0xMDg1LDYgKzEwODYsMTEgQEAgTGF5b3V0
UmVjdCBSZW5kZXJMYXllcjo6cmVwYWludFJlY3RJbmNsdWRpbmdOb25Db21wb3NpdGluZ0Rlc2Nl
bmRhbnRzKCkgY29uc3QKIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNTZWxm
UGFpbnRpbmdMYXllckRlc2NlbmRhbnQoKQogewogICAgIGZvciAoUmVuZGVyTGF5ZXIqIGxheWVy
ID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPnBhcmVudCgpKSB7CisgICAgICAgIGlmIChz
aG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgIG1f
aGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1faGFz
U2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CiAgICAgICAgIGlmICghbGF5ZXItPm1faGFzU2VsZlBhaW50aW5nTGF5
ZXJEZXNjZW5kYW50RGlydHkgJiYgbGF5ZXItPmhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFu
dCgpKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTE0ODUsNiArMTQ5MSwxMSBAQCB2b2lkIFJl
bmRlckxheWVyOjpkaXJ0eUFuY2VzdG9yQ2hhaW5WaXNpYmxlRGVzY2VuZGFudFN0YXR1cygpCiB2
b2lkIFJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRhbnQoKQog
ewogICAgIGZvciAoUmVuZGVyTGF5ZXIqIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5
ZXItPnBhcmVudCgpKSB7CisgICAgICAgIGlmIChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQo
cmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgIG1faGFzVmlzaWJsZURlc2NlbmRhbnQgPSB0cnVl
OworICAgICAgICAgICAgbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5ID0gZmFsc2U7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBpZiAoIWxheWVyLT5tX3Zpc2li
bGVEZXNjZW5kYW50U3RhdHVzRGlydHkgJiYgbGF5ZXItPmhhc1Zpc2libGVEZXNjZW5kYW50KCkp
CiAgICAgICAgICAgICBicmVhazsKIApAQCAtNDUyNCw2ICs0NTM1LDEwIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVj
dHNDb250ZXh0LCBDCiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChp
bnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgp
KSk7CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAg
ICAgICAgICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93
Q2xpcCwgY2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgICAgICBjbGlw
UmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJl
Y3RzLnBvc0NsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0Rml4ZWRD
bGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMuZml4ZWRDbGlw
UmVjdCgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVy
KCkuaGFzQ2xpcCgpKSB7CiAgICAgICAgICAgICBMYXlvdXRSZWN0IG5ld1Bvc0NsaXAgPSBkb3du
Y2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpLmNsaXBSZWN0KG9mZnNldCwgbnVsbHB0cik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IGZiOTE5MGFiNWE1
N2RiMTc3MWYwZTkzZDIyNTY4OWVkYjUxZDNhNzYuLjM5YzcwNGNkMWFhNDhlYmQyNTVkNzk3Yjdk
MmNkMzI3NzZjZmUzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCkBAIC0yNTQ2LDMgKzI1NDYsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U3R5bGVD
b250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5k
ZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkg
JiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9uKCkp
ICYmICFyZW5kZXJlci5pc1RhYmxlKCk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7
CisgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNQYWludCgpICYmICghcmVuZGVy
ZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFy
ZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRl
cmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKaW5kZXggN2QwYmViZGJhMjRhMzVlYjA4OWNmOGRlMzM1YjA1MWQ5NDQyNDdk
My4uOWYyOTQ3NTk3ZTA2ZGIzYzY2YzZjNmNkMzZhYTlkNGQ4YTE2ZTU4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMTIwOSw2ICsxMjA5LDcgQEAgdm9pZCBw
cmludEdyYXBoaWNzTGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOwogYm9vbCBzaG91bGRBcHBs
eUxheW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91bGRBcHBs
eVNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlT
dHlsZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApp
bmRleCAyMDUyMDQyNGRmMjM0MzQzMjBiNzMzZjQyNDBkOWE4ZDEwNDY5MmZiLi5mMzJjYmViOGQ5
ZTI2N2UxZTM5MjdjNDQyNWIyMzJiMzM1Y2M1YTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMzMxLDggKzMzMSw2IEBAIHB1YmxpYzoKICAg
ICAKICAgICBPdmVyZmxvdyBvdmVyZmxvd1goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxP
dmVyZmxvdz4obV9ub25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1gpOyB9CiAgICAgT3ZlcmZsb3cg
b3ZlcmZsb3dZKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5o
ZXJpdGVkRmxhZ3Mub3ZlcmZsb3dZKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93SW5saW5lRGly
ZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJm
bG93WCgpIDogb3ZlcmZsb3dZKCk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxvd0Jsb2NrRGlyZWN0
aW9uKCkgY29uc3QgeyByZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93
WSgpIDogb3ZlcmZsb3dYKCk7IH0KICAgICBib29sIGlzT3ZlcmZsb3dWaXNpYmxlKCkgY29uc3Qg
eyByZXR1cm4gb3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgfHwgb3ZlcmZsb3dZKCkg
PT0gT3ZlcmZsb3c6OlZpc2libGU7IH0KIAogICAgIE92ZXJzY3JvbGxCZWhhdmlvciBvdmVyc2Ny
b2xsQmVoYXZpb3JYKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcnNjcm9sbEJlaGF2
aW9yPihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5vdmVyc2Nyb2xsQmVoYXZpb3JYKTsgfQpAQCAt
NTMyLDYgKzUzMCw3IEBAIHB1YmxpYzoKICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3Qg
eyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlu
bWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6
ZSk7IH0KICAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25J
bmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSk7IH0KKyAg
ICBib29sIGNvbnRhaW5zUGFpbnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGln
bm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+
KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9
CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAg
ZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRl
cHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggY2MxMzFmNGMyNzNmNzg2NDI3OGVjMjljMTJh
ZDYwZTI5ZjliMmIxNi4uNDQ1MTA5MDIxY2U3MWZlMzhlOGIxNjY5NDk2YjQ2MjU4YTgyZDk3MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBA
IC0yMTUsNyArMjE1LDcgQEAgYm9vbCBSZW5kZXJTVkdSb290OjpzaG91bGRBcHBseVZpZXdwb3J0
Q2xpcCgpIGNvbnN0CiAgICAgLy8gdGhlIG91dGVybW9zdCBzdmcgaXMgY2xpcHBlZCBpZiBhdXRv
LCBhbmQgc3ZnIGRvY3VtZW50IHJvb3RzIGFyZSBhbHdheXMgY2xpcHBlZAogICAgIC8vIFdoZW4g
dGhlIHN2ZyBpcyBzdGFuZC1hbG9uZSAoaXNEb2N1bWVudEVsZW1lbnQoKSA9PSB0cnVlKSB0aGUg
dmlld3BvcnQgY2xpcHBpbmcgc2hvdWxkIGFsd2F5cwogICAgIC8vIGJlIGFwcGxpZWQsIG5vdGlu
ZyB0aGF0IHRoZSB3aW5kb3cgc2Nyb2xsYmFycyBzaG91bGQgYmUgaGlkZGVuIGlmIG92ZXJmbG93
PWhpZGRlbi4KLSAgICByZXR1cm4gc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlk
ZGVuCisgICAgcmV0dXJuIGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4K
ICAgICAgICAgfHwgc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6QXV0bwogICAgICAg
ICB8fCBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpTY3JvbGwKICAgICAgICAgfHwg
dGhpcy0+aXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcyNGNjMzM4N2MyMGEz
M2E5YTA0N2UyNTk3YzU3ZTM3OWU4MzA2ZDMuLjAxYjA3MGRmMDJkYzQxYzZlOWI1ODg5NDZmNzBi
NzRhMjJlZmU0NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMC0yNSAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250
YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBVbnNraXAgdGVzdHMgdGhhdCBwYXNzIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjEtMTAtMjUgIENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdW1dQRV0gUkVHUkVTU0lPTihyMjg0NTk2KTogU2Nyb2xsaW5nIHNvbWV0aW1lcyBq
dW1wcyB0byB0aGUgdG9wIG9mIHRoZSBwYWdlIGR1cmluZyBzbW9vdGggbW91c2Utd2hlZWwgc2Ny
b2xsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlODg1Mjc2MzdmZGIyMWVk
MWNiMmUyOWQ3NmMyNzI2YjA5MDk2NjNmLi5kY2Q1OTVjMzRkYThiMjg5M2E3NTRiZGUxZWFjMjc3
N2UxNmQzYzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMS0xMC0yNSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtj
c3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBub3cgdGhh
dCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVk
LnR4dDoKKwogMjAyMS0xMC0yNSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMvZm9j
dXMtdmlzaWJsZS0wMDkuaHRtbCBmbGFreSBmYWlsdXJlIG9uIG1hY09TIHdrMQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggY2JmMjBmNDMwZDIwOTczZjJlMTIwNTU4MTQxMGMzZGY5ZDMxNGU0Zi4uNmJl
OWU3ZTA2MjFiNmUzY2Y5YTM1NjM4YTA2MWE3OTg0ODg1MmJhNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC00NzkwLDYgKzQ3OTAsMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHkt
YW5kLXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNv
bnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQpAQCAtNDgwNCw0OSArNDgwOCw4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAxMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xp
cC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
bGlwLTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jb250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LXNpemUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMzMuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQt
dmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KQEAgLTUxODUsNCArNTE0OCw0IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL21vdGlvbi9vZmZzZXQtcm90YXRlLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9tb3Rpb24vb2Zmc2V0LXJvdGF0ZS0wMDUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogCiAjIElQQyB0ZXN0IGZhaWxpbmcgaW4gRGVidWcgbW9k
ZSBkdWUgdG8gYXNzZXJ0LgotWyBEZWJ1ZyBdIGlwYy9zZW5kLWludmFsaWQtbWVzc2FnZS5odG1s
IFsgU2tpcCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorWyBEZWJ1ZyBdIGlwYy9zZW5k
LWludmFsaWQtbWVzc2FnZS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0t
Y29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJp
Y3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMzYmYx
ZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRlY2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
bGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2Zs
ZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsxLDEzIEBACiBT
dHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwogRmxleC1zdGFydDoK
IAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443783</attachid>
            <date>2021-11-10 01:31:19 -0800</date>
            <delta_ts>2021-11-10 02:57:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20211110093117.patch</filename>
            <type>text/plain</type>
            <size>37031</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTgxOWE1YmUyYzRiODkw
ODc4ODE3MzVhZmU5ODEwMTg0MTJhNTRmMC4uODc0Y2ZjNzU0ZjZhZmQ5Y2EyYjQ4MDk4YmU1NWY4
MmIzMTY5M2Q4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTExLTEwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZpZWRb
MV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8gY2hl
Y2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4gSXMg
c28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0IGlz
IGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBmaXhl
ZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAgICAt
IGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMgY2xp
cHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNoIGFs
c28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRlckVs
ZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50IG9u
IG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAgICog
cGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBseU92
ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5UGFn
aW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxjdWxh
dGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFj
a1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdB
bGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBkYXRl
RnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9naWNh
bFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxl
bWVudDo6UmVuZGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4ZWRI
ZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3ZlcmZs
b3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92
ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnBhaW50Q29udGFpbm1lbnRBcHBsaWVzIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OnNldFBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92
ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0
ZWx5UG9zaXRpb25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bWFp
bkF4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZs
ZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93UG9y
dGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVTdGFj
a2luZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NT
U3RhY2tpbmdDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpz
ZXRBbmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRh
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBj
b25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd1kgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zUGFpbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Om92ZXJmbG93SW5saW5lRGlyZWN0aW9uIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0Jsb2NrRGly
ZWN0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlW
aWV3cG9ydENsaXAgY29uc3QpOgorCiAyMDIxLTExLTEwICBNYW51ZWwgUmVnbyBDYXNhc25vdmFz
ICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFdhdnkgZGVjb3JhdGlvbnMgZG9uJ3QgY292
ZXIgdGhlIHdob2xlIGxpbmUgbGVuZ3RoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
ZjA4ZTJkNTZkYWMxZjYyMmJhMTk3ZDViOGFlN2MzNTUxMmNkMTY5NC4uMmM3ZDgxOWI5OTVlMWQz
NmFlOGM3MWJiYThmMTc0ODNlZTY4Mzg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApA
QCAtNjQ0LDggKzY0NCw4IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3cG9y
dChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgU2Nyb2xsYmFyCiAKICAgICBib29sIG92
ZXJyaWRlSGlkZGVuID0gZnJhbWUoKS5pc01haW5GcmFtZSgpICYmICgoZnJhbWUoKS5mcmFtZVNj
YWxlRmFjdG9yKCkgPiAxKSB8fCBoZWFkZXJIZWlnaHQoKSB8fCBmb290ZXJIZWlnaHQoKSk7CiAK
LSAgICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WCgpOwot
ICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dZKCk7Cisg
ICAgT3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7Cisg
ICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiAK
ICAgICBpZiAoaXM8UmVuZGVyU1ZHUm9vdD4ocmVuZGVyZXIpKSB7CiAgICAgICAgIC8vIEZJWE1F
OiBldmFsdWF0ZSBpZiB3ZSBjYW4gYWxsb3cgb3ZlcmZsb3cgZm9yIHRoZXNlIGNhc2VzIHRvby4K
QEAgLTcwOSwxMiArNzA5LDEyIEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseVBhZ2luYXRpb25Ub1Zp
ZXdwb3J0KCkKIAogICAgIGF1dG8qIGJvZHkgPSBkb2N1bWVudC0+Ym9keSgpOwogICAgIGlmIChi
b2R5ICYmIGJvZHktPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgZG9jdW1lbnRPckJvZHlSZW5kZXJl
ciA9IGRvY3VtZW50UmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6Vmlz
aWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KKyAgICAgICAg
ZG9jdW1lbnRPckJvZHlSZW5kZXJlciA9IGRvY3VtZW50UmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZs
b3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1l
bnRFbGVtZW50KSA/CiAgICAgICAgICAgICBib2R5LT5yZW5kZXJlcigpIDogJmRvY3VtZW50UmVu
ZGVyZXI7CiAgICAgfQogCiAgICAgUGFnaW5hdGlvbiBwYWdpbmF0aW9uOwotICAgIE92ZXJmbG93
IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZsb3dZKCk7
CisgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+ZWZmZWN0
aXZlT3ZlcmZsb3dZKCk7CiAgICAgaWYgKG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFnZWRYIHx8
IG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFnZWRZKSB7CiAgICAgICAgIHBhZ2luYXRpb24ubW9k
ZSA9IFdlYkNvcmU6OnBhZ2luYXRpb25Nb2RlRm9yUmVuZGVyU3R5bGUoZG9jdW1lbnRPckJvZHlS
ZW5kZXJlci0+c3R5bGUoKSk7CiAgICAgICAgIEdhcExlbmd0aCBjb2x1bW5HYXBMZW5ndGggPSBk
b2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLmNvbHVtbkdhcCgpOwpAQCAtNzc2LDcgKzc3
Niw3IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChT
Y3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgaWYgKGlzPEhUTUxCb2R5RWxlbWVu
dD4oKmJvZHlPckZyYW1lc2V0KSAmJiByb290UmVuZGVyZXIpIHsKICAgICAgICAgLy8gSXQncyBz
dWZmaWNpZW50IHRvIGp1c3QgY2hlY2sgdGhlIFggb3ZlcmZsb3csCiAgICAgICAgIC8vIHNpbmNl
IGl0J3MgaWxsZWdhbCB0byBoYXZlIHZpc2libGUgaW4gb25seSBvbmUgZGlyZWN0aW9uLgotICAg
ICAgICBpZiAocm9vdFJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpW
aXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkgeworICAgICAg
ICBpZiAocm9vdFJlbmRlcmVyLT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6Vmlz
aWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKICAgICAgICAg
ICAgIGF1dG8qIGJvZHlSZW5kZXJlciA9IGJvZHlPckZyYW1lc2V0LT5yZW5kZXJlcigpOwogICAg
ICAgICAgICAgaWYgKGJvZHlSZW5kZXJlcikgewogICAgICAgICAgICAgICAgIGFwcGx5T3ZlcmZs
b3dUb1ZpZXdwb3J0KCpib2R5UmVuZGVyZXIsIGhNb2RlLCB2TW9kZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCmluZGV4
IDM4ZTlmMTcxNTY3ODgwYWYzNjk0ZWQ5YzNiNTkwZDczYjhkMDZhYWUuLjI5ODBkZjA0NzdhMWEx
YjQzMjgyMjRjMTY5OGE2NzgwNTVjYWU3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC04NDYsNyArODQ2LDcg
QEAgTGF5b3V0VW5pdCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZv
ckNoaWxkKFJlbmRlckJveCYgY2hpbGQpIGMKICAgICAgICAgcmV0dXJuIG1pbkNvbnRlbnRGb3JD
aGlsZChjaGlsZCk7CiAKICAgICBjb25zdCBMZW5ndGgmIGNoaWxkTWluU2l6ZSA9IGlzUm93QXhp
cyA/IGNoaWxkLnN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkgOiBjaGlsZC5zdHlsZSgpLmxvZ2lj
YWxNaW5IZWlnaHQoKTsKLSAgICBib29sIG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dBeGlzID8g
Y2hpbGQuc3R5bGUoKS5vdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNp
YmxlIDogY2hpbGQuc3R5bGUoKS5vdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGU7CisgICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/IGNoaWxk
LmVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUg
OiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGU7CiAgICAgTGF5b3V0VW5pdCBiYXNlbGluZVNoaW0gPSBtX2FsZ29yaXRobS5iYXNlbGlu
ZU9mZnNldEZvckNoaWxkKGNoaWxkLCBncmlkQXhpc0ZvckRpcmVjdGlvbihkaXJlY3Rpb24oKSkp
OwogCiAgICAgaWYgKGNoaWxkTWluU2l6ZS5pc0F1dG8oKSAmJiBvdmVyZmxvd0lzVmlzaWJsZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBiYTMzNGU2Zjg2Y2E5
YzBiYWUwNGE5OWIyMTc3NWNlODUwNWFlNjg0Li4yOTQyZmQ1NDgzMmIzOTJjODUyMDQ2N2VhOGQ1
NWZiNjMxNWY4MjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAt
NDgzLDcgKzQ4Myw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNl
dEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlzRmxvYXRp
bmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwgd2hvc2Ug
b3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKCEoc3R5bGVUb1VzZS5v
dmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBzdHlsZVRvVXNlLm92ZXJmbG93WSgp
ID09IE92ZXJmbG93OjpWaXNpYmxlKSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5k
ZXJCbG9jaygpKSB7CisgICAgaWYgKCEoZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUgJiYgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpICYm
ICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKICAgICAgICAgYm9v
bCBib3hIYXNOb25WaXNpYmxlT3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICBpZiAoaXNCb2R5KCkp
IHsKICAgICAgICAgICAgIC8vIE92ZXJmbG93IG9uIHRoZSBib2R5IGNhbiBwcm9wYWdhdGUgdG8g
dGhlIHZpZXdwb3J0IHVuZGVyIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucy4KQEAgLTQ5Miw3ICs0
OTIsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICAgICAgICAgIC8v
ICgzKSBUaGUgcm9vdCBlbGVtZW50IGhhcyB2aXNpYmxlIG92ZXJmbG93LgogICAgICAgICAgICAg
aWYgKGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpCiAg
ICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5ib2R5KCkgPT0gZWxlbWVudCgpCi0gICAgICAg
ICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+c3R5
bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgICAgICAgICAgICAg
ICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPmVmZmVjdGl2ZU92
ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAgICAgICAgICAgYm94SGFz
Tm9uVmlzaWJsZU92ZXJmbG93ID0gZmFsc2U7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAg
LTY2Miw3ICs2NjIsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbFdp
ZHRoSW5GcmFnbWVudEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbAogICAgIGlmIChhbGxvd0lu
dHJpbnNpYyA9PSBBbGxvd0ludHJpbnNpYzo6Tm8gJiYgc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lk
dGgoKS5pc0ludHJpbnNpYygpKQogICAgICAgICByZXR1cm4gbG9naWNhbFdpZHRoOwogICAgIGF1
dG8gbWluTGVuZ3RoID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKTsKLSAgICBpZiAoc3R5
bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0aC5pc0F1dG8oKSAmJiAoc3R5bGVU
b1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgp
LmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNYXhDb250ZW50
KCkpICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSkgeworICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYgbWluTGVu
Z3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpIHx8IHN0
eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1VzZS5sb2dp
Y2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgZWZmZWN0aXZlT3ZlcmZsb3dJbmxpbmVEaXJl
Y3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAvLyBNYWtlIHN1cmUgd2Ug
YWN0dWFsbHkgdXNlZCB0aGUgYXNwZWN0IHJhdGlvLgogICAgICAgICBpZiAoc2hvdWxkQ29tcHV0
ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRpbygpKQogICAgICAgICAgICAgbWluTGVuZ3RoID0g
TGVuZ3RoKExlbmd0aFR5cGU6Ok1pbkNvbnRlbnQpOwpAQCAtNjc4LDcgKzY3OCw3IEBAIExheW91
dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5p
dCBsb2dpY2FsSGVpZ2h0LCBzCiAgICAgICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gc3RkOjptaW4o
bG9naWNhbEhlaWdodCwgbWF4SC52YWx1ZSgpKTsKICAgICB9CiAgICAgYXV0byBsb2dpY2FsTWlu
SGVpZ2h0ID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAgaWYgKGxvZ2ljYWxN
aW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9tQXNwZWN0
UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dC
bG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYgKGxvZ2ljYWxN
aW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9tQXNwZWN0
UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYmIGVmZmVjdGl2ZU92ZXJmbG93Qmxv
Y2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICBhdXRvIGhlaWdo
dEZyb21Bc3BlY3RSYXRpbyA9IGJsb2NrU2l6ZUZyb21Bc3BlY3RSYXRpbyhob3Jpem9udGFsQm9y
ZGVyQW5kUGFkZGluZ0V4dGVudCgpLCB2ZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmdFeHRlbnQoKSwg
TGF5b3V0VW5pdChzdHlsZSgpLmxvZ2ljYWxBc3BlY3RSYXRpbygpKSwgc3R5bGUoKS5ib3hTaXpp
bmdGb3JBc3BlY3RSYXRpbygpLCBsb2dpY2FsV2lkdGgoKSkgLSBib3JkZXJBbmRQYWRkaW5nTG9n
aWNhbEhlaWdodCgpOwogICAgICAgICBpZiAoZmlyc3RDaGlsZCgpKQogICAgICAgICAgICAgaGVp
Z2h0RnJvbUFzcGVjdFJhdGlvID0gc3RkOjptYXgoaGVpZ2h0RnJvbUFzcGVjdFJhdGlvLCAqaW50
cmluc2ljQ29udGVudEhlaWdodCk7CkBAIC00ODQ4LDcgKzQ4NDgsNyBAQCBib29sIFJlbmRlckJv
eDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1cm4gaXNJ
bmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlv
bmVkKCkgfHwgaGFzUG90ZW50aWFsbHlTY3JvbGxhYmxlT3ZlcmZsb3coKSB8fCBpc0ZsZXhJdGVt
SW5jbHVkaW5nRGVwcmVjYXRlZCgpCiAgICAgICAgIHx8IGlzVGFibGVDZWxsKCkgfHwgaXNUYWJs
ZUNhcHRpb24oKSB8fCBpc0ZpZWxkc2V0KCkgfHwgaXNXcml0aW5nTW9kZVJvb3QoKSB8fCBpc0Rv
Y3VtZW50RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpCi0gICAg
ICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBpc0dyaWRJdGVtKCkgfHwgc3R5bGUo
KS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29sdW1uU3Bh
bjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9vdDsKKyAg
ICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IHBhaW50Q29udGFpbm1lbnRBcHBs
aWVzKCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0
eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojphdm9pZHNG
bG9hdHMoKSBjb25zdApAQCAtNDkxNiw2ICs0OTE2LDggQEAgTGF5b3V0UmVjdCBSZW5kZXJCb3g6
OmFwcGx5VmlzdWFsRWZmZWN0T3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYgYm9yZGVyQm94KSBj
b24KIAogdm9pZCBSZW5kZXJCb3g6OmFkZE92ZXJmbG93RnJvbUNoaWxkKGNvbnN0IFJlbmRlckJv
eCogY2hpbGQsIGNvbnN0IExheW91dFNpemUmIGRlbHRhKQogeworICAgIGlmIChwYWludENvbnRh
aW5tZW50QXBwbGllcygpKQorICAgICAgICByZXR1cm47CiAgICAgLy8gTmV2ZXIgYWxsb3cgZmxv
dyB0aHJlYWRzIHRvIHByb3BhZ2F0ZSBvdmVyZmxvdyB1cCB0byBhIHBhcmVudC4KICAgICBpZiAo
Y2hpbGQtPmlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXgg
MjQ1MDkxOWY0MjY0NDYzNzQyZWNkODBiOWQyZjY0NDJkZjFlMDFmMS4uNWNjZjE3YTkyNzllMzU3
ZjdkZjc1Mzk0OGJjZDRkNzc5YWMzM2I4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0yMTEsNiArMjExLDcgQEAgdm9pZCBS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRIb3Jpem9udGFs
V3JpdGluZ01vZGUoc3R5bGVUb1VzZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKTsKICAgICBp
ZiAoc3R5bGVUb1VzZS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQogICAgICAgICB2aWV3
KCkuZnJhbWVWaWV3KCkuc2V0SGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKHRydWUpOworICAgIHNl
dFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhp
cykpOwogfQogCiBzdGF0aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRpb25PZmZz
ZXRzKGNvbnN0IFJlbmRlck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5jcHAKaW5kZXggZGI2YTFkYzU5YjQyYTlkNjZmYmVkNGY5NzBhMGI1MzFj
OGIyMDQ5Ny4uMjEwZjY3N2JhNTg2NjZmNDk1YjJlODJlZGU4YzI4NDc4OTczOGIxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtOTgsNyArOTgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUmVuZGVy
RWxlbWVudCk7CiAKIHN0cnVjdCBTYW1lU2l6ZUFzUmVuZGVyRWxlbWVudCA6IHB1YmxpYyBSZW5k
ZXJPYmplY3QgewotICAgIHVuc2lnbmVkIGJpdGZpZWxkcyA6IDI1OworICAgIHVuc2lnbmVkIGJp
dGZpZWxkcyA6IDI2OwogICAgIHZvaWQqIGZpcnN0Q2hpbGQ7CiAgICAgdm9pZCogbGFzdENoaWxk
OwogICAgIFJlbmRlclN0eWxlIHN0eWxlOwpAQCAtMTI2LDYgKzEyNiw3IEBAIGlubGluZSBSZW5k
ZXJFbGVtZW50OjpSZW5kZXJFbGVtZW50KENvbnRhaW5lck5vZGUmIGVsZW1lbnRPckRvY3VtZW50
LCBSZW5kZXJTdHlsCiAgICAgLCBtX2lzUmVnaXN0ZXJlZEZvclZpc2libGVJblZpZXdwb3J0Q2Fs
bGJhY2soZmFsc2UpCiAgICAgLCBtX3Zpc2libGVJblZpZXdwb3J0U3RhdGUoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFZpc2libGVJblZpZXdwb3J0U3RhdGU6OlVua25vd24pKQogICAgICwgbV9kaWRD
b250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudChmYWxzZSkKKyAgICAsIG1fcGFp
bnRDb250YWlubWVudEFwcGxpZXMoZmFsc2UpCiAgICAgLCBtX2ZpcnN0Q2hpbGQobnVsbHB0cikK
ICAgICAsIG1fbGFzdENoaWxkKG51bGxwdHIpCiAgICAgLCBtX3N0eWxlKFdURk1vdmUoc3R5bGUp
KQpAQCAtMjMyMCw3ICsyMzIxLDcgQEAgc3RhdGljIFJlbmRlck9iamVjdDo6QmxvY2tDb250ZW50
SGVpZ2h0VHlwZSBpbmNsdWRlTm9uRml4ZWRIZWlnaHQoY29uc3QgUmVuZGVyT2IKICAgICAgICAg
aWYgKGlzPFJlbmRlckJsb2NrPihyZW5kZXJlcikpIHsKICAgICAgICAgICAgIC8vIEZvciBmaXhl
ZCBoZWlnaHQgc3R5bGVzLCBpZiB0aGUgb3ZlcmZsb3cgc2l6ZSBvZiB0aGUgZWxlbWVudCBzcGls
bHMgb3V0IG9mIHRoZSBzcGVjaWZpZWQKICAgICAgICAgICAgIC8vIGhlaWdodCwgYXNzdW1lIHdl
IGNhbiBhcHBseSB0ZXh0IGF1dG8tc2l6aW5nLgotICAgICAgICAgICAgaWYgKHN0eWxlLm92ZXJm
bG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlCisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8UmVu
ZGVyQmxvY2s+KHJlbmRlcmVyKS5lZmZlY3RpdmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6Vmlz
aWJsZQogICAgICAgICAgICAgICAgICYmIHN0eWxlLmhlaWdodCgpLnZhbHVlKCkgPCBkb3duY2Fz
dDxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpLmxheW91dE92ZXJmbG93UmVjdCgpLm1heFkoKSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gUmVuZGVyT2JqZWN0OjpPdmVyZmxvd0hlaWdodDsKICAgICAg
ICAgfQpAQCAtMjQxMCw0ICsyNDExLDIwIEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6c2V0QmFja2Ry
b3BSZW5kZXJlcihSZW5kZXJCbG9ja0Zsb3cmIHJlbmRlcmVyKQogICAgIGVuc3VyZVJhcmVEYXRh
KCkuYmFja2Ryb3BSZW5kZXJlciA9IHJlbmRlcmVyOwogfQogCitPdmVyZmxvdyBSZW5kZXJFbGVt
ZW50OjplZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dYID0g
c3R5bGUoKS5vdmVyZmxvd1goKTsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMoKSAm
JiBvdmVyZmxvd1ggPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBPdmVyZmxv
dzo6Q2xpcDsKKyAgICByZXR1cm4gb3ZlcmZsb3dYOworfQorCitPdmVyZmxvdyBSZW5kZXJFbGVt
ZW50OjplZmZlY3RpdmVPdmVyZmxvd1koKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dZID0g
c3R5bGUoKS5vdmVyZmxvd1koKTsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMoKSAm
JiBvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBPdmVyZmxv
dzo6Q2xpcDsKKyAgICByZXR1cm4gb3ZlcmZsb3dZOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCAyMTkwMTRjYWNjNTQxMWM4ZWU2NWJiNTBkNThh
ZTBkOTE5MWFlZTYzLi4zYjAyYzhmYzA5MzUwZjM4YWVmNmQxYWZlMDIzM2M3NDMyOGMwYzk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTIxOCw2ICsyMTgs
OSBAQCBwdWJsaWM6CiAgICAgYm9vbCBkaWRDb250aWJ1dGVUb1Zpc3VhbGx5Tm9uRW1wdHlQaXhl
bENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5
UGl4ZWxDb3VudDsgfQogICAgIHZvaWQgc2V0RGlkQ29udGlidXRlVG9WaXN1YWxseU5vbkVtcHR5
UGl4ZWxDb3VudCgpIHsgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3Vu
dCA9IHRydWU7IH0KIAorICAgIGJvb2wgcGFpbnRDb250YWlubWVudEFwcGxpZXMoKSBjb25zdCB7
IHJldHVybiBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzOyB9CisgICAgdm9pZCBzZXRQYWludENv
bnRhaW5tZW50QXBwbGllcyhib29sIGIpIHsgbV9wYWludENvbnRhaW5tZW50QXBwbGllcyA9IGI7
IH0KKwogICAgIGJvb2wgcmVwYWludEZvclBhdXNlZEltYWdlQW5pbWF0aW9uc0lmTmVlZGVkKGNv
bnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBDYWNoZWRJbWFnZSYpOwogICAgIGJvb2wgaGFzUGF1
c2VkSW1hZ2VBbmltYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNQYXVzZWRJbWFnZUFuaW1h
dGlvbnM7IH0KICAgICB2b2lkIHNldEhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucyhib29sIGIpIHsg
bV9oYXNQYXVzZWRJbWFnZUFuaW1hdGlvbnMgPSBiOyB9CkBAIC0yNjgsNiArMjcxLDExIEBAIHB1
YmxpYzoKIAogICAgIFJlZmVyZW5jZWRTVkdSZXNvdXJjZXMmIGVuc3VyZVJlZmVyZW5jZWRTVkdS
ZXNvdXJjZXMoKTsKIAorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0Owor
ICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0OworICAgIE92ZXJmbG93IGVm
ZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgOiBlZmZlY3Rp
dmVPdmVyZmxvd1koKTsgfQorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJl
Y3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBlZmZlY3RpdmVPdmVyZmxvd1koKSA6IGVmZmVjdGl2ZU92ZXJmbG93WCgpOyB9CisKIHByb3Rl
Y3RlZDoKICAgICBlbnVtIEJhc2VUeXBlRmxhZyB7CiAgICAgICAgIFJlbmRlckxheWVyTW9kZWxP
YmplY3RGbGFnICA9IDEgPDwgMCwKQEAgLTM5MSw2ICszOTksOCBAQCBwcml2YXRlOgogCiAgICAg
dW5zaWduZWQgbV9kaWRDb250cmlidXRlVG9WaXN1YWxseU5vbkVtcHR5UGl4ZWxDb3VudCA6IDE7
CiAKKyAgICB1bnNpZ25lZCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzIDogMTsKKwogICAgIFJl
bmRlck9iamVjdCogbV9maXJzdENoaWxkOwogICAgIFJlbmRlck9iamVjdCogbV9sYXN0Q2hpbGQ7
CiAKQEAgLTQ1Niw3ICs0NjYsOCBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250
YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICAvLyBGSVhNRTogd2lsbC1j
aGFuZ2Ugc2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2NrcyBvbiBpbmxpbmUgYm94ZXMgKGJ1
ZyAyMjUwMzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hh
bmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JP
dXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCi0g
ICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpOworICAgICAgICB8
fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBpbmxpbmUgYm9vbCBSZW5kZXJFbGVt
ZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKQEAgLTQ2
Nyw2ICs0NzgsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1
dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2so
KSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRl
c0NvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlbHlQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlz
U1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1l
bnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykK
ICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDEwNDVkMDk2YzRkNmJhMWViYWI4MDFl
Y2Y0OTI5Yjg1YjAyNWNhZDkuLmRhYTU4OTc5MzQ5YTVkOWVkZDk0MjAwZmYxNmU5Y2IyOGFkNTVi
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cApAQCAtMTgwNSwxNSArMTgwNSwxNSBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhh
c0ludHJpbnNpY01haW5BeGlzU2l6ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQogT3ZlcmZsb3cg
UmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25zdCBSZW5kZXJC
b3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0gICAgICAg
IHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOwotICAgIHJldHVybiBjaGlsZC5zdHls
ZSgpLm92ZXJmbG93WSgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dY
KCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogfQogCiBPdmVyZmxv
dyBSZW5kZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25zdCBSZW5k
ZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0gICAg
ICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOwotICAgIHJldHVybiBjaGlsZC5z
dHlsZSgpLm92ZXJmbG93WCgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZs
b3dZKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwogfQogCiBib29s
IFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhhc1BlcmNlbnRIZWlnaHREZXNjZW5kYW50cyhjb25z
dCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKaW5kZXggYWZiMjdjY2E2NzFkZTZh
YmY3YTMyOWIyMWM3ODExNzAwY2YyOTUzZS4uNzk3MGYyZmQ3ODEzNjVlNjRjMTUxYjQzZTJjMzM3
YzAyZTJkOWNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZy
YWdtZW50Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RnJhZ21lbnRDb250YWluZXIuY3BwCkBAIC0xNTcsMTQgKzE1NywxNCBAQCBMYXlvdXRSZWN0IFJl
bmRlckZyYWdtZW50Q29udGFpbmVyOjpvdmVyZmxvd1JlY3RGb3JGcmFnbWVudGVkRmxvd1BvcnRp
b24oY29uc3QgTAogICAgIGlmIChtX2ZyYWdtZW50ZWRGbG93LT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpKSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGlzRmlyc3RQb3J0aW9uID8gZnJh
Z21lbnRlZEZsb3dPdmVyZmxvdy55KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKTsK
ICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6bWF4KGZyYWdt
ZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFko
KSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKTsKLSAgICAgICAgYm9vbCBjbGlw
WCA9IHN0eWxlKCkub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CisgICAgICAgIGJv
b2wgY2xpcFggPSBlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKICAg
ICAgICAgTGF5b3V0VW5pdCBtaW5YID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0
LngoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpLCBmcmFnbWVudGVk
Rmxvd092ZXJmbG93LngoKSk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGNsaXBYID8gZnJh
Z21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCkgOiBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhYKCkpOwogICAgICAg
ICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAtIG1pblgsIG1heFkgLSBt
aW5ZKTsKICAgICB9IGVsc2UgewogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBpc0ZpcnN0UG9y
dGlvbiA/IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9u
UmVjdC54KCk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGlzTGFzdFBvcnRpb24gPyBzdGQ6
Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dPdmVy
Zmxvdy5tYXhYKCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCk7Ci0gICAgICAg
IGJvb2wgY2xpcFkgPSBzdHlsZSgpLm92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpWaXNpYmxlOwor
ICAgICAgICBib29sIGNsaXBZID0gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZp
c2libGU7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGNsaXBZID8gZnJhZ21lbnRlZEZsb3dQ
b3J0aW9uUmVjdC55KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSwg
ZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy55KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBj
bGlwWSA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpIDogc3RkOjptYXgoZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdC55KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WSgpKTsK
ICAgICAgICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBt
YXhZIC0gbWluWSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW5saW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKaW5kZXgg
MzYwZGIzY2E2NDQ4ZWQxMzg4ZGI3Yzk1MDBmYmIyNmQyMTM2YmU4ZC4uMGExNzFhZjhiYmFkY2Fi
MGUwYmE0MTZkMmEwOTg3OThiZWQyNzQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuaApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG1heUFmZmVj
dExheW91dCgpIGNvbnN0OwogCi0gICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaGFz
Q2xpcFBhdGgoKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgpIHx8IGhhc1J1
bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQorICAgIGJvb2wgcmVxdWlyZXNMYXllcigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzSW5GbG93UG9zaXRpb25lZCgpIHx8IGNyZWF0ZXNH
cm91cCgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0
aGlzKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgpIHx8IGhhc1J1bm5pbmdB
Y2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB3aWxsQmVE
ZXN0cm95ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCmluZGV4IDYyMzNiNWNjNTZmYjk4N2Y2MGRjNjY5YTc4NTQ1OGU3MjdkYjI4ZjUuLjY5MDM3
ZGFkZWI2MzUyYzljYTYxNDAwM2JiZDU0M2YxM2IwNDlmY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU2LDYgKzU1Niw3IEBAIHN0YXRpYyBib29sIGNh
bkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgICAg
IHx8IHJlbmRlcmVyLmlzUG9zaXRpb25lZCgpIC8vIE5vdGUgdGhhdCB0aGlzIG9ubHkgY3JlYXRl
cyBzdGFja2luZyBjb250ZXh0IGluIGNvbmp1bmN0aW9uIHdpdGggZXhwbGljaXQgei1pbmRleC4K
ICAgICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAgICAgIHx8IHJlbmRlcmVy
LnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRh
aW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAhcmVuZGVyZXIuc3R5bGUoKS5oYXNBdXRvVXNl
ZFpJbmRleCgpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBy
ZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KCkp
CiAgICAgICAgIHx8IGxheWVyLmVzdGFibGlzaGVzVG9wTGF5ZXIoKTsKQEAgLTU4Nyw3ICs1ODgs
NyBAQCBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KCkgY29uc3QKIAog
Ym9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQoKSBjb25zdAogewot
ICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgaXNS
ZW5kZXJWaWV3TGF5ZXIoKTsKKyAgICByZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRv
VXNlZFpJbmRleCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSB8
fCBpc1JlbmRlclZpZXdMYXllcigpOwogfQogCiBib29sIFJlbmRlckxheWVyOjpzZXRJc05vcm1h
bEZsb3dPbmx5KGJvb2wgaXNOb3JtYWxGbG93T25seSkKQEAgLTEwODksNiArMTA5MCwxMSBAQCBM
YXlvdXRSZWN0IFJlbmRlckxheWVyOjpyZXBhaW50UmVjdEluY2x1ZGluZ05vbkNvbXBvc2l0aW5n
RGVzY2VuZGFudHMoKSBjb25zdAogdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0b3JDaGFpbkhh
c1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpCiB7CiAgICAgZm9yIChSZW5kZXJMYXllciog
bGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50KCkpIHsKKyAgICAgICAg
aWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgeworICAgICAgICAg
ICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSB0cnVlOworICAgICAgICAgICAg
bV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSA9IGZhbHNlOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFsYXllci0+bV9oYXNTZWxmUGFpbnRp
bmdMYXllckRlc2NlbmRhbnREaXJ0eSAmJiBsYXllci0+aGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50KCkpCiAgICAgICAgICAgICBicmVhazsKIApAQCAtMTQ4OSw2ICsxNDk1LDExIEBAIHZv
aWQgUmVuZGVyTGF5ZXI6OmRpcnR5QW5jZXN0b3JDaGFpblZpc2libGVEZXNjZW5kYW50U3RhdHVz
KCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNWaXNpYmxlRGVzY2VuZGFu
dCgpCiB7CiAgICAgZm9yIChSZW5kZXJMYXllciogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIg
PSBsYXllci0+cGFyZW50KCkpIHsKKyAgICAgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlu
bWVudChyZW5kZXJlcigpKSkgeworICAgICAgICAgICAgbV9oYXNWaXNpYmxlRGVzY2VuZGFudCA9
IHRydWU7CisgICAgICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50U3RhdHVzRGlydHkgPSBmYWxz
ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGlmICghbGF5ZXItPm1f
dmlzaWJsZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSAmJiBsYXllci0+aGFzVmlzaWJsZURlc2NlbmRh
bnQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC00NTI4LDYgKzQ1MzksMTAgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNs
aXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBS
ZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5vdmVyZmxvd0NsaXBS
ZWN0KCkpKTsKICAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzUG9zaXRpb25lZCgpKQogICAg
ICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3Zl
cmZsb3dDbGlwLCBjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgaWYgKHNo
b3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgeworICAgICAgICAgICAgICAg
IGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBj
bGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRG
aXhlZENsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5maXhl
ZENsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAocmVu
ZGVyZXIoKS5oYXNDbGlwKCkpIHsKICAgICAgICAgICAgIExheW91dFJlY3QgbmV3UG9zQ2xpcCA9
IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkuY2xpcFJlY3Qob2Zmc2V0LCBudWxscHRy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZmI5MTkw
YWI1YTU3ZGIxNzcxZjBlOTNkMjI1Njg5ZWRiNTFkM2E3Ni4uMzljNzA0Y2QxYWE0OGViZDI1NWQ3
OTdiN2QyY2QzMjc3NmNmZTNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKQEAgLTI1NDYsMyArMjU0Niw5IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlT
dHlsZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gKCFyZW5kZXJlci5pc0lubGluZSgpIHx8
IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRl
eHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRp
b24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJl
cikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFy
ZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkg
JiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwg
cmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAppbmRleCA3ZDBiZWJkYmEyNGEzNWViMDg5Y2Y4ZGUzMzViMDUxZDk0
NDI0N2QzLi45ZjI5NDc1OTdlMDZkYjNjNjZjNmM2Y2QzNmFhOWQ0ZDhhMTZlNTg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMjA5LDYgKzEyMDksNyBAQCB2
b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiBib29sIHNob3Vs
ZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNob3Vs
ZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91bGRB
cHBseVN0eWxlQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFw
cGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCmluZGV4IGZkZDNmMzBjNGUyZTM0NzE4NjgzZGZmNzVhODJjZjA1M2NkZTQxNWYuLjZiMWFj
ZmNmZGEyOWUxZjA5MzNlZjA1OGQ1OWExYWNlY2ZkZWJlZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zMzEsOCArMzMxLDYgQEAgcHVibGlj
OgogICAgIAogICAgIE92ZXJmbG93IG92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PE92ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WCk7IH0KICAgICBPdmVy
ZmxvdyBvdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4obV9u
b25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1kpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dJbmxp
bmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
b3ZlcmZsb3dYKCkgOiBvdmVyZmxvd1koKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93QmxvY2tE
aXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gb3Zl
cmZsb3dZKCkgOiBvdmVyZmxvd1goKTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUoKSBj
b25zdCB7IHJldHVybiBvdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBvdmVyZmxv
d1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsgfQogCiAgICAgT3ZlcnNjcm9sbEJlaGF2aW9yIG92
ZXJzY3JvbGxCZWhhdmlvclgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyc2Nyb2xs
QmVoYXZpb3I+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm92ZXJzY3JvbGxCZWhhdmlvclgpOyB9
CkBAIC01MzIsNiArNTMwLDcgQEAgcHVibGljOgogICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBj
b25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENv
bnRhaW5tZW50OjpMYXlvdXQpOyB9CiAgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJl
dHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50
OjpTaXplKTsgfQogICAgIGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxlKTsg
fQorICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVy
aXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAgIEJv
eEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdu
bWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGln
bik7IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0K
ICAgICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCBjYzEzMWY0YzI3M2Y3ODY0Mjc4ZWMy
OWMxMmFkNjBlMjlmOWIyYjE2Li40NDUxMDkwMjFjZTcxZmUzOGU4YjE2Njk0OTZiNDYyNThhODJk
OTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jv
b3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHAKQEAgLTIxNSw3ICsyMTUsNyBAQCBib29sIFJlbmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5Vmll
d3BvcnRDbGlwKCkgY29uc3QKICAgICAvLyB0aGUgb3V0ZXJtb3N0IHN2ZyBpcyBjbGlwcGVkIGlm
IGF1dG8sIGFuZCBzdmcgZG9jdW1lbnQgcm9vdHMgYXJlIGFsd2F5cyBjbGlwcGVkCiAgICAgLy8g
V2hlbiB0aGUgc3ZnIGlzIHN0YW5kLWFsb25lIChpc0RvY3VtZW50RWxlbWVudCgpID09IHRydWUp
IHRoZSB2aWV3cG9ydCBjbGlwcGluZyBzaG91bGQgYWx3YXlzCiAgICAgLy8gYmUgYXBwbGllZCwg
bm90aW5nIHRoYXQgdGhlIHdpbmRvdyBzY3JvbGxiYXJzIHNob3VsZCBiZSBoaWRkZW4gaWYgb3Zl
cmZsb3c9aGlkZGVuLgotICAgIHJldHVybiBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93
OjpIaWRkZW4KKyAgICByZXR1cm4gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6Okhp
ZGRlbgogICAgICAgICB8fCBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpBdXRvCiAg
ICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlNjcm9sbAogICAgICAg
ICB8fCB0aGlzLT5pc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDM1YjBjZjg1
YzMxYzQ5Y2QxM2Q5ZGM3YmIyZmU1ZTdjYTA1MWMzNS4uMGRlNzI0M2EzYmFlZWE5Y2I4ZDc3ZTBk
NDY1NzgxMzY3YmRhY2I2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTExLTEwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisgICAg
ICAgIFVuc2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0
aW9uczoKKwogMjAyMS0xMS0xMCAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFu
ZCBiYXNlbGluZXMgYWZ0ZXIgcjI4NDUyMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggMmQyY2NlYWI3MTg5MWNiYmE0NjJmZTc4NmFlMmRkNjQ5ZGY5NGFjYy4uOTdiODU4NDEyYmU4
NzljN2EzMTFjNjg1ODllN2M1ZThjZmZlMzQ2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTEtMTAgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlh
LmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxhbiBCdWp0YXMuCisKKyAgICAgICAgQWRqdXN0IHRlc3QgZXhw
ZWN0YXRpb24gbm93IHRoYXQgY29udGFpbjogc3RyaWN0IGlzIHN1cHBvcnRlZC4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5z
LXN0cmljdC1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTEtMTAgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2F2eSBkZWNvcmF0aW9ucyBkb24ndCBj
b3ZlciB0aGUgd2hvbGUgbGluZSBsZW5ndGgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDA0YzcwNWVk
MGYyOWJkMmE5YzgwM2E3OGYxZDUwNTZiMjVmZmMwYWIuLmE3M2VlZjBiMGEwNTM1Y2ZiNTEzN2Mx
YmJjMTUwMzgzZTk4ZDIzMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDczOSw2ICs0NzM5LDEw
IEBAIHdlYmFuaW1hdGlvbnMvdHJhbnNsYXRlLXByb3BlcnR5LWFuZC10cmFuc2xhdGUtYW5pbWF0
aW9uLXdpdGgtZGVsYXktb24tZm9yY2VkLWxhCiAjIENTUyBjb250YWlubWVudCB0ZXN0cyB0aGF0
IGZhaWwKICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50
LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ3NTMsNDkg
KzQ3NTcsOCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTAuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTku
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wNDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDA2Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jbGlwLTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAt
MDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFpbmluZy1i
bG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWlu
aW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZvcm1h
dHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1m
b3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVuZGVudC1m
b3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6
ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDExLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMyLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMz
LnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9m
bGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250
YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThl
ZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJiMmRlY2Ig
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
bGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsx
LDEzIEBACiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJvdwogRmxl
eC1zdGFydDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443791</attachid>
            <date>2021-11-10 02:57:53 -0800</date>
            <delta_ts>2021-11-10 04:18:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20211110105751.patch</filename>
            <type>text/plain</type>
            <size>37714</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTgxOWE1YmUyYzRiODkw
ODc4ODE3MzVhZmU5ODEwMTg0MTJhNTRmMC4uNzk1YjdlMmFiMjQ4MjcyM2NmNzAwYmQ0MmE0NzNh
YzE2ZWE0MDRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTExLTEwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZpZWRb
MV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8gY2hl
Y2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4gSXMg
c28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0IGlz
IGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBmaXhl
ZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAgICAt
IGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMgY2xp
cHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNoIGFs
c28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRlckVs
ZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50IG9u
IG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAgICog
cGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBseU92
ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5UGFn
aW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxjdWxh
dGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFj
a1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdB
bGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBkYXRl
RnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9naWNh
bFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eWxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93SW5saW5l
RGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVj
dGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25l
ZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxv
d0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94Ojpj
cm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJhZ21l
bnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93UG9ydGlvbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVTdGFja2luZ0NvbnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250
ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNo
YWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRhbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6
OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpwYWludENvbnRhaW5t
ZW50QXBwbGllcyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6b3ZlcmZsb3dZIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250YWluc1BhaW50IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0lubGluZURpcmVjdGlvbiBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6b3ZlcmZsb3dCbG9ja0Rp
cmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5
Vmlld3BvcnRDbGlwIGNvbnN0KToKKwogMjAyMS0xMS0xMCAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBXYXZ5IGRlY29yYXRpb25zIGRvbid0IGNv
dmVyIHRoZSB3aG9sZSBsaW5lIGxlbmd0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4
IGYwOGUyZDU2ZGFjMWY2MjJiYTE5N2Q1YjhhZTdjMzU1MTJjZDE2OTQuLjJjN2Q4MTliOTk1ZTFk
MzZhZThjNzFiYmE4ZjE3NDgzZWU2ODM4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
QEAgLTY0NCw4ICs2NDQsOCBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3Bv
cnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogCiAgICAgYm9vbCBv
dmVycmlkZUhpZGRlbiA9IGZyYW1lKCkuaXNNYWluRnJhbWUoKSAmJiAoKGZyYW1lKCkuZnJhbWVT
Y2FsZUZhY3RvcigpID4gMSkgfHwgaGVhZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0KCkpOwog
Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKTsK
LSAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WSgpOwor
ICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwor
ICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwog
CiAgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KHJlbmRlcmVyKSkgewogICAgICAgICAvLyBGSVhN
RTogZXZhbHVhdGUgaWYgd2UgY2FuIGFsbG93IG92ZXJmbG93IGZvciB0aGVzZSBjYXNlcyB0b28u
CkBAIC03MDksMTIgKzcwOSwxMiBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9W
aWV3cG9ydCgpCiAKICAgICBhdXRvKiBib2R5ID0gZG9jdW1lbnQtPmJvZHkoKTsKICAgICBpZiAo
Ym9keSAmJiBib2R5LT5yZW5kZXJlcigpKSB7Ci0gICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVy
ZXIgPSBkb2N1bWVudFJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CisgICAgICAg
IGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJm
bG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3Vt
ZW50RWxlbWVudCkgPwogICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIoKSA6ICZkb2N1bWVudFJl
bmRlcmVyOwogICAgIH0KIAogICAgIFBhZ2luYXRpb24gcGFnaW5hdGlvbjsKLSAgICBPdmVyZmxv
dyBvdmVyZmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WSgp
OworICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPmVmZmVj
dGl2ZU92ZXJmbG93WSgpOwogICAgIGlmIChvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWCB8
fCBvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWSkgewogICAgICAgICBwYWdpbmF0aW9uLm1v
ZGUgPSBXZWJDb3JlOjpwYWdpbmF0aW9uTW9kZUZvclJlbmRlclN0eWxlKGRvY3VtZW50T3JCb2R5
UmVuZGVyZXItPnN0eWxlKCkpOwogICAgICAgICBHYXBMZW5ndGggY29sdW1uR2FwTGVuZ3RoID0g
ZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5jb2x1bW5HYXAoKTsKQEAgLTc3Niw3ICs3
NzYsNyBAQCB2b2lkIEZyYW1lVmlldzo6Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQo
U2Nyb2xsYmFyTW9kZSYgaE1vZGUsIFNjcm9sbGJhcgogICAgIGlmIChpczxIVE1MQm9keUVsZW1l
bnQ+KCpib2R5T3JGcmFtZXNldCkgJiYgcm9vdFJlbmRlcmVyKSB7CiAgICAgICAgIC8vIEl0J3Mg
c3VmZmljaWVudCB0byBqdXN0IGNoZWNrIHRoZSBYIG92ZXJmbG93LAogICAgICAgICAvLyBzaW5j
ZSBpdCdzIGlsbGVnYWwgdG8gaGF2ZSB2aXNpYmxlIGluIG9ubHkgb25lIGRpcmVjdGlvbi4KLSAg
ICAgICAgaWYgKHJvb3RSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKKyAgICAg
ICAgaWYgKHJvb3RSZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CiAgICAgICAg
ICAgICBhdXRvKiBib2R5UmVuZGVyZXIgPSBib2R5T3JGcmFtZXNldC0+cmVuZGVyZXIoKTsKICAg
ICAgICAgICAgIGlmIChib2R5UmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBhcHBseU92ZXJm
bG93VG9WaWV3cG9ydCgqYm9keVJlbmRlcmVyLCBoTW9kZSwgdk1vZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRl
eCAzOGU5ZjE3MTU2Nzg4MGFmMzY5NGVkOWMzYjU5MGQ3M2I4ZDA2YWFlLi4yOTgwZGYwNDc3YTFh
MWI0MzI4MjI0YzE2OThhNjc4MDU1Y2FlN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApAQCAtODQ2LDcgKzg0Niw3
IEBAIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6Om1pblNpemVG
b3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkKSBjCiAgICAgICAgIHJldHVybiBtaW5Db250ZW50Rm9y
Q2hpbGQoY2hpbGQpOwogCiAgICAgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUgPSBpc1Jvd0F4
aXMgPyBjaGlsZC5zdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpIDogY2hpbGQuc3R5bGUoKS5sb2dp
Y2FsTWluSGVpZ2h0KCk7Ci0gICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/
IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6Vmlz
aWJsZSA6IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93
OjpWaXNpYmxlOworICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBjaGls
ZC5lZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
IDogY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpW
aXNpYmxlOwogICAgIExheW91dFVuaXQgYmFzZWxpbmVTaGltID0gbV9hbGdvcml0aG0uYmFzZWxp
bmVPZmZzZXRGb3JDaGlsZChjaGlsZCwgZ3JpZEF4aXNGb3JEaXJlY3Rpb24oZGlyZWN0aW9uKCkp
KTsKIAogICAgIGlmIChjaGlsZE1pblNpemUuaXNBdXRvKCkgJiYgb3ZlcmZsb3dJc1Zpc2libGUp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYmEzMzRlNmY4NmNh
OWMwYmFlMDRhOTliMjE3NzVjZTg1MDVhZTY4NC4uMjk0MmZkNTQ4MzJiMzkyYzg1MjA0NjdlYThk
NTVmYjYzMTVmODIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAg
LTQ4Myw3ICs0ODMsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBz
ZXRGbG9hdGluZyghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0
aW5nKCkpOwogCiAgICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3Nl
IG92ZXJmbG93IGFwcGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAgIGlmICghKHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd1ko
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVu
ZGVyQmxvY2soKSkgeworICAgIGlmICghKGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93
OjpWaXNpYmxlICYmIGVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAm
JiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJv
b2wgYm94SGFzTm9uVmlzaWJsZU92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzQm9keSgp
KSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4gcHJvcGFnYXRlIHRv
IHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCkBAIC00OTIsNyAr
NDkyLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgICAgICAgICAv
LyAoMykgVGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4KICAgICAgICAgICAg
IGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKQog
ICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1lbnQoKQotICAgICAg
ICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPnN0
eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICAgICAgICAgICAg
ICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5lZmZlY3RpdmVP
dmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAgICAgICAgIGJveEhh
c05vblZpc2libGVPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBA
IC02NjIsNyArNjYyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxX
aWR0aEluRnJhZ21lbnRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWwKICAgICBpZiAoYWxsb3dJ
bnRyaW5zaWMgPT0gQWxsb3dJbnRyaW5zaWM6Ok5vICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldp
ZHRoKCkuaXNJbnRyaW5zaWMoKSkKICAgICAgICAgcmV0dXJuIGxvZ2ljYWxXaWR0aDsKICAgICBh
dXRvIG1pbkxlbmd0aCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCk7Ci0gICAgaWYgKHN0
eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxl
VG9Vc2UubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgo
KS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVu
dCgpKSAmJiBzdHlsZVRvVXNlLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUpIHsKKyAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxl
bmd0aC5pc0F1dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBz
dHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9n
aWNhbFdpZHRoKCkuaXNNYXhDb250ZW50KCkpICYmIGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGly
ZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHdl
IGFjdHVhbGx5IHVzZWQgdGhlIGFzcGVjdCByYXRpby4KICAgICAgICAgaWYgKHNob3VsZENvbXB1
dGVMb2dpY2FsV2lkdGhGcm9tQXNwZWN0UmF0aW8oKSkKICAgICAgICAgICAgIG1pbkxlbmd0aCA9
IExlbmd0aChMZW5ndGhUeXBlOjpNaW5Db250ZW50KTsKQEAgLTY3OCw3ICs2NzgsNyBAQCBMYXlv
dXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVu
aXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IHN0ZDo6bWlu
KGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAgfQogICAgIGF1dG8gbG9naWNhbE1p
bkhlaWdodCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGlmIChsb2dpY2Fs
TWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVj
dFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93
QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChsb2dpY2Fs
TWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVj
dFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBlZmZlY3RpdmVPdmVyZmxvd0Js
b2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgYXV0byBoZWln
aHRGcm9tQXNwZWN0UmF0aW8gPSBibG9ja1NpemVGcm9tQXNwZWN0UmF0aW8oaG9yaXpvbnRhbEJv
cmRlckFuZFBhZGRpbmdFeHRlbnQoKSwgdmVydGljYWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCks
IExheW91dFVuaXQoc3R5bGUoKS5sb2dpY2FsQXNwZWN0UmF0aW8oKSksIHN0eWxlKCkuYm94U2l6
aW5nRm9yQXNwZWN0UmF0aW8oKSwgbG9naWNhbFdpZHRoKCkpIC0gYm9yZGVyQW5kUGFkZGluZ0xv
Z2ljYWxIZWlnaHQoKTsKICAgICAgICAgaWYgKGZpcnN0Q2hpbGQoKSkKICAgICAgICAgICAgIGhl
aWdodEZyb21Bc3BlY3RSYXRpbyA9IHN0ZDo6bWF4KGhlaWdodEZyb21Bc3BlY3RSYXRpbywgKmlu
dHJpbnNpY0NvbnRlbnRIZWlnaHQpOwpAQCAtNDg0OCw3ICs0ODQ4LDcgQEAgYm9vbCBSZW5kZXJC
b3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlz
SW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRp
b25lZCgpIHx8IGhhc1BvdGVudGlhbGx5U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRl
bUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFi
bGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNE
b2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKQotICAg
ICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxl
KCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNw
YW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7Cisg
ICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBwYWludENvbnRhaW5tZW50QXBw
bGllcygpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBz
dHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5
KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRz
RmxvYXRzKCkgY29uc3QKQEAgLTQ5MTYsNiArNDkxNiw4IEBAIExheW91dFJlY3QgUmVuZGVyQm94
OjphcHBseVZpc3VhbEVmZmVjdE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIGJvcmRlckJveCkg
Y29uCiAKIHZvaWQgUmVuZGVyQm94OjphZGRPdmVyZmxvd0Zyb21DaGlsZChjb25zdCBSZW5kZXJC
b3gqIGNoaWxkLCBjb25zdCBMYXlvdXRTaXplJiBkZWx0YSkKIHsKKyAgICBpZiAocGFpbnRDb250
YWlubWVudEFwcGxpZXMoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIE5ldmVyIGFsbG93IGZs
b3cgdGhyZWFkcyB0byBwcm9wYWdhdGUgb3ZlcmZsb3cgdXAgdG8gYSBwYXJlbnQuCiAgICAgaWYg
KGNoaWxkLT5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4
IDI0NTA5MTlmNDI2NDQ2Mzc0MmVjZDgwYjlkMmY2NDQyZGYxZTAxZjEuLjVjY2YxN2E5Mjc5ZTM1
N2Y3ZGY3NTM5NDhiY2Q0ZDc3OWFjMzNiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjExLDYgKzIxMSw3IEBAIHZvaWQg
UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0SG9yaXpvbnRh
bFdyaXRpbmdNb2RlKHN0eWxlVG9Vc2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSk7CiAgICAg
aWYgKHN0eWxlVG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmll
dygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKKyAgICBz
ZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRo
aXMpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zm
c2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGRiNmExZGM1OWI0MmE5ZDY2ZmJlZDRmOTcwYTBiNTMx
YzhiMjA0OTcuLmIyNzI0YzNhNzUwNzU3MmI5NTM1NzkyZDUxMzM4YjJkZjQxYzY3YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTk4LDcgKzk4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFJlbmRl
ckVsZW1lbnQpOwogCiBzdHJ1Y3QgU2FtZVNpemVBc1JlbmRlckVsZW1lbnQgOiBwdWJsaWMgUmVu
ZGVyT2JqZWN0IHsKLSAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiAyNTsKKyAgICB1bnNpZ25lZCBi
aXRmaWVsZHMgOiAyNjsKICAgICB2b2lkKiBmaXJzdENoaWxkOwogICAgIHZvaWQqIGxhc3RDaGls
ZDsKICAgICBSZW5kZXJTdHlsZSBzdHlsZTsKQEAgLTIzMjAsNyArMjMyMCw3IEBAIHN0YXRpYyBS
ZW5kZXJPYmplY3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVkZU5vbkZpeGVkSGVpZ2h0
KGNvbnN0IFJlbmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpKSB7
CiAgICAgICAgICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywgaWYgdGhlIG92ZXJmbG93
IHNpemUgb2YgdGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3BlY2lmaWVkCiAgICAgICAg
ICAgICAvLyBoZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBhdXRvLXNpemluZy4KLSAg
ICAgICAgICAgIGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQorICAg
ICAgICAgICAgaWYgKGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlcikuZWZmZWN0aXZlT3Zl
cmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKICAgICAgICAgICAgICAgICAmJiBzdHlsZS5o
ZWlnaHQoKS52YWx1ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKS5sYXlvdXRP
dmVyZmxvd1JlY3QoKS5tYXhZKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFJlbmRlck9iamVj
dDo6T3ZlcmZsb3dIZWlnaHQ7CiAgICAgICAgIH0KQEAgLTI0MTAsNCArMjQxMCwyMCBAQCB2b2lk
IFJlbmRlckVsZW1lbnQ6OnNldEJhY2tkcm9wUmVuZGVyZXIoUmVuZGVyQmxvY2tGbG93JiByZW5k
ZXJlcikKICAgICBlbnN1cmVSYXJlRGF0YSgpLmJhY2tkcm9wUmVuZGVyZXIgPSByZW5kZXJlcjsK
IH0KIAorT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3QK
K3sKKyAgICBhdXRvIG92ZXJmbG93WCA9IHN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgaWYgKHBh
aW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dYID09IE92ZXJmbG93OjpWaXNpYmxl
KQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAgcmV0dXJuIG92ZXJmbG93WDsK
K30KKworT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3QK
K3sKKyAgICBhdXRvIG92ZXJmbG93WSA9IHN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgaWYgKHBh
aW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dZID09IE92ZXJmbG93OjpWaXNpYmxl
KQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAgcmV0dXJuIG92ZXJmbG93WTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXggMjE5
MDE0Y2FjYzU0MTFjOGVlNjViYjUwZDU4YWUwZDkxOTFhZWU2My4uYjhlZGEyNGMyMDFmMWVmNjM1
Y2VlY2JiZTIwMmJiYzJmNzgzOTAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RWxlbWVudC5oCkBAIC0yNjgsNiArMjY4LDExIEBAIHB1YmxpYzoKIAogICAgIFJlZmVyZW5jZWRT
VkdSZXNvdXJjZXMmIGVuc3VyZVJlZmVyZW5jZWRTVkdSZXNvdXJjZXMoKTsKIAorICAgIE92ZXJm
bG93IGVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0OworICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92
ZXJmbG93WSgpIGNvbnN0OworICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGly
ZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgOiBlZmZlY3RpdmVPdmVyZmxvd1koKTsgfQorICAgIE92
ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1koKSA6
IGVmZmVjdGl2ZU92ZXJmbG93WCgpOyB9CisKIHByb3RlY3RlZDoKICAgICBlbnVtIEJhc2VUeXBl
RmxhZyB7CiAgICAgICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3RGbGFnICA9IDEgPDwgMCwKQEAg
LTQ1Niw3ICs0NjEsOCBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluRml4
ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICAvLyBGSVhNRTogd2lsbC1jaGFuZ2Ug
c2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2NrcyBvbiBpbmxpbmUgYm94ZXMgKGJ1ZyAyMjUw
MzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCkg
JiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5nQmxvY2tGb3JPdXRPZkZs
b3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCi0gICAgICAg
IHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpOworICAgICAgICB8fCBzaG91
bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8fCBzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50Ojpj
YW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKQEAgLTQ2Nyw2ICs0
NzMsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBv
c2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBz
dHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0NvbnRh
aW5pbmdCbG9ja0ZvckFic29sdXRlbHlQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9y
ZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRo
aXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykKICAgICAg
ICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDEwNDVkMDk2YzRkNmJhMWViYWI4MDFlY2Y0OTI5
Yjg1YjAyNWNhZDkuLmRhYTU4OTc5MzQ5YTVkOWVkZDk0MjAwZmYxNmU5Y2IyOGFkNTViYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAt
MTgwNSwxNSArMTgwNSwxNSBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhhc0ludHJp
bnNpY01haW5BeGlzU2l6ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQogT3ZlcmZsb3cgUmVuZGVy
RmxleGlibGVCb3g6Om1haW5BeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNo
aWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0gICAgICAgIHJldHVy
biBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOwotICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92
ZXJmbG93WSgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dYKCk7Cisg
ICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogfQogCiBPdmVyZmxvdyBSZW5k
ZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gm
IGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkpCi0gICAgICAgIHJl
dHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOwotICAgIHJldHVybiBjaGlsZC5zdHlsZSgp
Lm92ZXJmbG93WCgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7
CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwogfQogCiBib29sIFJlbmRl
ckZsZXhpYmxlQm94OjpjaGlsZEhhc1BlcmNlbnRIZWlnaHREZXNjZW5kYW50cyhjb25zdCBSZW5k
ZXJCb3gmIHJlbmRlcmVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKaW5kZXggYWZiMjdjY2E2NzFkZTZhYmY3YTMy
OWIyMWM3ODExNzAwY2YyOTUzZS4uNzk3MGYyZmQ3ODEzNjVlNjRjMTUxYjQzZTJjMzM3YzAyZTJk
OWNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50
Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21l
bnRDb250YWluZXIuY3BwCkBAIC0xNTcsMTQgKzE1NywxNCBAQCBMYXlvdXRSZWN0IFJlbmRlckZy
YWdtZW50Q29udGFpbmVyOjpvdmVyZmxvd1JlY3RGb3JGcmFnbWVudGVkRmxvd1BvcnRpb24oY29u
c3QgTAogICAgIGlmIChtX2ZyYWdtZW50ZWRGbG93LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
KSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGlzRmlyc3RQb3J0aW9uID8gZnJhZ21lbnRl
ZEZsb3dPdmVyZmxvdy55KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKTsKICAgICAg
ICAgTGF5b3V0VW5pdCBtYXhZID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6bWF4KGZyYWdtZW50ZWRG
bG93UG9ydGlvblJlY3QubWF4WSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFkoKSkgOiBm
cmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKTsKLSAgICAgICAgYm9vbCBjbGlwWCA9IHN0
eWxlKCkub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CisgICAgICAgIGJvb2wgY2xp
cFggPSBlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKICAgICAgICAg
TGF5b3V0VW5pdCBtaW5YID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKSA6
IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpLCBmcmFnbWVudGVkRmxvd092
ZXJmbG93LngoKSk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGNsaXBYID8gZnJhZ21lbnRl
ZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCkgOiBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25S
ZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhYKCkpOwogICAgICAgICBjbGlw
UmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAtIG1pblgsIG1heFkgLSBtaW5ZKTsK
ICAgICB9IGVsc2UgewogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBpc0ZpcnN0UG9ydGlvbiA/
IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54
KCk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGlzTGFzdFBvcnRpb24gPyBzdGQ6Om1heChm
cmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5t
YXhYKCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCk7Ci0gICAgICAgIGJvb2wg
Y2xpcFkgPSBzdHlsZSgpLm92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpWaXNpYmxlOworICAgICAg
ICBib29sIGNsaXBZID0gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7
CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGNsaXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9u
UmVjdC55KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21l
bnRlZEZsb3dPdmVyZmxvdy55KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBjbGlwWSA/
IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpIDogc3RkOjptYXgoZnJhZ21lbnRlZEZs
b3dQb3J0aW9uUmVjdC55KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WSgpKTsKICAgICAg
ICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBtYXhZIC0g
bWluWSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5l
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKaW5kZXggMzYwZGIz
Y2E2NDQ4ZWQxMzg4ZGI3Yzk1MDBmYmIyNmQyMTM2YmU4ZC4uMGExNzFhZjhiYmFkY2FiMGUwYmE0
MTZkMmEwOTg3OThiZWQyNzQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuaApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG1heUFmZmVjdExheW91
dCgpIGNvbnN0OwogCi0gICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaGFzQ2xpcFBh
dGgoKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgpIHx8IGhhc1J1bm5pbmdB
Y2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQorICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGlzSW5GbG93UG9zaXRpb25lZCgpIHx8IGNyZWF0ZXNHcm91cCgp
IHx8IGhhc0NsaXBQYXRoKCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSB8
fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgpIHx8IGhhc1J1bm5pbmdBY2NlbGVy
YXRlZEFuaW1hdGlvbnMoKTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB3aWxsQmVEZXN0cm95
ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmlu
ZGV4IDYyMzNiNWNjNTZmYjk4N2Y2MGRjNjY5YTc4NTQ1OGU3MjdkYjI4ZjUuLjY5MDM3ZGFkZWI2
MzUyYzljYTYxNDAwM2JiZDU0M2YxM2IwNDlmY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcApAQCAtNTU2LDYgKzU1Niw3IEBAIHN0YXRpYyBib29sIGNhbkNyZWF0
ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIpCiAgICAgICAgIHx8IHJl
bmRlcmVyLmlzUG9zaXRpb25lZCgpIC8vIE5vdGUgdGhhdCB0aGlzIG9ubHkgY3JlYXRlcyBzdGFj
a2luZyBjb250ZXh0IGluIGNvbmp1bmN0aW9uIHdpdGggZXhwbGljaXQgei1pbmRleC4KICAgICAg
ICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAgICAgIHx8IHJlbmRlcmVyLnN0eWxl
KCkuaGFzSXNvbGF0aW9uKCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50
KHJlbmRlcmVyKQogICAgICAgICB8fCAhcmVuZGVyZXIuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRl
eCgpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiByZW5kZXJl
ci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KCkpCiAgICAg
ICAgIHx8IGxheWVyLmVzdGFibGlzaGVzVG9wTGF5ZXIoKTsKQEAgLTU4Nyw3ICs1ODgsNyBAQCBi
b29sIFJlbmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KCkgY29uc3QKIAogYm9vbCBS
ZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQoKSBjb25zdAogewotICAgIHJl
dHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgaXNSZW5kZXJW
aWV3TGF5ZXIoKTsKKyAgICByZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJ
bmRleCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSB8fCBpc1Jl
bmRlclZpZXdMYXllcigpOwogfQogCiBib29sIFJlbmRlckxheWVyOjpzZXRJc05vcm1hbEZsb3dP
bmx5KGJvb2wgaXNOb3JtYWxGbG93T25seSkKQEAgLTEwODksNiArMTA5MCwxMSBAQCBMYXlvdXRS
ZWN0IFJlbmRlckxheWVyOjpyZXBhaW50UmVjdEluY2x1ZGluZ05vbkNvbXBvc2l0aW5nRGVzY2Vu
ZGFudHMoKSBjb25zdAogdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0b3JDaGFpbkhhc1NlbGZQ
YWludGluZ0xheWVyRGVzY2VuZGFudCgpCiB7CiAgICAgZm9yIChSZW5kZXJMYXllciogbGF5ZXIg
PSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50KCkpIHsKKyAgICAgICAgaWYgKHNo
b3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgeworICAgICAgICAgICAgbV9o
YXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSB0cnVlOworICAgICAgICAgICAgbV9oYXNT
ZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSA9IGZhbHNlOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFsYXllci0+bV9oYXNTZWxmUGFpbnRpbmdMYXll
ckRlc2NlbmRhbnREaXJ0eSAmJiBsYXllci0+aGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50
KCkpCiAgICAgICAgICAgICBicmVhazsKIApAQCAtMTQ4OSw2ICsxNDk1LDExIEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OmRpcnR5QW5jZXN0b3JDaGFpblZpc2libGVEZXNjZW5kYW50U3RhdHVzKCkKIHZv
aWQgUmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNWaXNpYmxlRGVzY2VuZGFudCgpCiB7
CiAgICAgZm9yIChSZW5kZXJMYXllciogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXll
ci0+cGFyZW50KCkpIHsKKyAgICAgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChy
ZW5kZXJlcigpKSkgeworICAgICAgICAgICAgbV9oYXNWaXNpYmxlRGVzY2VuZGFudCA9IHRydWU7
CisgICAgICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50U3RhdHVzRGlydHkgPSBmYWxzZTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGlmICghbGF5ZXItPm1fdmlzaWJs
ZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSAmJiBsYXllci0+aGFzVmlzaWJsZURlc2NlbmRhbnQoKSkK
ICAgICAgICAgICAgIGJyZWFrOwogCkBAIC00NTI4LDYgKzQ1MzksMTAgQEAgdm9pZCBSZW5kZXJM
YXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0NvbnRleHQmIGNsaXBSZWN0
c0NvbnRleHQsIEMKICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0NsaXBSZWN0KGlu
dGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5vdmVyZmxvd0NsaXBSZWN0KCkp
KTsKICAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzUG9zaXRpb25lZCgpKQogICAgICAgICAg
ICAgICAgIGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dD
bGlwLCBjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgaWYgKHNob3VsZEFw
cGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgeworICAgICAgICAgICAgICAgIGNsaXBS
ZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVj
dHMucG9zQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRGaXhlZENs
aXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5maXhlZENsaXBS
ZWN0KCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAocmVuZGVyZXIo
KS5oYXNDbGlwKCkpIHsKICAgICAgICAgICAgIExheW91dFJlY3QgbmV3UG9zQ2xpcCA9IGRvd25j
YXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkuY2xpcFJlY3Qob2Zmc2V0LCBudWxscHRyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZmI5MTkwYWI1YTU3
ZGIxNzcxZjBlOTNkMjI1Njg5ZWRiNTFkM2E3Ni4uYzkzMDJlYzE2NTczODAwOWUwZDU1MGMwOWQ3
NGRiOGNkNmIyYzIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKQEAgLTE5MTksNiArMTkxOSwxMiBAQCB2b2lkIFJlbmRlck9iamVjdDo6c2V0SGFzT3V0bGlu
ZUF1dG9BbmNlc3Rvcihib29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3IpCiAgICAgICAgIGVuc3Vy
ZVJhcmVEYXRhKCkuc2V0SGFzT3V0bGluZUF1dG9BbmNlc3RvcihoYXNPdXRsaW5lQXV0b0FuY2Vz
dG9yKTsKIH0KIAordm9pZCBSZW5kZXJPYmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVz
KGJvb2wgcGFpbnRDb250YWlubWVudEFwcGxpZXMpCit7CisgICAgaWYgKHBhaW50Q29udGFpbm1l
bnRBcHBsaWVzIHx8IGhhc1JhcmVEYXRhKCkpCisgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuc2V0
UGFpbnRDb250YWlubWVudEFwcGxpZXMocGFpbnRDb250YWlubWVudEFwcGxpZXMpOworfQorCiBS
ZW5kZXJPYmplY3Q6OlJhcmVEYXRhTWFwJiBSZW5kZXJPYmplY3Q6OnJhcmVEYXRhTWFwKCkKIHsK
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmFyZURhdGFNYXA+IG1hcDsKQEAgLTI1NDYsMyAr
MjU1Miw5IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTdHlsZUNvbnRhaW5tZW50KGNvbnN0
IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICByZXR1cm4gKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5s
aW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlz
VGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlz
VGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQo
Y29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVu
ZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8
IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRl
eHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9j
a0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRl
eCA3ZDBiZWJkYmEyNGEzNWViMDg5Y2Y4ZGUzMzViMDUxZDk0NDI0N2QzLi44YjAwOTMxODIzODlm
YjdkZjY5ZjhkNTdkYzhmMDI5NDdkNTdkZTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCkBAIC00MDgsNiArNDA4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUmVm
bGVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFy
ZURhdGEoKS5oYXNSZWZsZWN0aW9uKCk7IH0KICAgICBib29sIGlzUmVuZGVyRnJhZ21lbnRlZEZs
b3coKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRh
KCkuaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpOyB9CiAgICAgYm9vbCBoYXNPdXRsaW5lQXV0b0Fu
Y2VzdG9yKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJl
RGF0YSgpLmhhc091dGxpbmVBdXRvQW5jZXN0b3IoKTsgfQorICAgIGJvb2wgcGFpbnRDb250YWlu
bWVudEFwcGxpZXMoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYm
IHJhcmVEYXRhKCkucGFpbnRDb250YWlubWVudEFwcGxpZXMoKTsgfQogCiAgICAgYm9vbCBpc0V4
Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmlzRXhj
bHVkZWRGcm9tTm9ybWFsTGF5b3V0KCk7IH0KICAgICB2b2lkIHNldElzRXhjbHVkZWRGcm9tTm9y
bWFsTGF5b3V0KGJvb2wgZXhjbHVkZWQpIHsgbV9iaXRmaWVsZHMuc2V0SXNFeGNsdWRlZEZyb21O
b3JtYWxMYXlvdXQoZXhjbHVkZWQpOyB9CkBAIC01MDUsNiArNTA2LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SGFzUmVmbGVjdGlvbihib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRJc1JlbmRl
ckZyYWdtZW50ZWRGbG93KGJvb2wgPSB0cnVlKTsKICAgICB2b2lkIHNldEhhc091dGxpbmVBdXRv
QW5jZXN0b3IoYm9vbCA9IHRydWUpOworICAgIHZvaWQgc2V0UGFpbnRDb250YWlubWVudEFwcGxp
ZXMoYm9vbCA9IHRydWUpOwogCiAgICAgLy8gSG9vayBzbyB0aGF0IFJlbmRlclRleHRDb250cm9s
IGNhbiByZXR1cm4gdGhlIGxpbmUgaGVpZ2h0IG9mIGl0cyBpbm5lciByZW5kZXJlci4KICAgICAv
LyBGb3Igb3RoZXIgcmVuZGVyZXJzLCB0aGUgdmFsdWUgaXMgdGhlIHNhbWUgYXMgbGluZUhlaWdo
dChmYWxzZSkuCkBAIC05MzUsNiArOTM3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgQUREX0JPT0xF
QU5fQklURklFTEQoaGFzUmVmbGVjdGlvbiwgSGFzUmVmbGVjdGlvbik7CiAgICAgICAgIEFERF9C
T09MRUFOX0JJVEZJRUxEKGlzUmVuZGVyRnJhZ21lbnRlZEZsb3csIElzUmVuZGVyRnJhZ21lbnRl
ZEZsb3cpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChoYXNPdXRsaW5lQXV0b0FuY2Vz
dG9yLCBIYXNPdXRsaW5lQXV0b0FuY2VzdG9yKTsKKyAgICAgICAgQUREX0JPT0xFQU5fQklURklF
TEQocGFpbnRDb250YWlubWVudEFwcGxpZXMsIFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKTsKIAog
ICAgICAgICAvLyBGcm9tIFJlbmRlckVsZW1lbnQKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJl
bmRlclN0eWxlPiBjYWNoZWRGaXJzdExpbmVTdHlsZTsKQEAgLTEyMDksNiArMTIxMiw3IEBAIHZv
aWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsKIGJvb2wgc2hvdWxk
QXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxk
QXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNob3VsZEFw
cGx5U3R5bGVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKK2Jvb2wgc2hvdWxkQXBw
bHlQYWludENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgKaW5kZXggZmRkM2YzMGM0ZTJlMzQ3MTg2ODNkZmY3NWE4MmNmMDUzY2RlNDE1Zi4uNmIxYWNm
Y2ZkYTI5ZTFmMDkzM2VmMDU4ZDU5YTFhY2VjZmRlYmVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTMzMSw4ICszMzEsNiBAQCBwdWJsaWM6
CiAgICAgCiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dYKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mub3ZlcmZsb3dYKTsgfQogICAgIE92ZXJm
bG93IG92ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJmbG93PihtX25v
bkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WSk7IH0KLSAgICBPdmVyZmxvdyBvdmVyZmxvd0lubGlu
ZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBv
dmVyZmxvd1goKSA6IG92ZXJmbG93WSgpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dCbG9ja0Rp
cmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBvdmVy
Zmxvd1koKSA6IG92ZXJmbG93WCgpOyB9CiAgICAgYm9vbCBpc092ZXJmbG93VmlzaWJsZSgpIGNv
bnN0IHsgcmV0dXJuIG92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlIHx8IG92ZXJmbG93
WSgpID09IE92ZXJmbG93OjpWaXNpYmxlOyB9CiAKICAgICBPdmVyc2Nyb2xsQmVoYXZpb3Igb3Zl
cnNjcm9sbEJlaGF2aW9yWCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE92ZXJzY3JvbGxC
ZWhhdmlvcj4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+b3ZlcnNjcm9sbEJlaGF2aW9yWCk7IH0K
QEAgLTUzMiw2ICs1MzAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb250YWluc0xheW91dCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29u
dGFpbm1lbnQ6OkxheW91dCk7IH0KICAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6
OlNpemUpOyB9CiAgICAgYm9vbCBjb250YWluc1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U3R5bGUpOyB9
CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6UGFpbnQpOyB9CiAgICAgQm94
QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25t
ZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWdu
KTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQog
ICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGNjMTMxZjRjMjczZjc4NjQyNzhlYzI5
YzEyYWQ2MGUyOWY5YjJiMTYuLjQ0NTEwOTAyMWNlNzFmZTM4ZThiMTY2OTQ5NmI0NjI1OGE4MmQ5
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cApAQCAtMjE1LDcgKzIxNSw3IEBAIGJvb2wgUmVuZGVyU1ZHUm9vdDo6c2hvdWxkQXBwbHlWaWV3
cG9ydENsaXAoKSBjb25zdAogICAgIC8vIHRoZSBvdXRlcm1vc3Qgc3ZnIGlzIGNsaXBwZWQgaWYg
YXV0bywgYW5kIHN2ZyBkb2N1bWVudCByb290cyBhcmUgYWx3YXlzIGNsaXBwZWQKICAgICAvLyBX
aGVuIHRoZSBzdmcgaXMgc3RhbmQtYWxvbmUgKGlzRG9jdW1lbnRFbGVtZW50KCkgPT0gdHJ1ZSkg
dGhlIHZpZXdwb3J0IGNsaXBwaW5nIHNob3VsZCBhbHdheXMKICAgICAvLyBiZSBhcHBsaWVkLCBu
b3RpbmcgdGhhdCB0aGUgd2luZG93IHNjcm9sbGJhcnMgc2hvdWxkIGJlIGhpZGRlbiBpZiBvdmVy
Zmxvdz1oaWRkZW4uCi0gICAgcmV0dXJuIHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OkhpZGRlbgorICAgIHJldHVybiBlZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlk
ZGVuCiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OkF1dG8KICAg
ICAgICAgfHwgc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6U2Nyb2xsCiAgICAgICAg
IHx8IHRoaXMtPmlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMzViMGNmODVj
MzFjNDljZDEzZDlkYzdiYjJmZTVlN2NhMDUxYzM1Li4wZGU3MjQzYTNiYWVlYTljYjhkNzdlMGQ0
NjU3ODEzNjdiZGFjYjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTEtMTAgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQg
Y29udGFpbjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxhbiBCdWp0YXMuCisKKyAgICAg
ICAgVW5za2lwIHRlc3RzIHRoYXQgcGFzcyBub3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOgorCiAyMDIxLTExLTEwICBBcmNhZHkgR29sZG1pbnRzLU9ybG92ICA8YWdvbGRtaW50c0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYW5k
IGJhc2VsaW5lcyBhZnRlciByMjg0NTIxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCAyZDJjY2VhYjcxODkxY2JiYTQ2MmZlNzg2YWUyZGQ2NDlkZjk0YWNjLi45N2I4NTg0MTJiZTg3
OWM3YTMxMWM2ODU4OWU3YzVlOGNmZmUzNDZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMS0xMCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBBbGFuIEJ1anRhcy4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBl
Y3RhdGlvbiBub3cgdGhhdCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMt
c3RyaWN0LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMS0xMCAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBXYXZ5IGRlY29yYXRpb25zIGRvbid0IGNv
dmVyIHRoZSB3aG9sZSBsaW5lIGxlbmd0aApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMDRjNzA1ZWQw
ZjI5YmQyYTljODAzYTc4ZjFkNTA1NmIyNWZmYzBhYi4uYTczZWVmMGIwYTA1MzVjZmI1MTM3YzFi
YmMxNTAzODNlOThkMjMwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NzM5LDYgKzQ3MzksMTAg
QEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5kLXRyYW5zbGF0ZS1hbmltYXRp
b24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQg
ZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDc1Myw0OSAr
NDc1Nyw4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNp
YmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxMC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxOS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDYuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0w
MTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jb250YWluaW5nLWJs
b2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNvbnRhaW5p
bmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtZm9ybWF0
dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWZv
cm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWluZGVwZW5kZW50LWZv
cm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXpl
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzMu
c3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDM0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2Zs
ZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRh
aW5zLXN0cmljdC1leHBlY3RlZC50eHQKaW5kZXggY2MwYmFjNzU4YTg2NmQ0YWVlYzc1YWNlOGVl
N2Q4MzNiZjFkYzFlZS4uMmY3YWNjOTM3ZGQ4ZDA0NzdkZWNjOTE2Y2Y5OTUyYTcyMmIyZGVjYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZs
ZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEs
MTMgQEAKIFN0cmV0Y2hlZDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAogUm93CiBGbGV4
LXN0YXJ0OgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443802</attachid>
            <date>2021-11-10 04:19:06 -0800</date>
            <delta_ts>2021-11-16 02:45:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20211110121905.patch</filename>
            <type>text/plain</type>
            <size>37444</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTgxOWE1YmUyYzRiODkw
ODc4ODE3MzVhZmU5ODEwMTg0MTJhNTRmMC4uNzk1YjdlMmFiMjQ4MjcyM2NmNzAwYmQ0MmE0NzNh
YzE2ZWE0MDRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIxLTExLTEwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZpZWRb
MV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8gY2hl
Y2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4gSXMg
c28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0IGlz
IGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBmaXhl
ZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAgICAt
IGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMgY2xp
cHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNoIGFs
c28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRlckVs
ZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50IG9u
IG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAgICog
cGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBseU92
ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5UGFn
aW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxjdWxh
dGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFj
a1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdB
bGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBkYXRl
RnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9naWNh
bFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eWxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9uRml4
ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2
ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93SW5saW5l
RGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVj
dGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25l
ZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxv
d0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94Ojpj
cm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJhZ21l
bnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93UG9ydGlvbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVTdGFja2luZ0NvbnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250
ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNo
YWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRhbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJPYmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNvcmU6
OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpwYWludENvbnRhaW5t
ZW50QXBwbGllcyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6b3ZlcmZsb3dZIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250YWluc1BhaW50IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxvd0lubGluZURpcmVjdGlvbiBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6b3ZlcmZsb3dCbG9ja0Rp
cmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5
Vmlld3BvcnRDbGlwIGNvbnN0KToKKwogMjAyMS0xMS0xMCAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBXYXZ5IGRlY29yYXRpb25zIGRvbid0IGNv
dmVyIHRoZSB3aG9sZSBsaW5lIGxlbmd0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4
IGYwOGUyZDU2ZGFjMWY2MjJiYTE5N2Q1YjhhZTdjMzU1MTJjZDE2OTQuLjJjN2Q4MTliOTk1ZTFk
MzZhZThjNzFiYmE4ZjE3NDgzZWU2ODM4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
QEAgLTY0NCw4ICs2NDQsOCBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3Bv
cnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogCiAgICAgYm9vbCBv
dmVycmlkZUhpZGRlbiA9IGZyYW1lKCkuaXNNYWluRnJhbWUoKSAmJiAoKGZyYW1lKCkuZnJhbWVT
Y2FsZUZhY3RvcigpID4gMSkgfHwgaGVhZGVySGVpZ2h0KCkgfHwgZm9vdGVySGVpZ2h0KCkpOwog
Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKTsK
LSAgICBPdmVyZmxvdyBvdmVyZmxvd1kgPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93WSgpOwor
ICAgIE92ZXJmbG93IG92ZXJmbG93WCA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwor
ICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwog
CiAgICAgaWYgKGlzPFJlbmRlclNWR1Jvb3Q+KHJlbmRlcmVyKSkgewogICAgICAgICAvLyBGSVhN
RTogZXZhbHVhdGUgaWYgd2UgY2FuIGFsbG93IG92ZXJmbG93IGZvciB0aGVzZSBjYXNlcyB0b28u
CkBAIC03MDksMTIgKzcwOSwxMiBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlQYWdpbmF0aW9uVG9W
aWV3cG9ydCgpCiAKICAgICBhdXRvKiBib2R5ID0gZG9jdW1lbnQtPmJvZHkoKTsKICAgICBpZiAo
Ym9keSAmJiBib2R5LT5yZW5kZXJlcigpKSB7Ci0gICAgICAgIGRvY3VtZW50T3JCb2R5UmVuZGVy
ZXIgPSBkb2N1bWVudFJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50PigqZG9jdW1lbnRFbGVtZW50KSA/CisgICAgICAg
IGRvY3VtZW50T3JCb2R5UmVuZGVyZXIgPSBkb2N1bWVudFJlbmRlcmVyLmVmZmVjdGl2ZU92ZXJm
bG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3Vt
ZW50RWxlbWVudCkgPwogICAgICAgICAgICAgYm9keS0+cmVuZGVyZXIoKSA6ICZkb2N1bWVudFJl
bmRlcmVyOwogICAgIH0KIAogICAgIFBhZ2luYXRpb24gcGFnaW5hdGlvbjsKLSAgICBPdmVyZmxv
dyBvdmVyZmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WSgp
OworICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPmVmZmVj
dGl2ZU92ZXJmbG93WSgpOwogICAgIGlmIChvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWCB8
fCBvdmVyZmxvd1kgPT0gT3ZlcmZsb3c6OlBhZ2VkWSkgewogICAgICAgICBwYWdpbmF0aW9uLm1v
ZGUgPSBXZWJDb3JlOjpwYWdpbmF0aW9uTW9kZUZvclJlbmRlclN0eWxlKGRvY3VtZW50T3JCb2R5
UmVuZGVyZXItPnN0eWxlKCkpOwogICAgICAgICBHYXBMZW5ndGggY29sdW1uR2FwTGVuZ3RoID0g
ZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5jb2x1bW5HYXAoKTsKQEAgLTc3Niw3ICs3
NzYsNyBAQCB2b2lkIEZyYW1lVmlldzo6Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQo
U2Nyb2xsYmFyTW9kZSYgaE1vZGUsIFNjcm9sbGJhcgogICAgIGlmIChpczxIVE1MQm9keUVsZW1l
bnQ+KCpib2R5T3JGcmFtZXNldCkgJiYgcm9vdFJlbmRlcmVyKSB7CiAgICAgICAgIC8vIEl0J3Mg
c3VmZmljaWVudCB0byBqdXN0IGNoZWNrIHRoZSBYIG92ZXJmbG93LAogICAgICAgICAvLyBzaW5j
ZSBpdCdzIGlsbGVnYWwgdG8gaGF2ZSB2aXNpYmxlIGluIG9ubHkgb25lIGRpcmVjdGlvbi4KLSAg
ICAgICAgaWYgKHJvb3RSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKKyAgICAg
ICAgaWYgKHJvb3RSZW5kZXJlci0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CiAgICAgICAg
ICAgICBhdXRvKiBib2R5UmVuZGVyZXIgPSBib2R5T3JGcmFtZXNldC0+cmVuZGVyZXIoKTsKICAg
ICAgICAgICAgIGlmIChib2R5UmVuZGVyZXIpIHsKICAgICAgICAgICAgICAgICBhcHBseU92ZXJm
bG93VG9WaWV3cG9ydCgqYm9keVJlbmRlcmVyLCBoTW9kZSwgdk1vZGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRl
eCAzOGU5ZjE3MTU2Nzg4MGFmMzY5NGVkOWMzYjU5MGQ3M2I4ZDA2YWFlLi4yOTgwZGYwNDc3YTFh
MWI0MzI4MjI0YzE2OThhNjc4MDU1Y2FlN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApAQCAtODQ2LDcgKzg0Niw3
IEBAIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3k6Om1pblNpemVG
b3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkKSBjCiAgICAgICAgIHJldHVybiBtaW5Db250ZW50Rm9y
Q2hpbGQoY2hpbGQpOwogCiAgICAgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUgPSBpc1Jvd0F4
aXMgPyBjaGlsZC5zdHlsZSgpLmxvZ2ljYWxNaW5XaWR0aCgpIDogY2hpbGQuc3R5bGUoKS5sb2dp
Y2FsTWluSGVpZ2h0KCk7Ci0gICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/
IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6Vmlz
aWJsZSA6IGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93
OjpWaXNpYmxlOworICAgIGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBjaGls
ZC5lZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxl
IDogY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpW
aXNpYmxlOwogICAgIExheW91dFVuaXQgYmFzZWxpbmVTaGltID0gbV9hbGdvcml0aG0uYmFzZWxp
bmVPZmZzZXRGb3JDaGlsZChjaGlsZCwgZ3JpZEF4aXNGb3JEaXJlY3Rpb24oZGlyZWN0aW9uKCkp
KTsKIAogICAgIGlmIChjaGlsZE1pblNpemUuaXNBdXRvKCkgJiYgb3ZlcmZsb3dJc1Zpc2libGUp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYmEzMzRlNmY4NmNh
OWMwYmFlMDRhOTliMjE3NzVjZTg1MDVhZTY4NC4uMjk0MmZkNTQ4MzJiMzkyYzg1MjA0NjdlYThk
NTVmYjYzMTVmODIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAg
LTQ4Myw3ICs0ODMsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBz
ZXRGbG9hdGluZyghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYgc3R5bGVUb1VzZS5pc0Zsb2F0
aW5nKCkpOwogCiAgICAgLy8gV2UgYWxzbyBoYW5kbGUgPGJvZHk+IGFuZCA8aHRtbD4sIHdob3Nl
IG92ZXJmbG93IGFwcGxpZXMgdG8gdGhlIHZpZXdwb3J0LgotICAgIGlmICghKHN0eWxlVG9Vc2Uu
b3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd1ko
KSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRlcmVyICYmIGlzUmVu
ZGVyQmxvY2soKSkgeworICAgIGlmICghKGVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93
OjpWaXNpYmxlICYmIGVmZmVjdGl2ZU92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAm
JiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYgaXNSZW5kZXJCbG9jaygpKSB7CiAgICAgICAgIGJv
b2wgYm94SGFzTm9uVmlzaWJsZU92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgaWYgKGlzQm9keSgp
KSB7CiAgICAgICAgICAgICAvLyBPdmVyZmxvdyBvbiB0aGUgYm9keSBjYW4gcHJvcGFnYXRlIHRv
IHRoZSB2aWV3cG9ydCB1bmRlciB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMuCkBAIC00OTIsNyAr
NDkyLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgICAgICAgICAv
LyAoMykgVGhlIHJvb3QgZWxlbWVudCBoYXMgdmlzaWJsZSBvdmVyZmxvdy4KICAgICAgICAgICAg
IGlmIChpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKQog
ICAgICAgICAgICAgICAgICYmIGRvY3VtZW50KCkuYm9keSgpID09IGVsZW1lbnQoKQotICAgICAg
ICAgICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPnN0
eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICAgICAgICAgICAg
ICAmJiBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5lZmZlY3RpdmVP
dmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAgICAgICAgIGJveEhh
c05vblZpc2libGVPdmVyZmxvdyA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBA
IC02NjIsNyArNjYyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnN0cmFpbkxvZ2ljYWxX
aWR0aEluRnJhZ21lbnRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWwKICAgICBpZiAoYWxsb3dJ
bnRyaW5zaWMgPT0gQWxsb3dJbnRyaW5zaWM6Ok5vICYmIHN0eWxlVG9Vc2UubG9naWNhbE1pbldp
ZHRoKCkuaXNJbnRyaW5zaWMoKSkKICAgICAgICAgcmV0dXJuIGxvZ2ljYWxXaWR0aDsKICAgICBh
dXRvIG1pbkxlbmd0aCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbldpZHRoKCk7Ci0gICAgaWYgKHN0
eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0eWxl
VG9Vc2UubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgo
KS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29udGVu
dCgpKSAmJiBzdHlsZVRvVXNlLm92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6
OlZpc2libGUpIHsKKyAgICBpZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxl
bmd0aC5pc0F1dG8oKSAmJiAoc3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBz
dHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9n
aWNhbFdpZHRoKCkuaXNNYXhDb250ZW50KCkpICYmIGVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGly
ZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgLy8gTWFrZSBzdXJlIHdl
IGFjdHVhbGx5IHVzZWQgdGhlIGFzcGVjdCByYXRpby4KICAgICAgICAgaWYgKHNob3VsZENvbXB1
dGVMb2dpY2FsV2lkdGhGcm9tQXNwZWN0UmF0aW8oKSkKICAgICAgICAgICAgIG1pbkxlbmd0aCA9
IExlbmd0aChMZW5ndGhUeXBlOjpNaW5Db250ZW50KTsKQEAgLTY3OCw3ICs2NzgsNyBAQCBMYXlv
dXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExheW91dFVu
aXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IHN0ZDo6bWlu
KGxvZ2ljYWxIZWlnaHQsIG1heEgudmFsdWUoKSk7CiAgICAgfQogICAgIGF1dG8gbG9naWNhbE1p
bkhlaWdodCA9IHN0eWxlVG9Vc2UubG9naWNhbE1pbkhlaWdodCgpOwotICAgIGlmIChsb2dpY2Fs
TWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVj
dFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBzdHlsZVRvVXNlLm92ZXJmbG93
QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChsb2dpY2Fs
TWluSGVpZ2h0LmlzQXV0bygpICYmIHNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVj
dFJhdGlvKCkgJiYgaW50cmluc2ljQ29udGVudEhlaWdodCAmJiBlZmZlY3RpdmVPdmVyZmxvd0Js
b2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUpIHsKICAgICAgICAgYXV0byBoZWln
aHRGcm9tQXNwZWN0UmF0aW8gPSBibG9ja1NpemVGcm9tQXNwZWN0UmF0aW8oaG9yaXpvbnRhbEJv
cmRlckFuZFBhZGRpbmdFeHRlbnQoKSwgdmVydGljYWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCks
IExheW91dFVuaXQoc3R5bGUoKS5sb2dpY2FsQXNwZWN0UmF0aW8oKSksIHN0eWxlKCkuYm94U2l6
aW5nRm9yQXNwZWN0UmF0aW8oKSwgbG9naWNhbFdpZHRoKCkpIC0gYm9yZGVyQW5kUGFkZGluZ0xv
Z2ljYWxIZWlnaHQoKTsKICAgICAgICAgaWYgKGZpcnN0Q2hpbGQoKSkKICAgICAgICAgICAgIGhl
aWdodEZyb21Bc3BlY3RSYXRpbyA9IHN0ZDo6bWF4KGhlaWdodEZyb21Bc3BlY3RSYXRpbywgKmlu
dHJpbnNpY0NvbnRlbnRIZWlnaHQpOwpAQCAtNDg0OCw3ICs0ODQ4LDcgQEAgYm9vbCBSZW5kZXJC
b3g6OmNyZWF0ZXNOZXdGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlz
SW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkgfHwgaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRp
b25lZCgpIHx8IGhhc1BvdGVudGlhbGx5U2Nyb2xsYWJsZU92ZXJmbG93KCkgfHwgaXNGbGV4SXRl
bUluY2x1ZGluZ0RlcHJlY2F0ZWQoKQogICAgICAgICB8fCBpc1RhYmxlQ2VsbCgpIHx8IGlzVGFi
bGVDYXB0aW9uKCkgfHwgaXNGaWVsZHNldCgpIHx8IGlzV3JpdGluZ01vZGVSb290KCkgfHwgaXNE
b2N1bWVudEVsZW1lbnRSZW5kZXJlcigpIHx8IGlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKQotICAg
ICAgICB8fCBzdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxl
KCkuc3BlY2lmaWVzQ29sdW1ucygpIHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNw
YW46OkFsbCB8fCBzdHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7Cisg
ICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBwYWludENvbnRhaW5tZW50QXBw
bGllcygpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMoKSB8fCBz
dHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5kaXNwbGF5
KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OwogfQogCiBib29sIFJlbmRlckJveDo6YXZvaWRz
RmxvYXRzKCkgY29uc3QKQEAgLTQ5MTYsNiArNDkxNiw4IEBAIExheW91dFJlY3QgUmVuZGVyQm94
OjphcHBseVZpc3VhbEVmZmVjdE92ZXJmbG93KGNvbnN0IExheW91dFJlY3QmIGJvcmRlckJveCkg
Y29uCiAKIHZvaWQgUmVuZGVyQm94OjphZGRPdmVyZmxvd0Zyb21DaGlsZChjb25zdCBSZW5kZXJC
b3gqIGNoaWxkLCBjb25zdCBMYXlvdXRTaXplJiBkZWx0YSkKIHsKKyAgICBpZiAocGFpbnRDb250
YWlubWVudEFwcGxpZXMoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIE5ldmVyIGFsbG93IGZs
b3cgdGhyZWFkcyB0byBwcm9wYWdhdGUgb3ZlcmZsb3cgdXAgdG8gYSBwYXJlbnQuCiAgICAgaWYg
KGNoaWxkLT5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4
IDI0NTA5MTlmNDI2NDQ2Mzc0MmVjZDgwYjlkMmY2NDQyZGYxZTAxZjEuLjVjY2YxN2E5Mjc5ZTM1
N2Y3ZGY3NTM5NDhiY2Q0ZDc3OWFjMzNiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMjExLDYgKzIxMSw3IEBAIHZvaWQg
UmVuZGVyQm94TW9kZWxPYmplY3Q6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0SG9yaXpvbnRh
bFdyaXRpbmdNb2RlKHN0eWxlVG9Vc2UuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSk7CiAgICAg
aWYgKHN0eWxlVG9Vc2UuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKSkKICAgICAgICAgdmll
dygpLmZyYW1lVmlldygpLnNldEhhc0ZsaXBwZWRCbG9ja1JlbmRlcmVycyh0cnVlKTsKKyAgICBz
ZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRo
aXMpKTsKIH0KIAogc3RhdGljIExheW91dFNpemUgYWNjdW11bGF0ZUluRmxvd1Bvc2l0aW9uT2Zm
c2V0cyhjb25zdCBSZW5kZXJPYmplY3QqIGNoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGRiNmExZGM1OWI0MmE5ZDY2ZmJlZDRmOTcwYTBiNTMx
YzhiMjA0OTcuLmZkYmFkMjZhNDE0ZDJmMGExZjk4ZTE0ZGE3MzUzYzZlMzI2ZGFmNWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTIzMjAsNyArMjMy
MCw3IEBAIHN0YXRpYyBSZW5kZXJPYmplY3Q6OkJsb2NrQ29udGVudEhlaWdodFR5cGUgaW5jbHVk
ZU5vbkZpeGVkSGVpZ2h0KGNvbnN0IFJlbmRlck9iCiAgICAgICAgIGlmIChpczxSZW5kZXJCbG9j
az4ocmVuZGVyZXIpKSB7CiAgICAgICAgICAgICAvLyBGb3IgZml4ZWQgaGVpZ2h0IHN0eWxlcywg
aWYgdGhlIG92ZXJmbG93IHNpemUgb2YgdGhlIGVsZW1lbnQgc3BpbGxzIG91dCBvZiB0aGUgc3Bl
Y2lmaWVkCiAgICAgICAgICAgICAvLyBoZWlnaHQsIGFzc3VtZSB3ZSBjYW4gYXBwbHkgdGV4dCBh
dXRvLXNpemluZy4KLSAgICAgICAgICAgIGlmIChzdHlsZS5vdmVyZmxvd1koKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZQorICAgICAgICAgICAgaWYgKGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJl
cikuZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKICAgICAgICAgICAg
ICAgICAmJiBzdHlsZS5oZWlnaHQoKS52YWx1ZSgpIDwgZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJl
bmRlcmVyKS5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIFJlbmRlck9iamVjdDo6T3ZlcmZsb3dIZWlnaHQ7CiAgICAgICAgIH0KQEAgLTI0MTAsNCAr
MjQxMCwyMCBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnNldEJhY2tkcm9wUmVuZGVyZXIoUmVuZGVy
QmxvY2tGbG93JiByZW5kZXJlcikKICAgICBlbnN1cmVSYXJlRGF0YSgpLmJhY2tkcm9wUmVuZGVy
ZXIgPSByZW5kZXJlcjsKIH0KIAorT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dYKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WCA9IHN0eWxlKCkub3ZlcmZsb3dY
KCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dYID09IE92
ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAgcmV0
dXJuIG92ZXJmbG93WDsKK30KKworT3ZlcmZsb3cgUmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZlT3Zl
cmZsb3dZKCkgY29uc3QKK3sKKyAgICBhdXRvIG92ZXJmbG93WSA9IHN0eWxlKCkub3ZlcmZsb3dZ
KCk7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkgJiYgb3ZlcmZsb3dZID09IE92
ZXJmbG93OjpWaXNpYmxlKQorICAgICAgICByZXR1cm4gT3ZlcmZsb3c6OkNsaXA7CisgICAgcmV0
dXJuIG92ZXJmbG93WTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmgKaW5kZXggMjE5MDE0Y2FjYzU0MTFjOGVlNjViYjUwZDU4YWUwZDkxOTFhZWU2My4uYjhl
ZGEyNGMyMDFmMWVmNjM1Y2VlY2JiZTIwMmJiYzJmNzgzOTAxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0yNjgsNiArMjY4LDExIEBAIHB1YmxpYzoKIAog
ICAgIFJlZmVyZW5jZWRTVkdSZXNvdXJjZXMmIGVuc3VyZVJlZmVyZW5jZWRTVkdSZXNvdXJjZXMo
KTsKIAorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0OworICAgIE92ZXJm
bG93IGVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0OworICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92
ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgOiBlZmZlY3RpdmVPdmVyZmxv
d1koKTsgfQorICAgIE92ZXJmbG93IGVmZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSBj
b25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3Rp
dmVPdmVyZmxvd1koKSA6IGVmZmVjdGl2ZU92ZXJmbG93WCgpOyB9CisKIHByb3RlY3RlZDoKICAg
ICBlbnVtIEJhc2VUeXBlRmxhZyB7CiAgICAgICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3RGbGFn
ICA9IDEgPDwgMCwKQEAgLTQ1Niw3ICs0NjEsOCBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50
OjpjYW5Db250YWluRml4ZWRQb3NpdGlvbk9iamVjdHMoKSBjb25zdAogICAgICAgICAvLyBGSVhN
RTogd2lsbC1jaGFuZ2Ugc2hvdWxkIGNyZWF0ZSBjb250YWluaW5nIGJsb2NrcyBvbiBpbmxpbmUg
Ym94ZXMgKGJ1ZyAyMjUwMzUpCiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUo
KS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5n
QmxvY2tGb3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHx8IGlzU1ZHRm9yZWlnbk9i
amVjdCgpCi0gICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpOwor
ICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQorICAgICAgICB8
fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpOwogfQogCiBpbmxpbmUgYm9vbCBS
ZW5kZXJFbGVtZW50OjpjYW5Db250YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29u
c3QKQEAgLTQ2Nyw2ICs0NzMsNyBAQCBpbmxpbmUgYm9vbCBSZW5kZXJFbGVtZW50OjpjYW5Db250
YWluQWJzb2x1dGVseVBvc2l0aW9uZWRPYmplY3RzKCkgY29uc3QKICAgICAgICAgfHwgKGlzUmVu
ZGVyQmxvY2soKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2Uo
KS0+Y3JlYXRlc0NvbnRhaW5pbmdCbG9ja0ZvckFic29sdXRlbHlQb3NpdGlvbmVkKCkpCiAgICAg
ICAgIHx8IGlzU1ZHRm9yZWlnbk9iamVjdCgpCiAgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0
Q29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dCgqdGhpcykKICAgICAgICAgfHwgaXNSZW5kZXJWaWV3KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDEwNDVkMDk2YzRkNmJh
MWViYWI4MDFlY2Y0OTI5Yjg1YjAyNWNhZDkuLmRhYTU4OTc5MzQ5YTVkOWVkZDk0MjAwZmYxNmU5
Y2IyOGFkNTViYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcApAQCAtMTgwNSwxNSArMTgwNSwxNSBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94
OjpjaGlsZEhhc0ludHJpbnNpY01haW5BeGlzU2l6ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQog
T3ZlcmZsb3cgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzT3ZlcmZsb3dGb3JDaGlsZChjb25z
dCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93KCkp
Ci0gICAgICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOwotICAgIHJldHVybiBj
aGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZl
T3ZlcmZsb3dYKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgpOwogfQog
CiBPdmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6Y3Jvc3NBeGlzT3ZlcmZsb3dGb3JDaGlsZChj
b25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGlmIChpc0hvcml6b250YWxGbG93
KCkpCi0gICAgICAgIHJldHVybiBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WSgpOwotICAgIHJldHVy
biBjaGlsZC5zdHlsZSgpLm92ZXJmbG93WCgpOworICAgICAgICByZXR1cm4gY2hpbGQuZWZmZWN0
aXZlT3ZlcmZsb3dZKCk7CisgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOwog
fQogCiBib29sIFJlbmRlckZsZXhpYmxlQm94OjpjaGlsZEhhc1BlcmNlbnRIZWlnaHREZXNjZW5k
YW50cyhjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKaW5kZXggYWZiMjdj
Y2E2NzFkZTZhYmY3YTMyOWIyMWM3ODExNzAwY2YyOTUzZS4uNzk3MGYyZmQ3ODEzNjVlNjRjMTUx
YjQzZTJjMzM3YzAyZTJkOWNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCkBAIC0xNTcsMTQgKzE1NywxNCBAQCBMYXlv
dXRSZWN0IFJlbmRlckZyYWdtZW50Q29udGFpbmVyOjpvdmVyZmxvd1JlY3RGb3JGcmFnbWVudGVk
Rmxvd1BvcnRpb24oY29uc3QgTAogICAgIGlmIChtX2ZyYWdtZW50ZWRGbG93LT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpKSB7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGlzRmlyc3RQb3J0
aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy55KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25S
ZWN0LnkoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0gaXNMYXN0UG9ydGlvbiA/IHN0ZDo6
bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpLCBmcmFnbWVudGVkRmxvd092ZXJm
bG93Lm1heFkoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKTsKLSAgICAgICAg
Ym9vbCBjbGlwWCA9IHN0eWxlKCkub3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7Cisg
ICAgICAgIGJvb2wgY2xpcFggPSBlZmZlY3RpdmVPdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6Vmlz
aWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0LngoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpLCBm
cmFnbWVudGVkRmxvd092ZXJmbG93LngoKSk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGNs
aXBYID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCkgOiBzdGQ6Om1heChmcmFnbWVu
dGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhYKCkp
OwogICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwgbWF4WCAtIG1pblgs
IG1heFkgLSBtaW5ZKTsKICAgICB9IGVsc2UgewogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBp
c0ZpcnN0UG9ydGlvbiA/IGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpIDogZnJhZ21lbnRlZEZs
b3dQb3J0aW9uUmVjdC54KCk7CiAgICAgICAgIExheW91dFVuaXQgbWF4WCA9IGlzTGFzdFBvcnRp
b24gPyBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSwgZnJhZ21lbnRl
ZEZsb3dPdmVyZmxvdy5tYXhYKCkpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCk7
Ci0gICAgICAgIGJvb2wgY2xpcFkgPSBzdHlsZSgpLm92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpW
aXNpYmxlOworICAgICAgICBib29sIGNsaXBZID0gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgIT0gT3Zl
cmZsb3c6OlZpc2libGU7CiAgICAgICAgIExheW91dFVuaXQgbWluWSA9IGNsaXBZID8gZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdC55KCkgOiBzdGQ6Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25S
ZWN0LnkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy55KCkpOwogICAgICAgICBMYXlvdXRVbml0
IG1heFkgPSBjbGlwWSA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpIDogc3RkOjpt
YXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cu
bWF4WSgpKTsKICAgICAgICAgY2xpcFJlY3QgPSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFgg
LSBtaW5YLCBtYXhZIC0gbWluWSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5saW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5l
LmgKaW5kZXggMzYwZGIzY2E2NDQ4ZWQxMzg4ZGI3Yzk1MDBmYmIyNmQyMTM2YmU4ZC4uMGExNzFh
ZjhiYmFkY2FiMGUwYmE0MTZkMmEwOTg3OThiZWQyNzQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbmxpbmUuaApAQCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IG1heUFmZmVjdExheW91dCgpIGNvbnN0OwogCi0gICAgYm9vbCByZXF1aXJlc0xheWVyKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVkKCkgfHwgY3JlYXRlc0dyb3Vw
KCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgp
IHx8IGhhc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQorICAgIGJvb2wgcmVxdWly
ZXNMYXllcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGlzSW5GbG93UG9zaXRpb25lZCgpIHx8
IGNyZWF0ZXNHcm91cCgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRh
aW5tZW50KCp0aGlzKSB8fCB3aWxsQ2hhbmdlQ3JlYXRlc1N0YWNraW5nQ29udGV4dCgpIHx8IGhh
c1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCB3aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDYyMzNiNWNjNTZmYjk4N2Y2MGRjNjY5YTc4NTQ1OGU3MjdkYjI4
ZjUuLjY5MDM3ZGFkZWI2MzUyYzljYTYxNDAwM2JiZDU0M2YxM2IwNDlmY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTU2LDYgKzU1Niw3IEBAIHN0YXRp
YyBib29sIGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIp
CiAgICAgICAgIHx8IHJlbmRlcmVyLmlzUG9zaXRpb25lZCgpIC8vIE5vdGUgdGhhdCB0aGlzIG9u
bHkgY3JlYXRlcyBzdGFja2luZyBjb250ZXh0IGluIGNvbmp1bmN0aW9uIHdpdGggZXhwbGljaXQg
ei1pbmRleC4KICAgICAgICAgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpCiAgICAgICAgIHx8
IHJlbmRlcmVyLnN0eWxlKCkuaGFzSXNvbGF0aW9uKCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQ
YWludENvbnRhaW5tZW50KHJlbmRlcmVyKQogICAgICAgICB8fCAhcmVuZGVyZXIuc3R5bGUoKS5o
YXNBdXRvVXNlZFpJbmRleCgpCiAgICAgICAgIHx8IChyZW5kZXJlci5zdHlsZSgpLndpbGxDaGFu
Z2UoKSAmJiByZW5kZXJlci5zdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y2FuQ3JlYXRlU3RhY2tpbmdD
b250ZXh0KCkpCiAgICAgICAgIHx8IGxheWVyLmVzdGFibGlzaGVzVG9wTGF5ZXIoKTsKQEAgLTU4
Nyw3ICs1ODgsNyBAQCBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZU5vcm1hbEZsb3dPbmx5KCkg
Y29uc3QKIAogYm9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVDU1NTdGFja2luZ0NvbnRleHQoKSBj
b25zdAogewotICAgIHJldHVybiAhcmVuZGVyZXIoKS5zdHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4
KCkgfHwgaXNSZW5kZXJWaWV3TGF5ZXIoKTsKKyAgICByZXR1cm4gIXJlbmRlcmVyKCkuc3R5bGUo
KS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5k
ZXJlcigpKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOwogfQogCiBib29sIFJlbmRlckxheWVyOjpz
ZXRJc05vcm1hbEZsb3dPbmx5KGJvb2wgaXNOb3JtYWxGbG93T25seSkKQEAgLTEwODksNiArMTA5
MCwxMSBAQCBMYXlvdXRSZWN0IFJlbmRlckxheWVyOjpyZXBhaW50UmVjdEluY2x1ZGluZ05vbkNv
bXBvc2l0aW5nRGVzY2VuZGFudHMoKSBjb25zdAogdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0
b3JDaGFpbkhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpCiB7CiAgICAgZm9yIChSZW5k
ZXJMYXllciogbGF5ZXIgPSB0aGlzOyBsYXllcjsgbGF5ZXIgPSBsYXllci0+cGFyZW50KCkpIHsK
KyAgICAgICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgewor
ICAgICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSB0cnVlOworICAg
ICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSA9IGZhbHNlOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFsYXllci0+bV9oYXNT
ZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSAmJiBsYXllci0+aGFzU2VsZlBhaW50aW5n
TGF5ZXJEZXNjZW5kYW50KCkpCiAgICAgICAgICAgICBicmVhazsKIApAQCAtMTQ4OSw2ICsxNDk1
LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmRpcnR5QW5jZXN0b3JDaGFpblZpc2libGVEZXNjZW5k
YW50U3RhdHVzKCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNWaXNpYmxl
RGVzY2VuZGFudCgpCiB7CiAgICAgZm9yIChSZW5kZXJMYXllciogbGF5ZXIgPSB0aGlzOyBsYXll
cjsgbGF5ZXIgPSBsYXllci0+cGFyZW50KCkpIHsKKyAgICAgICAgaWYgKHNob3VsZEFwcGx5UGFp
bnRDb250YWlubWVudChyZW5kZXJlcigpKSkgeworICAgICAgICAgICAgbV9oYXNWaXNpYmxlRGVz
Y2VuZGFudCA9IHRydWU7CisgICAgICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50U3RhdHVzRGly
dHkgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGlmICgh
bGF5ZXItPm1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNEaXJ0eSAmJiBsYXllci0+aGFzVmlzaWJs
ZURlc2NlbmRhbnQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC00NTI4LDYgKzQ1MzksMTAg
QEAgdm9pZCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0c0Nv
bnRleHQmIGNsaXBSZWN0c0NvbnRleHQsIEMKICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVy
Zmxvd0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5vdmVy
Zmxvd0NsaXBSZWN0KCkpKTsKICAgICAgICAgICAgIGlmIChyZW5kZXJlcigpLmlzUG9zaXRpb25l
ZCgpKQogICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rp
b24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOworICAgICAgICAg
ICAgaWYgKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5kZXJlcigpKSkgeworICAgICAg
ICAgICAgICAgIGNsaXBSZWN0cy5zZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZs
b3dDbGlwLCBjbGlwUmVjdHMucG9zQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgICAgIGNsaXBS
ZWN0cy5zZXRGaXhlZENsaXBSZWN0KGludGVyc2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBS
ZWN0cy5maXhlZENsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAg
ICBpZiAocmVuZGVyZXIoKS5oYXNDbGlwKCkpIHsKICAgICAgICAgICAgIExheW91dFJlY3QgbmV3
UG9zQ2xpcCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkuY2xpcFJlY3Qob2Zmc2V0
LCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5k
ZXggZmI5MTkwYWI1YTU3ZGIxNzcxZjBlOTNkMjI1Njg5ZWRiNTFkM2E3Ni4uYzkzMDJlYzE2NTcz
ODAwOWUwZDU1MGMwOWQ3NGRiOGNkNmIyYzIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKQEAgLTE5MTksNiArMTkxOSwxMiBAQCB2b2lkIFJlbmRlck9iamVj
dDo6c2V0SGFzT3V0bGluZUF1dG9BbmNlc3Rvcihib29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3Ip
CiAgICAgICAgIGVuc3VyZVJhcmVEYXRhKCkuc2V0SGFzT3V0bGluZUF1dG9BbmNlc3RvcihoYXNP
dXRsaW5lQXV0b0FuY2VzdG9yKTsKIH0KIAordm9pZCBSZW5kZXJPYmplY3Q6OnNldFBhaW50Q29u
dGFpbm1lbnRBcHBsaWVzKGJvb2wgcGFpbnRDb250YWlubWVudEFwcGxpZXMpCit7CisgICAgaWYg
KHBhaW50Q29udGFpbm1lbnRBcHBsaWVzIHx8IGhhc1JhcmVEYXRhKCkpCisgICAgICAgIGVuc3Vy
ZVJhcmVEYXRhKCkuc2V0UGFpbnRDb250YWlubWVudEFwcGxpZXMocGFpbnRDb250YWlubWVudEFw
cGxpZXMpOworfQorCiBSZW5kZXJPYmplY3Q6OlJhcmVEYXRhTWFwJiBSZW5kZXJPYmplY3Q6OnJh
cmVEYXRhTWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmFyZURhdGFNYXA+IG1h
cDsKQEAgLTI1NDYsMyArMjU1Miw5IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTdHlsZUNv
bnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRl
cmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAm
JiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkg
JiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sK
KyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1BhaW50KCkgJiYgKCFyZW5kZXJl
ci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJl
bmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVy
ZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAppbmRleCA3ZDBiZWJkYmEyNGEzNWViMDg5Y2Y4ZGUzMzViMDUxZDk0NDI0N2Qz
Li44YjAwOTMxODIzODlmYjdkZjY5ZjhkNTdkYzhmMDI5NDdkNTdkZTU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC00MDgsNiArNDA4LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzUmVmbGVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1Jh
cmVEYXRhKCkgJiYgcmFyZURhdGEoKS5oYXNSZWZsZWN0aW9uKCk7IH0KICAgICBib29sIGlzUmVu
ZGVyRnJhZ21lbnRlZEZsb3coKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0
YSgpICYmIHJhcmVEYXRhKCkuaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpOyB9CiAgICAgYm9vbCBo
YXNPdXRsaW5lQXV0b0FuY2VzdG9yKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFy
ZURhdGEoKSAmJiByYXJlRGF0YSgpLmhhc091dGxpbmVBdXRvQW5jZXN0b3IoKTsgfQorICAgIGJv
b2wgcGFpbnRDb250YWlubWVudEFwcGxpZXMoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5o
YXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkucGFpbnRDb250YWlubWVudEFwcGxpZXMoKTsgfQog
CiAgICAgYm9vbCBpc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1f
Yml0ZmllbGRzLmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCk7IH0KICAgICB2b2lkIHNldElz
RXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KGJvb2wgZXhjbHVkZWQpIHsgbV9iaXRmaWVsZHMuc2V0
SXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoZXhjbHVkZWQpOyB9CkBAIC01MDUsNiArNTA2LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0SGFzUmVmbGVjdGlvbihib29sID0gdHJ1ZSk7CiAgICAg
dm9pZCBzZXRJc1JlbmRlckZyYWdtZW50ZWRGbG93KGJvb2wgPSB0cnVlKTsKICAgICB2b2lkIHNl
dEhhc091dGxpbmVBdXRvQW5jZXN0b3IoYm9vbCA9IHRydWUpOworICAgIHZvaWQgc2V0UGFpbnRD
b250YWlubWVudEFwcGxpZXMoYm9vbCA9IHRydWUpOwogCiAgICAgLy8gSG9vayBzbyB0aGF0IFJl
bmRlclRleHRDb250cm9sIGNhbiByZXR1cm4gdGhlIGxpbmUgaGVpZ2h0IG9mIGl0cyBpbm5lciBy
ZW5kZXJlci4KICAgICAvLyBGb3Igb3RoZXIgcmVuZGVyZXJzLCB0aGUgdmFsdWUgaXMgdGhlIHNh
bWUgYXMgbGluZUhlaWdodChmYWxzZSkuCkBAIC05MzUsNiArOTM3LDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFzUmVmbGVjdGlvbiwgSGFzUmVmbGVjdGlvbik7
CiAgICAgICAgIEFERF9CT09MRUFOX0JJVEZJRUxEKGlzUmVuZGVyRnJhZ21lbnRlZEZsb3csIElz
UmVuZGVyRnJhZ21lbnRlZEZsb3cpOwogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChoYXNP
dXRsaW5lQXV0b0FuY2VzdG9yLCBIYXNPdXRsaW5lQXV0b0FuY2VzdG9yKTsKKyAgICAgICAgQURE
X0JPT0xFQU5fQklURklFTEQocGFpbnRDb250YWlubWVudEFwcGxpZXMsIFBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKTsKIAogICAgICAgICAvLyBGcm9tIFJlbmRlckVsZW1lbnQKICAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBjYWNoZWRGaXJzdExpbmVTdHlsZTsKQEAgLTEyMDks
NiArMTIxMiw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZvckxpdmVEb2N1bWVudHMo
KTsKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3Qm
KTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7
CiBib29sIHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsK
K2Jvb2wgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggZmRkM2YzMGM0ZTJlMzQ3MTg2ODNkZmY3NWE4MmNmMDUz
Y2RlNDE1Zi4uNmIxYWNmY2ZkYTI5ZTFmMDkzM2VmMDU4ZDU5YTFhY2VjZmRlYmVlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTMzMSw4ICsz
MzEsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dYKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mub3ZlcmZsb3dY
KTsgfQogICAgIE92ZXJmbG93IG92ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PE92ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WSk7IH0KLSAgICBPdmVyZmxv
dyBvdmVyZmxvd0lubGluZURpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgPyBvdmVyZmxvd1goKSA6IG92ZXJmbG93WSgpOyB9Ci0gICAgT3ZlcmZsb3cg
b3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBvdmVyZmxvd1koKSA6IG92ZXJmbG93WCgpOyB9CiAgICAgYm9vbCBpc092ZXJm
bG93VmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNp
YmxlIHx8IG92ZXJmbG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlOyB9CiAKICAgICBPdmVyc2Ny
b2xsQmVoYXZpb3Igb3ZlcnNjcm9sbEJlaGF2aW9yWCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PE92ZXJzY3JvbGxCZWhhdmlvcj4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+b3ZlcnNjcm9s
bEJlaGF2aW9yWCk7IH0KQEAgLTUzMiw2ICs1MzAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb250
YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0KICAgICBib29sIGNvbnRhaW5zU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFp
bnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9CiAgICAgYm9vbCBjb250YWluc1N0eWxlKCkgY29uc3Qg
eyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlu
bWVudDo6U3R5bGUpOyB9CisgICAgYm9vbCBjb250YWluc1BhaW50KCkgY29uc3QgeyByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6UGFp
bnQpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxl
eGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94
RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGNjMTMxZjRj
MjczZjc4NjQyNzhlYzI5YzEyYWQ2MGUyOWY5YjJiMTYuLjQ0NTEwOTAyMWNlNzFmZTM4ZThiMTY2
OTQ5NmI0NjI1OGE4MmQ5NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIGJvb2wgUmVuZGVyU1ZHUm9vdDo6
c2hvdWxkQXBwbHlWaWV3cG9ydENsaXAoKSBjb25zdAogICAgIC8vIHRoZSBvdXRlcm1vc3Qgc3Zn
IGlzIGNsaXBwZWQgaWYgYXV0bywgYW5kIHN2ZyBkb2N1bWVudCByb290cyBhcmUgYWx3YXlzIGNs
aXBwZWQKICAgICAvLyBXaGVuIHRoZSBzdmcgaXMgc3RhbmQtYWxvbmUgKGlzRG9jdW1lbnRFbGVt
ZW50KCkgPT0gdHJ1ZSkgdGhlIHZpZXdwb3J0IGNsaXBwaW5nIHNob3VsZCBhbHdheXMKICAgICAv
LyBiZSBhcHBsaWVkLCBub3RpbmcgdGhhdCB0aGUgd2luZG93IHNjcm9sbGJhcnMgc2hvdWxkIGJl
IGhpZGRlbiBpZiBvdmVyZmxvdz1oaWRkZW4uCi0gICAgcmV0dXJuIHN0eWxlKCkub3ZlcmZsb3dY
KCkgPT0gT3ZlcmZsb3c6OkhpZGRlbgorICAgIHJldHVybiBlZmZlY3RpdmVPdmVyZmxvd1goKSA9
PSBPdmVyZmxvdzo6SGlkZGVuCiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3Zl
cmZsb3c6OkF1dG8KICAgICAgICAgfHwgc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6
U2Nyb2xsCiAgICAgICAgIHx8IHRoaXMtPmlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAwMzViMGNmODVjMzFjNDljZDEzZDlkYzdiYjJmZTVlN2NhMDUxYzM1Li4wZGU3MjQzYTNi
YWVlYTljYjhkNzdlMGQ0NjU3ODEzNjdiZGFjYjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMTEtMTAgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNv
bnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxhbiBC
dWp0YXMuCisKKyAgICAgICAgVW5za2lwIHRlc3RzIHRoYXQgcGFzcyBub3cuCisKKyAgICAgICAg
KiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTExLTEwICBBcmNhZHkgR29sZG1pbnRzLU9ybG92
ICA8YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBVcGRhdGUgdGVzdCBl
eHBlY3RhdGlvbnMgYW5kIGJhc2VsaW5lcyBhZnRlciByMjg0NTIxCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCAyZDJjY2VhYjcxODkxY2JiYTQ2MmZlNzg2YWUyZGQ2NDlkZjk0YWNj
Li45N2I4NTg0MTJiZTg3OWM3YTMxMWM2ODU4OWU3YzVlOGNmZmUzNDZiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMS0xMCAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250
YWluOnBhaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQ3NDIKKworICAgICAgICBSZXZpZXdlZCBieSBBbGFuIEJ1anRhcy4KKworICAgICAgICBB
ZGp1c3QgdGVzdCBleHBlY3RhdGlvbiBub3cgdGhhdCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9y
dGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4
LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMS0xMCAgTWFudWVs
IFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBXYXZ5IGRlY29y
YXRpb25zIGRvbid0IGNvdmVyIHRoZSB3aG9sZSBsaW5lIGxlbmd0aApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMDRjNzA1ZWQwZjI5YmQyYTljODAzYTc4ZjFkNTA1NmIyNWZmYzBhYi4uYTczZWVmMGIw
YTA1MzVjZmI1MTM3YzFiYmMxNTAzODNlOThkMjMwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00
NzM5LDYgKzQ3MzksMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5kLXRy
YW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRhaW5t
ZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQpAQCAtNDc1Myw0OSArNDc1Nyw4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxp
dHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNl
bGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMDYu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
Y2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAx
Ny5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC1jb250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUt
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0
cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMzMuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gv
ZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKaW5kZXggY2MwYmFjNzU4YTg2
NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFkYzFlZS4uMmY3YWNjOTM3ZGQ4ZDA0NzdkZWNjOTE2Y2Y5
OTUyYTcyMmIyZGVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50
eHQKQEAgLTEsMTcgKzEsMTMgQEAKIFN0cmV0Y2hlZDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1
bW4KIAogUm93CiBGbGV4LXN0YXJ0OgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444364</attachid>
            <date>2021-11-16 02:46:03 -0800</date>
            <delta_ts>2021-11-16 08:30:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20211116104601.patch</filename>
            <type>text/plain</type>
            <size>37789</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM1M2UxYjg2MzY4YmJm
MzE4ZjAyZDQyNzgwMmI0YjQ3YjdmMTJhYy4uOTliNjc1ZmUzYjgxZmNmZDcyODliOWEyMTMwODdh
MGJhYzIzYThkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDIxLTExLTE2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eWxlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9u
Rml4ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZl
T3ZlcmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVj
dGl2ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93SW5s
aW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVm
ZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRp
b25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVy
Zmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94
Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJh
Z21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93UG9ydGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVTdGFja2luZ0NvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdD
b250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3Rv
ckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRhbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck9iamVjdDo6UmVuZGVyT2JqZWN0UmFyZURhdGE6OlJlbmRlck9iamVjdFJhcmVE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0OjpwYWludENvbnRhaW5tZW50QXBwbGllcyBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6b3ZlcmZsb3dZIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250
YWluc1BhaW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxv
d0lubGluZURpcmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTdHlsZTo6b3ZlcmZsb3dCbG9ja0RpcmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5Vmlld3BvcnRDbGlwIGNvbnN0KToKKwogMjAyMS0xMS0x
NiAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBj
b250YWluXSBUaGUgc2l6ZSBzaG91bGQgYmUgdXBkYXRlZCBpZiBsYXlvdXQgY29udGFpbm1lbnQg
aXMgaW5zaWRlIGEgZml0LWNvbnRlbnQgcGFyZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
aW5kZXggMzc2MzljY2UyOTk2NmVmZmQ5YTE4MTk5MjI3OGU3ZWIyMDFiODQ4MC4uOGY2ODU5NzYy
OGMzNmEzZDk2Nzc1Y2JhZGViYjE2ZDJkNWQzMGE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcApAQCAtNjQ0LDggKzY0NCw4IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9W
aWV3cG9ydChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgU2Nyb2xsYmFyCiAKICAgICBi
b29sIG92ZXJyaWRlSGlkZGVuID0gZnJhbWUoKS5pc01haW5GcmFtZSgpICYmICgoZnJhbWUoKS5m
cmFtZVNjYWxlRmFjdG9yKCkgPiAxKSB8fCBoZWFkZXJIZWlnaHQoKSB8fCBmb290ZXJIZWlnaHQo
KSk7CiAKLSAgICBPdmVyZmxvdyBvdmVyZmxvd1ggPSByZW5kZXJlci5zdHlsZSgpLm92ZXJmbG93
WCgpOwotICAgIE92ZXJmbG93IG92ZXJmbG93WSA9IHJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dZ
KCk7CisgICAgT3ZlcmZsb3cgb3ZlcmZsb3dYID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dY
KCk7CisgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gcmVuZGVyZXIuZWZmZWN0aXZlT3ZlcmZsb3dZ
KCk7CiAKICAgICBpZiAoaXM8UmVuZGVyU1ZHUm9vdD4ocmVuZGVyZXIpKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBldmFsdWF0ZSBpZiB3ZSBjYW4gYWxsb3cgb3ZlcmZsb3cgZm9yIHRoZXNlIGNhc2Vz
IHRvby4KQEAgLTcwOSwxMiArNzA5LDEyIEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseVBhZ2luYXRp
b25Ub1ZpZXdwb3J0KCkKIAogICAgIGF1dG8qIGJvZHkgPSBkb2N1bWVudC0+Ym9keSgpOwogICAg
IGlmIChib2R5ICYmIGJvZHktPnJlbmRlcmVyKCkpIHsKLSAgICAgICAgZG9jdW1lbnRPckJvZHlS
ZW5kZXJlciA9IGRvY3VtZW50UmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KKyAg
ICAgICAgZG9jdW1lbnRPckJvZHlSZW5kZXJlciA9IGRvY3VtZW50UmVuZGVyZXIuZWZmZWN0aXZl
T3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0bWxFbGVtZW50Pigq
ZG9jdW1lbnRFbGVtZW50KSA/CiAgICAgICAgICAgICBib2R5LT5yZW5kZXJlcigpIDogJmRvY3Vt
ZW50UmVuZGVyZXI7CiAgICAgfQogCiAgICAgUGFnaW5hdGlvbiBwYWdpbmF0aW9uOwotICAgIE92
ZXJmbG93IG92ZXJmbG93WSA9IGRvY3VtZW50T3JCb2R5UmVuZGVyZXItPnN0eWxlKCkub3ZlcmZs
b3dZKCk7CisgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1lbnRPckJvZHlSZW5kZXJlci0+
ZWZmZWN0aXZlT3ZlcmZsb3dZKCk7CiAgICAgaWYgKG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFn
ZWRYIHx8IG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6UGFnZWRZKSB7CiAgICAgICAgIHBhZ2luYXRp
b24ubW9kZSA9IFdlYkNvcmU6OnBhZ2luYXRpb25Nb2RlRm9yUmVuZGVyU3R5bGUoZG9jdW1lbnRP
ckJvZHlSZW5kZXJlci0+c3R5bGUoKSk7CiAgICAgICAgIEdhcExlbmd0aCBjb2x1bW5HYXBMZW5n
dGggPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpLmNvbHVtbkdhcCgpOwpAQCAtNzc2
LDcgKzc3Niw3IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0Zvckxh
eW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgaWYgKGlzPEhUTUxCb2R5
RWxlbWVudD4oKmJvZHlPckZyYW1lc2V0KSAmJiByb290UmVuZGVyZXIpIHsKICAgICAgICAgLy8g
SXQncyBzdWZmaWNpZW50IHRvIGp1c3QgY2hlY2sgdGhlIFggb3ZlcmZsb3csCiAgICAgICAgIC8v
IHNpbmNlIGl0J3MgaWxsZWdhbCB0byBoYXZlIHZpc2libGUgaW4gb25seSBvbmUgZGlyZWN0aW9u
LgotICAgICAgICBpZiAocm9vdFJlbmRlcmVyLT5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJm
bG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1sRWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkgewor
ICAgICAgICBpZiAocm9vdFJlbmRlcmVyLT5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxv
dzo6VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KGRvY3VtZW50RWxlbWVudCkpIHsKICAg
ICAgICAgICAgIGF1dG8qIGJvZHlSZW5kZXJlciA9IGJvZHlPckZyYW1lc2V0LT5yZW5kZXJlcigp
OwogICAgICAgICAgICAgaWYgKGJvZHlSZW5kZXJlcikgewogICAgICAgICAgICAgICAgIGFwcGx5
T3ZlcmZsb3dUb1ZpZXdwb3J0KCpib2R5UmVuZGVyZXIsIGhNb2RlLCB2TW9kZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3Bw
CmluZGV4IDM4ZTlmMTcxNTY3ODgwYWYzNjk0ZWQ5YzNiNTkwZDczYjhkMDZhYWUuLjI5ODBkZjA0
NzdhMWExYjQzMjgyMjRjMTY5OGE2NzgwNTVjYWU3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC04NDYsNyAr
ODQ2LDcgQEAgTGF5b3V0VW5pdCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVneTo6bWlu
U2l6ZUZvckNoaWxkKFJlbmRlckJveCYgY2hpbGQpIGMKICAgICAgICAgcmV0dXJuIG1pbkNvbnRl
bnRGb3JDaGlsZChjaGlsZCk7CiAKICAgICBjb25zdCBMZW5ndGgmIGNoaWxkTWluU2l6ZSA9IGlz
Um93QXhpcyA/IGNoaWxkLnN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkgOiBjaGlsZC5zdHlsZSgp
LmxvZ2ljYWxNaW5IZWlnaHQoKTsKLSAgICBib29sIG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dB
eGlzID8gY2hpbGQuc3R5bGUoKS5vdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93
OjpWaXNpYmxlIDogY2hpbGQuc3R5bGUoKS5vdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGU7CisgICAgYm9vbCBvdmVyZmxvd0lzVmlzaWJsZSA9IGlzUm93QXhpcyA/
IGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZp
c2libGUgOiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0gT3ZlcmZs
b3c6OlZpc2libGU7CiAgICAgTGF5b3V0VW5pdCBiYXNlbGluZVNoaW0gPSBtX2FsZ29yaXRobS5i
YXNlbGluZU9mZnNldEZvckNoaWxkKGNoaWxkLCBncmlkQXhpc0ZvckRpcmVjdGlvbihkaXJlY3Rp
b24oKSkpOwogCiAgICAgaWYgKGNoaWxkTWluU2l6ZS5pc0F1dG8oKSAmJiBvdmVyZmxvd0lzVmlz
aWJsZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA3MTBlMTA0
ZTcxZTc2YWMyMjM4YWM3OWVlNGFlMGM1NzQyY2FlOWFmLi41YjNlNmE1YzQxMDc3Y2E4YjJkZDkw
YWM4NzYzMzQxNWU5MGVkNDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtNDg3LDcgKzQ4Nyw3IEBAIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVGcm9tU3R5bGUoKQog
ICAgIHNldEZsb2F0aW5nKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSAmJiBzdHlsZVRvVXNlLmlz
RmxvYXRpbmcoKSk7CiAKICAgICAvLyBXZSBhbHNvIGhhbmRsZSA8Ym9keT4gYW5kIDxodG1sPiwg
d2hvc2Ugb3ZlcmZsb3cgYXBwbGllcyB0byB0aGUgdmlld3BvcnQuCi0gICAgaWYgKCEoc3R5bGVU
b1VzZS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBzdHlsZVRvVXNlLm92ZXJm
bG93WSgpID09IE92ZXJmbG93OjpWaXNpYmxlKSAmJiAhaXNEb2NFbGVtZW50UmVuZGVyZXIgJiYg
aXNSZW5kZXJCbG9jaygpKSB7CisgICAgaWYgKCEoZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3Zl
cmZsb3c6OlZpc2libGUgJiYgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2li
bGUpICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKICAgICAg
ICAgYm9vbCBib3hIYXNOb25WaXNpYmxlT3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICBpZiAoaXNC
b2R5KCkpIHsKICAgICAgICAgICAgIC8vIE92ZXJmbG93IG9uIHRoZSBib2R5IGNhbiBwcm9wYWdh
dGUgdG8gdGhlIHZpZXdwb3J0IHVuZGVyIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucy4KQEAgLTQ5
Niw3ICs0OTYsNyBAQCB2b2lkIFJlbmRlckJveDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICAgICAg
ICAgIC8vICgzKSBUaGUgcm9vdCBlbGVtZW50IGhhcyB2aXNpYmxlIG92ZXJmbG93LgogICAgICAg
ICAgICAgaWYgKGlzPEhUTUxIdG1sRWxlbWVudD4oKmRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50
KCkpCiAgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5ib2R5KCkgPT0gZWxlbWVudCgpCi0g
ICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKS0+cmVuZGVyZXIo
KS0+c3R5bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgeworICAgICAgICAg
ICAgICAgICYmIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCktPnJlbmRlcmVyKCktPmVmZmVj
dGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAgICAgICAgICAg
Ym94SGFzTm9uVmlzaWJsZU92ZXJmbG93ID0gZmFsc2U7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KQEAgLTY2Niw3ICs2NjYsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4KExheW91dFVuaXQgbG9naWNhbAogICAgIGlmIChh
bGxvd0ludHJpbnNpYyA9PSBBbGxvd0ludHJpbnNpYzo6Tm8gJiYgc3R5bGVUb1VzZS5sb2dpY2Fs
TWluV2lkdGgoKS5pc0ludHJpbnNpYygpKQogICAgICAgICByZXR1cm4gbG9naWNhbFdpZHRoOwog
ICAgIGF1dG8gbWluTGVuZ3RoID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluV2lkdGgoKTsKLSAgICBp
ZiAoc3R5bGVUb1VzZS5oYXNBc3BlY3RSYXRpbygpICYmIG1pbkxlbmd0aC5pc0F1dG8oKSAmJiAo
c3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxX
aWR0aCgpLmlzTWluQ29udGVudCgpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNYXhD
b250ZW50KCkpICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVy
Zmxvdzo6VmlzaWJsZSkgeworICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJhdGlvKCkgJiYg
bWluTGVuZ3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygp
IHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwgc3R5bGVUb1Vz
ZS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgZWZmZWN0aXZlT3ZlcmZsb3dJbmxp
bmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICAvLyBNYWtlIHN1
cmUgd2UgYWN0dWFsbHkgdXNlZCB0aGUgYXNwZWN0IHJhdGlvLgogICAgICAgICBpZiAoc2hvdWxk
Q29tcHV0ZUxvZ2ljYWxXaWR0aEZyb21Bc3BlY3RSYXRpbygpKQogICAgICAgICAgICAgbWluTGVu
Z3RoID0gTGVuZ3RoKExlbmd0aFR5cGU6Ok1pbkNvbnRlbnQpOwpAQCAtNjgyLDcgKzY4Miw3IEBA
IExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5
b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBzCiAgICAgICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gc3Rk
OjptaW4obG9naWNhbEhlaWdodCwgbWF4SC52YWx1ZSgpKTsKICAgICB9CiAgICAgYXV0byBsb2dp
Y2FsTWluSGVpZ2h0ID0gc3R5bGVUb1VzZS5sb2dpY2FsTWluSGVpZ2h0KCk7Ci0gICAgaWYgKGxv
Z2ljYWxNaW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9t
QXNwZWN0UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYmIHN0eWxlVG9Vc2Uub3Zl
cmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYgKGxv
Z2ljYWxNaW5IZWlnaHQuaXNBdXRvKCkgJiYgc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9t
QXNwZWN0UmF0aW8oKSAmJiBpbnRyaW5zaWNDb250ZW50SGVpZ2h0ICYmIGVmZmVjdGl2ZU92ZXJm
bG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgewogICAgICAgICBhdXRv
IGhlaWdodEZyb21Bc3BlY3RSYXRpbyA9IGJsb2NrU2l6ZUZyb21Bc3BlY3RSYXRpbyhob3Jpem9u
dGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpLCB2ZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmdFeHRl
bnQoKSwgTGF5b3V0VW5pdChzdHlsZSgpLmxvZ2ljYWxBc3BlY3RSYXRpbygpKSwgc3R5bGUoKS5i
b3hTaXppbmdGb3JBc3BlY3RSYXRpbygpLCBsb2dpY2FsV2lkdGgoKSkgLSBib3JkZXJBbmRQYWRk
aW5nTG9naWNhbEhlaWdodCgpOwogICAgICAgICBpZiAoZmlyc3RDaGlsZCgpKQogICAgICAgICAg
ICAgaGVpZ2h0RnJvbUFzcGVjdFJhdGlvID0gc3RkOjptYXgoaGVpZ2h0RnJvbUFzcGVjdFJhdGlv
LCAqaW50cmluc2ljQ29udGVudEhlaWdodCk7CkBAIC00OTA2LDcgKzQ5MDYsNyBAQCBib29sIFJl
bmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1
cm4gaXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSB8fCBpc0Zsb2F0aW5nT3JPdXRPZkZsb3dQ
b3NpdGlvbmVkKCkgfHwgaGFzUG90ZW50aWFsbHlTY3JvbGxhYmxlT3ZlcmZsb3coKSB8fCBpc0Zs
ZXhJdGVtSW5jbHVkaW5nRGVwcmVjYXRlZCgpCiAgICAgICAgIHx8IGlzVGFibGVDZWxsKCkgfHwg
aXNUYWJsZUNhcHRpb24oKSB8fCBpc0ZpZWxkc2V0KCkgfHwgaXNXcml0aW5nTW9kZVJvb3QoKSB8
fCBpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygp
Ci0gICAgICAgIHx8IHN0eWxlKCkuY29udGFpbnNMYXlvdXQoKSB8fCBpc0dyaWRJdGVtKCkgfHwg
c3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkgPT0gQ29s
dW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpGbG93Um9v
dDsKKyAgICAgICAgfHwgc3R5bGUoKS5jb250YWluc0xheW91dCgpIHx8IHBhaW50Q29udGFpbm1l
bnRBcHBsaWVzKCkgfHwgaXNHcmlkSXRlbSgpIHx8IHN0eWxlKCkuc3BlY2lmaWVzQ29sdW1ucygp
IHx8IHN0eWxlKCkuY29sdW1uU3BhbigpID09IENvbHVtblNwYW46OkFsbCB8fCBzdHlsZSgpLmRp
c3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Rmxvd1Jvb3Q7CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojph
dm9pZHNGbG9hdHMoKSBjb25zdApAQCAtNDk3NCw2ICs0OTc0LDggQEAgTGF5b3V0UmVjdCBSZW5k
ZXJCb3g6OmFwcGx5VmlzdWFsRWZmZWN0T3ZlcmZsb3coY29uc3QgTGF5b3V0UmVjdCYgYm9yZGVy
Qm94KSBjb24KIAogdm9pZCBSZW5kZXJCb3g6OmFkZE92ZXJmbG93RnJvbUNoaWxkKGNvbnN0IFJl
bmRlckJveCogY2hpbGQsIGNvbnN0IExheW91dFNpemUmIGRlbHRhKQogeworICAgIGlmIChwYWlu
dENvbnRhaW5tZW50QXBwbGllcygpKQorICAgICAgICByZXR1cm47CiAgICAgLy8gTmV2ZXIgYWxs
b3cgZmxvdyB0aHJlYWRzIHRvIHByb3BhZ2F0ZSBvdmVyZmxvdyB1cCB0byBhIHBhcmVudC4KICAg
ICBpZiAoY2hpbGQtPmlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSkKICAgICAgICAgcmV0dXJuOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAK
aW5kZXggMjQ1MDkxOWY0MjY0NDYzNzQyZWNkODBiOWQyZjY0NDJkZjFlMDFmMS4uNWNjZjE3YTky
NzllMzU3ZjdkZjc1Mzk0OGJjZDRkNzc5YWMzM2I4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0yMTEsNiArMjExLDcgQEAg
dm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eWxlKCkKICAgICBzZXRIb3Jp
em9udGFsV3JpdGluZ01vZGUoc3R5bGVUb1VzZS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKTsK
ICAgICBpZiAoc3R5bGVUb1VzZS5pc0ZsaXBwZWRCbG9ja3NXcml0aW5nTW9kZSgpKQogICAgICAg
ICB2aWV3KCkuZnJhbWVWaWV3KCkuc2V0SGFzRmxpcHBlZEJsb2NrUmVuZGVyZXJzKHRydWUpOwor
ICAgIHNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVu
dCgqdGhpcykpOwogfQogCiBzdGF0aWMgTGF5b3V0U2l6ZSBhY2N1bXVsYXRlSW5GbG93UG9zaXRp
b25PZmZzZXRzKGNvbnN0IFJlbmRlck9iamVjdCogY2hpbGQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKaW5kZXggZmQwYjNjNTkyYjJiZWZhODQ1NWMwY2IxZDNm
OGQyZWU3NzVjYmU5Ny4uNTQ2M2RmNDQzN2E4MTlmNTBkMzE0MjFmYTk5OTJjN2UzOWZhMGViMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMjMxNyw3
ICsyMzE3LDcgQEAgc3RhdGljIFJlbmRlck9iamVjdDo6QmxvY2tDb250ZW50SGVpZ2h0VHlwZSBp
bmNsdWRlTm9uRml4ZWRIZWlnaHQoY29uc3QgUmVuZGVyT2IKICAgICAgICAgaWYgKGlzPFJlbmRl
ckJsb2NrPihyZW5kZXJlcikpIHsKICAgICAgICAgICAgIC8vIEZvciBmaXhlZCBoZWlnaHQgc3R5
bGVzLCBpZiB0aGUgb3ZlcmZsb3cgc2l6ZSBvZiB0aGUgZWxlbWVudCBzcGlsbHMgb3V0IG9mIHRo
ZSBzcGVjaWZpZWQKICAgICAgICAgICAgIC8vIGhlaWdodCwgYXNzdW1lIHdlIGNhbiBhcHBseSB0
ZXh0IGF1dG8tc2l6aW5nLgotICAgICAgICAgICAgaWYgKHN0eWxlLm92ZXJmbG93WSgpID09IE92
ZXJmbG93OjpWaXNpYmxlCisgICAgICAgICAgICBpZiAoZG93bmNhc3Q8UmVuZGVyQmxvY2s+KHJl
bmRlcmVyKS5lZmZlY3RpdmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZQogICAgICAg
ICAgICAgICAgICYmIHN0eWxlLmhlaWdodCgpLnZhbHVlKCkgPCBkb3duY2FzdDxSZW5kZXJCbG9j
az4ocmVuZGVyZXIpLmxheW91dE92ZXJmbG93UmVjdCgpLm1heFkoKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gUmVuZGVyT2JqZWN0OjpPdmVyZmxvd0hlaWdodDsKICAgICAgICAgfQpAQCAtMjQw
Nyw0ICsyNDA3LDIwIEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6c2V0QmFja2Ryb3BSZW5kZXJlcihS
ZW5kZXJCbG9ja0Zsb3cmIHJlbmRlcmVyKQogICAgIGVuc3VyZVJhcmVEYXRhKCkuYmFja2Ryb3BS
ZW5kZXJlciA9IHJlbmRlcmVyOwogfQogCitPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3Rp
dmVPdmVyZmxvd1goKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dYID0gc3R5bGUoKS5vdmVy
Zmxvd1goKTsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMoKSAmJiBvdmVyZmxvd1gg
PT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBPdmVyZmxvdzo6Q2xpcDsKKyAg
ICByZXR1cm4gb3ZlcmZsb3dYOworfQorCitPdmVyZmxvdyBSZW5kZXJFbGVtZW50OjplZmZlY3Rp
dmVPdmVyZmxvd1koKSBjb25zdAoreworICAgIGF1dG8gb3ZlcmZsb3dZID0gc3R5bGUoKS5vdmVy
Zmxvd1koKTsKKyAgICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMoKSAmJiBvdmVyZmxvd1kg
PT0gT3ZlcmZsb3c6OlZpc2libGUpCisgICAgICAgIHJldHVybiBPdmVyZmxvdzo6Q2xpcDsKKyAg
ICByZXR1cm4gb3ZlcmZsb3dZOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuaAppbmRleCAyMTkwMTRjYWNjNTQxMWM4ZWU2NWJiNTBkNThhZTBkOTE5MWFlZTYz
Li5iOGVkYTI0YzIwMWYxZWY2MzVjZWVjYmJlMjAyYmJjMmY3ODM5MDFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTI2OCw2ICsyNjgsMTEgQEAgcHVibGlj
OgogCiAgICAgUmVmZXJlbmNlZFNWR1Jlc291cmNlcyYgZW5zdXJlUmVmZXJlbmNlZFNWR1Jlc291
cmNlcygpOwogCisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dYKCkgY29uc3Q7CisgICAg
T3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dZKCkgY29uc3Q7CisgICAgT3ZlcmZsb3cgZWZmZWN0
aXZlT3ZlcmZsb3dJbmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBlZmZlY3RpdmVPdmVyZmxvd1goKSA6IGVmZmVjdGl2ZU92
ZXJmbG93WSgpOyB9CisgICAgT3ZlcmZsb3cgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlv
bigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVm
ZmVjdGl2ZU92ZXJmbG93WSgpIDogZWZmZWN0aXZlT3ZlcmZsb3dYKCk7IH0KKwogcHJvdGVjdGVk
OgogICAgIGVudW0gQmFzZVR5cGVGbGFnIHsKICAgICAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dEZsYWcgID0gMSA8PCAwLApAQCAtNDU2LDcgKzQ2MSw4IEBAIGlubGluZSBib29sIFJlbmRlckVs
ZW1lbnQ6OmNhbkNvbnRhaW5GaXhlZFBvc2l0aW9uT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIC8v
IEZJWE1FOiB3aWxsLWNoYW5nZSBzaG91bGQgY3JlYXRlIGNvbnRhaW5pbmcgYmxvY2tzIG9uIGlu
bGluZSBib3hlcyAoYnVnIDIyNTAzNSkKICAgICAgICAgfHwgKGlzUmVuZGVyQmxvY2soKSAmJiBz
dHlsZSgpLndpbGxDaGFuZ2UoKSAmJiBzdHlsZSgpLndpbGxDaGFuZ2UoKS0+Y3JlYXRlc0NvbnRh
aW5pbmdCbG9ja0Zvck91dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgfHwgaXNTVkdGb3Jl
aWduT2JqZWN0KCkKLSAgICAgICAgfHwgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudCgqdGhp
cyk7CisgICAgICAgIHx8IHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoKnRoaXMpCisgICAg
ICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIGlubGluZSBi
b29sIFJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMo
KSBjb25zdApAQCAtNDY3LDYgKzQ3Myw3IEBAIGlubGluZSBib29sIFJlbmRlckVsZW1lbnQ6OmNh
bkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRpb25lZE9iamVjdHMoKSBjb25zdAogICAgICAgICB8fCAo
aXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0eWxlKCkud2lsbENo
YW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yQWJzb2x1dGVseVBvc2l0aW9uZWQoKSkK
ICAgICAgICAgfHwgaXNTVkdGb3JlaWduT2JqZWN0KCkKICAgICAgICAgfHwgc2hvdWxkQXBwbHlM
YXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENvbnRh
aW5tZW50KCp0aGlzKQogICAgICAgICB8fCBpc1JlbmRlclZpZXcoKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMTEyNjBhY2Vh
MGEyZmE5ZmVmMWIxN2U5NjUyZmQxMDk1ODlhZjk1Zi4uMTAyY2JjODdkZjMzYjhjNTkxYjRkOWJi
NDg5YTBkY2IzZDhkOGJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwCkBAIC0xODQ0LDE1ICsxODQ0LDE1IEBAIGJvb2wgUmVuZGVyRmxleGli
bGVCb3g6OmNoaWxkSGFzSW50cmluc2ljTWFpbkF4aXNTaXplKGNvbnN0IFJlbmRlckJveCYgY2hp
bGQpCiBPdmVyZmxvdyBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVyZmxvd0ZvckNoaWxk
KGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZs
b3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7Ci0gICAgcmV0
dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5lZmZl
Y3RpdmVPdmVyZmxvd1goKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dZKCk7
CiB9CiAKIE92ZXJmbG93IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNo
aWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgaWYgKGlzSG9yaXpvbnRh
bEZsb3coKSkKLSAgICAgICAgcmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dZKCk7Ci0gICAg
cmV0dXJuIGNoaWxkLnN0eWxlKCkub3ZlcmZsb3dYKCk7CisgICAgICAgIHJldHVybiBjaGlsZC5l
ZmZlY3RpdmVPdmVyZmxvd1koKTsKKyAgICByZXR1cm4gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dY
KCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzUGVyY2VudEhlaWdodERl
c2NlbmRhbnRzKGNvbnN0IFJlbmRlckJveCYgcmVuZGVyZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRleCBh
ZmIyN2NjYTY3MWRlNmFiZjdhMzI5YjIxYzc4MTE3MDBjZjI5NTNlLi43OTcwZjJmZDc4MTM2NWU2
NGMxNTFiNDNlMmMzMzdjMDJlMmQ5Y2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKQEAgLTE1NywxNCArMTU3LDE0IEBA
IExheW91dFJlY3QgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdt
ZW50ZWRGbG93UG9ydGlvbihjb25zdCBMCiAgICAgaWYgKG1fZnJhZ21lbnRlZEZsb3ctPmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gaXNGaXJz
dFBvcnRpb24gPyBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSA6IGZyYWdtZW50ZWRGbG93UG9y
dGlvblJlY3QueSgpOwogICAgICAgICBMYXlvdXRVbml0IG1heFkgPSBpc0xhc3RQb3J0aW9uID8g
c3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCksIGZyYWdtZW50ZWRGbG93
T3ZlcmZsb3cubWF4WSgpKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WSgpOwotICAg
ICAgICBib29sIGNsaXBYID0gc3R5bGUoKS5vdmVyZmxvd1goKSAhPSBPdmVyZmxvdzo6VmlzaWJs
ZTsKKyAgICAgICAgYm9vbCBjbGlwWCA9IGVmZmVjdGl2ZU92ZXJmbG93WCgpICE9IE92ZXJmbG93
OjpWaXNpYmxlOwogICAgICAgICBMYXlvdXRVbml0IG1pblggPSBjbGlwWCA/IGZyYWdtZW50ZWRG
bG93UG9ydGlvblJlY3QueCgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54
KCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cueCgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhY
ID0gY2xpcFggPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFgoKSA6IHN0ZDo6bWF4KGZy
YWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1h
eFgoKSk7CiAgICAgICAgIGNsaXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0g
bWluWCwgbWF4WSAtIG1pblkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIExheW91dFVuaXQgbWlu
WCA9IGlzRmlyc3RQb3J0aW9uID8gZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy54KCkgOiBmcmFnbWVu
dGVkRmxvd1BvcnRpb25SZWN0LngoKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhYID0gaXNMYXN0
UG9ydGlvbiA/IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpLCBmcmFn
bWVudGVkRmxvd092ZXJmbG93Lm1heFgoKSkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0Lm1h
eFgoKTsKLSAgICAgICAgYm9vbCBjbGlwWSA9IHN0eWxlKCkub3ZlcmZsb3dZKCkgIT0gT3ZlcmZs
b3c6OlZpc2libGU7CisgICAgICAgIGJvb2wgY2xpcFkgPSBlZmZlY3RpdmVPdmVyZmxvd1koKSAh
PSBPdmVyZmxvdzo6VmlzaWJsZTsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5ZID0gY2xpcFkgPyBm
cmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSA6IHN0ZDo6bWluKGZyYWdtZW50ZWRGbG93UG9y
dGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93LnkoKSk7CiAgICAgICAgIExheW91
dFVuaXQgbWF4WSA9IGNsaXBZID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCkgOiBz
dGQ6Om1heChmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LnkoKSwgZnJhZ21lbnRlZEZsb3dPdmVy
Zmxvdy5tYXhZKCkpOwogICAgICAgICBjbGlwUmVjdCA9IExheW91dFJlY3QobWluWCwgbWluWSwg
bWF4WCAtIG1pblgsIG1heFkgLSBtaW5ZKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bmxpbmUuaAppbmRleCAzNjBkYjNjYTY0NDhlZDEzODhkYjdjOTUwMGZiYjI2ZDIxMzZiZThkLi4w
YTE3MWFmOGJiYWRjYWIwZTBiYTQxNmQyYTA5ODc5OGJlZDI3NDM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcklubGluZS5oCkBAIC04Miw3ICs4Miw3IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgbWF5QWZmZWN0TGF5b3V0KCkgY29uc3Q7CiAKLSAgICBib29sIHJlcXVpcmVzTGF5ZXIo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVz
R3JvdXAoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tpbmdDb250
ZXh0KCkgfHwgaGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CisgICAgYm9vbCBy
ZXF1aXJlc0xheWVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNJbkZsb3dQb3NpdGlvbmVk
KCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBzaG91bGRBcHBseVBhaW50
Q29udGFpbm1lbnQoKnRoaXMpIHx8IHdpbGxDaGFuZ2VDcmVhdGVzU3RhY2tpbmdDb250ZXh0KCkg
fHwgaGFzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9ucygpOyB9CiAKIHByb3RlY3RlZDoKICAg
ICB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKaW5kZXggNWM1YTFiYTI5OTI0NDkzODk2YjdhZTUwNjI2NGE5N2Zh
ZTg2OWMwYy4uMDkyNWQ4MjhmOGFhNWE1YjBjYjRmMmQyNzg2OGIwZmEyOTUyYmFlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01NTYsNiArNTU2LDcgQEAg
c3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBs
YXllcikKICAgICAgICAgfHwgcmVuZGVyZXIuaXNQb3NpdGlvbmVkKCkgLy8gTm90ZSB0aGF0IHRo
aXMgb25seSBjcmVhdGVzIHN0YWNraW5nIGNvbnRleHQgaW4gY29uanVuY3Rpb24gd2l0aCBleHBs
aWNpdCB6LWluZGV4LgogICAgICAgICB8fCByZW5kZXJlci5oYXNSZWZsZWN0aW9uKCkKICAgICAg
ICAgfHwgcmVuZGVyZXIuc3R5bGUoKS5oYXNJc29sYXRpb24oKQorICAgICAgICB8fCBzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIpCiAgICAgICAgIHx8ICFyZW5kZXJlci5zdHls
ZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkKICAgICAgICAgfHwgKHJlbmRlcmVyLnN0eWxlKCkud2ls
bENoYW5nZSgpICYmIHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpLT5jYW5DcmVhdGVTdGFj
a2luZ0NvbnRleHQoKSkKICAgICAgICAgfHwgbGF5ZXIuZXN0YWJsaXNoZXNUb3BMYXllcigpOwpA
QCAtNTg3LDcgKzU4OCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxvd09u
bHkoKSBjb25zdAogCiBib29sIFJlbmRlckxheWVyOjpzaG91bGRCZUNTU1N0YWNraW5nQ29udGV4
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRa
SW5kZXgoKSB8fCBpc1JlbmRlclZpZXdMYXllcigpOworICAgIHJldHVybiAhcmVuZGVyZXIoKS5z
dHlsZSgpLmhhc0F1dG9Vc2VkWkluZGV4KCkgfHwgc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50
KHJlbmRlcmVyKCkpIHx8IGlzUmVuZGVyVmlld0xheWVyKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5
ZXI6OnNldElzTm9ybWFsRmxvd09ubHkoYm9vbCBpc05vcm1hbEZsb3dPbmx5KQpAQCAtMTA4OSw2
ICsxMDkwLDExIEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OnJlcGFpbnRSZWN0SW5jbHVkaW5n
Tm9uQ29tcG9zaXRpbmdEZXNjZW5kYW50cygpIGNvbnN0CiB2b2lkIFJlbmRlckxheWVyOjpzZXRB
bmNlc3RvckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KCkKIHsKICAgICBmb3Ig
KFJlbmRlckxheWVyKiBsYXllciA9IHRoaXM7IGxheWVyOyBsYXllciA9IGxheWVyLT5wYXJlbnQo
KSkgeworICAgICAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkp
KSB7CisgICAgICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCA9IHRydWU7
CisgICAgICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERpcnR5ID0gZmFs
c2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBpZiAoIWxheWVyLT5t
X2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERpcnR5ICYmIGxheWVyLT5oYXNTZWxmUGFp
bnRpbmdMYXllckRlc2NlbmRhbnQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC0xNDg5LDYg
KzE0OTUsMTEgQEAgdm9pZCBSZW5kZXJMYXllcjo6ZGlydHlBbmNlc3RvckNoYWluVmlzaWJsZURl
c2NlbmRhbnRTdGF0dXMoKQogdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0b3JDaGFpbkhhc1Zp
c2libGVEZXNjZW5kYW50KCkKIHsKICAgICBmb3IgKFJlbmRlckxheWVyKiBsYXllciA9IHRoaXM7
IGxheWVyOyBsYXllciA9IGxheWVyLT5wYXJlbnQoKSkgeworICAgICAgICBpZiAoc2hvdWxkQXBw
bHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpKSB7CisgICAgICAgICAgICBtX2hhc1Zpc2li
bGVEZXNjZW5kYW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fdmlzaWJsZURlc2NlbmRhbnRTdGF0
dXNEaXJ0eSA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICAgICAg
aWYgKCFsYXllci0+bV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5ICYmIGxheWVyLT5oYXNW
aXNpYmxlRGVzY2VuZGFudCgpKQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTQ1MjksNiArNDU0
MCwxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJl
Y3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICAgICAgY2xpcFJlY3RzLnNl
dE92ZXJmbG93Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3Rz
Lm92ZXJmbG93Q2xpcFJlY3QoKSkpOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaXNQb3Np
dGlvbmVkKCkpCiAgICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVy
c2VjdGlvbihuZXdPdmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CisgICAg
ICAgICAgICBpZiAoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KHJlbmRlcmVyKCkpKSB7Cisg
ICAgICAgICAgICAgICAgY2xpcFJlY3RzLnNldFBvc0NsaXBSZWN0KGludGVyc2VjdGlvbihuZXdP
dmVyZmxvd0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKSk7CisgICAgICAgICAgICAgICAg
Y2xpcFJlY3RzLnNldEZpeGVkQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwg
Y2xpcFJlY3RzLmZpeGVkQ2xpcFJlY3QoKSkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgICAgIGlmIChyZW5kZXJlcigpLmhhc0NsaXAoKSkgewogICAgICAgICAgICAgTGF5b3V0UmVj
dCBuZXdQb3NDbGlwID0gZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKS5jbGlwUmVjdChv
ZmZzZXQsIG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCA5ZmQ5ZTE3YTMxODQ2OGZlY2M3NmE5NDVlMDVkYzk4NmRlNjgyZGQxLi5kNjFhY2Qz
Y2Q4NmU3MWM3NGIwMTg3MTI0MTZlMzcxMWZmZGM0MDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTkxOSw2ICsxOTE5LDEyIEBAIHZvaWQgUmVuZGVy
T2JqZWN0OjpzZXRIYXNPdXRsaW5lQXV0b0FuY2VzdG9yKGJvb2wgaGFzT3V0bGluZUF1dG9BbmNl
c3RvcikKICAgICAgICAgZW5zdXJlUmFyZURhdGEoKS5zZXRIYXNPdXRsaW5lQXV0b0FuY2VzdG9y
KGhhc091dGxpbmVBdXRvQW5jZXN0b3IpOwogfQogCit2b2lkIFJlbmRlck9iamVjdDo6c2V0UGFp
bnRDb250YWlubWVudEFwcGxpZXMoYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcykKK3sKKyAg
ICBpZiAocGFpbnRDb250YWlubWVudEFwcGxpZXMgfHwgaGFzUmFyZURhdGEoKSkKKyAgICAgICAg
ZW5zdXJlUmFyZURhdGEoKS5zZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhwYWludENvbnRhaW5t
ZW50QXBwbGllcyk7Cit9CisKIFJlbmRlck9iamVjdDo6UmFyZURhdGFNYXAmIFJlbmRlck9iamVj
dDo6cmFyZURhdGFNYXAoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSYXJlRGF0YU1h
cD4gbWFwOwpAQCAtMTk0Nyw2ICsxOTUzLDcgQEAgUmVuZGVyT2JqZWN0OjpSZW5kZXJPYmplY3RS
YXJlRGF0YTo6UmVuZGVyT2JqZWN0UmFyZURhdGEoKQogICAgIDogbV9oYXNSZWZsZWN0aW9uKGZh
bHNlKQogICAgICwgbV9pc1JlbmRlckZyYWdtZW50ZWRGbG93KGZhbHNlKQogICAgICwgbV9oYXNP
dXRsaW5lQXV0b0FuY2VzdG9yKGZhbHNlKQorICAgICwgbV9wYWludENvbnRhaW5tZW50QXBwbGll
cyhmYWxzZSkKIHsKIH0KIApAQCAtMjU0NiwzICsyNTUzLDkgQEAgYm9vbCBXZWJDb3JlOjpzaG91
bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5k
ZXJlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiAoIXJlbmRlcmVyLmlzSW5s
aW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIu
aXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1Rh
YmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJsZSgpOwogfQorCitib29sIFdlYkNvcmU6
OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3Qm
IHJlbmRlcmVyKQoreworICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zUGFpbnQo
KSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZl
bEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBh
cnQoKSB8fCByZW5kZXJlci5pc1JlbmRlckJsb2NrRmxvdygpKTsKK30KKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDdkMGJlYmRiYTI0YTM1ZWIwODljZjhkZTMz
NWIwNTFkOTQ0MjQ3ZDMuLjhiMDA5MzE4MjM4OWZiN2RmNjlmOGQ1N2RjOGYwMjk0N2Q1N2RlNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTQwOCw2ICs0MDgs
NyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNSZWZsZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9i
aXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJlRGF0YSgpLmhhc1JlZmxlY3Rpb24oKTsgfQog
ICAgIGJvb2wgaXNSZW5kZXJGcmFnbWVudGVkRmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fYml0Zmll
bGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCk7
IH0KICAgICBib29sIGhhc091dGxpbmVBdXRvQW5jZXN0b3IoKSBjb25zdCB7IHJldHVybiBtX2Jp
dGZpZWxkcy5oYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhKCkuaGFzT3V0bGluZUF1dG9BbmNlc3Rv
cigpOyB9CisgICAgYm9vbCBwYWludENvbnRhaW5tZW50QXBwbGllcygpIGNvbnN0IHsgcmV0dXJu
IG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGEoKS5wYWludENvbnRhaW5tZW50
QXBwbGllcygpOyB9CiAKICAgICBib29sIGlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCkgY29u
c3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKTsgfQog
ICAgIHZvaWQgc2V0SXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoYm9vbCBleGNsdWRlZCkgeyBt
X2JpdGZpZWxkcy5zZXRJc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dChleGNsdWRlZCk7IH0KQEAg
LTUwNSw2ICs1MDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIYXNSZWZsZWN0aW9uKGJvb2wg
PSB0cnVlKTsKICAgICB2b2lkIHNldElzUmVuZGVyRnJhZ21lbnRlZEZsb3coYm9vbCA9IHRydWUp
OwogICAgIHZvaWQgc2V0SGFzT3V0bGluZUF1dG9BbmNlc3Rvcihib29sID0gdHJ1ZSk7CisgICAg
dm9pZCBzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhib29sID0gdHJ1ZSk7CiAKICAgICAvLyBI
b29rIHNvIHRoYXQgUmVuZGVyVGV4dENvbnRyb2wgY2FuIHJldHVybiB0aGUgbGluZSBoZWlnaHQg
b2YgaXRzIGlubmVyIHJlbmRlcmVyLgogICAgIC8vIEZvciBvdGhlciByZW5kZXJlcnMsIHRoZSB2
YWx1ZSBpcyB0aGUgc2FtZSBhcyBsaW5lSGVpZ2h0KGZhbHNlKS4KQEAgLTkzNSw2ICs5MzcsNyBA
QCBwcml2YXRlOgogICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChoYXNSZWZsZWN0aW9uLCBI
YXNSZWZsZWN0aW9uKTsKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaXNSZW5kZXJGcmFn
bWVudGVkRmxvdywgSXNSZW5kZXJGcmFnbWVudGVkRmxvdyk7CiAgICAgICAgIEFERF9CT09MRUFO
X0JJVEZJRUxEKGhhc091dGxpbmVBdXRvQW5jZXN0b3IsIEhhc091dGxpbmVBdXRvQW5jZXN0b3Ip
OworICAgICAgICBBRERfQk9PTEVBTl9CSVRGSUVMRChwYWludENvbnRhaW5tZW50QXBwbGllcywg
UGFpbnRDb250YWlubWVudEFwcGxpZXMpOwogCiAgICAgICAgIC8vIEZyb20gUmVuZGVyRWxlbWVu
dAogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGNhY2hlZEZpcnN0TGluZVN0
eWxlOwpAQCAtMTIwOSw2ICsxMjEyLDcgQEAgdm9pZCBwcmludEdyYXBoaWNzTGF5ZXJUcmVlRm9y
TGl2ZURvY3VtZW50cygpOwogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0
IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBS
ZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTdHlsZUNvbnRhaW5tZW50KGNvbnN0IFJl
bmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoY29uc3QgUmVu
ZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA4YmVmYWU0ZjY3ZDUwNTc0ZjJm
ZDZkMmQxYTNhNzYzZGMyN2JmNTRjLi4zN2JlYzU2Y2UwZDUzZjI1YjA0MjEzNmFkYTVjZjM4OGRh
ODVlMDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aApAQCAtMzMyLDggKzMzMiw2IEBAIHB1YmxpYzoKICAgICAKICAgICBPdmVyZmxvdyBvdmVyZmxv
d1goKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4obV9ub25Jbmhlcml0ZWRG
bGFncy5vdmVyZmxvd1gpOyB9CiAgICAgT3ZlcmZsb3cgb3ZlcmZsb3dZKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8T3ZlcmZsb3c+KG1fbm9uSW5oZXJpdGVkRmxhZ3Mub3ZlcmZsb3dZKTsg
fQotICAgIE92ZXJmbG93IG92ZXJmbG93SW5saW5lRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4g
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WCgpIDogb3ZlcmZsb3dZKCk7IH0K
LSAgICBPdmVyZmxvdyBvdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gaXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IG92ZXJmbG93WSgpIDogb3ZlcmZsb3dYKCk7IH0KICAg
ICBib29sIGlzT3ZlcmZsb3dWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gb3ZlcmZsb3dYKCkgPT0g
T3ZlcmZsb3c6OlZpc2libGUgfHwgb3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGU7IH0K
IAogICAgIE92ZXJzY3JvbGxCZWhhdmlvciBvdmVyc2Nyb2xsQmVoYXZpb3JYKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8T3ZlcnNjcm9sbEJlaGF2aW9yPihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLT5vdmVyc2Nyb2xsQmVoYXZpb3JYKTsgfQpAQCAtNTMzLDYgKzUzMSw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJv
b2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KICAgICBib29sIGNvbnRhaW5z
U3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNv
bnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSk7IH0KKyAgICBib29sIGNvbnRhaW5zUGFpbnQoKSBj
b25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENv
bnRhaW5tZW50OjpQYWludCk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERp
cmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhl
cml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsg
cmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+Zmxl
eDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
b290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAK
aW5kZXggY2MxMzFmNGMyNzNmNzg2NDI3OGVjMjljMTJhZDYwZTI5ZjliMmIxNi4uNDQ1MTA5MDIx
Y2U3MWZlMzhlOGIxNjY5NDk2YjQ2MjU4YTgyZDk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC0yMTUsNyArMjE1LDcgQEAgYm9vbCBS
ZW5kZXJTVkdSb290OjpzaG91bGRBcHBseVZpZXdwb3J0Q2xpcCgpIGNvbnN0CiAgICAgLy8gdGhl
IG91dGVybW9zdCBzdmcgaXMgY2xpcHBlZCBpZiBhdXRvLCBhbmQgc3ZnIGRvY3VtZW50IHJvb3Rz
IGFyZSBhbHdheXMgY2xpcHBlZAogICAgIC8vIFdoZW4gdGhlIHN2ZyBpcyBzdGFuZC1hbG9uZSAo
aXNEb2N1bWVudEVsZW1lbnQoKSA9PSB0cnVlKSB0aGUgdmlld3BvcnQgY2xpcHBpbmcgc2hvdWxk
IGFsd2F5cwogICAgIC8vIGJlIGFwcGxpZWQsIG5vdGluZyB0aGF0IHRoZSB3aW5kb3cgc2Nyb2xs
YmFycyBzaG91bGQgYmUgaGlkZGVuIGlmIG92ZXJmbG93PWhpZGRlbi4KLSAgICByZXR1cm4gc3R5
bGUoKS5vdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6SGlkZGVuCisgICAgcmV0dXJuIGVmZmVjdGl2
ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpIaWRkZW4KICAgICAgICAgfHwgc3R5bGUoKS5vdmVy
Zmxvd1goKSA9PSBPdmVyZmxvdzo6QXV0bwogICAgICAgICB8fCBzdHlsZSgpLm92ZXJmbG93WCgp
ID09IE92ZXJmbG93OjpTY3JvbGwKICAgICAgICAgfHwgdGhpcy0+aXNEb2N1bWVudEVsZW1lbnRS
ZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGRkYjkxOGE5ZDYyZDg5NzUxNzFjZGMyYWVjOWNiZmI3NGY0OTQ0
NjEuLjM3M2Q4MzBlYmEzZmQ4YjdmYzkyMjZkZmQ5N2RkNDY4MmM0Zjk1ODcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0xMS0xNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhhdCBwYXNz
IG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMTEtMTYgIEFyY2Fk
eSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dM
SUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyBhbmQgYmFzZWxpbmVzLiBVbnJldmlld2VkIHRl
c3QgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggY2FlZGJiMzlk
NWUyZGQ4Yjc1MGM4ODdiM2YzMDQzNzEyYzA4NTEzOC4uZTY0ODcyZTE2OTczMzlhZGVlN2YzYTZi
Yzk4YmYxODRmYWM1ZDU3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjEtMTEtMTYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpwYWludAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzQyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRqdXN0IHRlc3QgZXhwZWN0YXRpb24g
bm93IHRoYXQgY29udGFpbjogc3RyaWN0IGlzIHN1cHBvcnRlZC4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1l
eHBlY3RlZC50eHQ6CisKIDIwMjEtMTEtMTUgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZS1pbXBvcnQgY3NzL2Nzcy10ZXh0LWRlY29yIFdQVApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYzE2ZDYxY2U3N2ViODY5ODZjOWE4YWE4NGJmMDMwNGI3OGZiYmJkZi4uOWY5ZGI4
Zjc4YWRmNmFhNmYzMDBmMzkyOWUzNWRiNGEwMTllNzViZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC00NzI2LDYgKzQ3MjYsMTAgQEAgd2ViYW5pbWF0aW9ucy90cmFuc2xhdGUtcHJvcGVydHktYW5k
LXRyYW5zbGF0ZS1hbmltYXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGEKICMgQ1NTIGNvbnRh
aW5tZW50IHRlc3RzIHRoYXQgZmFpbAogIyB3ZWJraXQtcnVieS10ZXh0CiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC0wMTcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12
aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVu
dC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQpAQCAtNDc0MCw0OSArNDc0NCw4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2li
aWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwOC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAwOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAx
MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAxOS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXBhaW50LTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTA0Ny5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXBhaW50LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNlbGwtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2VsbC0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0w
MDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtY2xpcC0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtY2xpcC0wMTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlw
LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDE4Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1jb250YWluaW5nLWJsb2NrLWFic29sdXRlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNvbnRhaW5pbmctYmxvY2stZml4ZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtZm9ybWF0dGluZy1jb250ZXh0LWZsb2F0LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LWZvcm1hdHRpbmctY29udGV4dC1tYXJnaW4tMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtaWZjLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBh
aW50LWluZGVwZW5kZW50LWZvcm1hdHRpbmctY29udGV4dC0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1zaXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNp
emUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc2l6ZS0wMDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAwMWEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC10YWJsZS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMzMuc3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDM0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhi
b3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKaW5kZXggY2MwYmFjNzU4
YTg2NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFkYzFlZS4uMmY3YWNjOTM3ZGQ4ZDA0NzdkZWNjOTE2
Y2Y5OTUyYTcyMmIyZGVjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmlj
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3Rl
ZC50eHQKQEAgLTEsMTcgKzEsMTMgQEAKIFN0cmV0Y2hlZDoKIAotQ29sdW1uCiAKLVJvdwogCiBD
b2x1bW4KIAogUm93CiBGbGV4LXN0YXJ0OgogCi1Db2x1bW4KIAotUm93CiAKIENvbHVtbgogCg==
</data>
<flag name="commit-queue"
          id="469397"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444389</attachid>
            <date>2021-11-16 08:21:21 -0800</date>
            <delta_ts>2021-11-16 14:32:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224742-20211116162119.patch</filename>
            <type>text/plain</type>
            <size>37892</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDMzMTRkNTUyNTU5NmYy
NDY3YjIyNmYxNThjYTAwNDRlYTIzMmJjOC4uZjc2MGJmNzcyNDI1M2MyZTNhMzZmNzFkMTgxNTA5
YmIzMWRjODU5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDIxLTExLTE2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBwYWludCBjb250YWlubWVudCBhcyBzcGVjaWZp
ZWRbMV0uCisKKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQgdG8g
Y2hlY2sgd2hldGhlciB0aGUgZWxlbWVudCBhcHBsaWVzIGZvciBwYWludCBjb250YWlubWVudC4g
SXMgc28sIHRoZW46CisgICAgICAgIC0gYW4gaW5kZXBlbmRlbnQgZm9ybWF0dGluZyBjb250ZXh0
IGlzIGVzdGFibGlzaGVkLgorICAgICAgICAtIGFuIGFic29sdXRlIHBvc2l0aW9uaW5nIGFuZCBm
aXhlZCBwb3NpdGlvbmluZyBjb250YWluaW5nIGJsb2NrIGlzIGVzdGFibGlzaGVkLgorICAgICAg
ICAtIGEgc3RhY2tpbmcgY29udGV4dCBpcyBjcmVhdGVkLgorICAgICAgICAtIGltcGxlbWVudHMg
Y2xpcHBpbmcgb24gdGhlIG92ZXJmbG93IGNsaXAgZWRnZS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBlZmZlY3RpdmVPdmVyZmxvd1gvZWZmZWN0aXZlT3ZlcmZsb3dZIG9uIFJlbmRl
ckVsZW1lbnQgdG8gdGFrZQorICAgICAgICB0aGUgZWZmZWN0IG9mIHBhaW50IGNvbnRhaW5tZW50
IG9uIG92ZXJmbG93LXgveSBpbnRvIGFjY291bnQuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNwYWludC1jb250YWlubWVudAorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphcHBs
eU92ZXJmbG93VG9WaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFwcGx5
UGFnaW5hdGlvblRvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpjYWxj
dWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG1TdHJhdGVneTo6bWluU2l6ZUZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBk
YXRlRnJvbVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29uc3RyYWluTG9n
aWNhbFdpZHRoSW5GcmFnbWVudEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJveDo6Y3JlYXRlc05ld0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6dXBkYXRlRnJvbVN0eWxlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbmNsdWRlTm9u
Rml4ZWRIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6ZWZmZWN0aXZl
T3ZlcmZsb3dYIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVj
dGl2ZU92ZXJmbG93WSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93SW5s
aW5lRGlyZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmVm
ZmVjdGl2ZU92ZXJmbG93QmxvY2tEaXJlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9zaXRpb25PYmplY3RzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmNhbkNvbnRhaW5BYnNvbHV0ZWx5UG9zaXRp
b25lZE9iamVjdHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNPdmVy
Zmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94
Ojpjcm9zc0F4aXNPdmVyZmxvd0ZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJh
Z21lbnRDb250YWluZXI6Om92ZXJmbG93UmVjdEZvckZyYWdtZW50ZWRGbG93UG9ydGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5DcmVhdGVTdGFja2luZ0NvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdD
b250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzZXRBbmNlc3Rv
ckNoYWluSGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRhbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q6OnNldFBhaW50Q29udGFpbm1lbnRBcHBsaWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck9iamVjdDo6UmVuZGVyT2JqZWN0UmFyZURhdGE6OlJlbmRlck9iamVjdFJhcmVE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyT2JqZWN0OjpwYWludENvbnRhaW5tZW50QXBwbGllcyBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6b3ZlcmZsb3dZIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250
YWluc1BhaW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpvdmVyZmxv
d0lubGluZURpcmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTdHlsZTo6b3ZlcmZsb3dCbG9ja0RpcmVjdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5Vmlld3BvcnRDbGlwIGNvbnN0KToKKwogMjAyMS0xMS0x
NiAgQW5kcmV1IEJvdGVsbGEgIDxhbmRyZXVAYW5kcmV1Ym90ZWxsYS5jb20+CiAKICAgICAgICAg
RW1wdHkgPGlucHV0IHR5cGU9ZmlsZT4gaXMgcmVwcmVzZW50ZWQgaW5jb3JyZWN0bHkgaW4gRm9y
bURhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAzNzYzOWNjZTI5OTY2ZWZmZDlh
MTgxOTkyMjc4ZTdlYjIwMWI4NDgwLi44ZjY4NTk3NjI4YzM2YTNkOTY3NzVjYmFkZWJiMTZkMmQ1
ZDMwYTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC02NDQsOCArNjQ0LDggQEAg
dm9pZCBGcmFtZVZpZXc6OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KGNvbnN0IFJlbmRlckVsZW1l
bnQmIHJlbmRlcmVyLCBTY3JvbGxiYXIKIAogICAgIGJvb2wgb3ZlcnJpZGVIaWRkZW4gPSBmcmFt
ZSgpLmlzTWFpbkZyYW1lKCkgJiYgKChmcmFtZSgpLmZyYW1lU2NhbGVGYWN0b3IoKSA+IDEpIHx8
IGhlYWRlckhlaWdodCgpIHx8IGZvb3RlckhlaWdodCgpKTsKIAotICAgIE92ZXJmbG93IG92ZXJm
bG93WCA9IHJlbmRlcmVyLnN0eWxlKCkub3ZlcmZsb3dYKCk7Ci0gICAgT3ZlcmZsb3cgb3ZlcmZs
b3dZID0gcmVuZGVyZXIuc3R5bGUoKS5vdmVyZmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxv
d1ggPSByZW5kZXJlci5lZmZlY3RpdmVPdmVyZmxvd1goKTsKKyAgICBPdmVyZmxvdyBvdmVyZmxv
d1kgPSByZW5kZXJlci5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIAogICAgIGlmIChpczxSZW5kZXJT
VkdSb290PihyZW5kZXJlcikpIHsKICAgICAgICAgLy8gRklYTUU6IGV2YWx1YXRlIGlmIHdlIGNh
biBhbGxvdyBvdmVyZmxvdyBmb3IgdGhlc2UgY2FzZXMgdG9vLgpAQCAtNzA5LDEyICs3MDksMTIg
QEAgdm9pZCBGcmFtZVZpZXc6OmFwcGx5UGFnaW5hdGlvblRvVmlld3BvcnQoKQogCiAgICAgYXV0
byogYm9keSA9IGRvY3VtZW50LT5ib2R5KCk7CiAgICAgaWYgKGJvZHkgJiYgYm9keS0+cmVuZGVy
ZXIoKSkgewotICAgICAgICBkb2N1bWVudE9yQm9keVJlbmRlcmVyID0gZG9jdW1lbnRSZW5kZXJl
ci5zdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1s
RWxlbWVudD4oKmRvY3VtZW50RWxlbWVudCkgPworICAgICAgICBkb2N1bWVudE9yQm9keVJlbmRl
cmVyID0gZG9jdW1lbnRSZW5kZXJlci5lZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6
VmlzaWJsZSAmJiBpczxIVE1MSHRtbEVsZW1lbnQ+KCpkb2N1bWVudEVsZW1lbnQpID8KICAgICAg
ICAgICAgIGJvZHktPnJlbmRlcmVyKCkgOiAmZG9jdW1lbnRSZW5kZXJlcjsKICAgICB9CiAKICAg
ICBQYWdpbmF0aW9uIHBhZ2luYXRpb247Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dZID0gZG9jdW1l
bnRPckJvZHlSZW5kZXJlci0+c3R5bGUoKS5vdmVyZmxvd1koKTsKKyAgICBPdmVyZmxvdyBvdmVy
Zmxvd1kgPSBkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5lZmZlY3RpdmVPdmVyZmxvd1koKTsKICAg
ICBpZiAob3ZlcmZsb3dZID09IE92ZXJmbG93OjpQYWdlZFggfHwgb3ZlcmZsb3dZID09IE92ZXJm
bG93OjpQYWdlZFkpIHsKICAgICAgICAgcGFnaW5hdGlvbi5tb2RlID0gV2ViQ29yZTo6cGFnaW5h
dGlvbk1vZGVGb3JSZW5kZXJTdHlsZShkb2N1bWVudE9yQm9keVJlbmRlcmVyLT5zdHlsZSgpKTsK
ICAgICAgICAgR2FwTGVuZ3RoIGNvbHVtbkdhcExlbmd0aCA9IGRvY3VtZW50T3JCb2R5UmVuZGVy
ZXItPnN0eWxlKCkuY29sdW1uR2FwKCk7CkBAIC03NzYsNyArNzc2LDcgQEAgdm9pZCBGcmFtZVZp
ZXc6OmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KFNjcm9sbGJhck1vZGUmIGhNb2Rl
LCBTY3JvbGxiYXIKICAgICBpZiAoaXM8SFRNTEJvZHlFbGVtZW50PigqYm9keU9yRnJhbWVzZXQp
ICYmIHJvb3RSZW5kZXJlcikgewogICAgICAgICAvLyBJdCdzIHN1ZmZpY2llbnQgdG8ganVzdCBj
aGVjayB0aGUgWCBvdmVyZmxvdywKICAgICAgICAgLy8gc2luY2UgaXQncyBpbGxlZ2FsIHRvIGhh
dmUgdmlzaWJsZSBpbiBvbmx5IG9uZSBkaXJlY3Rpb24uCi0gICAgICAgIGlmIChyb290UmVuZGVy
ZXItPnN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgJiYgaXM8SFRNTEh0
bWxFbGVtZW50Pihkb2N1bWVudEVsZW1lbnQpKSB7CisgICAgICAgIGlmIChyb290UmVuZGVyZXIt
PmVmZmVjdGl2ZU92ZXJmbG93WCgpID09IE92ZXJmbG93OjpWaXNpYmxlICYmIGlzPEhUTUxIdG1s
RWxlbWVudD4oZG9jdW1lbnRFbGVtZW50KSkgewogICAgICAgICAgICAgYXV0byogYm9keVJlbmRl
cmVyID0gYm9keU9yRnJhbWVzZXQtPnJlbmRlcmVyKCk7CiAgICAgICAgICAgICBpZiAoYm9keVJl
bmRlcmVyKSB7CiAgICAgICAgICAgICAgICAgYXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoKmJvZHlS
ZW5kZXJlciwgaE1vZGUsIHZNb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKaW5kZXggMzhlOWYxNzE1Njc4ODBhZjM2
OTRlZDljM2I1OTBkNzNiOGQwNmFhZS4uMjk4MGRmMDQ3N2ExYTFiNDMyODIyNGMxNjk4YTY3ODA1
NWNhZTdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Np
emluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFj
a1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTg0Niw3ICs4NDYsNyBAQCBMYXlvdXRVbml0IEdyaWRU
cmFja1NpemluZ0FsZ29yaXRobVN0cmF0ZWd5OjptaW5TaXplRm9yQ2hpbGQoUmVuZGVyQm94JiBj
aGlsZCkgYwogICAgICAgICByZXR1cm4gbWluQ29udGVudEZvckNoaWxkKGNoaWxkKTsKIAogICAg
IGNvbnN0IExlbmd0aCYgY2hpbGRNaW5TaXplID0gaXNSb3dBeGlzID8gY2hpbGQuc3R5bGUoKS5s
b2dpY2FsTWluV2lkdGgoKSA6IGNoaWxkLnN0eWxlKCkubG9naWNhbE1pbkhlaWdodCgpOwotICAg
IGJvb2wgb3ZlcmZsb3dJc1Zpc2libGUgPSBpc1Jvd0F4aXMgPyBjaGlsZC5zdHlsZSgpLm92ZXJm
bG93SW5saW5lRGlyZWN0aW9uKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUgOiBjaGlsZC5zdHlsZSgp
Lm92ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICBib29s
IG92ZXJmbG93SXNWaXNpYmxlID0gaXNSb3dBeGlzID8gY2hpbGQuZWZmZWN0aXZlT3ZlcmZsb3dJ
bmxpbmVEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSA6IGNoaWxkLmVmZmVjdGl2ZU92
ZXJmbG93QmxvY2tEaXJlY3Rpb24oKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsKICAgICBMYXlvdXRV
bml0IGJhc2VsaW5lU2hpbSA9IG1fYWxnb3JpdGhtLmJhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hp
bGQsIGdyaWRBeGlzRm9yRGlyZWN0aW9uKGRpcmVjdGlvbigpKSk7CiAKICAgICBpZiAoY2hpbGRN
aW5TaXplLmlzQXV0bygpICYmIG92ZXJmbG93SXNWaXNpYmxlKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDcxMGUxMDRlNzFlNzZhYzIyMzhhYzc5ZWU0YWUwYzU3
NDJjYWU5YWYuLjViM2U2YTVjNDEwNzdjYThiMmRkOTBhYzg3NjMzNDE1ZTkwZWQ0MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00ODcsNyArNDg3LDcgQEAgdm9p
ZCBSZW5kZXJCb3g6OnVwZGF0ZUZyb21TdHlsZSgpCiAgICAgc2V0RmxvYXRpbmcoIWlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpICYmIHN0eWxlVG9Vc2UuaXNGbG9hdGluZygpKTsKIAogICAgIC8vIFdl
IGFsc28gaGFuZGxlIDxib2R5PiBhbmQgPGh0bWw+LCB3aG9zZSBvdmVyZmxvdyBhcHBsaWVzIHRv
IHRoZSB2aWV3cG9ydC4KLSAgICBpZiAoIShzdHlsZVRvVXNlLm92ZXJmbG93WCgpID09IE92ZXJm
bG93OjpWaXNpYmxlICYmIHN0eWxlVG9Vc2Uub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2li
bGUpICYmICFpc0RvY0VsZW1lbnRSZW5kZXJlciAmJiBpc1JlbmRlckJsb2NrKCkpIHsKKyAgICBp
ZiAoIShlZmZlY3RpdmVPdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSAmJiBlZmZlY3Rp
dmVPdmVyZmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkgJiYgIWlzRG9jRWxlbWVudFJlbmRl
cmVyICYmIGlzUmVuZGVyQmxvY2soKSkgewogICAgICAgICBib29sIGJveEhhc05vblZpc2libGVP
dmVyZmxvdyA9IHRydWU7CiAgICAgICAgIGlmIChpc0JvZHkoKSkgewogICAgICAgICAgICAgLy8g
T3ZlcmZsb3cgb24gdGhlIGJvZHkgY2FuIHByb3BhZ2F0ZSB0byB0aGUgdmlld3BvcnQgdW5kZXIg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zLgpAQCAtNDk2LDcgKzQ5Niw3IEBAIHZvaWQgUmVuZGVy
Qm94Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgICAgICAgICAgLy8gKDMpIFRoZSByb290IGVsZW1l
bnQgaGFzIHZpc2libGUgb3ZlcmZsb3cuCiAgICAgICAgICAgICBpZiAoaXM8SFRNTEh0bWxFbGVt
ZW50PigqZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkKICAgICAgICAgICAgICAgICAmJiBk
b2N1bWVudCgpLmJvZHkoKSA9PSBlbGVtZW50KCkKLSAgICAgICAgICAgICAgICAmJiBkb2N1bWVu
dCgpLmRvY3VtZW50RWxlbWVudCgpLT5yZW5kZXJlcigpLT5zdHlsZSgpLm92ZXJmbG93WCgpID09
IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgICAgICAgICAgICAgJiYgZG9jdW1lbnQoKS5kb2N1
bWVudEVsZW1lbnQoKS0+cmVuZGVyZXIoKS0+ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZs
b3c6OlZpc2libGUpIHsKICAgICAgICAgICAgICAgICBib3hIYXNOb25WaXNpYmxlT3ZlcmZsb3cg
PSBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNjY2LDcgKzY2Niw3IEBAIExh
eW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5N
YXgoTGF5b3V0VW5pdCBsb2dpY2FsCiAgICAgaWYgKGFsbG93SW50cmluc2ljID09IEFsbG93SW50
cmluc2ljOjpObyAmJiBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpLmlzSW50cmluc2ljKCkp
CiAgICAgICAgIHJldHVybiBsb2dpY2FsV2lkdGg7CiAgICAgYXV0byBtaW5MZW5ndGggPSBzdHls
ZVRvVXNlLmxvZ2ljYWxNaW5XaWR0aCgpOwotICAgIGlmIChzdHlsZVRvVXNlLmhhc0FzcGVjdFJh
dGlvKCkgJiYgbWluTGVuZ3RoLmlzQXV0bygpICYmIChzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgp
LmlzQXV0bygpIHx8IHN0eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNNaW5Db250ZW50KCkgfHwg
c3R5bGVUb1VzZS5sb2dpY2FsV2lkdGgoKS5pc01heENvbnRlbnQoKSkgJiYgc3R5bGVUb1VzZS5v
dmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93OjpWaXNpYmxlKSB7CisgICAgaWYg
KHN0eWxlVG9Vc2UuaGFzQXNwZWN0UmF0aW8oKSAmJiBtaW5MZW5ndGguaXNBdXRvKCkgJiYgKHN0
eWxlVG9Vc2UubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkgfHwgc3R5bGVUb1VzZS5sb2dpY2FsV2lk
dGgoKS5pc01pbkNvbnRlbnQoKSB8fCBzdHlsZVRvVXNlLmxvZ2ljYWxXaWR0aCgpLmlzTWF4Q29u
dGVudCgpKSAmJiBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlvbigpID09IE92ZXJmbG93
OjpWaXNpYmxlKSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBhY3R1YWxseSB1c2VkIHRoZSBh
c3BlY3QgcmF0aW8uCiAgICAgICAgIGlmIChzaG91bGRDb21wdXRlTG9naWNhbFdpZHRoRnJvbUFz
cGVjdFJhdGlvKCkpCiAgICAgICAgICAgICBtaW5MZW5ndGggPSBMZW5ndGgoTGVuZ3RoVHlwZTo6
TWluQ29udGVudCk7CkBAIC02ODIsNyArNjgyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNv
bnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIHMK
ICAgICAgICAgICAgIGxvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1pbihsb2dpY2FsSGVpZ2h0LCBtYXhI
LnZhbHVlKCkpOwogICAgIH0KICAgICBhdXRvIGxvZ2ljYWxNaW5IZWlnaHQgPSBzdHlsZVRvVXNl
LmxvZ2ljYWxNaW5IZWlnaHQoKTsKLSAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8oKSAm
JiBzaG91bGRDb21wdXRlTG9naWNhbEhlaWdodEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJpbnNp
Y0NvbnRlbnRIZWlnaHQgJiYgc3R5bGVUb1VzZS5vdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgPT0g
T3ZlcmZsb3c6OlZpc2libGUpIHsKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc0F1dG8oKSAm
JiBzaG91bGRDb21wdXRlTG9naWNhbEhlaWdodEZyb21Bc3BlY3RSYXRpbygpICYmIGludHJpbnNp
Y0NvbnRlbnRIZWlnaHQgJiYgZWZmZWN0aXZlT3ZlcmZsb3dCbG9ja0RpcmVjdGlvbigpID09IE92
ZXJmbG93OjpWaXNpYmxlKSB7CiAgICAgICAgIGF1dG8gaGVpZ2h0RnJvbUFzcGVjdFJhdGlvID0g
YmxvY2tTaXplRnJvbUFzcGVjdFJhdGlvKGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50
KCksIHZlcnRpY2FsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpLCBMYXlvdXRVbml0KHN0eWxlKCku
bG9naWNhbEFzcGVjdFJhdGlvKCkpLCBzdHlsZSgpLmJveFNpemluZ0ZvckFzcGVjdFJhdGlvKCks
IGxvZ2ljYWxXaWR0aCgpKSAtIGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCk7CiAgICAg
ICAgIGlmIChmaXJzdENoaWxkKCkpCiAgICAgICAgICAgICBoZWlnaHRGcm9tQXNwZWN0UmF0aW8g
PSBzdGQ6Om1heChoZWlnaHRGcm9tQXNwZWN0UmF0aW8sICppbnRyaW5zaWNDb250ZW50SGVpZ2h0
KTsKQEAgLTQ5MDYsNyArNDkwNiw3IEBAIGJvb2wgUmVuZGVyQm94OjpjcmVhdGVzTmV3Rm9ybWF0
dGluZ0NvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiBpc0lubGluZUJsb2NrT3JJbmxpbmVU
YWJsZSgpIHx8IGlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBoYXNQb3RlbnRp
YWxseVNjcm9sbGFibGVPdmVyZmxvdygpIHx8IGlzRmxleEl0ZW1JbmNsdWRpbmdEZXByZWNhdGVk
KCkKICAgICAgICAgfHwgaXNUYWJsZUNlbGwoKSB8fCBpc1RhYmxlQ2FwdGlvbigpIHx8IGlzRmll
bGRzZXQoKSB8fCBpc1dyaXRpbmdNb2RlUm9vdCgpIHx8IGlzRG9jdW1lbnRFbGVtZW50UmVuZGVy
ZXIoKSB8fCBpc1JlbmRlckZyYWdtZW50ZWRGbG93KCkKLSAgICAgICAgfHwgc3R5bGUoKS5jb250
YWluc0xheW91dCgpIHx8IGlzR3JpZEl0ZW0oKSB8fCBzdHlsZSgpLnNwZWNpZmllc0NvbHVtbnMo
KSB8fCBzdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGwgfHwgc3R5bGUoKS5k
aXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OkZsb3dSb290OworICAgICAgICB8fCBzdHlsZSgpLmNv
bnRhaW5zTGF5b3V0KCkgfHwgcGFpbnRDb250YWlubWVudEFwcGxpZXMoKSB8fCBpc0dyaWRJdGVt
KCkgfHwgc3R5bGUoKS5zcGVjaWZpZXNDb2x1bW5zKCkgfHwgc3R5bGUoKS5jb2x1bW5TcGFuKCkg
PT0gQ29sdW1uU3Bhbjo6QWxsIHx8IHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpG
bG93Um9vdDsKIH0KIAogYm9vbCBSZW5kZXJCb3g6OmF2b2lkc0Zsb2F0cygpIGNvbnN0CkBAIC00
OTc0LDYgKzQ5NzQsOCBAQCBMYXlvdXRSZWN0IFJlbmRlckJveDo6YXBwbHlWaXN1YWxFZmZlY3RP
dmVyZmxvdyhjb25zdCBMYXlvdXRSZWN0JiBib3JkZXJCb3gpIGNvbgogCiB2b2lkIFJlbmRlckJv
eDo6YWRkT3ZlcmZsb3dGcm9tQ2hpbGQoY29uc3QgUmVuZGVyQm94KiBjaGlsZCwgY29uc3QgTGF5
b3V0U2l6ZSYgZGVsdGEpCiB7CisgICAgaWYgKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCkpCisg
ICAgICAgIHJldHVybjsKICAgICAvLyBOZXZlciBhbGxvdyBmbG93IHRocmVhZHMgdG8gcHJvcGFn
YXRlIG92ZXJmbG93IHVwIHRvIGEgcGFyZW50LgogICAgIGlmIChjaGlsZC0+aXNSZW5kZXJGcmFn
bWVudGVkRmxvdygpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAyNDUwOTE5ZjQyNjQ0NjM3NDJl
Y2Q4MGI5ZDJmNjQ0MmRmMWUwMWYxLi41Y2NmMTdhOTI3OWUzNTdmN2RmNzUzOTQ4YmNkNGQ3Nzlh
YzMzYjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKQEAgLTIxMSw2ICsyMTEsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0
Ojp1cGRhdGVGcm9tU3R5bGUoKQogICAgIHNldEhvcml6b250YWxXcml0aW5nTW9kZShzdHlsZVRv
VXNlLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpOwogICAgIGlmIChzdHlsZVRvVXNlLmlzRmxp
cHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCkpCiAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5zZXRI
YXNGbGlwcGVkQmxvY2tSZW5kZXJlcnModHJ1ZSk7CisgICAgc2V0UGFpbnRDb250YWlubWVudEFw
cGxpZXMoc2hvdWxkQXBwbHlQYWludENvbnRhaW5tZW50KCp0aGlzKSk7CiB9CiAKIHN0YXRpYyBM
YXlvdXRTaXplIGFjY3VtdWxhdGVJbkZsb3dQb3NpdGlvbk9mZnNldHMoY29uc3QgUmVuZGVyT2Jq
ZWN0KiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApp
bmRleCBmZDBiM2M1OTJiMmJlZmE4NDU1YzBjYjFkM2Y4ZDJlZTc3NWNiZTk3Li41NDYzZGY0NDM3
YTgxOWY1MGQzMTQyMWZhOTk5MmM3ZTM5ZmEwZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0yMzE3LDcgKzIzMTcsNyBAQCBzdGF0aWMgUmVuZGVy
T2JqZWN0OjpCbG9ja0NvbnRlbnRIZWlnaHRUeXBlIGluY2x1ZGVOb25GaXhlZEhlaWdodChjb25z
dCBSZW5kZXJPYgogICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2s+KHJlbmRlcmVyKSkgewogICAg
ICAgICAgICAgLy8gRm9yIGZpeGVkIGhlaWdodCBzdHlsZXMsIGlmIHRoZSBvdmVyZmxvdyBzaXpl
IG9mIHRoZSBlbGVtZW50IHNwaWxscyBvdXQgb2YgdGhlIHNwZWNpZmllZAogICAgICAgICAgICAg
Ly8gaGVpZ2h0LCBhc3N1bWUgd2UgY2FuIGFwcGx5IHRleHQgYXV0by1zaXppbmcuCi0gICAgICAg
ICAgICBpZiAoc3R5bGUub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlZpc2libGUKKyAgICAgICAg
ICAgIGlmIChkb3duY2FzdDxSZW5kZXJCbG9jaz4ocmVuZGVyZXIpLmVmZmVjdGl2ZU92ZXJmbG93
WSgpID09IE92ZXJmbG93OjpWaXNpYmxlCiAgICAgICAgICAgICAgICAgJiYgc3R5bGUuaGVpZ2h0
KCkudmFsdWUoKSA8IGRvd25jYXN0PFJlbmRlckJsb2NrPihyZW5kZXJlcikubGF5b3V0T3ZlcmZs
b3dSZWN0KCkubWF4WSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBSZW5kZXJPYmplY3Q6Ok92
ZXJmbG93SGVpZ2h0OwogICAgICAgICB9CkBAIC0yNDA3LDQgKzI0MDcsMjAgQEAgdm9pZCBSZW5k
ZXJFbGVtZW50OjpzZXRCYWNrZHJvcFJlbmRlcmVyKFJlbmRlckJsb2NrRmxvdyYgcmVuZGVyZXIp
CiAgICAgZW5zdXJlUmFyZURhdGEoKS5iYWNrZHJvcFJlbmRlcmVyID0gcmVuZGVyZXI7CiB9CiAK
K092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WCgpIGNvbnN0Cit7Cisg
ICAgYXV0byBvdmVyZmxvd1ggPSBzdHlsZSgpLm92ZXJmbG93WCgpOworICAgIGlmIChwYWludENv
bnRhaW5tZW50QXBwbGllcygpICYmIG92ZXJmbG93WCA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAg
ICAgICAgcmV0dXJuIE92ZXJmbG93OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1g7Cit9CisK
K092ZXJmbG93IFJlbmRlckVsZW1lbnQ6OmVmZmVjdGl2ZU92ZXJmbG93WSgpIGNvbnN0Cit7Cisg
ICAgYXV0byBvdmVyZmxvd1kgPSBzdHlsZSgpLm92ZXJmbG93WSgpOworICAgIGlmIChwYWludENv
bnRhaW5tZW50QXBwbGllcygpICYmIG92ZXJmbG93WSA9PSBPdmVyZmxvdzo6VmlzaWJsZSkKKyAg
ICAgICAgcmV0dXJuIE92ZXJmbG93OjpDbGlwOworICAgIHJldHVybiBvdmVyZmxvd1k7Cit9CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCmluZGV4IDIxOTAxNGNh
Y2M1NDExYzhlZTY1YmI1MGQ1OGFlMGQ5MTkxYWVlNjMuLmI4ZWRhMjRjMjAxZjFlZjYzNWNlZWNi
YmUyMDJiYmMyZjc4MzkwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaApAQCAtMjY4LDYgKzI2OCwxMSBAQCBwdWJsaWM6CiAKICAgICBSZWZlcmVuY2VkU1ZHUmVz
b3VyY2VzJiBlbnN1cmVSZWZlcmVuY2VkU1ZHUmVzb3VyY2VzKCk7CiAKKyAgICBPdmVyZmxvdyBl
ZmZlY3RpdmVPdmVyZmxvd1goKSBjb25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxv
d1koKSBjb25zdDsKKyAgICBPdmVyZmxvdyBlZmZlY3RpdmVPdmVyZmxvd0lubGluZURpcmVjdGlv
bigpIGNvbnN0IHsgcmV0dXJuIHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGVm
ZmVjdGl2ZU92ZXJmbG93WCgpIDogZWZmZWN0aXZlT3ZlcmZsb3dZKCk7IH0KKyAgICBPdmVyZmxv
dyBlZmZlY3RpdmVPdmVyZmxvd0Jsb2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3R5bGUo
KS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZWZmZWN0aXZlT3ZlcmZsb3dZKCkgOiBlZmZl
Y3RpdmVPdmVyZmxvd1goKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBCYXNlVHlwZUZsYWcg
ewogICAgICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0RmxhZyAgPSAxIDw8IDAsCkBAIC00NTYs
NyArNDYxLDggQEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkZpeGVkUG9z
aXRpb25PYmplY3RzKCkgY29uc3QKICAgICAgICAgLy8gRklYTUU6IHdpbGwtY2hhbmdlIHNob3Vs
ZCBjcmVhdGUgY29udGFpbmluZyBibG9ja3Mgb24gaW5saW5lIGJveGVzIChidWcgMjI1MDM1KQog
ICAgICAgICB8fCAoaXNSZW5kZXJCbG9jaygpICYmIHN0eWxlKCkud2lsbENoYW5nZSgpICYmIHN0
eWxlKCkud2lsbENoYW5nZSgpLT5jcmVhdGVzQ29udGFpbmluZ0Jsb2NrRm9yT3V0T2ZGbG93UG9z
aXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25PYmplY3QoKQotICAgICAgICB8fCBz
aG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKTsKKyAgICAgICAgfHwgc2hvdWxkQXBw
bHlMYXlvdXRDb250YWlubWVudCgqdGhpcykKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlQYWludENv
bnRhaW5tZW50KCp0aGlzKTsKIH0KIAogaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29u
dGFpbkFic29sdXRlbHlQb3NpdGlvbmVkT2JqZWN0cygpIGNvbnN0CkBAIC00NjcsNiArNDczLDcg
QEAgaW5saW5lIGJvb2wgUmVuZGVyRWxlbWVudDo6Y2FuQ29udGFpbkFic29sdXRlbHlQb3NpdGlv
bmVkT2JqZWN0cygpIGNvbnN0CiAgICAgICAgIHx8IChpc1JlbmRlckJsb2NrKCkgJiYgc3R5bGUo
KS53aWxsQ2hhbmdlKCkgJiYgc3R5bGUoKS53aWxsQ2hhbmdlKCktPmNyZWF0ZXNDb250YWluaW5n
QmxvY2tGb3JBYnNvbHV0ZWx5UG9zaXRpb25lZCgpKQogICAgICAgICB8fCBpc1NWR0ZvcmVpZ25P
YmplY3QoKQogICAgICAgICB8fCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KCp0aGlzKQor
ICAgICAgICB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQoKnRoaXMpCiAgICAgICAgIHx8
IGlzUmVuZGVyVmlldygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcAppbmRleCAxMTI2MGFjZWEwYTJmYTlmZWYxYjE3ZTk2NTJmZDEwOTU4
OWFmOTVmLi4xMDJjYmM4N2RmMzNiOGM1OTFiNGQ5YmI0ODlhMGRjYjNkOGQ4YmM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTE4NDQs
MTUgKzE4NDQsMTUgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNJbnRyaW5zaWNN
YWluQXhpc1NpemUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKIE92ZXJmbG93IFJlbmRlckZsZXhp
YmxlQm94OjptYWluQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkg
Y29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1cm4gY2hp
bGQuc3R5bGUoKS5vdmVyZmxvd1goKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVyZmxv
d1koKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WCgpOworICAgIHJl
dHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1koKTsKIH0KIAogT3ZlcmZsb3cgUmVuZGVyRmxl
eGlibGVCb3g6OmNyb3NzQXhpc092ZXJmbG93Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCkgY29uc3QKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQotICAgICAgICByZXR1cm4g
Y2hpbGQuc3R5bGUoKS5vdmVyZmxvd1koKTsKLSAgICByZXR1cm4gY2hpbGQuc3R5bGUoKS5vdmVy
Zmxvd1goKTsKKyAgICAgICAgcmV0dXJuIGNoaWxkLmVmZmVjdGl2ZU92ZXJmbG93WSgpOworICAg
IHJldHVybiBjaGlsZC5lZmZlY3RpdmVPdmVyZmxvd1goKTsKIH0KIAogYm9vbCBSZW5kZXJGbGV4
aWJsZUJveDo6Y2hpbGRIYXNQZXJjZW50SGVpZ2h0RGVzY2VuZGFudHMoY29uc3QgUmVuZGVyQm94
JiByZW5kZXJlcikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCmluZGV4IGFmYjI3Y2NhNjcxZGU2YWJmN2EzMjliMjFj
NzgxMTcwMGNmMjk1M2UuLjc5NzBmMmZkNzgxMzY1ZTY0YzE1MWI0M2UyYzMzN2MwMmUyZDljYjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRh
aW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29u
dGFpbmVyLmNwcApAQCAtMTU3LDE0ICsxNTcsMTQgQEAgTGF5b3V0UmVjdCBSZW5kZXJGcmFnbWVu
dENvbnRhaW5lcjo6b3ZlcmZsb3dSZWN0Rm9yRnJhZ21lbnRlZEZsb3dQb3J0aW9uKGNvbnN0IEwK
ICAgICBpZiAobV9mcmFnbWVudGVkRmxvdy0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewog
ICAgICAgICBMYXlvdXRVbml0IG1pblkgPSBpc0ZpcnN0UG9ydGlvbiA/IGZyYWdtZW50ZWRGbG93
T3ZlcmZsb3cueSgpIDogZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCk7CiAgICAgICAgIExh
eW91dFVuaXQgbWF4WSA9IGlzTGFzdFBvcnRpb24gPyBzdGQ6Om1heChmcmFnbWVudGVkRmxvd1Bv
cnRpb25SZWN0Lm1heFkoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxvdy5tYXhZKCkpIDogZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhZKCk7Ci0gICAgICAgIGJvb2wgY2xpcFggPSBzdHlsZSgp
Lm92ZXJmbG93WCgpICE9IE92ZXJmbG93OjpWaXNpYmxlOworICAgICAgICBib29sIGNsaXBYID0g
ZWZmZWN0aXZlT3ZlcmZsb3dYKCkgIT0gT3ZlcmZsb3c6OlZpc2libGU7CiAgICAgICAgIExheW91
dFVuaXQgbWluWCA9IGNsaXBYID8gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC54KCkgOiBzdGQ6
Om1pbihmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0LngoKSwgZnJhZ21lbnRlZEZsb3dPdmVyZmxv
dy54KCkpOwogICAgICAgICBMYXlvdXRVbml0IG1heFggPSBjbGlwWCA/IGZyYWdtZW50ZWRGbG93
UG9ydGlvblJlY3QubWF4WCgpIDogc3RkOjptYXgoZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC5t
YXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgpKTsKICAgICAgICAgY2xpcFJlY3Qg
PSBMYXlvdXRSZWN0KG1pblgsIG1pblksIG1heFggLSBtaW5YLCBtYXhZIC0gbWluWSk7CiAgICAg
fSBlbHNlIHsKICAgICAgICAgTGF5b3V0VW5pdCBtaW5YID0gaXNGaXJzdFBvcnRpb24gPyBmcmFn
bWVudGVkRmxvd092ZXJmbG93LngoKSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QueCgpOwog
ICAgICAgICBMYXlvdXRVbml0IG1heFggPSBpc0xhc3RQb3J0aW9uID8gc3RkOjptYXgoZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdC5tYXhYKCksIGZyYWdtZW50ZWRGbG93T3ZlcmZsb3cubWF4WCgp
KSA6IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3QubWF4WCgpOwotICAgICAgICBib29sIGNsaXBZ
ID0gc3R5bGUoKS5vdmVyZmxvd1koKSAhPSBPdmVyZmxvdzo6VmlzaWJsZTsKKyAgICAgICAgYm9v
bCBjbGlwWSA9IGVmZmVjdGl2ZU92ZXJmbG93WSgpICE9IE92ZXJmbG93OjpWaXNpYmxlOwogICAg
ICAgICBMYXlvdXRVbml0IG1pblkgPSBjbGlwWSA/IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qu
eSgpIDogc3RkOjptaW4oZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdC55KCksIGZyYWdtZW50ZWRG
bG93T3ZlcmZsb3cueSgpKTsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhZID0gY2xpcFkgPyBmcmFn
bWVudGVkRmxvd1BvcnRpb25SZWN0Lm1heFkoKSA6IHN0ZDo6bWF4KGZyYWdtZW50ZWRGbG93UG9y
dGlvblJlY3QueSgpLCBmcmFnbWVudGVkRmxvd092ZXJmbG93Lm1heFkoKSk7CiAgICAgICAgIGNs
aXBSZWN0ID0gTGF5b3V0UmVjdChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwgbWF4WSAtIG1pblkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5oCmluZGV4IDM2MGRiM2NhNjQ0
OGVkMTM4OGRiN2M5NTAwZmJiMjZkMjEzNmJlOGQuLjBhMTcxYWY4YmJhZGNhYjBlMGJhNDE2ZDJh
MDk4Nzk4YmVkMjc0MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmgK
QEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBtYXlBZmZlY3RMYXlvdXQoKSBj
b25zdDsKIAotICAgIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGlzSW5GbG93UG9zaXRpb25lZCgpIHx8IGNyZWF0ZXNHcm91cCgpIHx8IGhhc0NsaXBQYXRoKCkg
fHwgd2lsbENoYW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBoYXNSdW5uaW5nQWNjZWxl
cmF0ZWRBbmltYXRpb25zKCk7IH0KKyAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBpc0luRmxvd1Bvc2l0aW9uZWQoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBo
YXNDbGlwUGF0aCgpIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudCgqdGhpcykgfHwgd2ls
bENoYW5nZUNyZWF0ZXNTdGFja2luZ0NvbnRleHQoKSB8fCBoYXNSdW5uaW5nQWNjZWxlcmF0ZWRB
bmltYXRpb25zKCk7IH0KIAogcHJvdGVjdGVkOgogICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1
YzVhMWJhMjk5MjQ0OTM4OTZiN2FlNTA2MjY0YTk3ZmFlODY5YzBjLi4wOTI1ZDgyOGY4YWE1YTVi
MGNiNGYyZDI3ODY4YjBmYTI5NTJiYWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKQEAgLTU1Niw2ICs1NTYsNyBAQCBzdGF0aWMgYm9vbCBjYW5DcmVhdGVTdGFj
a2luZ0NvbnRleHQoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyKQogICAgICAgICB8fCByZW5kZXJl
ci5pc1Bvc2l0aW9uZWQoKSAvLyBOb3RlIHRoYXQgdGhpcyBvbmx5IGNyZWF0ZXMgc3RhY2tpbmcg
Y29udGV4dCBpbiBjb25qdW5jdGlvbiB3aXRoIGV4cGxpY2l0IHotaW5kZXguCiAgICAgICAgIHx8
IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKQogICAgICAgICB8fCByZW5kZXJlci5zdHlsZSgpLmhh
c0lzb2xhdGlvbigpCisgICAgICAgIHx8IHNob3VsZEFwcGx5UGFpbnRDb250YWlubWVudChyZW5k
ZXJlcikKICAgICAgICAgfHwgIXJlbmRlcmVyLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgoKQog
ICAgICAgICB8fCAocmVuZGVyZXIuc3R5bGUoKS53aWxsQ2hhbmdlKCkgJiYgcmVuZGVyZXIuc3R5
bGUoKS53aWxsQ2hhbmdlKCktPmNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgpKQogICAgICAgICB8
fCBsYXllci5lc3RhYmxpc2hlc1RvcExheWVyKCk7CkBAIC01ODcsNyArNTg4LDcgQEAgYm9vbCBS
ZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiAKIGJvb2wgUmVuZGVy
TGF5ZXI6OnNob3VsZEJlQ1NTU3RhY2tpbmdDb250ZXh0KCkgY29uc3QKIHsKLSAgICByZXR1cm4g
IXJlbmRlcmVyKCkuc3R5bGUoKS5oYXNBdXRvVXNlZFpJbmRleCgpIHx8IGlzUmVuZGVyVmlld0xh
eWVyKCk7CisgICAgcmV0dXJuICFyZW5kZXJlcigpLnN0eWxlKCkuaGFzQXV0b1VzZWRaSW5kZXgo
KSB8fCBzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkgfHwgaXNSZW5kZXJW
aWV3TGF5ZXIoKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6c2V0SXNOb3JtYWxGbG93T25seShi
b29sIGlzTm9ybWFsRmxvd09ubHkpCkBAIC0xMDg5LDYgKzEwOTAsMTEgQEAgTGF5b3V0UmVjdCBS
ZW5kZXJMYXllcjo6cmVwYWludFJlY3RJbmNsdWRpbmdOb25Db21wb3NpdGluZ0Rlc2NlbmRhbnRz
KCkgY29uc3QKIHZvaWQgUmVuZGVyTGF5ZXI6OnNldEFuY2VzdG9yQ2hhaW5IYXNTZWxmUGFpbnRp
bmdMYXllckRlc2NlbmRhbnQoKQogewogICAgIGZvciAoUmVuZGVyTGF5ZXIqIGxheWVyID0gdGhp
czsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPnBhcmVudCgpKSB7CisgICAgICAgIGlmIChzaG91bGRB
cHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgIG1faGFzU2Vs
ZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIG1faGFzU2VsZlBh
aW50aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CiAgICAgICAgIGlmICghbGF5ZXItPm1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNj
ZW5kYW50RGlydHkgJiYgbGF5ZXItPmhhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudCgpKQog
ICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTE0ODksNiArMTQ5NSwxMSBAQCB2b2lkIFJlbmRlckxh
eWVyOjpkaXJ0eUFuY2VzdG9yQ2hhaW5WaXNpYmxlRGVzY2VuZGFudFN0YXR1cygpCiB2b2lkIFJl
bmRlckxheWVyOjpzZXRBbmNlc3RvckNoYWluSGFzVmlzaWJsZURlc2NlbmRhbnQoKQogewogICAg
IGZvciAoUmVuZGVyTGF5ZXIqIGxheWVyID0gdGhpczsgbGF5ZXI7IGxheWVyID0gbGF5ZXItPnBh
cmVudCgpKSB7CisgICAgICAgIGlmIChzaG91bGRBcHBseVBhaW50Q29udGFpbm1lbnQocmVuZGVy
ZXIoKSkpIHsKKyAgICAgICAgICAgIG1faGFzVmlzaWJsZURlc2NlbmRhbnQgPSB0cnVlOworICAg
ICAgICAgICAgbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5ID0gZmFsc2U7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICBpZiAoIWxheWVyLT5tX3Zpc2libGVEZXNj
ZW5kYW50U3RhdHVzRGlydHkgJiYgbGF5ZXItPmhhc1Zpc2libGVEZXNjZW5kYW50KCkpCiAgICAg
ICAgICAgICBicmVhazsKIApAQCAtNDUyOSw2ICs0NTQwLDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb250
ZXh0LCBDCiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNl
Y3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7CiAg
ICAgICAgICAgICBpZiAocmVuZGVyZXIoKS5pc1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgICAg
ICBjbGlwUmVjdHMuc2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwg
Y2xpcFJlY3RzLnBvc0NsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgIGlmIChzaG91bGRBcHBseVBh
aW50Q29udGFpbm1lbnQocmVuZGVyZXIoKSkpIHsKKyAgICAgICAgICAgICAgICBjbGlwUmVjdHMu
c2V0UG9zQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld092ZXJmbG93Q2xpcCwgY2xpcFJlY3RzLnBv
c0NsaXBSZWN0KCkpKTsKKyAgICAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0Rml4ZWRDbGlwUmVj
dChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMuZml4ZWRDbGlwUmVjdCgp
KSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlbmRlcmVyKCkuaGFz
Q2xpcCgpKSB7CiAgICAgICAgICAgICBMYXlvdXRSZWN0IG5ld1Bvc0NsaXAgPSBkb3duY2FzdDxS
ZW5kZXJCb3g+KHJlbmRlcmVyKCkpLmNsaXBSZWN0KG9mZnNldCwgbnVsbHB0cik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDlmZDllMTdhMzE4NDY4ZmVj
Yzc2YTk0NWUwNWRjOTg2ZGU2ODJkZDEuLmQ2MWFjZDNjZDg2ZTcxYzc0YjAxODcxMjQxNmUzNzEx
ZmZkYzQwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBA
IC0xOTE5LDYgKzE5MTksMTIgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnNldEhhc091dGxpbmVBdXRv
QW5jZXN0b3IoYm9vbCBoYXNPdXRsaW5lQXV0b0FuY2VzdG9yKQogICAgICAgICBlbnN1cmVSYXJl
RGF0YSgpLnNldEhhc091dGxpbmVBdXRvQW5jZXN0b3IoaGFzT3V0bGluZUF1dG9BbmNlc3Rvcik7
CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRQYWludENvbnRhaW5tZW50QXBwbGllcyhib29s
IHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKQoreworICAgIGlmIChwYWludENvbnRhaW5tZW50QXBw
bGllcyB8fCBoYXNSYXJlRGF0YSgpKQorICAgICAgICBlbnN1cmVSYXJlRGF0YSgpLnNldFBhaW50
Q29udGFpbm1lbnRBcHBsaWVzKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzKTsKK30KKwogUmVuZGVy
T2JqZWN0OjpSYXJlRGF0YU1hcCYgUmVuZGVyT2JqZWN0OjpyYXJlRGF0YU1hcCgpCiB7CiAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFJhcmVEYXRhTWFwPiBtYXA7CkBAIC0xOTQ3LDYgKzE5NTMs
NyBAQCBSZW5kZXJPYmplY3Q6OlJlbmRlck9iamVjdFJhcmVEYXRhOjpSZW5kZXJPYmplY3RSYXJl
RGF0YSgpCiAgICAgOiBtX2hhc1JlZmxlY3Rpb24oZmFsc2UpCiAgICAgLCBtX2lzUmVuZGVyRnJh
Z21lbnRlZEZsb3coZmFsc2UpCiAgICAgLCBtX2hhc091dGxpbmVBdXRvQW5jZXN0b3IoZmFsc2Up
CisgICAgLCBtX3BhaW50Q29udGFpbm1lbnRBcHBsaWVzKGZhbHNlKQogewogfQogCkBAIC0yNTQ2
LDMgKzI1NTMsOSBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChj
b25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgcmV0dXJuICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21p
Y0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJl
ci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9uKCkpICYmICFyZW5kZXJl
ci5pc1RhYmxlKCk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlQYWludENvbnRhaW5t
ZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgcmV0dXJu
IHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNQYWludCgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUo
KSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1
YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVy
QmxvY2tGbG93KCkpOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
aW5kZXggN2QwYmViZGJhMjRhMzVlYjA4OWNmOGRlMzM1YjA1MWQ5NDQyNDdkMy4uOGIwMDkzMTgy
Mzg5ZmI3ZGY2OWY4ZDU3ZGM4ZjAyOTQ3ZDU3ZGU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaApAQCAtNDA4LDYgKzQwOCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhh
c1JlZmxlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5oYXNSYXJlRGF0YSgpICYm
IHJhcmVEYXRhKCkuaGFzUmVmbGVjdGlvbigpOyB9CiAgICAgYm9vbCBpc1JlbmRlckZyYWdtZW50
ZWRGbG93KCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEoKSAmJiByYXJl
RGF0YSgpLmlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKTsgfQogICAgIGJvb2wgaGFzT3V0bGluZUF1
dG9BbmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmhhc1JhcmVEYXRhKCkgJiYg
cmFyZURhdGEoKS5oYXNPdXRsaW5lQXV0b0FuY2VzdG9yKCk7IH0KKyAgICBib29sIHBhaW50Q29u
dGFpbm1lbnRBcHBsaWVzKCkgY29uc3QgeyByZXR1cm4gbV9iaXRmaWVsZHMuaGFzUmFyZURhdGEo
KSAmJiByYXJlRGF0YSgpLnBhaW50Q29udGFpbm1lbnRBcHBsaWVzKCk7IH0KIAogICAgIGJvb2wg
aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5p
c0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpOyB9CiAgICAgdm9pZCBzZXRJc0V4Y2x1ZGVkRnJv
bU5vcm1hbExheW91dChib29sIGV4Y2x1ZGVkKSB7IG1fYml0ZmllbGRzLnNldElzRXhjbHVkZWRG
cm9tTm9ybWFsTGF5b3V0KGV4Y2x1ZGVkKTsgfQpAQCAtNTA1LDYgKzUwNiw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEhhc1JlZmxlY3Rpb24oYm9vbCA9IHRydWUpOwogICAgIHZvaWQgc2V0SXNS
ZW5kZXJGcmFnbWVudGVkRmxvdyhib29sID0gdHJ1ZSk7CiAgICAgdm9pZCBzZXRIYXNPdXRsaW5l
QXV0b0FuY2VzdG9yKGJvb2wgPSB0cnVlKTsKKyAgICB2b2lkIHNldFBhaW50Q29udGFpbm1lbnRB
cHBsaWVzKGJvb2wgPSB0cnVlKTsKIAogICAgIC8vIEhvb2sgc28gdGhhdCBSZW5kZXJUZXh0Q29u
dHJvbCBjYW4gcmV0dXJuIHRoZSBsaW5lIGhlaWdodCBvZiBpdHMgaW5uZXIgcmVuZGVyZXIuCiAg
ICAgLy8gRm9yIG90aGVyIHJlbmRlcmVycywgdGhlIHZhbHVlIGlzIHRoZSBzYW1lIGFzIGxpbmVI
ZWlnaHQoZmFsc2UpLgpAQCAtOTM1LDYgKzkzNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIEFERF9C
T09MRUFOX0JJVEZJRUxEKGhhc1JlZmxlY3Rpb24sIEhhc1JlZmxlY3Rpb24pOwogICAgICAgICBB
RERfQk9PTEVBTl9CSVRGSUVMRChpc1JlbmRlckZyYWdtZW50ZWRGbG93LCBJc1JlbmRlckZyYWdt
ZW50ZWRGbG93KTsKICAgICAgICAgQUREX0JPT0xFQU5fQklURklFTEQoaGFzT3V0bGluZUF1dG9B
bmNlc3RvciwgSGFzT3V0bGluZUF1dG9BbmNlc3Rvcik7CisgICAgICAgIEFERF9CT09MRUFOX0JJ
VEZJRUxEKHBhaW50Q29udGFpbm1lbnRBcHBsaWVzLCBQYWludENvbnRhaW5tZW50QXBwbGllcyk7
CiAKICAgICAgICAgLy8gRnJvbSBSZW5kZXJFbGVtZW50CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZW5kZXJTdHlsZT4gY2FjaGVkRmlyc3RMaW5lU3R5bGU7CkBAIC0xMjA5LDYgKzEyMTIsNyBA
QCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiBib29sIHNo
b3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogYm9vbCBzaG91
bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3Vs
ZEFwcGx5UGFpbnRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IDhiZWZhZTRmNjdkNTA1NzRmMmZkNmQyZDFhM2E3NjNkYzI3YmY1NGMuLjM3
YmVjNTZjZTBkNTNmMjViMDQyMTM2YWRhNWNmMzg4ZGE4NWUwOTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0zMzIsOCArMzMyLDYgQEAgcHVi
bGljOgogICAgIAogICAgIE92ZXJmbG93IG92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PE92ZXJmbG93PihtX25vbkluaGVyaXRlZEZsYWdzLm92ZXJmbG93WCk7IH0KICAgICBP
dmVyZmxvdyBvdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyZmxvdz4o
bV9ub25Jbmhlcml0ZWRGbGFncy5vdmVyZmxvd1kpOyB9Ci0gICAgT3ZlcmZsb3cgb3ZlcmZsb3dJ
bmxpbmVEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gb3ZlcmZsb3dYKCkgOiBvdmVyZmxvd1koKTsgfQotICAgIE92ZXJmbG93IG92ZXJmbG93Qmxv
Y2tEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
b3ZlcmZsb3dZKCkgOiBvdmVyZmxvd1goKTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Zpc2libGUo
KSBjb25zdCB7IHJldHVybiBvdmVyZmxvd1goKSA9PSBPdmVyZmxvdzo6VmlzaWJsZSB8fCBvdmVy
Zmxvd1koKSA9PSBPdmVyZmxvdzo6VmlzaWJsZTsgfQogCiAgICAgT3ZlcnNjcm9sbEJlaGF2aW9y
IG92ZXJzY3JvbGxCZWhhdmlvclgoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxPdmVyc2Ny
b2xsQmVoYXZpb3I+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPm92ZXJzY3JvbGxCZWhhdmlvclgp
OyB9CkBAIC01MzMsNiArNTMxLDcgQEAgcHVibGljOgogICAgIGJvb2wgY29udGFpbnNMYXlvdXQo
KSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5z
KENvbnRhaW5tZW50OjpMYXlvdXQpOyB9CiAgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7
IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTaXplKTsgfQogICAgIGJvb2wgY29udGFpbnNTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlN0eWxl
KTsgfQorICAgIGJvb2wgY29udGFpbnNQYWludCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlBhaW50KTsgfQogICAg
IEJveEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFs
aWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5h
bGlnbik7IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7
IH0KICAgICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCBjYzEzMWY0YzI3M2Y3ODY0Mjc4
ZWMyOWMxMmFkNjBlMjlmOWIyYjE2Li40NDUxMDkwMjFjZTcxZmUzOGU4YjE2Njk0OTZiNDYyNThh
ODJkOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAKQEAgLTIxNSw3ICsyMTUsNyBAQCBib29sIFJlbmRlclNWR1Jvb3Q6OnNob3VsZEFwcGx5
Vmlld3BvcnRDbGlwKCkgY29uc3QKICAgICAvLyB0aGUgb3V0ZXJtb3N0IHN2ZyBpcyBjbGlwcGVk
IGlmIGF1dG8sIGFuZCBzdmcgZG9jdW1lbnQgcm9vdHMgYXJlIGFsd2F5cyBjbGlwcGVkCiAgICAg
Ly8gV2hlbiB0aGUgc3ZnIGlzIHN0YW5kLWFsb25lIChpc0RvY3VtZW50RWxlbWVudCgpID09IHRy
dWUpIHRoZSB2aWV3cG9ydCBjbGlwcGluZyBzaG91bGQgYWx3YXlzCiAgICAgLy8gYmUgYXBwbGll
ZCwgbm90aW5nIHRoYXQgdGhlIHdpbmRvdyBzY3JvbGxiYXJzIHNob3VsZCBiZSBoaWRkZW4gaWYg
b3ZlcmZsb3c9aGlkZGVuLgotICAgIHJldHVybiBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJm
bG93OjpIaWRkZW4KKyAgICByZXR1cm4gZWZmZWN0aXZlT3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6
OkhpZGRlbgogICAgICAgICB8fCBzdHlsZSgpLm92ZXJmbG93WCgpID09IE92ZXJmbG93OjpBdXRv
CiAgICAgICAgIHx8IHN0eWxlKCkub3ZlcmZsb3dYKCkgPT0gT3ZlcmZsb3c6OlNjcm9sbAogICAg
ICAgICB8fCB0aGlzLT5pc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjFhMDg2
YjlkN2Q3ZDlkMjdhOWMyY2JjNTgxZmQ0YTQ0YWZhYTMwNS4uMjczZTAxYmYzNWE5ODY5OGJlOWFj
NzI3MWU5NWIwODBhNWExOTJjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTExLTE2ICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBw
b3J0IGNvbnRhaW46cGFpbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNDc0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVuc2tpcCB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczoKKwogMjAyMS0xMS0xNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODAwNzgsIHIyODAy
OTAgYW5kIHIyODIwMDguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlN2E2NGMz
ZmU4MDI5MGY5ZDcwMTVmOGJhOTgyN2MyMTc4MGI3NzgxLi5jOTNiNzk4MGY4MDI4Nzc1YWMzNDU2
OWE1Y2FjZWI3MTRmNDVlYzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0xMS0xNiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnBhaW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3NDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGp1c3QgdGVzdCBleHBlY3RhdGlv
biBub3cgdGhhdCBjb250YWluOiBzdHJpY3QgaXMgc3VwcG9ydGVkLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0
LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMS0xNiAgQW5kcmV1IEJvdGVsbGEgIDxhbmRyZXVAYW5k
cmV1Ym90ZWxsYS5jb20+CiAKICAgICAgICAgRW1wdHkgPGlucHV0IHR5cGU9ZmlsZT4gaXMgcmVw
cmVzZW50ZWQgaW5jb3JyZWN0bHkgaW4gRm9ybURhdGEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDM2
OGNmN2U5NGJkZmQzMzIzNTcyY2EwOGI2MGUxZmY0NzI2OGI0NWUuLmI2YTcyMzY0ZTU5ZGVmOTAz
MGJhY2Q4OWJhZjdmOGVmYmU3YzgxNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDczMyw2ICs0
NzMzLDEwIEBAIHdlYmFuaW1hdGlvbnMvdHJhbnNsYXRlLXByb3BlcnR5LWFuZC10cmFuc2xhdGUt
YW5pbWF0aW9uLXdpdGgtZGVsYXktb24tZm9yY2VkLWxhCiAjIENTUyBjb250YWlubWVudCB0ZXN0
cyB0aGF0IGZhaWwKICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA2
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtMDA4Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liaWxpdHktMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ3
NDcsNDkgKzQ3NTEsOSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDYuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMTAuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC0wMTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjAuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMjMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wNDcuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wNDguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jZWxsLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNlbGwtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtY2xpcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
bGlwLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDA2Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC1jbGlwLTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LWNsaXAtMDEz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC1jbGlwLTAxNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWNsaXAtMDE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY2xpcC0wMTcuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1jbGlwLTAxOC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWNsaXAtMDE5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtY29udGFp
bmluZy1ibG9jay1hYnNvbHV0ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1j
b250YWluaW5nLWJsb2NrLWZpeGVkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50
LWZvcm1hdHRpbmctY29udGV4dC1mbG9hdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1mb3JtYXR0aW5nLWNvbnRleHQtbWFyZ2luLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXBhaW50LWlmYy0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1pbmRlcGVu
ZGVudC1mb3JtYXR0aW5nLWNvbnRleHQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zaXplLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXNpemUtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFhLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUt
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDEx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8yMzMxOTMgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDEx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDMyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDMzLnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxl
eGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRl
bS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IGNjMGJhYzc1OGE4NjZkNGFlZWM3
NWFjZThlZTdkODMzYmYxZGMxZWUuLjJmN2FjYzkzN2RkOGQwNDc3ZGVjYzkxNmNmOTk1MmE3MjJi
MmRlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0x
LDE3ICsxLDEzIEBACiBTdHJldGNoZWQ6CiAKLUNvbHVtbgogCi1Sb3cKIAogQ29sdW1uCiAKIFJv
dwogRmxleC1zdGFydDoKIAotQ29sdW1uCiAKLVJvdwogCiBDb2x1bW4KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>