<?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>183719</bug_id>
          
          <creation_ts>2018-03-16 21:28:41 -0700</creation_ts>
          <short_desc>[LayoutReloaded] Move functions to the base class from BlockFormattingContext</short_desc>
          <delta_ts>2018-03-16 21:36:15 -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>WebCore Misc.</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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1407210</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-03-16 21:28:41 -0700</bug_when>
    <thetext>These are generic functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407211</commentid>
    <comment_count>1</comment_count>
      <attachid>335997</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-03-16 21:30:55 -0700</bug_when>
    <thetext>Created attachment 335997
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407212</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-03-16 21:34:08 -0700</bug_when>
    <thetext>Committed r229692: &lt;https://trac.webkit.org/changeset/229692&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407213</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-16 21:36:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/38571049&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335997</attachid>
            <date>2018-03-16 21:30:55 -0700</date>
            <delta_ts>2018-03-16 21:30:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183719-20180316213055.patch</filename>
            <type>text/plain</type>
            <size>11346</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjcxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTU2ODRiNDQ4NmFmMzExOWJhNThjYWIzZmQ1Yzg5ODkz
ZjJlZGI5NC4uMjgzZGNmMjJiZWM0YWFlYjRmNWViZTkyMjAyNDg5MzhjYWY5NTg4MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDE4LTAzLTE2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0xheW91dFJlbG9hZGVkXSBNb3ZlIG1vdmUgZnVuY3Rpb25zIHRvIHRoZSBiYXNlIGNsYXNz
IGZyb20gQmxvY2tGb3JtYXR0aW5nQ29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzNzE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBMYXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5nQ29udGV4dC9C
bG9ja0Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5qczoKKyAgICAgICAgKEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQpOgorICAgICAgICAoQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5wcm90
b3R5cGUubGF5b3V0KToKKyAgICAgICAgKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBl
Ll9zaHJpbmtUb0ZpdFdpZHRoKToKKyAgICAgICAgKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQucHJv
dG90eXBlLl90b0Fic29sdXRlUG9zaXRpb24pOiBEZWxldGVkLgorICAgICAgICAoQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5wcm90b3R5cGUuX25lZWRzTGF5b3V0KTogRGVsZXRlZC4KKyAgICAgICAg
KEJsb2NrRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBlLl9hZGRUb0xheW91dFF1ZXVlKTogRGVs
ZXRlZC4KKyAgICAgICAgKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBlLl9uZXh0SW5M
YXlvdXRRdWV1ZSk6IERlbGV0ZWQuCisgICAgICAgIChCbG9ja0Zvcm1hdHRpbmdDb250ZXh0LnBy
b3RvdHlwZS5fcmVtb3ZlRnJvbUxheW91dFF1ZXVlKTogRGVsZXRlZC4KKyAgICAgICAgKEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBlLl9jcmVhdGVEaXNwbGF5Qm94KTogRGVsZXRlZC4K
KyAgICAgICAgKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBlLl90b0Rpc3BsYXlCb3gp
OiBEZWxldGVkLgorICAgICAgICAoQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5wcm90b3R5cGUuX3Rv
TGF5b3V0Qm94KTogRGVsZXRlZC4KKyAgICAgICAgKiBMYXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5n
Q29udGV4dC9Gb3JtYXR0aW5nQ29udGV4dC5qczoKKyAgICAgICAgKEZvcm1hdHRpbmdDb250ZXh0
KToKKyAgICAgICAgKEZvcm1hdHRpbmdDb250ZXh0LnByb3RvdHlwZS5fdG9BYnNvbHV0ZVBvc2l0
aW9uKToKKyAgICAgICAgKEZvcm1hdHRpbmdDb250ZXh0LnByb3RvdHlwZS5fZGVzY2VuZGFudE5l
ZWRzTGF5b3V0KToKKyAgICAgICAgKEZvcm1hdHRpbmdDb250ZXh0LnByb3RvdHlwZS5fYWRkVG9M
YXlvdXRRdWV1ZSk6CisgICAgICAgIChGb3JtYXR0aW5nQ29udGV4dC5wcm90b3R5cGUuX25leHRJ
bkxheW91dFF1ZXVlKToKKyAgICAgICAgKEZvcm1hdHRpbmdDb250ZXh0LnByb3RvdHlwZS5fcmVt
b3ZlRnJvbUxheW91dFF1ZXVlKToKKyAgICAgICAgKEZvcm1hdHRpbmdDb250ZXh0LnByb3RvdHlw
ZS5fY3JlYXRlRGlzcGxheUJveCk6CisgICAgICAgIChGb3JtYXR0aW5nQ29udGV4dC5wcm90b3R5
cGUuX3RvRGlzcGxheUJveCk6CisgICAgICAgIChGb3JtYXR0aW5nQ29udGV4dC5wcm90b3R5cGUu
X3RvTGF5b3V0Qm94KToKKyAgICAgICAgKiBMYXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5nQ29udGV4
dC9JbmxpbmVGb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmpzOgorICAgICAgICAo
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQucHJvdG90eXBlLmxheW91dCk6CisKIDIwMTgtMDMtMTYg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTGF5b3V0UmVsb2Fk
ZWRdIEludHJvZHVjZSBEaXNwbGF5LkJveApkaWZmIC0tZ2l0IGEvVG9vbHMvTGF5b3V0UmVsb2Fk
ZWQvRm9ybWF0dGluZ0NvbnRleHQvQmxvY2tGb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuanMgYi9Ub29scy9MYXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5nQ29udGV4dC9CbG9ja0Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5qcwppbmRleCAwNGUwNTA4MjNlYzU3ZDgwMzgw
ZGRmNTE1OGM1NTBhOGIzNjYyODU5Li4yZDJiYTYwOTVhZTVhN2ZmOWNiZGVkMDU0MjAxYmZhZDE0
MmQwZTEyIDEwMDY0NAotLS0gYS9Ub29scy9MYXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5nQ29udGV4
dC9CbG9ja0Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5qcworKysgYi9Ub29scy9M
YXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5nQ29udGV4dC9CbG9ja0Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5qcwpAQCAtMjcsOSArMjcsNiBAQCBjbGFzcyBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0IGV4dGVuZHMgRm9ybWF0dGluZ0NvbnRleHQgewogICAgICAgICBzdXBlcihyb290KTsK
ICAgICAgICAgLy8gTmV3IGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCBhbHdheXMgZXN0YWJsaXNo
ZXMgYSBuZXcgZmxvYXRpbmcgY29udGV4dC4KICAgICAgICAgdGhpcy5tX2Zsb2F0aW5nQ29udGV4
dCA9IG5ldyBGbG9hdGluZ0NvbnRleHQodGhpcyk7Ci0gICAgICAgIHRoaXMubV9kaXNwbGF5VG9M
YXlvdXQgPSBuZXcgTWFwKCk7Ci0gICAgICAgIHRoaXMubV9sYXlvdXRUb0Rpc3BsYXkgPSBuZXcg
TWFwKCk7Ci0gICAgICAgIHRoaXMubV9sYXlvdXRTdGFjayA9IG5ldyBBcnJheSgpOwogICAgIH0K
IAogICAgIGxheW91dChsYXlvdXRDb250ZXh0KSB7CkBAIC00Niw3ICs0Myw3IEBAIGNsYXNzIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQgZXh0ZW5kcyBGb3JtYXR0aW5nQ29udGV4dCB7CiAgICAgICAg
IC8vIDIuIENvbXB1dGUgc3RhdGljIHBvc2l0aW9uIGFuZCB3aWR0aCBhcyB3ZSB0cmF2ZXJzIGRv
d24KICAgICAgICAgLy8gMy4gQXMgd2UgY2xpbWIgYmFjayBvbiB0aGUgdHJlZSwgY29tcHV0ZSBo
ZWlnaHQgYW5kIGZpbmlhbGl6ZSBwb3NpdGlvbgogICAgICAgICAvLyAoQW55IHN1YnRyZWVzIHdp
dGggbmV3IGZvcm1hdHRpbmcgY29udGV4dHMgbmVlZCB0byBsYXlvdXQgc3luY2hyb25vdXNseSkK
LSAgICAgICAgd2hpbGUgKHRoaXMuX25lZWRzTGF5b3V0KCkpIHsKKyAgICAgICAgd2hpbGUgKHRo
aXMuX2Rlc2NlbmRhbnROZWVkc0xheW91dCgpKSB7CiAgICAgICAgICAgICAvLyBUcmF2ZXJzIGRv
d24gb24gdGhlIGRlc2NlbmRhbnRzIHVudGlsIHdlIGZpbmQgYSBsZWFmIG5vZGUuCiAgICAgICAg
ICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgIGxldCBsYXlvdXRCb3ggPSB0aGlz
Ll9uZXh0SW5MYXlvdXRRdWV1ZSgpOwpAQCAtNjIsNyArNTksNyBAQCBjbGFzcyBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0IGV4dGVuZHMgRm9ybWF0dGluZ0NvbnRleHQgewogICAgICAgICAgICAgfQog
CiAgICAgICAgICAgICAvLyBDbGltYiBiYWNrIG9uIHRoZSBhbmNlc3RvcnMgYW5kIGNvbXB1dGUg
aGVpZ2h0L2ZpbmFsIHBvc2l0aW9uLgotICAgICAgICAgICAgd2hpbGUgKHRoaXMuX25lZWRzTGF5
b3V0KCkpIHsKKyAgICAgICAgICAgIHdoaWxlICh0aGlzLl9kZXNjZW5kYW50TmVlZHNMYXlvdXQo
KSkgewogICAgICAgICAgICAgICAgIC8vIEFsbCBpbmZsb3cgZGVzY2VuZGFudHMgKGlmIHRoZXJl
IGFyZSBhbnkpIGFyZSBsYWlkIG91dCBieSBub3cuIExldCdzIGNvbXB1dGUgdGhlIGJveCdzIGhl
aWdodC4KICAgICAgICAgICAgICAgICBsZXQgbGF5b3V0Qm94ID0gdGhpcy5fbmV4dEluTGF5b3V0
UXVldWUoKTsKICAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVIZWlnaHQobGF5b3V0Qm94KTsK
QEAgLTMzMSw1OSArMzI4LDQgQEAgY2xhc3MgQmxvY2tGb3JtYXR0aW5nQ29udGV4dCBleHRlbmRz
IEZvcm1hdHRpbmdDb250ZXh0IHsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gd2lkdGg7CiAg
ICAgfQotCi0gICAgX3RvQWJzb2x1dGVQb3NpdGlvbihsYXlvdXRCb3gpIHsKLSAgICAgICAgLy8g
V2Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gZ28gYmV5b25kIHRoZSByb290IGNvbnRhaW5lci4KLSAg
ICAgICAgbGV0IGNvbnRhaW5pbmdCbG9jayA9IGxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsK
LSAgICAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jayA9PSB0aGlzLnJvb3RDb250YWluZXIoKSB8
fCBVdGlscy5pc0Rlc2NlbmRhbnRPZihjb250YWluaW5nQmxvY2ssIHRoaXMucm9vdENvbnRhaW5l
cigpKSk7Ci0gICAgICAgIGxldCB0b3BMZWZ0ID0gbGF5b3V0Qm94LnJlY3QoKS50b3BMZWZ0KCk7
Ci0gICAgICAgIGxldCBhc2NlbmRhbnQgPSBsYXlvdXRCb3gucGFyZW50KCk7Ci0gICAgICAgIHdo
aWxlIChhc2NlbmRhbnQgJiYgYXNjZW5kYW50ICE9IGNvbnRhaW5pbmdCbG9jaykgewotICAgICAg
ICAgICAgdG9wTGVmdC5tb3ZlQnkoYXNjZW5kYW50LnJlY3QoKS50b3BMZWZ0KCkpOwotICAgICAg
ICAgICAgYXNjZW5kYW50ID0gYXNjZW5kYW50LnBhcmVudCgpOwotICAgICAgICB9Ci0gICAgICAg
IHJldHVybiBuZXcgTGF5b3V0UmVjdCh0b3BMZWZ0LCBsYXlvdXRCb3gucmVjdCgpLnNpemUoKSk7
Ci0gICAgfQotCi0gICAgX25lZWRzTGF5b3V0KCkgewotICAgICAgICByZXR1cm4gdGhpcy5tX2xh
eW91dFN0YWNrLmxlbmd0aDsKLSAgICB9Ci0KLSAgICBfYWRkVG9MYXlvdXRRdWV1ZShsYXlvdXRC
b3gpIHsKLSAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgY29ycmVzcG9uZGluZyBkaXNwbGF5IGJv
eC4KLSAgICAgICAgdGhpcy5fY3JlYXRlRGlzcGxheUJveChsYXlvdXRCb3gpOwotICAgICAgICB0
aGlzLm1fbGF5b3V0U3RhY2sucHVzaChsYXlvdXRCb3gpOwotICAgIH0KLQotICAgIF9uZXh0SW5M
YXlvdXRRdWV1ZSgpIHsKLSAgICAgICAgQVNTRVJUKHRoaXMubV9sYXlvdXRTdGFjay5sZW5ndGgp
OwotICAgICAgICByZXR1cm4gdGhpcy5tX2xheW91dFN0YWNrW3RoaXMubV9sYXlvdXRTdGFjay5s
ZW5ndGggLSAxXTsKLSAgICB9Ci0KLSAgICBfcmVtb3ZlRnJvbUxheW91dFF1ZXVlKGxheW91dEJv
eCkgewotICAgICAgICAvLyBXaXRoIHRoZSBjdXJyZW50IGxheW91dCBsb2dpYywgdGhlIGxheW91
dEJveCBzaG91bGQgYmUgYXQgdGhlIHRvcCAodGhpcy5tX2xheW91dFN0YWNrLnBvcCgpIHNob3Vs
ZCBkbykuCi0gICAgICAgIEFTU0VSVCh0aGlzLm1fbGF5b3V0U3RhY2subGVuZ3RoKTsKLSAgICAg
ICAgQVNTRVJUKHRoaXMubV9sYXlvdXRTdGFja1t0aGlzLm1fbGF5b3V0U3RhY2subGVuZ3RoIC0g
MV0gPT0gbGF5b3V0Qm94KTsKLSAgICAgICAgdGhpcy5tX2xheW91dFN0YWNrLnNwbGljZSh0aGlz
Lm1fbGF5b3V0U3RhY2suaW5kZXhPZihsYXlvdXRCb3gpLCAxKTsKLSAgICB9Ci0KLSAgICBfY3Jl
YXRlRGlzcGxheUJveChsYXlvdXRCb3gpIHsKLSAgICAgICAgbGV0IGRpc3BsYXlCb3ggPSBuZXcg
RGlzcGxheS5Cb3gobGF5b3V0Qm94Lm5vZGUoKSk7Ci0gICAgICAgIHRoaXMubV9kaXNwbGF5VG9M
YXlvdXQuc2V0KGRpc3BsYXlCb3gsIGxheW91dEJveCk7Ci0gICAgICAgIHRoaXMubV9sYXlvdXRU
b0Rpc3BsYXkuc2V0KGxheW91dEJveCwgZGlzcGxheUJveCk7Ci0gICAgICAgIC8vIFRoaXMgaXMg
dGVtcG9yYXJ5LgotICAgICAgICBsYXlvdXRCb3guc2V0RGlzcGxheUJveChkaXNwbGF5Qm94KTsK
LSAgICB9Ci0KLSAgICBfdG9EaXNwbGF5Qm94KGxheW91dEJveCkgewotICAgICAgICBBU1NFUlQo
bGF5b3V0Qm94KTsKLSAgICAgICAgQVNTRVJUKHRoaXMubV9sYXlvdXRUb0Rpc3BsYXkuaGFzKGxh
eW91dEJveCkpOwotICAgICAgICByZXR1cm4gdGhpcy5tX2xheW91dFRvRGlzcGxheS5nZXQobGF5
b3V0KTsKLSAgICB9Ci0KLSAgICBfdG9MYXlvdXRCb3goZGlzcGxheUJveCkgewotICAgICAgICBB
U1NFUlQoZGlzcGxheUJveCk7Ci0gICAgICAgIEFTU0VSVCh0aGlzLm1fZGlzcGxheVRvTGF5b3V0
LmhhcyhkaXNwbGF5Qm94KSk7Ci0gICAgICAgIHJldHVybiB0aGlzLm1fZGlzcGxheVRvTGF5b3V0
LmdldChsYXlvdXQpOwotICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0xheW91dFJlbG9hZGVk
L0Zvcm1hdHRpbmdDb250ZXh0L0Zvcm1hdHRpbmdDb250ZXh0LmpzIGIvVG9vbHMvTGF5b3V0UmVs
b2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvRm9ybWF0dGluZ0NvbnRleHQuanMKaW5kZXggN2E3Y2Fk
ODE3ODRjMDU2ZGU3NDhiNmVmNjc2NGRiZDQ0Y2VkMDM3OC4uZTkyNTFmNjE3YzMwNzAyOWVkYzI0
OTQ5YTE4MmQ1MDZjZDYwODAxZiAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0UmVsb2FkZWQvRm9y
bWF0dGluZ0NvbnRleHQvRm9ybWF0dGluZ0NvbnRleHQuanMKKysrIGIvVG9vbHMvTGF5b3V0UmVs
b2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvRm9ybWF0dGluZ0NvbnRleHQuanMKQEAgLTI3LDYgKzI3
LDkgQEAgY2xhc3MgRm9ybWF0dGluZ0NvbnRleHQgewogICAgIGNvbnN0cnVjdG9yKHJvb3RDb250
YWluZXIpIHsKICAgICAgICAgdGhpcy5tX3Jvb3RDb250YWluZXIgPSByb290Q29udGFpbmVyOwog
ICAgICAgICB0aGlzLm1fZmxvYXRpbmdDb250ZXh0ID0gbnVsbDsKKyAgICAgICAgdGhpcy5tX2Rp
c3BsYXlUb0xheW91dCA9IG5ldyBNYXAoKTsKKyAgICAgICAgdGhpcy5tX2xheW91dFRvRGlzcGxh
eSA9IG5ldyBNYXAoKTsKKyAgICAgICAgdGhpcy5tX2xheW91dFN0YWNrID0gbmV3IEFycmF5KCk7
CiAgICAgfQogCiAgICAgcm9vdENvbnRhaW5lcigpIHsKQEAgLTg5LDQgKzkyLDU5IEBAIGNsYXNz
IEZvcm1hdHRpbmdDb250ZXh0IHsKICAgICAgICAgYWJzb2x1dGVSZWN0Lm1vdmVCeShjb250ZW50
Qm94LnRvcExlZnQoKSk7CiAgICAgICAgIHJldHVybiBhYnNvbHV0ZVJlY3Q7CiAgICAgfQorCisg
ICAgX3RvQWJzb2x1dGVQb3NpdGlvbihsYXlvdXRCb3gpIHsKKyAgICAgICAgLy8gV2Ugc2hvdWxk
IG5ldmVyIG5lZWQgdG8gZ28gYmV5b25kIHRoZSByb290IGNvbnRhaW5lci4KKyAgICAgICAgbGV0
IGNvbnRhaW5pbmdCbG9jayA9IGxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsKKyAgICAgICAg
QVNTRVJUKGNvbnRhaW5pbmdCbG9jayA9PSB0aGlzLnJvb3RDb250YWluZXIoKSB8fCBVdGlscy5p
c0Rlc2NlbmRhbnRPZihjb250YWluaW5nQmxvY2ssIHRoaXMucm9vdENvbnRhaW5lcigpKSk7Cisg
ICAgICAgIGxldCB0b3BMZWZ0ID0gbGF5b3V0Qm94LnJlY3QoKS50b3BMZWZ0KCk7CisgICAgICAg
IGxldCBhc2NlbmRhbnQgPSBsYXlvdXRCb3gucGFyZW50KCk7CisgICAgICAgIHdoaWxlIChhc2Nl
bmRhbnQgJiYgYXNjZW5kYW50ICE9IGNvbnRhaW5pbmdCbG9jaykgeworICAgICAgICAgICAgdG9w
TGVmdC5tb3ZlQnkoYXNjZW5kYW50LnJlY3QoKS50b3BMZWZ0KCkpOworICAgICAgICAgICAgYXNj
ZW5kYW50ID0gYXNjZW5kYW50LnBhcmVudCgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBu
ZXcgTGF5b3V0UmVjdCh0b3BMZWZ0LCBsYXlvdXRCb3gucmVjdCgpLnNpemUoKSk7CisgICAgfQor
CisgICAgX2Rlc2NlbmRhbnROZWVkc0xheW91dCgpIHsKKyAgICAgICAgcmV0dXJuIHRoaXMubV9s
YXlvdXRTdGFjay5sZW5ndGg7CisgICAgfQorCisgICAgX2FkZFRvTGF5b3V0UXVldWUobGF5b3V0
Qm94KSB7CisgICAgICAgIC8vIEluaXRpYWxpemUgdGhlIGNvcnJlc3BvbmRpbmcgZGlzcGxheSBi
b3guCisgICAgICAgIHRoaXMuX2NyZWF0ZURpc3BsYXlCb3gobGF5b3V0Qm94KTsKKyAgICAgICAg
dGhpcy5tX2xheW91dFN0YWNrLnB1c2gobGF5b3V0Qm94KTsKKyAgICB9CisKKyAgICBfbmV4dElu
TGF5b3V0UXVldWUoKSB7CisgICAgICAgIEFTU0VSVCh0aGlzLm1fbGF5b3V0U3RhY2subGVuZ3Ro
KTsKKyAgICAgICAgcmV0dXJuIHRoaXMubV9sYXlvdXRTdGFja1t0aGlzLm1fbGF5b3V0U3RhY2su
bGVuZ3RoIC0gMV07CisgICAgfQorCisgICAgX3JlbW92ZUZyb21MYXlvdXRRdWV1ZShsYXlvdXRC
b3gpIHsKKyAgICAgICAgLy8gV2l0aCB0aGUgY3VycmVudCBsYXlvdXQgbG9naWMsIHRoZSBsYXlv
dXRCb3ggc2hvdWxkIGJlIGF0IHRoZSB0b3AgKHRoaXMubV9sYXlvdXRTdGFjay5wb3AoKSBzaG91
bGQgZG8pLgorICAgICAgICBBU1NFUlQodGhpcy5tX2xheW91dFN0YWNrLmxlbmd0aCk7CisgICAg
ICAgIEFTU0VSVCh0aGlzLm1fbGF5b3V0U3RhY2tbdGhpcy5tX2xheW91dFN0YWNrLmxlbmd0aCAt
IDFdID09IGxheW91dEJveCk7CisgICAgICAgIHRoaXMubV9sYXlvdXRTdGFjay5zcGxpY2UodGhp
cy5tX2xheW91dFN0YWNrLmluZGV4T2YobGF5b3V0Qm94KSwgMSk7CisgICAgfQorCisgICAgX2Ny
ZWF0ZURpc3BsYXlCb3gobGF5b3V0Qm94KSB7CisgICAgICAgIGxldCBkaXNwbGF5Qm94ID0gbmV3
IERpc3BsYXkuQm94KGxheW91dEJveC5ub2RlKCkpOworICAgICAgICB0aGlzLm1fZGlzcGxheVRv
TGF5b3V0LnNldChkaXNwbGF5Qm94LCBsYXlvdXRCb3gpOworICAgICAgICB0aGlzLm1fbGF5b3V0
VG9EaXNwbGF5LnNldChsYXlvdXRCb3gsIGRpc3BsYXlCb3gpOworICAgICAgICAvLyBUaGlzIGlz
IHRlbXBvcmFyeS4KKyAgICAgICAgbGF5b3V0Qm94LnNldERpc3BsYXlCb3goZGlzcGxheUJveCk7
CisgICAgfQorCisgICAgX3RvRGlzcGxheUJveChsYXlvdXRCb3gpIHsKKyAgICAgICAgQVNTRVJU
KGxheW91dEJveCk7CisgICAgICAgIEFTU0VSVCh0aGlzLm1fbGF5b3V0VG9EaXNwbGF5Lmhhcyhs
YXlvdXRCb3gpKTsKKyAgICAgICAgcmV0dXJuIHRoaXMubV9sYXlvdXRUb0Rpc3BsYXkuZ2V0KGxh
eW91dCk7CisgICAgfQorCisgICAgX3RvTGF5b3V0Qm94KGRpc3BsYXlCb3gpIHsKKyAgICAgICAg
QVNTRVJUKGRpc3BsYXlCb3gpOworICAgICAgICBBU1NFUlQodGhpcy5tX2Rpc3BsYXlUb0xheW91
dC5oYXMoZGlzcGxheUJveCkpOworICAgICAgICByZXR1cm4gdGhpcy5tX2Rpc3BsYXlUb0xheW91
dC5nZXQobGF5b3V0KTsKKyAgICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9MYXlvdXRSZWxvYWRl
ZC9Gb3JtYXR0aW5nQ29udGV4dC9JbmxpbmVGb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmpzIGIvVG9vbHMvTGF5b3V0UmVsb2FkZWQvRm9ybWF0dGluZ0NvbnRleHQvSW5saW5lRm9y
bWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5qcwppbmRleCA0MWEzNmI5YzJlMzUzNGRl
NWQ1Yjc5YTc4NWI5MzIxYjMxNTc3Yzk2Li5jNmUwMDM2MjA0NDIwZjY3NDhkOWE4MjIyMTJmNjQ5
M2Q4NmE4NTU1IDEwMDY0NAotLS0gYS9Ub29scy9MYXlvdXRSZWxvYWRlZC9Gb3JtYXR0aW5nQ29u
dGV4dC9JbmxpbmVGb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmpzCisrKyBiL1Rv
b2xzL0xheW91dFJlbG9hZGVkL0Zvcm1hdHRpbmdDb250ZXh0L0lubGluZUZvcm1hdHRpbmcvSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQuanMKQEAgLTQ1LDI2ICs0NSwyNyBAQCBjbGFzcyBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dCBleHRlbmRzIEZvcm1hdHRpbmdDb250ZXh0IHsKICAgICAgICAgaWYg
KCF0aGlzLnJvb3RDb250YWluZXIoKS5maXJzdENoaWxkKCkpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIC8vIFRoaXMgaXMgYSBwb3N0LW9yZGVyIHRyZWUgdHJhdmVyc2FsIGxheW91dC4K
LSAgICAgICAgbGV0IGxheW91dFN0YWNrID0gbmV3IEFycmF5KCk7CiAgICAgICAgIC8vIFRoZSBy
b290IGNvbnRhaW5lciBsYXlvdXQgaXMgZG9uZSBpbiB0aGUgZm9ybWF0dGluZyBjb250ZXh0IGl0
IGxpdmVzIGluLCBub3QgdGhhdCBvbmUgaXQgY3JlYXRlcywgc28gbGV0J3Mgc3RhcnQgd2l0aCB0
aGUgZmlyc3QgY2hpbGQuCi0gICAgICAgIGxheW91dFN0YWNrLnB1c2godGhpcy5yb290Q29udGFp
bmVyKCkuZmlyc3RDaGlsZCgpKTsKKyAgICAgICAgdGhpcy5fYWRkVG9MYXlvdXRRdWV1ZSh0aGlz
LnJvb3RDb250YWluZXIoKS5maXJzdENoaWxkKCkpOwogICAgICAgICB3aGlsZSAobGF5b3V0U3Rh
Y2subGVuZ3RoKSB7CiAgICAgICAgICAgICAvLyBUcmF2ZXJzIGRvd24gb24gdGhlIGRlc2NlbmRh
bnRzIHVudGlsIHdlIGZpbmQgYSBsZWFmIG5vZGUuCiAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkg
ewotICAgICAgICAgICAgICAgIGxldCBsYXlvdXRCb3ggPSBsYXlvdXRTdGFja1tsYXlvdXRTdGFj
ay5sZW5ndGggLSAxXTsKKyAgICAgICAgICAgICAgICBsZXQgbGF5b3V0Qm94ID0gdGhpcy5fbmV4
dEluTGF5b3V0UXVldWUoKTsKICAgICAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmVzdGFibGlz
aGVzRm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAgICAgICAgICAgICAgICBsYXlvdXRDb250
ZXh0LmxheW91dEZvcm1hdHRpbmdDb250ZXh0KGxheW91dEJveC5lc3RhYmxpc2hlZEZvcm1hdHRp
bmdDb250ZXh0KCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgaWYgKCFsYXlvdXRCb3guaXNDb250YWluZXIoKSB8fCAhbGF5
b3V0Qm94Lmhhc0NoaWxkKCkpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgIGxheW91dFN0YWNrLnB1c2goYm94LmZpcnN0Q2hpbGQoKSk7CisgICAgICAgICAgICAg
ICAgdGhpcy5fYWRkVG9MYXlvdXRRdWV1ZShsYXlvdXRCb3guZmlyc3RDaGlsZCgpKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIHdoaWxlIChsYXlvdXRTdGFjay5sZW5ndGgpIHsKLSAgICAg
ICAgICAgICAgICBsZXQgbGF5b3V0Qm94ID0gbGF5b3V0U3RhY2sucG9wKCk7CisgICAgICAgICAg
ICAgICAgbGV0IGxheW91dEJveCA9IHRoaXMuX25leHRJbkxheW91dFF1ZXVlKCk7CiAgICAgICAg
ICAgICAgICAgdGhpcy5faGFuZGxlSW5saW5lQm94KGxheW91dEJveCk7CisgICAgICAgICAgICAg
ICAgLy8gV2UgYXJlIGRvbmUgd2l0aCBsYXlpbmcgb3V0IHRoaXMgYm94LgorICAgICAgICAgICAg
ICAgIHRoaXMuX3JlbW92ZUZyb21MYXlvdXRRdWV1ZShsYXlvdXRCb3gpOwogICAgICAgICAgICAg
ICAgIGlmIChsYXlvdXRCb3gubmV4dFNpYmxpbmcoKSkgewotICAgICAgICAgICAgICAgICAgICBs
YXlvdXRTdGFjay5wdXNoKGxheW91dEJveC5uZXh0U2libGluZygpKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy5fYWRkVG9MYXlvdXRRdWV1ZShsYXlvdXRCb3gubmV4dFNpYmxpbmcoKSk7CiAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>