<?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>217411</bug_id>
          
          <creation_ts>2020-10-06 15:40:43 -0700</creation_ts>
          <short_desc>[LFC][Floating] Move FloatingState::top/bottom functions over to FloatingContext</short_desc>
          <delta_ts>2020-10-07 06:20:53 -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>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>1695359</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-10-06 15:40:43 -0700</bug_when>
    <thetext>This is in preparation for adding &lt;br clear&gt; support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695422</commentid>
    <comment_count>1</comment_count>
      <attachid>410722</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-10-06 18:00:25 -0700</bug_when>
    <thetext>Created attachment 410722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695515</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-07 06:19:45 -0700</bug_when>
    <thetext>Committed r268121: &lt;https://trac.webkit.org/changeset/268121&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410722.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695516</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-07 06:20:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/70044939&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410722</attachid>
            <date>2020-10-06 18:00:25 -0700</date>
            <delta_ts>2020-10-07 06:19:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217411-20201006180024.patch</filename>
            <type>text/plain</type>
            <size>13736</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3OTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y5MzJmM2EzOTAzNzkw
ODhiZmRjZGRhMzUxOTZjMmFlNzIyOTFkZS4uYTU2ZTZjMTA0OTc4YmM5OGM0MDc0ZjY4MDY4YmIw
ZjY4ZGY1NTcyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTEwLTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bRmxvYXRpbmddIE1v
dmUgRmxvYXRpbmdTdGF0ZTo6dG9wL2JvdHRvbSBmdW5jdGlvbnMgb3ZlciB0byBGbG9hdGluZ0Nv
bnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
NzQxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZv
cm1hdHRpbmdTdGF0ZSBjbGFzc2VzIGFyZSBtb3N0bHkgYWJvdXQgc2V0dGVycyBhbmQgZ2V0dGVy
cyBhbmQgdGhleSBkb24ndCBoYXZlIGFueSBpbnZvbHZlZCBsb2dpYy4KKyAgICAgICAgV2hpbGUg
Ym90aCB0b3AoKSBhbmQgYm90dG9tKCkgYXJlIGJvdGggcmF0aGVyIGxpZ2h0d2VpZ2h0IGF0IHRo
ZSBtb21lbnQsIGl0IHdpbGwgY2hhbmdlIHdpdGggdGhlCisgICAgICAgIHVwY29taW5nIDxiciBj
bGVhcj4gZmVhdHVyZS4gTGV0J3MganVzdCBtb3ZlIHRoZXNlIGZ1bmN0aW9uIG92ZXIgdG8gRmxv
YXRpbmdDb250ZXh0LgorCisgICAgICAgICogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6OmNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXBs
aWNhdGVkQ2FzZXMgY29uc3QpOgorICAgICAgICAqIGxheW91dC9mbG9hdHMvRmxvYXRpbmdDb250
ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdDb250ZXh0Ojpwb3Np
dGlvbkZvckZsb2F0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdD
b250ZXh0Ojp2ZXJ0aWNhbFBvc2l0aW9uV2l0aENsZWFyYW5jZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6Ym90dG9tIGNvbnN0KTogVGhlIGNoZWNr
IGZvciBpc0luRm9ybWF0dGluZ0NvbnRleHRPZigpIGlzIHJlZHVuZGFudCwgc28gbGV0J3Mgbm90
IGFkZCB0aGF0IGJhY2sgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdD
b250ZXh0Ojp0b3AgY29uc3QpOgorICAgICAgICAqIGxheW91dC9mbG9hdHMvRmxvYXRpbmdDb250
ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6bGVmdEJv
dHRvbSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5nQ29udGV4dDo6
cmlnaHRCb3R0b20gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGbG9hdGluZ0Nv
bnRleHQ6OmJvdHRvbSBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0
YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdTdGF0ZTo6Ym90dG9t
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdTdGF0
ZTo6dG9wIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0aW5n
U3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6RmxvYXRpbmdTdGF0ZTo6bGVmdEJv
dHRvbSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZsb2F0aW5n
U3RhdGU6OnJpZ2h0Qm90dG9tIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6RmxvYXRpbmdTdGF0ZTo6Ym90dG9tIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMC0xMC0w
NiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEZvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdDb250ZXh0
Um9vdCBzaG91bGQgdGFrZSBhIGNvbnN0IENvbnRhaW5lckJveCYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCAxNGJlMWE0
ZWU2ZjAxNDE4ODQ5ZTI0Y2FlNzQzMDc5MGQ1NjJlYTc4Li40NGVmNzU1NDBhYWJlY2E5MzdiMGZl
ODk2ZjUxZjhmMTBiZWU5ZTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJCbG9ja0Zvcm1hdHRpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIkZsZXhGb3JtYXR0aW5nU3RhdGUu
aCIKKyNpbmNsdWRlICJGbG9hdGluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJGbG9hdGluZ1N0YXRl
LmgiCiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiTGF5b3V0
Q29udGV4dC5oIgpAQCAtMjEzLDEzICsyMTQsMTMgQEAgTGF5b3V0VW5pdCBGb3JtYXR0aW5nQ29u
dGV4dDo6R2VvbWV0cnk6OmNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJvb3QoY28K
ICAgICB9IGVsc2UKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICBhdXRvJiBm
bG9hdGluZ1N0YXRlID0gbGF5b3V0U3RhdGUuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUoZm9y
bWF0dGluZ0NvbnRleHRSb290KS5mbG9hdGluZ1N0YXRlKCk7Ci0gICAgYXV0byBmbG9hdEJvdHRv
bSA9IGZsb2F0aW5nU3RhdGUuYm90dG9tKGZvcm1hdHRpbmdDb250ZXh0Um9vdCk7CisgICAgYXV0
byBmbG9hdGluZ0NvbnRleHQgPSBGbG9hdGluZ0NvbnRleHQgeyBmb3JtYXR0aW5nQ29udGV4dCwg
bGF5b3V0U3RhdGUuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUoZm9ybWF0dGluZ0NvbnRleHRS
b290KS5mbG9hdGluZ1N0YXRlKCkgfTsKKyAgICBhdXRvIGZsb2F0Qm90dG9tID0gZmxvYXRpbmdD
b250ZXh0LmJvdHRvbSgpOwogICAgIGlmIChmbG9hdEJvdHRvbSkgewotICAgICAgICBib3R0b20g
PSBzdGQ6Om1heDxMYXlvdXRVbml0PigqZmxvYXRCb3R0b20sIGJvdHRvbSk7Ci0gICAgICAgIGF1
dG8gZmxvYXRUb3AgPSBmbG9hdGluZ1N0YXRlLnRvcChmb3JtYXR0aW5nQ29udGV4dFJvb3QpOwor
ICAgICAgICBib3R0b20gPSBzdGQ6Om1heCgqZmxvYXRCb3R0b20sIGJvdHRvbSk7CisgICAgICAg
IGF1dG8gZmxvYXRUb3AgPSBmbG9hdGluZ0NvbnRleHQudG9wKCk7CiAgICAgICAgIEFTU0VSVChm
bG9hdFRvcCk7Ci0gICAgICAgIHRvcCA9IHN0ZDo6bWluPExheW91dFVuaXQ+KCpmbG9hdFRvcCwg
dG9wKTsKKyAgICAgICAgdG9wID0gc3RkOjptaW4oKmZsb2F0VG9wLCB0b3ApOwogICAgIH0KICAg
ICBhdXRvIGNvbXB1dGVkSGVpZ2h0ID0gYm90dG9tIC0gdG9wOwogCkBAIC04MjksMTAgKzgzMCwx
MCBAQCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIEZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6
Y29tcGxpY2F0ZWRDYXNlcyhjb25zdCBCb3gmCiAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgc3Bl
Y2lhbCAocXVpcms/KSBiZWhhdmlvciBzaW5jZSB0aGUgZG9jdW1lbnQgYm94IGlzIG5vdCBhIGZv
cm1hdHRpbmcgY29udGV4dCByb290IGFuZAogICAgICAgICAgICAgLy8gYWxsIHRoZSBmbG9hdCBi
b3hlcyBlbmQgdXAgYXQgdGhlIElDQiBsZXZlbC4KICAgICAgICAgICAgIGF1dG8mIGluaXRpYWxD
b250YWluaW5nQmxvY2sgPSBkb2N1bWVudEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKTsKLSAg
ICAgICAgICAgIGF1dG8mIGZsb2F0aW5nU3RhdGUgPSBsYXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVk
Rm9ybWF0dGluZ1N0YXRlKGluaXRpYWxDb250YWluaW5nQmxvY2spLmZsb2F0aW5nU3RhdGUoKTsK
LSAgICAgICAgICAgIGlmIChhdXRvIGZsb2F0Qm90dG9tID0gZmxvYXRpbmdTdGF0ZS5ib3R0b20o
aW5pdGlhbENvbnRhaW5pbmdCbG9jaykpIHsKKyAgICAgICAgICAgIGF1dG8gZmxvYXRpbmdDb250
ZXh0ID0gRmxvYXRpbmdDb250ZXh0IHsgZm9ybWF0dGluZ0NvbnRleHQoKSwgbGF5b3V0U3RhdGUo
KS5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShpbml0aWFsQ29udGFpbmluZ0Jsb2NrKS5mbG9h
dGluZ1N0YXRlKCkgfTsKKyAgICAgICAgICAgIGlmIChhdXRvIGZsb2F0Qm90dG9tID0gZmxvYXRp
bmdDb250ZXh0LmJvdHRvbSgpKSB7CiAgICAgICAgICAgICAgICAgYm90dG9tID0gc3RkOjptYXg8
TGF5b3V0VW5pdD4oKmZsb2F0Qm90dG9tLCBib3R0b20pOwotICAgICAgICAgICAgICAgIGF1dG8g
ZmxvYXRUb3AgPSBmbG9hdGluZ1N0YXRlLnRvcChpbml0aWFsQ29udGFpbmluZ0Jsb2NrKTsKKyAg
ICAgICAgICAgICAgICBhdXRvIGZsb2F0VG9wID0gZmxvYXRpbmdDb250ZXh0LnRvcCgpOwogICAg
ICAgICAgICAgICAgIEFTU0VSVChmbG9hdFRvcCk7CiAgICAgICAgICAgICAgICAgdG9wID0gc3Rk
OjptaW48TGF5b3V0VW5pdD4oKmZsb2F0VG9wLCB0b3ApOwogICAgICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwCmluZGV4IGY2
ZGJiYjRhMTYyMDMyMTg1MmRmZDFkOTNmMGY3YmM1YTJjZDk1MDYuLmJmYzViNzdjNzQ0MWViODk5
OWMzNjdkZTgwZjE4YTVkNmMxZjAzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
ZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5jcHAKQEAgLTI0NSwxNCArMjQ1LDE0IEBAIExheW91dFBv
aW50IEZsb2F0aW5nQ29udGV4dDo6cG9zaXRpb25Gb3JGbG9hdChjb25zdCBCb3gmIGxheW91dEJv
eCwgY29uc3QgSG9yaXpvCiAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29udGV4
dCgpLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CiAgICAgaWYgKGxheW91dEJveC5oYXNGbG9h
dENsZWFyKCkpIHsKICAgICAgICAgLy8gVGhlIHZlcnRpY2FsIHBvc2l0aW9uIGNhbmRpZGF0ZSBu
ZWVkcyB0byBjbGVhciB0aGUgZXhpc3RpbmcgZmxvYXRzIGluIHRoaXMgY29udGV4dC4KLSAgICAg
ICAgYXV0byBmbG9hdEJvdHRvbSA9IFsmXSgpIC0+IE9wdGlvbmFsPFBvc2l0aW9uSW5Db250ZXh0
Um9vdD4geworICAgICAgICBhdXRvIGZsb2F0Qm90dG9tID0gWyZdKCkgLT4gT3B0aW9uYWw8TGF5
b3V0VW5pdD4gewogICAgICAgICAgICAgc3dpdGNoIChsYXlvdXRCb3guc3R5bGUoKS5jbGVhcigp
KSB7CiAgICAgICAgICAgICBjYXNlIENsZWFyOjpMZWZ0OgotICAgICAgICAgICAgICAgIHJldHVy
biBmbG9hdGluZ1N0YXRlKCkubGVmdEJvdHRvbShyb290KCkpOworICAgICAgICAgICAgICAgIHJl
dHVybiBsZWZ0Qm90dG9tKCk7CiAgICAgICAgICAgICBjYXNlIENsZWFyOjpSaWdodDoKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZmxvYXRpbmdTdGF0ZSgpLnJpZ2h0Qm90dG9tKHJvb3QoKSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHJpZ2h0Qm90dG9tKCk7CiAgICAgICAgICAgICBjYXNlIENs
ZWFyOjpCb3RoOgotICAgICAgICAgICAgICAgIHJldHVybiBmbG9hdGluZ1N0YXRlKCkuYm90dG9t
KHJvb3QoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGJvdHRvbSgpOwogICAgICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
ICAgIH0KQEAgLTMwNiw3ICszMDYsNyBAQCBGbG9hdGluZ0NvbnRleHQ6OkNsZWFyYW5jZVBvc2l0
aW9uIEZsb2F0aW5nQ29udGV4dDo6dmVydGljYWxQb3NpdGlvbldpdGhDbGVhcmFuYwogICAgIGlm
IChpc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGJvdHRvbSA9IFsm
XShPcHRpb25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IGZsb2F0Qm90dG9tKSAtPiBDbGVhcmFu
Y2VQb3NpdGlvbiB7CisgICAgYXV0byBib3R0b20gPSBbJl0oT3B0aW9uYWw8TGF5b3V0VW5pdD4g
ZmxvYXRCb3R0b20pIC0+IENsZWFyYW5jZVBvc2l0aW9uIHsKICAgICAgICAgLy8gJ2JvdHRvbScg
aXMgaW4gdGhlIGZvcm1hdHRpbmcgcm9vdCdzIGNvb3JkaW5hdGUgc3lzdGVtLgogICAgICAgICBp
ZiAoIWZsb2F0Qm90dG9tKQogICAgICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTM1MSwxOCArMzUx
LDQwIEBAIEZsb2F0aW5nQ29udGV4dDo6Q2xlYXJhbmNlUG9zaXRpb24gRmxvYXRpbmdDb250ZXh0
Ojp2ZXJ0aWNhbFBvc2l0aW9uV2l0aENsZWFyYW5jCiAKICAgICBhdXRvIGNsZWFyID0gbGF5b3V0
Qm94LnN0eWxlKCkuY2xlYXIoKTsKICAgICBpZiAoY2xlYXIgPT0gQ2xlYXI6OkxlZnQpCi0gICAg
ICAgIHJldHVybiBib3R0b20obV9mbG9hdGluZ1N0YXRlLmxlZnRCb3R0b20ocm9vdCgpKSk7Cisg
ICAgICAgIHJldHVybiBib3R0b20obGVmdEJvdHRvbSgpKTsKIAogICAgIGlmIChjbGVhciA9PSBD
bGVhcjo6UmlnaHQpCi0gICAgICAgIHJldHVybiBib3R0b20obV9mbG9hdGluZ1N0YXRlLnJpZ2h0
Qm90dG9tKHJvb3QoKSkpOworICAgICAgICByZXR1cm4gYm90dG9tKHJpZ2h0Qm90dG9tKCkpOwog
CiAgICAgaWYgKGNsZWFyID09IENsZWFyOjpCb3RoKQotICAgICAgICByZXR1cm4gYm90dG9tKG1f
ZmxvYXRpbmdTdGF0ZS5ib3R0b20ocm9vdCgpKSk7CisgICAgICAgIHJldHVybiBib3R0b20odGhp
cy0+Ym90dG9tKCkpOwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHsg
fTsKIH0KIAorT3B0aW9uYWw8TGF5b3V0VW5pdD4gRmxvYXRpbmdDb250ZXh0Ojpib3R0b20oQ2xl
YXIgdHlwZSkgY29uc3QKK3sKKyAgICAvLyBUT0RPOiBDdXJyZW50bHkgdGhpcyBpcyBvbmx5IGNh
bGxlZCBvbmNlIGZvciBlYWNoIGZvcm1hdHRpbmcgY29udGV4dCByb290IHdpdGggZmxvYXRzIHBl
ciBsYXlvdXQuCisgICAgLy8gQ2FjaGUgdGhlIHZhbHVlIGlmIHdlIGVuZCB1cCBjYWxsaW5nIGl0
IG1vcmUgZnJlcXVlbnRseSAoYW5kIHVwZGF0ZSBpdCBhdCBhcHBlbmQvcmVtb3ZlKS4KKyAgICBh
dXRvIGJvdHRvbSA9IE9wdGlvbmFsPExheW91dFVuaXQ+IHsgfTsKKyAgICBmb3IgKGF1dG8mIGZs
b2F0SXRlbSA6IGZsb2F0aW5nU3RhdGUoKS5mbG9hdHMoKSkgeworICAgICAgICBpZiAoKHR5cGUg
PT0gQ2xlYXI6OkxlZnQgJiYgIWZsb2F0SXRlbS5pc0xlZnRQb3NpdGlvbmVkKCkpCisgICAgICAg
ICAgICB8fCAodHlwZSA9PSBDbGVhcjo6UmlnaHQgJiYgZmxvYXRJdGVtLmlzTGVmdFBvc2l0aW9u
ZWQoKSkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYm90dG9tID0gIWJvdHRvbSA/
IGZsb2F0SXRlbS5yZWN0V2l0aE1hcmdpbigpLmJvdHRvbSgpIDogc3RkOjptYXgoKmJvdHRvbSwg
ZmxvYXRJdGVtLnJlY3RXaXRoTWFyZ2luKCkuYm90dG9tKCkpOworICAgIH0KKyAgICByZXR1cm4g
Ym90dG9tOworfQorCitPcHRpb25hbDxMYXlvdXRVbml0PiBGbG9hdGluZ0NvbnRleHQ6OnRvcCgp
IGNvbnN0Cit7CisgICAgYXV0byB0b3AgPSBPcHRpb25hbDxMYXlvdXRVbml0PiB7IH07CisgICAg
Zm9yIChhdXRvJiBmbG9hdEl0ZW0gOiBmbG9hdGluZ1N0YXRlKCkuZmxvYXRzKCkpCisgICAgICAg
IHRvcCA9ICF0b3AgPyBmbG9hdEl0ZW0ucmVjdFdpdGhNYXJnaW4oKS50b3AoKSA6IHN0ZDo6bWlu
KCp0b3AsIGZsb2F0SXRlbS5yZWN0V2l0aE1hcmdpbigpLnRvcCgpKTsKKyAgICByZXR1cm4gdG9w
OworfQorCiBGbG9hdGluZ0NvbnRleHQ6OkNvbnN0cmFpbnRzIEZsb2F0aW5nQ29udGV4dDo6Y29u
c3RyYWludHMoTGF5b3V0VW5pdCBjYW5kaWRhdGVUb3AsIExheW91dFVuaXQgY2FuZGlkYXRlQm90
dG9tKSBjb25zdAogewogICAgIGlmIChpc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuaAppbmRleCAxNzAxZTE1MWNmN2JlYWRiYjdlNzNl
N2Y3YTI0OGI0YjllNGFlNzc0Li5lYTNhMmE2OGUwYWJhMTdlOWM3ZmI5ZjJmNjFkY2QxZjMxMjY4
N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29u
dGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0
LmgKQEAgLTU3LDYgKzU3LDExIEBAIHB1YmxpYzoKICAgICB9OwogICAgIENsZWFyYW5jZVBvc2l0
aW9uIHZlcnRpY2FsUG9zaXRpb25XaXRoQ2xlYXJhbmNlKGNvbnN0IEJveCYpIGNvbnN0OwogCisg
ICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gdG9wKCkgY29uc3Q7CisgICAgT3B0aW9uYWw8TGF5b3V0
VW5pdD4gbGVmdEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIGJvdHRvbShDbGVhcjo6TGVmdCk7IH0K
KyAgICBPcHRpb25hbDxMYXlvdXRVbml0PiByaWdodEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIGJv
dHRvbShDbGVhcjo6UmlnaHQpOyB9CisgICAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gYm90dG9tKCkg
Y29uc3QgeyByZXR1cm4gYm90dG9tKENsZWFyOjpCb3RoKTsgfQorCiAgICAgYm9vbCBpc0VtcHR5
KCkgY29uc3QgeyByZXR1cm4gbV9mbG9hdGluZ1N0YXRlLmZsb2F0cygpLmlzRW1wdHkoKTsgfQog
CiAgICAgc3RydWN0IENvbnN0cmFpbnRzIHsKQEAgLTY3LDYgKzcyLDggQEAgcHVibGljOgogICAg
IHZvaWQgYXBwZW5kKGNvbnN0IEJveCYpOwogCiBwcml2YXRlOgorICAgIE9wdGlvbmFsPExheW91
dFVuaXQ+IGJvdHRvbShDbGVhcikgY29uc3Q7CisKICAgICBMYXlvdXRTdGF0ZSYgbGF5b3V0U3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX2Zsb2F0aW5nU3RhdGUubGF5b3V0U3RhdGUoKTsgfQogICAg
IGNvbnN0IEZvcm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0
dXJuIG1fZm9ybWF0dGluZ0NvbnRleHQ7IH0KICAgICBjb25zdCBDb250YWluZXJCb3gmIHJvb3Qo
KSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdHRpbmdDb250ZXh0LnJvb3QoKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ1N0YXRlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdTdGF0ZS5jcHAKaW5kZXggY2ZmOWM0MDQw
YmY0Zjg3ODAzNmY3ZDUwMjEwNWFjY2EzMGI1ZDk1Yi4uYjliY2RhMDA2ZDcxYzVlZmIzN2JjYzJl
YTA3MjI5OTMzYzQyYjhhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0
cy9GbG9hdGluZ1N0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zs
b2F0aW5nU3RhdGUuY3BwCkBAIC05MSw1NCArOTEsNiBAQCB2b2lkIEZsb2F0aW5nU3RhdGU6OmFw
cGVuZChGbG9hdEl0ZW0gZmxvYXRJdGVtKQogICAgIHJldHVybiBtX2Zsb2F0cy5pbnNlcnQoMCwg
ZmxvYXRJdGVtKTsKIH0KIAotT3B0aW9uYWw8UG9zaXRpb25JbkNvbnRleHRSb290PiBGbG9hdGlu
Z1N0YXRlOjpib3R0b20oY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4dFJvb3Qs
IENsZWFyIHR5cGUpIGNvbnN0Ci17Ci0gICAgaWYgKG1fZmxvYXRzLmlzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIHsgfTsKLQotICAgIC8vIFRPRE86IEN1cnJlbnRseSB0aGlzIGlzIG9ubHkgY2Fs
bGVkIG9uY2UgZm9yIGVhY2ggZm9ybWF0dGluZyBjb250ZXh0IHJvb3Qgd2l0aCBmbG9hdHMgcGVy
IGxheW91dC4KLSAgICAvLyBDYWNoZSB0aGUgdmFsdWUgaWYgd2UgZW5kIHVwIGNhbGxpbmcgaXQg
bW9yZSBmcmVxdWVudGx5IChhbmQgdXBkYXRlIGl0IGF0IGFwcGVuZC9yZW1vdmUpLgotICAgIE9w
dGlvbmFsPFBvc2l0aW9uSW5Db250ZXh0Um9vdD4gYm90dG9tOwotICAgIGZvciAoYXV0byYgZmxv
YXRJdGVtIDogbV9mbG9hdHMpIHsKLSAgICAgICAgLy8gSWdub3JlIGZsb2F0cyBmcm9tIGFuY2Vz
dG9yIGZvcm1hdHRpbmcgY29udGV4dHMgd2hlbiB0aGUgZmxvYXRpbmcgc3RhdGUgaXMgaW5oZXJp
dGVkLgotICAgICAgICBpZiAoIWZsb2F0SXRlbS5pc0luRm9ybWF0dGluZ0NvbnRleHRPZihmb3Jt
YXR0aW5nQ29udGV4dFJvb3QpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYg
KCh0eXBlID09IENsZWFyOjpMZWZ0ICYmICFmbG9hdEl0ZW0uaXNMZWZ0UG9zaXRpb25lZCgpKQot
ICAgICAgICAgICAgfHwgKHR5cGUgPT0gQ2xlYXI6OlJpZ2h0ICYmIGZsb2F0SXRlbS5pc0xlZnRQ
b3NpdGlvbmVkKCkpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgYXV0byBmbG9h
dHNCb3R0b20gPSBmbG9hdEl0ZW0ucmVjdFdpdGhNYXJnaW4oKS5ib3R0b20oKTsKLSAgICAgICAg
aWYgKGJvdHRvbSkgewotICAgICAgICAgICAgYm90dG9tID0gc3RkOjptYXg8UG9zaXRpb25JbkNv
bnRleHRSb290PigqYm90dG9tLCB7IGZsb2F0c0JvdHRvbSB9KTsKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICB9Ci0gICAgICAgIGJvdHRvbSA9IFBvc2l0aW9uSW5Db250ZXh0Um9vdCB7
IGZsb2F0c0JvdHRvbSB9OwotICAgIH0KLSAgICByZXR1cm4gYm90dG9tOwotfQotCi1PcHRpb25h
bDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IEZsb2F0aW5nU3RhdGU6OnRvcChjb25zdCBDb250YWlu
ZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCkgY29uc3QKLXsKLSAgICBpZiAobV9mbG9hdHMu
aXNFbXB0eSgpKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgT3B0aW9uYWw8UG9zaXRpb25J
bkNvbnRleHRSb290PiB0b3A7Ci0gICAgZm9yIChhdXRvJiBmbG9hdEl0ZW0gOiBtX2Zsb2F0cykg
ewotICAgICAgICAvLyBJZ25vcmUgZmxvYXRzIGZyb20gYW5jZXN0b3IgZm9ybWF0dGluZyBjb250
ZXh0cyB3aGVuIHRoZSBmbG9hdGluZyBzdGF0ZSBpcyBpbmhlcml0ZWQuCi0gICAgICAgIGlmICgh
ZmxvYXRJdGVtLmlzSW5Gb3JtYXR0aW5nQ29udGV4dE9mKGZvcm1hdHRpbmdDb250ZXh0Um9vdCkp
Ci0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBhdXRvIGZsb2F0VG9wID0gZmxvYXRJ
dGVtLnJlY3RXaXRoTWFyZ2luKCkudG9wKCk7Ci0gICAgICAgIGlmICh0b3ApIHsKLSAgICAgICAg
ICAgIHRvcCA9IHN0ZDo6bWluPFBvc2l0aW9uSW5Db250ZXh0Um9vdD4oKnRvcCwgeyBmbG9hdFRv
cCB9KTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIHRvcCA9IFBv
c2l0aW9uSW5Db250ZXh0Um9vdCB7IGZsb2F0VG9wIH07Ci0gICAgfQotICAgIHJldHVybiB0b3A7
Ci19Ci0KIH0KIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zs
b2F0cy9GbG9hdGluZ1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0
aW5nU3RhdGUuaAppbmRleCAzNzIwZjBlYzg5NzMzMzQyNTAxMGUxYjFhZmE0ZDFiYThkODVhMTE4
Li41OTVjMDM0ZDA3ODg3ODg4OGIyOGFkMDI5OTgzODNkNTc4ZTJjNDQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nU3RhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nU3RhdGUuaApAQCAtNTEsMTEgKzUxLDYgQEAg
cHVibGljOgogCiAgICAgY29uc3QgQ29udGFpbmVyQm94JiByb290KCkgY29uc3QgeyByZXR1cm4g
Km1fZm9ybWF0dGluZ0NvbnRleHRSb290OyB9CiAKLSAgICBPcHRpb25hbDxQb3NpdGlvbkluQ29u
dGV4dFJvb3Q+IHRvcChjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0Um9vdCkg
Y29uc3Q7Ci0gICAgT3B0aW9uYWw8UG9zaXRpb25JbkNvbnRleHRSb290PiBsZWZ0Qm90dG9tKGNv
bnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290KSBjb25zdDsKLSAgICBPcHRp
b25hbDxQb3NpdGlvbkluQ29udGV4dFJvb3Q+IHJpZ2h0Qm90dG9tKGNvbnN0IENvbnRhaW5lckJv
eCYgZm9ybWF0dGluZ0NvbnRleHRSb290KSBjb25zdDsKLSAgICBPcHRpb25hbDxQb3NpdGlvbklu
Q29udGV4dFJvb3Q+IGJvdHRvbShjb25zdCBDb250YWluZXJCb3gmIGZvcm1hdHRpbmdDb250ZXh0
Um9vdCkgY29uc3Q7Ci0KICAgICBjbGFzcyBGbG9hdEl0ZW0gewogICAgIHB1YmxpYzoKICAgICAg
ICAgRmxvYXRJdGVtKGNvbnN0IEJveCYsIEJveEdlb21ldHJ5IGFic29sdXRlQm94R2VvbWV0cnkp
OwpAQCAtODksMzQgKzg0LDEzIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IEZsb2F0aW5nQ29udGV4dDsKICAgICBGbG9hdGluZ1N0YXRlKExheW91dFN0YXRlJiwgY29uc3Qg
Q29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4dFJvb3QpOwotCiAgICAgTGF5b3V0U3RhdGUm
IGxheW91dFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRTdGF0ZTsgfQogCi0gICAgT3B0
aW9uYWw8UG9zaXRpb25JbkNvbnRleHRSb290PiBib3R0b20oY29uc3QgQ29udGFpbmVyQm94JiBm
b3JtYXR0aW5nQ29udGV4dFJvb3QsIENsZWFyKSBjb25zdDsKLQogICAgIExheW91dFN0YXRlJiBt
X2xheW91dFN0YXRlOwogICAgIFdlYWtQdHI8Y29uc3QgQ29udGFpbmVyQm94PiBtX2Zvcm1hdHRp
bmdDb250ZXh0Um9vdDsKICAgICBGbG9hdExpc3QgbV9mbG9hdHM7CiB9OwogCi1pbmxpbmUgT3B0
aW9uYWw8UG9zaXRpb25JbkNvbnRleHRSb290PiBGbG9hdGluZ1N0YXRlOjpsZWZ0Qm90dG9tKGNv
bnN0IENvbnRhaW5lckJveCYgZm9ybWF0dGluZ0NvbnRleHRSb290KSBjb25zdAoteyAKLSAgICBB
U1NFUlQoZm9ybWF0dGluZ0NvbnRleHRSb290LmVzdGFibGlzaGVzRm9ybWF0dGluZ0NvbnRleHQo
KSk7Ci0gICAgcmV0dXJuIGJvdHRvbShmb3JtYXR0aW5nQ29udGV4dFJvb3QsIENsZWFyOjpMZWZ0
KTsKLX0KLQotaW5saW5lIE9wdGlvbmFsPFBvc2l0aW9uSW5Db250ZXh0Um9vdD4gRmxvYXRpbmdT
dGF0ZTo6cmlnaHRCb3R0b20oY29uc3QgQ29udGFpbmVyQm94JiBmb3JtYXR0aW5nQ29udGV4dFJv
b3QpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKGZvcm1hdHRpbmdDb250ZXh0Um9vdC5lc3RhYmxpc2hl
c0Zvcm1hdHRpbmdDb250ZXh0KCkpOwotICAgIHJldHVybiBib3R0b20oZm9ybWF0dGluZ0NvbnRl
eHRSb290LCBDbGVhcjo6UmlnaHQpOwotfQotCi1pbmxpbmUgT3B0aW9uYWw8UG9zaXRpb25JbkNv
bnRleHRSb290PiBGbG9hdGluZ1N0YXRlOjpib3R0b20oY29uc3QgQ29udGFpbmVyQm94JiBmb3Jt
YXR0aW5nQ29udGV4dFJvb3QpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKGZvcm1hdHRpbmdDb250ZXh0
Um9vdC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkpOwotICAgIHJldHVybiBib3R0b20o
Zm9ybWF0dGluZ0NvbnRleHRSb290LCBDbGVhcjo6Qm90aCk7Ci19Ci0KIH0KIH0KICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>