<?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>170520</bug_id>
          
          <creation_ts>2017-04-05 14:08:06 -0700</creation_ts>
          <short_desc>Simple line layout: Hittest always returns the first renderer in the block.</short_desc>
          <delta_ts>2017-04-06 13:03:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1294639</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-04-05 14:08:06 -0700</bug_when>
    <thetext>SSIA.

somewhat related: rdar://problem/30979175</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294656</commentid>
    <comment_count>1</comment_count>
      <attachid>306319</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-04-05 14:44:28 -0700</bug_when>
    <thetext>Created attachment 306319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294887</commentid>
    <comment_count>2</comment_count>
      <attachid>306319</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-04-06 08:23:07 -0700</bug_when>
    <thetext>Comment on attachment 306319
Patch

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

&gt; Source/WebCore/rendering/SimpleLineLayoutResolver.h:134
&gt; +        struct LineOverlap {
&gt; +            FloatRect rect;
&gt; +            const RenderObject&amp; renderer;
&gt; +        };

It would be good idea to add a FIXME here explaining how this is wrong (there can be multiple renderers per line).

&gt; Source/WebCore/rendering/SimpleLineLayoutResolver.h:142
&gt; -        const FloatRect operator*() const;
&gt; +        const LineOverlap operator*() const;

Maybe there could be a separate lineOverlap() function and keep the operator* as-is? Or do all clients need the renderer too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294918</commentid>
    <comment_count>3</comment_count>
      <attachid>306396</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-04-06 09:48:30 -0700</bug_when>
    <thetext>Created attachment 306396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294984</commentid>
    <comment_count>4</comment_count>
      <attachid>306396</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-06 12:02:16 -0700</bug_when>
    <thetext>Comment on attachment 306396
Patch

Rejecting attachment 306396 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 306396, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/3485805</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294989</commentid>
    <comment_count>5</comment_count>
      <attachid>306408</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-04-06 12:23:21 -0700</bug_when>
    <thetext>Created attachment 306408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294999</commentid>
    <comment_count>6</comment_count>
      <attachid>306408</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-06 13:03:58 -0700</bug_when>
    <thetext>Comment on attachment 306408
Patch

Clearing flags on attachment: 306408

Committed r215054: &lt;http://trac.webkit.org/changeset/215054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295000</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-06 13:03:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306319</attachid>
            <date>2017-04-05 14:44:28 -0700</date>
            <delta_ts>2017-04-06 09:48:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170520-20170405144427.patch</filename>
            <type>text/plain</type>
            <size>11562</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmY0OGY4ODk1MzBlODA4
NWM3ZGUzNzAyNDU1OWNhMzJlN2FlNDc5MC4uMTFlOTc0MGVlMjRmMjg4NWNjOWQ2OWY0ZGM2YmY3
Njk2YWM0NmQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTA0LTA1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBIaXR0ZXN0IGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCByZW5kZXJlciBpbiB0aGUgYmxvY2su
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA1MjAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwOTc5MTc1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgaW5jb3JyZWN0IG5vdyB3aXRoIDxi
cj4gc3VwcG9ydCAobXVsdGlwbGUgcmVuZGVyZXJzIHdpdGhpbiB0aGUgc2FtZSBibG9jayBmbG93
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50
L3NpbXBsZS1saW5lLWxheW91dC1oaXR0ZXN0LXdpdGgtY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50KTogUmVsYXRlZCBmaXguIFdlIGRvbid0
IHlldCBzdXBwb3J0IHBvc2l0aW9uRm9yUG9pbnQgd2l0aCBtdWx0aXBsZSByZW5kZXJlcy4gCisg
ICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkZsb3dDb250ZW50czo6c2VnbWVudEZvclJ1
bik6IEVtcHR5IHJ1bnMgYXJlIGFsbCB2YWxpZC4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpoaXRUZXN0Rmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0Ojpj
b2xsZWN0Rmxvd092ZXJmbG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkxpbmVS
ZXNvbHZlcjo6SXRlcmF0b3I6Om9wZXJhdG9yKik6IFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgcmV0
dXJuIGEgbGlzdCBvZiByZW5kZXJlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFJlc29sdmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5S
ZXNvbHZlcjo6Zmxvd0NvbnRlbnRzKToKKwogMjAxNy0wNC0wMSAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQSBjb3VwbGUgb2YgVUkgc3RyaW5ncyB1
c2UgdGhyZWUgcGVyaW9kcyBpbnN0ZWFkIG9mIGFuIGVsbGlwc2lzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggZWIyN2Y2NjUzYTYwMmYwY2MyZGM1ODA4Y2I2YTg4
NTVlMjUwMTQzMS4uMmM4OGFjNWQyMDg3YThkNDFmODA2N2NmMGE0MTgwNTk2NDcyMjliMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtNDQzLDggKzQ0Myw4IEBA
IFZlY3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHQ6OmFic29sdXRlUXVhZHNGb3JSYW5nZSh1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQgZW5kCiAKIFBvc2l0aW9uIFJlbmRlclRleHQ6OnBvc2l0aW9u
Rm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQogewotICAgIGlmIChhdXRvKiBsYXlv
dXQgPSBzaW1wbGVMaW5lTGF5b3V0KCkpIHsKLSAgICAgICAgYXV0byBwb3NpdGlvbiA9IFBvc2l0
aW9uKHRleHROb2RlKCksIFNpbXBsZUxpbmVMYXlvdXQ6OnRleHRPZmZzZXRGb3JQb2ludChwb2lu
dCwgKnRoaXMsICpsYXlvdXQpKTsKKyAgICBpZiAoc2ltcGxlTGluZUxheW91dCgpICYmIHBhcmVu
dCgpLT5maXJzdENoaWxkKCkgPT0gcGFyZW50KCktPmxhc3RDaGlsZCgpKSB7CisgICAgICAgIGF1
dG8gcG9zaXRpb24gPSBQb3NpdGlvbih0ZXh0Tm9kZSgpLCBTaW1wbGVMaW5lTGF5b3V0Ojp0ZXh0
T2Zmc2V0Rm9yUG9pbnQocG9pbnQsICp0aGlzLCAqc2ltcGxlTGluZUxheW91dCgpKSk7CiAgICAg
ICAgIEFTU0VSVChwb3NpdGlvbiA9PSBwb3NpdGlvbkZvclBvaW50KHBvaW50LCBudWxscHRyKS5k
ZWVwRXF1aXZhbGVudCgpKTsKICAgICAgICAgcmV0dXJuIHBvc2l0aW9uOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRl
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZsb3dDb250
ZW50cy5oCmluZGV4IGMxY2Y1YTAzZGMwOGJhMTY4ZTgzNzc2NWEzOTAzODI0MjAyODQ1ZDAuLjFh
N2Q2NTU4YTJlZjc4NGI1ZDUxZTA4MGY5ZTIyNjc5NGFhMjhlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaApA
QCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogCiBpbmxpbmUgY29uc3QgRmxvd0NvbnRlbnRzOjpT
ZWdtZW50JiBGbG93Q29udGVudHM6OnNlZ21lbnRGb3JSdW4odW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkIGVuZCkgY29uc3QKIHsKLSAgICBBU1NFUlQoc3RhcnQgPCBlbmQpOworICAgIEFTU0VSVChz
dGFydCA8PSBlbmQpOwogICAgIGF1dG8mIGxhc3RTZWdtZW50ID0gbV9zZWdtZW50c1ttX2xhc3RT
ZWdtZW50SW5kZXhdOwogICAgIGlmIChsYXN0U2VnbWVudC5zdGFydCA8PSBzdGFydCAmJiBlbmQg
PD0gbGFzdFNlZ21lbnQuZW5kKQogICAgICAgICByZXR1cm4gbV9zZWdtZW50c1ttX2xhc3RTZWdt
ZW50SW5kZXhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRGdW5jdGlvbnMuY3BwCmluZGV4IDUzMzVkZTZhYmQzNzNkMzgxYTZkOTRhZGFkZTdi
YTcxMTJhOTgyNDYuLjY3ZjJiZjJhOWFiYmQzYzFmZmFiMmY1OWI5ODM5MDAxMjcyYmEyYmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rp
b25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1
bmN0aW9ucy5jcHAKQEAgLTE0OCwxNSArMTQ4LDE2IEBAIGJvb2wgaGl0VGVzdEZsb3coY29uc3Qg
UmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBMYXlvdXQmIGxheW91dCwgY29uc3QgSGl0VGVz
CiAgICAgaWYgKHN0eWxlLnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8IHN0eWxlLnBvaW50ZXJF
dmVudHMoKSA9PSBQRV9OT05FKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBSZW5kZXJP
YmplY3QmIHJlbmRlcmVyID0gKmZsb3cuZmlyc3RDaGlsZCgpOwogICAgIExheW91dFJlY3QgcmFu
Z2VSZWN0ID0gbG9jYXRpb25JbkNvbnRhaW5lci5ib3VuZGluZ0JveCgpOwogICAgIHJhbmdlUmVj
dC5tb3ZlQnkoLWFjY3VtdWxhdGVkT2Zmc2V0KTsKIAogICAgIGF1dG8gcmVzb2x2ZXIgPSBsaW5l
UmVzb2x2ZXIoZmxvdywgbGF5b3V0KTsKLSAgICBmb3IgKEZsb2F0UmVjdCBsaW5lUmVjdCA6IHJl
c29sdmVyLnJhbmdlRm9yUmVjdChyYW5nZVJlY3QpKSB7CisgICAgZm9yIChhdXRvIGxpbmVPdmVy
bGFwIDogcmVzb2x2ZXIucmFuZ2VGb3JSZWN0KHJhbmdlUmVjdCkpIHsKKyAgICAgICAgYXV0byBs
aW5lUmVjdCA9IGxpbmVPdmVybGFwLnJlY3Q7CiAgICAgICAgIGxpbmVSZWN0Lm1vdmVCeShhY2N1
bXVsYXRlZE9mZnNldCk7CiAgICAgICAgIGlmICghbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNl
Y3RzKGxpbmVSZWN0KSkKICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBhdXRvJiByZW5k
ZXJlciA9IGNvbnN0X2Nhc3Q8UmVuZGVyT2JqZWN0Jj4obGluZU92ZXJsYXAucmVuZGVyZXIpOwog
ICAgICAgICByZW5kZXJlci51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgbG9jYXRpb25JbkNv
bnRhaW5lci5wb2ludCgpIC0gdG9MYXlvdXRTaXplKGFjY3VtdWxhdGVkT2Zmc2V0KSk7CiAgICAg
ICAgIGlmICghcmVzdWx0LmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQocmVuZGVyZXIubm9k
ZSgpLCByZXF1ZXN0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBsaW5lUmVjdCkpCiAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTE2Nyw5ICsxNjgsOSBAQCBib29sIGhpdFRlc3RGbG93KGNvbnN0
IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgY29uc3QgTGF5b3V0JiBsYXlvdXQsIGNvbnN0IEhpdFRl
cwogCiB2b2lkIGNvbGxlY3RGbG93T3ZlcmZsb3coUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25z
dCBMYXlvdXQmIGxheW91dCkKIHsKLSAgICBmb3IgKGF1dG8gbGluZVJlY3QgOiBsaW5lUmVzb2x2
ZXIoZmxvdywgbGF5b3V0KSkgewotICAgICAgICBMYXlvdXRSZWN0IHZpc3VhbE92ZXJmbG93UmVj
dCA9IExheW91dFJlY3QoY29tcHV0ZU92ZXJmbG93KGZsb3csIGxpbmVSZWN0KSk7Ci0gICAgICAg
IGZsb3cuYWRkTGF5b3V0T3ZlcmZsb3coTGF5b3V0UmVjdChsaW5lUmVjdCkpOworICAgIGZvciAo
YXV0byBsaW5lIDogbGluZVJlc29sdmVyKGZsb3csIGxheW91dCkpIHsKKyAgICAgICAgTGF5b3V0
UmVjdCB2aXN1YWxPdmVyZmxvd1JlY3QgPSBMYXlvdXRSZWN0KGNvbXB1dGVPdmVyZmxvdyhmbG93
LCBsaW5lLnJlY3QpKTsKKyAgICAgICAgZmxvdy5hZGRMYXlvdXRPdmVyZmxvdyhMYXlvdXRSZWN0
KGxpbmUucmVjdCkpOwogICAgICAgICBmbG93LmFkZFZpc3VhbE92ZXJmbG93KHZpc3VhbE92ZXJm
bG93UmVjdCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcAppbmRleCAyZWM1NWRiMTNiNjNjNzY5YWIyM2Q4
OTQ0Yjg5NTgyNTc1NTYyYTE3Li5lNDZjZGQ5ODNiZDE5ZTQxZTA3NWI4YTM0NDhlMGYxMGIwZGIz
NmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFJlc29sdmVyLmNwcApAQCAtMjcyLDE0ICsyNzIsMTUgQEAgTGluZVJlc29sdmVyOjpJdGVy
YXRvcjo6SXRlcmF0b3IoUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yIHJ1bkl0ZXJhdG9yKQogewogfQog
Ci1jb25zdCBGbG9hdFJlY3QgTGluZVJlc29sdmVyOjpJdGVyYXRvcjo6b3BlcmF0b3IqKCkgY29u
c3QKK2NvbnN0IExpbmVSZXNvbHZlcjo6SXRlcmF0b3I6OkxpbmVPdmVybGFwIExpbmVSZXNvbHZl
cjo6SXRlcmF0b3I6Om9wZXJhdG9yKigpIGNvbnN0CiB7CiAgICAgdW5zaWduZWQgY3VycmVudExp
bmUgPSBtX3J1bkl0ZXJhdG9yLmxpbmVJbmRleCgpOwogICAgIGF1dG8gaXQgPSBtX3J1bkl0ZXJh
dG9yOwogICAgIEZsb2F0UmVjdCByZWN0ID0gKCppdCkucmVjdCgpOwogICAgIHdoaWxlIChpdC5h
ZHZhbmNlKCkubGluZUluZGV4KCkgPT0gY3VycmVudExpbmUpCiAgICAgICAgIHJlY3QudW5pdGUo
KCppdCkucmVjdCgpKTsKLSAgICByZXR1cm4gcmVjdDsKKyAgICAvLyBGSVhNRTogVGhpcyB3b3Jr
cyBhcyBsb25nIGFzIHdlJ3ZlIGdvdCBvbmx5IG9uZSByZW5kZXJlciBwZXIgbGluZS4KKyAgICBy
ZXR1cm4geyByZWN0LCBtX3J1bkl0ZXJhdG9yLnJlc29sdmVyKCkuZmxvd0NvbnRlbnRzKCkuc2Vn
bWVudEZvclJ1bigoKm1fcnVuSXRlcmF0b3IpLnN0YXJ0KCksICgqbV9ydW5JdGVyYXRvcikuZW5k
KCkpLnJlbmRlcmVyIH07CiB9CiAKIExpbmVSZXNvbHZlcjo6TGluZVJlc29sdmVyKGNvbnN0IFJl
bmRlckJsb2NrRmxvdyYgZmxvdywgY29uc3QgTGF5b3V0JiBsYXlvdXQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKaW5kZXggMzA0
ZDYzNGE1MDgxMThlOWI5YWU5YWJjM2Q4MjNhOTU5ZjY1ZDNiNy4uNjg0NTY0Mzc3MjJiYjIwNmUw
ZjM1NDQ2NjcwMzJhYzNjYzU4ZGQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaApAQCAtOTgsNiArOTgsNyBAQCBwdWJsaWM6
CiAgICAgUnVuUmVzb2x2ZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiwgY29uc3QgTGF5b3V0Jik7
CiAKICAgICBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3coKSBjb25zdCB7IHJldHVybiBtX2Zs
b3dSZW5kZXJlcjsgfQorICAgIGNvbnN0IEZsb3dDb250ZW50cyYgZmxvd0NvbnRlbnRzKCkgY29u
c3QgeyByZXR1cm4gbV9mbG93Q29udGVudHM7IH0KICAgICBJdGVyYXRvciBiZWdpbigpIGNvbnN0
OwogICAgIEl0ZXJhdG9yIGVuZCgpIGNvbnN0OwogCkBAIC0xMjUsMjEgKzEyNiwyMyBAQCBwcml2
YXRlOgogCiBjbGFzcyBMaW5lUmVzb2x2ZXIgewogcHVibGljOgotICAgIGNsYXNzIEl0ZXJhdG9y
OwotCiAgICAgY2xhc3MgSXRlcmF0b3IgewogICAgIHB1YmxpYzoKKyAgICAgICAgc3RydWN0IExp
bmVPdmVybGFwIHsKKyAgICAgICAgICAgIEZsb2F0UmVjdCByZWN0OworICAgICAgICAgICAgY29u
c3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlcjsKKyAgICAgICAgfTsKKwogICAgICAgICBleHBsaWNp
dCBJdGVyYXRvcihSdW5SZXNvbHZlcjo6SXRlcmF0b3IpOwogCiAgICAgICAgIEl0ZXJhdG9yJiBv
cGVyYXRvcisrKCk7CiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBJdGVyYXRvciYpIGNv
bnN0OwogICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgSXRlcmF0b3ImKSBjb25zdDsKIAot
ICAgICAgICBjb25zdCBGbG9hdFJlY3Qgb3BlcmF0b3IqKCkgY29uc3Q7CisgICAgICAgIGNvbnN0
IExpbmVPdmVybGFwIG9wZXJhdG9yKigpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
UnVuUmVzb2x2ZXI6Okl0ZXJhdG9yIG1fcnVuSXRlcmF0b3I7Ci0gICAgICAgIExheW91dFJlY3Qg
bV9yZWN0OwogICAgIH07CiAKICAgICBMaW5lUmVzb2x2ZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93
JiwgY29uc3QgTGF5b3V0Jik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzdlYjgwZDQ0Mzg0MWU1MDYxY2M4ODdjNzM4OTIy
Y2QyM2JiN2RjMy4uOTY3MGZlMTgwMDhlODE0ODJjY2JkNzM4Y2I3YmVkMGI5ZjhhYWM0MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA0LTA1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0OiBIaXR0ZXN0IGFsd2F5cyByZXR1
cm5zIHRoZSBmaXJzdCByZW5kZXJlciBpbiB0aGUgYmxvY2suCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA1MjAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzMwOTc5MTc1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9zaW1wbGUtbGlu
ZS1sYXlvdXQtaGl0dGVzdC13aXRoLWNhcmV0LXJhbmdlLWZyb20tcG9pbnQtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2lu
dC9zaW1wbGUtbGluZS1sYXlvdXQtaGl0dGVzdC13aXRoLWNhcmV0LXJhbmdlLWZyb20tcG9pbnQu
aHRtbDogQWRkZWQuCisKIDIwMTctMDQtMDEgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBs
ZS5jb20+CiAKICAgICAgICAgUm9sbGluZyBiYWNrIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcjIx
NDY2MyAtIG1lbW9yeSBjb3JydXB0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3NpbXBsZS1saW5lLWxheW91dC1oaXR0ZXN0
LXdpdGgtY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9zaW1wbGUtbGluZS1sYXlvdXQt
aGl0dGVzdC13aXRoLWNhcmV0LXJhbmdlLWZyb20tcG9pbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYjJmMmI5MWZlNDc5OGI2ZDY0NDQzYzg2ZGUxOGQwNTk2YWYxYjUwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2lu
dC9zaW1wbGUtbGluZS1sYXlvdXQtaGl0dGVzdC13aXRoLWNhcmV0LXJhbmdlLWZyb20tcG9pbnQt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0cyB0aGF0IHNpbXBsZSBsaW5lIGxheW91dCBoaXR0ZXN0
IGZpbmRzIHRoZSBzYW1lIG9mZnNldCBhcyBub3JtYWwgbGluZSBsYXlvdXQgaGl0dGVzdC48L3Rp
dGxlPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwcHg7Cit9CisKK2RpdiB7IAorICAg
IGxpbmUtaGVpZ2h0OiAyMHB4OyAKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNpbXBsZUxpbmVMYXlvdXRFbmFi
bGVkKGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PmY8L2Rpdj4KKzxk
aXY+Zjxicj5mbzwvZGl2PgorPGRpdj5mPGJyPmZvPGJyPmZvbzwvZGl2PgorPGRpdj5mPGJyPmZv
PGJyPmZvbzxicj5mb29iPC9kaXY+Cis8ZGl2PmY8YnI+Zm88YnI+Zm9vPGJyPmZvb2I8YnI+Zm9v
YmE8L2Rpdj4KKzxkaXY+Zjxicj5mbzxicj5mb288YnI+Zm9vYjxicj5mb29iYTxicj5mb29iYXI8
L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaGl0dGVzdFJlc3VsdHMgPSAiIjsKK2hpdHRlc3RSZXN1bHRz
ICs9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoNSwgMTApLnN0YXJ0T2Zmc2V0OworaGl0
dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgxMCwgNTApLnN0YXJ0
T2Zmc2V0OworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgx
MiwgOTApLnN0YXJ0T2Zmc2V0OworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5n
ZUZyb21Qb2ludCgyMCwgMTkwKS5zdGFydE9mZnNldDsKK2hpdHRlc3RSZXN1bHRzICs9IGRvY3Vt
ZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMjUsIDI3MCkuc3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVz
dWx0cyArPSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDMwLCA0MTApLnN0YXJ0T2Zmc2V0
OworZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSBoaXR0ZXN0UmVzdWx0cworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVu
dC9DYXJldFJhbmdlRnJvbVBvaW50L3NpbXBsZS1saW5lLWxheW91dC1oaXR0ZXN0LXdpdGgtY2Fy
ZXQtcmFuZ2UtZnJvbS1wb2ludC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQv
Q2FyZXRSYW5nZUZyb21Qb2ludC9zaW1wbGUtbGluZS1sYXlvdXQtaGl0dGVzdC13aXRoLWNhcmV0
LXJhbmdlLWZyb20tcG9pbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YzYzMDg3MDg5NzJjMGNiNjQ2OWE4
M2MyMDY5ODI0NjUyNDY5ODE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9zaW1wbGUtbGluZS1sYXlvdXQtaGl0dGVz
dC13aXRoLWNhcmV0LXJhbmdlLWZyb20tcG9pbnQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0cyB0aGF0IHNpbXBs
ZSBsaW5lIGxheW91dCBoaXR0ZXN0IGZpbmRzIHRoZSBzYW1lIG9mZnNldCBhcyBub3JtYWwgbGlu
ZSBsYXlvdXQgaGl0dGVzdC48L3RpdGxlPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAw
cHg7Cit9CisKK2RpdiB7IAorICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyAKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+ZjwvZGl2PgorPGRpdj5mPGJyPmZvPC9kaXY+Cis8ZGl2PmY8
YnI+Zm88YnI+Zm9vPC9kaXY+Cis8ZGl2PmY8YnI+Zm88YnI+Zm9vPGJyPmZvb2I8L2Rpdj4KKzxk
aXY+Zjxicj5mbzxicj5mb288YnI+Zm9vYjxicj5mb29iYTwvZGl2PgorPGRpdj5mPGJyPmZvPGJy
PmZvbzxicj5mb29iPGJyPmZvb2JhPGJyPmZvb2JhcjwvZGl2PgorPHNjcmlwdD4KK3ZhciBoaXR0
ZXN0UmVzdWx0cyA9ICIiOworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZy
b21Qb2ludCg1LCAxMCkuc3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVzdWx0cyArPSBkb2N1bWVudC5j
YXJldFJhbmdlRnJvbVBvaW50KDEwLCA1MCkuc3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVzdWx0cyAr
PSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDEyLCA5MCkuc3RhcnRPZmZzZXQ7CitoaXR0
ZXN0UmVzdWx0cyArPSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDIwLCAxOTApLnN0YXJ0
T2Zmc2V0OworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgy
NSwgMjcwKS5zdGFydE9mZnNldDsKK2hpdHRlc3RSZXN1bHRzICs9IGRvY3VtZW50LmNhcmV0UmFu
Z2VGcm9tUG9pbnQoMzAsIDQxMCkuc3RhcnRPZmZzZXQ7Citkb2N1bWVudC5ib2R5LmlubmVyVGV4
dCA9IGhpdHRlc3RSZXN1bHRzCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306396</attachid>
            <date>2017-04-06 09:48:30 -0700</date>
            <delta_ts>2017-04-06 12:23:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170520-20170406094829.patch</filename>
            <type>text/plain</type>
            <size>11014</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmY0OGY4ODk1MzBlODA4
NWM3ZGUzNzAyNDU1OWNhMzJlN2FlNDc5MC4uYTU5MTFmNDhkYjczNzI4ODMwMjBhYzY2MWJjZGQ4
YWE1OTliY2RkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTA0LTA1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBIaXR0ZXN0IGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCByZW5kZXJlciBpbiB0aGUgYmxvY2su
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA1MjAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwOTc5MTc1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgaXMgaW5jb3JyZWN0IG5vdyB3aXRoIDxi
cj4gc3VwcG9ydCAobXVsdGlwbGUgcmVuZGVyZXJzIHdpdGhpbiB0aGUgc2FtZSBibG9jayBmbG93
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50
L3NpbXBsZS1saW5lLWxheW91dC1oaXR0ZXN0LXdpdGgtY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50KTogUmVsYXRlZCBmaXguIFdlIGRvbid0
IHlldCBzdXBwb3J0IHBvc2l0aW9uRm9yUG9pbnQgd2l0aCBtdWx0aXBsZSByZW5kZXJlcy4gCisg
ICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkZsb3dDb250ZW50czo6c2VnbWVudEZvclJ1
bik6IEVtcHR5IHJ1bnMgYXJlIGFsbCB2YWxpZC4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpoaXRUZXN0Rmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0Ojpj
b2xsZWN0Rmxvd092ZXJmbG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkxpbmVS
ZXNvbHZlcjo6SXRlcmF0b3I6Om9wZXJhdG9yKik6IFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgcmV0
dXJuIGEgbGlzdCBvZiByZW5kZXJlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFJlc29sdmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5S
ZXNvbHZlcjo6Zmxvd0NvbnRlbnRzKToKKwogMjAxNy0wNC0wMSAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQSBjb3VwbGUgb2YgVUkgc3RyaW5ncyB1
c2UgdGhyZWUgcGVyaW9kcyBpbnN0ZWFkIG9mIGFuIGVsbGlwc2lzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggZWIyN2Y2NjUzYTYwMmYwY2MyZGM1ODA4Y2I2YTg4
NTVlMjUwMTQzMS4uMmM4OGFjNWQyMDg3YThkNDFmODA2N2NmMGE0MTgwNTk2NDcyMjliMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtNDQzLDggKzQ0Myw4IEBA
IFZlY3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHQ6OmFic29sdXRlUXVhZHNGb3JSYW5nZSh1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQgZW5kCiAKIFBvc2l0aW9uIFJlbmRlclRleHQ6OnBvc2l0aW9u
Rm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQogewotICAgIGlmIChhdXRvKiBsYXlv
dXQgPSBzaW1wbGVMaW5lTGF5b3V0KCkpIHsKLSAgICAgICAgYXV0byBwb3NpdGlvbiA9IFBvc2l0
aW9uKHRleHROb2RlKCksIFNpbXBsZUxpbmVMYXlvdXQ6OnRleHRPZmZzZXRGb3JQb2ludChwb2lu
dCwgKnRoaXMsICpsYXlvdXQpKTsKKyAgICBpZiAoc2ltcGxlTGluZUxheW91dCgpICYmIHBhcmVu
dCgpLT5maXJzdENoaWxkKCkgPT0gcGFyZW50KCktPmxhc3RDaGlsZCgpKSB7CisgICAgICAgIGF1
dG8gcG9zaXRpb24gPSBQb3NpdGlvbih0ZXh0Tm9kZSgpLCBTaW1wbGVMaW5lTGF5b3V0Ojp0ZXh0
T2Zmc2V0Rm9yUG9pbnQocG9pbnQsICp0aGlzLCAqc2ltcGxlTGluZUxheW91dCgpKSk7CiAgICAg
ICAgIEFTU0VSVChwb3NpdGlvbiA9PSBwb3NpdGlvbkZvclBvaW50KHBvaW50LCBudWxscHRyKS5k
ZWVwRXF1aXZhbGVudCgpKTsKICAgICAgICAgcmV0dXJuIHBvc2l0aW9uOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRl
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZsb3dDb250
ZW50cy5oCmluZGV4IGMxY2Y1YTAzZGMwOGJhMTY4ZTgzNzc2NWEzOTAzODI0MjAyODQ1ZDAuLjFh
N2Q2NTU4YTJlZjc4NGI1ZDUxZTA4MGY5ZTIyNjc5NGFhMjhlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaApA
QCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogCiBpbmxpbmUgY29uc3QgRmxvd0NvbnRlbnRzOjpT
ZWdtZW50JiBGbG93Q29udGVudHM6OnNlZ21lbnRGb3JSdW4odW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkIGVuZCkgY29uc3QKIHsKLSAgICBBU1NFUlQoc3RhcnQgPCBlbmQpOworICAgIEFTU0VSVChz
dGFydCA8PSBlbmQpOwogICAgIGF1dG8mIGxhc3RTZWdtZW50ID0gbV9zZWdtZW50c1ttX2xhc3RT
ZWdtZW50SW5kZXhdOwogICAgIGlmIChsYXN0U2VnbWVudC5zdGFydCA8PSBzdGFydCAmJiBlbmQg
PD0gbGFzdFNlZ21lbnQuZW5kKQogICAgICAgICByZXR1cm4gbV9zZWdtZW50c1ttX2xhc3RTZWdt
ZW50SW5kZXhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRGdW5jdGlvbnMuY3BwCmluZGV4IDUzMzVkZTZhYmQzNzNkMzgxYTZkOTRhZGFkZTdi
YTcxMTJhOTgyNDYuLmUwOWUxY2Q1OGNjZjU1OWUzNmU1ZTJmY2RkNWI2MWVhZTcxMWU4ZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rp
b25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1
bmN0aW9ucy5jcHAKQEAgLTE0OCwyMCArMTQ4LDIwIEBAIGJvb2wgaGl0VGVzdEZsb3coY29uc3Qg
UmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBMYXlvdXQmIGxheW91dCwgY29uc3QgSGl0VGVz
CiAgICAgaWYgKHN0eWxlLnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8IHN0eWxlLnBvaW50ZXJF
dmVudHMoKSA9PSBQRV9OT05FKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBSZW5kZXJP
YmplY3QmIHJlbmRlcmVyID0gKmZsb3cuZmlyc3RDaGlsZCgpOwogICAgIExheW91dFJlY3QgcmFu
Z2VSZWN0ID0gbG9jYXRpb25JbkNvbnRhaW5lci5ib3VuZGluZ0JveCgpOwogICAgIHJhbmdlUmVj
dC5tb3ZlQnkoLWFjY3VtdWxhdGVkT2Zmc2V0KTsKLQogICAgIGF1dG8gcmVzb2x2ZXIgPSBsaW5l
UmVzb2x2ZXIoZmxvdywgbGF5b3V0KTsKLSAgICBmb3IgKEZsb2F0UmVjdCBsaW5lUmVjdCA6IHJl
c29sdmVyLnJhbmdlRm9yUmVjdChyYW5nZVJlY3QpKSB7CisgICAgYXV0byByYW5nZSA9IHJlc29s
dmVyLnJhbmdlRm9yUmVjdChyYW5nZVJlY3QpOworICAgIGZvciAoYXV0byBpdCA9IHJhbmdlLmJl
Z2luKCksIGVuZCA9IHJhbmdlLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgYXV0
byBsaW5lUmVjdCA9ICppdDsKICAgICAgICAgbGluZVJlY3QubW92ZUJ5KGFjY3VtdWxhdGVkT2Zm
c2V0KTsKICAgICAgICAgaWYgKCFsb2NhdGlvbkluQ29udGFpbmVyLmludGVyc2VjdHMobGluZVJl
Y3QpKQogICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGF1dG8mIHJlbmRlcmVyID0gY29u
c3RfY2FzdDxSZW5kZXJPYmplY3QmPihpdC5yZW5kZXJlcigpKTsKICAgICAgICAgcmVuZGVyZXIu
dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAt
IHRvTGF5b3V0U2l6ZShhY2N1bXVsYXRlZE9mZnNldCkpOwogICAgICAgICBpZiAoIXJlc3VsdC5h
ZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRlcmVyLm5vZGUoKSwgcmVxdWVzdCwgbG9j
YXRpb25JbkNvbnRhaW5lciwgbGluZVJlY3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQotCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCmluZGV4IDJlYzU1ZGIxM2I2
M2M3NjlhYjIzZDg5NDRiODk1ODI1NzU1NjJhMTcuLmYyZmJkOWFhMjMxODQ3NjA4OWE0MzgzMWQ3
N2VjMzEwNzljNTQxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1w
bGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBAIC0yNzIsNyArMjcyLDcgQEAgTGluZVJlc29s
dmVyOjpJdGVyYXRvcjo6SXRlcmF0b3IoUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yIHJ1bkl0ZXJhdG9y
KQogewogfQogCi1jb25zdCBGbG9hdFJlY3QgTGluZVJlc29sdmVyOjpJdGVyYXRvcjo6b3BlcmF0
b3IqKCkgY29uc3QKK0Zsb2F0UmVjdCBMaW5lUmVzb2x2ZXI6Okl0ZXJhdG9yOjpvcGVyYXRvcioo
KSBjb25zdAogewogICAgIHVuc2lnbmVkIGN1cnJlbnRMaW5lID0gbV9ydW5JdGVyYXRvci5saW5l
SW5kZXgoKTsKICAgICBhdXRvIGl0ID0gbV9ydW5JdGVyYXRvcjsKQEAgLTI4Miw2ICsyODIsMTMg
QEAgY29uc3QgRmxvYXRSZWN0IExpbmVSZXNvbHZlcjo6SXRlcmF0b3I6Om9wZXJhdG9yKigpIGNv
bnN0CiAgICAgcmV0dXJuIHJlY3Q7CiB9CiAKK2NvbnN0IFJlbmRlck9iamVjdCYgTGluZVJlc29s
dmVyOjpJdGVyYXRvcjo6cmVuZGVyZXIoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBUaGlzIHdv
cmtzIGFzIGxvbmcgYXMgd2UndmUgZ290IG9ubHkgb25lIHJlbmRlcmVyIHBlciBsaW5lLgorICAg
IGF1dG8gcnVuID0gKm1fcnVuSXRlcmF0b3I7CisgICAgcmV0dXJuIG1fcnVuSXRlcmF0b3IucmVz
b2x2ZXIoKS5mbG93Q29udGVudHMoKS5zZWdtZW50Rm9yUnVuKHJ1bi5zdGFydCgpLCBydW4uZW5k
KCkpLnJlbmRlcmVyOworfQorCiBMaW5lUmVzb2x2ZXI6OkxpbmVSZXNvbHZlcihjb25zdCBSZW5k
ZXJCbG9ja0Zsb3cmIGZsb3csIGNvbnN0IExheW91dCYgbGF5b3V0KQogICAgIDogbV9ydW5SZXNv
bHZlcihmbG93LCBsYXlvdXQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKaW5kZXggMzA0ZDYzNGE1MDgxMThlOWI5YWU5YWJj
M2Q4MjNhOTU5ZjY1ZDNiNy4uYjRjMmQzNzUyOGZjZmI3ODk3YWZhM2JiMDMwMzRlM2IxN2IyNjRj
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRS
ZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
UmVzb2x2ZXIuaApAQCAtOTgsNiArOTgsNyBAQCBwdWJsaWM6CiAgICAgUnVuUmVzb2x2ZXIoY29u
c3QgUmVuZGVyQmxvY2tGbG93JiwgY29uc3QgTGF5b3V0Jik7CiAKICAgICBjb25zdCBSZW5kZXJC
bG9ja0Zsb3cmIGZsb3coKSBjb25zdCB7IHJldHVybiBtX2Zsb3dSZW5kZXJlcjsgfQorICAgIGNv
bnN0IEZsb3dDb250ZW50cyYgZmxvd0NvbnRlbnRzKCkgY29uc3QgeyByZXR1cm4gbV9mbG93Q29u
dGVudHM7IH0KICAgICBJdGVyYXRvciBiZWdpbigpIGNvbnN0OwogICAgIEl0ZXJhdG9yIGVuZCgp
IGNvbnN0OwogCkBAIC0xMjUsOCArMTI2LDYgQEAgcHJpdmF0ZToKIAogY2xhc3MgTGluZVJlc29s
dmVyIHsKIHB1YmxpYzoKLSAgICBjbGFzcyBJdGVyYXRvcjsKLQogICAgIGNsYXNzIEl0ZXJhdG9y
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IEl0ZXJhdG9yKFJ1blJlc29sdmVyOjpJ
dGVyYXRvcik7CkBAIC0xMzUsMTEgKzEzNCwxMiBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBJdGVyYXRvciYpIGNvbnN0OwogICAgICAgICBib29sIG9wZXJhdG9yIT0o
Y29uc3QgSXRlcmF0b3ImKSBjb25zdDsKIAotICAgICAgICBjb25zdCBGbG9hdFJlY3Qgb3BlcmF0
b3IqKCkgY29uc3Q7CisgICAgICAgIEZsb2F0UmVjdCBvcGVyYXRvciooKSBjb25zdDsKKyAgICAg
ICAgLy8gRklYTUU6IFVzZSBhIGxpc3QgdG8gc3VwcG9ydCBtdWx0aXBsZSByZW5kZXJlcnMgcGVy
IGxpbmUuCisgICAgICAgIGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIoKSBjb25zdDsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIFJ1blJlc29sdmVyOjpJdGVyYXRvciBtX3J1bkl0ZXJhdG9y
OwotICAgICAgICBMYXlvdXRSZWN0IG1fcmVjdDsKICAgICB9OwogCiAgICAgTGluZVJlc29sdmVy
KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYsIGNvbnN0IExheW91dCYpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM3ZWI4MGQ0
NDM4NDFlNTA2MWNjODg3YzczODkyMmNkMjNiYjdkYzMuLjk2NzBmZTE4MDA4ZTgxNDgyY2NiZDcz
OGNiN2JlZDBiOWY4YWFjNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wNC0wNSAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFNpbXBsZSBsaW5lIGxheW91
dDogSGl0dGVzdCBhbHdheXMgcmV0dXJucyB0aGUgZmlyc3QgcmVuZGVyZXIgaW4gdGhlIGJsb2Nr
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNTIw
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDk3OTE3NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFu
Z2VGcm9tUG9pbnQvc2ltcGxlLWxpbmUtbGF5b3V0LWhpdHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1m
cm9tLXBvaW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RvY3Vt
ZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2ltcGxlLWxpbmUtbGF5b3V0LWhpdHRlc3Qtd2l0aC1j
YXJldC1yYW5nZS1mcm9tLXBvaW50Lmh0bWw6IEFkZGVkLgorCiAyMDE3LTA0LTAxICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJvbGxpbmcgYmFjayBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL3IyMTQ2NjMgLSBtZW1vcnkgY29ycnVwdGlvbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9zaW1w
bGUtbGluZS1sYXlvdXQtaGl0dGVzdC13aXRoLWNhcmV0LXJhbmdlLWZyb20tcG9pbnQtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9p
bnQvc2ltcGxlLWxpbmUtbGF5b3V0LWhpdHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1mcm9tLXBvaW50
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IyZjJiOTFmZTQ3OThiNmQ2NDQ0M2M4NmRlMThk
MDU5NmFmMWI1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3Vt
ZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2ltcGxlLWxpbmUtbGF5b3V0LWhpdHRlc3Qtd2l0aC1j
YXJldC1yYW5nZS1mcm9tLXBvaW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhhdCBzaW1w
bGUgbGluZSBsYXlvdXQgaGl0dGVzdCBmaW5kcyB0aGUgc2FtZSBvZmZzZXQgYXMgbm9ybWFsIGxp
bmUgbGF5b3V0IGhpdHRlc3QuPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjog
MHB4OworfQorCitkaXYgeyAKKyAgICBsaW5lLWhlaWdodDogMjBweDsgCit9Cis8L3N0eWxlPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRTaW1wbGVMaW5lTGF5b3V0RW5hYmxlZChmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj5mPC9kaXY+Cis8ZGl2PmY8YnI+Zm88L2Rpdj4KKzxkaXY+Zjxicj5mbzxicj5m
b288L2Rpdj4KKzxkaXY+Zjxicj5mbzxicj5mb288YnI+Zm9vYjwvZGl2PgorPGRpdj5mPGJyPmZv
PGJyPmZvbzxicj5mb29iPGJyPmZvb2JhPC9kaXY+Cis8ZGl2PmY8YnI+Zm88YnI+Zm9vPGJyPmZv
b2I8YnI+Zm9vYmE8YnI+Zm9vYmFyPC9kaXY+Cis8c2NyaXB0PgordmFyIGhpdHRlc3RSZXN1bHRz
ID0gIiI7CitoaXR0ZXN0UmVzdWx0cyArPSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDUs
IDEwKS5zdGFydE9mZnNldDsKK2hpdHRlc3RSZXN1bHRzICs9IGRvY3VtZW50LmNhcmV0UmFuZ2VG
cm9tUG9pbnQoMTAsIDUwKS5zdGFydE9mZnNldDsKK2hpdHRlc3RSZXN1bHRzICs9IGRvY3VtZW50
LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMTIsIDkwKS5zdGFydE9mZnNldDsKK2hpdHRlc3RSZXN1bHRz
ICs9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMjAsIDE5MCkuc3RhcnRPZmZzZXQ7Cito
aXR0ZXN0UmVzdWx0cyArPSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDI1LCAyNzApLnN0
YXJ0T2Zmc2V0OworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2lu
dCgzMCwgNDEwKS5zdGFydE9mZnNldDsKK2RvY3VtZW50LmJvZHkuaW5uZXJUZXh0ID0gaGl0dGVz
dFJlc3VsdHMKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9zaW1wbGUtbGluZS1s
YXlvdXQtaGl0dGVzdC13aXRoLWNhcmV0LXJhbmdlLWZyb20tcG9pbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2ltcGxlLWxpbmUtbGF5
b3V0LWhpdHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1mcm9tLXBvaW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWM2MzA4NzA4OTcyYzBjYjY0NjlhODNjMjA2OTgyNDY1MjQ2OTgxNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2lt
cGxlLWxpbmUtbGF5b3V0LWhpdHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1mcm9tLXBvaW50Lmh0bWwK
QEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxl
PlRoaXMgdGVzdHMgdGhhdCBzaW1wbGUgbGluZSBsYXlvdXQgaGl0dGVzdCBmaW5kcyB0aGUgc2Ft
ZSBvZmZzZXQgYXMgbm9ybWFsIGxpbmUgbGF5b3V0IGhpdHRlc3QuPC90aXRsZT4KKzxzdHlsZT4K
K2JvZHkgeworICAgIG1hcmdpbjogMHB4OworfQorCitkaXYgeyAKKyAgICBsaW5lLWhlaWdodDog
MjBweDsgCit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PmY8L2Rpdj4KKzxkaXY+
Zjxicj5mbzwvZGl2PgorPGRpdj5mPGJyPmZvPGJyPmZvbzwvZGl2PgorPGRpdj5mPGJyPmZvPGJy
PmZvbzxicj5mb29iPC9kaXY+Cis8ZGl2PmY8YnI+Zm88YnI+Zm9vPGJyPmZvb2I8YnI+Zm9vYmE8
L2Rpdj4KKzxkaXY+Zjxicj5mbzxicj5mb288YnI+Zm9vYjxicj5mb29iYTxicj5mb29iYXI8L2Rp
dj4KKzxzY3JpcHQ+Cit2YXIgaGl0dGVzdFJlc3VsdHMgPSAiIjsKK2hpdHRlc3RSZXN1bHRzICs9
IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoNSwgMTApLnN0YXJ0T2Zmc2V0OworaGl0dGVz
dFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgxMCwgNTApLnN0YXJ0T2Zm
c2V0OworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgxMiwg
OTApLnN0YXJ0T2Zmc2V0OworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZy
b21Qb2ludCgyMCwgMTkwKS5zdGFydE9mZnNldDsKK2hpdHRlc3RSZXN1bHRzICs9IGRvY3VtZW50
LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMjUsIDI3MCkuc3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVzdWx0
cyArPSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDMwLCA0MTApLnN0YXJ0T2Zmc2V0Owor
ZG9jdW1lbnQuYm9keS5pbm5lclRleHQgPSBoaXR0ZXN0UmVzdWx0cworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306408</attachid>
            <date>2017-04-06 12:23:21 -0700</date>
            <delta_ts>2017-04-06 13:03:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170520-20170406122326.patch</filename>
            <type>text/plain</type>
            <size>10952</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE0N2I5NGE1YTllOGUx
YWU1NTllOGQ3M2RjODUzYzMyOWFkOTIxMC4uZmY4YmVlYWFhYjYwNzM5OTcwNDEzNTAzNGI2YTlm
ZWFlM2FhN2FjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTA0LTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBIaXR0ZXN0IGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCByZW5kZXJlciBpbiB0aGUgYmxvY2su
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA1MjAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwOTc5MTc1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIFRoaXMgaXMgaW5jb3JyZWN0IG5vdyB3aXRoIDxi
cj4gc3VwcG9ydCAobXVsdGlwbGUgcmVuZGVyZXJzIHdpdGhpbiB0aGUgc2FtZSBibG9jayBmbG93
KS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50
L3NpbXBsZS1saW5lLWxheW91dC1oaXR0ZXN0LXdpdGgtY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvclBvaW50KTogUmVsYXRlZCBmaXguIFdlIGRvbid0
IHlldCBzdXBwb3J0IHBvc2l0aW9uRm9yUG9pbnQgd2l0aCBtdWx0aXBsZSByZW5kZXJlcy4gCisg
ICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkZsb3dDb250ZW50czo6c2VnbWVudEZvclJ1
bik6IEVtcHR5IHJ1bnMgYXJlIGFsbCB2YWxpZC4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dEZ1bmN0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpoaXRUZXN0Rmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0Ojpj
b2xsZWN0Rmxvd092ZXJmbG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkxpbmVS
ZXNvbHZlcjo6SXRlcmF0b3I6Om9wZXJhdG9yKik6IFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgcmV0
dXJuIGEgbGlzdCBvZiByZW5kZXJlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFJlc29sdmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5S
ZXNvbHZlcjo6Zmxvd0NvbnRlbnRzKToKKwogMjAxNy0wMy0zMSAgSmlld2VuIFRhbiAgPGppZXdl
bl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJDcnlwdG9dIEFkZCBzdXBwb3J0IGZvciBB
RVMtQ1RSCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggZWIyN2Y2
NjUzYTYwMmYwY2MyZGM1ODA4Y2I2YTg4NTVlMjUwMTQzMS4uMmM4OGFjNWQyMDg3YThkNDFmODA2
N2NmMGE0MTgwNTk2NDcyMjliMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
LmNwcApAQCAtNDQzLDggKzQ0Myw4IEBAIFZlY3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHQ6OmFi
c29sdXRlUXVhZHNGb3JSYW5nZSh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kCiAKIFBvc2l0
aW9uIFJlbmRlclRleHQ6OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50
KQogewotICAgIGlmIChhdXRvKiBsYXlvdXQgPSBzaW1wbGVMaW5lTGF5b3V0KCkpIHsKLSAgICAg
ICAgYXV0byBwb3NpdGlvbiA9IFBvc2l0aW9uKHRleHROb2RlKCksIFNpbXBsZUxpbmVMYXlvdXQ6
OnRleHRPZmZzZXRGb3JQb2ludChwb2ludCwgKnRoaXMsICpsYXlvdXQpKTsKKyAgICBpZiAoc2lt
cGxlTGluZUxheW91dCgpICYmIHBhcmVudCgpLT5maXJzdENoaWxkKCkgPT0gcGFyZW50KCktPmxh
c3RDaGlsZCgpKSB7CisgICAgICAgIGF1dG8gcG9zaXRpb24gPSBQb3NpdGlvbih0ZXh0Tm9kZSgp
LCBTaW1wbGVMaW5lTGF5b3V0Ojp0ZXh0T2Zmc2V0Rm9yUG9pbnQocG9pbnQsICp0aGlzLCAqc2lt
cGxlTGluZUxheW91dCgpKSk7CiAgICAgICAgIEFTU0VSVChwb3NpdGlvbiA9PSBwb3NpdGlvbkZv
clBvaW50KHBvaW50LCBudWxscHRyKS5kZWVwRXF1aXZhbGVudCgpKTsKICAgICAgICAgcmV0dXJu
IHBvc2l0aW9uOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5oCmluZGV4IGMxY2Y1YTAzZGMwOGJhMTY4ZTgz
Nzc2NWEzOTAzODI0MjAyODQ1ZDAuLjFhN2Q2NTU4YTJlZjc4NGI1ZDUxZTA4MGY5ZTIyNjc5NGFh
MjhlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0Rmxvd0NvbnRlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRGbG93Q29udGVudHMuaApAQCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogCiBpbmxp
bmUgY29uc3QgRmxvd0NvbnRlbnRzOjpTZWdtZW50JiBGbG93Q29udGVudHM6OnNlZ21lbnRGb3JS
dW4odW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkgY29uc3QKIHsKLSAgICBBU1NFUlQoc3Rh
cnQgPCBlbmQpOworICAgIEFTU0VSVChzdGFydCA8PSBlbmQpOwogICAgIGF1dG8mIGxhc3RTZWdt
ZW50ID0gbV9zZWdtZW50c1ttX2xhc3RTZWdtZW50SW5kZXhdOwogICAgIGlmIChsYXN0U2VnbWVu
dC5zdGFydCA8PSBzdGFydCAmJiBlbmQgPD0gbGFzdFNlZ21lbnQuZW5kKQogICAgICAgICByZXR1
cm4gbV9zZWdtZW50c1ttX2xhc3RTZWdtZW50SW5kZXhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwCmluZGV4IDUzMzVk
ZTZhYmQzNzNkMzgxYTZkOTRhZGFkZTdiYTcxMTJhOTgyNDYuLmUwOWUxY2Q1OGNjZjU1OWUzNmU1
ZTJmY2RkNWI2MWVhZTcxMWU4ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHAKQEAgLTE0OCwyMCArMTQ4LDIwIEBA
IGJvb2wgaGl0VGVzdEZsb3coY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBjb25zdCBMYXlv
dXQmIGxheW91dCwgY29uc3QgSGl0VGVzCiAgICAgaWYgKHN0eWxlLnZpc2liaWxpdHkoKSAhPSBW
SVNJQkxFIHx8IHN0eWxlLnBvaW50ZXJFdmVudHMoKSA9PSBQRV9OT05FKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBSZW5kZXJPYmplY3QmIHJlbmRlcmVyID0gKmZsb3cuZmlyc3RDaGls
ZCgpOwogICAgIExheW91dFJlY3QgcmFuZ2VSZWN0ID0gbG9jYXRpb25JbkNvbnRhaW5lci5ib3Vu
ZGluZ0JveCgpOwogICAgIHJhbmdlUmVjdC5tb3ZlQnkoLWFjY3VtdWxhdGVkT2Zmc2V0KTsKLQog
ICAgIGF1dG8gcmVzb2x2ZXIgPSBsaW5lUmVzb2x2ZXIoZmxvdywgbGF5b3V0KTsKLSAgICBmb3Ig
KEZsb2F0UmVjdCBsaW5lUmVjdCA6IHJlc29sdmVyLnJhbmdlRm9yUmVjdChyYW5nZVJlY3QpKSB7
CisgICAgYXV0byByYW5nZSA9IHJlc29sdmVyLnJhbmdlRm9yUmVjdChyYW5nZVJlY3QpOworICAg
IGZvciAoYXV0byBpdCA9IHJhbmdlLmJlZ2luKCksIGVuZCA9IHJhbmdlLmVuZCgpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKKyAgICAgICAgYXV0byBsaW5lUmVjdCA9ICppdDsKICAgICAgICAgbGluZVJl
Y3QubW92ZUJ5KGFjY3VtdWxhdGVkT2Zmc2V0KTsKICAgICAgICAgaWYgKCFsb2NhdGlvbkluQ29u
dGFpbmVyLmludGVyc2VjdHMobGluZVJlY3QpKQogICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIGF1dG8mIHJlbmRlcmVyID0gY29uc3RfY2FzdDxSZW5kZXJPYmplY3QmPihpdC5yZW5kZXJl
cigpKTsKICAgICAgICAgcmVuZGVyZXIudXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGxvY2F0
aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRvTGF5b3V0U2l6ZShhY2N1bXVsYXRlZE9mZnNldCkp
OwogICAgICAgICBpZiAoIXJlc3VsdC5hZGROb2RlVG9SZWN0QmFzZWRUZXN0UmVzdWx0KHJlbmRl
cmVyLm5vZGUoKSwgcmVxdWVzdCwgbG9jYXRpb25JbkNvbnRhaW5lciwgbGluZVJlY3QpKQogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2
ZXIuY3BwCmluZGV4IDJlYzU1ZGIxM2I2M2M3NjlhYjIzZDg5NDRiODk1ODI1NzU1NjJhMTcuLmYy
ZmJkOWFhMjMxODQ3NjA4OWE0MzgzMWQ3N2VjMzEwNzljNTQxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBAIC0y
NzIsNyArMjcyLDcgQEAgTGluZVJlc29sdmVyOjpJdGVyYXRvcjo6SXRlcmF0b3IoUnVuUmVzb2x2
ZXI6Okl0ZXJhdG9yIHJ1bkl0ZXJhdG9yKQogewogfQogCi1jb25zdCBGbG9hdFJlY3QgTGluZVJl
c29sdmVyOjpJdGVyYXRvcjo6b3BlcmF0b3IqKCkgY29uc3QKK0Zsb2F0UmVjdCBMaW5lUmVzb2x2
ZXI6Okl0ZXJhdG9yOjpvcGVyYXRvciooKSBjb25zdAogewogICAgIHVuc2lnbmVkIGN1cnJlbnRM
aW5lID0gbV9ydW5JdGVyYXRvci5saW5lSW5kZXgoKTsKICAgICBhdXRvIGl0ID0gbV9ydW5JdGVy
YXRvcjsKQEAgLTI4Miw2ICsyODIsMTMgQEAgY29uc3QgRmxvYXRSZWN0IExpbmVSZXNvbHZlcjo6
SXRlcmF0b3I6Om9wZXJhdG9yKigpIGNvbnN0CiAgICAgcmV0dXJuIHJlY3Q7CiB9CiAKK2NvbnN0
IFJlbmRlck9iamVjdCYgTGluZVJlc29sdmVyOjpJdGVyYXRvcjo6cmVuZGVyZXIoKSBjb25zdAor
eworICAgIC8vIEZJWE1FOiBUaGlzIHdvcmtzIGFzIGxvbmcgYXMgd2UndmUgZ290IG9ubHkgb25l
IHJlbmRlcmVyIHBlciBsaW5lLgorICAgIGF1dG8gcnVuID0gKm1fcnVuSXRlcmF0b3I7CisgICAg
cmV0dXJuIG1fcnVuSXRlcmF0b3IucmVzb2x2ZXIoKS5mbG93Q29udGVudHMoKS5zZWdtZW50Rm9y
UnVuKHJ1bi5zdGFydCgpLCBydW4uZW5kKCkpLnJlbmRlcmVyOworfQorCiBMaW5lUmVzb2x2ZXI6
OkxpbmVSZXNvbHZlcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIGNvbnN0IExheW91dCYg
bGF5b3V0KQogICAgIDogbV9ydW5SZXNvbHZlcihmbG93LCBsYXlvdXQpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKaW5kZXgg
MzA0ZDYzNGE1MDgxMThlOWI5YWU5YWJjM2Q4MjNhOTU5ZjY1ZDNiNy4uYjRjMmQzNzUyOGZjZmI3
ODk3YWZhM2JiMDMwMzRlM2IxN2IyNjRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaApAQCAtOTgsNiArOTgsNyBAQCBwdWJs
aWM6CiAgICAgUnVuUmVzb2x2ZXIoY29uc3QgUmVuZGVyQmxvY2tGbG93JiwgY29uc3QgTGF5b3V0
Jik7CiAKICAgICBjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3coKSBjb25zdCB7IHJldHVybiBt
X2Zsb3dSZW5kZXJlcjsgfQorICAgIGNvbnN0IEZsb3dDb250ZW50cyYgZmxvd0NvbnRlbnRzKCkg
Y29uc3QgeyByZXR1cm4gbV9mbG93Q29udGVudHM7IH0KICAgICBJdGVyYXRvciBiZWdpbigpIGNv
bnN0OwogICAgIEl0ZXJhdG9yIGVuZCgpIGNvbnN0OwogCkBAIC0xMjUsOCArMTI2LDYgQEAgcHJp
dmF0ZToKIAogY2xhc3MgTGluZVJlc29sdmVyIHsKIHB1YmxpYzoKLSAgICBjbGFzcyBJdGVyYXRv
cjsKLQogICAgIGNsYXNzIEl0ZXJhdG9yIHsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0
IEl0ZXJhdG9yKFJ1blJlc29sdmVyOjpJdGVyYXRvcik7CkBAIC0xMzUsMTEgKzEzNCwxMiBAQCBw
dWJsaWM6CiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBJdGVyYXRvciYpIGNvbnN0Owog
ICAgICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgSXRlcmF0b3ImKSBjb25zdDsKIAotICAgICAg
ICBjb25zdCBGbG9hdFJlY3Qgb3BlcmF0b3IqKCkgY29uc3Q7CisgICAgICAgIEZsb2F0UmVjdCBv
cGVyYXRvciooKSBjb25zdDsKKyAgICAgICAgLy8gRklYTUU6IFVzZSBhIGxpc3QgdG8gc3VwcG9y
dCBtdWx0aXBsZSByZW5kZXJlcnMgcGVyIGxpbmUuCisgICAgICAgIGNvbnN0IFJlbmRlck9iamVj
dCYgcmVuZGVyZXIoKSBjb25zdDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFJ1blJlc29sdmVy
OjpJdGVyYXRvciBtX3J1bkl0ZXJhdG9yOwotICAgICAgICBMYXlvdXRSZWN0IG1fcmVjdDsKICAg
ICB9OwogCiAgICAgTGluZVJlc29sdmVyKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYsIGNvbnN0IExh
eW91dCYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDE0NmQwZjliZmM4ZjBlZTEyNGZlYjRlNDM0N2RiYmRlOTliNmQ1MzEu
Ljc2OWMwMTg3OTQwMjY2ZmM0YTg3MDFiYTZjZWY1OTM5MjdlZDY1MzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxNy0wNC0wNiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFNpbXBsZSBsaW5lIGxheW91dDogSGl0dGVzdCBhbHdheXMgcmV0dXJucyB0aGUgZmly
c3QgcmVuZGVyZXIgaW4gdGhlIGJsb2NrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcwNTIwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDk3OTE3
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICAqIGZh
c3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2ltcGxlLWxpbmUtbGF5b3V0LWhp
dHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1mcm9tLXBvaW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2ltcGxlLWxp
bmUtbGF5b3V0LWhpdHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1mcm9tLXBvaW50Lmh0bWw6IEFkZGVk
LgorCiAyMDE3LTAzLTMxICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dlYkNyeXB0b10gQWRkIHN1cHBvcnQgZm9yIEFFUy1DVFIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2ltcGxlLWxp
bmUtbGF5b3V0LWhpdHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1mcm9tLXBvaW50LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3Np
bXBsZS1saW5lLWxheW91dC1oaXR0ZXN0LXdpdGgtY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiMmYyYjkxZmU0Nzk4YjZkNjQ0NDNjODZkZTE4ZDA1OTZh
ZjFiNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9D
YXJldFJhbmdlRnJvbVBvaW50L3NpbXBsZS1saW5lLWxheW91dC1oaXR0ZXN0LXdpdGgtY2FyZXQt
cmFuZ2UtZnJvbS1wb2ludC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3RzIHRoYXQgc2ltcGxlIGxp
bmUgbGF5b3V0IGhpdHRlc3QgZmluZHMgdGhlIHNhbWUgb2Zmc2V0IGFzIG5vcm1hbCBsaW5lIGxh
eW91dCBoaXR0ZXN0LjwvdGl0bGU+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDBweDsK
K30KKworZGl2IHsgCisgICAgbGluZS1oZWlnaHQ6IDIwcHg7IAorfQorPC9zdHlsZT4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2lt
cGxlTGluZUxheW91dEVuYWJsZWQoZmFsc2UpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+ZjwvZGl2PgorPGRpdj5mPGJyPmZvPC9kaXY+Cis8ZGl2PmY8YnI+Zm88YnI+Zm9vPC9k
aXY+Cis8ZGl2PmY8YnI+Zm88YnI+Zm9vPGJyPmZvb2I8L2Rpdj4KKzxkaXY+Zjxicj5mbzxicj5m
b288YnI+Zm9vYjxicj5mb29iYTwvZGl2PgorPGRpdj5mPGJyPmZvPGJyPmZvbzxicj5mb29iPGJy
PmZvb2JhPGJyPmZvb2JhcjwvZGl2PgorPHNjcmlwdD4KK3ZhciBoaXR0ZXN0UmVzdWx0cyA9ICIi
OworaGl0dGVzdFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCg1LCAxMCku
c3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVzdWx0cyArPSBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBv
aW50KDEwLCA1MCkuc3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVzdWx0cyArPSBkb2N1bWVudC5jYXJl
dFJhbmdlRnJvbVBvaW50KDEyLCA5MCkuc3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVzdWx0cyArPSBk
b2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDIwLCAxOTApLnN0YXJ0T2Zmc2V0OworaGl0dGVz
dFJlc3VsdHMgKz0gZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgyNSwgMjcwKS5zdGFydE9m
ZnNldDsKK2hpdHRlc3RSZXN1bHRzICs9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMzAs
IDQxMCkuc3RhcnRPZmZzZXQ7Citkb2N1bWVudC5ib2R5LmlubmVyVGV4dCA9IGhpdHRlc3RSZXN1
bHRzCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvc2ltcGxlLWxpbmUtbGF5b3V0
LWhpdHRlc3Qtd2l0aC1jYXJldC1yYW5nZS1mcm9tLXBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3NpbXBsZS1saW5lLWxheW91dC1o
aXR0ZXN0LXdpdGgtY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjNjMw
ODcwODk3MmMwY2I2NDY5YTgzYzIwNjk4MjQ2NTI0Njk4MTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3NpbXBsZS1s
aW5lLWxheW91dC1oaXR0ZXN0LXdpdGgtY2FyZXQtcmFuZ2UtZnJvbS1wb2ludC5odG1sCkBAIC0w
LDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlz
IHRlc3RzIHRoYXQgc2ltcGxlIGxpbmUgbGF5b3V0IGhpdHRlc3QgZmluZHMgdGhlIHNhbWUgb2Zm
c2V0IGFzIG5vcm1hbCBsaW5lIGxheW91dCBoaXR0ZXN0LjwvdGl0bGU+Cis8c3R5bGU+Citib2R5
IHsKKyAgICBtYXJnaW46IDBweDsKK30KKworZGl2IHsgCisgICAgbGluZS1oZWlnaHQ6IDIwcHg7
IAorfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5mPC9kaXY+Cis8ZGl2PmY8YnI+
Zm88L2Rpdj4KKzxkaXY+Zjxicj5mbzxicj5mb288L2Rpdj4KKzxkaXY+Zjxicj5mbzxicj5mb288
YnI+Zm9vYjwvZGl2PgorPGRpdj5mPGJyPmZvPGJyPmZvbzxicj5mb29iPGJyPmZvb2JhPC9kaXY+
Cis8ZGl2PmY8YnI+Zm88YnI+Zm9vPGJyPmZvb2I8YnI+Zm9vYmE8YnI+Zm9vYmFyPC9kaXY+Cis8
c2NyaXB0PgordmFyIGhpdHRlc3RSZXN1bHRzID0gIiI7CitoaXR0ZXN0UmVzdWx0cyArPSBkb2N1
bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KDUsIDEwKS5zdGFydE9mZnNldDsKK2hpdHRlc3RSZXN1
bHRzICs9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMTAsIDUwKS5zdGFydE9mZnNldDsK
K2hpdHRlc3RSZXN1bHRzICs9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoMTIsIDkwKS5z
dGFydE9mZnNldDsKK2hpdHRlc3RSZXN1bHRzICs9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9p
bnQoMjAsIDE5MCkuc3RhcnRPZmZzZXQ7CitoaXR0ZXN0UmVzdWx0cyArPSBkb2N1bWVudC5jYXJl
dFJhbmdlRnJvbVBvaW50KDI1LCAyNzApLnN0YXJ0T2Zmc2V0OworaGl0dGVzdFJlc3VsdHMgKz0g
ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgzMCwgNDEwKS5zdGFydE9mZnNldDsKK2RvY3Vt
ZW50LmJvZHkuaW5uZXJUZXh0ID0gaGl0dGVzdFJlc3VsdHMKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>