<?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>235338</bug_id>
          
          <creation_ts>2022-01-18 15:37:31 -0800</creation_ts>
          <short_desc>filterRegion and outsets of referenced SVG filter are calculated incorrectly</short_desc>
          <delta_ts>2022-01-19 00:39:20 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1831858</commentid>
    <comment_count>0</comment_count>
      <attachid>449435</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-18 15:37:31 -0800</bug_when>
    <thetext>Created attachment 449435
test case

Open the attached test case.

Expected: There should be a drop-shadow effect around the first four boxes. There should be kind of a black border around the fifth box.
Result: None of the five boxes has any effect.

The filterRegion of the referenced is currently set to the targetBoundingBox. Given the geometry of the SVGFilterElement and given the targetBoundingBox, the filterRegion should be calculated using SVGLengthContext::resolveRectangle().
The outsets of the SVGFilter is calculated by getting the outsets of the lastEffect. The outsets of the SVGFilter should be the outsets of the all the effects which are involved in producing the lastEffect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831866</commentid>
    <comment_count>1</comment_count>
      <attachid>449437</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-18 15:49:39 -0800</bug_when>
    <thetext>Created attachment 449437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831874</commentid>
    <comment_count>2</comment_count>
      <attachid>449437</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-18 16:00:27 -0800</bug_when>
    <thetext>Comment on attachment 449437
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        filterRegion and outsets of referenced SVG filter are calculated correctly

Should this title say &quot;incorrectly&quot;? I don’t understand

&gt; Source/WebCore/platform/graphics/filters/FEOffset.cpp:78
&gt; +IntOutsets FEOffset::outsets(const Filter&amp; filter) const
&gt; +{
&gt; +    auto offset = expandedIntSize(filter.resolvedSize({ m_dx, m_dy }));
&gt; +    
&gt; +    IntOutsets outsets;
&gt; +    if (offset.height() &lt; 0)
&gt; +        outsets.setTop(-offset.height());
&gt; +    else
&gt; +        outsets.setBottom(offset.height());
&gt; +
&gt; +    if (offset.width() &lt; 0)
&gt; +        outsets.setLeft(-offset.width());
&gt; +    else
&gt; +        outsets.setRight(offset.width());
&gt; +    return outsets;
&gt; +}

Paragraphing here is a little strange. Not sure why we have the second blank line where we do. Maybe I’d add more lines or remove that one.

&gt; Source/WebCore/svg/graphics/filters/SVGFilter.cpp:168
&gt; +    for (auto&amp; term : m_expression) {
&gt; +        auto&amp; effect = term.effect;
&gt; +        outsets += effect-&gt;outsets(*this);
&gt; +    }

Local variable isn’t really helping here. I would write it tighter like this:

    IntOutsets outsets;
    for (auto&amp; term : m_expression)
        outsets += term.effect-&gt;outsets(*this);
    return outsets;

I also don’t know why we need to assert !isEmpty. This algorithm looks like it works fine for an empty vector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831939</commentid>
    <comment_count>3</comment_count>
      <attachid>449462</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-18 20:43:19 -0800</bug_when>
    <thetext>Created attachment 449462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831957</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-19 00:38:19 -0800</bug_when>
    <thetext>Committed r288183 (246164@main): &lt;https://commits.webkit.org/246164@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449462.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831958</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-19 00:39:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/87758495&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>449435</attachid>
            <date>2022-01-18 15:37:31 -0800</date>
            <delta_ts>2022-01-18 15:37:31 -0800</delta_ts>
            <desc>test case</desc>
            <filename>reference-filter-outsets.html</filename>
            <type>text/html</type>
            <size>2913</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PHN0eWxlPgogICAgLmJveCB7CiAgICAgICAgd2lkdGg6IDEwMHB4OwogICAgICAgIGhlaWdodDog
MTAwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOwogICAgICAgIG1hcmdpbjogMTBweDsKICAgIH0KPC9zdHlsZT4KPGJvZHk+
CiAgICA8ZGl2PgogICAgICAgIDxzdmcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAt
OTk5OTk5cHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAg
IDxmaWx0ZXIgaWQ9InN2Z0Ryb3BTaGFkb3cxIj4KICAgICAgICAgICAgICAgIDxmZU9mZnNldCBk
eD0iLTIwIiBkeT0iLTIwIiByZXN1bHQ9Im9mZnNldGJsdXIiLz4KICAgICAgICAgICAgICAgIDxm
ZUZsb29kIGZsb29kLWNvbG9yPSJibGFjayIvPgogICAgICAgICAgICAgICAgPGZlQ29tcG9zaXRl
IGluMj0ib2Zmc2V0Ymx1ciIgb3BlcmF0b3I9ImluIi8+CiAgICAgICAgICAgICAgICA8ZmVNZXJn
ZT4KICAgICAgICAgICAgICAgICAgICA8ZmVNZXJnZU5vZGUvPgogICAgICAgICAgICAgICAgICAg
IDxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyIvPgogICAgICAgICAgICAgICAgPC9mZU1l
cmdlPgogICAgICAgICAgICA8L2ZpbHRlcj4KICAgICAgICA8L3N2Zz4KICAgICAgICA8ZGl2IGNs
YXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IHVybCgjc3ZnRHJvcFNoYWRvdzEpOyI+PC9kaXY+Cgog
ICAgICAgIDxzdmcgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtOTk5OTk5cHgiIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgIDxmaWx0ZXIgaWQ9
InN2Z0Ryb3BTaGFkb3cyIj4KICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMjAiIGR5PSIt
MjAiIHJlc3VsdD0ib2Zmc2V0Ymx1ciIvPgogICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qt
Y29sb3I9ImJsYWNrIi8+CiAgICAgICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRi
bHVyIiBvcGVyYXRvcj0iaW4iLz4KICAgICAgICAgICAgICAgIDxmZU1lcmdlPgogICAgICAgICAg
ICAgICAgICAgIDxmZU1lcmdlTm9kZS8+CiAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2Rl
IGluPSJTb3VyY2VHcmFwaGljIi8+CiAgICAgICAgICAgICAgICA8L2ZlTWVyZ2U+CiAgICAgICAg
ICAgIDwvZmlsdGVyPgogICAgICAgIDwvc3ZnPgogICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5
bGU9ImZpbHRlcjogdXJsKCNzdmdEcm9wU2hhZG93Mik7Ij48L2Rpdj4KICAgIDwvZGl2PgoKICAg
IDxkaXY+CiAgICAgICAgPHN2ZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC05OTk5
OTlweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgPGZp
bHRlciBpZD0ic3ZnRHJvcFNoYWRvdzMiIHByaW1pdGl2ZVVuaXRzPSJvYmplY3RCb3VuZGluZ0Jv
eCI+CiAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHg9Ii0wLjIiIGR5PSIwLjIiIHJlc3VsdD0i
b2Zmc2V0Ymx1ciIvPgogICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9ImJsYWNr
Ii8+CiAgICAgICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRibHVyIiBvcGVyYXRv
cj0iaW4iLz4KICAgICAgICAgICAgICAgIDxmZU1lcmdlPgogICAgICAgICAgICAgICAgICAgIDxm
ZU1lcmdlTm9kZS8+CiAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VH
cmFwaGljIi8+CiAgICAgICAgICAgICAgICA8L2ZlTWVyZ2U+CiAgICAgICAgICAgIDwvZmlsdGVy
PgogICAgICAgIDwvc3ZnPgogICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImZpbHRlcjog
dXJsKCNzdmdEcm9wU2hhZG93Myk7Ij48L2Rpdj4KCiAgICAgICAgPHN2ZyBzdHlsZT0icG9zaXRp
b246IGFic29sdXRlOyB0b3A6IC05OTk5OTlweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIj4KICAgICAgICAgICAgPGZpbHRlciBpZD0ic3ZnRHJvcFNoYWRvdzQiIHByaW1pdGl2
ZVVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHg9
IjAuMiIgZHk9IjAuMiIgcmVzdWx0PSJvZmZzZXRibHVyIi8+CiAgICAgICAgICAgICAgICA8ZmVG
bG9vZCBmbG9vZC1jb2xvcj0iYmxhY2siLz4KICAgICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBp
bjI9Im9mZnNldGJsdXIiIG9wZXJhdG9yPSJpbiIvPgogICAgICAgICAgICAgICAgPGZlTWVyZ2U+
CiAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlLz4KICAgICAgICAgICAgICAgICAgICA8
ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiLz4KICAgICAgICAgICAgICAgIDwvZmVNZXJn
ZT4KICAgICAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPC9zdmc+CiAgICAgICAgPGRpdiBjbGFz
cz0iYm94IiBzdHlsZT0iZmlsdGVyOiB1cmwoI3N2Z0Ryb3BTaGFkb3c0KTsiPjwvZGl2PgogICAg
PC9kaXY+CgogICAgPHN2ZyBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IC05OTk5OTlw
eCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICA8ZmlsdGVyIGlk
PSJzdmdEcm9wU2hhZG93OSI+CiAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLWNvbG9yPSJibGFj
ayIvPgogICAgICAgICAgICA8ZmVNZXJnZT4KICAgICAgICAgICAgICAgIDxmZU1lcmdlTm9kZS8+
CiAgICAgICAgICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiLz4KICAgICAg
ICAgICAgPC9mZU1lcmdlPgogICAgICAgIDwvZmlsdGVyPgogICAgPC9zdmc+CiAgICA8ZGl2IGNs
YXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IHVybCgjc3ZnRHJvcFNoYWRvdzkpOyI+PC9kaXY+Cjwv
Ym9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449437</attachid>
            <date>2022-01-18 15:49:39 -0800</date>
            <delta_ts>2022-01-18 17:26:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235338-20220118154938.patch</filename>
            <type>text/plain</type>
            <size>21579</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTAwMzRkZDMyNzRhYjIx
MWZiYWI5NTQ2ZGI1NmQ3MDUzN2U3ZjMwZS4uY2IyMTYxNzU1ZDFiOWE0OTI0ZTAwMTg1Mjk0Y2Q0
MmRiMmI0MTU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTE4ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIGZpbHRlclJlZ2lvbiBh
bmQgb3V0c2V0cyBvZiByZWZlcmVuY2VkIFNWRyBmaWx0ZXIgYXJlIGNhbGN1bGF0ZWQgY29ycmVj
dGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzUz
MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBjc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZpbHRlci1vdXRzZXRzLmh0bWwKKworICAgICAgICBD
YWxjdWxhdGUgdGhlIGZpbHRlclJlZ2lvbiBvZiB0aGUgcmVmZXJlbmNlZCBTVkdGaWx0ZXIgYnkg
Y2FsbGluZyAKKyAgICAgICAgU1ZHTGVuZ3RoQ29udGV4dDo6cmVzb2x2ZVJlY3RhbmdsZSgpIGdp
dmVuIHRoZSB0YXJnZXRCb3VuZGluZ0JveCBvZiB0aGUKKyAgICAgICAgQ1NTRmlsdGVyLgorCisg
ICAgICAgIFRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IHRoZSBmaWx0ZXJSZWdpb24gb2YgdGhlIHJl
ZmVyZW5jZWQgU1ZHIGZpbHRlciAKKyAgICAgICAgZnJvbSBDU1NGaWx0ZXI6OnNldEZpbHRlclJl
Z2lvbigpIHNpbmNlIGl0cyBmaWx0ZXJSZWdpb24gaXMgdGhlIHVuaW9uCisgICAgICAgIG9mIHRo
ZSBmaWx0ZXJSZWdpb25zIGFsbCBpdHMgcmVmZXJlbmNlZCBTVkdGaWx0ZXJzLgorCisgICAgICAg
IENhbGN1bGF0ZSB0aGUgb3V0c2V0cyBvZiB0aGUgU1ZHRmlsdGVyIGJ5IGxvb3BpbmcgdGhyb3Vn
aCBpdHMgZXhwcmVzc2lvbgorICAgICAgICBvZiBGaWx0ZXJFZmZlY3RzLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRURyb3BTaGFkb3cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RkVEcm9wU2hhZG93OjpvdXRzZXRzIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFRHJvcFNoYWRvdy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVHYXVz
c2lhbkJsdXI6Om91dHNldHMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVHYXVzc2lhbkJsdXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFT2Zmc2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFT2Zmc2V0OjpvdXRzZXRzIGNv
bnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFT2Zmc2V0Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckZ1bmN0aW9uLmg6CisgICAgICAgIChXZWJD
b3JlOjpGaWx0ZXJGdW5jdGlvbjo6b3V0c2V0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L0NTU0ZpbHRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVTVkdGaWx0ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTRmlsdGVyOjpzZXRGaWx0ZXJSZWdpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTRmlsdGVyOjpvdXRzZXRzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvQ1NT
RmlsdGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyRmlsdGVycy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckZpbHRlcnM6OmJlZ2luRmlsdGVyRWZmZWN0KToK
KyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRmlsdGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVy
OjpvdXRzZXRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6bGFzdEVmZmVj
dCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmls
dGVyLmg6CisKIDIwMjItMDEtMTUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAg
ICAgICAgIENTUyBHcmFkaWVudHM6IGludGVycG9sYXRpb24gbW9kZSBzaG91bGQgZGVmYXVsdCB0
byBPS0xhYiBpZiBhbnkgbm9uLWxlZ2FjeSBjb2xvciBzeW50YXggY29sb3JzIGFyZSB1c2VkIGlu
IHRoZSBzdG9wcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRURyb3BTaGFkb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRURyb3BTaGFkb3cuY3BwCmluZGV4IDFiZmJkMmVlZGQ1OGI5OTIxMjM0YTA4
YjNkMDQ5ODE4ZTA0NmMwNmMuLjQ4YmFhYzA3OGI4OTZlODc1OTYzNjQyNDk3YmJkOTRjNGQxNzRk
OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVEcm9wU2hhZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFRHJvcFNoYWRvdy5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgRmxvYXRSZWN0IEZFRHJv
cFNoYWRvdzo6Y2FsY3VsYXRlSW1hZ2VSZWN0KGNvbnN0IEZpbHRlciYgZmlsdGVyLCBjb25zdCBG
aWx0ZXJJbWEKICAgICByZXR1cm4gZmlsdGVyLmNsaXBUb01heEVmZmVjdFJlY3QoaW1hZ2VSZWN0
LCBwcmltaXRpdmVTdWJyZWdpb24pOwogfQogCi1JbnRPdXRzZXRzIEZFRHJvcFNoYWRvdzo6b3V0
c2V0cygpIGNvbnN0CitJbnRPdXRzZXRzIEZFRHJvcFNoYWRvdzo6b3V0c2V0cyhjb25zdCBGaWx0
ZXImKSBjb25zdAogewogICAgIEludFNpemUgb3V0c2V0U2l6ZSA9IEZFR2F1c3NpYW5CbHVyOjpj
YWxjdWxhdGVPdXRzZXRTaXplKHsgbV9zdGRYLCBtX3N0ZFkgfSk7CiAgICAgcmV0dXJuIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEcm9w
U2hhZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRHJv
cFNoYWRvdy5oCmluZGV4IDc4YTUzN2ZmN2Y2YWQ2MjJmMDE5NTcwMWVmNDI2NGMzN2I1MGFhMDMu
LmU2OTY1ZDI3YjdmN2NlNWVkMmYyN2JjYmU5NDAwY2JhNTdiZjRjNjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEcm9wU2hhZG93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRURyb3BTaGFkb3cu
aApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogCiAgICAgRmxvYXRSZWN0IGNhbGN1bGF0ZUlt
YWdlUmVjdChjb25zdCBGaWx0ZXImLCBjb25zdCBGaWx0ZXJJbWFnZVZlY3RvciYgaW5wdXRzLCBj
b25zdCBGbG9hdFJlY3QmIHByaW1pdGl2ZVN1YnJlZ2lvbikgY29uc3Qgb3ZlcnJpZGU7CiAKLSAg
ICBJbnRPdXRzZXRzIG91dHNldHMoKSBjb25zdCBvdmVycmlkZTsKKyAgICBJbnRPdXRzZXRzIG91
dHNldHMoY29uc3QgRmlsdGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8RmlsdGVyRWZmZWN0QXBwbGllcj4gY3JlYXRlQXBwbGllcihjb25zdCBGaWx0ZXImKSBjb25z
dCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAppbmRleCA5YjJmMjA5NWFkMzQzOGRh
YmM2MjkwYWU1ZGYxZWRiZGU2NDk3NGUwLi40MGYxYWQ2ZGFiNzk4MThkZDI5MDIwN2ViZDhhMGUy
NzgxZDNiYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcApAQCAtMTIwLDkgKzEyMCw5IEBAIEZs
b2F0UmVjdCBGRUdhdXNzaWFuQmx1cjo6Y2FsY3VsYXRlSW1hZ2VSZWN0KGNvbnN0IEZpbHRlciYg
ZmlsdGVyLCBjb25zdCBGaWx0ZXJJCiAgICAgcmV0dXJuIGZpbHRlci5jbGlwVG9NYXhFZmZlY3RS
ZWN0KGltYWdlUmVjdCwgcHJpbWl0aXZlU3VicmVnaW9uKTsKIH0KIAotSW50T3V0c2V0cyBGRUdh
dXNzaWFuQmx1cjo6b3V0c2V0cygpIGNvbnN0CitJbnRPdXRzZXRzIEZFR2F1c3NpYW5CbHVyOjpv
dXRzZXRzKGNvbnN0IEZpbHRlciYgZmlsdGVyKSBjb25zdAogewotICAgIEludFNpemUgb3V0c2V0
U2l6ZSA9IGNhbGN1bGF0ZU91dHNldFNpemUoeyBtX3N0ZFgsIG1fc3RkWSB9KTsKKyAgICBJbnRT
aXplIG91dHNldFNpemUgPSBjYWxjdWxhdGVPdXRzZXRTaXplKGZpbHRlci5yZXNvbHZlZFNpemUo
eyBtX3N0ZFgsIG1fc3RkWSB9KSk7CiAgICAgcmV0dXJuIHsgb3V0c2V0U2l6ZS5oZWlnaHQoKSwg
b3V0c2V0U2l6ZS53aWR0aCgpLCBvdXRzZXRTaXplLmhlaWdodCgpLCBvdXRzZXRTaXplLndpZHRo
KCkgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5oCmluZGV4IDg1MTdhYzEwYjg2MmUyOGU1Y2U5ODRi
YzJkYmM3YzUwZTBkODE4YTguLjczZWU1ZTk0YWRkM2RlYjM4OTIzMWM2MmQxYjIyMTFlYjg1ZmU5
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVHYXVzc2lhbkJsdXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgKQEAgLTUyLDcgKzUyLDcgQEAgcHJpdmF0ZToKIAogICAg
IEZsb2F0UmVjdCBjYWxjdWxhdGVJbWFnZVJlY3QoY29uc3QgRmlsdGVyJiwgY29uc3QgRmlsdGVy
SW1hZ2VWZWN0b3ImIGlucHV0cywgY29uc3QgRmxvYXRSZWN0JiBwcmltaXRpdmVTdWJyZWdpb24p
IGNvbnN0IG92ZXJyaWRlOwogCi0gICAgSW50T3V0c2V0cyBvdXRzZXRzKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgSW50T3V0c2V0cyBvdXRzZXRzKGNvbnN0IEZpbHRlciYpIGNvbnN0IG92ZXJyaWRl
OwogCiAgICAgYm9vbCByZXN1bHRJc0FscGhhSW1hZ2UoY29uc3QgRmlsdGVySW1hZ2VWZWN0b3Im
IGlucHV0cykgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5jcHAKaW5kZXggYjZlNzRkZmNhYThhOTBk
NjY0OWEwM2NiZDkwNjg1ZWI0ZjYzNTNhYy4uYTRmZDlmZDI1NDI1NGRiNmU3N2ZlMGE0OGI4ZThh
YWYxNTA4ZDMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GRU9mZnNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRU9mZnNldC5jcHAKQEAgLTYwLDYgKzYwLDIzIEBAIEZsb2F0UmVjdCBGRU9m
ZnNldDo6Y2FsY3VsYXRlSW1hZ2VSZWN0KGNvbnN0IEZpbHRlciYgZmlsdGVyLCBjb25zdCBGaWx0
ZXJJbWFnZVZlCiAgICAgcmV0dXJuIGZpbHRlci5jbGlwVG9NYXhFZmZlY3RSZWN0KGltYWdlUmVj
dCwgcHJpbWl0aXZlU3VicmVnaW9uKTsKIH0KIAorSW50T3V0c2V0cyBGRU9mZnNldDo6b3V0c2V0
cyhjb25zdCBGaWx0ZXImIGZpbHRlcikgY29uc3QKK3sKKyAgICBhdXRvIG9mZnNldCA9IGV4cGFu
ZGVkSW50U2l6ZShmaWx0ZXIucmVzb2x2ZWRTaXplKHsgbV9keCwgbV9keSB9KSk7CisgICAgCisg
ICAgSW50T3V0c2V0cyBvdXRzZXRzOworICAgIGlmIChvZmZzZXQuaGVpZ2h0KCkgPCAwKQorICAg
ICAgICBvdXRzZXRzLnNldFRvcCgtb2Zmc2V0LmhlaWdodCgpKTsKKyAgICBlbHNlCisgICAgICAg
IG91dHNldHMuc2V0Qm90dG9tKG9mZnNldC5oZWlnaHQoKSk7CisKKyAgICBpZiAob2Zmc2V0Lndp
ZHRoKCkgPCAwKQorICAgICAgICBvdXRzZXRzLnNldExlZnQoLW9mZnNldC53aWR0aCgpKTsKKyAg
ICBlbHNlCisgICAgICAgIG91dHNldHMuc2V0UmlnaHQob2Zmc2V0LndpZHRoKCkpOworICAgIHJl
dHVybiBvdXRzZXRzOworfQorCiBib29sIEZFT2Zmc2V0OjpyZXN1bHRJc0FscGhhSW1hZ2UoY29u
c3QgRmlsdGVySW1hZ2VWZWN0b3ImIGlucHV0cykgY29uc3QKIHsKICAgICByZXR1cm4gaW5wdXRz
WzBdLT5pc0FscGhhSW1hZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuaAppbmRleCAyZjA2N2IzZWExOThkMzgzZDZkOGFmOTcy
NmE3MjQ4NDhmZjkwMjhiLi42MTdmOGM2OTJhMzE2NjUzN2VhZTllMGZlNTk2OTFhZDc0YjI5MGQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
T2Zmc2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RU9mZnNldC5oCkBAIC00NCw2ICs0NCw4IEBAIHByaXZhdGU6CiAKICAgICBGbG9hdFJlY3QgY2Fs
Y3VsYXRlSW1hZ2VSZWN0KGNvbnN0IEZpbHRlciYsIGNvbnN0IEZpbHRlckltYWdlVmVjdG9yJiBp
bnB1dHMsIGNvbnN0IEZsb2F0UmVjdCYgcHJpbWl0aXZlU3VicmVnaW9uKSBjb25zdCBvdmVycmlk
ZTsKIAorICAgIEludE91dHNldHMgb3V0c2V0cyhjb25zdCBGaWx0ZXImKSBjb25zdCBvdmVycmlk
ZTsKKwogICAgIGJvb2wgcmVzdWx0SXNBbHBoYUltYWdlKGNvbnN0IEZpbHRlckltYWdlVmVjdG9y
JiBpbnB1dHMpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEZpbHRlckVm
ZmVjdEFwcGxpZXI+IGNyZWF0ZUFwcGxpZXIoY29uc3QgRmlsdGVyJikgY29uc3Qgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0Zp
bHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIu
aAppbmRleCAxMDg2MjQ2Y2RkZTUzMzYwODM4ZWU0MDM3YzE0YTZiOGEyY2I1MGMxLi5lMGVmMWJh
YTdkYWU4NDJiOTlkZGU3ODgyZDg3ZjRhMDI5OWFmZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAg
Y2xhc3MgRmlsdGVyUmVzdWx0czsKIAogY2xhc3MgRmlsdGVyIDogcHVibGljIEZpbHRlckZ1bmN0
aW9uIHsKICAgICB1c2luZyBGaWx0ZXJGdW5jdGlvbjo6YXBwbHk7CisgICAgdXNpbmcgRmlsdGVy
RnVuY3Rpb246Om91dHNldHM7CiAKIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIENsaXBPcGVyYXRp
b24geyBJbnRlcnNlY3QsIFVuaXRlIH07CkBAIC02NSw2ICs2Niw3IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgY2xhbXBGaWx0ZXJSZWdpb25JZk5lZWRlZCgpOwogCisgICAgdmlydHVhbCBJbnRPdXRz
ZXRzIG91dHNldHMoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBSZWZQdHI8RmlsdGVySW1hZ2U+
IGFwcGx5KEZpbHRlckltYWdlKiBzb3VyY2VJbWFnZSwgRmlsdGVyUmVzdWx0cyYpID0gMDsKICAg
ICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8RmlsdGVySW1hZ2U+IGFwcGx5KEltYWdlQnVmZmVyKiBz
b3VyY2VJbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBzb3VyY2VJbWFnZVJlY3QsIEZpbHRlclJlc3Vs
dHMmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GaWx0ZXJGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GaWx0ZXJGdW5jdGlvbi5oCmluZGV4IDYwMDU0ODY1MTFkNzk1YjkwOGJlOTA3Njg4
YjAzZTBhOGZmNDdlOTQuLjJmMDNhZTUxMDhiYjc0ODQ3NWE2N2ZiMGQ0OTQyOWYyOGI1NjIzZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmls
dGVyRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZpbHRlckZ1bmN0aW9uLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogI2VuZGlmCiAK
ICAgICB2aXJ0dWFsIFJlZlB0cjxGaWx0ZXJJbWFnZT4gYXBwbHkoY29uc3QgRmlsdGVyJiwgRmls
dGVySW1hZ2UmLCBGaWx0ZXJSZXN1bHRzJikgeyByZXR1cm4gbnVsbHB0cjsgfQotICAgIHZpcnR1
YWwgSW50T3V0c2V0cyBvdXRzZXRzKCkgY29uc3QgeyByZXR1cm4geyB9OyB9CisgICAgdmlydHVh
bCBJbnRPdXRzZXRzIG91dHNldHMoY29uc3QgRmlsdGVyJikgY29uc3QgeyByZXR1cm4geyB9OyB9
CiAKICAgICB2aXJ0dWFsIFdURjo6VGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihX
VEY6OlRleHRTdHJlYW0mLCBGaWx0ZXJSZXByZXNlbnRhdGlvbiA9IEZpbHRlclJlcHJlc2VudGF0
aW9uOjpUZXN0T3V0cHV0KSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9DU1NGaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU0Zp
bHRlci5jcHAKaW5kZXggNGE3NzI3NDc1NWE1NzFmZDdhNDBhZmQ5OGJlN2E5YmU1MjRiODBhNC4u
ZjU1YWU5ODdlY2RlMDU3ZmNhNmE5NGE5OWUzNmUxNDI0OTc3OWMyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0NTU0ZpbHRlci5jcHAKQEAgLTMyLDggKzMyLDYgQEAKICNpbmNsdWRlICJGRURy
b3BTaGFkb3cuaCIKICNpbmNsdWRlICJGRUdhdXNzaWFuQmx1ci5oIgogI2luY2x1ZGUgIkZpbHRl
ck9wZXJhdGlvbnMuaCIKLSNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJM
ZW5ndGhGdW5jdGlvbnMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUmVmZXJl
bmNlZFNWR1Jlc291cmNlcy5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKQEAgLTIzNiw3
ICsyMzQsOSBAQCBzdGF0aWMgUmVmUHRyPFNWR0ZpbHRlcj4gY3JlYXRlU1ZHRmlsdGVyKENTU0Zp
bHRlciYgZmlsdGVyLCBjb25zdCBSZWZlcmVuY2VGaWx0ZQogICAgIH0KIAogICAgIFNWR0ZpbHRl
ckJ1aWxkZXIgYnVpbGRlcjsKLSAgICByZXR1cm4gU1ZHRmlsdGVyOjpjcmVhdGUoKmZpbHRlckVs
ZW1lbnQsIGJ1aWxkZXIsIGZpbHRlci5yZW5kZXJpbmdNb2RlKCksIGZpbHRlci5maWx0ZXJTY2Fs
ZSgpLCBmaWx0ZXIuY2xpcE9wZXJhdGlvbigpLCB0YXJnZXRCb3VuZGluZ0JveCwgdGFyZ2V0Qm91
bmRpbmdCb3gpOworICAgIGF1dG8gZmlsdGVyUmVnaW9uID0gU1ZHTGVuZ3RoQ29udGV4dDo6cmVz
b2x2ZVJlY3RhbmdsZTxTVkdGaWx0ZXJFbGVtZW50PihmaWx0ZXJFbGVtZW50LCBmaWx0ZXJFbGVt
ZW50LT5maWx0ZXJVbml0cygpLCB0YXJnZXRCb3VuZGluZ0JveCk7CisKKyAgICByZXR1cm4gU1ZH
RmlsdGVyOjpjcmVhdGUoKmZpbHRlckVsZW1lbnQsIGJ1aWxkZXIsIGZpbHRlci5yZW5kZXJpbmdN
b2RlKCksIGZpbHRlci5maWx0ZXJTY2FsZSgpLCBmaWx0ZXIuY2xpcE9wZXJhdGlvbigpLCBmaWx0
ZXJSZWdpb24sIHRhcmdldEJvdW5kaW5nQm94KTsKIH0KIAogYm9vbCBDU1NGaWx0ZXI6OmJ1aWxk
RmlsdGVyRnVuY3Rpb25zKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBGaWx0ZXJPcGVy
YXRpb25zJiBvcGVyYXRpb25zLCBjb25zdCBGbG9hdFJlY3QmIHRhcmdldEJvdW5kaW5nQm94KQpA
QCAtMzcxLDEyICszNzEsNiBAQCBSZWZQdHI8RmlsdGVySW1hZ2U+IENTU0ZpbHRlcjo6YXBwbHko
RmlsdGVySW1hZ2UqIHNvdXJjZUltYWdlLCBGaWx0ZXJSZXN1bHRzJiByZQogdm9pZCBDU1NGaWx0
ZXI6OnNldEZpbHRlclJlZ2lvbihjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJlZ2lvbikKIHsKICAg
ICBGaWx0ZXI6OnNldEZpbHRlclJlZ2lvbihmaWx0ZXJSZWdpb24pOwotCi0gICAgZm9yIChhdXRv
JiBmdW5jdGlvbiA6IG1fZnVuY3Rpb25zKSB7Ci0gICAgICAgIGlmIChmdW5jdGlvbi0+aXNTVkdG
aWx0ZXIoKSkKLSAgICAgICAgICAgIGRvd25jYXN0PFNWR0ZpbHRlcj4oZnVuY3Rpb24ucHRyKCkp
LT5zZXRGaWx0ZXJSZWdpb24oZmlsdGVyUmVnaW9uKTsKLSAgICB9Ci0KICAgICBjbGFtcEZpbHRl
clJlZ2lvbklmTmVlZGVkKCk7CiB9CiAKQEAgLTM4OSw3ICszODMsNyBAQCBJbnRPdXRzZXRzIENT
U0ZpbHRlcjo6b3V0c2V0cygpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX291dHNldHM7CiAKICAg
ICBmb3IgKGF1dG8mIGZ1bmN0aW9uIDogbV9mdW5jdGlvbnMpCi0gICAgICAgIG1fb3V0c2V0cyAr
PSBmdW5jdGlvbi0+b3V0c2V0cygpOworICAgICAgICBtX291dHNldHMgKz0gZnVuY3Rpb24tPm91
dHNldHMoKnRoaXMpOwogICAgIHJldHVybiBtX291dHNldHM7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DU1NGaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9DU1NGaWx0ZXIuaAppbmRleCBhZTVlODI4ZDdjNmI3NTZmNzhlNTcwMzc0MmMwNzYyMmZk
NTc1ZDRmLi41MzczYzg1NWQ0MzJkMThhNTk0ZDE4OTM3OTI3OWI2ZjA0MzBjZjBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ1NTRmlsdGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0NTU0ZpbHRlci5oCkBAIC0zMCwxMCArMzAsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZpbHRlckVmZmVjdDsKIGNsYXNzIEZpbHRlck9wZXJhdGlv
bnM7Ci1jbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci1jbGFzcyBSZWZlcmVuY2VGaWx0ZXJPcGVyYXRp
b247CiBjbGFzcyBSZW5kZXJFbGVtZW50OwogY2xhc3MgU291cmNlR3JhcGhpYzsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyRmlsdGVycy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcAppbmRleCA2NjVh
ZDUyYzQxOTBjOGMyNjcxYWE0OTFkYWIwNjQ2MDBmOWE2ZjY4Li42ZGU0ZmYwMTdiOTI1N2E5YjZi
MTA3MzZmMWM0ZTE4OTFhOGU3NWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcApAQCAtMTY0LDEwICsxNjQsOCBAQCBHcmFwaGljc0NvbnRl
eHQqIFJlbmRlckxheWVyRmlsdGVyczo6YmVnaW5GaWx0ZXJFZmZlY3QoUmVuZGVyRWxlbWVudCYg
cmVuZGVyZXIsCiAgICAgCiAgICAgLy8gRm9yIENTU0ZpbHRlciwgZmlsdGVyUmVnaW9uID0gdGFy
Z2V0Qm91bmRpbmdCb3ggKyBmaWx0ZXItPm91dHNldHMoKQogICAgIGF1dG8gZmlsdGVyUmVnaW9u
ID0gdGFyZ2V0Qm91bmRpbmdCb3g7Ci0gICAgaWYgKGZpbHRlci5oYXNGaWx0ZXJUaGF0TW92ZXNQ
aXhlbHMoKSkgeworICAgIGlmIChmaWx0ZXIuaGFzRmlsdGVyVGhhdE1vdmVzUGl4ZWxzKCkpCiAg
ICAgICAgIGZpbHRlclJlZ2lvbiArPSBmaWx0ZXIub3V0c2V0cygpOwotICAgICAgICBmaWx0ZXJS
ZWdpb24uaW50ZXJzZWN0KGZpbHRlckJveFJlY3QpOwotICAgIH0KIAogICAgIGlmIChmaWx0ZXJS
ZWdpb24uaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwCmluZGV4IDExODg0ZGJm
NGU0YWVhZDM0M2Y4NmMwNjJkYmY2MTY2Y2Y4Njc1MTAuLmRjMWUzOGVjMmYyZjk0NjcwNmQxN2Jj
MDE2MWE4NmRhYTUwZTEwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcApAQCAtNTIsNyArNTIsNiBAQCBSZWZQdHI8U1ZHRmlsdGVy
PiBTVkdGaWx0ZXI6OmNyZWF0ZShTVkdGaWx0ZXJFbGVtZW50JiBmaWx0ZXJFbGVtZW50LCBTVkdG
aWx0ZXJCdQogICAgIGlmICghZmlsdGVyLT5zdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZygpKQog
ICAgICAgICBmaWx0ZXItPnNldFJlbmRlcmluZ01vZGUoUmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVy
YXRlZCk7CiAjZW5kaWYKLQogICAgIHJldHVybiBmaWx0ZXI7CiB9CiAKQEAgLTk3LDEzICs5Niw2
IEBAIGJvb2wgU1ZHRmlsdGVyOjpzdXBwb3J0c0NvcmVJbWFnZVJlbmRlcmluZygpIGNvbnN0CiB9
CiAjZW5kaWYKIAotUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZHRmlsdGVyOjpsYXN0RWZmZWN0KCkg
Y29uc3QKLXsKLSAgICBpZiAobV9leHByZXNzaW9uLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgcmV0dXJuIG1fZXhwcmVzc2lvbi5sYXN0KCkuZWZmZWN0LnB0cigpOwot
fQotCiBGaWx0ZXJFZmZlY3RWZWN0b3IgU1ZHRmlsdGVyOjplZmZlY3RzT2ZUeXBlKEZpbHRlckZ1
bmN0aW9uOjpUeXBlIGZpbHRlclR5cGUpIGNvbnN0CiB7CiAgICAgSGFzaFNldDxSZWY8RmlsdGVy
RWZmZWN0Pj4gZWZmZWN0czsKQEAgLTE1OSwxMCArMTUxLDIzIEBAIFJlZlB0cjxGaWx0ZXJJbWFn
ZT4gU1ZHRmlsdGVyOjphcHBseShGaWx0ZXJJbWFnZSogc291cmNlSW1hZ2UsIEZpbHRlclJlc3Vs
dHMmIHJlCiAgICAgcmV0dXJuIHN0YWNrLnRha2VMYXN0KCk7CiB9CiAKK0ludE91dHNldHMgU1ZH
RmlsdGVyOjpvdXRzZXRzKGNvbnN0IEZpbHRlciYpIGNvbnN0Cit7CisgICAgcmV0dXJuIG91dHNl
dHMoKTsKK30KKwogSW50T3V0c2V0cyBTVkdGaWx0ZXI6Om91dHNldHMoKSBjb25zdAogewotICAg
IEFTU0VSVChsYXN0RWZmZWN0KCkpOwotICAgIHJldHVybiBsYXN0RWZmZWN0KCktPm91dHNldHMo
KTsKKyAgICBBU1NFUlQoIW1fZXhwcmVzc2lvbi5pc0VtcHR5KCkpOworCisgICAgSW50T3V0c2V0
cyBvdXRzZXRzOworCisgICAgZm9yIChhdXRvJiB0ZXJtIDogbV9leHByZXNzaW9uKSB7CisgICAg
ICAgIGF1dG8mIGVmZmVjdCA9IHRlcm0uZWZmZWN0OworICAgICAgICBvdXRzZXRzICs9IGVmZmVj
dC0+b3V0c2V0cygqdGhpcyk7CisgICAgfQorCisgICAgcmV0dXJuIG91dHNldHM7CiB9CiAKIFRl
eHRTdHJlYW0mIFNWR0ZpbHRlcjo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0
cywgRmlsdGVyUmVwcmVzZW50YXRpb24gcmVwcmVzZW50YXRpb24pIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oCmluZGV4IGZjMGYyMDg3
NzhlZDhkOWM1M2ZjOWYwOTUwZTUwYmQyMWZiNzI3OGEuLmZjODU0ZjYyNmY5YTM0OTMxOGYxOTNl
ZmRlOWJlOGFkNzM1OWUzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZpbHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9m
aWx0ZXJzL1NWR0ZpbHRlci5oCkBAIC01NiwxNCArNTYsMTQgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgc2V0RXhwcmVzc2lvbihTVkdGaWx0ZXJFeHByZXNzaW9uJiYgZXhwcmVzc2lvbikgeyBtX2V4
cHJlc3Npb24gPSBXVEZNb3ZlKGV4cHJlc3Npb24pOyB9CiAKLSAgICBSZWZQdHI8RmlsdGVyRWZm
ZWN0PiBsYXN0RWZmZWN0KCkgY29uc3Q7Ci0KICNpZiBVU0UoQ09SRV9JTUFHRSkKICAgICBib29s
IHN1cHBvcnRzQ29yZUltYWdlUmVuZGVyaW5nKCkgY29uc3QgZmluYWw7CiAjZW5kaWYKICAgICBG
bG9hdFNpemUgcmVzb2x2ZWRTaXplKGNvbnN0IEZsb2F0U2l6ZSYpIGNvbnN0IGZpbmFsOwogCiAg
ICAgUmVmUHRyPEZpbHRlckltYWdlPiBhcHBseShjb25zdCBGaWx0ZXImLCBGaWx0ZXJJbWFnZSYg
c291cmNlSW1hZ2UsIEZpbHRlclJlc3VsdHMmKSBmaW5hbDsKKworICAgIEludE91dHNldHMgb3V0
c2V0cyhjb25zdCBGaWx0ZXImKSBjb25zdCBmaW5hbDsKICAgICBJbnRPdXRzZXRzIG91dHNldHMo
KSBjb25zdCBmaW5hbDsKIAogICAgIEZsb2F0UmVjdCBtX3RhcmdldEJvdW5kaW5nQm94OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGM2NDA1NGU5ZjQxZjFmMGFiMWNhNGU2YzZlYzIyM2Q1NGVkNDU2MTAuLjg1NzVkMTMyNDBk
NWU5ZWQ4OGE2YzVjOTBkZTQwNWExMWZkMDE0NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
Mi0wMS0xOCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNvbT4KKworICAgICAgICBm
aWx0ZXJSZWdpb24gYW5kIG91dHNldHMgb2YgcmVmZXJlbmNlZCBTVkcgZmlsdGVyIGFyZSBjYWxj
dWxhdGVkIGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM1MzM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZpbHRlci1vdXRzZXRzLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZWZlcmVuY2UtZmlsdGVyLW91
dHNldHMuaHRtbDogQWRkZWQuCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZp
bHRlci1zZXQtZmlsdGVyLXJlZ2lvbnMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBjc3MzL2Zp
bHRlcnMvcmVmZXJlbmNlLWZpbHRlci1zZXQtZmlsdGVyLXJlZ2lvbnMuaHRtbDoKKyAgICAgICAg
VGhlIG9yaWdpbmFsIGV4cGVjdGVkIHBhZ2UgaXMgd3JvbmcuIFRvIHRlc3QgdGhlIHJlZmVyZW5j
ZWQgU1ZHIGZpbHRlcgorICAgICAgICBjb3JyZWN0bHksIHRoZSA8ZGl2PiBlbGVtZW50IG5lZWRz
IHRvIG1vdmUgc3VjaCB0aGF0IGFsbCBpdHMgb3V0c2V0cyBhcmUKKyAgICAgICAgbm90IHRydW5j
YXRlZC4KKwogMjAyMi0wMS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQ1NTIEdyYWRpZW50czogaW50ZXJwb2xhdGlvbiBtb2RlIHNob3VsZCBkZWZhdWx0IHRv
IE9LTGFiIGlmIGFueSBub24tbGVnYWN5IGNvbG9yIHN5bnRheCBjb2xvcnMgYXJlIHVzZWQgaW4g
dGhlIHN0b3BzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNl
LWZpbHRlci1vdXRzZXRzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
cmVmZXJlbmNlLWZpbHRlci1vdXRzZXRzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThlZDc2
MmQ4ZDdiYTEwMWFhOTQ5Yjc4NmZjN2M5Mjc4YjZhODE3MQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9yZWZlcmVuY2UtZmlsdGVyLW91dHNldHMtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDIyIEBACis8c3R5bGU+CisgICAgLmJveCB7CisgICAgICAgIHdpZHRo
OiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTogaW5saW5l
LWJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgbWFyZ2lu
OiAxMHB4OworICAgIH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IGRyb3Atc2hhZG93KC0yMHB4IC0yMHB4IDAgYmxh
Y2spOyBjbGlwLXBhdGg6IHBvbHlnb24oLTEwcHggLTEwcHgsIDEwMHB4IC0xMHB4LCAxMDBweCAx
MDBweCwgLTEwcHggMTAwcHgpOyI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5
bGU9ImZpbHRlcjogZHJvcC1zaGFkb3coMjBweCAtMjBweCAwIGJsYWNrKTsgIGNsaXAtcGF0aDog
cG9seWdvbiggIDAgICAtMTBweCwgMTEwcHggLTEwcHgsIDExMHB4IDEwMHB4LCAgIDAgICAxMDBw
eCk7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxkaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
ImJveCIgc3R5bGU9ImZpbHRlcjogZHJvcC1zaGFkb3coLTIwcHggMjBweCAwIGJsYWNrKTsgIGNs
aXAtcGF0aDogcG9seWdvbigtMTBweCAgIDAsICAgMTAwcHggICAwLCAgIDEwMHB4IDExMHB4LCAt
MTBweCAxMTBweCk7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iZmls
dGVyOiBkcm9wLXNoYWRvdygyMHB4IDIwcHggMCBibGFjayk7ICAgY2xpcC1wYXRoOiBwb2x5Z29u
KCAgMCAgICAgMCwgICAxMTBweCAgIDAsICAgMTEwcHggMTEwcHgsICAgMCAgIDExMHB4KTsiPjwv
ZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iYm9yZGVyOiAx
MHB4IHNvbGlkIGJsYWNrOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCwgLTEwcHgpOyI+PC9k
aXY+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJl
bmNlLWZpbHRlci1vdXRzZXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJl
bmNlLWZpbHRlci1vdXRzZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRkYWU1ZTNlYjI1OTEyZWI2MjAx
Yjc2NjdjMzE1MTY3ZmM2Y2ZhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZWZlcmVuY2UtZmlsdGVyLW91dHNldHMuaHRtbApAQCAtMCwwICsxLDc3IEBACis8
c3R5bGU+CisgICAgLmJveCB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgbWFyZ2luOiAxMHB4OworICAgIH0KKzwvc3R5bGU+
Cis8Ym9keT4KKyAgICA8ZGl2PgorICAgICAgICA8c3ZnIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogLTk5OTk5OXB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgor
ICAgICAgICAgICAgPGZpbHRlciBpZD0ic3ZnRHJvcFNoYWRvdzEiPgorICAgICAgICAgICAgICAg
IDxmZU9mZnNldCBkeD0iLTIwIiBkeT0iLTIwIiByZXN1bHQ9Im9mZnNldGJsdXIiLz4KKyAgICAg
ICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iYmxhY2siLz4KKyAgICAgICAgICAgICAg
ICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRibHVyIiBvcGVyYXRvcj0iaW4iLz4KKyAgICAgICAg
ICAgICAgICA8ZmVNZXJnZT4KKyAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlLz4KKyAg
ICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIi8+CisgICAg
ICAgICAgICAgICAgPC9mZU1lcmdlPgorICAgICAgICAgICAgPC9maWx0ZXI+CisgICAgICAgIDwv
c3ZnPgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IHVybCgjc3ZnRHJv
cFNoYWRvdzEpOyI+PC9kaXY+CisKKyAgICAgICAgPHN2ZyBzdHlsZT0icG9zaXRpb246IGFic29s
dXRlOyB0b3A6IC05OTk5OTlweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4K
KyAgICAgICAgICAgIDxmaWx0ZXIgaWQ9InN2Z0Ryb3BTaGFkb3cyIj4KKyAgICAgICAgICAgICAg
ICA8ZmVPZmZzZXQgZHg9IjIwIiBkeT0iLTIwIiByZXN1bHQ9Im9mZnNldGJsdXIiLz4KKyAgICAg
ICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iYmxhY2siLz4KKyAgICAgICAgICAgICAg
ICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRibHVyIiBvcGVyYXRvcj0iaW4iLz4KKyAgICAgICAg
ICAgICAgICA8ZmVNZXJnZT4KKyAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlLz4KKyAg
ICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIi8+CisgICAg
ICAgICAgICAgICAgPC9mZU1lcmdlPgorICAgICAgICAgICAgPC9maWx0ZXI+CisgICAgICAgIDwv
c3ZnPgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IHVybCgjc3ZnRHJv
cFNoYWRvdzIpOyI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8ZGl2PgorICAgICAgICA8c3Zn
IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTk5OTk5OXB4IiB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciPgorICAgICAgICAgICAgPGZpbHRlciBpZD0ic3ZnRHJvcFNo
YWRvdzMiIHByaW1pdGl2ZVVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CisgICAgICAgICAgICAg
ICAgPGZlT2Zmc2V0IGR4PSItMC4yIiBkeT0iMC4yIiByZXN1bHQ9Im9mZnNldGJsdXIiLz4KKyAg
ICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iYmxhY2siLz4KKyAgICAgICAgICAg
ICAgICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRibHVyIiBvcGVyYXRvcj0iaW4iLz4KKyAgICAg
ICAgICAgICAgICA8ZmVNZXJnZT4KKyAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlLz4K
KyAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIi8+Cisg
ICAgICAgICAgICAgICAgPC9mZU1lcmdlPgorICAgICAgICAgICAgPC9maWx0ZXI+CisgICAgICAg
IDwvc3ZnPgorICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IHVybCgjc3Zn
RHJvcFNoYWRvdzMpOyI+PC9kaXY+CisKKyAgICAgICAgPHN2ZyBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyB0b3A6IC05OTk5OTlweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
Ij4KKyAgICAgICAgICAgIDxmaWx0ZXIgaWQ9InN2Z0Ryb3BTaGFkb3c0IiBwcmltaXRpdmVVbml0
cz0ib2JqZWN0Qm91bmRpbmdCb3giPgorICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMC4y
IiBkeT0iMC4yIiByZXN1bHQ9Im9mZnNldGJsdXIiLz4KKyAgICAgICAgICAgICAgICA8ZmVGbG9v
ZCBmbG9vZC1jb2xvcj0iYmxhY2siLz4KKyAgICAgICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4y
PSJvZmZzZXRibHVyIiBvcGVyYXRvcj0iaW4iLz4KKyAgICAgICAgICAgICAgICA8ZmVNZXJnZT4K
KyAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlLz4KKyAgICAgICAgICAgICAgICAgICAg
PGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIi8+CisgICAgICAgICAgICAgICAgPC9mZU1l
cmdlPgorICAgICAgICAgICAgPC9maWx0ZXI+CisgICAgICAgIDwvc3ZnPgorICAgICAgICA8ZGl2
IGNsYXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IHVybCgjc3ZnRHJvcFNoYWRvdzQpOyI+PC9kaXY+
CisgICAgPC9kaXY+CisKKyAgICA8c3ZnIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
LTk5OTk5OXB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICAgICAgICA8
ZmlsdGVyIGlkPSJzdmdEcm9wU2hhZG93OSI+CisgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1j
b2xvcj0iYmxhY2siLz4KKyAgICAgICAgICAgIDxmZU1lcmdlPgorICAgICAgICAgICAgICAgIDxm
ZU1lcmdlTm9kZS8+CisgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFw
aGljIi8+CisgICAgICAgICAgICA8L2ZlTWVyZ2U+CisgICAgICAgIDwvZmlsdGVyPgorICAgIDwv
c3ZnPgorICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9ImZpbHRlcjogdXJsKCNzdmdEcm9wU2hh
ZG93OSk7Ij48L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9yZWZlcmVuY2UtZmlsdGVyLXNldC1maWx0ZXItcmVnaW9ucy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRlci1yZWdp
b25zLWV4cGVjdGVkLmh0bWwKaW5kZXggZGY5NGZlNWNhZGUzNjFhY2VkNTNiZGU4NjUwNTBjZTdl
MjczMWYwMy4uNGZhMjVhYjVjMTE0MDhiY2ZlMDJhZjgwMmY4ZmU0YTg1MDE0MzE0MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRl
ci1yZWdpb25zLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jl
ZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRlci1yZWdpb25zLWV4cGVjdGVkLmh0bWwKQEAgLTEsOCAr
MSwxMSBAQAogPGhlYWQ+CiAgICAgPHN0eWxlPgogICAgICAgICAuYm94IHsKLSAgICAgICAgICB3
aWR0aDogMjAwcHg7Ci0gICAgICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICAgICAgbGVmdDogMjBweDsKKyAgICAgICAgICB0b3A6IDIwcHg7
CisgICAgICAgICAgd2lkdGg6IDI0MHB4OworICAgICAgICAgIGhlaWdodDogMjQwcHg7CiAgICAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CiAgICAgICAgIH0KICAgICA8L3N0eWxlPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0
LWZpbHRlci1yZWdpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNl
LWZpbHRlci1zZXQtZmlsdGVyLXJlZ2lvbnMuaHRtbAppbmRleCBjY2Q5N2IwZWJjMTQ0MzFlMjc4
ZjM4NmE4MzE3ZTYzZmQ2NjJmMWE4Li42MGMwZTE4ODg3YWQ0MGYzMTQwMmRlNzA4ZTZlMmI1MGVh
NjA3ZDM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZp
bHRlci1zZXQtZmlsdGVyLXJlZ2lvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvcmVmZXJlbmNlLWZpbHRlci1zZXQtZmlsdGVyLXJlZ2lvbnMuaHRtbApAQCAtMSw2ICsxLDkg
QEAKIDxoZWFkPgogICAgIDxzdHlsZT4KICAgICAgICAgLmJveCB7CisgICAgICAgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgICAgICAgIGxlZnQ6IDQwcHg7CisgICAgICAgICAgdG9wOiA0MHB4
OwogICAgICAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsK
</data>
<flag name="review"
          id="475510"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="475532"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449462</attachid>
            <date>2022-01-18 20:43:19 -0800</date>
            <delta_ts>2022-01-19 00:38:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235338-20220118204318.patch</filename>
            <type>text/plain</type>
            <size>21892</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTAwMzRkZDMyNzRhYjIx
MWZiYWI5NTQ2ZGI1NmQ3MDUzN2U3ZjMwZS4uYTc1NWM5NTIyZDI4Y2NiMzA2N2VlM2VlZTVlMjAz
MjhhMzJhN2MzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIyLTAxLTE4ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIGZpbHRlclJlZ2lvbiBh
bmQgb3V0c2V0cyBvZiByZWZlcmVuY2VkIFNWRyBmaWx0ZXIgYXJlIGNhbGN1bGF0ZWQgaW5jb3Jy
ZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NTMzOAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIENhbGN1
bGF0ZSB0aGUgZmlsdGVyUmVnaW9uIG9mIHRoZSByZWZlcmVuY2VkIFNWR0ZpbHRlciBieSBjYWxs
aW5nIAorICAgICAgICBTVkdMZW5ndGhDb250ZXh0OjpyZXNvbHZlUmVjdGFuZ2xlKCkgZ2l2ZW4g
dGhlIHRhcmdldEJvdW5kaW5nQm94IG9mIHRoZQorICAgICAgICBDU1NGaWx0ZXIuCisKKyAgICAg
ICAgVGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgdGhlIGZpbHRlclJlZ2lvbiBvZiB0aGUgcmVmZXJl
bmNlZCBTVkcgZmlsdGVyIAorICAgICAgICBmcm9tIENTU0ZpbHRlcjo6c2V0RmlsdGVyUmVnaW9u
KCkgc2luY2UgaXRzIGZpbHRlclJlZ2lvbiBpcyB0aGUgdW5pb24KKyAgICAgICAgb2YgdGhlIGZp
bHRlclJlZ2lvbnMgYWxsIGl0cyByZWZlcmVuY2VkIFNWR0ZpbHRlcnMuCisKKyAgICAgICAgQ2Fs
Y3VsYXRlIHRoZSBvdXRzZXRzIG9mIHRoZSBTVkdGaWx0ZXIgYnkgbG9vcGluZyB0aHJvdWdoIGl0
cyBleHByZXNzaW9uCisgICAgICAgIG9mIEZpbHRlckVmZmVjdHMuCisKKyAgICAgICAgVGVzdDog
Y3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItb3V0c2V0cy5odG1sCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRHJvcFNoYWRvdy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGRURyb3BTaGFkb3c6Om91dHNldHMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVEcm9wU2hhZG93Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRUdhdXNz
aWFuQmx1cjo6b3V0c2V0cyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUdhdXNzaWFuQmx1ci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRkVPZmZzZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVPZmZzZXQ6Om91dHNldHMgY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZzZXQuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRnVuY3Rpb24uaDoKKyAgICAgICAgKFdlYkNv
cmU6OkZpbHRlckZ1bmN0aW9uOjpvdXRzZXRzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
Q1NTRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVNWR0ZpbHRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NGaWx0ZXI6OnNldEZpbHRlclJlZ2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpDU1NGaWx0ZXI6Om91dHNldHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9DU1NG
aWx0ZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyRmlsdGVyczo6YmVnaW5GaWx0ZXJFZmZlY3QpOgor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdGaWx0ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXI6
Om91dHNldHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpsYXN0RWZmZWN0
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0
ZXIuaDoKKwogMjAyMi0wMS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQ1NTIEdyYWRpZW50czogaW50ZXJwb2xhdGlvbiBtb2RlIHNob3VsZCBkZWZhdWx0IHRv
IE9LTGFiIGlmIGFueSBub24tbGVnYWN5IGNvbG9yIHN5bnRheCBjb2xvcnMgYXJlIHVzZWQgaW4g
dGhlIHN0b3BzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFRHJvcFNoYWRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFRHJvcFNoYWRvdy5jcHAKaW5kZXggMWJmYmQyZWVkZDU4Yjk5MjEyMzRhMDhi
M2QwNDk4MThlMDQ2YzA2Yy4uNDhiYWFjMDc4Yjg5NmU4NzU5NjM2NDI0OTdiYmQ5NGM0ZDE3NGQ4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RURyb3BTaGFkb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVEcm9wU2hhZG93LmNwcApAQCAtNjEsNyArNjEsNyBAQCBGbG9hdFJlY3QgRkVEcm9w
U2hhZG93OjpjYWxjdWxhdGVJbWFnZVJlY3QoY29uc3QgRmlsdGVyJiBmaWx0ZXIsIGNvbnN0IEZp
bHRlckltYQogICAgIHJldHVybiBmaWx0ZXIuY2xpcFRvTWF4RWZmZWN0UmVjdChpbWFnZVJlY3Qs
IHByaW1pdGl2ZVN1YnJlZ2lvbik7CiB9CiAKLUludE91dHNldHMgRkVEcm9wU2hhZG93OjpvdXRz
ZXRzKCkgY29uc3QKK0ludE91dHNldHMgRkVEcm9wU2hhZG93OjpvdXRzZXRzKGNvbnN0IEZpbHRl
ciYpIGNvbnN0CiB7CiAgICAgSW50U2l6ZSBvdXRzZXRTaXplID0gRkVHYXVzc2lhbkJsdXI6OmNh
bGN1bGF0ZU91dHNldFNpemUoeyBtX3N0ZFgsIG1fc3RkWSB9KTsKICAgICByZXR1cm4gewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRURyb3BT
aGFkb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVEcm9w
U2hhZG93LmgKaW5kZXggNzhhNTM3ZmY3ZjZhZDYyMmYwMTk1NzAxZWY0MjY0YzM3YjUwYWEwMy4u
ZTY5NjVkMjdiN2Y3Y2U1ZWQyZjI3YmNiZTk0MDBjYmE1N2JmNGM2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRURyb3BTaGFkb3cuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFRHJvcFNoYWRvdy5o
CkBAIC01NSw3ICs1NSw3IEBAIHByaXZhdGU6CiAKICAgICBGbG9hdFJlY3QgY2FsY3VsYXRlSW1h
Z2VSZWN0KGNvbnN0IEZpbHRlciYsIGNvbnN0IEZpbHRlckltYWdlVmVjdG9yJiBpbnB1dHMsIGNv
bnN0IEZsb2F0UmVjdCYgcHJpbWl0aXZlU3VicmVnaW9uKSBjb25zdCBvdmVycmlkZTsKIAotICAg
IEludE91dHNldHMgb3V0c2V0cygpIGNvbnN0IG92ZXJyaWRlOworICAgIEludE91dHNldHMgb3V0
c2V0cyhjb25zdCBGaWx0ZXImKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxGaWx0ZXJFZmZlY3RBcHBsaWVyPiBjcmVhdGVBcHBsaWVyKGNvbnN0IEZpbHRlciYpIGNvbnN0
IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCmluZGV4IDliMmYyMDk1YWQzNDM4ZGFi
YzYyOTBhZTVkZjFlZGJkZTY0OTc0ZTAuLjQwZjFhZDZkYWI3OTgxOGRkMjkwMjA3ZWJkOGEwZTI3
ODFkM2JjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCkBAIC0xMjAsOSArMTIwLDkgQEAgRmxv
YXRSZWN0IEZFR2F1c3NpYW5CbHVyOjpjYWxjdWxhdGVJbWFnZVJlY3QoY29uc3QgRmlsdGVyJiBm
aWx0ZXIsIGNvbnN0IEZpbHRlckkKICAgICByZXR1cm4gZmlsdGVyLmNsaXBUb01heEVmZmVjdFJl
Y3QoaW1hZ2VSZWN0LCBwcmltaXRpdmVTdWJyZWdpb24pOwogfQogCi1JbnRPdXRzZXRzIEZFR2F1
c3NpYW5CbHVyOjpvdXRzZXRzKCkgY29uc3QKK0ludE91dHNldHMgRkVHYXVzc2lhbkJsdXI6Om91
dHNldHMoY29uc3QgRmlsdGVyJiBmaWx0ZXIpIGNvbnN0CiB7Ci0gICAgSW50U2l6ZSBvdXRzZXRT
aXplID0gY2FsY3VsYXRlT3V0c2V0U2l6ZSh7IG1fc3RkWCwgbV9zdGRZIH0pOworICAgIEludFNp
emUgb3V0c2V0U2l6ZSA9IGNhbGN1bGF0ZU91dHNldFNpemUoZmlsdGVyLnJlc29sdmVkU2l6ZSh7
IG1fc3RkWCwgbV9zdGRZIH0pKTsKICAgICByZXR1cm4geyBvdXRzZXRTaXplLmhlaWdodCgpLCBv
dXRzZXRTaXplLndpZHRoKCksIG91dHNldFNpemUuaGVpZ2h0KCksIG91dHNldFNpemUud2lkdGgo
KSB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgKaW5kZXggODUxN2FjMTBiODYyZTI4ZTVjZTk4NGJj
MmRiYzdjNTBlMGQ4MThhOC4uNzNlZTVlOTRhZGQzZGViMzg5MjMxYzYyZDFiMjIxMWViODVmZTky
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUdhdXNzaWFuQmx1ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVHYXVzc2lhbkJsdXIuaApAQCAtNTIsNyArNTIsNyBAQCBwcml2YXRlOgogCiAgICAg
RmxvYXRSZWN0IGNhbGN1bGF0ZUltYWdlUmVjdChjb25zdCBGaWx0ZXImLCBjb25zdCBGaWx0ZXJJ
bWFnZVZlY3RvciYgaW5wdXRzLCBjb25zdCBGbG9hdFJlY3QmIHByaW1pdGl2ZVN1YnJlZ2lvbikg
Y29uc3Qgb3ZlcnJpZGU7CiAKLSAgICBJbnRPdXRzZXRzIG91dHNldHMoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBJbnRPdXRzZXRzIG91dHNldHMoY29uc3QgRmlsdGVyJikgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICBib29sIHJlc3VsdElzQWxwaGFJbWFnZShjb25zdCBGaWx0ZXJJbWFnZVZlY3RvciYg
aW5wdXRzKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFT2Zmc2V0LmNwcAppbmRleCBiNmU3NGRmY2FhOGE5MGQ2
NjQ5YTAzY2JkOTA2ODVlYjRmNjM1M2FjLi5hMzI5OTI5NmU3NWFkZGYzYjMzMTljMDJhZWZlOTQ1
YjEzOTE2MjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0ZFT2Zmc2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFT2Zmc2V0LmNwcApAQCAtNjAsNiArNjAsMjMgQEAgRmxvYXRSZWN0IEZFT2Zm
c2V0OjpjYWxjdWxhdGVJbWFnZVJlY3QoY29uc3QgRmlsdGVyJiBmaWx0ZXIsIGNvbnN0IEZpbHRl
ckltYWdlVmUKICAgICByZXR1cm4gZmlsdGVyLmNsaXBUb01heEVmZmVjdFJlY3QoaW1hZ2VSZWN0
LCBwcmltaXRpdmVTdWJyZWdpb24pOwogfQogCitJbnRPdXRzZXRzIEZFT2Zmc2V0OjpvdXRzZXRz
KGNvbnN0IEZpbHRlciYgZmlsdGVyKSBjb25zdAoreworICAgIGF1dG8gb2Zmc2V0ID0gZXhwYW5k
ZWRJbnRTaXplKGZpbHRlci5yZXNvbHZlZFNpemUoeyBtX2R4LCBtX2R5IH0pKTsKKworICAgIElu
dE91dHNldHMgb3V0c2V0czsKKyAgICBpZiAob2Zmc2V0LmhlaWdodCgpIDwgMCkKKyAgICAgICAg
b3V0c2V0cy5zZXRUb3AoLW9mZnNldC5oZWlnaHQoKSk7CisgICAgZWxzZQorICAgICAgICBvdXRz
ZXRzLnNldEJvdHRvbShvZmZzZXQuaGVpZ2h0KCkpOworICAgIGlmIChvZmZzZXQud2lkdGgoKSA8
IDApCisgICAgICAgIG91dHNldHMuc2V0TGVmdCgtb2Zmc2V0LndpZHRoKCkpOworICAgIGVsc2UK
KyAgICAgICAgb3V0c2V0cy5zZXRSaWdodChvZmZzZXQud2lkdGgoKSk7CisKKyAgICByZXR1cm4g
b3V0c2V0czsKK30KKwogYm9vbCBGRU9mZnNldDo6cmVzdWx0SXNBbHBoYUltYWdlKGNvbnN0IEZp
bHRlckltYWdlVmVjdG9yJiBpbnB1dHMpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlucHV0c1swXS0+
aXNBbHBoYUltYWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFT2Zmc2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZFT2Zmc2V0LmgKaW5kZXggMmYwNjdiM2VhMTk4ZDM4M2Q2ZDhhZjk3MjZhNzI0
ODQ4ZmY5MDI4Yi4uNjE3ZjhjNjkyYTMxNjY1MzdlYWU5ZTBmZTU5NjkxYWQ3NGIyOTBkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRU9mZnNl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVPZmZz
ZXQuaApAQCAtNDQsNiArNDQsOCBAQCBwcml2YXRlOgogCiAgICAgRmxvYXRSZWN0IGNhbGN1bGF0
ZUltYWdlUmVjdChjb25zdCBGaWx0ZXImLCBjb25zdCBGaWx0ZXJJbWFnZVZlY3RvciYgaW5wdXRz
LCBjb25zdCBGbG9hdFJlY3QmIHByaW1pdGl2ZVN1YnJlZ2lvbikgY29uc3Qgb3ZlcnJpZGU7CiAK
KyAgICBJbnRPdXRzZXRzIG91dHNldHMoY29uc3QgRmlsdGVyJikgY29uc3Qgb3ZlcnJpZGU7CisK
ICAgICBib29sIHJlc3VsdElzQWxwaGFJbWFnZShjb25zdCBGaWx0ZXJJbWFnZVZlY3RvciYgaW5w
dXRzKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxGaWx0ZXJFZmZlY3RB
cHBsaWVyPiBjcmVhdGVBcHBsaWVyKGNvbnN0IEZpbHRlciYpIGNvbnN0IG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyLmgKaW5k
ZXggMTA4NjI0NmNkZGU1MzM2MDgzOGVlNDAzN2MxNGE2YjhhMmNiNTBjMS4uZTBlZjFiYWE3ZGFl
ODQyYjk5ZGRlNzg4MmQ4N2Y0YTAyOTlhZmUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlci5oCkBAIC0zNiw2ICszNiw3IEBAIGNsYXNz
IEZpbHRlclJlc3VsdHM7CiAKIGNsYXNzIEZpbHRlciA6IHB1YmxpYyBGaWx0ZXJGdW5jdGlvbiB7
CiAgICAgdXNpbmcgRmlsdGVyRnVuY3Rpb246OmFwcGx5OworICAgIHVzaW5nIEZpbHRlckZ1bmN0
aW9uOjpvdXRzZXRzOwogCiBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBDbGlwT3BlcmF0aW9uIHsg
SW50ZXJzZWN0LCBVbml0ZSB9OwpAQCAtNjUsNiArNjYsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGNsYW1wRmlsdGVyUmVnaW9uSWZOZWVkZWQoKTsKIAorICAgIHZpcnR1YWwgSW50T3V0c2V0cyBv
dXRzZXRzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUmVmUHRyPEZpbHRlckltYWdlPiBhcHBs
eShGaWx0ZXJJbWFnZSogc291cmNlSW1hZ2UsIEZpbHRlclJlc3VsdHMmKSA9IDA7CiAgICAgV0VC
Q09SRV9FWFBPUlQgUmVmUHRyPEZpbHRlckltYWdlPiBhcHBseShJbWFnZUJ1ZmZlciogc291cmNl
SW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgc291cmNlSW1hZ2VSZWN0LCBGaWx0ZXJSZXN1bHRzJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RmlsdGVyRnVuY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvRmlsdGVyRnVuY3Rpb24uaAppbmRleCA2MDA1NDg2NTExZDc5NWI5MDhiZTkwNzY4OGIwM2Uw
YThmZjQ3ZTk0Li4yZjAzYWU1MTA4YmI3NDg0NzVhNjdmYjBkNDk0MjlmMjhiNTYyM2UwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckZ1
bmN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
aWx0ZXJGdW5jdGlvbi5oCkBAIC05OCw3ICs5OCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAg
dmlydHVhbCBSZWZQdHI8RmlsdGVySW1hZ2U+IGFwcGx5KGNvbnN0IEZpbHRlciYsIEZpbHRlcklt
YWdlJiwgRmlsdGVyUmVzdWx0cyYpIHsgcmV0dXJuIG51bGxwdHI7IH0KLSAgICB2aXJ0dWFsIElu
dE91dHNldHMgb3V0c2V0cygpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQorICAgIHZpcnR1YWwgSW50
T3V0c2V0cyBvdXRzZXRzKGNvbnN0IEZpbHRlciYpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQogCiAg
ICAgdmlydHVhbCBXVEY6OlRleHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oV1RGOjpU
ZXh0U3RyZWFtJiwgRmlsdGVyUmVwcmVzZW50YXRpb24gPSBGaWx0ZXJSZXByZXNlbnRhdGlvbjo6
VGVzdE91dHB1dCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvQ1NTRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DU1NGaWx0ZXIu
Y3BwCmluZGV4IDRhNzcyNzQ3NTVhNTcxZmQ3YTQwYWZkOThiZTdhOWJlNTI0YjgwYTQuLjUzM2I3
NDdiODAyMjI3YjM5ZmRhOTYyNmMyMmEzMGI5NmI1MTk3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9DU1NGaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9DU1NGaWx0ZXIuY3BwCkBAIC0zMiw4ICszMiw2IEBACiAjaW5jbHVkZSAiRkVEcm9wU2hh
ZG93LmgiCiAjaW5jbHVkZSAiRkVHYXVzc2lhbkJsdXIuaCIKICNpbmNsdWRlICJGaWx0ZXJPcGVy
YXRpb25zLmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTGVuZ3Ro
RnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlJlZmVyZW5jZWRT
VkdSZXNvdXJjZXMuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCkBAIC0yMzUsOCArMjMz
LDEwIEBAIHN0YXRpYyBSZWZQdHI8U1ZHRmlsdGVyPiBjcmVhdGVTVkdGaWx0ZXIoQ1NTRmlsdGVy
JiBmaWx0ZXIsIGNvbnN0IFJlZmVyZW5jZUZpbHRlCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIH0KIAorICAgIGF1dG8gZmlsdGVyUmVnaW9uID0gU1ZHTGVuZ3RoQ29udGV4dDo6cmVzb2x2
ZVJlY3RhbmdsZTxTVkdGaWx0ZXJFbGVtZW50PihmaWx0ZXJFbGVtZW50LCBmaWx0ZXJFbGVtZW50
LT5maWx0ZXJVbml0cygpLCB0YXJnZXRCb3VuZGluZ0JveCk7CisKICAgICBTVkdGaWx0ZXJCdWls
ZGVyIGJ1aWxkZXI7Ci0gICAgcmV0dXJuIFNWR0ZpbHRlcjo6Y3JlYXRlKCpmaWx0ZXJFbGVtZW50
LCBidWlsZGVyLCBmaWx0ZXIucmVuZGVyaW5nTW9kZSgpLCBmaWx0ZXIuZmlsdGVyU2NhbGUoKSwg
ZmlsdGVyLmNsaXBPcGVyYXRpb24oKSwgdGFyZ2V0Qm91bmRpbmdCb3gsIHRhcmdldEJvdW5kaW5n
Qm94KTsKKyAgICByZXR1cm4gU1ZHRmlsdGVyOjpjcmVhdGUoKmZpbHRlckVsZW1lbnQsIGJ1aWxk
ZXIsIGZpbHRlci5yZW5kZXJpbmdNb2RlKCksIGZpbHRlci5maWx0ZXJTY2FsZSgpLCBmaWx0ZXIu
Y2xpcE9wZXJhdGlvbigpLCBmaWx0ZXJSZWdpb24sIHRhcmdldEJvdW5kaW5nQm94KTsKIH0KIAog
Ym9vbCBDU1NGaWx0ZXI6OmJ1aWxkRmlsdGVyRnVuY3Rpb25zKFJlbmRlckVsZW1lbnQmIHJlbmRl
cmVyLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiBvcGVyYXRpb25zLCBjb25zdCBGbG9hdFJlY3Qm
IHRhcmdldEJvdW5kaW5nQm94KQpAQCAtMzcxLDEyICszNzEsNiBAQCBSZWZQdHI8RmlsdGVySW1h
Z2U+IENTU0ZpbHRlcjo6YXBwbHkoRmlsdGVySW1hZ2UqIHNvdXJjZUltYWdlLCBGaWx0ZXJSZXN1
bHRzJiByZQogdm9pZCBDU1NGaWx0ZXI6OnNldEZpbHRlclJlZ2lvbihjb25zdCBGbG9hdFJlY3Qm
IGZpbHRlclJlZ2lvbikKIHsKICAgICBGaWx0ZXI6OnNldEZpbHRlclJlZ2lvbihmaWx0ZXJSZWdp
b24pOwotCi0gICAgZm9yIChhdXRvJiBmdW5jdGlvbiA6IG1fZnVuY3Rpb25zKSB7Ci0gICAgICAg
IGlmIChmdW5jdGlvbi0+aXNTVkdGaWx0ZXIoKSkKLSAgICAgICAgICAgIGRvd25jYXN0PFNWR0Zp
bHRlcj4oZnVuY3Rpb24ucHRyKCkpLT5zZXRGaWx0ZXJSZWdpb24oZmlsdGVyUmVnaW9uKTsKLSAg
ICB9Ci0KICAgICBjbGFtcEZpbHRlclJlZ2lvbklmTmVlZGVkKCk7CiB9CiAKQEAgLTM4OSw3ICsz
ODMsNyBAQCBJbnRPdXRzZXRzIENTU0ZpbHRlcjo6b3V0c2V0cygpIGNvbnN0CiAgICAgICAgIHJl
dHVybiBtX291dHNldHM7CiAKICAgICBmb3IgKGF1dG8mIGZ1bmN0aW9uIDogbV9mdW5jdGlvbnMp
Ci0gICAgICAgIG1fb3V0c2V0cyArPSBmdW5jdGlvbi0+b3V0c2V0cygpOworICAgICAgICBtX291
dHNldHMgKz0gZnVuY3Rpb24tPm91dHNldHMoKnRoaXMpOwogICAgIHJldHVybiBtX291dHNldHM7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DU1NGaWx0ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9DU1NGaWx0ZXIuaAppbmRleCBhZTVlODI4ZDdjNmI3
NTZmNzhlNTcwMzc0MmMwNzYyMmZkNTc1ZDRmLi41MzczYzg1NWQ0MzJkMThhNTk0ZDE4OTM3OTI3
OWI2ZjA0MzBjZjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ1NTRmls
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NTU0ZpbHRlci5oCkBAIC0zMCwx
MCArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZpbHRlckVmZmVjdDsK
IGNsYXNzIEZpbHRlck9wZXJhdGlvbnM7Ci1jbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci1jbGFzcyBS
ZWZlcmVuY2VGaWx0ZXJPcGVyYXRpb247CiBjbGFzcyBSZW5kZXJFbGVtZW50OwogY2xhc3MgU291
cmNlR3JhcGhpYzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyRmlsdGVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJG
aWx0ZXJzLmNwcAppbmRleCA2NjVhZDUyYzQxOTBjOGMyNjcxYWE0OTFkYWIwNjQ2MDBmOWE2ZjY4
Li42ZGU0ZmYwMTdiOTI1N2E5YjZiMTA3MzZmMWM0ZTE4OTFhOGU3NWEwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcApAQCAtMTY0LDEwICsx
NjQsOCBAQCBHcmFwaGljc0NvbnRleHQqIFJlbmRlckxheWVyRmlsdGVyczo6YmVnaW5GaWx0ZXJF
ZmZlY3QoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsCiAgICAgCiAgICAgLy8gRm9yIENTU0ZpbHRl
ciwgZmlsdGVyUmVnaW9uID0gdGFyZ2V0Qm91bmRpbmdCb3ggKyBmaWx0ZXItPm91dHNldHMoKQog
ICAgIGF1dG8gZmlsdGVyUmVnaW9uID0gdGFyZ2V0Qm91bmRpbmdCb3g7Ci0gICAgaWYgKGZpbHRl
ci5oYXNGaWx0ZXJUaGF0TW92ZXNQaXhlbHMoKSkgeworICAgIGlmIChmaWx0ZXIuaGFzRmlsdGVy
VGhhdE1vdmVzUGl4ZWxzKCkpCiAgICAgICAgIGZpbHRlclJlZ2lvbiArPSBmaWx0ZXIub3V0c2V0
cygpOwotICAgICAgICBmaWx0ZXJSZWdpb24uaW50ZXJzZWN0KGZpbHRlckJveFJlY3QpOwotICAg
IH0KIAogICAgIGlmIChmaWx0ZXJSZWdpb24uaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NW
R0ZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0
ZXIuY3BwCmluZGV4IDExODg0ZGJmNGU0YWVhZDM0M2Y4NmMwNjJkYmY2MTY2Y2Y4Njc1MTAuLjg0
NzVlYWE5N2EyMjIzNTNhMzE3Mzg5NmU0ZWUxNzMxZTBmYWRkNjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcApAQCAtNTIsNyArNTIs
NiBAQCBSZWZQdHI8U1ZHRmlsdGVyPiBTVkdGaWx0ZXI6OmNyZWF0ZShTVkdGaWx0ZXJFbGVtZW50
JiBmaWx0ZXJFbGVtZW50LCBTVkdGaWx0ZXJCdQogICAgIGlmICghZmlsdGVyLT5zdXBwb3J0c0Nv
cmVJbWFnZVJlbmRlcmluZygpKQogICAgICAgICBmaWx0ZXItPnNldFJlbmRlcmluZ01vZGUoUmVu
ZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCk7CiAjZW5kaWYKLQogICAgIHJldHVybiBmaWx0ZXI7
CiB9CiAKQEAgLTk3LDEzICs5Niw2IEBAIGJvb2wgU1ZHRmlsdGVyOjpzdXBwb3J0c0NvcmVJbWFn
ZVJlbmRlcmluZygpIGNvbnN0CiB9CiAjZW5kaWYKIAotUmVmUHRyPEZpbHRlckVmZmVjdD4gU1ZH
RmlsdGVyOjpsYXN0RWZmZWN0KCkgY29uc3QKLXsKLSAgICBpZiAobV9leHByZXNzaW9uLmlzRW1w
dHkoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgcmV0dXJuIG1fZXhwcmVzc2lvbi5s
YXN0KCkuZWZmZWN0LnB0cigpOwotfQotCiBGaWx0ZXJFZmZlY3RWZWN0b3IgU1ZHRmlsdGVyOjpl
ZmZlY3RzT2ZUeXBlKEZpbHRlckZ1bmN0aW9uOjpUeXBlIGZpbHRlclR5cGUpIGNvbnN0CiB7CiAg
ICAgSGFzaFNldDxSZWY8RmlsdGVyRWZmZWN0Pj4gZWZmZWN0czsKQEAgLTE2MSw4ICsxNTMsMTAg
QEAgUmVmUHRyPEZpbHRlckltYWdlPiBTVkdGaWx0ZXI6OmFwcGx5KEZpbHRlckltYWdlKiBzb3Vy
Y2VJbWFnZSwgRmlsdGVyUmVzdWx0cyYgcmUKIAogSW50T3V0c2V0cyBTVkdGaWx0ZXI6Om91dHNl
dHMoKSBjb25zdAogewotICAgIEFTU0VSVChsYXN0RWZmZWN0KCkpOwotICAgIHJldHVybiBsYXN0
RWZmZWN0KCktPm91dHNldHMoKTsKKyAgICBJbnRPdXRzZXRzIG91dHNldHM7CisgICAgZm9yIChh
dXRvJiB0ZXJtIDogbV9leHByZXNzaW9uKQorICAgICAgICBvdXRzZXRzICs9IHRlcm0uZWZmZWN0
LT5vdXRzZXRzKCp0aGlzKTsKKyAgICByZXR1cm4gb3V0c2V0czsKIH0KIAogVGV4dFN0cmVhbSYg
U1ZHRmlsdGVyOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mIHRzLCBGaWx0ZXJS
ZXByZXNlbnRhdGlvbiByZXByZXNlbnRhdGlvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmgKaW5kZXggZmMwZjIwODc3OGVkOGQ5YzUz
ZmM5ZjA5NTBlNTBiZDIxZmI3Mjc4YS4uY2I4MjNiYWQ0NTM4MWRkODY2ODM3ODZhMzhkZjYxNWQ3
ZTc5YzMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMv
U1ZHRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZH
RmlsdGVyLmgKQEAgLTU2LDE0ICs1NiwxNCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRFeHBy
ZXNzaW9uKFNWR0ZpbHRlckV4cHJlc3Npb24mJiBleHByZXNzaW9uKSB7IG1fZXhwcmVzc2lvbiA9
IFdURk1vdmUoZXhwcmVzc2lvbik7IH0KIAotICAgIFJlZlB0cjxGaWx0ZXJFZmZlY3Q+IGxhc3RF
ZmZlY3QoKSBjb25zdDsKLQogI2lmIFVTRShDT1JFX0lNQUdFKQogICAgIGJvb2wgc3VwcG9ydHND
b3JlSW1hZ2VSZW5kZXJpbmcoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogICAgIEZsb2F0U2l6ZSBy
ZXNvbHZlZFNpemUoY29uc3QgRmxvYXRTaXplJikgY29uc3QgZmluYWw7CiAKICAgICBSZWZQdHI8
RmlsdGVySW1hZ2U+IGFwcGx5KGNvbnN0IEZpbHRlciYsIEZpbHRlckltYWdlJiBzb3VyY2VJbWFn
ZSwgRmlsdGVyUmVzdWx0cyYpIGZpbmFsOworCisgICAgSW50T3V0c2V0cyBvdXRzZXRzKGNvbnN0
IEZpbHRlciYpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG91dHNldHMoKTsgfQogICAgIEludE91dHNl
dHMgb3V0c2V0cygpIGNvbnN0IGZpbmFsOwogCiAgICAgRmxvYXRSZWN0IG1fdGFyZ2V0Qm91bmRp
bmdCb3g7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYzY0MDU0ZTlmNDFmMWYwYWIxY2E0ZTZjNmVjMjIzZDU0ZWQ0NTYxMC4u
ZDBmMjNiNWE0YzM2ZDJkMmNkOGZkMTEyYzg0ZTA1YTZkODA1ODJjOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDIyLTAxLTE4ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgor
CisgICAgICAgIGZpbHRlclJlZ2lvbiBhbmQgb3V0c2V0cyBvZiByZWZlcmVuY2VkIFNWRyBmaWx0
ZXIgYXJlIGNhbGN1bGF0ZWQgaW5jb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTMzOAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgICogY3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItb3V0c2V0
cy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvcmVmZXJlbmNl
LWZpbHRlci1vdXRzZXRzLmh0bWw6IEFkZGVkLgorCisgICAgICAgICogY3NzMy9maWx0ZXJzL3Jl
ZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRlci1yZWdpb25zLWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogY3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRlci1yZWdpb25zLmh0bWw6
CisgICAgICAgIFRoZSBvcmlnaW5hbCBleHBlY3RlZCBwYWdlIGlzIHdyb25nLiBUbyB0ZXN0IHRo
ZSByZWZlcmVuY2VkIFNWRyBmaWx0ZXIKKyAgICAgICAgY29ycmVjdGx5LCB0aGUgPGRpdj4gZWxl
bWVudCBuZWVkcyB0byBtb3ZlIHN1Y2ggdGhhdCBhbGwgaXRzIG91dHNldHMgYXJlCisgICAgICAg
IG5vdCB0cnVuY2F0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
czoKKwogMjAyMi0wMS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAg
ICAgQ1NTIEdyYWRpZW50czogaW50ZXJwb2xhdGlvbiBtb2RlIHNob3VsZCBkZWZhdWx0IHRvIE9L
TGFiIGlmIGFueSBub24tbGVnYWN5IGNvbG9yIHN5bnRheCBjb2xvcnMgYXJlIHVzZWQgaW4gdGhl
IHN0b3BzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZp
bHRlci1vdXRzZXRzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVm
ZXJlbmNlLWZpbHRlci1vdXRzZXRzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjc4ZDE4OGJi
MDg3NTQzN2IyYTIwOTQxYzA0MWE1NThmOWZmNmU2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9yZWZlcmVuY2UtZmlsdGVyLW91dHNldHMtZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDM1IEBACis8c3R5bGU+CisgICAgLmNvbnRhaW5lciB7CisgICAgICAgIHdp
ZHRoOiA5MHB4OworICAgICAgICBoZWlnaHQ6IDkwcHg7CisgICAgICAgIGRpc3BsYXk6IGlubGlu
ZS1ibG9jazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgICAgICAgIG1hcmdp
bjogMTBweDsKKyAgICB9CisgICAgLmJveCB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9Cis8L3N0eWxlPgorPGJvZHk+CisgICAg
PGRpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idHJhbnNmb3JtOiB0
cmFuc2xhdGUoLTEwcHgsIC0xMHB4KTsiPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBz
dHlsZT0idHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCwgMTBweCk7Ij48L2Rpdj4KKyAgICAgICAg
PC9kaXY+CisKKyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiBzdHlsZT0idHJhbnNmb3Jt
OiB0cmFuc2xhdGUoMzBweCwgLTEwcHgpOyI+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3gi
IHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgMTBweCk7Ij48L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29u
dGFpbmVyIiBzdHlsZT0idHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwcHgsIDMwcHgpOyI+CisgICAg
ICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4
LCAtMjBweCk7Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPGRpdiBjbGFzcz0i
Y29udGFpbmVyIiBzdHlsZT0idHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgMzBweCk7Ij4KKyAg
ICAgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9InRyYW5zZm9ybTogdHJhbnNsYXRlKC0y
MHB4LCAtMjBweCk7Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZpbHRlci1v
dXRzZXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZpbHRlci1v
dXRzZXRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTkxNTdmMzUxZDYzZTIyZjlkMzgzZGJhMjA5OGY0OGEz
OGUwYmI3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZWZl
cmVuY2UtZmlsdGVyLW91dHNldHMuaHRtbApAQCAtMCwwICsxLDYzIEBACis8c3R5bGU+CisgICAg
LmJveCB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBn
cmVlbjsKKyAgICAgICAgbWFyZ2luOiAxMHB4OworICAgIH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAg
ICA8ZGl2PgorICAgICAgICA8c3ZnIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTk5
OTk5OXB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICAgICAgICAgICAg
PGZpbHRlciBpZD0ic3ZnRHJvcFNoYWRvdzEiPgorICAgICAgICAgICAgICAgIDxmZU9mZnNldCBk
eD0iLTIwIiBkeT0iLTIwIiByZXN1bHQ9Im9mZnNldFNvdXJjZSIvPgorICAgICAgICAgICAgICAg
IDxmZUZsb29kIGZsb29kLWNvbG9yPSJibGFjayIvPgorICAgICAgICAgICAgICAgIDxmZUNvbXBv
c2l0ZSBpbjI9Im9mZnNldFNvdXJjZSIgb3BlcmF0b3I9ImluIi8+CisgICAgICAgICAgICAgICAg
PGZlTWVyZ2U+CisgICAgICAgICAgICAgICAgICAgIDxmZU1lcmdlTm9kZS8+CisgICAgICAgICAg
ICAgICAgICAgIDxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyIvPgorICAgICAgICAgICAg
ICAgIDwvZmVNZXJnZT4KKyAgICAgICAgICAgIDwvZmlsdGVyPgorICAgICAgICA8L3N2Zz4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0iZmlsdGVyOiB1cmwoI3N2Z0Ryb3BTaGFkb3cx
KTsiPjwvZGl2PgorICAgICAgICA8c3ZnIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
LTk5OTk5OXB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgorICAgICAgICAg
ICAgPGZpbHRlciBpZD0ic3ZnRHJvcFNoYWRvdzIiPgorICAgICAgICAgICAgICAgIDxmZU9mZnNl
dCBkeD0iMjAiIGR5PSItMjAiIHJlc3VsdD0ib2Zmc2V0U291cmNlIi8+CisgICAgICAgICAgICAg
ICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9ImJsYWNrIi8+CisgICAgICAgICAgICAgICAgPGZlQ29t
cG9zaXRlIGluMj0ib2Zmc2V0U291cmNlIiBvcGVyYXRvcj0iaW4iLz4KKyAgICAgICAgICAgICAg
ICA8ZmVNZXJnZT4KKyAgICAgICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlLz4KKyAgICAgICAg
ICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIi8+CisgICAgICAgICAg
ICAgICAgPC9mZU1lcmdlPgorICAgICAgICAgICAgPC9maWx0ZXI+CisgICAgICAgIDwvc3ZnPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJmaWx0ZXI6IHVybCgjc3ZnRHJvcFNoYWRv
dzIpOyI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAgPHN2ZyBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlOyB0b3A6IC05OTk5OTlweCIgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIj4KKyAgICAgICAgICAgIDxmaWx0ZXIgaWQ9InN2Z0Ryb3BTaGFkb3czIj4K
KyAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHg9Ii0yMCIgZHk9IjIwIiByZXN1bHQ9Im9mZnNl
dFNvdXJjZSIvPgorICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLWNvbG9yPSJibGFjayIv
PgorICAgICAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9Im9mZnNldFNvdXJjZSIgb3BlcmF0
b3I9ImluIi8+CisgICAgICAgICAgICAgICAgPGZlTWVyZ2U+CisgICAgICAgICAgICAgICAgICAg
IDxmZU1lcmdlTm9kZS8+CisgICAgICAgICAgICAgICAgICAgIDxmZU1lcmdlTm9kZSBpbj0iU291
cmNlR3JhcGhpYyIvPgorICAgICAgICAgICAgICAgIDwvZmVNZXJnZT4KKyAgICAgICAgICAgIDwv
ZmlsdGVyPgorICAgICAgICA8L3N2Zz4KKyAgICAgICAgPGRpdiBjbGFzcz0iYm94IiBzdHlsZT0i
ZmlsdGVyOiB1cmwoI3N2Z0Ryb3BTaGFkb3czKTsiPjwvZGl2PgorICAgICAgICA8c3ZnIHN0eWxl
PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTk5OTk5OXB4IiB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciPgorICAgICAgICAgICAgPGZpbHRlciBpZD0ic3ZnRHJvcFNoYWRvdzQi
PgorICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMjAiIGR5PSIyMCIgcmVzdWx0PSJvZmZz
ZXRTb3VyY2UiLz4KKyAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iYmxhY2si
Lz4KKyAgICAgICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRTb3VyY2UiIG9wZXJh
dG9yPSJpbiIvPgorICAgICAgICAgICAgICAgIDxmZU1lcmdlPgorICAgICAgICAgICAgICAgICAg
ICA8ZmVNZXJnZU5vZGUvPgorICAgICAgICAgICAgICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNv
dXJjZUdyYXBoaWMiLz4KKyAgICAgICAgICAgICAgICA8L2ZlTWVyZ2U+CisgICAgICAgICAgICA8
L2ZpbHRlcj4KKyAgICAgICAgPC9zdmc+CisgICAgICAgIDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9
ImZpbHRlcjogdXJsKCNzdmdEcm9wU2hhZG93NCk7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZWZlcmVuY2UtZmlsdGVy
LXNldC1maWx0ZXItcmVnaW9ucy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRlci1yZWdpb25zLWV4cGVjdGVkLmh0bWwKaW5k
ZXggZGY5NGZlNWNhZGUzNjFhY2VkNTNiZGU4NjUwNTBjZTdlMjczMWYwMy4uNGZhMjVhYjVjMTE0
MDhiY2ZlMDJhZjgwMmY4ZmU0YTg1MDE0MzE0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRlci1yZWdpb25zLWV4cGVjdGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0LWZp
bHRlci1yZWdpb25zLWV4cGVjdGVkLmh0bWwKQEAgLTEsOCArMSwxMSBAQAogPGhlYWQ+CiAgICAg
PHN0eWxlPgogICAgICAgICAuYm94IHsKLSAgICAgICAgICB3aWR0aDogMjAwcHg7Ci0gICAgICAg
ICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAg
ICAgbGVmdDogMjBweDsKKyAgICAgICAgICB0b3A6IDIwcHg7CisgICAgICAgICAgd2lkdGg6IDI0
MHB4OworICAgICAgICAgIGhlaWdodDogMjQwcHg7CiAgICAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47CiAgICAgICAgIH0KICAgICA8L3N0eWxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9maWx0ZXJzL3JlZmVyZW5jZS1maWx0ZXItc2V0LWZpbHRlci1yZWdpb25zLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZpbHRlci1zZXQtZmlsdGVyLXJl
Z2lvbnMuaHRtbAppbmRleCBjY2Q5N2IwZWJjMTQ0MzFlMjc4ZjM4NmE4MzE3ZTYzZmQ2NjJmMWE4
Li42MGMwZTE4ODg3YWQ0MGYzMTQwMmRlNzA4ZTZlMmI1MGVhNjA3ZDM2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZpbHRlci1zZXQtZmlsdGVyLXJlZ2lv
bnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVmZXJlbmNlLWZpbHRlci1z
ZXQtZmlsdGVyLXJlZ2lvbnMuaHRtbApAQCAtMSw2ICsxLDkgQEAKIDxoZWFkPgogICAgIDxzdHls
ZT4KICAgICAgICAgLmJveCB7CisgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICAgIGxlZnQ6IDQwcHg7CisgICAgICAgICAgdG9wOiA0MHB4OwogICAgICAgICAgIHdpZHRoOiAy
MDBweDsKICAgICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IHNpbHZlcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggNjYwNmU2NWFmNjg1YmE5NzllNjJkYThhYzMyMTk4NjA1NTEzM2E0Ni4uNzliNjhiNzY1ZDM4
YmUyZTVjNGFiZmJiOWE5YjcyY2M2NzMyZjVlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNyw2ICsxMjcsNyBAQCB3ZWJraXQub3JnL2IvNzQ3MTYg
Y3NzMy9maWx0ZXJzL2FuaW1hdGlvbi1mcm9tLWluaXRpYWwtdmFsdWVzLXdpdGgtY29sb3ItbWF0
cml4Lgogd2Via2l0Lm9yZy9iLzc0NzE2IGNzczMvZmlsdGVycy9maWx0ZXItaXMtb24tc3VicGl4
ZWwtcG9zaXRpb24uaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzc0NzE2IGNzczMvbWFza2lu
Zy9jbGlwLXBhdGgtZmlsdGVyLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi83NDcxNiBjc3Mz
L2ZpbHRlcnMvYmFja2Ryb3AgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi83NDcxNiBjc3MzL2ZpbHRl
cnMvcmVmZXJlbmNlLWZpbHRlci1zZXQtZmlsdGVyLXJlZ2lvbnMuaHRtbCBbIFNraXAgXQogCiAj
IHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0IGlzIG9ubHkgaW1wbGVtZW50ZWQgZm9yIENvY29hIHBv
cnRzLgogZmFzdC9oYXJuZXNzL3BsYXRmb3JtLWxheWVyLXRyZWUtYXMtdGV4dC5odG1sIFsgU2tp
cCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>