<?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>218792</bug_id>
          
          <creation_ts>2020-11-11 01:17:28 -0800</creation_ts>
          <short_desc>Support animations on more pseudo-elements</short_desc>
          <delta_ts>2021-01-15 02:01:49 -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>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220652</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>218894</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1706385</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-11 01:17:28 -0800</bug_when>
    <thetext>Support animations on more pseudo-elements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706386</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-11 01:18:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/71274485&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706395</commentid>
    <comment_count>2</comment_count>
      <attachid>413798</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-11 01:43:40 -0800</bug_when>
    <thetext>Created attachment 413798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706396</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-11 01:43:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/71274485&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706407</commentid>
    <comment_count>4</comment_count>
      <attachid>413804</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-11 03:03:28 -0800</bug_when>
    <thetext>Created attachment 413804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706878</commentid>
    <comment_count>5</comment_count>
      <attachid>413942</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-12 09:25:52 -0800</bug_when>
    <thetext>Created attachment 413942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706881</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-12 09:29:09 -0800</bug_when>
    <thetext>To whomever ends up reviewing this: this patch makes http://wpt.live/css/css-pseudo/marker-font-variant-numeric-default.html regress since relying on ::before::marker and ::after::marker in the user-agent stylesheet seems to no longer apply `font-variant-numeric: tabular-nums` whereas it would when that property was hard-coded in RenderListItem. However, not making that change would cause some other WPT failures with `font-variant-numeric` not being able to be set to `reset` for `::marker` since it would not have a user-agent-defined value to revert to and it would use `normal`.

I think we mark this failure as expected and file a dedicated bug to deal with ::before::marker and ::after:marker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707134</commentid>
    <comment_count>7</comment_count>
      <attachid>414007</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-12 23:55:30 -0800</bug_when>
    <thetext>Created attachment 414007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707225</commentid>
    <comment_count>8</comment_count>
      <attachid>414041</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 07:13:43 -0800</bug_when>
    <thetext>Created attachment 414041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707235</commentid>
    <comment_count>9</comment_count>
      <attachid>414041</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-13 07:49:55 -0800</bug_when>
    <thetext>Comment on attachment 414041
Patch

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

&gt; Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:302
&gt; -void RenderTreeUpdater::updateElementRenderer(Element&amp; element, const Style::ElementUpdate&amp; update)
&gt; +void RenderTreeUpdater::updateElementRenderer(Element&amp; element, const Style::ElementUpdates* updates)
&gt;  {
&gt; +    ASSERT(updates);

Why is this now taking a pointer if it can&apos;t be null? Please switch back to a reference.

&gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:110
&gt; +void RenderTreeUpdater::GeneratedContent::updatePseudoElement(Element&amp; current, const Style::ElementUpdates* updates, PseudoId pseudoId)

Why is this taking a ElementUpdates pointer? The call sites null test so it should be a reference.

&gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:117
&gt; +    auto* update = [updates, pseudoId]() -&gt; const Style::ElementUpdate* {

could just use [&amp;]

&gt; Source/WebCore/style/StyleTreeResolver.cpp:251
&gt; -    auto beforeUpdate = resolvePseudoStyle(element, update, PseudoId::Before);
&gt; -    auto afterUpdate = resolvePseudoStyle(element, update, PseudoId::After);
&gt; +    PseudoIdToElementUpdateMap pseudoUpdates;
&gt; +    for (PseudoId pseudoId = PseudoId::FirstPublicPseudoId; pseudoId &lt; PseudoId::FirstInternalPseudoId; pseudoId = static_cast&lt;PseudoId&gt;(static_cast&lt;unsigned&gt;(pseudoId) + 1)) {
&gt; +        if (auto elementUpdate = resolvePseudoStyle(element, update, pseudoId))
&gt; +            pseudoUpdates.set(pseudoId, WTFMove(*elementUpdate));
&gt; +    }

At least::marker (anything else?) matches every element (since it is in the UA sheet) but only those with display:list-item care about it. It seems wasteful (and potential a perf regression) to resolve it eagerly in all cases. Maybe there should be a filter here that tests if a given pseudo element is relevant before resolving?

&gt; Source/WebCore/style/StyleTreeResolver.cpp:269
&gt; -        return { };
&gt; +        return WTF::nullopt;

{ } would have still worked in these</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707249</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 08:25:38 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #9)
&gt; Comment on attachment 414041 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414041&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:302
&gt; &gt; -void RenderTreeUpdater::updateElementRenderer(Element&amp; element, const Style::ElementUpdate&amp; update)
&gt; &gt; +void RenderTreeUpdater::updateElementRenderer(Element&amp; element, const Style::ElementUpdates* updates)
&gt; &gt;  {
&gt; &gt; +    ASSERT(updates);
&gt; 
&gt; Why is this now taking a pointer if it can&apos;t be null? Please switch back to
&gt; a reference.

Will fix in new patch.

&gt; &gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:110
&gt; &gt; +void RenderTreeUpdater::GeneratedContent::updatePseudoElement(Element&amp; current, const Style::ElementUpdates* updates, PseudoId pseudoId)
&gt; 
&gt; Why is this taking a ElementUpdates pointer? The call sites null test so it
&gt; should be a reference.

Will fix in new patch.

&gt; &gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:117
&gt; &gt; +    auto* update = [updates, pseudoId]() -&gt; const Style::ElementUpdate* {
&gt; 
&gt; could just use [&amp;]

Indeed, will fix in new patch.

&gt; &gt; Source/WebCore/style/StyleTreeResolver.cpp:251
&gt; &gt; -    auto beforeUpdate = resolvePseudoStyle(element, update, PseudoId::Before);
&gt; &gt; -    auto afterUpdate = resolvePseudoStyle(element, update, PseudoId::After);
&gt; &gt; +    PseudoIdToElementUpdateMap pseudoUpdates;
&gt; &gt; +    for (PseudoId pseudoId = PseudoId::FirstPublicPseudoId; pseudoId &lt; PseudoId::FirstInternalPseudoId; pseudoId = static_cast&lt;PseudoId&gt;(static_cast&lt;unsigned&gt;(pseudoId) + 1)) {
&gt; &gt; +        if (auto elementUpdate = resolvePseudoStyle(element, update, pseudoId))
&gt; &gt; +            pseudoUpdates.set(pseudoId, WTFMove(*elementUpdate));
&gt; &gt; +    }
&gt; 
&gt; At least::marker (anything else?) matches every element (since it is in the
&gt; UA sheet) but only those with display:list-item care about it. It seems
&gt; wasteful (and potential a perf regression) to resolve it eagerly in all
&gt; cases. Maybe there should be a filter here that tests if a given pseudo
&gt; element is relevant before resolving?

resolvePseudoStyle() bails if !elementUpdate.style-&gt;hasPseudoStyle(pseudoId) but we can move this up to the call site.

&gt; &gt; Source/WebCore/style/StyleTreeResolver.cpp:269
&gt; &gt; -        return { };
&gt; &gt; +        return WTF::nullopt;
&gt; 
&gt; { } would have still worked in these

Oh, cool! Will move back to { } to make a smaller diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707250</commentid>
    <comment_count>11</comment_count>
      <attachid>414046</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 08:25:59 -0800</bug_when>
    <thetext>Created attachment 414046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707252</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-13 08:29:06 -0800</bug_when>
    <thetext>&gt; resolvePseudoStyle() bails if !elementUpdate.style-&gt;hasPseudoStyle(pseudoId)
&gt; but we can move this up to the call site.

That won&apos;t help since hasPseudoStyle(marker) is true for every element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707262</commentid>
    <comment_count>13</comment_count>
      <attachid>414049</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 08:48:01 -0800</bug_when>
    <thetext>Created attachment 414049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707263</commentid>
    <comment_count>14</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 08:49:03 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #12)
&gt; &gt; resolvePseudoStyle() bails if !elementUpdate.style-&gt;hasPseudoStyle(pseudoId)
&gt; &gt; but we can move this up to the call site.
&gt; 
&gt; That won&apos;t help since hasPseudoStyle(marker) is true for every element.

Right! I added a check for `::marker` to check that `display: list-item` is set for the element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707268</commentid>
    <comment_count>15</comment_count>
      <attachid>414049</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-13 09:04:27 -0800</bug_when>
    <thetext>Comment on attachment 414049
Patch

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

&gt; Source/WebCore/style/StyleTreeResolver.cpp:273
&gt; +    if (pseudoId == PseudoId::Marker &amp;&amp; elementUpdate.style-&gt;display() != DisplayType::ListItem)
&gt; +        return { };
&gt;      if (elementUpdate.style-&gt;display() == DisplayType::None)
&gt;          return { };
&gt;      if (!elementUpdate.style-&gt;hasPseudoStyle(pseudoId))

this stuff could be factored into a function (shouldResolvePseudoElementStyle or similar).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707271</commentid>
    <comment_count>16</comment_count>
      <attachid>414049</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-11-13 09:15:19 -0800</bug_when>
    <thetext>Comment on attachment 414049
Patch

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

&gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:117
&gt; +    auto* update = [&amp;]() -&gt; const Style::ElementUpdate* {

This can probably be just [&amp;] {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707325</commentid>
    <comment_count>17</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 11:23:21 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #16)
&gt; Comment on attachment 414049 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414049&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:117
&gt; &gt; +    auto* update = [&amp;]() -&gt; const Style::ElementUpdate* {
&gt; 
&gt; This can probably be just [&amp;] {

The compiler wants an explicit return type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707326</commentid>
    <comment_count>18</comment_count>
      <attachid>414070</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 11:25:11 -0800</bug_when>
    <thetext>Created attachment 414070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707362</commentid>
    <comment_count>19</comment_count>
      <attachid>414085</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-13 12:49:57 -0800</bug_when>
    <thetext>Created attachment 414085
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707482</commentid>
    <comment_count>20</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-14 01:01:33 -0800</bug_when>
    <thetext>Committed r269813: &lt;https://trac.webkit.org/changeset/269813&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719825</commentid>
    <comment_count>21</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-01-15 02:00:30 -0800</bug_when>
    <thetext>This appears to have caused bug 220652.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413798</attachid>
            <date>2020-11-11 01:43:40 -0800</date>
            <delta_ts>2020-11-11 03:03:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201111104338.patch</filename>
            <type>text/plain</type>
            <size>33009</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmUzNDM2Yjk5MmEyNDk2
NGIxNzIxZmE4ODFlYjAxYWM4ODI4MDFiMi4uZGViY2MzN2VmYjM5M2JiNzFlN2ViMGNjYmNmOTE1
NzI5MzVjNTFkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTExLTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBkb20vUHNldWRv
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKTogUmVmYWN0b3Igd2hhdCB3YXMgb3JpZ2luYWxseSBpc1RhcmdldGVkQnlLZXlmcmFt
ZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQorICAgICAgICBpbnRvIHRoaXMgbWV0aG9k
IHNpbmNlIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
IHdhcyByZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6UHNldWRvRWxlbWVudDo6aXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogUmVtb3ZlIHRoaXMgbWV0
aG9kIGZyb20gUHNldWRvRWxlbWVudCBzaW5jZQorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgdGhh
dCBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgUHNldWRvRWxlbWVudCBuZWVkIHNpbWlsYXIgbG9n
aWMsIHdoaWNoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgc3RhdGljCisgICAgICAgIGZ1
bmN0aW9uIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0Vs
ZW1lbnQoKSBpbiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwLgorICAgICAg
ICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50VXBkYXRl
cyBpbnN0ZWFkIG9mIGp1c3QgdGhlIEVsZW1lbnRVcGRhdGUgdG8KKyAgICAgICAgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKCkgc3VjaCB0aGF0IGl0IG1heSBwcm9jZXNzIHRoZSBuZXcgcHNldWRvRWxl
bWVudFVwZGF0ZXMgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50
VXBkYXRlcyBhbmQgYSBQc2V1ZG9JZCB0bworICAgICAgICB1cGRhdGVQc2V1ZG9FbGVtZW50KCkg
c3VjaCB0aGF0IGl0IG1heSB1c2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIg
aW4gY29tYmluYXRpb24gd2l0aCB0aGUgUHNldWRvSWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdo
YXQgRWxlbWVudFVwZGF0ZSB0byB1c2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBk
YXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxl
bWVudFVwZGF0ZXMgYW5kIGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVu
dCgpIHN1Y2ggdGhhdCBpdCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVt
YmVyIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWlu
ZSB3aGF0IEVsZW1lbnRVcGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcik6IFVzZSB0aGUgbmV3IHBzZXVkb0VsZW1l
bnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRlcyB0byBzZXQgdGhlCisgICAgICAgIHBz
ZXVkby1lbGVtZW50IHN0eWxlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVsZW1lbnRJc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBOZXcgc3RhdGlj
IG1ldGhvZCBtZWFudCB0byByZXBsYWNlIHRoZSByZW1vdmVkCisgICAgICAgIFBzZXVkb0VsZW1l
bnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIHN1
Y2ggdGhhdCB3ZSBtYXkgdXNlIHRoaXMgbWV0aG9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorICAg
ICAgICB0aGUgcHNldWRvLWVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgUHNldWRvRWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMpOiBVc2UgZWxlbWVudElz
VGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIGluc3RlYWQg
b2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNUYXJnZXRlZEJ5S2V5ZnJh
bWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudCk6IExv
b2sgdXAgYWxsIEVsZW1lbnRVcGRhdGUgZm9yIHRoZSBwcm92aWRlZCBQc2V1ZG9JZAorICAgICAg
ICBpbiB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRl
cyBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hhdCBFbGVtZW50VXBkYXRlIHRvIHByb2Nlc3MuIEFs
c28sIHVzZQorICAgICAgICBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkgaW5zdGVhZCBvZiB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9F
bGVtZW50Ojppc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50
OjpuZWVkc1BzZXVkb0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaDoKKyAgICAgICAgKiBzdHlsZS9Qcm9wZXJ0
eUNhc2NhZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmlzVmFsaWRNYXJrZXJTdHls
ZVByb3BlcnR5KTogQWxsb3cgQ1NTIEFuaW1hdGlvbnMgYW5kIFRyYW5zaXRpb25zIHByb3BlcnRp
ZXMgb24gOjptYXJrZXIuCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQpOiBS
ZXNvbHZlIGFueSBwdWJsaWMgcHNldWRvLWVsZW1lbnQgaW5zdGVhZCBvZiBqdXN0IDo6YmVmb3Jl
IGFuZCA6OmFmdGVyCisgICAgICAgIGFuZCBzYXZlIHRob3NlIGluIHRoZSBuZXcgRWxlbWVudFVw
ZGF0ZXMgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyLiAKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpUcmVlUmVzb2x2ZXI6OnJlc29sdmVQc2V1ZG9TdHlsZSk6IFJlc29sdmUgYW55IHBzZXVk
by1lbGVtZW50IHNldCBvbiBhbiBlbGVtZW50IHRoYXQgZWl0aGVyIGhhcyBhbmltYXRpb25zCisg
ICAgICAgIHNldCBvbiBpdCwgZWl0aGVyIHNldCBieSBXZWIgQW5pbWF0aW9ucywgYXMgc2VlbiBv
biB0aGUgS2V5ZnJhbWVFZmZlY3RTdGFjaywgb3IgeWV0IHRvIGJlIGFwcGxpZWQgdGhyb3VnaCBh
IENTUyBBbmltYXRpb24gb3IKKyAgICAgICAgQ1NTIFRyYW5zaXRpb24sIGFzIHNlZW4gb24gdGhl
IFJlbmRlclN0eWxlLgorICAgICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmg6CisgICAg
ICAgICogc3R5bGUvU3R5bGVVcGRhdGUuaDogQWRkIGEgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVz
IG1lbWJlciBvbiBFbGVtZW50VXBkYXRlcy4KKwogMjAyMC0xMS0xMCAgQW50dGkgS29pdmlzdG8g
IDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIEFsbG93IG9i
amVjdC1maXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmlu
ZGV4IDllMTgyY2M4OWZmMGQ5MTY5YzQwNzNmMDM5NGJmMGQxMmI3MDdjNWMuLmMyZjU5YjYxZjVk
NThmMTY0NDg4YzczMzMwYzFiOThjOWFlYjlhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtNzIsMTQgKzcyLDEyIEBAIHN0YXRpYyBFbGVtZW50
KiBlbGVtZW50T3JQc2V1ZG9FbGVtZW50Rm9yU3R5bGVhYmxlKGNvbnN0IE9wdGlvbmFsPGNvbnN0
IFN0eWxlYWJsCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgc3dpdGNoIChzdHlsZWFi
bGUtPnBzZXVkb0lkKSB7Ci0gICAgY2FzZSBQc2V1ZG9JZDo6Tm9uZToKLSAgICAgICAgcmV0dXJu
ICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3JlOgogICAgICAg
ICByZXR1cm4gc3R5bGVhYmxlLT5lbGVtZW50LmJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKICAgICBj
YXNlIFBzZXVkb0lkOjpBZnRlcjoKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+ZWxlbWVudC5h
ZnRlclBzZXVkb0VsZW1lbnQoKTsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICAgICAgcmV0dXJuICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgfQogfQogCkBAIC0x
MTQ3LDE3ICsxMTQ1LDE1IEBAIGJvb2wgS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldHNQc2V1ZG9FbGVt
ZW50KCkgY29uc3QKIAogRWxlbWVudCogS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldEVsZW1lbnRPclBz
ZXVkb0VsZW1lbnQoKSBjb25zdAogewotICAgIGlmICghdGFyZ2V0c1BzZXVkb0VsZW1lbnQoKSkK
LSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOworICAgIGlmIChtX3RhcmdldCkgeworICAg
ICAgICBpZiAobV9wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQorICAgICAgICAgICAgcmV0
dXJuIG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7CiAKLSAgICBpZiAobV9wc2V1ZG9J
ZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQotICAgICAgICByZXR1cm4gbV90YXJnZXQtPmJlZm9yZVBz
ZXVkb0VsZW1lbnQoKTsKLQotICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikK
LSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsKKyAgICAgICAg
aWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkFmdGVyKQorICAgICAgICAgICAgcmV0dXJuIG1f
dGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsKKyAgICB9CiAKLSAgICAvLyBXZSBvbmx5IHN1
cHBvcnQgdGFyZ2V0aW5nIDo6YmVmb3JlIGFuZCA6OmFmdGVyIHBzZXVkby1lbGVtZW50cyBhdCB0
aGUgbW9tZW50LgotICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBtX3RhcmdldC5nZXQo
KTsKIH0KIAogdm9pZCBLZXlmcmFtZUVmZmVjdDo6c2V0VGFyZ2V0KFJlZlB0cjxFbGVtZW50PiYm
IG5ld1RhcmdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAppbmRleCA3MWRjMzdk
ZmYxYzhhMjMyOWYyNTZlYjc2OTQ2M2RiMTZhMDAwNzQ1Li4zOWEwNDI5YTMzZDE0OTE3ZWM1ZmU5
NzFjMDIxNDQ1Y2M2OGQ5YzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCkBA
IC04MywxMSArODMsOSBAQCB2b2lkIFBzZXVkb0VsZW1lbnQ6OmNsZWFySG9zdEVsZW1lbnQoKQog
CiBib29sIFBzZXVkb0VsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUm
IHN0eWxlKQogewotICAgIHJldHVybiBwc2V1ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZCgmc3R5
bGUpIHx8IGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
OwotfQorICAgIGlmIChwc2V1ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZCgmc3R5bGUpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotYm9vbCBQc2V1ZG9FbGVtZW50Ojppc1RhcmdldGVkQnlLZXlm
cmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQotewogICAgIGlmIChtX2hvc3RFbGVt
ZW50KSB7CiAgICAgICAgIGlmIChhdXRvKiBzdGFjayA9IG1faG9zdEVsZW1lbnQtPmtleWZyYW1l
RWZmZWN0U3RhY2socHNldWRvSWQoKSkpCiAgICAgICAgICAgICByZXR1cm4gc3RhY2stPnJlcXVp
cmVzUHNldWRvRWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVk
b0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKaW5kZXggNWQ5
YWY4NTExNjRjZjdjNzU1YmQ3OWRlZmYzMmIzMWJjMDdkZjMzOS4uMmQyYTBiMTU4Y2UwMTZiNTEw
NTUxY2JmYTg5MGQyMTRjZmIyN2I0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Bz
ZXVkb0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCkBA
IC00MSw3ICs0MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFySG9zdEVsZW1lbnQoKTsKIAog
ICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlOwot
ICAgIGJvb2wgaXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50
KCk7CiAKICAgICBib29sIGNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH0KICAgICBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDAyOGQ2MGFhYTU1ZmJi
NjFkMTRhZTFkNTRmODJlYzYzN2JjOWNlMjYuLmMyMWU5ZWE5ZTMzMGRjYjg3NWUxZDA2YzUyYjEx
MzdiZDA3MDI3NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVyTm9kZSYgcm9vdCkKICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChlbGVtZW50VXBkYXRlcykKLSAgICAgICAgICAgIHVwZGF0
ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRlcy0+dXBkYXRlKTsKKyAgICAg
ICAgICAgIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRlcyk7CiAK
ICAgICAgICAgc3RvcmVQcmV2aW91c1JlbmRlcmVyKGVsZW1lbnQpOwogCkBAIC0yNTEsMTMgKzI1
MSwxMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpwb3BQYXJlbnRzVG9EZXB0aCh1bnNpZ25l
ZCBkZXB0aCkKIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRz
KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBkYXRlcykK
IHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZVBz
ZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YmVmb3JlUHNldWRvRWxlbWVudFVwZGF0ZSwg
UHNldWRvSWQ6OkJlZm9yZSk7CisgICAgICAgIGdlbmVyYXRlZENvbnRlbnQoKS51cGRhdGVQc2V1
ZG9FbGVtZW50KGVsZW1lbnQsIHVwZGF0ZXMsIFBzZXVkb0lkOjpCZWZvcmUpOwogfQogCiB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRzKEVsZW1lbnQmIGVsZW1l
bnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBkYXRlcykKIHsKICAgICBpZiAodXBk
YXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1lbnQoZWxl
bWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6QWZ0ZXIp
OworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50
LCB1cGRhdGVzLCBQc2V1ZG9JZDo6QWZ0ZXIpOwogCiAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVt
ZW50LnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKQEAgLTI5NywxMyArMjk3LDI1IEBA
IHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlcmVyU3R5bGUoUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIsIFJlbmRlclN0eWxlCiAgICAgbV9idWlsZGVyLm5vcm1hbGl6ZVRyZWVBZnRl
clN0eWxlQ2hhbmdlKHJlbmRlcmVyLCBvbGRTdHlsZSk7CiB9CiAKLXZvaWQgUmVuZGVyVHJlZVVw
ZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHls
ZTo6RWxlbWVudFVwZGF0ZSYgdXBkYXRlKQordm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRl
RWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBk
YXRlcyogdXBkYXRlcykKIHsKKyAgICBBU1NFUlQodXBkYXRlcyk7CisKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVDaGFuZ2VTY29wZSBv
YnNlcnZpbmdTY29wZShtX2RvY3VtZW50LCBlbGVtZW50KTsKICNlbmRpZgogCi0gICAgYm9vbCBz
aG91bGRUZWFyRG93blJlbmRlcmVycyA9IHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6
UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVyZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3BsYXlDb250
ZW50cygpKTsKKyAgICBhdXRvJiBlbGVtZW50VXBkYXRlID0gdXBkYXRlcy0+dXBkYXRlOworICAg
IGF1dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCplbGVtZW50
VXBkYXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLT5wc2V1ZG9FbGVt
ZW50VXBkYXRlcykgeworICAgICAgICBhdXRvIHBzZXVkb0lkID0gaXQua2V5OworICAgICAgICBp
ZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6
QWZ0ZXIpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZWxlbWVudFVwZGF0ZVN0eWxl
LT5hZGRDYWNoZWRQc2V1ZG9TdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKml0LnZhbHVlLnN0
eWxlKSk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRUZWFyRG93blJlbmRlcmVycyA9IGVsZW1l
bnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJlbmRlcmVyICYmIChlbGVtZW50LnJl
bmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgaWYgKHNob3Vs
ZFRlYXJEb3duUmVuZGVyZXJzKSB7CiAgICAgICAgIGlmICghZWxlbWVudC5yZW5kZXJlcigpKSB7
CiAgICAgICAgICAgICAvLyBXZSBtYXkgYmUgdGVhcmluZyBkb3duIGEgZGVzY2VuZGFudCByZW5k
ZXJlciBjYWNoZWQgaW4gcmVuZGVyVHJlZVBvc2l0aW9uLgpAQCAtMzExLDE1ICszMjMsMTUgQEAg
dm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgfQogCiAgICAgICAgIC8vIGRpc3BsYXk6
bm9uZSBjYW5jZWxzIGFuaW1hdGlvbnMuCi0gICAgICAgIGF1dG8gdGVhcmRvd25UeXBlID0gdXBk
YXRlLnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93blR5cGU6
OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6UmVuZGVy
ZXJVcGRhdGU7CisgICAgICAgIGF1dG8gdGVhcmRvd25UeXBlID0gZWxlbWVudFVwZGF0ZS5zdHls
ZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lID8gVGVhcmRvd25UeXBlOjpSZW5kZXJl
clVwZGF0ZUNhbmNlbGluZ0FuaW1hdGlvbnMgOiBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBkYXRl
OwogICAgICAgICB0ZWFyRG93blJlbmRlcmVycyhlbGVtZW50LCB0ZWFyZG93blR5cGUsIG1fYnVp
bGRlcik7CiAKICAgICAgICAgcmVuZGVyaW5nUGFyZW50KCkuZGlkQ3JlYXRlT3JEZXN0cm95Q2hp
bGRSZW5kZXJlciA9IHRydWU7CiAgICAgfQogCi0gICAgYm9vbCBoYXNEaXNwbGF5Q29udGVudHMg
PSB1cGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Q29udGVudHM7CisgICAg
Ym9vbCBoYXNEaXNwbGF5Q29udGVudHMgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5kaXNwbGF5KCkg
PT0gRGlzcGxheVR5cGU6OkNvbnRlbnRzOwogICAgIGlmIChoYXNEaXNwbGF5Q29udGVudHMpCi0g
ICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNTdHlsZShSZW5kZXJTdHlsZTo6Y2xv
bmVQdHIoKnVwZGF0ZS5zdHlsZSkpOworICAgICAgICBlbGVtZW50LnN0b3JlRGlzcGxheUNvbnRl
bnRzU3R5bGUoV1RGTW92ZShlbGVtZW50VXBkYXRlU3R5bGUpKTsKICAgICBlbHNlCiAgICAgICAg
IGVsZW1lbnQucmVzZXRDb21wdXRlZFN0eWxlKCk7CiAKQEAgLTMyNyw3ICszMzksNyBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgU3R5bGU6OkVsZQogICAgIGlmIChzaG91bGRDcmVhdGVOZXdSZW5kZXJlcikgewog
ICAgICAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKSkKICAg
ICAgICAgICAgIGVsZW1lbnQud2lsbEF0dGFjaFJlbmRlcmVycygpOwotICAgICAgICBjcmVhdGVS
ZW5kZXJlcihlbGVtZW50LCBSZW5kZXJTdHlsZTo6Y2xvbmUoKnVwZGF0ZS5zdHlsZSkpOworICAg
ICAgICBjcmVhdGVSZW5kZXJlcihlbGVtZW50LCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUp
KTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lDaGlsZFJl
bmRlcmVyID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzM3LDIwICszNDksMjAgQEAgdm9p
ZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVsZW1l
bnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgcmV0dXJuOwogICAgIGF1dG8mIHJlbmRlcmVy
ID0gKmVsZW1lbnQucmVuZGVyZXIoKTsKIAotICAgIGlmICh1cGRhdGUucmVjb21wb3NpdGVMYXll
cikgewotICAgICAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJTdHlsZTo6
Y2xvbmUoKnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6UmVjb21wb3NpdGVMYXllcik7
CisgICAgaWYgKGVsZW1lbnRVcGRhdGUucmVjb21wb3NpdGVMYXllcikgeworICAgICAgICB1cGRh
dGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBT
dHlsZURpZmZlcmVuY2U6OlJlY29tcG9zaXRlTGF5ZXIpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkgewotICAg
ICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIHVwZGF0ZS5zdHls
ZS5nZXQoKSkpIHsKLSAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVyZXIsIFJl
bmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpFcXVhbCk7
CisgICAgaWYgKGVsZW1lbnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5vbmUpIHsK
KyAgICAgICAgaWYgKHBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQoJnJlbmRlcmVyLCBlbGVtZW50
VXBkYXRlU3R5bGUuZ2V0KCkpKSB7CisgICAgICAgICAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJl
bmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVx
dWFsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVyU3R5bGU6OmNs
b25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAgICB1cGRhdGVS
ZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBTdHls
ZURpZmZlcmVuY2U6OkVxdWFsKTsKIH0KIAogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6Y3JlYXRl
UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgK
aW5kZXggMjM0MDM0YzgzMzE3Y2E2MTg3ZTFiZWJhYjdjZTE3MGYxZDc0NTJjYi4uODcwMjk1MDc1
NWFhMTQ3ZjNmZTA5NWU3NGU5ZDQ1NmQ5Y2U0YjA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKQEAgLTU4LDcgKzU4
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVyTm9kZSYg
cm9vdCk7CiAgICAgdm9pZCB1cGRhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNvbnN0IFN0eWxlOjpU
ZXh0VXBkYXRlKik7CiAgICAgdm9pZCBjcmVhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNvbnN0IFN0
eWxlOjpUZXh0VXBkYXRlKik7Ci0gICAgdm9pZCB1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVu
dCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlJik7CisgICAgdm9pZCB1cGRhdGVFbGVtZW50
UmVuZGVyZXIoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyopOwogICAgIHZv
aWQgdXBkYXRlUmVuZGVyZXJTdHlsZShSZW5kZXJFbGVtZW50JiwgUmVuZGVyU3R5bGUmJiwgU3R5
bGVEaWZmZXJlbmNlKTsKICAgICB2b2lkIGNyZWF0ZVJlbmRlcmVyKEVsZW1lbnQmLCBSZW5kZXJT
dHlsZSYmKTsKICAgICB2b2lkIHVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKEVsZW1lbnQmLCBjb25z
dCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJh
dGVkQ29udGVudC5jcHAKaW5kZXggMGU5YzQ5YTcyY2U0YThmZGY2OGE0YzI3YjZkZTQwZjk2MTFm
MmY5OC4uY2EyNzhlMmFkMDdiODMzZWNjZGY5MzFmZmIxMDBjNmRjZmQ5NjY2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2Vu
ZXJhdGVkQ29udGVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAKQEAgLTY5LDcgKzY5LDIwIEBA
IHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVF1b3Rlc1Vw
VG8oUmVuZGVyUXVvdGUqIGxhc3RRdW90CiAgICAgQVNTRVJUKCFsYXN0UXVvdGUpOwogfQogCi1z
dGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVyJiBidWls
ZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QgUmVuZGVyU3R5bGUmIHN0
eWxlKQorc3RhdGljIGJvb2wgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWly
aW5nUHNldWRvRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50LCBQc2V1ZG9JZCBwc2V1ZG9J
ZCkKK3sKKyAgICBpZiAoaXM8UHNldWRvRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIHJldHVy
biBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50
KGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KCplbGVtZW50KS5ob3N0RWxlbWVudCgpLCBwc2V1ZG9J
ZCk7CisKKyAgICBpZiAoZWxlbWVudCkgeworICAgICAgICBpZiAoYXV0byogc3RhY2sgPSBlbGVt
ZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKSkKKyAgICAgICAgICAgIHJldHVybiBz
dGFjay0+cmVxdWlyZXNQc2V1ZG9FbGVtZW50KCk7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNl
OworfQorCitzdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWls
ZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKICAgICBpZiAoYXV0byogY29udGVu
dERhdGEgPSBzdHlsZS5jb250ZW50RGF0YSgpKSB7CiAgICAgICAgIGZvciAoY29uc3QgQ29udGVu
dERhdGEqIGNvbnRlbnQgPSBjb250ZW50RGF0YTsgY29udGVudDsgY29udGVudCA9IGNvbnRlbnQt
Pm5leHQoKSkgewpAQCAtODAsNyArOTMsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVu
ZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwcwogICAg
IH0gZWxzZSB7CiAgICAgICAgIC8vIFRoZSBvbmx5IHZhbGlkIHNjZW5hcmlvIHdoZXJlIHRoaXMg
bWV0aG9kIGlzIGNhbGxlZCB3aXRob3V0IHRoZSAiY29udGVudCIgcHJvcGVydHkgYmVpbmcgc2V0
CiAgICAgICAgIC8vIGlzIHRoZSBjYXNlIHdoZXJlIGEgcHNldWRvLWVsZW1lbnQgaGFzIGFuaW1h
dGlvbnMgc2V0IG9uIGl0IHZpYSB0aGUgV2ViIEFuaW1hdGlvbnMgQVBJLgotICAgICAgICBBU1NF
UlQoaXM8UHNldWRvRWxlbWVudD4ocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKSAmJiBkb3duY2Fz
dDxQc2V1ZG9FbGVtZW50PigqcHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKS5pc1RhcmdldGVkQnlL
ZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSk7CisgICAgICAgIEFTU0VSVF9V
TlVTRUQocHNldWRvSWQsIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmlu
Z1BzZXVkb0VsZW1lbnQocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpLCBwc2V1ZG9JZCkpOwogICAg
IH0KIH0KIApAQCAtOTQsMTQgKzEwNywyMyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVTdHlsZUZvckNv
bnRlbnRSZW5kZXJlcnMoUmVuZGVyRWxlbWVudCYgcHNldWRvUmVuZGVyZXIsIGNvbnN0CiAgICAg
fQogfQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQ
c2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsIGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVt
ZW50VXBkYXRlPiYgdXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK3ZvaWQgUmVuZGVyVHJlZVVw
ZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYgY3Vy
cmVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiB1cGRhdGVzLCBQc2V1ZG9JZCBwc2V1
ZG9JZCkKIHsKICAgICBQc2V1ZG9FbGVtZW50KiBwc2V1ZG9FbGVtZW50ID0gcHNldWRvSWQgPT0g
UHNldWRvSWQ6OkJlZm9yZSA/IGN1cnJlbnQuYmVmb3JlUHNldWRvRWxlbWVudCgpIDogY3VycmVu
dC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHBzZXVk
b0VsZW1lbnQgPyBwc2V1ZG9FbGVtZW50LT5yZW5kZXJlcigpIDogbnVsbHB0cikKICAgICAgICAg
bV91cGRhdGVyLnJlbmRlclRyZWVQb3NpdGlvbigpLmludmFsaWRhdGVOZXh0U2libGluZygqcmVu
ZGVyZXIpOwogCi0gICAgaWYgKCFuZWVkc1BzZXVkb0VsZW1lbnQodXBkYXRlKSAmJiAoIXBzZXVk
b0VsZW1lbnQgfHwgIXBzZXVkb0VsZW1lbnQtPmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpKSkgeworICAgIGF1dG8qIHVwZGF0ZSA9IFt1cGRhdGVzLCBw
c2V1ZG9JZF0oKSAtPiBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZSogeworICAgICAgICBpZiAo
dXBkYXRlcykgeworICAgICAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMtPnBzZXVkb0Vs
ZW1lbnRVcGRhdGVzLmZpbmQocHNldWRvSWQpOworICAgICAgICAgICAgaWYgKGl0ZXJhdG9yICE9
IHVwZGF0ZXMtPnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAgICAgIHJl
dHVybiAmaXRlcmF0b3ItPnZhbHVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0oKTsKKworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkgJiYgKCFw
c2V1ZG9FbGVtZW50IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAgICAgaWYg
KHBzZXVkb0VsZW1lbnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6
QmVmb3JlKQogICAgICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQoY3VycmVu
dCwgbV91cGRhdGVyLm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMzLDcgQEAgdm9pZCBSZW5kZXJU
cmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50
JiBjdXJyZW50LAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS0+Y2hh
bmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBkYXRlLT5j
aGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcHNl
dWRvRWxlbWVudCA9ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQpOwpAQCAt
MTI1LDEwICsxNDcsMTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVu
dDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBjb250ZW50
c1N0eWxlLT5jb3B5Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAgIFN0eWxl
OjpFbGVtZW50VXBkYXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0eWxlKSwg
dXBkYXRlLT5jaGFuZ2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAgICBtX3Vw
ZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50c1VwZGF0
ZSk7CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMgeyBXVEZN
b3ZlKGNvbnRlbnRzVXBkYXRlKSB9OworICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJl
bmRlcmVyKCpwc2V1ZG9FbGVtZW50LCAmY29udGVudHNVcGRhdGVzKTsKICAgICAgICAgcHNldWRv
RWxlbWVudC0+c3RvcmVEaXNwbGF5Q29udGVudHNTdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIo
KnVwZGF0ZS0+c3R5bGUpKTsKICAgICB9IGVsc2UgewotICAgICAgICBtX3VwZGF0ZXIudXBkYXRl
RWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCAqdXBkYXRlKTsKKyAgICAgICAgYXV0byBw
c2V1ZG9FbGVtZW50VXBkYXRlU3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+
c3R5bGUpOworICAgICAgICBTdHlsZTo6RWxlbWVudFVwZGF0ZSBwc2V1ZG9FbGVtZW50VXBkYXRl
IHsgV1RGTW92ZShwc2V1ZG9FbGVtZW50VXBkYXRlU3R5bGUpLCB1cGRhdGUtPmNoYW5nZSwgdXBk
YXRlLT5yZWNvbXBvc2l0ZUxheWVyIH07CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBw
c2V1ZG9FbGVtZW50VXBkYXRlcyB7IFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZSkgfTsKKyAg
ICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxlbWVudCwgJnBz
ZXVkb0VsZW1lbnRVcGRhdGVzKTsKICAgICAgICAgQVNTRVJUKCFwc2V1ZG9FbGVtZW50LT5oYXNE
aXNwbGF5Q29udGVudHMoKSk7CiAgICAgfQogCkBAIC0xMzcsNyArMTYzLDcgQEAgdm9pZCBSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVt
ZW50JiBjdXJyZW50LAogICAgICAgICByZXR1cm47CiAKICAgICBpZiAodXBkYXRlLT5jaGFuZ2Ug
PT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIpCi0gICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5kZXJl
cnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+
c3R5bGUpOworICAgICAgICBjcmVhdGVDb250ZW50UmVuZGVyZXJzKG1fdXBkYXRlci5tX2J1aWxk
ZXIsICpwc2V1ZG9FbGVtZW50UmVuZGVyZXIsICp1cGRhdGUtPnN0eWxlLCBwc2V1ZG9JZCk7CiAg
ICAgZWxzZQogICAgICAgICB1cGRhdGVTdHlsZUZvckNvbnRlbnRSZW5kZXJlcnMoKnBzZXVkb0Vs
ZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUpOwogCkBAIC0xNDgsNyArMTc0LDcgQEAgdm9p
ZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVu
dChFbGVtZW50JiBjdXJyZW50LAogICAgIG1fdXBkYXRlci5tX2J1aWxkZXIudXBkYXRlQWZ0ZXJE
ZXNjZW5kYW50cygqcHNldWRvRWxlbWVudFJlbmRlcmVyKTsKIH0KIAotYm9vbCBSZW5kZXJUcmVl
VXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlv
bmFsPFN0eWxlOjpFbGVtZW50VXBkYXRlPiYgdXBkYXRlKQorYm9vbCBSZW5kZXJUcmVlVXBkYXRl
cjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IFN0eWxlOjpFbGVt
ZW50VXBkYXRlKiB1cGRhdGUpCiB7CiAgICAgaWYgKCF1cGRhdGUpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaAppbmRleCAwMmUx
ZGIxOGZhOTEzMmUxMmFlZThmZTBjYTFkMDUzMDg2Mjc3MzAxLi40MzAzMGQ5YjU3NGEwODYyYzA2
MGMxOGRlMmMxMTY1ZmM3NDZlNGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVk
Q29udGVudC5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5l
cmF0ZWRDb250ZW50IHsKIHB1YmxpYzoKICAgICBHZW5lcmF0ZWRDb250ZW50KFJlbmRlclRyZWVV
cGRhdGVyJik7CiAKLSAgICB2b2lkIHVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0
IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRlPiYsIFBzZXVkb0lkKTsKKyAgICB2b2lkIHVw
ZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyos
IFBzZXVkb0lkKTsKICAgICB2b2lkIHVwZGF0ZVJlbWFpbmluZ1F1b3RlcygpOwogCiAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlQmVmb3JlUHNldWRvRWxlbWVudChFbGVtZW50JiwgUmVuZGVyVHJlZUJ1
aWxkZXImKTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIHVw
ZGF0ZVF1b3Rlc1VwVG8oUmVuZGVyUXVvdGUqKTsKICAgICAKLSAgICBib29sIG5lZWRzUHNldWRv
RWxlbWVudChjb25zdCBPcHRpb25hbDxTdHlsZTo6RWxlbWVudFVwZGF0ZT4mKTsKKyAgICBib29s
IG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZSopOwogCiAgICAg
UmVuZGVyVHJlZVVwZGF0ZXImIG1fdXBkYXRlcjsKICAgICBXZWFrUHRyPFJlbmRlclF1b3RlPiBt
X3ByZXZpb3VzVXBkYXRlZFF1b3RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
UHJvcGVydHlDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2Fk
ZS5jcHAKaW5kZXggYTcwM2E0ZjhjZDQzYzdiZjkxMTA4YWRlMjFiYTVkYjVkNzFjZjkzZi4uMjEy
NGE3OTIwMjZiZjg0NzE3ZDJiOWU3YjNhNTc2ZjQzOGQ4MjQzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3BwCkBAIC03MCw2ICs3MCw3IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCkKIH0KIAogLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1wc2V1ZG8tNC8jbWFya2Vy
LXBzZXVkbyAoRWRpdG9yJ3MgRHJhZnQsIDI1IEp1bHkgMjAxNykKKy8vIEZJWE1FOiB0aGlzIGlz
IG91dGRhdGVkLCBzZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODc5MS4KIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkTWFya2VyU3R5bGVQcm9wZXJ0eShDU1NQ
cm9wZXJ0eUlEIGlkKQogewogICAgIHN3aXRjaCAoaWQpIHsKQEAgLTkxLDYgKzkyLDE4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkTWFya2VyU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eUlE
IGlkKQogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250T3B0aWNhbFNpemluZzoKICAgICBjYXNlIENT
U1Byb3BlcnR5Rm9udFZhcmlhdGlvblNldHRpbmdzOgogI2VuZGlmCisgICAgY2FzZSBDU1NQcm9w
ZXJ0eUFuaW1hdGlvbkR1cmF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlBbmltYXRpb25UaW1p
bmdGdW5jdGlvbjoKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uRGVsYXk6CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlBbmltYXRpb25EaXJlY3Rpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkZpbGxN
b2RlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlBbmltYXRpb25QbGF5U3RhdGU6CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUFuaW1hdGlvbk5hbWU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVRyYW5zaXRpb25E
dXJhdGlvbjoKKyAgICBjYXNlIENTU1Byb3BlcnR5VHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOgor
ICAgIGNhc2UgQ1NTUHJvcGVydHlUcmFuc2l0aW9uRGVsYXk6CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVRyYW5zaXRpb25Qcm9wZXJ0eToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5j
cHAKaW5kZXggZGJlMTQ2MjcwNzIxM2E1ZDliOTVkMmE0ODJmNjc0NjVkOGYwZmE3OS4uNDNkOWZj
YWYxY2U0ODhlMzc2ODk4Nzk3YTgyMzdlYzIwNTE0ODYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcApAQCAtMjQ0LDggKzI0NCwxMSBAQCBFbGVtZW50VXBk
YXRlcyBUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiAgICAg
ICAgIH0KICAgICB9CiAKLSAgICBhdXRvIGJlZm9yZVVwZGF0ZSA9IHJlc29sdmVQc2V1ZG9TdHls
ZShlbGVtZW50LCB1cGRhdGUsIFBzZXVkb0lkOjpCZWZvcmUpOwotICAgIGF1dG8gYWZ0ZXJVcGRh
dGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRlLCBQc2V1ZG9JZDo6QWZ0ZXIp
OworICAgIFBzZXVkb0lkVG9FbGVtZW50VXBkYXRlTWFwIHBzZXVkb1VwZGF0ZXM7CisgICAgZm9y
IChQc2V1ZG9JZCBwc2V1ZG9JZCA9IFBzZXVkb0lkOjpGaXJzdFB1YmxpY1BzZXVkb0lkOyBwc2V1
ZG9JZCA8IFBzZXVkb0lkOjpGaXJzdEludGVybmFsUHNldWRvSWQ7IHBzZXVkb0lkID0gc3RhdGlj
X2Nhc3Q8UHNldWRvSWQ+KHN0YXRpY19jYXN0PHVuc2lnbmVkPihwc2V1ZG9JZCkgKyAxKSkgewor
ICAgICAgICBpZiAoYXV0byBlbGVtZW50VXBkYXRlID0gcmVzb2x2ZVBzZXVkb1N0eWxlKGVsZW1l
bnQsIHVwZGF0ZSwgcHNldWRvSWQpKQorICAgICAgICAgICAgcHNldWRvVXBkYXRlcy5zZXQocHNl
dWRvSWQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGUpKTsKKyAgICB9CiAKICNpZiBFTkFCTEUoVE9V
Q0hfQUNUSU9OX1JFR0lPTlMpCiAgICAgLy8gRklYTUU6IFRyYWNrIHRoaXMgZXhhY3RseS4KQEAg
LTI1NywyNCArMjYwLDIzIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVs
ZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgbV9kb2N1bWVudC5zZXRNYXlIYXZlRWRp
dGFibGVFbGVtZW50cygpOwogI2VuZGlmCiAKLSAgICByZXR1cm4geyBXVEZNb3ZlKHVwZGF0ZSks
IGRlc2NlbmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKGJlZm9yZVVwZGF0ZSksIFdURk1vdmUoYWZ0
ZXJVcGRhdGUpIH07CisgICAgcmV0dXJuIHsgV1RGTW92ZSh1cGRhdGUpLCBkZXNjZW5kYW50c1Rv
UmVzb2x2ZSwgV1RGTW92ZShwc2V1ZG9VcGRhdGVzKSB9OwogfQogCi1FbGVtZW50VXBkYXRlIFRy
ZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEVs
ZW1lbnRVcGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBzZXVkb0lkIHBzZXVkb0lkKQorT3B0aW9uYWw8
RWxlbWVudFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUoRWxlbWVudCYg
ZWxlbWVudCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVwZGF0ZSwgUHNldWRvSWQgcHNl
dWRvSWQpCiB7CiAgICAgaWYgKGVsZW1lbnRVcGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNw
bGF5VHlwZTo6Tm9uZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKICAgICBpZiAoIWVsZW1lbnRVcGRhdGUuc3R5bGUtPmhhc1BzZXVkb1N0eWxlKHBz
ZXVkb0lkKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKIAogICAgIGF1dG8gcHNldWRvU3R5bGUgPSBzY29wZSgpLnJlc29sdmVyLnBzZXVkb1N0eWxl
Rm9yRWxlbWVudChlbGVtZW50LCB7IHBzZXVkb0lkIH0sICplbGVtZW50VXBkYXRlLnN0eWxlLCBw
YXJlbnRCb3hTdHlsZUZvclBzZXVkbyhlbGVtZW50VXBkYXRlKSwgJnNjb3BlKCkuc2VsZWN0b3JG
aWx0ZXIpOwogICAgIGlmICghcHNldWRvU3R5bGUpCi0gICAgICAgIHJldHVybiB7IH07CisgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICBhdXRvKiBwc2V1ZG9FbGVtZW50ID0gcHNl
dWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSA/IGVsZW1lbnQuYmVmb3JlUHNldWRvRWxlbWVudCgp
IDogZWxlbWVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKLSAgICBib29sIGhhc0FuaW1hdGlvbnMg
PSBwc2V1ZG9FbGVtZW50ICYmIHBzZXVkb0VsZW1lbnQtPmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZm
ZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpOworICAgIGJvb2wgaGFzQW5pbWF0aW9ucyA9IHBz
ZXVkb1N0eWxlLT5oYXNBbmltYXRpb25zT3JUcmFuc2l0aW9ucygpIHx8IGVsZW1lbnQuaGFzS2V5
ZnJhbWVFZmZlY3RzKHBzZXVkb0lkKTsKICAgICBpZiAoIXBzZXVkb0VsZW1lbnRSZW5kZXJlcklz
TmVlZGVkKHBzZXVkb1N0eWxlLmdldCgpKSAmJiAhaGFzQW5pbWF0aW9ucykKLSAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIHJldHVybiBjcmVh
dGVBbmltYXRlZEVsZW1lbnRVcGRhdGUoV1RGTW92ZShwc2V1ZG9TdHlsZSksIHsgZWxlbWVudCwg
cHNldWRvSWQgfSwgZWxlbWVudFVwZGF0ZS5jaGFuZ2UpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmgKaW5kZXggYzI5NzM0MmZlZTg1NDk0YTlhNmFiZDFjZTk4Mjhk
OTc3MjIzYzExOC4uODdiZWE5YWZiZTM0YTljOWVjOTVmNjcxMTZlNzkwYWRlMzYwZDY0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCkBAIC02Miw3ICs2Miw3IEBA
IHByaXZhdGU6CiAgICAgRWxlbWVudFVwZGF0ZXMgcmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYpOwog
CiAgICAgRWxlbWVudFVwZGF0ZSBjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUoc3RkOjp1bmlx
dWVfcHRyPFJlbmRlclN0eWxlPiwgY29uc3QgU3R5bGVhYmxlJiwgQ2hhbmdlKTsKLSAgICBFbGVt
ZW50VXBkYXRlIHJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiwgY29uc3QgRWxlbWVudFVwZGF0
ZSYsIFBzZXVkb0lkKTsKKyAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiByZXNvbHZlUHNldWRv
U3R5bGUoRWxlbWVudCYsIGNvbnN0IEVsZW1lbnRVcGRhdGUmLCBQc2V1ZG9JZCk7CiAKICAgICBz
dHJ1Y3QgU2NvcGUgOiBSZWZDb3VudGVkPFNjb3BlPiB7CiAgICAgICAgIFdURl9NQUtFX1NUUlVD
VF9GQVNUX0FMTE9DQVRFRF9XSVRIX0hFQVBfSURFTlRJRklFUihUcmVlUmVzb2x2ZXJTY29wZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuaAppbmRleCAxYzYxMmRmYTk0NjQzMmQyNGQ3ZjQ2
YWQ2NDk5OWE0ZTczZjNlMWZhLi4wNGM2MDQyZDA3MDVlMzFjMjUxNWJlYmM3YWZjNTc0OWZmMzk4
MzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKQEAgLTUwLDExICs1MCwxMiBAQCBz
dHJ1Y3QgRWxlbWVudFVwZGF0ZSB7CiAKIGVudW0gY2xhc3MgRGVzY2VuZGFudHNUb1Jlc29sdmUg
eyBOb25lLCBDaGlsZHJlbldpdGhFeHBsaWNpdEluaGVyaXQsIENoaWxkcmVuLCBBbGwgfTsKIAor
dXNpbmcgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAgPSBIYXNoTWFwPFBzZXVkb0lkLCBFbGVt
ZW50VXBkYXRlLCBXVEY6OkludEhhc2g8UHNldWRvSWQ+LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJh
aXRzPFBzZXVkb0lkPj47CisKIHN0cnVjdCBFbGVtZW50VXBkYXRlcyB7CiAgICAgRWxlbWVudFVw
ZGF0ZSB1cGRhdGU7CiAgICAgRGVzY2VuZGFudHNUb1Jlc29sdmUgZGVzY2VuZGFudHNUb1Jlc29s
dmUgeyBEZXNjZW5kYW50c1RvUmVzb2x2ZTo6Tm9uZSB9OwotICAgIE9wdGlvbmFsPEVsZW1lbnRV
cGRhdGU+IGJlZm9yZVBzZXVkb0VsZW1lbnRVcGRhdGU7Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVw
ZGF0ZT4gYWZ0ZXJQc2V1ZG9FbGVtZW50VXBkYXRlOworICAgIFBzZXVkb0lkVG9FbGVtZW50VXBk
YXRlTWFwIHBzZXVkb0VsZW1lbnRVcGRhdGVzOwogfTsKIAogc3RydWN0IFRleHRVcGRhdGUgewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYmYwZDlmOTZjZDVlNGQxM2M4MWI1ZTVi
NTc0Y2NiMmFmNGU3YjQ0ZS4uMDE1N2U0ODFmZTI5M2E4YmJjYTg4ZWMzOGRmZTJhOTIzOGY3ZWNm
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAt
MTEtMTEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3Vw
cG9ydCBhbmltYXRpb25zIG9uIG1vcmUgcHNldWRvLWVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3OTIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcxMjc0NDg1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBQQVNTIHJlc3VsdHMgZm9yIFdQVCB0ZXN0cyBydW5uaW5nIGFuaW1hdGlv
bnMgb24gOjptYXJrZXIgcHNldWRvLWVsZW1lbnRzLgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1v
cmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4
cGVjdGVkLnR4dDoKKwogMjAyMC0xMS0xMCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWZsZXhdIEltcG9ydCBpbWFnZS1hcy1mbGV4aXRl
bS0qIFdQVCB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50
ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDU5YjdhMjI5YWQzMzA0Njc1NTM1MWI1MjI0YTliNTlh
NTU0Y2M0NWEuLjY1Yzk5OWQ0NzQ4YTk4YjdmNjQ0YzkzNjI3YWFiZjkwZjUyZDc3OGIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQKQEAgLTE2LDUgKzE2LDUgQEAgUEFTUyBDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCB2aWEgdGhl
IEFQSSBhcmUgbm90IHJldHVybmVkCiBQQVNTIENTUyBBbmltYXRpb25zIGNhbmNlbGVkIGFuZCBy
ZXN0YXJ0ZWQgdmlhIHRoZSBBUEkgYXJlIHJldHVybmVkCiBQQVNTIHBzZXVkbyBlbGVtZW50IHdp
dGggcmVwbGFjZWQgdGFyZ2V0IGRvZXMgbm90IGFmZmVjdCBhbmltYXRpb24gb3JkZXJpbmcKIFBB
U1MgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2
ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcKLUZBSUwgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0
dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNv
cnRpbmcgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxzOiBDU1MgYW5pbWF0aW9ucyBvbiBib3RoIHBz
ZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVkIGV4cGVjdGVkIDUgYnV0IGdv
dCA0CitQQVNTIENTUyBBbmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hv
dWxkIGhhdmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQu
dHh0CmluZGV4IDI0ZDAxODQ1YjIzOTE0MWExNTY1NWM5OWQ1ZjZmNzg0NGU5YTY4MWIuLjdmOWMw
ZmRhODY3ZjJhYWQ4YTU0Y2IzMTM4YTgzOTYzZjBjY2Y3OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2Fu
aW1hdGlvbmV2ZW50LW1hcmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTEs
NSArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1U
SU1FT1VUIEFuaW1hdGlvbkV2ZW50IHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IHBzZXVkb0VsZW1l
bnQgbWVtZWJlciBUZXN0IHRpbWVkIG91dAorUEFTUyBBbmltYXRpb25FdmVudCBzaG91bGQgaGF2
ZSB0aGUgY29ycmVjdCBwc2V1ZG9FbGVtZW50IG1lbWViZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
ZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggMDRiNWI4ODRmMTBmYzNhOWQ2NTk3ZDQwZWYxNjRl
MzA2MzFmMzdjNy4uODMzNThhOTZlZjNhOWFjZjc2ODFlZTVjOGUyZGU4NjNlNmUwYjdkNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAog
CiBQQVNTIFNhbWUgZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IGVsZW1lbnRzCiBQQVNTIFNhbWUgZXZl
bnRzIG9uIHBzZXVkby1lbGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIKLUZBSUwg
U2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRl
ciAoOjptYXJrZXIpIGFzc2VydF9lcXVhbHM6IE51bWJlciBvZiBldmVudHMgcmVjZWl2ZWQgKDQp
IHNob3VsZCBtYXRjaCBleHBlY3RlZCBudW1iZXIgKDUpIChleHBlY3RlZDogYW5pbWF0aW9uc3Rh
cnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1h
dGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0
aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0KSBleHBlY3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBTYW1l
IGV2ZW50cyBvbiBwc2V1ZG8tZWxlbWVudHMgZm9sbG93IHRoZSBwcmVzY3JpYmVkIG9yZGVyICg6
Om1hcmtlcikKIEZBSUwgU3RhcnQgYW5kIGl0ZXJhdGlvbiBldmVudHMgYXJlIG9yZGVyZWQgYnkg
dGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4cGVjdGVk
OiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1hdGlvbnN0
YXJ0LCBhbmltYXRpb25pdGVyYXRpb24pIGV4cGVjdGVkICJhbmltYXRpb25pdGVyYXRpb24iIGJ1
dCBnb3QgImFuaW1hdGlvbnN0YXJ0IgogRkFJTCBJdGVyYXRpb24gYW5kIGVuZCBldmVudHMgYXJl
IG9yZGVyZWQgYnkgdGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0
Y2ggKGV4cGVjdGVkOiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbmVuZCwgYWN0dWFsOiBh
bmltYXRpb25lbmQsIGFuaW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQgImFuaW1hdGlvbml0ZXJh
dGlvbiIgYnV0IGdvdCAiYW5pbWF0aW9uZW5kIgogRkFJTCBTdGFydCBhbmQgZW5kIGV2ZW50cyBh
cmUgc29ydGVkIGNvcnJlY3RseSB3aGVuIGZpcmVkIHNpbXVsdGFuZW91c2x5IGFzc2VydF9lcXVh
bHM6IEV2ZW50ICMxIHRhcmdldHMgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8
ZGl2IHN0eWxlPSJhbmltYXRpb246IGFuaW0gMTAwcyAyIj48L2Rpdj4gYnV0IGdvdCBFbGVtZW50
IG5vZGUgPGRpdiBzdHlsZT0iYW5pbWF0aW9uOiBhbmltIDEwMHMgMTAwcyI+PC9kaXY+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4
dAppbmRleCAwOTg0MWNmZjRhY2Q0Yzc4ZmQyMThhZjNkOTE5Zjk2Nzc1OWFhMGJiLi4wYzNjM2Yz
ODNmMTlmMTdlMmNlYWMyY2I1Zjc0YmNhM2QzNmVlMmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9j
dW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9E
b2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw2
IEBAIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5zaXRpb25zCiBQQVNTIGdldEFuaW1h
dGlvbnMgZm9yIENTUyBUcmFuc2l0aW9ucyBzb3J0IGJ5IHByb3BlcnR5IG5hbWUKIFBBU1MgZ2V0
QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5zaXRpb25zIHNvcnQgYnkgdHJhbnNpdGlvbiBnZW5lcmF0
aW9uCiBQQVNTIENTUyBUcmFuc2l0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNo
b3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZwotRkFJTCBDU1MgVHJhbnNpdGlv
bnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVy
IGFmdGVyIHNvcnRpbmcgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxzOiBDU1MgdHJhbnNpdGlvbiBv
biBib3RoIHBzZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVkIGV4cGVjdGVk
IDUgYnV0IGdvdCA0CitQQVNTIENTUyBUcmFuc2l0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVs
ZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZyAoOjptYXJrZXIp
CiBQQVNTIFRyYW5zaXRpb25zIGFyZSBub3QgcmV0dXJuZWQgYWZ0ZXIgdGhleSBoYXZlIGZpbmlz
aGVkCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413804</attachid>
            <date>2020-11-11 03:03:28 -0800</date>
            <delta_ts>2020-11-12 09:25:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201111120327.patch</filename>
            <type>text/plain</type>
            <size>33089</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmUzNDM2Yjk5MmEyNDk2
NGIxNzIxZmE4ODFlYjAxYWM4ODI4MDFiMi4uZGViY2MzN2VmYjM5M2JiNzFlN2ViMGNjYmNmOTE1
NzI5MzVjNTFkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTExLTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBkb20vUHNldWRv
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKTogUmVmYWN0b3Igd2hhdCB3YXMgb3JpZ2luYWxseSBpc1RhcmdldGVkQnlLZXlmcmFt
ZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQorICAgICAgICBpbnRvIHRoaXMgbWV0aG9k
IHNpbmNlIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
IHdhcyByZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6UHNldWRvRWxlbWVudDo6aXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogUmVtb3ZlIHRoaXMgbWV0
aG9kIGZyb20gUHNldWRvRWxlbWVudCBzaW5jZQorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgdGhh
dCBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgUHNldWRvRWxlbWVudCBuZWVkIHNpbWlsYXIgbG9n
aWMsIHdoaWNoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgc3RhdGljCisgICAgICAgIGZ1
bmN0aW9uIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0Vs
ZW1lbnQoKSBpbiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwLgorICAgICAg
ICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50VXBkYXRl
cyBpbnN0ZWFkIG9mIGp1c3QgdGhlIEVsZW1lbnRVcGRhdGUgdG8KKyAgICAgICAgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKCkgc3VjaCB0aGF0IGl0IG1heSBwcm9jZXNzIHRoZSBuZXcgcHNldWRvRWxl
bWVudFVwZGF0ZXMgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50
VXBkYXRlcyBhbmQgYSBQc2V1ZG9JZCB0bworICAgICAgICB1cGRhdGVQc2V1ZG9FbGVtZW50KCkg
c3VjaCB0aGF0IGl0IG1heSB1c2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIg
aW4gY29tYmluYXRpb24gd2l0aCB0aGUgUHNldWRvSWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdo
YXQgRWxlbWVudFVwZGF0ZSB0byB1c2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBk
YXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxl
bWVudFVwZGF0ZXMgYW5kIGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVu
dCgpIHN1Y2ggdGhhdCBpdCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVt
YmVyIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWlu
ZSB3aGF0IEVsZW1lbnRVcGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcik6IFVzZSB0aGUgbmV3IHBzZXVkb0VsZW1l
bnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRlcyB0byBzZXQgdGhlCisgICAgICAgIHBz
ZXVkby1lbGVtZW50IHN0eWxlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVsZW1lbnRJc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBOZXcgc3RhdGlj
IG1ldGhvZCBtZWFudCB0byByZXBsYWNlIHRoZSByZW1vdmVkCisgICAgICAgIFBzZXVkb0VsZW1l
bnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIHN1
Y2ggdGhhdCB3ZSBtYXkgdXNlIHRoaXMgbWV0aG9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorICAg
ICAgICB0aGUgcHNldWRvLWVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgUHNldWRvRWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMpOiBVc2UgZWxlbWVudElz
VGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIGluc3RlYWQg
b2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNUYXJnZXRlZEJ5S2V5ZnJh
bWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudCk6IExv
b2sgdXAgYWxsIEVsZW1lbnRVcGRhdGUgZm9yIHRoZSBwcm92aWRlZCBQc2V1ZG9JZAorICAgICAg
ICBpbiB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRl
cyBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hhdCBFbGVtZW50VXBkYXRlIHRvIHByb2Nlc3MuIEFs
c28sIHVzZQorICAgICAgICBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkgaW5zdGVhZCBvZiB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9F
bGVtZW50Ojppc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50
OjpuZWVkc1BzZXVkb0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaDoKKyAgICAgICAgKiBzdHlsZS9Qcm9wZXJ0
eUNhc2NhZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmlzVmFsaWRNYXJrZXJTdHls
ZVByb3BlcnR5KTogQWxsb3cgQ1NTIEFuaW1hdGlvbnMgYW5kIFRyYW5zaXRpb25zIHByb3BlcnRp
ZXMgb24gOjptYXJrZXIuCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQpOiBS
ZXNvbHZlIGFueSBwdWJsaWMgcHNldWRvLWVsZW1lbnQgaW5zdGVhZCBvZiBqdXN0IDo6YmVmb3Jl
IGFuZCA6OmFmdGVyCisgICAgICAgIGFuZCBzYXZlIHRob3NlIGluIHRoZSBuZXcgRWxlbWVudFVw
ZGF0ZXMgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyLiAKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlOjpUcmVlUmVzb2x2ZXI6OnJlc29sdmVQc2V1ZG9TdHlsZSk6IFJlc29sdmUgYW55IHBzZXVk
by1lbGVtZW50IHNldCBvbiBhbiBlbGVtZW50IHRoYXQgZWl0aGVyIGhhcyBhbmltYXRpb25zCisg
ICAgICAgIHNldCBvbiBpdCwgZWl0aGVyIHNldCBieSBXZWIgQW5pbWF0aW9ucywgYXMgc2VlbiBv
biB0aGUgS2V5ZnJhbWVFZmZlY3RTdGFjaywgb3IgeWV0IHRvIGJlIGFwcGxpZWQgdGhyb3VnaCBh
IENTUyBBbmltYXRpb24gb3IKKyAgICAgICAgQ1NTIFRyYW5zaXRpb24sIGFzIHNlZW4gb24gdGhl
IFJlbmRlclN0eWxlLgorICAgICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmg6CisgICAg
ICAgICogc3R5bGUvU3R5bGVVcGRhdGUuaDogQWRkIGEgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVz
IG1lbWJlciBvbiBFbGVtZW50VXBkYXRlcy4KKwogMjAyMC0xMS0xMCAgQW50dGkgS29pdmlzdG8g
IDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25dIEFsbG93IG9i
amVjdC1maXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmlu
ZGV4IDllMTgyY2M4OWZmMGQ5MTY5YzQwNzNmMDM5NGJmMGQxMmI3MDdjNWMuLmMyZjU5YjYxZjVk
NThmMTY0NDg4YzczMzMwYzFiOThjOWFlYjlhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtNzIsMTQgKzcyLDEyIEBAIHN0YXRpYyBFbGVtZW50
KiBlbGVtZW50T3JQc2V1ZG9FbGVtZW50Rm9yU3R5bGVhYmxlKGNvbnN0IE9wdGlvbmFsPGNvbnN0
IFN0eWxlYWJsCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgc3dpdGNoIChzdHlsZWFi
bGUtPnBzZXVkb0lkKSB7Ci0gICAgY2FzZSBQc2V1ZG9JZDo6Tm9uZToKLSAgICAgICAgcmV0dXJu
ICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3JlOgogICAgICAg
ICByZXR1cm4gc3R5bGVhYmxlLT5lbGVtZW50LmJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKICAgICBj
YXNlIFBzZXVkb0lkOjpBZnRlcjoKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+ZWxlbWVudC5h
ZnRlclBzZXVkb0VsZW1lbnQoKTsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICAgICAgcmV0dXJuICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgfQogfQogCkBAIC0x
MTQ3LDE3ICsxMTQ1LDE1IEBAIGJvb2wgS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldHNQc2V1ZG9FbGVt
ZW50KCkgY29uc3QKIAogRWxlbWVudCogS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldEVsZW1lbnRPclBz
ZXVkb0VsZW1lbnQoKSBjb25zdAogewotICAgIGlmICghdGFyZ2V0c1BzZXVkb0VsZW1lbnQoKSkK
LSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOworICAgIGlmIChtX3RhcmdldCkgeworICAg
ICAgICBpZiAobV9wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQorICAgICAgICAgICAgcmV0
dXJuIG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7CiAKLSAgICBpZiAobV9wc2V1ZG9J
ZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQotICAgICAgICByZXR1cm4gbV90YXJnZXQtPmJlZm9yZVBz
ZXVkb0VsZW1lbnQoKTsKLQotICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikK
LSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsKKyAgICAgICAg
aWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkFmdGVyKQorICAgICAgICAgICAgcmV0dXJuIG1f
dGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsKKyAgICB9CiAKLSAgICAvLyBXZSBvbmx5IHN1
cHBvcnQgdGFyZ2V0aW5nIDo6YmVmb3JlIGFuZCA6OmFmdGVyIHBzZXVkby1lbGVtZW50cyBhdCB0
aGUgbW9tZW50LgotICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBtX3RhcmdldC5nZXQo
KTsKIH0KIAogdm9pZCBLZXlmcmFtZUVmZmVjdDo6c2V0VGFyZ2V0KFJlZlB0cjxFbGVtZW50PiYm
IG5ld1RhcmdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAppbmRleCA3MWRjMzdk
ZmYxYzhhMjMyOWYyNTZlYjc2OTQ2M2RiMTZhMDAwNzQ1Li4zOWEwNDI5YTMzZDE0OTE3ZWM1ZmU5
NzFjMDIxNDQ1Y2M2OGQ5YzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCkBA
IC04MywxMSArODMsOSBAQCB2b2lkIFBzZXVkb0VsZW1lbnQ6OmNsZWFySG9zdEVsZW1lbnQoKQog
CiBib29sIFBzZXVkb0VsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUm
IHN0eWxlKQogewotICAgIHJldHVybiBwc2V1ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZCgmc3R5
bGUpIHx8IGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
OwotfQorICAgIGlmIChwc2V1ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZCgmc3R5bGUpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotYm9vbCBQc2V1ZG9FbGVtZW50Ojppc1RhcmdldGVkQnlLZXlm
cmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQotewogICAgIGlmIChtX2hvc3RFbGVt
ZW50KSB7CiAgICAgICAgIGlmIChhdXRvKiBzdGFjayA9IG1faG9zdEVsZW1lbnQtPmtleWZyYW1l
RWZmZWN0U3RhY2socHNldWRvSWQoKSkpCiAgICAgICAgICAgICByZXR1cm4gc3RhY2stPnJlcXVp
cmVzUHNldWRvRWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVk
b0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKaW5kZXggNWQ5
YWY4NTExNjRjZjdjNzU1YmQ3OWRlZmYzMmIzMWJjMDdkZjMzOS4uMmQyYTBiMTU4Y2UwMTZiNTEw
NTUxY2JmYTg5MGQyMTRjZmIyN2I0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Bz
ZXVkb0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCkBA
IC00MSw3ICs0MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFySG9zdEVsZW1lbnQoKTsKIAog
ICAgIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYpIG92ZXJyaWRlOwot
ICAgIGJvb2wgaXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50
KCk7CiAKICAgICBib29sIGNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH0KICAgICBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDAyOGQ2MGFhYTU1ZmJi
NjFkMTRhZTFkNTRmODJlYzYzN2JjOWNlMjYuLmMyMWU5ZWE5ZTMzMGRjYjg3NWUxZDA2YzUyYjEx
MzdiZDA3MDI3NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGlu
Zy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVyTm9kZSYgcm9vdCkKICAg
ICAgICAgfQogCiAgICAgICAgIGlmIChlbGVtZW50VXBkYXRlcykKLSAgICAgICAgICAgIHVwZGF0
ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRlcy0+dXBkYXRlKTsKKyAgICAg
ICAgICAgIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRlcyk7CiAK
ICAgICAgICAgc3RvcmVQcmV2aW91c1JlbmRlcmVyKGVsZW1lbnQpOwogCkBAIC0yNTEsMTMgKzI1
MSwxMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpwb3BQYXJlbnRzVG9EZXB0aCh1bnNpZ25l
ZCBkZXB0aCkKIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRz
KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBkYXRlcykK
IHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZVBz
ZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YmVmb3JlUHNldWRvRWxlbWVudFVwZGF0ZSwg
UHNldWRvSWQ6OkJlZm9yZSk7CisgICAgICAgIGdlbmVyYXRlZENvbnRlbnQoKS51cGRhdGVQc2V1
ZG9FbGVtZW50KGVsZW1lbnQsIHVwZGF0ZXMsIFBzZXVkb0lkOjpCZWZvcmUpOwogfQogCiB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRzKEVsZW1lbnQmIGVsZW1l
bnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBkYXRlcykKIHsKICAgICBpZiAodXBk
YXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1lbnQoZWxl
bWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6QWZ0ZXIp
OworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50
LCB1cGRhdGVzLCBQc2V1ZG9JZDo6QWZ0ZXIpOwogCiAgICAgYXV0byogcmVuZGVyZXIgPSBlbGVt
ZW50LnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKQEAgLTI5NywxMyArMjk3LDI1IEBA
IHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlcmVyU3R5bGUoUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIsIFJlbmRlclN0eWxlCiAgICAgbV9idWlsZGVyLm5vcm1hbGl6ZVRyZWVBZnRl
clN0eWxlQ2hhbmdlKHJlbmRlcmVyLCBvbGRTdHlsZSk7CiB9CiAKLXZvaWQgUmVuZGVyVHJlZVVw
ZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHls
ZTo6RWxlbWVudFVwZGF0ZSYgdXBkYXRlKQordm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRl
RWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBk
YXRlcyogdXBkYXRlcykKIHsKKyAgICBBU1NFUlQodXBkYXRlcyk7CisKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVDaGFuZ2VTY29wZSBv
YnNlcnZpbmdTY29wZShtX2RvY3VtZW50LCBlbGVtZW50KTsKICNlbmRpZgogCi0gICAgYm9vbCBz
aG91bGRUZWFyRG93blJlbmRlcmVycyA9IHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6
UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVyZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3BsYXlDb250
ZW50cygpKTsKKyAgICBhdXRvJiBlbGVtZW50VXBkYXRlID0gdXBkYXRlcy0+dXBkYXRlOworICAg
IGF1dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCplbGVtZW50
VXBkYXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLT5wc2V1ZG9FbGVt
ZW50VXBkYXRlcykgeworICAgICAgICBhdXRvIHBzZXVkb0lkID0gaXQua2V5OworICAgICAgICBp
ZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6
QWZ0ZXIpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZWxlbWVudFVwZGF0ZVN0eWxl
LT5hZGRDYWNoZWRQc2V1ZG9TdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKml0LnZhbHVlLnN0
eWxlKSk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRUZWFyRG93blJlbmRlcmVycyA9IGVsZW1l
bnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJlbmRlcmVyICYmIChlbGVtZW50LnJl
bmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgaWYgKHNob3Vs
ZFRlYXJEb3duUmVuZGVyZXJzKSB7CiAgICAgICAgIGlmICghZWxlbWVudC5yZW5kZXJlcigpKSB7
CiAgICAgICAgICAgICAvLyBXZSBtYXkgYmUgdGVhcmluZyBkb3duIGEgZGVzY2VuZGFudCByZW5k
ZXJlciBjYWNoZWQgaW4gcmVuZGVyVHJlZVBvc2l0aW9uLgpAQCAtMzExLDE1ICszMjMsMTUgQEAg
dm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgfQogCiAgICAgICAgIC8vIGRpc3BsYXk6
bm9uZSBjYW5jZWxzIGFuaW1hdGlvbnMuCi0gICAgICAgIGF1dG8gdGVhcmRvd25UeXBlID0gdXBk
YXRlLnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93blR5cGU6
OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6UmVuZGVy
ZXJVcGRhdGU7CisgICAgICAgIGF1dG8gdGVhcmRvd25UeXBlID0gZWxlbWVudFVwZGF0ZS5zdHls
ZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lID8gVGVhcmRvd25UeXBlOjpSZW5kZXJl
clVwZGF0ZUNhbmNlbGluZ0FuaW1hdGlvbnMgOiBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBkYXRl
OwogICAgICAgICB0ZWFyRG93blJlbmRlcmVycyhlbGVtZW50LCB0ZWFyZG93blR5cGUsIG1fYnVp
bGRlcik7CiAKICAgICAgICAgcmVuZGVyaW5nUGFyZW50KCkuZGlkQ3JlYXRlT3JEZXN0cm95Q2hp
bGRSZW5kZXJlciA9IHRydWU7CiAgICAgfQogCi0gICAgYm9vbCBoYXNEaXNwbGF5Q29udGVudHMg
PSB1cGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Q29udGVudHM7CisgICAg
Ym9vbCBoYXNEaXNwbGF5Q29udGVudHMgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5kaXNwbGF5KCkg
PT0gRGlzcGxheVR5cGU6OkNvbnRlbnRzOwogICAgIGlmIChoYXNEaXNwbGF5Q29udGVudHMpCi0g
ICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNTdHlsZShSZW5kZXJTdHlsZTo6Y2xv
bmVQdHIoKnVwZGF0ZS5zdHlsZSkpOworICAgICAgICBlbGVtZW50LnN0b3JlRGlzcGxheUNvbnRl
bnRzU3R5bGUoV1RGTW92ZShlbGVtZW50VXBkYXRlU3R5bGUpKTsKICAgICBlbHNlCiAgICAgICAg
IGVsZW1lbnQucmVzZXRDb21wdXRlZFN0eWxlKCk7CiAKQEAgLTMyNyw3ICszMzksNyBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgU3R5bGU6OkVsZQogICAgIGlmIChzaG91bGRDcmVhdGVOZXdSZW5kZXJlcikgewog
ICAgICAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKSkKICAg
ICAgICAgICAgIGVsZW1lbnQud2lsbEF0dGFjaFJlbmRlcmVycygpOwotICAgICAgICBjcmVhdGVS
ZW5kZXJlcihlbGVtZW50LCBSZW5kZXJTdHlsZTo6Y2xvbmUoKnVwZGF0ZS5zdHlsZSkpOworICAg
ICAgICBjcmVhdGVSZW5kZXJlcihlbGVtZW50LCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUp
KTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lDaGlsZFJl
bmRlcmVyID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzM3LDIwICszNDksMjAgQEAgdm9p
ZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVsZW1l
bnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgcmV0dXJuOwogICAgIGF1dG8mIHJlbmRlcmVy
ID0gKmVsZW1lbnQucmVuZGVyZXIoKTsKIAotICAgIGlmICh1cGRhdGUucmVjb21wb3NpdGVMYXll
cikgewotICAgICAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJTdHlsZTo6
Y2xvbmUoKnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6UmVjb21wb3NpdGVMYXllcik7
CisgICAgaWYgKGVsZW1lbnRVcGRhdGUucmVjb21wb3NpdGVMYXllcikgeworICAgICAgICB1cGRh
dGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBT
dHlsZURpZmZlcmVuY2U6OlJlY29tcG9zaXRlTGF5ZXIpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkgewotICAg
ICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIHVwZGF0ZS5zdHls
ZS5nZXQoKSkpIHsKLSAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVyZXIsIFJl
bmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpFcXVhbCk7
CisgICAgaWYgKGVsZW1lbnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5vbmUpIHsK
KyAgICAgICAgaWYgKHBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQoJnJlbmRlcmVyLCBlbGVtZW50
VXBkYXRlU3R5bGUuZ2V0KCkpKSB7CisgICAgICAgICAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJl
bmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVx
dWFsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVyU3R5bGU6OmNs
b25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAgICB1cGRhdGVS
ZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBTdHls
ZURpZmZlcmVuY2U6OkVxdWFsKTsKIH0KIAogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6Y3JlYXRl
UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgK
aW5kZXggMjM0MDM0YzgzMzE3Y2E2MTg3ZTFiZWJhYjdjZTE3MGYxZDc0NTJjYi4uODcwMjk1MDc1
NWFhMTQ3ZjNmZTA5NWU3NGU5ZDQ1NmQ5Y2U0YjA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKQEAgLTU4LDcgKzU4
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVyTm9kZSYg
cm9vdCk7CiAgICAgdm9pZCB1cGRhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNvbnN0IFN0eWxlOjpU
ZXh0VXBkYXRlKik7CiAgICAgdm9pZCBjcmVhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNvbnN0IFN0
eWxlOjpUZXh0VXBkYXRlKik7Ci0gICAgdm9pZCB1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVu
dCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlJik7CisgICAgdm9pZCB1cGRhdGVFbGVtZW50
UmVuZGVyZXIoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyopOwogICAgIHZv
aWQgdXBkYXRlUmVuZGVyZXJTdHlsZShSZW5kZXJFbGVtZW50JiwgUmVuZGVyU3R5bGUmJiwgU3R5
bGVEaWZmZXJlbmNlKTsKICAgICB2b2lkIGNyZWF0ZVJlbmRlcmVyKEVsZW1lbnQmLCBSZW5kZXJT
dHlsZSYmKTsKICAgICB2b2lkIHVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKEVsZW1lbnQmLCBjb25z
dCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJh
dGVkQ29udGVudC5jcHAKaW5kZXggMGU5YzQ5YTcyY2U0YThmZGY2OGE0YzI3YjZkZTQwZjk2MTFm
MmY5OC4uZTMxZjdlMGRkZGRiNDJkMjgwYTllYjk5Y2UxZWE1OTljZTIxN2ViMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2Vu
ZXJhdGVkQ29udGVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAKQEAgLTY5LDcgKzY5LDIwIEBA
IHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVF1b3Rlc1Vw
VG8oUmVuZGVyUXVvdGUqIGxhc3RRdW90CiAgICAgQVNTRVJUKCFsYXN0UXVvdGUpOwogfQogCi1z
dGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVyJiBidWls
ZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QgUmVuZGVyU3R5bGUmIHN0
eWxlKQorc3RhdGljIGJvb2wgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWly
aW5nUHNldWRvRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50LCBQc2V1ZG9JZCBwc2V1ZG9J
ZCkKK3sKKyAgICBpZiAoaXM8UHNldWRvRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIHJldHVy
biBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50
KGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KCplbGVtZW50KS5ob3N0RWxlbWVudCgpLCBwc2V1ZG9J
ZCk7CisKKyAgICBpZiAoZWxlbWVudCkgeworICAgICAgICBpZiAoYXV0byogc3RhY2sgPSBlbGVt
ZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKSkKKyAgICAgICAgICAgIHJldHVybiBz
dGFjay0+cmVxdWlyZXNQc2V1ZG9FbGVtZW50KCk7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNl
OworfQorCitzdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWls
ZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QgUmVuZGVy
U3R5bGUmIHN0eWxlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKICAgICBpZiAoYXV0byogY29udGVu
dERhdGEgPSBzdHlsZS5jb250ZW50RGF0YSgpKSB7CiAgICAgICAgIGZvciAoY29uc3QgQ29udGVu
dERhdGEqIGNvbnRlbnQgPSBjb250ZW50RGF0YTsgY29udGVudDsgY29udGVudCA9IGNvbnRlbnQt
Pm5leHQoKSkgewpAQCAtODAsNyArOTMsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVu
ZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwcwogICAg
IH0gZWxzZSB7CiAgICAgICAgIC8vIFRoZSBvbmx5IHZhbGlkIHNjZW5hcmlvIHdoZXJlIHRoaXMg
bWV0aG9kIGlzIGNhbGxlZCB3aXRob3V0IHRoZSAiY29udGVudCIgcHJvcGVydHkgYmVpbmcgc2V0
CiAgICAgICAgIC8vIGlzIHRoZSBjYXNlIHdoZXJlIGEgcHNldWRvLWVsZW1lbnQgaGFzIGFuaW1h
dGlvbnMgc2V0IG9uIGl0IHZpYSB0aGUgV2ViIEFuaW1hdGlvbnMgQVBJLgotICAgICAgICBBU1NF
UlQoaXM8UHNldWRvRWxlbWVudD4ocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKSAmJiBkb3duY2Fz
dDxQc2V1ZG9FbGVtZW50PigqcHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKS5pc1RhcmdldGVkQnlL
ZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSk7CisgICAgICAgIEFTU0VSVF9V
TlVTRUQocHNldWRvSWQsIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmlu
Z1BzZXVkb0VsZW1lbnQocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpLCBwc2V1ZG9JZCkpOwogICAg
IH0KIH0KIApAQCAtOTQsMTQgKzEwNywyMyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVTdHlsZUZvckNv
bnRlbnRSZW5kZXJlcnMoUmVuZGVyRWxlbWVudCYgcHNldWRvUmVuZGVyZXIsIGNvbnN0CiAgICAg
fQogfQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQ
c2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsIGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVt
ZW50VXBkYXRlPiYgdXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK3ZvaWQgUmVuZGVyVHJlZVVw
ZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYgY3Vy
cmVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiB1cGRhdGVzLCBQc2V1ZG9JZCBwc2V1
ZG9JZCkKIHsKICAgICBQc2V1ZG9FbGVtZW50KiBwc2V1ZG9FbGVtZW50ID0gcHNldWRvSWQgPT0g
UHNldWRvSWQ6OkJlZm9yZSA/IGN1cnJlbnQuYmVmb3JlUHNldWRvRWxlbWVudCgpIDogY3VycmVu
dC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHBzZXVk
b0VsZW1lbnQgPyBwc2V1ZG9FbGVtZW50LT5yZW5kZXJlcigpIDogbnVsbHB0cikKICAgICAgICAg
bV91cGRhdGVyLnJlbmRlclRyZWVQb3NpdGlvbigpLmludmFsaWRhdGVOZXh0U2libGluZygqcmVu
ZGVyZXIpOwogCi0gICAgaWYgKCFuZWVkc1BzZXVkb0VsZW1lbnQodXBkYXRlKSAmJiAoIXBzZXVk
b0VsZW1lbnQgfHwgIXBzZXVkb0VsZW1lbnQtPmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpKSkgeworICAgIGF1dG8qIHVwZGF0ZSA9IFt1cGRhdGVzLCBw
c2V1ZG9JZF0oKSAtPiBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZSogeworICAgICAgICBpZiAo
dXBkYXRlcykgeworICAgICAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMtPnBzZXVkb0Vs
ZW1lbnRVcGRhdGVzLmZpbmQocHNldWRvSWQpOworICAgICAgICAgICAgaWYgKGl0ZXJhdG9yICE9
IHVwZGF0ZXMtPnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAgICAgIHJl
dHVybiAmaXRlcmF0b3ItPnZhbHVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIH0oKTsKKworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkgJiYgKCFw
c2V1ZG9FbGVtZW50IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAgICAgaWYg
KHBzZXVkb0VsZW1lbnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6
QmVmb3JlKQogICAgICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQoY3VycmVu
dCwgbV91cGRhdGVyLm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMzLDcgQEAgdm9pZCBSZW5kZXJU
cmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50
JiBjdXJyZW50LAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS0+Y2hh
bmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBkYXRlLT5j
aGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcHNl
dWRvRWxlbWVudCA9ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQpOwpAQCAt
MTI1LDEwICsxNDcsMTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVu
dDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBjb250ZW50
c1N0eWxlLT5jb3B5Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAgIFN0eWxl
OjpFbGVtZW50VXBkYXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0eWxlKSwg
dXBkYXRlLT5jaGFuZ2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAgICBtX3Vw
ZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50c1VwZGF0
ZSk7CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMgeyBXVEZN
b3ZlKGNvbnRlbnRzVXBkYXRlKSwgU3R5bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lLCB7
IH0gfTsKKyAgICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxl
bWVudCwgJmNvbnRlbnRzVXBkYXRlcyk7CiAgICAgICAgIHBzZXVkb0VsZW1lbnQtPnN0b3JlRGlz
cGxheUNvbnRlbnRzU3R5bGUoUmVuZGVyU3R5bGU6OmNsb25lUHRyKCp1cGRhdGUtPnN0eWxlKSk7
CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigq
cHNldWRvRWxlbWVudCwgKnVwZGF0ZSk7CisgICAgICAgIGF1dG8gcHNldWRvRWxlbWVudFVwZGF0
ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCp1cGRhdGUtPnN0eWxlKTsKKyAgICAgICAg
U3R5bGU6OkVsZW1lbnRVcGRhdGUgcHNldWRvRWxlbWVudFVwZGF0ZSB7IFdURk1vdmUocHNldWRv
RWxlbWVudFVwZGF0ZVN0eWxlKSwgdXBkYXRlLT5jaGFuZ2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVM
YXllciB9OworICAgICAgICBTdHlsZTo6RWxlbWVudFVwZGF0ZXMgcHNldWRvRWxlbWVudFVwZGF0
ZXMgeyBXVEZNb3ZlKHBzZXVkb0VsZW1lbnRVcGRhdGUpLCBTdHlsZTo6RGVzY2VuZGFudHNUb1Jl
c29sdmU6Ok5vbmUsIHsgfSB9OworICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRl
cmVyKCpwc2V1ZG9FbGVtZW50LCAmcHNldWRvRWxlbWVudFVwZGF0ZXMpOwogICAgICAgICBBU1NF
UlQoIXBzZXVkb0VsZW1lbnQtPmhhc0Rpc3BsYXlDb250ZW50cygpKTsKICAgICB9CiAKQEAgLTEz
Nyw3ICsxNjMsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1
cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGlmICh1cGRhdGUtPmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpSZW5kZXJlcikKLSAgICAg
ICAgY3JlYXRlQ29udGVudFJlbmRlcmVycyhtX3VwZGF0ZXIubV9idWlsZGVyLCAqcHNldWRvRWxl
bWVudFJlbmRlcmVyLCAqdXBkYXRlLT5zdHlsZSk7CisgICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5k
ZXJlcnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0
ZS0+c3R5bGUsIHBzZXVkb0lkKTsKICAgICBlbHNlCiAgICAgICAgIHVwZGF0ZVN0eWxlRm9yQ29u
dGVudFJlbmRlcmVycygqcHNldWRvRWxlbWVudFJlbmRlcmVyLCAqdXBkYXRlLT5zdHlsZSk7CiAK
QEAgLTE0OCw3ICsxNzQsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250
ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsCiAgICAgbV91cGRhdGVy
Lm1fYnVpbGRlci51cGRhdGVBZnRlckRlc2NlbmRhbnRzKCpwc2V1ZG9FbGVtZW50UmVuZGVyZXIp
OwogfQogCi1ib29sIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50OjpuZWVkc1Bz
ZXVkb0VsZW1lbnQoY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRhdGU+JiB1cGRhdGUp
Citib29sIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50OjpuZWVkc1BzZXVkb0Vs
ZW1lbnQoY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUqIHVwZGF0ZSkKIHsKICAgICBpZiAoIXVw
ZGF0ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJh
dGVkQ29udGVudC5oCmluZGV4IDAyZTFkYjE4ZmE5MTMyZTEyYWVlOGZlMGNhMWQwNTMwODYyNzcz
MDEuLjQzMDMwZDliNTc0YTA4NjJjMDYwYzE4ZGUyYzExNjVmYzc0NmU0ZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVy
YXRlZENvbnRlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3Mg
UmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQgewogcHVibGljOgogICAgIEdlbmVy
YXRlZENvbnRlbnQoUmVuZGVyVHJlZVVwZGF0ZXImKTsKIAotICAgIHZvaWQgdXBkYXRlUHNldWRv
RWxlbWVudChFbGVtZW50JiwgY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRhdGU+Jiwg
UHNldWRvSWQpOworICAgIHZvaWQgdXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiwgY29uc3Qg
U3R5bGU6OkVsZW1lbnRVcGRhdGVzKiwgUHNldWRvSWQpOwogICAgIHZvaWQgdXBkYXRlUmVtYWlu
aW5nUXVvdGVzKCk7CiAKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCZWZvcmVQc2V1ZG9FbGVtZW50
KEVsZW1lbnQmLCBSZW5kZXJUcmVlQnVpbGRlciYpOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUXVvdGVzVXBUbyhSZW5kZXJRdW90ZSopOwogICAg
IAotICAgIGJvb2wgbmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVt
ZW50VXBkYXRlPiYpOworICAgIGJvb2wgbmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IFN0eWxlOjpF
bGVtZW50VXBkYXRlKik7CiAKICAgICBSZW5kZXJUcmVlVXBkYXRlciYgbV91cGRhdGVyOwogICAg
IFdlYWtQdHI8UmVuZGVyUXVvdGU+IG1fcHJldmlvdXNVcGRhdGVkUXVvdGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcAppbmRleCBhNzAzYTRmOGNkNDNjN2JmOTExMDhh
ZGUyMWJhNWRiNWQ3MWNmOTNmLi4yMTI0YTc5MjAyNmJmODQ3MTdkMmI5ZTdiM2E1NzZmNDM4ZDgy
NDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAKQEAgLTcwLDYg
KzcwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNob3VsZEFwcGx5UHJvcGVydHlJblBhcnNlT3Jk
ZXIoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogfQogCiAvLyBodHRwczovL3d3dy53My5vcmcv
VFIvY3NzLXBzZXVkby00LyNtYXJrZXItcHNldWRvIChFZGl0b3IncyBEcmFmdCwgMjUgSnVseSAy
MDE3KQorLy8gRklYTUU6IHRoaXMgaXMgb3V0ZGF0ZWQsIHNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkxLgogc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRN
YXJrZXJTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQpCiB7CiAgICAgc3dpdGNoIChpZCkg
ewpAQCAtOTEsNiArOTIsMTggQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRNYXJrZXJTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRPcHRp
Y2FsU2l6aW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWF0aW9uU2V0dGluZ3M6CiAj
ZW5kaWYKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uRHVyYXRpb246CisgICAgY2FzZSBD
U1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlB
bmltYXRpb25EZWxheToKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uSXRlcmF0aW9uQ291
bnQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkRpcmVjdGlvbjoKKyAgICBjYXNlIENT
U1Byb3BlcnR5QW5pbWF0aW9uRmlsbE1vZGU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFuaW1hdGlv
blBsYXlTdGF0ZToKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uTmFtZToKKyAgICBjYXNl
IENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVydHlUcmFu
c2l0aW9uVGltaW5nRnVuY3Rpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eVRyYW5zaXRpb25EZWxh
eToKKyAgICBjYXNlIENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5OgogICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCBkYmUxNDYyNzA3MjEzYTVkOWI5NWQyYTQ4
MmY2NzQ2NWQ4ZjBmYTc5Li40M2Q5ZmNhZjFjZTQ4OGUzNzY4OTg3OTdhODIzN2VjMjA1MTQ4NjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBAIC0yNDQs
OCArMjQ0LDExIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQo
RWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGF1dG8gYmVmb3JlVXBk
YXRlID0gcmVzb2x2ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgUHNldWRvSWQ6OkJlZm9y
ZSk7Ci0gICAgYXV0byBhZnRlclVwZGF0ZSA9IHJlc29sdmVQc2V1ZG9TdHlsZShlbGVtZW50LCB1
cGRhdGUsIFBzZXVkb0lkOjpBZnRlcik7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAg
cHNldWRvVXBkYXRlczsKKyAgICBmb3IgKFBzZXVkb0lkIHBzZXVkb0lkID0gUHNldWRvSWQ6OkZp
cnN0UHVibGljUHNldWRvSWQ7IHBzZXVkb0lkIDwgUHNldWRvSWQ6OkZpcnN0SW50ZXJuYWxQc2V1
ZG9JZDsgcHNldWRvSWQgPSBzdGF0aWNfY2FzdDxQc2V1ZG9JZD4oc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHBzZXVkb0lkKSArIDEpKSB7CisgICAgICAgIGlmIChhdXRvIGVsZW1lbnRVcGRhdGUgPSBy
ZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRlLCBwc2V1ZG9JZCkpCisgICAgICAgICAg
ICBwc2V1ZG9VcGRhdGVzLnNldChwc2V1ZG9JZCwgV1RGTW92ZSgqZWxlbWVudFVwZGF0ZSkpOwor
ICAgIH0KIAogI2lmIEVOQUJMRShUT1VDSF9BQ1RJT05fUkVHSU9OUykKICAgICAvLyBGSVhNRTog
VHJhY2sgdGhpcyBleGFjdGx5LgpAQCAtMjU3LDI0ICsyNjAsMjMgQEAgRWxlbWVudFVwZGF0ZXMg
VHJlZVJlc29sdmVyOjpyZXNvbHZlRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogICAgICAgICBt
X2RvY3VtZW50LnNldE1heUhhdmVFZGl0YWJsZUVsZW1lbnRzKCk7CiAjZW5kaWYKIAotICAgIHJl
dHVybiB7IFdURk1vdmUodXBkYXRlKSwgZGVzY2VuZGFudHNUb1Jlc29sdmUsIFdURk1vdmUoYmVm
b3JlVXBkYXRlKSwgV1RGTW92ZShhZnRlclVwZGF0ZSkgfTsKKyAgICByZXR1cm4geyBXVEZNb3Zl
KHVwZGF0ZSksIGRlc2NlbmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKHBzZXVkb1VwZGF0ZXMpIH07
CiB9CiAKLUVsZW1lbnRVcGRhdGUgVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUoRWxl
bWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVwZGF0ZSwgUHNldWRv
SWQgcHNldWRvSWQpCitPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBUcmVlUmVzb2x2ZXI6OnJlc29s
dmVQc2V1ZG9TdHlsZShFbGVtZW50JiBlbGVtZW50LCBjb25zdCBFbGVtZW50VXBkYXRlJiBlbGVt
ZW50VXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKICAgICBpZiAoZWxlbWVudFVwZGF0ZS5z
dHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lKQotICAgICAgICByZXR1cm4geyB9
OworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZWxlbWVudFVwZGF0ZS5z
dHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQpKQotICAgICAgICByZXR1cm4geyB9OworICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgYXV0byBwc2V1ZG9TdHlsZSA9IHNjb3Bl
KCkucmVzb2x2ZXIucHNldWRvU3R5bGVGb3JFbGVtZW50KGVsZW1lbnQsIHsgcHNldWRvSWQgfSwg
KmVsZW1lbnRVcGRhdGUuc3R5bGUsIHBhcmVudEJveFN0eWxlRm9yUHNldWRvKGVsZW1lbnRVcGRh
dGUpLCAmc2NvcGUoKS5zZWxlY3RvckZpbHRlcik7CiAgICAgaWYgKCFwc2V1ZG9TdHlsZSkKLSAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIGF1
dG8qIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlID8gZWxlbWVu
dC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBlbGVtZW50LmFmdGVyUHNldWRvRWxlbWVudCgpOwot
ICAgIGJvb2wgaGFzQW5pbWF0aW9ucyA9IHBzZXVkb0VsZW1lbnQgJiYgcHNldWRvRWxlbWVudC0+
aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7CisgICAg
Ym9vbCBoYXNBbmltYXRpb25zID0gcHNldWRvU3R5bGUtPmhhc0FuaW1hdGlvbnNPclRyYW5zaXRp
b25zKCkgfHwgZWxlbWVudC5oYXNLZXlmcmFtZUVmZmVjdHMocHNldWRvSWQpOwogICAgIGlmICgh
cHNldWRvRWxlbWVudFJlbmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpICYmICFoYXNB
bmltYXRpb25zKQotICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogCiAgICAgcmV0dXJuIGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShXVEZNb3ZlKHBz
ZXVkb1N0eWxlKSwgeyBlbGVtZW50LCBwc2V1ZG9JZCB9LCBlbGVtZW50VXBkYXRlLmNoYW5nZSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5o
IGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaAppbmRleCBjMjk3MzQy
ZmVlODU0OTRhOWE2YWJkMWNlOTgyOGQ5NzcyMjNjMTE4Li44N2JlYTlhZmJlMzRhOWM5ZWM5NWY2
NzExNmU3OTBhZGUzNjBkNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29s
dmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBFbGVtZW50VXBkYXRlcyByZXNv
bHZlRWxlbWVudChFbGVtZW50Jik7CiAKICAgICBFbGVtZW50VXBkYXRlIGNyZWF0ZUFuaW1hdGVk
RWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+LCBjb25zdCBTdHlsZWFi
bGUmLCBDaGFuZ2UpOwotICAgIEVsZW1lbnRVcGRhdGUgcmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1l
bnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOworICAgIE9wdGlvbmFsPEVsZW1l
bnRVcGRhdGU+IHJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiwgY29uc3QgRWxlbWVudFVwZGF0
ZSYsIFBzZXVkb0lkKTsKIAogICAgIHN0cnVjdCBTY29wZSA6IFJlZkNvdW50ZWQ8U2NvcGU+IHsK
ICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElG
SUVSKFRyZWVSZXNvbHZlclNjb3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oCmluZGV4
IDFjNjEyZGZhOTQ2NDMyZDI0ZDdmNDZhZDY0OTk5YTRlNzNmM2UxZmEuLjA0YzYwNDJkMDcwNWUz
MWMyNTE1YmViYzdhZmM1NzQ5ZmYzOTgzNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUu
aApAQCAtNTAsMTEgKzUwLDEyIEBAIHN0cnVjdCBFbGVtZW50VXBkYXRlIHsKIAogZW51bSBjbGFz
cyBEZXNjZW5kYW50c1RvUmVzb2x2ZSB7IE5vbmUsIENoaWxkcmVuV2l0aEV4cGxpY2l0SW5oZXJp
dCwgQ2hpbGRyZW4sIEFsbCB9OwogCit1c2luZyBQc2V1ZG9JZFRvRWxlbWVudFVwZGF0ZU1hcCA9
IEhhc2hNYXA8UHNldWRvSWQsIEVsZW1lbnRVcGRhdGUsIFdURjo6SW50SGFzaDxQc2V1ZG9JZD4s
IFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UHNldWRvSWQ+PjsKKwogc3RydWN0IEVsZW1lbnRV
cGRhdGVzIHsKICAgICBFbGVtZW50VXBkYXRlIHVwZGF0ZTsKICAgICBEZXNjZW5kYW50c1RvUmVz
b2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7IERlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lIH07
Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYmVmb3JlUHNldWRvRWxlbWVudFVwZGF0ZTsK
LSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBhZnRlclBzZXVkb0VsZW1lbnRVcGRhdGU7Cisg
ICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAgcHNldWRvRWxlbWVudFVwZGF0ZXM7CiB9Owog
CiBzdHJ1Y3QgVGV4dFVwZGF0ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBi
ZjBkOWY5NmNkNWU0ZDEzYzgxYjVlNWI1NzRjY2IyYWY0ZTdiNDRlLi4wMTU3ZTQ4MWZlMjkzYThi
YmNhODhlYzM4ZGZlMmE5MjM4ZjdlY2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMS0xMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IGFuaW1hdGlvbnMgb24gbW9yZSBwc2V1ZG8tZWxl
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODc5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNzQ0ODU+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFBBU1MgcmVzdWx0cyBmb3IgV1BU
IHRlc3RzIHJ1bm5pbmcgYW5pbWF0aW9ucyBvbiA6Om1hcmtlciBwc2V1ZG8tZWxlbWVudHMuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50
LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50LW1hcmtlci1wc2V1
ZG9lbGVtZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0
QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTExLTEwICBTZXJnaW8g
VmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZmxleF0g
SW1wb3J0IGltYWdlLWFzLWZsZXhpdGVtLSogV1BUIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9E
b2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1
bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggNTliN2EyMjlh
ZDMzMDQ2NzU1MzUxYjUyMjRhOWI1OWE1NTRjYzQ1YS4uNjVjOTk5ZDQ3NDhhOThiN2Y2NDRjOTM2
MjdhYWJmOTBmNTJkNzc4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9u
cy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlv
bnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMTYsNSArMTYsNSBAQCBQQVNTIENTUyBBbmlt
YXRpb25zIGNhbmNlbGVkIHZpYSB0aGUgQVBJIGFyZSBub3QgcmV0dXJuZWQKIFBBU1MgQ1NTIEFu
aW1hdGlvbnMgY2FuY2VsZWQgYW5kIHJlc3RhcnRlZCB2aWEgdGhlIEFQSSBhcmUgcmV0dXJuZWQK
IFBBU1MgcHNldWRvIGVsZW1lbnQgd2l0aCByZXBsYWNlZCB0YXJnZXQgZG9lcyBub3QgYWZmZWN0
IGFuaW1hdGlvbiBvcmRlcmluZwogUEFTUyBDU1MgQW5pbWF0aW9ucyB0YXJnZXR0aW5nIChwc2V1
ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZwotRkFJ
TCBDU1MgQW5pbWF0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZl
IGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZyAoOjptYXJrZXIpIGFzc2VydF9lcXVhbHM6IENT
UyBhbmltYXRpb25zIG9uIGJvdGggcHNldWRvLWVsZW1lbnRzIGFuZCBlbGVtZW50cyBhcmUgcmV0
dXJuZWQgZXhwZWN0ZWQgNSBidXQgZ290IDQKK1BBU1MgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGlu
ZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRp
bmcgKDo6bWFya2VyKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXIt
cHNldWRvZWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXIt
cHNldWRvZWxlbWVudC1leHBlY3RlZC50eHQKaW5kZXggMjRkMDE4NDViMjM5MTQxYTE1NjU1Yzk5
ZDVmNmY3ODQ0ZTlhNjgxYi4uN2Y5YzBmZGE4NjdmMmFhZDhhNTRjYjMxMzhhODM5NjNmMGNjZjc5
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50LW1hcmtlci1wc2V1ZG9lbGVt
ZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJTUVPVVQgQW5pbWF0aW9uRXZlbnQgc2hvdWxkIGhhdmUg
dGhlIGNvcnJlY3QgcHNldWRvRWxlbWVudCBtZW1lYmVyIFRlc3QgdGltZWQgb3V0CitQQVNTIEFu
aW1hdGlvbkV2ZW50IHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IHBzZXVkb0VsZW1lbnQgbWVtZWJl
cgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAwNGI1Yjg4
NGYxMGZjM2E5ZDY1OTdkNDBlZjE2NGUzMDYzMWYzN2M3Li44MzM1OGE5NmVmM2E5YWNmNzY4MWVl
NWM4ZTJkZTg2M2U2ZTBiN2Q0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRp
dmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1MgU2FtZSBldmVudHMgYXJlIG9yZGVyZWQgYnkg
ZWxlbWVudHMKIFBBU1MgU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUg
cHJlc2NyaWJlZCBvcmRlcgotRkFJTCBTYW1lIGV2ZW50cyBvbiBwc2V1ZG8tZWxlbWVudHMgZm9s
bG93IHRoZSBwcmVzY3JpYmVkIG9yZGVyICg6Om1hcmtlcikgYXNzZXJ0X2VxdWFsczogTnVtYmVy
IG9mIGV2ZW50cyByZWNlaXZlZCAoNCkgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIG51bWJlciAoNSkg
KGV4cGVjdGVkOiBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0
LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFjdHVhbDogYW5pbWF0aW9uc3RhcnQs
IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQpIGV4cGVjdGVk
IDUgYnV0IGdvdCA0CitQQVNTIFNhbWUgZXZlbnRzIG9uIHBzZXVkby1lbGVtZW50cyBmb2xsb3cg
dGhlIHByZXNjcmliZWQgb3JkZXIgKDo6bWFya2VyKQogRkFJTCBTdGFydCBhbmQgaXRlcmF0aW9u
IGV2ZW50cyBhcmUgb3JkZXJlZCBieSB0aW1lIGFzc2VydF9lcXVhbHM6IEV2ZW50ICMxIHR5cGVz
IHNob3VsZCBtYXRjaCAoZXhwZWN0ZWQ6IGFuaW1hdGlvbml0ZXJhdGlvbiwgYW5pbWF0aW9uc3Rh
cnQsIGFjdHVhbDogYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQg
ImFuaW1hdGlvbml0ZXJhdGlvbiIgYnV0IGdvdCAiYW5pbWF0aW9uc3RhcnQiCiBGQUlMIEl0ZXJh
dGlvbiBhbmQgZW5kIGV2ZW50cyBhcmUgb3JkZXJlZCBieSB0aW1lIGFzc2VydF9lcXVhbHM6IEV2
ZW50ICMxIHR5cGVzIHNob3VsZCBtYXRjaCAoZXhwZWN0ZWQ6IGFuaW1hdGlvbml0ZXJhdGlvbiwg
YW5pbWF0aW9uZW5kLCBhY3R1YWw6IGFuaW1hdGlvbmVuZCwgYW5pbWF0aW9uaXRlcmF0aW9uKSBl
eHBlY3RlZCAiYW5pbWF0aW9uaXRlcmF0aW9uIiBidXQgZ290ICJhbmltYXRpb25lbmQiCiBGQUlM
IFN0YXJ0IGFuZCBlbmQgZXZlbnRzIGFyZSBzb3J0ZWQgY29ycmVjdGx5IHdoZW4gZmlyZWQgc2lt
dWx0YW5lb3VzbHkgYXNzZXJ0X2VxdWFsczogRXZlbnQgIzEgdGFyZ2V0cyBzaG91bGQgbWF0Y2gg
ZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxkaXYgc3R5bGU9ImFuaW1hdGlvbjogYW5pbSAxMDBzIDIi
PjwvZGl2PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8ZGl2IHN0eWxlPSJhbmltYXRpb246IGFuaW0g
MTAwcyAxMDBzIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRp
b25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9u
cy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDA5ODQxY2ZmNGFjZDRjNzhmZDIxOGFmM2Q5
MTlmOTY3NzU5YWEwYmIuLjBjM2MzZjM4M2YxOWYxN2UyY2VhYzJjYjVmNzRiY2EzZDM2ZWUyZDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4
cGVjdGVkLnR4dApAQCAtNCw2ICs0LDYgQEAgUEFTUyBnZXRBbmltYXRpb25zIGZvciBDU1MgVHJh
bnNpdGlvbnMKIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5zaXRpb25zIHNvcnQgYnkg
cHJvcGVydHkgbmFtZQogUEFTUyBnZXRBbmltYXRpb25zIGZvciBDU1MgVHJhbnNpdGlvbnMgc29y
dCBieSB0cmFuc2l0aW9uIGdlbmVyYXRpb24KIFBBU1MgQ1NTIFRyYW5zaXRpb25zIHRhcmdldHRp
bmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0
aW5nCi1GQUlMIENTUyBUcmFuc2l0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNo
b3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZyAoOjptYXJrZXIpIGFzc2VydF9l
cXVhbHM6IENTUyB0cmFuc2l0aW9uIG9uIGJvdGggcHNldWRvLWVsZW1lbnRzIGFuZCBlbGVtZW50
cyBhcmUgcmV0dXJuZWQgZXhwZWN0ZWQgNSBidXQgZ290IDQKK1BBU1MgQ1NTIFRyYW5zaXRpb25z
IHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBvcmRlciBh
ZnRlciBzb3J0aW5nICg6Om1hcmtlcikKIFBBU1MgVHJhbnNpdGlvbnMgYXJlIG5vdCByZXR1cm5l
ZCBhZnRlciB0aGV5IGhhdmUgZmluaXNoZWQKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413942</attachid>
            <date>2020-11-12 09:25:52 -0800</date>
            <delta_ts>2020-11-12 23:55:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201112182550.patch</filename>
            <type>text/plain</type>
            <size>45670</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE3OTEwYWViYjZhZWVl
NGM5NjRmOGUyNDllNjAxZjNkNjJlODgzNi4uMDEwYjRkMTJhOGZjOTNkZmMyNzJmYTEyODQ5ZGQy
MWFmMzM4ODA4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIwLTExLTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBjc3MvaHRtbC5j
c3M6IFNldCBtb3JlIHVzZXItYWdlbnQgc3R5bGVzIHVzaW5nIHRoZSB1c2VyLWFnZW50IHN0eWxl
c2hlZXQgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyBpbiBSZW5kZXJMaXN0SXRlbTo6Y29tcHV0ZU1h
cmtlclN0eWxlKCkKKyAgICAgICAgdG8gYXZvaWQgcmVncmVzc2lvbnMgaW4gY3NzL2Nzcy1wc2V1
ZG8vbWFya2VyLXJldmVydGVkLXN0eWxlcy5odG1sIHdoZXJlIHRoZSBgcmV2ZXJ0YCB2YWx1ZSB3
b3VsZCBub3Qgd29yayB3aXRoIGZvbnQtdmFyaWFudC1udW1lcmljLgorICAgICAgICAqIGRvbS9Q
c2V1ZG9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBzZXVkb0VsZW1lbnQ6OnJlbmRl
cmVySXNOZWVkZWQpOiBSZWZhY3RvciB3aGF0IHdhcyBvcmlnaW5hbGx5IGlzVGFyZ2V0ZWRCeUtl
eWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpCisgICAgICAgIGludG8gdGhpcyBt
ZXRob2Qgc2luY2UgaXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVt
ZW50KCkgd2FzIHJlbW92ZWQuCisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50Ojppc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBSZW1vdmUgdGhp
cyBtZXRob2QgZnJvbSBQc2V1ZG9FbGVtZW50IHNpbmNlCisgICAgICAgIHBzZXVkby1lbGVtZW50
cyB0aGF0IGFyZSBub3QgcmVwcmVzZW50ZWQgYnkgYSBQc2V1ZG9FbGVtZW50IG5lZWQgc2ltaWxh
ciBsb2dpYywgd2hpY2ggaXMgbm93IGF2YWlsYWJsZSB0aHJvdWdoIHRoZSBzdGF0aWMKKyAgICAg
ICAgZnVuY3Rpb24gZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNl
dWRvRWxlbWVudCgpIGluIFJlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAuCisg
ICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGlzdEl0ZW0uY3BwOgorICAgICAgICAoUmVuZGVyTGlzdEl0ZW06OmNvbXB1dGVNYXJrZXJTdHls
ZSBjb25zdCk6IFJlbW92ZSB0aGUgZXhwbGljaXQgc2V0dGluZyBvZiB0aGUgZm9udC12YXJpYW50
LW51bWVyaWMgc28gdGhhdCB3ZSBtYXkgcmVseSBvbgorICAgICAgICB0aGUgdXNlciBzdHlsZSBz
aGVldCBpbnN0ZWFkLgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlUmVu
ZGVyVHJlZSk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxlbWVudFVwZGF0ZXMgaW5zdGVhZCBv
ZiBqdXN0IHRoZSBFbGVtZW50VXBkYXRlIHRvCisgICAgICAgIHVwZGF0ZUVsZW1lbnRSZW5kZXJl
cigpIHN1Y2ggdGhhdCBpdCBtYXkgcHJvY2VzcyB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVz
IG1lbWJlci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVCZWZv
cmVEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxlbWVudFVwZGF0ZXMgYW5k
IGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVudCgpIHN1Y2ggdGhhdCBp
dCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyIGluIGNvbWJpbmF0
aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWluZSB3aGF0IEVsZW1lbnRV
cGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0
ZUFmdGVyRGVzY2VuZGFudHMpOiBQYXNzIHRoZSBlbnRpcmUgc2V0IG9mIEVsZW1lbnRVcGRhdGVz
IGFuZCBhIFBzZXVkb0lkIHRvCisgICAgICAgIHVwZGF0ZVBzZXVkb0VsZW1lbnQoKSBzdWNoIHRo
YXQgaXQgbWF5IHVzZSB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBjb21i
aW5hdGlvbiB3aXRoIHRoZSBQc2V1ZG9JZAorICAgICAgICB0byBkZXRlcm1pbmUgd2hhdCBFbGVt
ZW50VXBkYXRlIHRvIHVzZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjp1
cGRhdGVFbGVtZW50UmVuZGVyZXIpOiBVc2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBt
ZW1iZXIgaW4gRWxlbWVudFVwZGF0ZXMgdG8gc2V0IHRoZQorICAgICAgICBwc2V1ZG8tZWxlbWVu
dCBzdHlsZXMuCisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJh
dGVkQ29udGVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50SXNUYXJnZXRlZEJ5S2V5
ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogTmV3IHN0YXRpYyBtZXRob2QgbWVh
bnQgdG8gcmVwbGFjZSB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9FbGVtZW50Ojppc1Rhcmdl
dGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSBzdWNoIHRoYXQgd2Ug
bWF5IHVzZSB0aGlzIG1ldGhvZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKKyAgICAgICAgdGhlIHBz
ZXVkby1lbGVtZW50IGlzIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQuCisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVDb250ZW50UmVuZGVyZXJzKTogVXNlIGVsZW1lbnRJc1RhcmdldGVkQnlL
ZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSBpbnN0ZWFkIG9mIHRoZSByZW1v
dmVkCisgICAgICAgIFBzZXVkb0VsZW1lbnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0
ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQpOiBMb29rIHVwIGFsbCBF
bGVtZW50VXBkYXRlIGZvciB0aGUgcHJvdmlkZWQgUHNldWRvSWQKKyAgICAgICAgaW4gdGhlIG5l
dyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIgaW4gRWxlbWVudFVwZGF0ZXMgaW4gb3JkZXIg
dG8gZGV0ZXJtaW5lIHdoYXQgRWxlbWVudFVwZGF0ZSB0byBwcm9jZXNzLiBBbHNvLCB1c2UKKyAg
ICAgICAgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxl
bWVudCgpIGluc3RlYWQgb2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNU
YXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1
ZG9FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0
ZXJHZW5lcmF0ZWRDb250ZW50Lmg6CisgICAgICAgICogc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjppc1ZhbGlkTWFya2VyU3R5bGVQcm9wZXJ0eSk6
IEFsbG93IENTUyBBbmltYXRpb25zIGFuZCBUcmFuc2l0aW9ucyBwcm9wZXJ0aWVzIG9uIDo6bWFy
a2VyLgorICAgICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KTogUmVzb2x2ZSBhbnkg
cHVibGljIHBzZXVkby1lbGVtZW50IGluc3RlYWQgb2YganVzdCA6OmJlZm9yZSBhbmQgOjphZnRl
cgorICAgICAgICBhbmQgc2F2ZSB0aG9zZSBpbiB0aGUgbmV3IEVsZW1lbnRVcGRhdGVzIHBzZXVk
b0VsZW1lbnRVcGRhdGVzIG1lbWJlci4gCisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJl
c29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUpOiBSZXNvbHZlIGFueSBwc2V1ZG8tZWxlbWVudCBz
ZXQgb24gYW4gZWxlbWVudCB0aGF0IGVpdGhlciBoYXMgYW5pbWF0aW9ucworICAgICAgICBzZXQg
b24gaXQsIGVpdGhlciBzZXQgYnkgV2ViIEFuaW1hdGlvbnMsIGFzIHNlZW4gb24gdGhlIEtleWZy
YW1lRWZmZWN0U3RhY2ssIG9yIHlldCB0byBiZSBhcHBsaWVkIHRocm91Z2ggYSBDU1MgQW5pbWF0
aW9uIG9yCisgICAgICAgIENTUyBUcmFuc2l0aW9uLCBhcyBzZWVuIG9uIHRoZSBSZW5kZXJTdHls
ZS4KKyAgICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oOgorICAgICAgICAqIHN0eWxl
L1N0eWxlVXBkYXRlLmg6IEFkZCBhIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIgb24g
RWxlbWVudFVwZGF0ZXMuCisKIDIwMjAtMTEtMTEgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbY3NzLWdyaWRdIFBlcmNlbnRhZ2UgaGVpZ2h0IG9uIHJlcGxhY2VkIGl0
ZW0gd2l0aCBzY3JvbGxiYXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZl
Y3QuY3BwCmluZGV4IDllMTgyY2M4OWZmMGQ5MTY5YzQwNzNmMDM5NGJmMGQxMmI3MDdjNWMuLmMy
ZjU5YjYxZjVkNThmMTY0NDg4YzczMzMwYzFiOThjOWFlYjlhMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtNzIsMTQgKzcyLDEyIEBAIHN0YXRp
YyBFbGVtZW50KiBlbGVtZW50T3JQc2V1ZG9FbGVtZW50Rm9yU3R5bGVhYmxlKGNvbnN0IE9wdGlv
bmFsPGNvbnN0IFN0eWxlYWJsCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgc3dpdGNo
IChzdHlsZWFibGUtPnBzZXVkb0lkKSB7Ci0gICAgY2FzZSBQc2V1ZG9JZDo6Tm9uZToKLSAgICAg
ICAgcmV0dXJuICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3Jl
OgogICAgICAgICByZXR1cm4gc3R5bGVhYmxlLT5lbGVtZW50LmJlZm9yZVBzZXVkb0VsZW1lbnQo
KTsKICAgICBjYXNlIFBzZXVkb0lkOjpBZnRlcjoKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+
ZWxlbWVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgfQog
fQogCkBAIC0xMTQ3LDE3ICsxMTQ1LDE1IEBAIGJvb2wgS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldHNQ
c2V1ZG9FbGVtZW50KCkgY29uc3QKIAogRWxlbWVudCogS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldEVs
ZW1lbnRPclBzZXVkb0VsZW1lbnQoKSBjb25zdAogewotICAgIGlmICghdGFyZ2V0c1BzZXVkb0Vs
ZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOworICAgIGlmIChtX3Rhcmdl
dCkgeworICAgICAgICBpZiAobV9wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQorICAgICAg
ICAgICAgcmV0dXJuIG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7CiAKLSAgICBpZiAo
bV9wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQotICAgICAgICByZXR1cm4gbV90YXJnZXQt
PmJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKLQotICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lk
OjpBZnRlcikKLSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsK
KyAgICAgICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkFmdGVyKQorICAgICAgICAgICAg
cmV0dXJuIG1fdGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsKKyAgICB9CiAKLSAgICAvLyBX
ZSBvbmx5IHN1cHBvcnQgdGFyZ2V0aW5nIDo6YmVmb3JlIGFuZCA6OmFmdGVyIHBzZXVkby1lbGVt
ZW50cyBhdCB0aGUgbW9tZW50LgotICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBtX3Rh
cmdldC5nZXQoKTsKIH0KIAogdm9pZCBLZXlmcmFtZUVmZmVjdDo6c2V0VGFyZ2V0KFJlZlB0cjxF
bGVtZW50PiYmIG5ld1RhcmdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1s
LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCA5YTk3OTYwYTNkODAxMWQx
ZTMzNGIzYWY1MzAyNDkyMWJmNzMyYTMxLi4yMmIxZDQ3ZWEwNTdkZTM4YzExMGE2ODgxMWU2NDE5
OTJkYjg4Y2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBAIC0zMDIsNyArMzAyLDEwIEBAIGxpIHsKICAg
ICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsKIH0KIAotOjptYXJrZXIgeworOjpt
YXJrZXIsIDo6YmVmb3JlOjptYXJrZXIsIDo6YWZ0ZXI6Om1hcmtlciB7CisgICAgdW5pY29kZS1i
aWRpOiBpc29sYXRlOworICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7Cisg
ICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCmluZGV4IDcxZGMzN2RmZjFjOGEyMzI5ZjI1NmVi
NzY5NDYzZGIxNmEwMDA3NDUuLjM5YTA0MjlhMzNkMTQ5MTdlYzVmZTk3MWMwMjE0NDVjYzY4ZDlj
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAKQEAgLTgzLDExICs4Myw5IEBA
IHZvaWQgUHNldWRvRWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCgpCiAKIGJvb2wgUHNldWRvRWxl
bWVudDo6cmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCiB7Ci0gICAg
cmV0dXJuIHBzZXVkb0VsZW1lbnRSZW5kZXJlcklzTmVlZGVkKCZzdHlsZSkgfHwgaXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7Ci19CisgICAgaWYgKHBz
ZXVkb0VsZW1lbnRSZW5kZXJlcklzTmVlZGVkKCZzdHlsZSkpCisgICAgICAgIHJldHVybiB0cnVl
OwogCi1ib29sIFBzZXVkb0VsZW1lbnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWly
aW5nUHNldWRvRWxlbWVudCgpCi17CiAgICAgaWYgKG1faG9zdEVsZW1lbnQpIHsKICAgICAgICAg
aWYgKGF1dG8qIHN0YWNrID0gbV9ob3N0RWxlbWVudC0+a2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1
ZG9JZCgpKSkKICAgICAgICAgICAgIHJldHVybiBzdGFjay0+cmVxdWlyZXNQc2V1ZG9FbGVtZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuaAppbmRleCA1ZDlhZjg1MTE2NGNmN2M3NTVi
ZDc5ZGVmZjMyYjMxYmMwN2RmMzM5Li4yZDJhMGIxNThjZTAxNmI1MTA1NTFjYmZhODkwZDIxNGNm
YjI3YjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKQEAgLTQxLDcgKzQxLDYgQEAg
cHVibGljOgogICAgIHZvaWQgY2xlYXJIb3N0RWxlbWVudCgpOwogCiAgICAgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc1Rhcmdl
dGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKTsKIAogICAgIGJvb2wg
Y2FuU3RhcnRTZWxlY3Rpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJ
dGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKaW5k
ZXggMWI4OWYzMWFkZWY5NDBhMTAzOGNlODNhMDRmYjdmYzkwOTkzMWE1My4uMTZlMjJhZGZhYTkx
NjIxMzE3MGIzOTM4ODZiNzRiMDZmZGJmMGRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEl0ZW0uY3BwCkBAIC02OCw3ICs2OCw2IEBAIFJlbmRlclN0eWxlIFJlbmRl
ckxpc3RJdGVtOjpjb21wdXRlTWFya2VyU3R5bGUoKSBjb25zdAogICAgIC8vIGFwcGx5IHRvIGFs
bCBlbGVtZW50cy4KICAgICBSZW5kZXJTdHlsZSBwYXJlbnRTdHlsZSA9IFJlbmRlclN0eWxlOjpj
bG9uZShzdHlsZSgpKTsKICAgICBhdXRvIGZvbnREZXNjcmlwdGlvbiA9IHN0eWxlKCkuZm9udERl
c2NyaXB0aW9uKCk7Ci0gICAgZm9udERlc2NyaXB0aW9uLnNldFZhcmlhbnROdW1lcmljU3BhY2lu
ZyhGb250VmFyaWFudE51bWVyaWNTcGFjaW5nOjpUYWJ1bGFyTnVtYmVycyk7CiAgICAgcGFyZW50
U3R5bGUuc2V0Rm9udERlc2NyaXB0aW9uKFdURk1vdmUoZm9udERlc2NyaXB0aW9uKSk7CiAgICAg
cGFyZW50U3R5bGUuZm9udENhc2NhZGUoKS51cGRhdGUoJmRvY3VtZW50KCkuZm9udFNlbGVjdG9y
KCkpOwogICAgIGlmIChhdXRvIG1hcmtlclN0eWxlID0gZ2V0Q2FjaGVkUHNldWRvU3R5bGUoUHNl
dWRvSWQ6Ok1hcmtlciwgJnBhcmVudFN0eWxlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDAyOGQ2MGFh
YTU1ZmJiNjFkMTRhZTFkNTRmODJlYzYzN2JjOWNlMjYuLmMyMWU5ZWE5ZTMzMGRjYjg3NWUxZDA2
YzUyYjExMzdiZDA3MDI3NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZv
aWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVyTm9kZSYgcm9v
dCkKICAgICAgICAgfQogCiAgICAgICAgIGlmIChlbGVtZW50VXBkYXRlcykKLSAgICAgICAgICAg
IHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRlcy0+dXBkYXRlKTsK
KyAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRl
cyk7CiAKICAgICAgICAgc3RvcmVQcmV2aW91c1JlbmRlcmVyKGVsZW1lbnQpOwogCkBAIC0yNTEs
MTMgKzI1MSwxMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpwb3BQYXJlbnRzVG9EZXB0aCh1
bnNpZ25lZCBkZXB0aCkKIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUJlZm9yZURlc2Nl
bmRhbnRzKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBk
YXRlcykKIHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVw
ZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YmVmb3JlUHNldWRvRWxlbWVudFVw
ZGF0ZSwgUHNldWRvSWQ6OkJlZm9yZSk7CisgICAgICAgIGdlbmVyYXRlZENvbnRlbnQoKS51cGRh
dGVQc2V1ZG9FbGVtZW50KGVsZW1lbnQsIHVwZGF0ZXMsIFBzZXVkb0lkOjpCZWZvcmUpOwogfQog
CiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRzKEVsZW1lbnQm
IGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBkYXRlcykKIHsKICAgICBp
ZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1l
bnQoZWxlbWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6
QWZ0ZXIpOworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChl
bGVtZW50LCB1cGRhdGVzLCBQc2V1ZG9JZDo6QWZ0ZXIpOwogCiAgICAgYXV0byogcmVuZGVyZXIg
PSBlbGVtZW50LnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKQEAgLTI5NywxMyArMjk3
LDI1IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlcmVyU3R5bGUoUmVuZGVy
RWxlbWVudCYgcmVuZGVyZXIsIFJlbmRlclN0eWxlCiAgICAgbV9idWlsZGVyLm5vcm1hbGl6ZVRy
ZWVBZnRlclN0eWxlQ2hhbmdlKHJlbmRlcmVyLCBvbGRTdHlsZSk7CiB9CiAKLXZvaWQgUmVuZGVy
VHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBTdHlsZTo6RWxlbWVudFVwZGF0ZSYgdXBkYXRlKQordm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVt
ZW50VXBkYXRlcyogdXBkYXRlcykKIHsKKyAgICBBU1NFUlQodXBkYXRlcyk7CisKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVDaGFuZ2VT
Y29wZSBvYnNlcnZpbmdTY29wZShtX2RvY3VtZW50LCBlbGVtZW50KTsKICNlbmRpZgogCi0gICAg
Ym9vbCBzaG91bGRUZWFyRG93blJlbmRlcmVycyA9IHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNo
YW5nZTo6UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVyZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3Bs
YXlDb250ZW50cygpKTsKKyAgICBhdXRvJiBlbGVtZW50VXBkYXRlID0gdXBkYXRlcy0+dXBkYXRl
OworICAgIGF1dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpl
bGVtZW50VXBkYXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLT5wc2V1
ZG9FbGVtZW50VXBkYXRlcykgeworICAgICAgICBhdXRvIHBzZXVkb0lkID0gaXQua2V5OworICAg
ICAgICBpZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QWZ0ZXIpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZWxlbWVudFVwZGF0
ZVN0eWxlLT5hZGRDYWNoZWRQc2V1ZG9TdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKml0LnZh
bHVlLnN0eWxlKSk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRUZWFyRG93blJlbmRlcmVycyA9
IGVsZW1lbnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJlbmRlcmVyICYmIChlbGVt
ZW50LnJlbmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgaWYg
KHNob3VsZFRlYXJEb3duUmVuZGVyZXJzKSB7CiAgICAgICAgIGlmICghZWxlbWVudC5yZW5kZXJl
cigpKSB7CiAgICAgICAgICAgICAvLyBXZSBtYXkgYmUgdGVhcmluZyBkb3duIGEgZGVzY2VuZGFu
dCByZW5kZXJlciBjYWNoZWQgaW4gcmVuZGVyVHJlZVBvc2l0aW9uLgpAQCAtMzExLDE1ICszMjMs
MTUgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgfQogCiAgICAgICAgIC8vIGRp
c3BsYXk6bm9uZSBjYW5jZWxzIGFuaW1hdGlvbnMuCi0gICAgICAgIGF1dG8gdGVhcmRvd25UeXBl
ID0gdXBkYXRlLnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93
blR5cGU6OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6
UmVuZGVyZXJVcGRhdGU7CisgICAgICAgIGF1dG8gdGVhcmRvd25UeXBlID0gZWxlbWVudFVwZGF0
ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lID8gVGVhcmRvd25UeXBlOjpS
ZW5kZXJlclVwZGF0ZUNhbmNlbGluZ0FuaW1hdGlvbnMgOiBUZWFyZG93blR5cGU6OlJlbmRlcmVy
VXBkYXRlOwogICAgICAgICB0ZWFyRG93blJlbmRlcmVycyhlbGVtZW50LCB0ZWFyZG93blR5cGUs
IG1fYnVpbGRlcik7CiAKICAgICAgICAgcmVuZGVyaW5nUGFyZW50KCkuZGlkQ3JlYXRlT3JEZXN0
cm95Q2hpbGRSZW5kZXJlciA9IHRydWU7CiAgICAgfQogCi0gICAgYm9vbCBoYXNEaXNwbGF5Q29u
dGVudHMgPSB1cGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Q29udGVudHM7
CisgICAgYm9vbCBoYXNEaXNwbGF5Q29udGVudHMgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5kaXNw
bGF5KCkgPT0gRGlzcGxheVR5cGU6OkNvbnRlbnRzOwogICAgIGlmIChoYXNEaXNwbGF5Q29udGVu
dHMpCi0gICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNTdHlsZShSZW5kZXJTdHls
ZTo6Y2xvbmVQdHIoKnVwZGF0ZS5zdHlsZSkpOworICAgICAgICBlbGVtZW50LnN0b3JlRGlzcGxh
eUNvbnRlbnRzU3R5bGUoV1RGTW92ZShlbGVtZW50VXBkYXRlU3R5bGUpKTsKICAgICBlbHNlCiAg
ICAgICAgIGVsZW1lbnQucmVzZXRDb21wdXRlZFN0eWxlKCk7CiAKQEAgLTMyNyw3ICszMzksNyBA
QCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYg
ZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZQogICAgIGlmIChzaG91bGRDcmVhdGVOZXdSZW5kZXJl
cikgewogICAgICAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3Mo
KSkKICAgICAgICAgICAgIGVsZW1lbnQud2lsbEF0dGFjaFJlbmRlcmVycygpOwotICAgICAgICBj
cmVhdGVSZW5kZXJlcihlbGVtZW50LCBSZW5kZXJTdHlsZTo6Y2xvbmUoKnVwZGF0ZS5zdHlsZSkp
OworICAgICAgICBjcmVhdGVSZW5kZXJlcihlbGVtZW50LCBXVEZNb3ZlKCplbGVtZW50VXBkYXRl
U3R5bGUpKTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lD
aGlsZFJlbmRlcmVyID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzM3LDIwICszNDksMjAg
QEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQm
IGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgcmV0dXJuOwogICAgIGF1dG8mIHJl
bmRlcmVyID0gKmVsZW1lbnQucmVuZGVyZXIoKTsKIAotICAgIGlmICh1cGRhdGUucmVjb21wb3Np
dGVMYXllcikgewotICAgICAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJT
dHlsZTo6Y2xvbmUoKnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6UmVjb21wb3NpdGVM
YXllcik7CisgICAgaWYgKGVsZW1lbnRVcGRhdGUucmVjb21wb3NpdGVMYXllcikgeworICAgICAg
ICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5
bGUpLCBTdHlsZURpZmZlcmVuY2U6OlJlY29tcG9zaXRlTGF5ZXIpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkg
ewotICAgICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIHVwZGF0
ZS5zdHlsZS5nZXQoKSkpIHsKLSAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVy
ZXIsIFJlbmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpF
cXVhbCk7CisgICAgaWYgKGVsZW1lbnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5v
bmUpIHsKKyAgICAgICAgaWYgKHBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQoJnJlbmRlcmVyLCBl
bGVtZW50VXBkYXRlU3R5bGUuZ2V0KCkpKSB7CisgICAgICAgICAgICB1cGRhdGVSZW5kZXJlclN0
eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBTdHlsZURpZmZlcmVu
Y2U6OkVxdWFsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVyU3R5
bGU6OmNsb25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAgICB1
cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUp
LCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKIH0KIAogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
Y3JlYXRlUmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyLmgKaW5kZXggMjM0MDM0YzgzMzE3Y2E2MTg3ZTFiZWJhYjdjZTE3MGYxZDc0NTJjYi4uODcw
Mjk1MDc1NWFhMTQ3ZjNmZTA5NWU3NGU5ZDQ1NmQ5Y2U0YjA4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKQEAgLTU4
LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVy
Tm9kZSYgcm9vdCk7CiAgICAgdm9pZCB1cGRhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNvbnN0IFN0
eWxlOjpUZXh0VXBkYXRlKik7CiAgICAgdm9pZCBjcmVhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNv
bnN0IFN0eWxlOjpUZXh0VXBkYXRlKik7Ci0gICAgdm9pZCB1cGRhdGVFbGVtZW50UmVuZGVyZXIo
RWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlJik7CisgICAgdm9pZCB1cGRhdGVF
bGVtZW50UmVuZGVyZXIoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyopOwog
ICAgIHZvaWQgdXBkYXRlUmVuZGVyZXJTdHlsZShSZW5kZXJFbGVtZW50JiwgUmVuZGVyU3R5bGUm
JiwgU3R5bGVEaWZmZXJlbmNlKTsKICAgICB2b2lkIGNyZWF0ZVJlbmRlcmVyKEVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmKTsKICAgICB2b2lkIHVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKEVsZW1lbnQm
LCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
R2VuZXJhdGVkQ29udGVudC5jcHAKaW5kZXggMGU5YzQ5YTcyY2U0YThmZGY2OGE0YzI3YjZkZTQw
Zjk2MTFmMmY5OC4uZTMxZjdlMGRkZGRiNDJkMjgwYTllYjk5Y2UxZWE1OTljZTIxN2ViMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyR2VuZXJhdGVkQ29udGVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAKQEAgLTY5LDcgKzY5
LDIwIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVF1
b3Rlc1VwVG8oUmVuZGVyUXVvdGUqIGxhc3RRdW90CiAgICAgQVNTRVJUKCFsYXN0UXVvdGUpOwog
fQogCi1zdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVy
JiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QgUmVuZGVyU3R5
bGUmIHN0eWxlKQorc3RhdGljIGJvb2wgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0
UmVxdWlyaW5nUHNldWRvRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50LCBQc2V1ZG9JZCBw
c2V1ZG9JZCkKK3sKKyAgICBpZiAoaXM8UHNldWRvRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAg
IHJldHVybiBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9F
bGVtZW50KGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KCplbGVtZW50KS5ob3N0RWxlbWVudCgpLCBw
c2V1ZG9JZCk7CisKKyAgICBpZiAoZWxlbWVudCkgeworICAgICAgICBpZiAoYXV0byogc3RhY2sg
PSBlbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKSkKKyAgICAgICAgICAgIHJl
dHVybiBzdGFjay0+cmVxdWlyZXNQc2V1ZG9FbGVtZW50KCk7CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCitzdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRy
ZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKICAgICBpZiAoYXV0byog
Y29udGVudERhdGEgPSBzdHlsZS5jb250ZW50RGF0YSgpKSB7CiAgICAgICAgIGZvciAoY29uc3Qg
Q29udGVudERhdGEqIGNvbnRlbnQgPSBjb250ZW50RGF0YTsgY29udGVudDsgY29udGVudCA9IGNv
bnRlbnQtPm5leHQoKSkgewpAQCAtODAsNyArOTMsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVDb250
ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBw
cwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRoZSBvbmx5IHZhbGlkIHNjZW5hcmlvIHdoZXJl
IHRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aXRob3V0IHRoZSAiY29udGVudCIgcHJvcGVydHkgYmVp
bmcgc2V0CiAgICAgICAgIC8vIGlzIHRoZSBjYXNlIHdoZXJlIGEgcHNldWRvLWVsZW1lbnQgaGFz
IGFuaW1hdGlvbnMgc2V0IG9uIGl0IHZpYSB0aGUgV2ViIEFuaW1hdGlvbnMgQVBJLgotICAgICAg
ICBBU1NFUlQoaXM8UHNldWRvRWxlbWVudD4ocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKSAmJiBk
b3duY2FzdDxQc2V1ZG9FbGVtZW50PigqcHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKS5pc1Rhcmdl
dGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSk7CisgICAgICAgIEFT
U0VSVF9VTlVTRUQocHNldWRvSWQsIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJl
cXVpcmluZ1BzZXVkb0VsZW1lbnQocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpLCBwc2V1ZG9JZCkp
OwogICAgIH0KIH0KIApAQCAtOTQsMTQgKzEwNywyMyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVTdHls
ZUZvckNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyRWxlbWVudCYgcHNldWRvUmVuZGVyZXIsIGNvbnN0
CiAgICAgfQogfQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1
cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsIGNvbnN0IE9wdGlvbmFsPFN0eWxl
OjpFbGVtZW50VXBkYXRlPiYgdXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK3ZvaWQgUmVuZGVy
VHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVu
dCYgY3VycmVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiB1cGRhdGVzLCBQc2V1ZG9J
ZCBwc2V1ZG9JZCkKIHsKICAgICBQc2V1ZG9FbGVtZW50KiBwc2V1ZG9FbGVtZW50ID0gcHNldWRv
SWQgPT0gUHNldWRvSWQ6OkJlZm9yZSA/IGN1cnJlbnQuYmVmb3JlUHNldWRvRWxlbWVudCgpIDog
Y3VycmVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9
IHBzZXVkb0VsZW1lbnQgPyBwc2V1ZG9FbGVtZW50LT5yZW5kZXJlcigpIDogbnVsbHB0cikKICAg
ICAgICAgbV91cGRhdGVyLnJlbmRlclRyZWVQb3NpdGlvbigpLmludmFsaWRhdGVOZXh0U2libGlu
ZygqcmVuZGVyZXIpOwogCi0gICAgaWYgKCFuZWVkc1BzZXVkb0VsZW1lbnQodXBkYXRlKSAmJiAo
IXBzZXVkb0VsZW1lbnQgfHwgIXBzZXVkb0VsZW1lbnQtPmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZm
ZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpKSkgeworICAgIGF1dG8qIHVwZGF0ZSA9IFt1cGRh
dGVzLCBwc2V1ZG9JZF0oKSAtPiBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZSogeworICAgICAg
ICBpZiAodXBkYXRlcykgeworICAgICAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMtPnBz
ZXVkb0VsZW1lbnRVcGRhdGVzLmZpbmQocHNldWRvSWQpOworICAgICAgICAgICAgaWYgKGl0ZXJh
dG9yICE9IHVwZGF0ZXMtPnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAg
ICAgIHJldHVybiAmaXRlcmF0b3ItPnZhbHVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0oKTsKKworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkg
JiYgKCFwc2V1ZG9FbGVtZW50IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RS
ZXF1aXJpbmdQc2V1ZG9FbGVtZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAg
ICAgaWYgKHBzZXVkb0VsZW1lbnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QmVmb3JlKQogICAgICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQo
Y3VycmVudCwgbV91cGRhdGVyLm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMzLDcgQEAgdm9pZCBS
ZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChF
bGVtZW50JiBjdXJyZW50LAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0
ZS0+Y2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBk
YXRlLT5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgcHNldWRvRWxlbWVudCA9ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQp
OwpAQCAtMTI1LDEwICsxNDcsMTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVk
Q29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBj
b250ZW50c1N0eWxlLT5jb3B5Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAg
IFN0eWxlOjpFbGVtZW50VXBkYXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0
eWxlKSwgdXBkYXRlLT5jaGFuZ2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAg
ICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50
c1VwZGF0ZSk7CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMg
eyBXVEZNb3ZlKGNvbnRlbnRzVXBkYXRlKSwgU3R5bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpO
b25lLCB7IH0gfTsKKyAgICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNl
dWRvRWxlbWVudCwgJmNvbnRlbnRzVXBkYXRlcyk7CiAgICAgICAgIHBzZXVkb0VsZW1lbnQtPnN0
b3JlRGlzcGxheUNvbnRlbnRzU3R5bGUoUmVuZGVyU3R5bGU6OmNsb25lUHRyKCp1cGRhdGUtPnN0
eWxlKSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5k
ZXJlcigqcHNldWRvRWxlbWVudCwgKnVwZGF0ZSk7CisgICAgICAgIGF1dG8gcHNldWRvRWxlbWVu
dFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCp1cGRhdGUtPnN0eWxlKTsKKyAg
ICAgICAgU3R5bGU6OkVsZW1lbnRVcGRhdGUgcHNldWRvRWxlbWVudFVwZGF0ZSB7IFdURk1vdmUo
cHNldWRvRWxlbWVudFVwZGF0ZVN0eWxlKSwgdXBkYXRlLT5jaGFuZ2UsIHVwZGF0ZS0+cmVjb21w
b3NpdGVMYXllciB9OworICAgICAgICBTdHlsZTo6RWxlbWVudFVwZGF0ZXMgcHNldWRvRWxlbWVu
dFVwZGF0ZXMgeyBXVEZNb3ZlKHBzZXVkb0VsZW1lbnRVcGRhdGUpLCBTdHlsZTo6RGVzY2VuZGFu
dHNUb1Jlc29sdmU6Ok5vbmUsIHsgfSB9OworICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVu
dFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCAmcHNldWRvRWxlbWVudFVwZGF0ZXMpOwogICAgICAg
ICBBU1NFUlQoIXBzZXVkb0VsZW1lbnQtPmhhc0Rpc3BsYXlDb250ZW50cygpKTsKICAgICB9CiAK
QEAgLTEzNyw3ICsxNjMsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250
ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGlmICh1cGRhdGUtPmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpSZW5kZXJlcikK
LSAgICAgICAgY3JlYXRlQ29udGVudFJlbmRlcmVycyhtX3VwZGF0ZXIubV9idWlsZGVyLCAqcHNl
dWRvRWxlbWVudFJlbmRlcmVyLCAqdXBkYXRlLT5zdHlsZSk7CisgICAgICAgIGNyZWF0ZUNvbnRl
bnRSZW5kZXJlcnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwg
KnVwZGF0ZS0+c3R5bGUsIHBzZXVkb0lkKTsKICAgICBlbHNlCiAgICAgICAgIHVwZGF0ZVN0eWxl
Rm9yQ29udGVudFJlbmRlcmVycygqcHNldWRvRWxlbWVudFJlbmRlcmVyLCAqdXBkYXRlLT5zdHls
ZSk7CiAKQEAgLTE0OCw3ICsxNzQsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0
ZWRDb250ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsCiAgICAgbV91
cGRhdGVyLm1fYnVpbGRlci51cGRhdGVBZnRlckRlc2NlbmRhbnRzKCpwc2V1ZG9FbGVtZW50UmVu
ZGVyZXIpOwogfQogCi1ib29sIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojpu
ZWVkc1BzZXVkb0VsZW1lbnQoY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRhdGU+JiB1
cGRhdGUpCitib29sIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50OjpuZWVkc1Bz
ZXVkb0VsZW1lbnQoY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUqIHVwZGF0ZSkKIHsKICAgICBp
ZiAoIXVwZGF0ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
R2VuZXJhdGVkQ29udGVudC5oCmluZGV4IDAyZTFkYjE4ZmE5MTMyZTEyYWVlOGZlMGNhMWQwNTMw
ODYyNzczMDEuLjQzMDMwZDliNTc0YTA4NjJjMDYwYzE4ZGUyYzExNjVmYzc0NmU0ZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRl
ckdlbmVyYXRlZENvbnRlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmgKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQgewogcHVibGljOgogICAg
IEdlbmVyYXRlZENvbnRlbnQoUmVuZGVyVHJlZVVwZGF0ZXImKTsKIAotICAgIHZvaWQgdXBkYXRl
UHNldWRvRWxlbWVudChFbGVtZW50JiwgY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRh
dGU+JiwgUHNldWRvSWQpOworICAgIHZvaWQgdXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50Jiwg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiwgUHNldWRvSWQpOwogICAgIHZvaWQgdXBkYXRl
UmVtYWluaW5nUXVvdGVzKCk7CiAKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCZWZvcmVQc2V1ZG9F
bGVtZW50KEVsZW1lbnQmLCBSZW5kZXJUcmVlQnVpbGRlciYpOwpAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUXVvdGVzVXBUbyhSZW5kZXJRdW90ZSop
OwogICAgIAotICAgIGJvb2wgbmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxl
OjpFbGVtZW50VXBkYXRlPiYpOworICAgIGJvb2wgbmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IFN0
eWxlOjpFbGVtZW50VXBkYXRlKik7CiAKICAgICBSZW5kZXJUcmVlVXBkYXRlciYgbV91cGRhdGVy
OwogICAgIFdlYWtQdHI8UmVuZGVyUXVvdGU+IG1fcHJldmlvdXNVcGRhdGVkUXVvdGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcAppbmRleCBhNzAzYTRmOGNkNDNjN2Jm
OTExMDhhZGUyMWJhNWRiNWQ3MWNmOTNmLi4yMTI0YTc5MjAyNmJmODQ3MTdkMmI5ZTdiM2E1NzZm
NDM4ZDgyNDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2Nh
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAKQEAg
LTcwLDYgKzcwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNob3VsZEFwcGx5UHJvcGVydHlJblBh
cnNlT3JkZXIoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogfQogCiAvLyBodHRwczovL3d3dy53
My5vcmcvVFIvY3NzLXBzZXVkby00LyNtYXJrZXItcHNldWRvIChFZGl0b3IncyBEcmFmdCwgMjUg
SnVseSAyMDE3KQorLy8gRklYTUU6IHRoaXMgaXMgb3V0ZGF0ZWQsIHNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkxLgogc3RhdGljIGlubGluZSBib29sIGlz
VmFsaWRNYXJrZXJTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQpCiB7CiAgICAgc3dpdGNo
IChpZCkgewpAQCAtOTEsNiArOTIsMTggQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRNYXJr
ZXJTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZv
bnRPcHRpY2FsU2l6aW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWF0aW9uU2V0dGlu
Z3M6CiAjZW5kaWYKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uRHVyYXRpb246CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uOgorICAgIGNhc2UgQ1NTUHJv
cGVydHlBbmltYXRpb25EZWxheToKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uSXRlcmF0
aW9uQ291bnQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkRpcmVjdGlvbjoKKyAgICBj
YXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uRmlsbE1vZGU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFu
aW1hdGlvblBsYXlTdGF0ZToKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uTmFtZToKKyAg
ICBjYXNlIENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlUcmFuc2l0aW9uVGltaW5nRnVuY3Rpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eVRyYW5zaXRp
b25EZWxheToKKyAgICBjYXNlIENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5OgogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCBkYmUxNDYyNzA3MjEzYTVkOWI5
NWQyYTQ4MmY2NzQ2NWQ4ZjBmYTc5Li40M2Q5ZmNhZjFjZTQ4OGUzNzY4OTg3OTdhODIzN2VjMjA1
MTQ4NjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBA
IC0yNDQsOCArMjQ0LDExIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVs
ZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGF1dG8gYmVm
b3JlVXBkYXRlID0gcmVzb2x2ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgUHNldWRvSWQ6
OkJlZm9yZSk7Ci0gICAgYXV0byBhZnRlclVwZGF0ZSA9IHJlc29sdmVQc2V1ZG9TdHlsZShlbGVt
ZW50LCB1cGRhdGUsIFBzZXVkb0lkOjpBZnRlcik7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRh
dGVNYXAgcHNldWRvVXBkYXRlczsKKyAgICBmb3IgKFBzZXVkb0lkIHBzZXVkb0lkID0gUHNldWRv
SWQ6OkZpcnN0UHVibGljUHNldWRvSWQ7IHBzZXVkb0lkIDwgUHNldWRvSWQ6OkZpcnN0SW50ZXJu
YWxQc2V1ZG9JZDsgcHNldWRvSWQgPSBzdGF0aWNfY2FzdDxQc2V1ZG9JZD4oc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHBzZXVkb0lkKSArIDEpKSB7CisgICAgICAgIGlmIChhdXRvIGVsZW1lbnRVcGRh
dGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRlLCBwc2V1ZG9JZCkpCisgICAg
ICAgICAgICBwc2V1ZG9VcGRhdGVzLnNldChwc2V1ZG9JZCwgV1RGTW92ZSgqZWxlbWVudFVwZGF0
ZSkpOworICAgIH0KIAogI2lmIEVOQUJMRShUT1VDSF9BQ1RJT05fUkVHSU9OUykKICAgICAvLyBG
SVhNRTogVHJhY2sgdGhpcyBleGFjdGx5LgpAQCAtMjU3LDI0ICsyNjAsMjMgQEAgRWxlbWVudFVw
ZGF0ZXMgVHJlZVJlc29sdmVyOjpyZXNvbHZlRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogICAg
ICAgICBtX2RvY3VtZW50LnNldE1heUhhdmVFZGl0YWJsZUVsZW1lbnRzKCk7CiAjZW5kaWYKIAot
ICAgIHJldHVybiB7IFdURk1vdmUodXBkYXRlKSwgZGVzY2VuZGFudHNUb1Jlc29sdmUsIFdURk1v
dmUoYmVmb3JlVXBkYXRlKSwgV1RGTW92ZShhZnRlclVwZGF0ZSkgfTsKKyAgICByZXR1cm4geyBX
VEZNb3ZlKHVwZGF0ZSksIGRlc2NlbmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKHBzZXVkb1VwZGF0
ZXMpIH07CiB9CiAKLUVsZW1lbnRVcGRhdGUgVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5
bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVwZGF0ZSwg
UHNldWRvSWQgcHNldWRvSWQpCitPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBUcmVlUmVzb2x2ZXI6
OnJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiBlbGVtZW50LCBjb25zdCBFbGVtZW50VXBkYXRl
JiBlbGVtZW50VXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKICAgICBpZiAoZWxlbWVudFVw
ZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lKQotICAgICAgICByZXR1
cm4geyB9OworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZWxlbWVudFVw
ZGF0ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQpKQotICAgICAgICByZXR1cm4geyB9
OworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgYXV0byBwc2V1ZG9TdHlsZSA9
IHNjb3BlKCkucmVzb2x2ZXIucHNldWRvU3R5bGVGb3JFbGVtZW50KGVsZW1lbnQsIHsgcHNldWRv
SWQgfSwgKmVsZW1lbnRVcGRhdGUuc3R5bGUsIHBhcmVudEJveFN0eWxlRm9yUHNldWRvKGVsZW1l
bnRVcGRhdGUpLCAmc2NvcGUoKS5zZWxlY3RvckZpbHRlcik7CiAgICAgaWYgKCFwc2V1ZG9TdHls
ZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAot
ICAgIGF1dG8qIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlID8g
ZWxlbWVudC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBlbGVtZW50LmFmdGVyUHNldWRvRWxlbWVu
dCgpOwotICAgIGJvb2wgaGFzQW5pbWF0aW9ucyA9IHBzZXVkb0VsZW1lbnQgJiYgcHNldWRvRWxl
bWVudC0+aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7
CisgICAgYm9vbCBoYXNBbmltYXRpb25zID0gcHNldWRvU3R5bGUtPmhhc0FuaW1hdGlvbnNPclRy
YW5zaXRpb25zKCkgfHwgZWxlbWVudC5oYXNLZXlmcmFtZUVmZmVjdHMocHNldWRvSWQpOwogICAg
IGlmICghcHNldWRvRWxlbWVudFJlbmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpICYm
ICFoYXNBbmltYXRpb25zKQotICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCiAgICAgcmV0dXJuIGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShXVEZN
b3ZlKHBzZXVkb1N0eWxlKSwgeyBlbGVtZW50LCBwc2V1ZG9JZCB9LCBlbGVtZW50VXBkYXRlLmNo
YW5nZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaAppbmRleCBj
Mjk3MzQyZmVlODU0OTRhOWE2YWJkMWNlOTgyOGQ5NzcyMjNjMTE4Li44N2JlYTlhZmJlMzRhOWM5
ZWM5NWY2NzExNmU3OTBhZGUzNjBkNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJl
ZVJlc29sdmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBFbGVtZW50VXBkYXRl
cyByZXNvbHZlRWxlbWVudChFbGVtZW50Jik7CiAKICAgICBFbGVtZW50VXBkYXRlIGNyZWF0ZUFu
aW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+LCBjb25zdCBT
dHlsZWFibGUmLCBDaGFuZ2UpOwotICAgIEVsZW1lbnRVcGRhdGUgcmVzb2x2ZVBzZXVkb1N0eWxl
KEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOworICAgIE9wdGlvbmFs
PEVsZW1lbnRVcGRhdGU+IHJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiwgY29uc3QgRWxlbWVu
dFVwZGF0ZSYsIFBzZXVkb0lkKTsKIAogICAgIHN0cnVjdCBTY29wZSA6IFJlZkNvdW50ZWQ8U2Nv
cGU+IHsKICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9J
REVOVElGSUVSKFRyZWVSZXNvbHZlclNjb3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5o
CmluZGV4IDFjNjEyZGZhOTQ2NDMyZDI0ZDdmNDZhZDY0OTk5YTRlNzNmM2UxZmEuLjA0YzYwNDJk
MDcwNWUzMWMyNTE1YmViYzdhZmM1NzQ5ZmYzOTgzNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVV
cGRhdGUuaApAQCAtNTAsMTEgKzUwLDEyIEBAIHN0cnVjdCBFbGVtZW50VXBkYXRlIHsKIAogZW51
bSBjbGFzcyBEZXNjZW5kYW50c1RvUmVzb2x2ZSB7IE5vbmUsIENoaWxkcmVuV2l0aEV4cGxpY2l0
SW5oZXJpdCwgQ2hpbGRyZW4sIEFsbCB9OwogCit1c2luZyBQc2V1ZG9JZFRvRWxlbWVudFVwZGF0
ZU1hcCA9IEhhc2hNYXA8UHNldWRvSWQsIEVsZW1lbnRVcGRhdGUsIFdURjo6SW50SGFzaDxQc2V1
ZG9JZD4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UHNldWRvSWQ+PjsKKwogc3RydWN0IEVs
ZW1lbnRVcGRhdGVzIHsKICAgICBFbGVtZW50VXBkYXRlIHVwZGF0ZTsKICAgICBEZXNjZW5kYW50
c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7IERlc2NlbmRhbnRzVG9SZXNvbHZlOjpO
b25lIH07Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYmVmb3JlUHNldWRvRWxlbWVudFVw
ZGF0ZTsKLSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBhZnRlclBzZXVkb0VsZW1lbnRVcGRh
dGU7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAgcHNldWRvRWxlbWVudFVwZGF0ZXM7
CiB9OwogCiBzdHJ1Y3QgVGV4dFVwZGF0ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA2ZGMwZTU3N2U1NjQxOGNhNTEwNjZlOTMxMTUxNjBjMTgxM2M2NDcxLi5mYzcwMWJjNGY0
ZTkxNWY3N2Q0MDIyYjU1MzM4MmE5ODcxZDRkNTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0xMS0xMSAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IGFuaW1hdGlvbnMgb24gbW9yZSBwc2V1
ZG8tZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxODc5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNzQ0ODU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFBBU1MgcmVzdWx0cyBm
b3IgV1BUIHRlc3RzIHJ1bm5pbmcgYW5pbWF0aW9ucyBvbiA6Om1hcmtlciBwc2V1ZG8tZWxlbWVu
dHMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0Rv
Y3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50LW1hcmtl
ci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1hbmlt
YXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
c2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21hcmtl
ci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFu
aW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0xMS0xMSAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1zaXppbmcvYXNwZWN0LXJhdGlvIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCA1OWI3
YTIyOWFkMzMwNDY3NTUzNTFiNTIyNGE5YjU5YTU1NGNjNDVhLi42NWM5OTlkNDc0OGE5OGI3ZjY0
NGM5MzYyN2FhYmY5MGY1MmQ3NzhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmlt
YXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5p
bWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xNiw1ICsxNiw1IEBAIFBBU1MgQ1NT
IEFuaW1hdGlvbnMgY2FuY2VsZWQgdmlhIHRoZSBBUEkgYXJlIG5vdCByZXR1cm5lZAogUEFTUyBD
U1MgQW5pbWF0aW9ucyBjYW5jZWxlZCBhbmQgcmVzdGFydGVkIHZpYSB0aGUgQVBJIGFyZSByZXR1
cm5lZAogUEFTUyBwc2V1ZG8gZWxlbWVudCB3aXRoIHJlcGxhY2VkIHRhcmdldCBkb2VzIG5vdCBh
ZmZlY3QgYW5pbWF0aW9uIG9yZGVyaW5nCiBQQVNTIENTUyBBbmltYXRpb25zIHRhcmdldHRpbmcg
KHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0aW5n
Ci1GQUlMIENTUyBBbmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxk
IGhhdmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikgYXNzZXJ0X2VxdWFs
czogQ1NTIGFuaW1hdGlvbnMgb24gYm90aCBwc2V1ZG8tZWxlbWVudHMgYW5kIGVsZW1lbnRzIGFy
ZSByZXR1cm5lZCBleHBlY3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBDU1MgQW5pbWF0aW9ucyB0YXJn
ZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIg
c29ydGluZyAoOjptYXJrZXIpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50LW1h
cmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50LW1h
cmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCAyNGQwMTg0NWIyMzkxNDFhMTU2
NTVjOTlkNWY2Zjc4NDRlOWE2ODFiLi43ZjljMGZkYTg2N2YyYWFkOGE1NGNiMzEzOGE4Mzk2M2Yw
Y2NmNzkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRvZWxl
bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVk
b2VsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBBbmltYXRpb25FdmVudCBzaG91bGQg
aGF2ZSB0aGUgY29ycmVjdCBwc2V1ZG9FbGVtZW50IG1lbWViZXIgVGVzdCB0aW1lZCBvdXQKK1BB
U1MgQW5pbWF0aW9uRXZlbnQgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgcHNldWRvRWxlbWVudCBt
ZW1lYmVyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDA0
YjViODg0ZjEwZmMzYTlkNjU5N2Q0MGVmMTY0ZTMwNjMxZjM3YzcuLjgzMzU4YTk2ZWYzYTlhY2Y3
NjgxZWU1YzhlMmRlODYzZTZlMGI3ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4
cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogUEFTUyBTYW1lIGV2ZW50cyBhcmUgb3JkZXJl
ZCBieSBlbGVtZW50cwogUEFTUyBTYW1lIGV2ZW50cyBvbiBwc2V1ZG8tZWxlbWVudHMgZm9sbG93
IHRoZSBwcmVzY3JpYmVkIG9yZGVyCi1GQUlMIFNhbWUgZXZlbnRzIG9uIHBzZXVkby1lbGVtZW50
cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxzOiBO
dW1iZXIgb2YgZXZlbnRzIHJlY2VpdmVkICg0KSBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgbnVtYmVy
ICg1KSAoZXhwZWN0ZWQ6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9u
c3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYWN0dWFsOiBhbmltYXRpb25z
dGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCkgZXhw
ZWN0ZWQgNSBidXQgZ290IDQKK1BBU1MgU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZv
bGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlciAoOjptYXJrZXIpCiBGQUlMIFN0YXJ0IGFuZCBpdGVy
YXRpb24gZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IHRpbWUgYXNzZXJ0X2VxdWFsczogRXZlbnQgIzEg
dHlwZXMgc2hvdWxkIG1hdGNoIChleHBlY3RlZDogYW5pbWF0aW9uaXRlcmF0aW9uLCBhbmltYXRp
b25zdGFydCwgYWN0dWFsOiBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uaXRlcmF0aW9uKSBleHBl
Y3RlZCAiYW5pbWF0aW9uaXRlcmF0aW9uIiBidXQgZ290ICJhbmltYXRpb25zdGFydCIKIEZBSUwg
SXRlcmF0aW9uIGFuZCBlbmQgZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IHRpbWUgYXNzZXJ0X2VxdWFs
czogRXZlbnQgIzEgdHlwZXMgc2hvdWxkIG1hdGNoIChleHBlY3RlZDogYW5pbWF0aW9uaXRlcmF0
aW9uLCBhbmltYXRpb25lbmQsIGFjdHVhbDogYW5pbWF0aW9uZW5kLCBhbmltYXRpb25pdGVyYXRp
b24pIGV4cGVjdGVkICJhbmltYXRpb25pdGVyYXRpb24iIGJ1dCBnb3QgImFuaW1hdGlvbmVuZCIK
IEZBSUwgU3RhcnQgYW5kIGVuZCBldmVudHMgYXJlIHNvcnRlZCBjb3JyZWN0bHkgd2hlbiBmaXJl
ZCBzaW11bHRhbmVvdXNseSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0YXJnZXRzIHNob3VsZCBt
YXRjaCBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGRpdiBzdHlsZT0iYW5pbWF0aW9uOiBhbmltIDEw
MHMgMiI+PC9kaXY+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxkaXYgc3R5bGU9ImFuaW1hdGlvbjog
YW5pbSAxMDBzIDEwMHMiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItYW5pbWF0ZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL21hcmtlci1hbmltYXRlLWV4cGVjdGVkLnR4dAppbmRleCAwNzBiZDQxZjI3
YzIwZTZkNjliY2EyNzJhYmE4YWIyOThkMTI3NTRlLi4wNDMzNjViMTJkN2MzN2NmYjc4ZmNlZjYx
Yzk2NDljMmE5YmQ2M2Q3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1hbmltYXRlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHNldWRvL21hcmtlci1hbmltYXRlLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAKIAot
RkFJTCAnY29sb3InIGFuaW1hdGlvbiBhc3NlcnRfZXF1YWxzOiBjb2xvciBleHBlY3RlZCAicmdi
KDEwMCwgNTAsIDE1MCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKLVBBU1MgJ29wYWNpdHknIGFu
aW1hdGlvbgotRkFJTCAnY29sb3InICsgJ29wYWNpdHknIGFuaW1hdGlvbiBhc3NlcnRfZXF1YWxz
OiBjb2xvciBleHBlY3RlZCAicmdiKDEwMCwgNTAsIDE1MCkiIGJ1dCBnb3QgInJnYigwLCAwLCAw
KSIKK1BBU1MgJ2NvbG9yJyBhbmltYXRpb24KK0ZBSUwgJ29wYWNpdHknIGFuaW1hdGlvbiBhc3Nl
cnRfZXF1YWxzOiBvcGFjaXR5IGV4cGVjdGVkICIxIiBidXQgZ290ICIwLjUiCitGQUlMICdjb2xv
cicgKyAnb3BhY2l0eScgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IG9wYWNpdHkgZXhwZWN0ZWQg
IjEiIGJ1dCBnb3QgIjAuNSIKIGxpc3QgaXRlbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21hcmtl
ci1zdXBwb3J0ZWQtcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1
cHBvcnRlZC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBlMjBjZmE0NWYwMGYyYzNhODNi
YzczNGY4MjY2NTc3ZGZmMjNkNWRiLi44N2NjN2FlMjcxNTA3NzExMTIyZjBmNTZkNGY4ZThhZGJm
MWU2MDMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dApAQCAtMjIsMTkgKzIyLDE5IEBAIEZBSUwgUHJvcGVydHkgdW5pY29kZS1i
aWRpIHZhbHVlICdwbGFpbnRleHQnIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
CiBGQUlMIFByb3BlcnR5IGRpcmVjdGlvbiB2YWx1ZSAncnRsJyBpbiA6Om1hcmtlciBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAicnRsIiBidXQgZ290ICJsdHIiCiBGQUlMIFByb3BlcnR5IGNvbnRl
bnQgdmFsdWUgJyJmb28iJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiXCJm
b29cIiIgYnV0IGdvdCAiIgogRkFJTCBQcm9wZXJ0eSBhbmltYXRpb24gdmFsdWUgJzFzIGxpbmVh
ciAycyBpbmZpbml0ZSBhbHRlcm5hdGUgZm9yd2FyZHMgcGF1c2VkIGFuaW0nIGluIDo6bWFya2Vy
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxcyBsaW5lYXIgMnMgaW5maW5pdGUgYWx0ZXJuYXRl
IGZvcndhcmRzIHBhdXNlZCBhbmltIiBidXQgZ290ICIiCi1GQUlMIFByb3BlcnR5IGFuaW1hdGlv
bi1kZWxheSB2YWx1ZSAnMXMnIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIx
cyIgYnV0IGdvdCAiMHMiCi1GQUlMIFByb3BlcnR5IGFuaW1hdGlvbi1kaXJlY3Rpb24gdmFsdWUg
J2FsdGVybmF0ZScgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImFsdGVybmF0
ZSIgYnV0IGdvdCAibm9ybWFsIgotRkFJTCBQcm9wZXJ0eSBhbmltYXRpb24tZHVyYXRpb24gdmFs
dWUgJzJzJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMnMiIGJ1dCBnb3Qg
IjBzIgotRkFJTCBQcm9wZXJ0eSBhbmltYXRpb24tZmlsbC1tb2RlIHZhbHVlICdmb3J3YXJkcycg
aW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZvcndhcmRzIiBidXQgZ290ICJu
b25lIgotRkFJTCBQcm9wZXJ0eSBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50IHZhbHVlICdpbmZp
bml0ZScgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImluZmluaXRlIiBidXQg
Z290ICIxIgotRkFJTCBQcm9wZXJ0eSBhbmltYXRpb24tbmFtZSB2YWx1ZSAnYW5pbScgaW4gOjpt
YXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImFuaW0iIGJ1dCBnb3QgIm5vbmUiCi1GQUlM
IFByb3BlcnR5IGFuaW1hdGlvbi1wbGF5LXN0YXRlIHZhbHVlICdwYXVzZWQnIGluIDo6bWFya2Vy
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJwYXVzZWQiIGJ1dCBnb3QgInJ1bm5pbmciCi1GQUlM
IFByb3BlcnR5IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gdmFsdWUgJ2xpbmVhcicgaW4gOjpt
YXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImxpbmVhciIgYnV0IGdvdCAiZWFzZSIKLUZB
SUwgUHJvcGVydHkgdHJhbnNpdGlvbiB2YWx1ZSAnZGlzcGxheSAxcyBsaW5lYXIgMnMnIGluIDo6
bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJkaXNwbGF5IDFzIGxpbmVhciAycyIgYnV0
IGdvdCAiYWxsIDBzIGVhc2UgMHMiCi1GQUlMIFByb3BlcnR5IHRyYW5zaXRpb24tZGVsYXkgdmFs
dWUgJzFzJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMXMiIGJ1dCBnb3Qg
IjBzIgotRkFJTCBQcm9wZXJ0eSB0cmFuc2l0aW9uLWR1cmF0aW9uIHZhbHVlICcycycgaW4gOjpt
YXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjJzIiBidXQgZ290ICIwcyIKLUZBSUwgUHJv
cGVydHkgdHJhbnNpdGlvbi1wcm9wZXJ0eSB2YWx1ZSAnZGlzcGxheScgaW4gOjptYXJrZXIgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgImRpc3BsYXkiIGJ1dCBnb3QgImFsbCIKLUZBSUwgUHJvcGVy
dHkgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gdmFsdWUgJ2xpbmVhcicgaW4gOjptYXJrZXIg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImxpbmVhciIgYnV0IGdvdCAiZWFzZSIKK1BBU1MgUHJv
cGVydHkgYW5pbWF0aW9uLWRlbGF5IHZhbHVlICcxcycgaW4gOjptYXJrZXIKK1BBU1MgUHJvcGVy
dHkgYW5pbWF0aW9uLWRpcmVjdGlvbiB2YWx1ZSAnYWx0ZXJuYXRlJyBpbiA6Om1hcmtlcgorUEFT
UyBQcm9wZXJ0eSBhbmltYXRpb24tZHVyYXRpb24gdmFsdWUgJzJzJyBpbiA6Om1hcmtlcgorUEFT
UyBQcm9wZXJ0eSBhbmltYXRpb24tZmlsbC1tb2RlIHZhbHVlICdmb3J3YXJkcycgaW4gOjptYXJr
ZXIKK1BBU1MgUHJvcGVydHkgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCB2YWx1ZSAnaW5maW5p
dGUnIGluIDo6bWFya2VyCitQQVNTIFByb3BlcnR5IGFuaW1hdGlvbi1uYW1lIHZhbHVlICdhbmlt
JyBpbiA6Om1hcmtlcgorUEFTUyBQcm9wZXJ0eSBhbmltYXRpb24tcGxheS1zdGF0ZSB2YWx1ZSAn
cGF1c2VkJyBpbiA6Om1hcmtlcgorUEFTUyBQcm9wZXJ0eSBhbmltYXRpb24tdGltaW5nLWZ1bmN0
aW9uIHZhbHVlICdsaW5lYXInIGluIDo6bWFya2VyCitQQVNTIFByb3BlcnR5IHRyYW5zaXRpb24g
dmFsdWUgJ2Rpc3BsYXkgMXMgbGluZWFyIDJzJyBpbiA6Om1hcmtlcgorUEFTUyBQcm9wZXJ0eSB0
cmFuc2l0aW9uLWRlbGF5IHZhbHVlICcxcycgaW4gOjptYXJrZXIKK1BBU1MgUHJvcGVydHkgdHJh
bnNpdGlvbi1kdXJhdGlvbiB2YWx1ZSAnMnMnIGluIDo6bWFya2VyCitQQVNTIFByb3BlcnR5IHRy
YW5zaXRpb24tcHJvcGVydHkgdmFsdWUgJ2Rpc3BsYXknIGluIDo6bWFya2VyCitQQVNTIFByb3Bl
cnR5IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uIHZhbHVlICdsaW5lYXInIGluIDo6bWFya2Vy
CiBQQVNTIFByb3BlcnR5IGRpc3BsYXkgdmFsdWUgJ25vbmUnIGluIDo6bWFya2VyCiBQQVNTIFBy
b3BlcnR5IHBvc2l0aW9uIHZhbHVlICdhYnNvbHV0ZScgaW4gOjptYXJrZXIKIFBBU1MgUHJvcGVy
dHkgZmxvYXQgdmFsdWUgJ3JpZ2h0JyBpbiA6Om1hcmtlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5n
L21hcmtlci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVk
by9wYXJzaW5nL21hcmtlci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0
ZWQudHh0CmluZGV4IDg0YjljMTI2NjUyYzZhZjY1ZTM2ODBmMDkyMjQ1NWY0M2JhNzdkNTcuLmE0
ODJkMTkwZTVhNjg2NWU3MDQwZjQxM2VjNWQ1NmQwOTkzZWVkMmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFy
c2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRpZXMtaW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFuaW1hdGlv
bi1leHBlY3RlZC50eHQKQEAgLTEsMTIgKzEsMTIgQEAKIAotRkFJTCBBbmltYXRpb24gb2YgZm9u
dCBpbiA6Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZhbHVlICJub3JtYWwgbm9ybWFsIG5vcm1h
bCBub3JtYWwgMTZweC9ub3JtYWwgLXdlYmtpdC1zdGFuZGFyZCIgbm90IGluIGFycmF5IFsiaXRh
bGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHggQWhlbSIsICJpdGFsaWMgc21hbGwtY2Fw
cyA1MDAgZXhwYW5kZWQgMTVweC9ub3JtYWwgQWhlbSJdCitGQUlMIEFuaW1hdGlvbiBvZiBmb250
IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgIml0YWxpYyBub3JtYWwgNTAwIGV4
cGFuZGVkIDE1cHgvMzVweCAtd2Via2l0LXN0YW5kYXJkIiBub3QgaW4gYXJyYXkgWyJpdGFsaWMg
c21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwgIml0YWxpYyBzbWFsbC1jYXBzIDUw
MCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtZmFt
aWx5IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJBaGVtIiBidXQgZ290ICIt
d2Via2l0LXN0YW5kYXJkIgogRkFJTCBBbmltYXRpb24gb2YgZm9udC1mZWF0dXJlLXNldHRpbmdz
IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJcInNtY3BcIiIgYnV0IGdvdCAi
bm9ybWFsIgogRkFJTCBBbmltYXRpb24gb2YgZm9udC1rZXJuaW5nIGluIDo6bWFya2VyIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJub25lIiBidXQgZ290ICJhdXRvIgotRkFJTCBBbmltYXRpb24g
b2YgZm9udC1zaXplIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxNXB4IiBi
dXQgZ290ICIxNnB4IgorUEFTUyBBbmltYXRpb24gb2YgZm9udC1zaXplIGluIDo6bWFya2VyCiBG
QUlMIEFuaW1hdGlvbiBvZiBmb250LXNpemUtYWRqdXN0IGluIDo6bWFya2VyIGFzc2VydF90cnVl
OiBmb250LXNpemUtYWRqdXN0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNv
bXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIEFuaW1hdGlvbiBvZiBm
b250LXN0cmV0Y2ggaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2YWx1ZSAibm9ybWFsIiBu
b3QgaW4gYXJyYXkgWyJleHBhbmRlZCIsICIxMjUlIl0KLUZBSUwgQW5pbWF0aW9uIG9mIGZvbnQt
c3R5bGUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIml0YWxpYyIgYnV0IGdv
dCAibm9ybWFsIgorUEFTUyBBbmltYXRpb24gb2YgZm9udC1zdHJldGNoIGluIDo6bWFya2VyCitQ
QVNTIEFuaW1hdGlvbiBvZiBmb250LXN0eWxlIGluIDo6bWFya2VyCiBGQUlMIEFuaW1hdGlvbiBv
ZiBmb250LXN5bnRoZXNpcyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9u
ZSIgYnV0IGdvdCAic3R5bGUgd2VpZ2h0IHNtYWxsLWNhcHMiCiBGQUlMIEFuaW1hdGlvbiBvZiBm
b250LXZhcmlhbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNtYWxsLWNh
cHMiIGJ1dCBnb3QgInRhYnVsYXItbnVtcyIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFu
dC1jYXBzIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzbWFsbC1jYXBzIiBi
dXQgZ290ICJub3JtYWwiCkBAIC0xNCw3ICsxNCw3IEBAIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQt
dmFyaWFudC1lYXN0LWFzaWFuIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJm
CiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LXZhcmlhbnQtbGlnYXR1cmVzIGluIDo6bWFya2VyIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJoaXN0b3JpY2FsLWxpZ2F0dXJlcyIgYnV0IGdvdCAibm9y
bWFsIgogRkFJTCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50LW51bWVyaWMgaW4gOjptYXJrZXIg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNsYXNoZWQtemVybyIgYnV0IGdvdCAidGFidWxhci1u
dW1zIgogRkFJTCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50LXBvc2l0aW9uIGluIDo6bWFya2Vy
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdWIiIGJ1dCBnb3QgIm5vcm1hbCIKLUZBSUwgQW5p
bWF0aW9uIG9mIGZvbnQtd2VpZ2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICI1MDAiIGJ1dCBnb3QgIm5vcm1hbCIKK1BBU1MgQW5pbWF0aW9uIG9mIGZvbnQtd2VpZ2h0IGlu
IDo6bWFya2VyCiBGQUlMIEFuaW1hdGlvbiBvZiB3aGl0ZS1zcGFjZSBpbiA6Om1hcmtlciBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAibm93cmFwIiBidXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1h
dGlvbiBvZiBjb2xvciBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDUw
LCAxNTAsIDEwMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKIEZBSUwgQW5pbWF0aW9uIG9mIHRl
eHQtY29tYmluZS11cHJpZ2h0IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiB0ZXh0LWNvbWJpbmUt
dXByaWdodCBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHls
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpAQCAtMjgsMTQgKzI4LDE0IEBAIEZBSUwgQW5pbWF0
aW9uIG9mIGxpc3Qtc3R5bGUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm91
dHNpZGUgbm9uZSBkCiBQQVNTIEFuaW1hdGlvbiBvZiBsaXN0LXN0eWxlLWltYWdlIGluIDo6bWFy
a2VyCiBQQVNTIEFuaW1hdGlvbiBvZiBsaXN0LXN0eWxlLXBvc2l0aW9uIGluIDo6bWFya2VyCiBQ
QVNTIEFuaW1hdGlvbiBvZiBsaXN0LXN0eWxlLXR5cGUgaW4gOjptYXJrZXIKLVBBU1MgQW5pbWF0
aW9uIG9mIGxpbmUtaGVpZ2h0IGluIDo6bWFya2VyCi1GQUlMIFRyYW5zaXRpb24gb2YgZm9udCBp
biA6Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZhbHVlICJpdGFsaWMgc21hbGwtY2FwcyA5MDAg
dWx0cmEtZXhwYW5kZWQgMjVweC9ub3JtYWwgQWhlbSIgbm90IGluIGFycmF5IFsiaXRhbGljIHNt
YWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHggQWhlbSIsICJpdGFsaWMgc21hbGwtY2FwcyA1MDAg
ZXhwYW5kZWQgMTVweC9ub3JtYWwgQWhlbSJdCitGQUlMIEFuaW1hdGlvbiBvZiBsaW5lLWhlaWdo
dCBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9ybWFsIiBidXQgZ290ICIz
NXB4IgorRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5
OiB2YWx1ZSAiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvMzVweCBBaGVtIiBu
b3QgaW4gYXJyYXkgWyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwg
Iml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KIFBBU1Mg
VHJhbnNpdGlvbiBvZiBmb250LWZhbWlseSBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9m
IGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBpbiA6Om1hcmtlcgogRkFJTCBUcmFuc2l0aW9uIG9mIGZv
bnQta2VybmluZyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9uZSIgYnV0
IGdvdCAiYXV0byIKLUZBSUwgVHJhbnNpdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjI1cHgiCitQQVNTIFRyYW5zaXRp
b24gb2YgZm9udC1zaXplIGluIDo6bWFya2VyCiBGQUlMIFRyYW5zaXRpb24gb2YgZm9udC1zaXpl
LWFkanVzdCBpbiA6Om1hcmtlciBhc3NlcnRfdHJ1ZTogZm9udC1zaXplLWFkanVzdCBkb2Vzbid0
IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQotRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQtc3RyZXRjaCBpbiA6Om1hcmtlciBh
c3NlcnRfaW5fYXJyYXk6IHZhbHVlICJ1bHRyYS1leHBhbmRlZCIgbm90IGluIGFycmF5IFsiZXhw
YW5kZWQiLCAiMTI1JSJdCitQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1zdHJldGNoIGluIDo6bWFy
a2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1zdHlsZSBpbiA6Om1hcmtlcgogUEFTUyBUcmFu
c2l0aW9uIG9mIGZvbnQtc3ludGhlc2lzIGluIDo6bWFya2VyCiBQQVNTIFRyYW5zaXRpb24gb2Yg
Zm9udC12YXJpYW50IGluIDo6bWFya2VyCkBAIC00NCw5ICs0NCw5IEBAIFBBU1MgVHJhbnNpdGlv
biBvZiBmb250LXZhcmlhbnQtZWFzdC1hc2lhbiBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9u
IG9mIGZvbnQtdmFyaWFudC1saWdhdHVyZXMgaW4gOjptYXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBv
ZiBmb250LXZhcmlhbnQtbnVtZXJpYyBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9mIGZv
bnQtdmFyaWFudC1wb3NpdGlvbiBpbiA6Om1hcmtlcgotRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQt
d2VpZ2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICI1MDAiIGJ1dCBnb3Qg
IjkwMCIKK1BBU1MgVHJhbnNpdGlvbiBvZiBmb250LXdlaWdodCBpbiA6Om1hcmtlcgogRkFJTCBU
cmFuc2l0aW9uIG9mIHdoaXRlLXNwYWNlIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJub3dyYXAiIGJ1dCBnb3QgIm5vcm1hbCIKLUZBSUwgVHJhbnNpdGlvbiBvZiBjb2xvciBp
biA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDUwLCAxNTAsIDEwMCkiIGJ1
dCBnb3QgInJnYigxMDAsIDIwMCwgMCkiCitQQVNTIFRyYW5zaXRpb24gb2YgY29sb3IgaW4gOjpt
YXJrZXIKIEZBSUwgVHJhbnNpdGlvbiBvZiB0ZXh0LWNvbWJpbmUtdXByaWdodCBpbiA6Om1hcmtl
ciBhc3NlcnRfdHJ1ZTogdGV4dC1jb21iaW5lLXVwcmlnaHQgZG9lc24ndCBzZWVtIHRvIGJlIHN1
cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZB
SUwgVHJhbnNpdGlvbiBvZiB1bmljb2RlLWJpZGkgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInBsYWludGV4dCIgYnV0IGdvdCAibm9ybWFsIgogRkFJTCBUcmFuc2l0aW9uIG9m
IGRpcmVjdGlvbiBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicnRsIiBidXQg
Z290ICJsdHIiCkBAIC01OCw1ICs1OCw1IEBAIEZBSUwgVHJhbnNpdGlvbiBvZiBsaXN0LXN0eWxl
IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvdXRzaWRlIG5vbmUKIFBBU1Mg
VHJhbnNpdGlvbiBvZiBsaXN0LXN0eWxlLWltYWdlIGluIDo6bWFya2VyCiBQQVNTIFRyYW5zaXRp
b24gb2YgbGlzdC1zdHlsZS1wb3NpdGlvbiBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9m
IGxpc3Qtc3R5bGUtdHlwZSBpbiA6Om1hcmtlcgotUEFTUyBUcmFuc2l0aW9uIG9mIGxpbmUtaGVp
Z2h0IGluIDo6bWFya2VyCitGQUlMIFRyYW5zaXRpb24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJr
ZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vcm1hbCIgYnV0IGdvdCAiMzVweCIKIHRhcmdl
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKaW5kZXggMDk4NDFjZmY0YWNkNGM3OGZkMjE4YWYzZDkxOWY5Njc3NTlhYTBiYi4u
MGMzYzNmMzgzZjE5ZjE3ZTJjZWFjMmNiNWY3NGJjYTNkMzZlZTJkOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRp
b25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNp
dGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC00
LDYgKzQsNiBAQCBQQVNTIGdldEFuaW1hdGlvbnMgZm9yIENTUyBUcmFuc2l0aW9ucwogUEFTUyBn
ZXRBbmltYXRpb25zIGZvciBDU1MgVHJhbnNpdGlvbnMgc29ydCBieSBwcm9wZXJ0eSBuYW1lCiBQ
QVNTIGdldEFuaW1hdGlvbnMgZm9yIENTUyBUcmFuc2l0aW9ucyBzb3J0IGJ5IHRyYW5zaXRpb24g
Z2VuZXJhdGlvbgogUEFTUyBDU1MgVHJhbnNpdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVt
ZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcKLUZBSUwgQ1NTIFRy
YW5zaXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVj
dCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikgYXNzZXJ0X2VxdWFsczogQ1NTIHRyYW5z
aXRpb24gb24gYm90aCBwc2V1ZG8tZWxlbWVudHMgYW5kIGVsZW1lbnRzIGFyZSByZXR1cm5lZCBl
eHBlY3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBDU1MgVHJhbnNpdGlvbnMgdGFyZ2V0dGluZyAocHNl
dWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6
bWFya2VyKQogUEFTUyBUcmFuc2l0aW9ucyBhcmUgbm90IHJldHVybmVkIGFmdGVyIHRoZXkgaGF2
ZSBmaW5pc2hlZAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414007</attachid>
            <date>2020-11-12 23:55:30 -0800</date>
            <delta_ts>2020-11-13 07:13:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201113085528.patch</filename>
            <type>text/plain</type>
            <size>46819</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE3OTEwYWViYjZhZWVl
NGM5NjRmOGUyNDllNjAxZjNkNjJlODgzNi4uNTY1OTFlNWM0MDVjY2ZjZjIwMTVmYWE2ZTI1NTZj
YTRhYzRjY2VhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIwLTExLTEzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBjc3MvaHRtbC5j
c3M6IFNldCBtb3JlIHVzZXItYWdlbnQgc3R5bGVzIHVzaW5nIHRoZSB1c2VyLWFnZW50IHN0eWxl
c2hlZXQgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyBpbiBSZW5kZXJMaXN0SXRlbTo6Y29tcHV0ZU1h
cmtlclN0eWxlKCkKKyAgICAgICAgdG8gYXZvaWQgcmVncmVzc2lvbnMgaW4gY3NzL2Nzcy1wc2V1
ZG8vbWFya2VyLXJldmVydGVkLXN0eWxlcy5odG1sIHdoZXJlIHRoZSBgcmV2ZXJ0YCB2YWx1ZSB3
b3VsZCBub3Qgd29yayB3aXRoIGZvbnQtdmFyaWFudC1udW1lcmljLgorICAgICAgICAqIGRvbS9Q
c2V1ZG9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBzZXVkb0VsZW1lbnQ6OnJlbmRl
cmVySXNOZWVkZWQpOiBSZWZhY3RvciB3aGF0IHdhcyBvcmlnaW5hbGx5IGlzVGFyZ2V0ZWRCeUtl
eWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpCisgICAgICAgIGludG8gdGhpcyBt
ZXRob2Qgc2luY2UgaXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVt
ZW50KCkgd2FzIHJlbW92ZWQuCisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50Ojppc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBSZW1vdmUgdGhp
cyBtZXRob2QgZnJvbSBQc2V1ZG9FbGVtZW50IHNpbmNlCisgICAgICAgIHBzZXVkby1lbGVtZW50
cyB0aGF0IGFyZSBub3QgcmVwcmVzZW50ZWQgYnkgYSBQc2V1ZG9FbGVtZW50IG5lZWQgc2ltaWxh
ciBsb2dpYywgd2hpY2ggaXMgbm93IGF2YWlsYWJsZSB0aHJvdWdoIHRoZSBzdGF0aWMKKyAgICAg
ICAgZnVuY3Rpb24gZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNl
dWRvRWxlbWVudCgpIGluIFJlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAuCisg
ICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGlzdEl0ZW0uY3BwOgorICAgICAgICAoUmVuZGVyTGlzdEl0ZW06OmNvbXB1dGVNYXJrZXJTdHls
ZSBjb25zdCk6IFJlbW92ZSB0aGUgZXhwbGljaXQgc2V0dGluZyBvZiB0aGUgZm9udC12YXJpYW50
LW51bWVyaWMgc28gdGhhdCB3ZSBtYXkgcmVseSBvbgorICAgICAgICB0aGUgdXNlciBzdHlsZSBz
aGVldCBpbnN0ZWFkLgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlUmVu
ZGVyVHJlZSk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxlbWVudFVwZGF0ZXMgaW5zdGVhZCBv
ZiBqdXN0IHRoZSBFbGVtZW50VXBkYXRlIHRvCisgICAgICAgIHVwZGF0ZUVsZW1lbnRSZW5kZXJl
cigpIHN1Y2ggdGhhdCBpdCBtYXkgcHJvY2VzcyB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVz
IG1lbWJlci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVCZWZv
cmVEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxlbWVudFVwZGF0ZXMgYW5k
IGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVudCgpIHN1Y2ggdGhhdCBp
dCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyIGluIGNvbWJpbmF0
aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWluZSB3aGF0IEVsZW1lbnRV
cGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0
ZUFmdGVyRGVzY2VuZGFudHMpOiBQYXNzIHRoZSBlbnRpcmUgc2V0IG9mIEVsZW1lbnRVcGRhdGVz
IGFuZCBhIFBzZXVkb0lkIHRvCisgICAgICAgIHVwZGF0ZVBzZXVkb0VsZW1lbnQoKSBzdWNoIHRo
YXQgaXQgbWF5IHVzZSB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBjb21i
aW5hdGlvbiB3aXRoIHRoZSBQc2V1ZG9JZAorICAgICAgICB0byBkZXRlcm1pbmUgd2hhdCBFbGVt
ZW50VXBkYXRlIHRvIHVzZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjp1
cGRhdGVFbGVtZW50UmVuZGVyZXIpOiBVc2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBt
ZW1iZXIgaW4gRWxlbWVudFVwZGF0ZXMgdG8gc2V0IHRoZQorICAgICAgICBwc2V1ZG8tZWxlbWVu
dCBzdHlsZXMuCisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJh
dGVkQ29udGVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50SXNUYXJnZXRlZEJ5S2V5
ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogTmV3IHN0YXRpYyBtZXRob2QgbWVh
bnQgdG8gcmVwbGFjZSB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9FbGVtZW50Ojppc1Rhcmdl
dGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSBzdWNoIHRoYXQgd2Ug
bWF5IHVzZSB0aGlzIG1ldGhvZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKKyAgICAgICAgdGhlIHBz
ZXVkby1lbGVtZW50IGlzIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQuCisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVDb250ZW50UmVuZGVyZXJzKTogVXNlIGVsZW1lbnRJc1RhcmdldGVkQnlL
ZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSBpbnN0ZWFkIG9mIHRoZSByZW1v
dmVkCisgICAgICAgIFBzZXVkb0VsZW1lbnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0
ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQpOiBMb29rIHVwIGFsbCBF
bGVtZW50VXBkYXRlIGZvciB0aGUgcHJvdmlkZWQgUHNldWRvSWQKKyAgICAgICAgaW4gdGhlIG5l
dyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIgaW4gRWxlbWVudFVwZGF0ZXMgaW4gb3JkZXIg
dG8gZGV0ZXJtaW5lIHdoYXQgRWxlbWVudFVwZGF0ZSB0byBwcm9jZXNzLiBBbHNvLCB1c2UKKyAg
ICAgICAgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxl
bWVudCgpIGluc3RlYWQgb2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNU
YXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1
ZG9FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0
ZXJHZW5lcmF0ZWRDb250ZW50Lmg6CisgICAgICAgICogc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjppc1ZhbGlkTWFya2VyU3R5bGVQcm9wZXJ0eSk6
IEFsbG93IENTUyBBbmltYXRpb25zIGFuZCBUcmFuc2l0aW9ucyBwcm9wZXJ0aWVzIG9uIDo6bWFy
a2VyLgorICAgICAgICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KTogUmVzb2x2ZSBhbnkg
cHVibGljIHBzZXVkby1lbGVtZW50IGluc3RlYWQgb2YganVzdCA6OmJlZm9yZSBhbmQgOjphZnRl
cgorICAgICAgICBhbmQgc2F2ZSB0aG9zZSBpbiB0aGUgbmV3IEVsZW1lbnRVcGRhdGVzIHBzZXVk
b0VsZW1lbnRVcGRhdGVzIG1lbWJlci4gCisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJl
c29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUpOiBSZXNvbHZlIGFueSBwc2V1ZG8tZWxlbWVudCBz
ZXQgb24gYW4gZWxlbWVudCB0aGF0IGVpdGhlciBoYXMgYW5pbWF0aW9ucworICAgICAgICBzZXQg
b24gaXQsIGVpdGhlciBzZXQgYnkgV2ViIEFuaW1hdGlvbnMsIGFzIHNlZW4gb24gdGhlIEtleWZy
YW1lRWZmZWN0U3RhY2ssIG9yIHlldCB0byBiZSBhcHBsaWVkIHRocm91Z2ggYSBDU1MgQW5pbWF0
aW9uIG9yCisgICAgICAgIENTUyBUcmFuc2l0aW9uLCBhcyBzZWVuIG9uIHRoZSBSZW5kZXJTdHls
ZS4KKyAgICAgICAgKiBzdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oOgorICAgICAgICAqIHN0eWxl
L1N0eWxlVXBkYXRlLmg6IEFkZCBhIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIgb24g
RWxlbWVudFVwZGF0ZXMuCisKIDIwMjAtMTEtMTEgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbY3NzLWdyaWRdIFBlcmNlbnRhZ2UgaGVpZ2h0IG9uIHJlcGxhY2VkIGl0
ZW0gd2l0aCBzY3JvbGxiYXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZl
Y3QuY3BwCmluZGV4IDllMTgyY2M4OWZmMGQ5MTY5YzQwNzNmMDM5NGJmMGQxMmI3MDdjNWMuLmMy
ZjU5YjYxZjVkNThmMTY0NDg4YzczMzMwYzFiOThjOWFlYjlhMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApAQCAtNzIsMTQgKzcyLDEyIEBAIHN0YXRp
YyBFbGVtZW50KiBlbGVtZW50T3JQc2V1ZG9FbGVtZW50Rm9yU3R5bGVhYmxlKGNvbnN0IE9wdGlv
bmFsPGNvbnN0IFN0eWxlYWJsCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgc3dpdGNo
IChzdHlsZWFibGUtPnBzZXVkb0lkKSB7Ci0gICAgY2FzZSBQc2V1ZG9JZDo6Tm9uZToKLSAgICAg
ICAgcmV0dXJuICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3Jl
OgogICAgICAgICByZXR1cm4gc3R5bGVhYmxlLT5lbGVtZW50LmJlZm9yZVBzZXVkb0VsZW1lbnQo
KTsKICAgICBjYXNlIFBzZXVkb0lkOjpBZnRlcjoKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+
ZWxlbWVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuICZzdHlsZWFibGUtPmVsZW1lbnQ7CiAgICAgfQog
fQogCkBAIC0xMTQ3LDE3ICsxMTQ1LDE1IEBAIGJvb2wgS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldHNQ
c2V1ZG9FbGVtZW50KCkgY29uc3QKIAogRWxlbWVudCogS2V5ZnJhbWVFZmZlY3Q6OnRhcmdldEVs
ZW1lbnRPclBzZXVkb0VsZW1lbnQoKSBjb25zdAogewotICAgIGlmICghdGFyZ2V0c1BzZXVkb0Vs
ZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LmdldCgpOworICAgIGlmIChtX3Rhcmdl
dCkgeworICAgICAgICBpZiAobV9wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQorICAgICAg
ICAgICAgcmV0dXJuIG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7CiAKLSAgICBpZiAo
bV9wc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQotICAgICAgICByZXR1cm4gbV90YXJnZXQt
PmJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKLQotICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lk
OjpBZnRlcikKLSAgICAgICAgcmV0dXJuIG1fdGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsK
KyAgICAgICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkFmdGVyKQorICAgICAgICAgICAg
cmV0dXJuIG1fdGFyZ2V0LT5hZnRlclBzZXVkb0VsZW1lbnQoKTsKKyAgICB9CiAKLSAgICAvLyBX
ZSBvbmx5IHN1cHBvcnQgdGFyZ2V0aW5nIDo6YmVmb3JlIGFuZCA6OmFmdGVyIHBzZXVkby1lbGVt
ZW50cyBhdCB0aGUgbW9tZW50LgotICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBtX3Rh
cmdldC5nZXQoKTsKIH0KIAogdm9pZCBLZXlmcmFtZUVmZmVjdDo6c2V0VGFyZ2V0KFJlZlB0cjxF
bGVtZW50PiYmIG5ld1RhcmdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1s
LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCA5YTk3OTYwYTNkODAxMWQx
ZTMzNGIzYWY1MzAyNDkyMWJmNzMyYTMxLi4yMmIxZDQ3ZWEwNTdkZTM4YzExMGE2ODgxMWU2NDE5
OTJkYjg4Y2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBAIC0zMDIsNyArMzAyLDEwIEBAIGxpIHsKICAg
ICB0ZXh0LWFsaWduOiAtd2Via2l0LW1hdGNoLXBhcmVudDsKIH0KIAotOjptYXJrZXIgeworOjpt
YXJrZXIsIDo6YmVmb3JlOjptYXJrZXIsIDo6YWZ0ZXI6Om1hcmtlciB7CisgICAgdW5pY29kZS1i
aWRpOiBpc29sYXRlOworICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7Cisg
ICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCmluZGV4IDcxZGMzN2RmZjFjOGEyMzI5ZjI1NmVi
NzY5NDYzZGIxNmEwMDA3NDUuLjM5YTA0MjlhMzNkMTQ5MTdlYzVmZTk3MWMwMjE0NDVjYzY4ZDlj
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAKQEAgLTgzLDExICs4Myw5IEBA
IHZvaWQgUHNldWRvRWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCgpCiAKIGJvb2wgUHNldWRvRWxl
bWVudDo6cmVuZGVyZXJJc05lZWRlZChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCiB7Ci0gICAg
cmV0dXJuIHBzZXVkb0VsZW1lbnRSZW5kZXJlcklzTmVlZGVkKCZzdHlsZSkgfHwgaXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7Ci19CisgICAgaWYgKHBz
ZXVkb0VsZW1lbnRSZW5kZXJlcklzTmVlZGVkKCZzdHlsZSkpCisgICAgICAgIHJldHVybiB0cnVl
OwogCi1ib29sIFBzZXVkb0VsZW1lbnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWly
aW5nUHNldWRvRWxlbWVudCgpCi17CiAgICAgaWYgKG1faG9zdEVsZW1lbnQpIHsKICAgICAgICAg
aWYgKGF1dG8qIHN0YWNrID0gbV9ob3N0RWxlbWVudC0+a2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1
ZG9JZCgpKSkKICAgICAgICAgICAgIHJldHVybiBzdGFjay0+cmVxdWlyZXNQc2V1ZG9FbGVtZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuaAppbmRleCA1ZDlhZjg1MTE2NGNmN2M3NTVi
ZDc5ZGVmZjMyYjMxYmMwN2RmMzM5Li4yZDJhMGIxNThjZTAxNmI1MTA1NTFjYmZhODkwZDIxNGNm
YjI3YjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKQEAgLTQxLDcgKzQxLDYgQEAg
cHVibGljOgogICAgIHZvaWQgY2xlYXJIb3N0RWxlbWVudCgpOwogCiAgICAgYm9vbCByZW5kZXJl
cklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc1Rhcmdl
dGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKTsKIAogICAgIGJvb2wg
Y2FuU3RhcnRTZWxlY3Rpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgY2FuQ29udGFpblJhbmdlRW5kUG9pbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJ
dGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKaW5k
ZXggMWI4OWYzMWFkZWY5NDBhMTAzOGNlODNhMDRmYjdmYzkwOTkzMWE1My4uMTZlMjJhZGZhYTkx
NjIxMzE3MGIzOTM4ODZiNzRiMDZmZGJmMGRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEl0ZW0uY3BwCkBAIC02OCw3ICs2OCw2IEBAIFJlbmRlclN0eWxlIFJlbmRl
ckxpc3RJdGVtOjpjb21wdXRlTWFya2VyU3R5bGUoKSBjb25zdAogICAgIC8vIGFwcGx5IHRvIGFs
bCBlbGVtZW50cy4KICAgICBSZW5kZXJTdHlsZSBwYXJlbnRTdHlsZSA9IFJlbmRlclN0eWxlOjpj
bG9uZShzdHlsZSgpKTsKICAgICBhdXRvIGZvbnREZXNjcmlwdGlvbiA9IHN0eWxlKCkuZm9udERl
c2NyaXB0aW9uKCk7Ci0gICAgZm9udERlc2NyaXB0aW9uLnNldFZhcmlhbnROdW1lcmljU3BhY2lu
ZyhGb250VmFyaWFudE51bWVyaWNTcGFjaW5nOjpUYWJ1bGFyTnVtYmVycyk7CiAgICAgcGFyZW50
U3R5bGUuc2V0Rm9udERlc2NyaXB0aW9uKFdURk1vdmUoZm9udERlc2NyaXB0aW9uKSk7CiAgICAg
cGFyZW50U3R5bGUuZm9udENhc2NhZGUoKS51cGRhdGUoJmRvY3VtZW50KCkuZm9udFNlbGVjdG9y
KCkpOwogICAgIGlmIChhdXRvIG1hcmtlclN0eWxlID0gZ2V0Q2FjaGVkUHNldWRvU3R5bGUoUHNl
dWRvSWQ6Ok1hcmtlciwgJnBhcmVudFN0eWxlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDAyOGQ2MGFh
YTU1ZmJiNjFkMTRhZTFkNTRmODJlYzYzN2JjOWNlMjYuLmMyMWU5ZWE5ZTMzMGRjYjg3NWUxZDA2
YzUyYjExMzdiZDA3MDI3NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZv
aWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVyTm9kZSYgcm9v
dCkKICAgICAgICAgfQogCiAgICAgICAgIGlmIChlbGVtZW50VXBkYXRlcykKLSAgICAgICAgICAg
IHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRlcy0+dXBkYXRlKTsK
KyAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihlbGVtZW50LCBlbGVtZW50VXBkYXRl
cyk7CiAKICAgICAgICAgc3RvcmVQcmV2aW91c1JlbmRlcmVyKGVsZW1lbnQpOwogCkBAIC0yNTEs
MTMgKzI1MSwxMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpwb3BQYXJlbnRzVG9EZXB0aCh1
bnNpZ25lZCBkZXB0aCkKIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUJlZm9yZURlc2Nl
bmRhbnRzKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBk
YXRlcykKIHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVw
ZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YmVmb3JlUHNldWRvRWxlbWVudFVw
ZGF0ZSwgUHNldWRvSWQ6OkJlZm9yZSk7CisgICAgICAgIGdlbmVyYXRlZENvbnRlbnQoKS51cGRh
dGVQc2V1ZG9FbGVtZW50KGVsZW1lbnQsIHVwZGF0ZXMsIFBzZXVkb0lkOjpCZWZvcmUpOwogfQog
CiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRzKEVsZW1lbnQm
IGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBkYXRlcykKIHsKICAgICBp
ZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1l
bnQoZWxlbWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6
QWZ0ZXIpOworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChl
bGVtZW50LCB1cGRhdGVzLCBQc2V1ZG9JZDo6QWZ0ZXIpOwogCiAgICAgYXV0byogcmVuZGVyZXIg
PSBlbGVtZW50LnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlcikKQEAgLTI5NywxMyArMjk3
LDI1IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZVJlbmRlcmVyU3R5bGUoUmVuZGVy
RWxlbWVudCYgcmVuZGVyZXIsIFJlbmRlclN0eWxlCiAgICAgbV9idWlsZGVyLm5vcm1hbGl6ZVRy
ZWVBZnRlclN0eWxlQ2hhbmdlKHJlbmRlcmVyLCBvbGRTdHlsZSk7CiB9CiAKLXZvaWQgUmVuZGVy
VHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBTdHlsZTo6RWxlbWVudFVwZGF0ZSYgdXBkYXRlKQordm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVt
ZW50VXBkYXRlcyogdXBkYXRlcykKIHsKKyAgICBBU1NFUlQodXBkYXRlcyk7CisKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVDaGFuZ2VT
Y29wZSBvYnNlcnZpbmdTY29wZShtX2RvY3VtZW50LCBlbGVtZW50KTsKICNlbmRpZgogCi0gICAg
Ym9vbCBzaG91bGRUZWFyRG93blJlbmRlcmVycyA9IHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNo
YW5nZTo6UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVyZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3Bs
YXlDb250ZW50cygpKTsKKyAgICBhdXRvJiBlbGVtZW50VXBkYXRlID0gdXBkYXRlcy0+dXBkYXRl
OworICAgIGF1dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpl
bGVtZW50VXBkYXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLT5wc2V1
ZG9FbGVtZW50VXBkYXRlcykgeworICAgICAgICBhdXRvIHBzZXVkb0lkID0gaXQua2V5OworICAg
ICAgICBpZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSB8fCBwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QWZ0ZXIpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgZWxlbWVudFVwZGF0
ZVN0eWxlLT5hZGRDYWNoZWRQc2V1ZG9TdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKml0LnZh
bHVlLnN0eWxlKSk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRUZWFyRG93blJlbmRlcmVycyA9
IGVsZW1lbnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJlbmRlcmVyICYmIChlbGVt
ZW50LnJlbmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgaWYg
KHNob3VsZFRlYXJEb3duUmVuZGVyZXJzKSB7CiAgICAgICAgIGlmICghZWxlbWVudC5yZW5kZXJl
cigpKSB7CiAgICAgICAgICAgICAvLyBXZSBtYXkgYmUgdGVhcmluZyBkb3duIGEgZGVzY2VuZGFu
dCByZW5kZXJlciBjYWNoZWQgaW4gcmVuZGVyVHJlZVBvc2l0aW9uLgpAQCAtMzExLDE1ICszMjMs
MTUgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgfQogCiAgICAgICAgIC8vIGRp
c3BsYXk6bm9uZSBjYW5jZWxzIGFuaW1hdGlvbnMuCi0gICAgICAgIGF1dG8gdGVhcmRvd25UeXBl
ID0gdXBkYXRlLnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93
blR5cGU6OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6
UmVuZGVyZXJVcGRhdGU7CisgICAgICAgIGF1dG8gdGVhcmRvd25UeXBlID0gZWxlbWVudFVwZGF0
ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lID8gVGVhcmRvd25UeXBlOjpS
ZW5kZXJlclVwZGF0ZUNhbmNlbGluZ0FuaW1hdGlvbnMgOiBUZWFyZG93blR5cGU6OlJlbmRlcmVy
VXBkYXRlOwogICAgICAgICB0ZWFyRG93blJlbmRlcmVycyhlbGVtZW50LCB0ZWFyZG93blR5cGUs
IG1fYnVpbGRlcik7CiAKICAgICAgICAgcmVuZGVyaW5nUGFyZW50KCkuZGlkQ3JlYXRlT3JEZXN0
cm95Q2hpbGRSZW5kZXJlciA9IHRydWU7CiAgICAgfQogCi0gICAgYm9vbCBoYXNEaXNwbGF5Q29u
dGVudHMgPSB1cGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Q29udGVudHM7
CisgICAgYm9vbCBoYXNEaXNwbGF5Q29udGVudHMgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5kaXNw
bGF5KCkgPT0gRGlzcGxheVR5cGU6OkNvbnRlbnRzOwogICAgIGlmIChoYXNEaXNwbGF5Q29udGVu
dHMpCi0gICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNTdHlsZShSZW5kZXJTdHls
ZTo6Y2xvbmVQdHIoKnVwZGF0ZS5zdHlsZSkpOworICAgICAgICBlbGVtZW50LnN0b3JlRGlzcGxh
eUNvbnRlbnRzU3R5bGUoV1RGTW92ZShlbGVtZW50VXBkYXRlU3R5bGUpKTsKICAgICBlbHNlCiAg
ICAgICAgIGVsZW1lbnQucmVzZXRDb21wdXRlZFN0eWxlKCk7CiAKQEAgLTMyNyw3ICszMzksNyBA
QCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYg
ZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZQogICAgIGlmIChzaG91bGRDcmVhdGVOZXdSZW5kZXJl
cikgewogICAgICAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3Mo
KSkKICAgICAgICAgICAgIGVsZW1lbnQud2lsbEF0dGFjaFJlbmRlcmVycygpOwotICAgICAgICBj
cmVhdGVSZW5kZXJlcihlbGVtZW50LCBSZW5kZXJTdHlsZTo6Y2xvbmUoKnVwZGF0ZS5zdHlsZSkp
OworICAgICAgICBjcmVhdGVSZW5kZXJlcihlbGVtZW50LCBXVEZNb3ZlKCplbGVtZW50VXBkYXRl
U3R5bGUpKTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lD
aGlsZFJlbmRlcmVyID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuOwpAQCAtMzM3LDIwICszNDksMjAg
QEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQm
IGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICAgICAgcmV0dXJuOwogICAgIGF1dG8mIHJl
bmRlcmVyID0gKmVsZW1lbnQucmVuZGVyZXIoKTsKIAotICAgIGlmICh1cGRhdGUucmVjb21wb3Np
dGVMYXllcikgewotICAgICAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJT
dHlsZTo6Y2xvbmUoKnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6UmVjb21wb3NpdGVM
YXllcik7CisgICAgaWYgKGVsZW1lbnRVcGRhdGUucmVjb21wb3NpdGVMYXllcikgeworICAgICAg
ICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5
bGUpLCBTdHlsZURpZmZlcmVuY2U6OlJlY29tcG9zaXRlTGF5ZXIpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkg
ewotICAgICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIHVwZGF0
ZS5zdHlsZS5nZXQoKSkpIHsKLSAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVy
ZXIsIFJlbmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpF
cXVhbCk7CisgICAgaWYgKGVsZW1lbnRVcGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5v
bmUpIHsKKyAgICAgICAgaWYgKHBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQoJnJlbmRlcmVyLCBl
bGVtZW50VXBkYXRlU3R5bGUuZ2V0KCkpKSB7CisgICAgICAgICAgICB1cGRhdGVSZW5kZXJlclN0
eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUpLCBTdHlsZURpZmZlcmVu
Y2U6OkVxdWFsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVyU3R5
bGU6OmNsb25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAgICB1
cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBXVEZNb3ZlKCplbGVtZW50VXBkYXRlU3R5bGUp
LCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKIH0KIAogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
Y3JlYXRlUmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyLmgKaW5kZXggMjM0MDM0YzgzMzE3Y2E2MTg3ZTFiZWJhYjdjZTE3MGYxZDc0NTJjYi4uODcw
Mjk1MDc1NWFhMTQ3ZjNmZTA5NWU3NGU5ZDQ1NmQ5Y2U0YjA4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmgKQEAgLTU4
LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVJlbmRlclRyZWUoQ29udGFpbmVy
Tm9kZSYgcm9vdCk7CiAgICAgdm9pZCB1cGRhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNvbnN0IFN0
eWxlOjpUZXh0VXBkYXRlKik7CiAgICAgdm9pZCBjcmVhdGVUZXh0UmVuZGVyZXIoVGV4dCYsIGNv
bnN0IFN0eWxlOjpUZXh0VXBkYXRlKik7Ci0gICAgdm9pZCB1cGRhdGVFbGVtZW50UmVuZGVyZXIo
RWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlJik7CisgICAgdm9pZCB1cGRhdGVF
bGVtZW50UmVuZGVyZXIoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyopOwog
ICAgIHZvaWQgdXBkYXRlUmVuZGVyZXJTdHlsZShSZW5kZXJFbGVtZW50JiwgUmVuZGVyU3R5bGUm
JiwgU3R5bGVEaWZmZXJlbmNlKTsKICAgICB2b2lkIGNyZWF0ZVJlbmRlcmVyKEVsZW1lbnQmLCBS
ZW5kZXJTdHlsZSYmKTsKICAgICB2b2lkIHVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKEVsZW1lbnQm
LCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
R2VuZXJhdGVkQ29udGVudC5jcHAKaW5kZXggMGU5YzQ5YTcyY2U0YThmZGY2OGE0YzI3YjZkZTQw
Zjk2MTFmMmY5OC4uZTMxZjdlMGRkZGRiNDJkMjgwYTllYjk5Y2UxZWE1OTljZTIxN2ViMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRh
dGVyR2VuZXJhdGVkQ29udGVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAKQEAgLTY5LDcgKzY5
LDIwIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVF1
b3Rlc1VwVG8oUmVuZGVyUXVvdGUqIGxhc3RRdW90CiAgICAgQVNTRVJUKCFsYXN0UXVvdGUpOwog
fQogCi1zdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVy
JiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QgUmVuZGVyU3R5
bGUmIHN0eWxlKQorc3RhdGljIGJvb2wgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0
UmVxdWlyaW5nUHNldWRvRWxlbWVudChjb25zdCBFbGVtZW50KiBlbGVtZW50LCBQc2V1ZG9JZCBw
c2V1ZG9JZCkKK3sKKyAgICBpZiAoaXM8UHNldWRvRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAg
IHJldHVybiBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9F
bGVtZW50KGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KCplbGVtZW50KS5ob3N0RWxlbWVudCgpLCBw
c2V1ZG9JZCk7CisKKyAgICBpZiAoZWxlbWVudCkgeworICAgICAgICBpZiAoYXV0byogc3RhY2sg
PSBlbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKSkKKyAgICAgICAgICAgIHJl
dHVybiBzdGFjay0+cmVxdWlyZXNQc2V1ZG9FbGVtZW50KCk7CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCitzdGF0aWMgdm9pZCBjcmVhdGVDb250ZW50UmVuZGVyZXJzKFJlbmRlclRy
ZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKICAgICBpZiAoYXV0byog
Y29udGVudERhdGEgPSBzdHlsZS5jb250ZW50RGF0YSgpKSB7CiAgICAgICAgIGZvciAoY29uc3Qg
Q29udGVudERhdGEqIGNvbnRlbnQgPSBjb250ZW50RGF0YTsgY29udGVudDsgY29udGVudCA9IGNv
bnRlbnQtPm5leHQoKSkgewpAQCAtODAsNyArOTMsNyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVDb250
ZW50UmVuZGVyZXJzKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyLCBSZW5kZXJFbGVtZW50JiBw
cwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRoZSBvbmx5IHZhbGlkIHNjZW5hcmlvIHdoZXJl
IHRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aXRob3V0IHRoZSAiY29udGVudCIgcHJvcGVydHkgYmVp
bmcgc2V0CiAgICAgICAgIC8vIGlzIHRoZSBjYXNlIHdoZXJlIGEgcHNldWRvLWVsZW1lbnQgaGFz
IGFuaW1hdGlvbnMgc2V0IG9uIGl0IHZpYSB0aGUgV2ViIEFuaW1hdGlvbnMgQVBJLgotICAgICAg
ICBBU1NFUlQoaXM8UHNldWRvRWxlbWVudD4ocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKSAmJiBk
b3duY2FzdDxQc2V1ZG9FbGVtZW50PigqcHNldWRvUmVuZGVyZXIuZWxlbWVudCgpKS5pc1Rhcmdl
dGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSk7CisgICAgICAgIEFT
U0VSVF9VTlVTRUQocHNldWRvSWQsIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJl
cXVpcmluZ1BzZXVkb0VsZW1lbnQocHNldWRvUmVuZGVyZXIuZWxlbWVudCgpLCBwc2V1ZG9JZCkp
OwogICAgIH0KIH0KIApAQCAtOTQsMTQgKzEwNywyMyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVTdHls
ZUZvckNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyRWxlbWVudCYgcHNldWRvUmVuZGVyZXIsIGNvbnN0
CiAgICAgfQogfQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1
cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsIGNvbnN0IE9wdGlvbmFsPFN0eWxl
OjpFbGVtZW50VXBkYXRlPiYgdXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK3ZvaWQgUmVuZGVy
VHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVu
dCYgY3VycmVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiB1cGRhdGVzLCBQc2V1ZG9J
ZCBwc2V1ZG9JZCkKIHsKICAgICBQc2V1ZG9FbGVtZW50KiBwc2V1ZG9FbGVtZW50ID0gcHNldWRv
SWQgPT0gUHNldWRvSWQ6OkJlZm9yZSA/IGN1cnJlbnQuYmVmb3JlUHNldWRvRWxlbWVudCgpIDog
Y3VycmVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9
IHBzZXVkb0VsZW1lbnQgPyBwc2V1ZG9FbGVtZW50LT5yZW5kZXJlcigpIDogbnVsbHB0cikKICAg
ICAgICAgbV91cGRhdGVyLnJlbmRlclRyZWVQb3NpdGlvbigpLmludmFsaWRhdGVOZXh0U2libGlu
ZygqcmVuZGVyZXIpOwogCi0gICAgaWYgKCFuZWVkc1BzZXVkb0VsZW1lbnQodXBkYXRlKSAmJiAo
IXBzZXVkb0VsZW1lbnQgfHwgIXBzZXVkb0VsZW1lbnQtPmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZm
ZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpKSkgeworICAgIGF1dG8qIHVwZGF0ZSA9IFt1cGRh
dGVzLCBwc2V1ZG9JZF0oKSAtPiBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZSogeworICAgICAg
ICBpZiAodXBkYXRlcykgeworICAgICAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMtPnBz
ZXVkb0VsZW1lbnRVcGRhdGVzLmZpbmQocHNldWRvSWQpOworICAgICAgICAgICAgaWYgKGl0ZXJh
dG9yICE9IHVwZGF0ZXMtPnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAg
ICAgIHJldHVybiAmaXRlcmF0b3ItPnZhbHVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIH0oKTsKKworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkg
JiYgKCFwc2V1ZG9FbGVtZW50IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RS
ZXF1aXJpbmdQc2V1ZG9FbGVtZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAg
ICAgaWYgKHBzZXVkb0VsZW1lbnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QmVmb3JlKQogICAgICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQo
Y3VycmVudCwgbV91cGRhdGVyLm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMzLDcgQEAgdm9pZCBS
ZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChF
bGVtZW50JiBjdXJyZW50LAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0
ZS0+Y2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBk
YXRlLT5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgcHNldWRvRWxlbWVudCA9ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQp
OwpAQCAtMTI1LDEwICsxNDcsMTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVk
Q29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBj
b250ZW50c1N0eWxlLT5jb3B5Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAg
IFN0eWxlOjpFbGVtZW50VXBkYXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0
eWxlKSwgdXBkYXRlLT5jaGFuZ2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAg
ICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50
c1VwZGF0ZSk7CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMg
eyBXVEZNb3ZlKGNvbnRlbnRzVXBkYXRlKSwgU3R5bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpO
b25lLCB7IH0gfTsKKyAgICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNl
dWRvRWxlbWVudCwgJmNvbnRlbnRzVXBkYXRlcyk7CiAgICAgICAgIHBzZXVkb0VsZW1lbnQtPnN0
b3JlRGlzcGxheUNvbnRlbnRzU3R5bGUoUmVuZGVyU3R5bGU6OmNsb25lUHRyKCp1cGRhdGUtPnN0
eWxlKSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5k
ZXJlcigqcHNldWRvRWxlbWVudCwgKnVwZGF0ZSk7CisgICAgICAgIGF1dG8gcHNldWRvRWxlbWVu
dFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCp1cGRhdGUtPnN0eWxlKTsKKyAg
ICAgICAgU3R5bGU6OkVsZW1lbnRVcGRhdGUgcHNldWRvRWxlbWVudFVwZGF0ZSB7IFdURk1vdmUo
cHNldWRvRWxlbWVudFVwZGF0ZVN0eWxlKSwgdXBkYXRlLT5jaGFuZ2UsIHVwZGF0ZS0+cmVjb21w
b3NpdGVMYXllciB9OworICAgICAgICBTdHlsZTo6RWxlbWVudFVwZGF0ZXMgcHNldWRvRWxlbWVu
dFVwZGF0ZXMgeyBXVEZNb3ZlKHBzZXVkb0VsZW1lbnRVcGRhdGUpLCBTdHlsZTo6RGVzY2VuZGFu
dHNUb1Jlc29sdmU6Ok5vbmUsIHsgfSB9OworICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVu
dFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCAmcHNldWRvRWxlbWVudFVwZGF0ZXMpOwogICAgICAg
ICBBU1NFUlQoIXBzZXVkb0VsZW1lbnQtPmhhc0Rpc3BsYXlDb250ZW50cygpKTsKICAgICB9CiAK
QEAgLTEzNyw3ICsxNjMsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250
ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGlmICh1cGRhdGUtPmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpSZW5kZXJlcikK
LSAgICAgICAgY3JlYXRlQ29udGVudFJlbmRlcmVycyhtX3VwZGF0ZXIubV9idWlsZGVyLCAqcHNl
dWRvRWxlbWVudFJlbmRlcmVyLCAqdXBkYXRlLT5zdHlsZSk7CisgICAgICAgIGNyZWF0ZUNvbnRl
bnRSZW5kZXJlcnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwg
KnVwZGF0ZS0+c3R5bGUsIHBzZXVkb0lkKTsKICAgICBlbHNlCiAgICAgICAgIHVwZGF0ZVN0eWxl
Rm9yQ29udGVudFJlbmRlcmVycygqcHNldWRvRWxlbWVudFJlbmRlcmVyLCAqdXBkYXRlLT5zdHls
ZSk7CiAKQEAgLTE0OCw3ICsxNzQsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0
ZWRDb250ZW50Ojp1cGRhdGVQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsCiAgICAgbV91
cGRhdGVyLm1fYnVpbGRlci51cGRhdGVBZnRlckRlc2NlbmRhbnRzKCpwc2V1ZG9FbGVtZW50UmVu
ZGVyZXIpOwogfQogCi1ib29sIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojpu
ZWVkc1BzZXVkb0VsZW1lbnQoY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRhdGU+JiB1
cGRhdGUpCitib29sIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50OjpuZWVkc1Bz
ZXVkb0VsZW1lbnQoY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUqIHVwZGF0ZSkKIHsKICAgICBp
ZiAoIXVwZGF0ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVy
R2VuZXJhdGVkQ29udGVudC5oCmluZGV4IDAyZTFkYjE4ZmE5MTMyZTEyYWVlOGZlMGNhMWQwNTMw
ODYyNzczMDEuLjQzMDMwZDliNTc0YTA4NjJjMDYwYzE4ZGUyYzExNjVmYzc0NmU0ZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRl
ckdlbmVyYXRlZENvbnRlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmgKQEAgLTM4LDcgKzM4LDcgQEAg
Y2xhc3MgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQgewogcHVibGljOgogICAg
IEdlbmVyYXRlZENvbnRlbnQoUmVuZGVyVHJlZVVwZGF0ZXImKTsKIAotICAgIHZvaWQgdXBkYXRl
UHNldWRvRWxlbWVudChFbGVtZW50JiwgY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRh
dGU+JiwgUHNldWRvSWQpOworICAgIHZvaWQgdXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50Jiwg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiwgUHNldWRvSWQpOwogICAgIHZvaWQgdXBkYXRl
UmVtYWluaW5nUXVvdGVzKCk7CiAKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCZWZvcmVQc2V1ZG9F
bGVtZW50KEVsZW1lbnQmLCBSZW5kZXJUcmVlQnVpbGRlciYpOwpAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUXVvdGVzVXBUbyhSZW5kZXJRdW90ZSop
OwogICAgIAotICAgIGJvb2wgbmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxl
OjpFbGVtZW50VXBkYXRlPiYpOworICAgIGJvb2wgbmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IFN0
eWxlOjpFbGVtZW50VXBkYXRlKik7CiAKICAgICBSZW5kZXJUcmVlVXBkYXRlciYgbV91cGRhdGVy
OwogICAgIFdlYWtQdHI8UmVuZGVyUXVvdGU+IG1fcHJldmlvdXNVcGRhdGVkUXVvdGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcAppbmRleCBhNzAzYTRmOGNkNDNjN2Jm
OTExMDhhZGUyMWJhNWRiNWQ3MWNmOTNmLi4yMTI0YTc5MjAyNmJmODQ3MTdkMmI5ZTdiM2E1NzZm
NDM4ZDgyNDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2Nh
ZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAKQEAg
LTcwLDYgKzcwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNob3VsZEFwcGx5UHJvcGVydHlJblBh
cnNlT3JkZXIoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogfQogCiAvLyBodHRwczovL3d3dy53
My5vcmcvVFIvY3NzLXBzZXVkby00LyNtYXJrZXItcHNldWRvIChFZGl0b3IncyBEcmFmdCwgMjUg
SnVseSAyMDE3KQorLy8gRklYTUU6IHRoaXMgaXMgb3V0ZGF0ZWQsIHNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkxLgogc3RhdGljIGlubGluZSBib29sIGlz
VmFsaWRNYXJrZXJTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQpCiB7CiAgICAgc3dpdGNo
IChpZCkgewpAQCAtOTEsNiArOTIsMTggQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRNYXJr
ZXJTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUZv
bnRPcHRpY2FsU2l6aW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlGb250VmFyaWF0aW9uU2V0dGlu
Z3M6CiAjZW5kaWYKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uRHVyYXRpb246CisgICAg
Y2FzZSBDU1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uOgorICAgIGNhc2UgQ1NTUHJv
cGVydHlBbmltYXRpb25EZWxheToKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uSXRlcmF0
aW9uQ291bnQ6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFuaW1hdGlvbkRpcmVjdGlvbjoKKyAgICBj
YXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uRmlsbE1vZGU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUFu
aW1hdGlvblBsYXlTdGF0ZToKKyAgICBjYXNlIENTU1Byb3BlcnR5QW5pbWF0aW9uTmFtZToKKyAg
ICBjYXNlIENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uOgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlUcmFuc2l0aW9uVGltaW5nRnVuY3Rpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eVRyYW5zaXRp
b25EZWxheToKKyAgICBjYXNlIENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5OgogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAppbmRleCBkYmUxNDYyNzA3MjEzYTVkOWI5
NWQyYTQ4MmY2NzQ2NWQ4ZjBmYTc5Li40M2Q5ZmNhZjFjZTQ4OGUzNzY4OTg3OTdhODIzN2VjMjA1
MTQ4NjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBA
IC0yNDQsOCArMjQ0LDExIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVs
ZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGF1dG8gYmVm
b3JlVXBkYXRlID0gcmVzb2x2ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgUHNldWRvSWQ6
OkJlZm9yZSk7Ci0gICAgYXV0byBhZnRlclVwZGF0ZSA9IHJlc29sdmVQc2V1ZG9TdHlsZShlbGVt
ZW50LCB1cGRhdGUsIFBzZXVkb0lkOjpBZnRlcik7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRh
dGVNYXAgcHNldWRvVXBkYXRlczsKKyAgICBmb3IgKFBzZXVkb0lkIHBzZXVkb0lkID0gUHNldWRv
SWQ6OkZpcnN0UHVibGljUHNldWRvSWQ7IHBzZXVkb0lkIDwgUHNldWRvSWQ6OkZpcnN0SW50ZXJu
YWxQc2V1ZG9JZDsgcHNldWRvSWQgPSBzdGF0aWNfY2FzdDxQc2V1ZG9JZD4oc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHBzZXVkb0lkKSArIDEpKSB7CisgICAgICAgIGlmIChhdXRvIGVsZW1lbnRVcGRh
dGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRlLCBwc2V1ZG9JZCkpCisgICAg
ICAgICAgICBwc2V1ZG9VcGRhdGVzLnNldChwc2V1ZG9JZCwgV1RGTW92ZSgqZWxlbWVudFVwZGF0
ZSkpOworICAgIH0KIAogI2lmIEVOQUJMRShUT1VDSF9BQ1RJT05fUkVHSU9OUykKICAgICAvLyBG
SVhNRTogVHJhY2sgdGhpcyBleGFjdGx5LgpAQCAtMjU3LDI0ICsyNjAsMjMgQEAgRWxlbWVudFVw
ZGF0ZXMgVHJlZVJlc29sdmVyOjpyZXNvbHZlRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogICAg
ICAgICBtX2RvY3VtZW50LnNldE1heUhhdmVFZGl0YWJsZUVsZW1lbnRzKCk7CiAjZW5kaWYKIAot
ICAgIHJldHVybiB7IFdURk1vdmUodXBkYXRlKSwgZGVzY2VuZGFudHNUb1Jlc29sdmUsIFdURk1v
dmUoYmVmb3JlVXBkYXRlKSwgV1RGTW92ZShhZnRlclVwZGF0ZSkgfTsKKyAgICByZXR1cm4geyBX
VEZNb3ZlKHVwZGF0ZSksIGRlc2NlbmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKHBzZXVkb1VwZGF0
ZXMpIH07CiB9CiAKLUVsZW1lbnRVcGRhdGUgVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5
bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVwZGF0ZSwg
UHNldWRvSWQgcHNldWRvSWQpCitPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBUcmVlUmVzb2x2ZXI6
OnJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiBlbGVtZW50LCBjb25zdCBFbGVtZW50VXBkYXRl
JiBlbGVtZW50VXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKIHsKICAgICBpZiAoZWxlbWVudFVw
ZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lKQotICAgICAgICByZXR1
cm4geyB9OworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZWxlbWVudFVw
ZGF0ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQpKQotICAgICAgICByZXR1cm4geyB9
OworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgYXV0byBwc2V1ZG9TdHlsZSA9
IHNjb3BlKCkucmVzb2x2ZXIucHNldWRvU3R5bGVGb3JFbGVtZW50KGVsZW1lbnQsIHsgcHNldWRv
SWQgfSwgKmVsZW1lbnRVcGRhdGUuc3R5bGUsIHBhcmVudEJveFN0eWxlRm9yUHNldWRvKGVsZW1l
bnRVcGRhdGUpLCAmc2NvcGUoKS5zZWxlY3RvckZpbHRlcik7CiAgICAgaWYgKCFwc2V1ZG9TdHls
ZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAot
ICAgIGF1dG8qIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlID8g
ZWxlbWVudC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBlbGVtZW50LmFmdGVyUHNldWRvRWxlbWVu
dCgpOwotICAgIGJvb2wgaGFzQW5pbWF0aW9ucyA9IHBzZXVkb0VsZW1lbnQgJiYgcHNldWRvRWxl
bWVudC0+aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7
CisgICAgYm9vbCBoYXNBbmltYXRpb25zID0gcHNldWRvU3R5bGUtPmhhc0FuaW1hdGlvbnNPclRy
YW5zaXRpb25zKCkgfHwgZWxlbWVudC5oYXNLZXlmcmFtZUVmZmVjdHMocHNldWRvSWQpOwogICAg
IGlmICghcHNldWRvRWxlbWVudFJlbmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpICYm
ICFoYXNBbmltYXRpb25zKQotICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCiAgICAgcmV0dXJuIGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShXVEZN
b3ZlKHBzZXVkb1N0eWxlKSwgeyBlbGVtZW50LCBwc2V1ZG9JZCB9LCBlbGVtZW50VXBkYXRlLmNo
YW5nZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaAppbmRleCBj
Mjk3MzQyZmVlODU0OTRhOWE2YWJkMWNlOTgyOGQ5NzcyMjNjMTE4Li44N2JlYTlhZmJlMzRhOWM5
ZWM5NWY2NzExNmU3OTBhZGUzNjBkNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJl
ZVJlc29sdmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBFbGVtZW50VXBkYXRl
cyByZXNvbHZlRWxlbWVudChFbGVtZW50Jik7CiAKICAgICBFbGVtZW50VXBkYXRlIGNyZWF0ZUFu
aW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+LCBjb25zdCBT
dHlsZWFibGUmLCBDaGFuZ2UpOwotICAgIEVsZW1lbnRVcGRhdGUgcmVzb2x2ZVBzZXVkb1N0eWxl
KEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOworICAgIE9wdGlvbmFs
PEVsZW1lbnRVcGRhdGU+IHJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiwgY29uc3QgRWxlbWVu
dFVwZGF0ZSYsIFBzZXVkb0lkKTsKIAogICAgIHN0cnVjdCBTY29wZSA6IFJlZkNvdW50ZWQ8U2Nv
cGU+IHsKICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9J
REVOVElGSUVSKFRyZWVSZXNvbHZlclNjb3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5o
CmluZGV4IDFjNjEyZGZhOTQ2NDMyZDI0ZDdmNDZhZDY0OTk5YTRlNzNmM2UxZmEuLjA0YzYwNDJk
MDcwNWUzMWMyNTE1YmViYzdhZmM1NzQ5ZmYzOTgzNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVV
cGRhdGUuaApAQCAtNTAsMTEgKzUwLDEyIEBAIHN0cnVjdCBFbGVtZW50VXBkYXRlIHsKIAogZW51
bSBjbGFzcyBEZXNjZW5kYW50c1RvUmVzb2x2ZSB7IE5vbmUsIENoaWxkcmVuV2l0aEV4cGxpY2l0
SW5oZXJpdCwgQ2hpbGRyZW4sIEFsbCB9OwogCit1c2luZyBQc2V1ZG9JZFRvRWxlbWVudFVwZGF0
ZU1hcCA9IEhhc2hNYXA8UHNldWRvSWQsIEVsZW1lbnRVcGRhdGUsIFdURjo6SW50SGFzaDxQc2V1
ZG9JZD4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UHNldWRvSWQ+PjsKKwogc3RydWN0IEVs
ZW1lbnRVcGRhdGVzIHsKICAgICBFbGVtZW50VXBkYXRlIHVwZGF0ZTsKICAgICBEZXNjZW5kYW50
c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7IERlc2NlbmRhbnRzVG9SZXNvbHZlOjpO
b25lIH07Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYmVmb3JlUHNldWRvRWxlbWVudFVw
ZGF0ZTsKLSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBhZnRlclBzZXVkb0VsZW1lbnRVcGRh
dGU7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAgcHNldWRvRWxlbWVudFVwZGF0ZXM7
CiB9OwogCiBzdHJ1Y3QgVGV4dFVwZGF0ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA2ZGMwZTU3N2U1NjQxOGNhNTEwNjZlOTMxMTUxNjBjMTgxM2M2NDcxLi41MzZjY2Y1OWRi
ZmNkZmNkNGFjMjhkZDY3ODA1MDYxYzkyMDE5OGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0xMS0xMyAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IGFuaW1hdGlvbnMgb24gbW9yZSBwc2V1
ZG8tZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxODc5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNzQ0ODU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFBBU1MgcmVzdWx0cyBm
b3IgV1BUIHRlc3RzIHJ1bm5pbmcgYW5pbWF0aW9ucyBvbiA6Om1hcmtlciBwc2V1ZG8tZWxlbWVu
dHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0OiBS
ZW1vdmUgcGxhdGZvcm0tc3BlY2lmaWMgZXhwZWN0YXRpb24KKyAgICAgICAgdG8gYnJpbmcgYWxs
IHBsYXRmb3JtcyBpbiBsaW5lLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0
aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1
ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21hcmtlci1zdXBwb3J0ZWQtcHJvcGVydGllcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRv
L3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFuaW1hdGlvbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMv
RG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTEx
LTExICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVzeW5jIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9hc3BlY3QtcmF0aW8gZnJvbSB1cHN0cmVhbQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0CmluZGV4IDU5YjdhMjI5YWQzMzA0Njc1NTM1MWI1MjI0YTliNTlhNTU0Y2M0NWEuLjY1Yzk5
OWQ0NzQ4YTk4YjdmNjQ0YzkzNjI3YWFiZjkwZjUyZDc3OGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL0Rv
Y3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9E
b2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTE2LDUgKzE2
LDUgQEAgUEFTUyBDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCB2aWEgdGhlIEFQSSBhcmUgbm90IHJl
dHVybmVkCiBQQVNTIENTUyBBbmltYXRpb25zIGNhbmNlbGVkIGFuZCByZXN0YXJ0ZWQgdmlhIHRo
ZSBBUEkgYXJlIHJldHVybmVkCiBQQVNTIHBzZXVkbyBlbGVtZW50IHdpdGggcmVwbGFjZWQgdGFy
Z2V0IGRvZXMgbm90IGFmZmVjdCBhbmltYXRpb24gb3JkZXJpbmcKIFBBU1MgQ1NTIEFuaW1hdGlv
bnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVy
IGFmdGVyIHNvcnRpbmcKLUZBSUwgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSll
bGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFya2Vy
KSBhc3NlcnRfZXF1YWxzOiBDU1MgYW5pbWF0aW9ucyBvbiBib3RoIHBzZXVkby1lbGVtZW50cyBh
bmQgZWxlbWVudHMgYXJlIHJldHVybmVkIGV4cGVjdGVkIDUgYnV0IGdvdCA0CitQQVNTIENTUyBB
bmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVj
dCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDI0ZDAx
ODQ1YjIzOTE0MWExNTY1NWM5OWQ1ZjZmNzg0NGU5YTY4MWIuLjdmOWMwZmRhODY3ZjJhYWQ4YTU0
Y2IzMTM4YTgzOTYzZjBjY2Y3OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50LW1h
cmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb25ldmVu
dC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACiAKLUhh
cm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIEFuaW1hdGlv
bkV2ZW50IHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IHBzZXVkb0VsZW1lbnQgbWVtZWJlciBUZXN0
IHRpbWVkIG91dAorUEFTUyBBbmltYXRpb25FdmVudCBzaG91bGQgaGF2ZSB0aGUgY29ycmVjdCBw
c2V1ZG9FbGVtZW50IG1lbWViZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVu
dGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKaW5kZXggMDRiNWI4ODRmMTBmYzNhOWQ2NTk3ZDQwZWYxNjRlMzA2MzFmMzdjNy4uODMz
NThhOTZlZjNhOWFjZjc2ODFlZTVjOGUyZGU4NjNlNmUwYjdkNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
ZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRl
ci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIFNhbWUgZXZl
bnRzIGFyZSBvcmRlcmVkIGJ5IGVsZW1lbnRzCiBQQVNTIFNhbWUgZXZlbnRzIG9uIHBzZXVkby1l
bGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIKLUZBSUwgU2FtZSBldmVudHMgb24g
cHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlciAoOjptYXJrZXIpIGFz
c2VydF9lcXVhbHM6IE51bWJlciBvZiBldmVudHMgcmVjZWl2ZWQgKDQpIHNob3VsZCBtYXRjaCBl
eHBlY3RlZCBudW1iZXIgKDUpIChleHBlY3RlZDogYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0
YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhY3R1
YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1h
dGlvbnN0YXJ0KSBleHBlY3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBTYW1lIGV2ZW50cyBvbiBwc2V1
ZG8tZWxlbWVudHMgZm9sbG93IHRoZSBwcmVzY3JpYmVkIG9yZGVyICg6Om1hcmtlcikKIEZBSUwg
U3RhcnQgYW5kIGl0ZXJhdGlvbiBldmVudHMgYXJlIG9yZGVyZWQgYnkgdGltZSBhc3NlcnRfZXF1
YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4cGVjdGVkOiBhbmltYXRpb25pdGVy
YXRpb24sIGFuaW1hdGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25p
dGVyYXRpb24pIGV4cGVjdGVkICJhbmltYXRpb25pdGVyYXRpb24iIGJ1dCBnb3QgImFuaW1hdGlv
bnN0YXJ0IgogRkFJTCBJdGVyYXRpb24gYW5kIGVuZCBldmVudHMgYXJlIG9yZGVyZWQgYnkgdGlt
ZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4cGVjdGVkOiBh
bmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbmVuZCwgYWN0dWFsOiBhbmltYXRpb25lbmQsIGFu
aW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQgImFuaW1hdGlvbml0ZXJhdGlvbiIgYnV0IGdvdCAi
YW5pbWF0aW9uZW5kIgogRkFJTCBTdGFydCBhbmQgZW5kIGV2ZW50cyBhcmUgc29ydGVkIGNvcnJl
Y3RseSB3aGVuIGZpcmVkIHNpbXVsdGFuZW91c2x5IGFzc2VydF9lcXVhbHM6IEV2ZW50ICMxIHRh
cmdldHMgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8ZGl2IHN0eWxlPSJhbmlt
YXRpb246IGFuaW0gMTAwcyAyIj48L2Rpdj4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdiBzdHls
ZT0iYW5pbWF0aW9uOiBhbmltIDEwMHMgMTAwcyI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtl
ci1hbmltYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDA3MGJkNDFmMjdjMjBlNmQ2OWJjYTI3MmFiYThhYjI5OGQxMjc1NGUuLjA0MzM2NWIxMmQ3
YzM3Y2ZiNzhmY2VmNjFjOTY0OWMyYTliZDYzZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1h
dGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0CkBAIC0x
LDUgKzEsNSBAQAogCi1GQUlMICdjb2xvcicgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IGNvbG9y
IGV4cGVjdGVkICJyZ2IoMTAwLCA1MCwgMTUwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDApIgotUEFT
UyAnb3BhY2l0eScgYW5pbWF0aW9uCi1GQUlMICdjb2xvcicgKyAnb3BhY2l0eScgYW5pbWF0aW9u
IGFzc2VydF9lcXVhbHM6IGNvbG9yIGV4cGVjdGVkICJyZ2IoMTAwLCA1MCwgMTUwKSIgYnV0IGdv
dCAicmdiKDAsIDAsIDApIgorUEFTUyAnY29sb3InIGFuaW1hdGlvbgorRkFJTCAnb3BhY2l0eScg
YW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IG9wYWNpdHkgZXhwZWN0ZWQgIjEiIGJ1dCBnb3QgIjAu
NSIKK0ZBSUwgJ2NvbG9yJyArICdvcGFjaXR5JyBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczogb3Bh
Y2l0eSBleHBlY3RlZCAiMSIgYnV0IGdvdCAiMC41IgogbGlzdCBpdGVtCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRv
L3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFy
c2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IGUyMGNm
YTQ1ZjAwZjJjM2E4M2JjNzM0ZjgyNjY1NzdkZmYyM2Q1ZGIuLjg3Y2M3YWUyNzE1MDc3MTExMjJm
MGY1NmQ0ZjhlOGFkYmYxZTYwMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9y
dGVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9y
dGVkLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0yMiwxOSArMjIsMTkgQEAgRkFJTCBQcm9w
ZXJ0eSB1bmljb2RlLWJpZGkgdmFsdWUgJ3BsYWludGV4dCcgaW4gOjptYXJrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQKIEZBSUwgUHJvcGVydHkgZGlyZWN0aW9uIHZhbHVlICdydGwnIGluIDo6
bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJydGwiIGJ1dCBnb3QgImx0ciIKIEZBSUwg
UHJvcGVydHkgY29udGVudCB2YWx1ZSAnImZvbyInIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJcImZvb1wiIiBidXQgZ290ICIiCiBGQUlMIFByb3BlcnR5IGFuaW1hdGlvbiB2
YWx1ZSAnMXMgbGluZWFyIDJzIGluZmluaXRlIGFsdGVybmF0ZSBmb3J3YXJkcyBwYXVzZWQgYW5p
bScgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjFzIGxpbmVhciAycyBpbmZp
bml0ZSBhbHRlcm5hdGUgZm9yd2FyZHMgcGF1c2VkIGFuaW0iIGJ1dCBnb3QgIiIKLUZBSUwgUHJv
cGVydHkgYW5pbWF0aW9uLWRlbGF5IHZhbHVlICcxcycgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIjFzIiBidXQgZ290ICIwcyIKLUZBSUwgUHJvcGVydHkgYW5pbWF0aW9uLWRp
cmVjdGlvbiB2YWx1ZSAnYWx0ZXJuYXRlJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiYWx0ZXJuYXRlIiBidXQgZ290ICJub3JtYWwiCi1GQUlMIFByb3BlcnR5IGFuaW1hdGlv
bi1kdXJhdGlvbiB2YWx1ZSAnMnMnIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICIycyIgYnV0IGdvdCAiMHMiCi1GQUlMIFByb3BlcnR5IGFuaW1hdGlvbi1maWxsLW1vZGUgdmFs
dWUgJ2ZvcndhcmRzJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZm9yd2Fy
ZHMiIGJ1dCBnb3QgIm5vbmUiCi1GQUlMIFByb3BlcnR5IGFuaW1hdGlvbi1pdGVyYXRpb24tY291
bnQgdmFsdWUgJ2luZmluaXRlJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
aW5maW5pdGUiIGJ1dCBnb3QgIjEiCi1GQUlMIFByb3BlcnR5IGFuaW1hdGlvbi1uYW1lIHZhbHVl
ICdhbmltJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYW5pbSIgYnV0IGdv
dCAibm9uZSIKLUZBSUwgUHJvcGVydHkgYW5pbWF0aW9uLXBsYXktc3RhdGUgdmFsdWUgJ3BhdXNl
ZCcgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInBhdXNlZCIgYnV0IGdvdCAi
cnVubmluZyIKLUZBSUwgUHJvcGVydHkgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiB2YWx1ZSAn
bGluZWFyJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibGluZWFyIiBidXQg
Z290ICJlYXNlIgotRkFJTCBQcm9wZXJ0eSB0cmFuc2l0aW9uIHZhbHVlICdkaXNwbGF5IDFzIGxp
bmVhciAycycgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImRpc3BsYXkgMXMg
bGluZWFyIDJzIiBidXQgZ290ICJhbGwgMHMgZWFzZSAwcyIKLUZBSUwgUHJvcGVydHkgdHJhbnNp
dGlvbi1kZWxheSB2YWx1ZSAnMXMnIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICIxcyIgYnV0IGdvdCAiMHMiCi1GQUlMIFByb3BlcnR5IHRyYW5zaXRpb24tZHVyYXRpb24gdmFs
dWUgJzJzJyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMnMiIGJ1dCBnb3Qg
IjBzIgotRkFJTCBQcm9wZXJ0eSB0cmFuc2l0aW9uLXByb3BlcnR5IHZhbHVlICdkaXNwbGF5JyBp
biA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZGlzcGxheSIgYnV0IGdvdCAiYWxs
IgotRkFJTCBQcm9wZXJ0eSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiB2YWx1ZSAnbGluZWFy
JyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibGluZWFyIiBidXQgZ290ICJl
YXNlIgorUEFTUyBQcm9wZXJ0eSBhbmltYXRpb24tZGVsYXkgdmFsdWUgJzFzJyBpbiA6Om1hcmtl
cgorUEFTUyBQcm9wZXJ0eSBhbmltYXRpb24tZGlyZWN0aW9uIHZhbHVlICdhbHRlcm5hdGUnIGlu
IDo6bWFya2VyCitQQVNTIFByb3BlcnR5IGFuaW1hdGlvbi1kdXJhdGlvbiB2YWx1ZSAnMnMnIGlu
IDo6bWFya2VyCitQQVNTIFByb3BlcnR5IGFuaW1hdGlvbi1maWxsLW1vZGUgdmFsdWUgJ2Zvcndh
cmRzJyBpbiA6Om1hcmtlcgorUEFTUyBQcm9wZXJ0eSBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50
IHZhbHVlICdpbmZpbml0ZScgaW4gOjptYXJrZXIKK1BBU1MgUHJvcGVydHkgYW5pbWF0aW9uLW5h
bWUgdmFsdWUgJ2FuaW0nIGluIDo6bWFya2VyCitQQVNTIFByb3BlcnR5IGFuaW1hdGlvbi1wbGF5
LXN0YXRlIHZhbHVlICdwYXVzZWQnIGluIDo6bWFya2VyCitQQVNTIFByb3BlcnR5IGFuaW1hdGlv
bi10aW1pbmctZnVuY3Rpb24gdmFsdWUgJ2xpbmVhcicgaW4gOjptYXJrZXIKK1BBU1MgUHJvcGVy
dHkgdHJhbnNpdGlvbiB2YWx1ZSAnZGlzcGxheSAxcyBsaW5lYXIgMnMnIGluIDo6bWFya2VyCitQ
QVNTIFByb3BlcnR5IHRyYW5zaXRpb24tZGVsYXkgdmFsdWUgJzFzJyBpbiA6Om1hcmtlcgorUEFT
UyBQcm9wZXJ0eSB0cmFuc2l0aW9uLWR1cmF0aW9uIHZhbHVlICcycycgaW4gOjptYXJrZXIKK1BB
U1MgUHJvcGVydHkgdHJhbnNpdGlvbi1wcm9wZXJ0eSB2YWx1ZSAnZGlzcGxheScgaW4gOjptYXJr
ZXIKK1BBU1MgUHJvcGVydHkgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gdmFsdWUgJ2xpbmVh
cicgaW4gOjptYXJrZXIKIFBBU1MgUHJvcGVydHkgZGlzcGxheSB2YWx1ZSAnbm9uZScgaW4gOjpt
YXJrZXIKIFBBU1MgUHJvcGVydHkgcG9zaXRpb24gdmFsdWUgJ2Fic29sdXRlJyBpbiA6Om1hcmtl
cgogUEFTUyBQcm9wZXJ0eSBmbG9hdCB2YWx1ZSAncmlnaHQnIGluIDo6bWFya2VyCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFuaW1hdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFu
aW1hdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODRiOWMxMjY2NTJjNmFmNjVlMzY4MGYwOTIyNDU1
ZjQzYmE3N2Q1Ny4uYTQ4MmQxOTBlNWE2ODY1ZTcwNDBmNDEzZWM1ZDU2ZDA5OTNlZWQyYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXBzZXVkby9wYXJzaW5nL21hcmtlci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRp
b24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRp
ZXMtaW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxMiBAQAogCi1GQUlMIEFu
aW1hdGlvbiBvZiBmb250IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgIm5vcm1h
bCBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNnB4L25vcm1hbCAtd2Via2l0LXN0YW5kYXJkIiBub3Qg
aW4gYXJyYXkgWyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwgIml0
YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KK0ZBSUwgQW5p
bWF0aW9uIG9mIGZvbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2YWx1ZSAiaXRhbGlj
IG5vcm1hbCA1MDAgZXhwYW5kZWQgMTVweC8zNXB4IC13ZWJraXQtc3RhbmRhcmQiIG5vdCBpbiBh
cnJheSBbIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4IEFoZW0iLCAiaXRhbGlj
IHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvbm9ybWFsIEFoZW0iXQogRkFJTCBBbmltYXRp
b24gb2YgZm9udC1mYW1pbHkgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkFo
ZW0iIGJ1dCBnb3QgIi13ZWJraXQtc3RhbmRhcmQiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LWZl
YXR1cmUtc2V0dGluZ3MgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlwic21j
cFwiIiBidXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LWtlcm5pbmcgaW4g
OjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vbmUiIGJ1dCBnb3QgImF1dG8iCi1G
QUlMIEFuaW1hdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjE2cHgiCitQQVNTIEFuaW1hdGlvbiBvZiBmb250LXNpemUg
aW4gOjptYXJrZXIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtc2l6ZS1hZGp1c3QgaW4gOjptYXJr
ZXIgYXNzZXJ0X3RydWU6IGZvbnQtc2l6ZS1hZGp1c3QgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBv
cnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
QW5pbWF0aW9uIG9mIGZvbnQtc3RyZXRjaCBpbiA6Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZh
bHVlICJub3JtYWwiIG5vdCBpbiBhcnJheSBbImV4cGFuZGVkIiwgIjEyNSUiXQotRkFJTCBBbmlt
YXRpb24gb2YgZm9udC1zdHlsZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
aXRhbGljIiBidXQgZ290ICJub3JtYWwiCitQQVNTIEFuaW1hdGlvbiBvZiBmb250LXN0cmV0Y2gg
aW4gOjptYXJrZXIKK1BBU1MgQW5pbWF0aW9uIG9mIGZvbnQtc3R5bGUgaW4gOjptYXJrZXIKIEZB
SUwgQW5pbWF0aW9uIG9mIGZvbnQtc3ludGhlc2lzIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJub25lIiBidXQgZ290ICJzdHlsZSB3ZWlnaHQgc21hbGwtY2FwcyIKIEZBSUwg
QW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFudCBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAic21hbGwtY2FwcyIgYnV0IGdvdCAidGFidWxhci1udW1zIgogRkFJTCBBbmltYXRpb24g
b2YgZm9udC12YXJpYW50LWNhcHMgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InNtYWxsLWNhcHMiIGJ1dCBnb3QgIm5vcm1hbCIKQEAgLTE0LDcgKzE0LDcgQEAgRkFJTCBBbmlt
YXRpb24gb2YgZm9udC12YXJpYW50LWVhc3QtYXNpYW4gaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgImYKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFudC1saWdhdHVyZXMg
aW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImhpc3RvcmljYWwtbGlnYXR1cmVz
IiBidXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LXZhcmlhbnQtbnVtZXJp
YyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2xhc2hlZC16ZXJvIiBidXQg
Z290ICJ0YWJ1bGFyLW51bXMiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LXZhcmlhbnQtcG9zaXRp
b24gaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN1YiIgYnV0IGdvdCAibm9y
bWFsIgotRkFJTCBBbmltYXRpb24gb2YgZm9udC13ZWlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIjUwMCIgYnV0IGdvdCAibm9ybWFsIgorUEFTUyBBbmltYXRpb24gb2Yg
Zm9udC13ZWlnaHQgaW4gOjptYXJrZXIKIEZBSUwgQW5pbWF0aW9uIG9mIHdoaXRlLXNwYWNlIGlu
IDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJub3dyYXAiIGJ1dCBnb3QgIm5vcm1h
bCIKIEZBSUwgQW5pbWF0aW9uIG9mIGNvbG9yIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJyZ2IoNTAsIDE1MCwgMTAwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDApIgogRkFJTCBB
bmltYXRpb24gb2YgdGV4dC1jb21iaW5lLXVwcmlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X3RydWU6
IHRleHQtY29tYmluZS11cHJpZ2h0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhl
IGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCkBAIC0yOCwxNCArMjgsMTQg
QEAgRkFJTCBBbmltYXRpb24gb2YgbGlzdC1zdHlsZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAib3V0c2lkZSBub25lIGQKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5bGUt
aW1hZ2UgaW4gOjptYXJrZXIKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5bGUtcG9zaXRpb24g
aW4gOjptYXJrZXIKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5bGUtdHlwZSBpbiA6Om1hcmtl
cgotUEFTUyBBbmltYXRpb24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIKLUZBSUwgVHJhbnNp
dGlvbiBvZiBmb250IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgIml0YWxpYyBz
bWFsbC1jYXBzIDkwMCB1bHRyYS1leHBhbmRlZCAyNXB4L25vcm1hbCBBaGVtIiBub3QgaW4gYXJy
YXkgWyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwgIml0YWxpYyBz
bWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KK0ZBSUwgQW5pbWF0aW9u
IG9mIGxpbmUtaGVpZ2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJub3Jt
YWwiIGJ1dCBnb3QgIjM1cHgiCitGQUlMIFRyYW5zaXRpb24gb2YgZm9udCBpbiA6Om1hcmtlciBh
c3NlcnRfaW5fYXJyYXk6IHZhbHVlICJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVw
eC8zNXB4IEFoZW0iIG5vdCBpbiBhcnJheSBbIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRl
ZCAxNXB4IEFoZW0iLCAiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvbm9ybWFs
IEFoZW0iXQogUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtZmFtaWx5IGluIDo6bWFya2VyCiBQQVNT
IFRyYW5zaXRpb24gb2YgZm9udC1mZWF0dXJlLXNldHRpbmdzIGluIDo6bWFya2VyCiBGQUlMIFRy
YW5zaXRpb24gb2YgZm9udC1rZXJuaW5nIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJub25lIiBidXQgZ290ICJhdXRvIgotRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQtc2l6ZSBp
biA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTVweCIgYnV0IGdvdCAiMjVweCIK
K1BBU1MgVHJhbnNpdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIKIEZBSUwgVHJhbnNpdGlv
biBvZiBmb250LXNpemUtYWRqdXN0IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiBmb250LXNpemUt
YWRqdXN0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFRyYW5zaXRpb24gb2YgZm9udC1zdHJldGNo
IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgInVsdHJhLWV4cGFuZGVkIiBub3Qg
aW4gYXJyYXkgWyJleHBhbmRlZCIsICIxMjUlIl0KK1BBU1MgVHJhbnNpdGlvbiBvZiBmb250LXN0
cmV0Y2ggaW4gOjptYXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LXN0eWxlIGluIDo6bWFy
a2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1zeW50aGVzaXMgaW4gOjptYXJrZXIKIFBBU1Mg
VHJhbnNpdGlvbiBvZiBmb250LXZhcmlhbnQgaW4gOjptYXJrZXIKQEAgLTQ0LDkgKzQ0LDkgQEAg
UEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIGluIDo6bWFya2VyCiBQ
QVNTIFRyYW5zaXRpb24gb2YgZm9udC12YXJpYW50LWxpZ2F0dXJlcyBpbiA6Om1hcmtlcgogUEFT
UyBUcmFuc2l0aW9uIG9mIGZvbnQtdmFyaWFudC1udW1lcmljIGluIDo6bWFya2VyCiBQQVNTIFRy
YW5zaXRpb24gb2YgZm9udC12YXJpYW50LXBvc2l0aW9uIGluIDo6bWFya2VyCi1GQUlMIFRyYW5z
aXRpb24gb2YgZm9udC13ZWlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IjUwMCIgYnV0IGdvdCAiOTAwIgorUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtd2VpZ2h0IGluIDo6
bWFya2VyCiBGQUlMIFRyYW5zaXRpb24gb2Ygd2hpdGUtc3BhY2UgaW4gOjptYXJrZXIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIm5vd3JhcCIgYnV0IGdvdCAibm9ybWFsIgotRkFJTCBUcmFuc2l0
aW9uIG9mIGNvbG9yIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoNTAs
IDE1MCwgMTAwKSIgYnV0IGdvdCAicmdiKDEwMCwgMjAwLCAwKSIKK1BBU1MgVHJhbnNpdGlvbiBv
ZiBjb2xvciBpbiA6Om1hcmtlcgogRkFJTCBUcmFuc2l0aW9uIG9mIHRleHQtY29tYmluZS11cHJp
Z2h0IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiB0ZXh0LWNvbWJpbmUtdXByaWdodCBkb2Vzbid0
IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQogRkFJTCBUcmFuc2l0aW9uIG9mIHVuaWNvZGUtYmlkaSBpbiA6Om1hcmtlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicGxhaW50ZXh0IiBidXQgZ290ICJub3JtYWwiCiBGQUlM
IFRyYW5zaXRpb24gb2YgZGlyZWN0aW9uIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJydGwiIGJ1dCBnb3QgImx0ciIKQEAgLTU4LDUgKzU4LDUgQEAgRkFJTCBUcmFuc2l0aW9u
IG9mIGxpc3Qtc3R5bGUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm91dHNp
ZGUgbm9uZQogUEFTUyBUcmFuc2l0aW9uIG9mIGxpc3Qtc3R5bGUtaW1hZ2UgaW4gOjptYXJrZXIK
IFBBU1MgVHJhbnNpdGlvbiBvZiBsaXN0LXN0eWxlLXBvc2l0aW9uIGluIDo6bWFya2VyCiBQQVNT
IFRyYW5zaXRpb24gb2YgbGlzdC1zdHlsZS10eXBlIGluIDo6bWFya2VyCi1QQVNTIFRyYW5zaXRp
b24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIKK0ZBSUwgVHJhbnNpdGlvbiBvZiBsaW5lLWhl
aWdodCBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9ybWFsIiBidXQgZ290
ICIzNXB4IgogdGFyZ2V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9u
cy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAwOTg0MWNmZjRhY2Q0Yzc4ZmQyMThhZjNkOTE5
Zjk2Nzc1OWFhMGJiLi4wYzNjM2YzODNmMTlmMTdlMmNlYWMyY2I1Zjc0YmNhM2QzNmVlMmQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKQEAgLTQsNiArNCw2IEBAIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5z
aXRpb25zCiBQQVNTIGdldEFuaW1hdGlvbnMgZm9yIENTUyBUcmFuc2l0aW9ucyBzb3J0IGJ5IHBy
b3BlcnR5IG5hbWUKIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5zaXRpb25zIHNvcnQg
YnkgdHJhbnNpdGlvbiBnZW5lcmF0aW9uCiBQQVNTIENTUyBUcmFuc2l0aW9ucyB0YXJnZXR0aW5n
IChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGlu
ZwotRkFJTCBDU1MgVHJhbnNpdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91
bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFya2VyKSBhc3NlcnRfZXF1
YWxzOiBDU1MgdHJhbnNpdGlvbiBvbiBib3RoIHBzZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMg
YXJlIHJldHVybmVkIGV4cGVjdGVkIDUgYnV0IGdvdCA0CitQQVNTIENTUyBUcmFuc2l0aW9ucyB0
YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0
ZXIgc29ydGluZyAoOjptYXJrZXIpCiBQQVNTIFRyYW5zaXRpb25zIGFyZSBub3QgcmV0dXJuZWQg
YWZ0ZXIgdGhleSBoYXZlIGZpbmlzaGVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBz
ZXVkby90ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtbW9qYXZlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8v
dGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA1ODRkOTdlOWQ3ZjBlMmMyODQyYjYzODM1ZjQxMjlmMTE4MGMzZWUyLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby90
ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBA
Ci1oZWxsb3dvcmxkCi1oZWxsb3dvcmxkCi1oZWxsb3dvcmxkCi0KLUZBSUwgU2VsZWN0aW9uIGVu
ZGluZyBpbiA6OmJlZm9yZSBhc3NlcnRfZXF1YWxzOiB0b1N0cmluZyBleHBlY3RlZCAiaGVsbG8i
IGJ1dCBnb3QgIiIKLVBBU1MgU2VsZWN0aW9uIGNvbnRhaW5lZCBpbiA6OmJlZm9yZQotRkFJTCBT
ZWxlY3Rpb24gZW5kaW5nIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IHRvU3RyaW5nIGV4cGVj
dGVkICJoZWxsbyIgYnV0IGdvdCAiIgotUEFTUyBTZWxlY3Rpb24gY29udGFpbmVkIGluIDo6bWFy
a2VyCi1GQUlMIFNlbGVjdGlvbiBlbmRpbmcgaW4gOjpiZWZvcmUtbWFya2VyIGFzc2VydF9lcXVh
bHM6IHRvU3RyaW5nIGV4cGVjdGVkICJoZWxsbyIgYnV0IGdvdCAiIgotRkFJTCBTZWxlY3Rpb24g
Y29udGFpbmVkIGluIDo6YmVmb3JlLW1hcmtlciBhc3NlcnRfZXF1YWxzOiB0b1N0cmluZyBleHBl
Y3RlZCAiIiBidXQgZ290ICJoIgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414041</attachid>
            <date>2020-11-13 07:13:43 -0800</date>
            <delta_ts>2020-11-13 08:25:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201113161341.patch</filename>
            <type>text/plain</type>
            <size>39930</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjY2E2NTFlNDg0MDdm
NDlkNTM4MDhlNjljN2ZjNGVjZWMzNTk3My4uMTgyODk3ZGZlMzc2MjFjNDNlODZhODk4MzJhYWM3
MjJmMWM4MGY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTExLTEzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBkb20vUHNldWRv
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKTogUmVmYWN0b3Igd2hhdCB3YXMgb3JpZ2luYWxseSBpc1RhcmdldGVkQnlLZXlmcmFt
ZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQorICAgICAgICBpbnRvIHRoaXMgbWV0aG9k
IHNpbmNlIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
IHdhcyByZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6UHNldWRvRWxlbWVudDo6aXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogUmVtb3ZlIHRoaXMgbWV0
aG9kIGZyb20gUHNldWRvRWxlbWVudCBzaW5jZQorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgdGhh
dCBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgUHNldWRvRWxlbWVudCBuZWVkIHNpbWlsYXIgbG9n
aWMsIHdoaWNoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgc3RhdGljCisgICAgICAgIGZ1
bmN0aW9uIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0Vs
ZW1lbnQoKSBpbiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwLgorICAgICAg
ICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50VXBkYXRl
cyBpbnN0ZWFkIG9mIGp1c3QgdGhlIEVsZW1lbnRVcGRhdGUgdG8KKyAgICAgICAgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKCkgc3VjaCB0aGF0IGl0IG1heSBwcm9jZXNzIHRoZSBuZXcgcHNldWRvRWxl
bWVudFVwZGF0ZXMgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50
VXBkYXRlcyBhbmQgYSBQc2V1ZG9JZCB0bworICAgICAgICB1cGRhdGVQc2V1ZG9FbGVtZW50KCkg
c3VjaCB0aGF0IGl0IG1heSB1c2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIg
aW4gY29tYmluYXRpb24gd2l0aCB0aGUgUHNldWRvSWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdo
YXQgRWxlbWVudFVwZGF0ZSB0byB1c2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBk
YXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxl
bWVudFVwZGF0ZXMgYW5kIGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVu
dCgpIHN1Y2ggdGhhdCBpdCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVt
YmVyIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWlu
ZSB3aGF0IEVsZW1lbnRVcGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcik6IFVzZSB0aGUgbmV3IHBzZXVkb0VsZW1l
bnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRlcyB0byBzZXQgdGhlCisgICAgICAgIHBz
ZXVkby1lbGVtZW50IHN0eWxlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVsZW1lbnRJc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBOZXcgc3RhdGlj
IG1ldGhvZCBtZWFudCB0byByZXBsYWNlIHRoZSByZW1vdmVkCisgICAgICAgIFBzZXVkb0VsZW1l
bnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIHN1
Y2ggdGhhdCB3ZSBtYXkgdXNlIHRoaXMgbWV0aG9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorICAg
ICAgICB0aGUgcHNldWRvLWVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgUHNldWRvRWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMpOiBVc2UgZWxlbWVudElz
VGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIGluc3RlYWQg
b2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNUYXJnZXRlZEJ5S2V5ZnJh
bWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudCk6IExv
b2sgdXAgYWxsIEVsZW1lbnRVcGRhdGUgZm9yIHRoZSBwcm92aWRlZCBQc2V1ZG9JZAorICAgICAg
ICBpbiB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRl
cyBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hhdCBFbGVtZW50VXBkYXRlIHRvIHByb2Nlc3MuIEFs
c28sIHVzZQorICAgICAgICBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkgaW5zdGVhZCBvZiB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9F
bGVtZW50Ojppc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50
OjpuZWVkc1BzZXVkb0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpy
ZXNvbHZlRWxlbWVudCk6IFJlc29sdmUgYW55IHB1YmxpYyBwc2V1ZG8tZWxlbWVudCBpbnN0ZWFk
IG9mIGp1c3QgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIKKyAgICAgICAgYW5kIHNhdmUgdGhvc2UgaW4g
dGhlIG5ldyBFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIuIAorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKTog
UmVzb2x2ZSBhbnkgcHNldWRvLWVsZW1lbnQgc2V0IG9uIGFuIGVsZW1lbnQgdGhhdCBlaXRoZXIg
aGFzIGFuaW1hdGlvbnMKKyAgICAgICAgc2V0IG9uIGl0LCBlaXRoZXIgc2V0IGJ5IFdlYiBBbmlt
YXRpb25zLCBhcyBzZWVuIG9uIHRoZSBLZXlmcmFtZUVmZmVjdFN0YWNrLCBvciB5ZXQgdG8gYmUg
YXBwbGllZCB0aHJvdWdoIGEgQ1NTIEFuaW1hdGlvbiBvcgorICAgICAgICBDU1MgVHJhbnNpdGlv
biwgYXMgc2VlbiBvbiB0aGUgUmVuZGVyU3R5bGUuCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVVwZGF0ZS5oOiBBZGQgYSBuZXcgcHNl
dWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyIG9uIEVsZW1lbnRVcGRhdGVzLgorCiAyMDIwLTExLTEz
ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBvcnQg
bW9yZSBwcm9wZXJ0aWVzIG9uIDo6bWFya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcAppbmRleCA5ZTE4MmNjODlmZjBkOTE2OWM0MDczZjAzOTRiZjBkMTJi
NzA3YzVjLi5jMmY1OWI2MWY1ZDU4ZjE2NDQ4OGM3MzMzMGMxYjk4YzlhZWI5YTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTcyLDE0ICs3Miwx
MiBAQCBzdGF0aWMgRWxlbWVudCogZWxlbWVudE9yUHNldWRvRWxlbWVudEZvclN0eWxlYWJsZShj
b25zdCBPcHRpb25hbDxjb25zdCBTdHlsZWFibAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgIHN3aXRjaCAoc3R5bGVhYmxlLT5wc2V1ZG9JZCkgewotICAgIGNhc2UgUHNldWRvSWQ6Ok5v
bmU6Ci0gICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50OwogICAgIGNhc2UgUHNldWRv
SWQ6OkJlZm9yZToKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+ZWxlbWVudC5iZWZvcmVQc2V1
ZG9FbGVtZW50KCk7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QWZ0ZXI6CiAgICAgICAgIHJldHVybiBz
dHlsZWFibGUtPmVsZW1lbnQuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CiAgICAgZGVmYXVsdDoKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50
OwogICAgIH0KIH0KIApAQCAtMTE0NywxNyArMTE0NSwxNSBAQCBib29sIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRzUHNldWRvRWxlbWVudCgpIGNvbnN0CiAKIEVsZW1lbnQqIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRFbGVtZW50T3JQc2V1ZG9FbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIXRhcmdl
dHNQc2V1ZG9FbGVtZW50KCkpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC5nZXQoKTsKKyAgICBp
ZiAobV90YXJnZXQpIHsKKyAgICAgICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9y
ZSkKKyAgICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YmVmb3JlUHNldWRvRWxlbWVudCgpOwog
Ci0gICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkKLSAgICAgICAgcmV0dXJu
IG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7Ci0KLSAgICBpZiAobV9wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6QWZ0ZXIpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9F
bGVtZW50KCk7CisgICAgICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikKKyAg
ICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgfQog
Ci0gICAgLy8gV2Ugb25seSBzdXBwb3J0IHRhcmdldGluZyA6OmJlZm9yZSBhbmQgOjphZnRlciBw
c2V1ZG8tZWxlbWVudHMgYXQgdGhlIG1vbWVudC4KLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBy
ZXR1cm4gbV90YXJnZXQuZ2V0KCk7CiB9CiAKIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OnNldFRhcmdl
dChSZWZQdHI8RWxlbWVudD4mJiBuZXdUYXJnZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUHNldWRvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVu
dC5jcHAKaW5kZXggNzFkYzM3ZGZmMWM4YTIzMjlmMjU2ZWI3Njk0NjNkYjE2YTAwMDc0NS4uMzlh
MDQyOWEzM2QxNDkxN2VjNWZlOTcxYzAyMTQ0NWNjNjhkOWM4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
c2V1ZG9FbGVtZW50LmNwcApAQCAtODMsMTEgKzgzLDkgQEAgdm9pZCBQc2V1ZG9FbGVtZW50Ojpj
bGVhckhvc3RFbGVtZW50KCkKIAogYm9vbCBQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklzTmVlZGVk
KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKLSAgICByZXR1cm4gcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQoJnN0eWxlKSB8fCBpc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVp
cmluZ1BzZXVkb0VsZW1lbnQoKTsKLX0KKyAgICBpZiAocHNldWRvRWxlbWVudFJlbmRlcmVySXNO
ZWVkZWQoJnN0eWxlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKLWJvb2wgUHNldWRvRWxlbWVu
dDo6aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkKLXsK
ICAgICBpZiAobV9ob3N0RWxlbWVudCkgewogICAgICAgICBpZiAoYXV0byogc3RhY2sgPSBtX2hv
c3RFbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKCkpKQogICAgICAgICAgICAg
cmV0dXJuIHN0YWNrLT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5oCmluZGV4IDVkOWFmODUxMTY0Y2Y3Yzc1NWJkNzlkZWZmMzJiMzFiYzA3ZGYzMzku
LjJkMmEwYjE1OGNlMDE2YjUxMDU1MWNiZmE4OTBkMjE0Y2ZiMjdiNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuaApAQCAtNDEsNyArNDEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVh
ckhvc3RFbGVtZW50KCk7CiAKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVy
U3R5bGUmKSBvdmVycmlkZTsKLSAgICBib29sIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpOwogCiAgICAgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Db250YWluUmFuZ2VF
bmRQb2ludCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApp
bmRleCAwMjhkNjBhYWE1NWZiYjYxZDE0YWUxZDU0ZjgyZWM2MzdiYzljZTI2Li5jMjFlOWVhOWUz
MzBkY2I4NzVlMWQwNmM1MmIxMTM3YmQwNzAyNzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTE5MSw3
ICsxOTEsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRh
aW5lck5vZGUmIHJvb3QpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZWxlbWVudFVwZGF0ZXMp
Ci0gICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwgZWxlbWVudFVwZGF0
ZXMtPnVwZGF0ZSk7CisgICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwg
ZWxlbWVudFVwZGF0ZXMpOwogCiAgICAgICAgIHN0b3JlUHJldmlvdXNSZW5kZXJlcihlbGVtZW50
KTsKIApAQCAtMjUxLDEzICsyNTEsMTMgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6cG9wUGFy
ZW50c1RvRGVwdGgodW5zaWduZWQgZGVwdGgpCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRh
dGVCZWZvcmVEZXNjZW5kYW50cyhFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHlsZTo6RWxlbWVu
dFVwZGF0ZXMqIHVwZGF0ZXMpCiB7CiAgICAgaWYgKHVwZGF0ZXMpCi0gICAgICAgIGdlbmVyYXRl
ZENvbnRlbnQoKS51cGRhdGVQc2V1ZG9FbGVtZW50KGVsZW1lbnQsIHVwZGF0ZXMtPmJlZm9yZVBz
ZXVkb0VsZW1lbnRVcGRhdGUsIFBzZXVkb0lkOjpCZWZvcmUpOworICAgICAgICBnZW5lcmF0ZWRD
b250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50LCB1cGRhdGVzLCBQc2V1ZG9JZDo6
QmVmb3JlKTsKIH0KIAogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5k
YW50cyhFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqIHVwZGF0
ZXMpCiB7CiAgICAgaWYgKHVwZGF0ZXMpCi0gICAgICAgIGdlbmVyYXRlZENvbnRlbnQoKS51cGRh
dGVQc2V1ZG9FbGVtZW50KGVsZW1lbnQsIHVwZGF0ZXMtPmFmdGVyUHNldWRvRWxlbWVudFVwZGF0
ZSwgUHNldWRvSWQ6OkFmdGVyKTsKKyAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZVBz
ZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcywgUHNldWRvSWQ6OkFmdGVyKTsKIAogICAgIGF1
dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCkBA
IC0yOTcsMTMgKzI5NywyNSBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJl
clN0eWxlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBSZW5kZXJTdHlsZQogICAgIG1fYnVpbGRl
ci5ub3JtYWxpemVUcmVlQWZ0ZXJTdHlsZUNoYW5nZShyZW5kZXJlciwgb2xkU3R5bGUpOwogfQog
Ci12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYg
ZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmIHVwZGF0ZSkKK3ZvaWQgUmVuZGVy
VHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqIHVwZGF0ZXMpCiB7CisgICAgQVNTRVJUKHVwZGF0ZXMp
OworCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6
OlN0eWxlQ2hhbmdlU2NvcGUgb2JzZXJ2aW5nU2NvcGUobV9kb2N1bWVudCwgZWxlbWVudCk7CiAj
ZW5kaWYKIAotICAgIGJvb2wgc2hvdWxkVGVhckRvd25SZW5kZXJlcnMgPSB1cGRhdGUuY2hhbmdl
ID09IFN0eWxlOjpDaGFuZ2U6OlJlbmRlcmVyICYmIChlbGVtZW50LnJlbmRlcmVyKCkgfHwgZWxl
bWVudC5oYXNEaXNwbGF5Q29udGVudHMoKSk7CisgICAgYXV0byYgZWxlbWVudFVwZGF0ZSA9IHVw
ZGF0ZXMtPnVwZGF0ZTsKKyAgICBhdXRvIGVsZW1lbnRVcGRhdGVTdHlsZSA9IFJlbmRlclN0eWxl
OjpjbG9uZVB0cigqZWxlbWVudFVwZGF0ZS5zdHlsZSk7CisKKyAgICBmb3IgKGF1dG8mIGl0IDog
dXBkYXRlcy0+cHNldWRvRWxlbWVudFVwZGF0ZXMpIHsKKyAgICAgICAgYXV0byBwc2V1ZG9JZCA9
IGl0LmtleTsKKyAgICAgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpCZWZvcmUgfHwgcHNl
dWRvSWQgPT0gUHNldWRvSWQ6OkFmdGVyKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IGVsZW1lbnRVcGRhdGVTdHlsZS0+YWRkQ2FjaGVkUHNldWRvU3R5bGUoUmVuZGVyU3R5bGU6OmNs
b25lUHRyKCppdC52YWx1ZS5zdHlsZSkpOworICAgIH0KKworICAgIGJvb2wgc2hvdWxkVGVhckRv
d25SZW5kZXJlcnMgPSBlbGVtZW50VXBkYXRlLmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpSZW5k
ZXJlciAmJiAoZWxlbWVudC5yZW5kZXJlcigpIHx8IGVsZW1lbnQuaGFzRGlzcGxheUNvbnRlbnRz
KCkpOwogICAgIGlmIChzaG91bGRUZWFyRG93blJlbmRlcmVycykgewogICAgICAgICBpZiAoIWVs
ZW1lbnQucmVuZGVyZXIoKSkgewogICAgICAgICAgICAgLy8gV2UgbWF5IGJlIHRlYXJpbmcgZG93
biBhIGRlc2NlbmRhbnQgcmVuZGVyZXIgY2FjaGVkIGluIHJlbmRlclRyZWVQb3NpdGlvbi4KQEAg
LTMxMSwxNSArMzIzLDE1IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRS
ZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHlsZTo6RWxlCiAgICAgICAgIH0KIAog
ICAgICAgICAvLyBkaXNwbGF5Om5vbmUgY2FuY2VscyBhbmltYXRpb25zLgotICAgICAgICBhdXRv
IHRlYXJkb3duVHlwZSA9IHVwZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpO
b25lID8gVGVhcmRvd25UeXBlOjpSZW5kZXJlclVwZGF0ZUNhbmNlbGluZ0FuaW1hdGlvbnMgOiBU
ZWFyZG93blR5cGU6OlJlbmRlcmVyVXBkYXRlOworICAgICAgICBhdXRvIHRlYXJkb3duVHlwZSA9
IGVsZW1lbnRVcGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSA/IFRl
YXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmltYXRpb25zIDogVGVhcmRvd25U
eXBlOjpSZW5kZXJlclVwZGF0ZTsKICAgICAgICAgdGVhckRvd25SZW5kZXJlcnMoZWxlbWVudCwg
dGVhcmRvd25UeXBlLCBtX2J1aWxkZXIpOwogCiAgICAgICAgIHJlbmRlcmluZ1BhcmVudCgpLmRp
ZENyZWF0ZU9yRGVzdHJveUNoaWxkUmVuZGVyZXIgPSB0cnVlOwogICAgIH0KIAotICAgIGJvb2wg
aGFzRGlzcGxheUNvbnRlbnRzID0gdXBkYXRlLnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5
cGU6OkNvbnRlbnRzOworICAgIGJvb2wgaGFzRGlzcGxheUNvbnRlbnRzID0gZWxlbWVudFVwZGF0
ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpDb250ZW50czsKICAgICBpZiAoaGFz
RGlzcGxheUNvbnRlbnRzKQotICAgICAgICBlbGVtZW50LnN0b3JlRGlzcGxheUNvbnRlbnRzU3R5
bGUoUmVuZGVyU3R5bGU6OmNsb25lUHRyKCp1cGRhdGUuc3R5bGUpKTsKKyAgICAgICAgZWxlbWVu
dC5zdG9yZURpc3BsYXlDb250ZW50c1N0eWxlKFdURk1vdmUoZWxlbWVudFVwZGF0ZVN0eWxlKSk7
CiAgICAgZWxzZQogICAgICAgICBlbGVtZW50LnJlc2V0Q29tcHV0ZWRTdHlsZSgpOwogCkBAIC0z
MjcsNyArMzM5LDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRl
cmVyKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGUKICAgICBpZiAoc2hvdWxkQ3Jl
YXRlTmV3UmVuZGVyZXIpIHsKICAgICAgICAgaWYgKGVsZW1lbnQuaGFzQ3VzdG9tU3R5bGVSZXNv
bHZlQ2FsbGJhY2tzKCkpCiAgICAgICAgICAgICBlbGVtZW50LndpbGxBdHRhY2hSZW5kZXJlcnMo
KTsKLSAgICAgICAgY3JlYXRlUmVuZGVyZXIoZWxlbWVudCwgUmVuZGVyU3R5bGU6OmNsb25lKCp1
cGRhdGUuc3R5bGUpKTsKKyAgICAgICAgY3JlYXRlUmVuZGVyZXIoZWxlbWVudCwgV1RGTW92ZSgq
ZWxlbWVudFVwZGF0ZVN0eWxlKSk7CiAKICAgICAgICAgcmVuZGVyaW5nUGFyZW50KCkuZGlkQ3Jl
YXRlT3JEZXN0cm95Q2hpbGRSZW5kZXJlciA9IHRydWU7CiAgICAgICAgIHJldHVybjsKQEAgLTMz
NywyMCArMzQ5LDIwIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5k
ZXJlcihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHlsZTo6RWxlCiAgICAgICAgIHJldHVybjsK
ICAgICBhdXRvJiByZW5kZXJlciA9ICplbGVtZW50LnJlbmRlcmVyKCk7CiAKLSAgICBpZiAodXBk
YXRlLnJlY29tcG9zaXRlTGF5ZXIpIHsKLSAgICAgICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5k
ZXJlciwgUmVuZGVyU3R5bGU6OmNsb25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6
OlJlY29tcG9zaXRlTGF5ZXIpOworICAgIGlmIChlbGVtZW50VXBkYXRlLnJlY29tcG9zaXRlTGF5
ZXIpIHsKKyAgICAgICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgV1RGTW92ZSgqZWxl
bWVudFVwZGF0ZVN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpSZWNvbXBvc2l0ZUxheWVyKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICh1cGRhdGUuY2hhbmdlID09IFN0eWxlOjpD
aGFuZ2U6Ok5vbmUpIHsKLSAgICAgICAgaWYgKHBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQoJnJl
bmRlcmVyLCB1cGRhdGUuc3R5bGUuZ2V0KCkpKSB7Ci0gICAgICAgICAgICB1cGRhdGVSZW5kZXJl
clN0eWxlKHJlbmRlcmVyLCBSZW5kZXJTdHlsZTo6Y2xvbmUoKnVwZGF0ZS5zdHlsZSksIFN0eWxl
RGlmZmVyZW5jZTo6RXF1YWwpOworICAgIGlmIChlbGVtZW50VXBkYXRlLmNoYW5nZSA9PSBTdHls
ZTo6Q2hhbmdlOjpOb25lKSB7CisgICAgICAgIGlmIChwc2V1ZG9TdHlsZUNhY2hlSXNJbnZhbGlk
KCZyZW5kZXJlciwgZWxlbWVudFVwZGF0ZVN0eWxlLmdldCgpKSkgeworICAgICAgICAgICAgdXBk
YXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgV1RGTW92ZSgqZWxlbWVudFVwZGF0ZVN0eWxlKSwg
U3R5bGVEaWZmZXJlbmNlOjpFcXVhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVy
ZXIsIFJlbmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpF
cXVhbCk7CisgICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgV1RGTW92ZSgqZWxlbWVu
dFVwZGF0ZVN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpFcXVhbCk7CiB9CiAKIHZvaWQgUmVuZGVy
VHJlZVVwZGF0ZXI6OmNyZWF0ZVJlbmRlcmVyKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxl
JiYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZVVwZGF0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlVXBkYXRlci5oCmluZGV4IDIzNDAzNGM4MzMxN2NhNjE4N2UxYmViYWI3Y2UxNzBm
MWQ3NDUyY2IuLjg3MDI5NTA3NTVhYTE0N2YzZmUwOTVlNzRlOWQ0NTZkOWNlNGIwODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBk
YXRlci5oCkBAIC01OCw3ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVSZW5kZXJU
cmVlKENvbnRhaW5lck5vZGUmIHJvb3QpOwogICAgIHZvaWQgdXBkYXRlVGV4dFJlbmRlcmVyKFRl
eHQmLCBjb25zdCBTdHlsZTo6VGV4dFVwZGF0ZSopOwogICAgIHZvaWQgY3JlYXRlVGV4dFJlbmRl
cmVyKFRleHQmLCBjb25zdCBTdHlsZTo6VGV4dFVwZGF0ZSopOwotICAgIHZvaWQgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKEVsZW1lbnQmLCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZSYpOworICAg
IHZvaWQgdXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1lbnQmLCBjb25zdCBTdHlsZTo6RWxlbWVu
dFVwZGF0ZXMqKTsKICAgICB2b2lkIHVwZGF0ZVJlbmRlcmVyU3R5bGUoUmVuZGVyRWxlbWVudCYs
IFJlbmRlclN0eWxlJiYsIFN0eWxlRGlmZmVyZW5jZSk7CiAgICAgdm9pZCBjcmVhdGVSZW5kZXJl
cihFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CiAgICAgdm9pZCB1cGRhdGVCZWZvcmVEZXNjZW5k
YW50cyhFbGVtZW50JiwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5l
cmF0ZWRDb250ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwCmluZGV4IDBlOWM0OWE3MmNlNGE4ZmRm
NjhhNGMyN2I2ZGU0MGY5NjExZjJmOTguLmUzMWY3ZTBkZGRkYjQyZDI4MGE5ZWI5OWNlMWVhNTk5
Y2UyMTdlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9S
ZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3Bw
CkBAIC02OSw3ICs2OSwyMCBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250
ZW50Ojp1cGRhdGVRdW90ZXNVcFRvKFJlbmRlclF1b3RlKiBsYXN0UXVvdAogICAgIEFTU0VSVCgh
bGFzdFF1b3RlKTsKIH0KIAotc3RhdGljIHZvaWQgY3JlYXRlQ29udGVudFJlbmRlcmVycyhSZW5k
ZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyRWxlbWVudCYgcHNldWRvUmVuZGVyZXIsIGNv
bnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKK3N0YXRpYyBib29sIGVsZW1lbnRJc1RhcmdldGVkQnlL
ZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVu
dCwgUHNldWRvSWQgcHNldWRvSWQpCit7CisgICAgaWYgKGlzPFBzZXVkb0VsZW1lbnQ+KGVsZW1l
bnQpKQorICAgICAgICByZXR1cm4gZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudChkb3duY2FzdDxQc2V1ZG9FbGVtZW50PigqZWxlbWVudCkuaG9z
dEVsZW1lbnQoKSwgcHNldWRvSWQpOworCisgICAgaWYgKGVsZW1lbnQpIHsKKyAgICAgICAgaWYg
KGF1dG8qIHN0YWNrID0gZWxlbWVudC0+a2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1ZG9JZCkpCisg
ICAgICAgICAgICByZXR1cm4gc3RhY2stPnJlcXVpcmVzUHNldWRvRWxlbWVudCgpOworICAgIH0K
KworICAgIHJldHVybiBmYWxzZTsKK30KKworc3RhdGljIHZvaWQgY3JlYXRlQ29udGVudFJlbmRl
cmVycyhSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyRWxlbWVudCYgcHNldWRvUmVu
ZGVyZXIsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgUHNldWRvSWQgcHNldWRvSWQpCiB7CiAg
ICAgaWYgKGF1dG8qIGNvbnRlbnREYXRhID0gc3R5bGUuY29udGVudERhdGEoKSkgewogICAgICAg
ICBmb3IgKGNvbnN0IENvbnRlbnREYXRhKiBjb250ZW50ID0gY29udGVudERhdGE7IGNvbnRlbnQ7
IGNvbnRlbnQgPSBjb250ZW50LT5uZXh0KCkpIHsKQEAgLTgwLDcgKzkzLDcgQEAgc3RhdGljIHZv
aWQgY3JlYXRlQ29udGVudFJlbmRlcmVycyhSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVu
ZGVyRWxlbWVudCYgcHMKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgb25seSB2YWxpZCBz
Y2VuYXJpbyB3aGVyZSB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgd2l0aG91dCB0aGUgImNvbnRlbnQi
IHByb3BlcnR5IGJlaW5nIHNldAogICAgICAgICAvLyBpcyB0aGUgY2FzZSB3aGVyZSBhIHBzZXVk
by1lbGVtZW50IGhhcyBhbmltYXRpb25zIHNldCBvbiBpdCB2aWEgdGhlIFdlYiBBbmltYXRpb25z
IEFQSS4KLSAgICAgICAgQVNTRVJUKGlzPFBzZXVkb0VsZW1lbnQ+KHBzZXVkb1JlbmRlcmVyLmVs
ZW1lbnQoKSkgJiYgZG93bmNhc3Q8UHNldWRvRWxlbWVudD4oKnBzZXVkb1JlbmRlcmVyLmVsZW1l
bnQoKSkuaXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkp
OworICAgICAgICBBU1NFUlRfVU5VU0VEKHBzZXVkb0lkLCBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5
ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KHBzZXVkb1JlbmRlcmVyLmVsZW1lbnQo
KSwgcHNldWRvSWQpKTsKICAgICB9CiB9CiAKQEAgLTk0LDE0ICsxMDcsMjMgQEAgc3RhdGljIHZv
aWQgdXBkYXRlU3R5bGVGb3JDb250ZW50UmVuZGVyZXJzKFJlbmRlckVsZW1lbnQmIHBzZXVkb1Jl
bmRlcmVyLCBjb25zdAogICAgIH0KIH0KIAotdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJh
dGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LCBjb25zdCBP
cHRpb25hbDxTdHlsZTo6RWxlbWVudFVwZGF0ZT4mIHVwZGF0ZSwgUHNldWRvSWQgcHNldWRvSWQp
Cit2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50Ojp1cGRhdGVQc2V1ZG9F
bGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBk
YXRlcywgUHNldWRvSWQgcHNldWRvSWQpCiB7CiAgICAgUHNldWRvRWxlbWVudCogcHNldWRvRWxl
bWVudCA9IHBzZXVkb0lkID09IFBzZXVkb0lkOjpCZWZvcmUgPyBjdXJyZW50LmJlZm9yZVBzZXVk
b0VsZW1lbnQoKSA6IGN1cnJlbnQuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CiAKICAgICBpZiAoYXV0
byogcmVuZGVyZXIgPSBwc2V1ZG9FbGVtZW50ID8gcHNldWRvRWxlbWVudC0+cmVuZGVyZXIoKSA6
IG51bGxwdHIpCiAgICAgICAgIG1fdXBkYXRlci5yZW5kZXJUcmVlUG9zaXRpb24oKS5pbnZhbGlk
YXRlTmV4dFNpYmxpbmcoKnJlbmRlcmVyKTsKIAotICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50
KHVwZGF0ZSkgJiYgKCFwc2V1ZG9FbGVtZW50IHx8ICFwc2V1ZG9FbGVtZW50LT5pc1RhcmdldGVk
QnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKSkpIHsKKyAgICBhdXRvKiB1
cGRhdGUgPSBbdXBkYXRlcywgcHNldWRvSWRdKCkgLT4gY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRh
dGUqIHsKKyAgICAgICAgaWYgKHVwZGF0ZXMpIHsKKyAgICAgICAgICAgIGF1dG8gaXRlcmF0b3Ig
PSB1cGRhdGVzLT5wc2V1ZG9FbGVtZW50VXBkYXRlcy5maW5kKHBzZXVkb0lkKTsKKyAgICAgICAg
ICAgIGlmIChpdGVyYXRvciAhPSB1cGRhdGVzLT5wc2V1ZG9FbGVtZW50VXBkYXRlcy5lbmQoKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gJml0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9KCk7CisKKyAgICBpZiAoIW5lZWRzUHNldWRvRWxl
bWVudCh1cGRhdGUpICYmICghcHNldWRvRWxlbWVudCB8fCAhZWxlbWVudElzVGFyZ2V0ZWRCeUtl
eWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudChwc2V1ZG9FbGVtZW50LCBwc2V1ZG9J
ZCkpKSB7CiAgICAgICAgIGlmIChwc2V1ZG9FbGVtZW50KSB7CiAgICAgICAgICAgICBpZiAocHNl
dWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkKICAgICAgICAgICAgICAgICByZW1vdmVCZWZvcmVQ
c2V1ZG9FbGVtZW50KGN1cnJlbnQsIG1fdXBkYXRlci5tX2J1aWxkZXIpOwpAQCAtMTExLDcgKzEz
Myw3IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBz
ZXVkb0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGlmICh1cGRhdGUtPmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpOb25lKQorICAgIGlmICgh
dXBkYXRlIHx8IHVwZGF0ZS0+Y2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6Ok5vbmUpCiAgICAgICAg
IHJldHVybjsKIAogICAgIHBzZXVkb0VsZW1lbnQgPSAmY3VycmVudC5lbnN1cmVQc2V1ZG9FbGVt
ZW50KHBzZXVkb0lkKTsKQEAgLTEyNSwxMCArMTQ3LDE0IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0
ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYgY3VycmVu
dCwKICAgICAgICAgY29udGVudHNTdHlsZS0+Y29weUNvbnRlbnRGcm9tKCp1cGRhdGUtPnN0eWxl
KTsKIAogICAgICAgICBTdHlsZTo6RWxlbWVudFVwZGF0ZSBjb250ZW50c1VwZGF0ZSB7IFdURk1v
dmUoY29udGVudHNTdHlsZSksIHVwZGF0ZS0+Y2hhbmdlLCB1cGRhdGUtPnJlY29tcG9zaXRlTGF5
ZXIgfTsKLSAgICAgICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxl
bWVudCwgY29udGVudHNVcGRhdGUpOworICAgICAgICBTdHlsZTo6RWxlbWVudFVwZGF0ZXMgY29u
dGVudHNVcGRhdGVzIHsgV1RGTW92ZShjb250ZW50c1VwZGF0ZSksIFN0eWxlOjpEZXNjZW5kYW50
c1RvUmVzb2x2ZTo6Tm9uZSwgeyB9IH07CisgICAgICAgIG1fdXBkYXRlci51cGRhdGVFbGVtZW50
UmVuZGVyZXIoKnBzZXVkb0VsZW1lbnQsICZjb250ZW50c1VwZGF0ZXMpOwogICAgICAgICBwc2V1
ZG9FbGVtZW50LT5zdG9yZURpc3BsYXlDb250ZW50c1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0
cigqdXBkYXRlLT5zdHlsZSkpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fdXBkYXRlci51cGRh
dGVFbGVtZW50UmVuZGVyZXIoKnBzZXVkb0VsZW1lbnQsICp1cGRhdGUpOworICAgICAgICBhdXRv
IHBzZXVkb0VsZW1lbnRVcGRhdGVTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9uZVB0cigqdXBkYXRl
LT5zdHlsZSk7CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlIHBzZXVkb0VsZW1lbnRVcGRh
dGUgeyBXVEZNb3ZlKHBzZXVkb0VsZW1lbnRVcGRhdGVTdHlsZSksIHVwZGF0ZS0+Y2hhbmdlLCB1
cGRhdGUtPnJlY29tcG9zaXRlTGF5ZXIgfTsKKyAgICAgICAgU3R5bGU6OkVsZW1lbnRVcGRhdGVz
IHBzZXVkb0VsZW1lbnRVcGRhdGVzIHsgV1RGTW92ZShwc2V1ZG9FbGVtZW50VXBkYXRlKSwgU3R5
bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lLCB7IH0gfTsKKyAgICAgICAgbV91cGRhdGVy
LnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxlbWVudCwgJnBzZXVkb0VsZW1lbnRVcGRh
dGVzKTsKICAgICAgICAgQVNTRVJUKCFwc2V1ZG9FbGVtZW50LT5oYXNEaXNwbGF5Q29udGVudHMo
KSk7CiAgICAgfQogCkBAIC0xMzcsNyArMTYzLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAog
ICAgICAgICByZXR1cm47CiAKICAgICBpZiAodXBkYXRlLT5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5n
ZTo6UmVuZGVyZXIpCi0gICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMobV91cGRhdGVyLm1f
YnVpbGRlciwgKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUpOworICAgICAg
ICBjcmVhdGVDb250ZW50UmVuZGVyZXJzKG1fdXBkYXRlci5tX2J1aWxkZXIsICpwc2V1ZG9FbGVt
ZW50UmVuZGVyZXIsICp1cGRhdGUtPnN0eWxlLCBwc2V1ZG9JZCk7CiAgICAgZWxzZQogICAgICAg
ICB1cGRhdGVTdHlsZUZvckNvbnRlbnRSZW5kZXJlcnMoKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwg
KnVwZGF0ZS0+c3R5bGUpOwogCkBAIC0xNDgsNyArMTc0LDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBk
YXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJy
ZW50LAogICAgIG1fdXBkYXRlci5tX2J1aWxkZXIudXBkYXRlQWZ0ZXJEZXNjZW5kYW50cygqcHNl
dWRvRWxlbWVudFJlbmRlcmVyKTsKIH0KIAotYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJh
dGVkQ29udGVudDo6bmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVt
ZW50VXBkYXRlPiYgdXBkYXRlKQorYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29u
dGVudDo6bmVlZHNQc2V1ZG9FbGVtZW50KGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlKiB1cGRh
dGUpCiB7CiAgICAgaWYgKCF1cGRhdGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdl
bmVyYXRlZENvbnRlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaAppbmRleCAwMmUxZGIxOGZhOTEzMmUxMmFl
ZThmZTBjYTFkMDUzMDg2Mjc3MzAxLi40MzAzMGQ5YjU3NGEwODYyYzA2MGMxOGRlMmMxMTY1ZmM3
NDZlNGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oCkBAIC0z
OCw3ICszOCw3IEBAIGNsYXNzIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50IHsK
IHB1YmxpYzoKICAgICBHZW5lcmF0ZWRDb250ZW50KFJlbmRlclRyZWVVcGRhdGVyJik7CiAKLSAg
ICB2b2lkIHVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IE9wdGlvbmFsPFN0eWxl
OjpFbGVtZW50VXBkYXRlPiYsIFBzZXVkb0lkKTsKKyAgICB2b2lkIHVwZGF0ZVBzZXVkb0VsZW1l
bnQoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyosIFBzZXVkb0lkKTsKICAg
ICB2b2lkIHVwZGF0ZVJlbWFpbmluZ1F1b3RlcygpOwogCiAgICAgc3RhdGljIHZvaWQgcmVtb3Zl
QmVmb3JlUHNldWRvRWxlbWVudChFbGVtZW50JiwgUmVuZGVyVHJlZUJ1aWxkZXImKTsKQEAgLTQ3
LDcgKzQ3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVF1b3Rlc1VwVG8o
UmVuZGVyUXVvdGUqKTsKICAgICAKLSAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBP
cHRpb25hbDxTdHlsZTo6RWxlbWVudFVwZGF0ZT4mKTsKKyAgICBib29sIG5lZWRzUHNldWRvRWxl
bWVudChjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZSopOwogCiAgICAgUmVuZGVyVHJlZVVwZGF0
ZXImIG1fdXBkYXRlcjsKICAgICBXZWFrUHRyPFJlbmRlclF1b3RlPiBtX3ByZXZpb3VzVXBkYXRl
ZFF1b3RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4
IGRiZTE0NjI3MDcyMTNhNWQ5Yjk1ZDJhNDgyZjY3NDY1ZDhmMGZhNzkuLjQzZDlmY2FmMWNlNDg4
ZTM3Njg5ODc5N2E4MjM3ZWMyMDUxNDg2MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVRyZWVSZXNvbHZlci5jcHAKQEAgLTI0NCw4ICsyNDQsMTEgQEAgRWxlbWVudFVwZGF0ZXMgVHJl
ZVJlc29sdmVyOjpyZXNvbHZlRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogICAgICAgICB9CiAg
ICAgfQogCi0gICAgYXV0byBiZWZvcmVVcGRhdGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVu
dCwgdXBkYXRlLCBQc2V1ZG9JZDo6QmVmb3JlKTsKLSAgICBhdXRvIGFmdGVyVXBkYXRlID0gcmVz
b2x2ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgUHNldWRvSWQ6OkFmdGVyKTsKKyAgICBQ
c2V1ZG9JZFRvRWxlbWVudFVwZGF0ZU1hcCBwc2V1ZG9VcGRhdGVzOworICAgIGZvciAoUHNldWRv
SWQgcHNldWRvSWQgPSBQc2V1ZG9JZDo6Rmlyc3RQdWJsaWNQc2V1ZG9JZDsgcHNldWRvSWQgPCBQ
c2V1ZG9JZDo6Rmlyc3RJbnRlcm5hbFBzZXVkb0lkOyBwc2V1ZG9JZCA9IHN0YXRpY19jYXN0PFBz
ZXVkb0lkPihzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocHNldWRvSWQpICsgMSkpIHsKKyAgICAgICAg
aWYgKGF1dG8gZWxlbWVudFVwZGF0ZSA9IHJlc29sdmVQc2V1ZG9TdHlsZShlbGVtZW50LCB1cGRh
dGUsIHBzZXVkb0lkKSkKKyAgICAgICAgICAgIHBzZXVkb1VwZGF0ZXMuc2V0KHBzZXVkb0lkLCBX
VEZNb3ZlKCplbGVtZW50VXBkYXRlKSk7CisgICAgfQogCiAjaWYgRU5BQkxFKFRPVUNIX0FDVElP
Tl9SRUdJT05TKQogICAgIC8vIEZJWE1FOiBUcmFjayB0aGlzIGV4YWN0bHkuCkBAIC0yNTcsMjQg
KzI2MCwyMyBAQCBFbGVtZW50VXBkYXRlcyBUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KEVs
ZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgIG1fZG9jdW1lbnQuc2V0TWF5SGF2ZUVkaXRhYmxlRWxl
bWVudHMoKTsKICNlbmRpZgogCi0gICAgcmV0dXJuIHsgV1RGTW92ZSh1cGRhdGUpLCBkZXNjZW5k
YW50c1RvUmVzb2x2ZSwgV1RGTW92ZShiZWZvcmVVcGRhdGUpLCBXVEZNb3ZlKGFmdGVyVXBkYXRl
KSB9OworICAgIHJldHVybiB7IFdURk1vdmUodXBkYXRlKSwgZGVzY2VuZGFudHNUb1Jlc29sdmUs
IFdURk1vdmUocHNldWRvVXBkYXRlcykgfTsKIH0KIAotRWxlbWVudFVwZGF0ZSBUcmVlUmVzb2x2
ZXI6OnJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiBlbGVtZW50LCBjb25zdCBFbGVtZW50VXBk
YXRlJiBlbGVtZW50VXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK09wdGlvbmFsPEVsZW1lbnRV
cGRhdGU+IFRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1lbnQmIGVsZW1lbnQs
IGNvbnN0IEVsZW1lbnRVcGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBzZXVkb0lkIHBzZXVkb0lkKQog
ewogICAgIGlmIChlbGVtZW50VXBkYXRlLnN0eWxlLT5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6
Ok5vbmUpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAgICAgaWYgKCFlbGVtZW50VXBkYXRlLnN0eWxlLT5oYXNQc2V1ZG9TdHlsZShwc2V1ZG9JZCkp
Ci0gICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAg
ICBhdXRvIHBzZXVkb1N0eWxlID0gc2NvcGUoKS5yZXNvbHZlci5wc2V1ZG9TdHlsZUZvckVsZW1l
bnQoZWxlbWVudCwgeyBwc2V1ZG9JZCB9LCAqZWxlbWVudFVwZGF0ZS5zdHlsZSwgcGFyZW50Qm94
U3R5bGVGb3JQc2V1ZG8oZWxlbWVudFVwZGF0ZSksICZzY29wZSgpLnNlbGVjdG9yRmlsdGVyKTsK
ICAgICBpZiAoIXBzZXVkb1N0eWxlKQotICAgICAgICByZXR1cm4geyB9OworICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCi0gICAgYXV0byogcHNldWRvRWxlbWVudCA9IHBzZXVkb0lkID09
IFBzZXVkb0lkOjpCZWZvcmUgPyBlbGVtZW50LmJlZm9yZVBzZXVkb0VsZW1lbnQoKSA6IGVsZW1l
bnQuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7Ci0gICAgYm9vbCBoYXNBbmltYXRpb25zID0gcHNldWRv
RWxlbWVudCAmJiBwc2V1ZG9FbGVtZW50LT5pc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVp
cmluZ1BzZXVkb0VsZW1lbnQoKTsKKyAgICBib29sIGhhc0FuaW1hdGlvbnMgPSBwc2V1ZG9TdHls
ZS0+aGFzQW5pbWF0aW9uc09yVHJhbnNpdGlvbnMoKSB8fCBlbGVtZW50Lmhhc0tleWZyYW1lRWZm
ZWN0cyhwc2V1ZG9JZCk7CiAgICAgaWYgKCFwc2V1ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZChw
c2V1ZG9TdHlsZS5nZXQoKSkgJiYgIWhhc0FuaW1hdGlvbnMpCi0gICAgICAgIHJldHVybiB7IH07
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICByZXR1cm4gY3JlYXRlQW5pbWF0
ZWRFbGVtZW50VXBkYXRlKFdURk1vdmUocHNldWRvU3R5bGUpLCB7IGVsZW1lbnQsIHBzZXVkb0lk
IH0sIGVsZW1lbnRVcGRhdGUuY2hhbmdlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5oCmluZGV4IGMyOTczNDJmZWU4NTQ5NGE5YTZhYmQxY2U5ODI4ZDk3NzIyM2Mx
MTguLjg3YmVhOWFmYmUzNGE5YzllYzk1ZjY3MTE2ZTc5MGFkZTM2MGQ2NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaApAQCAtNjIsNyArNjIsNyBAQCBwcml2YXRl
OgogICAgIEVsZW1lbnRVcGRhdGVzIHJlc29sdmVFbGVtZW50KEVsZW1lbnQmKTsKIAogICAgIEVs
ZW1lbnRVcGRhdGUgY3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKHN0ZDo6dW5pcXVlX3B0cjxS
ZW5kZXJTdHlsZT4sIGNvbnN0IFN0eWxlYWJsZSYsIENoYW5nZSk7Ci0gICAgRWxlbWVudFVwZGF0
ZSByZXNvbHZlUHNldWRvU3R5bGUoRWxlbWVudCYsIGNvbnN0IEVsZW1lbnRVcGRhdGUmLCBQc2V1
ZG9JZCk7CisgICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gcmVzb2x2ZVBzZXVkb1N0eWxlKEVs
ZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOwogCiAgICAgc3RydWN0IFNj
b3BlIDogUmVmQ291bnRlZDxTY29wZT4gewogICAgICAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9B
TExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIoVHJlZVJlc29sdmVyU2NvcGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlVXBkYXRlLmgKaW5kZXggMWM2MTJkZmE5NDY0MzJkMjRkN2Y0NmFkNjQ5OTlh
NGU3M2YzZTFmYS4uMDRjNjA0MmQwNzA1ZTMxYzI1MTViZWJjN2FmYzU3NDlmZjM5ODM3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oCkBAIC01MCwxMSArNTAsMTIgQEAgc3RydWN0IEVs
ZW1lbnRVcGRhdGUgewogCiBlbnVtIGNsYXNzIERlc2NlbmRhbnRzVG9SZXNvbHZlIHsgTm9uZSwg
Q2hpbGRyZW5XaXRoRXhwbGljaXRJbmhlcml0LCBDaGlsZHJlbiwgQWxsIH07CiAKK3VzaW5nIFBz
ZXVkb0lkVG9FbGVtZW50VXBkYXRlTWFwID0gSGFzaE1hcDxQc2V1ZG9JZCwgRWxlbWVudFVwZGF0
ZSwgV1RGOjpJbnRIYXNoPFBzZXVkb0lkPiwgV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxQc2V1
ZG9JZD4+OworCiBzdHJ1Y3QgRWxlbWVudFVwZGF0ZXMgewogICAgIEVsZW1lbnRVcGRhdGUgdXBk
YXRlOwogICAgIERlc2NlbmRhbnRzVG9SZXNvbHZlIGRlc2NlbmRhbnRzVG9SZXNvbHZlIHsgRGVz
Y2VuZGFudHNUb1Jlc29sdmU6Ok5vbmUgfTsKLSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBi
ZWZvcmVQc2V1ZG9FbGVtZW50VXBkYXRlOwotICAgIE9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IGFm
dGVyUHNldWRvRWxlbWVudFVwZGF0ZTsKKyAgICBQc2V1ZG9JZFRvRWxlbWVudFVwZGF0ZU1hcCBw
c2V1ZG9FbGVtZW50VXBkYXRlczsKIH07CiAKIHN0cnVjdCBUZXh0VXBkYXRlIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDJlMTUwMWY5NGFiMjkyNzRmOTEyZTMxNmRiZGE0ZTY3
OTMwZmJkYTQuLjYxYjY4MmEzYmMyM2VlOTI2OTRjNjA1OWQzNzc1MDgwOWYzNTZiZmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTExLTEzICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5p
bWF0aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83
MTI3NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgUEFTUyByZXN1bHRzIGZvciBXUFQgdGVzdHMgcnVubmluZyBhbmltYXRpb25zIG9uIDo6
bWFya2VyIHBzZXVkby1lbGVtZW50cy4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy1tb2phdmUv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby90ZXh0LXNlbGVj
dGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZSBwbGF0Zm9ybS1zcGVjaWZpYyBleHBlY3RhdGlvbgor
ICAgICAgICB0byBicmluZyBhbGwgcGxhdGZvcm1zIGluIGxpbmUuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9l
dmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItYW5pbWF0ZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1
cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0
aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTExLTEzICBBbnRvaW5lIFF1aW50
ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBvcnQgbW9yZSBwcm9wZXJ0aWVz
IG9uIDo6bWFya2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRh
dGl2ZS1leHBlY3RlZC50eHQKaW5kZXggNTliN2EyMjlhZDMzMDQ2NzU1MzUxYjUyMjRhOWI1OWE1
NTRjYzQ1YS4uNjVjOTk5ZDQ3NDhhOThiN2Y2NDRjOTM2MjdhYWJmOTBmNTJkNzc4YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4
dApAQCAtMTYsNSArMTYsNSBAQCBQQVNTIENTUyBBbmltYXRpb25zIGNhbmNlbGVkIHZpYSB0aGUg
QVBJIGFyZSBub3QgcmV0dXJuZWQKIFBBU1MgQ1NTIEFuaW1hdGlvbnMgY2FuY2VsZWQgYW5kIHJl
c3RhcnRlZCB2aWEgdGhlIEFQSSBhcmUgcmV0dXJuZWQKIFBBU1MgcHNldWRvIGVsZW1lbnQgd2l0
aCByZXBsYWNlZCB0YXJnZXQgZG9lcyBub3QgYWZmZWN0IGFuaW1hdGlvbiBvcmRlcmluZwogUEFT
UyBDU1MgQW5pbWF0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZl
IGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZwotRkFJTCBDU1MgQW5pbWF0aW9ucyB0YXJnZXR0
aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29y
dGluZyAoOjptYXJrZXIpIGFzc2VydF9lcXVhbHM6IENTUyBhbmltYXRpb25zIG9uIGJvdGggcHNl
dWRvLWVsZW1lbnRzIGFuZCBlbGVtZW50cyBhcmUgcmV0dXJuZWQgZXhwZWN0ZWQgNSBidXQgZ290
IDQKK1BBU1MgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91
bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFya2VyKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
YW5pbWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3RlZC50
eHQKaW5kZXggMjRkMDE4NDViMjM5MTQxYTE1NjU1Yzk5ZDVmNmY3ODQ0ZTlhNjgxYi4uN2Y5YzBm
ZGE4NjdmMmFhZDhhNTRjYjMxMzhhODM5NjNmMGNjZjc5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5p
bWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L2FuaW1hdGlvbmV2ZW50LW1hcmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMSw1
ICsxLDMgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0KLVRJ
TUVPVVQgQW5pbWF0aW9uRXZlbnQgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgcHNldWRvRWxlbWVu
dCBtZW1lYmVyIFRlc3QgdGltZWQgb3V0CitQQVNTIEFuaW1hdGlvbkV2ZW50IHNob3VsZCBoYXZl
IHRoZSBjb3JyZWN0IHBzZXVkb0VsZW1lbnQgbWVtZWJlcgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9l
dmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVu
dGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAwNGI1Yjg4NGYxMGZjM2E5ZDY1OTdkNDBlZjE2NGUz
MDYzMWYzN2M3Li44MzM1OGE5NmVmM2E5YWNmNzY4MWVlNWM4ZTJkZTg2M2U2ZTBiN2Q0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAK
IFBBU1MgU2FtZSBldmVudHMgYXJlIG9yZGVyZWQgYnkgZWxlbWVudHMKIFBBU1MgU2FtZSBldmVu
dHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlcgotRkFJTCBT
YW1lIGV2ZW50cyBvbiBwc2V1ZG8tZWxlbWVudHMgZm9sbG93IHRoZSBwcmVzY3JpYmVkIG9yZGVy
ICg6Om1hcmtlcikgYXNzZXJ0X2VxdWFsczogTnVtYmVyIG9mIGV2ZW50cyByZWNlaXZlZCAoNCkg
c2hvdWxkIG1hdGNoIGV4cGVjdGVkIG51bWJlciAoNSkgKGV4cGVjdGVkOiBhbmltYXRpb25zdGFy
dCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0
aW9uc3RhcnQsIGFjdHVhbDogYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRp
b25zdGFydCwgYW5pbWF0aW9uc3RhcnQpIGV4cGVjdGVkIDUgYnV0IGdvdCA0CitQQVNTIFNhbWUg
ZXZlbnRzIG9uIHBzZXVkby1lbGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIgKDo6
bWFya2VyKQogRkFJTCBTdGFydCBhbmQgaXRlcmF0aW9uIGV2ZW50cyBhcmUgb3JkZXJlZCBieSB0
aW1lIGFzc2VydF9lcXVhbHM6IEV2ZW50ICMxIHR5cGVzIHNob3VsZCBtYXRjaCAoZXhwZWN0ZWQ6
IGFuaW1hdGlvbml0ZXJhdGlvbiwgYW5pbWF0aW9uc3RhcnQsIGFjdHVhbDogYW5pbWF0aW9uc3Rh
cnQsIGFuaW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQgImFuaW1hdGlvbml0ZXJhdGlvbiIgYnV0
IGdvdCAiYW5pbWF0aW9uc3RhcnQiCiBGQUlMIEl0ZXJhdGlvbiBhbmQgZW5kIGV2ZW50cyBhcmUg
b3JkZXJlZCBieSB0aW1lIGFzc2VydF9lcXVhbHM6IEV2ZW50ICMxIHR5cGVzIHNob3VsZCBtYXRj
aCAoZXhwZWN0ZWQ6IGFuaW1hdGlvbml0ZXJhdGlvbiwgYW5pbWF0aW9uZW5kLCBhY3R1YWw6IGFu
aW1hdGlvbmVuZCwgYW5pbWF0aW9uaXRlcmF0aW9uKSBleHBlY3RlZCAiYW5pbWF0aW9uaXRlcmF0
aW9uIiBidXQgZ290ICJhbmltYXRpb25lbmQiCiBGQUlMIFN0YXJ0IGFuZCBlbmQgZXZlbnRzIGFy
ZSBzb3J0ZWQgY29ycmVjdGx5IHdoZW4gZmlyZWQgc2ltdWx0YW5lb3VzbHkgYXNzZXJ0X2VxdWFs
czogRXZlbnQgIzEgdGFyZ2V0cyBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxk
aXYgc3R5bGU9ImFuaW1hdGlvbjogYW5pbSAxMDBzIDIiPjwvZGl2PiBidXQgZ290IEVsZW1lbnQg
bm9kZSA8ZGl2IHN0eWxlPSJhbmltYXRpb246IGFuaW0gMTAwcyAxMDBzIj48L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItYW5pbWF0ZS1l
eHBlY3RlZC50eHQKaW5kZXggMDcwYmQ0MWYyN2MyMGU2ZDY5YmNhMjcyYWJhOGFiMjk4ZDEyNzU0
ZS4uMDQzMzY1YjEyZDdjMzdjZmI3OGZjZWY2MWM5NjQ5YzJhOWJkNjNkNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVk
by9tYXJrZXItYW5pbWF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItYW5pbWF0ZS1leHBl
Y3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgJ2NvbG9yJyBhbmltYXRpb24gYXNzZXJ0
X2VxdWFsczogY29sb3IgZXhwZWN0ZWQgInJnYigxMDAsIDUwLCAxNTApIiBidXQgZ290ICJyZ2Io
MCwgMCwgMCkiCi1QQVNTICdvcGFjaXR5JyBhbmltYXRpb24KLUZBSUwgJ2NvbG9yJyArICdvcGFj
aXR5JyBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczogY29sb3IgZXhwZWN0ZWQgInJnYigxMDAsIDUw
LCAxNTApIiBidXQgZ290ICJyZ2IoMCwgMCwgMCkiCitQQVNTICdjb2xvcicgYW5pbWF0aW9uCitG
QUlMICdvcGFjaXR5JyBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczogb3BhY2l0eSBleHBlY3RlZCAi
MSIgYnV0IGdvdCAiMC41IgorRkFJTCAnY29sb3InICsgJ29wYWNpdHknIGFuaW1hdGlvbiBhc3Nl
cnRfZXF1YWxzOiBvcGFjaXR5IGV4cGVjdGVkICIxIiBidXQgZ290ICIwLjUiCiBsaXN0IGl0ZW0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRpZXMtaW4tYW5p
bWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRp
ZXMtaW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA4NGI5YzEyNjY1MmM2YWY2NWUzNjgw
ZjA5MjI0NTVmNDNiYTc3ZDU3Li5hNDgyZDE5MGU1YTY4NjVlNzA0MGY0MTNlYzVkNTZkMDk5M2Vl
ZDJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWlu
LWFuaW1hdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21hcmtlci1zdXBwb3J0ZWQt
cHJvcGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDEyIEBACiAK
LUZBSUwgQW5pbWF0aW9uIG9mIGZvbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2YWx1
ZSAibm9ybWFsIG5vcm1hbCBub3JtYWwgbm9ybWFsIDE2cHgvbm9ybWFsIC13ZWJraXQtc3RhbmRh
cmQiIG5vdCBpbiBhcnJheSBbIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4IEFo
ZW0iLCAiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvbm9ybWFsIEFoZW0iXQor
RkFJTCBBbmltYXRpb24gb2YgZm9udCBpbiA6Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZhbHVl
ICJpdGFsaWMgbm9ybWFsIDUwMCBleHBhbmRlZCAxNXB4LzM1cHggLXdlYmtpdC1zdGFuZGFyZCIg
bm90IGluIGFycmF5IFsiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHggQWhlbSIs
ICJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweC9ub3JtYWwgQWhlbSJdCiBGQUlM
IEFuaW1hdGlvbiBvZiBmb250LWZhbWlseSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiQWhlbSIgYnV0IGdvdCAiLXdlYmtpdC1zdGFuZGFyZCIKIEZBSUwgQW5pbWF0aW9uIG9m
IGZvbnQtZmVhdHVyZS1zZXR0aW5ncyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiXCJzbWNwXCIiIGJ1dCBnb3QgIm5vcm1hbCIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQta2Vy
bmluZyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9uZSIgYnV0IGdvdCAi
YXV0byIKLUZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtc2l6ZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiMTVweCIgYnV0IGdvdCAiMTZweCIKK1BBU1MgQW5pbWF0aW9uIG9mIGZv
bnQtc2l6ZSBpbiA6Om1hcmtlcgogRkFJTCBBbmltYXRpb24gb2YgZm9udC1zaXplLWFkanVzdCBp
biA6Om1hcmtlciBhc3NlcnRfdHJ1ZTogZm9udC1zaXplLWFkanVzdCBkb2Vzbid0IHNlZW0gdG8g
YmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCBBbmltYXRpb24gb2YgZm9udC1zdHJldGNoIGluIDo6bWFya2VyIGFzc2VydF9pbl9h
cnJheTogdmFsdWUgIm5vcm1hbCIgbm90IGluIGFycmF5IFsiZXhwYW5kZWQiLCAiMTI1JSJdCi1G
QUlMIEFuaW1hdGlvbiBvZiBmb250LXN0eWxlIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJpdGFsaWMiIGJ1dCBnb3QgIm5vcm1hbCIKK1BBU1MgQW5pbWF0aW9uIG9mIGZvbnQt
c3RyZXRjaCBpbiA6Om1hcmtlcgorUEFTUyBBbmltYXRpb24gb2YgZm9udC1zdHlsZSBpbiA6Om1h
cmtlcgogRkFJTCBBbmltYXRpb24gb2YgZm9udC1zeW50aGVzaXMgaW4gOjptYXJrZXIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIm5vbmUiIGJ1dCBnb3QgInN0eWxlIHdlaWdodCBzbWFsbC1jYXBz
IgogRkFJTCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50IGluIDo6bWFya2VyIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJzbWFsbC1jYXBzIiBidXQgZ290ICJ0YWJ1bGFyLW51bXMiCiBGQUlMIEFu
aW1hdGlvbiBvZiBmb250LXZhcmlhbnQtY2FwcyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAic21hbGwtY2FwcyIgYnV0IGdvdCAibm9ybWFsIgpAQCAtMTQsNyArMTQsNyBAQCBG
QUlMIEFuaW1hdGlvbiBvZiBmb250LXZhcmlhbnQtZWFzdC1hc2lhbiBpbiA6Om1hcmtlciBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiZgogRkFJTCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50LWxp
Z2F0dXJlcyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaGlzdG9yaWNhbC1s
aWdhdHVyZXMiIGJ1dCBnb3QgIm5vcm1hbCIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFu
dC1udW1lcmljIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzbGFzaGVkLXpl
cm8iIGJ1dCBnb3QgInRhYnVsYXItbnVtcyIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFu
dC1wb3NpdGlvbiBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3ViIiBidXQg
Z290ICJub3JtYWwiCi1GQUlMIEFuaW1hdGlvbiBvZiBmb250LXdlaWdodCBpbiA6Om1hcmtlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiNTAwIiBidXQgZ290ICJub3JtYWwiCitQQVNTIEFuaW1h
dGlvbiBvZiBmb250LXdlaWdodCBpbiA6Om1hcmtlcgogRkFJTCBBbmltYXRpb24gb2Ygd2hpdGUt
c3BhY2UgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vd3JhcCIgYnV0IGdv
dCAibm9ybWFsIgogRkFJTCBBbmltYXRpb24gb2YgY29sb3IgaW4gOjptYXJrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInJnYig1MCwgMTUwLCAxMDApIiBidXQgZ290ICJyZ2IoMCwgMCwgMCki
CiBGQUlMIEFuaW1hdGlvbiBvZiB0ZXh0LWNvbWJpbmUtdXByaWdodCBpbiA6Om1hcmtlciBhc3Nl
cnRfdHJ1ZTogdGV4dC1jb21iaW5lLXVwcmlnaHQgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRl
ZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKQEAgLTI4LDE0
ICsyOCwxNCBAQCBGQUlMIEFuaW1hdGlvbiBvZiBsaXN0LXN0eWxlIGluIDo6bWFya2VyIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJvdXRzaWRlIG5vbmUgZAogUEFTUyBBbmltYXRpb24gb2YgbGlz
dC1zdHlsZS1pbWFnZSBpbiA6Om1hcmtlcgogUEFTUyBBbmltYXRpb24gb2YgbGlzdC1zdHlsZS1w
b3NpdGlvbiBpbiA6Om1hcmtlcgogUEFTUyBBbmltYXRpb24gb2YgbGlzdC1zdHlsZS10eXBlIGlu
IDo6bWFya2VyCi1QQVNTIEFuaW1hdGlvbiBvZiBsaW5lLWhlaWdodCBpbiA6Om1hcmtlcgotRkFJ
TCBUcmFuc2l0aW9uIG9mIGZvbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2YWx1ZSAi
aXRhbGljIHNtYWxsLWNhcHMgOTAwIHVsdHJhLWV4cGFuZGVkIDI1cHgvbm9ybWFsIEFoZW0iIG5v
dCBpbiBhcnJheSBbIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4IEFoZW0iLCAi
aXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvbm9ybWFsIEFoZW0iXQorRkFJTCBB
bmltYXRpb24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIm5vcm1hbCIgYnV0IGdvdCAiMzVweCIKK0ZBSUwgVHJhbnNpdGlvbiBvZiBmb250IGluIDo6
bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBh
bmRlZCAxNXB4LzM1cHggQWhlbSIgbm90IGluIGFycmF5IFsiaXRhbGljIHNtYWxsLWNhcHMgNTAw
IGV4cGFuZGVkIDE1cHggQWhlbSIsICJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVw
eC9ub3JtYWwgQWhlbSJdCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1mYW1pbHkgaW4gOjptYXJr
ZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LWZlYXR1cmUtc2V0dGluZ3MgaW4gOjptYXJrZXIK
IEZBSUwgVHJhbnNpdGlvbiBvZiBmb250LWtlcm5pbmcgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIm5vbmUiIGJ1dCBnb3QgImF1dG8iCi1GQUlMIFRyYW5zaXRpb24gb2YgZm9u
dC1zaXplIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxNXB4IiBidXQgZ290
ICIyNXB4IgorUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtc2l6ZSBpbiA6Om1hcmtlcgogRkFJTCBU
cmFuc2l0aW9uIG9mIGZvbnQtc2l6ZS1hZGp1c3QgaW4gOjptYXJrZXIgYXNzZXJ0X3RydWU6IGZv
bnQtc2l6ZS1hZGp1c3QgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0
ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgVHJhbnNpdGlvbiBvZiBmb250
LXN0cmV0Y2ggaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2YWx1ZSAidWx0cmEtZXhwYW5k
ZWQiIG5vdCBpbiBhcnJheSBbImV4cGFuZGVkIiwgIjEyNSUiXQorUEFTUyBUcmFuc2l0aW9uIG9m
IGZvbnQtc3RyZXRjaCBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtc3R5bGUg
aW4gOjptYXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LXN5bnRoZXNpcyBpbiA6Om1hcmtl
cgogUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtdmFyaWFudCBpbiA6Om1hcmtlcgpAQCAtNDQsOSAr
NDQsOSBAQCBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC12YXJpYW50LWVhc3QtYXNpYW4gaW4gOjpt
YXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LXZhcmlhbnQtbGlnYXR1cmVzIGluIDo6bWFy
a2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC12YXJpYW50LW51bWVyaWMgaW4gOjptYXJrZXIK
IFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LXZhcmlhbnQtcG9zaXRpb24gaW4gOjptYXJrZXIKLUZB
SUwgVHJhbnNpdGlvbiBvZiBmb250LXdlaWdodCBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiNTAwIiBidXQgZ290ICI5MDAiCitQQVNTIFRyYW5zaXRpb24gb2YgZm9udC13ZWln
aHQgaW4gOjptYXJrZXIKIEZBSUwgVHJhbnNpdGlvbiBvZiB3aGl0ZS1zcGFjZSBpbiA6Om1hcmtl
ciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm93cmFwIiBidXQgZ290ICJub3JtYWwiCi1GQUlM
IFRyYW5zaXRpb24gb2YgY29sb3IgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJnYig1MCwgMTUwLCAxMDApIiBidXQgZ290ICJyZ2IoMTAwLCAyMDAsIDApIgorUEFTUyBUcmFu
c2l0aW9uIG9mIGNvbG9yIGluIDo6bWFya2VyCiBGQUlMIFRyYW5zaXRpb24gb2YgdGV4dC1jb21i
aW5lLXVwcmlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X3RydWU6IHRleHQtY29tYmluZS11cHJpZ2h0
IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIFRyYW5zaXRpb24gb2YgdW5pY29kZS1iaWRpIGluIDo6
bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJwbGFpbnRleHQiIGJ1dCBnb3QgIm5vcm1h
bCIKIEZBSUwgVHJhbnNpdGlvbiBvZiBkaXJlY3Rpb24gaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInJ0bCIgYnV0IGdvdCAibHRyIgpAQCAtNTgsNSArNTgsNSBAQCBGQUlMIFRy
YW5zaXRpb24gb2YgbGlzdC1zdHlsZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAib3V0c2lkZSBub25lCiBQQVNTIFRyYW5zaXRpb24gb2YgbGlzdC1zdHlsZS1pbWFnZSBpbiA6
Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9mIGxpc3Qtc3R5bGUtcG9zaXRpb24gaW4gOjptYXJr
ZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBsaXN0LXN0eWxlLXR5cGUgaW4gOjptYXJrZXIKLVBBU1Mg
VHJhbnNpdGlvbiBvZiBsaW5lLWhlaWdodCBpbiA6Om1hcmtlcgorRkFJTCBUcmFuc2l0aW9uIG9m
IGxpbmUtaGVpZ2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJub3JtYWwi
IGJ1dCBnb3QgIjM1cHgiCiB0YXJnZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRB
bmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5p
bWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDA5ODQxY2ZmNGFjZDRjNzhmZDIx
OGFmM2Q5MTlmOTY3NzU5YWEwYmIuLjBjM2MzZjM4M2YxOWYxN2UyY2VhYzJjYjVmNzRiY2EzZDM2
ZWUyZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0
aXZlLWV4cGVjdGVkLnR4dApAQCAtNCw2ICs0LDYgQEAgUEFTUyBnZXRBbmltYXRpb25zIGZvciBD
U1MgVHJhbnNpdGlvbnMKIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5zaXRpb25zIHNv
cnQgYnkgcHJvcGVydHkgbmFtZQogUEFTUyBnZXRBbmltYXRpb25zIGZvciBDU1MgVHJhbnNpdGlv
bnMgc29ydCBieSB0cmFuc2l0aW9uIGdlbmVyYXRpb24KIFBBU1MgQ1NTIFRyYW5zaXRpb25zIHRh
cmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBvcmRlciBhZnRl
ciBzb3J0aW5nCi1GQUlMIENTUyBUcmFuc2l0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1l
bnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZyAoOjptYXJrZXIpIGFz
c2VydF9lcXVhbHM6IENTUyB0cmFuc2l0aW9uIG9uIGJvdGggcHNldWRvLWVsZW1lbnRzIGFuZCBl
bGVtZW50cyBhcmUgcmV0dXJuZWQgZXhwZWN0ZWQgNSBidXQgZ290IDQKK1BBU1MgQ1NTIFRyYW5z
aXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBv
cmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikKIFBBU1MgVHJhbnNpdGlvbnMgYXJlIG5vdCBy
ZXR1cm5lZCBhZnRlciB0aGV5IGhhdmUgZmluaXNoZWQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL3RleHQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXBzZXVkby90ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDU4NGQ5N2U5ZDdmMGUyYzI4NDJiNjM4MzVmNDEyOWYxMTgwYzNlZTIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLW1vamF2ZS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHNldWRvL3RleHQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEx
ICswLDAgQEAKLWhlbGxvd29ybGQKLWhlbGxvd29ybGQKLWhlbGxvd29ybGQKLQotRkFJTCBTZWxl
Y3Rpb24gZW5kaW5nIGluIDo6YmVmb3JlIGFzc2VydF9lcXVhbHM6IHRvU3RyaW5nIGV4cGVjdGVk
ICJoZWxsbyIgYnV0IGdvdCAiIgotUEFTUyBTZWxlY3Rpb24gY29udGFpbmVkIGluIDo6YmVmb3Jl
Ci1GQUlMIFNlbGVjdGlvbiBlbmRpbmcgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogdG9TdHJp
bmcgZXhwZWN0ZWQgImhlbGxvIiBidXQgZ290ICIiCi1QQVNTIFNlbGVjdGlvbiBjb250YWluZWQg
aW4gOjptYXJrZXIKLUZBSUwgU2VsZWN0aW9uIGVuZGluZyBpbiA6OmJlZm9yZS1tYXJrZXIgYXNz
ZXJ0X2VxdWFsczogdG9TdHJpbmcgZXhwZWN0ZWQgImhlbGxvIiBidXQgZ290ICIiCi1GQUlMIFNl
bGVjdGlvbiBjb250YWluZWQgaW4gOjpiZWZvcmUtbWFya2VyIGFzc2VydF9lcXVhbHM6IHRvU3Ry
aW5nIGV4cGVjdGVkICIiIGJ1dCBnb3QgImgiCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414046</attachid>
            <date>2020-11-13 08:25:59 -0800</date>
            <delta_ts>2020-11-13 08:47:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201113172557.patch</filename>
            <type>text/plain</type>
            <size>39763</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjY2E2NTFlNDg0MDdm
NDlkNTM4MDhlNjljN2ZjNGVjZWMzNTk3My4uMTgyODk3ZGZlMzc2MjFjNDNlODZhODk4MzJhYWM3
MjJmMWM4MGY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTExLTEzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBkb20vUHNldWRv
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKTogUmVmYWN0b3Igd2hhdCB3YXMgb3JpZ2luYWxseSBpc1RhcmdldGVkQnlLZXlmcmFt
ZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQorICAgICAgICBpbnRvIHRoaXMgbWV0aG9k
IHNpbmNlIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
IHdhcyByZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6UHNldWRvRWxlbWVudDo6aXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogUmVtb3ZlIHRoaXMgbWV0
aG9kIGZyb20gUHNldWRvRWxlbWVudCBzaW5jZQorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgdGhh
dCBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgUHNldWRvRWxlbWVudCBuZWVkIHNpbWlsYXIgbG9n
aWMsIHdoaWNoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgc3RhdGljCisgICAgICAgIGZ1
bmN0aW9uIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0Vs
ZW1lbnQoKSBpbiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwLgorICAgICAg
ICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50VXBkYXRl
cyBpbnN0ZWFkIG9mIGp1c3QgdGhlIEVsZW1lbnRVcGRhdGUgdG8KKyAgICAgICAgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKCkgc3VjaCB0aGF0IGl0IG1heSBwcm9jZXNzIHRoZSBuZXcgcHNldWRvRWxl
bWVudFVwZGF0ZXMgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50
VXBkYXRlcyBhbmQgYSBQc2V1ZG9JZCB0bworICAgICAgICB1cGRhdGVQc2V1ZG9FbGVtZW50KCkg
c3VjaCB0aGF0IGl0IG1heSB1c2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIg
aW4gY29tYmluYXRpb24gd2l0aCB0aGUgUHNldWRvSWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdo
YXQgRWxlbWVudFVwZGF0ZSB0byB1c2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBk
YXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxl
bWVudFVwZGF0ZXMgYW5kIGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVu
dCgpIHN1Y2ggdGhhdCBpdCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVt
YmVyIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWlu
ZSB3aGF0IEVsZW1lbnRVcGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcik6IFVzZSB0aGUgbmV3IHBzZXVkb0VsZW1l
bnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRlcyB0byBzZXQgdGhlCisgICAgICAgIHBz
ZXVkby1lbGVtZW50IHN0eWxlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVsZW1lbnRJc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBOZXcgc3RhdGlj
IG1ldGhvZCBtZWFudCB0byByZXBsYWNlIHRoZSByZW1vdmVkCisgICAgICAgIFBzZXVkb0VsZW1l
bnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIHN1
Y2ggdGhhdCB3ZSBtYXkgdXNlIHRoaXMgbWV0aG9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorICAg
ICAgICB0aGUgcHNldWRvLWVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgUHNldWRvRWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMpOiBVc2UgZWxlbWVudElz
VGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIGluc3RlYWQg
b2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNUYXJnZXRlZEJ5S2V5ZnJh
bWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudCk6IExv
b2sgdXAgYWxsIEVsZW1lbnRVcGRhdGUgZm9yIHRoZSBwcm92aWRlZCBQc2V1ZG9JZAorICAgICAg
ICBpbiB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRl
cyBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hhdCBFbGVtZW50VXBkYXRlIHRvIHByb2Nlc3MuIEFs
c28sIHVzZQorICAgICAgICBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkgaW5zdGVhZCBvZiB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9F
bGVtZW50Ojppc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50
OjpuZWVkc1BzZXVkb0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpy
ZXNvbHZlRWxlbWVudCk6IFJlc29sdmUgYW55IHB1YmxpYyBwc2V1ZG8tZWxlbWVudCBpbnN0ZWFk
IG9mIGp1c3QgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIKKyAgICAgICAgYW5kIHNhdmUgdGhvc2UgaW4g
dGhlIG5ldyBFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIuIAorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKTog
UmVzb2x2ZSBhbnkgcHNldWRvLWVsZW1lbnQgc2V0IG9uIGFuIGVsZW1lbnQgdGhhdCBlaXRoZXIg
aGFzIGFuaW1hdGlvbnMKKyAgICAgICAgc2V0IG9uIGl0LCBlaXRoZXIgc2V0IGJ5IFdlYiBBbmlt
YXRpb25zLCBhcyBzZWVuIG9uIHRoZSBLZXlmcmFtZUVmZmVjdFN0YWNrLCBvciB5ZXQgdG8gYmUg
YXBwbGllZCB0aHJvdWdoIGEgQ1NTIEFuaW1hdGlvbiBvcgorICAgICAgICBDU1MgVHJhbnNpdGlv
biwgYXMgc2VlbiBvbiB0aGUgUmVuZGVyU3R5bGUuCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVVwZGF0ZS5oOiBBZGQgYSBuZXcgcHNl
dWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyIG9uIEVsZW1lbnRVcGRhdGVzLgorCiAyMDIwLTExLTEz
ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBvcnQg
bW9yZSBwcm9wZXJ0aWVzIG9uIDo6bWFya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcAppbmRleCA5ZTE4MmNjODlmZjBkOTE2OWM0MDczZjAzOTRiZjBkMTJi
NzA3YzVjLi5jMmY1OWI2MWY1ZDU4ZjE2NDQ4OGM3MzMzMGMxYjk4YzlhZWI5YTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTcyLDE0ICs3Miwx
MiBAQCBzdGF0aWMgRWxlbWVudCogZWxlbWVudE9yUHNldWRvRWxlbWVudEZvclN0eWxlYWJsZShj
b25zdCBPcHRpb25hbDxjb25zdCBTdHlsZWFibAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgIHN3aXRjaCAoc3R5bGVhYmxlLT5wc2V1ZG9JZCkgewotICAgIGNhc2UgUHNldWRvSWQ6Ok5v
bmU6Ci0gICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50OwogICAgIGNhc2UgUHNldWRv
SWQ6OkJlZm9yZToKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+ZWxlbWVudC5iZWZvcmVQc2V1
ZG9FbGVtZW50KCk7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QWZ0ZXI6CiAgICAgICAgIHJldHVybiBz
dHlsZWFibGUtPmVsZW1lbnQuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CiAgICAgZGVmYXVsdDoKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50
OwogICAgIH0KIH0KIApAQCAtMTE0NywxNyArMTE0NSwxNSBAQCBib29sIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRzUHNldWRvRWxlbWVudCgpIGNvbnN0CiAKIEVsZW1lbnQqIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRFbGVtZW50T3JQc2V1ZG9FbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIXRhcmdl
dHNQc2V1ZG9FbGVtZW50KCkpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC5nZXQoKTsKKyAgICBp
ZiAobV90YXJnZXQpIHsKKyAgICAgICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9y
ZSkKKyAgICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YmVmb3JlUHNldWRvRWxlbWVudCgpOwog
Ci0gICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkKLSAgICAgICAgcmV0dXJu
IG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7Ci0KLSAgICBpZiAobV9wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6QWZ0ZXIpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9F
bGVtZW50KCk7CisgICAgICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikKKyAg
ICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgfQog
Ci0gICAgLy8gV2Ugb25seSBzdXBwb3J0IHRhcmdldGluZyA6OmJlZm9yZSBhbmQgOjphZnRlciBw
c2V1ZG8tZWxlbWVudHMgYXQgdGhlIG1vbWVudC4KLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBy
ZXR1cm4gbV90YXJnZXQuZ2V0KCk7CiB9CiAKIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OnNldFRhcmdl
dChSZWZQdHI8RWxlbWVudD4mJiBuZXdUYXJnZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUHNldWRvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVu
dC5jcHAKaW5kZXggNzFkYzM3ZGZmMWM4YTIzMjlmMjU2ZWI3Njk0NjNkYjE2YTAwMDc0NS4uMzlh
MDQyOWEzM2QxNDkxN2VjNWZlOTcxYzAyMTQ0NWNjNjhkOWM4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
c2V1ZG9FbGVtZW50LmNwcApAQCAtODMsMTEgKzgzLDkgQEAgdm9pZCBQc2V1ZG9FbGVtZW50Ojpj
bGVhckhvc3RFbGVtZW50KCkKIAogYm9vbCBQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklzTmVlZGVk
KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKLSAgICByZXR1cm4gcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQoJnN0eWxlKSB8fCBpc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVp
cmluZ1BzZXVkb0VsZW1lbnQoKTsKLX0KKyAgICBpZiAocHNldWRvRWxlbWVudFJlbmRlcmVySXNO
ZWVkZWQoJnN0eWxlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKLWJvb2wgUHNldWRvRWxlbWVu
dDo6aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkKLXsK
ICAgICBpZiAobV9ob3N0RWxlbWVudCkgewogICAgICAgICBpZiAoYXV0byogc3RhY2sgPSBtX2hv
c3RFbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKCkpKQogICAgICAgICAgICAg
cmV0dXJuIHN0YWNrLT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5oCmluZGV4IDVkOWFmODUxMTY0Y2Y3Yzc1NWJkNzlkZWZmMzJiMzFiYzA3ZGYzMzku
LjJkMmEwYjE1OGNlMDE2YjUxMDU1MWNiZmE4OTBkMjE0Y2ZiMjdiNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuaApAQCAtNDEsNyArNDEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVh
ckhvc3RFbGVtZW50KCk7CiAKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVy
U3R5bGUmKSBvdmVycmlkZTsKLSAgICBib29sIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpOwogCiAgICAgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Db250YWluUmFuZ2VF
bmRQb2ludCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApp
bmRleCAwMjhkNjBhYWE1NWZiYjYxZDE0YWUxZDU0ZjgyZWM2MzdiYzljZTI2Li5jMThlMTBlOTJh
MTQwYTdiNDM5NjQzZDUzOTc2Y2FlZmE3NDA0ZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTE5MSw3
ICsxOTEsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRh
aW5lck5vZGUmIHJvb3QpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZWxlbWVudFVwZGF0ZXMp
Ci0gICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwgZWxlbWVudFVwZGF0
ZXMtPnVwZGF0ZSk7CisgICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwg
KmVsZW1lbnRVcGRhdGVzKTsKIAogICAgICAgICBzdG9yZVByZXZpb3VzUmVuZGVyZXIoZWxlbWVu
dCk7CiAKQEAgLTI1MSwxMyArMjUxLDEzIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnBvcFBh
cmVudHNUb0RlcHRoKHVuc2lnbmVkIGRlcHRoKQogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBk
YXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1l
bnRVcGRhdGVzKiB1cGRhdGVzKQogewogICAgIGlmICh1cGRhdGVzKQotICAgICAgICBnZW5lcmF0
ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50LCB1cGRhdGVzLT5iZWZvcmVQ
c2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6QmVmb3JlKTsKKyAgICAgICAgZ2VuZXJhdGVk
Q29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgKnVwZGF0ZXMsIFBzZXVkb0lk
OjpCZWZvcmUpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2Nl
bmRhbnRzKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBk
YXRlcykKIHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVw
ZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBk
YXRlLCBQc2V1ZG9JZDo6QWZ0ZXIpOworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRl
UHNldWRvRWxlbWVudChlbGVtZW50LCAqdXBkYXRlcywgUHNldWRvSWQ6OkFmdGVyKTsKIAogICAg
IGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIp
CkBAIC0yOTcsMTMgKzI5NywyMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5k
ZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBSZW5kZXJTdHlsZQogICAgIG1fYnVp
bGRlci5ub3JtYWxpemVUcmVlQWZ0ZXJTdHlsZUNoYW5nZShyZW5kZXJlciwgb2xkU3R5bGUpOwog
fQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmIHVwZGF0ZSkKK3ZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMpCiB7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OlN0eWxlQ2hhbmdlU2NvcGUgb2Jz
ZXJ2aW5nU2NvcGUobV9kb2N1bWVudCwgZWxlbWVudCk7CiAjZW5kaWYKIAotICAgIGJvb2wgc2hv
dWxkVGVhckRvd25SZW5kZXJlcnMgPSB1cGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJl
bmRlcmVyICYmIChlbGVtZW50LnJlbmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVu
dHMoKSk7CisgICAgYXV0byYgZWxlbWVudFVwZGF0ZSA9IHVwZGF0ZXMudXBkYXRlOworICAgIGF1
dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCplbGVtZW50VXBk
YXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLnBzZXVkb0VsZW1lbnRV
cGRhdGVzKSB7CisgICAgICAgIGF1dG8gcHNldWRvSWQgPSBpdC5rZXk7CisgICAgICAgIGlmIChw
c2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IHBzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRl
cikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBlbGVtZW50VXBkYXRlU3R5bGUtPmFk
ZENhY2hlZFBzZXVkb1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0cigqaXQudmFsdWUuc3R5bGUp
KTsKKyAgICB9CisKKyAgICBib29sIHNob3VsZFRlYXJEb3duUmVuZGVyZXJzID0gZWxlbWVudFVw
ZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVy
ZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3BsYXlDb250ZW50cygpKTsKICAgICBpZiAoc2hvdWxkVGVh
ckRvd25SZW5kZXJlcnMpIHsKICAgICAgICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkpIHsKICAg
ICAgICAgICAgIC8vIFdlIG1heSBiZSB0ZWFyaW5nIGRvd24gYSBkZXNjZW5kYW50IHJlbmRlcmVy
IGNhY2hlZCBpbiByZW5kZXJUcmVlUG9zaXRpb24uCkBAIC0zMTEsMTUgKzMyMSwxNSBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgU3R5bGU6OkVsZQogICAgICAgICB9CiAKICAgICAgICAgLy8gZGlzcGxheTpub25l
IGNhbmNlbHMgYW5pbWF0aW9ucy4KLSAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSB1cGRhdGUu
c3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSA/IFRlYXJkb3duVHlwZTo6UmVu
ZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmltYXRpb25zIDogVGVhcmRvd25UeXBlOjpSZW5kZXJlclVw
ZGF0ZTsKKyAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5k
aXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBk
YXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGU7CiAg
ICAgICAgIHRlYXJEb3duUmVuZGVyZXJzKGVsZW1lbnQsIHRlYXJkb3duVHlwZSwgbV9idWlsZGVy
KTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lDaGlsZFJl
bmRlcmVyID0gdHJ1ZTsKICAgICB9CiAKLSAgICBib29sIGhhc0Rpc3BsYXlDb250ZW50cyA9IHVw
ZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpDb250ZW50czsKKyAgICBib29s
IGhhc0Rpc3BsYXlDb250ZW50cyA9IGVsZW1lbnRVcGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Q29udGVudHM7CiAgICAgaWYgKGhhc0Rpc3BsYXlDb250ZW50cykKLSAgICAg
ICAgZWxlbWVudC5zdG9yZURpc3BsYXlDb250ZW50c1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0
cigqdXBkYXRlLnN0eWxlKSk7CisgICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNT
dHlsZShXVEZNb3ZlKGVsZW1lbnRVcGRhdGVTdHlsZSkpOwogICAgIGVsc2UKICAgICAgICAgZWxl
bWVudC5yZXNldENvbXB1dGVkU3R5bGUoKTsKIApAQCAtMzI3LDcgKzMzNyw3IEBAIHZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlCiAgICAgaWYgKHNob3VsZENyZWF0ZU5ld1JlbmRlcmVyKSB7CiAgICAg
ICAgIGlmIChlbGVtZW50Lmhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpKQogICAgICAg
ICAgICAgZWxlbWVudC53aWxsQXR0YWNoUmVuZGVyZXJzKCk7Ci0gICAgICAgIGNyZWF0ZVJlbmRl
cmVyKGVsZW1lbnQsIFJlbmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSk7CisgICAgICAg
IGNyZWF0ZVJlbmRlcmVyKGVsZW1lbnQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSkpOwog
CiAgICAgICAgIHJlbmRlcmluZ1BhcmVudCgpLmRpZENyZWF0ZU9yRGVzdHJveUNoaWxkUmVuZGVy
ZXIgPSB0cnVlOwogICAgICAgICByZXR1cm47CkBAIC0zMzcsMjAgKzM0NywyMCBAQCB2b2lkIFJl
bmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwg
Y29uc3QgU3R5bGU6OkVsZQogICAgICAgICByZXR1cm47CiAgICAgYXV0byYgcmVuZGVyZXIgPSAq
ZWxlbWVudC5yZW5kZXJlcigpOwogCi0gICAgaWYgKHVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7
Ci0gICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVyZXIsIFJlbmRlclN0eWxlOjpjbG9u
ZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpSZWNvbXBvc2l0ZUxheWVyKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7CisgICAgICAgIHVwZGF0ZVJl
bmRlcmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxl
RGlmZmVyZW5jZTo6UmVjb21wb3NpdGVMYXllcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBpZiAodXBkYXRlLmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpOb25lKSB7Ci0gICAgICAg
IGlmIChwc2V1ZG9TdHlsZUNhY2hlSXNJbnZhbGlkKCZyZW5kZXJlciwgdXBkYXRlLnN0eWxlLmdl
dCgpKSkgewotICAgICAgICAgICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVy
U3R5bGU6OmNsb25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkgeworICAg
ICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIGVsZW1lbnRVcGRh
dGVTdHlsZS5nZXQoKSkpIHsKKyAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVy
ZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJTdHlsZTo6Y2xvbmUo
KnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwpOworICAgIHVwZGF0ZVJlbmRl
cmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlm
ZmVyZW5jZTo6RXF1YWwpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpjcmVhdGVSZW5k
ZXJlcihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAppbmRl
eCAyMzQwMzRjODMzMTdjYTYxODdlMWJlYmFiN2NlMTcwZjFkNzQ1MmNiLi4zOTYxNTM3YmJmNjlk
NGExMjdkYjE4MzE2NWUxMDg4YzVhNjU1ZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaApAQCAtNTgsNyArNTgsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUmVuZGVyVHJlZShDb250YWluZXJOb2RlJiByb290
KTsKICAgICB2b2lkIHVwZGF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6OlRleHRV
cGRhdGUqKTsKICAgICB2b2lkIGNyZWF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6
OlRleHRVcGRhdGUqKTsKLSAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50Jiwg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmKTsKKyAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5k
ZXJlcihFbGVtZW50JiwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzJik7CiAgICAgdm9pZCB1
cGRhdGVSZW5kZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBTdHlsZURp
ZmZlcmVuY2UpOwogICAgIHZvaWQgY3JlYXRlUmVuZGVyZXIoRWxlbWVudCYsIFJlbmRlclN0eWxl
JiYpOwogICAgIHZvaWQgdXBkYXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYsIGNvbnN0IFN0
eWxlOjpFbGVtZW50VXBkYXRlcyopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRD
b250ZW50LmNwcAppbmRleCAwZTljNDlhNzJjZTRhOGZkZjY4YTRjMjdiNmRlNDBmOTYxMWYyZjk4
Li42MmU3ZTJjNzdiMmI0MGZlYmJmYTk2MWI4M2E3ODM4MzhjMTZjMTM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0
ZWRDb250ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcApAQCAtNjksNyArNjksMjAgQEAgdm9p
ZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUXVvdGVzVXBUbyhS
ZW5kZXJRdW90ZSogbGFzdFF1b3QKICAgICBBU1NFUlQoIWxhc3RRdW90ZSk7CiB9CiAKLXN0YXRp
YyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIs
IFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUp
CitzdGF0aWMgYm9vbCBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQ
c2V1ZG9FbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIFBzZXVkb0lkIHBzZXVkb0lkKQor
eworICAgIGlmIChpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSkKKyAgICAgICAgcmV0dXJuIGVs
ZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoZG93
bmNhc3Q8UHNldWRvRWxlbWVudD4oKmVsZW1lbnQpLmhvc3RFbGVtZW50KCksIHBzZXVkb0lkKTsK
KworICAgIGlmIChlbGVtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBzdGFjayA9IGVsZW1lbnQt
PmtleWZyYW1lRWZmZWN0U3RhY2socHNldWRvSWQpKQorICAgICAgICAgICAgcmV0dXJuIHN0YWNr
LT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3N0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXIm
IGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUsIFBzZXVkb0lkIHBzZXVkb0lkKQogewogICAgIGlmIChhdXRvKiBjb250ZW50RGF0
YSA9IHN0eWxlLmNvbnRlbnREYXRhKCkpIHsKICAgICAgICAgZm9yIChjb25zdCBDb250ZW50RGF0
YSogY29udGVudCA9IGNvbnRlbnREYXRhOyBjb250ZW50OyBjb250ZW50ID0gY29udGVudC0+bmV4
dCgpKSB7CkBAIC04MCw3ICs5Myw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJl
cnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzCiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gVGhlIG9ubHkgdmFsaWQgc2NlbmFyaW8gd2hlcmUgdGhpcyBtZXRo
b2QgaXMgY2FsbGVkIHdpdGhvdXQgdGhlICJjb250ZW50IiBwcm9wZXJ0eSBiZWluZyBzZXQKICAg
ICAgICAgLy8gaXMgdGhlIGNhc2Ugd2hlcmUgYSBwc2V1ZG8tZWxlbWVudCBoYXMgYW5pbWF0aW9u
cyBzZXQgb24gaXQgdmlhIHRoZSBXZWIgQW5pbWF0aW9ucyBBUEkuCi0gICAgICAgIEFTU0VSVChp
czxQc2V1ZG9FbGVtZW50Pihwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpICYmIGRvd25jYXN0PFBz
ZXVkb0VsZW1lbnQ+KCpwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpLmlzVGFyZ2V0ZWRCeUtleWZy
YW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChwc2V1ZG9JZCwgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNl
dWRvRWxlbWVudChwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCksIHBzZXVkb0lkKSk7CiAgICAgfQog
fQogCkBAIC05NCwxNCArMTA3LDIxIEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVN0eWxlRm9yQ29udGVu
dFJlbmRlcmVycyhSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QKICAgICB9CiB9
CiAKLXZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVk
b0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwgY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRV
cGRhdGU+JiB1cGRhdGUsIFBzZXVkb0lkIHBzZXVkb0lkKQordm9pZCBSZW5kZXJUcmVlVXBkYXRl
cjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50
LCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMsIFBzZXVkb0lkIHBzZXVkb0lk
KQogewogICAgIFBzZXVkb0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QmVmb3JlID8gY3VycmVudC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBjdXJyZW50LmFm
dGVyUHNldWRvRWxlbWVudCgpOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gcHNldWRvRWxl
bWVudCA/IHBzZXVkb0VsZW1lbnQtPnJlbmRlcmVyKCkgOiBudWxscHRyKQogICAgICAgICBtX3Vw
ZGF0ZXIucmVuZGVyVHJlZVBvc2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5nKCpyZW5kZXJl
cik7CiAKLSAgICBpZiAoIW5lZWRzUHNldWRvRWxlbWVudCh1cGRhdGUpICYmICghcHNldWRvRWxl
bWVudCB8fCAhcHNldWRvRWxlbWVudC0+aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkpKSB7CisgICAgYXV0byogdXBkYXRlID0gWyZdKCkgLT4gY29uc3Qg
U3R5bGU6OkVsZW1lbnRVcGRhdGUqIHsKKyAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMu
cHNldWRvRWxlbWVudFVwZGF0ZXMuZmluZChwc2V1ZG9JZCk7CisgICAgICAgIGlmIChpdGVyYXRv
ciAhPSB1cGRhdGVzLnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAgcmV0
dXJuICZpdGVyYXRvci0+dmFsdWU7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0oKTsK
KworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkgJiYgKCFwc2V1ZG9FbGVtZW50
IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVt
ZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAgICAgaWYgKHBzZXVkb0VsZW1l
bnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQogICAg
ICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQoY3VycmVudCwgbV91cGRhdGVy
Lm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS0+Y2hhbmdlID09IFN0eWxl
OjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBkYXRlLT5jaGFuZ2UgPT0gU3R5
bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcHNldWRvRWxlbWVudCA9
ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQpOwpAQCAtMTI1LDEwICsxNDUs
MTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNl
dWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBjb250ZW50c1N0eWxlLT5jb3B5
Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAgIFN0eWxlOjpFbGVtZW50VXBk
YXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0eWxlKSwgdXBkYXRlLT5jaGFu
Z2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAgICBtX3VwZGF0ZXIudXBkYXRl
RWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50c1VwZGF0ZSk7CisgICAgICAg
IFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMgeyBXVEZNb3ZlKGNvbnRlbnRz
VXBkYXRlKSwgU3R5bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lLCB7IH0gfTsKKyAgICAg
ICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxlbWVudCwgV1RGTW92
ZShjb250ZW50c1VwZGF0ZXMpKTsKICAgICAgICAgcHNldWRvRWxlbWVudC0+c3RvcmVEaXNwbGF5
Q29udGVudHNTdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpKTsKICAg
ICB9IGVsc2UgewotICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1
ZG9FbGVtZW50LCAqdXBkYXRlKTsKKyAgICAgICAgYXV0byBwc2V1ZG9FbGVtZW50VXBkYXRlU3R5
bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBTdHls
ZTo6RWxlbWVudFVwZGF0ZSBwc2V1ZG9FbGVtZW50VXBkYXRlIHsgV1RGTW92ZShwc2V1ZG9FbGVt
ZW50VXBkYXRlU3R5bGUpLCB1cGRhdGUtPmNoYW5nZSwgdXBkYXRlLT5yZWNvbXBvc2l0ZUxheWVy
IH07CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyB7
IFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZSksIFN0eWxlOjpEZXNjZW5kYW50c1RvUmVzb2x2
ZTo6Tm9uZSwgeyB9IH07CisgICAgICAgIG1fdXBkYXRlci51cGRhdGVFbGVtZW50UmVuZGVyZXIo
KnBzZXVkb0VsZW1lbnQsIFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZXMpKTsKICAgICAgICAg
QVNTRVJUKCFwc2V1ZG9FbGVtZW50LT5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgfQogCkBA
IC0xMzcsNyArMTYxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVu
dDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAodXBkYXRlLT5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIpCi0g
ICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVk
b0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBjcmVhdGVDb250ZW50
UmVuZGVyZXJzKG1fdXBkYXRlci5tX2J1aWxkZXIsICpwc2V1ZG9FbGVtZW50UmVuZGVyZXIsICp1
cGRhdGUtPnN0eWxlLCBwc2V1ZG9JZCk7CiAgICAgZWxzZQogICAgICAgICB1cGRhdGVTdHlsZUZv
ckNvbnRlbnRSZW5kZXJlcnMoKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUp
OwogCkBAIC0xNDgsNyArMTcyLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVk
Q29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgIG1fdXBk
YXRlci5tX2J1aWxkZXIudXBkYXRlQWZ0ZXJEZXNjZW5kYW50cygqcHNldWRvRWxlbWVudFJlbmRl
cmVyKTsKIH0KIAotYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVl
ZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRlPiYgdXBk
YXRlKQorYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1
ZG9FbGVtZW50KGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlKiB1cGRhdGUpCiB7CiAgICAgaWYg
KCF1cGRhdGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdl
bmVyYXRlZENvbnRlbnQuaAppbmRleCAwMmUxZGIxOGZhOTEzMmUxMmFlZThmZTBjYTFkMDUzMDg2
Mjc3MzAxLi4zNDg4YzAzYjA1YjU1NWMyN2QxN2FjMWY0YzdlMThlZGY1ZjFmMTkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJH
ZW5lcmF0ZWRDb250ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oCkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50IHsKIHB1YmxpYzoKICAgICBH
ZW5lcmF0ZWRDb250ZW50KFJlbmRlclRyZWVVcGRhdGVyJik7CiAKLSAgICB2b2lkIHVwZGF0ZVBz
ZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRl
PiYsIFBzZXVkb0lkKTsKKyAgICB2b2lkIHVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNv
bnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyYsIFBzZXVkb0lkKTsKICAgICB2b2lkIHVwZGF0ZVJl
bWFpbmluZ1F1b3RlcygpOwogCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQmVmb3JlUHNldWRvRWxl
bWVudChFbGVtZW50JiwgUmVuZGVyVHJlZUJ1aWxkZXImKTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVF1b3Rlc1VwVG8oUmVuZGVyUXVvdGUqKTsK
ICAgICAKLSAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBPcHRpb25hbDxTdHlsZTo6
RWxlbWVudFVwZGF0ZT4mKTsKKyAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBTdHls
ZTo6RWxlbWVudFVwZGF0ZSopOwogCiAgICAgUmVuZGVyVHJlZVVwZGF0ZXImIG1fdXBkYXRlcjsK
ICAgICBXZWFrUHRyPFJlbmRlclF1b3RlPiBtX3ByZXZpb3VzVXBkYXRlZFF1b3RlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IGRiZTE0NjI3MDcyMTNh
NWQ5Yjk1ZDJhNDgyZjY3NDY1ZDhmMGZhNzkuLjRmMDVhZjJiYWFiNmE0YTZlNDJhZWMwOWU1MGM3
Y2FjODcwYzkwZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJl
c29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5j
cHAKQEAgLTI0NCw4ICsyNDQsMTMgQEAgRWxlbWVudFVwZGF0ZXMgVHJlZVJlc29sdmVyOjpyZXNv
bHZlRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogICAgICAgICB9CiAgICAgfQogCi0gICAgYXV0
byBiZWZvcmVVcGRhdGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRlLCBQc2V1
ZG9JZDo6QmVmb3JlKTsKLSAgICBhdXRvIGFmdGVyVXBkYXRlID0gcmVzb2x2ZVBzZXVkb1N0eWxl
KGVsZW1lbnQsIHVwZGF0ZSwgUHNldWRvSWQ6OkFmdGVyKTsKKyAgICBQc2V1ZG9JZFRvRWxlbWVu
dFVwZGF0ZU1hcCBwc2V1ZG9VcGRhdGVzOworICAgIGZvciAoUHNldWRvSWQgcHNldWRvSWQgPSBQ
c2V1ZG9JZDo6Rmlyc3RQdWJsaWNQc2V1ZG9JZDsgcHNldWRvSWQgPCBQc2V1ZG9JZDo6Rmlyc3RJ
bnRlcm5hbFBzZXVkb0lkOyBwc2V1ZG9JZCA9IHN0YXRpY19jYXN0PFBzZXVkb0lkPihzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4ocHNldWRvSWQpICsgMSkpIHsKKyAgICAgICAgaWYgKHVwZGF0ZS5zdHls
ZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQpKSB7CisgICAgICAgICAgICBpZiAoYXV0byBlbGVt
ZW50VXBkYXRlID0gcmVzb2x2ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgcHNldWRvSWQp
KQorICAgICAgICAgICAgICAgIHBzZXVkb1VwZGF0ZXMuc2V0KHBzZXVkb0lkLCBXVEZNb3ZlKCpl
bGVtZW50VXBkYXRlKSk7CisgICAgICAgIH0KKyAgICB9CiAKICNpZiBFTkFCTEUoVE9VQ0hfQUNU
SU9OX1JFR0lPTlMpCiAgICAgLy8gRklYTUU6IFRyYWNrIHRoaXMgZXhhY3RseS4KQEAgLTI1Nywy
MiArMjYyLDIxIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQo
RWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgbV9kb2N1bWVudC5zZXRNYXlIYXZlRWRpdGFibGVF
bGVtZW50cygpOwogI2VuZGlmCiAKLSAgICByZXR1cm4geyBXVEZNb3ZlKHVwZGF0ZSksIGRlc2Nl
bmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKGJlZm9yZVVwZGF0ZSksIFdURk1vdmUoYWZ0ZXJVcGRh
dGUpIH07CisgICAgcmV0dXJuIHsgV1RGTW92ZSh1cGRhdGUpLCBkZXNjZW5kYW50c1RvUmVzb2x2
ZSwgV1RGTW92ZShwc2V1ZG9VcGRhdGVzKSB9OwogfQogCi1FbGVtZW50VXBkYXRlIFRyZWVSZXNv
bHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEVsZW1lbnRV
cGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBzZXVkb0lkIHBzZXVkb0lkKQorT3B0aW9uYWw8RWxlbWVu
dFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNldWRvU3R5bGUoRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVwZGF0ZSwgUHNldWRvSWQgcHNldWRvSWQp
CiB7CisgICAgQVNTRVJUKGVsZW1lbnRVcGRhdGUuc3R5bGUtPmhhc1BzZXVkb1N0eWxlKHBzZXVk
b0lkKSk7CisKICAgICBpZiAoZWxlbWVudFVwZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3Bs
YXlUeXBlOjpOb25lKQogICAgICAgICByZXR1cm4geyB9OwotICAgIGlmICghZWxlbWVudFVwZGF0
ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQpKQotICAgICAgICByZXR1cm4geyB9Owog
CiAgICAgYXV0byBwc2V1ZG9TdHlsZSA9IHNjb3BlKCkucmVzb2x2ZXIucHNldWRvU3R5bGVGb3JF
bGVtZW50KGVsZW1lbnQsIHsgcHNldWRvSWQgfSwgKmVsZW1lbnRVcGRhdGUuc3R5bGUsIHBhcmVu
dEJveFN0eWxlRm9yUHNldWRvKGVsZW1lbnRVcGRhdGUpLCAmc2NvcGUoKS5zZWxlY3RvckZpbHRl
cik7CiAgICAgaWYgKCFwc2V1ZG9TdHlsZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1
dG8qIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlID8gZWxlbWVu
dC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBlbGVtZW50LmFmdGVyUHNldWRvRWxlbWVudCgpOwot
ICAgIGJvb2wgaGFzQW5pbWF0aW9ucyA9IHBzZXVkb0VsZW1lbnQgJiYgcHNldWRvRWxlbWVudC0+
aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7CisgICAg
Ym9vbCBoYXNBbmltYXRpb25zID0gcHNldWRvU3R5bGUtPmhhc0FuaW1hdGlvbnNPclRyYW5zaXRp
b25zKCkgfHwgZWxlbWVudC5oYXNLZXlmcmFtZUVmZmVjdHMocHNldWRvSWQpOwogICAgIGlmICgh
cHNldWRvRWxlbWVudFJlbmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpICYmICFoYXNB
bmltYXRpb25zKQogICAgICAgICByZXR1cm4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVUcmVlUmVzb2x2ZXIuaAppbmRleCBjMjk3MzQyZmVlODU0OTRhOWE2YWJkMWNlOTgyOGQ5Nzcy
MjNjMTE4Li44N2JlYTlhZmJlMzRhOWM5ZWM5NWY2NzExNmU3OTBhZGUzNjBkNjQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJp
dmF0ZToKICAgICBFbGVtZW50VXBkYXRlcyByZXNvbHZlRWxlbWVudChFbGVtZW50Jik7CiAKICAg
ICBFbGVtZW50VXBkYXRlIGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9w
dHI8UmVuZGVyU3R5bGU+LCBjb25zdCBTdHlsZWFibGUmLCBDaGFuZ2UpOwotICAgIEVsZW1lbnRV
cGRhdGUgcmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwg
UHNldWRvSWQpOworICAgIE9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IHJlc29sdmVQc2V1ZG9TdHls
ZShFbGVtZW50JiwgY29uc3QgRWxlbWVudFVwZGF0ZSYsIFBzZXVkb0lkKTsKIAogICAgIHN0cnVj
dCBTY29wZSA6IFJlZkNvdW50ZWQ8U2NvcGU+IHsKICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZB
U1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKFRyZWVSZXNvbHZlclNjb3BlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oCmluZGV4IDFjNjEyZGZhOTQ2NDMyZDI0ZDdmNDZhZDY0
OTk5YTRlNzNmM2UxZmEuLjA0YzYwNDJkMDcwNWUzMWMyNTE1YmViYzdhZmM1NzQ5ZmYzOTgzNzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuaApAQCAtNTAsMTEgKzUwLDEyIEBAIHN0cnVj
dCBFbGVtZW50VXBkYXRlIHsKIAogZW51bSBjbGFzcyBEZXNjZW5kYW50c1RvUmVzb2x2ZSB7IE5v
bmUsIENoaWxkcmVuV2l0aEV4cGxpY2l0SW5oZXJpdCwgQ2hpbGRyZW4sIEFsbCB9OwogCit1c2lu
ZyBQc2V1ZG9JZFRvRWxlbWVudFVwZGF0ZU1hcCA9IEhhc2hNYXA8UHNldWRvSWQsIEVsZW1lbnRV
cGRhdGUsIFdURjo6SW50SGFzaDxQc2V1ZG9JZD4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8
UHNldWRvSWQ+PjsKKwogc3RydWN0IEVsZW1lbnRVcGRhdGVzIHsKICAgICBFbGVtZW50VXBkYXRl
IHVwZGF0ZTsKICAgICBEZXNjZW5kYW50c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7
IERlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lIH07Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0
ZT4gYmVmb3JlUHNldWRvRWxlbWVudFVwZGF0ZTsKLSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRl
PiBhZnRlclBzZXVkb0VsZW1lbnRVcGRhdGU7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVN
YXAgcHNldWRvRWxlbWVudFVwZGF0ZXM7CiB9OwogCiBzdHJ1Y3QgVGV4dFVwZGF0ZSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyZTE1MDFmOTRhYjI5Mjc0ZjkxMmUzMTZkYmRh
NGU2NzkzMGZiZGE0Li42MWI2ODJhM2JjMjNlZTkyNjk0YzYwNTlkMzc3NTA4MDlmMzU2YmZkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0xMS0x
MyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0
IGFuaW1hdGlvbnMgb24gbW9yZSBwc2V1ZG8tZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc5MgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzEyNzQ0ODU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIFBBU1MgcmVzdWx0cyBmb3IgV1BUIHRlc3RzIHJ1bm5pbmcgYW5pbWF0aW9ucyBv
biA6Om1hcmtlciBwc2V1ZG8tZWxlbWVudHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9q
YXZlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vdGV4dC1z
ZWxlY3Rpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmUgcGxhdGZvcm0tc3BlY2lmaWMgZXhwZWN0YXRp
b24KKyAgICAgICAgdG8gYnJpbmcgYWxsIHBsYXRmb3JtcyBpbiBsaW5lLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9u
cy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21hcmtl
ci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFu
aW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0xMS0xMyAgQW50b2luZSBR
dWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBTdXBwb3J0IG1vcmUgcHJvcGVy
dGllcyBvbiA6Om1hcmtlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9u
cy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50
ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IDU5YjdhMjI5YWQzMzA0Njc1NTM1MWI1MjI0YTli
NTlhNTU0Y2M0NWEuLjY1Yzk5OWQ0NzQ4YTk4YjdmNjQ0YzkzNjI3YWFiZjkwZjUyZDc3OGIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1hbmltYXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKQEAgLTE2LDUgKzE2LDUgQEAgUEFTUyBDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCB2aWEg
dGhlIEFQSSBhcmUgbm90IHJldHVybmVkCiBQQVNTIENTUyBBbmltYXRpb25zIGNhbmNlbGVkIGFu
ZCByZXN0YXJ0ZWQgdmlhIHRoZSBBUEkgYXJlIHJldHVybmVkCiBQQVNTIHBzZXVkbyBlbGVtZW50
IHdpdGggcmVwbGFjZWQgdGFyZ2V0IGRvZXMgbm90IGFmZmVjdCBhbmltYXRpb24gb3JkZXJpbmcK
IFBBU1MgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQg
aGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcKLUZBSUwgQ1NTIEFuaW1hdGlvbnMgdGFy
Z2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVy
IHNvcnRpbmcgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxzOiBDU1MgYW5pbWF0aW9ucyBvbiBib3Ro
IHBzZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVkIGV4cGVjdGVkIDUgYnV0
IGdvdCA0CitQQVNTIENTUyBBbmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMg
c2hvdWxkIGhhdmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0
ZWQudHh0CmluZGV4IDI0ZDAxODQ1YjIzOTE0MWExNTY1NWM5OWQ1ZjZmNzg0NGU5YTY4MWIuLjdm
OWMwZmRhODY3ZjJhYWQ4YTU0Y2IzMTM4YTgzOTYzZjBjY2Y3OTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L2FuaW1hdGlvbmV2ZW50LW1hcmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0
aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3RlZC50eHQKQEAg
LTEsNSArMSwzIEBACiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAot
Ci1USU1FT1VUIEFuaW1hdGlvbkV2ZW50IHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IHBzZXVkb0Vs
ZW1lbnQgbWVtZWJlciBUZXN0IHRpbWVkIG91dAorUEFTUyBBbmltYXRpb25FdmVudCBzaG91bGQg
aGF2ZSB0aGUgY29ycmVjdCBwc2V1ZG9FbGVtZW50IG1lbWViZXIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVy
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggMDRiNWI4ODRmMTBmYzNhOWQ2NTk3ZDQwZWYx
NjRlMzA2MzFmMzdjNy4uODMzNThhOTZlZjNhOWFjZjc2ODFlZTVjOGUyZGU4NjNlNmUwYjdkNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5p
bWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBA
QAogCiBQQVNTIFNhbWUgZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IGVsZW1lbnRzCiBQQVNTIFNhbWUg
ZXZlbnRzIG9uIHBzZXVkby1lbGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIKLUZB
SUwgU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBv
cmRlciAoOjptYXJrZXIpIGFzc2VydF9lcXVhbHM6IE51bWJlciBvZiBldmVudHMgcmVjZWl2ZWQg
KDQpIHNob3VsZCBtYXRjaCBleHBlY3RlZCBudW1iZXIgKDUpIChleHBlY3RlZDogYW5pbWF0aW9u
c3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFu
aW1hdGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5p
bWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0KSBleHBlY3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBT
YW1lIGV2ZW50cyBvbiBwc2V1ZG8tZWxlbWVudHMgZm9sbG93IHRoZSBwcmVzY3JpYmVkIG9yZGVy
ICg6Om1hcmtlcikKIEZBSUwgU3RhcnQgYW5kIGl0ZXJhdGlvbiBldmVudHMgYXJlIG9yZGVyZWQg
YnkgdGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4cGVj
dGVkOiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1hdGlv
bnN0YXJ0LCBhbmltYXRpb25pdGVyYXRpb24pIGV4cGVjdGVkICJhbmltYXRpb25pdGVyYXRpb24i
IGJ1dCBnb3QgImFuaW1hdGlvbnN0YXJ0IgogRkFJTCBJdGVyYXRpb24gYW5kIGVuZCBldmVudHMg
YXJlIG9yZGVyZWQgYnkgdGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQg
bWF0Y2ggKGV4cGVjdGVkOiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbmVuZCwgYWN0dWFs
OiBhbmltYXRpb25lbmQsIGFuaW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQgImFuaW1hdGlvbml0
ZXJhdGlvbiIgYnV0IGdvdCAiYW5pbWF0aW9uZW5kIgogRkFJTCBTdGFydCBhbmQgZW5kIGV2ZW50
cyBhcmUgc29ydGVkIGNvcnJlY3RseSB3aGVuIGZpcmVkIHNpbXVsdGFuZW91c2x5IGFzc2VydF9l
cXVhbHM6IEV2ZW50ICMxIHRhcmdldHMgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIEVsZW1lbnQgbm9k
ZSA8ZGl2IHN0eWxlPSJhbmltYXRpb246IGFuaW0gMTAwcyAyIj48L2Rpdj4gYnV0IGdvdCBFbGVt
ZW50IG5vZGUgPGRpdiBzdHlsZT0iYW5pbWF0aW9uOiBhbmltIDEwMHMgMTAwcyI+PC9kaXY+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL21hcmtlci1hbmltYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1h
dGUtZXhwZWN0ZWQudHh0CmluZGV4IDA3MGJkNDFmMjdjMjBlNmQ2OWJjYTI3MmFiYThhYjI5OGQx
Mjc1NGUuLjA0MzM2NWIxMmQ3YzM3Y2ZiNzhmY2VmNjFjOTY0OWMyYTliZDYzZDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
c2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUt
ZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMICdjb2xvcicgYW5pbWF0aW9uIGFz
c2VydF9lcXVhbHM6IGNvbG9yIGV4cGVjdGVkICJyZ2IoMTAwLCA1MCwgMTUwKSIgYnV0IGdvdCAi
cmdiKDAsIDAsIDApIgotUEFTUyAnb3BhY2l0eScgYW5pbWF0aW9uCi1GQUlMICdjb2xvcicgKyAn
b3BhY2l0eScgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IGNvbG9yIGV4cGVjdGVkICJyZ2IoMTAw
LCA1MCwgMTUwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDApIgorUEFTUyAnY29sb3InIGFuaW1hdGlv
bgorRkFJTCAnb3BhY2l0eScgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IG9wYWNpdHkgZXhwZWN0
ZWQgIjEiIGJ1dCBnb3QgIjAuNSIKK0ZBSUwgJ2NvbG9yJyArICdvcGFjaXR5JyBhbmltYXRpb24g
YXNzZXJ0X2VxdWFsczogb3BhY2l0eSBleHBlY3RlZCAiMSIgYnV0IGdvdCAiMC41IgogbGlzdCBp
dGVtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWlu
LWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9w
ZXJ0aWVzLWluLWFuaW1hdGlvbi1leHBlY3RlZC50eHQKaW5kZXggODRiOWMxMjY2NTJjNmFmNjVl
MzY4MGYwOTIyNDU1ZjQzYmE3N2Q1Ny4uYTQ4MmQxOTBlNWE2ODY1ZTcwNDBmNDEzZWM1ZDU2ZDA5
OTNlZWQyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21hcmtlci1zdXBwb3J0ZWQtcHJvcGVydGll
cy1pbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9y
dGVkLXByb3BlcnRpZXMtaW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxMiBA
QAogCi1GQUlMIEFuaW1hdGlvbiBvZiBmb250IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTog
dmFsdWUgIm5vcm1hbCBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNnB4L25vcm1hbCAtd2Via2l0LXN0
YW5kYXJkIiBub3QgaW4gYXJyYXkgWyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVw
eCBBaGVtIiwgIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVt
Il0KK0ZBSUwgQW5pbWF0aW9uIG9mIGZvbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2
YWx1ZSAiaXRhbGljIG5vcm1hbCA1MDAgZXhwYW5kZWQgMTVweC8zNXB4IC13ZWJraXQtc3RhbmRh
cmQiIG5vdCBpbiBhcnJheSBbIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4IEFo
ZW0iLCAiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvbm9ybWFsIEFoZW0iXQog
RkFJTCBBbmltYXRpb24gb2YgZm9udC1mYW1pbHkgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIkFoZW0iIGJ1dCBnb3QgIi13ZWJraXQtc3RhbmRhcmQiCiBGQUlMIEFuaW1hdGlv
biBvZiBmb250LWZlYXR1cmUtc2V0dGluZ3MgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIlwic21jcFwiIiBidXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250
LWtlcm5pbmcgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vbmUiIGJ1dCBn
b3QgImF1dG8iCi1GQUlMIEFuaW1hdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjE2cHgiCitQQVNTIEFuaW1hdGlvbiBv
ZiBmb250LXNpemUgaW4gOjptYXJrZXIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtc2l6ZS1hZGp1
c3QgaW4gOjptYXJrZXIgYXNzZXJ0X3RydWU6IGZvbnQtc2l6ZS1hZGp1c3QgZG9lc24ndCBzZWVt
IHRvIGJlIHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtc3RyZXRjaCBpbiA6Om1hcmtlciBhc3NlcnRf
aW5fYXJyYXk6IHZhbHVlICJub3JtYWwiIG5vdCBpbiBhcnJheSBbImV4cGFuZGVkIiwgIjEyNSUi
XQotRkFJTCBBbmltYXRpb24gb2YgZm9udC1zdHlsZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiaXRhbGljIiBidXQgZ290ICJub3JtYWwiCitQQVNTIEFuaW1hdGlvbiBvZiBm
b250LXN0cmV0Y2ggaW4gOjptYXJrZXIKK1BBU1MgQW5pbWF0aW9uIG9mIGZvbnQtc3R5bGUgaW4g
OjptYXJrZXIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtc3ludGhlc2lzIGluIDo6bWFya2VyIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJub25lIiBidXQgZ290ICJzdHlsZSB3ZWlnaHQgc21hbGwt
Y2FwcyIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFudCBpbiA6Om1hcmtlciBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAic21hbGwtY2FwcyIgYnV0IGdvdCAidGFidWxhci1udW1zIgogRkFJ
TCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50LWNhcHMgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInNtYWxsLWNhcHMiIGJ1dCBnb3QgIm5vcm1hbCIKQEAgLTE0LDcgKzE0LDcg
QEAgRkFJTCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50LWVhc3QtYXNpYW4gaW4gOjptYXJrZXIg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImYKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFu
dC1saWdhdHVyZXMgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImhpc3Rvcmlj
YWwtbGlnYXR1cmVzIiBidXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LXZh
cmlhbnQtbnVtZXJpYyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2xhc2hl
ZC16ZXJvIiBidXQgZ290ICJ0YWJ1bGFyLW51bXMiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LXZh
cmlhbnQtcG9zaXRpb24gaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN1YiIg
YnV0IGdvdCAibm9ybWFsIgotRkFJTCBBbmltYXRpb24gb2YgZm9udC13ZWlnaHQgaW4gOjptYXJr
ZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjUwMCIgYnV0IGdvdCAibm9ybWFsIgorUEFTUyBB
bmltYXRpb24gb2YgZm9udC13ZWlnaHQgaW4gOjptYXJrZXIKIEZBSUwgQW5pbWF0aW9uIG9mIHdo
aXRlLXNwYWNlIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJub3dyYXAiIGJ1
dCBnb3QgIm5vcm1hbCIKIEZBSUwgQW5pbWF0aW9uIG9mIGNvbG9yIGluIDo6bWFya2VyIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoNTAsIDE1MCwgMTAwKSIgYnV0IGdvdCAicmdiKDAsIDAs
IDApIgogRkFJTCBBbmltYXRpb24gb2YgdGV4dC1jb21iaW5lLXVwcmlnaHQgaW4gOjptYXJrZXIg
YXNzZXJ0X3RydWU6IHRleHQtY29tYmluZS11cHJpZ2h0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBw
b3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCkBAIC0y
OCwxNCArMjgsMTQgQEAgRkFJTCBBbmltYXRpb24gb2YgbGlzdC1zdHlsZSBpbiA6Om1hcmtlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAib3V0c2lkZSBub25lIGQKIFBBU1MgQW5pbWF0aW9uIG9m
IGxpc3Qtc3R5bGUtaW1hZ2UgaW4gOjptYXJrZXIKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5
bGUtcG9zaXRpb24gaW4gOjptYXJrZXIKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5bGUtdHlw
ZSBpbiA6Om1hcmtlcgotUEFTUyBBbmltYXRpb24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIK
LUZBSUwgVHJhbnNpdGlvbiBvZiBmb250IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFs
dWUgIml0YWxpYyBzbWFsbC1jYXBzIDkwMCB1bHRyYS1leHBhbmRlZCAyNXB4L25vcm1hbCBBaGVt
IiBub3QgaW4gYXJyYXkgWyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVt
IiwgIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KK0ZB
SUwgQW5pbWF0aW9uIG9mIGxpbmUtaGVpZ2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJub3JtYWwiIGJ1dCBnb3QgIjM1cHgiCitGQUlMIFRyYW5zaXRpb24gb2YgZm9udCBp
biA6Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZhbHVlICJpdGFsaWMgc21hbGwtY2FwcyA1MDAg
ZXhwYW5kZWQgMTVweC8zNXB4IEFoZW0iIG5vdCBpbiBhcnJheSBbIml0YWxpYyBzbWFsbC1jYXBz
IDUwMCBleHBhbmRlZCAxNXB4IEFoZW0iLCAiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVk
IDE1cHgvbm9ybWFsIEFoZW0iXQogUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtZmFtaWx5IGluIDo6
bWFya2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1mZWF0dXJlLXNldHRpbmdzIGluIDo6bWFy
a2VyCiBGQUlMIFRyYW5zaXRpb24gb2YgZm9udC1rZXJuaW5nIGluIDo6bWFya2VyIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJub25lIiBidXQgZ290ICJhdXRvIgotRkFJTCBUcmFuc2l0aW9uIG9m
IGZvbnQtc2l6ZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTVweCIgYnV0
IGdvdCAiMjVweCIKK1BBU1MgVHJhbnNpdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIKIEZB
SUwgVHJhbnNpdGlvbiBvZiBmb250LXNpemUtYWRqdXN0IGluIDo6bWFya2VyIGFzc2VydF90cnVl
OiBmb250LXNpemUtYWRqdXN0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNv
bXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFRyYW5zaXRpb24gb2Yg
Zm9udC1zdHJldGNoIGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgInVsdHJhLWV4
cGFuZGVkIiBub3QgaW4gYXJyYXkgWyJleHBhbmRlZCIsICIxMjUlIl0KK1BBU1MgVHJhbnNpdGlv
biBvZiBmb250LXN0cmV0Y2ggaW4gOjptYXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LXN0
eWxlIGluIDo6bWFya2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1zeW50aGVzaXMgaW4gOjpt
YXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LXZhcmlhbnQgaW4gOjptYXJrZXIKQEAgLTQ0
LDkgKzQ0LDkgQEAgUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIGlu
IDo6bWFya2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC12YXJpYW50LWxpZ2F0dXJlcyBpbiA6
Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtdmFyaWFudC1udW1lcmljIGluIDo6bWFy
a2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC12YXJpYW50LXBvc2l0aW9uIGluIDo6bWFya2Vy
Ci1GQUlMIFRyYW5zaXRpb24gb2YgZm9udC13ZWlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIjUwMCIgYnV0IGdvdCAiOTAwIgorUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQt
d2VpZ2h0IGluIDo6bWFya2VyCiBGQUlMIFRyYW5zaXRpb24gb2Ygd2hpdGUtc3BhY2UgaW4gOjpt
YXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vd3JhcCIgYnV0IGdvdCAibm9ybWFsIgot
RkFJTCBUcmFuc2l0aW9uIG9mIGNvbG9yIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJyZ2IoNTAsIDE1MCwgMTAwKSIgYnV0IGdvdCAicmdiKDEwMCwgMjAwLCAwKSIKK1BBU1Mg
VHJhbnNpdGlvbiBvZiBjb2xvciBpbiA6Om1hcmtlcgogRkFJTCBUcmFuc2l0aW9uIG9mIHRleHQt
Y29tYmluZS11cHJpZ2h0IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiB0ZXh0LWNvbWJpbmUtdXBy
aWdodCBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCBUcmFuc2l0aW9uIG9mIHVuaWNvZGUtYmlkaSBp
biA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicGxhaW50ZXh0IiBidXQgZ290ICJu
b3JtYWwiCiBGQUlMIFRyYW5zaXRpb24gb2YgZGlyZWN0aW9uIGluIDo6bWFya2VyIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJydGwiIGJ1dCBnb3QgImx0ciIKQEAgLTU4LDUgKzU4LDUgQEAgRkFJ
TCBUcmFuc2l0aW9uIG9mIGxpc3Qtc3R5bGUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIm91dHNpZGUgbm9uZQogUEFTUyBUcmFuc2l0aW9uIG9mIGxpc3Qtc3R5bGUtaW1hZ2Ug
aW4gOjptYXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBsaXN0LXN0eWxlLXBvc2l0aW9uIGluIDo6
bWFya2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgbGlzdC1zdHlsZS10eXBlIGluIDo6bWFya2VyCi1Q
QVNTIFRyYW5zaXRpb24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIKK0ZBSUwgVHJhbnNpdGlv
biBvZiBsaW5lLWhlaWdodCBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9y
bWFsIiBidXQgZ290ICIzNXB4IgogdGFyZ2V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQt
Z2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdl
dEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAwOTg0MWNmZjRhY2Q0Yzc4
ZmQyMThhZjNkOTE5Zjk2Nzc1OWFhMGJiLi4wYzNjM2YzODNmMTlmMTdlMmNlYWMyY2I1Zjc0YmNh
M2QzNmVlMmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw2IEBAIFBBU1MgZ2V0QW5pbWF0aW9ucyBm
b3IgQ1NTIFRyYW5zaXRpb25zCiBQQVNTIGdldEFuaW1hdGlvbnMgZm9yIENTUyBUcmFuc2l0aW9u
cyBzb3J0IGJ5IHByb3BlcnR5IG5hbWUKIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5z
aXRpb25zIHNvcnQgYnkgdHJhbnNpdGlvbiBnZW5lcmF0aW9uCiBQQVNTIENTUyBUcmFuc2l0aW9u
cyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIg
YWZ0ZXIgc29ydGluZwotRkFJTCBDU1MgVHJhbnNpdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSll
bGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFya2Vy
KSBhc3NlcnRfZXF1YWxzOiBDU1MgdHJhbnNpdGlvbiBvbiBib3RoIHBzZXVkby1lbGVtZW50cyBh
bmQgZWxlbWVudHMgYXJlIHJldHVybmVkIGV4cGVjdGVkIDUgYnV0IGdvdCA0CitQQVNTIENTUyBU
cmFuc2l0aW9ucyB0YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJl
Y3Qgb3JkZXIgYWZ0ZXIgc29ydGluZyAoOjptYXJrZXIpCiBQQVNTIFRyYW5zaXRpb25zIGFyZSBu
b3QgcmV0dXJuZWQgYWZ0ZXIgdGhleSBoYXZlIGZpbmlzaGVkCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXBzZXVkby90ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtbW9qYXZlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wc2V1ZG8vdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1ODRkOTdlOWQ3ZjBlMmMyODQyYjYzODM1ZjQxMjlmMTE4MGMzZWUyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXBzZXVkby90ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwxMSArMCwwIEBACi1oZWxsb3dvcmxkCi1oZWxsb3dvcmxkCi1oZWxsb3dvcmxkCi0KLUZBSUwg
U2VsZWN0aW9uIGVuZGluZyBpbiA6OmJlZm9yZSBhc3NlcnRfZXF1YWxzOiB0b1N0cmluZyBleHBl
Y3RlZCAiaGVsbG8iIGJ1dCBnb3QgIiIKLVBBU1MgU2VsZWN0aW9uIGNvbnRhaW5lZCBpbiA6OmJl
Zm9yZQotRkFJTCBTZWxlY3Rpb24gZW5kaW5nIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IHRv
U3RyaW5nIGV4cGVjdGVkICJoZWxsbyIgYnV0IGdvdCAiIgotUEFTUyBTZWxlY3Rpb24gY29udGFp
bmVkIGluIDo6bWFya2VyCi1GQUlMIFNlbGVjdGlvbiBlbmRpbmcgaW4gOjpiZWZvcmUtbWFya2Vy
IGFzc2VydF9lcXVhbHM6IHRvU3RyaW5nIGV4cGVjdGVkICJoZWxsbyIgYnV0IGdvdCAiIgotRkFJ
TCBTZWxlY3Rpb24gY29udGFpbmVkIGluIDo6YmVmb3JlLW1hcmtlciBhc3NlcnRfZXF1YWxzOiB0
b1N0cmluZyBleHBlY3RlZCAiIiBidXQgZ290ICJoIgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414049</attachid>
            <date>2020-11-13 08:48:01 -0800</date>
            <delta_ts>2020-11-13 10:29:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201113174759.patch</filename>
            <type>text/plain</type>
            <size>39805</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjY2E2NTFlNDg0MDdm
NDlkNTM4MDhlNjljN2ZjNGVjZWMzNTk3My4uMTgyODk3ZGZlMzc2MjFjNDNlODZhODk4MzJhYWM3
MjJmMWM4MGY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTExLTEzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBkb20vUHNldWRv
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKTogUmVmYWN0b3Igd2hhdCB3YXMgb3JpZ2luYWxseSBpc1RhcmdldGVkQnlLZXlmcmFt
ZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQorICAgICAgICBpbnRvIHRoaXMgbWV0aG9k
IHNpbmNlIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
IHdhcyByZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6UHNldWRvRWxlbWVudDo6aXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogUmVtb3ZlIHRoaXMgbWV0
aG9kIGZyb20gUHNldWRvRWxlbWVudCBzaW5jZQorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgdGhh
dCBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgUHNldWRvRWxlbWVudCBuZWVkIHNpbWlsYXIgbG9n
aWMsIHdoaWNoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgc3RhdGljCisgICAgICAgIGZ1
bmN0aW9uIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0Vs
ZW1lbnQoKSBpbiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwLgorICAgICAg
ICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50VXBkYXRl
cyBpbnN0ZWFkIG9mIGp1c3QgdGhlIEVsZW1lbnRVcGRhdGUgdG8KKyAgICAgICAgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKCkgc3VjaCB0aGF0IGl0IG1heSBwcm9jZXNzIHRoZSBuZXcgcHNldWRvRWxl
bWVudFVwZGF0ZXMgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50
VXBkYXRlcyBhbmQgYSBQc2V1ZG9JZCB0bworICAgICAgICB1cGRhdGVQc2V1ZG9FbGVtZW50KCkg
c3VjaCB0aGF0IGl0IG1heSB1c2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIg
aW4gY29tYmluYXRpb24gd2l0aCB0aGUgUHNldWRvSWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdo
YXQgRWxlbWVudFVwZGF0ZSB0byB1c2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBk
YXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxl
bWVudFVwZGF0ZXMgYW5kIGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVu
dCgpIHN1Y2ggdGhhdCBpdCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVt
YmVyIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWlu
ZSB3aGF0IEVsZW1lbnRVcGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcik6IFVzZSB0aGUgbmV3IHBzZXVkb0VsZW1l
bnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRlcyB0byBzZXQgdGhlCisgICAgICAgIHBz
ZXVkby1lbGVtZW50IHN0eWxlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVsZW1lbnRJc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBOZXcgc3RhdGlj
IG1ldGhvZCBtZWFudCB0byByZXBsYWNlIHRoZSByZW1vdmVkCisgICAgICAgIFBzZXVkb0VsZW1l
bnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIHN1
Y2ggdGhhdCB3ZSBtYXkgdXNlIHRoaXMgbWV0aG9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorICAg
ICAgICB0aGUgcHNldWRvLWVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgUHNldWRvRWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMpOiBVc2UgZWxlbWVudElz
VGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIGluc3RlYWQg
b2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNUYXJnZXRlZEJ5S2V5ZnJh
bWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudCk6IExv
b2sgdXAgYWxsIEVsZW1lbnRVcGRhdGUgZm9yIHRoZSBwcm92aWRlZCBQc2V1ZG9JZAorICAgICAg
ICBpbiB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRl
cyBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hhdCBFbGVtZW50VXBkYXRlIHRvIHByb2Nlc3MuIEFs
c28sIHVzZQorICAgICAgICBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkgaW5zdGVhZCBvZiB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9F
bGVtZW50Ojppc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50
OjpuZWVkc1BzZXVkb0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpy
ZXNvbHZlRWxlbWVudCk6IFJlc29sdmUgYW55IHB1YmxpYyBwc2V1ZG8tZWxlbWVudCBpbnN0ZWFk
IG9mIGp1c3QgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIKKyAgICAgICAgYW5kIHNhdmUgdGhvc2UgaW4g
dGhlIG5ldyBFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIuIAorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKTog
UmVzb2x2ZSBhbnkgcHNldWRvLWVsZW1lbnQgc2V0IG9uIGFuIGVsZW1lbnQgdGhhdCBlaXRoZXIg
aGFzIGFuaW1hdGlvbnMKKyAgICAgICAgc2V0IG9uIGl0LCBlaXRoZXIgc2V0IGJ5IFdlYiBBbmlt
YXRpb25zLCBhcyBzZWVuIG9uIHRoZSBLZXlmcmFtZUVmZmVjdFN0YWNrLCBvciB5ZXQgdG8gYmUg
YXBwbGllZCB0aHJvdWdoIGEgQ1NTIEFuaW1hdGlvbiBvcgorICAgICAgICBDU1MgVHJhbnNpdGlv
biwgYXMgc2VlbiBvbiB0aGUgUmVuZGVyU3R5bGUuCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVVwZGF0ZS5oOiBBZGQgYSBuZXcgcHNl
dWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyIG9uIEVsZW1lbnRVcGRhdGVzLgorCiAyMDIwLTExLTEz
ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBvcnQg
bW9yZSBwcm9wZXJ0aWVzIG9uIDo6bWFya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcAppbmRleCA5ZTE4MmNjODlmZjBkOTE2OWM0MDczZjAzOTRiZjBkMTJi
NzA3YzVjLi5jMmY1OWI2MWY1ZDU4ZjE2NDQ4OGM3MzMzMGMxYjk4YzlhZWI5YTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTcyLDE0ICs3Miwx
MiBAQCBzdGF0aWMgRWxlbWVudCogZWxlbWVudE9yUHNldWRvRWxlbWVudEZvclN0eWxlYWJsZShj
b25zdCBPcHRpb25hbDxjb25zdCBTdHlsZWFibAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgIHN3aXRjaCAoc3R5bGVhYmxlLT5wc2V1ZG9JZCkgewotICAgIGNhc2UgUHNldWRvSWQ6Ok5v
bmU6Ci0gICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50OwogICAgIGNhc2UgUHNldWRv
SWQ6OkJlZm9yZToKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+ZWxlbWVudC5iZWZvcmVQc2V1
ZG9FbGVtZW50KCk7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QWZ0ZXI6CiAgICAgICAgIHJldHVybiBz
dHlsZWFibGUtPmVsZW1lbnQuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CiAgICAgZGVmYXVsdDoKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50
OwogICAgIH0KIH0KIApAQCAtMTE0NywxNyArMTE0NSwxNSBAQCBib29sIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRzUHNldWRvRWxlbWVudCgpIGNvbnN0CiAKIEVsZW1lbnQqIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRFbGVtZW50T3JQc2V1ZG9FbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIXRhcmdl
dHNQc2V1ZG9FbGVtZW50KCkpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC5nZXQoKTsKKyAgICBp
ZiAobV90YXJnZXQpIHsKKyAgICAgICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9y
ZSkKKyAgICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YmVmb3JlUHNldWRvRWxlbWVudCgpOwog
Ci0gICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkKLSAgICAgICAgcmV0dXJu
IG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7Ci0KLSAgICBpZiAobV9wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6QWZ0ZXIpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9F
bGVtZW50KCk7CisgICAgICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikKKyAg
ICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgfQog
Ci0gICAgLy8gV2Ugb25seSBzdXBwb3J0IHRhcmdldGluZyA6OmJlZm9yZSBhbmQgOjphZnRlciBw
c2V1ZG8tZWxlbWVudHMgYXQgdGhlIG1vbWVudC4KLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBy
ZXR1cm4gbV90YXJnZXQuZ2V0KCk7CiB9CiAKIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OnNldFRhcmdl
dChSZWZQdHI8RWxlbWVudD4mJiBuZXdUYXJnZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUHNldWRvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVu
dC5jcHAKaW5kZXggNzFkYzM3ZGZmMWM4YTIzMjlmMjU2ZWI3Njk0NjNkYjE2YTAwMDc0NS4uMzlh
MDQyOWEzM2QxNDkxN2VjNWZlOTcxYzAyMTQ0NWNjNjhkOWM4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
c2V1ZG9FbGVtZW50LmNwcApAQCAtODMsMTEgKzgzLDkgQEAgdm9pZCBQc2V1ZG9FbGVtZW50Ojpj
bGVhckhvc3RFbGVtZW50KCkKIAogYm9vbCBQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklzTmVlZGVk
KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKLSAgICByZXR1cm4gcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQoJnN0eWxlKSB8fCBpc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVp
cmluZ1BzZXVkb0VsZW1lbnQoKTsKLX0KKyAgICBpZiAocHNldWRvRWxlbWVudFJlbmRlcmVySXNO
ZWVkZWQoJnN0eWxlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKLWJvb2wgUHNldWRvRWxlbWVu
dDo6aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkKLXsK
ICAgICBpZiAobV9ob3N0RWxlbWVudCkgewogICAgICAgICBpZiAoYXV0byogc3RhY2sgPSBtX2hv
c3RFbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKCkpKQogICAgICAgICAgICAg
cmV0dXJuIHN0YWNrLT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5oCmluZGV4IDVkOWFmODUxMTY0Y2Y3Yzc1NWJkNzlkZWZmMzJiMzFiYzA3ZGYzMzku
LjJkMmEwYjE1OGNlMDE2YjUxMDU1MWNiZmE4OTBkMjE0Y2ZiMjdiNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuaApAQCAtNDEsNyArNDEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVh
ckhvc3RFbGVtZW50KCk7CiAKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVy
U3R5bGUmKSBvdmVycmlkZTsKLSAgICBib29sIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpOwogCiAgICAgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Db250YWluUmFuZ2VF
bmRQb2ludCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApp
bmRleCAwMjhkNjBhYWE1NWZiYjYxZDE0YWUxZDU0ZjgyZWM2MzdiYzljZTI2Li5jMThlMTBlOTJh
MTQwYTdiNDM5NjQzZDUzOTc2Y2FlZmE3NDA0ZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTE5MSw3
ICsxOTEsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRh
aW5lck5vZGUmIHJvb3QpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZWxlbWVudFVwZGF0ZXMp
Ci0gICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwgZWxlbWVudFVwZGF0
ZXMtPnVwZGF0ZSk7CisgICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwg
KmVsZW1lbnRVcGRhdGVzKTsKIAogICAgICAgICBzdG9yZVByZXZpb3VzUmVuZGVyZXIoZWxlbWVu
dCk7CiAKQEAgLTI1MSwxMyArMjUxLDEzIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnBvcFBh
cmVudHNUb0RlcHRoKHVuc2lnbmVkIGRlcHRoKQogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBk
YXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1l
bnRVcGRhdGVzKiB1cGRhdGVzKQogewogICAgIGlmICh1cGRhdGVzKQotICAgICAgICBnZW5lcmF0
ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50LCB1cGRhdGVzLT5iZWZvcmVQ
c2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6QmVmb3JlKTsKKyAgICAgICAgZ2VuZXJhdGVk
Q29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgKnVwZGF0ZXMsIFBzZXVkb0lk
OjpCZWZvcmUpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2Nl
bmRhbnRzKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBk
YXRlcykKIHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVw
ZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBk
YXRlLCBQc2V1ZG9JZDo6QWZ0ZXIpOworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRl
UHNldWRvRWxlbWVudChlbGVtZW50LCAqdXBkYXRlcywgUHNldWRvSWQ6OkFmdGVyKTsKIAogICAg
IGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIp
CkBAIC0yOTcsMTMgKzI5NywyMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5k
ZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBSZW5kZXJTdHlsZQogICAgIG1fYnVp
bGRlci5ub3JtYWxpemVUcmVlQWZ0ZXJTdHlsZUNoYW5nZShyZW5kZXJlciwgb2xkU3R5bGUpOwog
fQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmIHVwZGF0ZSkKK3ZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMpCiB7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OlN0eWxlQ2hhbmdlU2NvcGUgb2Jz
ZXJ2aW5nU2NvcGUobV9kb2N1bWVudCwgZWxlbWVudCk7CiAjZW5kaWYKIAotICAgIGJvb2wgc2hv
dWxkVGVhckRvd25SZW5kZXJlcnMgPSB1cGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJl
bmRlcmVyICYmIChlbGVtZW50LnJlbmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVu
dHMoKSk7CisgICAgYXV0byYgZWxlbWVudFVwZGF0ZSA9IHVwZGF0ZXMudXBkYXRlOworICAgIGF1
dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCplbGVtZW50VXBk
YXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLnBzZXVkb0VsZW1lbnRV
cGRhdGVzKSB7CisgICAgICAgIGF1dG8gcHNldWRvSWQgPSBpdC5rZXk7CisgICAgICAgIGlmIChw
c2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IHBzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRl
cikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBlbGVtZW50VXBkYXRlU3R5bGUtPmFk
ZENhY2hlZFBzZXVkb1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0cigqaXQudmFsdWUuc3R5bGUp
KTsKKyAgICB9CisKKyAgICBib29sIHNob3VsZFRlYXJEb3duUmVuZGVyZXJzID0gZWxlbWVudFVw
ZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVy
ZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3BsYXlDb250ZW50cygpKTsKICAgICBpZiAoc2hvdWxkVGVh
ckRvd25SZW5kZXJlcnMpIHsKICAgICAgICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkpIHsKICAg
ICAgICAgICAgIC8vIFdlIG1heSBiZSB0ZWFyaW5nIGRvd24gYSBkZXNjZW5kYW50IHJlbmRlcmVy
IGNhY2hlZCBpbiByZW5kZXJUcmVlUG9zaXRpb24uCkBAIC0zMTEsMTUgKzMyMSwxNSBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgU3R5bGU6OkVsZQogICAgICAgICB9CiAKICAgICAgICAgLy8gZGlzcGxheTpub25l
IGNhbmNlbHMgYW5pbWF0aW9ucy4KLSAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSB1cGRhdGUu
c3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSA/IFRlYXJkb3duVHlwZTo6UmVu
ZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmltYXRpb25zIDogVGVhcmRvd25UeXBlOjpSZW5kZXJlclVw
ZGF0ZTsKKyAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5k
aXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBk
YXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGU7CiAg
ICAgICAgIHRlYXJEb3duUmVuZGVyZXJzKGVsZW1lbnQsIHRlYXJkb3duVHlwZSwgbV9idWlsZGVy
KTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lDaGlsZFJl
bmRlcmVyID0gdHJ1ZTsKICAgICB9CiAKLSAgICBib29sIGhhc0Rpc3BsYXlDb250ZW50cyA9IHVw
ZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpDb250ZW50czsKKyAgICBib29s
IGhhc0Rpc3BsYXlDb250ZW50cyA9IGVsZW1lbnRVcGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Q29udGVudHM7CiAgICAgaWYgKGhhc0Rpc3BsYXlDb250ZW50cykKLSAgICAg
ICAgZWxlbWVudC5zdG9yZURpc3BsYXlDb250ZW50c1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0
cigqdXBkYXRlLnN0eWxlKSk7CisgICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNT
dHlsZShXVEZNb3ZlKGVsZW1lbnRVcGRhdGVTdHlsZSkpOwogICAgIGVsc2UKICAgICAgICAgZWxl
bWVudC5yZXNldENvbXB1dGVkU3R5bGUoKTsKIApAQCAtMzI3LDcgKzMzNyw3IEBAIHZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlCiAgICAgaWYgKHNob3VsZENyZWF0ZU5ld1JlbmRlcmVyKSB7CiAgICAg
ICAgIGlmIChlbGVtZW50Lmhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpKQogICAgICAg
ICAgICAgZWxlbWVudC53aWxsQXR0YWNoUmVuZGVyZXJzKCk7Ci0gICAgICAgIGNyZWF0ZVJlbmRl
cmVyKGVsZW1lbnQsIFJlbmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSk7CisgICAgICAg
IGNyZWF0ZVJlbmRlcmVyKGVsZW1lbnQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSkpOwog
CiAgICAgICAgIHJlbmRlcmluZ1BhcmVudCgpLmRpZENyZWF0ZU9yRGVzdHJveUNoaWxkUmVuZGVy
ZXIgPSB0cnVlOwogICAgICAgICByZXR1cm47CkBAIC0zMzcsMjAgKzM0NywyMCBAQCB2b2lkIFJl
bmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwg
Y29uc3QgU3R5bGU6OkVsZQogICAgICAgICByZXR1cm47CiAgICAgYXV0byYgcmVuZGVyZXIgPSAq
ZWxlbWVudC5yZW5kZXJlcigpOwogCi0gICAgaWYgKHVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7
Ci0gICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVyZXIsIFJlbmRlclN0eWxlOjpjbG9u
ZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpSZWNvbXBvc2l0ZUxheWVyKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7CisgICAgICAgIHVwZGF0ZVJl
bmRlcmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxl
RGlmZmVyZW5jZTo6UmVjb21wb3NpdGVMYXllcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBpZiAodXBkYXRlLmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpOb25lKSB7Ci0gICAgICAg
IGlmIChwc2V1ZG9TdHlsZUNhY2hlSXNJbnZhbGlkKCZyZW5kZXJlciwgdXBkYXRlLnN0eWxlLmdl
dCgpKSkgewotICAgICAgICAgICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVy
U3R5bGU6OmNsb25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkgeworICAg
ICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIGVsZW1lbnRVcGRh
dGVTdHlsZS5nZXQoKSkpIHsKKyAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVy
ZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJTdHlsZTo6Y2xvbmUo
KnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwpOworICAgIHVwZGF0ZVJlbmRl
cmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlm
ZmVyZW5jZTo6RXF1YWwpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpjcmVhdGVSZW5k
ZXJlcihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAppbmRl
eCAyMzQwMzRjODMzMTdjYTYxODdlMWJlYmFiN2NlMTcwZjFkNzQ1MmNiLi4zOTYxNTM3YmJmNjlk
NGExMjdkYjE4MzE2NWUxMDg4YzVhNjU1ZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaApAQCAtNTgsNyArNTgsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUmVuZGVyVHJlZShDb250YWluZXJOb2RlJiByb290
KTsKICAgICB2b2lkIHVwZGF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6OlRleHRV
cGRhdGUqKTsKICAgICB2b2lkIGNyZWF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6
OlRleHRVcGRhdGUqKTsKLSAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50Jiwg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmKTsKKyAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5k
ZXJlcihFbGVtZW50JiwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzJik7CiAgICAgdm9pZCB1
cGRhdGVSZW5kZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBTdHlsZURp
ZmZlcmVuY2UpOwogICAgIHZvaWQgY3JlYXRlUmVuZGVyZXIoRWxlbWVudCYsIFJlbmRlclN0eWxl
JiYpOwogICAgIHZvaWQgdXBkYXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYsIGNvbnN0IFN0
eWxlOjpFbGVtZW50VXBkYXRlcyopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRD
b250ZW50LmNwcAppbmRleCAwZTljNDlhNzJjZTRhOGZkZjY4YTRjMjdiNmRlNDBmOTYxMWYyZjk4
Li42MmU3ZTJjNzdiMmI0MGZlYmJmYTk2MWI4M2E3ODM4MzhjMTZjMTM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0
ZWRDb250ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcApAQCAtNjksNyArNjksMjAgQEAgdm9p
ZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUXVvdGVzVXBUbyhS
ZW5kZXJRdW90ZSogbGFzdFF1b3QKICAgICBBU1NFUlQoIWxhc3RRdW90ZSk7CiB9CiAKLXN0YXRp
YyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIs
IFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUp
CitzdGF0aWMgYm9vbCBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQ
c2V1ZG9FbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIFBzZXVkb0lkIHBzZXVkb0lkKQor
eworICAgIGlmIChpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSkKKyAgICAgICAgcmV0dXJuIGVs
ZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoZG93
bmNhc3Q8UHNldWRvRWxlbWVudD4oKmVsZW1lbnQpLmhvc3RFbGVtZW50KCksIHBzZXVkb0lkKTsK
KworICAgIGlmIChlbGVtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBzdGFjayA9IGVsZW1lbnQt
PmtleWZyYW1lRWZmZWN0U3RhY2socHNldWRvSWQpKQorICAgICAgICAgICAgcmV0dXJuIHN0YWNr
LT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3N0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXIm
IGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUsIFBzZXVkb0lkIHBzZXVkb0lkKQogewogICAgIGlmIChhdXRvKiBjb250ZW50RGF0
YSA9IHN0eWxlLmNvbnRlbnREYXRhKCkpIHsKICAgICAgICAgZm9yIChjb25zdCBDb250ZW50RGF0
YSogY29udGVudCA9IGNvbnRlbnREYXRhOyBjb250ZW50OyBjb250ZW50ID0gY29udGVudC0+bmV4
dCgpKSB7CkBAIC04MCw3ICs5Myw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJl
cnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzCiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gVGhlIG9ubHkgdmFsaWQgc2NlbmFyaW8gd2hlcmUgdGhpcyBtZXRo
b2QgaXMgY2FsbGVkIHdpdGhvdXQgdGhlICJjb250ZW50IiBwcm9wZXJ0eSBiZWluZyBzZXQKICAg
ICAgICAgLy8gaXMgdGhlIGNhc2Ugd2hlcmUgYSBwc2V1ZG8tZWxlbWVudCBoYXMgYW5pbWF0aW9u
cyBzZXQgb24gaXQgdmlhIHRoZSBXZWIgQW5pbWF0aW9ucyBBUEkuCi0gICAgICAgIEFTU0VSVChp
czxQc2V1ZG9FbGVtZW50Pihwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpICYmIGRvd25jYXN0PFBz
ZXVkb0VsZW1lbnQ+KCpwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpLmlzVGFyZ2V0ZWRCeUtleWZy
YW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChwc2V1ZG9JZCwgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNl
dWRvRWxlbWVudChwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCksIHBzZXVkb0lkKSk7CiAgICAgfQog
fQogCkBAIC05NCwxNCArMTA3LDIxIEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVN0eWxlRm9yQ29udGVu
dFJlbmRlcmVycyhSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QKICAgICB9CiB9
CiAKLXZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVk
b0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwgY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRV
cGRhdGU+JiB1cGRhdGUsIFBzZXVkb0lkIHBzZXVkb0lkKQordm9pZCBSZW5kZXJUcmVlVXBkYXRl
cjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50
LCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMsIFBzZXVkb0lkIHBzZXVkb0lk
KQogewogICAgIFBzZXVkb0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QmVmb3JlID8gY3VycmVudC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBjdXJyZW50LmFm
dGVyUHNldWRvRWxlbWVudCgpOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gcHNldWRvRWxl
bWVudCA/IHBzZXVkb0VsZW1lbnQtPnJlbmRlcmVyKCkgOiBudWxscHRyKQogICAgICAgICBtX3Vw
ZGF0ZXIucmVuZGVyVHJlZVBvc2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5nKCpyZW5kZXJl
cik7CiAKLSAgICBpZiAoIW5lZWRzUHNldWRvRWxlbWVudCh1cGRhdGUpICYmICghcHNldWRvRWxl
bWVudCB8fCAhcHNldWRvRWxlbWVudC0+aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkpKSB7CisgICAgYXV0byogdXBkYXRlID0gWyZdKCkgLT4gY29uc3Qg
U3R5bGU6OkVsZW1lbnRVcGRhdGUqIHsKKyAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMu
cHNldWRvRWxlbWVudFVwZGF0ZXMuZmluZChwc2V1ZG9JZCk7CisgICAgICAgIGlmIChpdGVyYXRv
ciAhPSB1cGRhdGVzLnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAgcmV0
dXJuICZpdGVyYXRvci0+dmFsdWU7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0oKTsK
KworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkgJiYgKCFwc2V1ZG9FbGVtZW50
IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVt
ZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAgICAgaWYgKHBzZXVkb0VsZW1l
bnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQogICAg
ICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQoY3VycmVudCwgbV91cGRhdGVy
Lm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS0+Y2hhbmdlID09IFN0eWxl
OjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBkYXRlLT5jaGFuZ2UgPT0gU3R5
bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcHNldWRvRWxlbWVudCA9
ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQpOwpAQCAtMTI1LDEwICsxNDUs
MTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNl
dWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBjb250ZW50c1N0eWxlLT5jb3B5
Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAgIFN0eWxlOjpFbGVtZW50VXBk
YXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0eWxlKSwgdXBkYXRlLT5jaGFu
Z2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAgICBtX3VwZGF0ZXIudXBkYXRl
RWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50c1VwZGF0ZSk7CisgICAgICAg
IFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMgeyBXVEZNb3ZlKGNvbnRlbnRz
VXBkYXRlKSwgU3R5bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lLCB7IH0gfTsKKyAgICAg
ICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxlbWVudCwgV1RGTW92
ZShjb250ZW50c1VwZGF0ZXMpKTsKICAgICAgICAgcHNldWRvRWxlbWVudC0+c3RvcmVEaXNwbGF5
Q29udGVudHNTdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpKTsKICAg
ICB9IGVsc2UgewotICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1
ZG9FbGVtZW50LCAqdXBkYXRlKTsKKyAgICAgICAgYXV0byBwc2V1ZG9FbGVtZW50VXBkYXRlU3R5
bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBTdHls
ZTo6RWxlbWVudFVwZGF0ZSBwc2V1ZG9FbGVtZW50VXBkYXRlIHsgV1RGTW92ZShwc2V1ZG9FbGVt
ZW50VXBkYXRlU3R5bGUpLCB1cGRhdGUtPmNoYW5nZSwgdXBkYXRlLT5yZWNvbXBvc2l0ZUxheWVy
IH07CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyB7
IFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZSksIFN0eWxlOjpEZXNjZW5kYW50c1RvUmVzb2x2
ZTo6Tm9uZSwgeyB9IH07CisgICAgICAgIG1fdXBkYXRlci51cGRhdGVFbGVtZW50UmVuZGVyZXIo
KnBzZXVkb0VsZW1lbnQsIFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZXMpKTsKICAgICAgICAg
QVNTRVJUKCFwc2V1ZG9FbGVtZW50LT5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgfQogCkBA
IC0xMzcsNyArMTYxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVu
dDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAodXBkYXRlLT5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIpCi0g
ICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVk
b0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBjcmVhdGVDb250ZW50
UmVuZGVyZXJzKG1fdXBkYXRlci5tX2J1aWxkZXIsICpwc2V1ZG9FbGVtZW50UmVuZGVyZXIsICp1
cGRhdGUtPnN0eWxlLCBwc2V1ZG9JZCk7CiAgICAgZWxzZQogICAgICAgICB1cGRhdGVTdHlsZUZv
ckNvbnRlbnRSZW5kZXJlcnMoKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUp
OwogCkBAIC0xNDgsNyArMTcyLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVk
Q29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgIG1fdXBk
YXRlci5tX2J1aWxkZXIudXBkYXRlQWZ0ZXJEZXNjZW5kYW50cygqcHNldWRvRWxlbWVudFJlbmRl
cmVyKTsKIH0KIAotYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVl
ZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRlPiYgdXBk
YXRlKQorYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1
ZG9FbGVtZW50KGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlKiB1cGRhdGUpCiB7CiAgICAgaWYg
KCF1cGRhdGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdl
bmVyYXRlZENvbnRlbnQuaAppbmRleCAwMmUxZGIxOGZhOTEzMmUxMmFlZThmZTBjYTFkMDUzMDg2
Mjc3MzAxLi4zNDg4YzAzYjA1YjU1NWMyN2QxN2FjMWY0YzdlMThlZGY1ZjFmMTkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJH
ZW5lcmF0ZWRDb250ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oCkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50IHsKIHB1YmxpYzoKICAgICBH
ZW5lcmF0ZWRDb250ZW50KFJlbmRlclRyZWVVcGRhdGVyJik7CiAKLSAgICB2b2lkIHVwZGF0ZVBz
ZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRl
PiYsIFBzZXVkb0lkKTsKKyAgICB2b2lkIHVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNv
bnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyYsIFBzZXVkb0lkKTsKICAgICB2b2lkIHVwZGF0ZVJl
bWFpbmluZ1F1b3RlcygpOwogCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQmVmb3JlUHNldWRvRWxl
bWVudChFbGVtZW50JiwgUmVuZGVyVHJlZUJ1aWxkZXImKTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVF1b3Rlc1VwVG8oUmVuZGVyUXVvdGUqKTsK
ICAgICAKLSAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBPcHRpb25hbDxTdHlsZTo6
RWxlbWVudFVwZGF0ZT4mKTsKKyAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBTdHls
ZTo6RWxlbWVudFVwZGF0ZSopOwogCiAgICAgUmVuZGVyVHJlZVVwZGF0ZXImIG1fdXBkYXRlcjsK
ICAgICBXZWFrUHRyPFJlbmRlclF1b3RlPiBtX3ByZXZpb3VzVXBkYXRlZFF1b3RlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IGRiZTE0NjI3MDcyMTNh
NWQ5Yjk1ZDJhNDgyZjY3NDY1ZDhmMGZhNzkuLjgxYWI3ZmZhMjZlOGZkM2I3NzNlMTJiNDg3ZjA2
MTQyNTdkZjcxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJl
c29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5j
cHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJTdHlsZVNjb3BlLmgiCiAjaW5jbHVkZSAi
VGV4dC5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlvblR5cGVzLmgiCisjaW5jbHVkZSAiV2ViQW5p
bWF0aW9uVXRpbGl0aWVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjQ0LDggKzI0
NSwxMSBAQCBFbGVtZW50VXBkYXRlcyBUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KEVsZW1l
bnQmIGVsZW1lbnQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBhdXRvIGJlZm9yZVVwZGF0ZSA9
IHJlc29sdmVQc2V1ZG9TdHlsZShlbGVtZW50LCB1cGRhdGUsIFBzZXVkb0lkOjpCZWZvcmUpOwot
ICAgIGF1dG8gYWZ0ZXJVcGRhdGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRl
LCBQc2V1ZG9JZDo6QWZ0ZXIpOworICAgIFBzZXVkb0lkVG9FbGVtZW50VXBkYXRlTWFwIHBzZXVk
b1VwZGF0ZXM7CisgICAgZm9yIChQc2V1ZG9JZCBwc2V1ZG9JZCA9IFBzZXVkb0lkOjpGaXJzdFB1
YmxpY1BzZXVkb0lkOyBwc2V1ZG9JZCA8IFBzZXVkb0lkOjpGaXJzdEludGVybmFsUHNldWRvSWQ7
IHBzZXVkb0lkID0gc3RhdGljX2Nhc3Q8UHNldWRvSWQ+KHN0YXRpY19jYXN0PHVuc2lnbmVkPihw
c2V1ZG9JZCkgKyAxKSkgeworICAgICAgICBpZiAoYXV0byBlbGVtZW50VXBkYXRlID0gcmVzb2x2
ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgcHNldWRvSWQpKQorICAgICAgICAgICAgcHNl
dWRvVXBkYXRlcy5zZXQocHNldWRvSWQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGUpKTsKKyAgICB9
CiAKICNpZiBFTkFCTEUoVE9VQ0hfQUNUSU9OX1JFR0lPTlMpCiAgICAgLy8gRklYTUU6IFRyYWNr
IHRoaXMgZXhhY3RseS4KQEAgLTI1NywxMSArMjYxLDEzIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVS
ZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgbV9kb2N1
bWVudC5zZXRNYXlIYXZlRWRpdGFibGVFbGVtZW50cygpOwogI2VuZGlmCiAKLSAgICByZXR1cm4g
eyBXVEZNb3ZlKHVwZGF0ZSksIGRlc2NlbmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKGJlZm9yZVVw
ZGF0ZSksIFdURk1vdmUoYWZ0ZXJVcGRhdGUpIH07CisgICAgcmV0dXJuIHsgV1RGTW92ZSh1cGRh
dGUpLCBkZXNjZW5kYW50c1RvUmVzb2x2ZSwgV1RGTW92ZShwc2V1ZG9VcGRhdGVzKSB9OwogfQog
Ci1FbGVtZW50VXBkYXRlIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1lbnQm
IGVsZW1lbnQsIGNvbnN0IEVsZW1lbnRVcGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBzZXVkb0lkIHBz
ZXVkb0lkKQorT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNl
dWRvU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVw
ZGF0ZSwgUHNldWRvSWQgcHNldWRvSWQpCiB7CisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lk
OjpNYXJrZXIgJiYgZWxlbWVudFVwZGF0ZS5zdHlsZS0+ZGlzcGxheSgpICE9IERpc3BsYXlUeXBl
OjpMaXN0SXRlbSkKKyAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZWxlbWVudFVwZGF0ZS5z
dHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lKQogICAgICAgICByZXR1cm4geyB9
OwogICAgIGlmICghZWxlbWVudFVwZGF0ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQp
KQpAQCAtMjcxLDggKzI3Nyw3IEBAIEVsZW1lbnRVcGRhdGUgVHJlZVJlc29sdmVyOjpyZXNvbHZl
UHNldWRvU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwCiAgICAgaWYgKCFw
c2V1ZG9TdHlsZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8qIHBzZXVkb0VsZW1l
bnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlID8gZWxlbWVudC5iZWZvcmVQc2V1ZG9F
bGVtZW50KCkgOiBlbGVtZW50LmFmdGVyUHNldWRvRWxlbWVudCgpOwotICAgIGJvb2wgaGFzQW5p
bWF0aW9ucyA9IHBzZXVkb0VsZW1lbnQgJiYgcHNldWRvRWxlbWVudC0+aXNUYXJnZXRlZEJ5S2V5
ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7CisgICAgYm9vbCBoYXNBbmltYXRp
b25zID0gcHNldWRvU3R5bGUtPmhhc0FuaW1hdGlvbnNPclRyYW5zaXRpb25zKCkgfHwgZWxlbWVu
dC5oYXNLZXlmcmFtZUVmZmVjdHMocHNldWRvSWQpOwogICAgIGlmICghcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpICYmICFoYXNBbmltYXRpb25zKQogICAg
ICAgICByZXR1cm4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVRyZWVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIu
aAppbmRleCBjMjk3MzQyZmVlODU0OTRhOWE2YWJkMWNlOTgyOGQ5NzcyMjNjMTE4Li44N2JlYTlh
ZmJlMzRhOWM5ZWM5NWY2NzExNmU3OTBhZGUzNjBkNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBFbGVt
ZW50VXBkYXRlcyByZXNvbHZlRWxlbWVudChFbGVtZW50Jik7CiAKICAgICBFbGVtZW50VXBkYXRl
IGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+
LCBjb25zdCBTdHlsZWFibGUmLCBDaGFuZ2UpOwotICAgIEVsZW1lbnRVcGRhdGUgcmVzb2x2ZVBz
ZXVkb1N0eWxlKEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOworICAg
IE9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IHJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiwgY29u
c3QgRWxlbWVudFVwZGF0ZSYsIFBzZXVkb0lkKTsKIAogICAgIHN0cnVjdCBTY29wZSA6IFJlZkNv
dW50ZWQ8U2NvcGU+IHsKICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEX1dJ
VEhfSEVBUF9JREVOVElGSUVSKFRyZWVSZXNvbHZlclNjb3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVVwZGF0ZS5oCmluZGV4IDFjNjEyZGZhOTQ2NDMyZDI0ZDdmNDZhZDY0OTk5YTRlNzNmM2UxZmEu
LjA0YzYwNDJkMDcwNWUzMWMyNTE1YmViYzdhZmM1NzQ5ZmYzOTgzNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVVcGRhdGUuaApAQCAtNTAsMTEgKzUwLDEyIEBAIHN0cnVjdCBFbGVtZW50VXBkYXRl
IHsKIAogZW51bSBjbGFzcyBEZXNjZW5kYW50c1RvUmVzb2x2ZSB7IE5vbmUsIENoaWxkcmVuV2l0
aEV4cGxpY2l0SW5oZXJpdCwgQ2hpbGRyZW4sIEFsbCB9OwogCit1c2luZyBQc2V1ZG9JZFRvRWxl
bWVudFVwZGF0ZU1hcCA9IEhhc2hNYXA8UHNldWRvSWQsIEVsZW1lbnRVcGRhdGUsIFdURjo6SW50
SGFzaDxQc2V1ZG9JZD4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UHNldWRvSWQ+PjsKKwog
c3RydWN0IEVsZW1lbnRVcGRhdGVzIHsKICAgICBFbGVtZW50VXBkYXRlIHVwZGF0ZTsKICAgICBE
ZXNjZW5kYW50c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7IERlc2NlbmRhbnRzVG9S
ZXNvbHZlOjpOb25lIH07Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYmVmb3JlUHNldWRv
RWxlbWVudFVwZGF0ZTsKLSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBhZnRlclBzZXVkb0Vs
ZW1lbnRVcGRhdGU7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAgcHNldWRvRWxlbWVu
dFVwZGF0ZXM7CiB9OwogCiBzdHJ1Y3QgVGV4dFVwZGF0ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCAyZTE1MDFmOTRhYjI5Mjc0ZjkxMmUzMTZkYmRhNGU2NzkzMGZiZGE0Li42
MWI2ODJhM2JjMjNlZTkyNjk0YzYwNTlkMzc3NTA4MDlmMzU2YmZkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0xMS0xMyAgQW50b2luZSBRdWlu
dCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IGFuaW1hdGlvbnMgb24g
bW9yZSBwc2V1ZG8tZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxODc5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNzQ0ODU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFBBU1Mg
cmVzdWx0cyBmb3IgV1BUIHRlc3RzIHJ1bm5pbmcgYW5pbWF0aW9ucyBvbiA6Om1hcmtlciBwc2V1
ZG8tZWxlbWVudHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vdGV4dC1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0OiBSZW1vdmUgcGxhdGZvcm0tc3BlY2lmaWMgZXhwZWN0YXRpb24KKyAgICAgICAgdG8g
YnJpbmcgYWxsIHBsYXRmb3JtcyBpbiBsaW5lLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21hcmtlci1zdXBwb3J0ZWQtcHJv
cGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0
aXZlLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0xMS0xMyAgQW50b2luZSBRdWludCAgPGdyYW91dHNA
d2Via2l0Lm9yZz4KIAogICAgICAgICBTdXBwb3J0IG1vcmUgcHJvcGVydGllcyBvbiA6Om1hcmtl
cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0CmluZGV4IDU5YjdhMjI5YWQzMzA0Njc1NTM1MWI1MjI0YTliNTlhNTU0Y2M0NWEuLjY1
Yzk5OWQ0NzQ4YTk4YjdmNjQ0YzkzNjI3YWFiZjkwZjUyZDc3OGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25z
L0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9u
cy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTE2LDUg
KzE2LDUgQEAgUEFTUyBDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCB2aWEgdGhlIEFQSSBhcmUgbm90
IHJldHVybmVkCiBQQVNTIENTUyBBbmltYXRpb25zIGNhbmNlbGVkIGFuZCByZXN0YXJ0ZWQgdmlh
IHRoZSBBUEkgYXJlIHJldHVybmVkCiBQQVNTIHBzZXVkbyBlbGVtZW50IHdpdGggcmVwbGFjZWQg
dGFyZ2V0IGRvZXMgbm90IGFmZmVjdCBhbmltYXRpb24gb3JkZXJpbmcKIFBBU1MgQ1NTIEFuaW1h
dGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9y
ZGVyIGFmdGVyIHNvcnRpbmcKLUZBSUwgQ1NTIEFuaW1hdGlvbnMgdGFyZ2V0dGluZyAocHNldWRv
LSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFy
a2VyKSBhc3NlcnRfZXF1YWxzOiBDU1MgYW5pbWF0aW9ucyBvbiBib3RoIHBzZXVkby1lbGVtZW50
cyBhbmQgZWxlbWVudHMgYXJlIHJldHVybmVkIGV4cGVjdGVkIDUgYnV0IGdvdCA0CitQQVNTIENT
UyBBbmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29y
cmVjdCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
YW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
YW5pbWF0aW9uZXZlbnQtbWFya2VyLXBzZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDI0
ZDAxODQ1YjIzOTE0MWExNTY1NWM5OWQ1ZjZmNzg0NGU5YTY4MWIuLjdmOWMwZmRhODY3ZjJhYWQ4
YTU0Y2IzMTM4YTgzOTYzZjBjY2Y3OTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50
LW1hcmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb25l
dmVudC1tYXJrZXItcHNldWRvZWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACiAK
LUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIEFuaW1h
dGlvbkV2ZW50IHNob3VsZCBoYXZlIHRoZSBjb3JyZWN0IHBzZXVkb0VsZW1lbnQgbWVtZWJlciBU
ZXN0IHRpbWVkIG91dAorUEFTUyBBbmltYXRpb25FdmVudCBzaG91bGQgaGF2ZSB0aGUgY29ycmVj
dCBwc2V1ZG9FbGVtZW50IG1lbWViZXIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKaW5kZXggMDRiNWI4ODRmMTBmYzNhOWQ2NTk3ZDQwZWYxNjRlMzA2MzFmMzdjNy4u
ODMzNThhOTZlZjNhOWFjZjc2ODFlZTVjOGUyZGU4NjNlNmUwYjdkNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvZXZlbnQtb3JkZXIudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9ldmVudC1v
cmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIFNhbWUg
ZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IGVsZW1lbnRzCiBQQVNTIFNhbWUgZXZlbnRzIG9uIHBzZXVk
by1lbGVtZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIKLUZBSUwgU2FtZSBldmVudHMg
b24gcHNldWRvLWVsZW1lbnRzIGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlciAoOjptYXJrZXIp
IGFzc2VydF9lcXVhbHM6IE51bWJlciBvZiBldmVudHMgcmVjZWl2ZWQgKDQpIHNob3VsZCBtYXRj
aCBleHBlY3RlZCBudW1iZXIgKDUpIChleHBlY3RlZDogYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlv
bnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBh
Y3R1YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFu
aW1hdGlvbnN0YXJ0KSBleHBlY3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBTYW1lIGV2ZW50cyBvbiBw
c2V1ZG8tZWxlbWVudHMgZm9sbG93IHRoZSBwcmVzY3JpYmVkIG9yZGVyICg6Om1hcmtlcikKIEZB
SUwgU3RhcnQgYW5kIGl0ZXJhdGlvbiBldmVudHMgYXJlIG9yZGVyZWQgYnkgdGltZSBhc3NlcnRf
ZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4cGVjdGVkOiBhbmltYXRpb25p
dGVyYXRpb24sIGFuaW1hdGlvbnN0YXJ0LCBhY3R1YWw6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRp
b25pdGVyYXRpb24pIGV4cGVjdGVkICJhbmltYXRpb25pdGVyYXRpb24iIGJ1dCBnb3QgImFuaW1h
dGlvbnN0YXJ0IgogRkFJTCBJdGVyYXRpb24gYW5kIGVuZCBldmVudHMgYXJlIG9yZGVyZWQgYnkg
dGltZSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0eXBlcyBzaG91bGQgbWF0Y2ggKGV4cGVjdGVk
OiBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbmVuZCwgYWN0dWFsOiBhbmltYXRpb25lbmQs
IGFuaW1hdGlvbml0ZXJhdGlvbikgZXhwZWN0ZWQgImFuaW1hdGlvbml0ZXJhdGlvbiIgYnV0IGdv
dCAiYW5pbWF0aW9uZW5kIgogRkFJTCBTdGFydCBhbmQgZW5kIGV2ZW50cyBhcmUgc29ydGVkIGNv
cnJlY3RseSB3aGVuIGZpcmVkIHNpbXVsdGFuZW91c2x5IGFzc2VydF9lcXVhbHM6IEV2ZW50ICMx
IHRhcmdldHMgc2hvdWxkIG1hdGNoIGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8ZGl2IHN0eWxlPSJh
bmltYXRpb246IGFuaW0gMTAwcyAyIj48L2Rpdj4gYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdiBz
dHlsZT0iYW5pbWF0aW9uOiBhbmltIDEwMHMgMTAwcyI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21h
cmtlci1hbmltYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0
CmluZGV4IDA3MGJkNDFmMjdjMjBlNmQ2OWJjYTI3MmFiYThhYjI5OGQxMjc1NGUuLjA0MzM2NWIx
MmQ3YzM3Y2ZiNzhmY2VmNjFjOTY0OWMyYTliZDYzZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFu
aW1hdGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vbWFya2VyLWFuaW1hdGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDUgKzEsNSBAQAogCi1GQUlMICdjb2xvcicgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IGNv
bG9yIGV4cGVjdGVkICJyZ2IoMTAwLCA1MCwgMTUwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDApIgot
UEFTUyAnb3BhY2l0eScgYW5pbWF0aW9uCi1GQUlMICdjb2xvcicgKyAnb3BhY2l0eScgYW5pbWF0
aW9uIGFzc2VydF9lcXVhbHM6IGNvbG9yIGV4cGVjdGVkICJyZ2IoMTAwLCA1MCwgMTUwKSIgYnV0
IGdvdCAicmdiKDAsIDAsIDApIgorUEFTUyAnY29sb3InIGFuaW1hdGlvbgorRkFJTCAnb3BhY2l0
eScgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IG9wYWNpdHkgZXhwZWN0ZWQgIjEiIGJ1dCBnb3Qg
IjAuNSIKK0ZBSUwgJ2NvbG9yJyArICdvcGFjaXR5JyBhbmltYXRpb24gYXNzZXJ0X2VxdWFsczog
b3BhY2l0eSBleHBlY3RlZCAiMSIgYnV0IGdvdCAiMC41IgogbGlzdCBpdGVtCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNl
dWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFuaW1hdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFuaW1h
dGlvbi1leHBlY3RlZC50eHQKaW5kZXggODRiOWMxMjY2NTJjNmFmNjVlMzY4MGYwOTIyNDU1ZjQz
YmE3N2Q1Ny4uYTQ4MmQxOTBlNWE2ODY1ZTcwNDBmNDEzZWM1ZDU2ZDA5OTNlZWQyYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXBzZXVkby9wYXJzaW5nL21hcmtlci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRpb24t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRpZXMt
aW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMSwxMiArMSwxMiBAQAogCi1GQUlMIEFuaW1h
dGlvbiBvZiBmb250IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgIm5vcm1hbCBu
b3JtYWwgbm9ybWFsIG5vcm1hbCAxNnB4L25vcm1hbCAtd2Via2l0LXN0YW5kYXJkIiBub3QgaW4g
YXJyYXkgWyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwgIml0YWxp
YyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KK0ZBSUwgQW5pbWF0
aW9uIG9mIGZvbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2YWx1ZSAiaXRhbGljIG5v
cm1hbCA1MDAgZXhwYW5kZWQgMTVweC8zNXB4IC13ZWJraXQtc3RhbmRhcmQiIG5vdCBpbiBhcnJh
eSBbIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4IEFoZW0iLCAiaXRhbGljIHNt
YWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvbm9ybWFsIEFoZW0iXQogRkFJTCBBbmltYXRpb24g
b2YgZm9udC1mYW1pbHkgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkFoZW0i
IGJ1dCBnb3QgIi13ZWJraXQtc3RhbmRhcmQiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LWZlYXR1
cmUtc2V0dGluZ3MgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlwic21jcFwi
IiBidXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LWtlcm5pbmcgaW4gOjpt
YXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vbmUiIGJ1dCBnb3QgImF1dG8iCi1GQUlM
IEFuaW1hdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIjE1cHgiIGJ1dCBnb3QgIjE2cHgiCitQQVNTIEFuaW1hdGlvbiBvZiBmb250LXNpemUgaW4g
OjptYXJrZXIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtc2l6ZS1hZGp1c3QgaW4gOjptYXJrZXIg
YXNzZXJ0X3RydWU6IGZvbnQtc2l6ZS1hZGp1c3QgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBvcnRl
ZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgQW5p
bWF0aW9uIG9mIGZvbnQtc3RyZXRjaCBpbiA6Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZhbHVl
ICJub3JtYWwiIG5vdCBpbiBhcnJheSBbImV4cGFuZGVkIiwgIjEyNSUiXQotRkFJTCBBbmltYXRp
b24gb2YgZm9udC1zdHlsZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaXRh
bGljIiBidXQgZ290ICJub3JtYWwiCitQQVNTIEFuaW1hdGlvbiBvZiBmb250LXN0cmV0Y2ggaW4g
OjptYXJrZXIKK1BBU1MgQW5pbWF0aW9uIG9mIGZvbnQtc3R5bGUgaW4gOjptYXJrZXIKIEZBSUwg
QW5pbWF0aW9uIG9mIGZvbnQtc3ludGhlc2lzIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJub25lIiBidXQgZ290ICJzdHlsZSB3ZWlnaHQgc21hbGwtY2FwcyIKIEZBSUwgQW5p
bWF0aW9uIG9mIGZvbnQtdmFyaWFudCBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAic21hbGwtY2FwcyIgYnV0IGdvdCAidGFidWxhci1udW1zIgogRkFJTCBBbmltYXRpb24gb2Yg
Zm9udC12YXJpYW50LWNhcHMgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNt
YWxsLWNhcHMiIGJ1dCBnb3QgIm5vcm1hbCIKQEAgLTE0LDcgKzE0LDcgQEAgRkFJTCBBbmltYXRp
b24gb2YgZm9udC12YXJpYW50LWVhc3QtYXNpYW4gaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImYKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFudC1saWdhdHVyZXMgaW4g
OjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImhpc3RvcmljYWwtbGlnYXR1cmVzIiBi
dXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LXZhcmlhbnQtbnVtZXJpYyBp
biA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2xhc2hlZC16ZXJvIiBidXQgZ290
ICJ0YWJ1bGFyLW51bXMiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250LXZhcmlhbnQtcG9zaXRpb24g
aW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN1YiIgYnV0IGdvdCAibm9ybWFs
IgotRkFJTCBBbmltYXRpb24gb2YgZm9udC13ZWlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIjUwMCIgYnV0IGdvdCAibm9ybWFsIgorUEFTUyBBbmltYXRpb24gb2YgZm9u
dC13ZWlnaHQgaW4gOjptYXJrZXIKIEZBSUwgQW5pbWF0aW9uIG9mIHdoaXRlLXNwYWNlIGluIDo6
bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJub3dyYXAiIGJ1dCBnb3QgIm5vcm1hbCIK
IEZBSUwgQW5pbWF0aW9uIG9mIGNvbG9yIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJyZ2IoNTAsIDE1MCwgMTAwKSIgYnV0IGdvdCAicmdiKDAsIDAsIDApIgogRkFJTCBBbmlt
YXRpb24gb2YgdGV4dC1jb21iaW5lLXVwcmlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X3RydWU6IHRl
eHQtY29tYmluZS11cHJpZ2h0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNv
bXB1dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCkBAIC0yOCwxNCArMjgsMTQgQEAg
RkFJTCBBbmltYXRpb24gb2YgbGlzdC1zdHlsZSBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAib3V0c2lkZSBub25lIGQKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5bGUtaW1h
Z2UgaW4gOjptYXJrZXIKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5bGUtcG9zaXRpb24gaW4g
OjptYXJrZXIKIFBBU1MgQW5pbWF0aW9uIG9mIGxpc3Qtc3R5bGUtdHlwZSBpbiA6Om1hcmtlcgot
UEFTUyBBbmltYXRpb24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIKLUZBSUwgVHJhbnNpdGlv
biBvZiBmb250IGluIDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgIml0YWxpYyBzbWFs
bC1jYXBzIDkwMCB1bHRyYS1leHBhbmRlZCAyNXB4L25vcm1hbCBBaGVtIiBub3QgaW4gYXJyYXkg
WyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwgIml0YWxpYyBzbWFs
bC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KK0ZBSUwgQW5pbWF0aW9uIG9m
IGxpbmUtaGVpZ2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJub3JtYWwi
IGJ1dCBnb3QgIjM1cHgiCitGQUlMIFRyYW5zaXRpb24gb2YgZm9udCBpbiA6Om1hcmtlciBhc3Nl
cnRfaW5fYXJyYXk6IHZhbHVlICJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweC8z
NXB4IEFoZW0iIG5vdCBpbiBhcnJheSBbIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAx
NXB4IEFoZW0iLCAiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvbm9ybWFsIEFo
ZW0iXQogUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtZmFtaWx5IGluIDo6bWFya2VyCiBQQVNTIFRy
YW5zaXRpb24gb2YgZm9udC1mZWF0dXJlLXNldHRpbmdzIGluIDo6bWFya2VyCiBGQUlMIFRyYW5z
aXRpb24gb2YgZm9udC1rZXJuaW5nIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJub25lIiBidXQgZ290ICJhdXRvIgotRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQtc2l6ZSBpbiA6
Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiMTVweCIgYnV0IGdvdCAiMjVweCIKK1BB
U1MgVHJhbnNpdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIKIEZBSUwgVHJhbnNpdGlvbiBv
ZiBmb250LXNpemUtYWRqdXN0IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiBmb250LXNpemUtYWRq
dXN0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1dGVkIHN0eWxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFRyYW5zaXRpb24gb2YgZm9udC1zdHJldGNoIGlu
IDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgInVsdHJhLWV4cGFuZGVkIiBub3QgaW4g
YXJyYXkgWyJleHBhbmRlZCIsICIxMjUlIl0KK1BBU1MgVHJhbnNpdGlvbiBvZiBmb250LXN0cmV0
Y2ggaW4gOjptYXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBmb250LXN0eWxlIGluIDo6bWFya2Vy
CiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1zeW50aGVzaXMgaW4gOjptYXJrZXIKIFBBU1MgVHJh
bnNpdGlvbiBvZiBmb250LXZhcmlhbnQgaW4gOjptYXJrZXIKQEAgLTQ0LDkgKzQ0LDkgQEAgUEFT
UyBUcmFuc2l0aW9uIG9mIGZvbnQtdmFyaWFudC1lYXN0LWFzaWFuIGluIDo6bWFya2VyCiBQQVNT
IFRyYW5zaXRpb24gb2YgZm9udC12YXJpYW50LWxpZ2F0dXJlcyBpbiA6Om1hcmtlcgogUEFTUyBU
cmFuc2l0aW9uIG9mIGZvbnQtdmFyaWFudC1udW1lcmljIGluIDo6bWFya2VyCiBQQVNTIFRyYW5z
aXRpb24gb2YgZm9udC12YXJpYW50LXBvc2l0aW9uIGluIDo6bWFya2VyCi1GQUlMIFRyYW5zaXRp
b24gb2YgZm9udC13ZWlnaHQgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIjUw
MCIgYnV0IGdvdCAiOTAwIgorUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQtd2VpZ2h0IGluIDo6bWFy
a2VyCiBGQUlMIFRyYW5zaXRpb24gb2Ygd2hpdGUtc3BhY2UgaW4gOjptYXJrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIm5vd3JhcCIgYnV0IGdvdCAibm9ybWFsIgotRkFJTCBUcmFuc2l0aW9u
IG9mIGNvbG9yIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZ2IoNTAsIDE1
MCwgMTAwKSIgYnV0IGdvdCAicmdiKDEwMCwgMjAwLCAwKSIKK1BBU1MgVHJhbnNpdGlvbiBvZiBj
b2xvciBpbiA6Om1hcmtlcgogRkFJTCBUcmFuc2l0aW9uIG9mIHRleHQtY29tYmluZS11cHJpZ2h0
IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiB0ZXh0LWNvbWJpbmUtdXByaWdodCBkb2Vzbid0IHNl
ZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQogRkFJTCBUcmFuc2l0aW9uIG9mIHVuaWNvZGUtYmlkaSBpbiA6Om1hcmtlciBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAicGxhaW50ZXh0IiBidXQgZ290ICJub3JtYWwiCiBGQUlMIFRy
YW5zaXRpb24gb2YgZGlyZWN0aW9uIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJydGwiIGJ1dCBnb3QgImx0ciIKQEAgLTU4LDUgKzU4LDUgQEAgRkFJTCBUcmFuc2l0aW9uIG9m
IGxpc3Qtc3R5bGUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm91dHNpZGUg
bm9uZQogUEFTUyBUcmFuc2l0aW9uIG9mIGxpc3Qtc3R5bGUtaW1hZ2UgaW4gOjptYXJrZXIKIFBB
U1MgVHJhbnNpdGlvbiBvZiBsaXN0LXN0eWxlLXBvc2l0aW9uIGluIDo6bWFya2VyCiBQQVNTIFRy
YW5zaXRpb24gb2YgbGlzdC1zdHlsZS10eXBlIGluIDo6bWFya2VyCi1QQVNTIFRyYW5zaXRpb24g
b2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIKK0ZBSUwgVHJhbnNpdGlvbiBvZiBsaW5lLWhlaWdo
dCBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9ybWFsIiBidXQgZ290ICIz
NXB4IgogdGFyZ2V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50
ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVu
dGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCAwOTg0MWNmZjRhY2Q0Yzc4ZmQyMThhZjNkOTE5Zjk2
Nzc1OWFhMGJiLi4wYzNjM2YzODNmMTlmMTdlMmNlYWMyY2I1Zjc0YmNhM2QzNmVlMmQ4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdHJhbnNpdGlvbnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKQEAgLTQsNiArNCw2IEBAIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5zaXRp
b25zCiBQQVNTIGdldEFuaW1hdGlvbnMgZm9yIENTUyBUcmFuc2l0aW9ucyBzb3J0IGJ5IHByb3Bl
cnR5IG5hbWUKIFBBU1MgZ2V0QW5pbWF0aW9ucyBmb3IgQ1NTIFRyYW5zaXRpb25zIHNvcnQgYnkg
dHJhbnNpdGlvbiBnZW5lcmF0aW9uCiBQQVNTIENTUyBUcmFuc2l0aW9ucyB0YXJnZXR0aW5nIChw
c2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIgc29ydGluZwot
RkFJTCBDU1MgVHJhbnNpdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50cyBzaG91bGQg
aGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxz
OiBDU1MgdHJhbnNpdGlvbiBvbiBib3RoIHBzZXVkby1lbGVtZW50cyBhbmQgZWxlbWVudHMgYXJl
IHJldHVybmVkIGV4cGVjdGVkIDUgYnV0IGdvdCA0CitQQVNTIENTUyBUcmFuc2l0aW9ucyB0YXJn
ZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0ZXIg
c29ydGluZyAoOjptYXJrZXIpCiBQQVNTIFRyYW5zaXRpb25zIGFyZSBub3QgcmV0dXJuZWQgYWZ0
ZXIgdGhleSBoYXZlIGZpbmlzaGVkCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1tb2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVk
by90ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
bW9qYXZlL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vdGV4
dC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ODRkOTdlOWQ3ZjBlMmMyODQyYjYzODM1ZjQxMjlmMTE4MGMzZWUyLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1t
b2phdmUvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby90ZXh0
LXNlbGVjdGlvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1o
ZWxsb3dvcmxkCi1oZWxsb3dvcmxkCi1oZWxsb3dvcmxkCi0KLUZBSUwgU2VsZWN0aW9uIGVuZGlu
ZyBpbiA6OmJlZm9yZSBhc3NlcnRfZXF1YWxzOiB0b1N0cmluZyBleHBlY3RlZCAiaGVsbG8iIGJ1
dCBnb3QgIiIKLVBBU1MgU2VsZWN0aW9uIGNvbnRhaW5lZCBpbiA6OmJlZm9yZQotRkFJTCBTZWxl
Y3Rpb24gZW5kaW5nIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IHRvU3RyaW5nIGV4cGVjdGVk
ICJoZWxsbyIgYnV0IGdvdCAiIgotUEFTUyBTZWxlY3Rpb24gY29udGFpbmVkIGluIDo6bWFya2Vy
Ci1GQUlMIFNlbGVjdGlvbiBlbmRpbmcgaW4gOjpiZWZvcmUtbWFya2VyIGFzc2VydF9lcXVhbHM6
IHRvU3RyaW5nIGV4cGVjdGVkICJoZWxsbyIgYnV0IGdvdCAiIgotRkFJTCBTZWxlY3Rpb24gY29u
dGFpbmVkIGluIDo6YmVmb3JlLW1hcmtlciBhc3NlcnRfZXF1YWxzOiB0b1N0cmluZyBleHBlY3Rl
ZCAiIiBidXQgZ290ICJoIgotCg==
</data>
<flag name="review"
          id="430803"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="430818"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414070</attachid>
            <date>2020-11-13 11:25:11 -0800</date>
            <delta_ts>2020-11-13 12:49:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201113202510.patch</filename>
            <type>text/plain</type>
            <size>25402</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjY2E2NTFlNDg0MDdm
NDlkNTM4MDhlNjljN2ZjNGVjZWMzNTk3My4uMTgyODk3ZGZlMzc2MjFjNDNlODZhODk4MzJhYWM3
MjJmMWM4MGY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTExLTEzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBkb20vUHNldWRv
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKTogUmVmYWN0b3Igd2hhdCB3YXMgb3JpZ2luYWxseSBpc1RhcmdldGVkQnlLZXlmcmFt
ZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQorICAgICAgICBpbnRvIHRoaXMgbWV0aG9k
IHNpbmNlIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
IHdhcyByZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6UHNldWRvRWxlbWVudDo6aXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogUmVtb3ZlIHRoaXMgbWV0
aG9kIGZyb20gUHNldWRvRWxlbWVudCBzaW5jZQorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgdGhh
dCBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgUHNldWRvRWxlbWVudCBuZWVkIHNpbWlsYXIgbG9n
aWMsIHdoaWNoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgc3RhdGljCisgICAgICAgIGZ1
bmN0aW9uIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0Vs
ZW1lbnQoKSBpbiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwLgorICAgICAg
ICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50VXBkYXRl
cyBpbnN0ZWFkIG9mIGp1c3QgdGhlIEVsZW1lbnRVcGRhdGUgdG8KKyAgICAgICAgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKCkgc3VjaCB0aGF0IGl0IG1heSBwcm9jZXNzIHRoZSBuZXcgcHNldWRvRWxl
bWVudFVwZGF0ZXMgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50
VXBkYXRlcyBhbmQgYSBQc2V1ZG9JZCB0bworICAgICAgICB1cGRhdGVQc2V1ZG9FbGVtZW50KCkg
c3VjaCB0aGF0IGl0IG1heSB1c2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIg
aW4gY29tYmluYXRpb24gd2l0aCB0aGUgUHNldWRvSWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdo
YXQgRWxlbWVudFVwZGF0ZSB0byB1c2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBk
YXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxl
bWVudFVwZGF0ZXMgYW5kIGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVu
dCgpIHN1Y2ggdGhhdCBpdCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVt
YmVyIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWlu
ZSB3aGF0IEVsZW1lbnRVcGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcik6IFVzZSB0aGUgbmV3IHBzZXVkb0VsZW1l
bnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRlcyB0byBzZXQgdGhlCisgICAgICAgIHBz
ZXVkby1lbGVtZW50IHN0eWxlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVsZW1lbnRJc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBOZXcgc3RhdGlj
IG1ldGhvZCBtZWFudCB0byByZXBsYWNlIHRoZSByZW1vdmVkCisgICAgICAgIFBzZXVkb0VsZW1l
bnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIHN1
Y2ggdGhhdCB3ZSBtYXkgdXNlIHRoaXMgbWV0aG9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorICAg
ICAgICB0aGUgcHNldWRvLWVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgUHNldWRvRWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMpOiBVc2UgZWxlbWVudElz
VGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIGluc3RlYWQg
b2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNUYXJnZXRlZEJ5S2V5ZnJh
bWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudCk6IExv
b2sgdXAgYWxsIEVsZW1lbnRVcGRhdGUgZm9yIHRoZSBwcm92aWRlZCBQc2V1ZG9JZAorICAgICAg
ICBpbiB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRl
cyBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hhdCBFbGVtZW50VXBkYXRlIHRvIHByb2Nlc3MuIEFs
c28sIHVzZQorICAgICAgICBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkgaW5zdGVhZCBvZiB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9F
bGVtZW50Ojppc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50
OjpuZWVkc1BzZXVkb0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpy
ZXNvbHZlRWxlbWVudCk6IFJlc29sdmUgYW55IHB1YmxpYyBwc2V1ZG8tZWxlbWVudCBpbnN0ZWFk
IG9mIGp1c3QgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIKKyAgICAgICAgYW5kIHNhdmUgdGhvc2UgaW4g
dGhlIG5ldyBFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIuIAorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKTog
UmVzb2x2ZSBhbnkgcHNldWRvLWVsZW1lbnQgc2V0IG9uIGFuIGVsZW1lbnQgdGhhdCBlaXRoZXIg
aGFzIGFuaW1hdGlvbnMKKyAgICAgICAgc2V0IG9uIGl0LCBlaXRoZXIgc2V0IGJ5IFdlYiBBbmlt
YXRpb25zLCBhcyBzZWVuIG9uIHRoZSBLZXlmcmFtZUVmZmVjdFN0YWNrLCBvciB5ZXQgdG8gYmUg
YXBwbGllZCB0aHJvdWdoIGEgQ1NTIEFuaW1hdGlvbiBvcgorICAgICAgICBDU1MgVHJhbnNpdGlv
biwgYXMgc2VlbiBvbiB0aGUgUmVuZGVyU3R5bGUuCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVVwZGF0ZS5oOiBBZGQgYSBuZXcgcHNl
dWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyIG9uIEVsZW1lbnRVcGRhdGVzLgorCiAyMDIwLTExLTEz
ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBvcnQg
bW9yZSBwcm9wZXJ0aWVzIG9uIDo6bWFya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcAppbmRleCA5ZTE4MmNjODlmZjBkOTE2OWM0MDczZjAzOTRiZjBkMTJi
NzA3YzVjLi5jMmY1OWI2MWY1ZDU4ZjE2NDQ4OGM3MzMzMGMxYjk4YzlhZWI5YTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTcyLDE0ICs3Miwx
MiBAQCBzdGF0aWMgRWxlbWVudCogZWxlbWVudE9yUHNldWRvRWxlbWVudEZvclN0eWxlYWJsZShj
b25zdCBPcHRpb25hbDxjb25zdCBTdHlsZWFibAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgIHN3aXRjaCAoc3R5bGVhYmxlLT5wc2V1ZG9JZCkgewotICAgIGNhc2UgUHNldWRvSWQ6Ok5v
bmU6Ci0gICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50OwogICAgIGNhc2UgUHNldWRv
SWQ6OkJlZm9yZToKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+ZWxlbWVudC5iZWZvcmVQc2V1
ZG9FbGVtZW50KCk7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QWZ0ZXI6CiAgICAgICAgIHJldHVybiBz
dHlsZWFibGUtPmVsZW1lbnQuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CiAgICAgZGVmYXVsdDoKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50
OwogICAgIH0KIH0KIApAQCAtMTE0NywxNyArMTE0NSwxNSBAQCBib29sIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRzUHNldWRvRWxlbWVudCgpIGNvbnN0CiAKIEVsZW1lbnQqIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRFbGVtZW50T3JQc2V1ZG9FbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIXRhcmdl
dHNQc2V1ZG9FbGVtZW50KCkpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC5nZXQoKTsKKyAgICBp
ZiAobV90YXJnZXQpIHsKKyAgICAgICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9y
ZSkKKyAgICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YmVmb3JlUHNldWRvRWxlbWVudCgpOwog
Ci0gICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkKLSAgICAgICAgcmV0dXJu
IG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7Ci0KLSAgICBpZiAobV9wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6QWZ0ZXIpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9F
bGVtZW50KCk7CisgICAgICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikKKyAg
ICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgfQog
Ci0gICAgLy8gV2Ugb25seSBzdXBwb3J0IHRhcmdldGluZyA6OmJlZm9yZSBhbmQgOjphZnRlciBw
c2V1ZG8tZWxlbWVudHMgYXQgdGhlIG1vbWVudC4KLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBy
ZXR1cm4gbV90YXJnZXQuZ2V0KCk7CiB9CiAKIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OnNldFRhcmdl
dChSZWZQdHI8RWxlbWVudD4mJiBuZXdUYXJnZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUHNldWRvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVu
dC5jcHAKaW5kZXggNzFkYzM3ZGZmMWM4YTIzMjlmMjU2ZWI3Njk0NjNkYjE2YTAwMDc0NS4uMzlh
MDQyOWEzM2QxNDkxN2VjNWZlOTcxYzAyMTQ0NWNjNjhkOWM4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
c2V1ZG9FbGVtZW50LmNwcApAQCAtODMsMTEgKzgzLDkgQEAgdm9pZCBQc2V1ZG9FbGVtZW50Ojpj
bGVhckhvc3RFbGVtZW50KCkKIAogYm9vbCBQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklzTmVlZGVk
KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKLSAgICByZXR1cm4gcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQoJnN0eWxlKSB8fCBpc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVp
cmluZ1BzZXVkb0VsZW1lbnQoKTsKLX0KKyAgICBpZiAocHNldWRvRWxlbWVudFJlbmRlcmVySXNO
ZWVkZWQoJnN0eWxlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKLWJvb2wgUHNldWRvRWxlbWVu
dDo6aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkKLXsK
ICAgICBpZiAobV9ob3N0RWxlbWVudCkgewogICAgICAgICBpZiAoYXV0byogc3RhY2sgPSBtX2hv
c3RFbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKCkpKQogICAgICAgICAgICAg
cmV0dXJuIHN0YWNrLT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5oCmluZGV4IDVkOWFmODUxMTY0Y2Y3Yzc1NWJkNzlkZWZmMzJiMzFiYzA3ZGYzMzku
LjJkMmEwYjE1OGNlMDE2YjUxMDU1MWNiZmE4OTBkMjE0Y2ZiMjdiNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuaApAQCAtNDEsNyArNDEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVh
ckhvc3RFbGVtZW50KCk7CiAKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVy
U3R5bGUmKSBvdmVycmlkZTsKLSAgICBib29sIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpOwogCiAgICAgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Db250YWluUmFuZ2VF
bmRQb2ludCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApp
bmRleCAwMjhkNjBhYWE1NWZiYjYxZDE0YWUxZDU0ZjgyZWM2MzdiYzljZTI2Li5jMThlMTBlOTJh
MTQwYTdiNDM5NjQzZDUzOTc2Y2FlZmE3NDA0ZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTE5MSw3
ICsxOTEsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRh
aW5lck5vZGUmIHJvb3QpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZWxlbWVudFVwZGF0ZXMp
Ci0gICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwgZWxlbWVudFVwZGF0
ZXMtPnVwZGF0ZSk7CisgICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwg
KmVsZW1lbnRVcGRhdGVzKTsKIAogICAgICAgICBzdG9yZVByZXZpb3VzUmVuZGVyZXIoZWxlbWVu
dCk7CiAKQEAgLTI1MSwxMyArMjUxLDEzIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnBvcFBh
cmVudHNUb0RlcHRoKHVuc2lnbmVkIGRlcHRoKQogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBk
YXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1l
bnRVcGRhdGVzKiB1cGRhdGVzKQogewogICAgIGlmICh1cGRhdGVzKQotICAgICAgICBnZW5lcmF0
ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50LCB1cGRhdGVzLT5iZWZvcmVQ
c2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6QmVmb3JlKTsKKyAgICAgICAgZ2VuZXJhdGVk
Q29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgKnVwZGF0ZXMsIFBzZXVkb0lk
OjpCZWZvcmUpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2Nl
bmRhbnRzKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBk
YXRlcykKIHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVw
ZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBk
YXRlLCBQc2V1ZG9JZDo6QWZ0ZXIpOworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRl
UHNldWRvRWxlbWVudChlbGVtZW50LCAqdXBkYXRlcywgUHNldWRvSWQ6OkFmdGVyKTsKIAogICAg
IGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIp
CkBAIC0yOTcsMTMgKzI5NywyMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5k
ZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBSZW5kZXJTdHlsZQogICAgIG1fYnVp
bGRlci5ub3JtYWxpemVUcmVlQWZ0ZXJTdHlsZUNoYW5nZShyZW5kZXJlciwgb2xkU3R5bGUpOwog
fQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmIHVwZGF0ZSkKK3ZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMpCiB7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OlN0eWxlQ2hhbmdlU2NvcGUgb2Jz
ZXJ2aW5nU2NvcGUobV9kb2N1bWVudCwgZWxlbWVudCk7CiAjZW5kaWYKIAotICAgIGJvb2wgc2hv
dWxkVGVhckRvd25SZW5kZXJlcnMgPSB1cGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJl
bmRlcmVyICYmIChlbGVtZW50LnJlbmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVu
dHMoKSk7CisgICAgYXV0byYgZWxlbWVudFVwZGF0ZSA9IHVwZGF0ZXMudXBkYXRlOworICAgIGF1
dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCplbGVtZW50VXBk
YXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLnBzZXVkb0VsZW1lbnRV
cGRhdGVzKSB7CisgICAgICAgIGF1dG8gcHNldWRvSWQgPSBpdC5rZXk7CisgICAgICAgIGlmIChw
c2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IHBzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRl
cikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBlbGVtZW50VXBkYXRlU3R5bGUtPmFk
ZENhY2hlZFBzZXVkb1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0cigqaXQudmFsdWUuc3R5bGUp
KTsKKyAgICB9CisKKyAgICBib29sIHNob3VsZFRlYXJEb3duUmVuZGVyZXJzID0gZWxlbWVudFVw
ZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVy
ZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3BsYXlDb250ZW50cygpKTsKICAgICBpZiAoc2hvdWxkVGVh
ckRvd25SZW5kZXJlcnMpIHsKICAgICAgICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkpIHsKICAg
ICAgICAgICAgIC8vIFdlIG1heSBiZSB0ZWFyaW5nIGRvd24gYSBkZXNjZW5kYW50IHJlbmRlcmVy
IGNhY2hlZCBpbiByZW5kZXJUcmVlUG9zaXRpb24uCkBAIC0zMTEsMTUgKzMyMSwxNSBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgU3R5bGU6OkVsZQogICAgICAgICB9CiAKICAgICAgICAgLy8gZGlzcGxheTpub25l
IGNhbmNlbHMgYW5pbWF0aW9ucy4KLSAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSB1cGRhdGUu
c3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSA/IFRlYXJkb3duVHlwZTo6UmVu
ZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmltYXRpb25zIDogVGVhcmRvd25UeXBlOjpSZW5kZXJlclVw
ZGF0ZTsKKyAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5k
aXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBk
YXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGU7CiAg
ICAgICAgIHRlYXJEb3duUmVuZGVyZXJzKGVsZW1lbnQsIHRlYXJkb3duVHlwZSwgbV9idWlsZGVy
KTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lDaGlsZFJl
bmRlcmVyID0gdHJ1ZTsKICAgICB9CiAKLSAgICBib29sIGhhc0Rpc3BsYXlDb250ZW50cyA9IHVw
ZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpDb250ZW50czsKKyAgICBib29s
IGhhc0Rpc3BsYXlDb250ZW50cyA9IGVsZW1lbnRVcGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Q29udGVudHM7CiAgICAgaWYgKGhhc0Rpc3BsYXlDb250ZW50cykKLSAgICAg
ICAgZWxlbWVudC5zdG9yZURpc3BsYXlDb250ZW50c1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0
cigqdXBkYXRlLnN0eWxlKSk7CisgICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNT
dHlsZShXVEZNb3ZlKGVsZW1lbnRVcGRhdGVTdHlsZSkpOwogICAgIGVsc2UKICAgICAgICAgZWxl
bWVudC5yZXNldENvbXB1dGVkU3R5bGUoKTsKIApAQCAtMzI3LDcgKzMzNyw3IEBAIHZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlCiAgICAgaWYgKHNob3VsZENyZWF0ZU5ld1JlbmRlcmVyKSB7CiAgICAg
ICAgIGlmIChlbGVtZW50Lmhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpKQogICAgICAg
ICAgICAgZWxlbWVudC53aWxsQXR0YWNoUmVuZGVyZXJzKCk7Ci0gICAgICAgIGNyZWF0ZVJlbmRl
cmVyKGVsZW1lbnQsIFJlbmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSk7CisgICAgICAg
IGNyZWF0ZVJlbmRlcmVyKGVsZW1lbnQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSkpOwog
CiAgICAgICAgIHJlbmRlcmluZ1BhcmVudCgpLmRpZENyZWF0ZU9yRGVzdHJveUNoaWxkUmVuZGVy
ZXIgPSB0cnVlOwogICAgICAgICByZXR1cm47CkBAIC0zMzcsMjAgKzM0NywyMCBAQCB2b2lkIFJl
bmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwg
Y29uc3QgU3R5bGU6OkVsZQogICAgICAgICByZXR1cm47CiAgICAgYXV0byYgcmVuZGVyZXIgPSAq
ZWxlbWVudC5yZW5kZXJlcigpOwogCi0gICAgaWYgKHVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7
Ci0gICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVyZXIsIFJlbmRlclN0eWxlOjpjbG9u
ZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpSZWNvbXBvc2l0ZUxheWVyKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7CisgICAgICAgIHVwZGF0ZVJl
bmRlcmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxl
RGlmZmVyZW5jZTo6UmVjb21wb3NpdGVMYXllcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBpZiAodXBkYXRlLmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpOb25lKSB7Ci0gICAgICAg
IGlmIChwc2V1ZG9TdHlsZUNhY2hlSXNJbnZhbGlkKCZyZW5kZXJlciwgdXBkYXRlLnN0eWxlLmdl
dCgpKSkgewotICAgICAgICAgICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVy
U3R5bGU6OmNsb25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkgeworICAg
ICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIGVsZW1lbnRVcGRh
dGVTdHlsZS5nZXQoKSkpIHsKKyAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVy
ZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJTdHlsZTo6Y2xvbmUo
KnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwpOworICAgIHVwZGF0ZVJlbmRl
cmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlm
ZmVyZW5jZTo6RXF1YWwpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpjcmVhdGVSZW5k
ZXJlcihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAppbmRl
eCAyMzQwMzRjODMzMTdjYTYxODdlMWJlYmFiN2NlMTcwZjFkNzQ1MmNiLi4zOTYxNTM3YmJmNjlk
NGExMjdkYjE4MzE2NWUxMDg4YzVhNjU1ZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaApAQCAtNTgsNyArNTgsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUmVuZGVyVHJlZShDb250YWluZXJOb2RlJiByb290
KTsKICAgICB2b2lkIHVwZGF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6OlRleHRV
cGRhdGUqKTsKICAgICB2b2lkIGNyZWF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6
OlRleHRVcGRhdGUqKTsKLSAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50Jiwg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmKTsKKyAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5k
ZXJlcihFbGVtZW50JiwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzJik7CiAgICAgdm9pZCB1
cGRhdGVSZW5kZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBTdHlsZURp
ZmZlcmVuY2UpOwogICAgIHZvaWQgY3JlYXRlUmVuZGVyZXIoRWxlbWVudCYsIFJlbmRlclN0eWxl
JiYpOwogICAgIHZvaWQgdXBkYXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYsIGNvbnN0IFN0
eWxlOjpFbGVtZW50VXBkYXRlcyopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRD
b250ZW50LmNwcAppbmRleCAwZTljNDlhNzJjZTRhOGZkZjY4YTRjMjdiNmRlNDBmOTYxMWYyZjk4
Li42MmU3ZTJjNzdiMmI0MGZlYmJmYTk2MWI4M2E3ODM4MzhjMTZjMTM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0
ZWRDb250ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcApAQCAtNjksNyArNjksMjAgQEAgdm9p
ZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUXVvdGVzVXBUbyhS
ZW5kZXJRdW90ZSogbGFzdFF1b3QKICAgICBBU1NFUlQoIWxhc3RRdW90ZSk7CiB9CiAKLXN0YXRp
YyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIs
IFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUp
CitzdGF0aWMgYm9vbCBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQ
c2V1ZG9FbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIFBzZXVkb0lkIHBzZXVkb0lkKQor
eworICAgIGlmIChpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSkKKyAgICAgICAgcmV0dXJuIGVs
ZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoZG93
bmNhc3Q8UHNldWRvRWxlbWVudD4oKmVsZW1lbnQpLmhvc3RFbGVtZW50KCksIHBzZXVkb0lkKTsK
KworICAgIGlmIChlbGVtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBzdGFjayA9IGVsZW1lbnQt
PmtleWZyYW1lRWZmZWN0U3RhY2socHNldWRvSWQpKQorICAgICAgICAgICAgcmV0dXJuIHN0YWNr
LT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3N0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXIm
IGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUsIFBzZXVkb0lkIHBzZXVkb0lkKQogewogICAgIGlmIChhdXRvKiBjb250ZW50RGF0
YSA9IHN0eWxlLmNvbnRlbnREYXRhKCkpIHsKICAgICAgICAgZm9yIChjb25zdCBDb250ZW50RGF0
YSogY29udGVudCA9IGNvbnRlbnREYXRhOyBjb250ZW50OyBjb250ZW50ID0gY29udGVudC0+bmV4
dCgpKSB7CkBAIC04MCw3ICs5Myw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJl
cnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzCiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gVGhlIG9ubHkgdmFsaWQgc2NlbmFyaW8gd2hlcmUgdGhpcyBtZXRo
b2QgaXMgY2FsbGVkIHdpdGhvdXQgdGhlICJjb250ZW50IiBwcm9wZXJ0eSBiZWluZyBzZXQKICAg
ICAgICAgLy8gaXMgdGhlIGNhc2Ugd2hlcmUgYSBwc2V1ZG8tZWxlbWVudCBoYXMgYW5pbWF0aW9u
cyBzZXQgb24gaXQgdmlhIHRoZSBXZWIgQW5pbWF0aW9ucyBBUEkuCi0gICAgICAgIEFTU0VSVChp
czxQc2V1ZG9FbGVtZW50Pihwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpICYmIGRvd25jYXN0PFBz
ZXVkb0VsZW1lbnQ+KCpwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpLmlzVGFyZ2V0ZWRCeUtleWZy
YW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChwc2V1ZG9JZCwgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNl
dWRvRWxlbWVudChwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCksIHBzZXVkb0lkKSk7CiAgICAgfQog
fQogCkBAIC05NCwxNCArMTA3LDIxIEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVN0eWxlRm9yQ29udGVu
dFJlbmRlcmVycyhSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QKICAgICB9CiB9
CiAKLXZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVk
b0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwgY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRV
cGRhdGU+JiB1cGRhdGUsIFBzZXVkb0lkIHBzZXVkb0lkKQordm9pZCBSZW5kZXJUcmVlVXBkYXRl
cjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50
LCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMsIFBzZXVkb0lkIHBzZXVkb0lk
KQogewogICAgIFBzZXVkb0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QmVmb3JlID8gY3VycmVudC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBjdXJyZW50LmFm
dGVyUHNldWRvRWxlbWVudCgpOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gcHNldWRvRWxl
bWVudCA/IHBzZXVkb0VsZW1lbnQtPnJlbmRlcmVyKCkgOiBudWxscHRyKQogICAgICAgICBtX3Vw
ZGF0ZXIucmVuZGVyVHJlZVBvc2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5nKCpyZW5kZXJl
cik7CiAKLSAgICBpZiAoIW5lZWRzUHNldWRvRWxlbWVudCh1cGRhdGUpICYmICghcHNldWRvRWxl
bWVudCB8fCAhcHNldWRvRWxlbWVudC0+aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkpKSB7CisgICAgYXV0byogdXBkYXRlID0gWyZdKCkgLT4gY29uc3Qg
U3R5bGU6OkVsZW1lbnRVcGRhdGUqIHsKKyAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMu
cHNldWRvRWxlbWVudFVwZGF0ZXMuZmluZChwc2V1ZG9JZCk7CisgICAgICAgIGlmIChpdGVyYXRv
ciAhPSB1cGRhdGVzLnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAgcmV0
dXJuICZpdGVyYXRvci0+dmFsdWU7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0oKTsK
KworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkgJiYgKCFwc2V1ZG9FbGVtZW50
IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVt
ZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAgICAgaWYgKHBzZXVkb0VsZW1l
bnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQogICAg
ICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQoY3VycmVudCwgbV91cGRhdGVy
Lm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS0+Y2hhbmdlID09IFN0eWxl
OjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBkYXRlLT5jaGFuZ2UgPT0gU3R5
bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcHNldWRvRWxlbWVudCA9
ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQpOwpAQCAtMTI1LDEwICsxNDUs
MTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNl
dWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBjb250ZW50c1N0eWxlLT5jb3B5
Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAgIFN0eWxlOjpFbGVtZW50VXBk
YXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0eWxlKSwgdXBkYXRlLT5jaGFu
Z2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAgICBtX3VwZGF0ZXIudXBkYXRl
RWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50c1VwZGF0ZSk7CisgICAgICAg
IFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMgeyBXVEZNb3ZlKGNvbnRlbnRz
VXBkYXRlKSwgU3R5bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lLCB7IH0gfTsKKyAgICAg
ICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxlbWVudCwgV1RGTW92
ZShjb250ZW50c1VwZGF0ZXMpKTsKICAgICAgICAgcHNldWRvRWxlbWVudC0+c3RvcmVEaXNwbGF5
Q29udGVudHNTdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpKTsKICAg
ICB9IGVsc2UgewotICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1
ZG9FbGVtZW50LCAqdXBkYXRlKTsKKyAgICAgICAgYXV0byBwc2V1ZG9FbGVtZW50VXBkYXRlU3R5
bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBTdHls
ZTo6RWxlbWVudFVwZGF0ZSBwc2V1ZG9FbGVtZW50VXBkYXRlIHsgV1RGTW92ZShwc2V1ZG9FbGVt
ZW50VXBkYXRlU3R5bGUpLCB1cGRhdGUtPmNoYW5nZSwgdXBkYXRlLT5yZWNvbXBvc2l0ZUxheWVy
IH07CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyB7
IFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZSksIFN0eWxlOjpEZXNjZW5kYW50c1RvUmVzb2x2
ZTo6Tm9uZSwgeyB9IH07CisgICAgICAgIG1fdXBkYXRlci51cGRhdGVFbGVtZW50UmVuZGVyZXIo
KnBzZXVkb0VsZW1lbnQsIFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZXMpKTsKICAgICAgICAg
QVNTRVJUKCFwc2V1ZG9FbGVtZW50LT5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgfQogCkBA
IC0xMzcsNyArMTYxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVu
dDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAodXBkYXRlLT5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIpCi0g
ICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVk
b0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBjcmVhdGVDb250ZW50
UmVuZGVyZXJzKG1fdXBkYXRlci5tX2J1aWxkZXIsICpwc2V1ZG9FbGVtZW50UmVuZGVyZXIsICp1
cGRhdGUtPnN0eWxlLCBwc2V1ZG9JZCk7CiAgICAgZWxzZQogICAgICAgICB1cGRhdGVTdHlsZUZv
ckNvbnRlbnRSZW5kZXJlcnMoKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUp
OwogCkBAIC0xNDgsNyArMTcyLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVk
Q29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgIG1fdXBk
YXRlci5tX2J1aWxkZXIudXBkYXRlQWZ0ZXJEZXNjZW5kYW50cygqcHNldWRvRWxlbWVudFJlbmRl
cmVyKTsKIH0KIAotYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVl
ZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRlPiYgdXBk
YXRlKQorYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1
ZG9FbGVtZW50KGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlKiB1cGRhdGUpCiB7CiAgICAgaWYg
KCF1cGRhdGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdl
bmVyYXRlZENvbnRlbnQuaAppbmRleCAwMmUxZGIxOGZhOTEzMmUxMmFlZThmZTBjYTFkMDUzMDg2
Mjc3MzAxLi4zNDg4YzAzYjA1YjU1NWMyN2QxN2FjMWY0YzdlMThlZGY1ZjFmMTkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJH
ZW5lcmF0ZWRDb250ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oCkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50IHsKIHB1YmxpYzoKICAgICBH
ZW5lcmF0ZWRDb250ZW50KFJlbmRlclRyZWVVcGRhdGVyJik7CiAKLSAgICB2b2lkIHVwZGF0ZVBz
ZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRl
PiYsIFBzZXVkb0lkKTsKKyAgICB2b2lkIHVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNv
bnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyYsIFBzZXVkb0lkKTsKICAgICB2b2lkIHVwZGF0ZVJl
bWFpbmluZ1F1b3RlcygpOwogCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQmVmb3JlUHNldWRvRWxl
bWVudChFbGVtZW50JiwgUmVuZGVyVHJlZUJ1aWxkZXImKTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVF1b3Rlc1VwVG8oUmVuZGVyUXVvdGUqKTsK
ICAgICAKLSAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBPcHRpb25hbDxTdHlsZTo6
RWxlbWVudFVwZGF0ZT4mKTsKKyAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBTdHls
ZTo6RWxlbWVudFVwZGF0ZSopOwogCiAgICAgUmVuZGVyVHJlZVVwZGF0ZXImIG1fdXBkYXRlcjsK
ICAgICBXZWFrUHRyPFJlbmRlclF1b3RlPiBtX3ByZXZpb3VzVXBkYXRlZFF1b3RlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IGRiZTE0NjI3MDcyMTNh
NWQ5Yjk1ZDJhNDgyZjY3NDY1ZDhmMGZhNzkuLjgxYWI3ZmZhMjZlOGZkM2I3NzNlMTJiNDg3ZjA2
MTQyNTdkZjcxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJl
c29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5j
cHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJTdHlsZVNjb3BlLmgiCiAjaW5jbHVkZSAi
VGV4dC5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlvblR5cGVzLmgiCisjaW5jbHVkZSAiV2ViQW5p
bWF0aW9uVXRpbGl0aWVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjQ0LDggKzI0
NSwxMSBAQCBFbGVtZW50VXBkYXRlcyBUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KEVsZW1l
bnQmIGVsZW1lbnQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBhdXRvIGJlZm9yZVVwZGF0ZSA9
IHJlc29sdmVQc2V1ZG9TdHlsZShlbGVtZW50LCB1cGRhdGUsIFBzZXVkb0lkOjpCZWZvcmUpOwot
ICAgIGF1dG8gYWZ0ZXJVcGRhdGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRl
LCBQc2V1ZG9JZDo6QWZ0ZXIpOworICAgIFBzZXVkb0lkVG9FbGVtZW50VXBkYXRlTWFwIHBzZXVk
b1VwZGF0ZXM7CisgICAgZm9yIChQc2V1ZG9JZCBwc2V1ZG9JZCA9IFBzZXVkb0lkOjpGaXJzdFB1
YmxpY1BzZXVkb0lkOyBwc2V1ZG9JZCA8IFBzZXVkb0lkOjpGaXJzdEludGVybmFsUHNldWRvSWQ7
IHBzZXVkb0lkID0gc3RhdGljX2Nhc3Q8UHNldWRvSWQ+KHN0YXRpY19jYXN0PHVuc2lnbmVkPihw
c2V1ZG9JZCkgKyAxKSkgeworICAgICAgICBpZiAoYXV0byBlbGVtZW50VXBkYXRlID0gcmVzb2x2
ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgcHNldWRvSWQpKQorICAgICAgICAgICAgcHNl
dWRvVXBkYXRlcy5zZXQocHNldWRvSWQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGUpKTsKKyAgICB9
CiAKICNpZiBFTkFCTEUoVE9VQ0hfQUNUSU9OX1JFR0lPTlMpCiAgICAgLy8gRklYTUU6IFRyYWNr
IHRoaXMgZXhhY3RseS4KQEAgLTI1NywxMSArMjYxLDEzIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVS
ZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgbV9kb2N1
bWVudC5zZXRNYXlIYXZlRWRpdGFibGVFbGVtZW50cygpOwogI2VuZGlmCiAKLSAgICByZXR1cm4g
eyBXVEZNb3ZlKHVwZGF0ZSksIGRlc2NlbmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKGJlZm9yZVVw
ZGF0ZSksIFdURk1vdmUoYWZ0ZXJVcGRhdGUpIH07CisgICAgcmV0dXJuIHsgV1RGTW92ZSh1cGRh
dGUpLCBkZXNjZW5kYW50c1RvUmVzb2x2ZSwgV1RGTW92ZShwc2V1ZG9VcGRhdGVzKSB9OwogfQog
Ci1FbGVtZW50VXBkYXRlIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1lbnQm
IGVsZW1lbnQsIGNvbnN0IEVsZW1lbnRVcGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBzZXVkb0lkIHBz
ZXVkb0lkKQorT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNl
dWRvU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVw
ZGF0ZSwgUHNldWRvSWQgcHNldWRvSWQpCiB7CisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lk
OjpNYXJrZXIgJiYgZWxlbWVudFVwZGF0ZS5zdHlsZS0+ZGlzcGxheSgpICE9IERpc3BsYXlUeXBl
OjpMaXN0SXRlbSkKKyAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZWxlbWVudFVwZGF0ZS5z
dHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lKQogICAgICAgICByZXR1cm4geyB9
OwogICAgIGlmICghZWxlbWVudFVwZGF0ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQp
KQpAQCAtMjcxLDggKzI3Nyw3IEBAIEVsZW1lbnRVcGRhdGUgVHJlZVJlc29sdmVyOjpyZXNvbHZl
UHNldWRvU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwCiAgICAgaWYgKCFw
c2V1ZG9TdHlsZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8qIHBzZXVkb0VsZW1l
bnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlID8gZWxlbWVudC5iZWZvcmVQc2V1ZG9F
bGVtZW50KCkgOiBlbGVtZW50LmFmdGVyUHNldWRvRWxlbWVudCgpOwotICAgIGJvb2wgaGFzQW5p
bWF0aW9ucyA9IHBzZXVkb0VsZW1lbnQgJiYgcHNldWRvRWxlbWVudC0+aXNUYXJnZXRlZEJ5S2V5
ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7CisgICAgYm9vbCBoYXNBbmltYXRp
b25zID0gcHNldWRvU3R5bGUtPmhhc0FuaW1hdGlvbnNPclRyYW5zaXRpb25zKCkgfHwgZWxlbWVu
dC5oYXNLZXlmcmFtZUVmZmVjdHMocHNldWRvSWQpOwogICAgIGlmICghcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpICYmICFoYXNBbmltYXRpb25zKQogICAg
ICAgICByZXR1cm4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVRyZWVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIu
aAppbmRleCBjMjk3MzQyZmVlODU0OTRhOWE2YWJkMWNlOTgyOGQ5NzcyMjNjMTE4Li44N2JlYTlh
ZmJlMzRhOWM5ZWM5NWY2NzExNmU3OTBhZGUzNjBkNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBFbGVt
ZW50VXBkYXRlcyByZXNvbHZlRWxlbWVudChFbGVtZW50Jik7CiAKICAgICBFbGVtZW50VXBkYXRl
IGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+
LCBjb25zdCBTdHlsZWFibGUmLCBDaGFuZ2UpOwotICAgIEVsZW1lbnRVcGRhdGUgcmVzb2x2ZVBz
ZXVkb1N0eWxlKEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOworICAg
IE9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IHJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiwgY29u
c3QgRWxlbWVudFVwZGF0ZSYsIFBzZXVkb0lkKTsKIAogICAgIHN0cnVjdCBTY29wZSA6IFJlZkNv
dW50ZWQ8U2NvcGU+IHsKICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEX1dJ
VEhfSEVBUF9JREVOVElGSUVSKFRyZWVSZXNvbHZlclNjb3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVVwZGF0ZS5oCmluZGV4IDFjNjEyZGZhOTQ2NDMyZDI0ZDdmNDZhZDY0OTk5YTRlNzNmM2UxZmEu
LjA0YzYwNDJkMDcwNWUzMWMyNTE1YmViYzdhZmM1NzQ5ZmYzOTgzNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVVcGRhdGUuaApAQCAtNTAsMTEgKzUwLDEyIEBAIHN0cnVjdCBFbGVtZW50VXBkYXRl
IHsKIAogZW51bSBjbGFzcyBEZXNjZW5kYW50c1RvUmVzb2x2ZSB7IE5vbmUsIENoaWxkcmVuV2l0
aEV4cGxpY2l0SW5oZXJpdCwgQ2hpbGRyZW4sIEFsbCB9OwogCit1c2luZyBQc2V1ZG9JZFRvRWxl
bWVudFVwZGF0ZU1hcCA9IEhhc2hNYXA8UHNldWRvSWQsIEVsZW1lbnRVcGRhdGUsIFdURjo6SW50
SGFzaDxQc2V1ZG9JZD4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UHNldWRvSWQ+PjsKKwog
c3RydWN0IEVsZW1lbnRVcGRhdGVzIHsKICAgICBFbGVtZW50VXBkYXRlIHVwZGF0ZTsKICAgICBE
ZXNjZW5kYW50c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7IERlc2NlbmRhbnRzVG9S
ZXNvbHZlOjpOb25lIH07Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYmVmb3JlUHNldWRv
RWxlbWVudFVwZGF0ZTsKLSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBhZnRlclBzZXVkb0Vs
ZW1lbnRVcGRhdGU7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAgcHNldWRvRWxlbWVu
dFVwZGF0ZXM7CiB9OwogCiBzdHJ1Y3QgVGV4dFVwZGF0ZSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414085</attachid>
            <date>2020-11-13 12:49:57 -0800</date>
            <delta_ts>2020-11-13 12:49:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218792-20201113214952.patch</filename>
            <type>text/plain</type>
            <size>38656</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBjY2E2NTFlNDg0MDdm
NDlkNTM4MDhlNjljN2ZjNGVjZWMzNTk3My4uMTgyODk3ZGZlMzc2MjFjNDNlODZhODk4MzJhYWM3
MjJmMWM4MGY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTExLTEzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQgYW5pbWF0
aW9ucyBvbiBtb3JlIHBzZXVkby1lbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI3
NDQ4NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB1c2VkIHRvIG9ubHkgc3VwcG9ydCBhbmltYXRpb25zIGZvciBwc2V1ZG8tZWxlbWVudHMgdGhh
dCB3ZXJlIHJlcHJlc2VudGVkIGJ5IFBzZXVkb0VsZW1lbnQgKDo6YmVmb3JlIGFuZCA6OmFmdGVy
KS4KKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjYW4gbm93IGFuaW1hdGUgYW55IHB1Ymxp
YyBwc2V1ZG8tZWxlbWVudCwgc3VjaCBhcyA6Om1hcmtlci4KKworICAgICAgICAqIGFuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbGVtZW50T3JQc2V1ZG9F
bGVtZW50Rm9yU3R5bGVhYmxlKTogRm9yIHBzZXVkby1lbGVtZW50cyBvdGhlciB0aGFuIDo6YmVm
b3JlIG9yIDo6YWZ0ZXIsIHJldHVybiB0aGUgU3R5bGVhYmxlJ3MKKyAgICAgICAgZWxlbWVudCBz
aW5jZSBhIFBzZXVkb0VsZW1lbnQgaXMgb25seSBhY2Nlc3NpYmxlIGZvciB0aGUgYWZvcmVtZW50
aW9uZWQgcHNldWRvLWVsZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OnRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQgY29uc3QpOiBGb3IgcHNldWRvLWVsZW1lbnRz
IG90aGVyIHRoYW4gOjpiZWZvcmUgb3IgOjphZnRlciwgcmV0dXJuCisgICAgICAgIHRoZSBhbmlt
YXRpb24gdGFyZ2V0IGFzIHRoZSB0YXJnZXQgZWxlbWVudC4KKyAgICAgICAgKiBkb20vUHNldWRv
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklz
TmVlZGVkKTogUmVmYWN0b3Igd2hhdCB3YXMgb3JpZ2luYWxseSBpc1RhcmdldGVkQnlLZXlmcmFt
ZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoKQorICAgICAgICBpbnRvIHRoaXMgbWV0aG9k
IHNpbmNlIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgp
IHdhcyByZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6UHNldWRvRWxlbWVudDo6aXNUYXJnZXRl
ZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KTogUmVtb3ZlIHRoaXMgbWV0
aG9kIGZyb20gUHNldWRvRWxlbWVudCBzaW5jZQorICAgICAgICBwc2V1ZG8tZWxlbWVudHMgdGhh
dCBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgUHNldWRvRWxlbWVudCBuZWVkIHNpbWlsYXIgbG9n
aWMsIHdoaWNoIGlzIG5vdyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgc3RhdGljCisgICAgICAgIGZ1
bmN0aW9uIGVsZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0Vs
ZW1lbnQoKSBpbiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwLgorICAgICAg
ICAqIGRvbS9Qc2V1ZG9FbGVtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVy
Ojp1cGRhdGVSZW5kZXJUcmVlKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50VXBkYXRl
cyBpbnN0ZWFkIG9mIGp1c3QgdGhlIEVsZW1lbnRVcGRhdGUgdG8KKyAgICAgICAgdXBkYXRlRWxl
bWVudFJlbmRlcmVyKCkgc3VjaCB0aGF0IGl0IG1heSBwcm9jZXNzIHRoZSBuZXcgcHNldWRvRWxl
bWVudFVwZGF0ZXMgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKTogUGFzcyB0aGUgZW50aXJlIHNldCBvZiBFbGVtZW50
VXBkYXRlcyBhbmQgYSBQc2V1ZG9JZCB0bworICAgICAgICB1cGRhdGVQc2V1ZG9FbGVtZW50KCkg
c3VjaCB0aGF0IGl0IG1heSB1c2UgdGhlIG5ldyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIg
aW4gY29tYmluYXRpb24gd2l0aCB0aGUgUHNldWRvSWQKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHdo
YXQgRWxlbWVudFVwZGF0ZSB0byB1c2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBk
YXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6IFBhc3MgdGhlIGVudGlyZSBzZXQgb2YgRWxl
bWVudFVwZGF0ZXMgYW5kIGEgUHNldWRvSWQgdG8KKyAgICAgICAgdXBkYXRlUHNldWRvRWxlbWVu
dCgpIHN1Y2ggdGhhdCBpdCBtYXkgdXNlIHRoZSBuZXcgcHNldWRvRWxlbWVudFVwZGF0ZXMgbWVt
YmVyIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIFBzZXVkb0lkCisgICAgICAgIHRvIGRldGVybWlu
ZSB3aGF0IEVsZW1lbnRVcGRhdGUgdG8gdXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJl
ZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcik6IFVzZSB0aGUgbmV3IHBzZXVkb0VsZW1l
bnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRlcyB0byBzZXQgdGhlCisgICAgICAgIHBz
ZXVkby1lbGVtZW50IHN0eWxlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZVVwZGF0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVsZW1lbnRJc1Rh
cmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQpOiBOZXcgc3RhdGlj
IG1ldGhvZCBtZWFudCB0byByZXBsYWNlIHRoZSByZW1vdmVkCisgICAgICAgIFBzZXVkb0VsZW1l
bnQ6OmlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIHN1
Y2ggdGhhdCB3ZSBtYXkgdXNlIHRoaXMgbWV0aG9kIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorICAg
ICAgICB0aGUgcHNldWRvLWVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgUHNldWRvRWxlbWVudC4K
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMpOiBVc2UgZWxlbWVudElz
VGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpIGluc3RlYWQg
b2YgdGhlIHJlbW92ZWQKKyAgICAgICAgUHNldWRvRWxlbWVudDo6aXNUYXJnZXRlZEJ5S2V5ZnJh
bWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudCk6IExv
b2sgdXAgYWxsIEVsZW1lbnRVcGRhdGUgZm9yIHRoZSBwcm92aWRlZCBQc2V1ZG9JZAorICAgICAg
ICBpbiB0aGUgbmV3IHBzZXVkb0VsZW1lbnRVcGRhdGVzIG1lbWJlciBpbiBFbGVtZW50VXBkYXRl
cyBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hhdCBFbGVtZW50VXBkYXRlIHRvIHByb2Nlc3MuIEFs
c28sIHVzZQorICAgICAgICBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkgaW5zdGVhZCBvZiB0aGUgcmVtb3ZlZAorICAgICAgICBQc2V1ZG9F
bGVtZW50Ojppc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50
OjpuZWVkc1BzZXVkb0VsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVRy
ZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVyOjpy
ZXNvbHZlRWxlbWVudCk6IFJlc29sdmUgYW55IHB1YmxpYyBwc2V1ZG8tZWxlbWVudCBpbnN0ZWFk
IG9mIGp1c3QgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIKKyAgICAgICAgYW5kIHNhdmUgdGhvc2UgaW4g
dGhlIG5ldyBFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyBtZW1iZXIuIAorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKTog
UmVzb2x2ZSBhbnkgcHNldWRvLWVsZW1lbnQgc2V0IG9uIGFuIGVsZW1lbnQgdGhhdCBlaXRoZXIg
aGFzIGFuaW1hdGlvbnMKKyAgICAgICAgc2V0IG9uIGl0LCBlaXRoZXIgc2V0IGJ5IFdlYiBBbmlt
YXRpb25zLCBhcyBzZWVuIG9uIHRoZSBLZXlmcmFtZUVmZmVjdFN0YWNrLCBvciB5ZXQgdG8gYmUg
YXBwbGllZCB0aHJvdWdoIGEgQ1NTIEFuaW1hdGlvbiBvcgorICAgICAgICBDU1MgVHJhbnNpdGlv
biwgYXMgc2VlbiBvbiB0aGUgUmVuZGVyU3R5bGUuCisgICAgICAgICogc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZVVwZGF0ZS5oOiBBZGQgYSBuZXcgcHNl
dWRvRWxlbWVudFVwZGF0ZXMgbWVtYmVyIG9uIEVsZW1lbnRVcGRhdGVzLgorCiAyMDIwLTExLTEz
ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFN1cHBvcnQg
bW9yZSBwcm9wZXJ0aWVzIG9uIDo6bWFya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcAppbmRleCA5ZTE4MmNjODlmZjBkOTE2OWM0MDczZjAzOTRiZjBkMTJi
NzA3YzVjLi5jMmY1OWI2MWY1ZDU4ZjE2NDQ4OGM3MzMzMGMxYjk4YzlhZWI5YTE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTcyLDE0ICs3Miwx
MiBAQCBzdGF0aWMgRWxlbWVudCogZWxlbWVudE9yUHNldWRvRWxlbWVudEZvclN0eWxlYWJsZShj
b25zdCBPcHRpb25hbDxjb25zdCBTdHlsZWFibAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgIHN3aXRjaCAoc3R5bGVhYmxlLT5wc2V1ZG9JZCkgewotICAgIGNhc2UgUHNldWRvSWQ6Ok5v
bmU6Ci0gICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50OwogICAgIGNhc2UgUHNldWRv
SWQ6OkJlZm9yZToKICAgICAgICAgcmV0dXJuIHN0eWxlYWJsZS0+ZWxlbWVudC5iZWZvcmVQc2V1
ZG9FbGVtZW50KCk7CiAgICAgY2FzZSBQc2V1ZG9JZDo6QWZ0ZXI6CiAgICAgICAgIHJldHVybiBz
dHlsZWFibGUtPmVsZW1lbnQuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CiAgICAgZGVmYXVsdDoKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiAmc3R5bGVhYmxlLT5lbGVtZW50
OwogICAgIH0KIH0KIApAQCAtMTE0NywxNyArMTE0NSwxNSBAQCBib29sIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRzUHNldWRvRWxlbWVudCgpIGNvbnN0CiAKIEVsZW1lbnQqIEtleWZyYW1lRWZmZWN0
Ojp0YXJnZXRFbGVtZW50T3JQc2V1ZG9FbGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoIXRhcmdl
dHNQc2V1ZG9FbGVtZW50KCkpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC5nZXQoKTsKKyAgICBp
ZiAobV90YXJnZXQpIHsKKyAgICAgICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9y
ZSkKKyAgICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YmVmb3JlUHNldWRvRWxlbWVudCgpOwog
Ci0gICAgaWYgKG1fcHNldWRvSWQgPT0gUHNldWRvSWQ6OkJlZm9yZSkKLSAgICAgICAgcmV0dXJu
IG1fdGFyZ2V0LT5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7Ci0KLSAgICBpZiAobV9wc2V1ZG9JZCA9
PSBQc2V1ZG9JZDo6QWZ0ZXIpCi0gICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9F
bGVtZW50KCk7CisgICAgICAgIGlmIChtX3BzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRlcikKKyAg
ICAgICAgICAgIHJldHVybiBtX3RhcmdldC0+YWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgfQog
Ci0gICAgLy8gV2Ugb25seSBzdXBwb3J0IHRhcmdldGluZyA6OmJlZm9yZSBhbmQgOjphZnRlciBw
c2V1ZG8tZWxlbWVudHMgYXQgdGhlIG1vbWVudC4KLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBy
ZXR1cm4gbV90YXJnZXQuZ2V0KCk7CiB9CiAKIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OnNldFRhcmdl
dChSZWZQdHI8RWxlbWVudD4mJiBuZXdUYXJnZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUHNldWRvRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVu
dC5jcHAKaW5kZXggNzFkYzM3ZGZmMWM4YTIzMjlmMjU2ZWI3Njk0NjNkYjE2YTAwMDc0NS4uMzlh
MDQyOWEzM2QxNDkxN2VjNWZlOTcxYzAyMTQ0NWNjNjhkOWM4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
c2V1ZG9FbGVtZW50LmNwcApAQCAtODMsMTEgKzgzLDkgQEAgdm9pZCBQc2V1ZG9FbGVtZW50Ojpj
bGVhckhvc3RFbGVtZW50KCkKIAogYm9vbCBQc2V1ZG9FbGVtZW50OjpyZW5kZXJlcklzTmVlZGVk
KGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKIHsKLSAgICByZXR1cm4gcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQoJnN0eWxlKSB8fCBpc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVp
cmluZ1BzZXVkb0VsZW1lbnQoKTsKLX0KKyAgICBpZiAocHNldWRvRWxlbWVudFJlbmRlcmVySXNO
ZWVkZWQoJnN0eWxlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKLWJvb2wgUHNldWRvRWxlbWVu
dDo6aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCkKLXsK
ICAgICBpZiAobV9ob3N0RWxlbWVudCkgewogICAgICAgICBpZiAoYXV0byogc3RhY2sgPSBtX2hv
c3RFbGVtZW50LT5rZXlmcmFtZUVmZmVjdFN0YWNrKHBzZXVkb0lkKCkpKQogICAgICAgICAgICAg
cmV0dXJuIHN0YWNrLT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5oCmluZGV4IDVkOWFmODUxMTY0Y2Y3Yzc1NWJkNzlkZWZmMzJiMzFiYzA3ZGYzMzku
LjJkMmEwYjE1OGNlMDE2YjUxMDU1MWNiZmE4OTBkMjE0Y2ZiMjdiNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuaApAQCAtNDEsNyArNDEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVh
ckhvc3RFbGVtZW50KCk7CiAKICAgICBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVy
U3R5bGUmKSBvdmVycmlkZTsKLSAgICBib29sIGlzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVx
dWlyaW5nUHNldWRvRWxlbWVudCgpOwogCiAgICAgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5Db250YWluUmFuZ2VF
bmRQb2ludCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApp
bmRleCAwMjhkNjBhYWE1NWZiYjYxZDE0YWUxZDU0ZjgyZWM2MzdiYzljZTI2Li5jMThlMTBlOTJh
MTQwYTdiNDM5NjQzZDUzOTc2Y2FlZmE3NDA0ZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTE5MSw3
ICsxOTEsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRh
aW5lck5vZGUmIHJvb3QpCiAgICAgICAgIH0KIAogICAgICAgICBpZiAoZWxlbWVudFVwZGF0ZXMp
Ci0gICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwgZWxlbWVudFVwZGF0
ZXMtPnVwZGF0ZSk7CisgICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwg
KmVsZW1lbnRVcGRhdGVzKTsKIAogICAgICAgICBzdG9yZVByZXZpb3VzUmVuZGVyZXIoZWxlbWVu
dCk7CiAKQEAgLTI1MSwxMyArMjUxLDEzIEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnBvcFBh
cmVudHNUb0RlcHRoKHVuc2lnbmVkIGRlcHRoKQogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBk
YXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1l
bnRVcGRhdGVzKiB1cGRhdGVzKQogewogICAgIGlmICh1cGRhdGVzKQotICAgICAgICBnZW5lcmF0
ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50LCB1cGRhdGVzLT5iZWZvcmVQ
c2V1ZG9FbGVtZW50VXBkYXRlLCBQc2V1ZG9JZDo6QmVmb3JlKTsKKyAgICAgICAgZ2VuZXJhdGVk
Q29udGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgKnVwZGF0ZXMsIFBzZXVkb0lk
OjpCZWZvcmUpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2Nl
bmRhbnRzKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBk
YXRlcykKIHsKICAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVw
ZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9FbGVtZW50VXBk
YXRlLCBQc2V1ZG9JZDo6QWZ0ZXIpOworICAgICAgICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRl
UHNldWRvRWxlbWVudChlbGVtZW50LCAqdXBkYXRlcywgUHNldWRvSWQ6OkFmdGVyKTsKIAogICAg
IGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIp
CkBAIC0yOTcsMTMgKzI5NywyMyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5k
ZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBSZW5kZXJTdHlsZQogICAgIG1fYnVp
bGRlci5ub3JtYWxpemVUcmVlQWZ0ZXJTdHlsZUNoYW5nZShyZW5kZXJlciwgb2xkU3R5bGUpOwog
fQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVu
dCYgZWxlbWVudCwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmIHVwZGF0ZSkKK3ZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMpCiB7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OlN0eWxlQ2hhbmdlU2NvcGUgb2Jz
ZXJ2aW5nU2NvcGUobV9kb2N1bWVudCwgZWxlbWVudCk7CiAjZW5kaWYKIAotICAgIGJvb2wgc2hv
dWxkVGVhckRvd25SZW5kZXJlcnMgPSB1cGRhdGUuY2hhbmdlID09IFN0eWxlOjpDaGFuZ2U6OlJl
bmRlcmVyICYmIChlbGVtZW50LnJlbmRlcmVyKCkgfHwgZWxlbWVudC5oYXNEaXNwbGF5Q29udGVu
dHMoKSk7CisgICAgYXV0byYgZWxlbWVudFVwZGF0ZSA9IHVwZGF0ZXMudXBkYXRlOworICAgIGF1
dG8gZWxlbWVudFVwZGF0ZVN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lUHRyKCplbGVtZW50VXBk
YXRlLnN0eWxlKTsKKworICAgIGZvciAoYXV0byYgaXQgOiB1cGRhdGVzLnBzZXVkb0VsZW1lbnRV
cGRhdGVzKSB7CisgICAgICAgIGF1dG8gcHNldWRvSWQgPSBpdC5rZXk7CisgICAgICAgIGlmIChw
c2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlIHx8IHBzZXVkb0lkID09IFBzZXVkb0lkOjpBZnRl
cikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBlbGVtZW50VXBkYXRlU3R5bGUtPmFk
ZENhY2hlZFBzZXVkb1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0cigqaXQudmFsdWUuc3R5bGUp
KTsKKyAgICB9CisKKyAgICBib29sIHNob3VsZFRlYXJEb3duUmVuZGVyZXJzID0gZWxlbWVudFVw
ZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIgJiYgKGVsZW1lbnQucmVuZGVy
ZXIoKSB8fCBlbGVtZW50Lmhhc0Rpc3BsYXlDb250ZW50cygpKTsKICAgICBpZiAoc2hvdWxkVGVh
ckRvd25SZW5kZXJlcnMpIHsKICAgICAgICAgaWYgKCFlbGVtZW50LnJlbmRlcmVyKCkpIHsKICAg
ICAgICAgICAgIC8vIFdlIG1heSBiZSB0ZWFyaW5nIGRvd24gYSBkZXNjZW5kYW50IHJlbmRlcmVy
IGNhY2hlZCBpbiByZW5kZXJUcmVlUG9zaXRpb24uCkBAIC0zMTEsMTUgKzMyMSwxNSBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgU3R5bGU6OkVsZQogICAgICAgICB9CiAKICAgICAgICAgLy8gZGlzcGxheTpub25l
IGNhbmNlbHMgYW5pbWF0aW9ucy4KLSAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSB1cGRhdGUu
c3R5bGUtPmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSA/IFRlYXJkb3duVHlwZTo6UmVu
ZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmltYXRpb25zIDogVGVhcmRvd25UeXBlOjpSZW5kZXJlclVw
ZGF0ZTsKKyAgICAgICAgYXV0byB0ZWFyZG93blR5cGUgPSBlbGVtZW50VXBkYXRlLnN0eWxlLT5k
aXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUgPyBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBk
YXRlQ2FuY2VsaW5nQW5pbWF0aW9ucyA6IFRlYXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGU7CiAg
ICAgICAgIHRlYXJEb3duUmVuZGVyZXJzKGVsZW1lbnQsIHRlYXJkb3duVHlwZSwgbV9idWlsZGVy
KTsKIAogICAgICAgICByZW5kZXJpbmdQYXJlbnQoKS5kaWRDcmVhdGVPckRlc3Ryb3lDaGlsZFJl
bmRlcmVyID0gdHJ1ZTsKICAgICB9CiAKLSAgICBib29sIGhhc0Rpc3BsYXlDb250ZW50cyA9IHVw
ZGF0ZS5zdHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpDb250ZW50czsKKyAgICBib29s
IGhhc0Rpc3BsYXlDb250ZW50cyA9IGVsZW1lbnRVcGRhdGUuc3R5bGUtPmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Q29udGVudHM7CiAgICAgaWYgKGhhc0Rpc3BsYXlDb250ZW50cykKLSAgICAg
ICAgZWxlbWVudC5zdG9yZURpc3BsYXlDb250ZW50c1N0eWxlKFJlbmRlclN0eWxlOjpjbG9uZVB0
cigqdXBkYXRlLnN0eWxlKSk7CisgICAgICAgIGVsZW1lbnQuc3RvcmVEaXNwbGF5Q29udGVudHNT
dHlsZShXVEZNb3ZlKGVsZW1lbnRVcGRhdGVTdHlsZSkpOwogICAgIGVsc2UKICAgICAgICAgZWxl
bWVudC5yZXNldENvbXB1dGVkU3R5bGUoKTsKIApAQCAtMzI3LDcgKzMzNyw3IEBAIHZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50JiBlbGVtZW50LCBj
b25zdCBTdHlsZTo6RWxlCiAgICAgaWYgKHNob3VsZENyZWF0ZU5ld1JlbmRlcmVyKSB7CiAgICAg
ICAgIGlmIChlbGVtZW50Lmhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpKQogICAgICAg
ICAgICAgZWxlbWVudC53aWxsQXR0YWNoUmVuZGVyZXJzKCk7Ci0gICAgICAgIGNyZWF0ZVJlbmRl
cmVyKGVsZW1lbnQsIFJlbmRlclN0eWxlOjpjbG9uZSgqdXBkYXRlLnN0eWxlKSk7CisgICAgICAg
IGNyZWF0ZVJlbmRlcmVyKGVsZW1lbnQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSkpOwog
CiAgICAgICAgIHJlbmRlcmluZ1BhcmVudCgpLmRpZENyZWF0ZU9yRGVzdHJveUNoaWxkUmVuZGVy
ZXIgPSB0cnVlOwogICAgICAgICByZXR1cm47CkBAIC0zMzcsMjAgKzM0NywyMCBAQCB2b2lkIFJl
bmRlclRyZWVVcGRhdGVyOjp1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYgZWxlbWVudCwg
Y29uc3QgU3R5bGU6OkVsZQogICAgICAgICByZXR1cm47CiAgICAgYXV0byYgcmVuZGVyZXIgPSAq
ZWxlbWVudC5yZW5kZXJlcigpOwogCi0gICAgaWYgKHVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7
Ci0gICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVyZXIsIFJlbmRlclN0eWxlOjpjbG9u
ZSgqdXBkYXRlLnN0eWxlKSwgU3R5bGVEaWZmZXJlbmNlOjpSZWNvbXBvc2l0ZUxheWVyKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5yZWNvbXBvc2l0ZUxheWVyKSB7CisgICAgICAgIHVwZGF0ZVJl
bmRlcmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxl
RGlmZmVyZW5jZTo6UmVjb21wb3NpdGVMYXllcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBpZiAodXBkYXRlLmNoYW5nZSA9PSBTdHlsZTo6Q2hhbmdlOjpOb25lKSB7Ci0gICAgICAg
IGlmIChwc2V1ZG9TdHlsZUNhY2hlSXNJbnZhbGlkKCZyZW5kZXJlciwgdXBkYXRlLnN0eWxlLmdl
dCgpKSkgewotICAgICAgICAgICAgdXBkYXRlUmVuZGVyZXJTdHlsZShyZW5kZXJlciwgUmVuZGVy
U3R5bGU6OmNsb25lKCp1cGRhdGUuc3R5bGUpLCBTdHlsZURpZmZlcmVuY2U6OkVxdWFsKTsKKyAg
ICBpZiAoZWxlbWVudFVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6Tm9uZSkgeworICAg
ICAgICBpZiAocHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgmcmVuZGVyZXIsIGVsZW1lbnRVcGRh
dGVTdHlsZS5nZXQoKSkpIHsKKyAgICAgICAgICAgIHVwZGF0ZVJlbmRlcmVyU3R5bGUocmVuZGVy
ZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICB1cGRhdGVSZW5kZXJlclN0eWxlKHJlbmRlcmVyLCBSZW5kZXJTdHlsZTo6Y2xvbmUo
KnVwZGF0ZS5zdHlsZSksIFN0eWxlRGlmZmVyZW5jZTo6RXF1YWwpOworICAgIHVwZGF0ZVJlbmRl
cmVyU3R5bGUocmVuZGVyZXIsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGVTdHlsZSksIFN0eWxlRGlm
ZmVyZW5jZTo6RXF1YWwpOwogfQogCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpjcmVhdGVSZW5k
ZXJlcihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAppbmRl
eCAyMzQwMzRjODMzMTdjYTYxODdlMWJlYmFiN2NlMTcwZjFkNzQ1MmNiLi4zOTYxNTM3YmJmNjlk
NGExMjdkYjE4MzE2NWUxMDg4YzVhNjU1ZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuaApAQCAtNTgsNyArNTgsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlUmVuZGVyVHJlZShDb250YWluZXJOb2RlJiByb290
KTsKICAgICB2b2lkIHVwZGF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6OlRleHRV
cGRhdGUqKTsKICAgICB2b2lkIGNyZWF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6
OlRleHRVcGRhdGUqKTsKLSAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5kZXJlcihFbGVtZW50Jiwg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGUmKTsKKyAgICB2b2lkIHVwZGF0ZUVsZW1lbnRSZW5k
ZXJlcihFbGVtZW50JiwgY29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzJik7CiAgICAgdm9pZCB1
cGRhdGVSZW5kZXJlclN0eWxlKFJlbmRlckVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBTdHlsZURp
ZmZlcmVuY2UpOwogICAgIHZvaWQgY3JlYXRlUmVuZGVyZXIoRWxlbWVudCYsIFJlbmRlclN0eWxl
JiYpOwogICAgIHZvaWQgdXBkYXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYsIGNvbnN0IFN0
eWxlOjpFbGVtZW50VXBkYXRlcyopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRD
b250ZW50LmNwcAppbmRleCAwZTljNDlhNzJjZTRhOGZkZjY4YTRjMjdiNmRlNDBmOTYxMWYyZjk4
Li42MmU3ZTJjNzdiMmI0MGZlYmJmYTk2MWI4M2E3ODM4MzhjMTZjMTM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0
ZWRDb250ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmNwcApAQCAtNjksNyArNjksMjAgQEAgdm9p
ZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUXVvdGVzVXBUbyhS
ZW5kZXJRdW90ZSogbGFzdFF1b3QKICAgICBBU1NFUlQoIWxhc3RRdW90ZSk7CiB9CiAKLXN0YXRp
YyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIs
IFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUp
CitzdGF0aWMgYm9vbCBlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQ
c2V1ZG9FbGVtZW50KGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIFBzZXVkb0lkIHBzZXVkb0lkKQor
eworICAgIGlmIChpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSkKKyAgICAgICAgcmV0dXJuIGVs
ZW1lbnRJc1RhcmdldGVkQnlLZXlmcmFtZUVmZmVjdFJlcXVpcmluZ1BzZXVkb0VsZW1lbnQoZG93
bmNhc3Q8UHNldWRvRWxlbWVudD4oKmVsZW1lbnQpLmhvc3RFbGVtZW50KCksIHBzZXVkb0lkKTsK
KworICAgIGlmIChlbGVtZW50KSB7CisgICAgICAgIGlmIChhdXRvKiBzdGFjayA9IGVsZW1lbnQt
PmtleWZyYW1lRWZmZWN0U3RhY2socHNldWRvSWQpKQorICAgICAgICAgICAgcmV0dXJuIHN0YWNr
LT5yZXF1aXJlc1BzZXVkb0VsZW1lbnQoKTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3N0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoUmVuZGVyVHJlZUJ1aWxkZXIm
IGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzZXVkb1JlbmRlcmVyLCBjb25zdCBSZW5kZXJTdHls
ZSYgc3R5bGUsIFBzZXVkb0lkIHBzZXVkb0lkKQogewogICAgIGlmIChhdXRvKiBjb250ZW50RGF0
YSA9IHN0eWxlLmNvbnRlbnREYXRhKCkpIHsKICAgICAgICAgZm9yIChjb25zdCBDb250ZW50RGF0
YSogY29udGVudCA9IGNvbnRlbnREYXRhOyBjb250ZW50OyBjb250ZW50ID0gY29udGVudC0+bmV4
dCgpKSB7CkBAIC04MCw3ICs5Myw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbnRlbnRSZW5kZXJl
cnMoUmVuZGVyVHJlZUJ1aWxkZXImIGJ1aWxkZXIsIFJlbmRlckVsZW1lbnQmIHBzCiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gVGhlIG9ubHkgdmFsaWQgc2NlbmFyaW8gd2hlcmUgdGhpcyBtZXRo
b2QgaXMgY2FsbGVkIHdpdGhvdXQgdGhlICJjb250ZW50IiBwcm9wZXJ0eSBiZWluZyBzZXQKICAg
ICAgICAgLy8gaXMgdGhlIGNhc2Ugd2hlcmUgYSBwc2V1ZG8tZWxlbWVudCBoYXMgYW5pbWF0aW9u
cyBzZXQgb24gaXQgdmlhIHRoZSBXZWIgQW5pbWF0aW9ucyBBUEkuCi0gICAgICAgIEFTU0VSVChp
czxQc2V1ZG9FbGVtZW50Pihwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpICYmIGRvd25jYXN0PFBz
ZXVkb0VsZW1lbnQ+KCpwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCkpLmlzVGFyZ2V0ZWRCeUtleWZy
YW1lRWZmZWN0UmVxdWlyaW5nUHNldWRvRWxlbWVudCgpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChwc2V1ZG9JZCwgZWxlbWVudElzVGFyZ2V0ZWRCeUtleWZyYW1lRWZmZWN0UmVxdWlyaW5nUHNl
dWRvRWxlbWVudChwc2V1ZG9SZW5kZXJlci5lbGVtZW50KCksIHBzZXVkb0lkKSk7CiAgICAgfQog
fQogCkBAIC05NCwxNCArMTA3LDIxIEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVN0eWxlRm9yQ29udGVu
dFJlbmRlcmVycyhSZW5kZXJFbGVtZW50JiBwc2V1ZG9SZW5kZXJlciwgY29uc3QKICAgICB9CiB9
CiAKLXZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVk
b0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwgY29uc3QgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRV
cGRhdGU+JiB1cGRhdGUsIFBzZXVkb0lkIHBzZXVkb0lkKQordm9pZCBSZW5kZXJUcmVlVXBkYXRl
cjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50
LCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMmIHVwZGF0ZXMsIFBzZXVkb0lkIHBzZXVkb0lk
KQogewogICAgIFBzZXVkb0VsZW1lbnQqIHBzZXVkb0VsZW1lbnQgPSBwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6QmVmb3JlID8gY3VycmVudC5iZWZvcmVQc2V1ZG9FbGVtZW50KCkgOiBjdXJyZW50LmFm
dGVyUHNldWRvRWxlbWVudCgpOwogCiAgICAgaWYgKGF1dG8qIHJlbmRlcmVyID0gcHNldWRvRWxl
bWVudCA/IHBzZXVkb0VsZW1lbnQtPnJlbmRlcmVyKCkgOiBudWxscHRyKQogICAgICAgICBtX3Vw
ZGF0ZXIucmVuZGVyVHJlZVBvc2l0aW9uKCkuaW52YWxpZGF0ZU5leHRTaWJsaW5nKCpyZW5kZXJl
cik7CiAKLSAgICBpZiAoIW5lZWRzUHNldWRvRWxlbWVudCh1cGRhdGUpICYmICghcHNldWRvRWxl
bWVudCB8fCAhcHNldWRvRWxlbWVudC0+aXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJp
bmdQc2V1ZG9FbGVtZW50KCkpKSB7CisgICAgYXV0byogdXBkYXRlID0gWyZdKCkgLT4gY29uc3Qg
U3R5bGU6OkVsZW1lbnRVcGRhdGUqIHsKKyAgICAgICAgYXV0byBpdGVyYXRvciA9IHVwZGF0ZXMu
cHNldWRvRWxlbWVudFVwZGF0ZXMuZmluZChwc2V1ZG9JZCk7CisgICAgICAgIGlmIChpdGVyYXRv
ciAhPSB1cGRhdGVzLnBzZXVkb0VsZW1lbnRVcGRhdGVzLmVuZCgpKQorICAgICAgICAgICAgcmV0
dXJuICZpdGVyYXRvci0+dmFsdWU7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0oKTsK
KworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KHVwZGF0ZSkgJiYgKCFwc2V1ZG9FbGVtZW50
IHx8ICFlbGVtZW50SXNUYXJnZXRlZEJ5S2V5ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVt
ZW50KHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKSkpIHsKICAgICAgICAgaWYgKHBzZXVkb0VsZW1l
bnQpIHsKICAgICAgICAgICAgIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlKQogICAg
ICAgICAgICAgICAgIHJlbW92ZUJlZm9yZVBzZXVkb0VsZW1lbnQoY3VycmVudCwgbV91cGRhdGVy
Lm1fYnVpbGRlcik7CkBAIC0xMTEsNyArMTMxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6
R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKHVwZGF0ZS0+Y2hhbmdlID09IFN0eWxl
OjpDaGFuZ2U6Ok5vbmUpCisgICAgaWYgKCF1cGRhdGUgfHwgdXBkYXRlLT5jaGFuZ2UgPT0gU3R5
bGU6OkNoYW5nZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcHNldWRvRWxlbWVudCA9
ICZjdXJyZW50LmVuc3VyZVBzZXVkb0VsZW1lbnQocHNldWRvSWQpOwpAQCAtMTI1LDEwICsxNDUs
MTQgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNl
dWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBjb250ZW50c1N0eWxlLT5jb3B5
Q29udGVudEZyb20oKnVwZGF0ZS0+c3R5bGUpOwogCiAgICAgICAgIFN0eWxlOjpFbGVtZW50VXBk
YXRlIGNvbnRlbnRzVXBkYXRlIHsgV1RGTW92ZShjb250ZW50c1N0eWxlKSwgdXBkYXRlLT5jaGFu
Z2UsIHVwZGF0ZS0+cmVjb21wb3NpdGVMYXllciB9OwotICAgICAgICBtX3VwZGF0ZXIudXBkYXRl
RWxlbWVudFJlbmRlcmVyKCpwc2V1ZG9FbGVtZW50LCBjb250ZW50c1VwZGF0ZSk7CisgICAgICAg
IFN0eWxlOjpFbGVtZW50VXBkYXRlcyBjb250ZW50c1VwZGF0ZXMgeyBXVEZNb3ZlKGNvbnRlbnRz
VXBkYXRlKSwgU3R5bGU6OkRlc2NlbmRhbnRzVG9SZXNvbHZlOjpOb25lLCB7IH0gfTsKKyAgICAg
ICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRSZW5kZXJlcigqcHNldWRvRWxlbWVudCwgV1RGTW92
ZShjb250ZW50c1VwZGF0ZXMpKTsKICAgICAgICAgcHNldWRvRWxlbWVudC0+c3RvcmVEaXNwbGF5
Q29udGVudHNTdHlsZShSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpKTsKICAg
ICB9IGVsc2UgewotICAgICAgICBtX3VwZGF0ZXIudXBkYXRlRWxlbWVudFJlbmRlcmVyKCpwc2V1
ZG9FbGVtZW50LCAqdXBkYXRlKTsKKyAgICAgICAgYXV0byBwc2V1ZG9FbGVtZW50VXBkYXRlU3R5
bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBTdHls
ZTo6RWxlbWVudFVwZGF0ZSBwc2V1ZG9FbGVtZW50VXBkYXRlIHsgV1RGTW92ZShwc2V1ZG9FbGVt
ZW50VXBkYXRlU3R5bGUpLCB1cGRhdGUtPmNoYW5nZSwgdXBkYXRlLT5yZWNvbXBvc2l0ZUxheWVy
IH07CisgICAgICAgIFN0eWxlOjpFbGVtZW50VXBkYXRlcyBwc2V1ZG9FbGVtZW50VXBkYXRlcyB7
IFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZSksIFN0eWxlOjpEZXNjZW5kYW50c1RvUmVzb2x2
ZTo6Tm9uZSwgeyB9IH07CisgICAgICAgIG1fdXBkYXRlci51cGRhdGVFbGVtZW50UmVuZGVyZXIo
KnBzZXVkb0VsZW1lbnQsIFdURk1vdmUocHNldWRvRWxlbWVudFVwZGF0ZXMpKTsKICAgICAgICAg
QVNTRVJUKCFwc2V1ZG9FbGVtZW50LT5oYXNEaXNwbGF5Q29udGVudHMoKSk7CiAgICAgfQogCkBA
IC0xMzcsNyArMTYxLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVu
dDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAodXBkYXRlLT5jaGFuZ2UgPT0gU3R5bGU6OkNoYW5nZTo6UmVuZGVyZXIpCi0g
ICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMobV91cGRhdGVyLm1fYnVpbGRlciwgKnBzZXVk
b0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUpOworICAgICAgICBjcmVhdGVDb250ZW50
UmVuZGVyZXJzKG1fdXBkYXRlci5tX2J1aWxkZXIsICpwc2V1ZG9FbGVtZW50UmVuZGVyZXIsICp1
cGRhdGUtPnN0eWxlLCBwc2V1ZG9JZCk7CiAgICAgZWxzZQogICAgICAgICB1cGRhdGVTdHlsZUZv
ckNvbnRlbnRSZW5kZXJlcnMoKnBzZXVkb0VsZW1lbnRSZW5kZXJlciwgKnVwZGF0ZS0+c3R5bGUp
OwogCkBAIC0xNDgsNyArMTcyLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVk
Q29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgIG1fdXBk
YXRlci5tX2J1aWxkZXIudXBkYXRlQWZ0ZXJEZXNjZW5kYW50cygqcHNldWRvRWxlbWVudFJlbmRl
cmVyKTsKIH0KIAotYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVl
ZHNQc2V1ZG9FbGVtZW50KGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRlPiYgdXBk
YXRlKQorYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6bmVlZHNQc2V1
ZG9FbGVtZW50KGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlKiB1cGRhdGUpCiB7CiAgICAgaWYg
KCF1cGRhdGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlckdl
bmVyYXRlZENvbnRlbnQuaAppbmRleCAwMmUxZGIxOGZhOTEzMmUxMmFlZThmZTBjYTFkMDUzMDg2
Mjc3MzAxLi4zNDg4YzAzYjA1YjU1NWMyN2QxN2FjMWY0YzdlMThlZGY1ZjFmMTkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXJH
ZW5lcmF0ZWRDb250ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5n
L1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oCkBAIC0zOCw3ICszOCw3IEBAIGNs
YXNzIFJlbmRlclRyZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50IHsKIHB1YmxpYzoKICAgICBH
ZW5lcmF0ZWRDb250ZW50KFJlbmRlclRyZWVVcGRhdGVyJik7CiAKLSAgICB2b2lkIHVwZGF0ZVBz
ZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNvbnN0IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRl
PiYsIFBzZXVkb0lkKTsKKyAgICB2b2lkIHVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYsIGNv
bnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyYsIFBzZXVkb0lkKTsKICAgICB2b2lkIHVwZGF0ZVJl
bWFpbmluZ1F1b3RlcygpOwogCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQmVmb3JlUHNldWRvRWxl
bWVudChFbGVtZW50JiwgUmVuZGVyVHJlZUJ1aWxkZXImKTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVF1b3Rlc1VwVG8oUmVuZGVyUXVvdGUqKTsK
ICAgICAKLSAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBPcHRpb25hbDxTdHlsZTo6
RWxlbWVudFVwZGF0ZT4mKTsKKyAgICBib29sIG5lZWRzUHNldWRvRWxlbWVudChjb25zdCBTdHls
ZTo6RWxlbWVudFVwZGF0ZSopOwogCiAgICAgUmVuZGVyVHJlZVVwZGF0ZXImIG1fdXBkYXRlcjsK
ICAgICBXZWFrUHRyPFJlbmRlclF1b3RlPiBtX3ByZXZpb3VzVXBkYXRlZFF1b3RlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IGRiZTE0NjI3MDcyMTNh
NWQ5Yjk1ZDJhNDgyZjY3NDY1ZDhmMGZhNzkuLjgxYWI3ZmZhMjZlOGZkM2I3NzNlMTJiNDg3ZjA2
MTQyNTdkZjcxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJl
c29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5j
cHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJTdHlsZVNjb3BlLmgiCiAjaW5jbHVkZSAi
VGV4dC5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlvblR5cGVzLmgiCisjaW5jbHVkZSAiV2ViQW5p
bWF0aW9uVXRpbGl0aWVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjQ0LDggKzI0
NSwxMSBAQCBFbGVtZW50VXBkYXRlcyBUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KEVsZW1l
bnQmIGVsZW1lbnQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBhdXRvIGJlZm9yZVVwZGF0ZSA9
IHJlc29sdmVQc2V1ZG9TdHlsZShlbGVtZW50LCB1cGRhdGUsIFBzZXVkb0lkOjpCZWZvcmUpOwot
ICAgIGF1dG8gYWZ0ZXJVcGRhdGUgPSByZXNvbHZlUHNldWRvU3R5bGUoZWxlbWVudCwgdXBkYXRl
LCBQc2V1ZG9JZDo6QWZ0ZXIpOworICAgIFBzZXVkb0lkVG9FbGVtZW50VXBkYXRlTWFwIHBzZXVk
b1VwZGF0ZXM7CisgICAgZm9yIChQc2V1ZG9JZCBwc2V1ZG9JZCA9IFBzZXVkb0lkOjpGaXJzdFB1
YmxpY1BzZXVkb0lkOyBwc2V1ZG9JZCA8IFBzZXVkb0lkOjpGaXJzdEludGVybmFsUHNldWRvSWQ7
IHBzZXVkb0lkID0gc3RhdGljX2Nhc3Q8UHNldWRvSWQ+KHN0YXRpY19jYXN0PHVuc2lnbmVkPihw
c2V1ZG9JZCkgKyAxKSkgeworICAgICAgICBpZiAoYXV0byBlbGVtZW50VXBkYXRlID0gcmVzb2x2
ZVBzZXVkb1N0eWxlKGVsZW1lbnQsIHVwZGF0ZSwgcHNldWRvSWQpKQorICAgICAgICAgICAgcHNl
dWRvVXBkYXRlcy5zZXQocHNldWRvSWQsIFdURk1vdmUoKmVsZW1lbnRVcGRhdGUpKTsKKyAgICB9
CiAKICNpZiBFTkFCTEUoVE9VQ0hfQUNUSU9OX1JFR0lPTlMpCiAgICAgLy8gRklYTUU6IFRyYWNr
IHRoaXMgZXhhY3RseS4KQEAgLTI1NywxMSArMjYxLDEzIEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVS
ZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgbV9kb2N1
bWVudC5zZXRNYXlIYXZlRWRpdGFibGVFbGVtZW50cygpOwogI2VuZGlmCiAKLSAgICByZXR1cm4g
eyBXVEZNb3ZlKHVwZGF0ZSksIGRlc2NlbmRhbnRzVG9SZXNvbHZlLCBXVEZNb3ZlKGJlZm9yZVVw
ZGF0ZSksIFdURk1vdmUoYWZ0ZXJVcGRhdGUpIH07CisgICAgcmV0dXJuIHsgV1RGTW92ZSh1cGRh
dGUpLCBkZXNjZW5kYW50c1RvUmVzb2x2ZSwgV1RGTW92ZShwc2V1ZG9VcGRhdGVzKSB9OwogfQog
Ci1FbGVtZW50VXBkYXRlIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxlKEVsZW1lbnQm
IGVsZW1lbnQsIGNvbnN0IEVsZW1lbnRVcGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBzZXVkb0lkIHBz
ZXVkb0lkKQorT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gVHJlZVJlc29sdmVyOjpyZXNvbHZlUHNl
dWRvU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwZGF0ZSYgZWxlbWVudFVw
ZGF0ZSwgUHNldWRvSWQgcHNldWRvSWQpCiB7CisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lk
OjpNYXJrZXIgJiYgZWxlbWVudFVwZGF0ZS5zdHlsZS0+ZGlzcGxheSgpICE9IERpc3BsYXlUeXBl
OjpMaXN0SXRlbSkKKyAgICAgICAgcmV0dXJuIHsgfTsKICAgICBpZiAoZWxlbWVudFVwZGF0ZS5z
dHlsZS0+ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpOb25lKQogICAgICAgICByZXR1cm4geyB9
OwogICAgIGlmICghZWxlbWVudFVwZGF0ZS5zdHlsZS0+aGFzUHNldWRvU3R5bGUocHNldWRvSWQp
KQpAQCAtMjcxLDggKzI3Nyw3IEBAIEVsZW1lbnRVcGRhdGUgVHJlZVJlc29sdmVyOjpyZXNvbHZl
UHNldWRvU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgRWxlbWVudFVwCiAgICAgaWYgKCFw
c2V1ZG9TdHlsZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8qIHBzZXVkb0VsZW1l
bnQgPSBwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmVmb3JlID8gZWxlbWVudC5iZWZvcmVQc2V1ZG9F
bGVtZW50KCkgOiBlbGVtZW50LmFmdGVyUHNldWRvRWxlbWVudCgpOwotICAgIGJvb2wgaGFzQW5p
bWF0aW9ucyA9IHBzZXVkb0VsZW1lbnQgJiYgcHNldWRvRWxlbWVudC0+aXNUYXJnZXRlZEJ5S2V5
ZnJhbWVFZmZlY3RSZXF1aXJpbmdQc2V1ZG9FbGVtZW50KCk7CisgICAgYm9vbCBoYXNBbmltYXRp
b25zID0gcHNldWRvU3R5bGUtPmhhc0FuaW1hdGlvbnNPclRyYW5zaXRpb25zKCkgfHwgZWxlbWVu
dC5oYXNLZXlmcmFtZUVmZmVjdHMocHNldWRvSWQpOwogICAgIGlmICghcHNldWRvRWxlbWVudFJl
bmRlcmVySXNOZWVkZWQocHNldWRvU3R5bGUuZ2V0KCkpICYmICFoYXNBbmltYXRpb25zKQogICAg
ICAgICByZXR1cm4geyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVRyZWVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIu
aAppbmRleCBjMjk3MzQyZmVlODU0OTRhOWE2YWJkMWNlOTgyOGQ5NzcyMjNjMTE4Li44N2JlYTlh
ZmJlMzRhOWM5ZWM5NWY2NzExNmU3OTBhZGUzNjBkNjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlVHJlZVJlc29sdmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBFbGVt
ZW50VXBkYXRlcyByZXNvbHZlRWxlbWVudChFbGVtZW50Jik7CiAKICAgICBFbGVtZW50VXBkYXRl
IGNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+
LCBjb25zdCBTdHlsZWFibGUmLCBDaGFuZ2UpOwotICAgIEVsZW1lbnRVcGRhdGUgcmVzb2x2ZVBz
ZXVkb1N0eWxlKEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOworICAg
IE9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IHJlc29sdmVQc2V1ZG9TdHlsZShFbGVtZW50JiwgY29u
c3QgRWxlbWVudFVwZGF0ZSYsIFBzZXVkb0lkKTsKIAogICAgIHN0cnVjdCBTY29wZSA6IFJlZkNv
dW50ZWQ8U2NvcGU+IHsKICAgICAgICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEX1dJ
VEhfSEVBUF9JREVOVElGSUVSKFRyZWVSZXNvbHZlclNjb3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVVwZGF0ZS5oCmluZGV4IDFjNjEyZGZhOTQ2NDMyZDI0ZDdmNDZhZDY0OTk5YTRlNzNmM2UxZmEu
LjA0YzYwNDJkMDcwNWUzMWMyNTE1YmViYzdhZmM1NzQ5ZmYzOTgzNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVVcGRhdGUuaApAQCAtNTAsMTEgKzUwLDEyIEBAIHN0cnVjdCBFbGVtZW50VXBkYXRl
IHsKIAogZW51bSBjbGFzcyBEZXNjZW5kYW50c1RvUmVzb2x2ZSB7IE5vbmUsIENoaWxkcmVuV2l0
aEV4cGxpY2l0SW5oZXJpdCwgQ2hpbGRyZW4sIEFsbCB9OwogCit1c2luZyBQc2V1ZG9JZFRvRWxl
bWVudFVwZGF0ZU1hcCA9IEhhc2hNYXA8UHNldWRvSWQsIEVsZW1lbnRVcGRhdGUsIFdURjo6SW50
SGFzaDxQc2V1ZG9JZD4sIFdURjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8UHNldWRvSWQ+PjsKKwog
c3RydWN0IEVsZW1lbnRVcGRhdGVzIHsKICAgICBFbGVtZW50VXBkYXRlIHVwZGF0ZTsKICAgICBE
ZXNjZW5kYW50c1RvUmVzb2x2ZSBkZXNjZW5kYW50c1RvUmVzb2x2ZSB7IERlc2NlbmRhbnRzVG9S
ZXNvbHZlOjpOb25lIH07Ci0gICAgT3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYmVmb3JlUHNldWRv
RWxlbWVudFVwZGF0ZTsKLSAgICBPcHRpb25hbDxFbGVtZW50VXBkYXRlPiBhZnRlclBzZXVkb0Vs
ZW1lbnRVcGRhdGU7CisgICAgUHNldWRvSWRUb0VsZW1lbnRVcGRhdGVNYXAgcHNldWRvRWxlbWVu
dFVwZGF0ZXM7CiB9OwogCiBzdHJ1Y3QgVGV4dFVwZGF0ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCAyZTE1MDFmOTRhYjI5Mjc0ZjkxMmUzMTZkYmRhNGU2NzkzMGZiZGE0Li45
NGFkYjYxZDg1NDI1MzI5NmU3MjYxNmY0N2Q0ZWQzYzhhNmI4MjY0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMS0xMyAgQW50b2luZSBRdWlu
dCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IGFuaW1hdGlvbnMgb24g
bW9yZSBwc2V1ZG8tZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxODc5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNzQ0ODU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFBBU1Mg
cmVzdWx0cyBmb3IgV1BUIHRlc3RzIHJ1bm5pbmcgYW5pbWF0aW9ucyBvbiA6Om1hcmtlciBwc2V1
ZG8tZWxlbWVudHMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2
ZW50LW1hcmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21h
cmtlci1hbmltYXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1wc2V1ZG8vcGFyc2luZy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRpZXMtaW4tYW5p
bWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQ6CisKIDIwMjAtMTEtMTMgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgU3VwcG9ydCBtb3JlIHByb3BlcnRpZXMgb24gOjptYXJrZXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCA1
OWI3YTIyOWFkMzMwNDY3NTUzNTFiNTIyNGE5YjU5YTU1NGNjNDVhLi42NWM5OTlkNDc0OGE5OGI3
ZjY0NGM5MzYyN2FhYmY5MGY1MmQ3NzhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9Eb2N1bWVudC1nZXRB
bmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvRG9jdW1lbnQtZ2V0
QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xNiw1ICsxNiw1IEBAIFBBU1Mg
Q1NTIEFuaW1hdGlvbnMgY2FuY2VsZWQgdmlhIHRoZSBBUEkgYXJlIG5vdCByZXR1cm5lZAogUEFT
UyBDU1MgQW5pbWF0aW9ucyBjYW5jZWxlZCBhbmQgcmVzdGFydGVkIHZpYSB0aGUgQVBJIGFyZSBy
ZXR1cm5lZAogUEFTUyBwc2V1ZG8gZWxlbWVudCB3aXRoIHJlcGxhY2VkIHRhcmdldCBkb2VzIG5v
dCBhZmZlY3QgYW5pbWF0aW9uIG9yZGVyaW5nCiBQQVNTIENTUyBBbmltYXRpb25zIHRhcmdldHRp
bmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0
aW5nCi1GQUlMIENTUyBBbmltYXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hv
dWxkIGhhdmUgY29ycmVjdCBvcmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikgYXNzZXJ0X2Vx
dWFsczogQ1NTIGFuaW1hdGlvbnMgb24gYm90aCBwc2V1ZG8tZWxlbWVudHMgYW5kIGVsZW1lbnRz
IGFyZSByZXR1cm5lZCBleHBlY3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBDU1MgQW5pbWF0aW9ucyB0
YXJnZXR0aW5nIChwc2V1ZG8tKWVsZW1lbnRzIHNob3VsZCBoYXZlIGNvcnJlY3Qgb3JkZXIgYWZ0
ZXIgc29ydGluZyAoOjptYXJrZXIpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50
LW1hcmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2FuaW1hdGlvbmV2ZW50
LW1hcmtlci1wc2V1ZG9lbGVtZW50LWV4cGVjdGVkLnR4dAppbmRleCAyNGQwMTg0NWIyMzkxNDFh
MTU2NTVjOTlkNWY2Zjc4NDRlOWE2ODFiLi43ZjljMGZkYTg2N2YyYWFkOGE1NGNiMzEzOGE4Mzk2
M2YwY2NmNzkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9hbmltYXRpb25ldmVudC1tYXJrZXItcHNldWRv
ZWxlbWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvYW5pbWF0aW9uZXZlbnQtbWFya2VyLXBz
ZXVkb2VsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsMyBAQAogCi1IYXJuZXNzIEVycm9y
IChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKLQotVElNRU9VVCBBbmltYXRpb25FdmVudCBzaG91
bGQgaGF2ZSB0aGUgY29ycmVjdCBwc2V1ZG9FbGVtZW50IG1lbWViZXIgVGVzdCB0aW1lZCBvdXQK
K1BBU1MgQW5pbWF0aW9uRXZlbnQgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3QgcHNldWRvRWxlbWVu
dCBtZW1lYmVyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVyLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtYW5pbWF0aW9ucy9ldmVudC1vcmRlci50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4
IDA0YjViODg0ZjEwZmMzYTlkNjU5N2Q0MGVmMTY0ZTMwNjMxZjM3YzcuLjgzMzU4YTk2ZWYzYTlh
Y2Y3NjgxZWU1YzhlMmRlODYzZTZlMGI3ZDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2V2ZW50LW9yZGVy
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvZXZlbnQtb3JkZXIudGVudGF0aXZl
LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogUEFTUyBTYW1lIGV2ZW50cyBhcmUgb3Jk
ZXJlZCBieSBlbGVtZW50cwogUEFTUyBTYW1lIGV2ZW50cyBvbiBwc2V1ZG8tZWxlbWVudHMgZm9s
bG93IHRoZSBwcmVzY3JpYmVkIG9yZGVyCi1GQUlMIFNhbWUgZXZlbnRzIG9uIHBzZXVkby1lbGVt
ZW50cyBmb2xsb3cgdGhlIHByZXNjcmliZWQgb3JkZXIgKDo6bWFya2VyKSBhc3NlcnRfZXF1YWxz
OiBOdW1iZXIgb2YgZXZlbnRzIHJlY2VpdmVkICg0KSBzaG91bGQgbWF0Y2ggZXhwZWN0ZWQgbnVt
YmVyICg1KSAoZXhwZWN0ZWQ6IGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYW5pbWF0
aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCwgYWN0dWFsOiBhbmltYXRp
b25zdGFydCwgYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25zdGFydCkg
ZXhwZWN0ZWQgNSBidXQgZ290IDQKK1BBU1MgU2FtZSBldmVudHMgb24gcHNldWRvLWVsZW1lbnRz
IGZvbGxvdyB0aGUgcHJlc2NyaWJlZCBvcmRlciAoOjptYXJrZXIpCiBGQUlMIFN0YXJ0IGFuZCBp
dGVyYXRpb24gZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IHRpbWUgYXNzZXJ0X2VxdWFsczogRXZlbnQg
IzEgdHlwZXMgc2hvdWxkIG1hdGNoIChleHBlY3RlZDogYW5pbWF0aW9uaXRlcmF0aW9uLCBhbmlt
YXRpb25zdGFydCwgYWN0dWFsOiBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uaXRlcmF0aW9uKSBl
eHBlY3RlZCAiYW5pbWF0aW9uaXRlcmF0aW9uIiBidXQgZ290ICJhbmltYXRpb25zdGFydCIKIEZB
SUwgSXRlcmF0aW9uIGFuZCBlbmQgZXZlbnRzIGFyZSBvcmRlcmVkIGJ5IHRpbWUgYXNzZXJ0X2Vx
dWFsczogRXZlbnQgIzEgdHlwZXMgc2hvdWxkIG1hdGNoIChleHBlY3RlZDogYW5pbWF0aW9uaXRl
cmF0aW9uLCBhbmltYXRpb25lbmQsIGFjdHVhbDogYW5pbWF0aW9uZW5kLCBhbmltYXRpb25pdGVy
YXRpb24pIGV4cGVjdGVkICJhbmltYXRpb25pdGVyYXRpb24iIGJ1dCBnb3QgImFuaW1hdGlvbmVu
ZCIKIEZBSUwgU3RhcnQgYW5kIGVuZCBldmVudHMgYXJlIHNvcnRlZCBjb3JyZWN0bHkgd2hlbiBm
aXJlZCBzaW11bHRhbmVvdXNseSBhc3NlcnRfZXF1YWxzOiBFdmVudCAjMSB0YXJnZXRzIHNob3Vs
ZCBtYXRjaCBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGRpdiBzdHlsZT0iYW5pbWF0aW9uOiBhbmlt
IDEwMHMgMiI+PC9kaXY+IGJ1dCBnb3QgRWxlbWVudCBub2RlIDxkaXYgc3R5bGU9ImFuaW1hdGlv
bjogYW5pbSAxMDBzIDEwMHMiPjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9tYXJrZXItYW5pbWF0ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtcHNldWRvL21hcmtlci1hbmltYXRlLWV4cGVjdGVkLnR4dAppbmRleCAwNzBiZDQx
ZjI3YzIwZTZkNjliY2EyNzJhYmE4YWIyOThkMTI3NTRlLi4wNDMzNjViMTJkN2MzN2NmYjc4ZmNl
ZjYxYzk2NDljMmE5YmQ2M2Q3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL21hcmtlci1hbmltYXRlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtcHNldWRvL21hcmtlci1hbmltYXRlLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDUgQEAK
IAotRkFJTCAnY29sb3InIGFuaW1hdGlvbiBhc3NlcnRfZXF1YWxzOiBjb2xvciBleHBlY3RlZCAi
cmdiKDEwMCwgNTAsIDE1MCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKLVBBU1MgJ29wYWNpdHkn
IGFuaW1hdGlvbgotRkFJTCAnY29sb3InICsgJ29wYWNpdHknIGFuaW1hdGlvbiBhc3NlcnRfZXF1
YWxzOiBjb2xvciBleHBlY3RlZCAicmdiKDEwMCwgNTAsIDE1MCkiIGJ1dCBnb3QgInJnYigwLCAw
LCAwKSIKK1BBU1MgJ2NvbG9yJyBhbmltYXRpb24KK0ZBSUwgJ29wYWNpdHknIGFuaW1hdGlvbiBh
c3NlcnRfZXF1YWxzOiBvcGFjaXR5IGV4cGVjdGVkICIxIiBidXQgZ290ICIwLjUiCitGQUlMICdj
b2xvcicgKyAnb3BhY2l0eScgYW5pbWF0aW9uIGFzc2VydF9lcXVhbHM6IG9wYWNpdHkgZXhwZWN0
ZWQgIjEiIGJ1dCBnb3QgIjAuNSIKIGxpc3QgaXRlbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9wYXJzaW5nL21h
cmtlci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9w
YXJzaW5nL21hcmtlci1zdXBwb3J0ZWQtcHJvcGVydGllcy1pbi1hbmltYXRpb24tZXhwZWN0ZWQu
dHh0CmluZGV4IDg0YjljMTI2NjUyYzZhZjY1ZTM2ODBmMDkyMjQ1NWY0M2JhNzdkNTcuLmE0ODJk
MTkwZTVhNjg2NWU3MDQwZjQxM2VjNWQ1NmQwOTkzZWVkMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vcGFyc2lu
Zy9tYXJrZXItc3VwcG9ydGVkLXByb3BlcnRpZXMtaW4tYW5pbWF0aW9uLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHNldWRvL3BhcnNpbmcvbWFya2VyLXN1cHBvcnRlZC1wcm9wZXJ0aWVzLWluLWFuaW1hdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTEsMTIgKzEsMTIgQEAKIAotRkFJTCBBbmltYXRpb24gb2YgZm9udCBp
biA6Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZhbHVlICJub3JtYWwgbm9ybWFsIG5vcm1hbCBu
b3JtYWwgMTZweC9ub3JtYWwgLXdlYmtpdC1zdGFuZGFyZCIgbm90IGluIGFycmF5IFsiaXRhbGlj
IHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHggQWhlbSIsICJpdGFsaWMgc21hbGwtY2FwcyA1
MDAgZXhwYW5kZWQgMTVweC9ub3JtYWwgQWhlbSJdCitGQUlMIEFuaW1hdGlvbiBvZiBmb250IGlu
IDo6bWFya2VyIGFzc2VydF9pbl9hcnJheTogdmFsdWUgIml0YWxpYyBub3JtYWwgNTAwIGV4cGFu
ZGVkIDE1cHgvMzVweCAtd2Via2l0LXN0YW5kYXJkIiBub3QgaW4gYXJyYXkgWyJpdGFsaWMgc21h
bGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwgIml0YWxpYyBzbWFsbC1jYXBzIDUwMCBl
eHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtZmFtaWx5
IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJBaGVtIiBidXQgZ290ICItd2Vi
a2l0LXN0YW5kYXJkIgogRkFJTCBBbmltYXRpb24gb2YgZm9udC1mZWF0dXJlLXNldHRpbmdzIGlu
IDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJcInNtY3BcIiIgYnV0IGdvdCAibm9y
bWFsIgogRkFJTCBBbmltYXRpb24gb2YgZm9udC1rZXJuaW5nIGluIDo6bWFya2VyIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJub25lIiBidXQgZ290ICJhdXRvIgotRkFJTCBBbmltYXRpb24gb2Yg
Zm9udC1zaXplIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICIxNXB4IiBidXQg
Z290ICIxNnB4IgorUEFTUyBBbmltYXRpb24gb2YgZm9udC1zaXplIGluIDo6bWFya2VyCiBGQUlM
IEFuaW1hdGlvbiBvZiBmb250LXNpemUtYWRqdXN0IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiBm
b250LXNpemUtYWRqdXN0IGRvZXNuJ3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgaW4gdGhlIGNvbXB1
dGVkIHN0eWxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIEFuaW1hdGlvbiBvZiBmb250
LXN0cmV0Y2ggaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2YWx1ZSAibm9ybWFsIiBub3Qg
aW4gYXJyYXkgWyJleHBhbmRlZCIsICIxMjUlIl0KLUZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtc3R5
bGUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIml0YWxpYyIgYnV0IGdvdCAi
bm9ybWFsIgorUEFTUyBBbmltYXRpb24gb2YgZm9udC1zdHJldGNoIGluIDo6bWFya2VyCitQQVNT
IEFuaW1hdGlvbiBvZiBmb250LXN0eWxlIGluIDo6bWFya2VyCiBGQUlMIEFuaW1hdGlvbiBvZiBm
b250LXN5bnRoZXNpcyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9uZSIg
YnV0IGdvdCAic3R5bGUgd2VpZ2h0IHNtYWxsLWNhcHMiCiBGQUlMIEFuaW1hdGlvbiBvZiBmb250
LXZhcmlhbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNtYWxsLWNhcHMi
IGJ1dCBnb3QgInRhYnVsYXItbnVtcyIKIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFyaWFudC1j
YXBzIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzbWFsbC1jYXBzIiBidXQg
Z290ICJub3JtYWwiCkBAIC0xNCw3ICsxNCw3IEBAIEZBSUwgQW5pbWF0aW9uIG9mIGZvbnQtdmFy
aWFudC1lYXN0LWFzaWFuIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmCiBG
QUlMIEFuaW1hdGlvbiBvZiBmb250LXZhcmlhbnQtbGlnYXR1cmVzIGluIDo6bWFya2VyIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJoaXN0b3JpY2FsLWxpZ2F0dXJlcyIgYnV0IGdvdCAibm9ybWFs
IgogRkFJTCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50LW51bWVyaWMgaW4gOjptYXJrZXIgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNsYXNoZWQtemVybyIgYnV0IGdvdCAidGFidWxhci1udW1z
IgogRkFJTCBBbmltYXRpb24gb2YgZm9udC12YXJpYW50LXBvc2l0aW9uIGluIDo6bWFya2VyIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdWIiIGJ1dCBnb3QgIm5vcm1hbCIKLUZBSUwgQW5pbWF0
aW9uIG9mIGZvbnQtd2VpZ2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICI1
MDAiIGJ1dCBnb3QgIm5vcm1hbCIKK1BBU1MgQW5pbWF0aW9uIG9mIGZvbnQtd2VpZ2h0IGluIDo6
bWFya2VyCiBGQUlMIEFuaW1hdGlvbiBvZiB3aGl0ZS1zcGFjZSBpbiA6Om1hcmtlciBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAibm93cmFwIiBidXQgZ290ICJub3JtYWwiCiBGQUlMIEFuaW1hdGlv
biBvZiBjb2xvciBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDUwLCAx
NTAsIDEwMCkiIGJ1dCBnb3QgInJnYigwLCAwLCAwKSIKIEZBSUwgQW5pbWF0aW9uIG9mIHRleHQt
Y29tYmluZS11cHJpZ2h0IGluIDo6bWFya2VyIGFzc2VydF90cnVlOiB0ZXh0LWNvbWJpbmUtdXBy
aWdodCBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQpAQCAtMjgsMTQgKzI4LDE0IEBAIEZBSUwgQW5pbWF0aW9u
IG9mIGxpc3Qtc3R5bGUgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm91dHNp
ZGUgbm9uZSBkCiBQQVNTIEFuaW1hdGlvbiBvZiBsaXN0LXN0eWxlLWltYWdlIGluIDo6bWFya2Vy
CiBQQVNTIEFuaW1hdGlvbiBvZiBsaXN0LXN0eWxlLXBvc2l0aW9uIGluIDo6bWFya2VyCiBQQVNT
IEFuaW1hdGlvbiBvZiBsaXN0LXN0eWxlLXR5cGUgaW4gOjptYXJrZXIKLVBBU1MgQW5pbWF0aW9u
IG9mIGxpbmUtaGVpZ2h0IGluIDo6bWFya2VyCi1GQUlMIFRyYW5zaXRpb24gb2YgZm9udCBpbiA6
Om1hcmtlciBhc3NlcnRfaW5fYXJyYXk6IHZhbHVlICJpdGFsaWMgc21hbGwtY2FwcyA5MDAgdWx0
cmEtZXhwYW5kZWQgMjVweC9ub3JtYWwgQWhlbSIgbm90IGluIGFycmF5IFsiaXRhbGljIHNtYWxs
LWNhcHMgNTAwIGV4cGFuZGVkIDE1cHggQWhlbSIsICJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhw
YW5kZWQgMTVweC9ub3JtYWwgQWhlbSJdCitGQUlMIEFuaW1hdGlvbiBvZiBsaW5lLWhlaWdodCBp
biA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9ybWFsIiBidXQgZ290ICIzNXB4
IgorRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQgaW4gOjptYXJrZXIgYXNzZXJ0X2luX2FycmF5OiB2
YWx1ZSAiaXRhbGljIHNtYWxsLWNhcHMgNTAwIGV4cGFuZGVkIDE1cHgvMzVweCBBaGVtIiBub3Qg
aW4gYXJyYXkgWyJpdGFsaWMgc21hbGwtY2FwcyA1MDAgZXhwYW5kZWQgMTVweCBBaGVtIiwgIml0
YWxpYyBzbWFsbC1jYXBzIDUwMCBleHBhbmRlZCAxNXB4L25vcm1hbCBBaGVtIl0KIFBBU1MgVHJh
bnNpdGlvbiBvZiBmb250LWZhbWlseSBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9mIGZv
bnQtZmVhdHVyZS1zZXR0aW5ncyBpbiA6Om1hcmtlcgogRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQt
a2VybmluZyBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm9uZSIgYnV0IGdv
dCAiYXV0byIKLUZBSUwgVHJhbnNpdGlvbiBvZiBmb250LXNpemUgaW4gOjptYXJrZXIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIjE1cHgiIGJ1dCBnb3QgIjI1cHgiCitQQVNTIFRyYW5zaXRpb24g
b2YgZm9udC1zaXplIGluIDo6bWFya2VyCiBGQUlMIFRyYW5zaXRpb24gb2YgZm9udC1zaXplLWFk
anVzdCBpbiA6Om1hcmtlciBhc3NlcnRfdHJ1ZTogZm9udC1zaXplLWFkanVzdCBkb2Vzbid0IHNl
ZW0gdG8gYmUgc3VwcG9ydGVkIGluIHRoZSBjb21wdXRlZCBzdHlsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQtc3RyZXRjaCBpbiA6Om1hcmtlciBhc3Nl
cnRfaW5fYXJyYXk6IHZhbHVlICJ1bHRyYS1leHBhbmRlZCIgbm90IGluIGFycmF5IFsiZXhwYW5k
ZWQiLCAiMTI1JSJdCitQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1zdHJldGNoIGluIDo6bWFya2Vy
CiBQQVNTIFRyYW5zaXRpb24gb2YgZm9udC1zdHlsZSBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0
aW9uIG9mIGZvbnQtc3ludGhlc2lzIGluIDo6bWFya2VyCiBQQVNTIFRyYW5zaXRpb24gb2YgZm9u
dC12YXJpYW50IGluIDo6bWFya2VyCkBAIC00NCw5ICs0NCw5IEBAIFBBU1MgVHJhbnNpdGlvbiBv
ZiBmb250LXZhcmlhbnQtZWFzdC1hc2lhbiBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9m
IGZvbnQtdmFyaWFudC1saWdhdHVyZXMgaW4gOjptYXJrZXIKIFBBU1MgVHJhbnNpdGlvbiBvZiBm
b250LXZhcmlhbnQtbnVtZXJpYyBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9mIGZvbnQt
dmFyaWFudC1wb3NpdGlvbiBpbiA6Om1hcmtlcgotRkFJTCBUcmFuc2l0aW9uIG9mIGZvbnQtd2Vp
Z2h0IGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICI1MDAiIGJ1dCBnb3QgIjkw
MCIKK1BBU1MgVHJhbnNpdGlvbiBvZiBmb250LXdlaWdodCBpbiA6Om1hcmtlcgogRkFJTCBUcmFu
c2l0aW9uIG9mIHdoaXRlLXNwYWNlIGluIDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJub3dyYXAiIGJ1dCBnb3QgIm5vcm1hbCIKLUZBSUwgVHJhbnNpdGlvbiBvZiBjb2xvciBpbiA6
Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicmdiKDUwLCAxNTAsIDEwMCkiIGJ1dCBn
b3QgInJnYigxMDAsIDIwMCwgMCkiCitQQVNTIFRyYW5zaXRpb24gb2YgY29sb3IgaW4gOjptYXJr
ZXIKIEZBSUwgVHJhbnNpdGlvbiBvZiB0ZXh0LWNvbWJpbmUtdXByaWdodCBpbiA6Om1hcmtlciBh
c3NlcnRfdHJ1ZTogdGV4dC1jb21iaW5lLXVwcmlnaHQgZG9lc24ndCBzZWVtIHRvIGJlIHN1cHBv
cnRlZCBpbiB0aGUgY29tcHV0ZWQgc3R5bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwg
VHJhbnNpdGlvbiBvZiB1bmljb2RlLWJpZGkgaW4gOjptYXJrZXIgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInBsYWludGV4dCIgYnV0IGdvdCAibm9ybWFsIgogRkFJTCBUcmFuc2l0aW9uIG9mIGRp
cmVjdGlvbiBpbiA6Om1hcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAicnRsIiBidXQgZ290
ICJsdHIiCkBAIC01OCw1ICs1OCw1IEBAIEZBSUwgVHJhbnNpdGlvbiBvZiBsaXN0LXN0eWxlIGlu
IDo6bWFya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJvdXRzaWRlIG5vbmUKIFBBU1MgVHJh
bnNpdGlvbiBvZiBsaXN0LXN0eWxlLWltYWdlIGluIDo6bWFya2VyCiBQQVNTIFRyYW5zaXRpb24g
b2YgbGlzdC1zdHlsZS1wb3NpdGlvbiBpbiA6Om1hcmtlcgogUEFTUyBUcmFuc2l0aW9uIG9mIGxp
c3Qtc3R5bGUtdHlwZSBpbiA6Om1hcmtlcgotUEFTUyBUcmFuc2l0aW9uIG9mIGxpbmUtaGVpZ2h0
IGluIDo6bWFya2VyCitGQUlMIFRyYW5zaXRpb24gb2YgbGluZS1oZWlnaHQgaW4gOjptYXJrZXIg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vcm1hbCIgYnV0IGdvdCAiMzVweCIKIHRhcmdldApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXRyYW5zaXRpb25zL0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy10cmFuc2l0aW9ucy9Eb2N1bWVudC1nZXRBbmltYXRpb25zLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKaW5kZXggMDk4NDFjZmY0YWNkNGM3OGZkMjE4YWYzZDkxOWY5Njc3NTlhYTBiYi4uMGMz
YzNmMzgzZjE5ZjE3ZTJjZWFjMmNiNWY3NGJjYTNkMzZlZTJkOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25z
L0RvY3VtZW50LWdldEFuaW1hdGlvbnMudGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlv
bnMvRG9jdW1lbnQtZ2V0QW5pbWF0aW9ucy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC00LDYg
KzQsNiBAQCBQQVNTIGdldEFuaW1hdGlvbnMgZm9yIENTUyBUcmFuc2l0aW9ucwogUEFTUyBnZXRB
bmltYXRpb25zIGZvciBDU1MgVHJhbnNpdGlvbnMgc29ydCBieSBwcm9wZXJ0eSBuYW1lCiBQQVNT
IGdldEFuaW1hdGlvbnMgZm9yIENTUyBUcmFuc2l0aW9ucyBzb3J0IGJ5IHRyYW5zaXRpb24gZ2Vu
ZXJhdGlvbgogUEFTUyBDU1MgVHJhbnNpdGlvbnMgdGFyZ2V0dGluZyAocHNldWRvLSllbGVtZW50
cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcKLUZBSUwgQ1NTIFRyYW5z
aXRpb25zIHRhcmdldHRpbmcgKHBzZXVkby0pZWxlbWVudHMgc2hvdWxkIGhhdmUgY29ycmVjdCBv
cmRlciBhZnRlciBzb3J0aW5nICg6Om1hcmtlcikgYXNzZXJ0X2VxdWFsczogQ1NTIHRyYW5zaXRp
b24gb24gYm90aCBwc2V1ZG8tZWxlbWVudHMgYW5kIGVsZW1lbnRzIGFyZSByZXR1cm5lZCBleHBl
Y3RlZCA1IGJ1dCBnb3QgNAorUEFTUyBDU1MgVHJhbnNpdGlvbnMgdGFyZ2V0dGluZyAocHNldWRv
LSllbGVtZW50cyBzaG91bGQgaGF2ZSBjb3JyZWN0IG9yZGVyIGFmdGVyIHNvcnRpbmcgKDo6bWFy
a2VyKQogUEFTUyBUcmFuc2l0aW9ucyBhcmUgbm90IHJldHVybmVkIGFmdGVyIHRoZXkgaGF2ZSBm
aW5pc2hlZAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>