<?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>227537</bug_id>
          
          <creation_ts>2021-06-30 10:00:47 -0700</creation_ts>
          <short_desc>Implement &lt;dialog&gt; focusing steps</short_desc>
          <delta_ts>2021-10-14 06:54:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>203139</dependson>
    
    <dependson>231691</dependson>
    
    <dependson>231721</dependson>
    
    <dependson>231722</dependson>
    
    <dependson>231736</dependson>
          <blocked>84635</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Nguyen (:ntim)">ntim</reporter>
          <assigned_to name="Tim Nguyen (:ntim)">ntim</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dvpdiner2</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773797</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-06-30 10:00:47 -0700</bug_when>
    <thetext>https://html.spec.whatwg.org/multipage/interactive-elements.html#dialog-focusing-steps

https://html.spec.whatwg.org/multipage/interaction.html#focusing-steps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774049</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-01 02:49:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/80013845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777911</commentid>
    <comment_count>2</comment_count>
      <attachid>433800</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 11:12:06 -0700</bug_when>
    <thetext>Created attachment 433800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777916</commentid>
    <comment_count>3</comment_count>
      <attachid>433800</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-07-19 11:23:31 -0700</bug_when>
    <thetext>Comment on attachment 433800
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.cpp:130
&gt; +    Element* control = nullptr;

This should likely be a RefPtr, since I would bet control-&gt;focus() can cause script to run and this to potentially be deallocated (but even if not, it is probably worth it).

You should also make sure we have a test for that.

&gt; Source/WebCore/html/HTMLDialogElement.h:62
&gt; +    Element* m_previouslyFocusedElement;

What is keeping this alive?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777943</commentid>
    <comment_count>4</comment_count>
      <attachid>433800</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-07-19 12:34:12 -0700</bug_when>
    <thetext>Comment on attachment 433800
Patch

r- since I think this will have lifetime issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778022</commentid>
    <comment_count>5</comment_count>
      <attachid>433800</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-07-19 15:28:33 -0700</bug_when>
    <thetext>Comment on attachment 433800
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.cpp:131
&gt; +    for (Element* element = ElementTraversal::firstWithin(*this); element; element = ElementTraversal::next(*element)) {

This seems wrong with respect to the shadow DOM (i.e. spec bug).
This will mean we&apos;d skip any element that&apos;s focusable inside a shadow tree unless the outer most host is also focusable.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:141
&gt; +        // If there isn&apos;t one, then let control be the first non-inert descendant element of subject, in tree order.

Ditto.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:151
&gt; +    // 3. Run the focusing steps for control.
&gt; +    control-&gt;focus();

This isn&apos;t right. In WebKit, whether an element is focusable or not depends on the event (mouse/keyword) and its specifics.

&gt;&gt; Source/WebCore/html/HTMLDialogElement.h:62
&gt;&gt; +    Element* m_previouslyFocusedElement;
&gt; 
&gt; What is keeping this alive?

Yeah, this will result in UAF.

&gt; Source/WebCore/html/HTMLFormControlElement.cpp:251
&gt; -        setAutofocused();
&gt; +        document().topDocument().setAutofocusProcessed();

We shouldn&apos;t be setting this flag until right when we&apos;re about to focus this element in the callback below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778071</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 17:52:46 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #5)
&gt; Comment on attachment 433800 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=433800&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLDialogElement.cpp:131
&gt; &gt; +    for (Element* element = ElementTraversal::firstWithin(*this); element; element = ElementTraversal::next(*element)) {
&gt; 
&gt; This seems wrong with respect to the shadow DOM (i.e. spec bug).
&gt; This will mean we&apos;d skip any element that&apos;s focusable inside a shadow tree
&gt; unless the outer most host is also focusable.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLDialogElement.cpp:141
&gt; &gt; +        // If there isn&apos;t one, then let control be the first non-inert descendant element of subject, in tree order.
&gt; 
&gt; Ditto.

This should be addressed later, seems like a minor adjustment. I&apos;d really like to get the main bits landed. Maybe a spec issue should be filed?

&gt; &gt; Source/WebCore/html/HTMLDialogElement.cpp:151
&gt; &gt; +    // 3. Run the focusing steps for control.
&gt; &gt; +    control-&gt;focus();
&gt; 
&gt; This isn&apos;t right. In WebKit, whether an element is focusable or not depends
&gt; on the event (mouse/keyword) and its specifics.

Do you have a suggestion on how to fix this?

&gt; &gt;&gt; Source/WebCore/html/HTMLDialogElement.h:62
&gt; &gt;&gt; +    Element* m_previouslyFocusedElement;
&gt; &gt; 
&gt; &gt; What is keeping this alive?
&gt; 
&gt; Yeah, this will result in UAF.

Made this a weak pointer.

&gt; &gt; Source/WebCore/html/HTMLFormControlElement.cpp:251
&gt; &gt; -        setAutofocused();
&gt; &gt; +        document().topDocument().setAutofocusProcessed();
&gt; 
&gt; We shouldn&apos;t be setting this flag until right when we&apos;re about to focus this
&gt; element in the callback below.

Done, thanks for catching!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778072</commentid>
    <comment_count>7</comment_count>
      <attachid>433841</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 17:55:32 -0700</bug_when>
    <thetext>Created attachment 433841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778124</commentid>
    <comment_count>8</comment_count>
      <attachid>433863</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-20 02:32:59 -0700</bug_when>
    <thetext>Created attachment 433863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778137</commentid>
    <comment_count>9</comment_count>
      <attachid>433863</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-07-20 03:49:03 -0700</bug_when>
    <thetext>Comment on attachment 433863
Patch

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

&gt; Source/WebCore/dom/Document.h:2074
&gt; +    // https://html.spec.whatwg.org/multipage/interaction.html#autofocus-processed-flag
&gt; +    bool m_autofocusProcessed { false };

I don&apos;t think we need this link. It&apos;s pretty clear what this flag does given there is the same term defined in the spec.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:103
&gt; +    if (m_previouslyFocusedElement) {
&gt; +        FocusOptions options;
&gt; +        options.preventScroll = true;
&gt; +        m_previouslyFocusedElement-&gt;focus(options);
&gt; +    }

This doesn&apos;t seem right unless this dialog element (and maybe even this browsing context) had lost the focus.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:114
&gt; +    Element* control = nullptr;

Use RefPtr as Sam and I have both suggested. r- because of this.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:115
&gt; +    for (Element* element = ElementTraversal::firstWithin(*this); element; element = ElementTraversal::next(*element)) {

Ditto. Also, I don&apos;t think we need to figure out whether we want to do tree traversal ignoring shadow DOM or not.
I don&apos;t think we should be landing this patch without figuring out the interaction with the shadow DOM.
r- because of this.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:117
&gt; +        if (!element-&gt;isFocusable())
&gt; +            continue;

This check isn&apos;t right either. We need to figure out what sense of focusability we need here.
The spec doesn&apos;t tell us so we need to decide.
We probably need an Event object for keyboard / mouse actions or nullopt if it was triggered by script.
See Element::focus and Element::isKeyboardFocusable and Element::isMouseFocusable.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:119
&gt; +        // Let control be the first descendant element of subject, in tree order, that is not inert and has the autofocus attribute specified.

Again, we shouldn&apos;t be littering our code with all these comments copied &amp; pasted from the spec verbatim.
It makes the code less readable.

&gt; Source/WebCore/html/HTMLFormControlElement.cpp:256
&gt; +                element-&gt;document().topDocument().setAutofocusProcessed();

Why are we not checking the security origin here?

&gt; Source/WebCore/html/HTMLFormControlElement.cpp:261
&gt; +                element-&gt;document().topDocument().setAutofocusProcessed();

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802815</commentid>
    <comment_count>10</comment_count>
      <attachid>440840</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-11 14:50:24 -0700</bug_when>
    <thetext>Created attachment 440840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802821</commentid>
    <comment_count>11</comment_count>
      <attachid>440840</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-11 14:59:38 -0700</bug_when>
    <thetext>Comment on attachment 440840
Patch

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

&gt; Source/WebCore/dom/Document.h:793
&gt; +    Deque&lt;WeakPtr&lt;Element&gt;&gt; autofocusCandidates() const { return m_autofocusCandidates; }

Do you really mean to copy the Deque here?

&gt; Source/WebCore/html/HTMLDialogElement.cpp:149
&gt; +    topDocument-&gt;autofocusCandidates().clear();

This is currently a no-op.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802824</commentid>
    <comment_count>12</comment_count>
      <attachid>440840</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-11 15:01:27 -0700</bug_when>
    <thetext>Comment on attachment 440840
Patch

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

&gt;&gt; Source/WebCore/html/HTMLDialogElement.cpp:149
&gt;&gt; +    topDocument-&gt;autofocusCandidates().clear();
&gt; 
&gt; This is currently a no-op.

You likely want to add a clearAutofocusCandidates() to Document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802826</commentid>
    <comment_count>13</comment_count>
      <attachid>440840</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-11 15:04:35 -0700</bug_when>
    <thetext>Comment on attachment 440840
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.cpp:145
&gt; +    if (!control-&gt;document().securityOrigin().isSameOriginAs(control-&gt;document().topOrigin()))

if (!control-&gt;document().isSameOriginAsTopDocument())

seems simpler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802829</commentid>
    <comment_count>14</comment_count>
      <attachid>440845</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-11 15:15:18 -0700</bug_when>
    <thetext>Created attachment 440845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802992</commentid>
    <comment_count>15</comment_count>
      <attachid>440893</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-11 23:06:49 -0700</bug_when>
    <thetext>Created attachment 440893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803116</commentid>
    <comment_count>16</comment_count>
      <attachid>440934</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-12 08:03:15 -0700</bug_when>
    <thetext>Created attachment 440934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803155</commentid>
    <comment_count>17</comment_count>
      <attachid>440934</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-12 09:03:02 -0700</bug_when>
    <thetext>Comment on attachment 440934
Patch

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

Looking pretty good, but I think the tests are not covering enough edge cases.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:103
&gt; +    if (m_previouslyFocusedElement) {
&gt; +        FocusOptions options;
&gt; +        options.preventScroll = true;
&gt; +        m_previouslyFocusedElement-&gt;focus(options);
&gt; +    }

I’m not sure that just checking if m_previouslyFocusedElement is null is a sufficient check. We probably need to check that it’s still connected to the document too, or maybe even check that it’s a descendant of some element? Not 100% sure about this, but we should construct some test cases where it’s removed before close is called to check if the behavior is consistent with other browsers and thus interoperable.

Shouldn’t this also be clearing out m_previouslyFocusedElement?

Also, our lifetime rules for reference counted objects require putting the element into a Ref or RefPtr before calling focus; the focus function can assume the caller is holding a reference to the element it’s called on. So the code would be more like:

    if (RefPtr element = std::exchange(m_previouslyFocusedElement, nullptr).get(); element &amp;&amp; element-&gt;isConnected()) {
        FocusOptions options;
        options.preventScroll = true;
        element-&gt;focus(options);
    }

&gt; Source/WebCore/html/HTMLDialogElement.cpp:126
&gt; +    for (RefPtr element = ElementTraversal::firstWithin(*this); element; element = ElementTraversal::next(*element)) {

The modern idiom for this is:

        for (auto&amp; element : descendantsOfType&lt;Element&gt;(*this)) {

Seems like there is no downside to using that. The code in the loop body would then use &quot;element.&quot; and &quot;&amp;element&quot; instead of &quot;element-&gt;&quot; and &quot;element&quot;, but otherwise be the same.

&gt; Source/WebCore/html/HTMLDialogElement.h:50
&gt; +    // https://html.spec.whatwg.org/multipage/interactive-elements.html#dialog-focusing-steps

Typically we put those comments in the .cpp file instead of the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803872</commentid>
    <comment_count>18</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-13 11:11:11 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #17)
&gt; Comment on attachment 440934 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=440934&amp;action=review
&gt; 
&gt; Looking pretty good, but I think the tests are not covering enough edge
&gt; cases.

Thanks for the review!

&gt; &gt; Source/WebCore/html/HTMLDialogElement.cpp:103
&gt; &gt; +    if (m_previouslyFocusedElement) {
&gt; &gt; +        FocusOptions options;
&gt; &gt; +        options.preventScroll = true;
&gt; &gt; +        m_previouslyFocusedElement-&gt;focus(options);
&gt; &gt; +    }
&gt; 
&gt; I’m not sure that just checking if m_previouslyFocusedElement is null is a
&gt; sufficient check. We probably need to check that it’s still connected to the
&gt; document too, or maybe even check that it’s a descendant of some element?

Good call, thanks.

&gt; Not 100% sure about this, but we should construct some test cases where it’s
&gt; removed before close is called to check if the behavior is consistent with
&gt; other browsers and thus interoperable.

The behavior is consistent to hiding the container of a focused element, e.g.:

```
&lt;div id=&quot;div&quot;&gt;
  &lt;button id=&quot;button&quot;&gt;hi&lt;/button&gt;
&lt;/div&gt;
&lt;script&gt;
button.focus();

div.hidden = true;

console.log(document.activeElement.tagName) // returns BUTTON on every browser
&lt;/script&gt;
```

I guess that slightly feels wrong that a hidden element is focused, but that&apos;s something that should probably be fixed in all cases (or maybe there&apos;s a good rationale for it, not sure?), not just &lt;dialog&gt;, with tests/spec changes in hand.

There&apos;s also this test for &lt;dialog&gt; which tests a very similar case: https://webkit-search.igalia.com/webkit/rev/09c09799bad5710182ea8d6008d5f5ca5213916c/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close.html#59-74


&gt; Shouldn’t this also be clearing out m_previouslyFocusedElement?

Yes, it&apos;s part of the spec, thanks for spotting this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803884</commentid>
    <comment_count>19</comment_count>
      <attachid>441113</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-13 11:30:21 -0700</bug_when>
    <thetext>Created attachment 441113
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803887</commentid>
    <comment_count>20</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-13 11:33:47 -0700</bug_when>
    <thetext>Committed r284116 (242936@main): &lt;https://commits.webkit.org/242936@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803919</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-13 12:50:01 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #18)
&gt; I guess that slightly feels wrong that a hidden element is focused, but
&gt; that&apos;s something that should probably be fixed in all cases (or maybe
&gt; there&apos;s a good rationale for it, not sure?), not just &lt;dialog&gt;, with
&gt; tests/spec changes in hand.

I really don’t care too much about what &quot;feels wrong&quot;. I do care a lot about cases we haven’t explicitly tested, since differences in such cases often lead to real world interoperability problems. To me it seems that to be confident that the isConnected() check is both necessary and nothing else is necessary we need many tests, including ones where the element is still connected but is elsewhere in the document, cases that you mentioned about &quot;hidden&quot; just to verify they have no effect, and more.

Otherwise, how can we verify that isConnected() is exactly the right thing for the code to be checking?

&gt; There&apos;s also this test for &lt;dialog&gt; which tests a very similar case:
&gt; https://webkit-search.igalia.com/webkit/rev/
&gt; 09c09799bad5710182ea8d6008d5f5ca5213916c/LayoutTests/imported/w3c/web-
&gt; platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-
&gt; after-close.html#59-74

Were we failing this test when our patch didn’t include the isConnected check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803921</commentid>
    <comment_count>22</comment_count>
      <attachid>441113</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-13 12:53:09 -0700</bug_when>
    <thetext>Comment on attachment 441113
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.cpp:124
&gt; +    if (renderer() &amp;&amp; renderer()-&gt;style().effectiveInert())
&gt; +        return;

Occurs to me that checking for a renderer without explicitly updating layout to build the render tree first gives unpredictable results for possibly-newly-created DOM elements. Where is the code that causes the render tree to get built? Do we have test cases that cover this edge case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803959</commentid>
    <comment_count>23</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-13 14:12:58 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #22)
&gt; Comment on attachment 441113 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441113&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLDialogElement.cpp:124
&gt; &gt; +    if (renderer() &amp;&amp; renderer()-&gt;style().effectiveInert())
&gt; &gt; +        return;
&gt; 
&gt; Occurs to me that checking for a renderer without explicitly updating layout
&gt; to build the render tree first gives unpredictable results for
&gt; possibly-newly-created DOM elements. Where is the code that causes the
&gt; render tree to get built? Do we have test cases that cover this edge case?

This is called by show/showModal which toggle the open attribute, this toggles display: none; so this should trigger layout.

&gt; I really don’t care too much about what &quot;feels wrong&quot;. I do care a lot about cases we haven’t explicitly tested, since differences in such cases often lead to real world interoperability problems. To me it seems that to be confident that the isConnected() check is both necessary and nothing else is necessary we need many tests, including ones where the element is still connected but is elsewhere in the document, cases that you mentioned about &quot;hidden&quot; just to verify they have no effect, and more.

&gt; Otherwise, how can we verify that isConnected() is exactly the right thing for the code to be checking?

I realize the `isConnected()` check doesn&apos;t actually make a difference, the tests in fact pass without. 

Let&apos;s say the previously focused node isn&apos;t connected, then if you call focus() on it, it will be no-op, see:

https://webkit-search.igalia.com/webkit/rev/09c09799bad5710182ea8d6008d5f5ca5213916c/Source/WebCore/dom/Element.cpp#3068-3069

If you remove the `isConnected()` check, it&apos;s also no-op for disconnected element, so we could do either way.

---

Regarding extra test coverage in the case there is no previously focused element, it will just follow rules what happens when a focused element gets hidden, I don&apos;t think this is necessary to test for &lt;dialog&gt; specifically, unless the spec adds special rules for it. This should be covered by normal focus tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803989</commentid>
    <comment_count>24</comment_count>
      <attachid>441113</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-13 15:07:58 -0700</bug_when>
    <thetext>Comment on attachment 441113
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLDialogElement.cpp:124
&gt;&gt;&gt; +        return;
&gt;&gt; 
&gt;&gt; Occurs to me that checking for a renderer without explicitly updating layout to build the render tree first gives unpredictable results for possibly-newly-created DOM elements. Where is the code that causes the render tree to get built? Do we have test cases that cover this edge case?
&gt; 
&gt; This is called by show/showModal which toggle the open attribute, this toggles display: none; so this should trigger layout.

Changing style does not trigger layout. It triggers the need for layout, which is then done lazily at a later time. Thus I am even more concerned that this code won’t work properly and we need to make sure we’ve tested it carefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803993</commentid>
    <comment_count>25</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-13 15:10:28 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #23)
&gt; I realize the `isConnected()` check doesn&apos;t actually make a difference, the
&gt; tests in fact pass without.

Got it. Let’s remove the isConnected check, then.

&gt; Regarding extra test coverage in the case there is no previously focused
&gt; element, it will just follow rules what happens when a focused element gets
&gt; hidden, I don&apos;t think this is necessary to test for &lt;dialog&gt; specifically,
&gt; unless the spec adds special rules for it. This should be covered by normal
&gt; focus tests.

I am not sure I asked for extra test coverage of the case where there is no previously focused element. I am asking for extra test coverage in the case where the previously focused element is put in an usual state, like moved into a shadow tree, removed from the document, moved to a different place in the document, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804006</commentid>
    <comment_count>26</comment_count>
      <attachid>441113</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-13 15:21:25 -0700</bug_when>
    <thetext>Comment on attachment 441113
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.cpp:53
&gt;      setBooleanAttribute(openAttr, true);

This can affect style...

&gt; Source/WebCore/html/HTMLDialogElement.cpp:57
&gt; +    runFocusingSteps();

So we have to update style and layout before running these steps.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:75
&gt;          addToTopLayer();

This can affect style...

&gt; Source/WebCore/html/HTMLDialogElement.cpp:79
&gt; +    runFocusingSteps();

So we have to update style and layout before running these steps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804029</commentid>
    <comment_count>27</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-13 15:44:33 -0700</bug_when>
    <thetext>And we should add test cases that would fail because of these mistakes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804051</commentid>
    <comment_count>28</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-13 16:17:51 -0700</bug_when>
    <thetext>Reopen to address remaining issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804166</commentid>
    <comment_count>29</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-13 22:52:05 -0700</bug_when>
    <thetext>&gt; I am not sure I asked for extra test coverage of the case where there is no previously focused element. I am asking for extra test coverage in the case where the previously focused element is put in an usual state, like moved into a shadow tree, removed from the document, moved to a different place in the document, etc.

&quot;removed from the document&quot; falls into the same category as &quot;there is no previously focused element&quot;.

From https://html.spec.whatwg.org/multipage/interactive-elements.html#dom-dialog-close:

&gt; If subject&apos;s previously focused element is not null, then: [...]

If it&apos;s removed from the document, then the previously focused element will be null, and the usual focus rules follow. (I&apos;ve tested this manually yesterday). This isn&apos;t a thing that should be tested by &lt;dialog&gt; related tests. focus-after-close.html tests a similar case where the element is removed after (not before) close() is called.

moved into a shadow tree/moved to a different place in the document seem like interesting cases to test, I&apos;ll extend the following test in a WPT PR:

https://webkit-search.igalia.com/webkit/source/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/focus-after-close.html

&gt; And we should add test cases that would fail because of these mistakes.

I&apos;ll add a testcase for focusing steps on an inert &lt;dialog&gt; in bug 231721. Probably will use &lt;dialog inert&gt; here, rather than opening a second modal dialog, since focus will be moved to the second dialog otherwise, which retracts the whole point of the test.

&gt;  Reopen to address remaining issues.

I filed followups (which I&apos;ll address today), bug 231721 and bug 231722. Marked as this bug as resolved since the patch hasn&apos;t been reverted.

Thanks for the great feedback!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804252</commentid>
    <comment_count>30</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-14 06:54:35 -0700</bug_when>
    <thetext>Bug 231721, bug 231736, bug 231722 and bug 231721 should address everything mentioned here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433800</attachid>
            <date>2021-07-19 11:12:06 -0700</date>
            <delta_ts>2021-07-19 17:55:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20210719201205.patch</filename>
            <type>text/plain</type>
            <size>17792</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlNTVhNjg3ZDVhNGM2
MDQwNjNiYjUyNDk0MjVhNTYxMDM1ZTJlNi4uYTBkMDk1MzEwMjc4ODRiOGU4Nzc1ZTg0ZDkwOWRh
MTU5Zjk0M2E5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA3LTE5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1l
bGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNBdXRvZm9jdXNQcm9jZXNzZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEF1dG9mb2N1c1Byb2Nlc3Nl
ZCk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlh
bG9nRWxlbWVudDo6c2hvd01vZGFsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVt
ZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6cnVuRm9j
dXNpbmdTdGVwcyk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxl
bWVudDo6aGFzQXV0b2ZvY3VzZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1Db250cm9sRWxlbWVudDo6c2V0QXV0b2ZvY3VzZWQpOiBEZWxldGVkLgorCiAyMDIxLTA3LTE3
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIE1v
dmUgSW5saW5lTGV2ZWxCb3ggY2xhc3MgdG8gaXRzIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CmluZGV4IDk3MzE0NGNmYjc2NWMzZTExMzgzOWZmZTBmODYwYjQ5ZTgzMzQxYjcuLjJjMTY2Mzkz
ZDZmMjZlYTIxYjQ4NGU4NGI5NjFmNTIzMmRlYmQyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBA
IC0xNjIzLDYgKzE2MjMsOSBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgZGVidWdEZXNjcmlwdGlv
bigpIGNvbnN0OwogCisgICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fYXV0b2ZvY3VzUHJvY2Vzc2VkOyB9CisgICAgdm9pZCBzZXRBdXRvZm9jdXNQcm9jZXNz
ZWQoKSB7IG1fYXV0b2ZvY3VzUHJvY2Vzc2VkID0gdHJ1ZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
ZW51bSBDb25zdHJ1Y3Rpb25GbGFncyB7IFN5bnRoZXNpemVkID0gMSwgTm9uUmVuZGVyZWRQbGFj
ZWhvbGRlciA9IDEgPDwgMSB9OwogICAgIFdFQkNPUkVfRVhQT1JUIERvY3VtZW50KEZyYW1lKiwg
Y29uc3QgU2V0dGluZ3MmLCBjb25zdCBVUkwmLCBEb2N1bWVudENsYXNzRmxhZ3MgPSBEZWZhdWx0
RG9jdW1lbnRDbGFzcywgdW5zaWduZWQgY29uc3RydWN0aW9uRmxhZ3MgPSAwKTsKQEAgLTIwNjcs
NiArMjA3MCw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0VsZW1lbnRVc2luZ1N0eWxlQmFz
ZWRFZGl0YWJpbGl0eSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2ZvY3VzTmF2aWdhdGlvblN0YXJ0
aW5nTm9kZUlzUmVtb3ZlZCB7IGZhbHNlIH07CiAKKyAgICAvLyBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGlvbi5odG1sI2F1dG9mb2N1cy1wcm9jZXNzZWQt
ZmxhZworICAgIGJvb2wgbV9hdXRvZm9jdXNQcm9jZXNzZWQgeyBmYWxzZSB9OworCiAgICAgYm9v
bCBtX3ByaW50aW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1fcGFnaW5hdGVkRm9yU2NyZWVuIHsg
ZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAppbmRl
eCA5Y2M1YmRhZjAyZGM4MTY5ZTRlYzQ2ZjZiZGI3MGE0ZjU4OTJkY2ViLi4yNTY0NTkyOGRkNzEz
Y2Q4ODgyNTJjMzJhODRjYTEyYWEyMmIyMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aWFsb2dFbGVtZW50LmNwcApAQCAtMjUsOCArMjUsMTAgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkhUTUxEaWFsb2dFbGVtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZl
cnNhbC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudFNlbmRlci5o
IgorI2luY2x1ZGUgIkZvY3VzT3B0aW9ucy5oIgogCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTYwLDYgKzYyLDEwIEBAIHZvaWQg
SFRNTERpYWxvZ0VsZW1lbnQ6OnNob3coKQogICAgICAgICByZXR1cm47CiAKICAgICBzZXRCb29s
ZWFuQXR0cmlidXRlKG9wZW5BdHRyLCB0cnVlKTsKKworICAgIG1fcHJldmlvdXNseUZvY3VzZWRF
bGVtZW50ID0gZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgpOworCisgICAgcnVuRm9jdXNpbmdT
dGVwcygpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6c2hvd01v
ZGFsKCkKQEAgLTc5LDcgKzg1LDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRNTERpYWxvZ0VsZW1l
bnQ6OnNob3dNb2RhbCgpCiAgICAgLy8gRklYTUU6IE9ubHkgYWRkIGRpYWxvZyB0byB0b3AgbGF5
ZXIgaWYgaXQncyBub3QgYWxyZWFkeSBpbiBpdC4gKHdlYmtpdC5vcmcvYi8yMjc5MDcpCiAgICAg
ZG9jdW1lbnQoKS5hZGRUb1RvcExheWVyKCp0aGlzKTsKIAotICAgIC8vIEZJWE1FOiBBZGQgc3Rl
cHMgOCAmIDkgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykKKyAgICBtX3ByZXZpb3Vz
bHlGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKTsKKworICAgIHJ1
bkZvY3VzaW5nU3RlcHMoKTsKIAogICAgIHJldHVybiB7IH07CiB9CkBAIC05OSw3ICsxMDcsMTEg
QEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6Y2xvc2UoY29uc3QgU3RyaW5nJiByZXN1bHQpCiAg
ICAgLy8gRklYTUU6IE9ubHkgcmVtb3ZlIGRpYWxvZyBmcm9tIHRvcCBsYXllciBpZiBpdCdzIGlu
c2lkZSBpdC4gKHdlYmtpdC5vcmcvYi8yMjc5MDcpCiAgICAgZG9jdW1lbnQoKS5yZW1vdmVGcm9t
VG9wTGF5ZXIoKnRoaXMpOwogCi0gICAgLy8gRklYTUU6IEFkZCBzdGVwIDYgZnJvbSBzcGVjLiAo
d2Via2l0Lm9yZy9iLzIyNzUzNykKKyAgICBpZiAobV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQp
IHsKKyAgICAgICAgRm9jdXNPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIG9wdGlvbnMucHJldmVu
dFNjcm9sbCA9IHRydWU7CisgICAgICAgIG1fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50LT5mb2N1
cyhvcHRpb25zKTsKKyAgICB9CiAKICAgICBkaWFsb2dDbG9zZUV2ZW50U2VuZGVyKCkuY2FuY2Vs
RXZlbnQoKnRoaXMpOwogICAgIGRpYWxvZ0Nsb3NlRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50
U29vbigqdGhpcyk7CkBAIC0xMTEsNCArMTIzLDQxIEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6
OmRpc3BhdGNoUGVuZGluZ0V2ZW50KERpYWxvZ0V2ZW50U2VuZGVyKiBldmVudFNlbmRlcikKICAg
ICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NlRXZlbnQsIEV2
ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogfQogCit2b2lk
IEhUTUxEaWFsb2dFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzKCkKK3sKKyAgICAvLyBGSVhNRTog
QWRkIHN0ZXAgMSBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMTEwOTUyKQorCisgICAgRWxlbWVu
dCogY29udHJvbCA9IG51bGxwdHI7CisgICAgZm9yIChFbGVtZW50KiBlbGVtZW50ID0gRWxlbWVu
dFRyYXZlcnNhbDo6Zmlyc3RXaXRoaW4oKnRoaXMpOyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVu
dFRyYXZlcnNhbDo6bmV4dCgqZWxlbWVudCkpIHsKKyAgICAgICAgaWYgKCFlbGVtZW50LT5pc0Zv
Y3VzYWJsZSgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLy8gTGV0IGNvbnRy
b2wgYmUgdGhlIGZpcnN0IGRlc2NlbmRhbnQgZWxlbWVudCBvZiBzdWJqZWN0LCBpbiB0cmVlIG9y
ZGVyLCB0aGF0IGlzIG5vdCBpbmVydCBhbmQgaGFzIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRlIHNw
ZWNpZmllZC4KKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0F0dHJpYnV0ZShhdXRvZm9jdXNBdHRy
KSkgeworICAgICAgICAgICAgY29udHJvbCA9IGVsZW1lbnQ7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHRoZXJlIGlzbid0IG9uZSwgdGhlbiBsZXQgY29u
dHJvbCBiZSB0aGUgZmlyc3Qgbm9uLWluZXJ0IGRlc2NlbmRhbnQgZWxlbWVudCBvZiBzdWJqZWN0
LCBpbiB0cmVlIG9yZGVyLgorICAgICAgICBpZiAoIWNvbnRyb2wpCisgICAgICAgICAgICBjb250
cm9sID0gZWxlbWVudDsKKyAgICB9CisKKyAgICAvLyBJZiB0aGVyZSBpc24ndCBvbmUgb2YgdGhv
c2UgZWl0aGVyLCB0aGVuIGxldCBjb250cm9sIGJlIHN1YmplY3QuCisgICAgaWYgKCFjb250cm9s
KQorICAgICAgICBjb250cm9sID0gdGhpczsKKworICAgIC8vIDMuIFJ1biB0aGUgZm9jdXNpbmcg
c3RlcHMgZm9yIGNvbnRyb2wuCisgICAgY29udHJvbC0+Zm9jdXMoKTsKKworICAgIC8vIDQuIExl
dCB0b3BEb2N1bWVudCBiZSB0aGUgYWN0aXZlIGRvY3VtZW50IG9mIGNvbnRyb2wncyBub2RlIGRv
Y3VtZW50J3MgYnJvd3NpbmcgY29udGV4dCdzIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0Lgor
ICAgIC8vIDUuIElmIGNvbnRyb2wncyBub2RlIGRvY3VtZW50J3Mgb3JpZ2luIGlzIG5vdCB0aGUg
c2FtZSBhcyB0aGUgb3JpZ2luIG9mIHRvcERvY3VtZW50LCB0aGVuIHJldHVybi4KKyAgICBpZiAo
IWNvbnRyb2wtPmRvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKS5pc1NhbWVPcmlnaW5Bcyhjb250
cm9sLT5kb2N1bWVudCgpLnRvcE9yaWdpbigpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
Ni4gRW1wdHkgdG9wRG9jdW1lbnQncyBhdXRvZm9jdXMgY2FuZGlkYXRlcy4KKyAgICAvLyA3LiBT
ZXQgdG9wRG9jdW1lbnQncyBhdXRvZm9jdXMgcHJvY2Vzc2VkIGZsYWcgdG8gdHJ1ZS4KKyAgICBj
b250cm9sLT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCkuc2V0QXV0b2ZvY3VzUHJvY2Vzc2VkKCk7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA3ODI5
ODEzNDUyZWUzOTk2ZjU3NzRiNmMwNmUyYTExZDJlMzM3ODNhLi5iM2E0YTFkYTRiMjRmMjhjMDgw
YzQ0YjM1MDUwNDc5MDA4YWMzMTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxEaWFsb2dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5oCkBAIC01MSwxMSArNTEsMTUgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc01vZGFsKCkg
Y29uc3QgeyByZXR1cm4gbV9pc01vZGFsOyB9OwogCisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3RpdmUtZWxlbWVudHMuaHRtbCNkaWFsb2ctZm9j
dXNpbmctc3RlcHMKKyAgICB2b2lkIHJ1bkZvY3VzaW5nU3RlcHMoKTsKKwogcHJpdmF0ZToKICAg
ICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
ICAgIFN0cmluZyBtX3JldHVyblZhbHVlOwogICAgIGJvb2wgbV9pc01vZGFsIHsgZmFsc2UgfTsK
KyAgICBFbGVtZW50KiBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwCmluZGV4IDA0Zjc4ZWQ3MTAzMWZmMzMzYzI4OTZjMTkxMDhlM2RkOTVlZmUzYzUu
LjI4ODQ2NzEyNDIwMzZhNTM2MDBiMWQ5MjA5Njc2ZTZkZGRiZDM1MGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtNzIsNyArNzIsNiBA
QCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvYwogICAgICwgbV93aWxsVmFsaWRhdGUodHJ1ZSkKICAg
ICAsIG1faXNWYWxpZCh0cnVlKQogICAgICwgbV93YXNDaGFuZ2VkU2luY2VMYXN0Rm9ybUNvbnRy
b2xDaGFuZ2VFdmVudChmYWxzZSkKLSAgICAsIG1faGFzQXV0b2ZvY3VzZWQoZmFsc2UpCiB7CiAg
ICAgc2V0SGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CkBAIC0yMjEsNyArMjIw
LDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkQXV0b2ZvY3VzKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQq
IGVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAoZWxlbWVu
dC0+aGFzQXV0b2ZvY3VzZWQoKSkKKyAgICBpZiAoZG9jdW1lbnQudG9wRG9jdW1lbnQoKS5pc0F1
dG9mb2N1c1Byb2Nlc3NlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAvLyBGSVhN
RTogU2hvdWxkIHRoaXMgc2V0IG9mIGhhc1RhZ05hbWUgY2hlY2tzIGJlIHJlcGxhY2VkIGJ5IGEK
QEAgLTI0OSw3ICsyNDgsNyBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpZEF0dGFj
aFJlbmRlcmVycygpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CiAK
ICAgICBpZiAoc2hvdWxkQXV0b2ZvY3VzKHRoaXMpKSB7Ci0gICAgICAgIHNldEF1dG9mb2N1c2Vk
KCk7CisgICAgICAgIGRvY3VtZW50KCkudG9wRG9jdW1lbnQoKS5zZXRBdXRvZm9jdXNQcm9jZXNz
ZWQoKTsKIAogICAgICAgICBSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gZWxlbWVudCA9
IHRoaXM7CiAgICAgICAgIGF1dG8gZnJhbWVWaWV3ID0gbWFrZVJlZlB0cihkb2N1bWVudCgpLnZp
ZXcoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmlu
ZGV4IGNkZmE1YmQzMjRkZTBiOWI0YjYzYzVkNzk2OGFlODRlZjE3ZGNkMzEuLmEzNzYwOTQ1NDg0
MmFhZjk0ZDUwN2Y0NmQ5NTY3OTZiYTQxZTgzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xMTYsOSArMTE2LDYgQEAgcHVibGljOgogICAg
IGJvb2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZWFkT25seTsgfQogICAgIGJv
b2wgaXNEaXNhYmxlZE9yUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBpc0Rpc2FibGVkRm9ybUNv
bnRyb2woKSB8fCBtX2lzUmVhZE9ubHk7IH0KIAotICAgIGJvb2wgaGFzQXV0b2ZvY3VzZWQoKSB7
IHJldHVybiBtX2hhc0F1dG9mb2N1c2VkOyB9Ci0gICAgdm9pZCBzZXRBdXRvZm9jdXNlZCgpIHsg
bV9oYXNBdXRvZm9jdXNlZCA9IHRydWU7IH0KLQogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBh
dXRvY29tcGxldGUoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEF1dG9jb21w
bGV0ZShjb25zdCBTdHJpbmcmKTsKIApAQCAtMjE1LDggKzIxMiw2IEBAIHByaXZhdGU6CiAgICAg
dW5zaWduZWQgbV9pc1ZhbGlkIDogMTsKIAogICAgIHVuc2lnbmVkIG1fd2FzQ2hhbmdlZFNpbmNl
TGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQgOiAxOwotCi0gICAgdW5zaWduZWQgbV9oYXNBdXRv
Zm9jdXNlZCA6IDE7CiB9OwogCiBjbGFzcyBEZWxheWVkVXBkYXRlVmFsaWRpdHlTY29wZSB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4NWNiNzMwNmZmYmUwOWFhZTMyNWE0YWNh
MWFlMzRiN2IxOTYzMzkzLi5iZTgxYzkzNTM2ZmYyMGUxNzdhMTMwYzhjYmQ2NWRkNzRkMjBjOTkx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0w
Ny0xOSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCA8
ZGlhbG9nPiBmb2N1c2luZyBzdGVwcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI3NTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50
ZXJhY3RpdmUtZWxlbWVudHMuaHRtbCNkaWFsb2ctZm9jdXNpbmctc3RlcHMKKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRz
L3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25jZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxl
LXRpbWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1m
b2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvd01vZGFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dDoKKwogMjAy
MS0wNy0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxl
bWVudCAnU3VibWl0RXZlbnQnIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1l
bGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2Zv
Y3VzLWV4cGVjdGVkLnR4dAppbmRleCA2MDQzM2UyOWNiMGViMWU1ZGIwNGNkZWE1MTRkNWUyNTM5
ODQ1ZmMxLi4xYTI0ZGUwMDgwOTVkNThmNjMxNTgzZDE4MDg1NDVlNGZmZGRmM2I1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0
b2ZvY3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFs
b2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDQgQEAK
IAogCi0KLQotRkFJTCBhdXRvZm9jdXMgd2hlbiBhIG1vZGFsIGRpYWxvZyBpcyBvcGVuZWQgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9ImF1dG9mb2N1cy1i
dXR0b24iIGF1dG9mb2N1cz0iIj48L2J1dHRvbj4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJ1dHRv
biBpZD0ib3V0ZXItYnV0dG9uIiBhdXRvZm9jdXM9IiI+PC9idXR0b24+CitQQVNTIGF1dG9mb2N1
cyB3aGVuIGEgbW9kYWwgZGlhbG9nIGlzIG9wZW5lZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25j
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25jZS1leHBlY3RlZC50eHQKaW5kZXggMzNmYzZkOTRh
NTM3YTA2ZGFmYmM5OGMwM2U2NmZiMzYzMWUzNTBkNC4uMTgxNjNlYjk3MzI5MDhmOTZjNWEzMDcy
NzQyZThkN2U3NWFhNzI4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUt
ZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRv
Zm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDQgQEAKIAogCi1GQUlMIEFu
IGF1dG9mb2N1cyBlbGVtZW50IGluIGEgZGlhbG9nIGVsZW1lbnQgc2hvdWxkIG5vdCB0cnkgdG8g
Z2V0IGZvY3VzIHR3aWNlLiBhc3NlcnRfZXF1YWxzOiBkaWFsb2cuc2hvdygpIHNob3VsZCBzZXQg
Zm9jdXMgb24gYSBkZXNjZW5kYW50IGVsZW1lbnQgd2l0aCBhbiBhdXRvZm9jdXMgYXR0cmlidXRl
LiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PiBidXQg
Z290IEVsZW1lbnQgbm9kZSA8Ym9keT4KLTxkaWFsb2cgb3Blbj0iIj4KLTxpbnB1dD4KLTxpbnB1
dCBhdXRvZm9jdXM9IiI+Ci08L2RpLi4uCitQQVNTIEFuIGF1dG9mb2N1cyBlbGVtZW50IGluIGEg
ZGlhbG9nIGVsZW1lbnQgc2hvdWxkIG5vdCB0cnkgdG8gZ2V0IGZvY3VzIHR3aWNlLgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
YXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxl
bWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGltZXMt
ZXhwZWN0ZWQudHh0CmluZGV4IDA0NTEwN2E4M2M4MjRjYWIwMzc1YTM1MWEwYWZmMGJlMTRiNjY2
MDkuLmU1MDYwOTBmNmY3NjNmYzc1Njg3YzNhY2JjMGU4ZWFjNGVlZTBiNjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9j
dXMtbXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGltZXMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgYXV0b2ZvY3VzIGlzIHJ1biBldmVy
eSB0aW1lIGEgZGlhbG9nIGlzIG9wZW5lZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50
IG5vZGUgPGlucHV0IGlkPSJpbnB1dDIiIGF1dG9mb2N1cz0iIj48L2lucHV0PiBidXQgZ290IEVs
ZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJvdXRlci1idXR0b24iIGF1dG9mb2N1cz0iIj48L2J1dHRv
bj4KK1BBU1MgYXV0b2ZvY3VzIGlzIHJ1biBldmVyeSB0aW1lIGEgZGlhbG9nIGlzIG9wZW5lZAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9k
aWFsb2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0
ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dAppbmRleCBjYTdjMzE3YzRiNzFmMWVl
OTkyYTNjMGIwN2JmNTYwNDQ5NmE5ZTE5Li5jYjY1Y2MxNDFkMjVlZjc0NDJmZjE3OWU5Yzg3MjY2
N2QyOGM4YTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxv
Zy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3RlZC50eHQKQEAgLTEsNyAr
MSw0IEBACiAKIAotRkFJTCBBZnRlciBzaG93aW5nIGEgZGlhbG9nLCBub24tZGlhbG9nIGF1dG9m
b2N1cyBwcm9jZXNzaW5nIHdvbid0IHdvcmsuIGFzc2VydF9lcXVhbHM6IE5vbi1kaWFsb2cgYXV0
b2ZvY3VzIHByb2Nlc3Npbmcgc2hvdWxkIGJlIHNraXBwZWQuIGV4cGVjdGVkIEVsZW1lbnQgbm9k
ZSA8Ym9keT4KLTxpbnB1dCBhdXRvZm9jdXM9IiI+PGRpYWxvZz48L2RpYWxvZz4KLTxzY3JpcHQ+
Ci0vLyAuLi4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0
PgorUEFTUyBBZnRlciBzaG93aW5nIGEgZGlhbG9nLCBub24tZGlhbG9nIGF1dG9mb2N1cyBwcm9j
ZXNzaW5nIHdvbid0IHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBl
Y3RlZC50eHQKaW5kZXggODM5MDkxZTkyMmIyMjlmMzFiM2M4MTY4MjFkYWQ1Y2EwMjc5NDlkMy4u
ZWQzYzUzMDE1OGE3MzAyMTEwZmQ3ZjI1N2RkNGE2MGY0ZWM4NTgzMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1l
bnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsMTMgQEAKIAotRkFJ
TCBkaWFsb2cgZWxlbWVudDogc2hvd01vZGFsKCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxl
bWVudCBub2RlIDxidXR0b24gaWQ9ImIxIj5PSzwvYnV0dG9uPiBidXQgZ290IEVsZW1lbnQgbm9k
ZSA8Ym9keT48ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGJ1dHRvbiBpZD0iYjAiPk9LPC9idXR0b24+
Ci08ZC4uLgorUEFTUyBkaWFsb2cgZWxlbWVudDogc2hvd01vZGFsKCkKIFBBU1Mgc2hvd01vZGFs
KCkgb24gYSA8ZGlhbG9nPiB0aGF0IGFscmVhZHkgaGFzIGFuIG9wZW4gYXR0cmlidXRlIHRocm93
cyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24KIFBBU1Mgc2hvd01vZGFsKCkgb24gYSA8
ZGlhbG9nPiBhZnRlciBpbml0aWFsIHNob3dNb2RhbCgpIGFuZCByZW1vdmluZyB0aGUgb3BlbiBh
dHRyaWJ1dGUKIFBBU1Mgc2hvd01vZGFsKCkgb24gYSA8ZGlhbG9nPiBub3QgaW4gYSBEb2N1bWVu
dCB0aHJvd3MgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uCiBQQVNTIHdoZW4gb3Blbmlu
ZyBtdWx0aXBsZSBkaWFsb2dzLCBvbmx5IHRoZSBuZXdlc3Qgb25lIGlzIG5vbi1pbmVydAotUEFT
UyBvcGVuaW5nIGRpYWxvZyB3aXRob3V0IGZvY3VzYWJsZSBjaGlsZHJlbgotRkFJTCBvcGVuaW5n
IGRpYWxvZyB3aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJpNzEiIHZhbHVlPSJmb29iYXIiPjwvaW5w
dXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08YnV0
dG9uIGlkPSJiMCI+T0s8L2J1dHRvbj4KLTxkLi4uCi1GQUlMIG9wZW5pbmcgZGlhbG9nIHdpdGgg
bXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVuLCBvbmUgaGF2aW5nIHRoZSBhdXRvZm9jdXMgYXR0
cmlidXRlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9Imk4
MiIgdmFsdWU9ImZvb2JhciIgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBu
b2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+CitGQUlMIG9wZW5pbmcgZGlhbG9nIHdpdGhv
dXQgZm9jdXNhYmxlIGNoaWxkcmVuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9k
ZSA8Ym9keT48ZGl2IGlkPSJsb2ciPjwvZGl2PgogPGJ1dHRvbiBpZD0iYjAiPk9LPC9idXR0b24+
Ci08ZC4uLgorPGQuLi4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0iYjUiPk9LPC9i
dXR0b24+CitQQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxk
cmVuCitQQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVu
LCBvbmUgaGF2aW5nIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRlCiBQQVNTIHdoZW4gb3BlbmluZyBt
dWx0aXBsZSBkaWFsb2dzLCB0aGUgbW9zdCByZWNlbnRseSBvcGVuZWQgaXMgcmVuZGVyZWQgb24g
dG9wCiBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVs
ZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVt
ZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGU0NjQ1MDU4NDgzZTAwYWY4ZjRiMGUwNGZiMDE0MzI4ZjdhODBiODYuLjVmYzUwZGViNzg5
MTEyM2EyNDY5MzcyZDNkNzdiOWYzN2YzZDBjNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1h
ZnRlci1jbG9zZS1leHBlY3RlZC50eHQKQEAgLTIsMTAgKzIsNyBAQAogCiAKIFBBU1MgRm9jdXMg
c2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudChTaW1wbGUg
ZGlhbG9nIHVzYWdlKQotRkFJTCBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZpb3Vz
bHkgZm9jdXNlZCBlbGVtZW50KENvbXBsZXggZGlhbG9nIHVzYWdlKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0PjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2Rl
IDxib2R5PgotCi08ZGlhbG9nPgotICAgIDxidXR0b24gaWQ9ImJ1dHRvbjEiPlRoaXMgaXMgYSBi
dXR0by4uLgorUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZpb3VzbHkgZm9j
dXNlZCBlbGVtZW50KENvbXBsZXggZGlhbG9nIHVzYWdlKQogUEFTUyBGb2N1cyBzaG91bGQgYmUg
bW92ZWQgdG8gdGhlIGJvZHkgaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IGlzIHJl
bW92ZWQKIFBBU1MgRm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBzaGFkb3cgRE9NIGhvc3Qg
aWYgdGhlIHByZXZpb3VseSBmb2N1c2VkIGVsZW1lbnQgaXMgYSBzaGFkb3cgRE9NIG5vZGUKIEZB
SUwgRm9jdXMgc2hvdWxkIG5vdCBzY3JvbGwgaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVt
ZW50IGlzIG91dHNpZGUgdGhlIHZpZXdwb3J0IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433841</attachid>
            <date>2021-07-19 17:55:32 -0700</date>
            <delta_ts>2021-07-20 02:32:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20210720025530.patch</filename>
            <type>text/plain</type>
            <size>18262</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzIwN2NhNmNmZDcxMTc0
ZWJhNzFkNTg1MTk5MzRmMDcxOGFiMDZmMC4uZDIzYTc2OWU4N2NiOGI4YTk2YWMyOTZjMGJmZmJm
NDIxNDJhYjcxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA3LTE5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1l
bGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNBdXRvZm9jdXNQcm9jZXNzZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEF1dG9mb2N1c1Byb2Nlc3Nl
ZCk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlh
bG9nRWxlbWVudDo6c2hvd01vZGFsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVt
ZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6cnVuRm9j
dXNpbmdTdGVwcyk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxl
bWVudDo6aGFzQXV0b2ZvY3VzZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1Db250cm9sRWxlbWVudDo6c2V0QXV0b2ZvY3VzZWQpOiBEZWxldGVkLgorCiAyMDIxLTA3LTE5
ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBJ
REJUcmFuc2FjdGlvbi5jb21taXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA5NzMxNDRjZmI3
NjVjM2UxMTM4MzlmZmUwZjg2MGI0OWU4MzM0MWI3Li4yYzE2NjM5M2Q2ZjI2ZWEyMWI0ODRlODRi
OTYxZjUyMzJkZWJkMjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTYyMyw2ICsxNjIzLDkg
QEAgcHVibGljOgogCiAgICAgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdDsKIAorICAg
IGJvb2wgaXNBdXRvZm9jdXNQcm9jZXNzZWQoKSBjb25zdCB7IHJldHVybiBtX2F1dG9mb2N1c1By
b2Nlc3NlZDsgfQorICAgIHZvaWQgc2V0QXV0b2ZvY3VzUHJvY2Vzc2VkKCkgeyBtX2F1dG9mb2N1
c1Byb2Nlc3NlZCA9IHRydWU7IH0KKwogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9u
RmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEg
fTsKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudChGcmFtZSosIGNvbnN0IFNldHRpbmdzJiwg
Y29uc3QgVVJMJiwgRG9jdW1lbnRDbGFzc0ZsYWdzID0gRGVmYXVsdERvY3VtZW50Q2xhc3MsIHVu
c2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCk7CkBAIC0yMDY3LDYgKzIwNzAsOSBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9oYXNFbGVtZW50VXNpbmdTdHlsZUJhc2VkRWRpdGFiaWxpdHkgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9mb2N1c05hdmlnYXRpb25TdGFydGluZ05vZGVJc1JlbW92ZWQg
eyBmYWxzZSB9OwogCisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2UvaW50ZXJhY3Rpb24uaHRtbCNhdXRvZm9jdXMtcHJvY2Vzc2VkLWZsYWcKKyAgICBib29sIG1f
YXV0b2ZvY3VzUHJvY2Vzc2VkIHsgZmFsc2UgfTsKKwogICAgIGJvb2wgbV9wcmludGluZyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3BhZ2luYXRlZEZvclNjcmVlbiB7IGZhbHNlIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKaW5kZXggMmEzYmE1NTgxZTJkOWI2
ZWQzNDFjNjgwZDgxMjQxNjdjNGNjNTliOC4uZGRmNTk3MDc5MzQ4YWE3YmQ2M2ZiNzYwYzFjZWJh
ZTJjMjMzMGEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAK
QEAgLTI1LDggKzI1LDEwIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1M
RGlhbG9nRWxlbWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRl
ICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9jdXNP
cHRpb25zLmgiCiAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgpAQCAtNDksNiArNTEsMTAgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
c2hvdygpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUob3BlbkF0
dHIsIHRydWUpOworCisgICAgbV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBtYWtlV2Vha1B0
cihkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCkpOworCisgICAgcnVuRm9jdXNpbmdTdGVwcygp
OwogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6c2hvd01vZGFsKCkK
QEAgLTY4LDcgKzc0LDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRNTERpYWxvZ0VsZW1lbnQ6OnNo
b3dNb2RhbCgpCiAgICAgLy8gRklYTUU6IE9ubHkgYWRkIGRpYWxvZyB0byB0b3AgbGF5ZXIgaWYg
aXQncyBub3QgYWxyZWFkeSBpbiBpdC4gKHdlYmtpdC5vcmcvYi8yMjc5MDcpCiAgICAgZG9jdW1l
bnQoKS5hZGRUb1RvcExheWVyKCp0aGlzKTsKIAotICAgIC8vIEZJWE1FOiBBZGQgc3RlcHMgOCAm
IDkgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykKKyAgICBtX3ByZXZpb3VzbHlGb2N1
c2VkRWxlbWVudCA9IG1ha2VXZWFrUHRyKGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKSk7CisK
KyAgICBydW5Gb2N1c2luZ1N0ZXBzKCk7CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtODgsMTEg
Kzk2LDUyIEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0cmluZyYgcmVz
dWx0KQogICAgIC8vIEZJWE1FOiBPbmx5IHJlbW92ZSBkaWFsb2cgZnJvbSB0b3AgbGF5ZXIgaWYg
aXQncyBpbnNpZGUgaXQuICh3ZWJraXQub3JnL2IvMjI3OTA3KQogICAgIGRvY3VtZW50KCkucmVt
b3ZlRnJvbVRvcExheWVyKCp0aGlzKTsKIAotICAgIC8vIEZJWE1FOiBBZGQgc3RlcCA2IGZyb20g
c3BlYy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCisgICAgaWYgKG1fcHJldmlvdXNseUZvY3VzZWRF
bGVtZW50KSB7CisgICAgICAgIEZvY3VzT3B0aW9ucyBvcHRpb25zOworICAgICAgICBvcHRpb25z
LnByZXZlbnRTY3JvbGwgPSB0cnVlOworICAgICAgICBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVu
dC0+Zm9jdXMob3B0aW9ucyk7CisgICAgfQogCiAgICAgZG9jdW1lbnQoKS5ldmVudExvb3AoKS5x
dWV1ZVRhc2soVGFza1NvdXJjZTo6VXNlckludGVyYWN0aW9uLCBbcHJvdGVjdGVkVGhpcyA9IEdD
UmVhY2hhYmxlUmVmIHsgKnRoaXMgfV0gewogICAgICAgICBwcm90ZWN0ZWRUaGlzLT5kaXNwYXRj
aEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NlRXZlbnQsIEV2ZW50OjpDYW5C
dWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogICAgIH0pOwogfQogCit2b2lk
IEhUTUxEaWFsb2dFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzKCkKK3sKKyAgICAvLyBGSVhNRTog
QWRkIHN0ZXAgMSBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMTEwOTUyKQorCisgICAgRWxlbWVu
dCogY29udHJvbCA9IG51bGxwdHI7CisgICAgZm9yIChFbGVtZW50KiBlbGVtZW50ID0gRWxlbWVu
dFRyYXZlcnNhbDo6Zmlyc3RXaXRoaW4oKnRoaXMpOyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVu
dFRyYXZlcnNhbDo6bmV4dCgqZWxlbWVudCkpIHsKKyAgICAgICAgaWYgKCFlbGVtZW50LT5pc0Zv
Y3VzYWJsZSgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLy8gTGV0IGNvbnRy
b2wgYmUgdGhlIGZpcnN0IGRlc2NlbmRhbnQgZWxlbWVudCBvZiBzdWJqZWN0LCBpbiB0cmVlIG9y
ZGVyLCB0aGF0IGlzIG5vdCBpbmVydCBhbmQgaGFzIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRlIHNw
ZWNpZmllZC4KKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0F0dHJpYnV0ZShhdXRvZm9jdXNBdHRy
KSkgeworICAgICAgICAgICAgY29udHJvbCA9IGVsZW1lbnQ7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHRoZXJlIGlzbid0IG9uZSwgdGhlbiBsZXQgY29u
dHJvbCBiZSB0aGUgZmlyc3Qgbm9uLWluZXJ0IGRlc2NlbmRhbnQgZWxlbWVudCBvZiBzdWJqZWN0
LCBpbiB0cmVlIG9yZGVyLgorICAgICAgICBpZiAoIWNvbnRyb2wpCisgICAgICAgICAgICBjb250
cm9sID0gZWxlbWVudDsKKyAgICB9CisKKyAgICAvLyBJZiB0aGVyZSBpc24ndCBvbmUgb2YgdGhv
c2UgZWl0aGVyLCB0aGVuIGxldCBjb250cm9sIGJlIHN1YmplY3QuCisgICAgaWYgKCFjb250cm9s
KQorICAgICAgICBjb250cm9sID0gdGhpczsKKworICAgIC8vIDMuIFJ1biB0aGUgZm9jdXNpbmcg
c3RlcHMgZm9yIGNvbnRyb2wuCisgICAgY29udHJvbC0+Zm9jdXMoKTsKKworICAgIC8vIDQuIExl
dCB0b3BEb2N1bWVudCBiZSB0aGUgYWN0aXZlIGRvY3VtZW50IG9mIGNvbnRyb2wncyBub2RlIGRv
Y3VtZW50J3MgYnJvd3NpbmcgY29udGV4dCdzIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0Lgor
ICAgIC8vIDUuIElmIGNvbnRyb2wncyBub2RlIGRvY3VtZW50J3Mgb3JpZ2luIGlzIG5vdCB0aGUg
c2FtZSBhcyB0aGUgb3JpZ2luIG9mIHRvcERvY3VtZW50LCB0aGVuIHJldHVybi4KKyAgICBpZiAo
IWNvbnRyb2wtPmRvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKS5pc1NhbWVPcmlnaW5Bcyhjb250
cm9sLT5kb2N1bWVudCgpLnRvcE9yaWdpbigpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
Ni4gRW1wdHkgdG9wRG9jdW1lbnQncyBhdXRvZm9jdXMgY2FuZGlkYXRlcy4KKyAgICAvLyA3LiBT
ZXQgdG9wRG9jdW1lbnQncyBhdXRvZm9jdXMgcHJvY2Vzc2VkIGZsYWcgdG8gdHJ1ZS4KKyAgICBj
b250cm9sLT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCkuc2V0QXV0b2ZvY3VzUHJvY2Vzc2VkKCk7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA5ODU5
YTFkM2JjNmI4ZmY2OGM0MWE0ZmY2OGM1ZjBmMzk2YmM3YTY0Li45ZTNhMThiNjhkZTljYjRkMzcw
NjdkNDk0Njk4MjhiNzNiNzM0NWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxEaWFsb2dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5oCkBAIC00NSwxMSArNDUsMTUgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc01vZGFsKCkg
Y29uc3QgeyByZXR1cm4gbV9pc01vZGFsOyB9OwogCisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3RpdmUtZWxlbWVudHMuaHRtbCNkaWFsb2ctZm9j
dXNpbmctc3RlcHMKKyAgICB2b2lkIHJ1bkZvY3VzaW5nU3RlcHMoKTsKKwogcHJpdmF0ZToKICAg
ICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
ICAgIFN0cmluZyBtX3JldHVyblZhbHVlOwogICAgIGJvb2wgbV9pc01vZGFsIHsgZmFsc2UgfTsK
KyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5jcHAKaW5kZXggMDRmNzhlZDcxMDMxZmYzMzNjMjg5NmMxOTEwOGUzZGQ5
NWVmZTNjNS4uMjE3NTljZWFmOGNkOTBlYjA4MjA2MjA3NTEwNzVlMzFhYWUwYzg0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC03Miw3
ICs3Miw2IEBAIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jCiAgICAgLCBtX3dpbGxWYWxpZGF0ZSh0
cnVlKQogICAgICwgbV9pc1ZhbGlkKHRydWUpCiAgICAgLCBtX3dhc0NoYW5nZWRTaW5jZUxhc3RG
b3JtQ29udHJvbENoYW5nZUV2ZW50KGZhbHNlKQotICAgICwgbV9oYXNBdXRvZm9jdXNlZChmYWxz
ZSkKIHsKICAgICBzZXRIYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKTsKIH0KQEAgLTIy
MSw3ICsyMjAsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoSFRNTEZvcm1Db250cm9s
RWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlm
IChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQorICAgIGlmIChkb2N1bWVudC50b3BEb2N1bWVu
dCgpLmlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIEZJWE1FOiBTaG91bGQgdGhpcyBzZXQgb2YgaGFzVGFnTmFtZSBjaGVja3MgYmUgcmVwbGFj
ZWQgYnkgYQpAQCAtMjQ5LDE3ICsyNDgsMTcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOwogCiAgICAgaWYgKHNob3VsZEF1dG9mb2N1cyh0aGlzKSkgewotICAgICAgICBzZXRB
dXRvZm9jdXNlZCgpOwotCiAgICAgICAgIFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiBl
bGVtZW50ID0gdGhpczsKICAgICAgICAgYXV0byBmcmFtZVZpZXcgPSBtYWtlUmVmUHRyKGRvY3Vt
ZW50KCkudmlldygpKTsKICAgICAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91
dENvbnRleHQoKS5pc0luTGF5b3V0KCkpIHsKICAgICAgICAgICAgIGZyYW1lVmlldy0+cXVldWVQ
b3N0TGF5b3V0Q2FsbGJhY2soW2VsZW1lbnRdIHsKICAgICAgICAgICAgICAgICBlbGVtZW50LT5m
b2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7Cisg
ICAgICAgICAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpLnNldEF1dG9m
b2N1c1Byb2Nlc3NlZCgpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBTdHlsZTo6cXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVtZW50XSB7CiAg
ICAgICAgICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6
OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOworICAgICAgICAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50
KCkudG9wRG9jdW1lbnQoKS5zZXRBdXRvZm9jdXNQcm9jZXNzZWQoKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuaAppbmRleCBjZGZhNWJkMzI0ZGUwYjliNGI2M2M1ZDc5NjhhZTg0ZWYxN2RjZDMx
Li5hMzc2MDk0NTQ4NDJhYWY5NGQ1MDdmNDZkOTU2Nzk2YmE0MWU4M2I5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTE2LDkgKzExNiw2IEBA
IHB1YmxpYzoKICAgICBib29sIGlzUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX2lzUmVhZE9u
bHk7IH0KICAgICBib29sIGlzRGlzYWJsZWRPclJlYWRPbmx5KCkgY29uc3QgeyByZXR1cm4gaXNE
aXNhYmxlZEZvcm1Db250cm9sKCkgfHwgbV9pc1JlYWRPbmx5OyB9CiAKLSAgICBib29sIGhhc0F1
dG9mb2N1c2VkKCkgeyByZXR1cm4gbV9oYXNBdXRvZm9jdXNlZDsgfQotICAgIHZvaWQgc2V0QXV0
b2ZvY3VzZWQoKSB7IG1faGFzQXV0b2ZvY3VzZWQgPSB0cnVlOyB9Ci0KICAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgYXV0b2NvbXBsZXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRBdXRvY29tcGxldGUoY29uc3QgU3RyaW5nJik7CiAKQEAgLTIxNSw4ICsyMTIsNiBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1faXNWYWxpZCA6IDE7CiAKICAgICB1bnNpZ25lZCBtX3dh
c0NoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50IDogMTsKLQotICAgIHVuc2ln
bmVkIG1faGFzQXV0b2ZvY3VzZWQgOiAxOwogfTsKIAogY2xhc3MgRGVsYXllZFVwZGF0ZVZhbGlk
aXR5U2NvcGUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjViODQ3YTU2MTEz
NzY2NjU3YWQ3ZDg1ZGZhN2YzZDE1MGEwNWNjYi4uMzg3YTk1ZTI0NzNjZjc4MGY3MTc5YmQ1YTRi
NjM2YzQxZDY4ZTlmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMjEtMDctMTkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgPGRpYWxvZz4gZm9jdXNpbmcgc3RlcHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzUzNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL2ludGVyYWN0aXZlLWVsZW1lbnRzLmh0bWwjZGlhbG9nLWZvY3VzaW5nLXN0ZXBz
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9u
Y2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9m
b2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxl
bWVudC9kaWFsb2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3Rl
ZC50eHQ6CisKIDIwMjEtMDctMTkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IElEQlRyYW5zYWN0aW9uLmNvbW1pdCgpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3Vz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50
L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CmluZGV4IDYwNDMzZTI5Y2IwZWIxZTVkYjA0
Y2RlYTUxNGQ1ZTI1Mzk4NDVmYzEuLjFhMjRkZTAwODA5NWQ1OGY2MzE1ODNkMTgwODU0NWU0ZmZk
ZGYzYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxl
bWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CkBA
IC0xLDYgKzEsNCBAQAogCiAKLQotCi1GQUlMIGF1dG9mb2N1cyB3aGVuIGEgbW9kYWwgZGlhbG9n
IGlzIG9wZW5lZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBp
ZD0iYXV0b2ZvY3VzLWJ1dHRvbiIgYXV0b2ZvY3VzPSIiPjwvYnV0dG9uPiBidXQgZ290IEVsZW1l
bnQgbm9kZSA8YnV0dG9uIGlkPSJvdXRlci1idXR0b24iIGF1dG9mb2N1cz0iIj48L2J1dHRvbj4K
K1BBU1MgYXV0b2ZvY3VzIHdoZW4gYSBtb2RhbCBkaWFsb2cgaXMgb3BlbmVkCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRv
Zm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhl
LWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dApp
bmRleCAzM2ZjNmQ5NGE1MzdhMDZkYWZiYzk4YzAzZTY2ZmIzNjMxZTM1MGQ0Li4xODE2M2ViOTcz
MjkwOGY5NmM1YTMwNzI3NDJlOGQ3ZTc1YWE3MjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZl
LWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25jZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1l
bnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNCBA
QAogCiAKLUZBSUwgQW4gYXV0b2ZvY3VzIGVsZW1lbnQgaW4gYSBkaWFsb2cgZWxlbWVudCBzaG91
bGQgbm90IHRyeSB0byBnZXQgZm9jdXMgdHdpY2UuIGFzc2VydF9lcXVhbHM6IGRpYWxvZy5zaG93
KCkgc2hvdWxkIHNldCBmb2N1cyBvbiBhIGRlc2NlbmRhbnQgZWxlbWVudCB3aXRoIGFuIGF1dG9m
b2N1cyBhdHRyaWJ1dGUuIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIi
PjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxib2R5PgotPGRpYWxvZyBvcGVuPSIiPgot
PGlucHV0PgotPGlucHV0IGF1dG9mb2N1cz0iIj4KLTwvZGkuLi4KK1BBU1MgQW4gYXV0b2ZvY3Vz
IGVsZW1lbnQgaW4gYSBkaWFsb2cgZWxlbWVudCBzaG91bGQgbm90IHRyeSB0byBnZXQgZm9jdXMg
dHdpY2UuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1l
bGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1t
dWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQKaW5kZXggMDQ1MTA3YTgzYzgyNGNhYjAzNzVhMzUx
YTBhZmYwYmUxNGI2NjYwOS4uZTUwNjA5MGY2Zjc2M2ZjNzU2ODdjM2FjYmMwZThlYWM0ZWVlMGI2
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQv
ZGlhbG9nLWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1tdWx0
aXBsZS10aW1lcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBhdXRvZm9j
dXMgaXMgcnVuIGV2ZXJ5IHRpbWUgYSBkaWFsb2cgaXMgb3BlbmVkIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9ImlucHV0MiIgYXV0b2ZvY3VzPSIiPjwvaW5w
dXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9Im91dGVyLWJ1dHRvbiIgYXV0b2Zv
Y3VzPSIiPjwvYnV0dG9uPgorUEFTUyBhdXRvZm9jdXMgaXMgcnVuIGV2ZXJ5IHRpbWUgYSBkaWFs
b2cgaXMgb3BlbmVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFs
b2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CmluZGV4IGNh
N2MzMTdjNGI3MWYxZWU5OTJhM2MwYjA3YmY1NjA0NDk2YTllMTkuLmNiNjVjYzE0MWQyNWVmNzQ0
MmZmMTc5ZTljODcyNjY3ZDI4YzhhMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9m
b2N1cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9n
LWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVk
LnR4dApAQCAtMSw3ICsxLDQgQEAKIAogCi1GQUlMIEFmdGVyIHNob3dpbmcgYSBkaWFsb2csIG5v
bi1kaWFsb2cgYXV0b2ZvY3VzIHByb2Nlc3Npbmcgd29uJ3Qgd29yay4gYXNzZXJ0X2VxdWFsczog
Tm9uLWRpYWxvZyBhdXRvZm9jdXMgcHJvY2Vzc2luZyBzaG91bGQgYmUgc2tpcHBlZC4gZXhwZWN0
ZWQgRWxlbWVudCBub2RlIDxib2R5PgotPGlucHV0IGF1dG9mb2N1cz0iIj48ZGlhbG9nPjwvZGlh
bG9nPgotPHNjcmlwdD4KLS8vIC4uLiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2Zv
Y3VzPSIiPjwvaW5wdXQ+CitQQVNTIEFmdGVyIHNob3dpbmcgYSBkaWFsb2csIG5vbi1kaWFsb2cg
YXV0b2ZvY3VzIHByb2Nlc3Npbmcgd29uJ3Qgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
c2hvd01vZGFsLWV4cGVjdGVkLnR4dAppbmRleCA4MzkwOTFlOTIyYjIyOWYzMWIzYzgxNjgyMWRh
ZDVjYTAyNzk0OWQzLi5lZDNjNTMwMTU4YTczMDIxMTBmZDdmMjU3ZGQ0YTYwZjRlYzg1ODMwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFs
b2ctc2hvd01vZGFsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvd01vZGFsLWV4cGVjdGVkLnR4dApAQCAtMSwxNyAr
MSwxMyBAQAogCi1GQUlMIGRpYWxvZyBlbGVtZW50OiBzaG93TW9kYWwoKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0iYjEiPk9LPC9idXR0b24+IGJ1dCBn
b3QgRWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08YnV0dG9uIGlkPSJi
MCI+T0s8L2J1dHRvbj4KLTxkLi4uCitQQVNTIGRpYWxvZyBlbGVtZW50OiBzaG93TW9kYWwoKQog
UEFTUyBzaG93TW9kYWwoKSBvbiBhIDxkaWFsb2c+IHRoYXQgYWxyZWFkeSBoYXMgYW4gb3BlbiBh
dHRyaWJ1dGUgdGhyb3dzIGFuIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlvbgogUEFTUyBzaG93
TW9kYWwoKSBvbiBhIDxkaWFsb2c+IGFmdGVyIGluaXRpYWwgc2hvd01vZGFsKCkgYW5kIHJlbW92
aW5nIHRoZSBvcGVuIGF0dHJpYnV0ZQogUEFTUyBzaG93TW9kYWwoKSBvbiBhIDxkaWFsb2c+IG5v
dCBpbiBhIERvY3VtZW50IHRocm93cyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24KIFBB
U1Mgd2hlbiBvcGVuaW5nIG11bHRpcGxlIGRpYWxvZ3MsIG9ubHkgdGhlIG5ld2VzdCBvbmUgaXMg
bm9uLWluZXJ0Ci1QQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGhvdXQgZm9jdXNhYmxlIGNoaWxkcmVu
Ci1GQUlMIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9Imk3MSIgdmFsdWU9
ImZvb2JhciI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0ibG9n
Ij48L2Rpdj4KLTxidXR0b24gaWQ9ImIwIj5PSzwvYnV0dG9uPgotPGQuLi4KLUZBSUwgb3Blbmlu
ZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1c2FibGUgY2hpbGRyZW4sIG9uZSBoYXZpbmcgdGhl
IGF1dG9mb2N1cyBhdHRyaWJ1dGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2Rl
IDxpbnB1dCBpZD0iaTgyIiB2YWx1ZT0iZm9vYmFyIiBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0
IGdvdCBFbGVtZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0ibG9nIj48L2Rpdj4KK0ZBSUwgb3Blbmlu
ZyBkaWFsb2cgd2l0aG91dCBmb2N1c2FibGUgY2hpbGRyZW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgRWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8YnV0dG9uIGlkPSJi
MCI+T0s8L2J1dHRvbj4KLTxkLi4uCis8ZC4uLiBidXQgZ290IEVsZW1lbnQgbm9kZSA8YnV0dG9u
IGlkPSJiNSI+T0s8L2J1dHRvbj4KK1BBU1Mgb3BlbmluZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBm
b2N1c2FibGUgY2hpbGRyZW4KK1BBU1Mgb3BlbmluZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1
c2FibGUgY2hpbGRyZW4sIG9uZSBoYXZpbmcgdGhlIGF1dG9mb2N1cyBhdHRyaWJ1dGUKIFBBU1Mg
d2hlbiBvcGVuaW5nIG11bHRpcGxlIGRpYWxvZ3MsIHRoZSBtb3N0IHJlY2VudGx5IG9wZW5lZCBp
cyByZW5kZXJlZCBvbiB0b3AKIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRz
L3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2lu
dGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1l
eHBlY3RlZC50eHQKaW5kZXggZTQ2NDUwNTg0ODNlMDBhZjhmNGIwZTA0ZmIwMTQzMjhmN2E4MGI4
Ni4uNWZjNTBkZWI3ODkxMTIzYTI0NjkzNzJkM2Q3N2I5ZjM3ZjNkMGM2NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xv
c2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1l
bGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMiwxMCArMiw3IEBACiAK
IAogUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBl
bGVtZW50KFNpbXBsZSBkaWFsb2cgdXNhZ2UpCi1GQUlMIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0
byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQoQ29tcGxleCBkaWFsb2cgdXNhZ2UpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQ+PC9pbnB1dD4gYnV0IGdv
dCBFbGVtZW50IG5vZGUgPGJvZHk+Ci0KLTxkaWFsb2c+Ci0gICAgPGJ1dHRvbiBpZD0iYnV0dG9u
MSI+VGhpcyBpcyBhIGJ1dHRvLi4uCitQQVNTIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUg
cHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQoQ29tcGxleCBkaWFsb2cgdXNhZ2UpCiBQQVNTIEZv
Y3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgYm9keSBpZiB0aGUgcHJldmlvdXNseSBmb2N1c2Vk
IGVsZW1lbnQgaXMgcmVtb3ZlZAogUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHNo
YWRvdyBET00gaG9zdCBpZiB0aGUgcHJldmlvdWx5IGZvY3VzZWQgZWxlbWVudCBpcyBhIHNoYWRv
dyBET00gbm9kZQogRkFJTCBGb2N1cyBzaG91bGQgbm90IHNjcm9sbCBpZiB0aGUgcHJldmlvdXNs
eSBmb2N1c2VkIGVsZW1lbnQgaXMgb3V0c2lkZSB0aGUgdmlld3BvcnQgYXNzZXJ0X3RydWU6IGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433863</attachid>
            <date>2021-07-20 02:32:59 -0700</date>
            <delta_ts>2021-10-11 14:50:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20210720113257.patch</filename>
            <type>text/plain</type>
            <size>21723</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzIwN2NhNmNmZDcxMTc0
ZWJhNzFkNTg1MTk5MzRmMDcxOGFiMDZmMC4uZDIzYTc2OWU4N2NiOGI4YTk2YWMyOTZjMGJmZmJm
NDIxNDJhYjcxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA3LTE5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1l
bGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNBdXRvZm9jdXNQcm9jZXNzZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEF1dG9mb2N1c1Byb2Nlc3Nl
ZCk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlh
bG9nRWxlbWVudDo6c2hvd01vZGFsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVt
ZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6cnVuRm9j
dXNpbmdTdGVwcyk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OnNob3VsZEF1dG9mb2N1cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAgICAqIGh0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxl
bWVudDo6aGFzQXV0b2ZvY3VzZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1Db250cm9sRWxlbWVudDo6c2V0QXV0b2ZvY3VzZWQpOiBEZWxldGVkLgorCiAyMDIxLTA3LTE5
ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBJ
REJUcmFuc2FjdGlvbi5jb21taXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA5NzMxNDRjZmI3
NjVjM2UxMTM4MzlmZmUwZjg2MGI0OWU4MzM0MWI3Li4yYzE2NjM5M2Q2ZjI2ZWEyMWI0ODRlODRi
OTYxZjUyMzJkZWJkMjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTYyMyw2ICsxNjIzLDkg
QEAgcHVibGljOgogCiAgICAgU3RyaW5nIGRlYnVnRGVzY3JpcHRpb24oKSBjb25zdDsKIAorICAg
IGJvb2wgaXNBdXRvZm9jdXNQcm9jZXNzZWQoKSBjb25zdCB7IHJldHVybiBtX2F1dG9mb2N1c1By
b2Nlc3NlZDsgfQorICAgIHZvaWQgc2V0QXV0b2ZvY3VzUHJvY2Vzc2VkKCkgeyBtX2F1dG9mb2N1
c1Byb2Nlc3NlZCA9IHRydWU7IH0KKwogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9u
RmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEg
fTsKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudChGcmFtZSosIGNvbnN0IFNldHRpbmdzJiwg
Y29uc3QgVVJMJiwgRG9jdW1lbnRDbGFzc0ZsYWdzID0gRGVmYXVsdERvY3VtZW50Q2xhc3MsIHVu
c2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCk7CkBAIC0yMDY3LDYgKzIwNzAsOSBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9oYXNFbGVtZW50VXNpbmdTdHlsZUJhc2VkRWRpdGFiaWxpdHkgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9mb2N1c05hdmlnYXRpb25TdGFydGluZ05vZGVJc1JlbW92ZWQg
eyBmYWxzZSB9OwogCisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBh
Z2UvaW50ZXJhY3Rpb24uaHRtbCNhdXRvZm9jdXMtcHJvY2Vzc2VkLWZsYWcKKyAgICBib29sIG1f
YXV0b2ZvY3VzUHJvY2Vzc2VkIHsgZmFsc2UgfTsKKwogICAgIGJvb2wgbV9wcmludGluZyB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3BhZ2luYXRlZEZvclNjcmVlbiB7IGZhbHNlIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKaW5kZXggMmEzYmE1NTgxZTJkOWI2
ZWQzNDFjNjgwZDgxMjQxNjdjNGNjNTliOC4uZGRmNTk3MDc5MzQ4YWE3YmQ2M2ZiNzYwYzFjZWJh
ZTJjMjMzMGEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAK
QEAgLTI1LDggKzI1LDEwIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1M
RGlhbG9nRWxlbWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRl
ICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9jdXNP
cHRpb25zLmgiCiAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgpAQCAtNDksNiArNTEsMTAgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6
c2hvdygpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUob3BlbkF0
dHIsIHRydWUpOworCisgICAgbV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBtYWtlV2Vha1B0
cihkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCkpOworCisgICAgcnVuRm9jdXNpbmdTdGVwcygp
OwogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6c2hvd01vZGFsKCkK
QEAgLTY4LDcgKzc0LDkgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSFRNTERpYWxvZ0VsZW1lbnQ6OnNo
b3dNb2RhbCgpCiAgICAgLy8gRklYTUU6IE9ubHkgYWRkIGRpYWxvZyB0byB0b3AgbGF5ZXIgaWYg
aXQncyBub3QgYWxyZWFkeSBpbiBpdC4gKHdlYmtpdC5vcmcvYi8yMjc5MDcpCiAgICAgZG9jdW1l
bnQoKS5hZGRUb1RvcExheWVyKCp0aGlzKTsKIAotICAgIC8vIEZJWE1FOiBBZGQgc3RlcHMgOCAm
IDkgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykKKyAgICBtX3ByZXZpb3VzbHlGb2N1
c2VkRWxlbWVudCA9IG1ha2VXZWFrUHRyKGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKSk7CisK
KyAgICBydW5Gb2N1c2luZ1N0ZXBzKCk7CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtODgsMTEg
Kzk2LDUyIEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0cmluZyYgcmVz
dWx0KQogICAgIC8vIEZJWE1FOiBPbmx5IHJlbW92ZSBkaWFsb2cgZnJvbSB0b3AgbGF5ZXIgaWYg
aXQncyBpbnNpZGUgaXQuICh3ZWJraXQub3JnL2IvMjI3OTA3KQogICAgIGRvY3VtZW50KCkucmVt
b3ZlRnJvbVRvcExheWVyKCp0aGlzKTsKIAotICAgIC8vIEZJWE1FOiBBZGQgc3RlcCA2IGZyb20g
c3BlYy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCisgICAgaWYgKG1fcHJldmlvdXNseUZvY3VzZWRF
bGVtZW50KSB7CisgICAgICAgIEZvY3VzT3B0aW9ucyBvcHRpb25zOworICAgICAgICBvcHRpb25z
LnByZXZlbnRTY3JvbGwgPSB0cnVlOworICAgICAgICBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVu
dC0+Zm9jdXMob3B0aW9ucyk7CisgICAgfQogCiAgICAgZG9jdW1lbnQoKS5ldmVudExvb3AoKS5x
dWV1ZVRhc2soVGFza1NvdXJjZTo6VXNlckludGVyYWN0aW9uLCBbcHJvdGVjdGVkVGhpcyA9IEdD
UmVhY2hhYmxlUmVmIHsgKnRoaXMgfV0gewogICAgICAgICBwcm90ZWN0ZWRUaGlzLT5kaXNwYXRj
aEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NlRXZlbnQsIEV2ZW50OjpDYW5C
dWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwogICAgIH0pOwogfQogCit2b2lk
IEhUTUxEaWFsb2dFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzKCkKK3sKKyAgICAvLyBGSVhNRTog
QWRkIHN0ZXAgMSBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMTEwOTUyKQorCisgICAgRWxlbWVu
dCogY29udHJvbCA9IG51bGxwdHI7CisgICAgZm9yIChFbGVtZW50KiBlbGVtZW50ID0gRWxlbWVu
dFRyYXZlcnNhbDo6Zmlyc3RXaXRoaW4oKnRoaXMpOyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVu
dFRyYXZlcnNhbDo6bmV4dCgqZWxlbWVudCkpIHsKKyAgICAgICAgaWYgKCFlbGVtZW50LT5pc0Zv
Y3VzYWJsZSgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLy8gTGV0IGNvbnRy
b2wgYmUgdGhlIGZpcnN0IGRlc2NlbmRhbnQgZWxlbWVudCBvZiBzdWJqZWN0LCBpbiB0cmVlIG9y
ZGVyLCB0aGF0IGlzIG5vdCBpbmVydCBhbmQgaGFzIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRlIHNw
ZWNpZmllZC4KKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0F0dHJpYnV0ZShhdXRvZm9jdXNBdHRy
KSkgeworICAgICAgICAgICAgY29udHJvbCA9IGVsZW1lbnQ7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIElmIHRoZXJlIGlzbid0IG9uZSwgdGhlbiBsZXQgY29u
dHJvbCBiZSB0aGUgZmlyc3Qgbm9uLWluZXJ0IGRlc2NlbmRhbnQgZWxlbWVudCBvZiBzdWJqZWN0
LCBpbiB0cmVlIG9yZGVyLgorICAgICAgICBpZiAoIWNvbnRyb2wpCisgICAgICAgICAgICBjb250
cm9sID0gZWxlbWVudDsKKyAgICB9CisKKyAgICAvLyBJZiB0aGVyZSBpc24ndCBvbmUgb2YgdGhv
c2UgZWl0aGVyLCB0aGVuIGxldCBjb250cm9sIGJlIHN1YmplY3QuCisgICAgaWYgKCFjb250cm9s
KQorICAgICAgICBjb250cm9sID0gdGhpczsKKworICAgIC8vIDMuIFJ1biB0aGUgZm9jdXNpbmcg
c3RlcHMgZm9yIGNvbnRyb2wuCisgICAgY29udHJvbC0+Zm9jdXMoKTsKKworICAgIC8vIDQuIExl
dCB0b3BEb2N1bWVudCBiZSB0aGUgYWN0aXZlIGRvY3VtZW50IG9mIGNvbnRyb2wncyBub2RlIGRv
Y3VtZW50J3MgYnJvd3NpbmcgY29udGV4dCdzIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0Lgor
ICAgIC8vIDUuIElmIGNvbnRyb2wncyBub2RlIGRvY3VtZW50J3Mgb3JpZ2luIGlzIG5vdCB0aGUg
c2FtZSBhcyB0aGUgb3JpZ2luIG9mIHRvcERvY3VtZW50LCB0aGVuIHJldHVybi4KKyAgICBpZiAo
IWNvbnRyb2wtPmRvY3VtZW50KCkuc2VjdXJpdHlPcmlnaW4oKS5pc1NhbWVPcmlnaW5Bcyhjb250
cm9sLT5kb2N1bWVudCgpLnRvcE9yaWdpbigpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
Ni4gRW1wdHkgdG9wRG9jdW1lbnQncyBhdXRvZm9jdXMgY2FuZGlkYXRlcy4KKyAgICAvLyA3LiBT
ZXQgdG9wRG9jdW1lbnQncyBhdXRvZm9jdXMgcHJvY2Vzc2VkIGZsYWcgdG8gdHJ1ZS4KKyAgICBj
b250cm9sLT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCkuc2V0QXV0b2ZvY3VzUHJvY2Vzc2VkKCk7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA5ODU5
YTFkM2JjNmI4ZmY2OGM0MWE0ZmY2OGM1ZjBmMzk2YmM3YTY0Li45ZTNhMThiNjhkZTljYjRkMzcw
NjdkNDk0Njk4MjhiNzNiNzM0NWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxEaWFsb2dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxl
bWVudC5oCkBAIC00NSwxMSArNDUsMTUgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc01vZGFsKCkg
Y29uc3QgeyByZXR1cm4gbV9pc01vZGFsOyB9OwogCisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3RpdmUtZWxlbWVudHMuaHRtbCNkaWFsb2ctZm9j
dXNpbmctc3RlcHMKKyAgICB2b2lkIHJ1bkZvY3VzaW5nU3RlcHMoKTsKKwogcHJpdmF0ZToKICAg
ICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAog
ICAgIFN0cmluZyBtX3JldHVyblZhbHVlOwogICAgIGJvb2wgbV9pc01vZGFsIHsgZmFsc2UgfTsK
KyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5jcHAKaW5kZXggMDRmNzhlZDcxMDMxZmYzMzNjMjg5NmMxOTEwOGUzZGQ5
NWVmZTNjNS4uMjE3NTljZWFmOGNkOTBlYjA4MjA2MjA3NTEwNzVlMzFhYWUwYzg0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC03Miw3
ICs3Miw2IEBAIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jCiAgICAgLCBtX3dpbGxWYWxpZGF0ZSh0
cnVlKQogICAgICwgbV9pc1ZhbGlkKHRydWUpCiAgICAgLCBtX3dhc0NoYW5nZWRTaW5jZUxhc3RG
b3JtQ29udHJvbENoYW5nZUV2ZW50KGZhbHNlKQotICAgICwgbV9oYXNBdXRvZm9jdXNlZChmYWxz
ZSkKIHsKICAgICBzZXRIYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKTsKIH0KQEAgLTIy
MSw3ICsyMjAsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRvZm9jdXMoSFRNTEZvcm1Db250cm9s
RWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlm
IChlbGVtZW50LT5oYXNBdXRvZm9jdXNlZCgpKQorICAgIGlmIChkb2N1bWVudC50b3BEb2N1bWVu
dCgpLmlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIEZJWE1FOiBTaG91bGQgdGhpcyBzZXQgb2YgaGFzVGFnTmFtZSBjaGVja3MgYmUgcmVwbGFj
ZWQgYnkgYQpAQCAtMjQ5LDE3ICsyNDgsMTcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOwogCiAgICAgaWYgKHNob3VsZEF1dG9mb2N1cyh0aGlzKSkgewotICAgICAgICBzZXRB
dXRvZm9jdXNlZCgpOwotCiAgICAgICAgIFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiBl
bGVtZW50ID0gdGhpczsKICAgICAgICAgYXV0byBmcmFtZVZpZXcgPSBtYWtlUmVmUHRyKGRvY3Vt
ZW50KCkudmlldygpKTsKICAgICAgICAgaWYgKGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91
dENvbnRleHQoKS5pc0luTGF5b3V0KCkpIHsKICAgICAgICAgICAgIGZyYW1lVmlldy0+cXVldWVQ
b3N0TGF5b3V0Q2FsbGJhY2soW2VsZW1lbnRdIHsKICAgICAgICAgICAgICAgICBlbGVtZW50LT5m
b2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UGxhY2VDYXJldEF0U3RhcnQgfSk7Cisg
ICAgICAgICAgICAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS50b3BEb2N1bWVudCgpLnNldEF1dG9m
b2N1c1Byb2Nlc3NlZCgpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBTdHlsZTo6cXVldWVQb3N0UmVzb2x1dGlvbkNhbGxiYWNrKFtlbGVtZW50XSB7CiAg
ICAgICAgICAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6
OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOworICAgICAgICAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50
KCkudG9wRG9jdW1lbnQoKS5zZXRBdXRvZm9jdXNQcm9jZXNzZWQoKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuaAppbmRleCBjZGZhNWJkMzI0ZGUwYjliNGI2M2M1ZDc5NjhhZTg0ZWYxN2RjZDMx
Li5hMzc2MDk0NTQ4NDJhYWY5NGQ1MDdmNDZkOTU2Nzk2YmE0MWU4M2I5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTE2LDkgKzExNiw2IEBA
IHB1YmxpYzoKICAgICBib29sIGlzUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX2lzUmVhZE9u
bHk7IH0KICAgICBib29sIGlzRGlzYWJsZWRPclJlYWRPbmx5KCkgY29uc3QgeyByZXR1cm4gaXNE
aXNhYmxlZEZvcm1Db250cm9sKCkgfHwgbV9pc1JlYWRPbmx5OyB9CiAKLSAgICBib29sIGhhc0F1
dG9mb2N1c2VkKCkgeyByZXR1cm4gbV9oYXNBdXRvZm9jdXNlZDsgfQotICAgIHZvaWQgc2V0QXV0
b2ZvY3VzZWQoKSB7IG1faGFzQXV0b2ZvY3VzZWQgPSB0cnVlOyB9Ci0KICAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgYXV0b2NvbXBsZXRlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRBdXRvY29tcGxldGUoY29uc3QgU3RyaW5nJik7CiAKQEAgLTIxNSw4ICsyMTIsNiBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1faXNWYWxpZCA6IDE7CiAKICAgICB1bnNpZ25lZCBtX3dh
c0NoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50IDogMTsKLQotICAgIHVuc2ln
bmVkIG1faGFzQXV0b2ZvY3VzZWQgOiAxOwogfTsKIAogY2xhc3MgRGVsYXllZFVwZGF0ZVZhbGlk
aXR5U2NvcGUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjViODQ3YTU2MTEz
NzY2NjU3YWQ3ZDg1ZGZhN2YzZDE1MGEwNWNjYi4uODZjMzA1YmZkZWEzOWE2ZjVmM2JkNTc2Zjc1
NDU1MDRhN2VmZWM2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjIgQEAKKzIwMjEtMDctMTkgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgPGRpYWxvZz4gZm9jdXNpbmcgc3RlcHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzUzNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL2ludGVyYWN0aXZlLWVsZW1lbnRzLmh0bWwjZGlhbG9nLWZvY3VzaW5nLXN0ZXBz
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90
aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9m
b2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5vbmV4
aXN0ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9p
bnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZy
YWdtZW50LXRvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFs
b2ctYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2Rp
YWxvZy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1l
bGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBzLXByZXZlbnQt
YXV0b2ZvY3VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxv
Zy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9j
dXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA3LTE5ICBTaWh1aSBMaXUgIDxz
aWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBJREJUcmFuc2FjdGlvbi5j
b21taXQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Rv
Y3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtZW1wdHktZXhwZWN0ZWQu
dHh0CmluZGV4IGE0NTJkNTNlZGJhNjM1ODdkOWMyZWJkYzZmNmE1MGQ1M2ZlNGVmZTUuLmQ0MTky
OWY5YjdkZjdiMThkNjAyZGFkNDYwOGJlZmUwNzE1ZmNhMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1
cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LWVtcHR5LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1l
bnQtd2l0aC1mcmFnbWVudC1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAot
RkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBm
cmFnbWVudHMgc2hvdWxkIHdvcmsuIGFzc2VydF9ub3RfZXF1YWxzOiBnb3QgZGlzYWxsb3dlZCB2
YWx1ZSBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFTUyBBdXRv
Zm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1bWVudHMgd2l0aCBlbXB0eSBmcmFnbWVudHMg
c2hvdWxkIHdvcmsuCiBQQVNTIEF1dG9mb2N1cyBlbGVtZW50cyBpbiB0b3AtbGV2ZWwgYnJvd3Np
bmcgY29udGV4dCdzIGRvY3VtZW50cyB3aXRoIGVtcHR5IGZyYWdtZW50cyBzaG91bGQgd29yay4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50
LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1h
dXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtbm9uZXhpc3RlbnQtZXhw
ZWN0ZWQudHh0CmluZGV4IDJiMWU1N2Q2MjgyOTU2OTE4ZDI3MjE1NTVkMDRkNTgwMmFiN2RmNmQu
LjhkZDZiNGM3NzBjZTlhYTVjYzI5YmZjODVjY2U0MmQ1ZGNlZTg3ODEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9pbnRlcmFjdGlv
bi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVudC13aXRoLWZyYWdtZW50LW5v
bmV4aXN0ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhlLWF1dG9mb2N1cy1hdHRy
aWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC1ub25leGlzdGVudC1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSw1IEBACiAKIAotRkFJTCBBdXRvZm9jdXMgZWxlbWVudHMgaW4gaWZyYW1lZCBkb2N1
bWVudHMgd2l0aCBub24tZXhpc3RlbnQgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9j
dXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1l
bnRzIHdpdGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIFBBU1MgQXV0b2Zv
Y3VzIGVsZW1lbnRzIGluIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0J3MgZG9jdW1lbnRzIHdp
dGggbm9uLWV4aXN0ZW50IGZyYWdtZW50cyBzaG91bGQgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2ludGVyYWN0aW9u
L2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2RvY3VtZW50LXdpdGgtZnJhZ21lbnQtdG9w
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9pbnRlcmFjdGlvbi9mb2N1cy90aGUtYXV0b2ZvY3VzLWF0dHJpYnV0ZS9kb2N1bWVu
dC13aXRoLWZyYWdtZW50LXRvcC1leHBlY3RlZC50eHQKaW5kZXggMDM3NDEwOWEzMGM2MjRkYmQ5
NGQ4NzkxM2I0ZTMzOGVlOTE5OTNlZi4uOGJhNTBhNTFhM2RhZDU3MGQ0OTI3NzQ5OTk3MmQ1OTRk
NWRmZWI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2ludGVyYWN0aW9uL2ZvY3VzL3RoZS1hdXRvZm9jdXMtYXR0cmlidXRlL2Rv
Y3VtZW50LXdpdGgtZnJhZ21lbnQtdG9wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvaW50ZXJhY3Rpb24vZm9jdXMvdGhl
LWF1dG9mb2N1cy1hdHRyaWJ1dGUvZG9jdW1lbnQtd2l0aC1mcmFnbWVudC10b3AtZXhwZWN0ZWQu
dHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLUZBSUwgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFt
ZWQgZG9jdW1lbnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLiBhc3NlcnRfbm90
X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9j
dXM9IiI+PC9pbnB1dD4KK1BBU1MgQXV0b2ZvY3VzIGVsZW1lbnRzIGluIGlmcmFtZWQgZG9jdW1l
bnRzIHdpdGggInRvcCIgZnJhZ21lbnRzIHNob3VsZCB3b3JrLgogUEFTUyBBdXRvZm9jdXMgZWxl
bWVudHMgaW4gdG9wLWxldmVsIGJyb3dzaW5nIGNvbnRleHQncyBkb2N1bWVudHMgd2l0aCAidG9w
IiBmcmFnbWVudHMgc2hvdWxkIHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxl
bWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1
cy1leHBlY3RlZC50eHQKaW5kZXggNjA0MzNlMjljYjBlYjFlNWRiMDRjZGVhNTE0ZDVlMjUzOTg0
NWZjMS4uMWEyNGRlMDA4MDk1ZDU4ZjYzMTU4M2QxODA4NTQ1ZTRmZmRkZjNiNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9m
b2N1cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9n
LWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAK
IAotCi0KLUZBSUwgYXV0b2ZvY3VzIHdoZW4gYSBtb2RhbCBkaWFsb2cgaXMgb3BlbmVkIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJhdXRvZm9jdXMtYnV0
dG9uIiBhdXRvZm9jdXM9IiI+PC9idXR0b24+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxidXR0b24g
aWQ9Im91dGVyLWJ1dHRvbiIgYXV0b2ZvY3VzPSIiPjwvYnV0dG9uPgorUEFTUyBhdXRvZm9jdXMg
d2hlbiBhIG1vZGFsIGRpYWxvZyBpcyBvcGVuZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQv
ZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQudHh0CmluZGV4IDMzZmM2ZDk0YTUz
N2EwNmRhZmJjOThjMDNlNjZmYjM2MzFlMzUwZDQuLjE4MTYzZWI5NzMyOTA4Zjk2YzVhMzA3Mjc0
MmU4ZDdlNzVhYTcyODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2Zv
Y3VzLWp1c3Qtb25jZS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw0IEBACiAKIAotRkFJTCBBbiBh
dXRvZm9jdXMgZWxlbWVudCBpbiBhIGRpYWxvZyBlbGVtZW50IHNob3VsZCBub3QgdHJ5IHRvIGdl
dCBmb2N1cyB0d2ljZS4gYXNzZXJ0X2VxdWFsczogZGlhbG9nLnNob3coKSBzaG91bGQgc2V0IGZv
Y3VzIG9uIGEgZGVzY2VuZGFudCBlbGVtZW50IHdpdGggYW4gYXV0b2ZvY3VzIGF0dHJpYnV0ZS4g
ZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdv
dCBFbGVtZW50IG5vZGUgPGJvZHk+Ci08ZGlhbG9nIG9wZW49IiI+Ci08aW5wdXQ+Ci08aW5wdXQg
YXV0b2ZvY3VzPSIiPgotPC9kaS4uLgorUEFTUyBBbiBhdXRvZm9jdXMgZWxlbWVudCBpbiBhIGRp
YWxvZyBlbGVtZW50IHNob3VsZCBub3QgdHJ5IHRvIGdldCBmb2N1cyB0d2ljZS4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1
dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1l
bnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4
cGVjdGVkLnR4dAppbmRleCAwNDUxMDdhODNjODI0Y2FiMDM3NWEzNTFhMGFmZjBiZTE0YjY2NjA5
Li5lNTA2MDkwZjZmNzYzZmM3NTY4N2MzYWNiYzBlOGVhYzRlZWUwYjYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3Vz
LW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRz
L3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIGF1dG9mb2N1cyBpcyBydW4gZXZlcnkg
dGltZSBhIGRpYWxvZyBpcyBvcGVuZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBu
b2RlIDxpbnB1dCBpZD0iaW5wdXQyIiBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVt
ZW50IG5vZGUgPGJ1dHRvbiBpZD0ib3V0ZXItYnV0dG9uIiBhdXRvZm9jdXM9IiI+PC9idXR0b24+
CitQQVNTIGF1dG9mb2N1cyBpcyBydW4gZXZlcnkgdGltZSBhIGRpYWxvZyBpcyBvcGVuZWQKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlh
bG9nLWZvY3VzaW5nLXN0ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVw
cy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3RlZC50eHQKaW5kZXggY2E3YzMxN2M0YjcxZjFlZTk5
MmEzYzBiMDdiZjU2MDQ0OTZhOWUxOS4uY2I2NWNjMTQxZDI1ZWY3NDQyZmYxNzllOWM4NzI2Njdk
MjhjOGEyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVs
ZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
Zm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEs
NCBAQAogCiAKLUZBSUwgQWZ0ZXIgc2hvd2luZyBhIGRpYWxvZywgbm9uLWRpYWxvZyBhdXRvZm9j
dXMgcHJvY2Vzc2luZyB3b24ndCB3b3JrLiBhc3NlcnRfZXF1YWxzOiBOb24tZGlhbG9nIGF1dG9m
b2N1cyBwcm9jZXNzaW5nIHNob3VsZCBiZSBza2lwcGVkLiBleHBlY3RlZCBFbGVtZW50IG5vZGUg
PGJvZHk+Ci08aW5wdXQgYXV0b2ZvY3VzPSIiPjxkaWFsb2c+PC9kaWFsb2c+Ci08c2NyaXB0Pgot
Ly8gLi4uIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4K
K1BBU1MgQWZ0ZXIgc2hvd2luZyBhIGRpYWxvZywgbm9uLWRpYWxvZyBhdXRvZm9jdXMgcHJvY2Vz
c2luZyB3b24ndCB3b3JrLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvd01vZGFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJh
Y3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0
ZWQudHh0CmluZGV4IDgzOTA5MWU5MjJiMjI5ZjMxYjNjODE2ODIxZGFkNWNhMDI3OTQ5ZDMuLmVk
M2M1MzAxNThhNzMwMjExMGZkN2YyNTdkZDRhNjBmNGVjODU4MzAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50
L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0CkBAIC0xLDE3ICsxLDEzIEBACiAKLUZBSUwg
ZGlhbG9nIGVsZW1lbnQ6IHNob3dNb2RhbCgpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1l
bnQgbm9kZSA8YnV0dG9uIGlkPSJiMSI+T0s8L2J1dHRvbj4gYnV0IGdvdCBFbGVtZW50IG5vZGUg
PGJvZHk+PGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxidXR0b24gaWQ9ImIwIj5PSzwvYnV0dG9uPgot
PGQuLi4KK1BBU1MgZGlhbG9nIGVsZW1lbnQ6IHNob3dNb2RhbCgpCiBQQVNTIHNob3dNb2RhbCgp
IG9uIGEgPGRpYWxvZz4gdGhhdCBhbHJlYWR5IGhhcyBhbiBvcGVuIGF0dHJpYnV0ZSB0aHJvd3Mg
YW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uCiBQQVNTIHNob3dNb2RhbCgpIG9uIGEgPGRp
YWxvZz4gYWZ0ZXIgaW5pdGlhbCBzaG93TW9kYWwoKSBhbmQgcmVtb3ZpbmcgdGhlIG9wZW4gYXR0
cmlidXRlCiBQQVNTIHNob3dNb2RhbCgpIG9uIGEgPGRpYWxvZz4gbm90IGluIGEgRG9jdW1lbnQg
dGhyb3dzIGFuIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlvbgogUEFTUyB3aGVuIG9wZW5pbmcg
bXVsdGlwbGUgZGlhbG9ncywgb25seSB0aGUgbmV3ZXN0IG9uZSBpcyBub24taW5lcnQKLVBBU1Mg
b3BlbmluZyBkaWFsb2cgd2l0aG91dCBmb2N1c2FibGUgY2hpbGRyZW4KLUZBSUwgb3BlbmluZyBk
aWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1c2FibGUgY2hpbGRyZW4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0iaTcxIiB2YWx1ZT0iZm9vYmFyIj48L2lucHV0
PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8Ym9keT48ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGJ1dHRv
biBpZD0iYjAiPk9LPC9idXR0b24+Ci08ZC4uLgotRkFJTCBvcGVuaW5nIGRpYWxvZyB3aXRoIG11
bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbiwgb25lIGhhdmluZyB0aGUgYXV0b2ZvY3VzIGF0dHJp
YnV0ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJpODIi
IHZhbHVlPSJmb29iYXIiIGF1dG9mb2N1cz0iIj48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9k
ZSA8Ym9keT48ZGl2IGlkPSJsb2ciPjwvZGl2PgorRkFJTCBvcGVuaW5nIGRpYWxvZyB3aXRob3V0
IGZvY3VzYWJsZSBjaGlsZHJlbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUg
PGJvZHk+PGRpdiBpZD0ibG9nIj48L2Rpdj4KIDxidXR0b24gaWQ9ImIwIj5PSzwvYnV0dG9uPgot
PGQuLi4KKzxkLi4uIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9ImI1Ij5PSzwvYnV0
dG9uPgorUEFTUyBvcGVuaW5nIGRpYWxvZyB3aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJl
bgorUEFTUyBvcGVuaW5nIGRpYWxvZyB3aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbiwg
b25lIGhhdmluZyB0aGUgYXV0b2ZvY3VzIGF0dHJpYnV0ZQogUEFTUyB3aGVuIG9wZW5pbmcgbXVs
dGlwbGUgZGlhbG9ncywgdGhlIG1vc3QgcmVjZW50bHkgb3BlbmVkIGlzIHJlbmRlcmVkIG9uIHRv
cAogT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAppbmRl
eCBlNDY0NTA1ODQ4M2UwMGFmOGY0YjBlMDRmYjAxNDMyOGY3YTgwYjg2Li41ZmM1MGRlYjc4OTEx
MjNhMjQ2OTM3MmQzZDc3YjlmMzdmM2QwYzY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVs
ZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0
ZXItY2xvc2UtZXhwZWN0ZWQudHh0CkBAIC0yLDEwICsyLDcgQEAKIAogCiBQQVNTIEZvY3VzIHNo
b3VsZCBiZSBtb3ZlZCB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQoU2ltcGxlIGRp
YWxvZyB1c2FnZSkKLUZBSUwgRm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBwcmV2aW91c2x5
IGZvY3VzZWQgZWxlbWVudChDb21wbGV4IGRpYWxvZyB1c2FnZSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dD48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8
Ym9keT4KLQotPGRpYWxvZz4KLSAgICA8YnV0dG9uIGlkPSJidXR0b24xIj5UaGlzIGlzIGEgYnV0
dG8uLi4KK1BBU1MgRm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBwcmV2aW91c2x5IGZvY3Vz
ZWQgZWxlbWVudChDb21wbGV4IGRpYWxvZyB1c2FnZSkKIFBBU1MgRm9jdXMgc2hvdWxkIGJlIG1v
dmVkIHRvIHRoZSBib2R5IGlmIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudCBpcyByZW1v
dmVkCiBQQVNTIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgc2hhZG93IERPTSBob3N0IGlm
IHRoZSBwcmV2aW91bHkgZm9jdXNlZCBlbGVtZW50IGlzIGEgc2hhZG93IERPTSBub2RlCiBGQUlM
IEZvY3VzIHNob3VsZCBub3Qgc2Nyb2xsIGlmIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVu
dCBpcyBvdXRzaWRlIHRoZSB2aWV3cG9ydCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440840</attachid>
            <date>2021-10-11 14:50:24 -0700</date>
            <delta_ts>2021-10-11 15:15:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20211011235021.patch</filename>
            <type>text/plain</type>
            <size>16663</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxMzk2YzQwNTNkNmU4
MTgyNmRlMzE0NjljZWMzNzFlMzczMmM1NS4uN2JkYTJjMjZiZDY0Y2ZmMTQ0NmU0NTVkY2JmMzFh
N2QxY2VmYWNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEwLTExICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1l
bGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6YXV0b2ZvY3VzQ2FuZGlkYXRlcyBj
b25zdCk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
RGlhbG9nRWxlbWVudDo6c2hvd01vZGFsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dF
bGVtZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6cnVu
Rm9jdXNpbmdTdGVwcyk6CisgICAgICAgICogaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oOgorCiAy
MDIxLTEwLTExICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVt
ZW50IG5ldyBhdXRvZm9jdXMgYmVoYXZpb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYTIyNTRk
MTU4ZTQzOTZhYTkxN2IyNTZiNzYwMjQxZGYwMGY2NmQ3Yi4uMjIyNDgyZWVlZTJiZWFlNDQ1NWIw
MmRhYTgyNjQzZmJiYTY1MjUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTc5MCw2ICs3OTAs
NyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZDsgfQogICAgIHZvaWQgc2V0QXV0b2ZvY3VzUHJv
Y2Vzc2VkKCkgeyBtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkID0gdHJ1ZTsgfQorICAgIERlcXVlPFdl
YWtQdHI8RWxlbWVudD4+IGF1dG9mb2N1c0NhbmRpZGF0ZXMoKSBjb25zdCB7IHJldHVybiBtX2F1
dG9mb2N1c0NhbmRpZGF0ZXM7IH0KICAgICB2b2lkIGFwcGVuZEF1dG9mb2N1c0NhbmRpZGF0ZShF
bGVtZW50Jik7CiAgICAgdm9pZCBmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAppbmRleCA1MjVjMzJlMWU5ZDU4ODFk
ZGMwM2JlZWM5Y2UzNDk5N2I2MTVmYjAyLi42N2EyZjBiZGY1MWFmZTIwMWE5NGJmMmE4YmQyZTYz
OTdhNDJjZWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcApA
QCAtMjUsOCArMjUsMTAgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxE
aWFsb2dFbGVtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2luY2x1ZGUg
IkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJGb2N1c09w
dGlvbnMuaCIKIAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CkBAIC00OSw2ICs1MSwxMCBAQCB2b2lkIEhUTUxEaWFsb2dFbGVtZW50Ojpz
aG93KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgc2V0Qm9vbGVhbkF0dHJpYnV0ZShvcGVuQXR0
ciwgdHJ1ZSk7CisKKyAgICBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG1ha2VXZWFrUHRy
KGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKSk7CisKKyAgICBydW5Gb2N1c2luZ1N0ZXBzKCk7
CiB9CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9kYWwoKQpA
QCAtNjgsNyArNzQsOSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9nRWxlbWVudDo6c2hv
d01vZGFsKCkKICAgICBpZiAoIWlzSW5Ub3BMYXllcigpKQogICAgICAgICBhZGRUb1RvcExheWVy
KCk7CiAKLSAgICAvLyBGSVhNRTogQWRkIHN0ZXBzIDggJiA5IGZyb20gc3BlYy4gKHdlYmtpdC5v
cmcvYi8yMjc1MzcpCisgICAgbV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBtYWtlV2Vha1B0
cihkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCkpOworCisgICAgcnVuRm9jdXNpbmdTdGVwcygp
OwogCiAgICAgcmV0dXJuIHsgfTsKIH0KQEAgLTg4LDcgKzk2LDExIEBAIHZvaWQgSFRNTERpYWxv
Z0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0cmluZyYgcmVzdWx0KQogICAgIGlmIChpc0luVG9wTGF5
ZXIoKSkKICAgICAgICAgcmVtb3ZlRnJvbVRvcExheWVyKCk7CiAKLSAgICAvLyBGSVhNRTogQWRk
IHN0ZXAgNiBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMjI3NTM3KQorICAgIGlmIChtX3ByZXZp
b3VzbHlGb2N1c2VkRWxlbWVudCkgeworICAgICAgICBGb2N1c09wdGlvbnMgb3B0aW9uczsKKyAg
ICAgICAgb3B0aW9ucy5wcmV2ZW50U2Nyb2xsID0gdHJ1ZTsKKyAgICAgICAgbV9wcmV2aW91c2x5
Rm9jdXNlZEVsZW1lbnQtPmZvY3VzKG9wdGlvbnMpOworICAgIH0KIAogICAgIGRvY3VtZW50KCku
ZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OlVzZXJJbnRlcmFjdGlvbiwgW3Byb3Rl
Y3RlZFRoaXMgPSBHQ1JlYWNoYWJsZVJlZiB7ICp0aGlzIH1dIHsKICAgICAgICAgcHJvdGVjdGVk
VGhpcy0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jbG9zZUV2ZW50
LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKQEAgLTEw
NSw2ICsxMTcsMzkgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6cXVldWVDYW5jZWxUYXNrKCkK
ICAgICB9KTsKIH0KIAordm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwcygp
Cit7CisgICAgaWYgKHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS5lZmZlY3RpdmVJ
bmVydCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8RWxlbWVudD4gY29udHJvbDsK
KyAgICBmb3IgKFJlZlB0ciBlbGVtZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6Zmlyc3RXaXRoaW4o
KnRoaXMpOyBlbGVtZW50OyBlbGVtZW50ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dCgqZWxlbWVu
dCkpIHsKKyAgICAgICAgaWYgKCFlbGVtZW50LT5pc0ZvY3VzYWJsZSgpKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0F0dHJpYnV0ZShhdXRvZm9jdXNB
dHRyKSkgeworICAgICAgICAgICAgY29udHJvbCA9IGVsZW1lbnQ7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEZJWE1FOiBQb3RlbnRpYWxseSByZW1vdmUgdGhp
cyBhbmQgYWRqdXN0IHJlbGF0ZWQgV1BUcyBhZnRlciBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdn
L2h0bWwvcHVsbC80MTg0LgorICAgICAgICBpZiAoIWNvbnRyb2wpCisgICAgICAgICAgICBjb250
cm9sID0gZWxlbWVudDsKKyAgICB9CisKKyAgICBpZiAoIWNvbnRyb2wpCisgICAgICAgIGNvbnRy
b2wgPSB0aGlzOworCisgICAgY29udHJvbC0+cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygp
OworCisgICAgaWYgKCFjb250cm9sLT5kb2N1bWVudCgpLnNlY3VyaXR5T3JpZ2luKCkuaXNTYW1l
T3JpZ2luQXMoY29udHJvbC0+ZG9jdW1lbnQoKS50b3BPcmlnaW4oKSkpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlZiB0b3BEb2N1bWVudCA9IGNvbnRyb2wtPmRvY3VtZW50KCkudG9wRG9jdW1l
bnQoKTsKKyAgICB0b3BEb2N1bWVudC0+YXV0b2ZvY3VzQ2FuZGlkYXRlcygpLmNsZWFyKCk7Cisg
ICAgdG9wRG9jdW1lbnQtPnNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpOworfQorCiB2b2lkIEhUTUxE
aWFsb2dFbGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBl
LCBDb250YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKQogewogICAgIEhUTUxFbGVt
ZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRU
cmVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA0NzFhNmIz
ZGRjZWY2NDE4MGFkMjQ1MzVlMjg0NjU2MGZlY2VkNjFkLi4wYzJlZjRjOWZkOGZiNTI2NWQ3OWM0
OWQ4OWMwZmE4OGMwM2ZiNDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aWFsb2dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVu
dC5oCkBAIC00Nyw2ICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcXVldWVDYW5jZWxUYXNr
KCk7CiAKKyAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRl
cmFjdGl2ZS1lbGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworICAgIHZvaWQgcnVu
Rm9jdXNpbmdTdGVwcygpOworCiBwcml2YXRlOgogICAgIEhUTUxEaWFsb2dFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC01NCw2ICs1Nyw3IEBAIHByaXZhdGU6
CiAKICAgICBTdHJpbmcgbV9yZXR1cm5WYWx1ZTsKICAgICBib29sIG1faXNNb2RhbCB7IGZhbHNl
IH07CisgICAgV2Vha1B0cjxFbGVtZW50PiBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IDVjNzI3NDBkNmJmYWJlMTE2NmYzNDJkMjVjY2EzYjEzY2EwOTZiODUuLjUwNmRlNTQzZDI1
YjI3MzNhNDhlOGI5NDBjZGIwZjQwYTEzYTUyYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEwLTExICBUaW0gTmd1eWVuICA8bnRpbUBhcHBs
ZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZvY3VzaW5nIHN0ZXBzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1MzcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1lbGVtZW50cy5odG1sI2RpYWxv
Zy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0
b2ZvY3VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1h
dXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLWlucHV0LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxlY3Qt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5n
LXN0ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlh
bG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEwLTEx
ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IG5ldyBh
dXRvZm9jdXMgYmVoYXZpb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhl
LWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3Rl
ZC50eHQKaW5kZXggNjA0MzNlMjljYjBlYjFlNWRiMDRjZGVhNTE0ZDVlMjUzOTg0NWZjMS4uMWEy
NGRlMDA4MDk1ZDU4ZjYzMTU4M2QxODA4NTQ1ZTRmZmRkZjNiNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQv
ZGlhbG9nLWF1dG9mb2N1cy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAKIAotCi0KLUZB
SUwgYXV0b2ZvY3VzIHdoZW4gYSBtb2RhbCBkaWFsb2cgaXMgb3BlbmVkIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJhdXRvZm9jdXMtYnV0dG9uIiBhdXRv
Zm9jdXM9IiI+PC9idXR0b24+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9Im91dGVy
LWJ1dHRvbiIgYXV0b2ZvY3VzPSIiPjwvYnV0dG9uPgorUEFTUyBhdXRvZm9jdXMgd2hlbiBhIG1v
ZGFsIGRpYWxvZyBpcyBvcGVuZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1
dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQudHh0CmluZGV4IDMzZmM2ZDk0YTUzN2EwNmRhZmJj
OThjMDNlNjZmYjM2MzFlMzUwZDQuLjE4MTYzZWI5NzMyOTA4Zjk2YzVhMzA3Mjc0MmU4ZDdlNzVh
YTcyODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVy
YWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qt
b25jZS1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw0IEBACiAKIAotRkFJTCBBbiBhdXRvZm9jdXMg
ZWxlbWVudCBpbiBhIGRpYWxvZyBlbGVtZW50IHNob3VsZCBub3QgdHJ5IHRvIGdldCBmb2N1cyB0
d2ljZS4gYXNzZXJ0X2VxdWFsczogZGlhbG9nLnNob3coKSBzaG91bGQgc2V0IGZvY3VzIG9uIGEg
ZGVzY2VuZGFudCBlbGVtZW50IHdpdGggYW4gYXV0b2ZvY3VzIGF0dHJpYnV0ZS4gZXhwZWN0ZWQg
RWxlbWVudCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50
IG5vZGUgPGJvZHk+Ci08ZGlhbG9nIG9wZW49IiI+Ci08aW5wdXQ+Ci08aW5wdXQgYXV0b2ZvY3Vz
PSIiPgotPC9kaS4uLgorUEFTUyBBbiBhdXRvZm9jdXMgZWxlbWVudCBpbiBhIGRpYWxvZyBlbGVt
ZW50IHNob3VsZCBub3QgdHJ5IHRvIGdldCBmb2N1cyB0d2ljZS4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1t
dWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4
dAppbmRleCAwNDUxMDdhODNjODI0Y2FiMDM3NWEzNTFhMGFmZjBiZTE0YjY2NjA5Li5lNTA2MDkw
ZjZmNzYzZmM3NTY4N2MzYWNiYzBlOGVhYzRlZWUwYjYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxl
LXRpbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFs
b2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIGF1dG9mb2N1cyBpcyBydW4gZXZlcnkgdGltZSBhIGRp
YWxvZyBpcyBvcGVuZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1
dCBpZD0iaW5wdXQyIiBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUg
PGJ1dHRvbiBpZD0ib3V0ZXItYnV0dG9uIiBhdXRvZm9jdXM9IiI+PC9idXR0b24+CitQQVNTIGF1
dG9mb2N1cyBpcyBydW4gZXZlcnkgdGltZSBhIGRpYWxvZyBpcyBvcGVuZWQKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNl
bC13aXRoLWlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBlY3RlZC50eHQKaW5kZXgg
MDQ4ZDE1ZDUwYWQ5ZmNjYjUzODFlYWU2YTQxMzA5NzBkMDM4NTJjYy4uYmMwZjNhOWNlMDg5ZDdl
YTMyOTZhNTYwZTMxN2YxYjM1NWJlN2MyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVt
ZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLWlucHV0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFs
b2ctY2FuY2VsLXdpdGgtaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAotQ09OU09M
RSBNRVNTQUdFOiBFcnJvcjogYXNzZXJ0X3RydWU6IGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGZv
Y3VzZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3Nl
ZCBieSBlc2NhcGUga2V5IHdpdGggaW5wdXQgZm9jdXNlZAogCiAKLQotRkFJTCBUZXN0IGRpYWxv
ZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3aXRoIGlucHV0IGZvY3VzZWQgRXJyb3I6
IGFzc2VydF90cnVlOiBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitQQVNTIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBlc2NhcGUg
a2V5IHdpdGggaW5wdXQgZm9jdXNlZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1l
bnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1j
YW5jZWwtd2l0aC1zZWxlY3QtZXhwZWN0ZWQudHh0CmluZGV4IDNmM2I5NDY2Y2FlYjgwZDRiN2Fl
ODM3YmE4NTExZGRmOGMwZTQxZWIuLjFiZmQyZTliNmY4ZDgxNzJiZmRhZDQ2YWZlOWI4NmI0YThk
ZTQ2ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJh
Y3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxl
Y3QtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAotQ09OU09MRSBNRVNTQUdFOiBFcnJvcjog
YXNzZXJ0X3RydWU6IHNlbGVjdCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCiBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3
aXRoIHNlbGVjdCBmb2N1c2VkCiAKIAotCi1GQUlMIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3Nl
ZCBieSBlc2NhcGUga2V5IHdpdGggc2VsZWN0IGZvY3VzZWQgRXJyb3I6IGFzc2VydF90cnVlOiBz
ZWxlY3QgZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
UEFTUyBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3aXRoIHNlbGVj
dCBmb2N1c2VkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
Zm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CmluZGV4IGNhN2Mz
MTdjNGI3MWYxZWU5OTJhM2MwYjA3YmY1NjA0NDk2YTllMTkuLmNiNjVjYzE0MWQyNWVmNzQ0MmZm
MTc5ZTljODcyNjY3ZDI4YzhhMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVs
ZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4
dApAQCAtMSw3ICsxLDQgQEAKIAogCi1GQUlMIEFmdGVyIHNob3dpbmcgYSBkaWFsb2csIG5vbi1k
aWFsb2cgYXV0b2ZvY3VzIHByb2Nlc3Npbmcgd29uJ3Qgd29yay4gYXNzZXJ0X2VxdWFsczogTm9u
LWRpYWxvZyBhdXRvZm9jdXMgcHJvY2Vzc2luZyBzaG91bGQgYmUgc2tpcHBlZC4gZXhwZWN0ZWQg
RWxlbWVudCBub2RlIDxib2R5PgotPGlucHV0IGF1dG9mb2N1cz0iIj48ZGlhbG9nPjwvZGlhbG9n
PgotPHNjcmlwdD4KLS8vIC4uLiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3Vz
PSIiPjwvaW5wdXQ+CitQQVNTIEFmdGVyIHNob3dpbmcgYSBkaWFsb2csIG5vbi1kaWFsb2cgYXV0
b2ZvY3VzIHByb2Nlc3Npbmcgd29uJ3Qgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hv
d01vZGFsLWV4cGVjdGVkLnR4dAppbmRleCA4MzkwOTFlOTIyYjIyOWYzMWIzYzgxNjgyMWRhZDVj
YTAyNzk0OWQzLi5lZDNjNTMwMTU4YTczMDIxMTBmZDdmMjU3ZGQ0YTYwZjRlYzg1ODMwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
c2hvd01vZGFsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvd01vZGFsLWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwx
MyBAQAogCi1GQUlMIGRpYWxvZyBlbGVtZW50OiBzaG93TW9kYWwoKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0iYjEiPk9LPC9idXR0b24+IGJ1dCBnb3Qg
RWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08YnV0dG9uIGlkPSJiMCI+
T0s8L2J1dHRvbj4KLTxkLi4uCitQQVNTIGRpYWxvZyBlbGVtZW50OiBzaG93TW9kYWwoKQogUEFT
UyBzaG93TW9kYWwoKSBvbiBhIDxkaWFsb2c+IHRoYXQgYWxyZWFkeSBoYXMgYW4gb3BlbiBhdHRy
aWJ1dGUgdGhyb3dzIGFuIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlvbgogUEFTUyBzaG93TW9k
YWwoKSBvbiBhIDxkaWFsb2c+IGFmdGVyIGluaXRpYWwgc2hvd01vZGFsKCkgYW5kIHJlbW92aW5n
IHRoZSBvcGVuIGF0dHJpYnV0ZQogUEFTUyBzaG93TW9kYWwoKSBvbiBhIDxkaWFsb2c+IG5vdCBp
biBhIERvY3VtZW50IHRocm93cyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24KIFBBU1Mg
d2hlbiBvcGVuaW5nIG11bHRpcGxlIGRpYWxvZ3MsIG9ubHkgdGhlIG5ld2VzdCBvbmUgaXMgbm9u
LWluZXJ0Ci1QQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGhvdXQgZm9jdXNhYmxlIGNoaWxkcmVuCi1G
QUlMIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9Imk3MSIgdmFsdWU9ImZv
b2JhciI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0ibG9nIj48
L2Rpdj4KLTxidXR0b24gaWQ9ImIwIj5PSzwvYnV0dG9uPgotPGQuLi4KLUZBSUwgb3BlbmluZyBk
aWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1c2FibGUgY2hpbGRyZW4sIG9uZSBoYXZpbmcgdGhlIGF1
dG9mb2N1cyBhdHRyaWJ1dGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxp
bnB1dCBpZD0iaTgyIiB2YWx1ZT0iZm9vYmFyIiBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdv
dCBFbGVtZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0ibG9nIj48L2Rpdj4KK0ZBSUwgb3BlbmluZyBk
aWFsb2cgd2l0aG91dCBmb2N1c2FibGUgY2hpbGRyZW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
RWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8YnV0dG9uIGlkPSJiMCI+
T0s8L2J1dHRvbj4KLTxkLi4uCis8ZC4uLiBidXQgZ290IEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlk
PSJiNSI+T0s8L2J1dHRvbj4KK1BBU1Mgb3BlbmluZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1
c2FibGUgY2hpbGRyZW4KK1BBU1Mgb3BlbmluZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1c2Fi
bGUgY2hpbGRyZW4sIG9uZSBoYXZpbmcgdGhlIGF1dG9mb2N1cyBhdHRyaWJ1dGUKIFBBU1Mgd2hl
biBvcGVuaW5nIG11bHRpcGxlIGRpYWxvZ3MsIHRoZSBtb3N0IHJlY2VudGx5IG9wZW5lZCBpcyBy
ZW5kZXJlZCBvbiB0b3AKIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVy
YWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1leHBl
Y3RlZC50eHQKaW5kZXggZTQ2NDUwNTg0ODNlMDBhZjhmNGIwZTA0ZmIwMTQzMjhmN2E4MGI4Ni4u
NWZjNTBkZWI3ODkxMTIzYTI0NjkzNzJkM2Q3N2I5ZjM3ZjNkMGM2NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2Ut
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMiwxMCArMiw3IEBACiAKIAog
UEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVt
ZW50KFNpbXBsZSBkaWFsb2cgdXNhZ2UpCi1GQUlMIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0
aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQoQ29tcGxleCBkaWFsb2cgdXNhZ2UpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQ+PC9pbnB1dD4gYnV0IGdvdCBF
bGVtZW50IG5vZGUgPGJvZHk+Ci0KLTxkaWFsb2c+Ci0gICAgPGJ1dHRvbiBpZD0iYnV0dG9uMSI+
VGhpcyBpcyBhIGJ1dHRvLi4uCitQQVNTIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgcHJl
dmlvdXNseSBmb2N1c2VkIGVsZW1lbnQoQ29tcGxleCBkaWFsb2cgdXNhZ2UpCiBQQVNTIEZvY3Vz
IHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgYm9keSBpZiB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVs
ZW1lbnQgaXMgcmVtb3ZlZAogUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHNoYWRv
dyBET00gaG9zdCBpZiB0aGUgcHJldmlvdWx5IGZvY3VzZWQgZWxlbWVudCBpcyBhIHNoYWRvdyBE
T00gbm9kZQogRkFJTCBGb2N1cyBzaG91bGQgbm90IHNjcm9sbCBpZiB0aGUgcHJldmlvdXNseSBm
b2N1c2VkIGVsZW1lbnQgaXMgb3V0c2lkZSB0aGUgdmlld3BvcnQgYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440845</attachid>
            <date>2021-10-11 15:15:18 -0700</date>
            <delta_ts>2021-10-11 23:06:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20211012001517.patch</filename>
            <type>text/plain</type>
            <size>17455</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxMzk2YzQwNTNkNmU4
MTgyNmRlMzE0NjljZWMzNzFlMzczMmM1NS4uMmIzNmI2OWEzNzEwZWE1MDJmYWUyOTE2YTQ4Y2Nh
ZTdhNWZmMTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTExICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1l
bGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRh
dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjbGVhckF1dG9mb2N1c0NhbmRpZGF0
ZXMpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERp
YWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxl
bWVudDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnJ1bkZv
Y3VzaW5nU3RlcHMpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaDoKKwogMjAy
MS0xMC0xMSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVu
dCBuZXcgYXV0b2ZvY3VzIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4ZTE2
ZjY4N2IwZjY1OTEwYjgwZTUxYTk2MmY2M2M2ZDAyMmZmNzBhLi44NDlkOTNjNDQxOGM2NTczMWM2
Mjc1NTFiZDdkMzM2NmE5ZmM4Yzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0OTYs
NyArNDQ5Niw3IEBAIHZvaWQgRG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpCiAg
ICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGlnbm9yZSBpZiB0aGUgaW5jbHVzaXZlIGFuY2VzdG9y
IGRvY3VtZW50cyBoYXMgYSB0YXJnZXQgZWxlbWVudC4KICAgICAgICAgLy8gRklYTUU6IFVzZSB0
aGUgcmVzdWx0IG9mIGdldHRpbmcgdGhlIGZvY3VzYWJsZSBhcmVhIGZvciBlbGVtZW50IGlmIGVs
ZW1lbnQgaXMgbm90IGZvY3VzYWJsZS4KICAgICAgICAgaWYgKGVsZW1lbnQtPmlzRm9jdXNhYmxl
KCkpIHsKLSAgICAgICAgICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOworICAgICAg
ICAgICAgY2xlYXJBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CiAgICAgICAgICAgICBzZXRBdXRvZm9j
dXNQcm9jZXNzZWQoKTsKICAgICAgICAgICAgIGVsZW1lbnQtPnJ1bkZvY3VzaW5nU3RlcHNGb3JB
dXRvZm9jdXMoKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
YTIyNTRkMTU4ZTQzOTZhYTkxN2IyNTZiNzYwMjQxZGYwMGY2NmQ3Yi4uNmMyZjZkNWZiYTdkYmFk
NTc4ODIyNGY1Y2NiMjI3YmM5YjJhYmJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTc5MCw3
ICs3OTAsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkgY29u
c3QgeyByZXR1cm4gbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZDsgfQogICAgIHZvaWQgc2V0QXV0b2Zv
Y3VzUHJvY2Vzc2VkKCkgeyBtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkID0gdHJ1ZTsgfQorCiAgICAg
dm9pZCBhcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUoRWxlbWVudCYpOworICAgIHZvaWQgY2xlYXJB
dXRvZm9jdXNDYW5kaWRhdGVzKCkgeyBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xlYXIoKTsgfQog
ICAgIHZvaWQgZmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CiAKICAgICB2b2lkIGhvdmVyZWRF
bGVtZW50RGlkRGV0YWNoKEVsZW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9n
RWxlbWVudC5jcHAKaW5kZXggNTI1YzMyZTFlOWQ1ODgxZGRjMDNiZWVjOWNlMzQ5OTdiNjE1ZmIw
Mi4uOTA5MDgxOTE0MDk4M2NiNjJhOTFhMmU0YTIwMGVmYzRhNjRhMTA5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTI1LDggKzI1LDEwIEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgorI2luY2x1
ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRl
ICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9jdXNPcHRpb25zLmgiCiAKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNDksNiAr
NTEsMTAgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6c2hvdygpCiAgICAgICAgIHJldHVybjsK
IAogICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUob3BlbkF0dHIsIHRydWUpOworCisgICAgbV9wcmV2
aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBtYWtlV2Vha1B0cihkb2N1bWVudCgpLmZvY3VzZWRFbGVt
ZW50KCkpOworCisgICAgcnVuRm9jdXNpbmdTdGVwcygpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lk
PiBIVE1MRGlhbG9nRWxlbWVudDo6c2hvd01vZGFsKCkKQEAgLTY4LDcgKzc0LDkgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gSFRNTERpYWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCgpCiAgICAgaWYgKCFpc0lu
VG9wTGF5ZXIoKSkKICAgICAgICAgYWRkVG9Ub3BMYXllcigpOwogCi0gICAgLy8gRklYTUU6IEFk
ZCBzdGVwcyA4ICYgOSBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMjI3NTM3KQorICAgIG1fcHJl
dmlvdXNseUZvY3VzZWRFbGVtZW50ID0gbWFrZVdlYWtQdHIoZG9jdW1lbnQoKS5mb2N1c2VkRWxl
bWVudCgpKTsKKworICAgIHJ1bkZvY3VzaW5nU3RlcHMoKTsKIAogICAgIHJldHVybiB7IH07CiB9
CkBAIC04OCw3ICs5NiwxMSBAQCB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZShjb25zdCBT
dHJpbmcmIHJlc3VsdCkKICAgICBpZiAoaXNJblRvcExheWVyKCkpCiAgICAgICAgIHJlbW92ZUZy
b21Ub3BMYXllcigpOwogCi0gICAgLy8gRklYTUU6IEFkZCBzdGVwIDYgZnJvbSBzcGVjLiAod2Vi
a2l0Lm9yZy9iLzIyNzUzNykKKyAgICBpZiAobV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQpIHsK
KyAgICAgICAgRm9jdXNPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIG9wdGlvbnMucHJldmVudFNj
cm9sbCA9IHRydWU7CisgICAgICAgIG1fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50LT5mb2N1cyhv
cHRpb25zKTsKKyAgICB9CiAKICAgICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhU
YXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIFtwcm90ZWN0ZWRUaGlzID0gR0NSZWFjaGFibGVS
ZWYgeyAqdGhpcyB9XSB7CiAgICAgICAgIHByb3RlY3RlZFRoaXMtPmRpc3BhdGNoRXZlbnQoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8s
IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CkBAIC0xMDUsNiArMTE3LDM5IEBAIHZvaWQgSFRN
TERpYWxvZ0VsZW1lbnQ6OnF1ZXVlQ2FuY2VsVGFzaygpCiAgICAgfSk7CiB9CiAKK3ZvaWQgSFRN
TERpYWxvZ0VsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHMoKQoreworICAgIGlmIChyZW5kZXJlcigp
ICYmIHJlbmRlcmVyKCktPnN0eWxlKCkuZWZmZWN0aXZlSW5lcnQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgUmVmUHRyPEVsZW1lbnQ+IGNvbnRyb2w7CisgICAgZm9yIChSZWZQdHIgZWxlbWVu
dCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGluKCp0aGlzKTsgZWxlbWVudDsgZWxlbWVu
dCA9IEVsZW1lbnRUcmF2ZXJzYWw6Om5leHQoKmVsZW1lbnQpKSB7CisgICAgICAgIGlmICghZWxl
bWVudC0+aXNGb2N1c2FibGUoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlm
IChlbGVtZW50LT5oYXNBdHRyaWJ1dGUoYXV0b2ZvY3VzQXR0cikpIHsKKyAgICAgICAgICAgIGNv
bnRyb2wgPSBlbGVtZW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBGSVhNRTogUG90ZW50aWFsbHkgcmVtb3ZlIHRoaXMgYW5kIGFkanVzdCByZWxhdGVkIFdQ
VHMgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL3B1bGwvNDE4NC4KKyAgICAg
ICAgaWYgKCFjb250cm9sKQorICAgICAgICAgICAgY29udHJvbCA9IGVsZW1lbnQ7CisgICAgfQor
CisgICAgaWYgKCFjb250cm9sKQorICAgICAgICBjb250cm9sID0gdGhpczsKKworICAgIGNvbnRy
b2wtPnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKTsKKworICAgIGlmICghY29udHJvbC0+
ZG9jdW1lbnQoKS5pc1NhbWVPcmlnaW5Bc1RvcERvY3VtZW50KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIFJlZiB0b3BEb2N1bWVudCA9IGNvbnRyb2wtPmRvY3VtZW50KCkudG9wRG9jdW1lbnQo
KTsKKyAgICB0b3BEb2N1bWVudC0+Y2xlYXJBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CisgICAgdG9w
RG9jdW1lbnQtPnNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpOworfQorCiB2b2lkIEhUTUxEaWFsb2dF
bGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250
YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKQogewogICAgIEhUTUxFbGVtZW50Ojpy
ZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA0NzFhNmIzZGRjZWY2
NDE4MGFkMjQ1MzVlMjg0NjU2MGZlY2VkNjFkLi4wYzJlZjRjOWZkOGZiNTI2NWQ3OWM0OWQ4OWMw
ZmE4OGMwM2ZiNDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCkBA
IC00Nyw2ICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcXVldWVDYW5jZWxUYXNrKCk7CiAK
KyAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2
ZS1lbGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworICAgIHZvaWQgcnVuRm9jdXNp
bmdTdGVwcygpOworCiBwcml2YXRlOgogICAgIEhUTUxEaWFsb2dFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC01NCw2ICs1Nyw3IEBAIHByaXZhdGU6CiAKICAg
ICBTdHJpbmcgbV9yZXR1cm5WYWx1ZTsKICAgICBib29sIG1faXNNb2RhbCB7IGZhbHNlIH07Cisg
ICAgV2Vha1B0cjxFbGVtZW50PiBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDVj
NzI3NDBkNmJmYWJlMTE2NmYzNDJkMjVjY2EzYjEzY2EwOTZiODUuLjUwNmRlNTQzZDI1YjI3MzNh
NDhlOGI5NDBjZGIwZjQwYTEzYTUyYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIxIEBACisyMDIxLTEwLTExICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZvY3VzaW5nIHN0ZXBzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1MzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1lbGVtZW50cy5odG1sI2RpYWxvZy1mb2N1
c2luZy1zdGVwcworCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3Vz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9j
dXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2Rp
YWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUt
ZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLWlucHV0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxl
bWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxlY3QtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBz
LXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVs
ZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEwLTExICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IG5ldyBhdXRvZm9j
dXMgYmVoYXZpb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1l
bGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3RlZC50eHQK
aW5kZXggNjA0MzNlMjljYjBlYjFlNWRiMDRjZGVhNTE0ZDVlMjUzOTg0NWZjMS4uMWEyNGRlMDA4
MDk1ZDU4ZjYzMTU4M2QxODA4NTQ1ZTRmZmRkZjNiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9n
LWF1dG9mb2N1cy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAKIAotCi0KLUZBSUwgYXV0
b2ZvY3VzIHdoZW4gYSBtb2RhbCBkaWFsb2cgaXMgb3BlbmVkIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJhdXRvZm9jdXMtYnV0dG9uIiBhdXRvZm9jdXM9
IiI+PC9idXR0b24+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9Im91dGVyLWJ1dHRv
biIgYXV0b2ZvY3VzPSIiPjwvYnV0dG9uPgorUEFTUyBhdXRvZm9jdXMgd2hlbiBhIG1vZGFsIGRp
YWxvZyBpcyBvcGVuZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUt
ZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1
cy1qdXN0LW9uY2UtZXhwZWN0ZWQudHh0CmluZGV4IDMzZmM2ZDk0YTUzN2EwNmRhZmJjOThjMDNl
NjZmYjM2MzFlMzUwZDQuLjE4MTYzZWI5NzMyOTA4Zjk2YzVhMzA3Mjc0MmU4ZDdlNzVhYTcyODEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2Rp
YWxvZy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZl
LWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25jZS1l
eHBlY3RlZC50eHQKQEAgLTEsOCArMSw0IEBACiAKIAotRkFJTCBBbiBhdXRvZm9jdXMgZWxlbWVu
dCBpbiBhIGRpYWxvZyBlbGVtZW50IHNob3VsZCBub3QgdHJ5IHRvIGdldCBmb2N1cyB0d2ljZS4g
YXNzZXJ0X2VxdWFsczogZGlhbG9nLnNob3coKSBzaG91bGQgc2V0IGZvY3VzIG9uIGEgZGVzY2Vu
ZGFudCBlbGVtZW50IHdpdGggYW4gYXV0b2ZvY3VzIGF0dHJpYnV0ZS4gZXhwZWN0ZWQgRWxlbWVu
dCBub2RlIDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUg
PGJvZHk+Ci08ZGlhbG9nIG9wZW49IiI+Ci08aW5wdXQ+Ci08aW5wdXQgYXV0b2ZvY3VzPSIiPgot
PC9kaS4uLgorUEFTUyBBbiBhdXRvZm9jdXMgZWxlbWVudCBpbiBhIGRpYWxvZyBlbGVtZW50IHNo
b3VsZCBub3QgdHJ5IHRvIGdldCBmb2N1cyB0d2ljZS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1tdWx0aXBs
ZS10aW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dAppbmRl
eCAwNDUxMDdhODNjODI0Y2FiMDM3NWEzNTFhMGFmZjBiZTE0YjY2NjA5Li5lNTA2MDkwZjZmNzYz
ZmM3NTY4N2MzYWNiYzBlOGVhYzRlZWUwYjYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVs
ZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxl
bWVudC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIAogCi1GQUlMIGF1dG9mb2N1cyBpcyBydW4gZXZlcnkgdGltZSBhIGRpYWxvZyBp
cyBvcGVuZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBpZD0i
aW5wdXQyIiBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJ1dHRv
biBpZD0ib3V0ZXItYnV0dG9uIiBhdXRvZm9jdXM9IiI+PC9idXR0b24+CitQQVNTIGF1dG9mb2N1
cyBpcyBydW4gZXZlcnkgdGltZSBhIGRpYWxvZyBpcyBvcGVuZWQKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRo
LWlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1l
bGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBlY3RlZC50eHQKaW5kZXggMDQ4ZDE1
ZDUwYWQ5ZmNjYjUzODFlYWU2YTQxMzA5NzBkMDM4NTJjYy4uYmMwZjNhOWNlMDg5ZDdlYTMyOTZh
NTYwZTMxN2YxYjM1NWJlN2MyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLWlucHV0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2Fu
Y2VsLXdpdGgtaW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAotQ09OU09MRSBNRVNT
QUdFOiBFcnJvcjogYXNzZXJ0X3RydWU6IGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGZvY3VzZWQg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBl
c2NhcGUga2V5IHdpdGggaW5wdXQgZm9jdXNlZAogCiAKLQotRkFJTCBUZXN0IGRpYWxvZyBtb2Rh
bCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3aXRoIGlucHV0IGZvY3VzZWQgRXJyb3I6IGFzc2Vy
dF90cnVlOiBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCitQQVNTIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBlc2NhcGUga2V5IHdp
dGggaW5wdXQgZm9jdXNlZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwt
d2l0aC1zZWxlY3QtZXhwZWN0ZWQudHh0CmluZGV4IDNmM2I5NDY2Y2FlYjgwZDRiN2FlODM3YmE4
NTExZGRmOGMwZTQxZWIuLjFiZmQyZTliNmY4ZDgxNzJiZmRhZDQ2YWZlOWI4NmI0YThkZTQ2ZTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2Rp
YWxvZy1jYW5jZWwtd2l0aC1zZWxlY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0xLDcgKzEsNSBAQAotQ09OU09MRSBNRVNTQUdFOiBFcnJvcjogYXNzZXJ0
X3RydWU6IHNlbGVjdCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCiBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3aXRoIHNl
bGVjdCBmb2N1c2VkCiAKIAotCi1GQUlMIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBl
c2NhcGUga2V5IHdpdGggc2VsZWN0IGZvY3VzZWQgRXJyb3I6IGFzc2VydF90cnVlOiBzZWxlY3Qg
ZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBU
ZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3aXRoIHNlbGVjdCBmb2N1
c2VkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctZm9jdXNp
bmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CmluZGV4IGNhN2MzMTdjNGI3
MWYxZWU5OTJhM2MwYjA3YmY1NjA0NDk2YTllMTkuLmNiNjVjYzE0MWQyNWVmNzQ0MmZmMTc5ZTlj
ODcyNjY3ZDI4YzhhMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQv
ZGlhbG9nLWZvY3VzaW5nLXN0ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dApAQCAt
MSw3ICsxLDQgQEAKIAogCi1GQUlMIEFmdGVyIHNob3dpbmcgYSBkaWFsb2csIG5vbi1kaWFsb2cg
YXV0b2ZvY3VzIHByb2Nlc3Npbmcgd29uJ3Qgd29yay4gYXNzZXJ0X2VxdWFsczogTm9uLWRpYWxv
ZyBhdXRvZm9jdXMgcHJvY2Vzc2luZyBzaG91bGQgYmUgc2tpcHBlZC4gZXhwZWN0ZWQgRWxlbWVu
dCBub2RlIDxib2R5PgotPGlucHV0IGF1dG9mb2N1cz0iIj48ZGlhbG9nPjwvZGlhbG9nPgotPHNj
cmlwdD4KLS8vIC4uLiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwv
aW5wdXQ+CitQQVNTIEFmdGVyIHNob3dpbmcgYSBkaWFsb2csIG5vbi1kaWFsb2cgYXV0b2ZvY3Vz
IHByb2Nlc3Npbmcgd29uJ3Qgd29yay4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVt
ZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvd01vZGFs
LWV4cGVjdGVkLnR4dAppbmRleCA4MzkwOTFlOTIyYjIyOWYzMWIzYzgxNjgyMWRhZDVjYTAyNzk0
OWQzLi5lZDNjNTMwMTU4YTczMDIxMTBmZDdmMjU3ZGQ0YTYwZjRlYzg1ODMwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hvd01v
ZGFsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctc2hvd01vZGFsLWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwxMyBAQAog
Ci1GQUlMIGRpYWxvZyBlbGVtZW50OiBzaG93TW9kYWwoKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0iYjEiPk9LPC9idXR0b24+IGJ1dCBnb3QgRWxlbWVu
dCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08YnV0dG9uIGlkPSJiMCI+T0s8L2J1
dHRvbj4KLTxkLi4uCitQQVNTIGRpYWxvZyBlbGVtZW50OiBzaG93TW9kYWwoKQogUEFTUyBzaG93
TW9kYWwoKSBvbiBhIDxkaWFsb2c+IHRoYXQgYWxyZWFkeSBoYXMgYW4gb3BlbiBhdHRyaWJ1dGUg
dGhyb3dzIGFuIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlvbgogUEFTUyBzaG93TW9kYWwoKSBv
biBhIDxkaWFsb2c+IGFmdGVyIGluaXRpYWwgc2hvd01vZGFsKCkgYW5kIHJlbW92aW5nIHRoZSBv
cGVuIGF0dHJpYnV0ZQogUEFTUyBzaG93TW9kYWwoKSBvbiBhIDxkaWFsb2c+IG5vdCBpbiBhIERv
Y3VtZW50IHRocm93cyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24KIFBBU1Mgd2hlbiBv
cGVuaW5nIG11bHRpcGxlIGRpYWxvZ3MsIG9ubHkgdGhlIG5ld2VzdCBvbmUgaXMgbm9uLWluZXJ0
Ci1QQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGhvdXQgZm9jdXNhYmxlIGNoaWxkcmVuCi1GQUlMIG9w
ZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9Imk3MSIgdmFsdWU9ImZvb2JhciI+
PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0ibG9nIj48L2Rpdj4K
LTxidXR0b24gaWQ9ImIwIj5PSzwvYnV0dG9uPgotPGQuLi4KLUZBSUwgb3BlbmluZyBkaWFsb2cg
d2l0aCBtdWx0aXBsZSBmb2N1c2FibGUgY2hpbGRyZW4sIG9uZSBoYXZpbmcgdGhlIGF1dG9mb2N1
cyBhdHRyaWJ1dGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBp
ZD0iaTgyIiB2YWx1ZT0iZm9vYmFyIiBhdXRvZm9jdXM9IiI+PC9pbnB1dD4gYnV0IGdvdCBFbGVt
ZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0ibG9nIj48L2Rpdj4KK0ZBSUwgb3BlbmluZyBkaWFsb2cg
d2l0aG91dCBmb2N1c2FibGUgY2hpbGRyZW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVu
dCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8YnV0dG9uIGlkPSJiMCI+T0s8L2J1
dHRvbj4KLTxkLi4uCis8ZC4uLiBidXQgZ290IEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJiNSI+
T0s8L2J1dHRvbj4KK1BBU1Mgb3BlbmluZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1c2FibGUg
Y2hpbGRyZW4KK1BBU1Mgb3BlbmluZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1c2FibGUgY2hp
bGRyZW4sIG9uZSBoYXZpbmcgdGhlIGF1dG9mb2N1cyBhdHRyaWJ1dGUKIFBBU1Mgd2hlbiBvcGVu
aW5nIG11bHRpcGxlIGRpYWxvZ3MsIHRoZSBtb3N0IHJlY2VudGx5IG9wZW5lZCBpcyByZW5kZXJl
ZCBvbiB0b3AKIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFs
b2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZl
LWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50
eHQKaW5kZXggZTQ2NDUwNTg0ODNlMDBhZjhmNGIwZTA0ZmIwMTQzMjhmN2E4MGI4Ni4uNWZjNTBk
ZWI3ODkxMTIzYTI0NjkzNzJkM2Q3N2I5ZjM3ZjNkMGM2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2Zv
Y3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMiwxMCArMiw3IEBACiAKIAogUEFTUyBG
b2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50KFNp
bXBsZSBkaWFsb2cgdXNhZ2UpCi1GQUlMIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgcHJl
dmlvdXNseSBmb2N1c2VkIGVsZW1lbnQoQ29tcGxleCBkaWFsb2cgdXNhZ2UpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQ+PC9pbnB1dD4gYnV0IGdvdCBFbGVtZW50
IG5vZGUgPGJvZHk+Ci0KLTxkaWFsb2c+Ci0gICAgPGJ1dHRvbiBpZD0iYnV0dG9uMSI+VGhpcyBp
cyBhIGJ1dHRvLi4uCitQQVNTIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgcHJldmlvdXNs
eSBmb2N1c2VkIGVsZW1lbnQoQ29tcGxleCBkaWFsb2cgdXNhZ2UpCiBQQVNTIEZvY3VzIHNob3Vs
ZCBiZSBtb3ZlZCB0byB0aGUgYm9keSBpZiB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQg
aXMgcmVtb3ZlZAogUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHNoYWRvdyBET00g
aG9zdCBpZiB0aGUgcHJldmlvdWx5IGZvY3VzZWQgZWxlbWVudCBpcyBhIHNoYWRvdyBET00gbm9k
ZQogRkFJTCBGb2N1cyBzaG91bGQgbm90IHNjcm9sbCBpZiB0aGUgcHJldmlvdXNseSBmb2N1c2Vk
IGVsZW1lbnQgaXMgb3V0c2lkZSB0aGUgdmlld3BvcnQgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440893</attachid>
            <date>2021-10-11 23:06:49 -0700</date>
            <delta_ts>2021-10-13 11:02:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20211012080648.patch</filename>
            <type>text/plain</type>
            <size>19065</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYxMzk2YzQwNTNkNmU4
MTgyNmRlMzE0NjljZWMzNzFlMzczMmM1NS4uMmIzNmI2OWEzNzEwZWE1MDJmYWUyOTE2YTQ4Y2Nh
ZTdhNWZmMTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTExICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1l
bGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRh
dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjbGVhckF1dG9mb2N1c0NhbmRpZGF0
ZXMpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERp
YWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxl
bWVudDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnJ1bkZv
Y3VzaW5nU3RlcHMpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaDoKKwogMjAy
MS0xMC0xMSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVu
dCBuZXcgYXV0b2ZvY3VzIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4ZTE2
ZjY4N2IwZjY1OTEwYjgwZTUxYTk2MmY2M2M2ZDAyMmZmNzBhLi44NDlkOTNjNDQxOGM2NTczMWM2
Mjc1NTFiZDdkMzM2NmE5ZmM4Yzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0OTYs
NyArNDQ5Niw3IEBAIHZvaWQgRG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpCiAg
ICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGlnbm9yZSBpZiB0aGUgaW5jbHVzaXZlIGFuY2VzdG9y
IGRvY3VtZW50cyBoYXMgYSB0YXJnZXQgZWxlbWVudC4KICAgICAgICAgLy8gRklYTUU6IFVzZSB0
aGUgcmVzdWx0IG9mIGdldHRpbmcgdGhlIGZvY3VzYWJsZSBhcmVhIGZvciBlbGVtZW50IGlmIGVs
ZW1lbnQgaXMgbm90IGZvY3VzYWJsZS4KICAgICAgICAgaWYgKGVsZW1lbnQtPmlzRm9jdXNhYmxl
KCkpIHsKLSAgICAgICAgICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOworICAgICAg
ICAgICAgY2xlYXJBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CiAgICAgICAgICAgICBzZXRBdXRvZm9j
dXNQcm9jZXNzZWQoKTsKICAgICAgICAgICAgIGVsZW1lbnQtPnJ1bkZvY3VzaW5nU3RlcHNGb3JB
dXRvZm9jdXMoKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
YTIyNTRkMTU4ZTQzOTZhYTkxN2IyNTZiNzYwMjQxZGYwMGY2NmQ3Yi4uNmMyZjZkNWZiYTdkYmFk
NTc4ODIyNGY1Y2NiMjI3YmM5YjJhYmJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTc5MCw3
ICs3OTAsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkgY29u
c3QgeyByZXR1cm4gbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZDsgfQogICAgIHZvaWQgc2V0QXV0b2Zv
Y3VzUHJvY2Vzc2VkKCkgeyBtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkID0gdHJ1ZTsgfQorCiAgICAg
dm9pZCBhcHBlbmRBdXRvZm9jdXNDYW5kaWRhdGUoRWxlbWVudCYpOworICAgIHZvaWQgY2xlYXJB
dXRvZm9jdXNDYW5kaWRhdGVzKCkgeyBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xlYXIoKTsgfQog
ICAgIHZvaWQgZmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CiAKICAgICB2b2lkIGhvdmVyZWRF
bGVtZW50RGlkRGV0YWNoKEVsZW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9n
RWxlbWVudC5jcHAKaW5kZXggNTI1YzMyZTFlOWQ1ODgxZGRjMDNiZWVjOWNlMzQ5OTdiNjE1ZmIw
Mi4uOTA5MDgxOTE0MDk4M2NiNjJhOTFhMmU0YTIwMGVmYzRhNjRhMTA5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTI1LDggKzI1LDEwIEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgorI2luY2x1
ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRl
ICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9jdXNPcHRpb25zLmgiCiAKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNDksNiAr
NTEsMTAgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6c2hvdygpCiAgICAgICAgIHJldHVybjsK
IAogICAgIHNldEJvb2xlYW5BdHRyaWJ1dGUob3BlbkF0dHIsIHRydWUpOworCisgICAgbV9wcmV2
aW91c2x5Rm9jdXNlZEVsZW1lbnQgPSBtYWtlV2Vha1B0cihkb2N1bWVudCgpLmZvY3VzZWRFbGVt
ZW50KCkpOworCisgICAgcnVuRm9jdXNpbmdTdGVwcygpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lk
PiBIVE1MRGlhbG9nRWxlbWVudDo6c2hvd01vZGFsKCkKQEAgLTY4LDcgKzc0LDkgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gSFRNTERpYWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCgpCiAgICAgaWYgKCFpc0lu
VG9wTGF5ZXIoKSkKICAgICAgICAgYWRkVG9Ub3BMYXllcigpOwogCi0gICAgLy8gRklYTUU6IEFk
ZCBzdGVwcyA4ICYgOSBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMjI3NTM3KQorICAgIG1fcHJl
dmlvdXNseUZvY3VzZWRFbGVtZW50ID0gbWFrZVdlYWtQdHIoZG9jdW1lbnQoKS5mb2N1c2VkRWxl
bWVudCgpKTsKKworICAgIHJ1bkZvY3VzaW5nU3RlcHMoKTsKIAogICAgIHJldHVybiB7IH07CiB9
CkBAIC04OCw3ICs5NiwxMSBAQCB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZShjb25zdCBT
dHJpbmcmIHJlc3VsdCkKICAgICBpZiAoaXNJblRvcExheWVyKCkpCiAgICAgICAgIHJlbW92ZUZy
b21Ub3BMYXllcigpOwogCi0gICAgLy8gRklYTUU6IEFkZCBzdGVwIDYgZnJvbSBzcGVjLiAod2Vi
a2l0Lm9yZy9iLzIyNzUzNykKKyAgICBpZiAobV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQpIHsK
KyAgICAgICAgRm9jdXNPcHRpb25zIG9wdGlvbnM7CisgICAgICAgIG9wdGlvbnMucHJldmVudFNj
cm9sbCA9IHRydWU7CisgICAgICAgIG1fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50LT5mb2N1cyhv
cHRpb25zKTsKKyAgICB9CiAKICAgICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhU
YXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIFtwcm90ZWN0ZWRUaGlzID0gR0NSZWFjaGFibGVS
ZWYgeyAqdGhpcyB9XSB7CiAgICAgICAgIHByb3RlY3RlZFRoaXMtPmRpc3BhdGNoRXZlbnQoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6Tm8s
IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CkBAIC0xMDUsNiArMTE3LDM5IEBAIHZvaWQgSFRN
TERpYWxvZ0VsZW1lbnQ6OnF1ZXVlQ2FuY2VsVGFzaygpCiAgICAgfSk7CiB9CiAKK3ZvaWQgSFRN
TERpYWxvZ0VsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHMoKQoreworICAgIGlmIChyZW5kZXJlcigp
ICYmIHJlbmRlcmVyKCktPnN0eWxlKCkuZWZmZWN0aXZlSW5lcnQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgUmVmUHRyPEVsZW1lbnQ+IGNvbnRyb2w7CisgICAgZm9yIChSZWZQdHIgZWxlbWVu
dCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGluKCp0aGlzKTsgZWxlbWVudDsgZWxlbWVu
dCA9IEVsZW1lbnRUcmF2ZXJzYWw6Om5leHQoKmVsZW1lbnQpKSB7CisgICAgICAgIGlmICghZWxl
bWVudC0+aXNGb2N1c2FibGUoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlm
IChlbGVtZW50LT5oYXNBdHRyaWJ1dGUoYXV0b2ZvY3VzQXR0cikpIHsKKyAgICAgICAgICAgIGNv
bnRyb2wgPSBlbGVtZW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBGSVhNRTogUG90ZW50aWFsbHkgcmVtb3ZlIHRoaXMgYW5kIGFkanVzdCByZWxhdGVkIFdQ
VHMgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9odG1sL3B1bGwvNDE4NC4KKyAgICAg
ICAgaWYgKCFjb250cm9sKQorICAgICAgICAgICAgY29udHJvbCA9IGVsZW1lbnQ7CisgICAgfQor
CisgICAgaWYgKCFjb250cm9sKQorICAgICAgICBjb250cm9sID0gdGhpczsKKworICAgIGNvbnRy
b2wtPnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMoKTsKKworICAgIGlmICghY29udHJvbC0+
ZG9jdW1lbnQoKS5pc1NhbWVPcmlnaW5Bc1RvcERvY3VtZW50KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIFJlZiB0b3BEb2N1bWVudCA9IGNvbnRyb2wtPmRvY3VtZW50KCkudG9wRG9jdW1lbnQo
KTsKKyAgICB0b3BEb2N1bWVudC0+Y2xlYXJBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CisgICAgdG9w
RG9jdW1lbnQtPnNldEF1dG9mb2N1c1Byb2Nlc3NlZCgpOworfQorCiB2b2lkIEhUTUxEaWFsb2dF
bGVtZW50OjpyZW1vdmVkRnJvbUFuY2VzdG9yKFJlbW92YWxUeXBlIHJlbW92YWxUeXBlLCBDb250
YWluZXJOb2RlJiBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKQogewogICAgIEhUTUxFbGVtZW50Ojpy
ZW1vdmVkRnJvbUFuY2VzdG9yKHJlbW92YWxUeXBlLCBvbGRQYXJlbnRPZlJlbW92ZWRUcmVlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA0NzFhNmIzZGRjZWY2
NDE4MGFkMjQ1MzVlMjg0NjU2MGZlY2VkNjFkLi4wYzJlZjRjOWZkOGZiNTI2NWQ3OWM0OWQ4OWMw
ZmE4OGMwM2ZiNDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCkBA
IC00Nyw2ICs0Nyw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcXVldWVDYW5jZWxUYXNrKCk7CiAK
KyAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2
ZS1lbGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworICAgIHZvaWQgcnVuRm9jdXNp
bmdTdGVwcygpOworCiBwcml2YXRlOgogICAgIEhUTUxEaWFsb2dFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC01NCw2ICs1Nyw3IEBAIHByaXZhdGU6CiAKICAg
ICBTdHJpbmcgbV9yZXR1cm5WYWx1ZTsKICAgICBib29sIG1faXNNb2RhbCB7IGZhbHNlIH07Cisg
ICAgV2Vha1B0cjxFbGVtZW50PiBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudDsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MjdjMWQyOTUwYTUyZGZjMTc2MjFmMjI0NjI5
OTdlMzJlOGYxOTJjLi4xNjYzYzMwZWZmNmM1Mjc0Mzg1NDM0NTY0NmQwYzM5MTA3YzY3ODhkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMTEgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgPGRpYWxvZz4gZm9jdXNpbmcgc3RlcHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzUzNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0aXZlLWVsZW1lbnRzLmh0bWwjZGlhbG9n
LWZvY3VzaW5nLXN0ZXBzCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxlY3QtZXhwZWN0ZWQudHh0
OiBBZGRlZCAodGVzdF9kcml2ZXIuc2VuZF9rZXlzIG5vdCB3b3JraW5nIG9uIGlPUykKKwogMjAy
MS0xMC0xMSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVu
dCBuZXcgYXV0b2ZvY3VzIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA1YzcyNzQwZDZiZmFiZTExNjZmMzQyZDI1Y2NhM2IxM2NhMDk2Yjg1Li41MDZkZTU0M2QyNWIy
NzMzYTQ4ZThiOTQwY2RiMGY0MGExM2E1MmIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMC0xMSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCA8ZGlhbG9nPiBmb2N1c2luZyBzdGVwcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTM3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3RpdmUtZWxlbWVudHMuaHRtbCNkaWFsb2ct
Zm9jdXNpbmctc3RlcHMKKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9m
b2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0
b2ZvY3VzLWp1c3Qtb25jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9kaWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZl
LWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
aW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1z
dGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctc2hvd01vZGFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMC0xMSAg
VGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBuZXcgYXV0
b2ZvY3VzIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQu
dHh0CmluZGV4IDYwNDMzZTI5Y2IwZWIxZTVkYjA0Y2RlYTUxNGQ1ZTI1Mzk4NDVmYzEuLjFhMjRk
ZTAwODA5NWQ1OGY2MzE1ODNkMTgwODU0NWU0ZmZkZGYzYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJh
Y3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2Rp
YWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogCiAKLQotCi1GQUlM
IGF1dG9mb2N1cyB3aGVuIGEgbW9kYWwgZGlhbG9nIGlzIG9wZW5lZCBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0iYXV0b2ZvY3VzLWJ1dHRvbiIgYXV0b2Zv
Y3VzPSIiPjwvYnV0dG9uPiBidXQgZ290IEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJvdXRlci1i
dXR0b24iIGF1dG9mb2N1cz0iIj48L2J1dHRvbj4KK1BBU1MgYXV0b2ZvY3VzIHdoZW4gYSBtb2Rh
bCBkaWFsb2cgaXMgb3BlbmVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRv
Zm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dAppbmRleCAzM2ZjNmQ5NGE1MzdhMDZkYWZiYzk4
YzAzZTY2ZmIzNjMxZTM1MGQ0Li4xODE2M2ViOTczMjkwOGY5NmM1YTMwNzI3NDJlOGQ3ZTc1YWE3
MjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9u
Y2UtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsNCBAQAogCiAKLUZBSUwgQW4gYXV0b2ZvY3VzIGVs
ZW1lbnQgaW4gYSBkaWFsb2cgZWxlbWVudCBzaG91bGQgbm90IHRyeSB0byBnZXQgZm9jdXMgdHdp
Y2UuIGFzc2VydF9lcXVhbHM6IGRpYWxvZy5zaG93KCkgc2hvdWxkIHNldCBmb2N1cyBvbiBhIGRl
c2NlbmRhbnQgZWxlbWVudCB3aXRoIGFuIGF1dG9mb2N1cyBhdHRyaWJ1dGUuIGV4cGVjdGVkIEVs
ZW1lbnQgbm9kZSA8aW5wdXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBu
b2RlIDxib2R5PgotPGRpYWxvZyBvcGVuPSIiPgotPGlucHV0PgotPGlucHV0IGF1dG9mb2N1cz0i
Ij4KLTwvZGkuLi4KK1BBU1MgQW4gYXV0b2ZvY3VzIGVsZW1lbnQgaW4gYSBkaWFsb2cgZWxlbWVu
dCBzaG91bGQgbm90IHRyeSB0byBnZXQgZm9jdXMgdHdpY2UuCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVs
dGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlh
bG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQK
aW5kZXggMDQ1MTA3YTgzYzgyNGNhYjAzNzVhMzUxYTBhZmYwYmUxNGI2NjYwOS4uZTUwNjA5MGY2
Zjc2M2ZjNzU2ODdjM2FjYmMwZThlYWM0ZWVlMGI2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1tdWx0aXBsZS10
aW1lcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9n
LWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSw0IEBACiAKIAotRkFJTCBhdXRvZm9jdXMgaXMgcnVuIGV2ZXJ5IHRpbWUgYSBkaWFs
b2cgaXMgb3BlbmVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQg
aWQ9ImlucHV0MiIgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxi
dXR0b24gaWQ9Im91dGVyLWJ1dHRvbiIgYXV0b2ZvY3VzPSIiPjwvYnV0dG9uPgorUEFTUyBhdXRv
Zm9jdXMgaXMgcnVuIGV2ZXJ5IHRpbWUgYSBkaWFsb2cgaXMgb3BlbmVkCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwt
d2l0aC1pbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFs
b2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtaW5wdXQtZXhwZWN0ZWQudHh0CmluZGV4IDA0
OGQxNWQ1MGFkOWZjY2I1MzgxZWFlNmE0MTMwOTcwZDAzODUyY2MuLmJjMGYzYTljZTA4OWQ3ZWEz
Mjk2YTU2MGUzMTdmMWIzNTViZTdjMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9n
LWNhbmNlbC13aXRoLWlucHV0LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKLUNPTlNPTEUg
TUVTU0FHRTogRXJyb3I6IGFzc2VydF90cnVlOiBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1
c2VkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQg
YnkgZXNjYXBlIGtleSB3aXRoIGlucHV0IGZvY3VzZWQKIAogCi0KLUZBSUwgVGVzdCBkaWFsb2cg
bW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0aCBpbnB1dCBmb2N1c2VkIEVycm9yOiBh
c3NlcnRfdHJ1ZTogaW5wdXQgZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtl
eSB3aXRoIGlucHV0IGZvY3VzZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2Fu
Y2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4dAppbmRleCAzZjNiOTQ2NmNhZWI4MGQ0YjdhZTgz
N2JhODUxMWRkZjhjMGU0MWViLi4xYmZkMmU5YjZmOGQ4MTcyYmZkYWQ0NmFmZTliODZiNGE4ZGU0
NmU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0
LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXJyb3I6IGFz
c2VydF90cnVlOiBzZWxlY3QgZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQogVGVzdCBkaWFsb2cgbW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0
aCBzZWxlY3QgZm9jdXNlZAogCiAKLQotRkFJTCBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQg
YnkgZXNjYXBlIGtleSB3aXRoIHNlbGVjdCBmb2N1c2VkIEVycm9yOiBhc3NlcnRfdHJ1ZTogc2Vs
ZWN0IGVsZW1lbnQgc2hvdWxkIGJlIGZvY3VzZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BB
U1MgVGVzdCBkaWFsb2cgbW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0aCBzZWxlY3Qg
Zm9jdXNlZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZv
Y3VzaW5nLXN0ZXBzLXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dAppbmRleCBjYTdjMzE3
YzRiNzFmMWVlOTkyYTNjMGIwN2JmNTYwNDQ5NmE5ZTE5Li5jYjY1Y2MxNDFkMjVlZjc0NDJmZjE3
OWU5Yzg3MjY2N2QyOGM4YTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3RlZC50eHQK
QEAgLTEsNyArMSw0IEBACiAKIAotRkFJTCBBZnRlciBzaG93aW5nIGEgZGlhbG9nLCBub24tZGlh
bG9nIGF1dG9mb2N1cyBwcm9jZXNzaW5nIHdvbid0IHdvcmsuIGFzc2VydF9lcXVhbHM6IE5vbi1k
aWFsb2cgYXV0b2ZvY3VzIHByb2Nlc3Npbmcgc2hvdWxkIGJlIHNraXBwZWQuIGV4cGVjdGVkIEVs
ZW1lbnQgbm9kZSA8Ym9keT4KLTxpbnB1dCBhdXRvZm9jdXM9IiI+PGRpYWxvZz48L2RpYWxvZz4K
LTxzY3JpcHQ+Ci0vLyAuLi4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0i
Ij48L2lucHV0PgorUEFTUyBBZnRlciBzaG93aW5nIGEgZGlhbG9nLCBub24tZGlhbG9nIGF1dG9m
b2N1cyBwcm9jZXNzaW5nIHdvbid0IHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dN
b2RhbC1leHBlY3RlZC50eHQKaW5kZXggODM5MDkxZTkyMmIyMjlmMzFiM2M4MTY4MjFkYWQ1Y2Ew
Mjc5NDlkMy4uZWQzYzUzMDE1OGE3MzAyMTEwZmQ3ZjI1N2RkNGE2MGY0ZWM4NTgzMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNo
b3dNb2RhbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlh
bG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsMTMg
QEAKIAotRkFJTCBkaWFsb2cgZWxlbWVudDogc2hvd01vZGFsKCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9ImIxIj5PSzwvYnV0dG9uPiBidXQgZ290IEVs
ZW1lbnQgbm9kZSA8Ym9keT48ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGJ1dHRvbiBpZD0iYjAiPk9L
PC9idXR0b24+Ci08ZC4uLgorUEFTUyBkaWFsb2cgZWxlbWVudDogc2hvd01vZGFsKCkKIFBBU1Mg
c2hvd01vZGFsKCkgb24gYSA8ZGlhbG9nPiB0aGF0IGFscmVhZHkgaGFzIGFuIG9wZW4gYXR0cmli
dXRlIHRocm93cyBhbiBJbnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24KIFBBU1Mgc2hvd01vZGFs
KCkgb24gYSA8ZGlhbG9nPiBhZnRlciBpbml0aWFsIHNob3dNb2RhbCgpIGFuZCByZW1vdmluZyB0
aGUgb3BlbiBhdHRyaWJ1dGUKIFBBU1Mgc2hvd01vZGFsKCkgb24gYSA8ZGlhbG9nPiBub3QgaW4g
YSBEb2N1bWVudCB0aHJvd3MgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uCiBQQVNTIHdo
ZW4gb3BlbmluZyBtdWx0aXBsZSBkaWFsb2dzLCBvbmx5IHRoZSBuZXdlc3Qgb25lIGlzIG5vbi1p
bmVydAotUEFTUyBvcGVuaW5nIGRpYWxvZyB3aXRob3V0IGZvY3VzYWJsZSBjaGlsZHJlbgotRkFJ
TCBvcGVuaW5nIGRpYWxvZyB3aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJpNzEiIHZhbHVlPSJmb29i
YXIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9k
aXY+Ci08YnV0dG9uIGlkPSJiMCI+T0s8L2J1dHRvbj4KLTxkLi4uCi1GQUlMIG9wZW5pbmcgZGlh
bG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVuLCBvbmUgaGF2aW5nIHRoZSBhdXRv
Zm9jdXMgYXR0cmlidXRlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5w
dXQgaWQ9Imk4MiIgdmFsdWU9ImZvb2JhciIgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3Qg
RWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+CitGQUlMIG9wZW5pbmcgZGlh
bG9nIHdpdGhvdXQgZm9jdXNhYmxlIGNoaWxkcmVuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVs
ZW1lbnQgbm9kZSA8Ym9keT48ZGl2IGlkPSJsb2ciPjwvZGl2PgogPGJ1dHRvbiBpZD0iYjAiPk9L
PC9idXR0b24+Ci08ZC4uLgorPGQuLi4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0i
YjUiPk9LPC9idXR0b24+CitQQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNh
YmxlIGNoaWxkcmVuCitQQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxl
IGNoaWxkcmVuLCBvbmUgaGF2aW5nIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRlCiBQQVNTIHdoZW4g
b3BlbmluZyBtdWx0aXBsZSBkaWFsb2dzLCB0aGUgbW9zdCByZWNlbnRseSBvcGVuZWQgaXMgcmVu
ZGVyZWQgb24gdG9wCiBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUt
ZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0
ZWQudHh0CmluZGV4IGU0NjQ1MDU4NDgzZTAwYWY4ZjRiMGUwNGZiMDE0MzI4ZjdhODBiODYuLjVm
YzUwZGViNzg5MTEyM2EyNDY5MzcyZDNkNzdiOWYzN2YzZDBjNjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQKQEAgLTIsMTAgKzIsNyBAQAogCiAKIFBB
U1MgRm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVu
dChTaW1wbGUgZGlhbG9nIHVzYWdlKQotRkFJTCBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhl
IHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50KENvbXBsZXggZGlhbG9nIHVzYWdlKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0PjwvaW5wdXQ+IGJ1dCBnb3QgRWxl
bWVudCBub2RlIDxib2R5PgotCi08ZGlhbG9nPgotICAgIDxidXR0b24gaWQ9ImJ1dHRvbjEiPlRo
aXMgaXMgYSBidXR0by4uLgorUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZp
b3VzbHkgZm9jdXNlZCBlbGVtZW50KENvbXBsZXggZGlhbG9nIHVzYWdlKQogUEFTUyBGb2N1cyBz
aG91bGQgYmUgbW92ZWQgdG8gdGhlIGJvZHkgaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVt
ZW50IGlzIHJlbW92ZWQKIFBBU1MgRm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBzaGFkb3cg
RE9NIGhvc3QgaWYgdGhlIHByZXZpb3VseSBmb2N1c2VkIGVsZW1lbnQgaXMgYSBzaGFkb3cgRE9N
IG5vZGUKIEZBSUwgRm9jdXMgc2hvdWxkIG5vdCBzY3JvbGwgaWYgdGhlIHByZXZpb3VzbHkgZm9j
dXNlZCBlbGVtZW50IGlzIG91dHNpZGUgdGhlIHZpZXdwb3J0IGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzY5NTA2ZjE0MTkwMDk3YjlkYThhOTM2ZmYwYTI0MjhkZGVkMDc4NgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACitUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtl
eSB3aXRoIHNlbGVjdCBmb2N1c2VkCisKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKKworTk9UUlVOIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBlc2Nh
cGUga2V5IHdpdGggc2VsZWN0IGZvY3VzZWQK
</data>
<flag name="commit-queue"
          id="465041"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440934</attachid>
            <date>2021-10-12 08:03:15 -0700</date>
            <delta_ts>2021-10-12 09:03:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20211012170314.patch</filename>
            <type>text/plain</type>
            <size>19166</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTE2ZGU0MTQ3ZWY2MTg2
MTFmNDVhNzZlYzA2OWQ0ODc3ZWIzMTdhYi4uMTc4NGMxMDA4MmZhY2Y3ZWUwNmU0N2JkNjBiMWJm
ZDBiYjE4OTE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTExICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1l
bGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRh
dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjbGVhckF1dG9mb2N1c0NhbmRpZGF0
ZXMpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERp
YWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxl
bWVudDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnJ1bkZv
Y3VzaW5nU3RlcHMpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaDoKKwogMjAy
MS0xMC0xMiAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBpc1Nh
bWVPcmlnaW5Bc1RvcERvY3VtZW50KCkgaW4gRG9jdW1lbnRMb2FkZXI6OnNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOGUx
NmY2ODdiMGY2NTkxMGI4MGU1MWE5NjJmNjNjNmQwMjJmZjcwYS4uODQ5ZDkzYzQ0MThjNjU3MzFj
NjI3NTUxYmQ3ZDMzNjZhOWZjOGM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NDk2
LDcgKzQ0OTYsNyBAQCB2b2lkIERvY3VtZW50OjpmbHVzaEF1dG9mb2N1c0NhbmRpZGF0ZXMoKQog
ICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBpZ25vcmUgaWYgdGhlIGluY2x1c2l2ZSBhbmNlc3Rv
ciBkb2N1bWVudHMgaGFzIGEgdGFyZ2V0IGVsZW1lbnQuCiAgICAgICAgIC8vIEZJWE1FOiBVc2Ug
dGhlIHJlc3VsdCBvZiBnZXR0aW5nIHRoZSBmb2N1c2FibGUgYXJlYSBmb3IgZWxlbWVudCBpZiBl
bGVtZW50IGlzIG5vdCBmb2N1c2FibGUuCiAgICAgICAgIGlmIChlbGVtZW50LT5pc0ZvY3VzYWJs
ZSgpKSB7Ci0gICAgICAgICAgICBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xlYXIoKTsKKyAgICAg
ICAgICAgIGNsZWFyQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOwogICAgICAgICAgICAgc2V0QXV0b2Zv
Y3VzUHJvY2Vzc2VkKCk7CiAgICAgICAgICAgICBlbGVtZW50LT5ydW5Gb2N1c2luZ1N0ZXBzRm9y
QXV0b2ZvY3VzKCk7CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IGEyMjU0ZDE1OGU0Mzk2YWE5MTdiMjU2Yjc2MDI0MWRmMDBmNjZkN2IuLjZjMmY2ZDVmYmE3ZGJh
ZDU3ODgyMjRmNWNjYjIyN2JjOWIyYWJiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC03OTAs
NyArNzkwLDkgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0F1dG9mb2N1c1Byb2Nlc3NlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNBdXRvZm9jdXNQcm9jZXNzZWQ7IH0KICAgICB2b2lkIHNldEF1dG9m
b2N1c1Byb2Nlc3NlZCgpIHsgbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZCA9IHRydWU7IH0KKwogICAg
IHZvaWQgYXBwZW5kQXV0b2ZvY3VzQ2FuZGlkYXRlKEVsZW1lbnQmKTsKKyAgICB2b2lkIGNsZWFy
QXV0b2ZvY3VzQ2FuZGlkYXRlcygpIHsgbV9hdXRvZm9jdXNDYW5kaWRhdGVzLmNsZWFyKCk7IH0K
ICAgICB2b2lkIGZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOwogCiAgICAgdm9pZCBob3ZlcmVk
RWxlbWVudERpZERldGFjaChFbGVtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxv
Z0VsZW1lbnQuY3BwCmluZGV4IDUyNWMzMmUxZTlkNTg4MWRkYzAzYmVlYzljZTM0OTk3YjYxNWZi
MDIuLjkwOTA4MTkxNDA5ODNjYjYyYTkxYTJlNGEyMDBlZmM0YTY0YTEwOTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwCkBAIC0yNSw4ICsyNSwxMCBAQAogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSFRNTERpYWxvZ0VsZW1lbnQuaCIKKyNpbmNs
dWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkZvY3VzT3B0aW9ucy5oIgogCiAjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTQ5LDYg
KzUxLDEwIEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OnNob3coKQogICAgICAgICByZXR1cm47
CiAKICAgICBzZXRCb29sZWFuQXR0cmlidXRlKG9wZW5BdHRyLCB0cnVlKTsKKworICAgIG1fcHJl
dmlvdXNseUZvY3VzZWRFbGVtZW50ID0gbWFrZVdlYWtQdHIoZG9jdW1lbnQoKS5mb2N1c2VkRWxl
bWVudCgpKTsKKworICAgIHJ1bkZvY3VzaW5nU3RlcHMoKTsKIH0KIAogRXhjZXB0aW9uT3I8dm9p
ZD4gSFRNTERpYWxvZ0VsZW1lbnQ6OnNob3dNb2RhbCgpCkBAIC02OCw3ICs3NCw5IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IEhUTUxEaWFsb2dFbGVtZW50OjpzaG93TW9kYWwoKQogICAgIGlmICghaXNJ
blRvcExheWVyKCkpCiAgICAgICAgIGFkZFRvVG9wTGF5ZXIoKTsKIAotICAgIC8vIEZJWE1FOiBB
ZGQgc3RlcHMgOCAmIDkgZnJvbSBzcGVjLiAod2Via2l0Lm9yZy9iLzIyNzUzNykKKyAgICBtX3By
ZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IG1ha2VXZWFrUHRyKGRvY3VtZW50KCkuZm9jdXNlZEVs
ZW1lbnQoKSk7CisKKyAgICBydW5Gb2N1c2luZ1N0ZXBzKCk7CiAKICAgICByZXR1cm4geyB9Owog
fQpAQCAtODgsNyArOTYsMTEgQEAgdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6Y2xvc2UoY29uc3Qg
U3RyaW5nJiByZXN1bHQpCiAgICAgaWYgKGlzSW5Ub3BMYXllcigpKQogICAgICAgICByZW1vdmVG
cm9tVG9wTGF5ZXIoKTsKIAotICAgIC8vIEZJWE1FOiBBZGQgc3RlcCA2IGZyb20gc3BlYy4gKHdl
YmtpdC5vcmcvYi8yMjc1MzcpCisgICAgaWYgKG1fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50KSB7
CisgICAgICAgIEZvY3VzT3B0aW9ucyBvcHRpb25zOworICAgICAgICBvcHRpb25zLnByZXZlbnRT
Y3JvbGwgPSB0cnVlOworICAgICAgICBtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudC0+Zm9jdXMo
b3B0aW9ucyk7CisgICAgfQogCiAgICAgZG9jdW1lbnQoKS5ldmVudExvb3AoKS5xdWV1ZVRhc2so
VGFza1NvdXJjZTo6VXNlckludGVyYWN0aW9uLCBbcHJvdGVjdGVkVGhpcyA9IEdDUmVhY2hhYmxl
UmVmIHsgKnRoaXMgfV0gewogICAgICAgICBwcm90ZWN0ZWRUaGlzLT5kaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5v
LCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwpAQCAtMTA1LDYgKzExNywzOSBAQCB2b2lkIEhU
TUxEaWFsb2dFbGVtZW50OjpxdWV1ZUNhbmNlbFRhc2soKQogICAgIH0pOwogfQogCit2b2lkIEhU
TUxEaWFsb2dFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzKCkKK3sKKyAgICBpZiAocmVuZGVyZXIo
KSAmJiByZW5kZXJlcigpLT5zdHlsZSgpLmVmZmVjdGl2ZUluZXJ0KCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJlZlB0cjxFbGVtZW50PiBjb250cm9sOworICAgIGZvciAoUmVmUHRyIGVsZW1l
bnQgPSBFbGVtZW50VHJhdmVyc2FsOjpmaXJzdFdpdGhpbigqdGhpcyk7IGVsZW1lbnQ7IGVsZW1l
bnQgPSBFbGVtZW50VHJhdmVyc2FsOjpuZXh0KCplbGVtZW50KSkgeworICAgICAgICBpZiAoIWVs
ZW1lbnQtPmlzRm9jdXNhYmxlKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBp
ZiAoZWxlbWVudC0+aGFzQXR0cmlidXRlKGF1dG9mb2N1c0F0dHIpKSB7CisgICAgICAgICAgICBj
b250cm9sID0gZWxlbWVudDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAg
ICAgLy8gRklYTUU6IFBvdGVudGlhbGx5IHJlbW92ZSB0aGlzIGFuZCBhZGp1c3QgcmVsYXRlZCBX
UFRzIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9wdWxsLzQxODQuCisgICAg
ICAgIGlmICghY29udHJvbCkKKyAgICAgICAgICAgIGNvbnRyb2wgPSBlbGVtZW50OworICAgIH0K
KworICAgIGlmICghY29udHJvbCkKKyAgICAgICAgY29udHJvbCA9IHRoaXM7CisKKyAgICBjb250
cm9sLT5ydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0b2ZvY3VzKCk7CisKKyAgICBpZiAoIWNvbnRyb2wt
PmRvY3VtZW50KCkuaXNTYW1lT3JpZ2luQXNUb3BEb2N1bWVudCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBSZWYgdG9wRG9jdW1lbnQgPSBjb250cm9sLT5kb2N1bWVudCgpLnRvcERvY3VtZW50
KCk7CisgICAgdG9wRG9jdW1lbnQtPmNsZWFyQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOworICAgIHRv
cERvY3VtZW50LT5zZXRBdXRvZm9jdXNQcm9jZXNzZWQoKTsKK30KKwogdm9pZCBIVE1MRGlhbG9n
RWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29u
dGFpbmVyTm9kZSYgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSkKIHsKICAgICBIVE1MRWxlbWVudDo6
cmVtb3ZlZEZyb21BbmNlc3RvcihyZW1vdmFsVHlwZSwgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgKaW5kZXggNDcxYTZiM2RkY2Vm
NjQxODBhZDI0NTM1ZTI4NDY1NjBmZWNlZDYxZC4uMGMyZWY0YzlmZDhmYjUyNjVkNzljNDlkODlj
MGZhODhjMDNmYjQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9n
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaApA
QCAtNDcsNiArNDcsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHF1ZXVlQ2FuY2VsVGFzaygpOwog
CisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rp
dmUtZWxlbWVudHMuaHRtbCNkaWFsb2ctZm9jdXNpbmctc3RlcHMKKyAgICB2b2lkIHJ1bkZvY3Vz
aW5nU3RlcHMoKTsKKwogcHJpdmF0ZToKICAgICBIVE1MRGlhbG9nRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApAQCAtNTQsNiArNTcsNyBAQCBwcml2YXRlOgogCiAg
ICAgU3RyaW5nIG1fcmV0dXJuVmFsdWU7CiAgICAgYm9vbCBtX2lzTW9kYWwgeyBmYWxzZSB9Owor
ICAgIFdlYWtQdHI8RWxlbWVudD4gbV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQ7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGVjZjAyMDFiMjdjNGY4YWZhNjUzN2RmNzg1
YWQzMjE5YTQ4NmE2Mi4uMGM1NDQ2Nzg2MGNhM2E5ZGFmZDdiMGMxZGYyZTEyZmIwNTJkZDVkOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTEwLTExICBUaW0gTmd1eWVuICA8bnRpbUBhcHBs
ZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZvY3VzaW5nIHN0ZXBzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc1MzcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1lbGVtZW50cy5odG1sI2RpYWxv
Zy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRz
L3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4
dDogQWRkZWQgKHRlc3RfZHJpdmVyLnNlbmRfa2V5cyBub3Qgd29ya2luZyBvbiBpT1MpCisKIDIw
MjEtMTAtMTEgIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dMSUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyBmb3IgZmFpbGluZyBD
U1MgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1YzcyNzQwZDZiZmFi
ZTExNjZmMzQyZDI1Y2NhM2IxM2NhMDk2Yjg1Li41MDZkZTU0M2QyNWIyNzMzYTQ4ZThiOTQwY2Ri
MGY0MGExM2E1MmIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAyMS0xMC0xMSAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgorCisgICAgICAg
IEltcGxlbWVudCA8ZGlhbG9nPiBmb2N1c2luZyBzdGVwcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9t
dWx0aXBhZ2UvaW50ZXJhY3RpdmUtZWxlbWVudHMuaHRtbCNkaWFsb2ctZm9jdXNpbmctc3RlcHMK
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25j
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2Zv
Y3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
aWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxl
bWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1
dG9mb2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
c2hvd01vZGFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2ZvY3Vz
LWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMC0xMSAgVGltIE5ndXllbiAgPG50
aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBuZXcgYXV0b2ZvY3VzIGJlaGF2aW9y
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9k
aWFsb2ctYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhl
LWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CmluZGV4IDYwNDMz
ZTI5Y2IwZWIxZTVkYjA0Y2RlYTUxNGQ1ZTI1Mzk4NDVmYzEuLjFhMjRkZTAwODA5NWQ1OGY2MzE1
ODNkMTgwODU0NWU0ZmZkZGYzYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
aW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNCBAQAogCiAKLQotCi1GQUlMIGF1dG9mb2N1cyB3aGVu
IGEgbW9kYWwgZGlhbG9nIGlzIG9wZW5lZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50
IG5vZGUgPGJ1dHRvbiBpZD0iYXV0b2ZvY3VzLWJ1dHRvbiIgYXV0b2ZvY3VzPSIiPjwvYnV0dG9u
PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJvdXRlci1idXR0b24iIGF1dG9mb2N1
cz0iIj48L2J1dHRvbj4KK1BBU1MgYXV0b2ZvY3VzIHdoZW4gYSBtb2RhbCBkaWFsb2cgaXMgb3Bl
bmVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVt
ZW50L2RpYWxvZy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtanVzdC1vbmNl
LWV4cGVjdGVkLnR4dAppbmRleCAzM2ZjNmQ5NGE1MzdhMDZkYWZiYzk4YzAzZTY2ZmIzNjMxZTM1
MGQ0Li4xODE2M2ViOTczMjkwOGY5NmM1YTMwNzI3NDJlOGQ3ZTc1YWE3MjgxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2Zv
Y3VzLWp1c3Qtb25jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQudHh0
CkBAIC0xLDggKzEsNCBAQAogCiAKLUZBSUwgQW4gYXV0b2ZvY3VzIGVsZW1lbnQgaW4gYSBkaWFs
b2cgZWxlbWVudCBzaG91bGQgbm90IHRyeSB0byBnZXQgZm9jdXMgdHdpY2UuIGFzc2VydF9lcXVh
bHM6IGRpYWxvZy5zaG93KCkgc2hvdWxkIHNldCBmb2N1cyBvbiBhIGRlc2NlbmRhbnQgZWxlbWVu
dCB3aXRoIGFuIGF1dG9mb2N1cyBhdHRyaWJ1dGUuIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5w
dXQgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxib2R5PgotPGRp
YWxvZyBvcGVuPSIiPgotPGlucHV0PgotPGlucHV0IGF1dG9mb2N1cz0iIj4KLTwvZGkuLi4KK1BB
U1MgQW4gYXV0b2ZvY3VzIGVsZW1lbnQgaW4gYSBkaWFsb2cgZWxlbWVudCBzaG91bGQgbm90IHRy
eSB0byBnZXQgZm9jdXMgdHdpY2UuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGltZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlh
bG9nLWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQKaW5kZXggMDQ1MTA3YTgz
YzgyNGNhYjAzNzVhMzUxYTBhZmYwYmUxNGI2NjYwOS4uZTUwNjA5MGY2Zjc2M2ZjNzU2ODdjM2Fj
YmMwZThlYWM0ZWVlMGI2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUt
ZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9n
LWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAK
IAotRkFJTCBhdXRvZm9jdXMgaXMgcnVuIGV2ZXJ5IHRpbWUgYSBkaWFsb2cgaXMgb3BlbmVkIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9ImlucHV0MiIgYXV0
b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9Im91dGVy
LWJ1dHRvbiIgYXV0b2ZvY3VzPSIiPjwvYnV0dG9uPgorUEFTUyBhdXRvZm9jdXMgaXMgcnVuIGV2
ZXJ5IHRpbWUgYSBkaWFsb2cgaXMgb3BlbmVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFs
b2ctY2FuY2VsLXdpdGgtaW5wdXQtZXhwZWN0ZWQudHh0CmluZGV4IDA0OGQxNWQ1MGFkOWZjY2I1
MzgxZWFlNmE0MTMwOTcwZDAzODUyY2MuLmJjMGYzYTljZTA4OWQ3ZWEzMjk2YTU2MGUzMTdmMWIz
NTViZTdjMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1l
bGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLWlu
cHV0LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXJyb3I6
IGFzc2VydF90cnVlOiBpbnB1dCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCiBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3
aXRoIGlucHV0IGZvY3VzZWQKIAogCi0KLUZBSUwgVGVzdCBkaWFsb2cgbW9kYWwgaXMgY2xvc2Vk
IGJ5IGVzY2FwZSBrZXkgd2l0aCBpbnB1dCBmb2N1c2VkIEVycm9yOiBhc3NlcnRfdHJ1ZTogaW5w
dXQgZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFT
UyBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3aXRoIGlucHV0IGZv
Y3VzZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVs
ZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0
LWV4cGVjdGVkLnR4dAppbmRleCAzZjNiOTQ2NmNhZWI4MGQ0YjdhZTgzN2JhODUxMWRkZjhjMGU0
MWViLi4xYmZkMmU5YjZmOGQ4MTcyYmZkYWQ0NmFmZTliODZiNGE4ZGU0NmU1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2Vs
LXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4dApA
QCAtMSw3ICsxLDUgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXJyb3I6IGFzc2VydF90cnVlOiBzZWxl
Y3QgZWxlbWVudCBzaG91bGQgYmUgZm9jdXNlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogVGVz
dCBkaWFsb2cgbW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0aCBzZWxlY3QgZm9jdXNl
ZAogCiAKLQotRkFJTCBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3
aXRoIHNlbGVjdCBmb2N1c2VkIEVycm9yOiBhc3NlcnRfdHJ1ZTogc2VsZWN0IGVsZW1lbnQgc2hv
dWxkIGJlIGZvY3VzZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgVGVzdCBkaWFsb2cg
bW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0aCBzZWxlY3QgZm9jdXNlZAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
Zm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBzLXBy
ZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dAppbmRleCBjYTdjMzE3YzRiNzFmMWVlOTkyYTNj
MGIwN2JmNTYwNDQ5NmE5ZTE5Li5jYjY1Y2MxNDFkMjVlZjc0NDJmZjE3OWU5Yzg3MjY2N2QyOGM4
YTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9kaWFsb2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1mb2N1
c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw0IEBA
CiAKIAotRkFJTCBBZnRlciBzaG93aW5nIGEgZGlhbG9nLCBub24tZGlhbG9nIGF1dG9mb2N1cyBw
cm9jZXNzaW5nIHdvbid0IHdvcmsuIGFzc2VydF9lcXVhbHM6IE5vbi1kaWFsb2cgYXV0b2ZvY3Vz
IHByb2Nlc3Npbmcgc2hvdWxkIGJlIHNraXBwZWQuIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8Ym9k
eT4KLTxpbnB1dCBhdXRvZm9jdXM9IiI+PGRpYWxvZz48L2RpYWxvZz4KLTxzY3JpcHQ+Ci0vLyAu
Li4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0PgorUEFT
UyBBZnRlciBzaG93aW5nIGEgZGlhbG9nLCBub24tZGlhbG9nIGF1dG9mb2N1cyBwcm9jZXNzaW5n
IHdvbid0IHdvcmsuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3RlZC50
eHQKaW5kZXggODM5MDkxZTkyMmIyMjlmMzFiM2M4MTY4MjFkYWQ1Y2EwMjc5NDlkMy4uZWQzYzUz
MDE1OGE3MzAyMTEwZmQ3ZjI1N2RkNGE2MGY0ZWM4NTgzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLXNob3dNb2RhbC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlh
bG9nLXNob3dNb2RhbC1leHBlY3RlZC50eHQKQEAgLTEsMTcgKzEsMTMgQEAKIAotRkFJTCBkaWFs
b2cgZWxlbWVudDogc2hvd01vZGFsKCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBu
b2RlIDxidXR0b24gaWQ9ImIxIj5PSzwvYnV0dG9uPiBidXQgZ290IEVsZW1lbnQgbm9kZSA8Ym9k
eT48ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGJ1dHRvbiBpZD0iYjAiPk9LPC9idXR0b24+Ci08ZC4u
LgorUEFTUyBkaWFsb2cgZWxlbWVudDogc2hvd01vZGFsKCkKIFBBU1Mgc2hvd01vZGFsKCkgb24g
YSA8ZGlhbG9nPiB0aGF0IGFscmVhZHkgaGFzIGFuIG9wZW4gYXR0cmlidXRlIHRocm93cyBhbiBJ
bnZhbGlkU3RhdGVFcnJvciBleGNlcHRpb24KIFBBU1Mgc2hvd01vZGFsKCkgb24gYSA8ZGlhbG9n
PiBhZnRlciBpbml0aWFsIHNob3dNb2RhbCgpIGFuZCByZW1vdmluZyB0aGUgb3BlbiBhdHRyaWJ1
dGUKIFBBU1Mgc2hvd01vZGFsKCkgb24gYSA8ZGlhbG9nPiBub3QgaW4gYSBEb2N1bWVudCB0aHJv
d3MgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9uCiBQQVNTIHdoZW4gb3BlbmluZyBtdWx0
aXBsZSBkaWFsb2dzLCBvbmx5IHRoZSBuZXdlc3Qgb25lIGlzIG5vbi1pbmVydAotUEFTUyBvcGVu
aW5nIGRpYWxvZyB3aXRob3V0IGZvY3VzYWJsZSBjaGlsZHJlbgotRkFJTCBvcGVuaW5nIGRpYWxv
ZyB3aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJpNzEiIHZhbHVlPSJmb29iYXIiPjwvaW5wdXQ+IGJ1
dCBnb3QgRWxlbWVudCBub2RlIDxib2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08YnV0dG9uIGlk
PSJiMCI+T0s8L2J1dHRvbj4KLTxkLi4uCi1GQUlMIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlw
bGUgZm9jdXNhYmxlIGNoaWxkcmVuLCBvbmUgaGF2aW5nIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRl
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9Imk4MiIgdmFs
dWU9ImZvb2JhciIgYXV0b2ZvY3VzPSIiPjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxi
b2R5PjxkaXYgaWQ9ImxvZyI+PC9kaXY+CitGQUlMIG9wZW5pbmcgZGlhbG9nIHdpdGhvdXQgZm9j
dXNhYmxlIGNoaWxkcmVuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8Ym9k
eT48ZGl2IGlkPSJsb2ciPjwvZGl2PgogPGJ1dHRvbiBpZD0iYjAiPk9LPC9idXR0b24+Ci08ZC4u
LgorPGQuLi4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0iYjUiPk9LPC9idXR0b24+
CitQQVNTIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVuCitQ
QVNTIG9wZW5pbmcgZGlhbG9nIHdpdGggbXVsdGlwbGUgZm9jdXNhYmxlIGNoaWxkcmVuLCBvbmUg
aGF2aW5nIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRlCiBQQVNTIHdoZW4gb3BlbmluZyBtdWx0aXBs
ZSBkaWFsb2dzLCB0aGUgbW9zdCByZWNlbnRseSBvcGVuZWQgaXMgcmVuZGVyZWQgb24gdG9wCiBP
SwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQv
Zm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0CmluZGV4IGU0
NjQ1MDU4NDgzZTAwYWY4ZjRiMGUwNGZiMDE0MzI4ZjdhODBiODYuLjVmYzUwZGViNzg5MTEyM2Ey
NDY5MzcyZDNkNzdiOWYzN2YzZDBjNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9mb2N1cy1hZnRlci1j
bG9zZS1leHBlY3RlZC50eHQKQEAgLTIsMTAgKzIsNyBAQAogCiAKIFBBU1MgRm9jdXMgc2hvdWxk
IGJlIG1vdmVkIHRvIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudChTaW1wbGUgZGlhbG9n
IHVzYWdlKQotRkFJTCBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZpb3VzbHkgZm9j
dXNlZCBlbGVtZW50KENvbXBsZXggZGlhbG9nIHVzYWdlKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBFbGVtZW50IG5vZGUgPGlucHV0PjwvaW5wdXQ+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxib2R5
PgotCi08ZGlhbG9nPgotICAgIDxidXR0b24gaWQ9ImJ1dHRvbjEiPlRoaXMgaXMgYSBidXR0by4u
LgorUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBl
bGVtZW50KENvbXBsZXggZGlhbG9nIHVzYWdlKQogUEFTUyBGb2N1cyBzaG91bGQgYmUgbW92ZWQg
dG8gdGhlIGJvZHkgaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IGlzIHJlbW92ZWQK
IFBBU1MgRm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBzaGFkb3cgRE9NIGhvc3QgaWYgdGhl
IHByZXZpb3VseSBmb2N1c2VkIGVsZW1lbnQgaXMgYSBzaGFkb3cgRE9NIG5vZGUKIEZBSUwgRm9j
dXMgc2hvdWxkIG5vdCBzY3JvbGwgaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50IGlz
IG91dHNpZGUgdGhlIHZpZXdwb3J0IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtc2VsZWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1l
bnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEy
Y2UzOWJlMGFiNjEzNzcwZTMxZTgxZmMyMDhkMTcwMTljNzUwMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1l
bnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBA
CitUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkgZXNjYXBlIGtleSB3aXRoIHNlbGVjdCBm
b2N1c2VkCisKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKwor
Tk9UUlVOIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBlc2NhcGUga2V5IHdpdGggc2Vs
ZWN0IGZvY3VzZWQKKwo=
</data>
<flag name="review"
          id="465025"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441113</attachid>
            <date>2021-10-13 11:30:21 -0700</date>
            <delta_ts>2021-10-13 15:21:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227537-20211013203020.patch</filename>
            <type>text/plain</type>
            <size>20154</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMzNzYzOGYyMDYxYTM0
MjgyZGZlMmYxYjcxNWM2YWUxYTIxYTg4ZS4uMjkxYTNhZmQwOTExNDM0MmY3NWE2Y2ZiNDFmOWVk
YmM4MGZmYmI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTEzICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IDxkaWFsb2c+IGZv
Y3VzaW5nIHN0ZXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbnRlcmFjdGl2ZS1lbGVt
ZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcworCisgICAgICAgICogZG9tL0RvY3VtZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Zmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVz
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjbGVhckF1dG9mb2N1c0NhbmRpZGF0ZXMp
OgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxv
Z0VsZW1lbnQ6OnNob3dNb2RhbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVu
dDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OnJ1bkZvY3Vz
aW5nU3RlcHMpOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaDoKKwogMjAyMS0x
MC0xMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBT
Y3JvbGxpbmcgdGhyZWFkIGFuaW1hdGlvbnMgbmVlZCB0byBjb21taXQgbGF5ZXJzIG9uIHRoZSBz
Y3JvbGxpbmcgdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA3MTVkNWYwNzk2YTY1
ZDQ3MGRhOWVmMDNlMmJjYTkxNGQ2YjAyZGQxLi5hNGY4ZDQ3ZGQ2ZTBhZTBkZTUwODM3YjZjYzdj
MjljZTA0MjZkN2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ0OTYsNyArNDQ5Niw3
IEBAIHZvaWQgRG9jdW1lbnQ6OmZsdXNoQXV0b2ZvY3VzQ2FuZGlkYXRlcygpCiAgICAgICAgIC8v
IEZJWE1FOiBOZWVkIHRvIGlnbm9yZSBpZiB0aGUgaW5jbHVzaXZlIGFuY2VzdG9yIGRvY3VtZW50
cyBoYXMgYSB0YXJnZXQgZWxlbWVudC4KICAgICAgICAgLy8gRklYTUU6IFVzZSB0aGUgcmVzdWx0
IG9mIGdldHRpbmcgdGhlIGZvY3VzYWJsZSBhcmVhIGZvciBlbGVtZW50IGlmIGVsZW1lbnQgaXMg
bm90IGZvY3VzYWJsZS4KICAgICAgICAgaWYgKGVsZW1lbnQtPmlzRm9jdXNhYmxlKCkpIHsKLSAg
ICAgICAgICAgIG1fYXV0b2ZvY3VzQ2FuZGlkYXRlcy5jbGVhcigpOworICAgICAgICAgICAgY2xl
YXJBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CiAgICAgICAgICAgICBzZXRBdXRvZm9jdXNQcm9jZXNz
ZWQoKTsKICAgICAgICAgICAgIGVsZW1lbnQtPnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRvZm9jdXMo
KTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYTIyNTRkMTU4
ZTQzOTZhYTkxN2IyNTZiNzYwMjQxZGYwMGY2NmQ3Yi4uNmMyZjZkNWZiYTdkYmFkNTc4ODIyNGY1
Y2NiMjI3YmM5YjJhYmJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTc5MCw3ICs3OTAsOSBA
QCBwdWJsaWM6CiAKICAgICBib29sIGlzQXV0b2ZvY3VzUHJvY2Vzc2VkKCkgY29uc3QgeyByZXR1
cm4gbV9pc0F1dG9mb2N1c1Byb2Nlc3NlZDsgfQogICAgIHZvaWQgc2V0QXV0b2ZvY3VzUHJvY2Vz
c2VkKCkgeyBtX2lzQXV0b2ZvY3VzUHJvY2Vzc2VkID0gdHJ1ZTsgfQorCiAgICAgdm9pZCBhcHBl
bmRBdXRvZm9jdXNDYW5kaWRhdGUoRWxlbWVudCYpOworICAgIHZvaWQgY2xlYXJBdXRvZm9jdXND
YW5kaWRhdGVzKCkgeyBtX2F1dG9mb2N1c0NhbmRpZGF0ZXMuY2xlYXIoKTsgfQogICAgIHZvaWQg
Zmx1c2hBdXRvZm9jdXNDYW5kaWRhdGVzKCk7CiAKICAgICB2b2lkIGhvdmVyZWRFbGVtZW50RGlk
RGV0YWNoKEVsZW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERp
YWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5j
cHAKaW5kZXggNTI1YzMyZTFlOWQ1ODgxZGRjMDNiZWVjOWNlMzQ5OTdiNjE1ZmIwMi4uOTQxNDc0
YzgyMjA4YzJmZmE2YjExZjU3ODQ3MTNkY2E3ODdjN2VkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTI1LDggKzI1LDEwIEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgorI2luY2x1ZGUgIkVsZW1l
bnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJFdmVudExvb3AuaCIKICNpbmNsdWRlICJFdmVudE5h
bWVzLmgiCisjaW5jbHVkZSAiRm9jdXNPcHRpb25zLmgiCiAKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtNDksNiArNTEsMTAgQEAg
dm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6c2hvdygpCiAgICAgICAgIHJldHVybjsKIAogICAgIHNl
dEJvb2xlYW5BdHRyaWJ1dGUob3BlbkF0dHIsIHRydWUpOworCisgICAgbV9wcmV2aW91c2x5Rm9j
dXNlZEVsZW1lbnQgPSBkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCk7CisKKyAgICBydW5Gb2N1
c2luZ1N0ZXBzKCk7CiB9CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxEaWFsb2dFbGVtZW50Ojpz
aG93TW9kYWwoKQpAQCAtNjgsNyArNzQsOSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBIVE1MRGlhbG9n
RWxlbWVudDo6c2hvd01vZGFsKCkKICAgICBpZiAoIWlzSW5Ub3BMYXllcigpKQogICAgICAgICBh
ZGRUb1RvcExheWVyKCk7CiAKLSAgICAvLyBGSVhNRTogQWRkIHN0ZXBzIDggJiA5IGZyb20gc3Bl
Yy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCisgICAgbV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQg
PSBkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCk7CisKKyAgICBydW5Gb2N1c2luZ1N0ZXBzKCk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtODgsNyArOTYsMTEgQEAgdm9pZCBIVE1MRGlhbG9n
RWxlbWVudDo6Y2xvc2UoY29uc3QgU3RyaW5nJiByZXN1bHQpCiAgICAgaWYgKGlzSW5Ub3BMYXll
cigpKQogICAgICAgICByZW1vdmVGcm9tVG9wTGF5ZXIoKTsKIAotICAgIC8vIEZJWE1FOiBBZGQg
c3RlcCA2IGZyb20gc3BlYy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCisgICAgaWYgKFJlZlB0ciBl
bGVtZW50ID0gc3RkOjpleGNoYW5nZShtX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCwgbnVsbHB0
cikuZ2V0KCk7IGVsZW1lbnQgJiYgZWxlbWVudC0+aXNDb25uZWN0ZWQoKSkgeworICAgICAgICBG
b2N1c09wdGlvbnMgb3B0aW9uczsKKyAgICAgICAgb3B0aW9ucy5wcmV2ZW50U2Nyb2xsID0gdHJ1
ZTsKKyAgICAgICAgZWxlbWVudC0+Zm9jdXMob3B0aW9ucyk7CisgICAgfQogCiAgICAgZG9jdW1l
bnQoKS5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6VXNlckludGVyYWN0aW9uLCBb
cHJvdGVjdGVkVGhpcyA9IEdDUmVhY2hhYmxlUmVmIHsgKnRoaXMgfV0gewogICAgICAgICBwcm90
ZWN0ZWRUaGlzLT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3Nl
RXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOwpA
QCAtMTA1LDYgKzExNyw0MyBAQCB2b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpxdWV1ZUNhbmNlbFRh
c2soKQogICAgIH0pOwogfQogCisvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRp
cGFnZS9pbnRlcmFjdGl2ZS1lbGVtZW50cy5odG1sI2RpYWxvZy1mb2N1c2luZy1zdGVwcwordm9p
ZCBIVE1MRGlhbG9nRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwcygpCit7CisgICAgaWYgKHJlbmRl
cmVyKCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS5lZmZlY3RpdmVJbmVydCgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBSZWZQdHI8RWxlbWVudD4gY29udHJvbDsKKyAgICBmb3IgKGF1dG8mIGVs
ZW1lbnQgOiBkZXNjZW5kYW50c09mVHlwZTxFbGVtZW50PigqdGhpcykpIHsKKyAgICAgICAgaWYg
KCFlbGVtZW50LmlzRm9jdXNhYmxlKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg
ICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoYXV0b2ZvY3VzQXR0cikpIHsKKyAgICAgICAgICAg
IGNvbnRyb2wgPSAmZWxlbWVudDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgLy8gRklYTUU6IFBvdGVudGlhbGx5IHJlbW92ZSB0aGlzIGFuZCBhZGp1c3QgcmVsYXRl
ZCBXUFRzIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvaHRtbC9wdWxsLzQxODQuCisg
ICAgICAgIGlmICghY29udHJvbCkKKyAgICAgICAgICAgIGNvbnRyb2wgPSAmZWxlbWVudDsKKyAg
ICB9CisKKyAgICBpZiAoIWNvbnRyb2wpCisgICAgICAgIGNvbnRyb2wgPSB0aGlzOworCisgICAg
aWYgKGNvbnRyb2wtPmlzRm9jdXNhYmxlKCkpCisgICAgICAgIGNvbnRyb2wtPnJ1bkZvY3VzaW5n
U3RlcHNGb3JBdXRvZm9jdXMoKTsKKyAgICBlbHNlCisgICAgICAgIGRvY3VtZW50KCkuc2V0Rm9j
dXNlZEVsZW1lbnQobnVsbHB0cik7CisKKyAgICBpZiAoIWNvbnRyb2wtPmRvY3VtZW50KCkuaXNT
YW1lT3JpZ2luQXNUb3BEb2N1bWVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWYgdG9w
RG9jdW1lbnQgPSBjb250cm9sLT5kb2N1bWVudCgpLnRvcERvY3VtZW50KCk7CisgICAgdG9wRG9j
dW1lbnQtPmNsZWFyQXV0b2ZvY3VzQ2FuZGlkYXRlcygpOworICAgIHRvcERvY3VtZW50LT5zZXRB
dXRvZm9jdXNQcm9jZXNzZWQoKTsKK30KKwogdm9pZCBIVE1MRGlhbG9nRWxlbWVudDo6cmVtb3Zl
ZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kZSYgb2xk
UGFyZW50T2ZSZW1vdmVkVHJlZSkKIHsKICAgICBIVE1MRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNl
c3RvcihyZW1vdmFsVHlwZSwgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxEaWFsb2dFbGVtZW50LmgKaW5kZXggNDcxYTZiM2RkY2VmNjQxODBhZDI0NTM1ZTI4
NDY1NjBmZWNlZDYxZC4uYzQ0OTNjYzJmNzk1NGU3OWU1Njg1NTU2NTAxYmQ0NjJmODA5Yjc0YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaApAQCAtNDcsNiArNDcsOCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHF1ZXVlQ2FuY2VsVGFzaygpOwogCisgICAgdm9pZCBydW5G
b2N1c2luZ1N0ZXBzKCk7CisKIHByaXZhdGU6CiAgICAgSFRNTERpYWxvZ0VsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTU0LDYgKzU2LDcgQEAgcHJpdmF0ZToK
IAogICAgIFN0cmluZyBtX3JldHVyblZhbHVlOwogICAgIGJvb2wgbV9pc01vZGFsIHsgZmFsc2Ug
fTsKKyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4NzEwYmUzN2RiNTYyNTY2Y2M5NjVi
OGY0YzMwZDA0Njc5NDhhYjIuLjAyZGYwZGNlOTEwNzIyOTI2NmFiMTBhODFhYjExMDQ2ZWY4OGUy
OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMC0xMyAgVGltIE5ndXllbiAgPG50aW1A
YXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCA8ZGlhbG9nPiBmb2N1c2luZyBzdGVwcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTM3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3RpdmUtZWxlbWVudHMuaHRtbCNkaWFs
b2ctZm9jdXNpbmctc3RlcHMKKworICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50
eHQ6IEFkZGVkICh0ZXN0X2RyaXZlci5zZW5kX2tleXMgbm90IHdvcmtpbmcgb24gaU9TKQorCiAy
MDIxLTEwLTEyICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZD
XVtJRkNdIERvIG5vdCBjb2xsYXBzZSB3aGl0ZXNwYWNlIHdpdGggemVyby13aWR0aCBzcGFjZSBz
ZXBhcmF0b3IgaW4tYmV0d2VlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMzA5
YmRkMTc5N2E0ODE2MjNiNWRmMzJjMGZjZTQwNGMxMmVjMWNlMC4uODlkZDBlNWU1N2Q3ZjgwOGZl
MDExNDUwOTMyNDRkM2I2MTAwYWUyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMjEtMTAtMTMgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4K
KworICAgICAgICBJbXBsZW1lbnQgPGRpYWxvZz4gZm9jdXNpbmcgc3RlcHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzUzNworCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3
Zy5vcmcvbXVsdGlwYWdlL2ludGVyYWN0aXZlLWVsZW1lbnRzLmh0bWwjZGlhbG9nLWZvY3VzaW5n
LXN0ZXBzCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9p
bnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1q
dXN0LW9uY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9n
LWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFs
b2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtaW5wdXQtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctZm9jdXNpbmctc3RlcHMtcHJl
dmVudC1hdXRvZm9jdXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQv
ZGlhbG9nLXNob3dNb2RhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxl
bWVudC9zaG93LW1vZGFsLWZvY3VzaW5nLXN0ZXBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMC0x
MiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFdQ
VCB0ZXN0IGdhcmRlbmluZyBmb3IgZm9udCBwYWxldHRlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ct
YXV0b2ZvY3VzLWV4cGVjdGVkLnR4dAppbmRleCA2MDQzM2UyOWNiMGViMWU1ZGIwNGNkZWE1MTRk
NWUyNTM5ODQ1ZmMxLi4xYTI0ZGUwMDgwOTVkNThmNjMxNTgzZDE4MDg1NDVlNGZmZGRmM2I1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFs
b2ctYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3Ro
ZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDQgQEAKIAogCi0KLQotRkFJTCBhdXRvZm9jdXMgd2hlbiBhIG1vZGFsIGRpYWxvZyBpcyBvcGVu
ZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxidXR0b24gaWQ9ImF1dG9m
b2N1cy1idXR0b24iIGF1dG9mb2N1cz0iIj48L2J1dHRvbj4gYnV0IGdvdCBFbGVtZW50IG5vZGUg
PGJ1dHRvbiBpZD0ib3V0ZXItYnV0dG9uIiBhdXRvZm9jdXM9IiI+PC9idXR0b24+CitQQVNTIGF1
dG9mb2N1cyB3aGVuIGEgbW9kYWwgZGlhbG9nIGlzIG9wZW5lZAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2lu
dGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1
c3Qtb25jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ct
ZWxlbWVudC9kaWFsb2ctYXV0b2ZvY3VzLWp1c3Qtb25jZS1leHBlY3RlZC50eHQKaW5kZXggMzNm
YzZkOTRhNTM3YTA2ZGFmYmM5OGMwM2U2NmZiMzYzMWUzNTBkNC4uMTgxNjNlYjk3MzI5MDhmOTZj
NWEzMDcyNzQyZThkN2U3NWFhNzI4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1qdXN0LW9uY2UtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxv
Zy1hdXRvZm9jdXMtanVzdC1vbmNlLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDQgQEAKIAogCi1G
QUlMIEFuIGF1dG9mb2N1cyBlbGVtZW50IGluIGEgZGlhbG9nIGVsZW1lbnQgc2hvdWxkIG5vdCB0
cnkgdG8gZ2V0IGZvY3VzIHR3aWNlLiBhc3NlcnRfZXF1YWxzOiBkaWFsb2cuc2hvdygpIHNob3Vs
ZCBzZXQgZm9jdXMgb24gYSBkZXNjZW5kYW50IGVsZW1lbnQgd2l0aCBhbiBhdXRvZm9jdXMgYXR0
cmlidXRlLiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGlucHV0IGF1dG9mb2N1cz0iIj48L2lucHV0
PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8Ym9keT4KLTxkaWFsb2cgb3Blbj0iIj4KLTxpbnB1dD4K
LTxpbnB1dCBhdXRvZm9jdXM9IiI+Ci08L2RpLi4uCitQQVNTIEFuIGF1dG9mb2N1cyBlbGVtZW50
IGluIGEgZGlhbG9nIGVsZW1lbnQgc2hvdWxkIG5vdCB0cnkgdG8gZ2V0IGZvY3VzIHR3aWNlLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9k
aWFsb2ctYXV0b2ZvY3VzLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUt
dGltZXMtZXhwZWN0ZWQudHh0CmluZGV4IDA0NTEwN2E4M2M4MjRjYWIwMzc1YTM1MWEwYWZmMGJl
MTRiNjY2MDkuLmU1MDYwOTBmNmY3NjNmYzc1Njg3YzNhY2JjMGU4ZWFjNGVlZTBiNjIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1h
dXRvZm9jdXMtbXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUt
ZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1hdXRvZm9jdXMtbXVsdGlwbGUtdGlt
ZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgYXV0b2ZvY3VzIGlzIHJ1
biBldmVyeSB0aW1lIGEgZGlhbG9nIGlzIG9wZW5lZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBF
bGVtZW50IG5vZGUgPGlucHV0IGlkPSJpbnB1dDIiIGF1dG9mb2N1cz0iIj48L2lucHV0PiBidXQg
Z290IEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJvdXRlci1idXR0b24iIGF1dG9mb2N1cz0iIj48
L2J1dHRvbj4KK1BBU1MgYXV0b2ZvY3VzIGlzIHJ1biBldmVyeSB0aW1lIGEgZGlhbG9nIGlzIG9w
ZW5lZAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxl
bWVudC9kaWFsb2ctY2FuY2VsLXdpdGgtaW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2
ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLWlucHV0LWV4
cGVjdGVkLnR4dAppbmRleCAwNDhkMTVkNTBhZDlmY2NiNTM4MWVhZTZhNDEzMDk3MGQwMzg1MmNj
Li5iYzBmM2E5Y2UwODlkN2VhMzI5NmE1NjBlMzE3ZjFiMzU1YmU3YzJkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctY2FuY2VsLXdp
dGgtaW5wdXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRp
YWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1pbnB1dC1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw1IEBACi1DT05TT0xFIE1FU1NBR0U6IEVycm9yOiBhc3NlcnRfdHJ1ZTogaW5wdXQgZWxl
bWVudCBzaG91bGQgYmUgZm9jdXNlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogVGVzdCBkaWFs
b2cgbW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0aCBpbnB1dCBmb2N1c2VkCiAKIAot
Ci1GQUlMIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBlc2NhcGUga2V5IHdpdGggaW5w
dXQgZm9jdXNlZCBFcnJvcjogYXNzZXJ0X3RydWU6IGlucHV0IGVsZW1lbnQgc2hvdWxkIGJlIGZv
Y3VzZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgVGVzdCBkaWFsb2cgbW9kYWwgaXMg
Y2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0aCBpbnB1dCBmb2N1c2VkCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
aW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0
aC1zZWxlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9n
LWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50eHQKaW5kZXggM2Yz
Yjk0NjZjYWViODBkNGI3YWU4MzdiYTg1MTFkZGY4YzBlNDFlYi4uMWJmZDJlOWI2ZjhkODE3MmJm
ZGFkNDZhZmU5Yjg2YjRhOGRlNDZlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50
cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9n
LWNhbmNlbC13aXRoLXNlbGVjdC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw1IEBACi1DT05TT0xF
IE1FU1NBR0U6IEVycm9yOiBhc3NlcnRfdHJ1ZTogc2VsZWN0IGVsZW1lbnQgc2hvdWxkIGJlIGZv
Y3VzZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3Nl
ZCBieSBlc2NhcGUga2V5IHdpdGggc2VsZWN0IGZvY3VzZWQKIAogCi0KLUZBSUwgVGVzdCBkaWFs
b2cgbW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2FwZSBrZXkgd2l0aCBzZWxlY3QgZm9jdXNlZCBFcnJv
cjogYXNzZXJ0X3RydWU6IHNlbGVjdCBlbGVtZW50IHNob3VsZCBiZSBmb2N1c2VkIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitQQVNTIFRlc3QgZGlhbG9nIG1vZGFsIGlzIGNsb3NlZCBieSBlc2Nh
cGUga2V5IHdpdGggc2VsZWN0IGZvY3VzZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1l
bGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBzLXByZXZlbnQt
YXV0b2ZvY3VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L2RpYWxvZy1mb2N1c2luZy1zdGVwcy1wcmV2ZW50LWF1dG9mb2N1cy1leHBlY3Rl
ZC50eHQKaW5kZXggY2E3YzMxN2M0YjcxZjFlZTk5MmEzYzBiMDdiZjU2MDQ0OTZhOWUxOS4uY2I2
NWNjMTQxZDI1ZWY3NDQyZmYxNzllOWM4NzI2NjdkMjhjOGEyNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWZvY3VzaW5nLXN0ZXBz
LXByZXZlbnQtYXV0b2ZvY3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1l
bnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctZm9jdXNpbmctc3RlcHMtcHJldmVudC1hdXRv
Zm9jdXMtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNCBAQAogCiAKLUZBSUwgQWZ0ZXIgc2hvd2lu
ZyBhIGRpYWxvZywgbm9uLWRpYWxvZyBhdXRvZm9jdXMgcHJvY2Vzc2luZyB3b24ndCB3b3JrLiBh
c3NlcnRfZXF1YWxzOiBOb24tZGlhbG9nIGF1dG9mb2N1cyBwcm9jZXNzaW5nIHNob3VsZCBiZSBz
a2lwcGVkLiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGJvZHk+Ci08aW5wdXQgYXV0b2ZvY3VzPSIi
PjxkaWFsb2c+PC9kaWFsb2c+Ci08c2NyaXB0PgotLy8gLi4uIGJ1dCBnb3QgRWxlbWVudCBub2Rl
IDxpbnB1dCBhdXRvZm9jdXM9IiI+PC9pbnB1dD4KK1BBU1MgQWZ0ZXIgc2hvd2luZyBhIGRpYWxv
Zywgbm9uLWRpYWxvZyBhdXRvZm9jdXMgcHJvY2Vzc2luZyB3b24ndCB3b3JrLgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVudC9kaWFsb2ctc2hv
d01vZGFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1l
bGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0CmluZGV4IDgzOTA5MWU5MjJiMjI5
ZjMxYjNjODE2ODIxZGFkNWNhMDI3OTQ5ZDMuLmU5MWZhMGMzNWFjMWFmMjI1YzIxMjBiNmMwYTQy
MjU1ZWQ4MzczYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxv
Zy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1zaG93TW9kYWwtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE3ICsxLDExIEBACiAKLUZBSUwgZGlhbG9nIGVsZW1lbnQ6IHNob3dNb2RhbCgp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJiMSI+T0s8
L2J1dHRvbj4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJvZHk+PGRpdiBpZD0ibG9nIj48L2Rpdj4K
LTxidXR0b24gaWQ9ImIwIj5PSzwvYnV0dG9uPgotPGQuLi4KK1BBU1MgZGlhbG9nIGVsZW1lbnQ6
IHNob3dNb2RhbCgpCiBQQVNTIHNob3dNb2RhbCgpIG9uIGEgPGRpYWxvZz4gdGhhdCBhbHJlYWR5
IGhhcyBhbiBvcGVuIGF0dHJpYnV0ZSB0aHJvd3MgYW4gSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0
aW9uCiBQQVNTIHNob3dNb2RhbCgpIG9uIGEgPGRpYWxvZz4gYWZ0ZXIgaW5pdGlhbCBzaG93TW9k
YWwoKSBhbmQgcmVtb3ZpbmcgdGhlIG9wZW4gYXR0cmlidXRlCiBQQVNTIHNob3dNb2RhbCgpIG9u
IGEgPGRpYWxvZz4gbm90IGluIGEgRG9jdW1lbnQgdGhyb3dzIGFuIEludmFsaWRTdGF0ZUVycm9y
IGV4Y2VwdGlvbgogUEFTUyB3aGVuIG9wZW5pbmcgbXVsdGlwbGUgZGlhbG9ncywgb25seSB0aGUg
bmV3ZXN0IG9uZSBpcyBub24taW5lcnQKIFBBU1Mgb3BlbmluZyBkaWFsb2cgd2l0aG91dCBmb2N1
c2FibGUgY2hpbGRyZW4KLUZBSUwgb3BlbmluZyBkaWFsb2cgd2l0aCBtdWx0aXBsZSBmb2N1c2Fi
bGUgY2hpbGRyZW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1dCBp
ZD0iaTcxIiB2YWx1ZT0iZm9vYmFyIj48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8Ym9k
eT48ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGJ1dHRvbiBpZD0iYjAiPk9LPC9idXR0b24+Ci08ZC4u
LgotRkFJTCBvcGVuaW5nIGRpYWxvZyB3aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbiwg
b25lIGhhdmluZyB0aGUgYXV0b2ZvY3VzIGF0dHJpYnV0ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBFbGVtZW50IG5vZGUgPGlucHV0IGlkPSJpODIiIHZhbHVlPSJmb29iYXIiIGF1dG9mb2N1cz0i
Ij48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8Ym9keT48ZGl2IGlkPSJsb2ciPjwvZGl2
PgotPGJ1dHRvbiBpZD0iYjAiPk9LPC9idXR0b24+Ci08ZC4uLgorUEFTUyBvcGVuaW5nIGRpYWxv
ZyB3aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbgorUEFTUyBvcGVuaW5nIGRpYWxvZyB3
aXRoIG11bHRpcGxlIGZvY3VzYWJsZSBjaGlsZHJlbiwgb25lIGhhdmluZyB0aGUgYXV0b2ZvY3Vz
IGF0dHJpYnV0ZQogUEFTUyB3aGVuIG9wZW5pbmcgbXVsdGlwbGUgZGlhbG9ncywgdGhlIG1vc3Qg
cmVjZW50bHkgb3BlbmVkIGlzIHJlbmRlcmVkIG9uIHRvcAogT0sKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2ZvY3VzLWFmdGVyLWNsb3NlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L2Zv
Y3VzLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAppbmRleCBlNDY0NTA1ODQ4M2UwMGFmOGY0YjBl
MDRmYjAxNDMyOGY3YTgwYjg2Li41ZmM1MGRlYjc4OTExMjNhMjQ2OTM3MmQzZDc3YjlmMzdmM2Qw
YzY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kaWFsb2ctZWxlbWVu
dC9mb2N1cy1hZnRlci1jbG9zZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVt
ZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZm9jdXMtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0CkBA
IC0yLDEwICsyLDcgQEAKIAogCiBQQVNTIEZvY3VzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgcHJl
dmlvdXNseSBmb2N1c2VkIGVsZW1lbnQoU2ltcGxlIGRpYWxvZyB1c2FnZSkKLUZBSUwgRm9jdXMg
c2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudChDb21wbGV4
IGRpYWxvZyB1c2FnZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxpbnB1
dD48L2lucHV0PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8Ym9keT4KLQotPGRpYWxvZz4KLSAgICA8
YnV0dG9uIGlkPSJidXR0b24xIj5UaGlzIGlzIGEgYnV0dG8uLi4KK1BBU1MgRm9jdXMgc2hvdWxk
IGJlIG1vdmVkIHRvIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudChDb21wbGV4IGRpYWxv
ZyB1c2FnZSkKIFBBU1MgRm9jdXMgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBib2R5IGlmIHRoZSBw
cmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudCBpcyByZW1vdmVkCiBQQVNTIEZvY3VzIHNob3VsZCBi
ZSBtb3ZlZCB0byB0aGUgc2hhZG93IERPTSBob3N0IGlmIHRoZSBwcmV2aW91bHkgZm9jdXNlZCBl
bGVtZW50IGlzIGEgc2hhZG93IERPTSBub2RlCiBGQUlMIEZvY3VzIHNob3VsZCBub3Qgc2Nyb2xs
IGlmIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudCBpcyBvdXRzaWRlIHRoZSB2aWV3cG9y
dCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRpYWxvZy1lbGVtZW50L3Nob3ctbW9kYWwtZm9jdXNpbmct
c3RlcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVs
ZW1lbnQvc2hvdy1tb2RhbC1mb2N1c2luZy1zdGVwcy1leHBlY3RlZC50eHQKaW5kZXggZDQ5Mzkz
MzkxNjQ5ODNmZjEyZmQ3YTJkZTEzMWMwZDQ2OGQxMTYxOS4uOGIxMGM2Yzg2ZTExZWE2NTgwNmEx
MzBiZmU1ZjIyZjIwMmYxOTcwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGlhbG9nLWVsZW1lbnQvc2hvdy1tb2RhbC1mb2N1c2luZy1zdGVwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvc2hvdy1tb2Rh
bC1mb2N1c2luZy1zdGVwcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw0IEBACiAKIAotRkFJTCBm
b2N1cyB3aGVuIGEgbW9kYWwgZGlhbG9nIGlzIG9wZW5lZCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCBFbGVtZW50IG5vZGUgPGJvZHk+Ci08YnV0dG9uIGlkPSJvdXRlci1idXR0b24iIGF1dG9mb2N1
cz0iIj48L2J1dHRvbj4KLTwuLi4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0ib3V0
ZXItYnV0dG9uIiBhdXRvZm9jdXM9IiI+PC9idXR0b24+CitQQVNTIGZvY3VzIHdoZW4gYSBtb2Rh
bCBkaWFsb2cgaXMgb3BlbmVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWNhbmNlbC13aXRoLXNl
bGVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxlY3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQxMmNlMzliZTBhYjYxMzc3MGUzMWU4MWZjMjA4ZDE3MDE5Yzc1MDIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVu
dHMvdGhlLWRpYWxvZy1lbGVtZW50L2RpYWxvZy1jYW5jZWwtd2l0aC1zZWxlY3QtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsOCBAQAorVGVzdCBkaWFsb2cgbW9kYWwgaXMgY2xvc2VkIGJ5IGVzY2Fw
ZSBrZXkgd2l0aCBzZWxlY3QgZm9jdXNlZAorCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCks
IG1lc3NhZ2UgPSBudWxsCisKK05PVFJVTiBUZXN0IGRpYWxvZyBtb2RhbCBpcyBjbG9zZWQgYnkg
ZXNjYXBlIGtleSB3aXRoIHNlbGVjdCBmb2N1c2VkCisK
</data>
<flag name="review"
          id="465294"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>