<?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>177490</bug_id>
          
          <creation_ts>2017-09-26 10:42:52 -0700</creation_ts>
          <short_desc>Cleanup: Consolidate non-selection background painting code for text</short_desc>
          <delta_ts>2017-09-27 12:15:54 -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 Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>175784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>hyatt</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>1352731</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-09-26 10:42:52 -0700</bug_when>
    <thetext>Cleanup: Consolidate non-selection background painting code for text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352733</commentid>
    <comment_count>1</comment_count>
      <attachid>321840</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-09-26 10:44:17 -0700</bug_when>
    <thetext>Created attachment 321840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352757</commentid>
    <comment_count>2</comment_count>
      <attachid>321840</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-09-26 11:12:54 -0700</bug_when>
    <thetext>Comment on attachment 321840
Patch

Clearing flags on attachment: 321840

Committed r222507: &lt;http://trac.webkit.org/changeset/222507&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352758</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-09-26 11:12:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353241</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:15:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/34692892&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321840</attachid>
            <date>2017-09-26 10:44:17 -0700</date>
            <delta_ts>2017-09-26 11:12:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177490-20170926104416.patch</filename>
            <type>text/plain</type>
            <size>13553</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTUxZTgyNmE3YTIzMmVm
NjJmNTNiZmYzNTQwNDg3NWM4YWUzZWYwZC4uODRiYTY3NjFlMmMzMzk3YjgxMzE5ZmMxODc0MjY4
ZDI0YWYwMTAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTA5LTI2ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbnVwOiBDb25zb2xp
ZGF0ZSBub24tc2VsZWN0aW9uIGJhY2tncm91bmQgcGFpbnRpbmcgY29kZSBmb3IgdGV4dAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NDkwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hhcmUgY29kZSB0
byBwYWludCB0aGUgYmFja2dyb3VuZCBvZiBhIHRleHQgc3VicmFuZ2UgaW5zdGVhZCBvZiBkdXBs
aWNhdGluZworICAgICAgICBpdCBmb3IgdGV4dCBtYXRjaCBtYXJrZXJzIGFuZCBjb21wb3NpdGlv
biB1bmRlcmxpbmVzLgorCisgICAgICAgIEFkZGl0aW9uYWxseSBzdGFuZGFyZGl6ZSB0aGUgYXJn
dW1lbnQgb3JkZXIgZm9yIHZhcmlvdXMgcGFpbnQgZnVuY3Rpb25zIGFuZAorICAgICAgICBtYWtl
IG1vcmUgcGFpbnQgZnVuY3Rpb25zIHByaXZhdGUuCisKKyAgICAgICAgTm8gZnVuY3Rpb25hbGl0
eSBjaGFuZ2VkLiBTbywgbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOiBV
cGRhdGVkIGNvZGUgYXMgbmVlZGVkIGZvciBjaGFuZ2VzIGJlbG93LgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24pOiBBZGQgRklYTUUgY29tbWVudCB0byBm
aXggdXAgdGhpcyBjb2RlIGZvcgorICAgICAgICBjb21iaW5lZCB0ZXh0IHdoaWxlIEkgYW0gaW4g
dGhpcyBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRUZXh0U3Vi
cmFuZ2VCYWNrZ3JvdW5kKTogQWRkZWQuIEV4dHJhY3RlZCBmcm9tIHRoZSBjb21tb24gY29kZSBv
ZgorICAgICAgICBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZCgpIGFuZCBwYWludFRleHRNYXRj
aE1hcmtlcigpLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3Np
dGlvbkJhY2tncm91bmQpOiBNb2RpZmllZCB0byB1c2UgcGFpbnRUZXh0U3VicmFuZ2VCYWNrZ3Jv
dW5kKCkuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludFRleHRNYXRjaE1h
cmtlcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnREb2N1
bWVudE1hcmtlcik6IEFkZCBGSVhNRSBjb21tZW50IHRvIGZpeCB1cCB0aGlzIGNvZGUgZm9yCisg
ICAgICAgIGNvbWJpbmVkIGFuZCBoeXBoZW5hdGVkIHRleHQgd2hpbGUgSSBhbSBoZXJlLgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMpOiBVcGRh
dGUgY29kZSBhcyBuZWVkZWQgZm9yIGNoYW5nZXMKKyAgICAgICAgYWJvdmUuCisgICAgICAgICog
cmVuZGVyaW5nL0lubGluZVRleHRCb3guaDogQ2hhbmdlIHZpc2liaWxpdHkgb2YgcGFpbnRDb21w
b3NpdGlvbkJhY2tncm91bmQoKSwKKyAgICAgICAgcGFpbnREb2N1bWVudE1hcmtlcnMoKSBhbmQg
cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSgpIGZyb20gcHJvdGVjdGVkIHRvIHByaXZhdGUKKyAg
ICAgICAgYXMgbm8gZGVyaXZlZCBjbGFzcyBtYWtlcyB1c2Ugb2YgdGhlc2UgZnVuY3Rpb25zLiBH
cm91cCByZWxhdGVkIGZ1bmN0aW9ucyB0bworICAgICAgICBpbXByb3ZlIHJlYWRhYmlsaXR5Lgor
CiAyMDE3LTA5LTI1ICBNczJnZXIgIDxNczJnZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRh
dGUgd2FpdFN5bmMgYW5kIHRoZSBUSU1FT1VUX0lHTk9SRUQgY29uc3RhbnQgdG8gdXNlIHNpZ25l
ZCBpbnRlZ2Vycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVU
ZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApp
bmRleCAzYjEwODY3NTRjZjZiNGEyYWRiODk3N2E5ZDg4NGVjNGNhMGQ3M2MxLi41YTMzNzk0NjNj
MmUxYTkyMGU4MzAyMmY1M2E3MmJjYmVjODQ4OWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guY3BwCkBAIC00ODgsOSArNDg4LDcgQEAgdm9pZCBJbmxpbmVUZXh0
Qm94OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50
T2Zmc2V0LAogICAgIC8vIGFuZCBjb21wb3NpdGlvbiB1bmRlcmxpbmVzLgogICAgIGlmIChwYWlu
dEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZVNlbGVjdGlvbiAmJiBwYWludEluZm8ucGhhc2UgIT0g
UGFpbnRQaGFzZVRleHRDbGlwICYmICFpc1ByaW50aW5nKSB7CiAgICAgICAgIGlmIChjb250YWlu
c0NvbXBvc2l0aW9uICYmICF1c2VDdXN0b21VbmRlcmxpbmVzKQotICAgICAgICAgICAgcGFpbnRD
b21wb3NpdGlvbkJhY2tncm91bmQoY29udGV4dCwgYm94T3JpZ2luLCBsaW5lU3R5bGUsIGZvbnQs
Ci0gICAgICAgICAgICAgICAgcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigpLmNvbXBvc2l0aW9u
U3RhcnQoKSwKLSAgICAgICAgICAgICAgICByZW5kZXJlcigpLmZyYW1lKCkuZWRpdG9yKCkuY29t
cG9zaXRpb25FbmQoKSk7CisgICAgICAgICAgICBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChj
b250ZXh0LCBib3hPcmlnaW4sIGxpbmVTdHlsZSwgZm9udCk7CiAKICAgICAgICAgcGFpbnREb2N1
bWVudE1hcmtlcnMoY29udGV4dCwgYm94T3JpZ2luLCBsaW5lU3R5bGUsIGZvbnQsIHRydWUpOwog
CkBAIC02ODksNiArNjg3LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGIKIAogICAgIHVuc2ln
bmVkIGxlbmd0aCA9IG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uID8gbV90cnVuY2F0aW9u
IDogbGVuKCk7CiAKKyAgICAvLyBGSVhNRTogQWRqdXN0IHRleHQgcnVuIGZvciBjb21iaW5lZCB0
ZXh0LgogICAgIFN0cmluZyBoeXBoZW5hdGVkU3RyaW5nOwogICAgIGJvb2wgcmVzcGVjdEh5cGhl
biA9IHNlbGVjdGlvbkVuZCA9PSBsZW5ndGggJiYgaGFzSHlwaGVuKCk7CiAgICAgaWYgKHJlc3Bl
Y3RIeXBoZW4pCkBAIC03MTYsMjIgKzcxNSwzOCBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYgog
I2VuZGlmCiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91
bmQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4s
IGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIHVuc2ln
bmVkIHN0YXJ0UG9zLCB1bnNpZ25lZCBlbmRQb3MpCitpbmxpbmUgdm9pZCBJbmxpbmVUZXh0Qm94
OjpwYWludFRleHRTdWJyYW5nZUJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBj
b25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29u
c3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IENvbG9yJiBjb2xvciwgdW5zaWduZWQgc3RhcnRP
ZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkKIHsKLSAgICB1bnNpZ25lZCBzZWxlY3Rpb25TdGFy
dCA9IGNsYW1wZWRPZmZzZXQoc3RhcnRQb3MpOwotICAgIHVuc2lnbmVkIHNlbGVjdGlvbkVuZCA9
IGNsYW1wZWRPZmZzZXQoZW5kUG9zKTsKLSAgICBpZiAoc2VsZWN0aW9uU3RhcnQgPj0gc2VsZWN0
aW9uRW5kKQorICAgIHN0YXJ0T2Zmc2V0ID0gY2xhbXBlZE9mZnNldChzdGFydE9mZnNldCk7Cisg
ICAgZW5kT2Zmc2V0ID0gY2xhbXBlZE9mZnNldChlbmRPZmZzZXQpOworICAgIGlmIChzdGFydE9m
ZnNldCA+PSBlbmRPZmZzZXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIEdyYXBoaWNzQ29udGV4
dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihjb250ZXh0KTsKLSAgICBDb2xvciBjb21wb3NpdGlvbkNv
bG9yID0gQ29sb3I6OmNvbXBvc2l0aW9uRmlsbDsKLSAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQo
Y29udGV4dCwgVGV4dFBhaW50U3R5bGUoY29tcG9zaXRpb25Db2xvcikpOyAvLyBEb24ndCBkcmF3
IHRleHQgYXQgYWxsIQorICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlciB7
IGNvbnRleHQgfTsKKyAgICB1cGRhdGVHcmFwaGljc0NvbnRleHQoY29udGV4dCwgVGV4dFBhaW50
U3R5bGUgeyBjb2xvciB9KTsgLy8gRG9uJ3QgZHJhdyB0ZXh0IGF0IGFsbCEKIAorICAgIC8vIFVz
ZSBzYW1lIHkgcG9zaXRpb25pbmcgYW5kIGhlaWdodCBhcyBmb3Igc2VsZWN0aW9uLCBzbyB0aGF0
IHdoZW4gdGhlIHNlbGVjdGlvbiBhbmQgdGhpcyBzdWJyYW5nZSBhcmUgb24KKyAgICAvLyB0aGUg
c2FtZSB3b3JkIHRoZXJlIGFyZSBubyBwaWVjZXMgc3RpY2tpbmcgb3V0LgogICAgIExheW91dFVu
aXQgZGVsdGFZID0gcmVuZGVyZXIoKS5zdHlsZSgpLmlzRmxpcHBlZExpbmVzV3JpdGluZ01vZGUo
KSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgpIC0g
c2VsZWN0aW9uVG9wKCk7CiAgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0ID0gTGF5b3V0UmVj
dChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZLCAwLCBzZWxlY3Rpb25IZWln
aHQoKSk7CisKKyAgICAvLyBGSVhNRTogQWRqdXN0IHRleHQgcnVuIGZvciBjb21iaW5lZCB0ZXh0
IGFuZCBoeXBoZW5hdGlvbi4KICAgICBUZXh0UnVuIHRleHRSdW4gPSBjb25zdHJ1Y3RUZXh0UnVu
KHN0eWxlKTsKLSAgICBmb250LmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRSdW4sIHNl
bGVjdGlvblJlY3QsIHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpOwotICAgIGNvbnRleHQu
ZmlsbFJlY3Qoc25hcFJlY3RUb0RldmljZVBpeGVsc1dpdGhXcml0aW5nRGlyZWN0aW9uKHNlbGVj
dGlvblJlY3QsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpLCB0ZXh0
UnVuLmx0cigpKSwgY29tcG9zaXRpb25Db2xvcik7CisgICAgZm9udC5hZGp1c3RTZWxlY3Rpb25S
ZWN0Rm9yVGV4dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBzdGFydE9mZnNldCwgZW5kT2Zmc2V0
KTsKKyAgICBjb250ZXh0LmZpbGxSZWN0KHNuYXBSZWN0VG9EZXZpY2VQaXhlbHNXaXRoV3JpdGlu
Z0RpcmVjdGlvbihzZWxlY3Rpb25SZWN0LCByZW5kZXJlcigpLmRvY3VtZW50KCkuZGV2aWNlU2Nh
bGVGYWN0b3IoKSwgdGV4dFJ1bi5sdHIoKSksIGNvbG9yKTsKK30KKwordm9pZCBJbmxpbmVUZXh0
Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQs
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBj
b25zdCBGb250Q2FzY2FkZSYgZm9udCkKK3sKKyAgICBwYWludFRleHRTdWJyYW5nZUJhY2tncm91
bmQoY29udGV4dCwgYm94T3JpZ2luLCBzdHlsZSwgZm9udCwgcmVuZGVyZXIoKS5mcmFtZSgpLmVk
aXRvcigpLmNvbXBvc2l0aW9uU3RhcnQoKSwgcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigpLmNv
bXBvc2l0aW9uRW5kKCksIENvbG9yOjpjb21wb3NpdGlvbkZpbGwpOworfQorCit2b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50VGV4dE1hdGNoTWFya2VyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIGNv
bnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBNYXJrZXJTdWJyYW5nZSYgc3VicmFuZ2UsIGJv
b2wgaXNBY3RpdmVNYXRjaCkKK3sKKyAgICBpZiAoIXJlbmRlcmVyKCkuZnJhbWUoKS5lZGl0b3Io
KS5tYXJrZWRUZXh0TWF0Y2hlc0FyZUhpZ2hsaWdodGVkKCkpCisgICAgICAgIHJldHVybjsKKyAg
ICBhdXRvIGhpZ2hsaWdodENvbG9yID0gaXNBY3RpdmVNYXRjaCA/IHJlbmRlcmVyKCkudGhlbWUo
KS5wbGF0Zm9ybUFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xvcigpIDogcmVuZGVyZXIoKS50
aGVtZSgpLnBsYXRmb3JtSW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3IoKTsKKyAgICBw
YWludFRleHRTdWJyYW5nZUJhY2tncm91bmQoY29udGV4dCwgYm94T3JpZ2luLCBzdHlsZSwgZm9u
dCwgaGlnaGxpZ2h0Q29sb3IsIHN1YnJhbmdlLnN0YXJ0T2Zmc2V0LCBzdWJyYW5nZS5lbmRPZmZz
ZXQpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgbWlycm9yUlRMU2VnbWVudChmbG9hdCBsb2dp
Y2FsV2lkdGgsIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uLCBmbG9hdCYgc3RhcnQsIGZsb2F0IHdp
ZHRoKQpAQCAtNzgzLDcgKzc5OCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0
aW9uKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRm9udENhc2NhZGUmCiAgICAgICAg
IGNvbnRleHQuY29uY2F0Q1RNKHJvdGF0aW9uKGJveFJlY3QsIENvdW50ZXJjbG9ja3dpc2UpKTsK
IH0KIAotdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50TWFya2VyKEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBNYXJrZXJT
dWJyYW5nZSYgc3VicmFuZ2UsIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRm9udENh
c2NhZGUmIGZvbnQpCit2b2lkIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXIoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0
IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIGNvbnN0IE1hcmtl
clN1YnJhbmdlJiBzdWJyYW5nZSkKIHsKICAgICAvLyBOZXZlciBwcmludCBzcGVsbGluZy9ncmFt
bWFyIG1hcmtlcnMgKDUzMjc4ODcpCiAgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5wcmlu
dGluZygpKQpAQCAtODEyLDYgKzgyNyw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1
bWVudE1hcmtlcihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pCiAgICAg
ICAgICAgICBlbmRQb3NpdGlvbiA9IHN0ZDo6bWluKGVuZFBvc2l0aW9uLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4obV90cnVuY2F0aW9uKSk7CiAKICAgICAgICAgLy8gQ2FsY3VsYXRlIHN0YXJ0ICYg
d2lkdGgKKyAgICAgICAgLy8gRklYTUU6IEFkanVzdCB0ZXh0IHJ1biBmb3IgY29tYmluZWQgdGV4
dCBhbmQgaHlwaGVuYXRpb24uCiAgICAgICAgIGludCBkZWx0YVkgPSByZW5kZXJlcigpLnN0eWxl
KCkuaXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2VsZWN0aW9uQm90dG9tKCkgLSBsb2dp
Y2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rpb25Ub3AoKTsKICAgICAgICAgaW50
IHNlbEhlaWdodCA9IHNlbGVjdGlvbkhlaWdodCgpOwogICAgICAgICBGbG9hdFBvaW50IHN0YXJ0
UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSAtIGRlbHRhWSk7CkBAIC04NjUsMzEg
Kzg4MSw2IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcihHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pCiAgICAgY29udGV4dC5kcmF3TGluZUZv
ckRvY3VtZW50TWFya2VyKEZsb2F0UG9pbnQoYm94T3JpZ2luLngoKSArIHN0YXJ0LCBib3hPcmln
aW4ueSgpICsgdW5kZXJsaW5lT2Zmc2V0KSwgd2lkdGgsIGxpbmVTdHlsZUZvclN1YnJhbmdlVHlw
ZShzdWJyYW5nZS50eXBlKSk7CiB9CiAKLXZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0TWF0
Y2hNYXJrZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IE1hcmtlclN1YnJhbmdlJiBzdWJyYW5nZSwgY29uc3QgUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBGb250Q2FzY2FkZSYgZm9udCwgYm9vbCBpc0FjdGl2ZU1hdGNoKQotewot
ICAgIGlmICghcmVuZGVyZXIoKS5mcmFtZSgpLmVkaXRvcigpLm1hcmtlZFRleHRNYXRjaGVzQXJl
SGlnaGxpZ2h0ZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBjb2xvciA9IGlzQWN0
aXZlTWF0Y2ggPyByZW5kZXJlcigpLnRoZW1lKCkucGxhdGZvcm1BY3RpdmVUZXh0U2VhcmNoSGln
aGxpZ2h0Q29sb3IoKSA6IHJlbmRlcmVyKCkudGhlbWUoKS5wbGF0Zm9ybUluYWN0aXZlVGV4dFNl
YXJjaEhpZ2hsaWdodENvbG9yKCk7Ci0gICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKGNvbnRleHQpOwotICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChjb250ZXh0LCBUZXh0
UGFpbnRTdHlsZShjb2xvcikpOyAvLyBEb24ndCBkcmF3IHRleHQgYXQgYWxsIQotCi0gICAgLy8g
VXNlIHNhbWUgeSBwb3NpdGlvbmluZyBhbmQgaGVpZ2h0IGFzIGZvciBzZWxlY3Rpb24sIHNvIHRo
YXQgd2hlbiB0aGUgc2VsZWN0aW9uIGFuZCB0aGlzIGhpZ2hsaWdodCBhcmUgb24KLSAgICAvLyB0
aGUgc2FtZSB3b3JkIHRoZXJlIGFyZSBubyBwaWVjZXMgc3RpY2tpbmcgb3V0LgotICAgIExheW91
dFVuaXQgZGVsdGFZID0gcmVuZGVyZXIoKS5zdHlsZSgpLmlzRmxpcHBlZExpbmVzV3JpdGluZ01v
ZGUoKSA/IHNlbGVjdGlvbkJvdHRvbSgpIC0gbG9naWNhbEJvdHRvbSgpIDogbG9naWNhbFRvcCgp
IC0gc2VsZWN0aW9uVG9wKCk7Ci0gICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0ID0gTGF5b3V0
UmVjdChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpIC0gZGVsdGFZLCAwLCB0aGlzLT5zZWxl
Y3Rpb25IZWlnaHQoKSk7Ci0KLSAgICB1bnNpZ25lZCBzUG9zID0gY2xhbXBlZE9mZnNldChzdWJy
YW5nZS5zdGFydE9mZnNldCk7Ci0gICAgdW5zaWduZWQgZVBvcyA9IGNsYW1wZWRPZmZzZXQoc3Vi
cmFuZ2UuZW5kT2Zmc2V0KTsKLSAgICBUZXh0UnVuIHJ1biA9IGNvbnN0cnVjdFRleHRSdW4oc3R5
bGUpOwotICAgIGZvbnQuYWRqdXN0U2VsZWN0aW9uUmVjdEZvclRleHQocnVuLCBzZWxlY3Rpb25S
ZWN0LCBzUG9zLCBlUG9zKTsKLQotICAgIGlmIChzZWxlY3Rpb25SZWN0LmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgY29udGV4dC5maWxsUmVjdChzbmFwUmVjdFRvRGV2aWNlUGl4
ZWxzV2l0aFdyaXRpbmdEaXJlY3Rpb24oc2VsZWN0aW9uUmVjdCwgcmVuZGVyZXIoKS5kb2N1bWVu
dCgpLmRldmljZVNjYWxlRmFjdG9yKCksIHJ1bi5sdHIoKSksIGNvbG9yKTsKLX0KLQogdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludERvY3VtZW50TWFya2VycyhHcmFwaGljc0NvbnRleHQmIGNvbnRl
eHQsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxl
LCBjb25zdCBGb250Q2FzY2FkZSYgZm9udCwgYm9vbCBiYWNrZ3JvdW5kKQogewogICAgIGlmICgh
cmVuZGVyZXIoKS50ZXh0Tm9kZSgpKQpAQCAtOTg0LDkgKzk3NSw5IEBAIHZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcnMoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25z
dCBGbG9hdFBvCiAKICAgICBmb3IgKGF1dG8mIHN1YnJhbmdlIDogc3ViZGl2aWRlKHN1YnJhbmdl
cywgT3ZlcmxhcFN0cmF0ZWd5OjpGcm9udG1vc3QpKSB7CiAgICAgICAgIGlmIChzdWJyYW5nZS50
eXBlID09IE1hcmtlclN1YnJhbmdlOjpUZXh0TWF0Y2gpCi0gICAgICAgICAgICBwYWludFRleHRN
YXRjaE1hcmtlcihjb250ZXh0LCBib3hPcmlnaW4sIHN1YnJhbmdlLCBzdHlsZSwgZm9udCwgc3Vi
cmFuZ2UubWFya2VyLT5pc0FjdGl2ZU1hdGNoKCkpOworICAgICAgICAgICAgcGFpbnRUZXh0TWF0
Y2hNYXJrZXIoY29udGV4dCwgYm94T3JpZ2luLCBzdHlsZSwgZm9udCwgc3VicmFuZ2UsIHN1YnJh
bmdlLm1hcmtlci0+aXNBY3RpdmVNYXRjaCgpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg
cGFpbnREb2N1bWVudE1hcmtlcihjb250ZXh0LCBib3hPcmlnaW4sIHN1YnJhbmdlLCBzdHlsZSwg
Zm9udCk7CisgICAgICAgICAgICBwYWludERvY3VtZW50TWFya2VyKGNvbnRleHQsIGJveE9yaWdp
biwgc3R5bGUsIGZvbnQsIHN1YnJhbmdlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5oCmluZGV4IDA4NzUyODBkMjI2YzY3YjQ4MGE0M2YyMzEwZWQ2
MjZhZDczYTAyZjUuLjc5NWEyMGI5NGRhMTI3ODBjZTkyZjk5MGY1YzgwNDE3MzM2MWM4ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaApAQCAtMTIzLDYgKzEyMyw4
IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBv
aW50JiwgTGF5b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVCb3R0b20pIG92ZXJyaWRl
OwogICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVz
dWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBM
YXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0
VW5pdCBsaW5lQm90dG9tLCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKIAorICAgIHVuc2lnbmVk
IGNsYW1wZWRPZmZzZXQodW5zaWduZWQpIGNvbnN0OworCiBwcml2YXRlOgogICAgIHZvaWQgZGVs
ZXRlTGluZSgpIGZpbmFsOwogICAgIHZvaWQgZXh0cmFjdExpbmUoKSBmaW5hbDsKQEAgLTE1Miwx
OCArMTU0LDE5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGludCBvZmZzZXRGb3JQb3NpdGlvbihm
bG9hdCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CiAgICAgdmly
dHVhbCBmbG9hdCBwb3NpdGlvbkZvck9mZnNldCh1bnNpZ25lZCBvZmZzZXQpIGNvbnN0OwogCi1w
cm90ZWN0ZWQ6Ci0gICAgdm9pZCBwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0Nv
bnRleHQmLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IFJlbmRlclN0eWxlJiwg
Y29uc3QgRm9udENhc2NhZGUmLCB1bnNpZ25lZCBzdGFydFBvcywgdW5zaWduZWQgZW5kUG9zKTsK
LSAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBGb250Q2FzY2Fk
ZSYsIGJvb2wgYmFja2dyb3VuZCk7Ci0gICAgdm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5l
KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgQ29t
cG9zaXRpb25VbmRlcmxpbmUmKTsKLSAgICB1bnNpZ25lZCBjbGFtcGVkT2Zmc2V0KHVuc2lnbmVk
KSBjb25zdDsKLQogcHJpdmF0ZToKICAgICB2b2lkIHBhaW50RGVjb3JhdGlvbihHcmFwaGljc0Nv
bnRleHQmLCBjb25zdCBGb250Q2FzY2FkZSYsIFJlbmRlckNvbWJpbmVUZXh0KiwgY29uc3QgVGV4
dFJ1biYsIGNvbnN0IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0UmVjdCYgYm94
UmVjdCwKICAgICAgICAgVGV4dERlY29yYXRpb24sIFRleHRQYWludFN0eWxlLCBjb25zdCBTaGFk
b3dEYXRhKiwgY29uc3QgRmxvYXRSZWN0JiBjbGlwT3V0UmVjdCk7Ci0gICAgdm9pZCBwYWludFNl
bGVjdGlvbihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNv
bnN0IFJlbmRlclN0eWxlJiwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBDb2xvciYgdGV4dENv
bG9yKTsKLSAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXIoR3JhcGhpY3NDb250ZXh0JiwgY29u
c3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBjb25zdCBNYXJrZXJTdWJyYW5nZSYsIGNvbnN0IFJl
bmRlclN0eWxlJiwgY29uc3QgRm9udENhc2NhZGUmKTsKLSAgICB2b2lkIHBhaW50VGV4dE1hdGNo
TWFya2VyKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29u
c3QgTWFya2VyU3VicmFuZ2UmLCBjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IEZvbnRDYXNjYWRl
JiwgYm9vbCBpc0FjdGl2ZU1hdGNoKTsKKyAgICB2b2lkIHBhaW50U2VsZWN0aW9uKEdyYXBoaWNz
Q29udGV4dCYsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgUmVuZGVyU3R5bGUm
LCBjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IENvbG9yJik7CisKKyAgICB2b2lkIHBhaW50RG9j
dW1lbnRNYXJrZXIoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2lu
LCBjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgTWFya2VyU3Vi
cmFuZ2UmKTsKKyAgICB2b2lkIHBhaW50RG9jdW1lbnRNYXJrZXJzKEdyYXBoaWNzQ29udGV4dCYs
IGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBG
b250Q2FzY2FkZSYsIGJvb2wgYmFja2dyb3VuZCk7CisgICAgdm9pZCBwYWludFRleHRNYXRjaE1h
cmtlcihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0
IFJlbmRlclN0eWxlJiwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBNYXJrZXJTdWJyYW5nZSYs
IGJvb2wgaXNBY3RpdmVNYXRjaCk7CisKKyAgICB2b2lkIHBhaW50Q29tcG9zaXRpb25CYWNrZ3Jv
dW5kKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbiwgY29uc3Qg
UmVuZGVyU3R5bGUmLCBjb25zdCBGb250Q2FzY2FkZSYpOworICAgIHZvaWQgcGFpbnRDb21wb3Np
dGlvblVuZGVybGluZShHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmln
aW4sIGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5lJik7CisKKyAgICB2b2lkIHBhaW50VGV4dFN1
YnJhbmdlQmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFBvaW50JiBib3hP
cmlnaW4sIGNvbnN0IFJlbmRlclN0eWxlJiwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBDb2xv
ciYsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBlbmRPZmZzZXQpOwogCiAgICAgRXhw
YW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IoKSBjb25zdDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>