<?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>132202</bug_id>
          
          <creation_ts>2014-04-25 12:43:54 -0700</creation_ts>
          <short_desc>Web Inspector: clicking Timelines tree view nodes should not change the current content view</short_desc>
          <delta_ts>2015-04-22 14:13:54 -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</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>139727</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1004165</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-04-25 12:43:54 -0700</bug_when>
    <thetext>It&apos;s exceptionally hard to select/expand/contract the tree view disclosures. If the user wants to use the keyboard arrows, or mis-clicks on the disclosure triangle, then they are whisked away to a different content view. I&apos;ve gotten really frustrated by this when trying to expand deep trees.

I think that behavior could be moved to command/ctrl + click. Some of the rows also have go-to arrows. We could add more of those if it&apos;s hard to view resources otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004167</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-04-25 12:44:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/16728603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004171</commentid>
    <comment_count>2</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-04-25 12:59:55 -0700</bug_when>
    <thetext>FWIW, clicking a row in the content view works, and keyboard navigation (expand and contract too) from there works.

I&apos;m not opposed to doing something different here. Maybe go-to arrows is right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004174</commentid>
    <comment_count>3</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-04-25 13:03:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; FWIW, clicking a row in the content view works, and keyboard navigation (expand and contract too) from there works.

Yeah, I figured it out eventually. But if you are staring at the text in the sidebar with the intent of exploring subtees (by looking at where the disclosures are), it&apos;s a rude surprise.

&gt; I&apos;m not opposed to doing something different here. Maybe go-to arrows is right.

Another thing I raised with Joe on IRC is that this scheme would let us highlight data points for a specific row on the timeline, when the relevant row is selected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086959</commentid>
    <comment_count>4</comment_count>
      <attachid>251206</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-20 17:35:19 -0700</bug_when>
    <thetext>Created attachment 251206
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087308</commentid>
    <comment_count>5</comment_count>
      <attachid>251206</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-04-21 20:44:56 -0700</bug_when>
    <thetext>Comment on attachment 251206
[Patch] Proposed Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=251206&amp;action=review

Nice work!

&gt; Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js:35
&gt; +    var columns = {eventType: {}, location: {}, width: {}, height: {}, startTime: {}, totalTime: {}};

Was this actually functionally broken, or just not matching column names of other TimelineView subclasses?

&gt; Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js:158
&gt; +        console.error(&quot;Unknown tree element selected.&quot;);

Please log treeElement as a second parameter. It eliminates a debugging step that you would always have to do to investigate this error message.

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineView.js:191
&gt; +            console.error(&quot;Unknown tree element selected.&quot;);

As above.

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineView.js:249
&gt; +        if (this.navigationSidebarTreeOutline.selectedTreeElement)

The existing logic is fine for this patch. I related an existing bug that proposes improving the logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087537</commentid>
    <comment_count>6</comment_count>
      <attachid>251206</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-22 12:45:15 -0700</bug_when>
    <thetext>Comment on attachment 251206
[Patch] Proposed Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=251206&amp;action=review

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js:35
&gt;&gt; +    var columns = {eventType: {}, location: {}, width: {}, height: {}, startTime: {}, totalTime: {}};
&gt; 
&gt; Was this actually functionally broken, or just not matching column names of other TimelineView subclasses?

I broke this in https://trac.webkit.org/changeset/182660.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087539</commentid>
    <comment_count>7</comment_count>
      <attachid>251357</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-22 12:50:15 -0700</bug_when>
    <thetext>Created attachment 251357
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087586</commentid>
    <comment_count>8</comment_count>
      <attachid>251357</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-22 14:13:50 -0700</bug_when>
    <thetext>Comment on attachment 251357
[Patch] Proposed Fix

Clearing flags on attachment: 251357

Committed r183134: &lt;http://trac.webkit.org/changeset/183134&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087587</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-22 14:13:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251206</attachid>
            <date>2015-04-20 17:35:19 -0700</date>
            <delta_ts>2015-04-22 12:50:13 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-132202-20150420173417.patch</filename>
            <type>text/plain</type>
            <size>26365</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA0
ZTYxNjQxNjIzMjk3NGJhZWNmZDM5MTE3Yjc0NzMyYjYxZDBkZWU2Li41MWQ0YTc5ZmViZDdhYTli
ODIwNzM0M2RkNWE0MzBhZjRiZGQyY2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MSBAQAorMjAxNS0wNC0yMCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogY2xpY2tpbmcgVGltZWxpbmVzIHRyZWUgdmlldyBu
b2RlcyBzaG91bGQgbm90IGNoYW5nZSB0aGUgY3VycmVudCBjb250ZW50IHZpZXcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjIwMgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRpbWVsaW5lU2lkZWJhclBh
bmVsIG5vdyBwcmV2ZW50cyB0aW1lbGluZSB2aWV3cyBmcm9tIHN3aXRjaGluZyB0byBhbm90aGVy
IGNvbnRlbnQgdmlldyB3aGlsZSB0aGUgY29udGVudAorICAgICAgICBicm93c2VyIGlzIHNob3dp
bmcgdGhlIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuIENvZGUgcmVzcG9uc2libGUgZm9y
IGNyZWF0aW5nIGFuZCB1cGRhdGluZyB0aGUgdHJlZQorICAgICAgICBlbGVtZW50IGNsb3NlIGJ1
dHRvbiwgd2hpY2ggd2FzIGR1cGxpY2F0ZWQgaW4gbXVsdGlwbGUgZGVyaXZlZCBUaW1lbGluZVZp
ZXcgY2xhc3NlcywgaGFzIGJlZW4gbW92ZWQgdG8gdGhlCisgICAgICAgIFRpbWVsaW5lVmlldyBi
YXNlIGNsYXNzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGlu
ZVZpZXcuanM6CisgICAgICAgIFVwZGF0ZWQgbmFtZSBvZiBsb2NhdGlvbiBjb2x1bW4sIHdoaWNo
IHdhcyBicm9rZW4gaW4gYSByZWNlbnQgcGF0Y2guCisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5
b3V0VGltZWxpbmVWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVudERlc2VsZWN0ZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRT
ZWxlY3RlZCk6CisgICAgICAgIEFkZGVkIG92ZXJyaWRlcyBvZiBuZXcgYmFzZSBjbGFzcyBtZXRo
b2RzIHRvIGhhbmRsZSB2aWV3LXNwZWNpZmljIGhpZ2hsaWdodCBsb2dpYy4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5MYXlvdXRUaW1lbGluZVZpZXcucHJvdG90eXBlLl90cmVlRWxlbWVudERlc2Vs
ZWN0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmll
dy5wcm90b3R5cGUuX3RyZWVFbGVtZW50U2VsZWN0ZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3VwZGF0ZVRyZWVFbGVtZW50
V2l0aENsb3NlQnV0dG9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRU
aW1lbGluZVZpZXcucHJvdG90eXBlLl9jbG9zZVN0YXR1c0J1dHRvbkNsaWNrZWQpOiBEZWxldGVk
LgorICAgICAgICBSZW1vdmVkIHRyZWUgZWxlbWVudCBjbG9zZSBidXR0b24gbG9naWMuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lVmlldy5wcm90b3R5cGUuc2hvd0NvbnRl
bnRWaWV3Rm9yVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1l
bGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50U2VsZWN0ZWQpOgorICAgICAgICBBZGRlZCBv
dmVycmlkZXMgb2YgbmV3IGJhc2UgY2xhc3MgbWV0aG9kcy4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5OZXR3b3JrVGltZWxpbmVWaWV3LnByb3RvdHlwZS5fdHJlZUVsZW1lbnREZXNlbGVjdGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3LnByb3Rv
dHlwZS5fdHJlZUVsZW1lbnRTZWxlY3RlZCk6IERlbGV0ZWQuCisgICAgICAgIFJlbW92ZWQgdHJl
ZSBlbGVtZW50IGNsb3NlIGJ1dHRvbiBsb2dpYy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dDb250ZW50Vmlld0Zv
clRyZWVFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVs
aW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRTZWxlY3RlZCk6CisgICAgICAgIEFkZGVkIG92
ZXJyaWRlcyBvZiBuZXcgYmFzZSBjbGFzcyBtZXRob2RzLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmdldCBkYXRh
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLnBy
b3RvdHlwZS5jcmVhdGVDZWxsQ29udGVudCk6CisgICAgICAgIFJlbW92ZWQgdW51c2VkIE5hbWUg
Y29sdW1uIGFuZCBhZGRlZCAiZ28gdG8iIGJ1dHRvbiB0byB0aGUgRG9tYWluIGNvbHVtbiB0byBz
aG93IHRoZSBzZWxlY3RlZCByZXNvdXJjZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRp
bWVsaW5lVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnBy
b3RvdHlwZS5zaG93Q29udGVudFZpZXdGb3JUcmVlRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVudFNlbGVjdGVkKToK
KyAgICAgICAgQWRkZWQgb3ZlcnJpZGVzIG9mIG5ldyBiYXNlIGNsYXNzIG1ldGhvZHMuCisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnByb3RvdHlwZS5fZGF0YUdyaWRO
b2RlU2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lVmlldy5w
cm90b3R5cGUuX3RyZWVFbGVtZW50RGVzZWxlY3RlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnByb3RvdHlwZS5fdHJlZUVsZW1lbnRTZWxlY3Rl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnBy
b3RvdHlwZS5fdXBkYXRlVHJlZUVsZW1lbnRXaXRoQ2xvc2VCdXR0b24pOiBEZWxldGVkLgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lVmlldy5wcm90b3R5cGUuX2Nsb3NlU3Rh
dHVzQnV0dG9uQ2xpY2tlZCk6IERlbGV0ZWQuCisgICAgICAgIFJlbW92ZWQgdHJlZSBlbGVtZW50
IGNsb3NlIGJ1dHRvbiBsb2dpYy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lLnRoaXMuX3RpbWVsaW5lVHJlZUVs
ZW1lbnRNYXAuZ2V0IHNlbGVjdCk6CisgICAgICAgIFByZXZlbnQgbmF2aWdhdGluZyB0byBhIGRp
ZmZlcmVudCBjb250ZW50IHZpZXcgd2hlbiBzaG93aW5nIHRoZSBUaW1lbGluZVJlY29yZGluZ0Nv
bnRlbnRWaWV3LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dDb250ZW50Vmlld0ZvclRyZWVFbGVt
ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVF
bGVtZW50RGVzZWxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnBy
b3RvdHlwZS50cmVlRWxlbWVudFNlbGVjdGVkKToKKyAgICAgICAgVHJlZSBlbGVtZW50IHNlbGVj
dGlvbiBoYW5kbGVycyBhcmUgbm93IHByb3RlY3RlZCBtZXRob2RzLCB3aGljaCBkZXJpdmVkIGNs
YXNzZXMgbWF5IG92ZXJyaWRlIGFzIG5lZWRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1l
bGluZVZpZXcucHJvdG90eXBlLm5lZWRzTGF5b3V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVZpZXcucHJvdG90eXBlLl9jbG9zZVN0YXR1c0J1dHRvbkNsaWNrZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3VwZGF0ZVRyZWVFbGVtZW50
V2l0aENsb3NlQnV0dG9uKToKKyAgICAgICAgRW5jYXBzdWxhdGVkIGxvZ2ljIHJlbGF0ZWQgdG8g
Y2xvc2UgYnV0dG9uIGNyZWF0aW9uIGFuZCBiZWhhdmlvci4KKwogMjAxNS0wNC0yMCAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEltcHJvdmUgU3VwcG9ydCBmb3IgV2Vha1NldCBpbiBDb25zb2xlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZVZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1l
bGluZVZpZXcuanMKaW5kZXggYTAxMmFjN2E1OWVhNzg5ODEwMmJhNzQwYmYxYzYyMDM2N2YyYmY1
Ny4uMDJkNGI2MDNiNTcxNTU3MGMxM2JhM2ExMDYzZGU1NmI4ZWE0MTc2MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xh
eW91dFRpbWVsaW5lVmlldy5qcwpAQCAtMjksMTIgKzI5LDEwIEBAIFdlYkluc3BlY3Rvci5MYXlv
dXRUaW1lbGluZVZpZXcgPSBmdW5jdGlvbih0aW1lbGluZSkKIAogICAgIGNvbnNvbGUuYXNzZXJ0
KHRpbWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLkxheW91
dCk7CiAKLSAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUub25zZWxlY3QgPSB0
aGlzLl90cmVlRWxlbWVudFNlbGVjdGVkLmJpbmQodGhpcyk7Ci0gICAgdGhpcy5uYXZpZ2F0aW9u
U2lkZWJhclRyZWVPdXRsaW5lLm9uZGVzZWxlY3QgPSB0aGlzLl90cmVlRWxlbWVudERlc2VsZWN0
ZWQuYmluZCh0aGlzKTsKICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUuZWxl
bWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLkhp
ZGVEaXNjbG9zdXJlQnV0dG9uc1N0eWxlQ2xhc3NOYW1lKTsKICAgICB0aGlzLm5hdmlnYXRpb25T
aWRlYmFyVHJlZU91dGxpbmUuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5MYXlv
dXRUaW1lbGluZVZpZXcuVHJlZU91dGxpbmVTdHlsZUNsYXNzTmFtZSk7CiAKLSAgICB2YXIgY29s
dW1ucyA9IHtldmVudFR5cGU6IHt9LCBpbml0aWF0b3JDYWxsRnJhbWU6IHt9LCB3aWR0aDoge30s
IGhlaWdodDoge30sIHN0YXJ0VGltZToge30sIHRvdGFsVGltZToge319OworICAgIHZhciBjb2x1
bW5zID0ge2V2ZW50VHlwZToge30sIGxvY2F0aW9uOiB7fSwgd2lkdGg6IHt9LCBoZWlnaHQ6IHt9
LCBzdGFydFRpbWU6IHt9LCB0b3RhbFRpbWU6IHt9fTsKIAogICAgIGNvbHVtbnMuZXZlbnRUeXBl
LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUeXBlIik7CiAgICAgY29sdW1ucy5ldmVu
dFR5cGUud2lkdGggPSAiMTUlIjsKQEAgLTQ4LDggKzQ2LDggQEAgV2ViSW5zcGVjdG9yLkxheW91
dFRpbWVsaW5lVmlldyA9IGZ1bmN0aW9uKHRpbWVsaW5lKQogICAgIGNvbHVtbnMuZXZlbnRUeXBl
LnNjb3BlQmFyID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWQuY3JlYXRlQ29sdW1uU2Nv
cGVCYXIoImxheW91dCIsIHR5cGVUb0xhYmVsTWFwKTsKICAgICBjb2x1bW5zLmV2ZW50VHlwZS5o
aWRkZW4gPSB0cnVlOwogCi0gICAgY29sdW1ucy5pbml0aWF0b3JDYWxsRnJhbWUudGl0bGUgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkluaXRpYXRvciIpOwotICAgIGNvbHVtbnMuaW5pdGlhdG9y
Q2FsbEZyYW1lLndpZHRoID0gIjI1JSI7CisgICAgY29sdW1ucy5sb2NhdGlvbi50aXRsZSA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiSW5pdGlhdG9yIik7CisgICAgY29sdW1ucy5sb2NhdGlvbi53
aWR0aCA9ICIyNSUiOwogCiAgICAgY29sdW1ucy53aWR0aC50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiV2lkdGgiKTsKICAgICBjb2x1bW5zLndpZHRoLndpZHRoID0gIjglIjsKQEAgLTE2
NSw2ICsxNjMsMjMgQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUg
PSB7CiAgICAgICAgIGRhdGFHcmlkTm9kZS5yZXZlYWxBbmRTZWxlY3QoKTsKICAgICB9LAogCisg
ICAgdHJlZUVsZW1lbnREZXNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCkKKyAgICB7Cisg
ICAgICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50RGVz
ZWxlY3RlZC5jYWxsKHRoaXMsIHRyZWVFbGVtZW50KTsKKworICAgICAgICB0aGlzLl91cGRhdGVI
aWdobGlnaHQoKTsKKyAgICB9LAorCisgICAgdHJlZUVsZW1lbnRTZWxlY3RlZDogZnVuY3Rpb24o
dHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2Rh
dGFHcmlkLnNob3VsZElnbm9yZVNlbGVjdGlvbkV2ZW50KCkpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1l
bnRTZWxlY3RlZC5jYWxsKHRoaXMsIHRyZWVFbGVtZW50LCBzZWxlY3RlZEJ5VXNlcik7CisKKyAg
ICAgICAgdGhpcy5fdXBkYXRlSGlnaGxpZ2h0KCk7CisgICAgfSwKKwogICAgIC8vIFByaXZhdGUK
IAogICAgIF9wcm9jZXNzUGVuZGluZ1JlY29yZHM6IGZ1bmN0aW9uKCkKQEAgLTIwMiw2MiArMjE3
LDYgQEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Db250ZW50Vmll
dy5FdmVudC5TZWxlY3Rpb25QYXRoQ29tcG9uZW50c0RpZENoYW5nZSk7CiAgICAgfSwKIAotICAg
IF90cmVlRWxlbWVudERlc2VsZWN0ZWQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQotICAgIHsKLSAg
ICAgICAgaWYgKHRyZWVFbGVtZW50LnN0YXR1cykKLSAgICAgICAgICAgIHRyZWVFbGVtZW50LnN0
YXR1cyA9ICIiOwotCi0gICAgICAgIHRoaXMuX3VwZGF0ZUhpZ2hsaWdodCgpOwotICAgIH0sCi0K
LSAgICBfdHJlZUVsZW1lbnRTZWxlY3RlZDogZnVuY3Rpb24odHJlZUVsZW1lbnQsIHNlbGVjdGVk
QnlVc2VyKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2RhdGFHcmlkLnNob3VsZElnbm9yZVNl
bGVjdGlvbkV2ZW50KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKCFXZWJJ
bnNwZWN0b3IudGltZWxpbmVTaWRlYmFyUGFuZWwuY2FuU2hvd0RpZmZlcmVudENvbnRlbnRWaWV3
KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3Rh
bmNlb2YgV2ViSW5zcGVjdG9yLkZvbGRlclRyZWVFbGVtZW50KQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIGlmICghKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQpKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmVycm9yKCJV
bmtub3duIHRyZWUgZWxlbWVudCBzZWxlY3RlZC4iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQotCi0gICAgICAgIHRoaXMuX3VwZGF0ZUhpZ2hsaWdodCgpOwotCi0gICAgICAgIGlm
ICghdHJlZUVsZW1lbnQucmVjb3JkLnNvdXJjZUNvZGVMb2NhdGlvbikgewotICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLnRpbWVsaW5lU2lkZWJhclBhbmVsLnNob3dUaW1lbGluZVZpZXdGb3JUaW1l
bGluZSh0aGlzLnJlcHJlc2VudGVkT2JqZWN0KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotCi0gICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVNpZGViYXJQYW5lbC5zaG93T3Jp
Z2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlvbih0cmVlRWxlbWVudC5yZWNvcmQuc291
cmNlQ29kZUxvY2F0aW9uKTsKLSAgICAgICAgdGhpcy5fdXBkYXRlVHJlZUVsZW1lbnRXaXRoQ2xv
c2VCdXR0b24odHJlZUVsZW1lbnQpOwotICAgIH0sCi0KLSAgICBfdXBkYXRlVHJlZUVsZW1lbnRX
aXRoQ2xvc2VCdXR0b246IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQotICAgIHsKLSAgICAgICAgaWYg
KHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uKSB7Ci0gICAgICAgICAgICB0cmVlRWxlbWVudC5zdGF0
dXMgPSB0aGlzLl9jbG9zZVN0YXR1c0J1dHRvbi5lbGVtZW50OwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0KLSAgICAgICAgd3JhcHBlZFNWR0RvY3VtZW50KHBsYXRmb3JtSW1hZ2VQ
YXRoKCJDbG9zZS5zdmciKSwgbnVsbCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDbG9zZSByZXNv
dXJjZSB2aWV3IiksIGZ1bmN0aW9uKGVsZW1lbnQpIHsKLSAgICAgICAgICAgIHRoaXMuX2Nsb3Nl
U3RhdHVzQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5UcmVlRWxlbWVudFN0YXR1c0J1dHRvbihl
bGVtZW50KTsKLSAgICAgICAgICAgIHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlRyZWVFbGVtZW50U3RhdHVzQnV0dG9uLkV2ZW50LkNsaWNrZWQs
IHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uQ2xpY2tlZCwgdGhpcyk7Ci0gICAgICAgICAgICBpZiAo
dHJlZUVsZW1lbnQgPT09IHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZS5zZWxlY3Rl
ZFRyZWVFbGVtZW50KQotICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRyZWVFbGVtZW50V2l0
aENsb3NlQnV0dG9uKHRyZWVFbGVtZW50KTsKLSAgICAgICAgfS5iaW5kKHRoaXMpKTsKLSAgICB9
LAotCi0gICAgX2Nsb3NlU3RhdHVzQnV0dG9uQ2xpY2tlZDogZnVuY3Rpb24oZXZlbnQpCi0gICAg
ewotICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVl
RWxlbWVudC5kZXNlbGVjdCgpOwotICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVTaWRlYmFy
UGFuZWwuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lKHRoaXMucmVwcmVzZW50ZWRPYmplY3Qp
OwotICAgIH0sCi0KICAgICBfdXBkYXRlSGlnaGxpZ2h0OiBmdW5jdGlvbigpCiAgICAgewogICAg
ICAgICB2YXIgcmVjb3JkID0gdGhpcy5faG92ZXJlZE9yU2VsZWN0ZWRSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtU
aW1lbGluZVZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzCmluZGV4IDg0M2UzYzc0NGEzMDNkNjQxZDIxYzFmNjcy
Y2YwMWZjOWU4NDk0MTYuLmZkZGE2YmE4NDQxMjI0YTk2NzIzZjJkYzA1MDQyNTU5MWQ4Yjk2MTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05l
dHdvcmtUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcwpAQCAtMjksOCArMjksNiBAQCBXZWJJ
bnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lVmlldyA9IGZ1bmN0aW9uKHRpbWVsaW5lKQogCiAgICAg
Y29uc29sZS5hc3NlcnQodGltZWxpbmUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkLlR5cGUuTmV0d29yayk7CiAKLSAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxp
bmUub25zZWxlY3QgPSB0aGlzLl90cmVlRWxlbWVudFNlbGVjdGVkLmJpbmQodGhpcyk7Ci0gICAg
dGhpcy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLm9uZGVzZWxlY3QgPSB0aGlzLl90cmVl
RWxlbWVudERlc2VsZWN0ZWQuYmluZCh0aGlzKTsgICAgCiAgICAgdGhpcy5uYXZpZ2F0aW9uU2lk
ZWJhclRyZWVPdXRsaW5lLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuTmF2aWdh
dGlvblNpZGViYXJQYW5lbC5IaWRlRGlzY2xvc3VyZUJ1dHRvbnNTdHlsZUNsYXNzTmFtZSk7CiAg
ICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLmVsZW1lbnQuY2xhc3NMaXN0LmFk
ZChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lVmlldy5UcmVlT3V0bGluZVN0eWxlQ2xhc3NO
YW1lKTsKIApAQCAtMTUwLDYgKzE0OCwxNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5l
Vmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAvLyBQcm90ZWN0ZWQKIAorICAgIHNob3dDb250ZW50
Vmlld0ZvclRyZWVFbGVtZW50OiBmdW5jdGlvbih0cmVlRWxlbWVudCkKKyAgICB7CisgICAgICAg
IGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVt
ZW50IHx8IHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNjcmlwdFRyZWVFbGVt
ZW50KSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VTaWRlYmFyUGFuZWwuc2hv
d1NvdXJjZUNvZGUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICBjb25zb2xlLmVycm9yKCJVbmtub3du
IHRyZWUgZWxlbWVudCBzZWxlY3RlZC4iKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0s
CisKICAgICB0cmVlRWxlbWVudFBhdGhDb21wb25lbnRTZWxlY3RlZDogZnVuY3Rpb24oZXZlbnQp
CiAgICAgewogICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gdGhpcy5fZGF0YUdyaWQuZGF0YUdy
aWROb2RlRm9yVHJlZUVsZW1lbnQoZXZlbnQuZGF0YS5wYXRoQ29tcG9uZW50LmdlbmVyYWxUcmVl
RWxlbWVudCk7CkBAIC0xNTgsNiArMTY3LDE0IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxp
bmVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgZGF0YUdyaWROb2RlLnJldmVhbEFuZFNlbGVj
dCgpOwogICAgIH0sCiAKKyAgICB0cmVlRWxlbWVudFNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxl
bWVudCwgc2VsZWN0ZWRCeVVzZXIpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZGF0YUdyaWQu
c2hvdWxkSWdub3JlU2VsZWN0aW9uRXZlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVu
dFNlbGVjdGVkLmNhbGwodGhpcywgdHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKTsKKyAgICB9
LAorCiAgICAgLy8gUHJpdmF0ZQogCiAgICAgX3Byb2Nlc3NQZW5kaW5nUmVjb3JkczogZnVuY3Rp
b24oKQpAQCAtMjAwLDMyICsyMTcsNiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5TZWxlY3Rpb25QYXRoQ29tcG9uZW50c0RpZENo
YW5nZSk7CiAgICAgfSwKIAotICAgIF90cmVlRWxlbWVudERlc2VsZWN0ZWQ6IGZ1bmN0aW9uKHRy
ZWVFbGVtZW50KQotICAgIHsKLSAgICAgICAgaWYgKHRyZWVFbGVtZW50LnN0YXR1cykKLSAgICAg
ICAgICAgIHRyZWVFbGVtZW50LnN0YXR1cyA9ICIiOwotICAgIH0sCi0KLSAgICBfdHJlZUVsZW1l
bnRTZWxlY3RlZDogZnVuY3Rpb24odHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKQotICAgIHsK
LSAgICAgICAgaWYgKHRoaXMuX2RhdGFHcmlkLnNob3VsZElnbm9yZVNlbGVjdGlvbkV2ZW50KCkp
Ci0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IudGltZWxp
bmVTaWRlYmFyUGFuZWwuY2FuU2hvd0RpZmZlcmVudENvbnRlbnRWaWV3KCkpCi0gICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVj
dG9yLkZvbGRlclRyZWVFbGVtZW50KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlm
ICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50
IHx8IHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNjcmlwdFRyZWVFbGVtZW50
KSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VTaWRlYmFyUGFuZWwuc2hvd1Nv
dXJjZUNvZGUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QpOwotICAgICAgICAgICAgdGhp
cy5fdXBkYXRlVHJlZUVsZW1lbnRXaXRoQ2xvc2VCdXR0b24odHJlZUVsZW1lbnQpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc29sZS5lcnJvcigiVW5rbm93
biB0cmVlIGVsZW1lbnQgc2VsZWN0ZWQuIik7Ci0gICAgfSwKLQogICAgIF91cGRhdGVUcmVlRWxl
bWVudFdpdGhDbG9zZUJ1dHRvbjogZnVuY3Rpb24odHJlZUVsZW1lbnQpCiAgICAgewogICAgICAg
ICBpZiAodGhpcy5fY2xvc2VTdGF0dXNCdXR0b24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVZpZXcuanMKaW5kZXggNmJhMjIwODNkMmQ4NzMxYjg1MzkzYmY2MTRkMzE4
Y2UwYmE1Mjg2YS4uZjIzZGVlMDdlOTY4MDg5ZWRjZmZlYzk5YjM5NzE1ZmJhY2U0ZDYxMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVy
aW5nRnJhbWVUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMKQEAgLTE1NCw2ICsx
NTQsMjQgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlw
ZSA9IHsKIAogICAgIC8vIFByb3RlY3RlZAogCisgICAgc2hvd0NvbnRlbnRWaWV3Rm9yVHJlZUVs
ZW1lbnQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRyZWVFbGVt
ZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlVHJlZUVsZW1lbnQgJiYgdHJl
ZUVsZW1lbnQucHJvZmlsZU5vZGUuc291cmNlQ29kZUxvY2F0aW9uKSB7CisgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VTaWRlYmFyUGFuZWwuc2hvd09yaWdpbmFsT3JGb3JtYXR0ZWRT
b3VyY2VDb2RlTG9jYXRpb24odHJlZUVsZW1lbnQucHJvZmlsZU5vZGUuc291cmNlQ29kZUxvY2F0
aW9uKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dDb250ZW50Vmlld0Zv
clRyZWVFbGVtZW50LmNhbGwodGhpcywgdHJlZUVsZW1lbnQpOworICAgIH0sCisKKyAgICB0cmVl
RWxlbWVudFNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCisg
ICAgeworICAgICAgICBpZiAodGhpcy5fZGF0YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZl
bnQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxp
bmVWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVudFNlbGVjdGVkLmNhbGwodGhpcywgdHJlZUVsZW1l
bnQsIHNlbGVjdGVkQnlVc2VyKTsKKyAgICB9LAorCiAgICAgdHJlZUVsZW1lbnRQYXRoQ29tcG9u
ZW50U2VsZWN0ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIGRhdGFHcmlk
Tm9kZSA9IHRoaXMuX2RhdGFHcmlkLmRhdGFHcmlkTm9kZUZvclRyZWVFbGVtZW50KGV2ZW50LmRh
dGEucGF0aENvbXBvbmVudC5nZW5lcmFsVHJlZUVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFH
cmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jl
c291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKaW5kZXggOWY1ODU5Zjg5YTQ5YjZlNjMyMjRk
ODI4MDc4NmRmNmZlYmZiMTEzZi4uMGExNGFiN2NlZTc2NWQ5NjZmOWJiZWUwMzgwZDRkY2M3ODcw
ZDIwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpz
CkBAIC03NSw3ICs3NSw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWRO
b2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLl9ncmFwaE9ubHkpIHsKICAgICAg
ICAgICAgIHZhciB6ZXJvVGltZSA9IHRoaXMuZ3JhcGhEYXRhU291cmNlID8gdGhpcy5ncmFwaERh
dGFTb3VyY2UuemVyb1RpbWUgOiAwOwogCi0gICAgICAgICAgICBkYXRhLm5hbWUgPSBXZWJJbnNw
ZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwocmVzb3VyY2UudXJsLCByZXNvdXJjZS51cmxDb21wb25l
bnRzKTsKICAgICAgICAgICAgIGRhdGEuZG9tYWluID0gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1l
Rm9ySG9zdChyZXNvdXJjZS51cmxDb21wb25lbnRzLmhvc3QpOwogICAgICAgICAgICAgZGF0YS5z
Y2hlbWUgPSByZXNvdXJjZS51cmxDb21wb25lbnRzLnNjaGVtZSA/IHJlc291cmNlLnVybENvbXBv
bmVudHMuc2NoZW1lLnRvVXBwZXJDYXNlKCkgOiAiIjsKICAgICAgICAgICAgIGRhdGEubWV0aG9k
ID0gcmVzb3VyY2UucmVxdWVzdE1ldGhvZDsKQEAgLTEwNiwyNiArMTA1LDYgQEAgV2ViSW5zcGVj
dG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgICAgICB2
YXIgdmFsdWUgPSB0aGlzLmRhdGFbY29sdW1uSWRlbnRpZmllcl07CiAKICAgICAgICAgc3dpdGNo
IChjb2x1bW5JZGVudGlmaWVyKSB7Ci0gICAgICAgIGNhc2UgIm5hbWUiOgotICAgICAgICAgICAg
Y2VsbC5jbGFzc0xpc3QuYWRkKHJlc291cmNlLnR5cGUsIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRy
ZWVFbGVtZW50LlJlc291cmNlSWNvblN0eWxlQ2xhc3NOYW1lKTsKLQotICAgICAgICAgICAgdmFy
IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwotCi0gICAgICAg
ICAgICB2YXIgZ29Ub0J1dHRvbiA9IFdlYkluc3BlY3Rvci5jcmVhdGVHb1RvQXJyb3dCdXR0b24o
KTsKLSAgICAgICAgICAgIGdvVG9CdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlz
Ll9nb1RvUmVzb3VyY2UuYmluZCh0aGlzKSk7Ci0gICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRD
aGlsZChnb1RvQnV0dG9uKTsKLQotICAgICAgICAgICAgdmFyIGljb24gPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgICAgIGljb24uY2xhc3NOYW1lID0gV2ViSW5zcGVj
dG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuSWNvblN0eWxlQ2xhc3NOYW1lOwotICAg
ICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoaWNvbik7Ci0KLSAgICAgICAgICAgIHZhciB0
ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodmFsdWUpOwotICAgICAgICAgICAgZnJhZ21l
bnQuYXBwZW5kQ2hpbGQodGV4dCk7Ci0KLSAgICAgICAgICAgIGNlbGwudGl0bGUgPSByZXNvdXJj
ZS51cmw7Ci0KLSAgICAgICAgICAgIHJldHVybiBmcmFnbWVudDsKLQogICAgICAgICBjYXNlICJ0
eXBlIjoKICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuZGlzcGxheU5h
bWVGb3JUeXBlKHZhbHVlKTsKIApAQCAtMTM3LDcgKzExNiwxNiBAQCBXZWJJbnNwZWN0b3IuUmVz
b3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1
cm4gdmFsdWUgPyBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlllcyIpIDogV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJObyIpOwogCiAgICAgICAgIGNhc2UgImRvbWFpbiI6Ci0gICAgICAgICAgICByZXR1
cm4gdmFsdWUgfHwgZW1wdHlWYWx1ZVBsYWNlaG9sZGVyU3RyaW5nOworICAgICAgICAgICAgdmFy
IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOworCisgICAgICAg
ICAgICB2YXIgZ29Ub0J1dHRvbiA9IFdlYkluc3BlY3Rvci5jcmVhdGVHb1RvQXJyb3dCdXR0b24o
KTsKKyAgICAgICAgICAgIGdvVG9CdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlz
Ll9nb1RvUmVzb3VyY2UuYmluZCh0aGlzKSk7CisgICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRD
aGlsZChnb1RvQnV0dG9uKTsKKworICAgICAgICAgICAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSh2YWx1ZSB8fCBlbXB0eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcpOworICAgICAg
ICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQodGV4dCk7CisKKyAgICAgICAgICAgIHJldHVybiBm
cmFnbWVudDsKIAogICAgICAgICBjYXNlICJzaXplIjoKICAgICAgICAgY2FzZSAidHJhbnNmZXJT
aXplIjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5qcwppbmRleCBjM2E0ZDc3YTkxOWZiMjk0
MGFmMGQwYTY2NjAwYmNmMjM4YzFlNjY5Li4yZjVkMWI4NzYyZTRkN2RlMWYzZDlmZTNkNTQ5MTdk
NDIxYWIzMjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9TY3JpcHRUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVWaWV3LmpzCkBAIC0yOSw4ICsyOSw2
IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcgPSBmdW5jdGlvbih0aW1lbGluZSkK
IAogICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CiAKLSAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJl
ZU91dGxpbmUub25zZWxlY3QgPSB0aGlzLl90cmVlRWxlbWVudFNlbGVjdGVkLmJpbmQodGhpcyk7
Ci0gICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLm9uZGVzZWxlY3QgPSB0aGlz
Ll90cmVlRWxlbWVudERlc2VsZWN0ZWQuYmluZCh0aGlzKTsKICAgICB0aGlzLm5hdmlnYXRpb25T
aWRlYmFyVHJlZU91dGxpbmUuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5TY3Jp
cHRUaW1lbGluZVZpZXcuVHJlZU91dGxpbmVTdHlsZUNsYXNzTmFtZSk7CiAKICAgICB2YXIgY29s
dW1ucyA9IHtsb2NhdGlvbjoge30sIGNhbGxDb3VudDoge30sIHN0YXJ0VGltZToge30sIHRvdGFs
VGltZToge30sIHNlbGZUaW1lOiB7fSwgYXZlcmFnZVRpbWU6IHt9fTsKQEAgLTE2NSw2ICsxNjMs
MTYgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFRpbWVsaW5lVmlldy5wcm90b3R5cGUgPSB7CiAKICAg
ICAvLyBQcm90ZWN0ZWQKIAorICAgIHNob3dDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50OiBmdW5j
dGlvbih0cmVlRWxlbWVudCkKKyAgICB7CisgICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5j
ZW9mIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZVRyZWVFbGVtZW50ICYmIHRyZWVFbGVtZW50LnBy
b2ZpbGVOb2RlLnNvdXJjZUNvZGVMb2NhdGlvbikgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LnJlc291cmNlU2lkZWJhclBhbmVsLnNob3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxv
Y2F0aW9uKHRyZWVFbGVtZW50LnByb2ZpbGVOb2RlLnNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS5zaG93Q29udGVudFZpZXdGb3JUcmVlRWxlbWVu
dC5jYWxsKHRoaXMsIHRyZWVFbGVtZW50KTsKKyAgICB9LAorCiAgICAgdHJlZUVsZW1lbnRQYXRo
Q29tcG9uZW50U2VsZWN0ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIGRh
dGFHcmlkTm9kZSA9IHRoaXMuX2RhdGFHcmlkLmRhdGFHcmlkTm9kZUZvclRyZWVFbGVtZW50KGV2
ZW50LmRhdGEucGF0aENvbXBvbmVudC5nZW5lcmFsVHJlZUVsZW1lbnQpOwpAQCAtMTczLDYgKzE4
MSwxNCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgZGF0YUdyaWROb2RlLnJldmVhbEFuZFNlbGVjdCgpOwogICAgIH0sCiAKKyAgICB0cmVl
RWxlbWVudFNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCisg
ICAgeworICAgICAgICBpZiAodGhpcy5fZGF0YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZl
bnQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVudFNlbGVjdGVkLmNhbGwodGhpcywgdHJl
ZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKTsKKyAgICB9LAorCiAgICAgZGF0YUdyaWROb2RlRm9y
VHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQogICAgIHsKICAgICAgICAgaWYgKHRy
ZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlByb2ZpbGVOb2RlVHJlZUVsZW1lbnQp
CkBAIC0yNDQsNjAgKzI2MCw1IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcucHJv
dG90eXBlID0gewogICAgIF9kYXRhR3JpZE5vZGVTZWxlY3RlZDogZnVuY3Rpb24oZXZlbnQpCiAg
ICAgewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
Q29udGVudFZpZXcuRXZlbnQuU2VsZWN0aW9uUGF0aENvbXBvbmVudHNEaWRDaGFuZ2UpOwotICAg
IH0sCi0KLSAgICBfdHJlZUVsZW1lbnREZXNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCkK
LSAgICB7Ci0gICAgICAgIGlmICh0cmVlRWxlbWVudC5zdGF0dXMpCi0gICAgICAgICAgICB0cmVl
RWxlbWVudC5zdGF0dXMgPSAiIjsKLSAgICB9LAotCi0gICAgX3RyZWVFbGVtZW50U2VsZWN0ZWQ6
IGZ1bmN0aW9uKHRyZWVFbGVtZW50LCBzZWxlY3RlZEJ5VXNlcikKLSAgICB7Ci0gICAgICAgIGlm
ICh0aGlzLl9kYXRhR3JpZC5zaG91bGRJZ25vcmVTZWxlY3Rpb25FdmVudCgpKQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLnRpbWVsaW5lU2lkZWJhclBh
bmVsLmNhblNob3dEaWZmZXJlbnRDb250ZW50VmlldygpKQotICAgICAgICAgICAgcmV0dXJuOwot
Ci0gICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Gb2xkZXJU
cmVlRWxlbWVudCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB2YXIgc291cmNlQ29k
ZUxvY2F0aW9uID0gbnVsbDsKLSAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQpCi0gICAgICAgICAgICBzb3VyY2VD
b2RlTG9jYXRpb24gPSB0cmVlRWxlbWVudC5yZWNvcmQuc291cmNlQ29kZUxvY2F0aW9uOwotICAg
ICAgICBlbHNlIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Qcm9maWxl
Tm9kZVRyZWVFbGVtZW50KQotICAgICAgICAgICAgc291cmNlQ29kZUxvY2F0aW9uID0gdHJlZUVs
ZW1lbnQucHJvZmlsZU5vZGUuc291cmNlQ29kZUxvY2F0aW9uOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBjb25zb2xlLmVycm9yKCJVbmtub3duIHRyZWUgZWxlbWVudCBzZWxlY3RlZC4iKTsK
LQotICAgICAgICBpZiAoIXNvdXJjZUNvZGVMb2NhdGlvbikgewotICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnRpbWVsaW5lU2lkZWJhclBhbmVsLnNob3dUaW1lbGluZVZpZXdGb3JUaW1lbGluZSh0
aGlzLnJlcHJlc2VudGVkT2JqZWN0KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
Ci0gICAgICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVNpZGViYXJQYW5lbC5zaG93T3JpZ2luYWxP
ckZvcm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlvbihzb3VyY2VDb2RlTG9jYXRpb24pOwotICAgICAg
ICB0aGlzLl91cGRhdGVUcmVlRWxlbWVudFdpdGhDbG9zZUJ1dHRvbih0cmVlRWxlbWVudCk7Ci0g
ICAgfSwKLQotICAgIF91cGRhdGVUcmVlRWxlbWVudFdpdGhDbG9zZUJ1dHRvbjogZnVuY3Rpb24o
dHJlZUVsZW1lbnQpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fY2xvc2VTdGF0dXNCdXR0b24p
IHsKLSAgICAgICAgICAgIHRyZWVFbGVtZW50LnN0YXR1cyA9IHRoaXMuX2Nsb3NlU3RhdHVzQnV0
dG9uLmVsZW1lbnQ7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB3
cmFwcGVkU1ZHRG9jdW1lbnQocGxhdGZvcm1JbWFnZVBhdGgoIkNsb3NlLnN2ZyIpLCBudWxsLCBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsb3NlIHJlc291cmNlIHZpZXciKSwgZnVuY3Rpb24oZWxl
bWVudCkgewotICAgICAgICAgICAgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b24gPSBuZXcgV2ViSW5z
cGVjdG9yLlRyZWVFbGVtZW50U3RhdHVzQnV0dG9uKGVsZW1lbnQpOwotICAgICAgICAgICAgdGhp
cy5fY2xvc2VTdGF0dXNCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVHJlZUVs
ZW1lbnRTdGF0dXNCdXR0b24uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b25D
bGlja2VkLCB0aGlzKTsKLSAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCA9PT0gdGhpcy5uYXZp
Z2F0aW9uU2lkZWJhclRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCi0gICAgICAgICAg
ICAgICAgdGhpcy5fdXBkYXRlVHJlZUVsZW1lbnRXaXRoQ2xvc2VCdXR0b24odHJlZUVsZW1lbnQp
OwotICAgICAgICB9LmJpbmQodGhpcykpOwotICAgIH0sCi0KLSAgICBfY2xvc2VTdGF0dXNCdXR0
b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMubmF2aWdhdGlv
blNpZGViYXJUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50LmRlc2VsZWN0KCk7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci50aW1lbGluZVNpZGViYXJQYW5lbC5zaG93VGltZWxpbmVWaWV3Rm9y
VGltZWxpbmUodGhpcy5yZXByZXNlbnRlZE9iamVjdCk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJh
clBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVTaWRlYmFyUGFuZWwuanMKaW5kZXggZjI0NzJkNDA5NjdkMmJlYjExMjBlMzY3OWRjM2I2
NjgwYmIxN2ZiOC4uYjhiMDJhMDFlMTZhNmJjNDljYmJhNjA0YzE4NzljOWIwZDc0MjQ2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKQEAgLTI3NCw2ICsyNzQsOSBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5l
bCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgY2FuU2hvd0RpZmZlcmVudENvbnRlbnRWaWV3KCkK
ICAgICB7CisgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuY29udGVudEJyb3dzZXIuY3VycmVudENv
bnRlbnRWaWV3IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgcmV0dXJuICF0aGlz
LnJlc3RvcmluZ1N0YXRlIHx8ICF0aGlzLl9yZXN0b3JlZFNob3dpbmdUaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3LmpzCmluZGV4IGU3ZGJjYWU4ZDBm
MDUxMDZjNjJmYjQ5MzczNjFiYjE4MGNiMWIzNTkuLmIxZmEwN2EzOGVmMjNmMDA0NTAyY2M5NTIx
ZjFjMjhmYTIzZjRkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKQEAgLTMyLDYgKzMyLDkgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lVmlldyA9IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0KQogICAg
IFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5jYWxsKHRoaXMsIHJlcHJlc2VudGVkT2JqZWN0KTsK
IAogICAgIHRoaXMuX2NvbnRlbnRUcmVlT3V0bGluZSA9IFdlYkluc3BlY3Rvci50aW1lbGluZVNp
ZGViYXJQYW5lbC5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUoKTsKKyAgICB0aGlzLl9jb250ZW50
VHJlZU91dGxpbmUub25zZWxlY3QgPSB0aGlzLnRyZWVFbGVtZW50U2VsZWN0ZWQuYmluZCh0aGlz
KTsKKyAgICB0aGlzLl9jb250ZW50VHJlZU91dGxpbmUub25kZXNlbGVjdCA9IHRoaXMudHJlZUVs
ZW1lbnREZXNlbGVjdGVkLmJpbmQodGhpcyk7CisKICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0
LmFkZChXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LlN0eWxlQ2xhc3NOYW1lKTsKIAogICAgIHRo
aXMuX3plcm9UaW1lID0gMDsKQEAgLTE4MCwxMSArMTgzLDU0IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVZpZXcucHJvdG90eXBlID0gewogCiAgICAgLy8gUHJvdGVjdGVkCiAKKyAgICBzaG93Q29u
dGVudFZpZXdGb3JUcmVlRWxlbWVudDogZnVuY3Rpb24odHJlZUVsZW1lbnQpCisgICAgeworICAg
ICAgICAvLyBJbXBsZW1lbnRlZCBieSBzdWItY2xhc3NlcyBpZiBuZWVkZWQuCisKKyAgICAgICAg
aWYgKCEodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRU
cmVlRWxlbWVudCkpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlVua25vd24gdHJlZSBl
bGVtZW50IHNlbGVjdGVkLiIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisKKyAgICAgICAgdmFyIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHRyZWVFbGVtZW50LnJlY29yZC5z
b3VyY2VDb2RlTG9jYXRpb247CisgICAgICAgIGlmICghc291cmNlQ29kZUxvY2F0aW9uKSB7Cisg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVTaWRlYmFyUGFuZWwuc2hvd1RpbWVsaW5l
Vmlld0ZvclRpbWVsaW5lKHRoaXMucmVwcmVzZW50ZWRPYmplY3QpOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VTaWRl
YmFyUGFuZWwuc2hvd09yaWdpbmFsT3JGb3JtYXR0ZWRTb3VyY2VDb2RlTG9jYXRpb24oc291cmNl
Q29kZUxvY2F0aW9uKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfSwKKwogICAgIHRyZWVF
bGVtZW50UGF0aENvbXBvbmVudFNlbGVjdGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAg
ICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KICAgICB9LAogCisg
ICAgdHJlZUVsZW1lbnREZXNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCkKKyAgICB7Cisg
ICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KKworICAgICAg
ICBpZiAodGhpcy5fY2xvc2VTdGF0dXNCdXR0b24gJiYgdHJlZUVsZW1lbnQuc3RhdHVzID09PSB0
aGlzLl9jbG9zZVN0YXR1c0J1dHRvbi5lbGVtZW50KQorICAgICAgICAgICAgdHJlZUVsZW1lbnQu
c3RhdHVzID0gIiI7CisgICAgfSwKKworICAgIHRyZWVFbGVtZW50U2VsZWN0ZWQ6IGZ1bmN0aW9u
KHRyZWVFbGVtZW50LCBzZWxlY3RlZEJ5VXNlcikKKyAgICB7CisgICAgICAgIC8vIEltcGxlbWVu
dGVkIGJ5IHN1Yi1jbGFzc2VzIGlmIG5lZWRlZC4KKworICAgICAgICBpZiAoIVdlYkluc3BlY3Rv
ci50aW1lbGluZVNpZGViYXJQYW5lbC5jYW5TaG93RGlmZmVyZW50Q29udGVudFZpZXcoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBX
ZWJJbnNwZWN0b3IuRm9sZGVyVHJlZUVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgaWYgKCF0aGlzLnNob3dDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50KHRyZWVFbGVtZW50
KSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl91cGRhdGVUcmVlRWxlbWVu
dFdpdGhDbG9zZUJ1dHRvbih0cmVlRWxlbWVudCk7CisgICAgfSwKKwogICAgIG5lZWRzTGF5b3V0
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKQEAgLTE5NCw1
ICsyNDAsMzAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRl
bnRpZmllciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZUxheW91dC5iaW5kKHRo
aXMpKTsKKyAgICB9LAorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX2Nsb3NlU3RhdHVzQnV0dG9u
Q2xpY2tlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5uYXZpZ2F0
aW9uU2lkZWJhclRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCisgICAgICAgICAgICB0
aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudC5kZXNl
bGVjdCgpOworCisgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZVNpZGViYXJQYW5lbC5zaG93
VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUodGhpcy5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgfSwK
KworICAgIF91cGRhdGVUcmVlRWxlbWVudFdpdGhDbG9zZUJ1dHRvbjogZnVuY3Rpb24odHJlZUVs
ZW1lbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5fY2xvc2VTdGF0dXNCdXR0b24pIHsKKyAg
ICAgICAgICAgIHRyZWVFbGVtZW50LnN0YXR1cyA9IHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uLmVs
ZW1lbnQ7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB3cmFwcGVk
U1ZHRG9jdW1lbnQocGxhdGZvcm1JbWFnZVBhdGgoIkNsb3NlLnN2ZyIpLCBudWxsLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkNsb3NlIHJlc291cmNlIHZpZXciKSwgZnVuY3Rpb24oZWxlbWVudCkg
eworICAgICAgICAgICAgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9y
LlRyZWVFbGVtZW50U3RhdHVzQnV0dG9uKGVsZW1lbnQpOworICAgICAgICAgICAgdGhpcy5fY2xv
c2VTdGF0dXNCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVHJlZUVsZW1lbnRT
dGF0dXNCdXR0b24uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b25DbGlja2Vk
LCB0aGlzKTsKKyAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCA9PT0gdGhpcy5uYXZpZ2F0aW9u
U2lkZWJhclRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCisgICAgICAgICAgICAgICAg
dGhpcy5fdXBkYXRlVHJlZUVsZW1lbnRXaXRoQ2xvc2VCdXR0b24odHJlZUVsZW1lbnQpOworICAg
ICAgICB9LmJpbmQodGhpcykpOwogICAgIH0KIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251357</attachid>
            <date>2015-04-22 12:50:15 -0700</date>
            <delta_ts>2015-04-22 14:13:50 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-132202-20150422124911.patch</filename>
            <type>text/plain</type>
            <size>26411</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
M2VkZjBjMDFlZjUyMWVlYmIxYzYwYWU4ZDBiMjQzMTEyZGJmMTRjLi44NzFhNzE0NGJmOTQzNjhi
MjQ4YTQwOGY5MjRlY2MxNjUyZDFhNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3MSBAQAorMjAxNS0wNC0yMiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogY2xpY2tpbmcgVGltZWxpbmVzIHRyZWUgdmlldyBu
b2RlcyBzaG91bGQgbm90IGNoYW5nZSB0aGUgY3VycmVudCBjb250ZW50IHZpZXcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjIwMgorCisgICAgICAg
IFJldmlld2VkIGJ5IEJyaWFuIEJ1cmcuCisKKyAgICAgICAgVGltZWxpbmVTaWRlYmFyUGFuZWwg
bm93IHByZXZlbnRzIHRpbWVsaW5lIHZpZXdzIGZyb20gc3dpdGNoaW5nIHRvIGFub3RoZXIgY29u
dGVudCB2aWV3IHdoaWxlIHRoZSBjb250ZW50CisgICAgICAgIGJyb3dzZXIgaXMgc2hvd2luZyB0
aGUgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy4gQ29kZSByZXNwb25zaWJsZSBmb3IgY3Jl
YXRpbmcgYW5kIHVwZGF0aW5nIHRoZSB0cmVlCisgICAgICAgIGVsZW1lbnQgY2xvc2UgYnV0dG9u
LCB3aGljaCB3YXMgZHVwbGljYXRlZCBpbiBtdWx0aXBsZSBkZXJpdmVkIFRpbWVsaW5lVmlldyBj
bGFzc2VzLCBoYXMgYmVlbiBtb3ZlZCB0byB0aGUKKyAgICAgICAgVGltZWxpbmVWaWV3IGJhc2Ug
Y2xhc3MuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lVmll
dy5qczoKKyAgICAgICAgVXBkYXRlZCBuYW1lIG9mIGxvY2F0aW9uIGNvbHVtbiwgd2hpY2ggd2Fz
IGJyb2tlbiBpbiBhIHJlY2VudCBwYXRjaC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXlvdXRU
aW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50RGVzZWxlY3RlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVudFNlbGVj
dGVkKToKKyAgICAgICAgQWRkZWQgb3ZlcnJpZGVzIG9mIG5ldyBiYXNlIGNsYXNzIG1ldGhvZHMg
dG8gaGFuZGxlIHZpZXctc3BlY2lmaWMgaGlnaGxpZ2h0IGxvZ2ljLgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5wcm90b3R5cGUuX3RyZWVFbGVtZW50RGVzZWxlY3Rl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3LnBy
b3RvdHlwZS5fdHJlZUVsZW1lbnRTZWxlY3RlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3LnByb3RvdHlwZS5fdXBkYXRlVHJlZUVsZW1lbnRXaXRo
Q2xvc2VCdXR0b24pOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVs
aW5lVmlldy5wcm90b3R5cGUuX2Nsb3NlU3RhdHVzQnV0dG9uQ2xpY2tlZCk6IERlbGV0ZWQuCisg
ICAgICAgIFJlbW92ZWQgdHJlZSBlbGVtZW50IGNsb3NlIGJ1dHRvbiBsb2dpYy4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3LnByb3RvdHlwZS5zaG93Q29udGVudFZp
ZXdGb3JUcmVlRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5l
Vmlldy5wcm90b3R5cGUudHJlZUVsZW1lbnRTZWxlY3RlZCk6CisgICAgICAgIEFkZGVkIG92ZXJy
aWRlcyBvZiBuZXcgYmFzZSBjbGFzcyBtZXRob2RzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtUaW1lbGluZVZpZXcucHJvdG90eXBlLl90cmVlRWxlbWVudERlc2VsZWN0ZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lbGluZVZpZXcucHJvdG90eXBl
Ll90cmVlRWxlbWVudFNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgUmVtb3ZlZCB0cmVlIGVs
ZW1lbnQgY2xvc2UgYnV0dG9uIGxvZ2ljLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5wcm90b3R5cGUuc2hvd0NvbnRlbnRWaWV3Rm9yVHJl
ZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVW
aWV3LnByb3RvdHlwZS50cmVlRWxlbWVudFNlbGVjdGVkKToKKyAgICAgICAgQWRkZWQgb3ZlcnJp
ZGVzIG9mIG5ldyBiYXNlIGNsYXNzIG1ldGhvZHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0IGRhdGEpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90
eXBlLmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgUmVtb3ZlZCB1bnVzZWQgTmFtZSBjb2x1
bW4gYW5kIGFkZGVkICJnbyB0byIgYnV0dG9uIHRvIHRoZSBEb21haW4gY29sdW1uIHRvIHNob3cg
dGhlIHNlbGVjdGVkIHJlc291cmNlLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9T
Y3JpcHRUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxp
bmVWaWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcucHJvdG90
eXBlLnNob3dDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHRUaW1lbGluZVZpZXcucHJvdG90eXBlLnRyZWVFbGVtZW50U2VsZWN0ZWQpOgorICAg
ICAgICBBZGRlZCBvdmVycmlkZXMgb2YgbmV3IGJhc2UgY2xhc3MgbWV0aG9kcy4KKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcucHJvdG90eXBlLl9kYXRhR3JpZE5vZGVT
ZWxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnByb3Rv
dHlwZS5fdHJlZUVsZW1lbnREZXNlbGVjdGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TY3JpcHRUaW1lbGluZVZpZXcucHJvdG90eXBlLl90cmVlRWxlbWVudFNlbGVjdGVkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcucHJvdG90
eXBlLl91cGRhdGVUcmVlRWxlbWVudFdpdGhDbG9zZUJ1dHRvbik6IERlbGV0ZWQuCisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVWaWV3LnByb3RvdHlwZS5fY2xvc2VTdGF0dXNC
dXR0b25DbGlja2VkKTogRGVsZXRlZC4KKyAgICAgICAgUmVtb3ZlZCB0cmVlIGVsZW1lbnQgY2xv
c2UgYnV0dG9uIGxvZ2ljLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQ
YW5lbC5zaG93VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUudGhpcy5fdGltZWxpbmVUcmVlRWxlbWVu
dE1hcC5nZXQgc2VsZWN0KToKKyAgICAgICAgUHJldmVudCBuYXZpZ2F0aW5nIHRvIGEgZGlmZmVy
ZW50IGNvbnRlbnQgdmlldyB3aGVuIHNob3dpbmcgdGhlIFRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUuc2hvd0NvbnRlbnRWaWV3Rm9yVHJlZUVsZW1lbnQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUudHJlZUVsZW1l
bnREZXNlbGVjdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90
eXBlLnRyZWVFbGVtZW50U2VsZWN0ZWQpOgorICAgICAgICBUcmVlIGVsZW1lbnQgc2VsZWN0aW9u
IGhhbmRsZXJzIGFyZSBub3cgcHJvdGVjdGVkIG1ldGhvZHMsIHdoaWNoIGRlcml2ZWQgY2xhc3Nl
cyBtYXkgb3ZlcnJpZGUgYXMgbmVlZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
Vmlldy5wcm90b3R5cGUubmVlZHNMYXlvdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lVmlldy5wcm90b3R5cGUuX2Nsb3NlU3RhdHVzQnV0dG9uQ2xpY2tlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS5fdXBkYXRlVHJlZUVsZW1lbnRXaXRo
Q2xvc2VCdXR0b24pOgorICAgICAgICBFbmNhcHN1bGF0ZWQgbG9naWMgcmVsYXRlZCB0byBjbG9z
ZSBidXR0b24gY3JlYXRpb24gYW5kIGJlaGF2aW9yLgorCiAyMDE1LTA0LTIyICBUaW1vdGh5IEhh
dGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW1v
dmUgYW4gdW51c2VkIGluZGV4IGFyZ3VtZW50IGZyb20gU2lkZWJhci5yZW1vdmVTaWRlYmFyUGFu
ZWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0xheW91dFRpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lVmlldy5qcwppbmRleCBhMDEyYWM3YTU5ZWE3ODk4MTAy
YmE3NDBiZjFjNjIwMzY3ZjJiZjU3Li4wMmQ0YjYwM2I1NzE1NTcwYzEzYmEzYTEwNjNkZTU2Yjhl
YTQxNzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9MYXlvdXRUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVWaWV3LmpzCkBAIC0yOSwxMiArMjksMTAg
QEAgV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldyA9IGZ1bmN0aW9uKHRpbWVsaW5lKQog
CiAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkLlR5cGUuTGF5b3V0KTsKIAotICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVl
T3V0bGluZS5vbnNlbGVjdCA9IHRoaXMuX3RyZWVFbGVtZW50U2VsZWN0ZWQuYmluZCh0aGlzKTsK
LSAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUub25kZXNlbGVjdCA9IHRoaXMu
X3RyZWVFbGVtZW50RGVzZWxlY3RlZC5iaW5kKHRoaXMpOwogICAgIHRoaXMubmF2aWdhdGlvblNp
ZGViYXJUcmVlT3V0bGluZS5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLk5hdmln
YXRpb25TaWRlYmFyUGFuZWwuSGlkZURpc2Nsb3N1cmVCdXR0b25zU3R5bGVDbGFzc05hbWUpOwog
ICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZS5lbGVtZW50LmNsYXNzTGlzdC5h
ZGQoV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lVmlldy5UcmVlT3V0bGluZVN0eWxlQ2xhc3NO
YW1lKTsKIAotICAgIHZhciBjb2x1bW5zID0ge2V2ZW50VHlwZToge30sIGluaXRpYXRvckNhbGxG
cmFtZToge30sIHdpZHRoOiB7fSwgaGVpZ2h0OiB7fSwgc3RhcnRUaW1lOiB7fSwgdG90YWxUaW1l
OiB7fX07CisgICAgdmFyIGNvbHVtbnMgPSB7ZXZlbnRUeXBlOiB7fSwgbG9jYXRpb246IHt9LCB3
aWR0aDoge30sIGhlaWdodDoge30sIHN0YXJ0VGltZToge30sIHRvdGFsVGltZToge319OwogCiAg
ICAgY29sdW1ucy5ldmVudFR5cGUudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlR5cGUi
KTsKICAgICBjb2x1bW5zLmV2ZW50VHlwZS53aWR0aCA9ICIxNSUiOwpAQCAtNDgsOCArNDYsOCBA
QCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3ID0gZnVuY3Rpb24odGltZWxpbmUpCiAg
ICAgY29sdW1ucy5ldmVudFR5cGUuc2NvcGVCYXIgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRh
R3JpZC5jcmVhdGVDb2x1bW5TY29wZUJhcigibGF5b3V0IiwgdHlwZVRvTGFiZWxNYXApOwogICAg
IGNvbHVtbnMuZXZlbnRUeXBlLmhpZGRlbiA9IHRydWU7CiAKLSAgICBjb2x1bW5zLmluaXRpYXRv
ckNhbGxGcmFtZS50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW5pdGlhdG9yIik7Ci0g
ICAgY29sdW1ucy5pbml0aWF0b3JDYWxsRnJhbWUud2lkdGggPSAiMjUlIjsKKyAgICBjb2x1bW5z
LmxvY2F0aW9uLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbml0aWF0b3IiKTsKKyAg
ICBjb2x1bW5zLmxvY2F0aW9uLndpZHRoID0gIjI1JSI7CiAKICAgICBjb2x1bW5zLndpZHRoLnRp
dGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJXaWR0aCIpOwogICAgIGNvbHVtbnMud2lkdGgu
d2lkdGggPSAiOCUiOwpAQCAtMTY1LDYgKzE2MywyMyBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGlt
ZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgZGF0YUdyaWROb2RlLnJldmVhbEFuZFNl
bGVjdCgpOwogICAgIH0sCiAKKyAgICB0cmVlRWxlbWVudERlc2VsZWN0ZWQ6IGZ1bmN0aW9uKHRy
ZWVFbGVtZW50KQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90
b3R5cGUudHJlZUVsZW1lbnREZXNlbGVjdGVkLmNhbGwodGhpcywgdHJlZUVsZW1lbnQpOworCisg
ICAgICAgIHRoaXMuX3VwZGF0ZUhpZ2hsaWdodCgpOworICAgIH0sCisKKyAgICB0cmVlRWxlbWVu
dFNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCisgICAgewor
ICAgICAgICBpZiAodGhpcy5fZGF0YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZlbnQoKSkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3
LnByb3RvdHlwZS50cmVlRWxlbWVudFNlbGVjdGVkLmNhbGwodGhpcywgdHJlZUVsZW1lbnQsIHNl
bGVjdGVkQnlVc2VyKTsKKworICAgICAgICB0aGlzLl91cGRhdGVIaWdobGlnaHQoKTsKKyAgICB9
LAorCiAgICAgLy8gUHJpdmF0ZQogCiAgICAgX3Byb2Nlc3NQZW5kaW5nUmVjb3JkczogZnVuY3Rp
b24oKQpAQCAtMjAyLDYyICsyMTcsNiBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGltZWxpbmVWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLkNvbnRlbnRWaWV3LkV2ZW50LlNlbGVjdGlvblBhdGhDb21wb25lbnRzRGlkQ2hh
bmdlKTsKICAgICB9LAogCi0gICAgX3RyZWVFbGVtZW50RGVzZWxlY3RlZDogZnVuY3Rpb24odHJl
ZUVsZW1lbnQpCi0gICAgewotICAgICAgICBpZiAodHJlZUVsZW1lbnQuc3RhdHVzKQotICAgICAg
ICAgICAgdHJlZUVsZW1lbnQuc3RhdHVzID0gIiI7Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlSGln
aGxpZ2h0KCk7Ci0gICAgfSwKLQotICAgIF90cmVlRWxlbWVudFNlbGVjdGVkOiBmdW5jdGlvbih0
cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fZGF0
YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZlbnQoKSkKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci50aW1lbGluZVNpZGViYXJQYW5lbC5jYW5TaG93
RGlmZmVyZW50Q29udGVudFZpZXcoKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBp
ZiAodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRm9sZGVyVHJlZUVsZW1lbnQp
Ci0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKCEodHJlZUVsZW1lbnQgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCkpIHsKLSAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIlVua25vd24gdHJlZSBlbGVtZW50IHNlbGVjdGVkLiIpOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlSGlnaGxp
Z2h0KCk7Ci0KLSAgICAgICAgaWYgKCF0cmVlRWxlbWVudC5yZWNvcmQuc291cmNlQ29kZUxvY2F0
aW9uKSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVTaWRlYmFyUGFuZWwuc2hv
d1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lKHRoaXMucmVwcmVzZW50ZWRPYmplY3QpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNl
U2lkZWJhclBhbmVsLnNob3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHRy
ZWVFbGVtZW50LnJlY29yZC5zb3VyY2VDb2RlTG9jYXRpb24pOwotICAgICAgICB0aGlzLl91cGRh
dGVUcmVlRWxlbWVudFdpdGhDbG9zZUJ1dHRvbih0cmVlRWxlbWVudCk7Ci0gICAgfSwKLQotICAg
IF91cGRhdGVUcmVlRWxlbWVudFdpdGhDbG9zZUJ1dHRvbjogZnVuY3Rpb24odHJlZUVsZW1lbnQp
Ci0gICAgewotICAgICAgICBpZiAodGhpcy5fY2xvc2VTdGF0dXNCdXR0b24pIHsKLSAgICAgICAg
ICAgIHRyZWVFbGVtZW50LnN0YXR1cyA9IHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uLmVsZW1lbnQ7
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB3cmFwcGVkU1ZHRG9j
dW1lbnQocGxhdGZvcm1JbWFnZVBhdGgoIkNsb3NlLnN2ZyIpLCBudWxsLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkNsb3NlIHJlc291cmNlIHZpZXciKSwgZnVuY3Rpb24oZWxlbWVudCkgewotICAg
ICAgICAgICAgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlRyZWVF
bGVtZW50U3RhdHVzQnV0dG9uKGVsZW1lbnQpOwotICAgICAgICAgICAgdGhpcy5fY2xvc2VTdGF0
dXNCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVHJlZUVsZW1lbnRTdGF0dXNC
dXR0b24uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b25DbGlja2VkLCB0aGlz
KTsKLSAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCA9PT0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJh
clRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCi0gICAgICAgICAgICAgICAgdGhpcy5f
dXBkYXRlVHJlZUVsZW1lbnRXaXRoQ2xvc2VCdXR0b24odHJlZUVsZW1lbnQpOwotICAgICAgICB9
LmJpbmQodGhpcykpOwotICAgIH0sCi0KLSAgICBfY2xvc2VTdGF0dXNCdXR0b25DbGlja2VkOiBm
dW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVl
T3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50LmRlc2VsZWN0KCk7Ci0gICAgICAgIFdlYkluc3Bl
Y3Rvci50aW1lbGluZVNpZGViYXJQYW5lbC5zaG93VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUodGhp
cy5yZXByZXNlbnRlZE9iamVjdCk7Ci0gICAgfSwKLQogICAgIF91cGRhdGVIaWdobGlnaHQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciByZWNvcmQgPSB0aGlzLl9ob3ZlcmVkT3JTZWxl
Y3RlZFJlY29yZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanMKaW5kZXggODQzZTNj
NzQ0YTMwM2Q2NDFkMjFjMWY2NzJjZjAxZmM5ZTg0OTQxNi4uNmFmMTZlNzg5NDMxZmIwZjU2ZDZj
YmM1NjUwYWIzMDAyZjhiYmM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzCkBA
IC0yOSw4ICsyOSw2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3ID0gZnVuY3Rp
b24odGltZWxpbmUpCiAKICAgICBjb25zb2xlLmFzc2VydCh0aW1lbGluZS50eXBlID09PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5OZXR3b3JrKTsKIAotICAgIHRoaXMubmF2aWdh
dGlvblNpZGViYXJUcmVlT3V0bGluZS5vbnNlbGVjdCA9IHRoaXMuX3RyZWVFbGVtZW50U2VsZWN0
ZWQuYmluZCh0aGlzKTsKLSAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUub25k
ZXNlbGVjdCA9IHRoaXMuX3RyZWVFbGVtZW50RGVzZWxlY3RlZC5iaW5kKHRoaXMpOyAgICAKICAg
ICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUuZWxlbWVudC5jbGFzc0xpc3QuYWRk
KFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLkhpZGVEaXNjbG9zdXJlQnV0dG9u
c1N0eWxlQ2xhc3NOYW1lKTsKICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUu
ZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3LlRy
ZWVPdXRsaW5lU3R5bGVDbGFzc05hbWUpOwogCkBAIC0xNTAsNiArMTQ4LDE3IEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIC8vIFByb3RlY3Rl
ZAogCisgICAgc2hvd0NvbnRlbnRWaWV3Rm9yVHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKHRyZWVFbGVt
ZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVj
dG9yLlJlc291cmNlVHJlZUVsZW1lbnQgfHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNw
ZWN0b3IuU2NyaXB0VHJlZUVsZW1lbnQpIHsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5yZXNv
dXJjZVNpZGViYXJQYW5lbC5zaG93U291cmNlQ29kZSh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9i
amVjdCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGNv
bnNvbGUuZXJyb3IoIlVua25vd24gdHJlZSBlbGVtZW50IHNlbGVjdGVkLiIsIHRyZWVFbGVtZW50
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0sCisKICAgICB0cmVlRWxlbWVudFBhdGhD
b21wb25lbnRTZWxlY3RlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgZGF0
YUdyaWROb2RlID0gdGhpcy5fZGF0YUdyaWQuZGF0YUdyaWROb2RlRm9yVHJlZUVsZW1lbnQoZXZl
bnQuZGF0YS5wYXRoQ29tcG9uZW50LmdlbmVyYWxUcmVlRWxlbWVudCk7CkBAIC0xNTgsNiArMTY3
LDE0IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgZGF0YUdyaWROb2RlLnJldmVhbEFuZFNlbGVjdCgpOwogICAgIH0sCiAKKyAgICB0cmVl
RWxlbWVudFNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCisg
ICAgeworICAgICAgICBpZiAodGhpcy5fZGF0YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZl
bnQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVWaWV3LnByb3RvdHlwZS50cmVlRWxlbWVudFNlbGVjdGVkLmNhbGwodGhpcywgdHJl
ZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKTsKKyAgICB9LAorCiAgICAgLy8gUHJpdmF0ZQogCiAg
ICAgX3Byb2Nlc3NQZW5kaW5nUmVjb3JkczogZnVuY3Rpb24oKQpAQCAtMjAwLDMyICsyMTcsNiBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5F
dmVudC5TZWxlY3Rpb25QYXRoQ29tcG9uZW50c0RpZENoYW5nZSk7CiAgICAgfSwKIAotICAgIF90
cmVlRWxlbWVudERlc2VsZWN0ZWQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQotICAgIHsKLSAgICAg
ICAgaWYgKHRyZWVFbGVtZW50LnN0YXR1cykKLSAgICAgICAgICAgIHRyZWVFbGVtZW50LnN0YXR1
cyA9ICIiOwotICAgIH0sCi0KLSAgICBfdHJlZUVsZW1lbnRTZWxlY3RlZDogZnVuY3Rpb24odHJl
ZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2RhdGFH
cmlkLnNob3VsZElnbm9yZVNlbGVjdGlvbkV2ZW50KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IudGltZWxpbmVTaWRlYmFyUGFuZWwuY2FuU2hvd0Rp
ZmZlcmVudENvbnRlbnRWaWV3KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYg
KHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkZvbGRlclRyZWVFbGVtZW50KQot
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9m
IFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50IHx8IHRyZWVFbGVtZW50IGluc3RhbmNl
b2YgV2ViSW5zcGVjdG9yLlNjcmlwdFRyZWVFbGVtZW50KSB7Ci0gICAgICAgICAgICBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VTaWRlYmFyUGFuZWwuc2hvd1NvdXJjZUNvZGUodHJlZUVsZW1lbnQucmVw
cmVzZW50ZWRPYmplY3QpOwotICAgICAgICAgICAgdGhpcy5fdXBkYXRlVHJlZUVsZW1lbnRXaXRo
Q2xvc2VCdXR0b24odHJlZUVsZW1lbnQpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0KLSAgICAgICAgY29uc29sZS5lcnJvcigiVW5rbm93biB0cmVlIGVsZW1lbnQgc2VsZWN0ZWQu
Iik7Ci0gICAgfSwKLQogICAgIF91cGRhdGVUcmVlRWxlbWVudFdpdGhDbG9zZUJ1dHRvbjogZnVu
Y3Rpb24odHJlZUVsZW1lbnQpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fY2xvc2VTdGF0dXNC
dXR0b24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMKaW5k
ZXggNmJhMjIwODNkMmQ4NzMxYjg1MzkzYmY2MTRkMzE4Y2UwYmE1Mjg2YS4uZjIzZGVlMDdlOTY4
MDg5ZWRjZmZlYzk5YjM5NzE1ZmJhY2U0ZDYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVZpZXcuanMKQEAgLTE1NCw2ICsxNTQsMjQgQEAgV2ViSW5zcGVjdG9yLlJl
bmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIC8vIFByb3RlY3Rl
ZAogCisgICAgc2hvd0NvbnRlbnRWaWV3Rm9yVHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKHRyZWVFbGVt
ZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVj
dG9yLlByb2ZpbGVOb2RlVHJlZUVsZW1lbnQgJiYgdHJlZUVsZW1lbnQucHJvZmlsZU5vZGUuc291
cmNlQ29kZUxvY2F0aW9uKSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VTaWRl
YmFyUGFuZWwuc2hvd09yaWdpbmFsT3JGb3JtYXR0ZWRTb3VyY2VDb2RlTG9jYXRpb24odHJlZUVs
ZW1lbnQucHJvZmlsZU5vZGUuc291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVZpZXcucHJvdG90eXBlLnNob3dDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50LmNhbGwodGhpcywg
dHJlZUVsZW1lbnQpOworICAgIH0sCisKKyAgICB0cmVlRWxlbWVudFNlbGVjdGVkOiBmdW5jdGlv
bih0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCisgICAgeworICAgICAgICBpZiAodGhpcy5f
ZGF0YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZlbnQoKSkKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS50cmVlRWxl
bWVudFNlbGVjdGVkLmNhbGwodGhpcywgdHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKTsKKyAg
ICB9LAorCiAgICAgdHJlZUVsZW1lbnRQYXRoQ29tcG9uZW50U2VsZWN0ZWQ6IGZ1bmN0aW9uKGV2
ZW50KQogICAgIHsKICAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRoaXMuX2RhdGFHcmlkLmRh
dGFHcmlkTm9kZUZvclRyZWVFbGVtZW50KGV2ZW50LmRhdGEucGF0aENvbXBvbmVudC5nZW5lcmFs
VHJlZUVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5v
ZGUuanMKaW5kZXggOWY1ODU5Zjg5YTQ5YjZlNjMyMjRkODI4MDc4NmRmNmZlYmZiMTEzZi4uMGEx
NGFiN2NlZTc2NWQ5NjZmOWJiZWUwMzgwZDRkY2M3ODcwZDIwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURhdGFH
cmlkTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCkBAIC03NSw3ICs3NSw2IEBAIFdlYklu
c3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgaWYgKCF0aGlzLl9ncmFwaE9ubHkpIHsKICAgICAgICAgICAgIHZhciB6ZXJvVGltZSA9IHRo
aXMuZ3JhcGhEYXRhU291cmNlID8gdGhpcy5ncmFwaERhdGFTb3VyY2UuemVyb1RpbWUgOiAwOwog
Ci0gICAgICAgICAgICBkYXRhLm5hbWUgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwo
cmVzb3VyY2UudXJsLCByZXNvdXJjZS51cmxDb21wb25lbnRzKTsKICAgICAgICAgICAgIGRhdGEu
ZG9tYWluID0gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9ySG9zdChyZXNvdXJjZS51cmxDb21w
b25lbnRzLmhvc3QpOwogICAgICAgICAgICAgZGF0YS5zY2hlbWUgPSByZXNvdXJjZS51cmxDb21w
b25lbnRzLnNjaGVtZSA/IHJlc291cmNlLnVybENvbXBvbmVudHMuc2NoZW1lLnRvVXBwZXJDYXNl
KCkgOiAiIjsKICAgICAgICAgICAgIGRhdGEubWV0aG9kID0gcmVzb3VyY2UucmVxdWVzdE1ldGhv
ZDsKQEAgLTEwNiwyNiArMTA1LDYgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRh
R3JpZE5vZGUucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmRhdGFbY29s
dW1uSWRlbnRpZmllcl07CiAKICAgICAgICAgc3dpdGNoIChjb2x1bW5JZGVudGlmaWVyKSB7Ci0g
ICAgICAgIGNhc2UgIm5hbWUiOgotICAgICAgICAgICAgY2VsbC5jbGFzc0xpc3QuYWRkKHJlc291
cmNlLnR5cGUsIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50LlJlc291cmNlSWNvblN0
eWxlQ2xhc3NOYW1lKTsKLQotICAgICAgICAgICAgdmFyIGZyYWdtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRG9jdW1lbnRGcmFnbWVudCgpOwotCi0gICAgICAgICAgICB2YXIgZ29Ub0J1dHRvbiA9IFdl
Ykluc3BlY3Rvci5jcmVhdGVHb1RvQXJyb3dCdXR0b24oKTsKLSAgICAgICAgICAgIGdvVG9CdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9nb1RvUmVzb3VyY2UuYmluZCh0aGlz
KSk7Ci0gICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChnb1RvQnV0dG9uKTsKLQotICAg
ICAgICAgICAgdmFyIGljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAg
ICAgICAgIGljb24uY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLlJlc291cmNlVGltZWxpbmVEYXRh
R3JpZE5vZGUuSWNvblN0eWxlQ2xhc3NOYW1lOwotICAgICAgICAgICAgZnJhZ21lbnQuYXBwZW5k
Q2hpbGQoaWNvbik7Ci0KLSAgICAgICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUodmFsdWUpOwotICAgICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQodGV4dCk7Ci0K
LSAgICAgICAgICAgIGNlbGwudGl0bGUgPSByZXNvdXJjZS51cmw7Ci0KLSAgICAgICAgICAgIHJl
dHVybiBmcmFnbWVudDsKLQogICAgICAgICBjYXNlICJ0eXBlIjoKICAgICAgICAgICAgIHJldHVy
biBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuZGlzcGxheU5hbWVGb3JUeXBlKHZhbHVlKTsKIApAQCAt
MTM3LDcgKzExNiwxNiBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9k
ZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUgPyBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlllcyIpIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyIpOwogCiAgICAgICAg
IGNhc2UgImRvbWFpbiI6Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWUgfHwgZW1wdHlWYWx1ZVBs
YWNlaG9sZGVyU3RyaW5nOworICAgICAgICAgICAgdmFyIGZyYWdtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRG9jdW1lbnRGcmFnbWVudCgpOworCisgICAgICAgICAgICB2YXIgZ29Ub0J1dHRvbiA9IFdl
Ykluc3BlY3Rvci5jcmVhdGVHb1RvQXJyb3dCdXR0b24oKTsKKyAgICAgICAgICAgIGdvVG9CdXR0
b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9nb1RvUmVzb3VyY2UuYmluZCh0aGlz
KSk7CisgICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChnb1RvQnV0dG9uKTsKKworICAg
ICAgICAgICAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh2YWx1ZSB8fCBlbXB0
eVZhbHVlUGxhY2Vob2xkZXJTdHJpbmcpOworICAgICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hp
bGQodGV4dCk7CisKKyAgICAgICAgICAgIHJldHVybiBmcmFnbWVudDsKIAogICAgICAgICBjYXNl
ICJzaXplIjoKICAgICAgICAgY2FzZSAidHJhbnNmZXJTaXplIjoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lVmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVs
aW5lVmlldy5qcwppbmRleCBjM2E0ZDc3YTkxOWZiMjk0MGFmMGQwYTY2NjAwYmNmMjM4YzFlNjY5
Li4yZjVkMWI4NzYyZTRkN2RlMWYzZDlmZTNkNTQ5MTdkNDIxYWIzMjZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZVZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Ny
aXB0VGltZWxpbmVWaWV3LmpzCkBAIC0yOSw4ICsyOSw2IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRU
aW1lbGluZVZpZXcgPSBmdW5jdGlvbih0aW1lbGluZSkKIAogICAgIGNvbnNvbGUuYXNzZXJ0KHRp
bWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7
CiAKLSAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUub25zZWxlY3QgPSB0aGlz
Ll90cmVlRWxlbWVudFNlbGVjdGVkLmJpbmQodGhpcyk7Ci0gICAgdGhpcy5uYXZpZ2F0aW9uU2lk
ZWJhclRyZWVPdXRsaW5lLm9uZGVzZWxlY3QgPSB0aGlzLl90cmVlRWxlbWVudERlc2VsZWN0ZWQu
YmluZCh0aGlzKTsKICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmUuZWxlbWVu
dC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcuVHJlZU91dGxp
bmVTdHlsZUNsYXNzTmFtZSk7CiAKICAgICB2YXIgY29sdW1ucyA9IHtsb2NhdGlvbjoge30sIGNh
bGxDb3VudDoge30sIHN0YXJ0VGltZToge30sIHRvdGFsVGltZToge30sIHNlbGZUaW1lOiB7fSwg
YXZlcmFnZVRpbWU6IHt9fTsKQEAgLTE2NSw2ICsxNjMsMTYgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dFRpbWVsaW5lVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAvLyBQcm90ZWN0ZWQKIAorICAgIHNo
b3dDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50OiBmdW5jdGlvbih0cmVlRWxlbWVudCkKKyAgICB7
CisgICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Qcm9maWxl
Tm9kZVRyZWVFbGVtZW50ICYmIHRyZWVFbGVtZW50LnByb2ZpbGVOb2RlLnNvdXJjZUNvZGVMb2Nh
dGlvbikgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlU2lkZWJhclBhbmVsLnNo
b3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHRyZWVFbGVtZW50LnByb2Zp
bGVOb2RlLnNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgfQorCisgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3Rv
dHlwZS5zaG93Q29udGVudFZpZXdGb3JUcmVlRWxlbWVudC5jYWxsKHRoaXMsIHRyZWVFbGVtZW50
KTsKKyAgICB9LAorCiAgICAgdHJlZUVsZW1lbnRQYXRoQ29tcG9uZW50U2VsZWN0ZWQ6IGZ1bmN0
aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRoaXMuX2RhdGFH
cmlkLmRhdGFHcmlkTm9kZUZvclRyZWVFbGVtZW50KGV2ZW50LmRhdGEucGF0aENvbXBvbmVudC5n
ZW5lcmFsVHJlZUVsZW1lbnQpOwpAQCAtMTczLDYgKzE4MSwxNCBAQCBXZWJJbnNwZWN0b3IuU2Ny
aXB0VGltZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgZGF0YUdyaWROb2RlLnJldmVh
bEFuZFNlbGVjdCgpOwogICAgIH0sCiAKKyAgICB0cmVlRWxlbWVudFNlbGVjdGVkOiBmdW5jdGlv
bih0cmVlRWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpCisgICAgeworICAgICAgICBpZiAodGhpcy5f
ZGF0YUdyaWQuc2hvdWxkSWdub3JlU2VsZWN0aW9uRXZlbnQoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS50
cmVlRWxlbWVudFNlbGVjdGVkLmNhbGwodGhpcywgdHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2Vy
KTsKKyAgICB9LAorCiAgICAgZGF0YUdyaWROb2RlRm9yVHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKHRy
ZWVFbGVtZW50KQogICAgIHsKICAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2Vi
SW5zcGVjdG9yLlByb2ZpbGVOb2RlVHJlZUVsZW1lbnQpCkBAIC0yNDQsNjAgKzI2MCw1IEBAIFdl
Ykluc3BlY3Rvci5TY3JpcHRUaW1lbGluZVZpZXcucHJvdG90eXBlID0gewogICAgIF9kYXRhR3Jp
ZE5vZGVTZWxlY3RlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcuRXZlbnQuU2VsZWN0
aW9uUGF0aENvbXBvbmVudHNEaWRDaGFuZ2UpOwotICAgIH0sCi0KLSAgICBfdHJlZUVsZW1lbnRE
ZXNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCkKLSAgICB7Ci0gICAgICAgIGlmICh0cmVl
RWxlbWVudC5zdGF0dXMpCi0gICAgICAgICAgICB0cmVlRWxlbWVudC5zdGF0dXMgPSAiIjsKLSAg
ICB9LAotCi0gICAgX3RyZWVFbGVtZW50U2VsZWN0ZWQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50LCBz
ZWxlY3RlZEJ5VXNlcikKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9kYXRhR3JpZC5zaG91bGRJ
Z25vcmVTZWxlY3Rpb25FdmVudCgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlm
ICghV2ViSW5zcGVjdG9yLnRpbWVsaW5lU2lkZWJhclBhbmVsLmNhblNob3dEaWZmZXJlbnRDb250
ZW50VmlldygpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmICh0cmVlRWxlbWVu
dCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Gb2xkZXJUcmVlRWxlbWVudCkKLSAgICAgICAgICAg
IHJldHVybjsKLQotICAgICAgICB2YXIgc291cmNlQ29kZUxvY2F0aW9uID0gbnVsbDsKLSAgICAg
ICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
VHJlZUVsZW1lbnQpCi0gICAgICAgICAgICBzb3VyY2VDb2RlTG9jYXRpb24gPSB0cmVlRWxlbWVu
dC5yZWNvcmQuc291cmNlQ29kZUxvY2F0aW9uOwotICAgICAgICBlbHNlIGlmICh0cmVlRWxlbWVu
dCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Qcm9maWxlTm9kZVRyZWVFbGVtZW50KQotICAgICAg
ICAgICAgc291cmNlQ29kZUxvY2F0aW9uID0gdHJlZUVsZW1lbnQucHJvZmlsZU5vZGUuc291cmNl
Q29kZUxvY2F0aW9uOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb25zb2xlLmVycm9yKCJV
bmtub3duIHRyZWUgZWxlbWVudCBzZWxlY3RlZC4iKTsKLQotICAgICAgICBpZiAoIXNvdXJjZUNv
ZGVMb2NhdGlvbikgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lU2lkZWJhclBh
bmVsLnNob3dUaW1lbGluZVZpZXdGb3JUaW1lbGluZSh0aGlzLnJlcHJlc2VudGVkT2JqZWN0KTsK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVNpZGViYXJQYW5lbC5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2Nh
dGlvbihzb3VyY2VDb2RlTG9jYXRpb24pOwotICAgICAgICB0aGlzLl91cGRhdGVUcmVlRWxlbWVu
dFdpdGhDbG9zZUJ1dHRvbih0cmVlRWxlbWVudCk7Ci0gICAgfSwKLQotICAgIF91cGRhdGVUcmVl
RWxlbWVudFdpdGhDbG9zZUJ1dHRvbjogZnVuY3Rpb24odHJlZUVsZW1lbnQpCi0gICAgewotICAg
ICAgICBpZiAodGhpcy5fY2xvc2VTdGF0dXNCdXR0b24pIHsKLSAgICAgICAgICAgIHRyZWVFbGVt
ZW50LnN0YXR1cyA9IHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uLmVsZW1lbnQ7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB3cmFwcGVkU1ZHRG9jdW1lbnQocGxhdGZv
cm1JbWFnZVBhdGgoIkNsb3NlLnN2ZyIpLCBudWxsLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNs
b3NlIHJlc291cmNlIHZpZXciKSwgZnVuY3Rpb24oZWxlbWVudCkgewotICAgICAgICAgICAgdGhp
cy5fY2xvc2VTdGF0dXNCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlRyZWVFbGVtZW50U3RhdHVz
QnV0dG9uKGVsZW1lbnQpOwotICAgICAgICAgICAgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVHJlZUVsZW1lbnRTdGF0dXNCdXR0b24uRXZlbnQu
Q2xpY2tlZCwgdGhpcy5fY2xvc2VTdGF0dXNCdXR0b25DbGlja2VkLCB0aGlzKTsKLSAgICAgICAg
ICAgIGlmICh0cmVlRWxlbWVudCA9PT0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhclRyZWVPdXRsaW5l
LnNlbGVjdGVkVHJlZUVsZW1lbnQpCi0gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVHJlZUVs
ZW1lbnRXaXRoQ2xvc2VCdXR0b24odHJlZUVsZW1lbnQpOwotICAgICAgICB9LmJpbmQodGhpcykp
OwotICAgIH0sCi0KLSAgICBfY2xvc2VTdGF0dXNCdXR0b25DbGlja2VkOiBmdW5jdGlvbihldmVu
dCkKLSAgICB7Ci0gICAgICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZS5zZWxl
Y3RlZFRyZWVFbGVtZW50LmRlc2VsZWN0KCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGlu
ZVNpZGViYXJQYW5lbC5zaG93VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUodGhpcy5yZXByZXNlbnRl
ZE9iamVjdCk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKaW5k
ZXggZjI0NzJkNDA5NjdkMmJlYjExMjBlMzY3OWRjM2I2NjgwYmIxN2ZiOC4uYjhiMDJhMDFlMTZh
NmJjNDljYmJhNjA0YzE4NzljOWIwZDc0MjQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFy
UGFuZWwuanMKQEAgLTI3NCw2ICsyNzQsOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFy
UGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogCiAg
ICAgY2FuU2hvd0RpZmZlcmVudENvbnRlbnRWaWV3KCkKICAgICB7CisgICAgICAgIGlmIChXZWJJ
bnNwZWN0b3IuY29udGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3IGluc3RhbmNlb2YgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICAgICAgcmV0dXJuICF0aGlzLnJlc3RvcmluZ1N0YXRlIHx8ICF0aGlz
Ll9yZXN0b3JlZFNob3dpbmdUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3OwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVWaWV3LmpzCmluZGV4IGU3ZGJjYWU4ZDBmMDUxMDZjNjJmYjQ5MzczNjFiYjE4MGNi
MWIzNTkuLjRjY2EwZTQ1OTNkZjRhNTM4YmY4ZjdhNzBkOThjOTAxYzY5NjdlZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmll
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZVZpZXcuanMKQEAgLTMyLDYgKzMyLDkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldyA9
IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0KQogICAgIFdlYkluc3BlY3Rvci5Db250ZW50Vmll
dy5jYWxsKHRoaXMsIHJlcHJlc2VudGVkT2JqZWN0KTsKIAogICAgIHRoaXMuX2NvbnRlbnRUcmVl
T3V0bGluZSA9IFdlYkluc3BlY3Rvci50aW1lbGluZVNpZGViYXJQYW5lbC5jcmVhdGVDb250ZW50
VHJlZU91dGxpbmUoKTsKKyAgICB0aGlzLl9jb250ZW50VHJlZU91dGxpbmUub25zZWxlY3QgPSB0
aGlzLnRyZWVFbGVtZW50U2VsZWN0ZWQuYmluZCh0aGlzKTsKKyAgICB0aGlzLl9jb250ZW50VHJl
ZU91dGxpbmUub25kZXNlbGVjdCA9IHRoaXMudHJlZUVsZW1lbnREZXNlbGVjdGVkLmJpbmQodGhp
cyk7CisKICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuVGltZWxp
bmVWaWV3LlN0eWxlQ2xhc3NOYW1lKTsKIAogICAgIHRoaXMuX3plcm9UaW1lID0gMDsKQEAgLTE4
MCwxMSArMTgzLDU0IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlID0gewog
CiAgICAgLy8gUHJvdGVjdGVkCiAKKyAgICBzaG93Q29udGVudFZpZXdGb3JUcmVlRWxlbWVudDog
ZnVuY3Rpb24odHJlZUVsZW1lbnQpCisgICAgeworICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBz
dWItY2xhc3NlcyBpZiBuZWVkZWQuCisKKyAgICAgICAgaWYgKCEodHJlZUVsZW1lbnQgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRUcmVlRWxlbWVudCkpIHsKKyAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIlVua25vd24gdHJlZSBlbGVtZW50IHNlbGVjdGVkLiIsIHRyZWVF
bGVtZW50KTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAg
IHZhciBzb3VyY2VDb2RlTG9jYXRpb24gPSB0cmVlRWxlbWVudC5yZWNvcmQuc291cmNlQ29kZUxv
Y2F0aW9uOworICAgICAgICBpZiAoIXNvdXJjZUNvZGVMb2NhdGlvbikgeworICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLnRpbWVsaW5lU2lkZWJhclBhbmVsLnNob3dUaW1lbGluZVZpZXdGb3JUaW1l
bGluZSh0aGlzLnJlcHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9CisKKyAgICAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlU2lkZWJhclBhbmVsLnNo
b3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2NhdGlv
bik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0sCisKICAgICB0cmVlRWxlbWVudFBhdGhD
b21wb25lbnRTZWxlY3RlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICAvLyBJbXBs
ZW1lbnRlZCBieSBzdWItY2xhc3NlcyBpZiBuZWVkZWQuCiAgICAgfSwKIAorICAgIHRyZWVFbGVt
ZW50RGVzZWxlY3RlZDogZnVuY3Rpb24odHJlZUVsZW1lbnQpCisgICAgeworICAgICAgICAvLyBJ
bXBsZW1lbnRlZCBieSBzdWItY2xhc3NlcyBpZiBuZWVkZWQuCisKKyAgICAgICAgaWYgKHRoaXMu
X2Nsb3NlU3RhdHVzQnV0dG9uICYmIHRyZWVFbGVtZW50LnN0YXR1cyA9PT0gdGhpcy5fY2xvc2VT
dGF0dXNCdXR0b24uZWxlbWVudCkKKyAgICAgICAgICAgIHRyZWVFbGVtZW50LnN0YXR1cyA9ICIi
OworICAgIH0sCisKKyAgICB0cmVlRWxlbWVudFNlbGVjdGVkOiBmdW5jdGlvbih0cmVlRWxlbWVu
dCwgc2VsZWN0ZWRCeVVzZXIpCisgICAgeworICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBzdWIt
Y2xhc3NlcyBpZiBuZWVkZWQuCisKKyAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IudGltZWxpbmVT
aWRlYmFyUGFuZWwuY2FuU2hvd0RpZmZlcmVudENvbnRlbnRWaWV3KCkpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9y
LkZvbGRlclRyZWVFbGVtZW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICgh
dGhpcy5zaG93Q29udGVudFZpZXdGb3JUcmVlRWxlbWVudCh0cmVlRWxlbWVudCkpCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fdXBkYXRlVHJlZUVsZW1lbnRXaXRoQ2xvc2VC
dXR0b24odHJlZUVsZW1lbnQpOworICAgIH0sCisKICAgICBuZWVkc0xheW91dDogZnVuY3Rpb24o
KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCkBAIC0xOTQsNSArMjQwLDMwIEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0
dXJuOwogCiAgICAgICAgIHRoaXMuX3NjaGVkdWxlZExheW91dFVwZGF0ZUlkZW50aWZpZXIgPSBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy51cGRhdGVMYXlvdXQuYmluZCh0aGlzKSk7CisgICAg
fSwKKworICAgIC8vIFByaXZhdGUKKworICAgIF9jbG9zZVN0YXR1c0J1dHRvbkNsaWNrZWQ6IGZ1
bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNpZGViYXJU
cmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50KQorICAgICAgICAgICAgdGhpcy5uYXZpZ2F0
aW9uU2lkZWJhclRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQuZGVzZWxlY3QoKTsKKwor
ICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVTaWRlYmFyUGFuZWwuc2hvd1RpbWVsaW5lVmll
d0ZvclRpbWVsaW5lKHRoaXMucmVwcmVzZW50ZWRPYmplY3QpOworICAgIH0sCisKKyAgICBfdXBk
YXRlVHJlZUVsZW1lbnRXaXRoQ2xvc2VCdXR0b246IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQorICAg
IHsKKyAgICAgICAgaWYgKHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uKSB7CisgICAgICAgICAgICB0
cmVlRWxlbWVudC5zdGF0dXMgPSB0aGlzLl9jbG9zZVN0YXR1c0J1dHRvbi5lbGVtZW50OworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgd3JhcHBlZFNWR0RvY3VtZW50
KHBsYXRmb3JtSW1hZ2VQYXRoKCJDbG9zZS5zdmciKSwgbnVsbCwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJDbG9zZSByZXNvdXJjZSB2aWV3IiksIGZ1bmN0aW9uKGVsZW1lbnQpIHsKKyAgICAgICAg
ICAgIHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5UcmVlRWxlbWVu
dFN0YXR1c0J1dHRvbihlbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuX2Nsb3NlU3RhdHVzQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRyZWVFbGVtZW50U3RhdHVzQnV0dG9u
LkV2ZW50LkNsaWNrZWQsIHRoaXMuX2Nsb3NlU3RhdHVzQnV0dG9uQ2xpY2tlZCwgdGhpcyk7Cisg
ICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQgPT09IHRoaXMubmF2aWdhdGlvblNpZGViYXJUcmVl
T3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50KQorICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0
ZVRyZWVFbGVtZW50V2l0aENsb3NlQnV0dG9uKHRyZWVFbGVtZW50KTsKKyAgICAgICAgfS5iaW5k
KHRoaXMpKTsKICAgICB9CiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>