<?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>207823</bug_id>
          
          <creation_ts>2020-02-15 19:31:22 -0800</creation_ts>
          <short_desc>[LFC][Float] Simplify BlockFormattingContext::usedAvailableWidthForFloatAvoider</short_desc>
          <delta_ts>2020-02-16 07:38:40 -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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</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>1619470</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-15 19:31:22 -0800</bug_when>
    <thetext>The box&apos;s containing block is either not a float avoider, or formatting context root float avoider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619471</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-15 19:32:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/59490669&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619472</commentid>
    <comment_count>2</comment_count>
      <attachid>390881</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-15 20:21:46 -0800</bug_when>
    <thetext>Created attachment 390881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619495</commentid>
    <comment_count>3</comment_count>
      <attachid>390887</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-16 07:27:22 -0800</bug_when>
    <thetext>Created attachment 390887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619496</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-16 07:38:40 -0800</bug_when>
    <thetext>Committed r256711: &lt;https://trac.webkit.org/changeset/256711&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390881</attachid>
            <date>2020-02-15 20:21:46 -0800</date>
            <delta_ts>2020-02-16 07:27:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207823-20200215202145.patch</filename>
            <type>text/plain</type>
            <size>9462</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzNiOWM0NWViZTQ3NzMz
MTg4YTc3ZTJjNWI0YmQ3MTIwNjBkZTU2YS4uMDBiNjRiOGNhY2M5NGNmNWI5OGZkNjk1YjdlNmNj
ZjI2NGVhN2EwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTAyLTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bRmxvYXRdIFNpbXBs
aWZ5IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnVzZWRBdmFpbGFibGVXaWR0aEZvckZsb2F0QXZv
aWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3
ODIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTQ5MDY2OT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgY29udGFpbmluZyBibG9jayBvZiB0
aGlzIGZsb2F0IGF2b2lkZXIgaXMgZWl0aGVyIGEgbm9uLWF2b2lkZXIgb3IgYSBmb3JtYXR0aW5n
IGNvbnRleHQgcm9vdCBhdm9pZGVyLAorICAgICAgICBzbyB3ZSBkb24ndCBoYXZlIHRvIG1hcCB0
aGUgbGVmdCBwb3NpdGlvbiAoYW5kIG5vdyBMRkMgcGFzc2VzIGZhc3QvYmxvY2svYmxvY2stb25s
eSBhZ2FpbikuCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjptYXBIb3Jpem9udGFsUG9zaXRpb25Ub0FuY2VzdG9yKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1h
cFRvcFRvRm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1hcExlZnRUb0Zvcm1hdHRpbmdDb250
ZXh0Um9vdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1h
dHRpbmdDb250ZXh0OjptYXBSaWdodFRvRm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBs
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojp1c2VkQXZhaWxhYmxl
V2lkdGhGb3JGbG9hdEF2b2lkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlV2lkdGhBbmRNYXJnaW4pOgorCiAyMDIwLTAyLTE1ICBa
YWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBGb3Jt
YXR0aW5nIGNvbnRleHQgcm9vdHMgcG9zaXRpb24gdGhlaXIgb3duIHJlbGF0aXZlIGNoaWxkcmVu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAwNzFj
N2MxNGFlMTJhNzRiNDg1NGRkMzJlZjk5Y2M2YzBjMTNjODM2Li40Nzc0NWZhZGUyMzcxMGJmMzg3
MzU1NzJhOWU1YmU1YTEwZGMyMjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Rm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0
aW5nQ29udGV4dC5jcHAKQEAgLTE4OCw0MSArMTg4LDYgQEAgdm9pZCBGb3JtYXR0aW5nQ29udGV4
dDo6bGF5b3V0T3V0T2ZGbG93Q29udGVudChJbnZhbGlkYXRpb25TdGF0ZSYgaW52YWxpZGF0aW9u
U3QKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8
PCAiRW5kOiBsYXlvdXQgb3V0LW9mLWZsb3cgY29udGVudCAtPiBjb250ZXh0OiAiIDw8ICZsYXlv
dXRTdGF0ZSgpIDw8ICIgcm9vdDogIiA8PCAmcm9vdCgpKTsKIH0KIAotc3RhdGljIExheW91dFVu
aXQgbWFwSG9yaXpvbnRhbFBvc2l0aW9uVG9BbmNlc3Rvcihjb25zdCBGb3JtYXR0aW5nQ29udGV4
dCYgZm9ybWF0dGluZ0NvbnRleHQsIExheW91dFVuaXQgaG9yaXpvbnRhbFBvc2l0aW9uLCBjb25z
dCBDb250YWluZXJCb3gmIGNvbnRhaW5pbmdCbG9jaywgY29uc3QgQ29udGFpbmVyQm94JiBhbmNl
c3RvcikKLXsKLSAgICAvLyAiaG9yaXpvbnRhbFBvc2l0aW9uIiBpcyBpbiB0aGUgY29vcmRpbmF0
ZSBzeXN0ZW0gb2YgdGhlICJjb250YWluaW5nQmxvY2siLiAtPiBtYXAgZnJvbSBjb250YWluaW5n
QmxvY2sgdG8gYW5jZXN0b3IuCi0gICAgaWYgKCZjb250YWluaW5nQmxvY2sgPT0gJmFuY2VzdG9y
KQotICAgICAgICByZXR1cm4gaG9yaXpvbnRhbFBvc2l0aW9uOwotICAgIEFTU0VSVChjb250YWlu
aW5nQmxvY2suaXNDb250YWluaW5nQmxvY2tEZXNjZW5kYW50T2YoYW5jZXN0b3IpKTsKLSAgICBm
b3IgKGF1dG8qIGNvbnRhaW5lckJveCA9ICZjb250YWluaW5nQmxvY2s7IGNvbnRhaW5lckJveCAm
JiBjb250YWluZXJCb3ggIT0gJmFuY2VzdG9yOyBjb250YWluZXJCb3ggPSBjb250YWluZXJCb3gt
PmNvbnRhaW5pbmdCbG9jaygpKQotICAgICAgICBob3Jpem9udGFsUG9zaXRpb24gKz0gZm9ybWF0
dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goKmNvbnRhaW5lckJveCkubGVmdCgpOwotICAgIHJl
dHVybiBob3Jpem9udGFsUG9zaXRpb247Ci19Ci0KLS8vIEZJWE1FOiB0dXJuIHRoZXNlIGludG8g
dGVtcGxhdGVzLgotTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29udGV4dDo6bWFwVG9wVG9Gb3JtYXR0
aW5nQ29udGV4dFJvb3QoY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0Ci17Ci0gICAgQVNTRVJU
KGxheW91dEJveC5jb250YWluaW5nQmxvY2soKSk7Ci0gICAgYXV0byYgZm9ybWF0dGluZ0NvbnRl
eHRSb290ID0gcm9vdCgpOwotICAgIEFTU0VSVChsYXlvdXRCb3guaXNDb250YWluaW5nQmxvY2tE
ZXNjZW5kYW50T2YoZm9ybWF0dGluZ0NvbnRleHRSb290KSk7Ci0gICAgYXV0byB0b3AgPSBnZW9t
ZXRyeUZvckJveChsYXlvdXRCb3gpLnRvcCgpOwotICAgIGZvciAoYXV0byogY29udGFpbmVyQm94
ID0gbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpOyBjb250YWluZXJCb3ggJiYgY29udGFpbmVy
Qm94ICE9ICZmb3JtYXR0aW5nQ29udGV4dFJvb3Q7IGNvbnRhaW5lckJveCA9IGNvbnRhaW5lckJv
eC0+Y29udGFpbmluZ0Jsb2NrKCkpCi0gICAgICAgIHRvcCArPSBnZW9tZXRyeUZvckJveCgqY29u
dGFpbmVyQm94KS50b3AoKTsKLSAgICByZXR1cm4gdG9wOwotfQotCi1MYXlvdXRVbml0IEZvcm1h
dHRpbmdDb250ZXh0OjptYXBMZWZ0VG9Gb3JtYXR0aW5nQ29udGV4dFJvb3QoY29uc3QgQm94JiBs
YXlvdXRCb3gpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKGxheW91dEJveC5jb250YWluaW5nQmxvY2so
KSk7Ci0gICAgcmV0dXJuIG1hcEhvcml6b250YWxQb3NpdGlvblRvQW5jZXN0b3IoKnRoaXMsIGdl
b21ldHJ5Rm9yQm94KGxheW91dEJveCkubGVmdCgpLCAqbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9j
aygpLCByb290KCkpOwotfQotCi1MYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0OjptYXBSaWdo
dFRvRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdAotewot
ICAgIEFTU0VSVChsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCkpOwotICAgIHJldHVybiBtYXBI
b3Jpem9udGFsUG9zaXRpb25Ub0FuY2VzdG9yKCp0aGlzLCBnZW9tZXRyeUZvckJveChsYXlvdXRC
b3gpLnJpZ2h0KCksICpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCksIHJvb3QoKSk7Ci19Ci0K
IGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0NvbnRleHQ6Omdlb21ldHJ5Rm9yQm94KGNv
bnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpb25hbDxFc2NhcGVSZWFzb24+IGVzY2FwZVJlYXNvbikg
Y29uc3QKIHsKICAgICBVTlVTRURfUEFSQU0oZXNjYXBlUmVhc29uKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggYzNmNDQ3N2IxYmZiNTdjNTdmNjNhYmNi
YTNiYmY4Zjc2OWVkNGMwMi4uZTczNmYwZTk1OGUxZjRmMWM2MDc3ZGViZjI0NDJjN2I3ZjhiN2Iy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTc3LDEw
ICs3Nyw2IEBAIHB1YmxpYzoKICAgICB9OwogICAgIHZpcnR1YWwgSW50cmluc2ljV2lkdGhDb25z
dHJhaW50cyBjb21wdXRlZEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSA9IDA7CiAKLSAgICBM
YXlvdXRVbml0IG1hcFRvcFRvRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IEJveCYpIGNvbnN0
OwotICAgIExheW91dFVuaXQgbWFwTGVmdFRvRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IEJv
eCYpIGNvbnN0OwotICAgIExheW91dFVuaXQgbWFwUmlnaHRUb0Zvcm1hdHRpbmdDb250ZXh0Um9v
dChjb25zdCBCb3gmKSBjb25zdDsKLQogICAgIGJvb2wgaXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
KCkgY29uc3QgeyByZXR1cm4gcm9vdCgpLmVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4
dCgpOyB9CiAgICAgYm9vbCBpc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1
cm4gcm9vdCgpLmVzdGFibGlzaGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKTsgfQogICAgIGJv
b2wgaXNUYWJsZUZvcm1hdHRpbmdDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gcm9vdCgpLmVzdGFi
bGlzaGVzVGFibGVGb3JtYXR0aW5nQ29udGV4dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250
ZXh0LmNwcAppbmRleCBjOGJmYzAyZjljOTdmNzg5ZWZiMjFlZmQ4NDYyNTViMDU5N2Y3ODc5Li5m
MWEzMzNhYjNkMjI4MmIxMDZlZWFmZTMwMjcyYTJiN2U4YWI1MGM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKQEAgLTE5NSwzMSArMTk1LDI5IEBAIE9wdGlvbmFsPExheW91dFVu
aXQ+IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnVzZWRBdmFpbGFibGVXaWR0aEZvckZsb2F0QXZv
aWRlcihjCiAgICAgLy8gVmVydGljYWwgc3RhdGljIHBvc2l0aW9uIGlzIG5vdCBjb21wdXRlZCB5
ZXQsIHNvIGxldCdzIGp1c3QgcHJlLWNvbXB1dGUgaXQgZm9yIG5vdy4KICAgICBwcmVjb21wdXRl
VmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9ycyhsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJh
aW50cywgdmVydGljYWxDb25zdHJhaW50cyk7CiAgICAgcHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRp
b24obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMuY29udGFpbmluZ0Jsb2NrLCB2ZXJ0
aWNhbENvbnN0cmFpbnRzLmNvbnRhaW5pbmdCbG9jayk7Ci0gICAgYXV0byB2ZXJ0aWNhbFBvc2l0
aW9uID0gbWFwVG9wVG9Gb3JtYXR0aW5nQ29udGV4dFJvb3QobGF5b3V0Qm94KTsKLSAgICAvLyBG
SVhNRTogQ2hlY2sgaWYgdGhlIG5vbi15ZXQtY29tcHV0ZWQgaGVpZ2h0IGFmZmVjdHMgdGhpcyBj
b21wdXRhdGlvbiAtIGFuZCB3aGV0aGVyIHdlIGhhdmUgdG8gcmVzb2x2ZSBpdAotICAgIC8vIGF0
IGEgbGF0ZXIgcG9pbnQgb3Igbm90IChjYW4ndCBmaW5kIHRoaXMgaW4gdGhlIHNwZWMpLgorCisg
ICAgYXV0byBtYXBMb2dpY2FsVG9wVG9Gb3JtYXR0aW5nQ29udGV4dFJvb3QgPSBbJl0geworICAg
ICAgICBhdXRvJiBmb3JtYXR0aW5nQ29udGV4dFJvb3QgPSByb290KCk7CisgICAgICAgIEFTU0VS
VChsYXlvdXRCb3guaXNDb250YWluaW5nQmxvY2tEZXNjZW5kYW50T2YoZm9ybWF0dGluZ0NvbnRl
eHRSb290KSk7CisgICAgICAgIGF1dG8gdG9wID0gZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS50
b3AoKTsKKyAgICAgICAgZm9yIChhdXRvKiBjb250YWluZXJCb3ggPSBsYXlvdXRCb3guY29udGFp
bmluZ0Jsb2NrKCk7IGNvbnRhaW5lckJveCAmJiBjb250YWluZXJCb3ggIT0gJmZvcm1hdHRpbmdD
b250ZXh0Um9vdDsgY29udGFpbmVyQm94ID0gY29udGFpbmVyQm94LT5jb250YWluaW5nQmxvY2so
KSkKKyAgICAgICAgICAgIHRvcCArPSBnZW9tZXRyeUZvckJveCgqY29udGFpbmVyQm94KS50b3Ao
KTsKKyAgICAgICAgcmV0dXJuIHRvcDsKKyAgICB9OworCisgICAgYXV0byB2ZXJ0aWNhbFBvc2l0
aW9uID0gbWFwTG9naWNhbFRvcFRvRm9ybWF0dGluZ0NvbnRleHRSb290KCk7CisgICAgLy8gRklY
TUU6IENoZWNrIGlmIHRoZSBub24teWV0LWNvbXB1dGVkIGhlaWdodCBhZmZlY3RzIHRoaXMgY29t
cHV0YXRpb24gLSBhbmQgd2hldGhlciB3ZSBoYXZlIHRvIHJlc29sdmUgaXQgYXQgYSBsYXRlciBw
b2ludC4KICAgICBhdXRvIGNvbnN0cmFpbnRzID0gZmxvYXRpbmdDb250ZXh0LmNvbnN0cmFpbnRz
KHZlcnRpY2FsUG9zaXRpb24sIHZlcnRpY2FsUG9zaXRpb24pOwogICAgIGlmICghY29uc3RyYWlu
dHMubGVmdCAmJiAhY29uc3RyYWludHMucmlnaHQpCiAgICAgICAgIHJldHVybiB7IH07Ci0gICAg
YXV0byYgY29udGFpbmluZ0Jsb2NrID0gKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsKLSAg
ICBhdXRvJiBjb250YWluaW5nQmxvY2tHZW9tZXRyeSA9IGdlb21ldHJ5Rm9yQm94KGNvbnRhaW5p
bmdCbG9jayk7Ci0gICAgYXV0byBhdmFpbGFibGVXaWR0aCA9IGNvbnRhaW5pbmdCbG9ja0dlb21l
dHJ5LmNvbnRlbnRCb3hXaWR0aCgpOwotCi0gICAgTGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tM
ZWZ0OwotICAgIExheW91dFVuaXQgY29udGFpbmluZ0Jsb2NrUmlnaHQgPSBjb250YWluaW5nQmxv
Y2tHZW9tZXRyeS5yaWdodCgpOwotICAgIGlmICgmY29udGFpbmluZ0Jsb2NrICE9ICZyb290KCkp
IHsKLSAgICAgICAgLy8gTW92ZSBjb250YWluaW5nIGJsb2NrIGxlZnQvcmlnaHQgdG8gdGhlIHJv
b3QncyBjb29yZGluYXRlIHN5c3RlbS4KLSAgICAgICAgY29udGFpbmluZ0Jsb2NrTGVmdCA9IG1h
cExlZnRUb0Zvcm1hdHRpbmdDb250ZXh0Um9vdChjb250YWluaW5nQmxvY2spOwotICAgICAgICBj
b250YWluaW5nQmxvY2tSaWdodCA9IG1hcFJpZ2h0VG9Gb3JtYXR0aW5nQ29udGV4dFJvb3QoY29u
dGFpbmluZ0Jsb2NrKTsKLSAgICB9Ci0gICAgYXV0byBjb250YWluaW5nQmxvY2tDb250ZW50Qm94
TGVmdCA9IGNvbnRhaW5pbmdCbG9ja0xlZnQgKyBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5ib3Jk
ZXJMZWZ0KCkgKyBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5nTGVmdCgpLnZhbHVlT3Io
MCk7Ci0gICAgYXV0byBjb250YWluaW5nQmxvY2tDb250ZW50Qm94UmlnaHQgPSBjb250YWluaW5n
QmxvY2tSaWdodCAtIGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LmJvcmRlclJpZ2h0KCkgKyBjb250
YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5nUmlnaHQoKS52YWx1ZU9yKDApOwotCiAgICAgLy8g
U2hyaW5rIHRoZSBhdmFpbGFibGUgc3BhY2UgaWYgdGhlIGZsb2F0cyBhcmUgYWN0dWFsbHkgaW50
cnVkaW5nIGF0IHRoaXMgdmVydGljYWwgcG9zaXRpb24uCisgICAgYXV0byBhdmFpbGFibGVXaWR0
aCA9IGhvcml6b250YWxDb25zdHJhaW50cy5jb250YWluaW5nQmxvY2subG9naWNhbFdpZHRoOwog
ICAgIGlmIChjb25zdHJhaW50cy5sZWZ0KQotICAgICAgICBhdmFpbGFibGVXaWR0aCAtPSBzdGQ6
Om1heDxMYXlvdXRVbml0PigwLCBjb25zdHJhaW50cy5sZWZ0LT54IC0gY29udGFpbmluZ0Jsb2Nr
Q29udGVudEJveExlZnQpOwotICAgIGlmIChjb25zdHJhaW50cy5yaWdodCkKLSAgICAgICAgYXZh
aWxhYmxlV2lkdGggLT0gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgY29udGFpbmluZ0Jsb2NrQ29u
dGVudEJveFJpZ2h0IC0gY29uc3RyYWludHMucmlnaHQtPngpOworICAgICAgICBhdmFpbGFibGVX
aWR0aCAtPSBjb25zdHJhaW50cy5sZWZ0LT54OworICAgIGlmIChjb25zdHJhaW50cy5yaWdodCkg
eworICAgICAgICAvLyBGSVhNRTogTWFwIHRoZSBsb2dpY2FsUmlnaHQgdG8gdGhlIHJvb3QncyBj
b29yZGluYXRlIHN5c3RlbS4KKyAgICAgICAgYXZhaWxhYmxlV2lkdGggLT0gc3RkOjptYXgoMF9s
dSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmNvbnRhaW5pbmdCbG9jay5sb2dpY2FsUmlnaHQoKSAt
IGNvbnN0cmFpbnRzLnJpZ2h0LT54KTsKKyAgICB9CiAgICAgcmV0dXJuIGF2YWlsYWJsZVdpZHRo
OwogfQogCkBAIC0zNTgsNyArMzU2LDkgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpj
b21wdXRlV2lkdGhBbmRNYXJnaW4oY29uc3QgRmxvYXRpbmdDb250ZXh0JiBmbG9hdGkKICAgICAg
ICAgICAgIHJldHVybiBnZW9tZXRyeSgpLmZsb2F0aW5nV2lkdGhBbmRNYXJnaW4obGF5b3V0Qm94
LCBob3Jpem9udGFsQ29uc3RyYWludHMsIHsgdXNlZFdpZHRoLCB7IH0gfSk7CiAKICAgICAgICAg
aWYgKGxheW91dEJveC5pc0Zsb2F0QXZvaWRlcigpKSB7Ci0gICAgICAgICAgICBhdXRvIGF2YWls
YWJsZVdpZHRoID0gdXNlZEF2YWlsYWJsZVdpZHRoRm9yRmxvYXRBdm9pZGVyKGZsb2F0aW5nQ29u
dGV4dCwgbGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHNQYWlyLCB2ZXJ0aWNhbENvbnN0
cmFpbnRzUGFpcikudmFsdWVPcihob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbFdpZHRoKTsK
KyAgICAgICAgICAgIGF1dG8gYXZhaWxhYmxlV2lkdGggPSBob3Jpem9udGFsQ29uc3RyYWludHMu
bG9naWNhbFdpZHRoOworICAgICAgICAgICAgaWYgKGxheW91dEJveC5zdHlsZSgpLmxvZ2ljYWxX
aWR0aCgpLmlzQXV0bygpKQorICAgICAgICAgICAgICAgIGF2YWlsYWJsZVdpZHRoID0gdXNlZEF2
YWlsYWJsZVdpZHRoRm9yRmxvYXRBdm9pZGVyKGZsb2F0aW5nQ29udGV4dCwgbGF5b3V0Qm94LCBo
b3Jpem9udGFsQ29uc3RyYWludHNQYWlyLCB2ZXJ0aWNhbENvbnN0cmFpbnRzUGFpcikudmFsdWVP
cihhdmFpbGFibGVXaWR0aCk7CiAgICAgICAgICAgICByZXR1cm4gZ2VvbWV0cnkoKS5pbkZsb3dX
aWR0aEFuZE1hcmdpbihsYXlvdXRCb3gsIHsgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmxvZ2ljYWxM
ZWZ0LCBhdmFpbGFibGVXaWR0aCB9LCB7IHVzZWRXaWR0aCwgeyB9IH0pOwogICAgICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390887</attachid>
            <date>2020-02-16 07:27:22 -0800</date>
            <delta_ts>2020-02-16 07:27:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207823-20200216072722.patch</filename>
            <type>text/plain</type>
            <size>9110</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NjcxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIwLTAyLTE2ICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bRmxvYXRdIFNpbXBsaWZ5
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnVzZWRBdmFpbGFibGVXaWR0aEZvckZsb2F0QXZvaWRl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3ODIz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTQ5MDY2OT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBUaGUgY29udGFpbmluZyBibG9jayBvZiB0aGlz
IGZsb2F0IGF2b2lkZXIgaXMgZWl0aGVyIGEgbm9uLWF2b2lkZXIgb3IgYSBmb3JtYXR0aW5nIGNv
bnRleHQgcm9vdCBhdm9pZGVyLAorICAgICAgICBzbyB3ZSBkb24ndCBoYXZlIHRvIG1hcCB0aGUg
bGVmdCBwb3NpdGlvbiAoYW5kIG5vdyBMRkMgcGFzc2VzIGZhc3QvYmxvY2svYmxvY2stb25seSBh
Z2FpbikuCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjptYXBIb3Jpem9udGFsUG9zaXRpb25Ub0FuY2VzdG9yKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1hcFRv
cFRvRm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Om1hcExlZnRUb0Zvcm1hdHRpbmdDb250ZXh0
Um9vdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRp
bmdDb250ZXh0OjptYXBSaWdodFRvRm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBsYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojp1c2VkQXZhaWxhYmxlV2lk
dGhGb3JGbG9hdEF2b2lkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlV2lkdGhBbmRNYXJnaW4pOgorCiAyMDIwLTAyLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBGb3JtYXR0
aW5nIGNvbnRleHQgcm9vdHMgcG9zaXRpb24gdGhlaXIgb3duIHJlbGF0aXZlIGNoaWxkcmVuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAJKHJldmlz
aW9uIDI1NjcxMCkKKysrIFNvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OCw0MSArMTg4LDYgQEAgdm9pZCBGb3JtYXR0aW5nQ29u
dGV4dDo6bGF5b3V0T3V0T2ZGbG93QwogICAgIExPR19XSVRIX1NUUkVBTShGb3JtYXR0aW5nQ29u
dGV4dExheW91dCwgc3RyZWFtIDw8ICJFbmQ6IGxheW91dCBvdXQtb2YtZmxvdyBjb250ZW50IC0+
IGNvbnRleHQ6ICIgPDwgJmxheW91dFN0YXRlKCkgPDwgIiByb290OiAiIDw8ICZyb290KCkpOwog
fQogCi1zdGF0aWMgTGF5b3V0VW5pdCBtYXBIb3Jpem9udGFsUG9zaXRpb25Ub0FuY2VzdG9yKGNv
bnN0IEZvcm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCwgTGF5b3V0VW5pdCBob3Jp
em9udGFsUG9zaXRpb24sIGNvbnN0IENvbnRhaW5lckJveCYgY29udGFpbmluZ0Jsb2NrLCBjb25z
dCBDb250YWluZXJCb3gmIGFuY2VzdG9yKQotewotICAgIC8vICJob3Jpem9udGFsUG9zaXRpb24i
IGlzIGluIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUgImNvbnRhaW5pbmdCbG9jayIuIC0+
IG1hcCBmcm9tIGNvbnRhaW5pbmdCbG9jayB0byBhbmNlc3Rvci4KLSAgICBpZiAoJmNvbnRhaW5p
bmdCbG9jayA9PSAmYW5jZXN0b3IpCi0gICAgICAgIHJldHVybiBob3Jpem9udGFsUG9zaXRpb247
Ci0gICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jay5pc0NvbnRhaW5pbmdCbG9ja0Rlc2NlbmRhbnRP
ZihhbmNlc3RvcikpOwotICAgIGZvciAoYXV0byogY29udGFpbmVyQm94ID0gJmNvbnRhaW5pbmdC
bG9jazsgY29udGFpbmVyQm94ICYmIGNvbnRhaW5lckJveCAhPSAmYW5jZXN0b3I7IGNvbnRhaW5l
ckJveCA9IGNvbnRhaW5lckJveC0+Y29udGFpbmluZ0Jsb2NrKCkpCi0gICAgICAgIGhvcml6b250
YWxQb3NpdGlvbiArPSBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveCgqY29udGFpbmVy
Qm94KS5sZWZ0KCk7Ci0gICAgcmV0dXJuIGhvcml6b250YWxQb3NpdGlvbjsKLX0KLQotLy8gRklY
TUU6IHR1cm4gdGhlc2UgaW50byB0ZW1wbGF0ZXMuCi1MYXlvdXRVbml0IEZvcm1hdHRpbmdDb250
ZXh0OjptYXBUb3BUb0Zvcm1hdHRpbmdDb250ZXh0Um9vdChjb25zdCBCb3gmIGxheW91dEJveCkg
Y29uc3QKLXsKLSAgICBBU1NFUlQobGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKTsKLSAgICBh
dXRvJiBmb3JtYXR0aW5nQ29udGV4dFJvb3QgPSByb290KCk7Ci0gICAgQVNTRVJUKGxheW91dEJv
eC5pc0NvbnRhaW5pbmdCbG9ja0Rlc2NlbmRhbnRPZihmb3JtYXR0aW5nQ29udGV4dFJvb3QpKTsK
LSAgICBhdXRvIHRvcCA9IGdlb21ldHJ5Rm9yQm94KGxheW91dEJveCkudG9wKCk7Ci0gICAgZm9y
IChhdXRvKiBjb250YWluZXJCb3ggPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGNvbnRh
aW5lckJveCAmJiBjb250YWluZXJCb3ggIT0gJmZvcm1hdHRpbmdDb250ZXh0Um9vdDsgY29udGFp
bmVyQm94ID0gY29udGFpbmVyQm94LT5jb250YWluaW5nQmxvY2soKSkKLSAgICAgICAgdG9wICs9
IGdlb21ldHJ5Rm9yQm94KCpjb250YWluZXJCb3gpLnRvcCgpOwotICAgIHJldHVybiB0b3A7Ci19
Ci0KLUxheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Om1hcExlZnRUb0Zvcm1hdHRpbmdDb250
ZXh0Um9vdChjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKLXsKLSAgICBBU1NFUlQobGF5b3V0
Qm94LmNvbnRhaW5pbmdCbG9jaygpKTsKLSAgICByZXR1cm4gbWFwSG9yaXpvbnRhbFBvc2l0aW9u
VG9BbmNlc3RvcigqdGhpcywgZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS5sZWZ0KCksICpsYXlv
dXRCb3guY29udGFpbmluZ0Jsb2NrKCksIHJvb3QoKSk7Ci19Ci0KLUxheW91dFVuaXQgRm9ybWF0
dGluZ0NvbnRleHQ6Om1hcFJpZ2h0VG9Gb3JtYXR0aW5nQ29udGV4dFJvb3QoY29uc3QgQm94JiBs
YXlvdXRCb3gpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKGxheW91dEJveC5jb250YWluaW5nQmxvY2so
KSk7Ci0gICAgcmV0dXJuIG1hcEhvcml6b250YWxQb3NpdGlvblRvQW5jZXN0b3IoKnRoaXMsIGdl
b21ldHJ5Rm9yQm94KGxheW91dEJveCkucmlnaHQoKSwgKmxheW91dEJveC5jb250YWluaW5nQmxv
Y2soKSwgcm9vdCgpKTsKLX0KLQogY29uc3QgRGlzcGxheTo6Qm94JiBGb3JtYXR0aW5nQ29udGV4
dDo6Z2VvbWV0cnlGb3JCb3goY29uc3QgQm94JiBsYXlvdXRCb3gsIE9wdGlvbmFsPEVzY2FwZVJl
YXNvbj4gZXNjYXBlUmVhc29uKSBjb25zdAogewogICAgIFVOVVNFRF9QQVJBTShlc2NhcGVSZWFz
b24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgJKHJl
dmlzaW9uIDI1NjcxMCkKKysrIFNvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC03NywxMCArNzcsNiBAQCBwdWJsaWM6CiAgICAgfTsKICAg
ICB2aXJ0dWFsIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgY29tcHV0ZWRJbnRyaW5zaWNXaWR0
aENvbnN0cmFpbnRzKCkgPSAwOwogCi0gICAgTGF5b3V0VW5pdCBtYXBUb3BUb0Zvcm1hdHRpbmdD
b250ZXh0Um9vdChjb25zdCBCb3gmKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IG1hcExlZnRUb0Zv
cm1hdHRpbmdDb250ZXh0Um9vdChjb25zdCBCb3gmKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IG1h
cFJpZ2h0VG9Gb3JtYXR0aW5nQ29udGV4dFJvb3QoY29uc3QgQm94JikgY29uc3Q7Ci0KICAgICBi
b29sIGlzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIHJvb3QoKS5lc3Rh
Ymxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQoKTsgfQogICAgIGJvb2wgaXNJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIHJvb3QoKS5lc3RhYmxpc2hlc0lubGluZUZv
cm1hdHRpbmdDb250ZXh0KCk7IH0KICAgICBib29sIGlzVGFibGVGb3JtYXR0aW5nQ29udGV4dCgp
IGNvbnN0IHsgcmV0dXJuIHJvb3QoKS5lc3RhYmxpc2hlc1RhYmxlRm9ybWF0dGluZ0NvbnRleHQo
KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiAyNTY3
MTApCisrKyBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsMzEgKzE5NSwyOSBAQCBPcHRp
b25hbDxMYXlvdXRVbml0PiBCbG9ja0Zvcm1hdHRpbmdDb250CiAgICAgLy8gVmVydGljYWwgc3Rh
dGljIHBvc2l0aW9uIGlzIG5vdCBjb21wdXRlZCB5ZXQsIHNvIGxldCdzIGp1c3QgcHJlLWNvbXB1
dGUgaXQgZm9yIG5vdy4KICAgICBwcmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckFuY2VzdG9y
cyhsYXlvdXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25zdHJhaW50cyk7
CiAgICAgcHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb24obGF5b3V0Qm94LCBob3Jpem9udGFsQ29u
c3RyYWludHMuY29udGFpbmluZ0Jsb2NrLCB2ZXJ0aWNhbENvbnN0cmFpbnRzLmNvbnRhaW5pbmdC
bG9jayk7Ci0gICAgYXV0byB2ZXJ0aWNhbFBvc2l0aW9uID0gbWFwVG9wVG9Gb3JtYXR0aW5nQ29u
dGV4dFJvb3QobGF5b3V0Qm94KTsKLSAgICAvLyBGSVhNRTogQ2hlY2sgaWYgdGhlIG5vbi15ZXQt
Y29tcHV0ZWQgaGVpZ2h0IGFmZmVjdHMgdGhpcyBjb21wdXRhdGlvbiAtIGFuZCB3aGV0aGVyIHdl
IGhhdmUgdG8gcmVzb2x2ZSBpdAotICAgIC8vIGF0IGEgbGF0ZXIgcG9pbnQgb3Igbm90IChjYW4n
dCBmaW5kIHRoaXMgaW4gdGhlIHNwZWMpLgorCisgICAgYXV0byBtYXBMb2dpY2FsVG9wVG9Gb3Jt
YXR0aW5nQ29udGV4dFJvb3QgPSBbJl0geworICAgICAgICBhdXRvJiBmb3JtYXR0aW5nQ29udGV4
dFJvb3QgPSByb290KCk7CisgICAgICAgIEFTU0VSVChsYXlvdXRCb3guaXNDb250YWluaW5nQmxv
Y2tEZXNjZW5kYW50T2YoZm9ybWF0dGluZ0NvbnRleHRSb290KSk7CisgICAgICAgIGF1dG8gdG9w
ID0gZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KS50b3AoKTsKKyAgICAgICAgZm9yIChhdXRvKiBj
b250YWluZXJCb3ggPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGNvbnRhaW5lckJveCAm
JiBjb250YWluZXJCb3ggIT0gJmZvcm1hdHRpbmdDb250ZXh0Um9vdDsgY29udGFpbmVyQm94ID0g
Y29udGFpbmVyQm94LT5jb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgICAgIHRvcCArPSBnZW9t
ZXRyeUZvckJveCgqY29udGFpbmVyQm94KS50b3AoKTsKKyAgICAgICAgcmV0dXJuIHRvcDsKKyAg
ICB9OworCisgICAgYXV0byB2ZXJ0aWNhbFBvc2l0aW9uID0gbWFwTG9naWNhbFRvcFRvRm9ybWF0
dGluZ0NvbnRleHRSb290KCk7CisgICAgLy8gRklYTUU6IENoZWNrIGlmIHRoZSBub24teWV0LWNv
bXB1dGVkIGhlaWdodCBhZmZlY3RzIHRoaXMgY29tcHV0YXRpb24gLSBhbmQgd2hldGhlciB3ZSBo
YXZlIHRvIHJlc29sdmUgaXQgYXQgYSBsYXRlciBwb2ludC4KICAgICBhdXRvIGNvbnN0cmFpbnRz
ID0gZmxvYXRpbmdDb250ZXh0LmNvbnN0cmFpbnRzKHZlcnRpY2FsUG9zaXRpb24sIHZlcnRpY2Fs
UG9zaXRpb24pOwogICAgIGlmICghY29uc3RyYWludHMubGVmdCAmJiAhY29uc3RyYWludHMucmln
aHQpCiAgICAgICAgIHJldHVybiB7IH07Ci0gICAgYXV0byYgY29udGFpbmluZ0Jsb2NrID0gKmxh
eW91dEJveC5jb250YWluaW5nQmxvY2soKTsKLSAgICBhdXRvJiBjb250YWluaW5nQmxvY2tHZW9t
ZXRyeSA9IGdlb21ldHJ5Rm9yQm94KGNvbnRhaW5pbmdCbG9jayk7Ci0gICAgYXV0byBhdmFpbGFi
bGVXaWR0aCA9IGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LmNvbnRlbnRCb3hXaWR0aCgpOwotCi0g
ICAgTGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tMZWZ0OwotICAgIExheW91dFVuaXQgY29udGFp
bmluZ0Jsb2NrUmlnaHQgPSBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5yaWdodCgpOwotICAgIGlm
ICgmY29udGFpbmluZ0Jsb2NrICE9ICZyb290KCkpIHsKLSAgICAgICAgLy8gTW92ZSBjb250YWlu
aW5nIGJsb2NrIGxlZnQvcmlnaHQgdG8gdGhlIHJvb3QncyBjb29yZGluYXRlIHN5c3RlbS4KLSAg
ICAgICAgY29udGFpbmluZ0Jsb2NrTGVmdCA9IG1hcExlZnRUb0Zvcm1hdHRpbmdDb250ZXh0Um9v
dChjb250YWluaW5nQmxvY2spOwotICAgICAgICBjb250YWluaW5nQmxvY2tSaWdodCA9IG1hcFJp
Z2h0VG9Gb3JtYXR0aW5nQ29udGV4dFJvb3QoY29udGFpbmluZ0Jsb2NrKTsKLSAgICB9Ci0gICAg
YXV0byBjb250YWluaW5nQmxvY2tDb250ZW50Qm94TGVmdCA9IGNvbnRhaW5pbmdCbG9ja0xlZnQg
KyBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5ib3JkZXJMZWZ0KCkgKyBjb250YWluaW5nQmxvY2tH
ZW9tZXRyeS5wYWRkaW5nTGVmdCgpLnZhbHVlT3IoMCk7Ci0gICAgYXV0byBjb250YWluaW5nQmxv
Y2tDb250ZW50Qm94UmlnaHQgPSBjb250YWluaW5nQmxvY2tSaWdodCAtIGNvbnRhaW5pbmdCbG9j
a0dlb21ldHJ5LmJvcmRlclJpZ2h0KCkgKyBjb250YWluaW5nQmxvY2tHZW9tZXRyeS5wYWRkaW5n
UmlnaHQoKS52YWx1ZU9yKDApOwotCiAgICAgLy8gU2hyaW5rIHRoZSBhdmFpbGFibGUgc3BhY2Ug
aWYgdGhlIGZsb2F0cyBhcmUgYWN0dWFsbHkgaW50cnVkaW5nIGF0IHRoaXMgdmVydGljYWwgcG9z
aXRpb24uCisgICAgYXV0byBhdmFpbGFibGVXaWR0aCA9IGhvcml6b250YWxDb25zdHJhaW50cy5j
b250YWluaW5nQmxvY2subG9naWNhbFdpZHRoOwogICAgIGlmIChjb25zdHJhaW50cy5sZWZ0KQot
ICAgICAgICBhdmFpbGFibGVXaWR0aCAtPSBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCBjb25zdHJh
aW50cy5sZWZ0LT54IC0gY29udGFpbmluZ0Jsb2NrQ29udGVudEJveExlZnQpOwotICAgIGlmIChj
b25zdHJhaW50cy5yaWdodCkKLSAgICAgICAgYXZhaWxhYmxlV2lkdGggLT0gc3RkOjptYXg8TGF5
b3V0VW5pdD4oMCwgY29udGFpbmluZ0Jsb2NrQ29udGVudEJveFJpZ2h0IC0gY29uc3RyYWludHMu
cmlnaHQtPngpOworICAgICAgICBhdmFpbGFibGVXaWR0aCAtPSBjb25zdHJhaW50cy5sZWZ0LT54
OworICAgIGlmIChjb25zdHJhaW50cy5yaWdodCkgeworICAgICAgICAvLyBGSVhNRTogTWFwIHRo
ZSBsb2dpY2FsUmlnaHQgdG8gdGhlIHJvb3QncyBjb29yZGluYXRlIHN5c3RlbS4KKyAgICAgICAg
YXZhaWxhYmxlV2lkdGggLT0gc3RkOjptYXgoMF9sdSwgaG9yaXpvbnRhbENvbnN0cmFpbnRzLmNv
bnRhaW5pbmdCbG9jay5sb2dpY2FsUmlnaHQoKSAtIGNvbnN0cmFpbnRzLnJpZ2h0LT54KTsKKyAg
ICB9CiAgICAgcmV0dXJuIGF2YWlsYWJsZVdpZHRoOwogfQogCkBAIC0zNTgsNyArMzU2LDkgQEAg
dm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlV2lkdAogICAgICAgICAgICAgcmV0
dXJuIGdlb21ldHJ5KCkuZmxvYXRpbmdXaWR0aEFuZE1hcmdpbihsYXlvdXRCb3gsIGhvcml6b250
YWxDb25zdHJhaW50cywgeyB1c2VkV2lkdGgsIHsgfSB9KTsKIAogICAgICAgICBpZiAobGF5b3V0
Qm94LmlzRmxvYXRBdm9pZGVyKCkpIHsKLSAgICAgICAgICAgIGF1dG8gYXZhaWxhYmxlV2lkdGgg
PSB1c2VkQXZhaWxhYmxlV2lkdGhGb3JGbG9hdEF2b2lkZXIoZmxvYXRpbmdDb250ZXh0LCBsYXlv
dXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50c1BhaXIsIHZlcnRpY2FsQ29uc3RyYWludHNQYWly
KS52YWx1ZU9yKGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lkdGgpOworICAgICAgICAg
ICAgYXV0byBhdmFpbGFibGVXaWR0aCA9IGhvcml6b250YWxDb25zdHJhaW50cy5sb2dpY2FsV2lk
dGg7CisgICAgICAgICAgICBpZiAobGF5b3V0Qm94LnN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNB
dXRvKCkpCisgICAgICAgICAgICAgICAgYXZhaWxhYmxlV2lkdGggPSB1c2VkQXZhaWxhYmxlV2lk
dGhGb3JGbG9hdEF2b2lkZXIoZmxvYXRpbmdDb250ZXh0LCBsYXlvdXRCb3gsIGhvcml6b250YWxD
b25zdHJhaW50c1BhaXIsIHZlcnRpY2FsQ29uc3RyYWludHNQYWlyKS52YWx1ZU9yKGF2YWlsYWJs
ZVdpZHRoKTsKICAgICAgICAgICAgIHJldHVybiBnZW9tZXRyeSgpLmluRmxvd1dpZHRoQW5kTWFy
Z2luKGxheW91dEJveCwgeyBob3Jpem9udGFsQ29uc3RyYWludHMubG9naWNhbExlZnQsIGF2YWls
YWJsZVdpZHRoIH0sIHsgdXNlZFdpZHRoLCB7IH0gfSk7CiAgICAgICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>