<?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>234077</bug_id>
          
          <creation_ts>2021-12-09 05:44:31 -0800</creation_ts>
          <short_desc>[selectors] :focus-visible not matching on accessKey focus after focusing something via mouse</short_desc>
          <delta_ts>2022-02-04 14:54:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>72359</dependson>
          <blocked>185859</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Manuel Rego Casasnovas">rego</reporter>
          <assigned_to name="Manuel Rego Casasnovas">rego</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>pangle</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1822086</commentid>
    <comment_count>0</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2021-12-09 05:44:31 -0800</bug_when>
    <thetext>We&apos;ve a problem in :focus-visible implementation, when we call Element::focus() if we had previously focused something via mouse click, we might not be setting &quot;FocusVisibility::Visible&quot; for things that are expected to have it.

Example:
  &lt;div tabindex=&quot;0&quot;&gt;foo&lt;/div&gt;
  &lt;div tabindex=&quot;0&quot; accessKey=&quot;B&quot;&gt;bar&lt;/div&gt;

If you first focus the &quot;foo&quot; element via mouse click, and then use &quot;Alt+B&quot; to focus the &quot;bar&quot; element, the &quot;bar&quot; element doesn&apos;t match :focus-visible, when it should.
The problem is that by default when you use &quot;Alt+B&quot;, document-&gt;wasLastFocusByClick() is FALSE, so we set FocusVisibility::Visible manually in Element::focus(). But when we do that after clicking a focusable element, document-&gt;wasLastFocusByClick() is TRUE so we don&apos;t set FocusVisibility::Visible.

We should always match :focus-visible in the &quot;bar&quot; element in when accessing it with the accessKey.


JFYI, we were experiencing a similar issue before the patch on bug #233924 for SELECT element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823470</commentid>
    <comment_count>1</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2021-12-13 04:23:18 -0800</bug_when>
    <thetext>The problem here is related to this code in Element::focus():
        FocusOptions optionsWithVisibility = options;
        if (!document-&gt;wasLastFocusByClick())
            optionsWithVisibility.visibility = FocusVisibility::Visible;

That code is needed to make focus-visible-script-focus-* tests to pass.
Basically when you have clicked on a focusable element (maybe a &lt;div tabindex&gt; or a &lt;button&gt; on Linux) if the event handler of that click, focuses something else (e.g. something in a dialog that it opens), you shouldn&apos;t not get a focus-ring in the newly focused element.

The problem is that this Element::focus() is used from JavaScript focus(), but is also used in many other places internally.
For all those internal usages, we&apos;re getting this behavior that might be not correct (depending on if the previous focused element was focused by click or not).
One of those places is accessKeyAction() methods, for them we always want to show focus-visible, so we don&apos;t care about if the last focused element was by click or not.

I&apos;m not sure what&apos;s the best way we can differentiate if Element::focus() has been called from JavaScript, or it has been called internally.
One idea could be to have a Element::internalFocus() that we only use internally, and keep Element::focus() only for script focus.
Another could be adding a new FocusTrigger::Internal, and pass it properly in all the internal callers to Element::focus().
Not really sure what&apos;s the best approach, or if there are better alternatives.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824729</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-16 05:45:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/86572561&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827051</commentid>
    <comment_count>3</comment_count>
      <attachid>448040</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2021-12-28 01:16:15 -0800</bug_when>
    <thetext>Created attachment 448040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827626</commentid>
    <comment_count>4</comment_count>
      <attachid>448205</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-02 22:15:41 -0800</bug_when>
    <thetext>Created attachment 448205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827630</commentid>
    <comment_count>5</comment_count>
      <attachid>448207</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-02 22:44:40 -0800</bug_when>
    <thetext>Created attachment 448207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827649</commentid>
    <comment_count>6</comment_count>
      <attachid>448207</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-03 00:54:21 -0800</bug_when>
    <thetext>Comment on attachment 448207
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1947
&gt; +        downcast&lt;Element&gt;(*node).focus({ { }, { }, { }, FocusTrigger::Internal, { } });

This is pretty ugly and done in many places. Maybe Internal should be the default value as I think it is the common case.

&gt; Source/WebCore/dom/FocusOptions.h:35
&gt; -enum class FocusTrigger : bool { Other, Click };
&gt; +enum class FocusTrigger : uint8_t { Other, Click, Internal };

I don&apos;t really understand what Other now means. Internal seems to be the JS API, autofocus and similar. It also seems to be used for keyboard focus. Can Other be named to indicate what it specifically does?

Also Internal could use a more specific name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827650</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-03 00:55:37 -0800</bug_when>
    <thetext>&gt; Can Other be named to indicate what it specifically does?

I mean indicate what cases it is used in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827652</commentid>
    <comment_count>8</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-03 01:17:33 -0800</bug_when>
    <thetext>Thanks for the review.

(In reply to Antti Koivisto from comment #6)
&gt; Comment on attachment 448207 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448207&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1947
&gt; &gt; +        downcast&lt;Element&gt;(*node).focus({ { }, { }, { }, FocusTrigger::Internal, { } });
&gt; 
&gt; This is pretty ugly and done in many places. Maybe Internal should be the
&gt; default value as I think it is the common case.

Yeah I agree. I don&apos;t like the solution. That&apos;s why I was asking for ideas in #c1. Not sure if the other idea there would look better.

They key is that we need to differentiate from when a web page does &quot;element.focus()&quot; in JavaScript (and thus call Element::focus()) vs when we call Element::focus() manually in some WebKit code.
I don&apos;t know if it&apos;s possible to distinguish if Element::focus() has been called from JavaScript or internally. If we set the default to &quot;Internal&quot;, then we won&apos;t be able to set it to &quot;Other&quot; (maybe we should call this &quot;Script&quot;) when it&apos;s called from JavaScript.
Do you have any idea about the best way to differentiate both cases?

&gt; &gt; Source/WebCore/dom/FocusOptions.h:35
&gt; &gt; -enum class FocusTrigger : bool { Other, Click };
&gt; &gt; +enum class FocusTrigger : uint8_t { Other, Click, Internal };
&gt; 
&gt; I don&apos;t really understand what Other now means. Internal seems to be the JS
&gt; API, autofocus and similar. It also seems to be used for keyboard focus. Can
&gt; Other be named to indicate what it specifically does?
&gt; 
&gt; Also Internal could use a more specific name.

Yeah the naming is not great, let&apos;s see if we agreed on a general approach to fix this before thinking on good names for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827655</commentid>
    <comment_count>9</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-03 01:28:33 -0800</bug_when>
    <thetext>Maybe have focusForBindings() (with [ImplementedAs=focusForBindings] in IDL) for the DOM API version and keep focus() as the internal call?

The technical approach seems fine in itself but I think it could be less confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827670</commentid>
    <comment_count>10</comment_count>
      <attachid>448219</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-03 03:03:39 -0800</bug_when>
    <thetext>Created attachment 448219
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827671</commentid>
    <comment_count>11</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-03 03:04:37 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #9)
&gt; Maybe have focusForBindings() (with [ImplementedAs=focusForBindings] in IDL)
&gt; for the DOM API version and keep focus() as the internal call?

Thank you very much, that&apos;s what I was looking for. This makes the patch way simpler and easier to read and understand.

I&apos;ve uploaded a new version of the patch using that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827685</commentid>
    <comment_count>12</comment_count>
      <attachid>448219</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-03 04:16:07 -0800</bug_when>
    <thetext>Comment on attachment 448219
Patch

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

&gt; Source/WebCore/dom/Element.h:429
&gt; +    virtual void focusForBindings(const FocusOptions&amp; = { });

Probably doesn&apos;t need default value.

&gt; Source/WebCore/dom/FocusOptions.h:35
&gt; +enum class FocusTrigger : uint8_t { Other, Click, JavaScriptBindings };

Just Bindings is enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827686</commentid>
    <comment_count>13</comment_count>
      <attachid>448219</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-03 04:16:58 -0800</bug_when>
    <thetext>Comment on attachment 448219
Patch

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

&gt; Source/WebCore/dom/Element.cpp:3102
&gt; +        if ((options.trigger == FocusTrigger::JavaScriptBindings) &amp;&amp; document-&gt;wasLastFocusByClick())

No need for () around the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827688</commentid>
    <comment_count>14</comment_count>
      <attachid>448219</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-03 04:26:37 -0800</bug_when>
    <thetext>Comment on attachment 448219
Patch

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

&gt; Source/WebCore/dom/Element.cpp:3122
&gt; +void Element::focusForBindings(const FocusOptions&amp; options)
&gt; +{
&gt; +    FocusOptions optionsWithTrigger = options;
&gt; +    optionsWithTrigger.trigger = FocusTrigger::JavaScriptBindings;
&gt; +    focus(optionsWithTrigger);
&gt; +}

Maybe the function can take FocustOptions&amp;&amp; and you don&apos;t need to make a copy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827888</commentid>
    <comment_count>15</comment_count>
      <attachid>448275</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-04 03:07:14 -0800</bug_when>
    <thetext>Created attachment 448275
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827890</commentid>
    <comment_count>16</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-04 03:07:51 -0800</bug_when>
    <thetext>Thanks for the review, uploaded new version applying the suggested changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827894</commentid>
    <comment_count>17</comment_count>
      <attachid>448275</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-01-04 04:09:57 -0800</bug_when>
    <thetext>Comment on attachment 448275
Patch for landing

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

&gt; LayoutTests/ChangeLog:12
&gt; +        Writing an internal test as WPT tests for this don&apos;t work due to webkit.org/b/234139.
&gt; +
&gt; +        * fast/selectors/focus-visible-accesskey-expected.txt: Added.
&gt; +        * fast/selectors/focus-visible-accesskey.html: Added.

This patch is missing the test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827901</commentid>
    <comment_count>18</comment_count>
      <attachid>448275</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-04 04:36:56 -0800</bug_when>
    <thetext>Comment on attachment 448275
Patch for landing

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

&gt;&gt; LayoutTests/ChangeLog:12
&gt;&gt; +        * fast/selectors/focus-visible-accesskey.html: Added.
&gt; 
&gt; This patch is missing the test case.

Oops, yeah it was not included (my mistake sorry).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827902</commentid>
    <comment_count>19</comment_count>
      <attachid>448283</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-01-04 04:37:30 -0800</bug_when>
    <thetext>Created attachment 448283
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827908</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-04 05:30:19 -0800</bug_when>
    <thetext>Committed r287563 (245698@main): &lt;https://commits.webkit.org/245698@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448283.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828470</commentid>
    <comment_count>21</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2022-01-05 17:21:30 -0800</bug_when>
    <thetext>The test added with this change is failing on iOS: https://results.webkit.org/?suite=layout-tests&amp;test=fast%2Fselectors%2Ffocus-visible-accesskey.html

Disabled it in r287662.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837607</commentid>
    <comment_count>22</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-04 14:54:02 -0800</bug_when>
    <thetext>This change should be present in STP 139, iOS 15.4 Beta, and macOS 12.3 Beta.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448040</attachid>
            <date>2021-12-28 01:16:15 -0800</date>
            <delta_ts>2022-01-02 22:15:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234077-20211228101613.patch</filename>
            <type>text/plain</type>
            <size>23047</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NDU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzc3MDk2ZjA2YzcyZmVh
MmZjMWUwMzk0MDIyMzg5MWVlZGJmZGM4MC4uODAyMDNiMzE1ZGFmNDE5OGUzYWQxMWU1ODMwMDIz
MzA4ZWE5MTQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDIxLTEyLTI4ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtzZWxlY3Rv
cnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NLZXkgZm9jdXMgYWZ0ZXIg
Zm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjU3
MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIGFkZHMgYSBuZXcgdmFsdWUgY2FsbGVkICJJbnRlcm5hbCIgdG8gRm9jdXNUcmln
Z2VyIGVudW0uCisgICAgICAgIFRoYXQgd2F5IHdlIGNhbiBkaWZmZXJlbnRpYXRlIHdoZW4gRWxl
bWVudDo6Zm9jdXMoKSBoYXMgYmVlbiBjYWxsZWQgZnJvbSBzb21lIGludGVybmFsIGNvZGUKKyAg
ICAgICAgb3IgZnJvbSBKYXZhU2NyaXB0IGJ5IHRoZSB3ZWIgYXV0aG9yLgorCisgICAgICAgIFdo
ZW4gRWxlbWVudDo6Zm9jdXMoKSBoYXMgYmVlbiBjYWxsZWQgaW50ZXJuYWxseSwgd2UgYWx3YXlz
IHdhbnQgdG8gc2hvdyB0aGUgZm9jdXMgcmluZworICAgICAgICAodGh1cyBwYXNzIEZvY3VzVmlz
aWJpbGl0eTo6VmlzaWJsZSkuIEhvd2V2ZXIgd2hlbiBpdCdzIGNhbGxlZCBmcm9tIGEgc2NyaXB0
CisgICAgICAgIHdlJ2xsIHNldCBpdCB0byBWaXNpYmxlIG9yIEludmlzaWJsZSBkZXBlbmRpbmcg
b24gaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50CisgICAgICAgIHdhcyBmb2N1c2Vk
IHZpYSBtb3VzZSBjbGljayBvciBub3QgKHRoaXMgaXMgbmVlZGVkIHRvIHBhc3MKKyAgICAgICAg
dGhlIGNzcy9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1zY3JpcHQtZm9jdXMtKiB0ZXN0cyBmcm9t
IFdQVCByZXBvc2l0b3J5KS4KKworICAgICAgICBUZXN0OiBmYXN0L3NlbGVjdG9ycy9mb2N1cy12
aXNpYmxlLWFjY2Vzc2tleS5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6c2V0Rm9jdXNlZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6CisgICAgICAgICogZG9tL0ZvY3VzT3B0
aW9ucy5oOgorICAgICAgICAqIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEJ1dHRvbkVsZW1lbnQ6OmFjY2Vzc0tleUFjdGlvbik6CisgICAgICAgICog
aHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9n
RWxlbWVudDo6Y2xvc2UpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2lu
Z1N0ZXBzRm9yQXV0b2ZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OmZvY3VzQW5kU2hvd1ZhbGlkYXRpb25NZXNzYWdlKToKKyAgICAgICAgKiBodG1sL0hU
TUxMYWJlbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50
Ojpmb2N1cyk6CisgICAgICAgICogaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTGVnZW5kRWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAqIGh0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6
OmFjY2Vzc0tleUFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6
cGxhdGZvcm1IYW5kbGVLZXlkb3duRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MU2VsZWN0RWxlbWVudDo6bGlzdEJveERlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAg
ICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VGV4dEFyZWFFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24pOgorICAgICAgICAqIGh0bWwvSW5wdXRU
eXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6YWNjZXNzS2V5QWN0aW9uKToK
KyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0RmllbGRJbnB1dFR5cGU6OmZvY3VzQW5kU2VsZWN0U3BpbkJ1dHRvbk93bmVyKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGVUaW1lRWRpdEVsZW1lbnQ6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpE
YXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c09uTmV4dEZvY3VzYWJsZUZpZWxkKToKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzT25QcmV2aW91c0ZpZWxkKToKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6
OmZvY3VzKToKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0luRG9jdW1lbnRPcmRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFs
bHlJbkNvbnRhaW5lcik6CisKIDIwMjEtMTItMjYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW2ExMXldIFRlc3QgYWNjZXNzaWJpbGl0
eS9hcmlhLWluaGVyaXRzLXByZXNlbnRhdGlvbmFsLmh0bWwgaXMgZmFpbGluZyB3aXRoIEFUU1BJ
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA4NDdkZTE2ZGI2MjMwMTg4ZjFiYjg3ZWUzMmIyNjcz
MWY0ZTgzOWQ2Li4yYTMzMzQ5ZThjMmRmMjU4MmE4YTIwZmQzZTAwMTAwNmYxNjYxZmVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTE5NDQsNyArMTk0NCw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6c2V0Rm9jdXNlZChib29sIG9uKQogICAgIC8vIElmIHdlIHJldHVybiBm
cm9tIHNldEZvY3VzZWRFbGVtZW50IGFuZCBvdXIgZWxlbWVudCBoYXMgYmVlbiByZW1vdmVkIGZy
b20gYSB0cmVlLCBheE9iamVjdENhY2hlKCkgbWF5IGJlIG51bGwuCiAgICAgaWYgKEFYT2JqZWN0
Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKSB7CiAgICAgICAgIGNhY2hlLT5zZXRJc1N5
bmNocm9uaXppbmdTZWxlY3Rpb24odHJ1ZSk7Ci0gICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+KCpu
b2RlKS5mb2N1cygpOworICAgICAgICBkb3duY2FzdDxFbGVtZW50Pigqbm9kZSkuZm9jdXMoeyB7
IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAgIGNh
Y2hlLT5zZXRJc1N5bmNocm9uaXppbmdTZWxlY3Rpb24oZmFsc2UpOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAppbmRleCA5ZTRiOTVmZmY5YWM0MWMxNGRhNTE3YjE2NGM3YmI4M2FiMzcz
ZWM2Li5hYTQ3YjIwNTk2YzJmZTc0M2VkYWI1ZTliN2RhMGNkZDMwMWEzODk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCkBAIC0zMTAwLDcgKzMxMDAsOSBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGNv
bnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBGb2N1c09wdGlvbnMgb3B0aW9uc1dpdGhWaXNpYmlsaXR5ID0gb3B0aW9uczsKLSAgICAgICAg
aWYgKCFkb2N1bWVudC0+d2FzTGFzdEZvY3VzQnlDbGljaygpKQorICAgICAgICBpZiAoKG9wdGlv
bnMudHJpZ2dlciA9PSBGb2N1c1RyaWdnZXI6Ok90aGVyKSAmJiBkb2N1bWVudC0+d2FzTGFzdEZv
Y3VzQnlDbGljaygpKQorICAgICAgICAgICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2liaWxp
dHkgPSBGb2N1c1Zpc2liaWxpdHk6OkludmlzaWJsZTsKKyAgICAgICAgZWxzZQogICAgICAgICAg
ICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2liaWxpdHkgPSBGb2N1c1Zpc2liaWxpdHk6OlZp
c2libGU7CiAKICAgICAgICAgLy8gRm9jdXMgYW5kIGNoYW5nZSBldmVudCBoYW5kbGVycyBjYW4g
Y2F1c2UgdXMgdG8gbG9zZSBvdXIgbGFzdCByZWYuCkBAIC0zMTc0LDcgKzMxNzYsNyBAQCB2b2lk
IEVsZW1lbnQ6OmJsdXIoKQogCiB2b2lkIEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JBdXRv
Zm9jdXMoKQogewotICAgIGZvY3VzKCk7CisgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1
c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiB9CiAKIHZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hG
b2N1c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RWxlbWVudD4m
JiBvbGRGb2N1c2VkRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1
c09wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c09wdGlvbnMuaAppbmRleCAxMjIw
ODdmNzBhYTE4Y2E5MDNkMjI5ZWZhZjhiYzhlMTM1MDc3ODE3Li5kZTdkM2E3NTVlN2IxNTdmNmQ1
NjNlYjczMjk3NTE1YjIxYzQyMmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzT3B0aW9ucy5oCkBAIC0z
Miw3ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBGb2N1c1JlbW92
YWxFdmVudHNNb2RlIDogYm9vbCB7IERpc3BhdGNoLCBEb05vdERpc3BhdGNoIH07CiAKLWVudW0g
Y2xhc3MgRm9jdXNUcmlnZ2VyIDogYm9vbCB7IE90aGVyLCBDbGljayB9OworZW51bSBjbGFzcyBG
b2N1c1RyaWdnZXIgOiB1aW50OF90IHsgT3RoZXIsIENsaWNrLCBJbnRlcm5hbCB9OwogCiBlbnVt
IGNsYXNzIEZvY3VzVmlzaWJpbGl0eSA6IGJvb2wgeyBJbnZpc2libGUsIFZpc2libGUgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmNwcAppbmRleCA2NGFjMmUxNGJi
OWU5N2ViZjAxMjFiYjRhMTNhZWQ1NmVmNzgzODZkLi5jMzY0NGYwY2FmNmIzMTU3ZGM1MTA0ZTMw
MmM1YmUwM2VlOGZkYjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0
b25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50
LmNwcApAQCAtMjI1LDcgKzIyNSw3IEBAIGJvb2wgSFRNTEJ1dHRvbkVsZW1lbnQ6OmFwcGVuZEZv
cm1EYXRhKERPTUZvcm1EYXRhJiBmb3JtRGF0YSkKIAogYm9vbCBIVE1MQnV0dG9uRWxlbWVudDo6
YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRzKQogewotICAgIGZvY3VzKCk7Cisg
ICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7
CiAKICAgICByZXR1cm4gZGlzcGF0Y2hTaW11bGF0ZWRDbGljaygwLCBzZW5kTW91c2VFdmVudHMg
PyBTZW5kTW91c2VVcERvd25FdmVudHMgOiBTZW5kTm9FdmVudHMpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAppbmRleCA1ZTFhOGYxNzE2ODFjNWM0ZDBiYmI3
ZWVhYzMyNzYwYzdmYjZlYWZhLi5kZGVlMDI2YmEzOTRkOWJlYmJjOTVmMzY3NDVlYzFiNGE4ZmZk
ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcApAQCAtMTAy
LDYgKzEwMiw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKGNvbnN0IFN0cmluZyYg
cmVzdWx0KQogICAgIGlmIChSZWZQdHIgZWxlbWVudCA9IHN0ZDo6ZXhjaGFuZ2UobV9wcmV2aW91
c2x5Rm9jdXNlZEVsZW1lbnQsIG51bGxwdHIpLmdldCgpKSB7CiAgICAgICAgIEZvY3VzT3B0aW9u
cyBvcHRpb25zOwogICAgICAgICBvcHRpb25zLnByZXZlbnRTY3JvbGwgPSB0cnVlOworICAgICAg
ICBvcHRpb25zLnRyaWdnZXIgPSBGb2N1c1RyaWdnZXI6OkludGVybmFsOwogICAgICAgICBlbGVt
ZW50LT5mb2N1cyhvcHRpb25zKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGE4NjE0YTUwOGQ2ZmRhNDZhYWQyNmZhZTZi
Y2M5Yzg3NjRmMGVmNmEuLjUxMjhkZmFmMjYzNmZlZTYzOTI5ODUyMTQyZWI5MWViMzY2ZmI3YmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApA
QCAtMzQ2LDcgKzM0Niw3IEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNNb3VzZUZv
Y3VzYWJsZSgpIGNvbnN0CiAKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNp
bmdTdGVwc0ZvckF1dG9mb2N1cygpCiB7Ci0gICAgZm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlv
bk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0pOworICAgIGZvY3VzKHsgU2VsZWN0aW9uUmVzdG9y
YXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFydCwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50
ZXJuYWwsIHsgfSB9KTsKIH0KIAogYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjptYXRjaGVz
VmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0CkBAIC00OTMsNyArNDkzLDcgQEAgdm9pZCBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50Ojpmb2N1c0FuZFNob3dWYWxpZGF0aW9uTWVzc2FnZSgpCiAgICAgU2V0
Rm9yU2NvcGU8Ym9vbD4gaXNGb2N1c2luZ1dpdGhWYWxpZGF0aW9uTWVzc2FnZVNjb3BlKG1faXNG
b2N1c2luZ1dpdGhWYWxpZGF0aW9uTWVzc2FnZSwgdHJ1ZSk7CiAKICAgICAvLyBDYWxsaW5nIGZv
Y3VzKCkgd2lsbCBzY3JvbGwgdGhlIGVsZW1lbnQgaW50byB2aWV3LgotICAgIGZvY3VzKCk7Cisg
ICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7
CiAKICAgICAvLyBmb2N1cygpIHdpbGwgc2Nyb2xsIHRoZSBlbGVtZW50IGludG8gdmlldyBhbmQg
dGhpcyBzY3JvbGwgbWF5IGhhcHBlbiBhc3luY2hyb25vdXNseS4KICAgICAvLyBCZWNhdXNlIHNj
cm9sbGluZyB0aGUgdmlldyBoaWRlcyB0aGUgdmFsaWRhdGlvbiBtZXNzYWdlLCB3ZSBuZWVkIHRv
IHNob3cgdGhlIHZhbGlkYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TExhYmVsRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQu
Y3BwCmluZGV4IDBiYWMwYmY4ZWIyYzRmMWIwOTZjOTcwOThmZGNiMGVlMmNjYTJkYzYuLjVkYTli
YmVhMjQzNmViZWQyYTUzYjBlODIxM2Y3YTU5NjJmYTE4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTGFiZWxFbGVtZW50LmNwcApAQCAtMTU3LDcgKzE1Nyw3IEBAIHZvaWQgSFRNTExhYmVs
RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAKICAgICAgICAgZG9j
dW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICAgICAg
aWYgKGNvbnRyb2wtPmlzTW91c2VGb2N1c2FibGUoKSkKLSAgICAgICAgICAgIGNvbnRyb2wtPmZv
Y3VzKCk7CisgICAgICAgICAgICBjb250cm9sLT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3Vz
VHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKIAogICAgICAgICBwcm9jZXNzaW5nQ2xpY2sgPSBm
YWxzZTsKIApAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgSFRNTExhYmVsRWxlbWVudDo6Zm9jdXMo
Y29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogCiAgICAgLy8gVG8gbWF0Y2ggb3RoZXIgYnJv
d3NlcnMsIGFsd2F5cyByZXN0b3JlIHByZXZpb3VzIHNlbGVjdGlvbi4KICAgICBpZiAoYXV0byBl
bGVtZW50ID0gY29udHJvbCgpKQotICAgICAgICBlbGVtZW50LT5mb2N1cyh7IFNlbGVjdGlvblJl
c3RvcmF0aW9uTW9kZTo6UmVzdG9yZU9yU2VsZWN0QWxsLCBvcHRpb25zLmRpcmVjdGlvbiB9KTsK
KyAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlJlc3Rv
cmVPclNlbGVjdEFsbCwgb3B0aW9ucy5kaXJlY3Rpb24sIHsgfSwgb3B0aW9ucy50cmlnZ2VyLCB7
IH0gfSk7CiB9CiAKIGJvb2wgSFRNTExhYmVsRWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wg
c2VuZE1vdXNlRXZlbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVn
ZW5kRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNw
cAppbmRleCA0MWVlMmE5OTA1MWNlNWJlNGMzNWU0NWM2YzZmYzI2MTZkZjUxMTAyLi4wNmM1YzM5
NTA0ZTk0MGI2OGE5ZTMxZjhiOWY2YTYwNzczYzYyZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxMZWdlbmRFbGVtZW50LmNwcApAQCAtNzAsNyArNzAsNyBAQCB2b2lkIEhUTUxMZWdlbmRF
bGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMmIG9wdGlvbnMpCiAKICAgICAvLyBUbyBt
YXRjaCBvdGhlciBicm93c2VycycgYmVoYXZpb3IsIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2Vs
ZWN0aW9uLgogICAgIGlmIChhdXRvIGNvbnRyb2wgPSBhc3NvY2lhdGVkQ29udHJvbCgpKQotICAg
ICAgICBjb250cm9sLT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxs
LCBvcHRpb25zLmRpcmVjdGlvbiB9KTsKKyAgICAgICAgY29udHJvbC0+Zm9jdXMoeyBTZWxlY3Rp
b25SZXN0b3JhdGlvbk1vZGU6OlNlbGVjdEFsbCwgb3B0aW9ucy5kaXJlY3Rpb24sIHsgfSwgb3B0
aW9ucy50cmlnZ2VyLCB7IH0gfSk7CiB9CiAKIGJvb2wgSFRNTExlZ2VuZEVsZW1lbnQ6OmFjY2Vz
c0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2ZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5jcHAKaW5kZXggNzRiYTZiNDRhNWQxOTU3MWM1Y2ExNjBjNjA4ODUzNzVk
NmU5ZGQ0Ni4uMzFkY2FkNjdjODVjZDM4NWM5ZDE4MjAwMTFiMWMxZTRhNjc0NzAwZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKQEAgLTM5MCw3ICszOTAsNyBA
QCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpvcHRpb25FbGVtZW50Q2hpbGRyZW5DaGFuZ2VkKCkK
IAogYm9vbCBIVE1MU2VsZWN0RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNl
RXZlbnRzKQogewotICAgIGZvY3VzKCk7CisgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1
c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAgICAgcmV0dXJuIGRpc3BhdGNoU2ltdWxhdGVk
Q2xpY2soMCwgc2VuZE1vdXNlRXZlbnRzID8gU2VuZE1vdXNlVXBEb3duRXZlbnRzIDogU2VuZE5v
RXZlbnRzKTsKIH0KIApAQCAtMTEwMiw3ICsxMTAyLDcgQEAgYm9vbCBIVE1MU2VsZWN0RWxlbWVu
dDo6cGxhdGZvcm1IYW5kbGVLZXlkb3duRXZlbnQoS2V5Ym9hcmRFdmVudCogZXZlbnQpCiAKICAg
ICBpZiAoIWlzU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGRvY3VtZW50KCkuZnJhbWUoKSkpIHsK
ICAgICAgICAgaWYgKGV2ZW50LT5rZXlJZGVudGlmaWVyKCkgPT0gIkRvd24iIHx8IGV2ZW50LT5r
ZXlJZGVudGlmaWVyKCkgPT0gIlVwIikgewotICAgICAgICAgICAgZm9jdXMoKTsKKyAgICAgICAg
ICAgIGZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJbnRlcm5hbCwgeyB9IH0p
OwogICAgICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAgICAgICAg
ICAgICAvLyBDYWxsaW5nIGZvY3VzKCkgbWF5IGNhdXNlIHVzIHRvIGxvc2Ugb3VyIHJlbmRlcmVy
LiBSZXR1cm4gdHJ1ZSBzbwogICAgICAgICAgICAgLy8gdGhhdCBvdXIgY2FsbGVyIGRvZXNuJ3Qg
cHJvY2VzcyB0aGUgZXZlbnQgZnVydGhlciwgYnV0IGRvbid0IHNldApAQCAtMTIwMSw3ICsxMjAx
LDcgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50JiBldmVudCkKIAogICAgICAgICBpZiAoUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLnBv
cHNNZW51QnlTcGFjZU9yUmV0dXJuKCkpIHsKICAgICAgICAgICAgIGlmIChrZXlDb2RlID09ICcg
JyB8fCBrZXlDb2RlID09ICdccicpIHsKLSAgICAgICAgICAgICAgICBmb2N1cygpOworICAgICAg
ICAgICAgICAgIGZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJbnRlcm5hbCwg
eyB9IH0pOwogICAgICAgICAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRlZCgp
OwogCiAgICAgICAgICAgICAgICAgLy8gQ2FsbGluZyBmb2N1cygpIG1heSByZW1vdmUgdGhlIHJl
bmRlcmVyIG9yIGNoYW5nZSB0aGUgcmVuZGVyZXIgdHlwZS4KQEAgLTEyMTksNyArMTIxOSw3IEBA
IHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCYgZXZlbnQpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoUmVuZGVyVGhlbWU6
OnNpbmdsZXRvbigpLnBvcHNNZW51QnlBcnJvd0tleXMoKSkgewogICAgICAgICAgICAgaWYgKGtl
eUNvZGUgPT0gJyAnKSB7Ci0gICAgICAgICAgICAgICAgZm9jdXMoKTsKKyAgICAgICAgICAgICAg
ICBmb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
ICAgICAgICAgICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKIAogICAg
ICAgICAgICAgICAgIC8vIENhbGxpbmcgZm9jdXMoKSBtYXkgcmVtb3ZlIHRoZSByZW5kZXJlciBv
ciBjaGFuZ2UgdGhlIHJlbmRlcmVyIHR5cGUuCkBAIC0xMjQ3LDcgKzEyNDcsNyBAQCB2b2lkIEhU
TUxTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50
KQogICAgIH0KIAogICAgIGlmIChldmVudC50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlZG93
bkV2ZW50ICYmIGlzPE1vdXNlRXZlbnQ+KGV2ZW50KSAmJiBkb3duY2FzdDxNb3VzZUV2ZW50Pihl
dmVudCkuYnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgewotICAgICAgICBmb2N1cygpOworICAgICAg
ICBmb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
ICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVTdHls
ZUlmTmVlZGVkKCk7CiAKQEAgLTEzMzQsNyArMTMzNCw3IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1l
bnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVudCkKICAgICBhdXRvJiBs
aXN0SXRlbXMgPSB0aGlzLT5saXN0SXRlbXMoKTsKIAogICAgIGlmIChldmVudC50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50ICYmIGlzPE1vdXNlRXZlbnQ+KGV2ZW50KSAmJiBk
b3duY2FzdDxNb3VzZUV2ZW50PihldmVudCkuYnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgewotICAg
ICAgICBmb2N1cygpOworICAgICAgICBmb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dl
cjo6SW50ZXJuYWwsIHsgfSB9KTsKICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVTdHlsZUlmTmVl
ZGVkKCk7CiAKICAgICAgICAgLy8gQ2FsbGluZyBmb2N1cygpIG1heSByZW1vdmUgb3IgY2hhbmdl
IG91ciByZW5kZXJlciwgaW4gd2hpY2ggY2FzZSB3ZSBkb24ndCB3YW50IHRvIGhhbmRsZSB0aGUg
ZXZlbnQgZnVydGhlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQu
Y3BwCmluZGV4IGM4NWM3MzU2ZjcxOWE4Y2EyOTBkYThmNDhkNzc5NDJlMDk3NWIwNDEuLmVhOTIw
NzM4YTNkYTBhMzJmNzM0YzQxYzlhMjA0ZjViM2ZlNWQzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIGJvb2wgSFRN
TFRleHRBcmVhRWxlbWVudDo6aXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYgY2FuZGlkYXRlKSBj
b25zdAogCiBib29sIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmFjY2Vzc0tleUFjdGlvbihib29sKQog
ewotICAgIGZvY3VzKCk7CisgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6
OkludGVybmFsLCB7IH0gfSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5jcHAKaW5kZXggYjY1NjliYWQzNzhlMDBjNDI1MDI1M2VkNzMwNWJjMThjYTA1ZWI1
YS4uMjYxYjFhNWZlZTk2N2E5ZDkzMmUxOWUyZjliZTBiY2ZlNWI1MmRhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmNwcApAQCAtNjUxLDcgKzY1MSw3IEBAIHZvaWQgSW5wdXRUeXBlOjpoYW5k
bGVCbHVyRXZlbnQoKQogYm9vbCBJbnB1dFR5cGU6OmFjY2Vzc0tleUFjdGlvbihib29sKQogewog
ICAgIEFTU0VSVChlbGVtZW50KCkpOwotICAgIGVsZW1lbnQoKS0+Zm9jdXMoeyBTZWxlY3Rpb25S
ZXN0b3JhdGlvbk1vZGU6OlNlbGVjdEFsbCB9KTsKKyAgICBlbGVtZW50KCktPmZvY3VzKHsgU2Vs
ZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpTZWxlY3RBbGwsIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6
OkludGVybmFsLCB7IH0gfSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKaW5kZXggMDRhY2ExMWRlODBjMmIxZjI1OTQ3
MGE5MDg5NjU0NzVlOGRiZWRiMy4uMjNlODMwNjk0N2NiYTU5NzE5MjUxYmE1ZmQ2ODFkYzZjOWUz
NjA2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAt
NzE2LDcgKzcxNiw3IEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpmb2N1c0FuZFNlbGVjdFNw
aW5CdXR0b25Pd25lcigpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQoKSk7CiAgICAgUmVmPEhUTUxJ
bnB1dEVsZW1lbnQ+IGlucHV0KCplbGVtZW50KCkpOwotICAgIGlucHV0LT5mb2N1cygpOworICAg
IGlucHV0LT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsg
fSB9KTsKICAgICBpbnB1dC0+c2VsZWN0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKaW5kZXggMDhkYzEzN2JjMzA5MjJj
ZThjNTRmOGUwNTc4NzJjNzZjMWVmNjcyZC4uNGZmNTJhOGRhMzg4Zjg0MTVmM2JlYTAwOTYxOTZl
MTY0ZDk0NGU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVFZGl0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVFZGl0RWxlbWVudC5jcHAKQEAgLTI2NSw3ICsyNjUsNyBAQCB2b2lkIERhdGVUaW1lRWRpdEVs
ZW1lbnQ6OmxheW91dChjb25zdCBMYXlvdXRQYXJhbWV0ZXJzJiBsYXlvdXRQYXJhbWV0ZXJzKQog
ICAgICAgICBmb3IgKGF1dG8mIGZpZWxkIDogbV9maWVsZHMpIHsKICAgICAgICAgICAgIGlmIChm
aWVsZC0+c2hhZG93UHNldWRvSWQoKSA9PSBmb2N1c2VkRmllbGRJZCkgewogICAgICAgICAgICAg
ICAgIGZvdW5kRmllbGRUb0ZvY3VzID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBmaWVsZC0+Zm9j
dXMoKTsKKyAgICAgICAgICAgICAgICBmaWVsZC0+Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1
c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KQEAgLTMxMCw3ICszMTAsNyBAQCBib29sIERhdGVUaW1lRWRp
dEVsZW1lbnQ6OmZvY3VzT25OZXh0Rm9jdXNhYmxlRmllbGQoc2l6ZV90IHN0YXJ0SW5kZXgpCiB7
CiAgICAgZm9yIChzaXplX3QgaSA9IHN0YXJ0SW5kZXg7IGkgPCBtX2ZpZWxkcy5zaXplKCk7ICsr
aSkgewogICAgICAgICBpZiAobV9maWVsZHNbaV0tPmlzRm9jdXNhYmxlKCkpIHsKLSAgICAgICAg
ICAgIG1fZmllbGRzW2ldLT5mb2N1cygpOworICAgICAgICAgICAgbV9maWVsZHNbaV0tPmZvY3Vz
KHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJbnRlcm5hbCwgeyB9IH0pOwogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICB9CkBAIC0zNDEsNyArMzQxLDcgQEAg
Ym9vbCBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c09uUHJldmlvdXNGaWVsZChjb25zdCBEYXRl
VGltZUZpZWxkRWxlbWVudCYgZmllbGQKICAgICB3aGlsZSAoZmllbGRJbmRleCA+IDApIHsKICAg
ICAgICAgLS1maWVsZEluZGV4OwogICAgICAgICBpZiAobV9maWVsZHNbZmllbGRJbmRleF0tPmlz
Rm9jdXNhYmxlKCkpIHsKLSAgICAgICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5mb2N1cygp
OworICAgICAgICAgICAgbV9maWVsZHNbZmllbGRJbmRleF0tPmZvY3VzKHsgeyB9LCB7IH0sIHsg
fSwgRm9jdXNUcmlnZ2VyOjpJbnRlcm5hbCwgeyB9IH0pOwogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAppbmRleCA1YjlhMmQzOTIwNDc5MTBl
Nzk1MmYzZTYzMjkyZDc3YThmOWZiMWZjLi5hODJiOTEzODM5MjI4MmJkZDE3NmEyZmM5NDFkMDA4
NzNiM2U3MWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29u
dHJvbElubmVyRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1Rl
eHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2
ZW50KQogICAgIC8vIE9uIG1vdXNlZG93biwgYnJpbmcgdXAgYSBtZW51LCBpZiBuZWVkZWQKICAg
ICBSZWZQdHIgaW5wdXQgPSBkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihzaGFkb3dIb3N0KCkp
OwogICAgIGlmIChpbnB1dCAmJiBldmVudC50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlZG93
bkV2ZW50ICYmIGlzPE1vdXNlRXZlbnQ+KGV2ZW50KSAmJiBkb3duY2FzdDxNb3VzZUV2ZW50Pihl
dmVudCkuYnV0dG9uKCkgPT0gTGVmdEJ1dHRvbikgewotICAgICAgICBpbnB1dC0+Zm9jdXMoKTsK
KyAgICAgICAgaW5wdXQtPmZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJbnRl
cm5hbCwgeyB9IH0pOwogICAgICAgICBpbnB1dC0+c2VsZWN0KCk7CiAjaWYgIVBMQVRGT1JNKElP
U19GQU1JTFkpCiAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRlZCgpOwpAQCAt
MzI0LDcgKzMyNCw3IEBAIHZvaWQgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50OjpkZWZh
dWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVudCkKICAgICB9CiAKICAgICBpZiAoZXZlbnQudHlw
ZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBpczxNb3VzZUV2ZW50PihldmVu
dCkgJiYgZG93bmNhc3Q8TW91c2VFdmVudD4oZXZlbnQpLmJ1dHRvbigpID09IExlZnRCdXR0b24p
IHsKLSAgICAgICAgaW5wdXQtPmZvY3VzKCk7CisgICAgICAgIGlucHV0LT5mb2N1cyh7IHsgfSwg
eyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKICAgICAgICAgaW5wdXQt
PnNlbGVjdCgpOwogICAgICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2Vu
dC5jcHAKaW5kZXggN2E3OTBiYjIzYzhmMzdhZjU3ZTQyODRiMzY3Y2FkOWQ2NzlhNDM0Zi4uODRm
NTI3MTdiNTNkNTFiZTA4OTA4M2FlOTFjOTY5ZmFlY2ZkMGQ0NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE1
NjcsNyArMTU2Nyw3IEBAIFByb3RvY29sOjpFcnJvclN0cmluZ09yPHZvaWQ+IEluc3BlY3RvckRP
TUFnZW50Ojpmb2N1cyhQcm90b2NvbDo6RE9NOjpOb2RlSWQgbm9kCiAgICAgaWYgKCFlbGVtZW50
LT5pc0ZvY3VzYWJsZSgpKQogICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoIkVsZW1lbnQg
Zm9yIGdpdmVuIG5vZGVJZCBpcyBub3QgZm9jdXNhYmxlIl9zKTsKIAotICAgIGVsZW1lbnQtPmZv
Y3VzKCk7CisgICAgZWxlbWVudC0+Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6
OkludGVybmFsLCB7IH0gfSk7CiAKICAgICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4IDkzM2JkYTY2MDVlYzljM2Y4NmI1ZDU4YmMzNTg4
YWMyMTI4YjRmYWEuLmY3MWU1YTc4M2Q4MzJkOWFlNGRiODIxOTNjOTE3YWQ0ZWE4YTJkNzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKQEAgLTUzNiw3ICs1MzYsNyBA
QCBib29sIEZvY3VzQ29udHJvbGxlcjo6YWR2YW5jZUZvY3VzSW5Eb2N1bWVudE9yZGVyKEZvY3Vz
RGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5YgogICAgICAgICB9CiAgICAgfQogCi0gICAgZWxlbWVu
dC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlNlbGVjdEFsbCwgZGlyZWN0aW9u
LCB7IH0sIHsgfSwgRm9jdXNWaXNpYmlsaXR5OjpWaXNpYmxlIH0pOworICAgIGVsZW1lbnQtPmZv
Y3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpTZWxlY3RBbGwsIGRpcmVjdGlvbiwgeyB9
LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCBGb2N1c1Zpc2liaWxpdHk6OlZpc2libGUgfSk7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTExMTAsNyArMTExMCw3IEBAIGJvb2wgRm9jdXNDb250
cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5SW5Db250YWluZXIoTm9kZSogY29udGFp
bmVyLCBjb25zCiAgICAgRWxlbWVudCogZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KGZvY3Vz
Q2FuZGlkYXRlLmZvY3VzYWJsZU5vZGUpOwogICAgIEFTU0VSVChlbGVtZW50KTsKIAotICAgIGVs
ZW1lbnQtPmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpTZWxlY3RBbGwsIGRpcmVj
dGlvbiB9KTsKKyAgICBlbGVtZW50LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6
U2VsZWN0QWxsLCBkaXJlY3Rpb24sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJbnRlcm5hbCwgeyB9IH0p
OwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjg3MDQzZDIwYzg3M2M3ODBiZmE0ODkw
ZDdjYTM1NTY4YmM0NDBjMi4uOTdmYjU5ZTU3MDg4MWE4Mjc0NGVjYjljMDEyZDEyNjE1MGI4MTM1
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEyLTI4ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtzZWxlY3RvcnNdIDpmb2N1cy12aXNp
YmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NLZXkgZm9jdXMgYWZ0ZXIgZm9jdXNpbmcgc29tZXRo
aW5nIHZpYSBtb3VzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjU3MjU2MT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXcml0aW5nIGFuIGludGVy
bmFsIHRlc3QgYXMgV1BUIHRlc3RzIGZvciB0aGlzIGRvbid0IHdvcmsgZHVlIHRvIHdlYmtpdC5v
cmcvYi8yMzQxMzkuCisgICAgICAgIEFueXdheSB0aGlzIG5ldyB0ZXN0IHdvbid0IHBhc3MgdW50
aWwgd2Via2l0Lm9yZy9iLzcyMzU5IGdldHMgZml4ZWQuCisKKyAgICAgICAgKiBmYXN0L3NlbGVj
dG9ycy9mb2N1cy12aXNpYmxlLWFjY2Vzc2tleS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWw6IEFkZGVkLgor
CiAyMDIxLTEyLTI2ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TEZDXVtJRkNdIERvIG5vdCB0cmltIHRoZSBoYW5naW5nIHRyYWlsaW5nIGNvbnRlbnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUt
YWNjZXNza2V5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmYwNTRkNzg5NTFmNmI2ZWEyZWU3
ZGYxNzE4MTU5N2U0NDljNzQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
ZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NiBAQAorSW5pdGlhbAorVGFyZ2V0CisKK1BBU1MgSW5pdGlhbCBlbGVtZW50IGZvY3VzZWQgdmlh
IGNsaWNrIGRvZXMgTk9UIG1hdGNoIDpmb2N1cy12aXNpYmxlCitQQVNTIFRhcmdldCBlbGVtZW50
IGZvY3VzZWQgdmlhIGFjY2Vzc2tleSBtYXRjaGVzIDpmb2N1cy12aXNpYmxlCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9mb2N1cy12aXNpYmxlLWFjY2Vzc2tleS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjczNDFhZTI3NzcxYjQ2ZmRkMWNjM2FlM2RmMzlhYmRlYzE1NTZkNzYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9mb2N1cy12aXNp
YmxlLWFjY2Vzc2tleS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPjpmb2N1cy12aXNpYmxlIG1hdGNoZXMgb24gYWNj
ZXNza2V5IGFmdGVyIGEgcHJldmlvdXMgZWxlbWVudCB3YXMgZm9jdXNlZCB2aWEgbW91c2U8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KKzpmb2N1cyB7CisgIGJhY2tncm91bmQ6IGxpbWU7Cit9Cis6Zm9j
dXMtdmlzaWJsZSB7CisgIG91dGxpbmU6IHNvbGlkIDVweCBibHVlOworfQorPC9zdHlsZT4KKwor
PGRpdiBpZD0iaW5pdGlhbCIgdGFiaW5kZXg9IjAiPkluaXRpYWw8L2Rpdj4KKzxkaXYgaWQ9InRh
cmdldCIgdGFiaW5kZXg9IjAiIGFjY2Vzc2tleT0idCI+VGFyZ2V0PC9kaXY+CisKKzxzY3JpcHQ+
CisKK2Z1bmN0aW9uIHByZXNzQWNjZXNzS2V5KGtleSkKK3sKKyAgICBpZiAobmF2aWdhdG9yLnVz
ZXJBZ2VudC5zZWFyY2goL1xiTWFjIE9TIFhcYi8pICE9IC0xKQorICAgICAgICBtb2RpZmllcnMg
PSBbImN0cmxLZXkiLCAiYWx0S2V5Il07CisgICAgZWxzZQorICAgICAgICBtb2RpZmllcnMgPSBb
ImFsdEtleSJdOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOworfQor
CitmdW5jdGlvbiBjbGlja0VsZW1lbnQoZWxlbWVudCkKK3sKKyAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMiwgZWxl
bWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldFRvcCAvIDIpOworICAgIGV2ZW50U2VuZGVy
Lm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKQorfQorCit0ZXN0KCgpID0+
IHsKKyAgICBjbGlja0VsZW1lbnQoaW5pdGlhbCk7CisgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVu
dC5hY3RpdmVFbGVtZW50LCBpbml0aWFsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVk
U3R5bGUoaW5pdGlhbCkuYmFja2dyb3VuZENvbG9yLCAicmdiKDAsIDI1NSwgMCkiLCBgYmFja2dy
b3VuZC1jb2xvciBmb3IgJHtpbml0aWFsLnRhZ05hbWV9IyR7aW5pdGlhbC5pZH0gc2hvdWx0IGJl
IGxpbWVgKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKGluaXRpYWwp
Lm91dGxpbmVDb2xvciwgInJnYigwLCAwLCAxMjgpIiwgYG91dGxpbmUtY29sb3IgZm9yICR7aW5p
dGlhbC50YWdOYW1lfSMke2luaXRpYWwuaWR9IHNob3VsdCBOT1QgYmUgYmx1ZWApOworfSwgIklu
aXRpYWwgZWxlbWVudCBmb2N1c2VkIHZpYSBjbGljayBkb2VzIE5PVCBtYXRjaCA6Zm9jdXMtdmlz
aWJsZSIpOworCit0ZXN0KCgpID0+IHsKKyAgICBwcmVzc0FjY2Vzc0tleSgidCIpOworICAgIGFz
c2VydF9lcXVhbHMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwgdGFyZ2V0KTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGdldENvbXB1dGVkU3R5bGUodGFyZ2V0KS5iYWNrZ3JvdW5kQ29sb3IsICJyZ2IoMCwg
MjU1LCAwKSIsIGBiYWNrZ3JvdW5kLWNvbG9yIGZvciAke3RhcmdldC50YWdOYW1lfSMke3Rhcmdl
dC5pZH0gc2hvdWx0IGJlIGxpbWVgKTsKKyAgICBhc3NlcnRfZXF1YWxzKGdldENvbXB1dGVkU3R5
bGUodGFyZ2V0KS5vdXRsaW5lQ29sb3IsICJyZ2IoMCwgMCwgMTI4KSIsIGBvdXRsaW5lLWNvbG9y
IGZvciAke3RhcmdldC50YWdOYW1lfSMke3RhcmdldC5pZH0gc2hvdWx0IGJlIGJsdWVgKTsKK30s
ICJUYXJnZXQgZWxlbWVudCBmb2N1c2VkIHZpYSBhY2Nlc3NrZXkgbWF0Y2hlcyA6Zm9jdXMtdmlz
aWJsZSIpOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448205</attachid>
            <date>2022-01-02 22:15:41 -0800</date>
            <delta_ts>2022-01-02 22:44:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234077-20220103071539.patch</filename>
            <type>text/plain</type>
            <size>22515</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzllMDE1ZDIxZjIyZDgy
NzllMWVlYWJlODQzYjBmMTcyYWRiZTlmYi4uOGY0YTAzNDQ3NmZkYmNkOTBkMmQ5MzdhYjJmMWVl
YWU1ZDVmYjU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTEyLTI4ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtzZWxlY3Rv
cnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NLZXkgZm9jdXMgYWZ0ZXIg
Zm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjU3
MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIGFkZHMgYSBuZXcgdmFsdWUgY2FsbGVkICJJbnRlcm5hbCIgdG8gRm9jdXNUcmln
Z2VyIGVudW0uCisgICAgICAgIFRoYXQgd2F5IHdlIGNhbiBkaWZmZXJlbnRpYXRlIHdoZW4gRWxl
bWVudDo6Zm9jdXMoKSBoYXMgYmVlbiBjYWxsZWQgZnJvbSBzb21lIGludGVybmFsIGNvZGUKKyAg
ICAgICAgb3IgZnJvbSBKYXZhU2NyaXB0IGJ5IHRoZSB3ZWIgYXV0aG9yLgorCisgICAgICAgIFdo
ZW4gRWxlbWVudDo6Zm9jdXMoKSBoYXMgYmVlbiBjYWxsZWQgaW50ZXJuYWxseSwgd2UgYWx3YXlz
IHdhbnQgdG8gc2hvdyB0aGUgZm9jdXMgcmluZworICAgICAgICAodGh1cyBwYXNzIEZvY3VzVmlz
aWJpbGl0eTo6VmlzaWJsZSkuIEhvd2V2ZXIgd2hlbiBpdCdzIGNhbGxlZCBmcm9tIGEgc2NyaXB0
CisgICAgICAgIHdlJ2xsIHNldCBpdCB0byBWaXNpYmxlIG9yIEludmlzaWJsZSBkZXBlbmRpbmcg
b24gaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50CisgICAgICAgIHdhcyBmb2N1c2Vk
IHZpYSBtb3VzZSBjbGljayBvciBub3QgKHRoaXMgaXMgbmVlZGVkIHRvIHBhc3MKKyAgICAgICAg
dGhlIGNzcy9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1zY3JpcHQtZm9jdXMtKiB0ZXN0cyBmcm9t
IFdQVCByZXBvc2l0b3J5KS4KKworICAgICAgICBUZXN0OiBmYXN0L3NlbGVjdG9ycy9mb2N1cy12
aXNpYmxlLWFjY2Vzc2tleS5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6c2V0Rm9jdXNlZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6CisgICAgICAgICogZG9tL0ZvY3VzT3B0
aW9ucy5oOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAgICAgKiBodG1sL0hUTUxF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjphY2Nlc3NLZXlBY3Rp
b24pOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0
b2ZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZvY3Vz
QW5kU2hvd1ZhbGlkYXRpb25NZXNzYWdlKToKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50Ojpmb2N1cyk6Cisg
ICAgICAgICogaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTGVnZW5kRWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnBsYXRmb3JtSGFu
ZGxlS2V5ZG93bkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Ojpt
ZW51TGlzdERlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxl
bWVudDo6YWNjZXNzS2V5QWN0aW9uKToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmFjY2Vzc0tleUFjdGlvbik6CisgICAgICAgICog
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxk
SW5wdXRUeXBlOjpmb2N1c0FuZFNlbGVjdFNwaW5CdXR0b25Pd25lcik6CisgICAgICAgICogaHRt
bC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZUVkaXRFbGVtZW50OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0
RWxlbWVudDo6Zm9jdXNPbk5leHRGb2N1c2FibGVGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpE
YXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c09uUHJldmlvdXNGaWVsZCk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojpmb2N1cyk6Cisg
ICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9j
dXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNJbkRvY3VtZW50T3JkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5SW5Db250YWlu
ZXIpOgorCiAyMDIyLTAxLTAyICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEFjY2VzcyBrZXkgc2hvdWxkIHdvcmsgb24gZm9jdXNhYmxlIGVsZW1l
bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA4NDdkZTE2ZGI2MjMwMTg4ZjFiYjg3ZWUzMmIy
NjczMWY0ZTgzOWQ2Li4yYTMzMzQ5ZThjMmRmMjU4MmE4YTIwZmQzZTAwMTAwNmYxNjYxZmVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTE5NDQsNyArMTk0NCw3IEBAIHZvaWQgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdDo6c2V0Rm9jdXNlZChib29sIG9uKQogICAgIC8vIElmIHdlIHJldHVy
biBmcm9tIHNldEZvY3VzZWRFbGVtZW50IGFuZCBvdXIgZWxlbWVudCBoYXMgYmVlbiByZW1vdmVk
IGZyb20gYSB0cmVlLCBheE9iamVjdENhY2hlKCkgbWF5IGJlIG51bGwuCiAgICAgaWYgKEFYT2Jq
ZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKSB7CiAgICAgICAgIGNhY2hlLT5zZXRJ
c1N5bmNocm9uaXppbmdTZWxlY3Rpb24odHJ1ZSk7Ci0gICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+
KCpub2RlKS5mb2N1cygpOworICAgICAgICBkb3duY2FzdDxFbGVtZW50Pigqbm9kZSkuZm9jdXMo
eyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAg
IGNhY2hlLT5zZXRJc1N5bmNocm9uaXppbmdTZWxlY3Rpb24oZmFsc2UpOwogICAgIH0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCA0MWQyYzQ2M2YxNmU1NmFhNWVlYzE4ZjYzNmRiODQxZWJk
Y2MzNWMwLi5hMzNlZDcyMWFhMDMxNjIxZDRhZDM4YzBkZTgxM2U1ZmEyYThiOGU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0zMDk5LDcgKzMwOTksOSBAQCB2b2lkIEVsZW1lbnQ6OmZvY3Vz
KGNvbnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBGb2N1c09wdGlvbnMgb3B0aW9uc1dpdGhWaXNpYmlsaXR5ID0gb3B0aW9uczsKLSAgICAg
ICAgaWYgKCFkb2N1bWVudC0+d2FzTGFzdEZvY3VzQnlDbGljaygpKQorICAgICAgICBpZiAoKG9w
dGlvbnMudHJpZ2dlciA9PSBGb2N1c1RyaWdnZXI6Ok90aGVyKSAmJiBkb2N1bWVudC0+d2FzTGFz
dEZvY3VzQnlDbGljaygpKQorICAgICAgICAgICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2li
aWxpdHkgPSBGb2N1c1Zpc2liaWxpdHk6OkludmlzaWJsZTsKKyAgICAgICAgZWxzZQogICAgICAg
ICAgICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2liaWxpdHkgPSBGb2N1c1Zpc2liaWxpdHk6
OlZpc2libGU7CiAKICAgICAgICAgLy8gRm9jdXMgYW5kIGNoYW5nZSBldmVudCBoYW5kbGVycyBj
YW4gY2F1c2UgdXMgdG8gbG9zZSBvdXIgbGFzdCByZWYuCkBAIC0zMTczLDcgKzMxNzUsNyBAQCB2
b2lkIEVsZW1lbnQ6OmJsdXIoKQogCiB2b2lkIEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JB
dXRvZm9jdXMoKQogewotICAgIGZvY3VzKCk7CisgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBG
b2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiB9CiAKIHZvaWQgRWxlbWVudDo6ZGlzcGF0
Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RWxlbWVu
dD4mJiBvbGRGb2N1c2VkRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9G
b2N1c09wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c09wdGlvbnMuaAppbmRleCAx
MjIwODdmNzBhYTE4Y2E5MDNkMjI5ZWZhZjhiYzhlMTM1MDc3ODE3Li5kZTdkM2E3NTVlN2IxNTdm
NmQ1NjNlYjczMjk3NTE1YjIxYzQyMmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Rm9jdXNPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzT3B0aW9ucy5oCkBA
IC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBGb2N1c1Jl
bW92YWxFdmVudHNNb2RlIDogYm9vbCB7IERpc3BhdGNoLCBEb05vdERpc3BhdGNoIH07CiAKLWVu
dW0gY2xhc3MgRm9jdXNUcmlnZ2VyIDogYm9vbCB7IE90aGVyLCBDbGljayB9OworZW51bSBjbGFz
cyBGb2N1c1RyaWdnZXIgOiB1aW50OF90IHsgT3RoZXIsIENsaWNrLCBJbnRlcm5hbCB9OwogCiBl
bnVtIGNsYXNzIEZvY3VzVmlzaWJpbGl0eSA6IGJvb2wgeyBJbnZpc2libGUsIFZpc2libGUgfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAppbmRleCA1ZTFhOGYx
NzE2ODFjNWM0ZDBiYmI3ZWVhYzMyNzYwYzdmYjZlYWZhLi5kZGVlMDI2YmEzOTRkOWJlYmJjOTVm
MzY3NDVlYzFiNGE4ZmZkODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aWFsb2dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVt
ZW50LmNwcApAQCAtMTAyLDYgKzEwMiw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3Nl
KGNvbnN0IFN0cmluZyYgcmVzdWx0KQogICAgIGlmIChSZWZQdHIgZWxlbWVudCA9IHN0ZDo6ZXhj
aGFuZ2UobV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQsIG51bGxwdHIpLmdldCgpKSB7CiAgICAg
ICAgIEZvY3VzT3B0aW9ucyBvcHRpb25zOwogICAgICAgICBvcHRpb25zLnByZXZlbnRTY3JvbGwg
PSB0cnVlOworICAgICAgICBvcHRpb25zLnRyaWdnZXIgPSBGb2N1c1RyaWdnZXI6OkludGVybmFs
OwogICAgICAgICBlbGVtZW50LT5mb2N1cyhvcHRpb25zKTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5jcHAKaW5kZXggODcwZDQwM2NhYjVhOTRlNDQyYTcxNWE1ZjU0ZDM0YWE4
YTZjOWI1ZS4uMTljODg0YjYzMDY2NDJlMDYyZTQ5ZDIxMjI4ODkzOGFjNjcxNjY0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIEhUTUxF
bGVtZW50OjpjbGljaygpCiBib29sIEhUTUxFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCBz
ZW5kTW91c2VFdmVudHMpCiB7CiAgICAgaWYgKGlzRm9jdXNhYmxlKCkpCi0gICAgICAgIGZvY3Vz
KCk7CisgICAgICAgIGZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJbnRlcm5h
bCwgeyB9IH0pOwogICAgIHJldHVybiBkaXNwYXRjaFNpbXVsYXRlZENsaWNrKG51bGxwdHIsIHNl
bmRNb3VzZUV2ZW50cyA/IFNlbmRNb3VzZVVwRG93bkV2ZW50cyA6IFNlbmROb0V2ZW50cyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmlu
ZGV4IGE4NjE0YTUwOGQ2ZmRhNDZhYWQyNmZhZTZiY2M5Yzg3NjRmMGVmNmEuLjUxMjhkZmFmMjYz
NmZlZTYzOTI5ODUyMTQyZWI5MWViMzY2ZmI3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtMzQ2LDcgKzM0Niw3IEBAIGJvb2wgSFRN
TEZvcm1Db250cm9sRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAKIHZvaWQgSFRN
TEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpCiB7Ci0g
ICAgZm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0p
OworICAgIGZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFy
dCwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKIH0KIAogYm9vbCBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjptYXRjaGVzVmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0CkBA
IC00OTMsNyArNDkzLDcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojpmb2N1c0FuZFNo
b3dWYWxpZGF0aW9uTWVzc2FnZSgpCiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gaXNGb2N1c2luZ1dp
dGhWYWxpZGF0aW9uTWVzc2FnZVNjb3BlKG1faXNGb2N1c2luZ1dpdGhWYWxpZGF0aW9uTWVzc2Fn
ZSwgdHJ1ZSk7CiAKICAgICAvLyBDYWxsaW5nIGZvY3VzKCkgd2lsbCBzY3JvbGwgdGhlIGVsZW1l
bnQgaW50byB2aWV3LgotICAgIGZvY3VzKCk7CisgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBG
b2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAKICAgICAvLyBmb2N1cygpIHdpbGwgc2Ny
b2xsIHRoZSBlbGVtZW50IGludG8gdmlldyBhbmQgdGhpcyBzY3JvbGwgbWF5IGhhcHBlbiBhc3lu
Y2hyb25vdXNseS4KICAgICAvLyBCZWNhdXNlIHNjcm9sbGluZyB0aGUgdmlldyBoaWRlcyB0aGUg
dmFsaWRhdGlvbiBtZXNzYWdlLCB3ZSBuZWVkIHRvIHNob3cgdGhlIHZhbGlkYXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCmluZGV4IDBiYWMwYmY4ZWIyYzRmMWIw
OTZjOTcwOThmZGNiMGVlMmNjYTJkYzYuLjVkYTliYmVhMjQzNmViZWQyYTUzYjBlODIxM2Y3YTU5
NjJmYTE4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcApAQCAt
MTU3LDcgKzE1Nyw3IEBAIHZvaWQgSFRNTExhYmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxl
cihFdmVudCYgZXZlbnQpCiAKICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICAgICAgaWYgKGNvbnRyb2wtPmlzTW91c2VGb2N1c2Fi
bGUoKSkKLSAgICAgICAgICAgIGNvbnRyb2wtPmZvY3VzKCk7CisgICAgICAgICAgICBjb250cm9s
LT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
IAogICAgICAgICBwcm9jZXNzaW5nQ2xpY2sgPSBmYWxzZTsKIApAQCAtMTg3LDcgKzE4Nyw3IEBA
IHZvaWQgSFRNTExhYmVsRWxlbWVudDo6Zm9jdXMoY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25z
KQogCiAgICAgLy8gVG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMsIGFsd2F5cyByZXN0b3JlIHByZXZp
b3VzIHNlbGVjdGlvbi4KICAgICBpZiAoYXV0byBlbGVtZW50ID0gY29udHJvbCgpKQotICAgICAg
ICBlbGVtZW50LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UmVzdG9yZU9yU2Vs
ZWN0QWxsLCBvcHRpb25zLmRpcmVjdGlvbiB9KTsKKyAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBT
ZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlJlc3RvcmVPclNlbGVjdEFsbCwgb3B0aW9ucy5kaXJl
Y3Rpb24sIHsgfSwgb3B0aW9ucy50cmlnZ2VyLCB7IH0gfSk7CiB9CiAKIGJvb2wgSFRNTExhYmVs
RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRzKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAppbmRleCA0MWVlMmE5OTA1MWNlNWJlNGMz
NWU0NWM2YzZmYzI2MTZkZjUxMTAyLi4wNmM1YzM5NTA0ZTk0MGI2OGE5ZTMxZjhiOWY2YTYwNzcz
YzYyZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcApAQCAt
NzAsNyArNzAsNyBAQCB2b2lkIEhUTUxMZWdlbmRFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09w
dGlvbnMmIG9wdGlvbnMpCiAKICAgICAvLyBUbyBtYXRjaCBvdGhlciBicm93c2VycycgYmVoYXZp
b3IsIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9uLgogICAgIGlmIChhdXRvIGNvbnRy
b2wgPSBhc3NvY2lhdGVkQ29udHJvbCgpKQotICAgICAgICBjb250cm9sLT5mb2N1cyh7IFNlbGVj
dGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCBvcHRpb25zLmRpcmVjdGlvbiB9KTsKKyAg
ICAgICAgY29udHJvbC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlNlbGVjdEFs
bCwgb3B0aW9ucy5kaXJlY3Rpb24sIHsgfSwgb3B0aW9ucy50cmlnZ2VyLCB7IH0gfSk7CiB9CiAK
IGJvb2wgSFRNTExlZ2VuZEVsZW1lbnQ6OmFjY2Vzc0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2
ZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggYzI5
MmQwNzQ4MGViMzQ4YjQ3ZmNkYTQwOTQwZGI1ZjM2MmVkNmE4YS4uZTIwZWM1NzcwODY3NjQ1NDE0
NGM3NzllZGUyZjJhMmYyYWI2ODcxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHAKQEAgLTEwOTYsNyArMTA5Niw3IEBAIGJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6
OnBsYXRmb3JtSGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogCiAgICAg
aWYgKCFpc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChkb2N1bWVudCgpLmZyYW1lKCkpKSB7CiAg
ICAgICAgIGlmIChldmVudC0+a2V5SWRlbnRpZmllcigpID09ICJEb3duIiB8fCBldmVudC0+a2V5
SWRlbnRpZmllcigpID09ICJVcCIpIHsKLSAgICAgICAgICAgIGZvY3VzKCk7CisgICAgICAgICAg
ICBmb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
ICAgICAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgICAgICAg
ICAgLy8gQ2FsbGluZyBmb2N1cygpIG1heSBjYXVzZSB1cyB0byBsb3NlIG91ciByZW5kZXJlci4g
UmV0dXJuIHRydWUgc28KICAgICAgICAgICAgIC8vIHRoYXQgb3VyIGNhbGxlciBkb2Vzbid0IHBy
b2Nlc3MgdGhlIGV2ZW50IGZ1cnRoZXIsIGJ1dCBkb24ndCBzZXQKQEAgLTExOTUsNyArMTE5NSw3
IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCYgZXZlbnQpCiAKICAgICAgICAgaWYgKFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5wb3Bz
TWVudUJ5U3BhY2VPclJldHVybigpKSB7CiAgICAgICAgICAgICBpZiAoa2V5Q29kZSA9PSAnICcg
fHwga2V5Q29kZSA9PSAnXHInKSB7Ci0gICAgICAgICAgICAgICAgZm9jdXMoKTsKKyAgICAgICAg
ICAgICAgICBmb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsg
fSB9KTsKICAgICAgICAgICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsK
IAogICAgICAgICAgICAgICAgIC8vIENhbGxpbmcgZm9jdXMoKSBtYXkgcmVtb3ZlIHRoZSByZW5k
ZXJlciBvciBjaGFuZ2UgdGhlIHJlbmRlcmVyIHR5cGUuCkBAIC0xMjEzLDcgKzEyMTMsNyBAQCB2
b2lkIEhUTUxTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQm
IGV2ZW50KQogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKFJlbmRlclRoZW1lOjpz
aW5nbGV0b24oKS5wb3BzTWVudUJ5QXJyb3dLZXlzKCkpIHsKICAgICAgICAgICAgIGlmIChrZXlD
b2RlID09ICcgJykgewotICAgICAgICAgICAgICAgIGZvY3VzKCk7CisgICAgICAgICAgICAgICAg
Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAKICAgICAg
ICAgICAgICAgICAvLyBDYWxsaW5nIGZvY3VzKCkgbWF5IHJlbW92ZSB0aGUgcmVuZGVyZXIgb3Ig
Y2hhbmdlIHRoZSByZW5kZXJlciB0eXBlLgpAQCAtMTI0MSw3ICsxMjQxLDcgQEAgdm9pZCBIVE1M
U2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVudCkK
ICAgICB9CiAKICAgICBpZiAoZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25F
dmVudCAmJiBpczxNb3VzZUV2ZW50PihldmVudCkgJiYgZG93bmNhc3Q8TW91c2VFdmVudD4oZXZl
bnQpLmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAgICAgZm9jdXMoKTsKKyAgICAgICAg
Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJ
Zk5lZWRlZCgpOwogCkBAIC0xMzI4LDcgKzEzMjgsNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50
OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgYXV0byYgbGlz
dEl0ZW1zID0gdGhpcy0+bGlzdEl0ZW1zKCk7CiAKICAgICBpZiAoZXZlbnQudHlwZSgpID09IGV2
ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBpczxNb3VzZUV2ZW50PihldmVudCkgJiYgZG93
bmNhc3Q8TW91c2VFdmVudD4oZXZlbnQpLmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAg
ICAgZm9jdXMoKTsKKyAgICAgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6
OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRl
ZCgpOwogCiAgICAgICAgIC8vIENhbGxpbmcgZm9jdXMoKSBtYXkgcmVtb3ZlIG9yIGNoYW5nZSBv
dXIgcmVuZGVyZXIsIGluIHdoaWNoIGNhc2Ugd2UgZG9uJ3Qgd2FudCB0byBoYW5kbGUgdGhlIGV2
ZW50IGZ1cnRoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNw
cAppbmRleCBjODVjNzM1NmY3MTlhOGNhMjkwZGE4ZjQ4ZDc3OTQyZTA5NzViMDQxLi5lYTkyMDcz
OGEzZGEwYTMyZjczNGM0MWM5YTIwNGY1YjNmZTVkMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCBib29sIEhUTUxU
ZXh0QXJlYUVsZW1lbnQ6OmlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSkgY29u
c3QKIAogYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCkKIHsK
LSAgICBmb2N1cygpOworICAgIGZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJ
bnRlcm5hbCwgeyB9IH0pOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuY3BwCmluZGV4IGI2NTY5YmFkMzc4ZTAwYzQyNTAyNTNlZDczMDViYzE4Y2EwNWViNWEu
LjI2MWIxYTVmZWU5NjdhOWQ5MzJlMTllMmY5YmUwYmNmZTViNTJkYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAKQEAgLTY1MSw3ICs2NTEsNyBAQCB2b2lkIElucHV0VHlwZTo6aGFuZGxl
Qmx1ckV2ZW50KCkKIGJvb2wgSW5wdXRUeXBlOjphY2Nlc3NLZXlBY3Rpb24oYm9vbCkKIHsKICAg
ICBBU1NFUlQoZWxlbWVudCgpKTsKLSAgICBlbGVtZW50KCktPmZvY3VzKHsgU2VsZWN0aW9uUmVz
dG9yYXRpb25Nb2RlOjpTZWxlY3RBbGwgfSk7CisgICAgZWxlbWVudCgpLT5mb2N1cyh7IFNlbGVj
dGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJ
bnRlcm5hbCwgeyB9IH0pOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCmluZGV4IDA0YWNhMTFkZTgwYzJiMWYyNTk0NzBh
OTA4OTY1NDc1ZThkYmVkYjMuLjIzZTgzMDY5NDdjYmE1OTcxOTI1MWJhNWZkNjgxZGM2YzllMzYw
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKQEAgLTcx
Niw3ICs3MTYsNyBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6Zm9jdXNBbmRTZWxlY3RTcGlu
QnV0dG9uT3duZXIoKQogewogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIFJlZjxIVE1MSW5w
dXRFbGVtZW50PiBpbnB1dCgqZWxlbWVudCgpKTsKLSAgICBpbnB1dC0+Zm9jdXMoKTsKKyAgICBp
bnB1dC0+Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0g
fSk7CiAgICAgaW5wdXQtPnNlbGVjdCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmluZGV4IDA4ZGMxMzdiYzMwOTIyY2U4
YzU0ZjhlMDU3ODcyYzc2YzFlZjY3MmQuLjRmZjUyYThkYTM4OGY4NDE1ZjNiZWEwMDk2MTk2ZTE2
NGQ5NDRlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwCkBAIC0yNjUsNyArMjY1LDcgQEAgdm9pZCBEYXRlVGltZUVkaXRFbGVt
ZW50OjpsYXlvdXQoY29uc3QgTGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycykKICAg
ICAgICAgZm9yIChhdXRvJiBmaWVsZCA6IG1fZmllbGRzKSB7CiAgICAgICAgICAgICBpZiAoZmll
bGQtPnNoYWRvd1BzZXVkb0lkKCkgPT0gZm9jdXNlZEZpZWxkSWQpIHsKICAgICAgICAgICAgICAg
ICBmb3VuZEZpZWxkVG9Gb2N1cyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgZmllbGQtPmZvY3Vz
KCk7CisgICAgICAgICAgICAgICAgZmllbGQtPmZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNU
cmlnZ2VyOjpJbnRlcm5hbCwgeyB9IH0pOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CkBAIC0zMTAsNyArMzEwLDcgQEAgYm9vbCBEYXRlVGltZUVkaXRF
bGVtZW50Ojpmb2N1c09uTmV4dEZvY3VzYWJsZUZpZWxkKHNpemVfdCBzdGFydEluZGV4KQogewog
ICAgIGZvciAoc2l6ZV90IGkgPSBzdGFydEluZGV4OyBpIDwgbV9maWVsZHMuc2l6ZSgpOyArK2kp
IHsKICAgICAgICAgaWYgKG1fZmllbGRzW2ldLT5pc0ZvY3VzYWJsZSgpKSB7Ci0gICAgICAgICAg
ICBtX2ZpZWxkc1tpXS0+Zm9jdXMoKTsKKyAgICAgICAgICAgIG1fZmllbGRzW2ldLT5mb2N1cyh7
IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgfQpAQCAtMzQxLDcgKzM0MSw3IEBAIGJv
b2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNPblByZXZpb3VzRmllbGQoY29uc3QgRGF0ZVRp
bWVGaWVsZEVsZW1lbnQmIGZpZWxkCiAgICAgd2hpbGUgKGZpZWxkSW5kZXggPiAwKSB7CiAgICAg
ICAgIC0tZmllbGRJbmRleDsKICAgICAgICAgaWYgKG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5pc0Zv
Y3VzYWJsZSgpKSB7Ci0gICAgICAgICAgICBtX2ZpZWxkc1tmaWVsZEluZGV4XS0+Zm9jdXMoKTsK
KyAgICAgICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0s
IEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNWI5YTJkMzkyMDQ3OTEwZTc5
NTJmM2U2MzI5MmQ3N2E4ZjlmYjFmYy4uYTgyYjkxMzgzOTIyODJiZGQxNzZhMmZjOTQxZDAwODcz
YjNlNzFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0
Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVu
dCkKICAgICAvLyBPbiBtb3VzZWRvd24sIGJyaW5nIHVwIGEgbWVudSwgaWYgbmVlZGVkCiAgICAg
UmVmUHRyIGlucHV0ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oc2hhZG93SG9zdCgpKTsK
ICAgICBpZiAoaW5wdXQgJiYgZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25F
dmVudCAmJiBpczxNb3VzZUV2ZW50PihldmVudCkgJiYgZG93bmNhc3Q8TW91c2VFdmVudD4oZXZl
bnQpLmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAgICAgaW5wdXQtPmZvY3VzKCk7Cisg
ICAgICAgIGlucHV0LT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJu
YWwsIHsgfSB9KTsKICAgICAgICAgaW5wdXQtPnNlbGVjdCgpOwogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKQEAgLTMy
NCw3ICszMjQsNyBAQCB2b2lkIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgfQogCiAgICAgaWYgKGV2ZW50LnR5cGUo
KSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQgJiYgaXM8TW91c2VFdmVudD4oZXZlbnQp
ICYmIGRvd25jYXN0PE1vdXNlRXZlbnQ+KGV2ZW50KS5idXR0b24oKSA9PSBMZWZ0QnV0dG9uKSB7
Ci0gICAgICAgIGlucHV0LT5mb2N1cygpOworICAgICAgICBpbnB1dC0+Zm9jdXMoeyB7IH0sIHsg
fSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAgIGlucHV0LT5z
ZWxlY3QoKTsKICAgICAgICAgZXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCmluZGV4IDdhNzkwYmIyM2M4ZjM3YWY1N2U0Mjg0YjM2N2NhZDlkNjc5YTQzNGYuLjg0ZjUy
NzE3YjUzZDUxYmUwODkwODNhZTkxYzk2OWZhZWNmZDBkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xNTY3
LDcgKzE1NjcsNyBAQCBQcm90b2NvbDo6RXJyb3JTdHJpbmdPcjx2b2lkPiBJbnNwZWN0b3JET01B
Z2VudDo6Zm9jdXMoUHJvdG9jb2w6OkRPTTo6Tm9kZUlkIG5vZAogICAgIGlmICghZWxlbWVudC0+
aXNGb2N1c2FibGUoKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKCJFbGVtZW50IGZv
ciBnaXZlbiBub2RlSWQgaXMgbm90IGZvY3VzYWJsZSJfcyk7CiAKLSAgICBlbGVtZW50LT5mb2N1
cygpOworICAgIGVsZW1lbnQtPmZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJ
bnRlcm5hbCwgeyB9IH0pOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcAppbmRleCA5MzNiZGE2NjA1ZWM5YzNmODZiNWQ1OGJjMzU4OGFj
MjEyOGI0ZmFhLi5mNzFlNWE3ODNkODMyZDlhZTRkYjgyMTkzYzkxN2FkNGVhOGEyZDc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC01MzYsNyArNTM2LDcgQEAg
Ym9vbCBGb2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0luRG9jdW1lbnRPcmRlcihGb2N1c0Rp
cmVjdGlvbiBkaXJlY3Rpb24sIEtleWIKICAgICAgICAgfQogICAgIH0KIAotICAgIGVsZW1lbnQt
PmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpTZWxlY3RBbGwsIGRpcmVjdGlvbiwg
eyB9LCB7IH0sIEZvY3VzVmlzaWJpbGl0eTo6VmlzaWJsZSB9KTsKKyAgICBlbGVtZW50LT5mb2N1
cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCBkaXJlY3Rpb24sIHsgfSwg
Rm9jdXNUcmlnZ2VyOjpJbnRlcm5hbCwgRm9jdXNWaXNpYmlsaXR5OjpWaXNpYmxlIH0pOwogICAg
IHJldHVybiB0cnVlOwogfQogCkBAIC0xMTEwLDcgKzExMTAsNyBAQCBib29sIEZvY3VzQ29udHJv
bGxlcjo6YWR2YW5jZUZvY3VzRGlyZWN0aW9uYWxseUluQ29udGFpbmVyKE5vZGUqIGNvbnRhaW5l
ciwgY29ucwogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb3duY2FzdDxFbGVtZW50Pihmb2N1c0Nh
bmRpZGF0ZS5mb2N1c2FibGVOb2RlKTsKICAgICBBU1NFUlQoZWxlbWVudCk7CiAKLSAgICBlbGVt
ZW50LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCBkaXJlY3Rp
b24gfSk7CisgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlNl
bGVjdEFsbCwgZGlyZWN0aW9uLCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ0NTQxODI4OTVlM2RiZTU1M2RmNjBjOGYx
Mzc5NWY4OWI4MTU1NWYuLjczNmE1MjEwYThjY2I5Njc1ZTIwYTJmMzdlNDRkN2EwNmQ4Y2UzZWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMi0yOCAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBbc2VsZWN0b3JzXSA6Zm9jdXMtdmlzaWJs
ZSBub3QgbWF0Y2hpbmcgb24gYWNjZXNzS2V5IGZvY3VzIGFmdGVyIGZvY3VzaW5nIHNvbWV0aGlu
ZyB2aWEgbW91c2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDA3NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODY1NzI1NjE+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV3JpdGluZyBhbiBpbnRlcm5h
bCB0ZXN0IGFzIFdQVCB0ZXN0cyBmb3IgdGhpcyBkb24ndCB3b3JrIGR1ZSB0byB3ZWJraXQub3Jn
L2IvMjM0MTM5LgorCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nl
c3NrZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NlbGVjdG9ycy9mb2N1
cy12aXNpYmxlLWFjY2Vzc2tleS5odG1sOiBBZGRlZC4KKwogMjAyMi0wMS0wMiAgTWFudWVsIFJl
Z28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBBY2Nlc3Mga2V5IHNo
b3VsZCB3b3JrIG9uIGZvY3VzYWJsZSBlbGVtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ2ZjA1NGQ3ODk1MWY2YjZlYTJlZTdkZjE3MTgxNTk3ZTQ0OWM3NDMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9mb2N1cy12aXNp
YmxlLWFjY2Vzc2tleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitJbml0aWFsCitUYXJn
ZXQKKworUEFTUyBJbml0aWFsIGVsZW1lbnQgZm9jdXNlZCB2aWEgY2xpY2sgZG9lcyBOT1QgbWF0
Y2ggOmZvY3VzLXZpc2libGUKK1BBU1MgVGFyZ2V0IGVsZW1lbnQgZm9jdXNlZCB2aWEgYWNjZXNz
a2V5IG1hdGNoZXMgOmZvY3VzLXZpc2libGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXkuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM0
MWFlMjc3NzFiNDZmZGQxY2MzYWUzZGYzOWFiZGVjMTU1NmQ3NgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWwK
QEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+OmZvY3VzLXZpc2libGUgbWF0Y2hlcyBvbiBhY2Nlc3NrZXkgYWZ0ZXIgYSBwcmV2
aW91cyBlbGVtZW50IHdhcyBmb2N1c2VkIHZpYSBtb3VzZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
OmZvY3VzIHsKKyAgYmFja2dyb3VuZDogbGltZTsKK30KKzpmb2N1cy12aXNpYmxlIHsKKyAgb3V0
bGluZTogc29saWQgNXB4IGJsdWU7Cit9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJpbml0aWFsIiB0
YWJpbmRleD0iMCI+SW5pdGlhbDwvZGl2PgorPGRpdiBpZD0idGFyZ2V0IiB0YWJpbmRleD0iMCIg
YWNjZXNza2V5PSJ0Ij5UYXJnZXQ8L2Rpdj4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gcHJlc3NB
Y2Nlc3NLZXkoa2V5KQoreworICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LnNlYXJjaCgvXGJN
YWMgT1MgWFxiLykgIT0gLTEpCisgICAgICAgIG1vZGlmaWVycyA9IFsiY3RybEtleSIsICJhbHRL
ZXkiXTsKKyAgICBlbHNlCisgICAgICAgIG1vZGlmaWVycyA9IFsiYWx0S2V5Il07CisgICAgZXZl
bnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7Cit9CisKK2Z1bmN0aW9uIGNsaWNrRWxl
bWVudChlbGVtZW50KQoreworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGVsZW1lbnQub2Zm
c2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyLCBlbGVtZW50Lm9mZnNldFRvcCArIGVs
ZW1lbnQub2Zmc2V0VG9wIC8gMik7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgpCit9CisKK3Rlc3QoKCkgPT4geworICAgIGNsaWNrRWxlbWVu
dChpbml0aWFsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsIGlu
aXRpYWwpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShpbml0aWFsKS5iYWNr
Z3JvdW5kQ29sb3IsICJyZ2IoMCwgMjU1LCAwKSIsIGBiYWNrZ3JvdW5kLWNvbG9yIGZvciAke2lu
aXRpYWwudGFnTmFtZX0jJHtpbml0aWFsLmlkfSBzaG91bHQgYmUgbGltZWApOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaW5pdGlhbCkub3V0bGluZUNvbG9yLCAicmdi
KDAsIDAsIDEyOCkiLCBgb3V0bGluZS1jb2xvciBmb3IgJHtpbml0aWFsLnRhZ05hbWV9IyR7aW5p
dGlhbC5pZH0gc2hvdWx0IE5PVCBiZSBibHVlYCk7Cit9LCAiSW5pdGlhbCBlbGVtZW50IGZvY3Vz
ZWQgdmlhIGNsaWNrIGRvZXMgTk9UIG1hdGNoIDpmb2N1cy12aXNpYmxlIik7CisKK3Rlc3QoKCkg
PT4geworICAgIHByZXNzQWNjZXNzS2V5KCJ0Iik7CisgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVu
dC5hY3RpdmVFbGVtZW50LCB0YXJnZXQpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZSh0YXJnZXQpLmJhY2tncm91bmRDb2xvciwgInJnYigwLCAyNTUsIDApIiwgYGJhY2tncm91
bmQtY29sb3IgZm9yICR7dGFyZ2V0LnRhZ05hbWV9IyR7dGFyZ2V0LmlkfSBzaG91bHQgYmUgbGlt
ZWApOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLm91dGxpbmVD
b2xvciwgInJnYigwLCAwLCAxMjgpIiwgYG91dGxpbmUtY29sb3IgZm9yICR7dGFyZ2V0LnRhZ05h
bWV9IyR7dGFyZ2V0LmlkfSBzaG91bHQgYmUgYmx1ZWApOworfSwgIlRhcmdldCBlbGVtZW50IGZv
Y3VzZWQgdmlhIGFjY2Vzc2tleSBtYXRjaGVzIDpmb2N1cy12aXNpYmxlIik7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448207</attachid>
            <date>2022-01-02 22:44:40 -0800</date>
            <delta_ts>2022-01-03 03:03:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234077-20220103074439.patch</filename>
            <type>text/plain</type>
            <size>22515</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzllMDE1ZDIxZjIyZDgy
NzllMWVlYWJlODQzYjBmMTcyYWRiZTlmYi4uOGY0YTAzNDQ3NmZkYmNkOTBkMmQ5MzdhYjJmMWVl
YWU1ZDVmYjU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTEyLTI4ICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtzZWxlY3Rv
cnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NLZXkgZm9jdXMgYWZ0ZXIg
Zm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjU3
MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIGFkZHMgYSBuZXcgdmFsdWUgY2FsbGVkICJJbnRlcm5hbCIgdG8gRm9jdXNUcmln
Z2VyIGVudW0uCisgICAgICAgIFRoYXQgd2F5IHdlIGNhbiBkaWZmZXJlbnRpYXRlIHdoZW4gRWxl
bWVudDo6Zm9jdXMoKSBoYXMgYmVlbiBjYWxsZWQgZnJvbSBzb21lIGludGVybmFsIGNvZGUKKyAg
ICAgICAgb3IgZnJvbSBKYXZhU2NyaXB0IGJ5IHRoZSB3ZWIgYXV0aG9yLgorCisgICAgICAgIFdo
ZW4gRWxlbWVudDo6Zm9jdXMoKSBoYXMgYmVlbiBjYWxsZWQgaW50ZXJuYWxseSwgd2UgYWx3YXlz
IHdhbnQgdG8gc2hvdyB0aGUgZm9jdXMgcmluZworICAgICAgICAodGh1cyBwYXNzIEZvY3VzVmlz
aWJpbGl0eTo6VmlzaWJsZSkuIEhvd2V2ZXIgd2hlbiBpdCdzIGNhbGxlZCBmcm9tIGEgc2NyaXB0
CisgICAgICAgIHdlJ2xsIHNldCBpdCB0byBWaXNpYmxlIG9yIEludmlzaWJsZSBkZXBlbmRpbmcg
b24gaWYgdGhlIHByZXZpb3VzbHkgZm9jdXNlZCBlbGVtZW50CisgICAgICAgIHdhcyBmb2N1c2Vk
IHZpYSBtb3VzZSBjbGljayBvciBub3QgKHRoaXMgaXMgbmVlZGVkIHRvIHBhc3MKKyAgICAgICAg
dGhlIGNzcy9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1zY3JpcHQtZm9jdXMtKiB0ZXN0cyBmcm9t
IFdQVCByZXBvc2l0b3J5KS4KKworICAgICAgICBUZXN0OiBmYXN0L3NlbGVjdG9ycy9mb2N1cy12
aXNpYmxlLWFjY2Vzc2tleS5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6c2V0Rm9jdXNlZCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cyk6CisgICAgICAgICogZG9tL0ZvY3VzT3B0
aW9ucy5oOgorICAgICAgICAqIGh0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3NlKToKKyAgICAgICAgKiBodG1sL0hUTUxF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjphY2Nlc3NLZXlBY3Rp
b24pOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpydW5Gb2N1c2luZ1N0ZXBzRm9yQXV0
b2ZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZvY3Vz
QW5kU2hvd1ZhbGlkYXRpb25NZXNzYWdlKToKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50
SGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGFiZWxFbGVtZW50Ojpmb2N1cyk6Cisg
ICAgICAgICogaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTGVnZW5kRWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnBsYXRmb3JtSGFu
ZGxlS2V5ZG93bkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50Ojpt
ZW51TGlzdERlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxl
bWVudDo6YWNjZXNzS2V5QWN0aW9uKToKKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmFjY2Vzc0tleUFjdGlvbik6CisgICAgICAgICog
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxk
SW5wdXRUeXBlOjpmb2N1c0FuZFNlbGVjdFNwaW5CdXR0b25Pd25lcik6CisgICAgICAgICogaHRt
bC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZUVkaXRFbGVtZW50OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0
RWxlbWVudDo6Zm9jdXNPbk5leHRGb2N1c2FibGVGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpE
YXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c09uUHJldmlvdXNGaWVsZCk6CisgICAgICAgICogaHRt
bC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VhcmNoRmllbGRDYW5jZWxCdXR0b25FbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojpmb2N1cyk6Cisg
ICAgICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9j
dXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNJbkRvY3VtZW50T3JkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5SW5Db250YWlu
ZXIpOgorCiAyMDIyLTAxLTAyICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEFjY2VzcyBrZXkgc2hvdWxkIHdvcmsgb24gZm9jdXNhYmxlIGVsZW1l
bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCA4NDdkZTE2ZGI2MjMwMTg4ZjFiYjg3ZWUzMmIy
NjczMWY0ZTgzOWQ2Li4yYTMzMzQ5ZThjMmRmMjU4MmE4YTIwZmQzZTAwMTAwNmYxNjYxZmVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTE5NDQsNyArMTk0NCw3IEBAIHZvaWQgQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdDo6c2V0Rm9jdXNlZChib29sIG9uKQogICAgIC8vIElmIHdlIHJldHVy
biBmcm9tIHNldEZvY3VzZWRFbGVtZW50IGFuZCBvdXIgZWxlbWVudCBoYXMgYmVlbiByZW1vdmVk
IGZyb20gYSB0cmVlLCBheE9iamVjdENhY2hlKCkgbWF5IGJlIG51bGwuCiAgICAgaWYgKEFYT2Jq
ZWN0Q2FjaGUqIGNhY2hlID0gYXhPYmplY3RDYWNoZSgpKSB7CiAgICAgICAgIGNhY2hlLT5zZXRJ
c1N5bmNocm9uaXppbmdTZWxlY3Rpb24odHJ1ZSk7Ci0gICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+
KCpub2RlKS5mb2N1cygpOworICAgICAgICBkb3duY2FzdDxFbGVtZW50Pigqbm9kZSkuZm9jdXMo
eyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAg
IGNhY2hlLT5zZXRJc1N5bmNocm9uaXppbmdTZWxlY3Rpb24oZmFsc2UpOwogICAgIH0KIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCA0MWQyYzQ2M2YxNmU1NmFhNWVlYzE4ZjYzNmRiODQxZWJk
Y2MzNWMwLi5hMzNlZDcyMWFhMDMxNjIxZDRhZDM4YzBkZTgxM2U1ZmEyYThiOGU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0zMDk5LDcgKzMwOTksOSBAQCB2b2lkIEVsZW1lbnQ6OmZvY3Vz
KGNvbnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9ucykKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBGb2N1c09wdGlvbnMgb3B0aW9uc1dpdGhWaXNpYmlsaXR5ID0gb3B0aW9uczsKLSAgICAg
ICAgaWYgKCFkb2N1bWVudC0+d2FzTGFzdEZvY3VzQnlDbGljaygpKQorICAgICAgICBpZiAoKG9w
dGlvbnMudHJpZ2dlciA9PSBGb2N1c1RyaWdnZXI6Ok90aGVyKSAmJiBkb2N1bWVudC0+d2FzTGFz
dEZvY3VzQnlDbGljaygpKQorICAgICAgICAgICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2li
aWxpdHkgPSBGb2N1c1Zpc2liaWxpdHk6OkludmlzaWJsZTsKKyAgICAgICAgZWxzZQogICAgICAg
ICAgICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2liaWxpdHkgPSBGb2N1c1Zpc2liaWxpdHk6
OlZpc2libGU7CiAKICAgICAgICAgLy8gRm9jdXMgYW5kIGNoYW5nZSBldmVudCBoYW5kbGVycyBj
YW4gY2F1c2UgdXMgdG8gbG9zZSBvdXIgbGFzdCByZWYuCkBAIC0zMTczLDcgKzMxNzUsNyBAQCB2
b2lkIEVsZW1lbnQ6OmJsdXIoKQogCiB2b2lkIEVsZW1lbnQ6OnJ1bkZvY3VzaW5nU3RlcHNGb3JB
dXRvZm9jdXMoKQogewotICAgIGZvY3VzKCk7CisgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBG
b2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiB9CiAKIHZvaWQgRWxlbWVudDo6ZGlzcGF0
Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RWxlbWVu
dD4mJiBvbGRGb2N1c2VkRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9G
b2N1c09wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c09wdGlvbnMuaAppbmRleCAx
MjIwODdmNzBhYTE4Y2E5MDNkMjI5ZWZhZjhiYzhlMTM1MDc3ODE3Li5kZTdkM2E3NTVlN2IxNTdm
NmQ1NjNlYjczMjk3NTE1YjIxYzQyMmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Rm9jdXNPcHRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzT3B0aW9ucy5oCkBA
IC0zMiw3ICszMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBGb2N1c1Jl
bW92YWxFdmVudHNNb2RlIDogYm9vbCB7IERpc3BhdGNoLCBEb05vdERpc3BhdGNoIH07CiAKLWVu
dW0gY2xhc3MgRm9jdXNUcmlnZ2VyIDogYm9vbCB7IE90aGVyLCBDbGljayB9OworZW51bSBjbGFz
cyBGb2N1c1RyaWdnZXIgOiB1aW50OF90IHsgT3RoZXIsIENsaWNrLCBJbnRlcm5hbCB9OwogCiBl
bnVtIGNsYXNzIEZvY3VzVmlzaWJpbGl0eSA6IGJvb2wgeyBJbnZpc2libGUsIFZpc2libGUgfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcAppbmRleCA1ZTFhOGYx
NzE2ODFjNWM0ZDBiYmI3ZWVhYzMyNzYwYzdmYjZlYWZhLi5kZGVlMDI2YmEzOTRkOWJlYmJjOTVm
MzY3NDVlYzFiNGE4ZmZkODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aWFsb2dFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVt
ZW50LmNwcApAQCAtMTAyLDYgKzEwMiw3IEBAIHZvaWQgSFRNTERpYWxvZ0VsZW1lbnQ6OmNsb3Nl
KGNvbnN0IFN0cmluZyYgcmVzdWx0KQogICAgIGlmIChSZWZQdHIgZWxlbWVudCA9IHN0ZDo6ZXhj
aGFuZ2UobV9wcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQsIG51bGxwdHIpLmdldCgpKSB7CiAgICAg
ICAgIEZvY3VzT3B0aW9ucyBvcHRpb25zOwogICAgICAgICBvcHRpb25zLnByZXZlbnRTY3JvbGwg
PSB0cnVlOworICAgICAgICBvcHRpb25zLnRyaWdnZXIgPSBGb2N1c1RyaWdnZXI6OkludGVybmFs
OwogICAgICAgICBlbGVtZW50LT5mb2N1cyhvcHRpb25zKTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5jcHAKaW5kZXggODcwZDQwM2NhYjVhOTRlNDQyYTcxNWE1ZjU0ZDM0YWE4
YTZjOWI1ZS4uMTljODg0YjYzMDY2NDJlMDYyZTQ5ZDIxMjI4ODkzOGFjNjcxNjY0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIEhUTUxF
bGVtZW50OjpjbGljaygpCiBib29sIEhUTUxFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCBz
ZW5kTW91c2VFdmVudHMpCiB7CiAgICAgaWYgKGlzRm9jdXNhYmxlKCkpCi0gICAgICAgIGZvY3Vz
KCk7CisgICAgICAgIGZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJbnRlcm5h
bCwgeyB9IH0pOwogICAgIHJldHVybiBkaXNwYXRjaFNpbXVsYXRlZENsaWNrKG51bGxwdHIsIHNl
bmRNb3VzZUV2ZW50cyA/IFNlbmRNb3VzZVVwRG93bkV2ZW50cyA6IFNlbmROb0V2ZW50cyk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmlu
ZGV4IGE4NjE0YTUwOGQ2ZmRhNDZhYWQyNmZhZTZiY2M5Yzg3NjRmMGVmNmEuLjUxMjhkZmFmMjYz
NmZlZTYzOTI5ODUyMTQyZWI5MWViMzY2ZmI3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAtMzQ2LDcgKzM0Niw3IEBAIGJvb2wgSFRN
TEZvcm1Db250cm9sRWxlbWVudDo6aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0CiAKIHZvaWQgSFRN
TEZvcm1Db250cm9sRWxlbWVudDo6cnVuRm9jdXNpbmdTdGVwc0ZvckF1dG9mb2N1cygpCiB7Ci0g
ICAgZm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlBsYWNlQ2FyZXRBdFN0YXJ0IH0p
OworICAgIGZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpQbGFjZUNhcmV0QXRTdGFy
dCwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKIH0KIAogYm9vbCBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjptYXRjaGVzVmFsaWRQc2V1ZG9DbGFzcygpIGNvbnN0CkBA
IC00OTMsNyArNDkzLDcgQEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojpmb2N1c0FuZFNo
b3dWYWxpZGF0aW9uTWVzc2FnZSgpCiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gaXNGb2N1c2luZ1dp
dGhWYWxpZGF0aW9uTWVzc2FnZVNjb3BlKG1faXNGb2N1c2luZ1dpdGhWYWxpZGF0aW9uTWVzc2Fn
ZSwgdHJ1ZSk7CiAKICAgICAvLyBDYWxsaW5nIGZvY3VzKCkgd2lsbCBzY3JvbGwgdGhlIGVsZW1l
bnQgaW50byB2aWV3LgotICAgIGZvY3VzKCk7CisgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBG
b2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAKICAgICAvLyBmb2N1cygpIHdpbGwgc2Ny
b2xsIHRoZSBlbGVtZW50IGludG8gdmlldyBhbmQgdGhpcyBzY3JvbGwgbWF5IGhhcHBlbiBhc3lu
Y2hyb25vdXNseS4KICAgICAvLyBCZWNhdXNlIHNjcm9sbGluZyB0aGUgdmlldyBoaWRlcyB0aGUg
dmFsaWRhdGlvbiBtZXNzYWdlLCB3ZSBuZWVkIHRvIHNob3cgdGhlIHZhbGlkYXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCmluZGV4IDBiYWMwYmY4ZWIyYzRmMWIw
OTZjOTcwOThmZGNiMGVlMmNjYTJkYzYuLjVkYTliYmVhMjQzNmViZWQyYTUzYjBlODIxM2Y3YTU5
NjJmYTE4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcApAQCAt
MTU3LDcgKzE1Nyw3IEBAIHZvaWQgSFRNTExhYmVsRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxl
cihFdmVudCYgZXZlbnQpCiAKICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQ
ZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICAgICAgaWYgKGNvbnRyb2wtPmlzTW91c2VGb2N1c2Fi
bGUoKSkKLSAgICAgICAgICAgIGNvbnRyb2wtPmZvY3VzKCk7CisgICAgICAgICAgICBjb250cm9s
LT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
IAogICAgICAgICBwcm9jZXNzaW5nQ2xpY2sgPSBmYWxzZTsKIApAQCAtMTg3LDcgKzE4Nyw3IEBA
IHZvaWQgSFRNTExhYmVsRWxlbWVudDo6Zm9jdXMoY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25z
KQogCiAgICAgLy8gVG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMsIGFsd2F5cyByZXN0b3JlIHByZXZp
b3VzIHNlbGVjdGlvbi4KICAgICBpZiAoYXV0byBlbGVtZW50ID0gY29udHJvbCgpKQotICAgICAg
ICBlbGVtZW50LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6UmVzdG9yZU9yU2Vs
ZWN0QWxsLCBvcHRpb25zLmRpcmVjdGlvbiB9KTsKKyAgICAgICAgZWxlbWVudC0+Zm9jdXMoeyBT
ZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlJlc3RvcmVPclNlbGVjdEFsbCwgb3B0aW9ucy5kaXJl
Y3Rpb24sIHsgfSwgb3B0aW9ucy50cmlnZ2VyLCB7IH0gfSk7CiB9CiAKIGJvb2wgSFRNTExhYmVs
RWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRzKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAppbmRleCA0MWVlMmE5OTA1MWNlNWJlNGMz
NWU0NWM2YzZmYzI2MTZkZjUxMTAyLi4wNmM1YzM5NTA0ZTk0MGI2OGE5ZTMxZjhiOWY2YTYwNzcz
YzYyZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcApAQCAt
NzAsNyArNzAsNyBAQCB2b2lkIEhUTUxMZWdlbmRFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09w
dGlvbnMmIG9wdGlvbnMpCiAKICAgICAvLyBUbyBtYXRjaCBvdGhlciBicm93c2VycycgYmVoYXZp
b3IsIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9uLgogICAgIGlmIChhdXRvIGNvbnRy
b2wgPSBhc3NvY2lhdGVkQ29udHJvbCgpKQotICAgICAgICBjb250cm9sLT5mb2N1cyh7IFNlbGVj
dGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCBvcHRpb25zLmRpcmVjdGlvbiB9KTsKKyAg
ICAgICAgY29udHJvbC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlNlbGVjdEFs
bCwgb3B0aW9ucy5kaXJlY3Rpb24sIHsgfSwgb3B0aW9ucy50cmlnZ2VyLCB7IH0gfSk7CiB9CiAK
IGJvb2wgSFRNTExlZ2VuZEVsZW1lbnQ6OmFjY2Vzc0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2
ZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggYzI5
MmQwNzQ4MGViMzQ4YjQ3ZmNkYTQwOTQwZGI1ZjM2MmVkNmE4YS4uZTIwZWM1NzcwODY3NjQ1NDE0
NGM3NzllZGUyZjJhMmYyYWI2ODcxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHAKQEAgLTEwOTYsNyArMTA5Niw3IEBAIGJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6
OnBsYXRmb3JtSGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogCiAgICAg
aWYgKCFpc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChkb2N1bWVudCgpLmZyYW1lKCkpKSB7CiAg
ICAgICAgIGlmIChldmVudC0+a2V5SWRlbnRpZmllcigpID09ICJEb3duIiB8fCBldmVudC0+a2V5
SWRlbnRpZmllcigpID09ICJVcCIpIHsKLSAgICAgICAgICAgIGZvY3VzKCk7CisgICAgICAgICAg
ICBmb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
ICAgICAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgICAgICAg
ICAgLy8gQ2FsbGluZyBmb2N1cygpIG1heSBjYXVzZSB1cyB0byBsb3NlIG91ciByZW5kZXJlci4g
UmV0dXJuIHRydWUgc28KICAgICAgICAgICAgIC8vIHRoYXQgb3VyIGNhbGxlciBkb2Vzbid0IHBy
b2Nlc3MgdGhlIGV2ZW50IGZ1cnRoZXIsIGJ1dCBkb24ndCBzZXQKQEAgLTExOTUsNyArMTE5NSw3
IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCYgZXZlbnQpCiAKICAgICAgICAgaWYgKFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5wb3Bz
TWVudUJ5U3BhY2VPclJldHVybigpKSB7CiAgICAgICAgICAgICBpZiAoa2V5Q29kZSA9PSAnICcg
fHwga2V5Q29kZSA9PSAnXHInKSB7Ci0gICAgICAgICAgICAgICAgZm9jdXMoKTsKKyAgICAgICAg
ICAgICAgICBmb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsg
fSB9KTsKICAgICAgICAgICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsK
IAogICAgICAgICAgICAgICAgIC8vIENhbGxpbmcgZm9jdXMoKSBtYXkgcmVtb3ZlIHRoZSByZW5k
ZXJlciBvciBjaGFuZ2UgdGhlIHJlbmRlcmVyIHR5cGUuCkBAIC0xMjEzLDcgKzEyMTMsNyBAQCB2
b2lkIEhUTUxTZWxlY3RFbGVtZW50OjptZW51TGlzdERlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQm
IGV2ZW50KQogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKFJlbmRlclRoZW1lOjpz
aW5nbGV0b24oKS5wb3BzTWVudUJ5QXJyb3dLZXlzKCkpIHsKICAgICAgICAgICAgIGlmIChrZXlD
b2RlID09ICcgJykgewotICAgICAgICAgICAgICAgIGZvY3VzKCk7CisgICAgICAgICAgICAgICAg
Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAKICAgICAg
ICAgICAgICAgICAvLyBDYWxsaW5nIGZvY3VzKCkgbWF5IHJlbW92ZSB0aGUgcmVuZGVyZXIgb3Ig
Y2hhbmdlIHRoZSByZW5kZXJlciB0eXBlLgpAQCAtMTI0MSw3ICsxMjQxLDcgQEAgdm9pZCBIVE1M
U2VsZWN0RWxlbWVudDo6bWVudUxpc3REZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVudCkK
ICAgICB9CiAKICAgICBpZiAoZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25F
dmVudCAmJiBpczxNb3VzZUV2ZW50PihldmVudCkgJiYgZG93bmNhc3Q8TW91c2VFdmVudD4oZXZl
bnQpLmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAgICAgZm9jdXMoKTsKKyAgICAgICAg
Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJ
Zk5lZWRlZCgpOwogCkBAIC0xMzI4LDcgKzEzMjgsNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50
OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgYXV0byYgbGlz
dEl0ZW1zID0gdGhpcy0+bGlzdEl0ZW1zKCk7CiAKICAgICBpZiAoZXZlbnQudHlwZSgpID09IGV2
ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCAmJiBpczxNb3VzZUV2ZW50PihldmVudCkgJiYgZG93
bmNhc3Q8TW91c2VFdmVudD4oZXZlbnQpLmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAg
ICAgZm9jdXMoKTsKKyAgICAgICAgZm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6
OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAgIGRvY3VtZW50KCkudXBkYXRlU3R5bGVJZk5lZWRl
ZCgpOwogCiAgICAgICAgIC8vIENhbGxpbmcgZm9jdXMoKSBtYXkgcmVtb3ZlIG9yIGNoYW5nZSBv
dXIgcmVuZGVyZXIsIGluIHdoaWNoIGNhc2Ugd2UgZG9uJ3Qgd2FudCB0byBoYW5kbGUgdGhlIGV2
ZW50IGZ1cnRoZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNw
cAppbmRleCBjODVjNzM1NmY3MTlhOGNhMjkwZGE4ZjQ4ZDc3OTQyZTA5NzViMDQxLi5lYTkyMDcz
OGEzZGEwYTMyZjczNGM0MWM5YTIwNGY1YjNmZTVkMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCBib29sIEhUTUxU
ZXh0QXJlYUVsZW1lbnQ6OmlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSkgY29u
c3QKIAogYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50OjphY2Nlc3NLZXlBY3Rpb24oYm9vbCkKIHsK
LSAgICBmb2N1cygpOworICAgIGZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJ
bnRlcm5hbCwgeyB9IH0pOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1
dFR5cGUuY3BwCmluZGV4IGI2NTY5YmFkMzc4ZTAwYzQyNTAyNTNlZDczMDViYzE4Y2EwNWViNWEu
LjI2MWIxYTVmZWU5NjdhOWQ5MzJlMTllMmY5YmUwYmNmZTViNTJkYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAKQEAgLTY1MSw3ICs2NTEsNyBAQCB2b2lkIElucHV0VHlwZTo6aGFuZGxl
Qmx1ckV2ZW50KCkKIGJvb2wgSW5wdXRUeXBlOjphY2Nlc3NLZXlBY3Rpb24oYm9vbCkKIHsKICAg
ICBBU1NFUlQoZWxlbWVudCgpKTsKLSAgICBlbGVtZW50KCktPmZvY3VzKHsgU2VsZWN0aW9uUmVz
dG9yYXRpb25Nb2RlOjpTZWxlY3RBbGwgfSk7CisgICAgZWxlbWVudCgpLT5mb2N1cyh7IFNlbGVj
dGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJ
bnRlcm5hbCwgeyB9IH0pOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCmluZGV4IDA0YWNhMTFkZTgwYzJiMWYyNTk0NzBh
OTA4OTY1NDc1ZThkYmVkYjMuLjIzZTgzMDY5NDdjYmE1OTcxOTI1MWJhNWZkNjgxZGM2YzllMzYw
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKQEAgLTcx
Niw3ICs3MTYsNyBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6Zm9jdXNBbmRTZWxlY3RTcGlu
QnV0dG9uT3duZXIoKQogewogICAgIEFTU0VSVChlbGVtZW50KCkpOwogICAgIFJlZjxIVE1MSW5w
dXRFbGVtZW50PiBpbnB1dCgqZWxlbWVudCgpKTsKLSAgICBpbnB1dC0+Zm9jdXMoKTsKKyAgICBp
bnB1dC0+Zm9jdXMoeyB7IH0sIHsgfSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0g
fSk7CiAgICAgaW5wdXQtPnNlbGVjdCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmluZGV4IDA4ZGMxMzdiYzMwOTIyY2U4
YzU0ZjhlMDU3ODcyYzc2YzFlZjY3MmQuLjRmZjUyYThkYTM4OGY4NDE1ZjNiZWEwMDk2MTk2ZTE2
NGQ5NDRlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwCkBAIC0yNjUsNyArMjY1LDcgQEAgdm9pZCBEYXRlVGltZUVkaXRFbGVt
ZW50OjpsYXlvdXQoY29uc3QgTGF5b3V0UGFyYW1ldGVycyYgbGF5b3V0UGFyYW1ldGVycykKICAg
ICAgICAgZm9yIChhdXRvJiBmaWVsZCA6IG1fZmllbGRzKSB7CiAgICAgICAgICAgICBpZiAoZmll
bGQtPnNoYWRvd1BzZXVkb0lkKCkgPT0gZm9jdXNlZEZpZWxkSWQpIHsKICAgICAgICAgICAgICAg
ICBmb3VuZEZpZWxkVG9Gb2N1cyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgZmllbGQtPmZvY3Vz
KCk7CisgICAgICAgICAgICAgICAgZmllbGQtPmZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNU
cmlnZ2VyOjpJbnRlcm5hbCwgeyB9IH0pOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CkBAIC0zMTAsNyArMzEwLDcgQEAgYm9vbCBEYXRlVGltZUVkaXRF
bGVtZW50Ojpmb2N1c09uTmV4dEZvY3VzYWJsZUZpZWxkKHNpemVfdCBzdGFydEluZGV4KQogewog
ICAgIGZvciAoc2l6ZV90IGkgPSBzdGFydEluZGV4OyBpIDwgbV9maWVsZHMuc2l6ZSgpOyArK2kp
IHsKICAgICAgICAgaWYgKG1fZmllbGRzW2ldLT5pc0ZvY3VzYWJsZSgpKSB7Ci0gICAgICAgICAg
ICBtX2ZpZWxkc1tpXS0+Zm9jdXMoKTsKKyAgICAgICAgICAgIG1fZmllbGRzW2ldLT5mb2N1cyh7
IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgfQpAQCAtMzQxLDcgKzM0MSw3IEBAIGJv
b2wgRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNPblByZXZpb3VzRmllbGQoY29uc3QgRGF0ZVRp
bWVGaWVsZEVsZW1lbnQmIGZpZWxkCiAgICAgd2hpbGUgKGZpZWxkSW5kZXggPiAwKSB7CiAgICAg
ICAgIC0tZmllbGRJbmRleDsKICAgICAgICAgaWYgKG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5pc0Zv
Y3VzYWJsZSgpKSB7Ci0gICAgICAgICAgICBtX2ZpZWxkc1tmaWVsZEluZGV4XS0+Zm9jdXMoKTsK
KyAgICAgICAgICAgIG1fZmllbGRzW2ZpZWxkSW5kZXhdLT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0s
IEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5kZXggNWI5YTJkMzkyMDQ3OTEwZTc5
NTJmM2U2MzI5MmQ3N2E4ZjlmYjFmYy4uYTgyYjkxMzgzOTIyODJiZGQxNzZhMmZjOTQxZDAwODcz
YjNlNzFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0
Q29udHJvbElubmVyRWxlbWVudHMuY3BwCkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVu
dCkKICAgICAvLyBPbiBtb3VzZWRvd24sIGJyaW5nIHVwIGEgbWVudSwgaWYgbmVlZGVkCiAgICAg
UmVmUHRyIGlucHV0ID0gZG93bmNhc3Q8SFRNTElucHV0RWxlbWVudD4oc2hhZG93SG9zdCgpKTsK
ICAgICBpZiAoaW5wdXQgJiYgZXZlbnQudHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZWRvd25F
dmVudCAmJiBpczxNb3VzZUV2ZW50PihldmVudCkgJiYgZG93bmNhc3Q8TW91c2VFdmVudD4oZXZl
bnQpLmJ1dHRvbigpID09IExlZnRCdXR0b24pIHsKLSAgICAgICAgaW5wdXQtPmZvY3VzKCk7Cisg
ICAgICAgIGlucHV0LT5mb2N1cyh7IHsgfSwgeyB9LCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJu
YWwsIHsgfSB9KTsKICAgICAgICAgaW5wdXQtPnNlbGVjdCgpOwogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKQEAgLTMy
NCw3ICszMjQsNyBAQCB2b2lkIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgfQogCiAgICAgaWYgKGV2ZW50LnR5cGUo
KSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQgJiYgaXM8TW91c2VFdmVudD4oZXZlbnQp
ICYmIGRvd25jYXN0PE1vdXNlRXZlbnQ+KGV2ZW50KS5idXR0b24oKSA9PSBMZWZ0QnV0dG9uKSB7
Ci0gICAgICAgIGlucHV0LT5mb2N1cygpOworICAgICAgICBpbnB1dC0+Zm9jdXMoeyB7IH0sIHsg
fSwgeyB9LCBGb2N1c1RyaWdnZXI6OkludGVybmFsLCB7IH0gfSk7CiAgICAgICAgIGlucHV0LT5z
ZWxlY3QoKTsKICAgICAgICAgZXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCmluZGV4IDdhNzkwYmIyM2M4ZjM3YWY1N2U0Mjg0YjM2N2NhZDlkNjc5YTQzNGYuLjg0ZjUy
NzE3YjUzZDUxYmUwODkwODNhZTkxYzk2OWZhZWNmZDBkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xNTY3
LDcgKzE1NjcsNyBAQCBQcm90b2NvbDo6RXJyb3JTdHJpbmdPcjx2b2lkPiBJbnNwZWN0b3JET01B
Z2VudDo6Zm9jdXMoUHJvdG9jb2w6OkRPTTo6Tm9kZUlkIG5vZAogICAgIGlmICghZWxlbWVudC0+
aXNGb2N1c2FibGUoKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKCJFbGVtZW50IGZv
ciBnaXZlbiBub2RlSWQgaXMgbm90IGZvY3VzYWJsZSJfcyk7CiAKLSAgICBlbGVtZW50LT5mb2N1
cygpOworICAgIGVsZW1lbnQtPmZvY3VzKHsgeyB9LCB7IH0sIHsgfSwgRm9jdXNUcmlnZ2VyOjpJ
bnRlcm5hbCwgeyB9IH0pOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcAppbmRleCA5MzNiZGE2NjA1ZWM5YzNmODZiNWQ1OGJjMzU4OGFj
MjEyOGI0ZmFhLi5mNzFlNWE3ODNkODMyZDlhZTRkYjgyMTkzYzkxN2FkNGVhOGEyZDc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC01MzYsNyArNTM2LDcgQEAg
Ym9vbCBGb2N1c0NvbnRyb2xsZXI6OmFkdmFuY2VGb2N1c0luRG9jdW1lbnRPcmRlcihGb2N1c0Rp
cmVjdGlvbiBkaXJlY3Rpb24sIEtleWIKICAgICAgICAgfQogICAgIH0KIAotICAgIGVsZW1lbnQt
PmZvY3VzKHsgU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlOjpTZWxlY3RBbGwsIGRpcmVjdGlvbiwg
eyB9LCB7IH0sIEZvY3VzVmlzaWJpbGl0eTo6VmlzaWJsZSB9KTsKKyAgICBlbGVtZW50LT5mb2N1
cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCBkaXJlY3Rpb24sIHsgfSwg
Rm9jdXNUcmlnZ2VyOjpJbnRlcm5hbCwgRm9jdXNWaXNpYmlsaXR5OjpWaXNpYmxlIH0pOwogICAg
IHJldHVybiB0cnVlOwogfQogCkBAIC0xMTEwLDcgKzExMTAsNyBAQCBib29sIEZvY3VzQ29udHJv
bGxlcjo6YWR2YW5jZUZvY3VzRGlyZWN0aW9uYWxseUluQ29udGFpbmVyKE5vZGUqIGNvbnRhaW5l
ciwgY29ucwogICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBkb3duY2FzdDxFbGVtZW50Pihmb2N1c0Nh
bmRpZGF0ZS5mb2N1c2FibGVOb2RlKTsKICAgICBBU1NFUlQoZWxlbWVudCk7CiAKLSAgICBlbGVt
ZW50LT5mb2N1cyh7IFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZTo6U2VsZWN0QWxsLCBkaXJlY3Rp
b24gfSk7CisgICAgZWxlbWVudC0+Zm9jdXMoeyBTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGU6OlNl
bGVjdEFsbCwgZGlyZWN0aW9uLCB7IH0sIEZvY3VzVHJpZ2dlcjo6SW50ZXJuYWwsIHsgfSB9KTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ0NTQxODI4OTVlM2RiZTU1M2RmNjBjOGYx
Mzc5NWY4OWI4MTU1NWYuLjczNmE1MjEwYThjY2I5Njc1ZTIwYTJmMzdlNDRkN2EwNmQ4Y2UzZWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMi0yOCAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBbc2VsZWN0b3JzXSA6Zm9jdXMtdmlzaWJs
ZSBub3QgbWF0Y2hpbmcgb24gYWNjZXNzS2V5IGZvY3VzIGFmdGVyIGZvY3VzaW5nIHNvbWV0aGlu
ZyB2aWEgbW91c2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDA3NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODY1NzI1NjE+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV3JpdGluZyBhbiBpbnRlcm5h
bCB0ZXN0IGFzIFdQVCB0ZXN0cyBmb3IgdGhpcyBkb24ndCB3b3JrIGR1ZSB0byB3ZWJraXQub3Jn
L2IvMjM0MTM5LgorCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nl
c3NrZXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NlbGVjdG9ycy9mb2N1
cy12aXNpYmxlLWFjY2Vzc2tleS5odG1sOiBBZGRlZC4KKwogMjAyMi0wMS0wMiAgTWFudWVsIFJl
Z28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBBY2Nlc3Mga2V5IHNo
b3VsZCB3b3JrIG9uIGZvY3VzYWJsZSBlbGVtZW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXktZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ2ZjA1NGQ3ODk1MWY2YjZlYTJlZTdkZjE3MTgxNTk3ZTQ0OWM3NDMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9mb2N1cy12aXNp
YmxlLWFjY2Vzc2tleS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitJbml0aWFsCitUYXJn
ZXQKKworUEFTUyBJbml0aWFsIGVsZW1lbnQgZm9jdXNlZCB2aWEgY2xpY2sgZG9lcyBOT1QgbWF0
Y2ggOmZvY3VzLXZpc2libGUKK1BBU1MgVGFyZ2V0IGVsZW1lbnQgZm9jdXNlZCB2aWEgYWNjZXNz
a2V5IG1hdGNoZXMgOmZvY3VzLXZpc2libGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXkuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU1
MzBmZGQ5OTliMTIyMmEzOWYxYjFiZmYzNGYxZjdhZmI2ODJhMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWwK
QEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8dGl0bGU+OmZvY3VzLXZpc2libGUgbWF0Y2hlcyBvbiBhY2Nlc3NrZXkgYWZ0ZXIgYSBwcmV2
aW91cyBlbGVtZW50IHdhcyBmb2N1c2VkIHZpYSBtb3VzZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
OmZvY3VzIHsKKyAgYmFja2dyb3VuZDogbGltZTsKK30KKzpmb2N1cy12aXNpYmxlIHsKKyAgb3V0
bGluZTogc29saWQgNXB4IGJsdWU7Cit9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJpbml0aWFsIiB0
YWJpbmRleD0iMCI+SW5pdGlhbDwvZGl2PgorPGRpdiBpZD0idGFyZ2V0IiB0YWJpbmRleD0iMCIg
YWNjZXNza2V5PSJ0Ij5UYXJnZXQ8L2Rpdj4KKworPHNjcmlwdD4KKworZnVuY3Rpb24gcHJlc3NB
Y2Nlc3NLZXkoa2V5KQoreworICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LnNlYXJjaCgvXGJN
YWMgT1MgWFxiLykgIT0gLTEpCisgICAgICAgIG1vZGlmaWVycyA9IFsiY3RybEtleSIsICJhbHRL
ZXkiXTsKKyAgICBlbHNlCisgICAgICAgIG1vZGlmaWVycyA9IFsiYWx0S2V5Il07CisgICAgZXZl
bnRTZW5kZXIua2V5RG93bihrZXksIG1vZGlmaWVycyk7Cit9CisKK2Z1bmN0aW9uIGNsaWNrRWxl
bWVudChlbGVtZW50KQoreworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGVsZW1lbnQub2Zm
c2V0TGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyLCBlbGVtZW50Lm9mZnNldFRvcCArIGVs
ZW1lbnQub2Zmc2V0VG9wIC8gMik7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgpCit9CisKK3Rlc3QoKCkgPT4geworICAgIGNsaWNrRWxlbWVu
dChpbml0aWFsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsIGlu
aXRpYWwpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShpbml0aWFsKS5iYWNr
Z3JvdW5kQ29sb3IsICJyZ2IoMCwgMjU1LCAwKSIsIGBiYWNrZ3JvdW5kLWNvbG9yIGZvciAke2lu
aXRpYWwudGFnTmFtZX0jJHtpbml0aWFsLmlkfSBzaG91bHQgYmUgbGltZWApOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKGdldENvbXB1dGVkU3R5bGUoaW5pdGlhbCkub3V0bGluZUNvbG9yLCAicmdi
KDAsIDAsIDI1NSkiLCBgb3V0bGluZS1jb2xvciBmb3IgJHtpbml0aWFsLnRhZ05hbWV9IyR7aW5p
dGlhbC5pZH0gc2hvdWx0IE5PVCBiZSBibHVlYCk7Cit9LCAiSW5pdGlhbCBlbGVtZW50IGZvY3Vz
ZWQgdmlhIGNsaWNrIGRvZXMgTk9UIG1hdGNoIDpmb2N1cy12aXNpYmxlIik7CisKK3Rlc3QoKCkg
PT4geworICAgIHByZXNzQWNjZXNzS2V5KCJ0Iik7CisgICAgYXNzZXJ0X2VxdWFscyhkb2N1bWVu
dC5hY3RpdmVFbGVtZW50LCB0YXJnZXQpOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZSh0YXJnZXQpLmJhY2tncm91bmRDb2xvciwgInJnYigwLCAyNTUsIDApIiwgYGJhY2tncm91
bmQtY29sb3IgZm9yICR7dGFyZ2V0LnRhZ05hbWV9IyR7dGFyZ2V0LmlkfSBzaG91bHQgYmUgbGlt
ZWApOworICAgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLm91dGxpbmVD
b2xvciwgInJnYigwLCAwLCAyNTUpIiwgYG91dGxpbmUtY29sb3IgZm9yICR7dGFyZ2V0LnRhZ05h
bWV9IyR7dGFyZ2V0LmlkfSBzaG91bHQgYmUgYmx1ZWApOworfSwgIlRhcmdldCBlbGVtZW50IGZv
Y3VzZWQgdmlhIGFjY2Vzc2tleSBtYXRjaGVzIDpmb2N1cy12aXNpYmxlIik7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448219</attachid>
            <date>2022-01-03 03:03:39 -0800</date>
            <delta_ts>2022-01-04 03:07:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234077-20220103120338.patch</filename>
            <type>text/plain</type>
            <size>6168</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzllMDE1ZDIxZjIyZDgy
NzllMWVlYWJlODQzYjBmMTcyYWRiZTlmYi4uMWIxMTg3MTZhNTA4ODVhYzc1ZDM5NTg3YzQ0YzY4
ZWQ2ZWE4NzAxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTAxLTAzICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtzZWxlY3Rv
cnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NLZXkgZm9jdXMgYWZ0ZXIg
Zm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjU3
MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIGFkZHMgRWxlbWVudDo6Zm9jdXNGb3JCaW5kaW5ncygpIHRvIGRpZmZlcmVudGl0
YXRlIHdoZW4gdGhpcyBpcyBjYWxsZWQgZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBJZiB0aGF0
J3MgdGhlIGNhc2UgaXQgcGFzcyBhIG5ldyBGb2N1c1RyaWdnZXI6OkphdmFTY3JpcHRCaW5kaW5n
cyB2YWx1ZSB0byBFbGVtZW50Ojpmb2N1cygpLAorICAgICAgICBzbyB3ZSBjYW4gZGlmZmVyZW50
aWF0ZSB3aGVuIHRoaXMgd2FzIGNhbGxlZCBmcm9tIHNvbWUgaW50ZXJuYWwgY29kZSBvciBmcm9t
IEphdmFTY3JpcHQuCisKKyAgICAgICAgV2hlbiBFbGVtZW50Ojpmb2N1cygpIGhhcyBiZWVuIGNh
bGxlZCBpbnRlcm5hbGx5LCB3ZSBhbHdheXMgd2FudCB0byBzaG93IHRoZSBmb2N1cyByaW5nCisg
ICAgICAgICh0aHVzIHBhc3MgRm9jdXNWaXNpYmlsaXR5OjpWaXNpYmxlKS4gSG93ZXZlciB3aGVu
IGl0J3MgY2FsbGVkIGZyb20gYSBzY3JpcHQKKyAgICAgICAgd2UnbGwgc2V0IGl0IHRvIFZpc2li
bGUgb3IgSW52aXNpYmxlIGRlcGVuZGluZyBvbiBpZiB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVs
ZW1lbnQKKyAgICAgICAgd2FzIGZvY3VzZWQgdmlhIG1vdXNlIGNsaWNrIG9yIG5vdCAodGhpcyBp
cyBuZWVkZWQgdG8gcGFzcworICAgICAgICB0aGUgY3NzL3NlbGVjdG9ycy9mb2N1cy12aXNpYmxl
LXNjcmlwdC1mb2N1cy0qIHRlc3RzIGZyb20gV1BUIHJlcG9zaXRvcnkpLgorCisgICAgICAgIFRl
c3Q6IGZhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWwKKworICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmZvY3VzKToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmZvY3VzRm9yQmluZGluZ3MpOgorICAgICAgICAq
IGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpmb2N1c0ZvckJpbmRp
bmdzKToKKyAgICAgICAgKiBkb20vRm9jdXNPcHRpb25zLmg6CisgICAgICAgICogaHRtbC9IVE1M
T3JGb3JlaWduRWxlbWVudC5pZGw6CisKIDIwMjItMDEtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgQWNjZXNzIGtleSBzaG91bGQgd29yayBv
biBmb2N1c2FibGUgZWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA0MWQyYzQ2M2Yx
NmU1NmFhNWVlYzE4ZjYzNmRiODQxZWJkY2MzNWMwLi40OTllOTA4YTk4MzRhNzhmMjgyZWRkMTRm
ZjE4ODQzNDAyYWM2ZmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zMDk5LDcgKzMwOTks
OSBAQCB2b2lkIEVsZW1lbnQ6OmZvY3VzKGNvbnN0IEZvY3VzT3B0aW9ucyYgb3B0aW9ucykKICAg
ICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBGb2N1c09wdGlvbnMgb3B0aW9uc1dpdGhWaXNp
YmlsaXR5ID0gb3B0aW9uczsKLSAgICAgICAgaWYgKCFkb2N1bWVudC0+d2FzTGFzdEZvY3VzQnlD
bGljaygpKQorICAgICAgICBpZiAoKG9wdGlvbnMudHJpZ2dlciA9PSBGb2N1c1RyaWdnZXI6Okph
dmFTY3JpcHRCaW5kaW5ncykgJiYgZG9jdW1lbnQtPndhc0xhc3RGb2N1c0J5Q2xpY2soKSkKKyAg
ICAgICAgICAgIG9wdGlvbnNXaXRoVmlzaWJpbGl0eS52aXNpYmlsaXR5ID0gRm9jdXNWaXNpYmls
aXR5OjpJbnZpc2libGU7CisgICAgICAgIGVsc2UKICAgICAgICAgICAgIG9wdGlvbnNXaXRoVmlz
aWJpbGl0eS52aXNpYmlsaXR5ID0gRm9jdXNWaXNpYmlsaXR5OjpWaXNpYmxlOwogCiAgICAgICAg
IC8vIEZvY3VzIGFuZCBjaGFuZ2UgZXZlbnQgaGFuZGxlcnMgY2FuIGNhdXNlIHVzIHRvIGxvc2Ug
b3VyIGxhc3QgcmVmLgpAQCAtMzExMiw2ICszMTE0LDEzIEBAIHZvaWQgRWxlbWVudDo6Zm9jdXMo
Y29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogICAgIG5ld1RhcmdldC0+ZmluZFRhcmdldEFu
ZFVwZGF0ZUZvY3VzQXBwZWFyYW5jZShvcHRpb25zLnNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSwg
b3B0aW9ucy5wcmV2ZW50U2Nyb2xsID8gU2VsZWN0aW9uUmV2ZWFsTW9kZTo6RG9Ob3RSZXZlYWwg
OiBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwpOwogfQogCit2b2lkIEVsZW1lbnQ6OmZvY3Vz
Rm9yQmluZGluZ3MoY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQoreworICAgIEZvY3VzT3B0
aW9ucyBvcHRpb25zV2l0aFRyaWdnZXIgPSBvcHRpb25zOworICAgIG9wdGlvbnNXaXRoVHJpZ2dl
ci50cmlnZ2VyID0gRm9jdXNUcmlnZ2VyOjpKYXZhU2NyaXB0QmluZGluZ3M7CisgICAgZm9jdXMo
b3B0aW9uc1dpdGhUcmlnZ2VyKTsKK30KKwogdm9pZCBFbGVtZW50OjpmaW5kVGFyZ2V0QW5kVXBk
YXRlRm9jdXNBcHBlYXJhbmNlKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSBzZWxlY3Rpb25Nb2Rl
LCBTZWxlY3Rpb25SZXZlYWxNb2RlIHJldmVhbE1vZGUpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGZhZGM1ZjBhZDUwMWU0M2I3MjRkNjZmYWNlYzRj
ZDhhNDdmYzExMjQuLjE4ZTE5M2ExMjU0ZGJhMjk2MmUxOTQ3NjU2ZTFmMjVkYTM0NTU0NTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaApAQCAtNDI2LDYgKzQyNiw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRp
YyBBWFRleHRTdGF0ZUNoYW5nZUludGVudCBkZWZhdWx0Rm9jdXNUZXh0U3RhdGVDaGFuZ2VJbnRl
bnQoKSB7IHJldHVybiBBWFRleHRTdGF0ZUNoYW5nZUludGVudChBWFRleHRTdGF0ZUNoYW5nZVR5
cGVTZWxlY3Rpb25Nb3ZlLCBBWFRleHRTZWxlY3Rpb24geyBBWFRleHRTZWxlY3Rpb25EaXJlY3Rp
b25EaXNjb250aWd1b3VzLCBBWFRleHRTZWxlY3Rpb25HcmFudWxhcml0eVVua25vd24sIHRydWUg
fSk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoY29uc3QgRm9jdXNPcHRpb25zJiA9IHsgfSk7
CisgICAgdmlydHVhbCB2b2lkIGZvY3VzRm9yQmluZGluZ3MoY29uc3QgRm9jdXNPcHRpb25zJiA9
IHsgfSk7CiAgICAgdm9pZCBmaW5kVGFyZ2V0QW5kVXBkYXRlRm9jdXNBcHBlYXJhbmNlKFNlbGVj
dGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNlbGVjdGlvblJldmVh
bE1vZGU6OlJldmVhbCk7CiAgICAgdmlydHVhbCBSZWZQdHI8RWxlbWVudD4gZm9jdXNBcHBlYXJh
bmNlVXBkYXRlVGFyZ2V0KCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5j
ZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUsIFNlbGVjdGlvblJldmVhbE1vZGUgPSBTZWxlY3Rp
b25SZXZlYWxNb2RlOjpSZXZlYWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Zv
Y3VzT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzT3B0aW9ucy5oCmluZGV4IDEy
MjA4N2Y3MGFhMThjYTkwM2QyMjllZmFmOGJjOGUxMzUwNzc4MTcuLjY2ODE0ODQ2YjBiYWExNjJk
YmQ3YTEyZjA0NGI2YTA5NjFkMDA3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9G
b2N1c09wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNPcHRpb25zLmgKQEAg
LTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIEZvY3VzUmVt
b3ZhbEV2ZW50c01vZGUgOiBib29sIHsgRGlzcGF0Y2gsIERvTm90RGlzcGF0Y2ggfTsKIAotZW51
bSBjbGFzcyBGb2N1c1RyaWdnZXIgOiBib29sIHsgT3RoZXIsIENsaWNrIH07CitlbnVtIGNsYXNz
IEZvY3VzVHJpZ2dlciA6IHVpbnQ4X3QgeyBPdGhlciwgQ2xpY2ssIEphdmFTY3JpcHRCaW5kaW5n
cyB9OwogCiBlbnVtIGNsYXNzIEZvY3VzVmlzaWJpbGl0eSA6IGJvb2wgeyBJbnZpc2libGUsIFZp
c2libGUgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWdu
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPckZvcmVpZ25FbGVtZW50Lmlk
bAppbmRleCBhMTI5NTUxMThhNTE3N2U3N2FjOTg4MWM2NDFmMGQwOGI3ODUyNzkwLi5kNzY0ZTVj
YTkxM2NjMTk5OGI3ZjE5MGJmYTUwNmFiZWU0NjEwMjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPckZvcmVpZ25FbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPckZvcmVpZ25FbGVtZW50LmlkbApAQCAtMzIsNyArMzIsNyBAQCBpbnRlcmZhY2Ug
bWl4aW4gSFRNTE9yRm9yZWlnbkVsZW1lbnQgewogCiAgICAgW0NFUmVhY3Rpb25zPU5vdE5lZWRl
ZCwgUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gYXV0b2ZvY3VzOwogICAgIFtDRVJlYWN0aW9u
cywgSW1wbGVtZW50ZWRBcz10YWJJbmRleEZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgbG9uZyB0YWJJ
bmRleDsKLSAgICB1bmRlZmluZWQgZm9jdXMob3B0aW9uYWwgRm9jdXNPcHRpb25zIG9wdGlvbnMp
OworICAgIFtJbXBsZW1lbnRlZEFzPWZvY3VzRm9yQmluZGluZ3NdIHVuZGVmaW5lZCBmb2N1cyhv
cHRpb25hbCBGb2N1c09wdGlvbnMgb3B0aW9ucyk7CiAgICAgdW5kZWZpbmVkIGJsdXIoKTsKIH07
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBkNDU0MTgyODk1ZTNkYmU1NTNkZjYwYzhmMTM3OTVmODliODE1NTVmLi4zNzFl
OWUyMjhmMWQzYjAwYmYxMWI4NjRmZmIzMWU1MGQ1NmNjZjYyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjItMDEtMDMgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW3NlbGVjdG9yc10gOmZvY3VzLXZpc2libGUgbm90IG1hdGNoaW5nIG9uIGFj
Y2Vzc0tleSBmb2N1cyBhZnRlciBmb2N1c2luZyBzb21ldGhpbmcgdmlhIG1vdXNlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQwNzcKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzg2NTcyNTYxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdyaXRpbmcgYW4gaW50ZXJuYWwgdGVzdCBhcyBXUFQgdGVzdHMg
Zm9yIHRoaXMgZG9uJ3Qgd29yayBkdWUgdG8gd2Via2l0Lm9yZy9iLzIzNDEzOS4KKworICAgICAg
ICAqIGZhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXku
aHRtbDogQWRkZWQuCisKIDIwMjItMDEtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgQWNjZXNzIGtleSBzaG91bGQgd29yayBvbiBmb2N1c2Fi
bGUgZWxlbWVudC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448275</attachid>
            <date>2022-01-04 03:07:14 -0800</date>
            <delta_ts>2022-01-04 04:37:24 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234077-20220104120713.patch</filename>
            <type>text/plain</type>
            <size>6049</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzllMDE1ZDIxZjIyZDgy
NzllMWVlYWJlODQzYjBmMTcyYWRiZTlmYi4uNDExODg1MGVmYzI1MWEwODgyNDE5MzQzZDJiMmY3
NGY3YjkxN2ZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTAxLTAzICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtzZWxlY3Rv
cnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NLZXkgZm9jdXMgYWZ0ZXIg
Zm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjU3
MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBU
aGlzIHBhdGNoIGFkZHMgRWxlbWVudDo6Zm9jdXNGb3JCaW5kaW5ncygpIHRvIGRpZmZlcmVudGl0
YXRlIHdoZW4gdGhpcyBpcyBjYWxsZWQgZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBJZiB0aGF0
J3MgdGhlIGNhc2UgaXQgcGFzcyBhIG5ldyBGb2N1c1RyaWdnZXI6OkJpbmRpbmdzIHZhbHVlIHRv
IEVsZW1lbnQ6OmZvY3VzKCksCisgICAgICAgIHNvIHdlIGNhbiBkaWZmZXJlbnRpYXRlIHdoZW4g
dGhpcyB3YXMgY2FsbGVkIGZyb20gc29tZSBpbnRlcm5hbCBjb2RlIG9yIGZyb20gSmF2YVNjcmlw
dC4KKworICAgICAgICBXaGVuIEVsZW1lbnQ6OmZvY3VzKCkgaGFzIGJlZW4gY2FsbGVkIGludGVy
bmFsbHksIHdlIGFsd2F5cyB3YW50IHRvIHNob3cgdGhlIGZvY3VzIHJpbmcKKyAgICAgICAgKHRo
dXMgcGFzcyBGb2N1c1Zpc2liaWxpdHk6OlZpc2libGUpLiBIb3dldmVyIHdoZW4gaXQncyBjYWxs
ZWQgZnJvbSBhIHNjcmlwdAorICAgICAgICB3ZSdsbCBzZXQgaXQgdG8gVmlzaWJsZSBvciBJbnZp
c2libGUgZGVwZW5kaW5nIG9uIGlmIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudAorICAg
ICAgICB3YXMgZm9jdXNlZCB2aWEgbW91c2UgY2xpY2sgb3Igbm90ICh0aGlzIGlzIG5lZWRlZCB0
byBwYXNzCisgICAgICAgIHRoZSBjc3Mvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtc2NyaXB0LWZv
Y3VzLSogdGVzdHMgZnJvbSBXUFQgcmVwb3NpdG9yeSkuCisKKyAgICAgICAgVGVzdDogZmFzdC9z
ZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXkuaHRtbAorCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6Zm9jdXNGb3JCaW5kaW5ncyk6CisgICAgICAgICogZG9tL0VsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmZvY3VzRm9yQmluZGluZ3MpOgorICAg
ICAgICAqIGRvbS9Gb2N1c09wdGlvbnMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxPckZvcmVpZ25F
bGVtZW50LmlkbDoKKwogMjAyMi0wMS0wMiAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29A
aWdhbGlhLmNvbT4KIAogICAgICAgICBBY2Nlc3Mga2V5IHNob3VsZCB3b3JrIG9uIGZvY3VzYWJs
ZSBlbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDQxZDJjNDYzZjE2ZTU2YWE1ZWVj
MThmNjM2ZGI4NDFlYmRjYzM1YzAuLjIwYzM0MzJiNzg2YjFhNWU1MmI0NTdhNjVjMzE2MzJmYjMy
NWM1Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTMwOTksNyArMzA5OSw5IEBAIHZvaWQg
RWxlbWVudDo6Zm9jdXMoY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogICAgICAgICAgICAg
cmV0dXJuOwogCiAgICAgICAgIEZvY3VzT3B0aW9ucyBvcHRpb25zV2l0aFZpc2liaWxpdHkgPSBv
cHRpb25zOwotICAgICAgICBpZiAoIWRvY3VtZW50LT53YXNMYXN0Rm9jdXNCeUNsaWNrKCkpCisg
ICAgICAgIGlmIChvcHRpb25zLnRyaWdnZXIgPT0gRm9jdXNUcmlnZ2VyOjpCaW5kaW5ncyAmJiBk
b2N1bWVudC0+d2FzTGFzdEZvY3VzQnlDbGljaygpKQorICAgICAgICAgICAgb3B0aW9uc1dpdGhW
aXNpYmlsaXR5LnZpc2liaWxpdHkgPSBGb2N1c1Zpc2liaWxpdHk6OkludmlzaWJsZTsKKyAgICAg
ICAgZWxzZQogICAgICAgICAgICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2liaWxpdHkgPSBG
b2N1c1Zpc2liaWxpdHk6OlZpc2libGU7CiAKICAgICAgICAgLy8gRm9jdXMgYW5kIGNoYW5nZSBl
dmVudCBoYW5kbGVycyBjYW4gY2F1c2UgdXMgdG8gbG9zZSBvdXIgbGFzdCByZWYuCkBAIC0zMTEy
LDYgKzMxMTQsMTIgQEAgdm9pZCBFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMmIG9w
dGlvbnMpCiAgICAgbmV3VGFyZ2V0LT5maW5kVGFyZ2V0QW5kVXBkYXRlRm9jdXNBcHBlYXJhbmNl
KG9wdGlvbnMuc2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlLCBvcHRpb25zLnByZXZlbnRTY3JvbGwg
PyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbCA6IFNlbGVjdGlvblJldmVhbE1vZGU6
OlJldmVhbCk7CiB9CiAKK3ZvaWQgRWxlbWVudDo6Zm9jdXNGb3JCaW5kaW5ncyhGb2N1c09wdGlv
bnMmJiBvcHRpb25zKQoreworICAgIG9wdGlvbnMudHJpZ2dlciA9IEZvY3VzVHJpZ2dlcjo6Qmlu
ZGluZ3M7CisgICAgZm9jdXMoV1RGTW92ZShvcHRpb25zKSk7Cit9CisKIHZvaWQgRWxlbWVudDo6
ZmluZFRhcmdldEFuZFVwZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1v
ZGUgc2VsZWN0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlKQogewogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBmYWRjNWYwYWQ1MDFl
NDNiNzI0ZDY2ZmFjZWM0Y2Q4YTQ3ZmMxMTI0Li4zZDlkMzk0MjQwMTkxOTk2ODM3MGRlM2I5NTE3
NzZiZThmMmVkNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTQyNiw2ICs0MjYsNyBAQCBwdWJs
aWM6CiAKICAgICBzdGF0aWMgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQgZGVmYXVsdEZvY3VzVGV4
dFN0YXRlQ2hhbmdlSW50ZW50KCkgeyByZXR1cm4gQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQoQVhU
ZXh0U3RhdGVDaGFuZ2VUeXBlU2VsZWN0aW9uTW92ZSwgQVhUZXh0U2VsZWN0aW9uIHsgQVhUZXh0
U2VsZWN0aW9uRGlyZWN0aW9uRGlzY29udGlndW91cywgQVhUZXh0U2VsZWN0aW9uR3JhbnVsYXJp
dHlVbmtub3duLCB0cnVlIH0pOyB9CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKGNvbnN0IEZvY3Vz
T3B0aW9ucyYgPSB7IH0pOworICAgIHZpcnR1YWwgdm9pZCBmb2N1c0ZvckJpbmRpbmdzKEZvY3Vz
T3B0aW9ucyYmKTsKICAgICB2b2lkIGZpbmRUYXJnZXRBbmRVcGRhdGVGb2N1c0FwcGVhcmFuY2Uo
U2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlLCBTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9u
UmV2ZWFsTW9kZTo6UmV2ZWFsKTsKICAgICB2aXJ0dWFsIFJlZlB0cjxFbGVtZW50PiBmb2N1c0Fw
cGVhcmFuY2VVcGRhdGVUYXJnZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBl
YXJhbmNlKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNl
bGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNPcHRpb25zLmgKaW5k
ZXggMTIyMDg3ZjcwYWExOGNhOTAzZDIyOWVmYWY4YmM4ZTEzNTA3NzgxNy4uYWIyYjQyNTRjY2Q3
YWYwNjZlMjNmMjVmNjVlMzM1YjAxNTg5MGFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c09wdGlvbnMu
aApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgRm9j
dXNSZW1vdmFsRXZlbnRzTW9kZSA6IGJvb2wgeyBEaXNwYXRjaCwgRG9Ob3REaXNwYXRjaCB9Owog
Ci1lbnVtIGNsYXNzIEZvY3VzVHJpZ2dlciA6IGJvb2wgeyBPdGhlciwgQ2xpY2sgfTsKK2VudW0g
Y2xhc3MgRm9jdXNUcmlnZ2VyIDogdWludDhfdCB7IE90aGVyLCBDbGljaywgQmluZGluZ3MgfTsK
IAogZW51bSBjbGFzcyBGb2N1c1Zpc2liaWxpdHkgOiBib29sIHsgSW52aXNpYmxlLCBWaXNpYmxl
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9yRm9yZWlnbkVsZW1l
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGwKaW5k
ZXggYTEyOTU1MTE4YTUxNzdlNzdhYzk4ODFjNjQxZjBkMDhiNzg1Mjc5MC4uZDc2NGU1Y2E5MTNj
YzE5OThiN2YxOTBiZmE1MDZhYmVlNDYxMDIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3JGb3JlaWduRWxlbWVudC5pZGwKQEAgLTMyLDcgKzMyLDcgQEAgaW50ZXJmYWNlIG1peGlu
IEhUTUxPckZvcmVpZ25FbGVtZW50IHsKIAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJl
ZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGF1dG9mb2N1czsKICAgICBbQ0VSZWFjdGlvbnMsIElt
cGxlbWVudGVkQXM9dGFiSW5kZXhGb3JCaW5kaW5nc10gYXR0cmlidXRlIGxvbmcgdGFiSW5kZXg7
Ci0gICAgdW5kZWZpbmVkIGZvY3VzKG9wdGlvbmFsIEZvY3VzT3B0aW9ucyBvcHRpb25zKTsKKyAg
ICBbSW1wbGVtZW50ZWRBcz1mb2N1c0ZvckJpbmRpbmdzXSB1bmRlZmluZWQgZm9jdXMob3B0aW9u
YWwgRm9jdXNPcHRpb25zIG9wdGlvbnMpOwogICAgIHVuZGVmaW5lZCBibHVyKCk7CiB9OwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZDQ1NDE4Mjg5NWUzZGJlNTUzZGY2MGM4ZjEzNzk1Zjg5YjgxNTU1Zi4uZTExMDNmMTc4
ZWI3ZGQzMTZlMTJkODE0MzgwZGVhYzYyM2U5M2M0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDIyLTAxLTAzICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtzZWxlY3RvcnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NL
ZXkgZm9jdXMgYWZ0ZXIgZm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84NjU3MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0
by4KKworICAgICAgICBXcml0aW5nIGFuIGludGVybmFsIHRlc3QgYXMgV1BUIHRlc3RzIGZvciB0
aGlzIGRvbid0IHdvcmsgZHVlIHRvIHdlYmtpdC5vcmcvYi8yMzQxMzkuCisKKyAgICAgICAgKiBm
YXN0L3NlbGVjdG9ycy9mb2N1cy12aXNpYmxlLWFjY2Vzc2tleS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWw6
IEFkZGVkLgorCiAyMDIyLTAxLTAyICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEFjY2VzcyBrZXkgc2hvdWxkIHdvcmsgb24gZm9jdXNhYmxlIGVs
ZW1lbnQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448283</attachid>
            <date>2022-01-04 04:37:30 -0800</date>
            <delta_ts>2022-01-04 05:30:22 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234077-20220104133729.patch</filename>
            <type>text/plain</type>
            <size>8753</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzllMDE1ZDIxZjIyZDgy
NzllMWVlYWJlODQzYjBmMTcyYWRiZTlmYi4uNDExODg1MGVmYzI1MWEwODgyNDE5MzQzZDJiMmY3
NGY3YjkxN2ZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTAxLTAzICBNYW51
ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtzZWxlY3Rv
cnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NLZXkgZm9jdXMgYWZ0ZXIg
Zm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjU3
MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBU
aGlzIHBhdGNoIGFkZHMgRWxlbWVudDo6Zm9jdXNGb3JCaW5kaW5ncygpIHRvIGRpZmZlcmVudGl0
YXRlIHdoZW4gdGhpcyBpcyBjYWxsZWQgZnJvbSBKYXZhU2NyaXB0LgorICAgICAgICBJZiB0aGF0
J3MgdGhlIGNhc2UgaXQgcGFzcyBhIG5ldyBGb2N1c1RyaWdnZXI6OkJpbmRpbmdzIHZhbHVlIHRv
IEVsZW1lbnQ6OmZvY3VzKCksCisgICAgICAgIHNvIHdlIGNhbiBkaWZmZXJlbnRpYXRlIHdoZW4g
dGhpcyB3YXMgY2FsbGVkIGZyb20gc29tZSBpbnRlcm5hbCBjb2RlIG9yIGZyb20gSmF2YVNjcmlw
dC4KKworICAgICAgICBXaGVuIEVsZW1lbnQ6OmZvY3VzKCkgaGFzIGJlZW4gY2FsbGVkIGludGVy
bmFsbHksIHdlIGFsd2F5cyB3YW50IHRvIHNob3cgdGhlIGZvY3VzIHJpbmcKKyAgICAgICAgKHRo
dXMgcGFzcyBGb2N1c1Zpc2liaWxpdHk6OlZpc2libGUpLiBIb3dldmVyIHdoZW4gaXQncyBjYWxs
ZWQgZnJvbSBhIHNjcmlwdAorICAgICAgICB3ZSdsbCBzZXQgaXQgdG8gVmlzaWJsZSBvciBJbnZp
c2libGUgZGVwZW5kaW5nIG9uIGlmIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudAorICAg
ICAgICB3YXMgZm9jdXNlZCB2aWEgbW91c2UgY2xpY2sgb3Igbm90ICh0aGlzIGlzIG5lZWRlZCB0
byBwYXNzCisgICAgICAgIHRoZSBjc3Mvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtc2NyaXB0LWZv
Y3VzLSogdGVzdHMgZnJvbSBXUFQgcmVwb3NpdG9yeSkuCisKKyAgICAgICAgVGVzdDogZmFzdC9z
ZWxlY3RvcnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXkuaHRtbAorCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Zm9jdXMpOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6Zm9jdXNGb3JCaW5kaW5ncyk6CisgICAgICAgICogZG9tL0VsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmZvY3VzRm9yQmluZGluZ3MpOgorICAg
ICAgICAqIGRvbS9Gb2N1c09wdGlvbnMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxPckZvcmVpZ25F
bGVtZW50LmlkbDoKKwogMjAyMi0wMS0wMiAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29A
aWdhbGlhLmNvbT4KIAogICAgICAgICBBY2Nlc3Mga2V5IHNob3VsZCB3b3JrIG9uIGZvY3VzYWJs
ZSBlbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDQxZDJjNDYzZjE2ZTU2YWE1ZWVj
MThmNjM2ZGI4NDFlYmRjYzM1YzAuLjIwYzM0MzJiNzg2YjFhNWU1MmI0NTdhNjVjMzE2MzJmYjMy
NWM1Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTMwOTksNyArMzA5OSw5IEBAIHZvaWQg
RWxlbWVudDo6Zm9jdXMoY29uc3QgRm9jdXNPcHRpb25zJiBvcHRpb25zKQogICAgICAgICAgICAg
cmV0dXJuOwogCiAgICAgICAgIEZvY3VzT3B0aW9ucyBvcHRpb25zV2l0aFZpc2liaWxpdHkgPSBv
cHRpb25zOwotICAgICAgICBpZiAoIWRvY3VtZW50LT53YXNMYXN0Rm9jdXNCeUNsaWNrKCkpCisg
ICAgICAgIGlmIChvcHRpb25zLnRyaWdnZXIgPT0gRm9jdXNUcmlnZ2VyOjpCaW5kaW5ncyAmJiBk
b2N1bWVudC0+d2FzTGFzdEZvY3VzQnlDbGljaygpKQorICAgICAgICAgICAgb3B0aW9uc1dpdGhW
aXNpYmlsaXR5LnZpc2liaWxpdHkgPSBGb2N1c1Zpc2liaWxpdHk6OkludmlzaWJsZTsKKyAgICAg
ICAgZWxzZQogICAgICAgICAgICAgb3B0aW9uc1dpdGhWaXNpYmlsaXR5LnZpc2liaWxpdHkgPSBG
b2N1c1Zpc2liaWxpdHk6OlZpc2libGU7CiAKICAgICAgICAgLy8gRm9jdXMgYW5kIGNoYW5nZSBl
dmVudCBoYW5kbGVycyBjYW4gY2F1c2UgdXMgdG8gbG9zZSBvdXIgbGFzdCByZWYuCkBAIC0zMTEy
LDYgKzMxMTQsMTIgQEAgdm9pZCBFbGVtZW50Ojpmb2N1cyhjb25zdCBGb2N1c09wdGlvbnMmIG9w
dGlvbnMpCiAgICAgbmV3VGFyZ2V0LT5maW5kVGFyZ2V0QW5kVXBkYXRlRm9jdXNBcHBlYXJhbmNl
KG9wdGlvbnMuc2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlLCBvcHRpb25zLnByZXZlbnRTY3JvbGwg
PyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpEb05vdFJldmVhbCA6IFNlbGVjdGlvblJldmVhbE1vZGU6
OlJldmVhbCk7CiB9CiAKK3ZvaWQgRWxlbWVudDo6Zm9jdXNGb3JCaW5kaW5ncyhGb2N1c09wdGlv
bnMmJiBvcHRpb25zKQoreworICAgIG9wdGlvbnMudHJpZ2dlciA9IEZvY3VzVHJpZ2dlcjo6Qmlu
ZGluZ3M7CisgICAgZm9jdXMoV1RGTW92ZShvcHRpb25zKSk7Cit9CisKIHZvaWQgRWxlbWVudDo6
ZmluZFRhcmdldEFuZFVwZGF0ZUZvY3VzQXBwZWFyYW5jZShTZWxlY3Rpb25SZXN0b3JhdGlvbk1v
ZGUgc2VsZWN0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSByZXZlYWxNb2RlKQogewogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBmYWRjNWYwYWQ1MDFl
NDNiNzI0ZDY2ZmFjZWM0Y2Q4YTQ3ZmMxMTI0Li4zZDlkMzk0MjQwMTkxOTk2ODM3MGRlM2I5NTE3
NzZiZThmMmVkNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTQyNiw2ICs0MjYsNyBAQCBwdWJs
aWM6CiAKICAgICBzdGF0aWMgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQgZGVmYXVsdEZvY3VzVGV4
dFN0YXRlQ2hhbmdlSW50ZW50KCkgeyByZXR1cm4gQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQoQVhU
ZXh0U3RhdGVDaGFuZ2VUeXBlU2VsZWN0aW9uTW92ZSwgQVhUZXh0U2VsZWN0aW9uIHsgQVhUZXh0
U2VsZWN0aW9uRGlyZWN0aW9uRGlzY29udGlndW91cywgQVhUZXh0U2VsZWN0aW9uR3JhbnVsYXJp
dHlVbmtub3duLCB0cnVlIH0pOyB9CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzKGNvbnN0IEZvY3Vz
T3B0aW9ucyYgPSB7IH0pOworICAgIHZpcnR1YWwgdm9pZCBmb2N1c0ZvckJpbmRpbmdzKEZvY3Vz
T3B0aW9ucyYmKTsKICAgICB2b2lkIGZpbmRUYXJnZXRBbmRVcGRhdGVGb2N1c0FwcGVhcmFuY2Uo
U2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlLCBTZWxlY3Rpb25SZXZlYWxNb2RlID0gU2VsZWN0aW9u
UmV2ZWFsTW9kZTo6UmV2ZWFsKTsKICAgICB2aXJ0dWFsIFJlZlB0cjxFbGVtZW50PiBmb2N1c0Fw
cGVhcmFuY2VVcGRhdGVUYXJnZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBl
YXJhbmNlKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSwgU2VsZWN0aW9uUmV2ZWFsTW9kZSA9IFNl
bGVjdGlvblJldmVhbE1vZGU6OlJldmVhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNPcHRpb25zLmgKaW5k
ZXggMTIyMDg3ZjcwYWExOGNhOTAzZDIyOWVmYWY4YmM4ZTEzNTA3NzgxNy4uYWIyYjQyNTRjY2Q3
YWYwNjZlMjNmMjVmNjVlMzM1YjAxNTg5MGFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c09wdGlvbnMu
aApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3MgRm9j
dXNSZW1vdmFsRXZlbnRzTW9kZSA6IGJvb2wgeyBEaXNwYXRjaCwgRG9Ob3REaXNwYXRjaCB9Owog
Ci1lbnVtIGNsYXNzIEZvY3VzVHJpZ2dlciA6IGJvb2wgeyBPdGhlciwgQ2xpY2sgfTsKK2VudW0g
Y2xhc3MgRm9jdXNUcmlnZ2VyIDogdWludDhfdCB7IE90aGVyLCBDbGljaywgQmluZGluZ3MgfTsK
IAogZW51bSBjbGFzcyBGb2N1c1Zpc2liaWxpdHkgOiBib29sIHsgSW52aXNpYmxlLCBWaXNpYmxl
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9yRm9yZWlnbkVsZW1l
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGwKaW5k
ZXggYTEyOTU1MTE4YTUxNzdlNzdhYzk4ODFjNjQxZjBkMDhiNzg1Mjc5MC4uZDc2NGU1Y2E5MTNj
YzE5OThiN2YxOTBiZmE1MDZhYmVlNDYxMDIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3JGb3JlaWduRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3JGb3JlaWduRWxlbWVudC5pZGwKQEAgLTMyLDcgKzMyLDcgQEAgaW50ZXJmYWNlIG1peGlu
IEhUTUxPckZvcmVpZ25FbGVtZW50IHsKIAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWQsIFJl
ZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGF1dG9mb2N1czsKICAgICBbQ0VSZWFjdGlvbnMsIElt
cGxlbWVudGVkQXM9dGFiSW5kZXhGb3JCaW5kaW5nc10gYXR0cmlidXRlIGxvbmcgdGFiSW5kZXg7
Ci0gICAgdW5kZWZpbmVkIGZvY3VzKG9wdGlvbmFsIEZvY3VzT3B0aW9ucyBvcHRpb25zKTsKKyAg
ICBbSW1wbGVtZW50ZWRBcz1mb2N1c0ZvckJpbmRpbmdzXSB1bmRlZmluZWQgZm9jdXMob3B0aW9u
YWwgRm9jdXNPcHRpb25zIG9wdGlvbnMpOwogICAgIHVuZGVmaW5lZCBibHVyKCk7CiB9OwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZDQ1NDE4Mjg5NWUzZGJlNTUzZGY2MGM4ZjEzNzk1Zjg5YjgxNTU1Zi4uZTExMDNmMTc4
ZWI3ZGQzMTZlMTJkODE0MzgwZGVhYzYyM2U5M2M0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDIyLTAxLTAzICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtzZWxlY3RvcnNdIDpmb2N1cy12aXNpYmxlIG5vdCBtYXRjaGluZyBvbiBhY2Nlc3NL
ZXkgZm9jdXMgYWZ0ZXIgZm9jdXNpbmcgc29tZXRoaW5nIHZpYSBtb3VzZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MDc3CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84NjU3MjU2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0
by4KKworICAgICAgICBXcml0aW5nIGFuIGludGVybmFsIHRlc3QgYXMgV1BUIHRlc3RzIGZvciB0
aGlzIGRvbid0IHdvcmsgZHVlIHRvIHdlYmtpdC5vcmcvYi8yMzQxMzkuCisKKyAgICAgICAgKiBm
YXN0L3NlbGVjdG9ycy9mb2N1cy12aXNpYmxlLWFjY2Vzc2tleS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5Lmh0bWw6
IEFkZGVkLgorCiAyMDIyLTAxLTAyICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEFjY2VzcyBrZXkgc2hvdWxkIHdvcmsgb24gZm9jdXNhYmxlIGVs
ZW1lbnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9mb2N1cy12aXNp
YmxlLWFjY2Vzc2tleS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9m
b2N1cy12aXNpYmxlLWFjY2Vzc2tleS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZmMDU0ZDc4
OTUxZjZiNmVhMmVlN2RmMTcxODE1OTdlNDQ5Yzc0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ZvY3VzLXZpc2libGUtYWNjZXNza2V5LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDYgQEAKK0luaXRpYWwKK1RhcmdldAorCitQQVNTIEluaXRpYWwgZWxlbWVu
dCBmb2N1c2VkIHZpYSBjbGljayBkb2VzIE5PVCBtYXRjaCA6Zm9jdXMtdmlzaWJsZQorUEFTUyBU
YXJnZXQgZWxlbWVudCBmb2N1c2VkIHZpYSBhY2Nlc3NrZXkgbWF0Y2hlcyA6Zm9jdXMtdmlzaWJs
ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9mb2N1cy12aXNpYmxl
LWFjY2Vzc2tleS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZm9jdXMtdmlzaWJs
ZS1hY2Nlc3NrZXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTUzMGZkZDk5OWIxMjIyYTM5ZjFiMWJmZjM0
ZjFmN2FmYjY4MmEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3Rv
cnMvZm9jdXMtdmlzaWJsZS1hY2Nlc3NrZXkuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT46Zm9jdXMtdmlzaWJsZSBt
YXRjaGVzIG9uIGFjY2Vzc2tleSBhZnRlciBhIHByZXZpb3VzIGVsZW1lbnQgd2FzIGZvY3VzZWQg
dmlhIG1vdXNlPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Cis6Zm9jdXMgeworICBiYWNrZ3JvdW5kOiBs
aW1lOworfQorOmZvY3VzLXZpc2libGUgeworICBvdXRsaW5lOiBzb2xpZCA1cHggYmx1ZTsKK30K
Kzwvc3R5bGU+CisKKzxkaXYgaWQ9ImluaXRpYWwiIHRhYmluZGV4PSIwIj5Jbml0aWFsPC9kaXY+
Cis8ZGl2IGlkPSJ0YXJnZXQiIHRhYmluZGV4PSIwIiBhY2Nlc3NrZXk9InQiPlRhcmdldDwvZGl2
PgorCis8c2NyaXB0PgorCitmdW5jdGlvbiBwcmVzc0FjY2Vzc0tleShrZXkpCit7CisgICAgaWYg
KG5hdmlnYXRvci51c2VyQWdlbnQuc2VhcmNoKC9cYk1hYyBPUyBYXGIvKSAhPSAtMSkKKyAgICAg
ICAgbW9kaWZpZXJzID0gWyJjdHJsS2V5IiwgImFsdEtleSJdOworICAgIGVsc2UKKyAgICAgICAg
bW9kaWZpZXJzID0gWyJhbHRLZXkiXTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9k
aWZpZXJzKTsKK30KKworZnVuY3Rpb24gY2xpY2tFbGVtZW50KGVsZW1lbnQpCit7CisgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRX
aWR0aCAvIDIsIGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRUb3AgLyAyKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCkKK30K
KwordGVzdCgoKSA9PiB7CisgICAgY2xpY2tFbGVtZW50KGluaXRpYWwpOworICAgIGFzc2VydF9l
cXVhbHMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwgaW5pdGlhbCk7CisgICAgYXNzZXJ0X2VxdWFs
cyhnZXRDb21wdXRlZFN0eWxlKGluaXRpYWwpLmJhY2tncm91bmRDb2xvciwgInJnYigwLCAyNTUs
IDApIiwgYGJhY2tncm91bmQtY29sb3IgZm9yICR7aW5pdGlhbC50YWdOYW1lfSMke2luaXRpYWwu
aWR9IHNob3VsdCBiZSBsaW1lYCk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoZ2V0Q29tcHV0ZWRT
dHlsZShpbml0aWFsKS5vdXRsaW5lQ29sb3IsICJyZ2IoMCwgMCwgMjU1KSIsIGBvdXRsaW5lLWNv
bG9yIGZvciAke2luaXRpYWwudGFnTmFtZX0jJHtpbml0aWFsLmlkfSBzaG91bHQgTk9UIGJlIGJs
dWVgKTsKK30sICJJbml0aWFsIGVsZW1lbnQgZm9jdXNlZCB2aWEgY2xpY2sgZG9lcyBOT1QgbWF0
Y2ggOmZvY3VzLXZpc2libGUiKTsKKwordGVzdCgoKSA9PiB7CisgICAgcHJlc3NBY2Nlc3NLZXko
InQiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsIHRhcmdldCk7
CisgICAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHRhcmdldCkuYmFja2dyb3VuZENv
bG9yLCAicmdiKDAsIDI1NSwgMCkiLCBgYmFja2dyb3VuZC1jb2xvciBmb3IgJHt0YXJnZXQudGFn
TmFtZX0jJHt0YXJnZXQuaWR9IHNob3VsdCBiZSBsaW1lYCk7CisgICAgYXNzZXJ0X2VxdWFscyhn
ZXRDb21wdXRlZFN0eWxlKHRhcmdldCkub3V0bGluZUNvbG9yLCAicmdiKDAsIDAsIDI1NSkiLCBg
b3V0bGluZS1jb2xvciBmb3IgJHt0YXJnZXQudGFnTmFtZX0jJHt0YXJnZXQuaWR9IHNob3VsdCBi
ZSBibHVlYCk7Cit9LCAiVGFyZ2V0IGVsZW1lbnQgZm9jdXNlZCB2aWEgYWNjZXNza2V5IG1hdGNo
ZXMgOmZvY3VzLXZpc2libGUiKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>