<?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>161015</bug_id>
          
          <creation_ts>2016-08-19 14:27:12 -0700</creation_ts>
          <short_desc>Web Inspector: DataGrid: Remove cells of hidden columns from DOM</short_desc>
          <delta_ts>2016-12-13 15:40:48 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=160723</see_also>
          <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="Nikita Vasilyev">nvasilyev</reporter>
          <assigned_to name="Nikita Vasilyev">nvasilyev</assigned_to>
          <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1221479</commentid>
    <comment_count>0</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2016-08-19 14:27:12 -0700</bug_when>
    <thetext>Currently, we hide columns by setting &lt;col style=&quot;width: 0&quot;&gt;.

Because of that we had issues with double borders, which was addressed by a CSS hack (bug 160723).

A better solution would be to remove columns from DOM, not just hide them. It would be better for performance, too. Currently, we update &lt;td&gt;-s even when they&apos;re part of a hidden column.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221480</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-19 14:27:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/27930252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1221481</commentid>
    <comment_count>2</comment_count>
      <attachid>286480</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2016-08-19 14:31:14 -0700</bug_when>
    <thetext>Created attachment 286480
WIP

I&apos;m currently not working on this, as it isn&apos;t a high priority, but I&apos;ll keep my WIP here for future.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286480</attachid>
            <date>2016-08-19 14:31:14 -0700</date>
            <delta_ts>2016-08-19 14:31:14 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>WIP.txt</filename>
            <type>text/plain</type>
            <size>15915</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Rh
dGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0
YUdyaWQuanMKaW5kZXggMDIwMWNjMi4uOTc3ZWU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKQEAgLTMxMyw2ICsz
MTMsMjEgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuVmlldwogICAgICAgICB0aGlzLmZpbHRlckRpZENoYW5nZSgpOwogICAgIH0K
IAorICAgIGdldCB2aXNpYmxlT3JkZXJlZENvbHVtbnMoKQorICAgIHsKKyAgICAgICAgdmFyIHZp
c2libGVDb2x1bW5zID0gW107CisgICAgICAgIGZvciAodmFyIGNvbHVtbklkZW50aWZpZXIgb2Yg
dGhpcy5vcmRlcmVkQ29sdW1ucykgeworICAgICAgICAgICAgbGV0IGNvbHVtbiA9IHRoaXMuY29s
dW1ucy5nZXQoY29sdW1uSWRlbnRpZmllcik7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChj
b2x1bW4sIGNvbHVtbklkZW50aWZpZXIpOworICAgICAgICAgICAgaWYgKCFjb2x1bW4gfHwgY29s
dW1uLmhpZGRlbikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgdmlz
aWJsZUNvbHVtbnMucHVzaChjb2x1bW5JZGVudGlmaWVyKTsKKyAgICAgICAgfQorCisgICAgICAg
IHJldHVybiB2aXNpYmxlQ29sdW1uczsKKyAgICB9CisKICAgICBmaWx0ZXJEaWRDaGFuZ2UoKQog
ICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3NjaGVkdWxlZEZpbHRlclVwZGF0ZUlkZW50aWZpZXIp
CkBAIC01MzcsNiArNTUyLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdy
aWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICAvLyBSZXR1cm5zIGFuIG9iamVj
dCB3aXRoIHRoZSBuZXh0IG5vZGUgYW5kIGNvbHVtbiBpbmRleCB0byBlZGl0LCBhbmQgd2hldGhl
ciBpdAogICAgICAgICAvLyBpcyBhbiBhcHByb3ByaWF0ZSB0aW1lIHRvIHJlLXNvcnQgdGhlIHRh
YmxlIHJvd3MuIFdoZW4gZWRpdGluZywgd2Ugd2FudCB0bwogICAgICAgICAvLyBwb3N0cG9uZSBz
b3J0aW5nIHVudGlsIHdlIHN3aXRjaCByb3dzIG9yIHdyYXAgYXJvdW5kIGEgcm93LgorICAgICAg
ICAvLyBGSVhNRTogYnJva2VuCiAgICAgICAgIGZ1bmN0aW9uIGRldGVybWluZU5leHRDZWxsKHZh
bHVlRGlkQ2hhbmdlKSB7CiAgICAgICAgICAgICBpZiAobW92ZURpcmVjdGlvbiA9PT0gImZvcndh
cmQiKSB7CiAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbkluZGV4IDwgdGhpcy5vcmRlcmVkQ29s
dW1ucy5sZW5ndGggLSAxKQpAQCAtNTg5LDcgKzYwNSw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICBhdXRvU2l6
ZUNvbHVtbnMobWluUGVyY2VudCwgbWF4UGVyY2VudCwgbWF4RGVzY2VudExldmVsKQogICAgIHsK
ICAgICAgICAgaWYgKG1pblBlcmNlbnQpCi0gICAgICAgICAgICBtaW5QZXJjZW50ID0gTWF0aC5t
aW4obWluUGVyY2VudCwgTWF0aC5mbG9vcigxMDAgLyB0aGlzLm9yZGVyZWRDb2x1bW5zLmxlbmd0
aCkpOworICAgICAgICAgICAgbWluUGVyY2VudCA9IE1hdGgubWluKG1pblBlcmNlbnQsIE1hdGgu
Zmxvb3IoMTAwIC8gdGhpcy52aXNpYmxlT3JkZXJlZENvbHVtbnMubGVuZ3RoKSk7CiAgICAgICAg
IHZhciB3aWR0aHMgPSB7fTsKICAgICAgICAgLy8gRm9yIHRoZSBmaXJzdCB3aWR0aCBhcHByb3hp
bWF0aW9uLCB1c2UgdGhlIGNoYXJhY3RlciBsZW5ndGggb2YgY29sdW1uIHRpdGxlcy4KICAgICAg
ICAgZm9yICh2YXIgW2lkZW50aWZpZXIsIGNvbHVtbl0gb2YgdGhpcy5jb2x1bW5zKQpAQCAtNjc5
LDgxICs2OTUsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRl
bmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5jb2x1bW5zLnNl
dChjb2x1bW5JZGVudGlmaWVyLCBjb2x1bW4pOwogCi0gICAgICAgIGlmIChjb2x1bW5bImRpc2Ns
b3N1cmUiXSkKLSAgICAgICAgICAgIHRoaXMuZGlzY2xvc3VyZUNvbHVtbklkZW50aWZpZXIgPSBj
b2x1bW5JZGVudGlmaWVyOwotCi0gICAgICAgIHZhciBoZWFkZXJDb2x1bW5FbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiY29sIik7Ci0gICAgICAgIGlmIChjb2x1bW5bIndpZHRoIl0p
Ci0gICAgICAgICAgICBoZWFkZXJDb2x1bW5FbGVtZW50LnN0eWxlLndpZHRoID0gY29sdW1uWyJ3
aWR0aCJdOwotICAgICAgICBjb2x1bW5bImVsZW1lbnQiXSA9IGhlYWRlckNvbHVtbkVsZW1lbnQ7
Ci0gICAgICAgIHZhciByZWZlcmVuY2VFbGVtZW50ID0gdGhpcy5faGVhZGVyVGFibGVDb2x1bW5H
cm91cEVsZW1lbnQuY2hpbGRyZW5baW5zZXJ0aW9uSW5kZXhdOwotICAgICAgICB0aGlzLl9oZWFk
ZXJUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5pbnNlcnRCZWZvcmUoaGVhZGVyQ29sdW1uRWxlbWVu
dCwgcmVmZXJlbmNlRWxlbWVudCk7Ci0KLSAgICAgICAgdmFyIGhlYWRlckNlbGxFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGgiKTsKLSAgICAgICAgaGVhZGVyQ2VsbEVsZW1lbnQu
Y2xhc3NOYW1lID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1uIjsKLSAgICAgICAgaGVhZGVy
Q2VsbEVsZW1lbnQuY29sdW1uSWRlbnRpZmllciA9IGNvbHVtbklkZW50aWZpZXI7Ci0gICAgICAg
IGlmIChjb2x1bW5bImFsaWduZWQiXSkKLSAgICAgICAgICAgIGhlYWRlckNlbGxFbGVtZW50LmNs
YXNzTGlzdC5hZGQoY29sdW1uWyJhbGlnbmVkIl0pOwotICAgICAgICB0aGlzLl9oZWFkZXJUYWJs
ZUNlbGxFbGVtZW50cy5zZXQoY29sdW1uSWRlbnRpZmllciwgaGVhZGVyQ2VsbEVsZW1lbnQpOwot
ICAgICAgICB2YXIgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2hlYWRlclRhYmxlUm93RWxlbWVu
dC5jaGlsZHJlbltpbnNlcnRpb25JbmRleF07Ci0gICAgICAgIHRoaXMuX2hlYWRlclRhYmxlUm93
RWxlbWVudC5pbnNlcnRCZWZvcmUoaGVhZGVyQ2VsbEVsZW1lbnQsIHJlZmVyZW5jZUVsZW1lbnQp
OwotCi0gICAgICAgIGlmIChjb2x1bW5bImhlYWRlclZpZXciXSkgewotICAgICAgICAgICAgbGV0
IGhlYWRlclZpZXcgPSBjb2x1bW5bImhlYWRlclZpZXciXTsKLSAgICAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KGhlYWRlclZpZXcgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVmlldyk7Ci0KLSAgICAg
ICAgICAgIGhlYWRlckNlbGxFbGVtZW50LmFwcGVuZENoaWxkKGhlYWRlclZpZXcuZWxlbWVudCk7
Ci0gICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcoaGVhZGVyVmlldyk7Ci0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBsZXQgdGl0bGVFbGVtZW50ID0gaGVhZGVyQ2VsbEVsZW1lbnQuY3Jl
YXRlQ2hpbGQoImRpdiIpOwotICAgICAgICAgICAgaWYgKGNvbHVtblsidGl0bGVET01GcmFnbWVu
dCJdKQotICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5hcHBlbmRDaGlsZChjb2x1bW5bInRp
dGxlRE9NRnJhZ21lbnQiXSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGl0
bGVFbGVtZW50LnRleHRDb250ZW50ID0gY29sdW1uWyJ0aXRsZSJdIHx8ICIiOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKGNvbHVtblsic29ydGFibGUiXSkgewotICAgICAgICAgICAgbGlzdGVu
ZXJzLnJlZ2lzdGVyKGhlYWRlckNlbGxFbGVtZW50LCAiY2xpY2siLCB0aGlzLl9oZWFkZXJDZWxs
Q2xpY2tlZCk7Ci0gICAgICAgICAgICBoZWFkZXJDZWxsRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0YWJsZUNvbHVtblN0eWxlQ2xhc3NOYW1lKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIGlmIChjb2x1bW5bImdyb3VwIl0pCi0gICAgICAgICAgICBoZWFkZXJD
ZWxsRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjb2x1bW4tZ3JvdXAtIiArIGNvbHVtblsiZ3JvdXAi
XSk7Ci0KLSAgICAgICAgaWYgKGNvbHVtblsidG9vbHRpcCJdKQotICAgICAgICAgICAgaGVhZGVy
Q2VsbEVsZW1lbnQudGl0bGUgPSBjb2x1bW5bInRvb2x0aXAiXTsKLQotICAgICAgICBpZiAoY29s
dW1uWyJjb2xsYXBzZXNHcm91cCJdKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2VydChjb2x1
bW5bImdyb3VwIl0gIT09IGNvbHVtblsiY29sbGFwc2VzR3JvdXAiXSk7Ci0KLSAgICAgICAgICAg
IHZhciBkaXZpZGVyRWxlbWVudCA9IGhlYWRlckNlbGxFbGVtZW50LmNyZWF0ZUNoaWxkKCJkaXYi
LCAiZGl2aWRlciIpOwotCi0gICAgICAgICAgICB2YXIgY29sbGFwc2VEaXYgPSBoZWFkZXJDZWxs
RWxlbWVudC5jcmVhdGVDaGlsZCgiZGl2IiwgImNvbGxhcHNlci1idXR0b24iKTsKLSAgICAgICAg
ICAgIGNvbGxhcHNlRGl2LnRpdGxlID0gdGhpcy5fY29sbGFwc2VyQnV0dG9uQ29sbGFwc2VDb2x1
bW5zVG9vbFRpcCgpOwotICAgICAgICAgICAgbGlzdGVuZXJzLnJlZ2lzdGVyKGNvbGxhcHNlRGl2
LCAibW91c2VvdmVyIiwgdGhpcy5fbW91c2VvdmVyQ29sdW1uQ29sbGFwc2VyKTsKLSAgICAgICAg
ICAgIGxpc3RlbmVycy5yZWdpc3Rlcihjb2xsYXBzZURpdiwgIm1vdXNlb3V0IiwgdGhpcy5fbW91
c2VvdXRDb2x1bW5Db2xsYXBzZXIpOwotICAgICAgICAgICAgbGlzdGVuZXJzLnJlZ2lzdGVyKGNv
bGxhcHNlRGl2LCAiY2xpY2siLCB0aGlzLl9jbGlja0luQ29sdW1uQ29sbGFwc2VyKTsKLQotICAg
ICAgICAgICAgaGVhZGVyQ2VsbEVsZW1lbnQuY29sbGFwc2VzR3JvdXAgPSBjb2x1bW5bImNvbGxh
cHNlc0dyb3VwIl07Ci0gICAgICAgICAgICBoZWFkZXJDZWxsRWxlbWVudC5jbGFzc0xpc3QuYWRk
KCJjb2xsYXBzZXIiKTsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuX2hlYWRlclRhYmxlQ29s
dW1uR3JvdXBFbGVtZW50LnNwYW4gPSB0aGlzLm9yZGVyZWRDb2x1bW5zLmxlbmd0aDsKLQotICAg
ICAgICB2YXIgZGF0YUNvbHVtbkVsZW1lbnQgPSBoZWFkZXJDb2x1bW5FbGVtZW50LmNsb25lTm9k
ZSgpOwotICAgICAgICB2YXIgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2RhdGFUYWJsZUNvbHVt
bkdyb3VwRWxlbWVudC5jaGlsZHJlbltpbnNlcnRpb25JbmRleF07Ci0gICAgICAgIHRoaXMuX2Rh
dGFUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5pbnNlcnRCZWZvcmUoZGF0YUNvbHVtbkVsZW1lbnQs
IHJlZmVyZW5jZUVsZW1lbnQpOwotICAgICAgICBjb2x1bW5bImJvZHlFbGVtZW50Il0gPSBkYXRh
Q29sdW1uRWxlbWVudDsKLQotICAgICAgICB2YXIgZmlsbGVyQ2VsbEVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwotICAgICAgICBmaWxsZXJDZWxsRWxlbWVudC5jbGFzc05h
bWUgPSBjb2x1bW5JZGVudGlmaWVyICsgIi1jb2x1bW4iOwotICAgICAgICBmaWxsZXJDZWxsRWxl
bWVudC5fX2NvbHVtbklkZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyOwotICAgICAgICBpZiAo
Y29sdW1uWyJncm91cCJdKQotICAgICAgICAgICAgZmlsbGVyQ2VsbEVsZW1lbnQuY2xhc3NMaXN0
LmFkZCgiY29sdW1uLWdyb3VwLSIgKyBjb2x1bW5bImdyb3VwIl0pOwotICAgICAgICB2YXIgcmVm
ZXJlbmNlRWxlbWVudCA9IHRoaXMuX2ZpbGxlclJvd0VsZW1lbnQuY2hpbGRyZW5baW5zZXJ0aW9u
SW5kZXhdOwotICAgICAgICB0aGlzLl9maWxsZXJSb3dFbGVtZW50Lmluc2VydEJlZm9yZShmaWxs
ZXJDZWxsRWxlbWVudCwgcmVmZXJlbmNlRWxlbWVudCk7Ci0KLSAgICAgICAgbGlzdGVuZXJzLmlu
c3RhbGwoKTsKKyAgICAgICAgdGhpcy5faW5zZXJ0Q29sdW1uSW5ET00oY29sdW1uSWRlbnRpZmll
ciwgY29sdW1uLCBpbnNlcnRpb25JbmRleCk7CiAKICAgICAgICAgdGhpcy5zZXRDb2x1bW5WaXNp
YmxlKGNvbHVtbklkZW50aWZpZXIsICFjb2x1bW4uaGlkZGVuKTsKICAgICB9CkBAIC04OTEsNyAr
ODMzLDE0OSBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRz
IFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBfaXNDb2x1bW5WaXNpYmxlKGNvbHVtbklkZW50aWZp
ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gIXRoaXMuY29sdW1ucy5nZXQoY29sdW1uSWRlbnRp
ZmllcilbImhpZGRlbiJdOworICAgICAgICBsZXQgY29sdW1uID0gdGhpcy5jb2x1bW5zLmdldChj
b2x1bW5JZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFjb2x1bW4pCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgcmV0dXJuICFjb2x1bW4uaGlkZGVuOworICAgIH0KKworICAg
IF9yZW1vdmVDb2x1bW5Gcm9tRE9NKGNvbHVtbklkZW50aWZpZXIpCisgICAgeworICAgICAgICBj
b25zb2xlLmFzc2VydCh0aGlzLmNvbHVtbnMuaGFzKGNvbHVtbklkZW50aWZpZXIpKTsKKyAgICAg
ICAgdmFyIHJlbW92ZWRDb2x1bW4gPSB0aGlzLmNvbHVtbnMuZ2V0KGNvbHVtbklkZW50aWZpZXIp
OworICAgICAgICAvL3RoaXMuY29sdW1ucy5kZWxldGUoY29sdW1uSWRlbnRpZmllcik7CisKKyAg
ICAgICAgdmFyIHJlbW92ZWRPcmRpbmFsID0gcmVtb3ZlZENvbHVtblsib3JkaW5hbCJdOworCisg
ICAgICAgIHJlbW92ZWRDb2x1bW5bImxpc3RlbmVycyJdLnVuaW5zdGFsbCh0cnVlKTsKKworICAg
ICAgICBpZiAocmVtb3ZlZENvbHVtblsiZGlzY2xvc3VyZSJdKQorICAgICAgICAgICAgdGhpcy5k
aXNjbG9zdXJlQ29sdW1uSWRlbnRpZmllciA9IHVuZGVmaW5lZDsKKworICAgICAgICBpZiAodGhp
cy5zb3J0Q29sdW1uSWRlbnRpZmllciA9PT0gY29sdW1uSWRlbnRpZmllcikKKyAgICAgICAgICAg
IHRoaXMuc29ydENvbHVtbklkZW50aWZpZXIgPSBudWxsOworCisgICAgICAgIHRoaXMuX2hlYWRl
clRhYmxlQ2VsbEVsZW1lbnRzLmRlbGV0ZShjb2x1bW5JZGVudGlmaWVyKTsKKyAgICAgICAgdGhp
cy5faGVhZGVyVGFibGVSb3dFbGVtZW50LmNoaWxkcmVuW3JlbW92ZWRPcmRpbmFsXS5yZW1vdmUo
KTsKKyAgICAgICAgdGhpcy5faGVhZGVyVGFibGVDb2x1bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW5b
cmVtb3ZlZE9yZGluYWxdLnJlbW92ZSgpOworICAgICAgICB0aGlzLl9kYXRhVGFibGVDb2x1bW5H
cm91cEVsZW1lbnQuY2hpbGRyZW5bcmVtb3ZlZE9yZGluYWxdLnJlbW92ZSgpOworICAgICAgICB0
aGlzLl9maWxsZXJSb3dFbGVtZW50LmNoaWxkcmVuW3JlbW92ZWRPcmRpbmFsXS5yZW1vdmUoKTsK
KworICAgICAgICB0aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5zcGFuID0gdGhp
cy5vcmRlcmVkQ29sdW1ucy5sZW5ndGg7CisKKyAgICAgICAgZm9yICh2YXIgY2hpbGQgb2YgdGhp
cy5jaGlsZHJlbikKKyAgICAgICAgICAgIGNoaWxkLnJlZnJlc2goKTsKKyAgICB9CisKKyAgICBf
dmlzaWJsZUNvbHVtbnNDb3VudCgpCisgICAgeworICAgICAgICB2YXIgY291bnQgPSAwOworICAg
ICAgICBmb3IgKHZhciBjb2x1bW5JZGVudGlmaWVyIG9mIHRoaXMub3JkZXJlZENvbHVtbnMpIHsK
KyAgICAgICAgICAgIGxldCBjb2x1bW4gPSB0aGlzLmNvbHVtbnMuZ2V0KGNvbHVtbklkZW50aWZp
ZXIpOworICAgICAgICAgICAgaWYgKGNvbHVtbi5oaWRkZW4pCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisKKyAgICAgICAgICAgIGNvdW50Kys7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IGNvdW50OworICAgIH0KKworICAgIF9zaG93Q29sdW1uKGNvbHVtbklkZW50aWZpZXIpCisgICAg
eworICAgICAgICBsZXQgY29sdW1uID0gdGhpcy5jb2x1bW5zLmdldChjb2x1bW5JZGVudGlmaWVy
KTsKKyAgICAgICAgdGhpcy5faW5zZXJ0Q29sdW1uSW5ET00oY29sdW1uSWRlbnRpZmllciwgY29s
dW1uLCBjb2x1bW4ub3JkaW5hbCk7CisgICAgfQorCisgICAgX2luc2VydENvbHVtbkluRE9NKGNv
bHVtbklkZW50aWZpZXIsIGNvbHVtbiwgaW5zZXJ0aW9uSW5kZXgpCisgICAgeworICAgICAgICBp
ZiAoaW5zZXJ0aW9uSW5kZXggPT09IHVuZGVmaW5lZCkKKyAgICAgICAgICAgIGluc2VydGlvbklu
ZGV4ID0gdGhpcy5vcmRlcmVkQ29sdW1ucy5sZW5ndGg7CisgICAgICAgIGluc2VydGlvbkluZGV4
ID0gTnVtYmVyLmNvbnN0cmFpbihpbnNlcnRpb25JbmRleCwgMCwgdGhpcy5vcmRlcmVkQ29sdW1u
cy5sZW5ndGgpOworCisgICAgICAgIHZhciBsaXN0ZW5lcnMgPSBuZXcgV2ViSW5zcGVjdG9yLkV2
ZW50TGlzdGVuZXJTZXQodGhpcywgIkRhdGFHcmlkIGNvbHVtbiBET00gbGlzdGVuZXJzIik7CisK
KyAgICAgICAgY29sdW1uWyJsaXN0ZW5lcnMiXSA9IGxpc3RlbmVyczsKKyAgICAgICAgY29sdW1u
WyJvcmRpbmFsIl0gPSBpbnNlcnRpb25JbmRleDsKKyAgICAgICAgY29sdW1uWyJjb2x1bW5JZGVu
dGlmaWVyIl0gPSBjb2x1bW5JZGVudGlmaWVyOworCisgICAgICAgIGlmIChjb2x1bW5bImRpc2Ns
b3N1cmUiXSkKKyAgICAgICAgICAgIHRoaXMuZGlzY2xvc3VyZUNvbHVtbklkZW50aWZpZXIgPSBj
b2x1bW5JZGVudGlmaWVyOworCisgICAgICAgIHZhciBoZWFkZXJDb2x1bW5FbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiY29sIik7CisgICAgICAgIGlmIChjb2x1bW5bIndpZHRoIl0p
CisgICAgICAgICAgICBoZWFkZXJDb2x1bW5FbGVtZW50LnN0eWxlLndpZHRoID0gY29sdW1uWyJ3
aWR0aCJdOworICAgICAgICBjb2x1bW5bImVsZW1lbnQiXSA9IGhlYWRlckNvbHVtbkVsZW1lbnQ7
CisgICAgICAgIHZhciByZWZlcmVuY2VFbGVtZW50ID0gdGhpcy5faGVhZGVyVGFibGVDb2x1bW5H
cm91cEVsZW1lbnQuY2hpbGRyZW5baW5zZXJ0aW9uSW5kZXhdOworICAgICAgICB0aGlzLl9oZWFk
ZXJUYWJsZUNvbHVtbkdyb3VwRWxlbWVudC5pbnNlcnRCZWZvcmUoaGVhZGVyQ29sdW1uRWxlbWVu
dCwgcmVmZXJlbmNlRWxlbWVudCk7CisKKyAgICAgICAgdmFyIGhlYWRlckNlbGxFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGgiKTsKKyAgICAgICAgaGVhZGVyQ2VsbEVsZW1lbnQu
Y2xhc3NOYW1lID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1uIjsKKyAgICAgICAgaGVhZGVy
Q2VsbEVsZW1lbnQuY29sdW1uSWRlbnRpZmllciA9IGNvbHVtbklkZW50aWZpZXI7CisgICAgICAg
IGlmIChjb2x1bW5bImFsaWduZWQiXSkKKyAgICAgICAgICAgIGhlYWRlckNlbGxFbGVtZW50LmNs
YXNzTGlzdC5hZGQoY29sdW1uWyJhbGlnbmVkIl0pOworICAgICAgICB0aGlzLl9oZWFkZXJUYWJs
ZUNlbGxFbGVtZW50cy5zZXQoY29sdW1uSWRlbnRpZmllciwgaGVhZGVyQ2VsbEVsZW1lbnQpOwor
ICAgICAgICB2YXIgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2hlYWRlclRhYmxlUm93RWxlbWVu
dC5jaGlsZHJlbltpbnNlcnRpb25JbmRleF07CisgICAgICAgIHRoaXMuX2hlYWRlclRhYmxlUm93
RWxlbWVudC5pbnNlcnRCZWZvcmUoaGVhZGVyQ2VsbEVsZW1lbnQsIHJlZmVyZW5jZUVsZW1lbnQp
OworCisgICAgICAgIGlmIChjb2x1bW5bImhlYWRlclZpZXciXSkgeworICAgICAgICAgICAgbGV0
IGhlYWRlclZpZXcgPSBjb2x1bW5bImhlYWRlclZpZXciXTsKKyAgICAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KGhlYWRlclZpZXcgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVmlldyk7CisKKyAgICAg
ICAgICAgIGhlYWRlckNlbGxFbGVtZW50LmFwcGVuZENoaWxkKGhlYWRlclZpZXcuZWxlbWVudCk7
CisgICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcoaGVhZGVyVmlldyk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBsZXQgdGl0bGVFbGVtZW50ID0gaGVhZGVyQ2VsbEVsZW1lbnQuY3Jl
YXRlQ2hpbGQoImRpdiIpOworICAgICAgICAgICAgaWYgKGNvbHVtblsidGl0bGVET01GcmFnbWVu
dCJdKQorICAgICAgICAgICAgICAgIHRpdGxlRWxlbWVudC5hcHBlbmRDaGlsZChjb2x1bW5bInRp
dGxlRE9NRnJhZ21lbnQiXSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdGl0
bGVFbGVtZW50LnRleHRDb250ZW50ID0gY29sdW1uWyJ0aXRsZSJdIHx8ICIiOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKGNvbHVtblsic29ydGFibGUiXSkgeworICAgICAgICAgICAgbGlzdGVu
ZXJzLnJlZ2lzdGVyKGhlYWRlckNlbGxFbGVtZW50LCAiY2xpY2siLCB0aGlzLl9oZWFkZXJDZWxs
Q2xpY2tlZCk7CisgICAgICAgICAgICBoZWFkZXJDZWxsRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdl
Ykluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0YWJsZUNvbHVtblN0eWxlQ2xhc3NOYW1lKTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmIChjb2x1bW5bImdyb3VwIl0pCisgICAgICAgICAgICBoZWFkZXJD
ZWxsRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjb2x1bW4tZ3JvdXAtIiArIGNvbHVtblsiZ3JvdXAi
XSk7CisKKyAgICAgICAgaWYgKGNvbHVtblsidG9vbHRpcCJdKQorICAgICAgICAgICAgaGVhZGVy
Q2VsbEVsZW1lbnQudGl0bGUgPSBjb2x1bW5bInRvb2x0aXAiXTsKKworICAgICAgICBpZiAoY29s
dW1uWyJjb2xsYXBzZXNHcm91cCJdKSB7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChjb2x1
bW5bImdyb3VwIl0gIT09IGNvbHVtblsiY29sbGFwc2VzR3JvdXAiXSk7CisKKyAgICAgICAgICAg
IHZhciBkaXZpZGVyRWxlbWVudCA9IGhlYWRlckNlbGxFbGVtZW50LmNyZWF0ZUNoaWxkKCJkaXYi
LCAiZGl2aWRlciIpOworCisgICAgICAgICAgICB2YXIgY29sbGFwc2VEaXYgPSBoZWFkZXJDZWxs
RWxlbWVudC5jcmVhdGVDaGlsZCgiZGl2IiwgImNvbGxhcHNlci1idXR0b24iKTsKKyAgICAgICAg
ICAgIGNvbGxhcHNlRGl2LnRpdGxlID0gdGhpcy5fY29sbGFwc2VyQnV0dG9uQ29sbGFwc2VDb2x1
bW5zVG9vbFRpcCgpOworICAgICAgICAgICAgbGlzdGVuZXJzLnJlZ2lzdGVyKGNvbGxhcHNlRGl2
LCAibW91c2VvdmVyIiwgdGhpcy5fbW91c2VvdmVyQ29sdW1uQ29sbGFwc2VyKTsKKyAgICAgICAg
ICAgIGxpc3RlbmVycy5yZWdpc3Rlcihjb2xsYXBzZURpdiwgIm1vdXNlb3V0IiwgdGhpcy5fbW91
c2VvdXRDb2x1bW5Db2xsYXBzZXIpOworICAgICAgICAgICAgbGlzdGVuZXJzLnJlZ2lzdGVyKGNv
bGxhcHNlRGl2LCAiY2xpY2siLCB0aGlzLl9jbGlja0luQ29sdW1uQ29sbGFwc2VyKTsKKworICAg
ICAgICAgICAgaGVhZGVyQ2VsbEVsZW1lbnQuY29sbGFwc2VzR3JvdXAgPSBjb2x1bW5bImNvbGxh
cHNlc0dyb3VwIl07CisgICAgICAgICAgICBoZWFkZXJDZWxsRWxlbWVudC5jbGFzc0xpc3QuYWRk
KCJjb2xsYXBzZXIiKTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX2hlYWRlclRhYmxlQ29s
dW1uR3JvdXBFbGVtZW50LnNwYW4gPSB0aGlzLnZpc2libGVPcmRlcmVkQ29sdW1ucy5sZW5ndGg7
CisKKyAgICAgICAgdmFyIGRhdGFDb2x1bW5FbGVtZW50ID0gaGVhZGVyQ29sdW1uRWxlbWVudC5j
bG9uZU5vZGUoKTsKKyAgICAgICAgdmFyIHJlZmVyZW5jZUVsZW1lbnQgPSB0aGlzLl9kYXRhVGFi
bGVDb2x1bW5Hcm91cEVsZW1lbnQuY2hpbGRyZW5baW5zZXJ0aW9uSW5kZXhdOworICAgICAgICB0
aGlzLl9kYXRhVGFibGVDb2x1bW5Hcm91cEVsZW1lbnQuaW5zZXJ0QmVmb3JlKGRhdGFDb2x1bW5F
bGVtZW50LCByZWZlcmVuY2VFbGVtZW50KTsKKyAgICAgICAgY29sdW1uWyJib2R5RWxlbWVudCJd
ID0gZGF0YUNvbHVtbkVsZW1lbnQ7CisKKyAgICAgICAgdmFyIGZpbGxlckNlbGxFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKKyAgICAgICAgZmlsbGVyQ2VsbEVsZW1lbnQu
Y2xhc3NOYW1lID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1uIjsKKyAgICAgICAgZmlsbGVy
Q2VsbEVsZW1lbnQuX19jb2x1bW5JZGVudGlmaWVyID0gY29sdW1uSWRlbnRpZmllcjsKKyAgICAg
ICAgaWYgKGNvbHVtblsiZ3JvdXAiXSkKKyAgICAgICAgICAgIGZpbGxlckNlbGxFbGVtZW50LmNs
YXNzTGlzdC5hZGQoImNvbHVtbi1ncm91cC0iICsgY29sdW1uWyJncm91cCJdKTsKKyAgICAgICAg
dmFyIHJlZmVyZW5jZUVsZW1lbnQgPSB0aGlzLl9maWxsZXJSb3dFbGVtZW50LmNoaWxkcmVuW2lu
c2VydGlvbkluZGV4XTsKKyAgICAgICAgdGhpcy5fZmlsbGVyUm93RWxlbWVudC5pbnNlcnRCZWZv
cmUoZmlsbGVyQ2VsbEVsZW1lbnQsIHJlZmVyZW5jZUVsZW1lbnQpOworCisgICAgICAgIGxpc3Rl
bmVycy5pbnN0YWxsKCk7CisKKyAgICAgICAgLy90aGlzLnNldENvbHVtblZpc2libGUoY29sdW1u
SWRlbnRpZmllciwgIWNvbHVtbi5oaWRkZW4pOwogICAgIH0KIAogICAgIHNldENvbHVtblZpc2li
bGUoY29sdW1uSWRlbnRpZmllciwgdmlzaWJsZSkKQEAgLTkwMiw5ICs5ODYsMTMgQEAgV2ViSW5z
cGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmll
dwogICAgICAgICBpZiAoIWNvbHVtbiB8fCB2aXNpYmxlID09PSAhY29sdW1uLmhpZGRlbikKICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBjb2x1bW4uZWxlbWVudC5zdHlsZS53aWR0aCA9
IHZpc2libGUgPyBjb2x1bW4ud2lkdGggOiAwOwogICAgICAgICBjb2x1bW4uaGlkZGVuID0gIXZp
c2libGU7CiAKKyAgICAgICAgaWYgKHZpc2libGUpCisgICAgICAgICAgICB0aGlzLl9zaG93Q29s
dW1uKGNvbHVtbklkZW50aWZpZXIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLl9y
ZW1vdmVDb2x1bW5Gcm9tRE9NKGNvbHVtbklkZW50aWZpZXIpOworCiAgICAgICAgIGlmICh0aGlz
Ll9oaWRkZW5Db2x1bW5TZXR0aW5nKSB7CiAgICAgICAgICAgICBsZXQgaGlkZGVuQ29sdW1ucyA9
IHRoaXMuX2hpZGRlbkNvbHVtblNldHRpbmcudmFsdWUuc2xpY2UoKTsKICAgICAgICAgICAgIGlm
IChjb2x1bW4uaGlkZGVuKQpAQCAtOTM5LDE0ICsxMDI3LDE3IEBAIFdlYkluc3BlY3Rvci5EYXRh
R3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAg
dmFyIGxlZnQgPSAwOwogICAgICAgICB2YXIgcHJldmlvdXNSZXNpemVyID0gbnVsbDsKIAotICAg
ICAgICAvLyBNYWtlIG4gLSAxIHJlc2l6ZXJzIGZvciBuIGNvbHVtbnMuCi0gICAgICAgIHZhciBu
dW1SZXNpemVycyA9IHRoaXMub3JkZXJlZENvbHVtbnMubGVuZ3RoIC0gMTsKKwogCiAgICAgICAg
IC8vIENhbGN1bGF0ZSBsZWZ0IG9mZnNldHMuCiAgICAgICAgIC8vIEdldCB0aGUgd2lkdGggb2Yg
dGhlIGNlbGwgaW4gdGhlIGZpcnN0IChhbmQgb25seSkgcm93IG9mIHRoZQogICAgICAgICAvLyBo
ZWFkZXIgdGFibGUgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1u
LCBzaW5jZQogICAgICAgICAvLyBpdCBpcyBub3QgcG9zc2libGUgdG8gcXVlcnkgYSBjb2x1bW4g
Zm9yIGl0cyB3aWR0aC4KICAgICAgICAgdmFyIGNlbGxzID0gdGhpcy5faGVhZGVyVGFibGVCb2R5
RWxlbWVudC5yb3dzWzBdLmNlbGxzOworCisgICAgICAgIC8vIE1ha2UgbiAtIDEgcmVzaXplcnMg
Zm9yIG4gY29sdW1ucy4KKyAgICAgICAgdmFyIG51bVJlc2l6ZXJzID0gdGhpcy52aXNpYmxlT3Jk
ZXJlZENvbHVtbnMubGVuZ3RoOworCiAgICAgICAgIHZhciBjb2x1bW5XaWR0aHMgPSBbXTsKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1SZXNpemVyczsgKytpKSB7CiAgICAgICAgICAg
ICBsZWZ0ICs9IGNlbGxzW2ldLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoOwpAQCAtOTY1
LDYgKzEwNTYsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRl
bmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICAgICAgICAgIGxlZnQgPSBjb2x1bW5XaWR0aHNb
aV07CiAKKyAgICAgICAgICAgIC8vRklYTUU6IHNob3VsZCBiZSB1bm5lY2Vzc2FyeS4KICAgICAg
ICAgICAgIGlmICh0aGlzLl9pc0NvbHVtblZpc2libGUodGhpcy5vcmRlcmVkQ29sdW1uc1tpXSkp
IHsKICAgICAgICAgICAgICAgICByZXNpemVyLmVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHko
ImRpc3BsYXkiKTsKICAgICAgICAgICAgICAgICByZXNpemVyLmVsZW1lbnQuc3R5bGUubGVmdCA9
IGxlZnQgKyAicHgiOwpAQCAtOTc5LDcgKzEwNzEsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQg
PSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgaWYgKHByZXZpb3VzUmVzaXplcikKLSAgICAgICAgICAgIHBy
ZXZpb3VzUmVzaXplcltXZWJJbnNwZWN0b3IuRGF0YUdyaWQuTmV4dENvbHVtbk9yZGluYWxTeW1i
b2xdID0gdGhpcy5vcmRlcmVkQ29sdW1ucy5sZW5ndGggLSAxOworICAgICAgICAgICAgcHJldmlv
dXNSZXNpemVyW1dlYkluc3BlY3Rvci5EYXRhR3JpZC5OZXh0Q29sdW1uT3JkaW5hbFN5bWJvbF0g
PSB0aGlzLnZpc2libGVPcmRlcmVkQ29sdW1ucy5sZW5ndGggLSAxOwogICAgIH0KIAogICAgIF9w
b3NpdGlvbkhlYWRlclZpZXdzKCkKQEAgLTk5MCwxMCArMTA4MiwxMCBAQCBXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAg
ICAgIGxldCBjb2x1bW5XaWR0aHMgPSBbXTsKIAogICAgICAgICAvLyBDYWxjdWxhdGUgbGVmdCBv
ZmZzZXRzIGFuZCB3aWR0aHMuCi0gICAgICAgIGZvciAobGV0IGNvbHVtbklkZW50aWZpZXIgb2Yg
dGhpcy5vcmRlcmVkQ29sdW1ucykgeworICAgICAgICBmb3IgKGxldCBjb2x1bW5JZGVudGlmaWVy
IG9mIHRoaXMudmlzaWJsZU9yZGVyZWRDb2x1bW5zKSB7CiAgICAgICAgICAgICBsZXQgY29sdW1u
ID0gdGhpcy5jb2x1bW5zLmdldChjb2x1bW5JZGVudGlmaWVyKTsKICAgICAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KGNvbHVtbiwgIk1pc3NpbmcgY29sdW1uIGRhdGEgZm9yIGhlYWRlciBjZWxsIHdp
dGggY29sdW1uSWRlbnRpZmllciAiICsgY29sdW1uSWRlbnRpZmllcik7Ci0gICAgICAgICAgICBp
ZiAoIWNvbHVtbikKKyAgICAgICAgICAgIGlmICghY29sdW1uIHx8IGNvbHVtbi5oaWRkZW4pCiAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIGxldCBjb2x1bW5XaWR0aCA9
IHRoaXMuX2hlYWRlclRhYmxlQ2VsbEVsZW1lbnRzLmdldChjb2x1bW5JZGVudGlmaWVyKS5vZmZz
ZXRXaWR0aDsKQEAgLTE2NzksMTMgKzE3NzEsMTMgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0g
Y2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgX2NvcHlUZXh0
Rm9yRGF0YUdyaWROb2RlKG5vZGUpCiAgICAgewotICAgICAgICBsZXQgZmllbGRzID0gbm9kZS5k
YXRhR3JpZC5vcmRlcmVkQ29sdW1ucy5tYXAoKGlkZW50aWZpZXIpID0+IHRoaXMudGV4dEZvckRh
dGFHcmlkTm9kZUNvbHVtbihub2RlLCBpZGVudGlmaWVyKSk7CisgICAgICAgIGxldCBmaWVsZHMg
PSBub2RlLmRhdGFHcmlkLnZpc2libGVPcmRlcmVkQ29sdW1ucy5tYXAoKGlkZW50aWZpZXIpID0+
IHRoaXMudGV4dEZvckRhdGFHcmlkTm9kZUNvbHVtbihub2RlLCBpZGVudGlmaWVyKSk7CiAgICAg
ICAgIHJldHVybiBmaWVsZHMuam9pbigiXHQiKTsKICAgICB9CiAKICAgICBfY29weVRleHRGb3JE
YXRhR3JpZEhlYWRlcnMoKQogICAgIHsKLSAgICAgICAgbGV0IGZpZWxkcyA9IHRoaXMub3JkZXJl
ZENvbHVtbnMubWFwKChpZGVudGlmaWVyKSA9PiB0aGlzLmhlYWRlclRhYmxlSGVhZGVyKGlkZW50
aWZpZXIpLnRleHRDb250ZW50KTsKKyAgICAgICAgbGV0IGZpZWxkcyA9IHRoaXMudmlzaWJsZU9y
ZGVyZWRDb2x1bW5zLm1hcCgoaWRlbnRpZmllcikgPT4gdGhpcy5oZWFkZXJUYWJsZUhlYWRlcihp
ZGVudGlmaWVyKS50ZXh0Q29udGVudCk7CiAgICAgICAgIHJldHVybiBmaWVsZHMuam9pbigiXHQi
KTsKICAgICB9CiAK
</data>
<flag name="review"
          id="310019"
          type_id="1"
          status="-"
          setter="nvasilyev"
    />
    <flag name="commit-queue"
          id="310020"
          type_id="3"
          status="-"
          setter="nvasilyev"
    />
          </attachment>
      

    </bug>

</bugzilla>