<?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>19377</bug_id>
          
          <creation_ts>2008-06-03 09:39:32 -0700</creation_ts>
          <short_desc>REGRESSION (r34109): &quot;Inspect Element&quot; on a node in a subframe doesn&apos;t highlight that node</short_desc>
          <delta_ts>2008-07-24 08:21:58 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://tivofaq.com/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>abarth</cc>
    
    <cc>collinj</cc>
    
    <cc>pen</cc>
    
    <cc>rik</cc>
    
    <cc>rob.tsuk</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>82210</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-06-03 09:39:32 -0700</bug_when>
    <thetext>Choosing &quot;Inspect Element&quot; from the context menu on a node in a subframe doesn&apos;t highlight that node in the Elements panel.

To repro:
1. Go to http://tivofaq.com/
2. Right-click on the &quot;ILoveMyTiVo&quot; link at the top of the right frame
3. Choose &quot;Inspect Element&quot;

Results:
The Inspector appears, but the &lt;frameset&gt; element is highlighted, not the link you right-clicked on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82216</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-06-03 10:17:25 -0700</bug_when>
    <thetext>I think this was caused by r31890. What&apos;s happening is we&apos;re ending up with two JSInspectedObjectWrappers for the same JSHTMLHtmlElement. The two wrappers have different global objects. Presumably one of them is the subframe&apos;s global object and one of them is the main frame&apos;s. The effect of this is that the two wrappers fail a strict equality check (they&apos;d fail a non-strict equality check, too).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82217</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-06-03 10:21:34 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Presumably one of them is the subframe&apos;s global
&gt; object and one of them is the main frame&apos;s.

This guess turns out to be correct.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82424</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-06-06 08:28:56 -0700</bug_when>
    <thetext>Actually, I suspect that r34109 was the cause of this bug. That change caused us to start caching wrappers per-global object. Prior to that we only had one wrapper for each JS object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86658</commentid>
    <comment_count>4</comment_count>
      <attachid>22430</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-07-22 09:30:53 -0700</bug_when>
    <thetext>Created attachment 22430
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86664</commentid>
    <comment_count>5</comment_count>
      <attachid>22430</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-07-22 10:11:15 -0700</bug_when>
    <thetext>Comment on attachment 22430
Proposed patch

&quot;sameObjects&quot; is a somewhat awkward name for an equality function. I think it needs some version of &quot;to be&quot; in it, like &quot;areSameObject&quot; or &quot;objectsAreSame&quot; or &quot;objectsAreEqual&quot;. It also seems like we might as well call up to C++ to do the comparison on the unwrapped objects for real, if we&apos;re sending everything through a single bottleneck anyway.

r=me, but do consider renaming sameObjects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86853</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-07-24 08:21:58 -0700</bug_when>
    <thetext>Landed in r35315.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22430</attachid>
            <date>2008-07-22 09:30:53 -0700</date>
            <delta_ts>2008-07-22 10:11:15 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001-Fix-a-regression-where-elements-in-subframes.patch</filename>
            <type>text/plain</type>
            <size>17240</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">RnJvbSBiZGZlMmZkYmEwYmZjNmNjNGQ4MThmMTU0ZWE4MjYxNmEyMzk0ZDVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW1vdGh5IEhhdGNoZXIgPHRpbW90aHlAYXBwbGUuY29tPgpE
YXRlOiBUdWUsIDIyIEp1bCAyMDA4IDA3OjQzOjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gICAg
ICAgICBGaXggYSByZWdyZXNzaW9uIHdoZXJlIGVsZW1lbnRzIGluIHN1YmZyYW1lcyB3b3VsZCBu
b3QgYmUgcmV2ZWFsZWQKICAgICAgICAgb3Igc2VsZWN0ZWQgd2hlbiBpbnNwZWN0ZWQgZnJvbSB0
aGUgY29udGV4dCBtZW51LiBUaGlzIHdhcyBjYXVzZWQgYnkKICAgICAgICAgSmF2YVNjcmlwdCBl
cXVhbGl0eSBpcyBub3QgYmVpbmcgdHJ1ZSBmb3IgSlNJbnNwZWN0ZWRPYmplY3RXcmFwcGVycwog
ICAgICAgICBvZiB0aGUgc2FtZSBub2RlIHdyYXBwZWQgd2l0aCBkaWZmZXJlbnQgZ2xvYmFsIEV4
ZWNTdGF0ZXMuIFRoaXMgY2hhbmdlCiAgICAgICAgIGFkZHMgYSBoZWxwZXIgZnVuY3Rpb24gdGhh
dCB1c2VzIGlzU2FtZU5vZGUgdG8gY29tcGFyZSB3cmFwcGVkIG5vZGVzLgoKICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNzcKCiAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgICogcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQ
YW5lbC5qczoKICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnNl
dCByb290RE9NTm9kZSk6IFVzZSBzYW1lT2JqZWN0cwogICAgICAgIHRvIGNvbXBhcmUgbm9kZXMu
CiAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5zZXQgZm9jdXNl
ZERPTU5vZGUpOiBEaXR0by4KICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJv
dG90eXBlLnNldCBob3ZlcmVkRE9NTm9kZSk6IERpdHRvLgogICAgICAgIChXZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZU1vZGlmaWVkTm9kZXMpOiBEaXR0by4KICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnJldmVhbE5vZGUpOiBE
aXR0by4KICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnVwZGF0
ZUJyZWFkY3J1bWIpOiBEaXR0by4KICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVUcmVlRWxl
bWVudC5wcm90b3R5cGUudXBkYXRlQ2hpbGRyZW4pOiBEaXR0by4KICAgICAgICAqIHBhZ2UvaW5z
cGVjdG9yL3RyZWVvdXRsaW5lLmpzOgogICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUuZmlu
ZFRyZWVFbGVtZW50KTogQWRkIGFuIGVxdWFsIGFyZ3VtZW50CiAgICAgICAgdG8gYWNjZXB0IGEg
ZnVuY3Rpb25zIHRvIGNvbXBhcmUgdHdvIHJlcHJlc2VudGVkT2JqZWN0cy4gRGVmYXVsdHMKICAg
ICAgICB0byBzdHJpY3QgZXF1YWwgaWYgbm90IHN1cHBsaWVkLiBBbGwgY3VycmVudCBjbGllbnRz
IHBhc3Mgc2FtZU9iamVjdHMuCiAgICAgICAgKiBwYWdlL2luc3BlY3Rvci91dGlsaXRpZXMuanM6
CiAgICAgICAgKE5vZGUucHJvdG90eXBlLmVuY2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWVJ
bkFycmF5KTogVXNlIHNhbWVPYmplY3RzCiAgICAgICAgdG8gY29tcGFyZSBub2Rlcy4KICAgICAg
ICAoTm9kZS5wcm90b3R5cGUuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhDbGFzcyk6IERpdHRvLgog
ICAgICAgIChFbGVtZW50LnByb3RvdHlwZS5xdWVyeSk6IFVzZSB0aGUgb3duZXJEb2N1bWVudCBv
ZiB0aGUgbm9kZSwgbm90IGRvY3VtZW50LgogICAgICAgIChzYW1lT2JqZWN0cyk6IEFkZGVkLiBD
b21wYXJlcyBzdHJpY3QgZXF1YWwgZmlyc3QsIHRoZW4gdXNlcyBpc1NhbWVOb2RlIGlmCiAgICAg
ICAgaXQgZXhpc3RzIG9uIGJvdGggb2JqZWN0cy4KICAgICAgICAoaXNBbmNlc3Rvck5vZGUpOiBV
c2Ugc2FtZU9iamVjdHMgdG8gY29tcGFyZSBub2Rlcy4KICAgICAgICAoZmlyc3RDb21tb25Ob2Rl
QW5jZXN0b3IpOiBEaXR0by4KICAgICAgICAodHJhdmVyc2VOZXh0Tm9kZSk6IERpdHRvLgotLS0K
IFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzYgKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVtZW50c1Bh
bmVsLmpzIHwgICAyNiArKysrKysrKysrKy0tLS0tLS0tLS0tCiBXZWJDb3JlL3BhZ2UvaW5zcGVj
dG9yL3RyZWVvdXRsaW5lLmpzICAgfCAgIDE3ICsrKysrKysrLS0tLS0tCiBXZWJDb3JlL3BhZ2Uv
aW5zcGVjdG9yL3V0aWxpdGllcy5qcyAgICAgfCAgIDMxICsrKysrKysrKysrKysrKysrKystLS0t
LS0tCiA0IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzE4YzJkZS4uZDk2NGU3MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAwOC0wNy0yMiAgVGltb3RoeSBIYXRj
aGVyICA8dGltb3RoeUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGEgcmVncmVzc2lvbiB3aGVy
ZSBlbGVtZW50cyBpbiBzdWJmcmFtZXMgd291bGQgbm90IGJlIHJldmVhbGVkCisgICAgICAgIG9y
IHNlbGVjdGVkIHdoZW4gaW5zcGVjdGVkIGZyb20gdGhlIGNvbnRleHQgbWVudS4gVGhpcyB3YXMg
Y2F1c2VkIGJ5CisgICAgICAgIEphdmFTY3JpcHQgZXF1YWxpdHkgaXMgbm90IGJlaW5nIHRydWUg
Zm9yIEpTSW5zcGVjdGVkT2JqZWN0V3JhcHBlcnMKKyAgICAgICAgb2YgdGhlIHNhbWUgbm9kZSB3
cmFwcGVkIHdpdGggZGlmZmVyZW50IGdsb2JhbCBFeGVjU3RhdGVzLiBUaGlzIGNoYW5nZQorICAg
ICAgICBhZGRzIGEgaGVscGVyIGZ1bmN0aW9uIHRoYXQgdXNlcyBpc1NhbWVOb2RlIHRvIGNvbXBh
cmUgd3JhcHBlZCBub2Rlcy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkzNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUuc2V0IHJvb3RET01Ob2RlKTogVXNl
IHNhbWVPYmplY3RzCisgICAgICAgIHRvIGNvbXBhcmUgbm9kZXMuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUuc2V0IGZvY3VzZWRET01Ob2RlKTogRGl0dG8u
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUuc2V0IGhvdmVy
ZWRET01Ob2RlKTogRGl0dG8uIAorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwu
cHJvdG90eXBlLl91cGRhdGVNb2RpZmllZE5vZGVzKTogRGl0dG8uCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUucmV2ZWFsTm9kZSk6IERpdHRvLgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLnVwZGF0ZUJyZWFkY3J1bWIp
OiBEaXR0by4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlVHJlZUVsZW1lbnQucHJvdG90
eXBlLnVwZGF0ZUNoaWxkcmVuKTogRGl0dG8uCisgICAgICAgICogcGFnZS9pbnNwZWN0b3IvdHJl
ZW91dGxpbmUuanM6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUuZmluZFRyZWVFbGVt
ZW50KTogQWRkIGFuIGVxdWFsIGFyZ3VtZW50CisgICAgICAgIHRvIGFjY2VwdCBhIGZ1bmN0aW9u
cyB0byBjb21wYXJlIHR3byByZXByZXNlbnRlZE9iamVjdHMuIERlZmF1bHRzCisgICAgICAgIHRv
IHN0cmljdCBlcXVhbCBpZiBub3Qgc3VwcGxpZWQuIEFsbCBjdXJyZW50IGNsaWVudHMgcGFzcyBz
YW1lT2JqZWN0cy4KKyAgICAgICAgKiBwYWdlL2luc3BlY3Rvci91dGlsaXRpZXMuanM6CisgICAg
ICAgIChOb2RlLnByb3RvdHlwZS5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lSW5BcnJh
eSk6IFVzZSBzYW1lT2JqZWN0cworICAgICAgICB0byBjb21wYXJlIG5vZGVzLgorICAgICAgICAo
Tm9kZS5wcm90b3R5cGUuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhDbGFzcyk6IERpdHRvLgorICAg
ICAgICAoRWxlbWVudC5wcm90b3R5cGUucXVlcnkpOiBVc2UgdGhlIG93bmVyRG9jdW1lbnQgb2Yg
dGhlIG5vZGUsIG5vdCBkb2N1bWVudC4KKyAgICAgICAgKHNhbWVPYmplY3RzKTogQWRkZWQuIENv
bXBhcmVzIHN0cmljdCBlcXVhbCBmaXJzdCwgdGhlbiB1c2VzIGlzU2FtZU5vZGUgaWYKKyAgICAg
ICAgaXQgZXhpc3RzIG9uIGJvdGggb2JqZWN0cy4KKyAgICAgICAgKGlzQW5jZXN0b3JOb2RlKTog
VXNlIHNhbWVPYmplY3RzIHRvIGNvbXBhcmUgbm9kZXMuCisgICAgICAgIChmaXJzdENvbW1vbk5v
ZGVBbmNlc3Rvcik6IERpdHRvLgorICAgICAgICAodHJhdmVyc2VOZXh0Tm9kZSk6IERpdHRvLgor
CiAyMDA4LTA3LTIxICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAg
ICAgICBVcGRhdGVzIHRoZSBlbGVtZW50cyBET00gdHJlZSB3aGVuIG5vZGVzIGFyZSBhZGRlZCBv
ciByZW1vdmVkIGZyb20KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVu
dHNQYW5lbC5qcyBiL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qcwppbmRl
eCA3NTlmMzEwLi4wZDhjZDUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0Vs
ZW1lbnRzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVtZW50c1BhbmVs
LmpzCkBAIC0xOTYsNyArMTk2LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90
eXBlID0gewogCiAgICAgc2V0IHJvb3RET01Ob2RlKHgpCiAgICAgewotICAgICAgICBpZiAodGhp
cy5fcm9vdERPTU5vZGUgPT09IHgpCisgICAgICAgIGlmIChzYW1lT2JqZWN0cyh0aGlzLl9yb290
RE9NTm9kZSwgeCkpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fcm9vdERP
TU5vZGUgPSB4OwpAQCAtMjEyLDcgKzIxMiw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVs
LnByb3RvdHlwZSA9IHsKIAogICAgIHNldCBmb2N1c2VkRE9NTm9kZSh4KQogICAgIHsKLSAgICAg
ICAgaWYgKHRoaXMuX2ZvY3VzZWRET01Ob2RlID09PSB4KSB7CisgICAgICAgIGlmIChzYW1lT2Jq
ZWN0cyh0aGlzLl9mb2N1c2VkRE9NTm9kZSwgeCkpIHsKICAgICAgICAgICAgIHZhciBub2RlSXRl
bSA9IHRoaXMucmV2ZWFsTm9kZSh4KTsKICAgICAgICAgICAgIGlmIChub2RlSXRlbSkKICAgICAg
ICAgICAgICAgICBub2RlSXRlbS5zZWxlY3QoKTsKQEAgLTIzNSw3ICsyMzUsNyBAQCBXZWJJbnNw
ZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBzZXQgaG92ZXJlZERPTU5v
ZGUoeCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9ob3ZlcmVkRE9NTm9kZSA9PT0geCkKKyAg
ICAgICAgaWYgKHNhbWVPYmplY3RzKHRoaXMuX2hvdmVyZWRET01Ob2RlLCB4KSkKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9ob3ZlcmVkRE9NTm9kZSA9IHg7CkBAIC0zMTQs
NyArMzE0LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogCiAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5yZWNlbnRseU1vZGlmaWVkTm9kZXMubGVu
Z3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciBwYXJlbnQgPSB0aGlzLnJlY2VudGx5TW9kaWZp
ZWROb2Rlc1tpXS5wYXJlbnQ7Ci0gICAgICAgICAgICB2YXIgcGFyZW50Tm9kZUl0ZW0gPSB0aGlz
LnRyZWVPdXRsaW5lLmZpbmRUcmVlRWxlbWVudChwYXJlbnQpOworICAgICAgICAgICAgdmFyIHBh
cmVudE5vZGVJdGVtID0gdGhpcy50cmVlT3V0bGluZS5maW5kVHJlZUVsZW1lbnQocGFyZW50LCBu
dWxsLCBudWxsLCBzYW1lT2JqZWN0cyk7CiAgICAgICAgICAgICBpZiAocGFyZW50Tm9kZUl0ZW0g
JiYgIXBhcmVudE5vZGVJdGVtLmFscmVhZHlVcGRhdGVkQ2hpbGRyZW4pIHsKICAgICAgICAgICAg
ICAgICBwYXJlbnROb2RlSXRlbS51cGRhdGVDaGlsZHJlbigpOwogICAgICAgICAgICAgICAgIHBh
cmVudE5vZGVJdGVtLmFscmVhZHlVcGRhdGVkQ2hpbGRyZW4gPSB0cnVlOwpAQCAtMzYyLDcgKzM2
Miw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgIHJl
dmVhbE5vZGU6IGZ1bmN0aW9uKG5vZGUpCiAgICAgewotICAgICAgICB2YXIgbm9kZUl0ZW0gPSB0
aGlzLnRyZWVPdXRsaW5lLmZpbmRUcmVlRWxlbWVudChub2RlLCB0aGlzLl9pc0FuY2VzdG9ySW5j
bHVkaW5nUGFyZW50RnJhbWVzLmJpbmQodGhpcyksIHRoaXMuX3BhcmVudE5vZGVPckZyYW1lRWxl
bWVudC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdmFyIG5vZGVJdGVtID0gdGhpcy50cmVlT3V0bGlu
ZS5maW5kVHJlZUVsZW1lbnQobm9kZSwgdGhpcy5faXNBbmNlc3RvckluY2x1ZGluZ1BhcmVudEZy
YW1lcy5iaW5kKHRoaXMpLCB0aGlzLl9wYXJlbnROb2RlT3JGcmFtZUVsZW1lbnQuYmluZCh0aGlz
KSwgc2FtZU9iamVjdHMpOwogICAgICAgICBpZiAoIW5vZGVJdGVtKQogICAgICAgICAgICAgcmV0
dXJuOwogCkBAIC0zOTgsNyArMzk4LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJv
dG90eXBlID0gewogICAgICAgICB2YXIgZm91bmRSb290ID0gZmFsc2U7CiAgICAgICAgIHZhciBj
cnVtYiA9IGNydW1icy5maXJzdENoaWxkOwogICAgICAgICB3aGlsZSAoY3J1bWIpIHsKLSAgICAg
ICAgICAgIGlmIChjcnVtYi5yZXByZXNlbnRlZE9iamVjdCA9PT0gdGhpcy5yb290RE9NTm9kZSkK
KyAgICAgICAgICAgIGlmIChzYW1lT2JqZWN0cyhjcnVtYi5yZXByZXNlbnRlZE9iamVjdCwgdGhp
cy5yb290RE9NTm9kZSkpCiAgICAgICAgICAgICAgICAgZm91bmRSb290ID0gdHJ1ZTsKIAogICAg
ICAgICAgICAgaWYgKGZvdW5kUm9vdCkKQEAgLTQwNiw3ICs0MDYsNyBAQCBXZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgY3J1bWIucmVtb3ZlU3R5bGVDbGFzcygiZGltbWVkIik7CiAKLSAgICAgICAgICAgIGlm
IChjcnVtYi5yZXByZXNlbnRlZE9iamVjdCA9PT0gdGhpcy5mb2N1c2VkRE9NTm9kZSkgeworICAg
ICAgICAgICAgaWYgKHNhbWVPYmplY3RzKGNydW1iLnJlcHJlc2VudGVkT2JqZWN0LCB0aGlzLmZv
Y3VzZWRET01Ob2RlKSkgewogICAgICAgICAgICAgICAgIGNydW1iLmFkZFN0eWxlQ2xhc3MoInNl
bGVjdGVkIik7CiAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7CiAgICAgICAgICAgICB9
IGVsc2UgewpAQCAtNDk4LDcgKzQ5OCw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChjdXJyZW50Lm5vZGVUeXBlID09PSBOb2RlLkRP
Q1VNRU5UX05PREUpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIGlm
IChjdXJyZW50ID09PSB0aGlzLnJvb3RET01Ob2RlKQorICAgICAgICAgICAgaWYgKHNhbWVPYmpl
Y3RzKGN1cnJlbnQsIHRoaXMucm9vdERPTU5vZGUpKQogICAgICAgICAgICAgICAgIGZvdW5kUm9v
dCA9IHRydWU7CiAKICAgICAgICAgICAgIHZhciBjcnVtYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKQEAgLTU4Myw3ICs1ODMsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5l
bC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgICAgIGlmIChmb3VuZFJvb3QpCiAgICAgICAgICAg
ICAgICAgY3J1bWIuYWRkU3R5bGVDbGFzcygiZGltbWVkIik7Ci0gICAgICAgICAgICBpZiAoY3Vy
cmVudCA9PT0gdGhpcy5mb2N1c2VkRE9NTm9kZSkKKyAgICAgICAgICAgIGlmIChzYW1lT2JqZWN0
cyhjdXJyZW50LCB0aGlzLmZvY3VzZWRET01Ob2RlKSkKICAgICAgICAgICAgICAgICBjcnVtYi5h
ZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwogICAgICAgICAgICAgaWYgKCFjcnVtYnMuY2hpbGRO
b2Rlcy5sZW5ndGgpCiAgICAgICAgICAgICAgICAgY3J1bWIuYWRkU3R5bGVDbGFzcygiZW5kIik7
CkBAIC0xMTI2LDExICsxMTI2LDExIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlVHJlZUVsZW1lbnQu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIGNoaWxkID0gKFByZWZlcmVuY2VzLmlnbm9y
ZVdoaXRlc3BhY2UgPyBmaXJzdENoaWxkU2tpcHBpbmdXaGl0ZXNwYWNlLmNhbGwobm9kZSkgOiBu
b2RlLmZpcnN0Q2hpbGQpOwogICAgICAgICAgICAgd2hpbGUgKGNoaWxkKSB7CiAgICAgICAgICAg
ICAgICAgdmFyIGN1cnJlbnRUcmVlRWxlbWVudCA9IHRyZWVFbGVtZW50LmNoaWxkcmVuW3RyZWVD
aGlsZEluZGV4XTsKLSAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRUcmVlRWxlbWVudCB8fCBj
dXJyZW50VHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgIT09IGNoaWxkKSB7CisgICAgICAg
ICAgICAgICAgaWYgKCFjdXJyZW50VHJlZUVsZW1lbnQgfHwgIXNhbWVPYmplY3RzKGN1cnJlbnRU
cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCwgY2hpbGQpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIC8vIEZpeCBhbnkgZXhpc3RpbmcgZWxlbWVudCB0aGF0IGlzIGxhdGVyIGluIHRoZSBjaGls
ZHJlbiBsaXN0LgogICAgICAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmdUcmVlRWxlbWVudCA9
IG51bGw7CiAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAodHJlZUNoaWxkSW5kZXgg
KyAxKTsgaSA8IHRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQuY2hpbGRyZW5baV0ucmVwcmVzZW50ZWRPYmpl
Y3QgPT09IGNoaWxkKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2FtZU9iamVjdHMo
dHJlZUVsZW1lbnQuY2hpbGRyZW5baV0ucmVwcmVzZW50ZWRPYmplY3QsIGNoaWxkKSkgewogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nVHJlZUVsZW1lbnQgPSB0cmVlRWxlbWVu
dC5jaGlsZHJlbltpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KQEAgLTExNTYsOSArMTE1Niw5IEBAIFdlYkluc3BlY3Rvci5E
T01Ob2RlVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCJlbGVtZW50
Q2xvc2VUYWciIGluIHRyZWVFbGVtZW50LmNoaWxkcmVuW2ldKQogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICAgICAgdmFyIGN1cnJlbnRQYXJlbnROb2RlID0gdHJlZUVsZW1lbnQu
Y2hpbGRyZW5baV0ucmVwcmVzZW50ZWRPYmplY3QucGFyZW50Tm9kZTsKLSAgICAgICAgICAgIGlm
IChjdXJyZW50UGFyZW50Tm9kZSA9PT0gdGhpcy5yZXByZXNlbnRlZE9iamVjdCkKKyAgICAgICAg
ICAgIGlmIChzYW1lT2JqZWN0cyhjdXJyZW50UGFyZW50Tm9kZSwgdGhpcy5yZXByZXNlbnRlZE9i
amVjdCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBpZiAodGhpcy5y
ZXByZXNlbnRlZE9iamVjdC5jb250ZW50RG9jdW1lbnQgJiYgY3VycmVudFBhcmVudE5vZGUgPT09
IHRoaXMucmVwcmVzZW50ZWRPYmplY3QuY29udGVudERvY3VtZW50KQorICAgICAgICAgICAgaWYg
KHRoaXMucmVwcmVzZW50ZWRPYmplY3QuY29udGVudERvY3VtZW50ICYmIHNhbWVPYmplY3RzKGN1
cnJlbnRQYXJlbnROb2RlLCB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LmNvbnRlbnREb2N1bWVudCkp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB0cmVlRWxlbWVudC5yZW1v
dmVDaGlsZEF0SW5kZXgoaSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9p
bnNwZWN0b3IvdHJlZW91dGxpbmUuanMgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL3RyZWVvdXRs
aW5lLmpzCmluZGV4IDE2M2UzNTcuLjVjMTBjZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9p
bnNwZWN0b3IvdHJlZW91dGxpbmUuanMKKysrIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci90cmVl
b3V0bGluZS5qcwpAQCAtMjQ1LDE4ICsyNDUsMjEgQEAgVHJlZU91dGxpbmUucHJvdG90eXBlLl9m
b3JnZXRUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiAgICAgfQogfQogCi1UcmVlT3V0
bGluZS5wcm90b3R5cGUuZmluZFRyZWVFbGVtZW50ID0gZnVuY3Rpb24ocmVwcmVzZW50ZWRPYmpl
Y3QsIGlzQW5jZXN0b3IsIGdldFBhcmVudCkKK1RyZWVPdXRsaW5lLnByb3RvdHlwZS5maW5kVHJl
ZUVsZW1lbnQgPSBmdW5jdGlvbihyZXByZXNlbnRlZE9iamVjdCwgaXNBbmNlc3RvciwgZ2V0UGFy
ZW50LCBlcXVhbCkKIHsKICAgICBpZiAoIXJlcHJlc2VudGVkT2JqZWN0KQogICAgICAgICByZXR1
cm4gbnVsbDsKIAorICAgIGlmICghZXF1YWwpCisgICAgICAgIGVxdWFsID0gZnVuY3Rpb24oYSwg
YikgeyByZXR1cm4gYSA9PT0gYiB9OworCiAgICAgaWYgKCJfX3RyZWVFbGVtZW50SWRlbnRpZmll
ciIgaW4gcmVwcmVzZW50ZWRPYmplY3QpIHsKICAgICAgICAgLy8gSWYgdGhpcyByZXByZXNlbnRl
ZE9iamVjdCBoYXMgYSB0cmVlIGVsZW1lbnQgaWRlbnRpZmllciwgYW5kIGl0IGlzIGEga25vd24g
VHJlZUVsZW1lbnQKICAgICAgICAgLy8gaW4gb3VyIHRyZWUgd2UgY2FuIGp1c3QgcmV0dXJuIHRo
YXQgdHJlZSBlbGVtZW50LgogICAgICAgICB2YXIgZWxlbWVudHMgPSB0aGlzLl9rbm93blRyZWVF
bGVtZW50c1tyZXByZXNlbnRlZE9iamVjdC5fX3RyZWVFbGVtZW50SWRlbnRpZmllcl07CiAgICAg
ICAgIGlmIChlbGVtZW50cykgewogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVt
ZW50cy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICBpZiAoZWxlbWVudHNbaV0ucmVwcmVz
ZW50ZWRPYmplY3QgPT09IHJlcHJlc2VudGVkT2JqZWN0KQorICAgICAgICAgICAgICAgIGlmIChl
cXVhbChlbGVtZW50c1tpXS5yZXByZXNlbnRlZE9iamVjdCwgcmVwcmVzZW50ZWRPYmplY3QpKQog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudHNbaV07CiAgICAgICAgIH0KICAgICB9
CkBAIC0yNzAsNyArMjczLDcgQEAgVHJlZU91dGxpbmUucHJvdG90eXBlLmZpbmRUcmVlRWxlbWVu
dCA9IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0LCBpc0FuY2VzdG9yLAogICAgIHZhciBmb3Vu
ZCA9IGZhbHNlOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jaGlsZHJlbi5sZW5ndGg7
ICsraSkgewogICAgICAgICBpdGVtID0gdGhpcy5jaGlsZHJlbltpXTsKLSAgICAgICAgaWYgKGl0
ZW0ucmVwcmVzZW50ZWRPYmplY3QgPT09IHJlcHJlc2VudGVkT2JqZWN0IHx8IGlzQW5jZXN0b3Io
aXRlbS5yZXByZXNlbnRlZE9iamVjdCwgcmVwcmVzZW50ZWRPYmplY3QpKSB7CisgICAgICAgIGlm
IChlcXVhbChpdGVtLnJlcHJlc2VudGVkT2JqZWN0LCByZXByZXNlbnRlZE9iamVjdCkgfHwgaXNB
bmNlc3RvcihpdGVtLnJlcHJlc2VudGVkT2JqZWN0LCByZXByZXNlbnRlZE9iamVjdCkpIHsKICAg
ICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBA
IC0yODUsNyArMjg4LDcgQEAgVHJlZU91dGxpbmUucHJvdG90eXBlLmZpbmRUcmVlRWxlbWVudCA9
IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0LCBpc0FuY2VzdG9yLAogICAgIHZhciBjdXJyZW50
T2JqZWN0ID0gcmVwcmVzZW50ZWRPYmplY3Q7CiAgICAgd2hpbGUgKGN1cnJlbnRPYmplY3QpIHsK
ICAgICAgICAgYW5jZXN0b3JzLnVuc2hpZnQoY3VycmVudE9iamVjdCk7Ci0gICAgICAgIGlmIChj
dXJyZW50T2JqZWN0ID09PSBpdGVtLnJlcHJlc2VudGVkT2JqZWN0KQorICAgICAgICBpZiAoZXF1
YWwoY3VycmVudE9iamVjdCwgaXRlbS5yZXByZXNlbnRlZE9iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY3VycmVudE9iamVjdCA9IGdldFBhcmVudChjdXJyZW50T2JqZWN0KTsK
ICAgICB9CkBAIC0yOTQsMTggKzI5NywxOCBAQCBUcmVlT3V0bGluZS5wcm90b3R5cGUuZmluZFRy
ZWVFbGVtZW50ID0gZnVuY3Rpb24ocmVwcmVzZW50ZWRPYmplY3QsIGlzQW5jZXN0b3IsCiAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBhbmNlc3RvcnMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgLy8g
TWFrZSBzdXJlIHdlIGRvbid0IGNhbGwgZmluZFRyZWVFbGVtZW50IHdpdGggdGhlIHNhbWUgcmVw
cmVzZW50ZWRPYmplY3QKICAgICAgICAgLy8gYWdhaW4sIHRvIHByZXZlbnQgaW5maW5pdGUgcmVj
dXJzaW9uLgotICAgICAgICBpZiAoYW5jZXN0b3JzW2ldID09PSByZXByZXNlbnRlZE9iamVjdCkK
KyAgICAgICAgaWYgKGVxdWFsKGFuY2VzdG9yc1tpXSwgcmVwcmVzZW50ZWRPYmplY3QpKQogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIC8vIEZJWE1FOiB3ZSBjb3VsZCBkbyBzb21ldGhp
bmcgZmFzdGVyIHRoYW4gZmluZFRyZWVFbGVtZW50IHNpbmNlIHdlIHdpbGwga25vdyB0aGUgbmV4
dAogICAgICAgICAvLyBhbmNlc3RvciBleGlzdHMgaW4gdGhlIHRyZWUuCi0gICAgICAgIGl0ZW0g
PSB0aGlzLmZpbmRUcmVlRWxlbWVudChhbmNlc3RvcnNbaV0sIGlzQW5jZXN0b3IsIGdldFBhcmVu
dCk7CisgICAgICAgIGl0ZW0gPSB0aGlzLmZpbmRUcmVlRWxlbWVudChhbmNlc3RvcnNbaV0sIGlz
QW5jZXN0b3IsIGdldFBhcmVudCwgZXF1YWwpOwogICAgICAgICBpZiAoaXRlbSAmJiBpdGVtLm9u
cG9wdWxhdGUpCiAgICAgICAgICAgICBpdGVtLm9ucG9wdWxhdGUoaXRlbSk7CiAgICAgfQogCiAg
ICAgLy8gTm93IHRoYXQgYWxsIHRoZSBhbmNlc3RvcnMgYXJlIHBvcHVsYXRlZCwgdHJ5IHRvIGZp
bmQgdGhlIHJlcHJlc2VudGVkT2JqZWN0IGFnYWluLiBUaGlzIHRpbWUKICAgICAvLyB3aXRob3V0
IHRoZSBpc0FuY2VzdG9yIGFuZCBnZXRQYXJlbnQgZnVuY3Rpb25zIHRvIHByZXZlbnQgYW4gaW5m
aW5pdGUgcmVjdXJzaW9uIGlmIGl0IGlzbid0IGZvdW5kLgotICAgIHJldHVybiB0aGlzLmZpbmRU
cmVlRWxlbWVudChyZXByZXNlbnRlZE9iamVjdCk7CisgICAgcmV0dXJuIHRoaXMuZmluZFRyZWVF
bGVtZW50KHJlcHJlc2VudGVkT2JqZWN0LCBudWxsLCBudWxsLCBlcXVhbCk7CiB9CiAKIFRyZWVP
dXRsaW5lLnByb3RvdHlwZS50cmVlRWxlbWVudEZyb21Qb2ludCA9IGZ1bmN0aW9uKHgsIHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL3V0aWxpdGllcy5qcyBiL1dlYkNvcmUv
cGFnZS9pbnNwZWN0b3IvdXRpbGl0aWVzLmpzCmluZGV4IDdlODc0MTMuLjlmYmI3MjYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvdXRpbGl0aWVzLmpzCisrKyBiL1dlYkNvcmUv
cGFnZS9pbnNwZWN0b3IvdXRpbGl0aWVzLmpzCkBAIC0xMzUsNyArMTM1LDcgQEAgRWxlbWVudC5w
cm90b3R5cGUuaGFzU3R5bGVDbGFzcyA9IGZ1bmN0aW9uKGNsYXNzTmFtZSkKIAogTm9kZS5wcm90
b3R5cGUuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFtZUluQXJyYXkgPSBmdW5jdGlvbihu
YW1lQXJyYXkpCiB7Ci0gICAgZm9yICh2YXIgbm9kZSA9IHRoaXM7IG5vZGUgJiYgKG5vZGUgIT09
IGRvY3VtZW50KTsgbm9kZSA9IG5vZGUucGFyZW50Tm9kZSkKKyAgICBmb3IgKHZhciBub2RlID0g
dGhpczsgbm9kZSAmJiAhc2FtZU9iamVjdHMobm9kZSwgdGhpcy5vd25lckRvY3VtZW50KTsgbm9k
ZSA9IG5vZGUucGFyZW50Tm9kZSkKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuYW1lQXJy
YXkubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICBpZiAobm9kZS5ub2RlTmFtZS50b0xvd2VyQ2Fz
ZSgpID09PSBuYW1lQXJyYXlbaV0udG9Mb3dlckNhc2UoKSkKICAgICAgICAgICAgICAgICByZXR1
cm4gbm9kZTsKQEAgLTE0OSw3ICsxNDksNyBAQCBOb2RlLnByb3RvdHlwZS5lbmNsb3NpbmdOb2Rl
T3JTZWxmV2l0aE5vZGVOYW1lID0gZnVuY3Rpb24obm9kZU5hbWUpCiAKIE5vZGUucHJvdG90eXBl
LmVuY2xvc2luZ05vZGVPclNlbGZXaXRoQ2xhc3MgPSBmdW5jdGlvbihjbGFzc05hbWUpCiB7Ci0g
ICAgZm9yICh2YXIgbm9kZSA9IHRoaXM7IG5vZGUgJiYgKG5vZGUgIT09IGRvY3VtZW50KTsgbm9k
ZSA9IG5vZGUucGFyZW50Tm9kZSkKKyAgICBmb3IgKHZhciBub2RlID0gdGhpczsgbm9kZSAmJiAh
c2FtZU9iamVjdHMobm9kZSwgdGhpcy5vd25lckRvY3VtZW50KTsgbm9kZSA9IG5vZGUucGFyZW50
Tm9kZSkKICAgICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYm
IG5vZGUuaGFzU3R5bGVDbGFzcyhjbGFzc05hbWUpKQogICAgICAgICAgICAgcmV0dXJuIG5vZGU7
CiAgICAgcmV0dXJuIG51bGw7CkBAIC0xNjQsNyArMTY0LDcgQEAgTm9kZS5wcm90b3R5cGUuZW5j
bG9zaW5nTm9kZVdpdGhDbGFzcyA9IGZ1bmN0aW9uKGNsYXNzTmFtZSkKIAogRWxlbWVudC5wcm90
b3R5cGUucXVlcnkgPSBmdW5jdGlvbihxdWVyeSkgCiB7Ci0gICAgcmV0dXJuIGRvY3VtZW50LmV2
YWx1YXRlKHF1ZXJ5LCB0aGlzLCBudWxsLCBYUGF0aFJlc3VsdC5GSVJTVF9PUkRFUkVEX05PREVf
VFlQRSwgbnVsbCkuc2luZ2xlTm9kZVZhbHVlOworICAgIHJldHVybiB0aGlzLm93bmVyRG9jdW1l
bnQuZXZhbHVhdGUocXVlcnksIHRoaXMsIG51bGwsIFhQYXRoUmVzdWx0LkZJUlNUX09SREVSRURf
Tk9ERV9UWVBFLCBudWxsKS5zaW5nbGVOb2RlVmFsdWU7CiB9CiAKIEVsZW1lbnQucHJvdG90eXBl
LnJlbW92ZUNoaWxkcmVuID0gZnVuY3Rpb24oKQpAQCAtNDkxLDYgKzQ5MSwyMSBAQCBmdW5jdGlv
biBub2RlQ29udGVudFByZXZpZXcoKQogICAgIHJldHVybiBwcmV2aWV3LmNvbGxhcHNlV2hpdGVz
cGFjZSgpOwogfQogCitmdW5jdGlvbiBzYW1lT2JqZWN0cyhhLCBiKQoreworICAgIC8vIEZJWE1F
OiBNYWtlIHRoaXMgbW9yZSBnZW5lcmljIHNvIGlzIHdvcmtzIHdpdGggYW55IHdyYXBwZWQgb2Jq
ZWN0LCBub3QganVzdCBub2Rlcy4KKyAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29t
cGFyZSBub2RlcyB0aGF0IG1pZ2h0IGJlIEpTSW5zcGVjdGVkT2JqZWN0V3JhcHBlcnMsIHNpbmNl
CisgICAgLy8gSmF2YVNjcmlwdCBlcXVhbGl0eSBpcyBub3QgdHJ1ZSBmb3IgSlNJbnNwZWN0ZWRP
YmplY3RXcmFwcGVycyBvZiB0aGUgc2FtZSBub2RlIHdyYXBwZWQKKyAgICAvLyB3aXRoIGRpZmZl
cmVudCBnbG9iYWwgRXhlY1N0YXRlcywgd2UgdXNlIGlzU2FtZU5vZGUgdG8gY29tcGFyZSB0aGVt
LgorICAgIGlmIChhID09PSBiKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoIWEgfHwg
IWIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoYS5pc1NhbWVOb2RlICYmIGIuaXNT
YW1lTm9kZSkKKyAgICAgICAgcmV0dXJuIGEuaXNTYW1lTm9kZShiKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIGZ1bmN0aW9uIGlzQW5jZXN0b3JOb2RlKGFuY2VzdG9yKQogewogICAgIGlmICgh
dGhpcyB8fCAhYW5jZXN0b3IpCkBAIC00OTgsNyArNTEzLDcgQEAgZnVuY3Rpb24gaXNBbmNlc3Rv
ck5vZGUoYW5jZXN0b3IpCiAKICAgICB2YXIgY3VycmVudE5vZGUgPSBhbmNlc3Rvci5wYXJlbnRO
b2RlOwogICAgIHdoaWxlIChjdXJyZW50Tm9kZSkgewotICAgICAgICBpZiAodGhpcyA9PT0gY3Vy
cmVudE5vZGUpCisgICAgICAgIGlmIChzYW1lT2JqZWN0cyh0aGlzLCBjdXJyZW50Tm9kZSkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9k
ZS5wYXJlbnROb2RlOwogICAgIH0KQEAgLTUxOSwxMyArNTM0LDEzIEBAIGZ1bmN0aW9uIGZpcnN0
Q29tbW9uTm9kZUFuY2VzdG9yKG5vZGUpCiAgICAgdmFyIG5vZGUxID0gdGhpcy5wYXJlbnROb2Rl
OwogICAgIHZhciBub2RlMiA9IG5vZGUucGFyZW50Tm9kZTsKIAotICAgIGlmICgoIW5vZGUxIHx8
ICFub2RlMikgfHwgbm9kZTEgIT09IG5vZGUyKQorICAgIGlmICgoIW5vZGUxIHx8ICFub2RlMikg
fHwgIXNhbWVPYmplY3RzKG5vZGUxLCBub2RlMikpCiAgICAgICAgIHJldHVybiBudWxsOwogCiAg
ICAgd2hpbGUgKG5vZGUxICYmIG5vZGUyKSB7CiAgICAgICAgIGlmICghbm9kZTEucGFyZW50Tm9k
ZSB8fCAhbm9kZTIucGFyZW50Tm9kZSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAo
bm9kZTEgIT09IG5vZGUyKQorICAgICAgICBpZiAoIXNhbWVPYmplY3RzKG5vZGUxLCBub2RlMikp
CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBub2RlMSA9IG5vZGUxLnBhcmVudE5vZGU7
CkBAIC01ODQsNyArNTk5LDcgQEAgZnVuY3Rpb24gdHJhdmVyc2VOZXh0Tm9kZShza2lwV2hpdGVz
cGFjZSwgc3RheVdpdGhpbikKICAgICBpZiAobm9kZSkKICAgICAgICAgcmV0dXJuIG5vZGU7CiAK
LSAgICBpZiAoc3RheVdpdGhpbiAmJiB0aGlzID09PSBzdGF5V2l0aGluKQorICAgIGlmIChzdGF5
V2l0aGluICYmIHNhbWVPYmplY3RzKHRoaXMsIHN0YXlXaXRoaW4pKQogICAgICAgICByZXR1cm4g
bnVsbDsKIAogICAgIG5vZGUgPSBza2lwV2hpdGVzcGFjZSA/IG5leHRTaWJsaW5nU2tpcHBpbmdX
aGl0ZXNwYWNlLmNhbGwodGhpcykgOiB0aGlzLm5leHRTaWJsaW5nOwpAQCAtNTkyLDcgKzYwNyw3
IEBAIGZ1bmN0aW9uIHRyYXZlcnNlTmV4dE5vZGUoc2tpcFdoaXRlc3BhY2UsIHN0YXlXaXRoaW4p
CiAgICAgICAgIHJldHVybiBub2RlOwogCiAgICAgbm9kZSA9IHRoaXM7Ci0gICAgd2hpbGUgKG5v
ZGUgJiYgIShza2lwV2hpdGVzcGFjZSA/IG5leHRTaWJsaW5nU2tpcHBpbmdXaGl0ZXNwYWNlLmNh
bGwobm9kZSkgOiBub2RlLm5leHRTaWJsaW5nKSAmJiAoIXN0YXlXaXRoaW4gfHwgIW5vZGUucGFy
ZW50Tm9kZSB8fCBub2RlLnBhcmVudE5vZGUgIT09IHN0YXlXaXRoaW4pKQorICAgIHdoaWxlIChu
b2RlICYmICEoc2tpcFdoaXRlc3BhY2UgPyBuZXh0U2libGluZ1NraXBwaW5nV2hpdGVzcGFjZS5j
YWxsKG5vZGUpIDogbm9kZS5uZXh0U2libGluZykgJiYgKCFzdGF5V2l0aGluIHx8ICFub2RlLnBh
cmVudE5vZGUgfHwgIXNhbWVPYmplY3RzKG5vZGUucGFyZW50Tm9kZSwgc3RheVdpdGhpbikpKQog
ICAgICAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlOwogICAgIGlmICghbm9kZSkKICAgICAgICAg
cmV0dXJuIG51bGw7Ci0tIAoxLjUuNC40Cgo=
</data>
<flag name="review"
          id="9892"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>