<?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>144245</bug_id>
          
          <creation_ts>2015-04-26 19:03:20 -0700</creation_ts>
          <short_desc>Web Inspector: add a separate overview for the Rendering Frames timeline</short_desc>
          <delta_ts>2015-04-28 06:31:42 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>burg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</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>1088903</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-26 19:03:20 -0700</bug_when>
    <thetext>Create a new TimelineOverview for the Rendering Frames timeline, and add UI to the Timelines sidebar for switching between the two overview modes. By moving the frames graph to a separate overview, we no longer have to graph frames on a time axis. This allows us to use the same width for all frame elements and eliminates the need to combine frames during zoom and represent idle time in the graph. The Rendering Frames overview should use a unitless TimelineRuler showing the frame index.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088904</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-04-26 19:03:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/20703766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088922</commentid>
    <comment_count>2</comment_count>
      <attachid>251723</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-26 21:01:11 -0700</bug_when>
    <thetext>Created attachment 251723
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088925</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-04-26 21:18:44 -0700</bug_when>
    <thetext>Patch looks good at a glance! I&apos;ll take a closer look soon.

Screenshots?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089262</commentid>
    <comment_count>4</comment_count>
      <attachid>251723</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-04-27 16:34:51 -0700</bug_when>
    <thetext>Comment on attachment 251723
[Patch] Proposed Fix

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

Very nice and clean!

&gt; Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineOverview.js:35
&gt; +        selectionDuration: 100

So this is 100 frames?

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineRecordFrame.js:79
&gt; +        this._element.style.width = (1 / graphDataSource.timelineOverview.secondsPerPixel) + &quot;px&quot;;

Nit: Might want to Math.round or Math.ceil. With sub pixel reddening, this might lead to a blurry edge on the bar.

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js:276
&gt; +                var endIndex = Math.min(Math.floor(endTime), timeline.records.length - 1);

Should this do Math.ceil for endTime?

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js:536
&gt; +        const timelineHeight = 36;
&gt; +        const renderingFramesTimelineHeight = 108;
&gt; +        const rulerHeight = 29;

Nit: These should be computed using offsetHeight, but that is likely tricky.

&gt; Source/WebInspectorUI/UserInterface/Views/TimelineSidebarPanel.js:576
&gt; -        var eventTitleBarOffset = 51;
&gt; -        var contentElementOffset = 74;
&gt; +        var eventTitleBarOffset = 58;
&gt; +        var contentElementOffset = 81;

Ugh, I see what you meant. Would be nice to compute these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089351</commentid>
    <comment_count>5</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-27 19:54:06 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 251723 [details]
&gt; [Patch] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=251723&amp;action=review
&gt; 
&gt; Very nice and clean!
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineOverview.js:35
&gt; &gt; +        selectionDuration: 100
&gt; 
&gt; So this is 100 frames?

Correct.

&gt; &gt; Source/WebInspectorUI/UserInterface/Views/TimelineRecordFrame.js:79
&gt; &gt; +        this._element.style.width = (1 / graphDataSource.timelineOverview.secondsPerPixel) + &quot;px&quot;;
&gt; 
&gt; Nit: Might want to Math.round or Math.ceil. With sub pixel reddening, this
&gt; might lead to a blurry edge on the bar.

How can I verify that this is an issue?

&gt; &gt; Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js:276
&gt; &gt; +                var endIndex = Math.min(Math.floor(endTime), timeline.records.length - 1);
&gt; 
&gt; Should this do Math.ceil for endTime?

It&apos;s a little counterintuitive but using Math.ceil will result in an off-by-one error, since frames are positioned with their left edge at the tick mark corresponding to their index. For example, a selection end time at 0.5 will be positioned in the center of the frame with index 0. Taking Math.ceil gives us 1, causing the first frame to the right of the selection&apos;s end to be included.

&gt; &gt; Source/WebInspectorUI/UserInterface/Views/TimelineRecordingContentView.js:536
&gt; &gt; +        const timelineHeight = 36;
&gt; &gt; +        const renderingFramesTimelineHeight = 108;
&gt; &gt; +        const rulerHeight = 29;
&gt; 
&gt; Nit: These should be computed using offsetHeight, but that is likely tricky.
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/TimelineSidebarPanel.js:576
&gt; &gt; -        var eventTitleBarOffset = 51;
&gt; &gt; -        var contentElementOffset = 74;
&gt; &gt; +        var eventTitleBarOffset = 58;
&gt; &gt; +        var contentElementOffset = 81;
&gt; 
&gt; Ugh, I see what you meant. Would be nice to compute these.

I think we should address this separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089375</commentid>
    <comment_count>6</comment_count>
      <attachid>251817</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-27 20:48:43 -0700</bug_when>
    <thetext>Created attachment 251817
[Patch] Proposed Fix

Fixed cookie and selection bugs. TimelineSidebar and TimelineRecordingContentView could probably use a quick glance :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089403</commentid>
    <comment_count>7</comment_count>
      <attachid>251817</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-27 22:12:43 -0700</bug_when>
    <thetext>Comment on attachment 251817
[Patch] Proposed Fix

Rejecting attachment 251817 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 251817, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
fs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 183451 = 39ae02a659082662886a2568bbac0a59a064e040
r183452 = 10df131d7c680e83eff0965b2011dee2c136754f
r183453 = 0582af436b62eec0a3580324885a43385704019c
r183454 = c1a9da5dabd9dede6f6d85b7aa2500b851503ba8
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.appspot.com/results/6267201908637696</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089436</commentid>
    <comment_count>8</comment_count>
      <attachid>251832</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-04-28 01:03:40 -0700</bug_when>
    <thetext>Created attachment 251832
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089486</commentid>
    <comment_count>9</comment_count>
      <attachid>251832</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-28 06:31:36 -0700</bug_when>
    <thetext>Comment on attachment 251832
[Patch] Proposed Fix

Clearing flags on attachment: 251832

Committed r183469: &lt;http://trac.webkit.org/changeset/183469&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089487</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-28 06:31:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251723</attachid>
            <date>2015-04-26 21:01:11 -0700</date>
            <delta_ts>2015-04-27 20:48:41 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-144245-20150426210004.patch</filename>
            <type>text/plain</type>
            <size>95016</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
YWFkY2VkY2U0NGI2NGQ2YzZkMjI3NTI4NDZmNGQ3ODM3ZWZjM2M1Li5hOGE5MWY0NDY4NDA5Zjhi
MDc0M2Y3Y2EwMTIwMDkyMzI3MzZhYzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNzggQEAKIDIwMTUtMDQtMjYgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29t
PgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBhIHNlcGFyYXRlIG92ZXJ2aWV3IGZvciB0
aGUgUmVuZGVyaW5nIEZyYW1lcyB0aW1lbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIFRpbWVsaW5lcyB0YWIgbm93IHN1cHBvcnRzIHR3byB2
aWV3IG1vZGVzLCBsYWJlbGVkICJUaW1lbGluZXMiIGFuZCAiUmVuZGVyaW5nIEZyYW1lcyIsIHdp
dGggZWFjaCBtb2RlIGhhdmluZyBhCisgICAgICAgIHNlcGVyYXRlIHRpbWVsaW5lIG92ZXJ2aWV3
IGFuZCBzZWxlY3RlZCByYW5nZS4gVGhlIGN1cnJlbnQgbW9kZSBpcyBzZWxlY3RhYmxlIHZpYSBh
IG5ldyBuYXZpZ2F0aW9uIGJhciBpbiB0aGUKKyAgICAgICAgdGltZWxpbmVzIHNpZGViYXIuIFRo
ZSBUaW1lbGluZXMgbW9kZSBkaXNwbGF5cyB0aGUgb3JpZ2luYWwgdGltZS1iYXNlZCB0aW1lbGlu
ZSBncmFwaHMgKE5ldHdvcmssIExheW91dCwKKyAgICAgICAgYW5kIFNjcmlwdCksIGFuZCBzd2l0
Y2hpbmcgdG8gdGhlIFJlbmRlcmluZyBGcmFtZXMgbW9kZSBkaXNwbGF5cyBhIGZyYW1lIGluZGV4
LWJhc2VkIGdyYXBoLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1l
bGluZU1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnBy
b3RvdHlwZS5nZXQgYWN0aXZlUmVjb3JkaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLmdldCByZWNvcmRpbmdzKTogRGVsZXRlZC4K
KyAgICAgICAgUmVtb3ZlZCB1bnVzZWQgY29kZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
TWFpbi5odG1sOgorICAgICAgICBOZXcgZmlsZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQucmVzZXRGcmFtZUluZGV4KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5n
ZXQgZnJhbWVJbmRleCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1l
bGluZVJlY29yZC5wcm90b3R5cGUuZ2V0IGZyYW1lTnVtYmVyKToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGluZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZGluZy5wcm90b3R5cGUucmVzZXQpOgorICAgICAgICBGcmFtZSBudW1i
ZXIgaXMgbm93IGRlcml2ZWQgZnJvbSBmcmFtZSBpbmRleC4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvTGluZWFyVGltZWxpbmVPdmVydmlldy5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5MaW5lYXJUaW1lbGluZU92ZXJ2aWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5l
YXJUaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5jYW5TaG93VGltZWxpbmUpOgorICAgICAgICBO
ZXcgb3ZlcnZpZXcgY2xhc3MgZm9yIHRpbWUtYmFzZWQgdGltZWxpbmUgZ3JhcGhzLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFu
ZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJh
clBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRl
YmFyUGFuZWwucHJvdG90eXBlLnVwZGF0ZVJhbmdlU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9nZXRT
ZWxlY3RlZFJlY29yZHMpOgorICAgICAgICBDaGFuZ2VkIHR5cGUgb2Ygc2VsZWN0ZWQgcmFuZ2Ug
ZnJvbSB0aW1lIHRvIGZyYW1lIGluZGljZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcudGhpcy50aW1lbGluZVJ1bGVyLmZv
cm1hdExhYmVsQ2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1l
VGltZWxpbmVPdmVydmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVU
aW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5jYW5TaG93VGltZWxpbmUpOgorICAgICAgICBOZXcg
b3ZlcnZpZXcgY2xhc3MgZm9yIGZyYW1lLWJhc2VkIHRpbWVsaW5lIGdyYXBocy4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3Jh
cGguY3NzOgorICAgICAgICAoLnRpbWVsaW5lLW92ZXJ2aWV3ID4gLmdyYXBocy1jb250YWluZXIg
PiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGgucmVuZGVyaW5nLWZyYW1lKToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dy
YXBoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5wcm90b3R5cGUuX3VwZGF0ZURpdmlkZXJzLmNyZWF0ZURpdmlkZXJBdFBvc2l0aW9u
LmdldCBpZik6CisgICAgICAgIFVwZGF0ZWQgdG8gdXNlIGZyYW1lIGluZGV4IHJ1bGVyIGFuZCBy
ZW1vdmVkIGZyYW1lIGNvbWJpbmluZyBsb2dpYy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcpOgorICAgICAgICBJbmNyZWFzZWQgY29sdW1u
IHdpZHRocy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmll
dy5jc3M6CisgICAgICAgICgudGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lcik6
CisgICAgICAgIChib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnRpbWVsaW5lLW92ZXJ2aWV3ID4g
LmdyYXBocy1jb250YWluZXIpOgorICAgICAgICBVcGRhdGVkIGZvciBuZXcgcnVsZXIgaGVpZ2h0
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmdldCBzZWNvbmRzUGVyUGl4ZWwpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBzZWNv
bmRzUGVyUGl4ZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlLmdldCB2aXNpYmxlRHVyYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBzZWxlY3Rpb25EdXJhdGlvbik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUudXBkYXRlTGF5b3V0KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5nZXQgdGltZWxp
bmVSdWxlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5
cGUuY2FuU2hvd1RpbWVsaW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3LnByb3RvdHlwZS5faGFuZGxlU2Nyb2xsRXZlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9oYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fdGltZWxpbmVSZW1vdmVk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fdGlt
ZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuc2V0IGN1cnJlbnRUaW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS51cGRhdGVMYXlvdXRJZk5lZWRl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90
b3R5cGUuX25lZWRzTGF5b3V0KTogRGVsZXRlZC4KKyAgICAgICAgQ29udmVydGVkIHRvIGJhc2Ug
Y2xhc3MuIERlcml2ZWQgY2xhc3NlcyBwcm92aWRlIHNldHRpbmdzIGFuZCBwZXJtaXR0ZWQgdGlt
ZWxpbmUgdHlwZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVj
b3JkRnJhbWUuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJlY29yZC1mcmFtZSk6CisgICAgICAg
ICgudGltZWxpbmUtcmVjb3JkLWZyYW1lID4gLmZyYW1lKToKKyAgICAgICAgKC50aW1lbGluZS1y
ZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRpb24pOgorICAgICAgICAoLnRpbWVsaW5lLXJl
Y29yZC1mcmFtZSA+IC5mcmFtZSA+IC5kdXJhdGlvbi50aW1lbGluZS1yZWNvcmQtdHlwZS1uZXR3
b3JrKToKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRp
b24udGltZWxpbmUtcmVjb3JkLXR5cGUtbGF5b3V0KToKKyAgICAgICAgKC50aW1lbGluZS1yZWNv
cmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRpb24udGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0
KToKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRpb246
bGFzdC1jaGlsZCk6IERlbGV0ZWQuCisgICAgICAgIE5ldyBncmFwaCBmcmFtZXMgc3R5bGVzLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUucHJvdG90eXBlLmdldCByZWNvcmQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUucHJvdG90eXBlLnNldCByZWNv
cmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUucHJvdG90eXBl
Ll91cGRhdGVDaGlsZEVsZW1lbnRzLmNyZWF0ZUR1cmF0aW9uRWxlbWVudCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5wcm90b3R5cGUuZ2V0IGVsZW1lbnQpOiBE
ZWxldGVkLgorICAgICAgICBVcGRhdGVkIHRvIHVzZSBmcmFtZSBpbmRleCBydWxlci4KKyAgICAg
ICAgUmVtb3ZlZCBkcm9wcGVkIGZyYW1lcyBhbmQgZnJhbWUgY29tYmluaW5nIGxvZ2ljLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJv
dG90eXBlLnNob3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0Nv
bnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2N1
cnJlbnRDb250ZW50Vmlld0RpZENoYW5nZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZVRpbWVzKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fdXBk
YXRlVGltZWxpbmVPdmVydmlld0hlaWdodCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2dldFJlbmRlcmluZ0ZyYW1lVGltZWxp
bmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcu
cHJvdG90eXBlLl90aW1lbGluZVJlbW92ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl90aW1lbGluZUNvdW50Q2hhbmdlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90
b3R5cGUuX3JlY29yZGluZ1Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fdGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90
b3R5cGUuZ2V0IGN1cnJlbnRUaW1lbGluZVZpZXcpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmdvRm9yd2FyZCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50
Vmlldy5wcm90b3R5cGUubWF0Y2hUcmVlRWxlbWVudEFnYWluc3RDdXN0b21GaWx0ZXJzKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
LnByb3RvdHlwZS5fY29udGVudFZpZXdTdXBwbGVtZW50YWxSZXByZXNlbnRlZE9iamVjdHNEaWRD
aGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXcucHJvdG90eXBlLl91cGRhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9kZWJ1Z2dlclBh
dXNlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdD
b250ZW50Vmlldy5wcm90b3R5cGUuX2RlYnVnZ2VyUmVzdW1lZCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX3Jl
Y29yZGluZ1RpbWVzVXBkYXRlZCk6IERlbGV0ZWQuCisgICAgICAgIE1haW50YWlucyB0d28gdGlt
ZWxpbmUgb3ZlcnZpZXdzLCBzd2l0Y2hpbmcgYmV0d2VlbiB0aGVtIGJhc2VkIG9uIHRoZSBjdXJy
ZW50IGNvbnRlbnQgdmlldy4KKyAgICAgICAgVXBkYXRlZCB0cmVlIGVsZW1lbnQgZmlsdGVyaW5n
IHRvIHN1cHBvcnQgYm90aCBvdmVydmlldyBydWxlcnMuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJ1bGVyID4g
LmhlYWRlcik6CisgICAgICAgIChib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnRpbWVsaW5lLXJ1
bGVyID4gLmhlYWRlcik6CisgICAgICAgICgudGltZWxpbmUtcnVsZXIgPiAuaGVhZGVyID4gLmRp
dmlkZXIgPiAubGFiZWwpOgorICAgICAgICAoLnRpbWVsaW5lLXJ1bGVyID4gLnNlbGVjdGlvbi1k
cmFnKToKKyAgICAgICAgKGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAudGltZWxpbmUtcnVsZXIg
PiAuc2VsZWN0aW9uLWRyYWcpOgorICAgICAgICAoLnRpbWVsaW5lLXJ1bGVyID4gLnNlbGVjdGlv
bi1oYW5kbGUpOgorICAgICAgICAoYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC50aW1lbGluZS1y
dWxlciA+IC5zZWxlY3Rpb24taGFuZGxlKToKKyAgICAgICAgKC50aW1lbGluZS1ydWxlciA+IC5o
ZWFkZXIgPiAuZGl2aWRlcik6IERlbGV0ZWQuCisgICAgICAgICgudGltZWxpbmUtcnVsZXIgPiAu
c2VsZWN0aW9uLWRyYWc6YWN0aXZlKTogRGVsZXRlZC4KKyAgICAgICAgVXBkYXRlZCBmb3IgbmV3
IHJ1bGVyIGhlaWdodC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVS
dWxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5zZXQgZm9ybWF0TGFiZWxDYWxs
YmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUudXBk
YXRlTGF5b3V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlw
ZS5fZm9ybWF0RGl2aWRlckxhYmVsVGV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVSdWxlci5wcm90b3R5cGUuc2V0IGFsbG93c0NsaXBwZWRMYWJlbHMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLl91cGRhdGVTZWxlY3Rp
b24pOiBEZWxldGVkLgorICAgICAgICBBZGRlZCBhYmlsaXR5IHRvIGN1c3RvbWl6ZSBsYWJlbCBm
b3JtYXR0aW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGVi
YXJQYW5lbC5jc3M6CisgICAgICAgICgucGFuZWwudGltZWxpbmUgLm5hdmlnYXRpb24tYmFyLnRp
bWVsaW5lcy12aWV3KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGlt
ZWxpbmUgPiAudGl0bGUtYmFyKToKKyAgICAgICAgKGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhcik6CisgICAg
ICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50
aW1lbGluZXMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGlu
ZSA+IC5uYXZpZ2F0aW9uLWJhci1jb250YWluZXIpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFu
ZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC5uYXZpZ2F0aW9uLWJhci1jb250YWluZXIgPiAubmF2
aWdhdGlvbi1iYXIpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1l
bGluZSA+IC50aXRsZS1iYXIudGltZWxpbmUtZXZlbnRzKToKKyAgICAgICAgKGJvZHkubWFjLXBs
YXRmb3JtLmxlZ2FjeSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRp
dGxlLWJhci50aW1lbGluZS1ldmVudHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCk6CisgICAgICAgICguc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLmVtcHR5LWNvbnRlbnQtcGxhY2Vob2xk
ZXIpOgorICAgICAgICAoYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24udGltZWxpbmUgPiA6bWF0Y2hlcyguY29udGVudCwgLmVtcHR5LWNvbnRlbnQt
cGxhY2Vob2xkZXIpKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGlt
ZWxpbmUgPiAudGltZWxpbmVzLWNvbnRlbnQgbGkuaXRlbS5zZWxlY3RlZCArIGxpLml0ZW0pOiBE
ZWxldGVkLgorICAgICAgICAoYm9keS53aW5kb3ctaW5hY3RpdmUgLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCBsaS5pdGVtLnNlbGVjdGVk
ICsgbGkuaXRlbSk6IERlbGV0ZWQuCisgICAgICAgIFVwZGF0ZWQgZm9yIG5ldyBuYXZpZ2F0aW9u
IGJhciBhbmQgcnVsZXIgaGVpZ2h0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwu
cHJvdG90eXBlLmdldCB2aWV3TW9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwucHJvdG90eXBlLmNhblNob3dUaW1lbGluZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lLnRo
aXMuX3RpbWVsaW5lVHJlZUVsZW1lbnRNYXAuZ2V0IHNlbGVjdCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuZ2V0IHRoaXMpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLl90aW1lbGluZUFkZGVkLnNldCB0aGlzKToKKyAgICAg
ICAgQWRkZWQgc3VwcG9ydCBmb3IgdHdvIHZpZXcgbW9kZXM6IFRpbWVsaW5lcyBhbmQgUmVuZGVy
aW5nIEZyYW1lcy4KKworICAgICAgICAqIFdlYkluc3BlY3RvclVJLnZjeHByb2ovV2ViSW5zcGVj
dG9yVUkudmN4cHJvajoKKyAgICAgICAgKiBXZWJJbnNwZWN0b3JVSS52Y3hwcm9qL1dlYkluc3Bl
Y3RvclVJLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgTmV3IGZpbGVzLgorCisyMDE1LTA0LTI2
ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBDYW5ub3QgbWFrZSBUaW1lbGluZSB0aW1lIHJhbmdlIHNlbGVjdGlvbiBjbGlja2luZyBp
bnNpZGUgRnJhbWVzIE92ZXJ2aWV3CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDM3NDQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpz
CmluZGV4IGMzMGNiMjNiZmI1MWY1ZDM0OTkyZThjNjJlNTgxYTQ5OWRiMTFkZjMuLjE5MGRjNzJl
OTJlODY3OTA1YTAwMGYwZTFhZTU4NmU1ZDhhZjIwMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1l
bGluZU1hbmFnZXIuanMKQEAgLTUwLDE5ICs1MCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0
CiAgICAgICAgIHNldFRpbWVvdXQoZGVsYXllZFdvcmsuYmluZCh0aGlzKSwgMCk7CiAgICAgfQog
Ci0gICAgLy8gU3RhdGljCi0KLSAgICBzdGF0aWMgc2hvdWxkU2hvd1ZpZXdGb3JUaW1lbGluZSh0
aW1lbGluZSkKLSAgICB7Ci0gICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyA4KTogVGltZWxp
bmVBZ2VudC5FdmVudFR5cGUuUmVuZGVyaW5nRnJhbWUgZGlkIG5vdCBleGlzdCwKLSAgICAgICAg
Ly8gZmFsbGJhY2sgdG8gZGlzcGxheWluZyBhbGwgb3RoZXIgdGltZWxpbmVzLgotICAgICAgICBp
ZiAod2luZG93LlRpbWVsaW5lQWdlbnQgJiYgIVRpbWVsaW5lQWdlbnQuRXZlbnRUeXBlLlJlbmRl
cmluZ0ZyYW1lKQotICAgICAgICAgICAgcmV0dXJuIHRpbWVsaW5lLnR5cGUgIT09IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lOwotCi0gICAgICAgIC8vIERv
bid0IHNob3cgdGhlIExheW91dCB0aW1lbGluZSB2aWV3IHdoZW4gdGhlIFJlbmRlcmluZ0ZyYW1l
IHRpbWVsaW5lIGV4aXN0cy4KLSAgICAgICAgcmV0dXJuIHRpbWVsaW5lLnR5cGUgIT09IFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLkxheW91dDsKLSAgICB9Ci0KICAgICAvLyBQdWJs
aWMKIAogICAgIC8vIFRoZSBjdXJyZW50IHJlY29yZGluZyB0aGF0IG5ldyB0aW1lbGluZSByZWNv
cmRzIHdpbGwgYmUgYXBwZW5kZWQgdG8sIGlmIGFueS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRleCA4ODJhNGU0ZmFkZTIwZGNhZjMwZTc3ZmQ4
ZDhhZjkwMzNmYjMyMDliLi5iOGEyYTJmNDRmYTY2ODE1NWZhZTE5NjIwM2NjMGMyZjlkNTA4NGZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0
bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBA
IC0zNDAsNiArMzQwLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvT2JqZWN0VHJlZUJhc2VU
cmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NvdXJjZUNv
ZGVUcmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1N0b3Jh
Z2VUcmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1RpbWVs
aW5lT3ZlcnZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UaW1lbGlu
ZVJlY29yZFRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KIAogICAgIDxzY3JpcHQgc3JjPSJWaWV3
cy9Db25zb2xlVGFiQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgpAQCAtNDQ2LDYgKzQ0Nyw3IEBA
CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTGF5b3V0VGltZWxpbmVPdmVydmlld0dy
YXBoLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTGF5b3V0VGltZWxpbmVW
aWV3LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iVmlld3MvTGluZWFyVGltZWxpbmVP
dmVydmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xvZ0NvbnRlbnRW
aWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTG9nVHJlZUVsZW1lbnQu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9NZXRyaWNzU3R5bGVEZXRhaWxz
UGFuZWwuanMiPjwvc2NyaXB0PgpAQCAtNDcxLDYgKzQ3Myw3IEBACiAgICAgPHNjcmlwdCBzcmM9
IlZpZXdzL1JhZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0uanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJWaWV3cy9SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lRGF0YUdy
aWROb2RlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVuZGVyaW5nRnJh
bWVUaW1lbGluZU92ZXJ2aWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3Mv
UmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlcGxheURhc2hib2FyZFZpZXcuanMiPjwvc2NyaXB0
PgpAQCAtNTAyLDcgKzUwNSw2IEBACiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1N5bnRheEhpZ2hs
aWdodGluZ1N1cHBvcnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UZXh0
Q29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UZXh0UmVz
b3VyY2VDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Rp
bWVsaW5lT3ZlcnZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UaW1l
bGluZVJlY29yZEJhci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1RpbWVs
aW5lUmVjb3JkRnJhbWUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVs
aW5lUmVjb3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanMKaW5kZXggZWM1NzYwOTgzOWZkMjc3MDcw
M2EzNGFhNGM2NzJmMjVhMTcyZTRiNC4uNWUwYzAzYzFiYTk0ZmY4N2U5MGU3YzAyOWY3MmNiNjE0
NzlkMDY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNv
cmQuanMKQEAgLTMyLDIxICszMiwyNiBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1l
bGluZVJlY29yZCA9IGNsYXNzIFJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQgZQogICAgICAg
ICB0aGlzLl9jaGlsZHJlbiA9IGNoaWxkcmVuIHx8IFtdOwogICAgICAgICB0aGlzLl9kdXJhdGlv
bkJ5UmVjb3JkVHlwZSA9IG5ldyBNYXA7CiAgICAgICAgIHRoaXMuX2R1cmF0aW9uUmVtYWluZGVy
ID0gTmFOOwotICAgICAgICB0aGlzLl9mcmFtZU51bWJlciA9IFdlYkluc3BlY3Rvci5SZW5kZXJp
bmdGcmFtZVRpbWVsaW5lUmVjb3JkLl9uZXh0RnJhbWVOdW1iZXIrKzsKKyAgICAgICAgdGhpcy5f
ZnJhbWVJbmRleCA9IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLl9u
ZXh0RnJhbWVJbmRleCsrOwogICAgIH0KIAogICAgIC8vIFN0YXRpYwogCi0gICAgc3RhdGljIHJl
c2V0RnJhbWVOdW1iZXIoKQorICAgIHN0YXRpYyByZXNldEZyYW1lSW5kZXgoKQogICAgIHsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuX25leHRGcmFt
ZU51bWJlciA9IDE7CisgICAgICAgIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5l
UmVjb3JkLl9uZXh0RnJhbWVJbmRleCA9IDA7CiAgICAgfQogCiAgICAgLy8gUHVibGljCiAKKyAg
ICBnZXQgZnJhbWVJbmRleCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZnJhbWVJbmRl
eDsKKyAgICB9CisKICAgICBnZXQgZnJhbWVOdW1iZXIoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IHRoaXMuX2ZyYW1lTnVtYmVyOworICAgICAgICByZXR1cm4gdGhpcy5fZnJhbWVJbmRleCArIDE7
CiAgICAgfQogCiAgICAgZ2V0IGNoaWxkcmVuKCkKQEAgLTk4LDQgKzEwMyw0IEBAIFdlYkluc3Bl
Y3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVU
aW1lbGluZVJlY29yZCBlCiAKIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVj
b3JkLlR5cGVJZGVudGlmaWVyID0gInJlbmRlcmluZy1mcmFtZS10aW1lbGluZS1yZWNvcmQiOwog
Ci1XZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5fbmV4dEZyYW1lTnVt
YmVyID0gMTsKK1dlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLl9uZXh0
RnJhbWVJbmRleCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmRpbmcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmRpbmcuanMKaW5kZXggYmY3MTcx
YTM0ZjNhYzRhNjBiY2M3MDhhMDc1ZjFlMDA2NjBiOGI4YS4uYWE5OWI1MjdhOGQzYWNjYTA1NTBm
NzVhMDQ2ZWE5YmMyMWM2NjczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lUmVjb3JkaW5nLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGluZy5qcwpAQCAt
MTA5LDcgKzEwOSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZyA9IGNsYXNzIFRp
bWVsaW5lUmVjb3JkaW5nIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iCiAgICAgICAgIGZvciAodmFy
IHRpbWVsaW5lIG9mIHRoaXMuX3RpbWVsaW5lcy52YWx1ZXMoKSkKICAgICAgICAgICAgIHRpbWVs
aW5lLnJlc2V0KHN1cHByZXNzRXZlbnRzKTsKIAotICAgICAgICBXZWJJbnNwZWN0b3IuUmVuZGVy
aW5nRnJhbWVUaW1lbGluZVJlY29yZC5yZXNldEZyYW1lTnVtYmVyKCk7CisgICAgICAgIFdlYklu
c3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLnJlc2V0RnJhbWVJbmRleCgpOwog
CiAgICAgICAgIGlmICghc3VwcHJlc3NFdmVudHMpIHsKICAgICAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZy5FdmVudC5S
ZXNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9MaW5lYXJUaW1lbGluZU92ZXJ2aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGluZWFyVGltZWxpbmVPdmVydmlldy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MDA4N2Y5MzY5Yjg4MDJhZGZmZmIzOGFlYTZhZjYwNjA1NmRlODQ0Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGluZWFyVGltZWxp
bmVPdmVydmlldy5qcwpAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9y
LkxpbmVhclRpbWVsaW5lT3ZlcnZpZXcgPSBmdW5jdGlvbih0aW1lbGluZVJlY29yZGluZykKK3sK
KyAgICAvLyBGSVhNRTogQ29udmVydCB0aGlzIHRvIGEgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcgc3ViY2xhc3MsIGFuZCBjYWxsIHN1cGVyKCkuCisKKyAgICB2YXIgZGVmYXVsdFNldHRp
bmdzVmFsdWVzID0geworICAgICAgICBkdXJhdGlvblBlclBpeGVsOiAwLjAxLAorICAgICAgICBz
ZWxlY3Rpb25TdGFydFZhbHVlOiAwLAorICAgICAgICBzZWxlY3Rpb25EdXJhdGlvbjogNQorICAg
IH07CisKKyAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5jYWxsKHRoaXMsICJsaW5l
YXIiLCB0aW1lbGluZVJlY29yZGluZywgMC4wMDAxLCA2MCwgZGVmYXVsdFNldHRpbmdzVmFsdWVz
KTsKK307CisKK1dlYkluc3BlY3Rvci5MaW5lYXJUaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9
IHsKKyAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkxpbmVhclRpbWVsaW5lT3ZlcnZpZXcs
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUs
CisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGNhblNob3dUaW1lbGluZTogZnVuY3Rpb24odGlt
ZWxpbmUpCisgICAgeworICAgICAgICByZXR1cm4gdGltZWxpbmUudHlwZSAhPT0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWU7CisgICAgfQorfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmlu
Z0ZyYW1lRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRl
eCA1ODBmZjgyZDJmMmQzZTVlMWFkYzJlMjdmODQwNThjYjJhZDg1OGRhLi5iOTU3ZjFjNzljNTJh
N2FiZDU1ZjBjZDRkZGIxNWI5YjM1ZGUwZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVu
ZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC01MCw4ICs1MCw4IEBAIFdlYklu
c3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBSZW5kZXJp
bmdGcmFtZURldGFpbHNTaWRlCiAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hp
bGQoZGV0YWlsc1NlY3Rpb24uZWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fcmVuZGVyaW5nRnJh
bWVUaW1lbGluZSA9IG51bGw7Ci0gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IDA7Ci0gICAgICAg
IHRoaXMuX2VuZFRpbWUgPSAwOworICAgICAgICB0aGlzLl9zdGFydEZyYW1lSW5kZXggPSAwOwor
ICAgICAgICB0aGlzLl9lbmRGcmFtZUluZGV4ID0gMDsKIAogICAgICAgICB0aGlzLl9lbXB0eVZh
bHVlUGxhY2Vob2xkZXJTdHJpbmcgPSAiXHUyMDE0IjsKIApAQCAtNzAsMTMgKzcwLDEzIEBAIFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBSZW5k
ZXJpbmdGcmFtZURldGFpbHNTaWRlCiAgICAgICAgIHJldHVybiAhIXRoaXMuX3JlbmRlcmluZ0Zy
YW1lVGltZWxpbmU7CiAgICAgfQogCi0gICAgdXBkYXRlUmFuZ2VTZWxlY3Rpb24oc3RhcnRUaW1l
LCBlbmRUaW1lKQorICAgIHVwZGF0ZVJhbmdlU2VsZWN0aW9uKHN0YXJ0RnJhbWVJbmRleCwgZW5k
RnJhbWVJbmRleCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9zdGFydFRpbWUgPT09IHN0YXJ0
VGltZSAmJiB0aGlzLl9lbmRUaW1lID09PSBlbmRUaW1lKQorICAgICAgICBpZiAodGhpcy5fc3Rh
cnRGcmFtZUluZGV4ID09PSBzdGFydEZyYW1lSW5kZXggJiYgdGhpcy5fZW5kRnJhbWVJbmRleCA9
PT0gZW5kRnJhbWVJbmRleCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9z
dGFydFRpbWUgPSBzdGFydFRpbWUgfHwgMDsKLSAgICAgICAgdGhpcy5fZW5kVGltZSA9IGVuZFRp
bWUgfHwgMDsKKyAgICAgICAgdGhpcy5fc3RhcnRGcmFtZUluZGV4ID0gc3RhcnRGcmFtZUluZGV4
IHx8IDA7CisgICAgICAgIHRoaXMuX2VuZEZyYW1lSW5kZXggPSBlbmRGcmFtZUluZGV4IHx8IDA7
CiAKICAgICAgICAgdGhpcy5uZWVkc1JlZnJlc2goKTsKICAgICB9CkBAIC0xNzMsMTIgKzE3Mywx
MiBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xh
c3MgUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZQogICAgICAgICBmb3IgKHZhciByZWNvcmQgb2Yg
dGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRzKSB7CiAgICAgICAgICAgICBjb25z
b2xlLmFzc2VydChyZWNvcmQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVU
aW1lbGluZVJlY29yZCk7CiAgICAgICAgICAgICAvLyBJZiB0aGlzIGZyYW1lIGlzIGNvbXBsZXRl
bHkgYmVmb3JlIHRoZSBib3VuZHMgb2YgdGhlIGdyYXBoLCBza2lwIHRoaXMgcmVjb3JkLgotICAg
ICAgICAgICAgaWYgKHJlY29yZC5lbmRUaW1lIDwgdGhpcy5fc3RhcnRUaW1lKQorICAgICAgICAg
ICAgaWYgKHJlY29yZC5mcmFtZUluZGV4IDwgTWF0aC5mbG9vcih0aGlzLl9zdGFydEZyYW1lSW5k
ZXgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgICAgICAvLyBJZiB0aGlz
IHJlY29yZCBpcyBjb21wbGV0ZWx5IGFmdGVyIHRoZSBlbmQgdGltZSwgYnJlYWsgb3V0IG5vdy4K
ICAgICAgICAgICAgIC8vIFJlY29yZHMgYXJlIHNvcnRlZCwgc28gYWxsIHJlY29yZHMgYWZ0ZXIg
dGhpcyB3aWxsIGJlIGJleW9uZCB0aGUgZW5kIHRpbWUgdG9vLgotICAgICAgICAgICAgaWYgKHJl
Y29yZC5zdGFydFRpbWUgPiB0aGlzLl9lbmRUaW1lKQorICAgICAgICAgICAgaWYgKHJlY29yZC5m
cmFtZUluZGV4ID4gdGhpcy5fZW5kRnJhbWVJbmRleCkKICAgICAgICAgICAgICAgICBicmVhazsK
IAogICAgICAgICAgICAgcmVjb3Jkcy5wdXNoKHJlY29yZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5l
T3ZlcnZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzBhNzA1OWViMzUy
MmQ3NjFkOTg5YTFmYjg4MzQ4M2JmZDNmMGE1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVP
dmVydmlldy5qcwpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLlJl
bmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldyA9IGZ1bmN0aW9uKHRpbWVsaW5lUmVjb3JkaW5n
KQoreworICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gYSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlldyBzdWJjbGFzcywgYW5kIGNhbGwgc3VwZXIoKS4KKworICAgIHZhciBtaW5pbXVt
RHVyYXRpb25QZXJQaXhlbCA9IDEgLyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5N
YXhpbXVtV2lkdGhQaXhlbHM7CisgICAgdmFyIG1heGltdW1EdXJhdGlvblBlclBpeGVsID0gMSAv
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1pbmltdW1XaWR0aFBpeGVsczsKKyAg
ICB2YXIgZGVmYXVsdFNldHRpbmdzVmFsdWVzID0geworICAgICAgICBkdXJhdGlvblBlclBpeGVs
OiBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwKKyAgICAgICAgc2VsZWN0aW9uU3RhcnRWYWx1ZTog
MCwKKyAgICAgICAgc2VsZWN0aW9uRHVyYXRpb246IDEwMAorICAgIH07CisKKyAgICBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldy5jYWxsKHRoaXMsICJmcmFtZXMiLCB0aW1lbGluZVJlY29y
ZGluZywgbWluaW11bUR1cmF0aW9uUGVyUGl4ZWwsIG1heGltdW1EdXJhdGlvblBlclBpeGVsLCBk
ZWZhdWx0U2V0dGluZ3NWYWx1ZXMpOworCisgICAgdGhpcy50aW1lbGluZVJ1bGVyLmZvcm1hdExh
YmVsQ2FsbGJhY2sgPSBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgICByZXR1cm4gdmFsdWUudG9G
aXhlZCgwKTsKKyAgICB9OworfTsKKworV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxp
bmVPdmVydmlldy5wcm90b3R5cGUgPSB7CisgICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcsCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUsCisKKyAgICAvLyBQcm90ZWN0ZWQKKworICAg
IGNhblNob3dUaW1lbGluZTogZnVuY3Rpb24odGltZWxpbmUpCisgICAgeworICAgICAgICByZXR1
cm4gdGltZWxpbmUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVu
ZGVyaW5nRnJhbWU7CisgICAgfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBo
LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmNzcwppbmRleCA2MGMwODZkZDdkZDc2YTg1YjY4
NzkyNzI1NDgyNDBhY2Q1OWFlMjc3Li5kNzBlYTFkNDFjMzc4MzBlYjc2OGVlYTBjMzVlM2E3OTg3
NDQ0YzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5jc3MKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZU92ZXJ2aWV3R3JhcGguY3NzCkBAIC0yMyw2ICsyMywxMCBAQAogICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy50aW1lbGluZS1vdmVydmlldyA+IC5ncmFwaHMtY29u
dGFpbmVyID4gLnRpbWVsaW5lLW92ZXJ2aWV3LWdyYXBoLnJlbmRlcmluZy1mcmFtZSB7CisgICAg
aGVpZ2h0OiAxMDAlOworfQorCiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGgucmVuZGVyaW5nLWZy
YW1lID4gLmRpdmlkZXIgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB6LWluZGV4OiAx
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3
R3JhcGguanMKaW5kZXggZmYxODE0NTllODhkZmJhOWZmOWNjNmIwNTgxMWIxYWY3YmU3OWM3My4u
MGNjNjI5NDQyZjNkYjk0ZTViYjA2MTg1NTI3YzU3YjJjZGMyMzk2OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1l
bGluZU92ZXJ2aWV3R3JhcGguanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKQEAgLTMw
LDExICszMCwxMSBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3
R3JhcGggPSBmdW5jdGlvbih0aW1lbGluZSkKICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFk
ZChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguU3R5bGVD
bGFzc05hbWUpOwogCiAgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZSA9IHRpbWVsaW5l
OworICAgIHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuVGltZWxpbmUuRXZlbnQuUmVjb3JkQWRkZWQsIHRoaXMuX3RpbWVsaW5lUmVjb3Jk
QWRkZWQsIHRoaXMpOworCiAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRGcmFtZXMgPSBbXTsKICAg
ICB0aGlzLl9ncmFwaEhlaWdodFNlY29uZHMgPSBOYU47Ci0gICAgdGhpcy5fZnJhbWVzUGVyU2Vj
b25kRGl2aWRlcnMgPSBuZXcgTWFwOwotCi0gICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRl
ZCwgdGhpcy5fdGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CisgICAgdGhpcy5fZnJhbWVzUGVy
U2Vjb25kRGl2aWRlck1hcCA9IG5ldyBNYXA7CiAKICAgICB0aGlzLnJlc2V0KCk7CiB9OwpAQCAt
NzAsNyArNzAsNyBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3
R3JhcGgucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVDaGlsZHJl
bigpOwogCi0gICAgICAgIHRoaXMuX2ZyYW1lc1BlclNlY29uZERpdmlkZXJzLmNsZWFyKCk7Cisg
ICAgICAgIHRoaXMuX2ZyYW1lc1BlclNlY29uZERpdmlkZXJNYXAuY2xlYXIoKTsKICAgICB9LAog
CiAgICAgdXBkYXRlTGF5b3V0KCkKQEAgLTgwLDI4ICs4MCwyOSBAQCBXZWJJbnNwZWN0b3IuUmVu
ZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlID0gewogICAgICAgICBp
ZiAoIXRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmUucmVjb3Jkcy5sZW5ndGgpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIHNlY29uZHNQZXJQaXhlbCA9IHRoaXMudGltZWxp
bmVPdmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7CisgICAgICAgIHZhciByZWNvcmRzID0gdGhpcy5f
cmVuZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRzOworICAgICAgICB2YXIgc3RhcnRJbmRleCA9
IE1hdGguZmxvb3IodGhpcy5zdGFydFRpbWUpOworICAgICAgICB2YXIgZW5kSW5kZXggPSBNYXRo
Lm1pbihNYXRoLmZsb29yKHRoaXMuZW5kVGltZSksIHJlY29yZHMubGVuZ3RoIC0gMSk7CiAgICAg
ICAgIHZhciByZWNvcmRGcmFtZUluZGV4ID0gMDsKIAotICAgICAgICBmdW5jdGlvbiBjcmVhdGVG
cmFtZShyZWNvcmRzKQotICAgICAgICB7CisgICAgICAgIGZvciAodmFyIGkgPSBzdGFydEluZGV4
OyBpIDw9IGVuZEluZGV4OyArK2kpIHsKKyAgICAgICAgICAgIHZhciByZWNvcmQgPSByZWNvcmRz
W2ldOwogICAgICAgICAgICAgdmFyIHRpbWVsaW5lUmVjb3JkRnJhbWUgPSB0aGlzLl90aW1lbGlu
ZVJlY29yZEZyYW1lc1tyZWNvcmRGcmFtZUluZGV4XTsKICAgICAgICAgICAgIGlmICghdGltZWxp
bmVSZWNvcmRGcmFtZSkKLSAgICAgICAgICAgICAgICB0aW1lbGluZVJlY29yZEZyYW1lID0gdGhp
cy5fdGltZWxpbmVSZWNvcmRGcmFtZXNbcmVjb3JkRnJhbWVJbmRleF0gPSBuZXcgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUodGhpcywgcmVjb3Jkcyk7CisgICAgICAgICAgICAgICAg
dGltZWxpbmVSZWNvcmRGcmFtZSA9IHRoaXMuX3RpbWVsaW5lUmVjb3JkRnJhbWVzW3JlY29yZEZy
YW1lSW5kZXhdID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lKHRoaXMsIHJl
Y29yZCk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGltZWxpbmVSZWNvcmRG
cmFtZS5yZWNvcmRzID0gcmVjb3JkczsKKyAgICAgICAgICAgICAgICB0aW1lbGluZVJlY29yZEZy
YW1lLnJlY29yZCA9IHJlY29yZDsKIAogICAgICAgICAgICAgdGltZWxpbmVSZWNvcmRGcmFtZS5y
ZWZyZXNoKHRoaXMpOwogICAgICAgICAgICAgaWYgKCF0aW1lbGluZVJlY29yZEZyYW1lLmVsZW1l
bnQucGFyZW50Tm9kZSkKICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQo
dGltZWxpbmVSZWNvcmRGcmFtZS5lbGVtZW50KTsKKwogICAgICAgICAgICAgKytyZWNvcmRGcmFt
ZUluZGV4OwogICAgICAgICB9CiAKLSAgICAgICAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
RnJhbWUuY3JlYXRlQ29tYmluZWRGcmFtZXModGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5y
ZWNvcmRzLCBzZWNvbmRzUGVyUGl4ZWwsIHRoaXMsIGNyZWF0ZUZyYW1lLmJpbmQodGhpcykpOwot
CiAgICAgICAgIC8vIFJlbW92ZSB0aGUgcmVtYWluaW5nIHVudXNlZCBUaW1lbGluZVJlY29yZEZy
YW1lcy4KICAgICAgICAgZm9yICg7IHJlY29yZEZyYW1lSW5kZXggPCB0aGlzLl90aW1lbGluZVJl
Y29yZEZyYW1lcy5sZW5ndGg7ICsrcmVjb3JkRnJhbWVJbmRleCkgewotICAgICAgICAgICAgdGhp
cy5fdGltZWxpbmVSZWNvcmRGcmFtZXNbcmVjb3JkRnJhbWVJbmRleF0ucmVjb3JkcyA9IG51bGw7
CisgICAgICAgICAgICB0aGlzLl90aW1lbGluZVJlY29yZEZyYW1lc1tyZWNvcmRGcmFtZUluZGV4
XS5yZWNvcmQgPSBudWxsOwogICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVSZWNvcmRGcmFtZXNb
cmVjb3JkRnJhbWVJbmRleF0uZWxlbWVudC5yZW1vdmUoKTsKICAgICAgICAgfQogCkBAIC0xMzEs
NyArMTMyLDcgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dy
YXBoLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChkaXZpZGVyVG9wIDwgMC4wMSB8fCBk
aXZpZGVyVG9wID49IDEpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICB2
YXIgZGl2aWRlciA9IHRoaXMuX2ZyYW1lc1BlclNlY29uZERpdmlkZXJzLmdldChmcmFtZXNQZXJT
ZWNvbmQpOworICAgICAgICAgICAgdmFyIGRpdmlkZXIgPSB0aGlzLl9mcmFtZXNQZXJTZWNvbmRE
aXZpZGVyTWFwLmdldChmcmFtZXNQZXJTZWNvbmQpOwogICAgICAgICAgICAgaWYgKCFkaXZpZGVy
KSB7CiAgICAgICAgICAgICAgICAgZGl2aWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogICAgICAgICAgICAgICAgIGRpdmlkZXIuY2xhc3NMaXN0LmFkZCgiZGl2aWRlciIpOwpA
QCAtMTQzLDcgKzE0NCw3IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQu
YXBwZW5kQ2hpbGQoZGl2aWRlcik7CiAKLSAgICAgICAgICAgICAgICB0aGlzLl9mcmFtZXNQZXJT
ZWNvbmREaXZpZGVycy5zZXQoZnJhbWVzUGVyU2Vjb25kLCBkaXZpZGVyKTsKKyAgICAgICAgICAg
ICAgICB0aGlzLl9mcmFtZXNQZXJTZWNvbmREaXZpZGVyTWFwLnNldChmcmFtZXNQZXJTZWNvbmQs
IGRpdmlkZXIpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBkaXZpZGVyLnN0eWxlLm1h
cmdpblRvcCA9IChkaXZpZGVyVG9wICogb3ZlcnZpZXdHcmFwaEhlaWdodCkudG9GaXhlZCgyKSAr
ICJweCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzCmluZGV4
IDVlNTI2Mjk0MTMxZDcxYmJiZDllMmJjZDI4MjQyZDJmNzFjZDM0NjAuLmM0YjQzY2FiN2NkMDg2
ZjQ2ZmMxY2E2MTkwOWQ4YWFhMGM0OTQ5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0Zy
YW1lVGltZWxpbmVWaWV3LmpzCkBAIC00MCwxNSArNDAsMTUgQEAgV2ViSW5zcGVjdG9yLlJlbmRl
cmluZ0ZyYW1lVGltZWxpbmVWaWV3ID0gZnVuY3Rpb24odGltZWxpbmUsIGV4dHJhQXJndW1lbnRz
KQogICAgIGNvbHVtbnMuc3RhcnRUaW1lLmFsaWduZWQgPSAicmlnaHQiOwogCiAgICAgY29sdW1u
cy5sYXlvdXRUaW1lLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXlvdXQiKTsKLSAg
ICBjb2x1bW5zLmxheW91dFRpbWUud2lkdGggPSAiMTAlIjsKKyAgICBjb2x1bW5zLmxheW91dFRp
bWUud2lkdGggPSAiMTUlIjsKICAgICBjb2x1bW5zLmxheW91dFRpbWUuYWxpZ25lZCA9ICJyaWdo
dCI7CiAKICAgICBjb2x1bW5zLnNjcmlwdFRpbWUudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlNjcmlwdCIpOwotICAgIGNvbHVtbnMuc2NyaXB0VGltZS53aWR0aCA9ICIxMCUiOworICAg
IGNvbHVtbnMuc2NyaXB0VGltZS53aWR0aCA9ICIxNSUiOwogICAgIGNvbHVtbnMuc2NyaXB0VGlt
ZS5hbGlnbmVkID0gInJpZ2h0IjsKIAogICAgIGNvbHVtbnMub3RoZXJUaW1lLnRpdGxlID0gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJPdGhlciIpOwotICAgIGNvbHVtbnMub3RoZXJUaW1lLndpZHRo
ID0gIjEwJSI7CisgICAgY29sdW1ucy5vdGhlclRpbWUud2lkdGggPSAiMTUlIjsKICAgICBjb2x1
bW5zLm90aGVyVGltZS5hbGlnbmVkID0gInJpZ2h0IjsKIAogICAgIGNvbHVtbnMudG90YWxUaW1l
LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb3RhbCBUaW1lIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2
aWV3LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lT3ZlcnZpZXcuY3NzCmluZGV4IDIyNTQ1NWRiZThjMjY2MWZiYTNjZDBiYzU2OTUzYWNlYThi
YzQ3YTguLmY1NDJjMmJlOWIwNTUwNWRkNzg4MzY5YjU0N2YxMjNmMmQ2ZGI1ZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3Zl
cnZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lT3ZlcnZpZXcuY3NzCkBAIC01MiwxMiArNTIsMTYgQEAKIAogLnRpbWVsaW5lLW92
ZXJ2aWV3ID4gLmdyYXBocy1jb250YWluZXIgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAg
ICB0b3A6IDIycHg7CisgICAgdG9wOiAyOXB4OwogICAgIGxlZnQ6IDA7CiAgICAgYm90dG9tOiAw
OwogICAgIHJpZ2h0OiAwOwogfQogCitib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnRpbWVsaW5l
LW92ZXJ2aWV3ID4gLmdyYXBocy1jb250YWluZXIgeworICAgIHRvcDogMjJweDsKK30KKwogLnRp
bWVsaW5lLW92ZXJ2aWV3ID4gLmdyYXBocy1jb250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXct
Z3JhcGggewogICAgIGhlaWdodDogMzZweDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCmlu
ZGV4IDQ1MDYyMTU5Yjk1ZGZjOTA2NzVkNmNhYjk2YmU0ZmU5YjJjYjJkOWYuLjBiNTFiZTJkMDA0
YTMyMmUwZWVkYmI5NzI2MjI1MzdhMjgyNWYxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5q
cwpAQCAtMjMsNyArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKLVdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gZnVuY3Rpb24odGltZWxpbmVS
ZWNvcmRpbmcpCitXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGZ1bmN0aW9uKGlkZW50
aWZpZXIsIHRpbWVsaW5lUmVjb3JkaW5nLCBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgbWF4aW11
bUR1cmF0aW9uUGVyUGl4ZWwsIGRlZmF1bHRTZXR0aW5nc1ZhbHVlcykKIHsKICAgICAvLyBGSVhN
RTogQ29udmVydCB0aGlzIHRvIGEgV2ViSW5zcGVjdG9yLk9iamVjdCBzdWJjbGFzcywgYW5kIGNh
bGwgc3VwZXIoKS4KICAgICAvLyBXZWJJbnNwZWN0b3IuT2JqZWN0LmNhbGwodGhpcyk7CkBAIC02
MCwxOCArNjAsMjAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBmdW5jdGlvbih0
aW1lbGluZVJlY29yZGluZykKICAgICB0aGlzLl9zY3JvbGxXaWR0aFNpemVyLmNsYXNzTmFtZSA9
IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlNjcm9sbFdpZHRoU2l6ZXJTdHlsZUNsYXNz
TmFtZTsKICAgICB0aGlzLl9zY3JvbGxDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
X3Njcm9sbFdpZHRoU2l6ZXIpOwogCi0gICAgdGhpcy5fc2Vjb25kc1BlclBpeGVsU2V0dGluZyA9
IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZygidGltZWxpbmUtb3ZlcnZpZXctc2Vjb25kcy1wZXIt
cGl4ZWwiLCAwLjAxKTsKLSAgICB0aGlzLl9zZWxlY3Rpb25TdGFydFRpbWVTZXR0aW5nID0gbmV3
IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJ0aW1lbGluZS1vdmVydmlldy1zZWxlY3Rpb24tc3RhcnQt
dGltZSIsIDApOwotICAgIHRoaXMuX3NlbGVjdGlvbkR1cmF0aW9uU2V0dGluZyA9IG5ldyBXZWJJ
bnNwZWN0b3IuU2V0dGluZygidGltZWxpbmUtb3ZlcnZpZXctc2VsZWN0aW9uLWR1cmF0aW9uIiwg
NSk7CisgICAgdGhpcy5fZHVyYXRpb25QZXJQaXhlbFNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9y
LlNldHRpbmcoaWRlbnRpZmllciArICItdGltZWxpbmUtb3ZlcnZpZXctZHVyYXRpb24tcGVyLXBp
eGVsIiwgZGVmYXVsdFNldHRpbmdzVmFsdWVzLmR1cmF0aW9uUGVyUGl4ZWwpOworICAgIHRoaXMu
X3NlbGVjdGlvblN0YXJ0VmFsdWVTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKGlk
ZW50aWZpZXIgKyAiLXRpbWVsaW5lLW92ZXJ2aWV3LXNlbGVjdGlvbi1zdGFydC12YWx1ZSIsIGRl
ZmF1bHRTZXR0aW5nc1ZhbHVlcy5zZWxlY3Rpb25TdGFydFZhbHVlKTsKKyAgICB0aGlzLl9zZWxl
Y3Rpb25EdXJhdGlvblNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoaWRlbnRpZmll
ciArICItdGltZWxpbmUtb3ZlcnZpZXctc2VsZWN0aW9uLWR1cmF0aW9uIiwgZGVmYXVsdFNldHRp
bmdzVmFsdWVzLnNlbGVjdGlvbkR1cmF0aW9uKTsKIAogICAgIHRoaXMuX3N0YXJ0VGltZSA9IDA7
CiAgICAgdGhpcy5fY3VycmVudFRpbWUgPSAwOwogICAgIHRoaXMuX2VuZFRpbWUgPSAwOwotICAg
IHRoaXMuX3NlY29uZHNQZXJQaXhlbCA9IHRoaXMuX3NlY29uZHNQZXJQaXhlbFNldHRpbmcudmFs
dWU7CisgICAgdGhpcy5fbWluaW11bUR1cmF0aW9uUGVyUGl4ZWwgPSBtaW5pbXVtRHVyYXRpb25Q
ZXJQaXhlbDsKKyAgICB0aGlzLl9tYXhpbXVtRHVyYXRpb25QZXJQaXhlbCA9IG1heGltdW1EdXJh
dGlvblBlclBpeGVsOworICAgIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwgPSBNYXRoLm1pbih0aGlz
Ll9tYXhpbXVtRHVyYXRpb25QZXJQaXhlbCwgTWF0aC5tYXgodGhpcy5fbWluaW11bUR1cmF0aW9u
UGVyUGl4ZWwsIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWxTZXR0aW5nLnZhbHVlKSk7CiAgICAgdGhp
cy5fc2Nyb2xsU3RhcnRUaW1lID0gMDsKICAgICB0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJX
aWR0aCA9IE5hTjsKIAotICAgIHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lID0gdGhpcy5fc2VsZWN0
aW9uU3RhcnRUaW1lU2V0dGluZy52YWx1ZTsKKyAgICB0aGlzLnNlbGVjdGlvblN0YXJ0VGltZSA9
IHRoaXMuX3NlbGVjdGlvblN0YXJ0VmFsdWVTZXR0aW5nLnZhbHVlOwogICAgIHRoaXMuc2VsZWN0
aW9uRHVyYXRpb24gPSB0aGlzLl9zZWxlY3Rpb25EdXJhdGlvblNldHRpbmcudmFsdWU7CiAKICAg
ICBmb3IgKHZhciB0aW1lbGluZSBvZiB0aGlzLl9yZWNvcmRpbmcudGltZWxpbmVzLnZhbHVlcygp
KQpAQCAtODIsNyArODQsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5TdHlsZUNs
YXNzTmFtZSA9ICJ0aW1lbGluZS1vdmVydmlldyI7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldy5HcmFwaHNDb250YWluZXJTdHlsZUNsYXNzTmFtZSA9ICJncmFwaHMtY29udGFpbmVyIjsK
IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlNjcm9sbENvbnRhaW5lclN0eWxlQ2xhc3NO
YW1lID0gInNjcm9sbC1jb250YWluZXIiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcu
U2Nyb2xsV2lkdGhTaXplclN0eWxlQ2xhc3NOYW1lID0gInNjcm9sbC13aWR0aC1zaXplciI7Ci1X
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5NaW5pbXVtU2Vjb25kc1BlclBpeGVsID0gMC4w
MDE7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5TY3JvbGxEZWx0YURlbm9taW5hdG9y
ID0gNTAwOwogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudCA9IHsKQEAgLTEz
MywxOCArMTM0LDE3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9
IHsKIAogICAgIGdldCBzZWNvbmRzUGVyUGl4ZWwoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRo
aXMuX3NlY29uZHNQZXJQaXhlbDsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2R1cmF0aW9uUGVyUGl4
ZWw7CiAgICAgfSwKIAogICAgIHNldCBzZWNvbmRzUGVyUGl4ZWwoeCkKICAgICB7Ci0gICAgICAg
IHggPSBNYXRoLm1heChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5NaW5pbXVtU2Vjb25k
c1BlclBpeGVsLCB4KTsKLQotICAgICAgICBpZiAodGhpcy5fc2Vjb25kc1BlclBpeGVsID09PSB4
KQorICAgICAgICB4ID0gTWF0aC5taW4odGhpcy5fbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsIE1h
dGgubWF4KHRoaXMuX21pbmltdW1EdXJhdGlvblBlclBpeGVsLCB4KSk7CisgICAgICAgIGlmICh0
aGlzLl9kdXJhdGlvblBlclBpeGVsID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHRoaXMuX3NlY29uZHNQZXJQaXhlbCA9IHg7Ci0gICAgICAgIHRoaXMuX3NlY29uZHNQZXJQ
aXhlbFNldHRpbmcudmFsdWUgPSB4OworICAgICAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsID0g
eDsKKyAgICAgICAgdGhpcy5fZHVyYXRpb25QZXJQaXhlbFNldHRpbmcudmFsdWUgPSB4OwogCiAg
ICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7CiAgICAgfSwKQEAgLTE4Niw3ICsxODYsNyBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBj
b25zb2xlLmFzc2VydCh0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJXaWR0aCA+IDApOwogICAg
ICAgICB9CiAKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NhY2hlZFNjcm9sbENvbnRhaW5lcldpZHRo
ICogdGhpcy5fc2Vjb25kc1BlclBpeGVsOworICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVkU2Ny
b2xsQ29udGFpbmVyV2lkdGggKiB0aGlzLl9kdXJhdGlvblBlclBpeGVsOwogICAgIH0sCiAKICAg
ICBnZXQgc2VsZWN0aW9uU3RhcnRUaW1lKCkKQEAgLTIxMSw2ICsyMTEsNyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUgPSB7CiAgICAgc2V0IHNlbGVjdGlvbkR1cmF0
aW9uKHgpCiAgICAgewogICAgICAgICB4ID0gTWF0aC5tYXgoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UnVsZXIuTWluaW11bVNlbGVjdGlvblRpbWVSYW5nZSwgeCk7CisKICAgICAgICAgdGhpcy5fdGlt
ZWxpbmVSdWxlci5zZWxlY3Rpb25FbmRUaW1lID0gdGhpcy5fdGltZWxpbmVSdWxlci5zZWxlY3Rp
b25TdGFydFRpbWUgKyB4OwogICAgIH0sCiAKQEAgLTI2OCw3ICsyNjksNyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgLy8gQ2FsY3VsYXRl
IHRoZSByZXF1aXJlZCB3aWR0aCBiYXNlZCBvbiB0aGUgZHVyYXRpb24gYW5kIHNlY29uZHMgcGVy
IHBpeGVsLgogICAgICAgICB2YXIgZHVyYXRpb24gPSB0aGlzLl9lbmRUaW1lIC0gdGhpcy5fc3Rh
cnRUaW1lOwotICAgICAgICB2YXIgbmV3V2lkdGggPSBNYXRoLmNlaWwoZHVyYXRpb24gLyB0aGlz
Ll9zZWNvbmRzUGVyUGl4ZWwpOworICAgICAgICB2YXIgbmV3V2lkdGggPSBNYXRoLmNlaWwoZHVy
YXRpb24gLyB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKIAogICAgICAgICAvLyBVcGRhdGUgYWxs
IHJlbGV2YW50IGVsZW1lbnRzIHRvIHRoZSBuZXcgcmVxdWlyZWQgd2lkdGguCiAgICAgICAgIHRo
aXMuX3VwZGF0ZUVsZW1lbnRXaWR0aCh0aGlzLl9zY3JvbGxXaWR0aFNpemVyLCBuZXdXaWR0aCk7
CkBAIC0yODgsMTEgKzI4OSwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90
b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci56ZXJvVGltZSA9IHRoaXMu
X3N0YXJ0VGltZTsKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5zdGFydFRpbWUgPSBzY3Jv
bGxTdGFydFRpbWU7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIuc2Vjb25kc1BlclBpeGVs
ID0gdGhpcy5fc2Vjb25kc1BlclBpeGVsOworICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnNl
Y29uZHNQZXJQaXhlbCA9IHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWw7CiAKICAgICAgICAgaWYgKCF0
aGlzLl9kb250VXBkYXRlU2Nyb2xsTGVmdCkgewogICAgICAgICAgICAgdGhpcy5faWdub3JlTmV4
dFNjcm9sbEV2ZW50ID0gdHJ1ZTsKLSAgICAgICAgICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lckVs
ZW1lbnQuc2Nyb2xsTGVmdCA9IE1hdGguY2VpbCgoc2Nyb2xsU3RhcnRUaW1lIC0gdGhpcy5fc3Rh
cnRUaW1lKSAvIHRoaXMuX3NlY29uZHNQZXJQaXhlbCk7CisgICAgICAgICAgICB0aGlzLl9zY3Jv
bGxDb250YWluZXJFbGVtZW50LnNjcm9sbExlZnQgPSBNYXRoLmNlaWwoKHNjcm9sbFN0YXJ0VGlt
ZSAtIHRoaXMuX3N0YXJ0VGltZSkgLyB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKICAgICAgICAg
fQogCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVsZXIudXBkYXRlTGF5b3V0KCk7CkBAIC0zMTks
NiArMzIwLDE5IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHRpbWVsaW5lT3ZlcnZpZXdHcmFwaC51cGRhdGVMYXlvdXRJZk5lZWRlZCgp
OwogICAgIH0sCiAKKyAgICAvLyBQcm90ZWN0ZWQKKworICAgIGdldCB0aW1lbGluZVJ1bGVyKCkK
KyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl90aW1lbGluZVJ1bGVyOworICAgIH0sCisKKyAg
ICBjYW5TaG93VGltZWxpbmU6IGZ1bmN0aW9uKHRpbWVsaW5lKQorICAgIHsKKyAgICAgICAgLy8g
SW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KKyAgICAgICAgY29uc29sZS5lcnJvcigiTmVlZHMg
dG8gYmUgaW1wbGVtZW50ZWQgYnkgYSBzdWJjbGFzcy4iKTsKKyAgICB9LAorCiAgICAgLy8gUHJp
dmF0ZQogCiAgICAgX3VwZGF0ZUVsZW1lbnRXaWR0aDogZnVuY3Rpb24oZWxlbWVudCwgbmV3V2lk
dGgpCkBAIC0zNDksNyArMzYzLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlID0gewogICAgICAgICB0aGlzLl9kb250VXBkYXRlU2Nyb2xsTGVmdCA9IHRydWU7CiAK
ICAgICAgICAgdmFyIHNjcm9sbE9mZnNldCA9IHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQu
c2Nyb2xsTGVmdDsKLSAgICAgICAgdGhpcy5zY3JvbGxTdGFydFRpbWUgPSB0aGlzLl9zdGFydFRp
bWUgKyAoc2Nyb2xsT2Zmc2V0ICogdGhpcy5fc2Vjb25kc1BlclBpeGVsKTsKKyAgICAgICAgdGhp
cy5zY3JvbGxTdGFydFRpbWUgPSB0aGlzLl9zdGFydFRpbWUgKyAoc2Nyb2xsT2Zmc2V0ICogdGhp
cy5fZHVyYXRpb25QZXJQaXhlbCk7CiAKICAgICAgICAgLy8gRm9yY2UgbGF5b3V0IHNvIHdlIGNh
biB1cGRhdGUgd2l0aCB0aGUgc2Nyb2xsIHBvc2l0aW9uIHN5bmNocm9ub3VzbHkuCiAgICAgICAg
IHRoaXMudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKQEAgLTM3NiwxMyArMzkwLDEzIEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAvLyBSZW1l
bWJlciB0aGUgbW91c2UgcG9zaXRpb24gaW4gdGltZS4KICAgICAgICAgdmFyIG1vdXNlT2Zmc2V0
ID0gZXZlbnQucGFnZVggLSB0aGlzLl9lbGVtZW50LnRvdGFsT2Zmc2V0TGVmdDsKLSAgICAgICAg
dmFyIG1vdXNlUG9zaXRpb25UaW1lID0gdGhpcy5fc2Nyb2xsU3RhcnRUaW1lICsgKG1vdXNlT2Zm
c2V0ICogdGhpcy5fc2Vjb25kc1BlclBpeGVsKTsKKyAgICAgICAgdmFyIG1vdXNlUG9zaXRpb25U
aW1lID0gdGhpcy5fc2Nyb2xsU3RhcnRUaW1lICsgKG1vdXNlT2Zmc2V0ICogdGhpcy5fZHVyYXRp
b25QZXJQaXhlbCk7CiAgICAgICAgIHZhciBkZXZpY2VEaXJlY3Rpb24gPSBldmVudC53ZWJraXRE
aXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UgPyAxIDogLTE7CiAKLSAgICAgICAgdGhpcy5zZWNv
bmRzUGVyUGl4ZWwgKz0gZXZlbnQuZGVsdGFZICogKHRoaXMuX3NlY29uZHNQZXJQaXhlbCAvIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlNjcm9sbERlbHRhRGVub21pbmF0b3IpICogZGV2
aWNlRGlyZWN0aW9uOworICAgICAgICB0aGlzLnNlY29uZHNQZXJQaXhlbCArPSBldmVudC5kZWx0
YVkgKiAodGhpcy5fZHVyYXRpb25QZXJQaXhlbCAvIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3LlNjcm9sbERlbHRhRGVub21pbmF0b3IpICogZGV2aWNlRGlyZWN0aW9uOwogCiAgICAgICAg
IC8vIENlbnRlciB0aGUgem9vbSBhcm91bmQgdGhlIG1vdXNlIGJhc2VkIG9uIHRoZSByZW1lbWJl
cmVkIG1vdXNlIHBvc2l0aW9uIHRpbWUuCi0gICAgICAgIHRoaXMuc2Nyb2xsU3RhcnRUaW1lID0g
bW91c2VQb3NpdGlvblRpbWUgLSAobW91c2VPZmZzZXQgKiB0aGlzLl9zZWNvbmRzUGVyUGl4ZWwp
OworICAgICAgICB0aGlzLnNjcm9sbFN0YXJ0VGltZSA9IG1vdXNlUG9zaXRpb25UaW1lIC0gKG1v
dXNlT2Zmc2V0ICogdGhpcy5fZHVyYXRpb25QZXJQaXhlbCk7CiAKICAgICAgICAgZXZlbnQucHJl
dmVudERlZmF1bHQoKTsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CkBAIC0zOTYs
OCArNDEwLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlID0gewog
CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lLCB0aW1lbGluZSk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl90aW1l
bGluZU92ZXJ2aWV3R3JhcGhzTWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKLQotICAgICAg
ICBpZiAoIVdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuc2hvdWxkU2hvd1ZpZXdGb3JUaW1l
bGluZSh0aW1lbGluZSkpCisgICAgICAgIGlmICghdGhpcy5jYW5TaG93VGltZWxpbmUodGltZWxp
bmUpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciBvdmVydmlld0dyYXBoID0g
bmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgodGltZWxpbmUpOwpAQCAtNDEw
LDcgKzQyMyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIHZhciB0aW1lbGluZSA9IGV2ZW50LmRhdGEudGltZWxpbmU7CiAgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lLCB0aW1lbGluZSk7Ci0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdl
ci5zaG91bGRTaG93Vmlld0ZvclRpbWVsaW5lKHRpbWVsaW5lKSkKKyAgICAgICAgaWYgKCF0aGlz
LmNhblNob3dUaW1lbGluZSh0aW1lbGluZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAg
ICAgY29uc29sZS5hc3NlcnQodGhpcy5fdGltZWxpbmVPdmVydmlld0dyYXBoc01hcC5oYXModGlt
ZWxpbmUpLCB0aW1lbGluZSk7CkBAIC00MjIsNyArNDM1LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lT3ZlcnZpZXcucHJvdG90eXBlID0gewogCiAgICAgX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5n
ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhpcy5fc2VsZWN0aW9uU3RhcnRU
aW1lU2V0dGluZy52YWx1ZSA9IHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lIC0gdGhpcy5fc3RhcnRU
aW1lOworICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdGFydFZhbHVlU2V0dGluZy52YWx1ZSA9IHRo
aXMuc2VsZWN0aW9uU3RhcnRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lOwogICAgICAgICB0aGlzLl9z
ZWxlY3Rpb25EdXJhdGlvblNldHRpbmcudmFsdWUgPSB0aGlzLnNlbGVjdGlvbkR1cmF0aW9uOwog
CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1l
bGluZU92ZXJ2aWV3LkV2ZW50LlRpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNv
cmRGcmFtZS5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVJlY29yZEZyYW1lLmNzcwppbmRleCA3ZTVhNGIxOTc0MTNmNzEwMjFjMTgwMjEyMTli
NDA2MThmNTNjYjQ4Li5hYWFkMmEzMTI1NTFiMWM4MTFlZTZmZWZkZTVkZDAzMmE0ZjZjZWFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZVJlY29yZEZyYW1lLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmNzcwpAQCAtMjUsOCArMjUsOSBAQAogCiAu
dGltZWxpbmUtcmVjb3JkLWZyYW1lIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgaGVp
Z2h0OiAzNnB4OworICAgIGhlaWdodDogMTA4cHg7CiAgICAgbWluLXdpZHRoOiA0cHg7CisgICAg
d2lkdGg6IDRweDsKIAogICAgIG92ZXJmbG93OiBoaWRkZW47CiAKQEAgLTM4LDI0ICszOSwxMSBA
QAogICAgIHotaW5kZXg6IDE7CiAgICAgYm90dG9tOiAxcHg7CiAgICAgbWluLXdpZHRoOiA0cHg7
CisgICAgd2lkdGg6IDEwMCU7CiAKLSAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwotfQotCi0u
dGltZWxpbmUtcmVjb3JkLWZyYW1lID4gLmRyb3BwZWQgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKLSAgICBib3R0b206IDFweDsKLSAgICByaWdodDogMDsKKyAgICBwYWRkaW5nLWxlZnQ6IDFw
eDsKIAotICAgIG1pbi13aWR0aDogNnB4OwogICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0K
LSAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KC00NWRlZywgd2hpdGUs
IHdoaXRlIDJweCwgcmdiKDIzNCwgMjM0LCAyMzQpIDJweCwgcmdiKDIzNCwgMjM0LCAyMzQpIDRw
eCk7Ci0KLSAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsKLSAgICBib3JkZXItcmlnaHQtc3R5
bGU6IHNvbGlkOwotICAgIGJvcmRlci13aWR0aDogMXB4OwotICAgIGJvcmRlci1jb2xvcjogcmdi
KDIyMSwgMjIxLCAyMjEpOwogfQogCiAudGltZWxpbmUtcmVjb3JkLWZyYW1lID4gLmZyYW1lID4g
LmR1cmF0aW9uIHsKQEAgLTYzLDEzICs1MSw3IEBACiAKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2IoMjIxLCAyMjEsIDIyMSk7CiAKLSAgICBib3JkZXItY29sb3I6IHJnYigxNzYsIDE3NiwgMTc2
KTsKLSAgICBib3JkZXItc3R5bGU6IG5vbmUgc29saWQgc29saWQgc29saWQ7Ci0gICAgYm9yZGVy
LXdpZHRoOiAxcHg7Ci19Ci0KLS50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVy
YXRpb246Zmlyc3QtY2hpbGQgewotICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOworICAgIGJv
cmRlci1ib3R0b206IHNvbGlkIDFweCByZ2IoMjQ1LCAyNDUsIDI0NSk7CiB9CiAKIC50aW1lbGlu
ZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRpb246bGFzdC1jaGlsZCB7CkBAIC03Nywx
NiArNTksMTMgQEAKIH0KIAogLnRpbWVsaW5lLXJlY29yZC1mcmFtZSA+IC5mcmFtZSA+IC5kdXJh
dGlvbi50aW1lbGluZS1yZWNvcmQtdHlwZS1uZXR3b3JrIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9y
OiByZ2IoMTIwLCAxNzYsIDIyNSk7Ci0gICAgYm9yZGVyLWNvbG9yOiByZ2IoNjEsIDE0NywgMjAw
KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjEsIDE0NywgMjAwKTsKIH0KIAogLnRpbWVs
aW5lLXJlY29yZC1mcmFtZSA+IC5mcmFtZSA+IC5kdXJhdGlvbi50aW1lbGluZS1yZWNvcmQtdHlw
ZS1sYXlvdXQgewotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzQsIDE1MywgMTUzKTsKLSAg
ICBib3JkZXItY29sb3I6IHJnYigyMTIsIDEwOCwgMTA4KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9y
OiByZ2IoMjEyLCAxMDgsIDEwOCk7CiB9CiAKIC50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZnJh
bWUgPiAuZHVyYXRpb24udGltZWxpbmUtcmVjb3JkLXR5cGUtc2NyaXB0IHsKLSAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2IoMTkwLCAxNDgsIDIzMyk7Ci0gICAgYm9yZGVyLWNvbG9yOiByZ2IoMTUz
LCAxMTMsIDE4NSk7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1MywgMTEzLCAxODUpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRGcmFtZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMKaW5kZXggOTc4NDhlNTY4ZGY4ZTBhMDRk
Y2I4NjMxMGI5ODk0ODY5OWE1OTJlZC4uMWVlYTY2MmViYWIxYTQwNTM2ZDFjZmE2ZTZmOGY0M2Rl
ODE1ZThhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzCkBAIC0yMyw3ICsyMyw3
IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUgPSBmdW5jdGlvbihncmFwaERhdGFTb3VyY2UsIHJlY29y
ZHMpCitXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZSA9IGZ1bmN0aW9uKGdyYXBoRGF0
YVNvdXJjZSwgcmVjb3JkKQogewogICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gYSBXZWJJ
bnNwZWN0b3IuT2JqZWN0IHN1YmNsYXNzLCBhbmQgY2FsbCBzdXBlcigpLgogICAgIC8vIFdlYklu
c3BlY3Rvci5PYmplY3QuY2FsbCh0aGlzKTsKQEAgLTMyLDg4ICszMiwxNSBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRGcmFtZSA9IGZ1bmN0aW9uKGdyYXBoRGF0YVNvdXJjZSwgcmVjb3Jk
cykKICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkRnJhbWUuU3R5bGVDbGFzc05hbWUpOwogCiAgICAgdGhpcy5fZ3JhcGhEYXRhU291cmNl
ID0gZ3JhcGhEYXRhU291cmNlOwotICAgIHRoaXMucmVjb3JkcyA9IHJlY29yZHMgfHwgW107Cisg
ICAgdGhpcy5fcmVjb3JkID0gcmVjb3JkIHx8IG51bGw7CiB9OwogCiAvLyBGSVhNRTogTW92ZSB0
byBhIFdlYkluc3BlY3Rvci5PYmplY3Qgc3ViY2xhc3MgYW5kIHdlIGNhbiByZW1vdmUgdGhpcy4K
IFdlYkluc3BlY3Rvci5PYmplY3QuZGVwcmVjYXRlZEFkZENvbnN0cnVjdG9yRnVuY3Rpb25zKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lKTsKIAogV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkRnJhbWUuU3R5bGVDbGFzc05hbWUgPSAidGltZWxpbmUtcmVjb3JkLWZyYW1lIjsKLVdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLlNpeHR5RnBzRnJhbWVCdWRnZXQgPSAwLjAx
NjY7Ci1XZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NYXhpbXVtQ29tYmluZWRXaWR0
aFBpeGVscyA9IDEyOworV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuTWF4aW11bVdp
ZHRoUGl4ZWxzID0gMTY7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NaW5pbXVt
V2lkdGhQaXhlbHMgPSA0OwotV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuTWluaW11
bU1hcmdpblBpeGVscyA9IDE7Ci0KLVdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLmNy
ZWF0ZUNvbWJpbmVkRnJhbWVzID0gZnVuY3Rpb24ocmVjb3Jkcywgc2Vjb25kc1BlclBpeGVsLCBn
cmFwaERhdGFTb3VyY2UsIGNyZWF0ZUZyYW1lQ2FsbGJhY2spCi17Ci0gICAgaWYgKCFyZWNvcmRz
Lmxlbmd0aCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmFyIHN0YXJ0VGltZSA9IGdyYXBoRGF0
YVNvdXJjZS5zdGFydFRpbWU7Ci0gICAgdmFyIGN1cnJlbnRUaW1lID0gZ3JhcGhEYXRhU291cmNl
LmN1cnJlbnRUaW1lOwotICAgIHZhciBlbmRUaW1lID0gZ3JhcGhEYXRhU291cmNlLmVuZFRpbWU7
Ci0KLSAgICB2YXIgdmlzaWJsZVJlY29yZHMgPSBbXTsKLQotICAgIGZvciAodmFyIHJlY29yZCBv
ZiByZWNvcmRzKSB7Ci0gICAgICAgIGlmIChpc05hTihyZWNvcmQuc3RhcnRUaW1lKSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIC8vIElmIHRoaXMgZnJhbWUgaXMgY29tcGxldGVs
eSBiZWZvcmUgdGhlIGJvdW5kcyBvZiB0aGUgZ3JhcGgsIHNraXAgdGhpcyByZWNvcmQuCi0gICAg
ICAgIGlmIChyZWNvcmQuZW5kVGltZSA8IHN0YXJ0VGltZSkKLSAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgIC8vIElmIHRoaXMgcmVjb3JkIGlzIGNvbXBsZXRlbHkgYWZ0ZXIgdGhlIGN1
cnJlbnQgdGltZSBvciBlbmQgdGltZSwgYnJlYWsgb3V0IG5vdy4KLSAgICAgICAgLy8gUmVjb3Jk
cyBhcmUgc29ydGVkLCBzbyBhbGwgcmVjb3JkcyBhZnRlciB0aGlzIHdpbGwgYmUgYmV5b25kIHRo
ZSBjdXJyZW50IG9yIGVuZCB0aW1lIHRvby4KLSAgICAgICAgaWYgKHJlY29yZC5zdGFydFRpbWUg
PiBjdXJyZW50VGltZSB8fCByZWNvcmQuc3RhcnRUaW1lID4gZW5kVGltZSkKLSAgICAgICAgICAg
IGJyZWFrOwotCi0gICAgICAgIHZpc2libGVSZWNvcmRzLnB1c2gocmVjb3JkKTsKLSAgICB9Ci0K
LSAgICBpZiAoIXZpc2libGVSZWNvcmRzLmxlbmd0aCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
dmFyIG1heGltdW1Db21iaW5lZEZyYW1lRHVyYXRpb24gPSBzZWNvbmRzUGVyUGl4ZWwgKiBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NYXhpbXVtQ29tYmluZWRXaWR0aFBpeGVsczsK
LSAgICB2YXIgbWluaW11bUZyYW1lRHVyYXRpb24gPSBzZWNvbmRzUGVyUGl4ZWwgKiBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NaW5pbXVtV2lkdGhQaXhlbHM7Ci0gICAgdmFyIG1p
bmltdW1NYXJnaW4gPSBzZWNvbmRzUGVyUGl4ZWwgKiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRGcmFtZS5NaW5pbXVtTWFyZ2luUGl4ZWxzOwotCi0gICAgdmFyIGFjdGl2ZVN0YXJ0VGltZSA9
IE5hTjsKLSAgICB2YXIgYWN0aXZlRW5kVGltZSA9IE5hTjsKLSAgICB2YXIgYWN0aXZlUmVjb3Jk
cyA9IFtdOwotCi0gICAgZnVuY3Rpb24gY3JlYXRlRnJhbWVGcm9tQWN0aXZlUmVjb3JkcygpCi0g
ICAgewotICAgICAgICBjcmVhdGVGcmFtZUNhbGxiYWNrKGFjdGl2ZVJlY29yZHMpOwotICAgICAg
ICBhY3RpdmVSZWNvcmRzID0gW107Ci0gICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IE5hTjsKLSAg
ICAgICAgYWN0aXZlRW5kVGltZSA9IE5hTjsKLSAgICB9Ci0KLSAgICBmb3IgKHZhciByZWNvcmQg
b2YgdmlzaWJsZVJlY29yZHMpIHsKLSAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHByZXZpb3VzIHJl
Y29yZCBpcyBmYXIgZW5vdWdoIGF3YXkgdG8gY3JlYXRlIHRoZSBmcmFtZS4KLSAgICAgICAgaWYg
KCFpc05hTihhY3RpdmVTdGFydFRpbWUpICYmIChhY3RpdmVTdGFydFRpbWUgKyBNYXRoLm1heChh
Y3RpdmVFbmRUaW1lIC0gYWN0aXZlU3RhcnRUaW1lLCBtaW5pbXVtRnJhbWVEdXJhdGlvbikgKyBt
aW5pbXVtTWFyZ2luIDw9IHJlY29yZC5zdGFydFRpbWUpKQotICAgICAgICAgICAgY3JlYXRlRnJh
bWVGcm9tQWN0aXZlUmVjb3JkcygpOwotCi0gICAgICAgIC8vIENoZWNrIGlmIGFjdGl2ZSByZWNv
cmRzIGV4Y2VlZHMgdGhlIG1heGltdW0gY29tYmluZWQgZnJhbWUgd2lkdGguCi0gICAgICAgIGlm
ICghaXNOYU4oYWN0aXZlU3RhcnRUaW1lKSAmJiAoYWN0aXZlRW5kVGltZSAtIGFjdGl2ZVN0YXJ0
VGltZSkgPiBtYXhpbXVtQ29tYmluZWRGcmFtZUR1cmF0aW9uKQotICAgICAgICAgICAgY3JlYXRl
RnJhbWVGcm9tQWN0aXZlUmVjb3JkcygpOwotCi0gICAgICAgIC8vIElmIHRoaXMgaXMgYSBuZXcg
ZnJhbWUsIHBlZyB0aGUgc3RhcnQgdGltZS4KLSAgICAgICAgaWYgKGlzTmFOKGFjdGl2ZVN0YXJ0
VGltZSkpCi0gICAgICAgICAgICBhY3RpdmVTdGFydFRpbWUgPSByZWNvcmQuc3RhcnRUaW1lOwot
Ci0gICAgICAgIC8vIFVwZGF0ZSB0aGUgZW5kIHRpbWUgdG8gYmUgdGhlIG1heGltdW0gd2UgZW5j
b3VudGVyLiBlbmRUaW1lIG1pZ2h0IGJlIE5hTiwgc28gInx8IDAiIHRvIHByZXZlbnQgTWF0aC5t
YXggZnJvbSByZXR1cm5pbmcgTmFOLgotICAgICAgICBpZiAoIWlzTmFOKHJlY29yZC5lbmRUaW1l
KSkKLSAgICAgICAgICAgIGFjdGl2ZUVuZFRpbWUgPSBNYXRoLm1heChhY3RpdmVFbmRUaW1lIHx8
IDAsIHJlY29yZC5lbmRUaW1lKTsKLQotICAgICAgICBhY3RpdmVSZWNvcmRzLnB1c2gocmVjb3Jk
KTsKLSAgICB9Ci0KLSAgICAvLyBDcmVhdGUgdGhlIGFjdGl2ZSBmcmFtZSBmb3IgdGhlIGxhc3Qg
cmVjb3JkIGlmIG5lZWRlZC4KLSAgICBpZiAoIWlzTmFOKGFjdGl2ZVN0YXJ0VGltZSkpCi0gICAg
ICAgIGNyZWF0ZUZyYW1lQ2FsbGJhY2soYWN0aXZlUmVjb3Jkcyk7Ci19OwogCiBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0b3I6IFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLApAQCAtMTI2LDYyICs1MywzNCBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVy
biB0aGlzLl9lbGVtZW50OwogICAgIH0sCiAKLSAgICBnZXQgZHVyYXRpb24oKQorICAgIGdldCBy
ZWNvcmQoKQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMucmVjb3Jkcy5sZW5ndGggPT09IDApCi0g
ICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICByZXR1cm4gdGhpcy5yZWNvcmRzLmxhc3RW
YWx1ZS5lbmRUaW1lIC0gdGhpcy5yZWNvcmRzWzBdLnN0YXJ0VGltZTsKKyAgICAgICAgcmV0dXJu
IHRoaXMuX3JlY29yZDsKICAgICB9LAogCi0gICAgZ2V0IHJlY29yZHMoKQorICAgIHNldCByZWNv
cmQocmVjb3JkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3JlY29yZHM7Ci0gICAgfSwK
LQotICAgIHNldCByZWNvcmRzKHJlY29yZHMpCi0gICAgewotICAgICAgICByZWNvcmRzID0gcmVj
b3JkcyB8fCBbXTsKLQotICAgICAgICBpZiAoIShyZWNvcmRzIGluc3RhbmNlb2YgQXJyYXkpKQot
ICAgICAgICAgICAgcmVjb3JkcyA9IFtyZWNvcmRzXTsKLQotICAgICAgICB0aGlzLl9yZWNvcmRz
ID0gcmVjb3JkczsKKyAgICAgICAgdGhpcy5fcmVjb3JkID0gcmVjb3JkOwogICAgIH0sCiAKICAg
ICByZWZyZXNoKGdyYXBoRGF0YVNvdXJjZSkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5yZWNv
cmRzIHx8ICF0aGlzLnJlY29yZHMubGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgICAgIHZhciBmaXJzdFJlY29yZCA9IHRoaXMucmVjb3Jkc1swXTsKLSAgICAgICAgdmFy
IGZyYW1lU3RhcnRUaW1lID0gZmlyc3RSZWNvcmQuc3RhcnRUaW1lOwotCi0gICAgICAgIC8vIElm
IHRoaXMgZnJhbWUgaGFzIG5vIHRpbWUgaW5mbywgcmV0dXJuIGVhcmx5LgotICAgICAgICBpZiAo
aXNOYU4oZnJhbWVTdGFydFRpbWUpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
ICAgIHZhciBncmFwaFN0YXJ0VGltZSA9IGdyYXBoRGF0YVNvdXJjZS5zdGFydFRpbWU7Ci0gICAg
ICAgIHZhciBncmFwaEVuZFRpbWUgPSBncmFwaERhdGFTb3VyY2UuZW5kVGltZTsKLSAgICAgICAg
dmFyIGdyYXBoQ3VycmVudFRpbWUgPSBncmFwaERhdGFTb3VyY2UuY3VycmVudFRpbWU7Ci0KLSAg
ICAgICAgLy8gSWYgdGhpcyBmcmFtZSBpcyBjb21wbGV0ZWx5IGFmdGVyIHRoZSBjdXJyZW50IHRp
bWUsIHJldHVybiBlYXJseS4KLSAgICAgICAgaWYgKGZyYW1lU3RhcnRUaW1lID4gZ3JhcGhDdXJy
ZW50VGltZSkKKyAgICAgICAgaWYgKCF0aGlzLl9yZWNvcmQpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICAgICAgdmFyIGZyYW1lRW5kVGltZSA9IHRoaXMucmVjb3Jkcy5sYXN0VmFs
dWUuZW5kVGltZTsKKyAgICAgICAgdmFyIGZyYW1lSW5kZXggPSB0aGlzLl9yZWNvcmQuZnJhbWVJ
bmRleDsKKyAgICAgICAgdmFyIGdyYXBoU3RhcnRGcmFtZUluZGV4ID0gTWF0aC5mbG9vcihncmFw
aERhdGFTb3VyY2Uuc3RhcnRUaW1lKTsKKyAgICAgICAgdmFyIGdyYXBoRW5kRnJhbWVJbmRleCA9
IGdyYXBoRGF0YVNvdXJjZS5lbmRUaW1lOwogCiAgICAgICAgIC8vIElmIHRoaXMgZnJhbWUgaXMg
Y29tcGxldGVseSBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGJvdW5kcyBvZiB0aGUgZ3JhcGgsIHJldHVy
biBlYXJseS4KLSAgICAgICAgaWYgKGZyYW1lRW5kVGltZSA8IGdyYXBoU3RhcnRUaW1lIHx8IGZy
YW1lU3RhcnRUaW1lID4gZ3JhcGhFbmRUaW1lKQorICAgICAgICBpZiAoZnJhbWVJbmRleCA8IGdy
YXBoU3RhcnRGcmFtZUluZGV4IHx8IGZyYW1lSW5kZXggPiBncmFwaEVuZEZyYW1lSW5kZXgpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgdmFyIGdyYXBoRHVyYXRpb24gPSBn
cmFwaEVuZFRpbWUgLSBncmFwaFN0YXJ0VGltZTsKLSAgICAgICAgdmFyIHJlY29yZExlZnRQb3Np
dGlvbiA9IChmcmFtZVN0YXJ0VGltZSAtIGdyYXBoU3RhcnRUaW1lKSAvIGdyYXBoRHVyYXRpb247
Ci0gICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlvbih0aGlzLl9lbGVtZW50LCByZWNv
cmRMZWZ0UG9zaXRpb24sICJsZWZ0Iik7Ci0KLSAgICAgICAgdmFyIHJlY29yZFdpZHRoID0gKGZy
YW1lRW5kVGltZSAtIGZyYW1lU3RhcnRUaW1lKSAvIGdyYXBoRHVyYXRpb247Ci0gICAgICAgIHRo
aXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlvbih0aGlzLl9lbGVtZW50LCByZWNvcmRXaWR0aCwgIndp
ZHRoIik7CisgICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUud2lkdGggPSAoMSAvIGdyYXBoRGF0
YVNvdXJjZS50aW1lbGluZU92ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbCkgKyAicHgiOwogCisgICAg
ICAgIHZhciBncmFwaER1cmF0aW9uID0gZ3JhcGhEYXRhU291cmNlLmVuZFRpbWUgLSBncmFwaERh
dGFTb3VyY2Uuc3RhcnRUaW1lCisgICAgICAgIHZhciByZWNvcmRMZWZ0UG9zaXRpb24gPSAoZnJh
bWVJbmRleCAtIGdyYXBoRGF0YVNvdXJjZS5zdGFydFRpbWUpIC8gZ3JhcGhEdXJhdGlvbjsKKyAg
ICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKHRoaXMuX2VsZW1lbnQsIHJlY29yZExl
ZnRQb3NpdGlvbiwgImxlZnQiKTsKICAgICAgICAgdGhpcy5fdXBkYXRlQ2hpbGRFbGVtZW50cyhn
cmFwaERhdGFTb3VyY2UpOwogCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTkzLDcyICs5Miw0
MCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAg
ewogICAgICAgICB0aGlzLl9lbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CiAKLSAgICAgICAgY29u
c29sZS5hc3NlcnQodGhpcy5yZWNvcmRzLmxlbmd0aCk7Ci0gICAgICAgIGlmICghdGhpcy5yZWNv
cmRzLmxlbmd0aCkKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fcmVjb3JkKTsKKyAgICAg
ICAgaWYgKCF0aGlzLl9yZWNvcmQpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYg
KGdyYXBoRGF0YVNvdXJjZS5ncmFwaEhlaWdodFNlY29uZHMgPT09IDApCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgLy8gV2hlbiBjb21iaW5pbmcgbXVsdGlwbGUgcmVjb3JkcyBpbnRv
IGEgZnJhbWUsIGRpc3BsYXkgdGhlIHJlY29yZCB3aXRoIHRoZSBsb25nZXN0IGR1cmF0aW9uIHJh
dGhlciB0aGFuIGF2ZXJhZ2luZy4KLSAgICAgICAgdmFyIGRpc3BsYXlSZWNvcmQgPSB0aGlzLnJl
Y29yZHMucmVkdWNlKGZ1bmN0aW9uKHByZXZpb3VzVmFsdWUsIGN1cnJlbnRWYWx1ZSkgewotICAg
ICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZS5kdXJhdGlvbiA+PSBwcmV2aW91c1ZhbHVlLmR1
cmF0aW9uID8gY3VycmVudFZhbHVlIDogcHJldmlvdXNWYWx1ZTsKLSAgICAgICAgfSk7Ci0KICAg
ICAgICAgdmFyIGZyYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwog
ICAgICAgICBmcmFtZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZnJhbWUiKTsKICAgICAgICAgdGhp
cy5fZWxlbWVudC5hcHBlbmRDaGlsZChmcmFtZUVsZW1lbnQpOwogCi0gICAgICAgIHZhciBmcmFt
ZUhlaWdodCA9IGRpc3BsYXlSZWNvcmQuZHVyYXRpb24gLyBncmFwaERhdGFTb3VyY2UuZ3JhcGhI
ZWlnaHRTZWNvbmRzOworICAgICAgICB2YXIgZnJhbWVIZWlnaHQgPSB0aGlzLl9yZWNvcmQuZHVy
YXRpb24gLyBncmFwaERhdGFTb3VyY2UuZ3JhcGhIZWlnaHRTZWNvbmRzOwogICAgICAgICB0aGlz
Ll91cGRhdGVFbGVtZW50UG9zaXRpb24oZnJhbWVFbGVtZW50LCBmcmFtZUhlaWdodCwgImhlaWdo
dCIpOwogCiAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUR1cmF0aW9uRWxlbWVudChkdXJhdGlvbiwg
cmVjb3JkVHlwZSkKICAgICAgICAgewogICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRQ
b3NpdGlvbihlbGVtZW50LCBkdXJhdGlvbiAvIGRpc3BsYXlSZWNvcmQuZHVyYXRpb24sICJoZWln
aHQiKTsKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlvbihlbGVtZW50LCBk
dXJhdGlvbiAvIHRoaXMuX3JlY29yZC5kdXJhdGlvbiwgImhlaWdodCIpOwogICAgICAgICAgICAg
ZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkdXJhdGlvbiIpOwogICAgICAgICAgICAgaWYgKHJlY29y
ZFR5cGUpCiAgICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKHJlY29yZFR5cGUp
OwogICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAo
ZGlzcGxheVJlY29yZC5kdXJhdGlvblJlbWFpbmRlciA+IDApCi0gICAgICAgICAgICBmcmFtZUVs
ZW1lbnQuYXBwZW5kQ2hpbGQoY3JlYXRlRHVyYXRpb25FbGVtZW50LmNhbGwodGhpcywgZGlzcGxh
eVJlY29yZC5kdXJhdGlvblJlbWFpbmRlcikpOworICAgICAgICBpZiAodGhpcy5fcmVjb3JkLmR1
cmF0aW9uUmVtYWluZGVyID4gMCkKKyAgICAgICAgICAgIGZyYW1lRWxlbWVudC5hcHBlbmRDaGls
ZChjcmVhdGVEdXJhdGlvbkVsZW1lbnQuY2FsbCh0aGlzLCB0aGlzLl9yZWNvcmQuZHVyYXRpb25S
ZW1haW5kZXIpKTsKIAogICAgICAgICBmb3IgKHZhciB0eXBlIGluIFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZC5UeXBlKSB7CiAgICAgICAgICAgICB2YXIgcmVjb3JkVHlwZSA9IFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZC5UeXBlW3R5cGVdOwotICAgICAgICAgICAgdmFyIGR1cmF0aW9u
ID0gZGlzcGxheVJlY29yZC5kdXJhdGlvbkZvclJlY29yZHMocmVjb3JkVHlwZSk7CisgICAgICAg
ICAgICB2YXIgZHVyYXRpb24gPSB0aGlzLl9yZWNvcmQuZHVyYXRpb25Gb3JSZWNvcmRzKHJlY29y
ZFR5cGUpOwogICAgICAgICAgICAgaWYgKGR1cmF0aW9uID09PSAwKQogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgZnJhbWVFbGVtZW50LmFwcGVuZENoaWxkKGNyZWF0ZUR1
cmF0aW9uRWxlbWVudC5jYWxsKHRoaXMsIGR1cmF0aW9uLCByZWNvcmRUeXBlKSk7CiAgICAgICAg
IH0KLQotICAgICAgICAvLyBBZGQgImluY2x1ZGVzLWRyb3BwZWQiIHN0eWxlIGNsYXNzIGlmIG11
bHRpcGxlIHJlY29yZHMgYXJlIGJlaW5nIGNvbWJpbmVkIGluIHRoZSBmcmFtZSwKLSAgICAgICAg
Ly8gYW5kIG9uZSBvZiB0aG9zZSByZWNvcmRzIGV4Y2VlZHMgdGhlIDYwIGZwcyBmcmFtZSBidWRn
ZXQuCi0gICAgICAgIGlmICh0aGlzLnJlY29yZHMubGVuZ3RoID4gMSAmJiBkaXNwbGF5UmVjb3Jk
LmR1cmF0aW9uID4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuU2l4dHlGcHNGcmFt
ZUJ1ZGdldCkKLSAgICAgICAgICAgIGZyYW1lRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpbmNsdWRl
cy1kcm9wcGVkIik7Ci0KLSAgICAgICAgLy8gSWYgdGhlIGRpc3BsYXkgcmVjb3JkIGlzIHRoZSBs
YXN0IGNvbWJpbmVkIHJlY29yZCBhbmQgYWxzbyBleGNlZWRzIHRoZSA2MCBmcHMgYnVkZ2V0LAot
ICAgICAgICAvLyBhZGQgYSAiZHJvcHBlZCIgZWxlbWVudCB0byB0aGUgcmlnaHQgb2YgdGhlIGZy
YW1lLgotICAgICAgICB2YXIgZnJhbWVXaWR0aCA9IDE7Ci0gICAgICAgIHZhciBzZWNvbmRzUGVy
UGl4ZWwgPSB0aGlzLl9ncmFwaERhdGFTb3VyY2UudGltZWxpbmVPdmVydmlldy5zZWNvbmRzUGVy
UGl4ZWw7Ci0gICAgICAgIHZhciBtaW5pbXVtUmVjb3JkRHVyYXRpb24gPSBzZWNvbmRzUGVyUGl4
ZWwgKiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NaW5pbXVtV2lkdGhQaXhlbHMg
KiAyOyAgICAvLyBDb21iaW5lIG1pbmltdW0gd2lkdGhzIG9mIHRoZSBmcmFtZSBlbGVtZW50IGFu
ZCBkcm9wcGVkIGVsZW1lbnQuCi0KLSAgICAgICAgaWYgKGRpc3BsYXlSZWNvcmQgPT09IHRoaXMu
cmVjb3Jkcy5sYXN0VmFsdWUgJiYgZGlzcGxheVJlY29yZC5kdXJhdGlvbiA+IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZEZyYW1lLlNpeHR5RnBzRnJhbWVCdWRnZXQgJiYgZGlzcGxheVJlY29y
ZC5kdXJhdGlvbiA+PSBtaW5pbXVtUmVjb3JkRHVyYXRpb24pIHsKLSAgICAgICAgICAgIHZhciBv
dmVyZmxvd0R1cmF0aW9uID0gZGlzcGxheVJlY29yZC5kdXJhdGlvbiAtIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZEZyYW1lLlNpeHR5RnBzRnJhbWVCdWRnZXQ7Ci0gICAgICAgICAgICB2YXIg
ZHJvcHBlZEVsZW1lbnRXaWR0aCA9IG92ZXJmbG93RHVyYXRpb24gLyBkaXNwbGF5UmVjb3JkLmR1
cmF0aW9uOwotICAgICAgICAgICAgZnJhbWVXaWR0aCAtPSBkcm9wcGVkRWxlbWVudFdpZHRoOwot
Ci0gICAgICAgICAgICB2YXIgZHJvcHBlZEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKLSAgICAgICAgICAgIGRyb3BwZWRFbGVtZW50LmNsYXNzTmFtZSA9ICJkcm9wcGVk
IjsKLQotICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZChkcm9wcGVkRWxlbWVu
dCk7Ci0KLSAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlvbihkcm9wcGVkRWxl
bWVudCwgZnJhbWVIZWlnaHQsICJoZWlnaHQiKTsKLSAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUVs
ZW1lbnRQb3NpdGlvbihkcm9wcGVkRWxlbWVudCwgZHJvcHBlZEVsZW1lbnRXaWR0aCwgIndpZHRo
Iik7Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLl91cGRhdGVFbGVtZW50UG9zaXRpb24oZnJh
bWVFbGVtZW50LCBmcmFtZVdpZHRoLCAid2lkdGgiKTsKICAgICB9LAogCiAgICAgX3VwZGF0ZUVs
ZW1lbnRQb3NpdGlvbihlbGVtZW50LCBuZXdQb3NpdGlvbiwgcHJvcGVydHkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCBlNTIzYmU5MjFiZThm
ODAzNDJkMmVjNjRkNzFmOGFiODlhOWNjMzIyLi5jYjI0MWUyOGRjNjY2MGQxOTc1YTQwNDc5YWRh
ZmU2MjA5MDU0MWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcuanMKQEAgLTM2LDkgKzM2LDE0IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gZnVuY3Rpb24ocmVjb3JkaW5nLCBleHRyYUFyZ3VtZW50cykKIAogICAg
IHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3LlN0eWxlQ2xhc3NOYW1lKTsKIAotICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZp
ZXcgPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcodGhpcy5fcmVjb3JkaW5nKTsK
LSAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcy5f
dGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcyk7Ci0gICAgdGhpcy5lbGVtZW50LmFwcGVu
ZENoaWxkKHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudCk7CisgICAgdGhpcy5fbGluZWFy
VGltZWxpbmVPdmVydmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuTGluZWFyVGltZWxpbmVPdmVydmll
dyh0aGlzLl9yZWNvcmRpbmcpOworICAgIHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudC5UaW1lUmFu
Z2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlz
KTsKKworICAgIHRoaXMuX3JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldyA9IG5ldyBXZWJJ
bnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3KHRoaXMuX3JlY29yZGluZyk7
CisgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0aW9u
Q2hhbmdlZCwgdGhpcy5fdGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCwgdGhpcyk7CisKKyAgICB0
aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldyA9IHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZp
ZXc7CisgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2N1cnJlbnRUaW1lbGluZU92
ZXJ2aWV3LmVsZW1lbnQpOwogCiAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3Q29udGFpbmVyKCk7CiAgICAgdGhpcy5fY29udGVudFZp
ZXdDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ29udGVudFZpZXdDb250
YWluZXIuRXZlbnQuQ3VycmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlLCB0aGlzLl9jdXJyZW50Q29u
dGVudFZpZXdEaWRDaGFuZ2UsIHRoaXMpOwpAQCAtNTQsNyArNTksNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGZ1bmN0aW9uKHJlY29yZGluZywgZXh0cmFB
cmd1bWVudHMpCiAgICAgdGhpcy5fY2xlYXJUaW1lbGluZU5hdmlnYXRpb25JdGVtLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQs
IHRoaXMuX2NsZWFyVGltZWxpbmUsIHRoaXMpOwogCiAgICAgdGhpcy5fb3ZlcnZpZXdUaW1lbGlu
ZVZpZXcgPSBuZXcgV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3KHJlY29yZGluZywg
e3RpbWVsaW5lU2lkZWJhclBhbmVsOiB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbH0pOwotICAg
IHRoaXMuX292ZXJ2aWV3VGltZWxpbmVWaWV3LnNlY29uZHNQZXJQaXhlbCA9IHRoaXMuX3RpbWVs
aW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBpeGVsOworICAgIHRoaXMuX292ZXJ2aWV3VGltZWxpbmVW
aWV3LnNlY29uZHNQZXJQaXhlbCA9IHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25k
c1BlclBpeGVsOwogCiAgICAgdGhpcy5fdGltZWxpbmVWaWV3TWFwID0gbmV3IE1hcDsKICAgICB0
aGlzLl9wYXRoQ29tcG9uZW50TWFwID0gbmV3IE1hcDsKQEAgLTgxLDcgKzg2LDggQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBmdW5jdGlvbihyZWNvcmRpbmcs
IGV4dHJhQXJndW1lbnRzKQogICAgIGZvciAodmFyIHRpbWVsaW5lIG9mIHRoaXMuX3JlY29yZGlu
Zy50aW1lbGluZXMudmFsdWVzKCkpCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lQWRkZWQodGltZWxp
bmUpOwogCi0gICAgdGhpcy5zaG93T3ZlcnZpZXdUaW1lbGluZVZpZXcoKTsKKyAgICBpZiAodGhp
cy5fdGltZWxpbmVTaWRlYmFyUGFuZWwudmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5UaW1lbGluZXMpCisgICAgICAgIHRoaXMuc2hvd092ZXJ2
aWV3VGltZWxpbmVWaWV3KCk7CiB9OwogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdD
b250ZW50Vmlldy5TdHlsZUNsYXNzTmFtZSA9ICJ0aW1lbGluZS1yZWNvcmRpbmciOwpAQCAtMTY2
LDcgKzE3Miw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnBy
b3RvdHlwZSA9IHsKIAogICAgIHNob3duOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlz
Ll90aW1lbGluZU92ZXJ2aWV3LnNob3duKCk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGlu
ZU92ZXJ2aWV3LnNob3duKCk7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLnNo
b3duKCk7CiAgICAgICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVk
ID0gdGhpcy5fcmVjb3JkaW5nLmlzV3JpdGFibGUoKTsKIApAQCAtMTc2LDcgKzE4Miw3IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKIAog
ICAgIGhpZGRlbjogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVy
dmlldy5oaWRkZW4oKTsKKyAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuaGlk
ZGVuKCk7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLmhpZGRlbigpOwogCiAg
ICAgICAgIGlmICh0aGlzLl91cGRhdGluZykKQEAgLTIxNiw3ICsyMjIsNyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAKICAgICB1cGRh
dGVMYXlvdXQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZp
ZXcudXBkYXRlTGF5b3V0Rm9yUmVzaXplKCk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGlu
ZU92ZXJ2aWV3LnVwZGF0ZUxheW91dEZvclJlc2l6ZSgpOwogCiAgICAgICAgIHZhciBjdXJyZW50
Q29udGVudFZpZXcgPSB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5jdXJyZW50Q29udGVudFZp
ZXc7CiAgICAgICAgIGlmIChjdXJyZW50Q29udGVudFZpZXcpCkBAIC0yNTcsMTAgKzI2MywyNCBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcgJiYgIXRoaXMuY3VycmVudFRp
bWVsaW5lVmlldy5tYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1c3RvbUZpbHRlcnModHJlZUVsZW1l
bnQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIHZhciBzdGFydFRpbWUg
PSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZTsKLSAgICAgICAgdmFy
IGVuZFRpbWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSArIHRo
aXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CisgICAgICAgIHZhciBzdGFy
dFRpbWUgPSB0aGlzLl9jdXJyZW50VGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7
CisgICAgICAgIHZhciBlbmRUaW1lID0gc3RhcnRUaW1lICsgdGhpcy5fY3VycmVudFRpbWVsaW5l
T3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CiAgICAgICAgIHZhciBjdXJyZW50VGltZSA9IHRo
aXMuX2N1cnJlbnRUaW1lIHx8IHRoaXMuX3JlY29yZGluZy5zdGFydFRpbWU7CiAKKyAgICAgICAg
aWYgKHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLnZpZXdNb2RlID09PSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzKSB7CisgICAgICAg
ICAgICB2YXIgdGltZWxpbmUgPSB0aGlzLl9nZXRSZW5kZXJpbmdGcmFtZVRpbWVsaW5lKCk7Cisg
ICAgICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1lbGluZSk7CisKKyAgICAgICAgICAgIGlmICh0
aW1lbGluZSAmJiB0aW1lbGluZS5yZWNvcmRzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIHZh
ciBzdGFydEluZGV4ID0gTWF0aC5mbG9vcihzdGFydFRpbWUpOworICAgICAgICAgICAgICAgIHZh
ciBlbmRJbmRleCA9IE1hdGgubWluKE1hdGguZmxvb3IoZW5kVGltZSksIHRpbWVsaW5lLnJlY29y
ZHMubGVuZ3RoIC0gMSk7CisgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoc3RhcnRJbmRl
eCA8IGVuZEluZGV4LCBzdGFydEluZGV4KTsKKworICAgICAgICAgICAgICAgIHN0YXJ0VGltZSA9
IHRpbWVsaW5lLnJlY29yZHNbc3RhcnRJbmRleF0uc3RhcnRUaW1lOworICAgICAgICAgICAgICAg
IGVuZFRpbWUgPSB0aW1lbGluZS5yZWNvcmRzW2VuZEluZGV4XS5lbmRUaW1lOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisKICAgICAgICAgZnVuY3Rpb24gY2hlY2tUaW1lQm91bmRzKGl0ZW1T
dGFydFRpbWUsIGl0ZW1FbmRUaW1lKQogICAgICAgICB7CiAgICAgICAgICAgICBpdGVtU3RhcnRU
aW1lID0gaXRlbVN0YXJ0VGltZSB8fCBjdXJyZW50VGltZTsKQEAgLTMxMiwxNiArMzMyLDMyIEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsK
IAogICAgIF9jdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2U6IGZ1bmN0aW9uKGV2ZW50KQogICAg
IHsKKyAgICAgICAgdmFyIG5ld1RpbWVsaW5lT3ZlcnZpZXcgPSB0aGlzLl9saW5lYXJUaW1lbGlu
ZU92ZXJ2aWV3OwogICAgICAgICB2YXIgdGltZWxpbmVWaWV3ID0gdGhpcy5jdXJyZW50VGltZWxp
bmVWaWV3OwogICAgICAgICBpZiAodGltZWxpbmVWaWV3KSB7CiAgICAgICAgICAgICB0aGlzLl90
aW1lbGluZVNpZGViYXJQYW5lbC5jb250ZW50VHJlZU91dGxpbmUgPSB0aW1lbGluZVZpZXcubmF2
aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZTsKICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lk
ZWJhclBhbmVsLmNvbnRlbnRUcmVlT3V0bGluZUxhYmVsID0gdGltZWxpbmVWaWV3Lm5hdmlnYXRp
b25TaWRlYmFyVHJlZU91dGxpbmVMYWJlbDsKIAotICAgICAgICAgICAgdGltZWxpbmVWaWV3LnN0
YXJ0VGltZSA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOwotICAg
ICAgICAgICAgdGltZWxpbmVWaWV3LmVuZFRpbWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNl
bGVjdGlvblN0YXJ0VGltZSArIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRp
b247CisgICAgICAgICAgICBpZiAodGltZWxpbmVWaWV3LnJlcHJlc2VudGVkT2JqZWN0LnR5cGUg
PT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQorICAg
ICAgICAgICAgICAgIG5ld1RpbWVsaW5lT3ZlcnZpZXcgPSB0aGlzLl9yZW5kZXJpbmdGcmFtZVRp
bWVsaW5lT3ZlcnZpZXc7CisKKyAgICAgICAgICAgIHRpbWVsaW5lVmlldy5zdGFydFRpbWUgPSBu
ZXdUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZTsKKyAgICAgICAgICAgIHRpbWVs
aW5lVmlldy5lbmRUaW1lID0gbmV3VGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUg
KyBuZXdUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOwogICAgICAgICAgICAgdGlt
ZWxpbmVWaWV3LmN1cnJlbnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWU7CiAgICAgICAgIH0KIAor
ICAgICAgICBpZiAobmV3VGltZWxpbmVPdmVydmlldyAhPT0gdGhpcy5fY3VycmVudFRpbWVsaW5l
T3ZlcnZpZXcpIHsKKyAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3Lmhp
ZGRlbigpOworCisgICAgICAgICAgICB0aGlzLmVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5ld1RpbWVs
aW5lT3ZlcnZpZXcuZWxlbWVudCwgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuZWxlbWVu
dCk7CisgICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFRp
bWVsaW5lT3ZlcnZpZXcuZWxlbWVudCk7CisKKyAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1l
bGluZU92ZXJ2aWV3ID0gbmV3VGltZWxpbmVPdmVydmlldzsKKyAgICAgICAgICAgIHRoaXMuX2N1
cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNob3duKCk7CisKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0
ZVRpbWVsaW5lT3ZlcnZpZXdIZWlnaHQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5TZWxl
Y3Rpb25QYXRoQ29tcG9uZW50c0RpZENoYW5nZSk7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVu
dFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5OYXZpZ2F0aW9uSXRl
bXNEaWRDaGFuZ2UpOwogICAgIH0sCkBAIC0zNzUsMTAgKzQxMSwxMCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgX3VwZGF0ZVRp
bWVzOiBmdW5jdGlvbihzdGFydFRpbWUsIGN1cnJlbnRUaW1lLCBlbmRUaW1lKQogICAgIHsKICAg
ICAgICAgaWYgKHRoaXMuX3N0YXJ0VGltZU5lZWRzUmVzZXQgJiYgIWlzTmFOKHN0YXJ0VGltZSkp
IHsKLSAgICAgICAgICAgIHZhciBzZWxlY3Rpb25PZmZzZXQgPSB0aGlzLl90aW1lbGluZU92ZXJ2
aWV3LnNlbGVjdGlvblN0YXJ0VGltZSAtIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc3RhcnRUaW1l
OworICAgICAgICAgICAgdmFyIHNlbGVjdGlvbk9mZnNldCA9IHRoaXMuX2N1cnJlbnRUaW1lbGlu
ZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSAtIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2
aWV3LnN0YXJ0VGltZTsKIAotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5zdGFy
dFRpbWUgPSBzdGFydFRpbWU7Ci0gICAgICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNl
bGVjdGlvblN0YXJ0VGltZSA9IHN0YXJ0VGltZSArIHNlbGVjdGlvbk9mZnNldDsKKyAgICAgICAg
ICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnN0YXJ0VGltZSA9IHN0YXJ0VGltZTsK
KyAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0
VGltZSA9IHN0YXJ0VGltZSArIHNlbGVjdGlvbk9mZnNldDsKIAogICAgICAgICAgICAgdGhpcy5f
b3ZlcnZpZXdUaW1lbGluZVZpZXcuemVyb1RpbWUgPSBzdGFydFRpbWU7CiAgICAgICAgICAgICBm
b3IgKHZhciB0aW1lbGluZVZpZXcgb2YgdGhpcy5fdGltZWxpbmVWaWV3TWFwLnZhbHVlcygpKQpA
QCAtMzg3LDE3ICs0MjMsMjEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3N0YXJ0VGltZU5l
ZWRzUmVzZXQ7CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LmVu
ZFRpbWUgPSBNYXRoLm1heChlbmRUaW1lLCBjdXJyZW50VGltZSk7CisgICAgICAgIHRoaXMuX2xp
bmVhclRpbWVsaW5lT3ZlcnZpZXcuZW5kVGltZSA9IE1hdGgubWF4KGVuZFRpbWUsIGN1cnJlbnRU
aW1lKTsKIAogICAgICAgICB0aGlzLl9jdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lOwotICAgICAg
ICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LmN1cnJlbnRUaW1lID0gY3VycmVudFRpbWU7CisgICAg
ICAgIHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuY3VycmVudFRpbWUgPSBjdXJyZW50VGlt
ZTsKICAgICAgICAgaWYgKHRoaXMuY3VycmVudFRpbWVsaW5lVmlldykKICAgICAgICAgICAgIHRo
aXMuY3VycmVudFRpbWVsaW5lVmlldy5jdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lOwogCisgICAg
ICAgIHZhciB0aW1lbGluZSA9IHRoaXMuX2dldFJlbmRlcmluZ0ZyYW1lVGltZWxpbmUoKTsKKyAg
ICAgICAgaWYgKHRpbWVsaW5lKQorICAgICAgICAgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1l
bGluZU92ZXJ2aWV3LmVuZFRpbWUgPSB0aW1lbGluZS5yZWNvcmRzLmxlbmd0aDsKKwogICAgICAg
ICB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC51cGRhdGVGaWx0ZXIoKTsKIAogICAgICAgICAv
LyBGb3JjZSBhIGxheW91dCBub3cgc2luY2Ugd2UgYXJlIGFscmVhZHkgaW4gYW4gYW5pbWF0aW9u
IGZyYW1lIGFuZCBkb24ndCBuZWVkIHRvIGRlbGF5IGl0IHVudGlsIHRoZSBuZXh0LgotICAgICAg
ICB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnVwZGF0ZUxheW91dElmTmVlZGVkKCk7CisgICAgICAg
IHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnVwZGF0ZUxheW91dElmTmVlZGVkKCk7CiAg
ICAgICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcpCiAgICAgICAgICAgICB0aGlzLmN1
cnJlbnRUaW1lbGluZVZpZXcudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKICAgICB9LApAQCAtNDg5
LDYgKzUyOSwzOSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3JlY29yZGluZy5yZXNldCgpOwogICAgIH0sCiAK
KyAgICBfdXBkYXRlVGltZWxpbmVPdmVydmlld0hlaWdodDogZnVuY3Rpb24oKQorICAgIHsKKyAg
ICAgICAgY29uc3QgdGltZWxpbmVIZWlnaHQgPSAzNjsKKyAgICAgICAgY29uc3QgcmVuZGVyaW5n
RnJhbWVzVGltZWxpbmVIZWlnaHQgPSAxMDg7CisgICAgICAgIGNvbnN0IHJ1bGVySGVpZ2h0ID0g
Mjk7CisKKyAgICAgICAgdmFyIG92ZXJ2aWV3SGVpZ2h0OworCisgICAgICAgIGlmICh0aGlzLmN1
cnJlbnRUaW1lbGluZVZpZXcgJiYgdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LnJlcHJlc2VudGVk
T2JqZWN0LnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmlu
Z0ZyYW1lKQorICAgICAgICAgICAgb3ZlcnZpZXdIZWlnaHQgPSByZW5kZXJpbmdGcmFtZXNUaW1l
bGluZUhlaWdodDsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB2YXIgdGltZWxpbmVDb3Vu
dCA9IHRoaXMuX3RpbWVsaW5lVmlld01hcC5zaXplOworICAgICAgICAgICAgaWYgKHRoaXMuX2dl
dFJlbmRlcmluZ0ZyYW1lVGltZWxpbmUoKSkKKyAgICAgICAgICAgICAgICB0aW1lbGluZUNvdW50
LS07CisKKyAgICAgICAgICAgIG92ZXJ2aWV3SGVpZ2h0ID0gdGltZWxpbmVDb3VudCAqIHRpbWVs
aW5lSGVpZ2h0OworICAgICAgICB9CisKKyAgICAgICAgdmFyIHN0eWxlVmFsdWUgPSAocnVsZXJI
ZWlnaHQgKyBvdmVydmlld0hlaWdodCkgKyAicHgiOworICAgICAgICB0aGlzLl9jdXJyZW50VGlt
ZWxpbmVPdmVydmlldy5lbGVtZW50LnN0eWxlLmhlaWdodCA9IHN0eWxlVmFsdWU7CisgICAgICAg
IHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLmVsZW1lbnQuc3R5bGUudG9wID0gc3R5bGVWYWx1
ZTsKKyAgICB9LAorCisgICAgX2dldFJlbmRlcmluZ0ZyYW1lVGltZWxpbmU6IGZ1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIGZvciAodmFyIHRpbWVsaW5lIG9mIHRoaXMuX3RpbWVsaW5lVmlld01h
cC5rZXlzKCkpIHsKKyAgICAgICAgICAgIGlmICh0aW1lbGluZS50eXBlID09PSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gdGltZWxpbmU7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9
LAorCiAgICAgX3RpbWVsaW5lQWRkZWQ6IGZ1bmN0aW9uKHRpbWVsaW5lT3JFdmVudCkKICAgICB7
CiAgICAgICAgIHZhciB0aW1lbGluZSA9IHRpbWVsaW5lT3JFdmVudDsKQEAgLTQ5Niw5ICs1Njks
NiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICB0aW1lbGluZSA9IHRpbWVsaW5lT3JFdmVudC5kYXRhLnRpbWVsaW5l
OwogCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lIGluc3RhbmNlb2YgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lLCB0aW1lbGluZSk7Ci0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLlRpbWVs
aW5lTWFuYWdlci5zaG91bGRTaG93Vmlld0ZvclRpbWVsaW5lKHRpbWVsaW5lKSkKLSAgICAgICAg
ICAgIHJldHVybjsKLQogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdGltZWxpbmVWaWV3
TWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKIAogICAgICAgICB0aGlzLl90aW1lbGluZVZp
ZXdNYXAuc2V0KHRpbWVsaW5lLCBuZXcgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3KHRpbWVsaW5l
LCB7dGltZWxpbmVTaWRlYmFyUGFuZWw6IHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsfSkpOwpA
QCAtNTE0LDkgKzU4NCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRW
aWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciB0aW1lbGluZSA9IGV2ZW50LmRh
dGEudGltZWxpbmU7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lIGluc3RhbmNlb2Yg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lLCB0aW1lbGluZSk7Ci0gICAgICAgIGlmICghV2ViSW5zcGVj
dG9yLlRpbWVsaW5lTWFuYWdlci5zaG91bGRTaG93Vmlld0ZvclRpbWVsaW5lKHRpbWVsaW5lKSkK
LSAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90aW1l
bGluZVZpZXdNYXAuaGFzKHRpbWVsaW5lKSwgdGltZWxpbmUpOwogCiAgICAgICAgIHZhciB0aW1l
bGluZVZpZXcgPSB0aGlzLl90aW1lbGluZVZpZXdNYXAudGFrZSh0aW1lbGluZSk7CkBAIC01NDAs
MTEgKzYwNyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgIHByZXZpb3VzUGF0aENvbXBvbmVudCA9IHBhdGhDb21w
b25lbnQ7CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgdGltZWxpbmVDb3VudCA9IHRoaXMuX3Rp
bWVsaW5lVmlld01hcC5zaXplOwotICAgICAgICBjb25zdCB0aW1lbGluZUhlaWdodCA9IDM2Owot
ICAgICAgICBjb25zdCBleHRyYU9mZnNldCA9IDIyOwotICAgICAgICB0aGlzLl90aW1lbGluZU92
ZXJ2aWV3LmVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gKHRpbWVsaW5lQ291bnQgKiB0aW1lbGluZUhl
aWdodCArIGV4dHJhT2Zmc2V0KSArICJweCI7Ci0gICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29u
dGFpbmVyLmVsZW1lbnQuc3R5bGUudG9wID0gKHRpbWVsaW5lQ291bnQgKiB0aW1lbGluZUhlaWdo
dCArIGV4dHJhT2Zmc2V0KSArICJweCI7CisgICAgICAgIHRoaXMuX3VwZGF0ZVRpbWVsaW5lT3Zl
cnZpZXdIZWlnaHQoKTsKICAgICB9LAogCiAgICAgX3JlY29yZGluZ1Jlc2V0OiBmdW5jdGlvbihl
dmVudCkKQEAgLTU2Myw3ICs2MjYsOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdD
b250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3JlY29yZGluZy5yZW1vdmVF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZy5FdmVudC5UaW1lc1Vw
ZGF0ZWQsIHRoaXMuX3JlY29yZGluZ1RpbWVzVXBkYXRlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMu
X3dhaXRpbmdUb1Jlc2V0Q3VycmVudFRpbWUgPSBmYWxzZTsKIAotICAgICAgICB0aGlzLl90aW1l
bGluZU92ZXJ2aWV3LnJlc2V0KCk7CisgICAgICAgIHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZp
ZXcucmVzZXQoKTsKKyAgICAgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3
LnJlc2V0KCk7CiAgICAgICAgIHRoaXMuX292ZXJ2aWV3VGltZWxpbmVWaWV3LnJlc2V0KCk7CiAg
ICAgICAgIGZvciAodmFyIHRpbWVsaW5lVmlldyBvZiB0aGlzLl90aW1lbGluZVZpZXdNYXAudmFs
dWVzKCkpCiAgICAgICAgICAgICB0aW1lbGluZVZpZXcucmVzZXQoKTsKQEAgLTU4MCwxMCArNjQ0
LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlw
ZSA9IHsKICAgICBfdGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCiAg
ICAgewogICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3KSB7Ci0gICAgICAgICAg
ICB0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcuc3RhcnRUaW1lID0gdGhpcy5fdGltZWxpbmVPdmVy
dmlldy5zZWxlY3Rpb25TdGFydFRpbWU7Ci0gICAgICAgICAgICB0aGlzLmN1cnJlbnRUaW1lbGlu
ZVZpZXcuZW5kVGltZSA9IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1l
ICsgdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25EdXJhdGlvbjsKKyAgICAgICAgICAg
IHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5zdGFydFRpbWUgPSB0aGlzLl9jdXJyZW50VGltZWxp
bmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7CisgICAgICAgICAgICB0aGlzLmN1cnJlbnRU
aW1lbGluZVZpZXcuZW5kVGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVj
dGlvblN0YXJ0VGltZSArIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvbkR1
cmF0aW9uOwogCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVuZGVyaW5nRnJhbWVEZXRhaWxz
U2lkZWJhclBhbmVsLnVwZGF0ZVJhbmdlU2VsZWN0aW9uKHRoaXMuY3VycmVudFRpbWVsaW5lVmll
dy5zdGFydFRpbWUsIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5lbmRUaW1lKTsKKyAgICAgICAg
ICAgIGlmICh0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QudHlwZSA9
PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCisgICAg
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGViYXJQYW5l
bC51cGRhdGVSYW5nZVNlbGVjdGlvbih0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcuc3RhcnRUaW1l
LCB0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcuZW5kVGltZSk7CiAgICAgICAgIH0KIAogICAgICAg
ICAvLyBEZWxheSB1bnRpbCB0aGUgbmV4dCBmcmFtZSB0byBzdGF5IGluIHN5bmMgd2l0aCB0aGUg
Y3VycmVudCB0aW1lbGluZSB2aWV3J3MgdGltZS1iYXNlZCBsYXlvdXQgY2hhbmdlcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
UnVsZXIuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVSdWxlci5jc3MKaW5kZXggMmQ4Njc5M2ZiNzYwNTEyNzI3YzlkYTMzZDM4YWZmYTExNDFi
MmI2NS4uNWFkMDY0NmY1ZjdjZjg5ZjU3ODFjZDQwZmRhZGUzNDE2MDg3NjI5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxl
ci5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVSdWxlci5jc3MKQEAgLTQ0LDYgKzQ0LDEwIEBACiAgICAgdG9wOiAwOwogICAgIGxlZnQ6
IDA7CiAgICAgcmlnaHQ6IDA7CisgICAgaGVpZ2h0OiAyOXB4OworfQorCitib2R5Lm1hYy1wbGF0
Zm9ybS5sZWdhY3kgLnRpbWVsaW5lLXJ1bGVyID4gLmhlYWRlciB7CiAgICAgaGVpZ2h0OiAyMnB4
OwogfQogCkBAIC01OCw3ICs2Miw3IEBACiAKIC50aW1lbGluZS1ydWxlciA+IC5oZWFkZXIgPiAu
ZGl2aWRlciA+IC5sYWJlbCB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHRvcDogNXB4
OworICAgIHRvcDogOHB4OwogICAgIHJpZ2h0OiA1cHg7CiAgICAgZm9udC1zaXplOiA5cHg7CiAg
ICAgY29sb3I6IHJnYigxMjgsIDEyOCwgMTI4KTsKQEAgLTEyOSwxMSArMTMzLDE1IEBACiAudGlt
ZWxpbmUtcnVsZXIgPiAuc2VsZWN0aW9uLWRyYWcgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
ICAgICB0b3A6IDA7Ci0gICAgaGVpZ2h0OiAyMnB4OworICAgIGhlaWdodDogMjlweDsKICAgICBj
dXJzb3I6IC13ZWJraXQtZ3JhYjsKICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogfQogCitib2R5
Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnRpbWVsaW5lLXJ1bGVyID4gLnNlbGVjdGlvbi1kcmFnIHsK
KyAgICBoZWlnaHQ6IDIycHg7Cit9CisKIC50aW1lbGluZS1ydWxlciA+IC5zZWxlY3Rpb24tZHJh
ZzphY3RpdmUgewogICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZzsKIH0KQEAgLTE0Miw3ICsx
NTAsNyBAQAogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB0b3A6IDA7CiAgICAgd2lkdGg6
IDhweDsKLSAgICBoZWlnaHQ6IDIxcHg7CisgICAgaGVpZ2h0OiAyOHB4OwogICAgIGJvcmRlci1y
YWRpdXM6IDVweDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTY0LCAxNjQsIDE2NCk7CiAg
ICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7CkBAIC0xNTEsNiArMTU5LDEwIEBACiAgICAgei1p
bmRleDogMTU7CiB9CiAKK2JvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAudGltZWxpbmUtcnVsZXIg
PiAuc2VsZWN0aW9uLWhhbmRsZSB7CisgICAgaGVpZ2h0OiAyMXB4OworfQorCiAudGltZWxpbmUt
cnVsZXIgPiAuc2VsZWN0aW9uLWhhbmRsZS5sZWZ0IHsKICAgICAtd2Via2l0LXRyYW5zZm9ybTog
dHJhbnNsYXRlWCgtNHB4KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpzCmluZGV4IGM4OTBhNjMyNTQ2
ZjQ5ZTMxNDliOWE5ODMyOTJkNmJjYmMzOGZhNWYuLjY1NzBhM2ZjODIxYTEyNjZmMmY1ZDE5MDk1
ZDI5MDk1OTg4ODQzMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5qcwpAQCAtNDksNiArNDksNyBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9lbmRUaW1l
UGlubmVkID0gZmFsc2U7CiAgICAgdGhpcy5fYWxsb3dzQ2xpcHBlZExhYmVscyA9IGZhbHNlOwog
ICAgIHRoaXMuX2FsbG93c1RpbWVSYW5nZVNlbGVjdGlvbiA9IGZhbHNlOworICAgIHRoaXMuX2Zv
cm1hdExhYmVsQ2FsbGJhY2sgPSBudWxsOwogCiAgICAgdGhpcy5fbWFya2VyRWxlbWVudE1hcCA9
IG5ldyBNYXA7CiB9OwpAQCAtMTAwLDYgKzEwMSwxOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
dWxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7CiAgICAgfSwK
IAorICAgIHNldCBmb3JtYXRMYWJlbENhbGxiYWNrKHgpCisgICAgeworICAgICAgICBjb25zb2xl
LmFzc2VydCh0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiB8fCAheCwgeCk7CisKKyAgICAgICAgaWYg
KHRoaXMuX2Zvcm1hdExhYmVsQ2FsbGJhY2sgPT09IHgpCisgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgdGhpcy5fZm9ybWF0TGFiZWxDYWxsYmFjayA9IHggfHwgbnVsbDsKKworICAgICAg
ICB0aGlzLl9uZWVkc0xheW91dCgpOworICAgIH0sCisKICAgICBnZXQgYWxsb3dzVGltZVJhbmdl
U2VsZWN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9hbGxvd3NUaW1lUmFuZ2VT
ZWxlY3Rpb247CkBAIC00MDIsNyArNDE1LDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb25PZkVsZW1lbnQo
ZGl2aWRlckVsZW1lbnQsIG5ld0xlZnRQb3NpdGlvbiwgdmlzaWJsZVdpZHRoKTsKICAgICAgICAg
ICAgIHRoaXMuX3VwZGF0ZVBvc2l0aW9uT2ZFbGVtZW50KG1hcmtlckRpdmlkZXJFbGVtZW50LCBu
ZXdMZWZ0UG9zaXRpb24sIHZpc2libGVXaWR0aCk7CiAKLSAgICAgICAgICAgIGRpdmlkZXJFbGVt
ZW50Ll9sYWJlbEVsZW1lbnQudGV4dENvbnRlbnQgPSBpc05hTihkaXZpZGVyVGltZSkgPyAiIiA6
IE51bWJlci5zZWNvbmRzVG9TdHJpbmcoZGl2aWRlclRpbWUgLSB0aGlzLl96ZXJvVGltZSwgdHJ1
ZSk7CisgICAgICAgICAgICBkaXZpZGVyRWxlbWVudC5fbGFiZWxFbGVtZW50LnRleHRDb250ZW50
ID0gaXNOYU4oZGl2aWRlclRpbWUpID8gIiIgOiB0aGlzLl9mb3JtYXREaXZpZGVyTGFiZWxUZXh0
KGRpdmlkZXJUaW1lIC0gdGhpcy5femVyb1RpbWUpOworCiAgICAgICAgICAgICBkaXZpZGVyRWxl
bWVudCA9IGRpdmlkZXJFbGVtZW50Lm5leHRTaWJsaW5nOwogICAgICAgICB9CiAKQEAgLTU5MSw2
ICs2MDUsMTQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgdGhpcy5fZGlzcGF0Y2hUaW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkRXZlbnQoKTsK
ICAgICB9LAogCisgICAgX2Zvcm1hdERpdmlkZXJMYWJlbFRleHQ6IGZ1bmN0aW9uKHZhbHVlKQor
ICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2Zvcm1hdExhYmVsQ2FsbGJhY2spCisgICAgICAgICAg
ICByZXR1cm4gdGhpcy5fZm9ybWF0TGFiZWxDYWxsYmFjayh2YWx1ZSk7CisKKyAgICAgICAgcmV0
dXJuIE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUsIHRydWUpOworICAgIH0sCisKICAgICBf
ZGlzcGF0Y2hUaW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIGRlbGV0ZSB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVT
aWRlYmFyUGFuZWwuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuY3NzCmluZGV4IDYyNWEzZDYxZGU1NmI3NTc3NmYwYjRl
MmY2MTVlMGJkNjdmNDFhNDAuLmJjNTFjOWYyZjgzNGY1OTI3NTA1ZjMzYjcxYWUwODYyY2JkNzQz
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lU2lkZWJhclBhbmVsLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5jc3MKQEAgLTExNiwxMiArMTE2
LDE2IEBAIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0
aW9uLnRpbWVsaW5lID4gLnN0YXR1cy1iYXIgPiAuCiAgICAgdG9wOiAwOwogfQogCisucGFuZWwu
dGltZWxpbmUgLm5hdmlnYXRpb24tYmFyLnRpbWVsaW5lcy12aWV3IHsKKyAgICBqdXN0aWZ5LWNv
bnRlbnQ6IGZsZXgtZW5kOworfQorCiAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVs
aW5lID4gLnRpdGxlLWJhciB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIGxlZnQ6IDA7
CiAgICAgcmlnaHQ6IDA7CiAKLSAgICBoZWlnaHQ6IDIycHg7CisgICAgaGVpZ2h0OiAyOXB4Owog
CiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigxNzksIDE3OSwgMTc5KTsKICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQyLCAyNDIsIDI0Mik7CkBAIC0xNDAsNiArMTQ0LDggQEAg
Ym9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGlt
ZWxpbmUgPiAuc3RhdHVzLWJhciA+IC4KIH0KIAogYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5z
aWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAudGl0bGUtYmFyIHsKKyAgICBo
ZWlnaHQ6IDIycHg7CisKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICBi
YWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2IoMjM4LCAyNDAs
IDI0NCksIHJnYigyMjQsIDIyNiwgMjMwKSk7CiAgICAgdGV4dC1zaGFkb3c6IHJnYmEoMjU1LCAy
NTUsIDI1NSwgMC41KSAwIDFweCAwOwpAQCAtMTQ3LDYgKzE1MywyMiBAQCBib2R5Lm1hYy1wbGF0
Zm9ybS5sZWdhY3kgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aXRs
ZS1iYXIgewogCiAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxl
LWJhci50aW1lbGluZXMgewogICAgIHRvcDogMjlweDsKKyAgICBwYWRkaW5nOiA4cHggOXB4Owor
fQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLm5hdmlnYXRpb24t
YmFyLWNvbnRhaW5lciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMjlweDsK
KyAgICBsZWZ0OiAwOworICAgIHJpZ2h0OiAwOworfQorCisuc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uLnRpbWVsaW5lID4gLm5hdmlnYXRpb24tYmFyLWNvbnRhaW5lciA+IC5uYXZpZ2F0aW9u
LWJhciB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAw
OworICAgIHJpZ2h0OiAwOworICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKIH0KIAogYm9keS5t
YWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUg
PiAudGl0bGUtYmFyLnRpbWVsaW5lcyB7CkBAIC0xNTYsMTYgKzE3OCwxNiBAQCBib2R5Lm1hYy1w
bGF0Zm9ybS5sZWdhY3kgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50
aXRsZS1iYXIudGltZQogLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50
aXRsZS1iYXIudGltZWxpbmUtZXZlbnRzIHsKICAgICBoZWlnaHQ6IDIzcHg7CiAgICAgYm9yZGVy
LXRvcDogMXB4IHNvbGlkIHJnYigxNzksIDE3OSwgMTc5KTsKLSAgICB0b3A6IDE1OXB4OworICAg
IHRvcDogMTY2cHg7CiB9CiAKIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lkZWJhciA+IC5w
YW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50aW1lbGluZS1ldmVudHMgewot
ICAgIHRvcDogMTUycHg7CisgICAgdG9wOiAxNTlweDsKIH0KIAogLnNpZGViYXIgPiAucGFuZWwu
bmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCB7CiAgICAgcG9zaXRpb246
IGFic29sdXRlOwotICAgIHRvcDogNTFweDsKKyAgICB0b3A6IDU4cHg7CiAgICAgaGVpZ2h0OiAx
MDhweDsKICAgICBsZWZ0OiAwOwogICAgIHJpZ2h0OiAwOwpAQCAtMjMyLDExICsyNTQsMTEgQEAg
Ym9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGlt
ZWxpbmUgPiAudGltZWxpbmVzLWNvbnQKIAogLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50
aW1lbGluZSA+IC5jb250ZW50LAogLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGlu
ZSA+IC5lbXB0eS1jb250ZW50LXBsYWNlaG9sZGVyIHsKLSAgICB0b3A6IDE4MnB4OworICAgIHRv
cDogMTg5cHg7CiB9CiAKIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gOm1hdGNoZXMoLmNvbnRlbnQsIC5lbXB0eS1jb250ZW50
LXBsYWNlaG9sZGVyKSB7Ci0gICAgdG9wOiAxNzVweDsKKyAgICB0b3A6IDE4MnB4OwogfQogCiAu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lLnRpbWVsaW5lLXJlY29yZGluZy1j
b250ZW50LXZpZXctc2hvd2luZyA+IC5jb250ZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFy
UGFuZWwuanMKaW5kZXggYzIzODZiYThhM2E2MWFjZjFhNmNmMDFhODhlYWVhZGQ0NWI2ODE2MC4u
MmNjMTI4YTIzMjIxMTlkYTM0OWRiNmE1ZmNhY2Y5NzU2NzlkZTNiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVTaWRlYmFyUGFuZWwuanMKQEAgLTM0LDYgKzM0LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJ
bnNwZWMKICAgICAgICAgdGhpcy5fdGltZWxpbmVFdmVudHNUaXRsZUJhckVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgdGhpcy5fdGltZWxpbmVFdmVudHNU
aXRsZUJhckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFy
UGFuZWwuVGl0bGVCYXJTdHlsZUNsYXNzKTsKICAgICAgICAgdGhpcy5fdGltZWxpbmVFdmVudHNU
aXRsZUJhckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFy
UGFuZWwuVGltZWxpbmVFdmVudHNUaXRsZUJhclN0eWxlQ2xhc3MpOworCiAgICAgICAgIHRoaXMu
ZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fdGltZWxpbmVFdmVudHNUaXRsZUJhckVsZW1lbnQs
IHRoaXMuZWxlbWVudC5maXJzdENoaWxkKTsKIAogICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0
bGluZUxhYmVsID0gIiI7CkBAIC00NCw2ICs0NSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
CiAKICAgICAgICAgdGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nID0gbnVsbDsKICAgICAgICAgdGhp
cy5fZGlzcGxheWVkQ29udGVudFZpZXcgPSBudWxsOworICAgICAgICB0aGlzLl92aWV3TW9kZSA9
IFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5UaW1lbGluZXM7CiAK
ICAgICAgICAgLy8gTWFpbnRhaW4gYW4gaW52aXNpYmxlIHRyZWUgb3V0bGluZSBjb250YWluaW5n
IHRyZWUgZWxlbWVudHMgZm9yIGFsbCByZWNvcmRpbmdzLgogICAgICAgICAvLyBUaGUgdmlzaWJs
ZSByZWNvcmRpbmcncyB0cmVlIGVsZW1lbnQgaXMgc2VsZWN0ZWQgd2hlbiB0aGUgY29udGVudCB2
aWV3IGNoYW5nZXMuCkBAIC01Miw3ICs1NCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGVi
YXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAg
ICAgICAgIHRoaXMuX3JlY29yZGluZ3NUcmVlT3V0bGluZS5lbGVtZW50LmNsYXNzTGlzdC5hZGQo
V2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwuSGlkZURpc2Nsb3N1cmVCdXR0b25z
U3R5bGVDbGFzc05hbWUpOwogICAgICAgICB0aGlzLl9yZWNvcmRpbmdzVHJlZU91dGxpbmUuZWxl
bWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLkNv
bnRlbnRUcmVlT3V0bGluZUVsZW1lbnRIaWRkZW5TdHlsZUNsYXNzTmFtZSk7CiAgICAgICAgIHRo
aXMuX3JlY29yZGluZ3NUcmVlT3V0bGluZS5vbnNlbGVjdCA9IHRoaXMuX3JlY29yZGluZ3NUcmVl
RWxlbWVudFNlbGVjdGVkLmJpbmQodGhpcyk7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lc0NvbnRl
bnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3JlY29yZGluZ3NUcmVlT3V0bGlu
ZS5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5fdGltZWxpbmVzQ29udGVudENvbnRhaW5lckVsZW1l
bnQuYXBwZW5kQ2hpbGQodGhpcy5fcmVjb3JkaW5nc1RyZWVPdXRsaW5lLmVsZW1lbnQpO3RoaXMu
X3JlY29yZGluZ3NUcmVlT3V0bGluZS5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9y
Lk5hdmlnYXRpb25TaWRlYmFyUGFuZWwuQ29udGVudFRyZWVPdXRsaW5lRWxlbWVudEhpZGRlblN0
eWxlQ2xhc3NOYW1lKTsKIAogICAgICAgICAvLyBNYWludGFpbiBhIHRyZWUgb3V0bGluZSB3aXRo
IHRyZWUgZWxlbWVudHMgZm9yIGVhY2ggdGltZWxpbmUgb2YgdGhlIHNlbGVjdGVkIHJlY29yZGlu
Zy4KICAgICAgICAgdGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUgPSB0aGlzLmNyZWF0ZUNvbnRl
bnRUcmVlT3V0bGluZSh0cnVlLCB0cnVlKTsKQEAgLTYyLDExICs2NCwyNiBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRl
bmRzIFdlYkluc3BlYwogCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lVHJlZUVsZW1lbnRNYXAgPSBu
ZXcgTWFwOwogCi0gICAgICAgIHZhciB0aW1lbGluZXNUaXRsZUJhckVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgdGltZWxpbmVzVGl0bGVCYXJFbGVtZW50
LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZXMiKTsKLSAgICAg
ICAgdGltZWxpbmVzVGl0bGVCYXJFbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lU2lkZWJhclBhbmVsLlRpdGxlQmFyU3R5bGVDbGFzcyk7Ci0gICAgICAgIHRpbWVsaW5l
c1RpdGxlQmFyRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGVi
YXJQYW5lbC5UaW1lbGluZXNUaXRsZUJhclN0eWxlQ2xhc3MpOwotICAgICAgICB0aGlzLmVsZW1l
bnQuaW5zZXJ0QmVmb3JlKHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudCwgdGhpcy5lbGVtZW50LmZp
cnN0Q2hpbGQpOworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgOCk6IFRpbWVsaW5lQWdl
bnQuRXZlbnRUeXBlLlJlbmRlcmluZ0ZyYW1lIGRpZCBub3QgZXhpc3QuCisgICAgICAgIHRoaXMu
X3JlbmRlcmluZ0ZyYW1lc1N1cHBvcnRlZCA9IHdpbmRvdy5UaW1lbGluZUFnZW50ICYmIFRpbWVs
aW5lQWdlbnQuRXZlbnRUeXBlLlJlbmRlcmluZ0ZyYW1lOworCisgICAgICAgIGlmICh0aGlzLl9y
ZW5kZXJpbmdGcmFtZXNTdXBwb3J0ZWQpIHsKKyAgICAgICAgICAgIHZhciB0aW1lbGluZXNOYXZp
Z2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbShX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuVmlld01vZGUuVGltZWxpbmVzLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVsaW5lcyIpKQorICAgICAgICAgICAgdmFyIHJlbmRlcmlu
Z0ZyYW1lc05hdmlnYXRpb25JdGVtID0gbmV3IFdlYkluc3BlY3Rvci5SYWRpb0J1dHRvbk5hdmln
YXRpb25JdGVtKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5k
ZXJpbmdGcmFtZXMsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVuZGVyaW5nIEZyYW1lcyIpKQor
ICAgICAgICAgICAgdGhpcy5fdmlld01vZGVOYXZpZ2F0aW9uQmFyID0gbmV3IFdlYkluc3BlY3Rv
ci5OYXZpZ2F0aW9uQmFyKG51bGwsIFt0aW1lbGluZXNOYXZpZ2F0aW9uSXRlbSwgcmVuZGVyaW5n
RnJhbWVzTmF2aWdhdGlvbkl0ZW1dLCAidGFibGlzdCIpOworICAgICAgICAgICAgdGhpcy5fdmll
d01vZGVOYXZpZ2F0aW9uQmFyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5hdmlnYXRp
b25CYXIuRXZlbnQuTmF2aWdhdGlvbkl0ZW1TZWxlY3RlZCwgdGhpcy5fdmlld01vZGVTZWxlY3Rl
ZCwgdGhpcyk7CisKKyAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgPSAibmF2aWdh
dGlvbi1iYXItY29udGFpbmVyIjsKKyAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0
aGlzLl92aWV3TW9kZU5hdmlnYXRpb25CYXIuZWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLmVs
ZW1lbnQuaW5zZXJ0QmVmb3JlKGNvbnRhaW5lciwgdGhpcy5lbGVtZW50LmZpcnN0Q2hpbGQpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdmFyIHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICAgICAgdGltZWxpbmVz
VGl0bGVCYXJFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1l
bGluZXMiKTsKKyAgICAgICAgICAgIHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudC5jbGFzc0xpc3Qu
YWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaXRsZUJhclN0eWxlQ2xhc3Mp
OworICAgICAgICAgICAgdGltZWxpbmVzVGl0bGVCYXJFbGVtZW50LmNsYXNzTGlzdC5hZGQoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlRpbWVsaW5lc1RpdGxlQmFyU3R5bGVDbGFz
cyk7CisgICAgICAgICAgICB0aGlzLmVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRpbWVsaW5lc1RpdGxl
QmFyRWxlbWVudCwgdGhpcy5lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICB9CiAKICAgICAg
ICAgdmFyIHN0YXR1c0JhckVsZW1lbnQgPSB0aGlzLl9zdGF0dXNCYXJFbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgIHN0YXR1c0JhckVsZW1lbnQuY2xhc3NM
aXN0LmFkZChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU3RhdHVzQmFyU3R5bGVD
bGFzcyk7CkBAIC04NSwxNiArMTAyLDE2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQ
YW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAg
ICAgICAgV2ViSW5zcGVjdG9yLnNob3dSZXBsYXlJbnRlcmZhY2VTZXR0aW5nLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5fdXBkYXRlUmVw
bGF5SW50ZXJmYWNlVmlzaWJpbGl0eSwgdGhpcyk7CiAKLSAgICAgICAgLy8gV2UgYWx3YXlzIGNy
ZWF0ZSBhIG5hdmlnYXRpb24gYmFyOyBpdHMgdmlzaWJpbGl0eSBpcyBjb250cm9sbGVkIGJ5IFdl
Ykluc3BlY3Rvci5zaG93UmVwbGF5SW50ZXJmYWNlU2V0dGluZy4KLSAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKLSAgICAgICAgdGhp
cy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudCk7CisgICAg
ICAgIC8vIFdlIGFsd2F5cyBjcmVhdGUgYSByZXBsYXkgbmF2aWdhdGlvbiBiYXI7IGl0cyB2aXNp
YmlsaXR5IGlzIGNvbnRyb2xsZWQgYnkgV2ViSW5zcGVjdG9yLnNob3dSZXBsYXlJbnRlcmZhY2VT
ZXR0aW5nLgorICAgICAgICB0aGlzLl9yZXBsYXlOYXZpZ2F0aW9uQmFyID0gbmV3IFdlYkluc3Bl
Y3Rvci5OYXZpZ2F0aW9uQmFyOworICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fcmVwbGF5TmF2aWdhdGlvbkJhci5lbGVtZW50KTsKIAogICAgICAgICB2YXIgdG9vbFRpcCA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQmVnaW4gQ2FwdHVyaW5nIik7CiAgICAgICAgIHZhciBh
bHRUb29sVGlwID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbmQgQ2FwdHVyaW5nIik7CiAgICAg
ICAgIHRoaXMuX3JlcGxheUNhcHR1cmVCdXR0b25JdGVtID0gbmV3IFdlYkluc3BlY3Rvci5BY3Rp
dmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtKCJyZXBsYXktY2FwdHVyZSIsIHRvb2xUaXAsIGFsdFRv
b2xUaXAsICJJbWFnZXMvQ2lyY2xlLnN2ZyIsIDE2LCAxNik7CiAgICAgICAgIHRoaXMuX3JlcGxh
eUNhcHR1cmVCdXR0b25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJ1dHRvbk5h
dmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3JlcGxheUNhcHR1cmVCdXR0b25DbGlj
a2VkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fcmVwbGF5Q2FwdHVyZUJ1dHRvbkl0ZW0uZW5hYmxl
ZCA9IHRydWU7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0o
dGhpcy5fcmVwbGF5Q2FwdHVyZUJ1dHRvbkl0ZW0pOworICAgICAgICB0aGlzLl9yZXBsYXlOYXZp
Z2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX3JlcGxheUNhcHR1cmVCdXR0b25JdGVt
KTsKIAogICAgICAgICB2YXIgcGF1c2VJbWFnZSwgcmVzdW1lSW1hZ2U7CiAgICAgICAgIGlmIChX
ZWJJbnNwZWN0b3IuUGxhdGZvcm0uaXNMZWdhY3lNYWNPUykgewpAQCAtMTEwLDEzICsxMjcsMTMg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhpcy5fcmVwbGF5UGF1c2VSZXN1
bWVCdXR0b25JdGVtID0gbmV3IFdlYkluc3BlY3Rvci5Ub2dnbGVCdXR0b25OYXZpZ2F0aW9uSXRl
bSgicmVwbGF5LXBhdXNlLXJlc3VtZSIsIHRvb2xUaXAsIGFsdFRvb2xUaXAsIHJlc3VtZUltYWdl
LnNyYywgcGF1c2VJbWFnZS5zcmMsIHBhdXNlSW1hZ2Uud2lkdGgsIHBhdXNlSW1hZ2UuaGVpZ2h0
LCB0cnVlKTsKICAgICAgICAgdGhpcy5fcmVwbGF5UGF1c2VSZXN1bWVCdXR0b25JdGVtLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNr
ZWQsIHRoaXMuX3JlcGxheVBhdXNlUmVzdW1lQnV0dG9uQ2xpY2tlZCwgdGhpcyk7CiAgICAgICAg
IHRoaXMuX3JlcGxheVBhdXNlUmVzdW1lQnV0dG9uSXRlbS5lbmFibGVkID0gZmFsc2U7Ci0gICAg
ICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fcmVwbGF5UGF1
c2VSZXN1bWVCdXR0b25JdGVtKTsKKyAgICAgICAgdGhpcy5fcmVwbGF5TmF2aWdhdGlvbkJhci5h
ZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9yZXBsYXlQYXVzZVJlc3VtZUJ1dHRvbkl0ZW0pOwogCiAg
ICAgICAgIFdlYkluc3BlY3Rvci5yZXBsYXlNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlJlcGxheU1hbmFnZXIuRXZlbnQuQ2FwdHVyZVN0YXJ0ZWQsIHRoaXMuX2NhcHR1cmVT
dGFydGVkLCB0aGlzKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnJlcGxheU1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVwbGF5TWFuYWdlci5FdmVudC5DYXB0dXJlU3RvcHBl
ZCwgdGhpcy5fY2FwdHVyZVN0b3BwZWQsIHRoaXMpOwogCiAgICAgICAgIHRoaXMuX3N0YXR1c0Jh
ckVsZW1lbnQub25jb250ZXh0bWVudSA9IHRoaXMuX2NvbnRleHRNZW51TmF2aWdhdGlvbkJhck9y
U3RhdHVzQmFyLmJpbmQodGhpcyk7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVu
dC5vbmNvbnRleHRtZW51ID0gdGhpcy5fY29udGV4dE1lbnVOYXZpZ2F0aW9uQmFyT3JTdGF0dXNC
YXIuYmluZCh0aGlzKTsKKyAgICAgICAgdGhpcy5fcmVwbGF5TmF2aWdhdGlvbkJhci5lbGVtZW50
Lm9uY29udGV4dG1lbnUgPSB0aGlzLl9jb250ZXh0TWVudU5hdmlnYXRpb25CYXJPclN0YXR1c0Jh
ci5iaW5kKHRoaXMpOwogICAgICAgICB0aGlzLl91cGRhdGVSZXBsYXlJbnRlcmZhY2VWaXNpYmls
aXR5KCk7CiAKICAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnQuUmVjb3JkaW5nQ3JlYXRl
ZCwgdGhpcy5fcmVjb3JkaW5nQ3JlYXRlZCwgdGhpcyk7CkBAIC0xMjUsNiArMTQyLDExIEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBh
bmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIHRoaXMuY29udGVudEJyb3dzZXIuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ29udGVudEJyb3dzZXIuRXZlbnQuQ3VycmVudENvbnRl
bnRWaWV3RGlkQ2hhbmdlLCB0aGlzLl9jb250ZW50QnJvd3NlckN1cnJlbnRDb250ZW50Vmlld0Rp
ZENoYW5nZSwgdGhpcyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmlu
Z1N0YXJ0ZWQsIHRoaXMuX2NhcHR1cmluZ1N0YXJ0ZWQsIHRoaXMpOwogICAgICAgICBXZWJJbnNw
ZWN0b3IudGltZWxpbmVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lTWFuYWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkLCB0aGlzLl9jYXB0dXJpbmdTdG9wcGVk
LCB0aGlzKTsKKworICAgICAgICBpZiAodGhpcy5fcmVuZGVyaW5nRnJhbWVzU3VwcG9ydGVkKSB7
CisgICAgICAgICAgICB0aGlzLl92aWV3TW9kZVNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNl
dHRpbmcoInRpbWVsaW5lcy12aWV3LW1vZGUiLCB0aGlzLl92aWV3TW9kZSk7CisgICAgICAgICAg
ICB0aGlzLl92aWV3TW9kZU5hdmlnYXRpb25CYXIuc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbSA9IHRo
aXMuX3ZpZXdNb2RlU2V0dGluZy52YWx1ZTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8vIFB1
YmxpYwpAQCAtMTM3LDYgKzE1OSwxOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFu
ZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAg
ICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcodGhpcy5fZGlzcGxheWVk
Q29udGVudFZpZXcpOwogICAgIH0KIAorICAgIGdldCB2aWV3TW9kZSgpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5fdmlld01vZGU7CisgICAgfQorCisgICAgY2FuU2hvd1RpbWVsaW5lKHRp
bWVsaW5lKQorICAgIHsKKyAgICAgICAgaWYgKHRpbWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAgICAgcmV0dXJu
IHRoaXMudmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3
TW9kZS5SZW5kZXJpbmdGcmFtZXM7CisgICAgICAgIHJldHVybiB0aGlzLnZpZXdNb2RlID09PSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuVmlld01vZGUuVGltZWxpbmVzOworICAg
IH0KKwogICAgIHNob3dEZWZhdWx0Q29udGVudFZpZXcoKQogICAgIHsKICAgICAgICAgaWYgKHRo
aXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3KQpAQCAtMjQ0LDYgKzI3OCwxMyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRl
bmRzIFdlYkluc3BlYwogICAgIHNob3dUaW1lbGluZVZpZXdGb3JUaW1lbGluZSh0aW1lbGluZSkK
ICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRpbWVsaW5lIGluc3RhbmNlb2YgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lLCB0aW1lbGluZSk7CisKKyAgICAgICAgaWYgKHRpbWVsaW5lLnR5cGUg
PT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKSB7Cisg
ICAgICAgICAgICB0aGlzLl9kaXNwbGF5ZWRDb250ZW50Vmlldy5zaG93VGltZWxpbmVWaWV3Rm9y
VGltZWxpbmUodGltZWxpbmUpOworICAgICAgICAgICAgdGhpcy5jb250ZW50QnJvd3Nlci5zaG93
Q29udGVudFZpZXcodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKICAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fdGltZWxpbmVU
cmVlRWxlbWVudE1hcC5oYXModGltZWxpbmUpLCAiQ2Fubm90IHNob3cgdGltZWxpbmUgYmVjYXVz
ZSBpdCBkb2VzIG5vdCBiZWxvbmcgdG8gdGhlIHNob3duIHJlY29yZGluZy4iLCB0aW1lbGluZSk7
CiAKICAgICAgICAgLy8gRGVmZXIgc2hvd2luZyB0aGUgcmVsZXZhbnQgdGltZWxpbmUgdG8gdGhl
IG9uc2VsZWN0IGhhbmRsZXIgb2YgdGhlIHRpbWVsaW5lcyB0cmVlIGVsZW1lbnQuCkBAIC0yODgs
MTEgKzMyOSwxMyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBU
aW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgICAgIGNvb2tpZVtX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2hvd2luZ1RpbWVsaW5lUmVjb3JkaW5n
Q29udGVudFZpZXdDb29raWVLZXldID0gdGhpcy5jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVu
dFZpZXcgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dzsKIAotICAgICAgICB2YXIgc2VsZWN0ZWRUcmVlRWxlbWVudCA9IHRoaXMuX3RpbWVsaW5lc1Ry
ZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQ7Ci0gICAgICAgIGlmIChzZWxlY3RlZFRyZWVF
bGVtZW50KQotICAgICAgICAgICAgY29va2llW1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQ
YW5lbC5TZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXJDb29raWVLZXldID0gc2VsZWN0ZWRU
cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdC50eXBlOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBjb29raWVbV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNlbGVjdGVkVGlt
ZWxpbmVWaWV3SWRlbnRpZmllckNvb2tpZUtleV0gPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwuT3ZlcnZpZXdUaW1lbGluZUlkZW50aWZpZXJDb29raWVWYWx1ZTsKKyAgICAgICAg
aWYgKFdlYkluc3BlY3Rvci5jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldykgeworICAgICAg
ICAgICAgdmFyIGN1cnJlbnRUaW1lbGluZVZpZXcgPSBXZWJJbnNwZWN0b3IuY29udGVudEJyb3dz
ZXIuY3VycmVudENvbnRlbnRWaWV3LmN1cnJlbnRUaW1lbGluZVZpZXc7CisgICAgICAgICAgICBp
ZiAoY3VycmVudFRpbWVsaW5lVmlldykKKyAgICAgICAgICAgICAgICBjb29raWVbV2ViSW5zcGVj
dG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmllckNv
b2tpZUtleV0gPSBjdXJyZW50VGltZWxpbmVWaWV3LnJlcHJlc2VudGVkT2JqZWN0LnR5cGU7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgY29va2llW1dlYkluc3BlY3Rvci5UaW1l
bGluZVNpZGViYXJQYW5lbC5TZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXJDb29raWVLZXld
ID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLk92ZXJ2aWV3VGltZWxpbmVJZGVu
dGlmaWVyQ29va2llVmFsdWU7CisgICAgICAgIH0KIAogICAgICAgICBzdXBlci5zYXZlU3RhdGVU
b0Nvb2tpZShjb29raWUpOwogICAgIH0KQEAgLTMxMSw2ICszNTQsOSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRz
IFdlYkluc3BlYwogICAgICAgICB0aGlzLl9yZXN0b3JlZFNob3dpbmdUaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3ID0gY29va2llW1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5T
aG93aW5nVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlld0Nvb2tpZUtleV07CiAKICAgICAgICAg
dmFyIHNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmllciA9IGNvb2tpZVtXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwuU2VsZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlmaWVyQ29va2ll
S2V5XTsKKyAgICAgICAgaWYgKCF0aGlzLl9yZW5kZXJpbmdGcmFtZXNTdXBwb3J0ZWQgJiYgc2Vs
ZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlmaWVyID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkKKyAgICAgICAgICAgIHNlbGVjdGVkVGltZWxpbmVWaWV3
SWRlbnRpZmllciA9IG51bGw7CisKICAgICAgICAgaWYgKCFzZWxlY3RlZFRpbWVsaW5lVmlld0lk
ZW50aWZpZXIgfHwgc2VsZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlmaWVyID09PSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuT3ZlcnZpZXdUaW1lbGluZUlkZW50aWZpZXJDb29raWVW
YWx1ZSkKICAgICAgICAgICAgIHRoaXMuc2hvd1RpbWVsaW5lT3ZlcnZpZXcoKTsKICAgICAgICAg
ZWxzZSBpZiAodGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nLnRpbWVsaW5lcy5oYXMoc2VsZWN0ZWRU
aW1lbGluZVZpZXdJZGVudGlmaWVyKSkKQEAgLTMyNCw2ICszNzAsNDAgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5k
cyBXZWJJbnNwZWMKIAogICAgIC8vIFByaXZhdGUKIAorICAgIF92aWV3TW9kZVNlbGVjdGVkKGV2
ZW50KQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnQudGFyZ2V0LnNlbGVjdGVk
TmF2aWdhdGlvbkl0ZW0pOworICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC5zZWxlY3RlZE5hdmln
YXRpb25JdGVtKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBzZWxlY3RlZE5h
dmlnYXRpb25JdGVtID0gZXZlbnQudGFyZ2V0LnNlbGVjdGVkTmF2aWdhdGlvbkl0ZW07CisgICAg
ICAgIHRoaXMuX2NoYW5nZVZpZXdNb2RlKHNlbGVjdGVkTmF2aWdhdGlvbkl0ZW0uaWRlbnRpZmll
cik7CisgICAgfQorCisgICAgX2NoYW5nZVZpZXdNb2RlKG1vZGUpCisgICAgeworICAgICAgICBp
ZiAodGhpcy5fdmlld01vZGUgPT09IG1vZGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgdGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdl
Ykluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLkNvbnRlbnRUcmVlT3V0bGluZUVsZW1l
bnRIaWRkZW5TdHlsZUNsYXNzTmFtZSk7CisKKyAgICAgICAgdGhpcy5fdmlld01vZGUgPSBtb2Rl
OworICAgICAgICB0aGlzLl92aWV3TW9kZVNldHRpbmcudmFsdWUgPSB0aGlzLl92aWV3TW9kZTsK
KworICAgICAgICBpZiAodGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nKSB7CisgICAgICAgICAgICBp
ZiAodGhpcy5fdmlld01vZGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5W
aWV3TW9kZS5UaW1lbGluZXMpIHsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGltZWxpbmVz
VHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudCkKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5zaG93VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUodGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUu
c2VsZWN0ZWRUcmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dUaW1lbGluZU92ZXJ2aWV3KCk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHZhciByZW5kZXJpbmdGcmFtZXNU
aW1lbGluZSA9IHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKTsKKyAgICAgICAgICAgICAg
ICBjb25zb2xlLmFzc2VydChyZW5kZXJpbmdGcmFtZXNUaW1lbGluZSwgcmVuZGVyaW5nRnJhbWVz
VGltZWxpbmUpOworICAgICAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3LnNo
b3dUaW1lbGluZVZpZXdGb3JUaW1lbGluZShyZW5kZXJpbmdGcmFtZXNUaW1lbGluZSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKICAgICBfcmVjb3JkaW5nc1RyZWVFbGVtZW50
U2VsZWN0ZWQodHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKQogICAgIHsKICAgICAgICAgY29u
c29sZS5hc3NlcnQodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcpOwpAQCAtNDA5LDYgKzQ4OSw3IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4
dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHJlY29yZGluZyBpbnN0YW5j
ZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZywgcmVjb3JkaW5nKTsKIAogICAgICAg
ICB2YXIgb2xkUmVjb3JkaW5nID0gdGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nIHx8IG51bGw7CisK
ICAgICAgICAgaWYgKG9sZFJlY29yZGluZykgewogICAgICAgICAgICAgb2xkUmVjb3JkaW5nLnJl
bW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nLkV2ZW50LlRp
bWVsaW5lQWRkZWQsIHRoaXMuX3RpbWVsaW5lQWRkZWQsIHRoaXMpOwogICAgICAgICAgICAgb2xk
UmVjb3JkaW5nLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3Jk
aW5nLkV2ZW50LlRpbWVsaW5lUmVtb3ZlZCwgdGhpcy5fdGltZWxpbmVSZW1vdmVkLCB0aGlzKTsK
QEAgLTQ0MiwxMSArNTIzLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9
IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgICAg
ICB0aW1lbGluZSA9IHRpbWVsaW5lT3JFdmVudC5kYXRhLnRpbWVsaW5lOwogCiAgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KHRpbWVsaW5lIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lLCB0
aW1lbGluZSk7Ci0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5zaG91
bGRTaG93Vmlld0ZvclRpbWVsaW5lKHRpbWVsaW5lKSkKLSAgICAgICAgICAgIHJldHVybjsKLQog
ICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdGltZWxpbmVUcmVlRWxlbWVudE1hcC5oYXMo
dGltZWxpbmUpLCB0aW1lbGluZSk7CiAKKyAgICAgICAgaWYgKHRpbWVsaW5lLnR5cGUgPT09IFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAg
ICAgcmV0dXJuOworCiAgICAgICAgIHZhciB0aW1lbGluZVRyZWVFbGVtZW50ID0gbmV3IFdlYklu
c3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQoW3RpbWVsaW5lLmljb25DbGFzc05hbWUsIFdlYklu
c3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5MYXJnZUljb25TdHlsZUNsYXNzXSwgdGltZWxp
bmUuZGlzcGxheU5hbWUsIG51bGwsIHRpbWVsaW5lKTsKICAgICAgICAgdmFyIHRvb2x0aXAgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsb3NlICVzIHRpbWVsaW5lIHZpZXciKS5mb3JtYXQodGlt
ZWxpbmUuZGlzcGxheU5hbWUpOwogICAgICAgICB3cmFwcGVkU1ZHRG9jdW1lbnQocGxhdGZvcm1J
bWFnZVBhdGgoIkNsb3NlTGFyZ2Uuc3ZnIiksIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQ
YW5lbC5DbG9zZUJ1dHRvblN0eWxlQ2xhc3MsIHRvb2x0aXAsIGZ1bmN0aW9uKGVsZW1lbnQpIHsK
QEAgLTQ2NCw3ICs1NDUsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBj
bGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgIHsKICAgICAg
ICAgdmFyIHRpbWVsaW5lID0gZXZlbnQuZGF0YS50aW1lbGluZTsKICAgICAgICAgY29uc29sZS5h
c3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5l
KTsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnNob3VsZFNob3dW
aWV3Rm9yVGltZWxpbmUodGltZWxpbmUpKQorICAgICAgICBpZiAoIXRoaXMuY2FuU2hvd1RpbWVs
aW5lKHRpbWVsaW5lKSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBjb25zb2xlLmFz
c2VydCh0aGlzLl90aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5l
KTsKQEAgLTQ5MSw5ICs1NzIsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVs
ID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAg
fQogCiAgICAgICAgIHZhciB0aW1lbGluZUhlaWdodCA9IDM2OwotICAgICAgICB2YXIgZXZlbnRU
aXRsZUJhck9mZnNldCA9IDUxOwotICAgICAgICB2YXIgY29udGVudEVsZW1lbnRPZmZzZXQgPSA3
NDsKKyAgICAgICAgdmFyIGV2ZW50VGl0bGVCYXJPZmZzZXQgPSA1ODsKKyAgICAgICAgdmFyIGNv
bnRlbnRFbGVtZW50T2Zmc2V0ID0gODE7CiAgICAgICAgIHZhciB0aW1lbGluZUNvdW50ID0gdGhp
cy5fdGltZWxpbmVUcmVlRWxlbWVudE1hcC5zaXplOworCiAgICAgICAgIHRoaXMuX3RpbWVsaW5l
c0NvbnRlbnRDb250YWluZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9ICh0aW1lbGluZUhlaWdodCAq
IHRpbWVsaW5lQ291bnQpICsgInB4IjsKICAgICAgICAgdGhpcy5fdGltZWxpbmVFdmVudHNUaXRs
ZUJhckVsZW1lbnQuc3R5bGUudG9wID0gKHRpbWVsaW5lSGVpZ2h0ICogdGltZWxpbmVDb3VudCAr
IGV2ZW50VGl0bGVCYXJPZmZzZXQpICsgInB4IjsKICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVu
dC5zdHlsZS50b3AgPSAodGltZWxpbmVIZWlnaHQgKiB0aW1lbGluZUNvdW50ICsgY29udGVudEVs
ZW1lbnRPZmZzZXQpICsgInB4IjsKQEAgLTU0Miw3ICs2MjQsNyBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdl
Ykluc3BlYwogICAgICAgICB2YXIgc2hvdWxkU2hvd1JlcGxheUludGVyZmFjZSA9IHdpbmRvdy5S
ZXBsYXlBZ2VudCAmJiBXZWJJbnNwZWN0b3Iuc2hvd1JlcGxheUludGVyZmFjZVNldHRpbmcudmFs
dWU7CiAKICAgICAgICAgdGhpcy5fc3RhdHVzQmFyRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5IaWRkZW5TdHlsZUNsYXNzTmFtZSwgc2hv
dWxkU2hvd1JlcGxheUludGVyZmFjZSk7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuZWxl
bWVudC5jbGFzc0xpc3QudG9nZ2xlKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5I
aWRkZW5TdHlsZUNsYXNzTmFtZSwgIXNob3VsZFNob3dSZXBsYXlJbnRlcmZhY2UpOworICAgICAg
ICB0aGlzLl9yZXBsYXlOYXZpZ2F0aW9uQmFyLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShXZWJJ
bnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuSGlkZGVuU3R5bGVDbGFzc05hbWUsICFzaG91
bGRTaG93UmVwbGF5SW50ZXJmYWNlKTsKICAgICB9CiAKICAgICBfY29udGV4dE1lbnVOYXZpZ2F0
aW9uQmFyT3JTdGF0dXNCYXIoKQpAQCAtNjA5LDYgKzY5MSwxMSBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdl
Ykluc3BlYwogICAgIH0KIH07CiAKK1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5W
aWV3TW9kZSA9IHsKKyAgICBUaW1lbGluZXM6ICJ0aW1lbGluZS1zaWRlYmFyLXBhbmVsLXZpZXct
bW9kZS10aW1lbGluZXMiLAorICAgIFJlbmRlcmluZ0ZyYW1lczogInRpbWVsaW5lLXNpZGViYXIt
cGFuZWwtdmlldy1tb2RlLWZyYW1lcyIKK307CisKIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGVi
YXJQYW5lbC5IaWRkZW5TdHlsZUNsYXNzTmFtZSA9ICJoaWRkZW4iOwogV2ViSW5zcGVjdG9yLlRp
bWVsaW5lU2lkZWJhclBhbmVsLlN0YXR1c0JhclN0eWxlQ2xhc3MgPSAic3RhdHVzLWJhciI7CiBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuUmVjb3JkR2x5cGhTdHlsZUNsYXNzID0g
InJlY29yZC1nbHlwaCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2ViSW5z
cGVjdG9yVUkudmN4cHJvai9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1dlYkluc3BlY3RvclVJLnZjeHByb2ovV2ViSW5zcGVjdG9yVUkudmN4cHJvagppbmRl
eCA5MDI4ZjZmNzQ2Yjc1OTc3NTllMzJkMjY1Y2MwNDIyMTI1YzlhNmQ2Li5hYjk3Zjg5NGY5MmJi
OTIxZjhlNTVmNjY4OGQzYTVlZmJmMTZkZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvV2ViSW5zcGVjdG9yVUkudmN4cHJvai9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qL1dlYkluc3BlY3Rv
clVJLnZjeHByb2oKQEAgLTY5NSw2ICs2OTUsNyBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVz
ZXJJbnRlcmZhY2VcTGVnYWN5XDYuMFxJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMiIC8+CiAg
ICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxMZWdhY3lcNy4wXEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNl
XExlZ2FjeVw4LjBcSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIiAvPgorICAgIDxOb25lIElu
Y2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGluZWFyVGltZWxpbmVPdmVydmlldy5qcyIgLz4KICAg
ICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExvYWRJbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHMuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxMb2FkTG9j
YWxpemVkU3RyaW5ncy5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNl
XExvZ0NvbnRlbnRWaWV3LmNzcyIgLz4KQEAgLTczOSw2ICs3NDAsNyBAQAogICAgIDxOb25lIElu
Y2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVtb3RlT2JqZWN0LmpzIiAvPgogICAgIDxOb25lIElu
Y2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVs
LmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5nRnJh
bWVUaW1lRGF0YUdyaWROb2RlLmpzIiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRl
cmZhY2VcUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmpzIiAvPgogICAgIDxOb25lIElu
Y2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3Jh
cGguY3NzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5n
RnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5c
VXNlckludGVyZmFjZVxSZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzIiAvPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1dlYkluc3BlY3RvclVJLnZjeHByb2ovV2ViSW5z
cGVjdG9yVUkudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1dlYkluc3Bl
Y3RvclVJLnZjeHByb2ovV2ViSW5zcGVjdG9yVUkudmN4cHJvai5maWx0ZXJzCmluZGV4IGNlMWRi
NjRiNTIwYmYyNTk4YTBkZTM2YjI0YjBlNTU2NmQ5YjUyMmQuLjdjNmYzNDgzZGE0ODg2OTIxNWIw
MGZkMzUxOWM0ZTE3ZDVjN2UxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9X
ZWJJbnNwZWN0b3JVSS52Y3hwcm9qL1dlYkluc3BlY3RvclVJLnZjeHByb2ouZmlsdGVycworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2ViSW5zcGVjdG9yVUkudmN4cHJvai9XZWJJbnNwZWN0
b3JVSS52Y3hwcm9qLmZpbHRlcnMKQEAgLTY1NCw2ICs2NTQsOSBAQAogICAgIDxOb25lIEluY2x1
ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGF5b3V0VGltZWxpbmVSZWNvcmQuanMiPgogICAgICAgPEZp
bHRlcj5Vc2VySW50ZXJmYWNlPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgorICAgIDxOb25lIEluY2x1
ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGluZWFyVGltZWxpbmVPdmVydmlldy5qcyI+CisgICAgICA8
RmlsdGVyPlVzZXJJbnRlcmZhY2U8L0ZpbHRlcj4KKyAgICA8L05vbmU+CiAgICAgPE5vbmUgSW5j
bHVkZT0iLi5cVXNlckludGVyZmFjZVxMb2FkSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIj4K
ICAgICAgIDxGaWx0ZXI+VXNlckludGVyZmFjZTwvRmlsdGVyPgogICAgIDwvTm9uZT4KQEAgLTc4
Niw2ICs3ODksOSBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVy
aW5nRnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZS5qcyI+CiAgICAgICA8RmlsdGVyPlVzZXJJbnRl
cmZhY2U8L0ZpbHRlcj4KICAgICA8L05vbmU+CisgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlcklu
dGVyZmFjZVxSZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanMiPgorICAgICAgPEZpbHRl
cj5Vc2VySW50ZXJmYWNlPC9GaWx0ZXI+CisgICAgPC9Ob25lPgogICAgIDxOb25lIEluY2x1ZGU9
Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguY3Nz
Ij4KICAgICAgIDxGaWx0ZXI+VXNlckludGVyZmFjZTwvRmlsdGVyPgogICAgIDwvTm9uZT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251817</attachid>
            <date>2015-04-27 20:48:43 -0700</date>
            <delta_ts>2015-04-28 01:03:34 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-144245-20150427204734.patch</filename>
            <type>text/plain</type>
            <size>81232</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFn
ZXIuanMKaW5kZXggYzMwY2IyM2JmYjUxZjVkMzQ5OTJlOGM2MmU1ODFhNDk5ZGIxMWRmMy4uMTkw
ZGM3MmU5MmU4Njc5MDVhMDAwZjBlMWFlNTg2ZTVkOGFmMjAyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2Vy
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtNTAsMTkgKzUwLDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdlYkluc3BlY3Rvci5P
YmplY3QKICAgICAgICAgc2V0VGltZW91dChkZWxheWVkV29yay5iaW5kKHRoaXMpLCAwKTsKICAg
ICB9CiAKLSAgICAvLyBTdGF0aWMKLQotICAgIHN0YXRpYyBzaG91bGRTaG93Vmlld0ZvclRpbWVs
aW5lKHRpbWVsaW5lKQotICAgIHsKLSAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDgpOiBU
aW1lbGluZUFnZW50LkV2ZW50VHlwZS5SZW5kZXJpbmdGcmFtZSBkaWQgbm90IGV4aXN0LAotICAg
ICAgICAvLyBmYWxsYmFjayB0byBkaXNwbGF5aW5nIGFsbCBvdGhlciB0aW1lbGluZXMuCi0gICAg
ICAgIGlmICh3aW5kb3cuVGltZWxpbmVBZ2VudCAmJiAhVGltZWxpbmVBZ2VudC5FdmVudFR5cGUu
UmVuZGVyaW5nRnJhbWUpCi0gICAgICAgICAgICByZXR1cm4gdGltZWxpbmUudHlwZSAhPT0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWU7Ci0KLSAgICAgICAg
Ly8gRG9uJ3Qgc2hvdyB0aGUgTGF5b3V0IHRpbWVsaW5lIHZpZXcgd2hlbiB0aGUgUmVuZGVyaW5n
RnJhbWUgdGltZWxpbmUgZXhpc3RzLgotICAgICAgICByZXR1cm4gdGltZWxpbmUudHlwZSAhPT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0OwotICAgIH0KLQogICAgIC8v
IFB1YmxpYwogCiAgICAgLy8gVGhlIGN1cnJlbnQgcmVjb3JkaW5nIHRoYXQgbmV3IHRpbWVsaW5l
IHJlY29yZHMgd2lsbCBiZSBhcHBlbmRlZCB0bywgaWYgYW55LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IDg4MmE0ZTRmYWRlMjBkY2FmMzBl
NzdmZDhkOGFmOTAzM2ZiMzIwOWIuLmI4YTJhMmY0NGZhNjY4MTU1ZmFlMTk2MjAzY2MwYzJmOWQ1
MDg0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01h
aW4uaHRtbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0
bWwKQEAgLTM0MCw2ICszNDAsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9PYmplY3RUcmVl
QmFzZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU291
cmNlQ29kZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3Mv
U3RvcmFnZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iVmlld3Mv
VGltZWxpbmVPdmVydmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Rp
bWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0PgogCiAgICAgPHNjcmlwdCBzcmM9
IlZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CkBAIC00NDYsNiArNDQ3
LDcgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTGF5b3V0VGltZWxpbmVEYXRhR3JpZE5vZGUu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXlvdXRUaW1lbGluZU92ZXJ2
aWV3R3JhcGguanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXlvdXRUaW1l
bGluZVZpZXcuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MaW5lYXJUaW1l
bGluZU92ZXJ2aWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTG9nQ29u
dGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9Mb2dUcmVlRWxl
bWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL01ldHJpY3NTdHlsZURl
dGFpbHNQYW5lbC5qcyI+PC9zY3JpcHQ+CkBAIC00NzEsNiArNDczLDcgQEAKICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGViYXJQYW5lbC5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVE
YXRhR3JpZE5vZGUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9SZW5kZXJp
bmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJW
aWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVwbGF5RGFzaGJvYXJkVmlldy5qcyI+PC9z
Y3JpcHQ+CkBAIC01MDIsNyArNTA1LDYgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvU3ludGF4
SGlnaGxpZ2h0aW5nU3VwcG9ydC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdz
L1RleHRDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1Rl
eHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iVmll
d3MvVGltZWxpbmVPdmVydmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdz
L1RpbWVsaW5lUmVjb3JkQmFyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3Mv
VGltZWxpbmVSZWNvcmRGcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdz
L1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1JlbmRlcmluZ0ZyYW1l
VGltZWxpbmVSZWNvcmQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5qcwppbmRleCBlYzU3NjA5ODM5ZmQy
NzcwNzAzYTM0YWE0YzY3MmYyNWExNzJlNGI0Li41ZTBjMDNjMWJhOTRmZjg3ZTkwZTdjMDI5Zjcy
Y2I2MTQ3OWQwNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZVJlY29yZC5qcwpAQCAtMzIsMjEgKzMyLDI2IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZCBlCiAg
ICAgICAgIHRoaXMuX2NoaWxkcmVuID0gY2hpbGRyZW4gfHwgW107CiAgICAgICAgIHRoaXMuX2R1
cmF0aW9uQnlSZWNvcmRUeXBlID0gbmV3IE1hcDsKICAgICAgICAgdGhpcy5fZHVyYXRpb25SZW1h
aW5kZXIgPSBOYU47Ci0gICAgICAgIHRoaXMuX2ZyYW1lTnVtYmVyID0gV2ViSW5zcGVjdG9yLlJl
bmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuX25leHRGcmFtZU51bWJlcisrOworICAgICAgICB0
aGlzLl9mcmFtZUluZGV4ID0gV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNv
cmQuX25leHRGcmFtZUluZGV4Kys7CiAgICAgfQogCiAgICAgLy8gU3RhdGljCiAKLSAgICBzdGF0
aWMgcmVzZXRGcmFtZU51bWJlcigpCisgICAgc3RhdGljIHJlc2V0RnJhbWVJbmRleCgpCiAgICAg
ewotICAgICAgICBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5fbmV4
dEZyYW1lTnVtYmVyID0gMTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVSZWNvcmQuX25leHRGcmFtZUluZGV4ID0gMDsKICAgICB9CiAKICAgICAvLyBQdWJsaWMK
IAorICAgIGdldCBmcmFtZUluZGV4KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9mcmFt
ZUluZGV4OworICAgIH0KKwogICAgIGdldCBmcmFtZU51bWJlcigpCiAgICAgewotICAgICAgICBy
ZXR1cm4gdGhpcy5fZnJhbWVOdW1iZXI7CisgICAgICAgIHJldHVybiB0aGlzLl9mcmFtZUluZGV4
ICsgMTsKICAgICB9CiAKICAgICBnZXQgY2hpbGRyZW4oKQpAQCAtOTgsNCArMTAzLDQgQEAgV2Vi
SW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQgPSBjbGFzcyBSZW5kZXJpbmdG
cmFtZVRpbWVsaW5lUmVjb3JkIGUKIAogV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxp
bmVSZWNvcmQuVHlwZUlkZW50aWZpZXIgPSAicmVuZGVyaW5nLWZyYW1lLXRpbWVsaW5lLXJlY29y
ZCI7CiAKLVdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLl9uZXh0RnJh
bWVOdW1iZXIgPSAxOworV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQu
X25leHRGcmFtZUluZGV4ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGluZy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGluZy5qcwppbmRleCBi
ZjcxNzFhMzRmM2FjNGE2MGJjYzcwOGEwNzVmMWUwMDY2MGI4YjhhLi5hYTk5YjUyN2E4ZDNhY2Nh
MDU1MGY3NWEwNDZlYTliYzIxYzY2NzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmRpbmcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lUmVjb3JkaW5nLmpz
CkBAIC0xMDksNyArMTA5LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nID0gY2xh
c3MgVGltZWxpbmVSZWNvcmRpbmcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2IKICAgICAgICAgZm9y
ICh2YXIgdGltZWxpbmUgb2YgdGhpcy5fdGltZWxpbmVzLnZhbHVlcygpKQogICAgICAgICAgICAg
dGltZWxpbmUucmVzZXQoc3VwcHJlc3NFdmVudHMpOwogCi0gICAgICAgIFdlYkluc3BlY3Rvci5S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLnJlc2V0RnJhbWVOdW1iZXIoKTsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQucmVzZXRGcmFtZUluZGV4
KCk7CiAKICAgICAgICAgaWYgKCFzdXBwcmVzc0V2ZW50cykgewogICAgICAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nLkV2
ZW50LlJlc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9MaW5lYXJUaW1lbGluZU92ZXJ2aWV3LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjMwMDg3ZjkzNjliODgwMmFkZmZmYjM4YWVhNmFmNjA2MDU2ZGU4NDQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MaW5lYXJU
aW1lbGluZU92ZXJ2aWV3LmpzCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXZWJJbnNw
ZWN0b3IuTGluZWFyVGltZWxpbmVPdmVydmlldyA9IGZ1bmN0aW9uKHRpbWVsaW5lUmVjb3JkaW5n
KQoreworICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gYSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlldyBzdWJjbGFzcywgYW5kIGNhbGwgc3VwZXIoKS4KKworICAgIHZhciBkZWZhdWx0
U2V0dGluZ3NWYWx1ZXMgPSB7CisgICAgICAgIGR1cmF0aW9uUGVyUGl4ZWw6IDAuMDEsCisgICAg
ICAgIHNlbGVjdGlvblN0YXJ0VmFsdWU6IDAsCisgICAgICAgIHNlbGVjdGlvbkR1cmF0aW9uOiA1
CisgICAgfTsKKworICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LmNhbGwodGhpcywg
ImxpbmVhciIsIHRpbWVsaW5lUmVjb3JkaW5nLCAwLjAwMDEsIDYwLCBkZWZhdWx0U2V0dGluZ3NW
YWx1ZXMpOworfTsKKworV2ViSW5zcGVjdG9yLkxpbmVhclRpbWVsaW5lT3ZlcnZpZXcucHJvdG90
eXBlID0geworICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuTGluZWFyVGltZWxpbmVPdmVy
dmlldywKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3Rv
dHlwZSwKKworICAgIC8vIFByb3RlY3RlZAorCisgICAgY2FuU2hvd1RpbWVsaW5lOiBmdW5jdGlv
bih0aW1lbGluZSkKKyAgICB7CisgICAgICAgIHJldHVybiB0aW1lbGluZS50eXBlICE9PSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZTsKKyAgICB9Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVu
ZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVsLmpz
CmluZGV4IDU4MGZmODJkMmYyZDNlNWUxYWRjMmUyN2Y4NDA1OGNiMmFkODU4ZGEuLmI5NTdmMWM3
OWM1MmE3YWJkNTVmMGNkNGRkYjE1YjliMzVkZTBkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGVi
YXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTUwLDggKzUwLDggQEAg
V2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIFJl
bmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGUKICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBl
bmRDaGlsZChkZXRhaWxzU2VjdGlvbi5lbGVtZW50KTsKIAogICAgICAgICB0aGlzLl9yZW5kZXJp
bmdGcmFtZVRpbWVsaW5lID0gbnVsbDsKLSAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gMDsKLSAg
ICAgICAgdGhpcy5fZW5kVGltZSA9IDA7CisgICAgICAgIHRoaXMuX3N0YXJ0RnJhbWVJbmRleCA9
IDA7CisgICAgICAgIHRoaXMuX2VuZEZyYW1lSW5kZXggPSAwOwogCiAgICAgICAgIHRoaXMuX2Vt
cHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA9ICJcdTIwMTQiOwogCkBAIC03MCwxMyArNzAsMTMg
QEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNz
IFJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGUKICAgICAgICAgcmV0dXJuICEhdGhpcy5fcmVuZGVy
aW5nRnJhbWVUaW1lbGluZTsKICAgICB9CiAKLSAgICB1cGRhdGVSYW5nZVNlbGVjdGlvbihzdGFy
dFRpbWUsIGVuZFRpbWUpCisgICAgdXBkYXRlUmFuZ2VTZWxlY3Rpb24oc3RhcnRGcmFtZUluZGV4
LCBlbmRGcmFtZUluZGV4KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3N0YXJ0VGltZSA9PT0g
c3RhcnRUaW1lICYmIHRoaXMuX2VuZFRpbWUgPT09IGVuZFRpbWUpCisgICAgICAgIGlmICh0aGlz
Ll9zdGFydEZyYW1lSW5kZXggPT09IHN0YXJ0RnJhbWVJbmRleCAmJiB0aGlzLl9lbmRGcmFtZUlu
ZGV4ID09PSBlbmRGcmFtZUluZGV4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRo
aXMuX3N0YXJ0VGltZSA9IHN0YXJ0VGltZSB8fCAwOwotICAgICAgICB0aGlzLl9lbmRUaW1lID0g
ZW5kVGltZSB8fCAwOworICAgICAgICB0aGlzLl9zdGFydEZyYW1lSW5kZXggPSBzdGFydEZyYW1l
SW5kZXggfHwgMDsKKyAgICAgICAgdGhpcy5fZW5kRnJhbWVJbmRleCA9IGVuZEZyYW1lSW5kZXgg
fHwgMDsKIAogICAgICAgICB0aGlzLm5lZWRzUmVmcmVzaCgpOwogICAgIH0KQEAgLTE3MywxMiAr
MTczLDEyIEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwg
PSBjbGFzcyBSZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlCiAgICAgICAgIGZvciAodmFyIHJlY29y
ZCBvZiB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lLnJlY29yZHMpIHsKICAgICAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHJlY29yZCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdG
cmFtZVRpbWVsaW5lUmVjb3JkKTsKICAgICAgICAgICAgIC8vIElmIHRoaXMgZnJhbWUgaXMgY29t
cGxldGVseSBiZWZvcmUgdGhlIGJvdW5kcyBvZiB0aGUgZ3JhcGgsIHNraXAgdGhpcyByZWNvcmQu
Ci0gICAgICAgICAgICBpZiAocmVjb3JkLmVuZFRpbWUgPCB0aGlzLl9zdGFydFRpbWUpCisgICAg
ICAgICAgICBpZiAocmVjb3JkLmZyYW1lSW5kZXggPCBNYXRoLmZsb29yKHRoaXMuX3N0YXJ0RnJh
bWVJbmRleCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgIC8vIElm
IHRoaXMgcmVjb3JkIGlzIGNvbXBsZXRlbHkgYWZ0ZXIgdGhlIGVuZCB0aW1lLCBicmVhayBvdXQg
bm93LgogICAgICAgICAgICAgLy8gUmVjb3JkcyBhcmUgc29ydGVkLCBzbyBhbGwgcmVjb3JkcyBh
ZnRlciB0aGlzIHdpbGwgYmUgYmV5b25kIHRoZSBlbmQgdGltZSB0b28uCi0gICAgICAgICAgICBp
ZiAocmVjb3JkLnN0YXJ0VGltZSA+IHRoaXMuX2VuZFRpbWUpCisgICAgICAgICAgICBpZiAocmVj
b3JkLmZyYW1lSW5kZXggPiB0aGlzLl9lbmRGcmFtZUluZGV4KQogICAgICAgICAgICAgICAgIGJy
ZWFrOwogCiAgICAgICAgICAgICByZWNvcmRzLnB1c2gocmVjb3JkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVPdmVydmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGE3MDU5
ZWIzNTIyZDc2MWQ5ODlhMWZiODgzNDgzYmZkM2YwYTVkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1l
bGluZU92ZXJ2aWV3LmpzCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXZWJJbnNwZWN0
b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3ID0gZnVuY3Rpb24odGltZWxpbmVSZWNv
cmRpbmcpCit7CisgICAgLy8gRklYTUU6IENvbnZlcnQgdGhpcyB0byBhIFdlYkluc3BlY3Rvci5U
aW1lbGluZU92ZXJ2aWV3IHN1YmNsYXNzLCBhbmQgY2FsbCBzdXBlcigpLgorCisgICAgdmFyIG1p
bmltdW1EdXJhdGlvblBlclBpeGVsID0gMSAvIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZy
YW1lLk1heGltdW1XaWR0aFBpeGVsczsKKyAgICB2YXIgbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwg
PSAxIC8gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuTWluaW11bVdpZHRoUGl4ZWxz
OworICAgIHZhciBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMgPSB7CisgICAgICAgIGR1cmF0aW9uUGVy
UGl4ZWw6IG1pbmltdW1EdXJhdGlvblBlclBpeGVsLAorICAgICAgICBzZWxlY3Rpb25TdGFydFZh
bHVlOiAwLAorICAgICAgICBzZWxlY3Rpb25EdXJhdGlvbjogMTAwCisgICAgfTsKKworICAgIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LmNhbGwodGhpcywgImZyYW1lcyIsIHRpbWVsaW5l
UmVjb3JkaW5nLCBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgbWF4aW11bUR1cmF0aW9uUGVyUGl4
ZWwsIGRlZmF1bHRTZXR0aW5nc1ZhbHVlcyk7CisKKyAgICB0aGlzLnRpbWVsaW5lUnVsZXIuZm9y
bWF0TGFiZWxDYWxsYmFjayA9IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICAgIHJldHVybiB2YWx1
ZS50b0ZpeGVkKDApOworICAgIH07Cit9OworCitXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVU
aW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKKyAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVj
dG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldywKKyAgICBfX3Byb3RvX186IFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSwKKworICAgIC8vIFByb3RlY3RlZAor
CisgICAgY2FuU2hvd1RpbWVsaW5lOiBmdW5jdGlvbih0aW1lbGluZSkKKyAgICB7CisgICAgICAg
IHJldHVybiB0aW1lbGluZS50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlw
ZS5SZW5kZXJpbmdGcmFtZTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3
R3JhcGguY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVu
ZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguY3NzCmluZGV4IDYwYzA4NmRkN2RkNzZh
ODViNjg3OTI3MjU0ODI0MGFjZDU5YWUyNzcuLmQ3MGVhMWQ0MWMzNzgzMGViNzY4ZWVhMGMzNWUz
YTc5ODc0NDRjOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLmNzcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRp
bWVsaW5lT3ZlcnZpZXdHcmFwaC5jc3MKQEAgLTIzLDYgKzIzLDEwIEBACiAgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLnRpbWVsaW5lLW92ZXJ2aWV3ID4gLmdyYXBo
cy1jb250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGgucmVuZGVyaW5nLWZyYW1lIHsK
KyAgICBoZWlnaHQ6IDEwMCU7Cit9CisKIC50aW1lbGluZS1vdmVydmlldy1ncmFwaC5yZW5kZXJp
bmctZnJhbWUgPiAuZGl2aWRlciB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHotaW5k
ZXg6IDEwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5qcwppbmRleCBmZjE4MTQ1OWU4OGRmYmE5ZmY5Y2M2YjA1ODExYjFhZjdiZTc5
YzczLi4wY2M2Mjk0NDJmM2RiOTRlNWJiMDYxODU1MjdjNTdiMmNkYzIzOTY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwpA
QCAtMzAsMTEgKzMwLDExIEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3Zl
cnZpZXdHcmFwaCA9IGZ1bmN0aW9uKHRpbWVsaW5lKQogICAgIHRoaXMuZWxlbWVudC5jbGFzc0xp
c3QuYWRkKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5T
dHlsZUNsYXNzTmFtZSk7CiAKICAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lID0gdGlt
ZWxpbmU7CisgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhpcy5fdGltZWxpbmVS
ZWNvcmRBZGRlZCwgdGhpcyk7CisKICAgICB0aGlzLl90aW1lbGluZVJlY29yZEZyYW1lcyA9IFtd
OwogICAgIHRoaXMuX2dyYXBoSGVpZ2h0U2Vjb25kcyA9IE5hTjsKLSAgICB0aGlzLl9mcmFtZXNQ
ZXJTZWNvbmREaXZpZGVycyA9IG5ldyBNYXA7Ci0KLSAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRp
bWVsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lLkV2ZW50LlJlY29y
ZEFkZGVkLCB0aGlzLl90aW1lbGluZVJlY29yZEFkZGVkLCB0aGlzKTsKKyAgICB0aGlzLl9mcmFt
ZXNQZXJTZWNvbmREaXZpZGVyTWFwID0gbmV3IE1hcDsKIAogICAgIHRoaXMucmVzZXQoKTsKIH07
CkBAIC03MCw3ICs3MCw3IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUNo
aWxkcmVuKCk7CiAKLSAgICAgICAgdGhpcy5fZnJhbWVzUGVyU2Vjb25kRGl2aWRlcnMuY2xlYXIo
KTsKKyAgICAgICAgdGhpcy5fZnJhbWVzUGVyU2Vjb25kRGl2aWRlck1hcC5jbGVhcigpOwogICAg
IH0sCiAKICAgICB1cGRhdGVMYXlvdXQoKQpAQCAtODAsMjggKzgwLDI5IEBAIFdlYkluc3BlY3Rv
ci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIGlmICghdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRzLmxlbmd0aCkKICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgc2Vjb25kc1BlclBpeGVsID0gdGhpcy50
aW1lbGluZU92ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbDsKKyAgICAgICAgdmFyIHJlY29yZHMgPSB0
aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lLnJlY29yZHM7CisgICAgICAgIHZhciBzdGFydElu
ZGV4ID0gTWF0aC5mbG9vcih0aGlzLnN0YXJ0VGltZSk7CisgICAgICAgIHZhciBlbmRJbmRleCA9
IE1hdGgubWluKE1hdGguZmxvb3IodGhpcy5lbmRUaW1lKSwgcmVjb3Jkcy5sZW5ndGggLSAxKTsK
ICAgICAgICAgdmFyIHJlY29yZEZyYW1lSW5kZXggPSAwOwogCi0gICAgICAgIGZ1bmN0aW9uIGNy
ZWF0ZUZyYW1lKHJlY29yZHMpCi0gICAgICAgIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0
SW5kZXg7IGkgPD0gZW5kSW5kZXg7ICsraSkgeworICAgICAgICAgICAgdmFyIHJlY29yZCA9IHJl
Y29yZHNbaV07CiAgICAgICAgICAgICB2YXIgdGltZWxpbmVSZWNvcmRGcmFtZSA9IHRoaXMuX3Rp
bWVsaW5lUmVjb3JkRnJhbWVzW3JlY29yZEZyYW1lSW5kZXhdOwogICAgICAgICAgICAgaWYgKCF0
aW1lbGluZVJlY29yZEZyYW1lKQotICAgICAgICAgICAgICAgIHRpbWVsaW5lUmVjb3JkRnJhbWUg
PSB0aGlzLl90aW1lbGluZVJlY29yZEZyYW1lc1tyZWNvcmRGcmFtZUluZGV4XSA9IG5ldyBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZSh0aGlzLCByZWNvcmRzKTsKKyAgICAgICAgICAg
ICAgICB0aW1lbGluZVJlY29yZEZyYW1lID0gdGhpcy5fdGltZWxpbmVSZWNvcmRGcmFtZXNbcmVj
b3JkRnJhbWVJbmRleF0gPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUodGhp
cywgcmVjb3JkKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aW1lbGluZVJl
Y29yZEZyYW1lLnJlY29yZHMgPSByZWNvcmRzOworICAgICAgICAgICAgICAgIHRpbWVsaW5lUmVj
b3JkRnJhbWUucmVjb3JkID0gcmVjb3JkOwogCiAgICAgICAgICAgICB0aW1lbGluZVJlY29yZEZy
YW1lLnJlZnJlc2godGhpcyk7CiAgICAgICAgICAgICBpZiAoIXRpbWVsaW5lUmVjb3JkRnJhbWUu
ZWxlbWVudC5wYXJlbnROb2RlKQogICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRD
aGlsZCh0aW1lbGluZVJlY29yZEZyYW1lLmVsZW1lbnQpOworCiAgICAgICAgICAgICArK3JlY29y
ZEZyYW1lSW5kZXg7CiAgICAgICAgIH0KIAotICAgICAgICBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRGcmFtZS5jcmVhdGVDb21iaW5lZEZyYW1lcyh0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVs
aW5lLnJlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgY3JlYXRlRnJhbWUuYmluZCh0aGlz
KSk7Ci0KICAgICAgICAgLy8gUmVtb3ZlIHRoZSByZW1haW5pbmcgdW51c2VkIFRpbWVsaW5lUmVj
b3JkRnJhbWVzLgogICAgICAgICBmb3IgKDsgcmVjb3JkRnJhbWVJbmRleCA8IHRoaXMuX3RpbWVs
aW5lUmVjb3JkRnJhbWVzLmxlbmd0aDsgKytyZWNvcmRGcmFtZUluZGV4KSB7Ci0gICAgICAgICAg
ICB0aGlzLl90aW1lbGluZVJlY29yZEZyYW1lc1tyZWNvcmRGcmFtZUluZGV4XS5yZWNvcmRzID0g
bnVsbDsKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkRnJhbWVzW3JlY29yZEZyYW1l
SW5kZXhdLnJlY29yZCA9IG51bGw7CiAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVJlY29yZEZy
YW1lc1tyZWNvcmRGcmFtZUluZGV4XS5lbGVtZW50LnJlbW92ZSgpOwogICAgICAgICB9CiAKQEAg
LTEzMSw3ICsxMzIsNyBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2
aWV3R3JhcGgucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKGRpdmlkZXJUb3AgPCAwLjAx
IHx8IGRpdmlkZXJUb3AgPj0gMSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
ICAgIHZhciBkaXZpZGVyID0gdGhpcy5fZnJhbWVzUGVyU2Vjb25kRGl2aWRlcnMuZ2V0KGZyYW1l
c1BlclNlY29uZCk7CisgICAgICAgICAgICB2YXIgZGl2aWRlciA9IHRoaXMuX2ZyYW1lc1BlclNl
Y29uZERpdmlkZXJNYXAuZ2V0KGZyYW1lc1BlclNlY29uZCk7CiAgICAgICAgICAgICBpZiAoIWRp
dmlkZXIpIHsKICAgICAgICAgICAgICAgICBkaXZpZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CiAgICAgICAgICAgICAgICAgZGl2aWRlci5jbGFzc0xpc3QuYWRkKCJkaXZpZGVy
Iik7CkBAIC0xNDMsNyArMTQ0LDcgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxp
bmVPdmVydmlld0dyYXBoLnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgICAgIHRoaXMuZWxl
bWVudC5hcHBlbmRDaGlsZChkaXZpZGVyKTsKIAotICAgICAgICAgICAgICAgIHRoaXMuX2ZyYW1l
c1BlclNlY29uZERpdmlkZXJzLnNldChmcmFtZXNQZXJTZWNvbmQsIGRpdmlkZXIpOworICAgICAg
ICAgICAgICAgIHRoaXMuX2ZyYW1lc1BlclNlY29uZERpdmlkZXJNYXAuc2V0KGZyYW1lc1BlclNl
Y29uZCwgZGl2aWRlcik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGRpdmlkZXIuc3R5
bGUubWFyZ2luVG9wID0gKGRpdmlkZXJUb3AgKiBvdmVydmlld0dyYXBoSGVpZ2h0KS50b0ZpeGVk
KDIpICsgInB4IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMK
aW5kZXggNWU1MjYyOTQxMzFkNzFiYmJkOWUyYmNkMjgyNDJkMmY3MWNkMzQ2MC4uYzRiNDNjYWI3
Y2QwODZmNDZmYzFjYTYxOTA5ZDhhYWEwYzQ5NDllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVy
aW5nRnJhbWVUaW1lbGluZVZpZXcuanMKQEAgLTQwLDE1ICs0MCwxNSBAQCBXZWJJbnNwZWN0b3Iu
UmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcgPSBmdW5jdGlvbih0aW1lbGluZSwgZXh0cmFBcmd1
bWVudHMpCiAgICAgY29sdW1ucy5zdGFydFRpbWUuYWxpZ25lZCA9ICJyaWdodCI7CiAKICAgICBj
b2x1bW5zLmxheW91dFRpbWUudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxheW91dCIp
OwotICAgIGNvbHVtbnMubGF5b3V0VGltZS53aWR0aCA9ICIxMCUiOworICAgIGNvbHVtbnMubGF5
b3V0VGltZS53aWR0aCA9ICIxNSUiOwogICAgIGNvbHVtbnMubGF5b3V0VGltZS5hbGlnbmVkID0g
InJpZ2h0IjsKIAogICAgIGNvbHVtbnMuc2NyaXB0VGltZS50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiU2NyaXB0Iik7Ci0gICAgY29sdW1ucy5zY3JpcHRUaW1lLndpZHRoID0gIjEwJSI7
CisgICAgY29sdW1ucy5zY3JpcHRUaW1lLndpZHRoID0gIjE1JSI7CiAgICAgY29sdW1ucy5zY3Jp
cHRUaW1lLmFsaWduZWQgPSAicmlnaHQiOwogCiAgICAgY29sdW1ucy5vdGhlclRpbWUudGl0bGUg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk90aGVyIik7Ci0gICAgY29sdW1ucy5vdGhlclRpbWUu
d2lkdGggPSAiMTAlIjsKKyAgICBjb2x1bW5zLm90aGVyVGltZS53aWR0aCA9ICIxNSUiOwogICAg
IGNvbHVtbnMub3RoZXJUaW1lLmFsaWduZWQgPSAicmlnaHQiOwogCiAgICAgY29sdW1ucy50b3Rh
bFRpbWUudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRvdGFsIFRpbWUiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
T3ZlcnZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVPdmVydmlldy5jc3MKaW5kZXggMjI1NDU1ZGJlOGMyNjYxZmJhM2NkMGJjNTY5NTNh
Y2VhOGJjNDdhOC4uZjU0MmMyYmU5YjA1NTA1ZGQ3ODgzNjliNTQ3ZjEyM2YyZDZkYjVmYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVPdmVydmlldy5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVPdmVydmlldy5jc3MKQEAgLTUyLDEyICs1MiwxNiBAQAogCiAudGltZWxp
bmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lciB7CiAgICAgcG9zaXRpb246IGFic29sdXRl
OwotICAgIHRvcDogMjJweDsKKyAgICB0b3A6IDI5cHg7CiAgICAgbGVmdDogMDsKICAgICBib3R0
b206IDA7CiAgICAgcmlnaHQ6IDA7CiB9CiAKK2JvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAudGlt
ZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lciB7CisgICAgdG9wOiAyMnB4OworfQor
CiAudGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lciA+IC50aW1lbGluZS1vdmVy
dmlldy1ncmFwaCB7CiAgICAgaGVpZ2h0OiAzNnB4OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcu
anMKaW5kZXggNDUwNjIxNTliOTVkZmM5MDY3NWQ2Y2FiOTZiZTRmZTliMmNiMmQ5Zi4uMDAwZGEz
NDc0N2QwZTY0NzIzOGMwNmQ3ZjlmNWViOTVkNmExOTk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2
aWV3LmpzCkBAIC0yMyw3ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBmdW5jdGlvbih0aW1l
bGluZVJlY29yZGluZykKK1dlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gZnVuY3Rpb24o
aWRlbnRpZmllciwgdGltZWxpbmVSZWNvcmRpbmcsIG1pbmltdW1EdXJhdGlvblBlclBpeGVsLCBt
YXhpbXVtRHVyYXRpb25QZXJQaXhlbCwgZGVmYXVsdFNldHRpbmdzVmFsdWVzKQogewogICAgIC8v
IEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gYSBXZWJJbnNwZWN0b3IuT2JqZWN0IHN1YmNsYXNzLCBh
bmQgY2FsbCBzdXBlcigpLgogICAgIC8vIFdlYkluc3BlY3Rvci5PYmplY3QuY2FsbCh0aGlzKTsK
QEAgLTYwLDE4ICs2MCwyMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGZ1bmN0
aW9uKHRpbWVsaW5lUmVjb3JkaW5nKQogICAgIHRoaXMuX3Njcm9sbFdpZHRoU2l6ZXIuY2xhc3NO
YW1lID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsV2lkdGhTaXplclN0eWxl
Q2xhc3NOYW1lOwogICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQo
dGhpcy5fc2Nyb2xsV2lkdGhTaXplcik7CiAKLSAgICB0aGlzLl9zZWNvbmRzUGVyUGl4ZWxTZXR0
aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJ0aW1lbGluZS1vdmVydmlldy1zZWNvbmRz
LXBlci1waXhlbCIsIDAuMDEpOwotICAgIHRoaXMuX3NlbGVjdGlvblN0YXJ0VGltZVNldHRpbmcg
PSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoInRpbWVsaW5lLW92ZXJ2aWV3LXNlbGVjdGlvbi1z
dGFydC10aW1lIiwgMCk7Ci0gICAgdGhpcy5fc2VsZWN0aW9uRHVyYXRpb25TZXR0aW5nID0gbmV3
IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJ0aW1lbGluZS1vdmVydmlldy1zZWxlY3Rpb24tZHVyYXRp
b24iLCA1KTsKKyAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsU2V0dGluZyA9IG5ldyBXZWJJbnNw
ZWN0b3IuU2V0dGluZyhpZGVudGlmaWVyICsgIi10aW1lbGluZS1vdmVydmlldy1kdXJhdGlvbi1w
ZXItcGl4ZWwiLCBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMuZHVyYXRpb25QZXJQaXhlbCk7CisgICAg
dGhpcy5fc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRp
bmcoaWRlbnRpZmllciArICItdGltZWxpbmUtb3ZlcnZpZXctc2VsZWN0aW9uLXN0YXJ0LXZhbHVl
IiwgZGVmYXVsdFNldHRpbmdzVmFsdWVzLnNlbGVjdGlvblN0YXJ0VmFsdWUpOworICAgIHRoaXMu
X3NlbGVjdGlvbkR1cmF0aW9uU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZyhpZGVu
dGlmaWVyICsgIi10aW1lbGluZS1vdmVydmlldy1zZWxlY3Rpb24tZHVyYXRpb24iLCBkZWZhdWx0
U2V0dGluZ3NWYWx1ZXMuc2VsZWN0aW9uRHVyYXRpb24pOwogCiAgICAgdGhpcy5fc3RhcnRUaW1l
ID0gMDsKICAgICB0aGlzLl9jdXJyZW50VGltZSA9IDA7CiAgICAgdGhpcy5fZW5kVGltZSA9IDA7
Ci0gICAgdGhpcy5fc2Vjb25kc1BlclBpeGVsID0gdGhpcy5fc2Vjb25kc1BlclBpeGVsU2V0dGlu
Zy52YWx1ZTsKKyAgICB0aGlzLl9taW5pbXVtRHVyYXRpb25QZXJQaXhlbCA9IG1pbmltdW1EdXJh
dGlvblBlclBpeGVsOworICAgIHRoaXMuX21heGltdW1EdXJhdGlvblBlclBpeGVsID0gbWF4aW11
bUR1cmF0aW9uUGVyUGl4ZWw7CisgICAgdGhpcy5fZHVyYXRpb25QZXJQaXhlbCA9IE1hdGgubWlu
KHRoaXMuX21heGltdW1EdXJhdGlvblBlclBpeGVsLCBNYXRoLm1heCh0aGlzLl9taW5pbXVtRHVy
YXRpb25QZXJQaXhlbCwgdGhpcy5fZHVyYXRpb25QZXJQaXhlbFNldHRpbmcudmFsdWUpKTsKICAg
ICB0aGlzLl9zY3JvbGxTdGFydFRpbWUgPSAwOwogICAgIHRoaXMuX2NhY2hlZFNjcm9sbENvbnRh
aW5lcldpZHRoID0gTmFOOwogCi0gICAgdGhpcy5zZWxlY3Rpb25TdGFydFRpbWUgPSB0aGlzLl9z
ZWxlY3Rpb25TdGFydFRpbWVTZXR0aW5nLnZhbHVlOworICAgIHRoaXMuc2VsZWN0aW9uU3RhcnRU
aW1lID0gdGhpcy5fc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcudmFsdWU7CiAgICAgdGhpcy5z
ZWxlY3Rpb25EdXJhdGlvbiA9IHRoaXMuX3NlbGVjdGlvbkR1cmF0aW9uU2V0dGluZy52YWx1ZTsK
IAogICAgIGZvciAodmFyIHRpbWVsaW5lIG9mIHRoaXMuX3JlY29yZGluZy50aW1lbGluZXMudmFs
dWVzKCkpCkBAIC04Miw3ICs4NCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlN0
eWxlQ2xhc3NOYW1lID0gInRpbWVsaW5lLW92ZXJ2aWV3IjsKIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3LkdyYXBoc0NvbnRhaW5lclN0eWxlQ2xhc3NOYW1lID0gImdyYXBocy1jb250YWlu
ZXIiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsQ29udGFpbmVyU3R5bGVD
bGFzc05hbWUgPSAic2Nyb2xsLWNvbnRhaW5lciI7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldy5TY3JvbGxXaWR0aFNpemVyU3R5bGVDbGFzc05hbWUgPSAic2Nyb2xsLXdpZHRoLXNpemVy
IjsKLVdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3Lk1pbmltdW1TZWNvbmRzUGVyUGl4ZWwg
PSAwLjAwMTsKIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlNjcm9sbERlbHRhRGVub21p
bmF0b3IgPSA1MDA7CiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LkV2ZW50ID0gewpA
QCAtMTMzLDE4ICsxMzQsMTggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90
eXBlID0gewogCiAgICAgZ2V0IHNlY29uZHNQZXJQaXhlbCgpCiAgICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fc2Vjb25kc1BlclBpeGVsOworICAgICAgICByZXR1cm4gdGhpcy5fZHVyYXRpb25Q
ZXJQaXhlbDsKICAgICB9LAogCiAgICAgc2V0IHNlY29uZHNQZXJQaXhlbCh4KQogICAgIHsKLSAg
ICAgICAgeCA9IE1hdGgubWF4KFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3Lk1pbmltdW1T
ZWNvbmRzUGVyUGl4ZWwsIHgpOworICAgICAgICB4ID0gTWF0aC5taW4odGhpcy5fbWF4aW11bUR1
cmF0aW9uUGVyUGl4ZWwsIE1hdGgubWF4KHRoaXMuX21pbmltdW1EdXJhdGlvblBlclBpeGVsLCB4
KSk7CiAKLSAgICAgICAgaWYgKHRoaXMuX3NlY29uZHNQZXJQaXhlbCA9PT0geCkKKyAgICAgICAg
aWYgKHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgdGhpcy5fc2Vjb25kc1BlclBpeGVsID0geDsKLSAgICAgICAgdGhpcy5fc2Vjb25k
c1BlclBpeGVsU2V0dGluZy52YWx1ZSA9IHg7CisgICAgICAgIHRoaXMuX2R1cmF0aW9uUGVyUGl4
ZWwgPSB4OworICAgICAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsU2V0dGluZy52YWx1ZSA9IHg7
CiAKICAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQoKTsKICAgICB9LApAQCAtMTg2LDcgKzE4Nyw3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhY2hlZFNjcm9sbENvbnRhaW5lcldpZHRoID4gMCk7
CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVkU2Nyb2xsQ29udGFpbmVy
V2lkdGggKiB0aGlzLl9zZWNvbmRzUGVyUGl4ZWw7CisgICAgICAgIHJldHVybiB0aGlzLl9jYWNo
ZWRTY3JvbGxDb250YWluZXJXaWR0aCAqIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWw7CiAgICAgfSwK
IAogICAgIGdldCBzZWxlY3Rpb25TdGFydFRpbWUoKQpAQCAtMjExLDYgKzIxMiw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKICAgICBzZXQgc2VsZWN0aW9u
RHVyYXRpb24oeCkKICAgICB7CiAgICAgICAgIHggPSBNYXRoLm1heChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSdWxlci5NaW5pbXVtU2VsZWN0aW9uVGltZVJhbmdlLCB4KTsKKwogICAgICAgICB0aGlz
Ll90aW1lbGluZVJ1bGVyLnNlbGVjdGlvbkVuZFRpbWUgPSB0aGlzLl90aW1lbGluZVJ1bGVyLnNl
bGVjdGlvblN0YXJ0VGltZSArIHg7CiAgICAgfSwKIApAQCAtMjY4LDcgKzI3MCw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAvLyBDYWxj
dWxhdGUgdGhlIHJlcXVpcmVkIHdpZHRoIGJhc2VkIG9uIHRoZSBkdXJhdGlvbiBhbmQgc2Vjb25k
cyBwZXIgcGl4ZWwuCiAgICAgICAgIHZhciBkdXJhdGlvbiA9IHRoaXMuX2VuZFRpbWUgLSB0aGlz
Ll9zdGFydFRpbWU7Ci0gICAgICAgIHZhciBuZXdXaWR0aCA9IE1hdGguY2VpbChkdXJhdGlvbiAv
IHRoaXMuX3NlY29uZHNQZXJQaXhlbCk7CisgICAgICAgIHZhciBuZXdXaWR0aCA9IE1hdGguY2Vp
bChkdXJhdGlvbiAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOwogCiAgICAgICAgIC8vIFVwZGF0
ZSBhbGwgcmVsZXZhbnQgZWxlbWVudHMgdG8gdGhlIG5ldyByZXF1aXJlZCB3aWR0aC4KICAgICAg
ICAgdGhpcy5fdXBkYXRlRWxlbWVudFdpZHRoKHRoaXMuX3Njcm9sbFdpZHRoU2l6ZXIsIG5ld1dp
ZHRoKTsKQEAgLTI4OCwxMSArMjkwLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
LnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnplcm9UaW1lID0g
dGhpcy5fc3RhcnRUaW1lOwogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnN0YXJ0VGltZSA9
IHNjcm9sbFN0YXJ0VGltZTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5zZWNvbmRzUGVy
UGl4ZWwgPSB0aGlzLl9zZWNvbmRzUGVyUGl4ZWw7CisgICAgICAgIHRoaXMuX3RpbWVsaW5lUnVs
ZXIuc2Vjb25kc1BlclBpeGVsID0gdGhpcy5fZHVyYXRpb25QZXJQaXhlbDsKIAogICAgICAgICBp
ZiAoIXRoaXMuX2RvbnRVcGRhdGVTY3JvbGxMZWZ0KSB7CiAgICAgICAgICAgICB0aGlzLl9pZ25v
cmVOZXh0U2Nyb2xsRXZlbnQgPSB0cnVlOwotICAgICAgICAgICAgdGhpcy5fc2Nyb2xsQ29udGFp
bmVyRWxlbWVudC5zY3JvbGxMZWZ0ID0gTWF0aC5jZWlsKChzY3JvbGxTdGFydFRpbWUgLSB0aGlz
Ll9zdGFydFRpbWUpIC8gdGhpcy5fc2Vjb25kc1BlclBpeGVsKTsKKyAgICAgICAgICAgIHRoaXMu
X3Njcm9sbENvbnRhaW5lckVsZW1lbnQuc2Nyb2xsTGVmdCA9IE1hdGguY2VpbCgoc2Nyb2xsU3Rh
cnRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lKSAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOwogICAg
ICAgICB9CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci51cGRhdGVMYXlvdXQoKTsKQEAg
LTMxOSw2ICszMjEsMTkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgdGltZWxpbmVPdmVydmlld0dyYXBoLnVwZGF0ZUxheW91dElmTmVl
ZGVkKCk7CiAgICAgfSwKIAorICAgIC8vIFByb3RlY3RlZAorCisgICAgZ2V0IHRpbWVsaW5lUnVs
ZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVsaW5lUnVsZXI7CisgICAgfSwK
KworICAgIGNhblNob3dUaW1lbGluZTogZnVuY3Rpb24odGltZWxpbmUpCisgICAgeworICAgICAg
ICAvLyBJbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLgorICAgICAgICBjb25zb2xlLmVycm9yKCJO
ZWVkcyB0byBiZSBpbXBsZW1lbnRlZCBieSBhIHN1YmNsYXNzLiIpOworICAgIH0sCisKICAgICAv
LyBQcml2YXRlCiAKICAgICBfdXBkYXRlRWxlbWVudFdpZHRoOiBmdW5jdGlvbihlbGVtZW50LCBu
ZXdXaWR0aCkKQEAgLTM0OSw3ICszNjQsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2RvbnRVcGRhdGVTY3JvbGxMZWZ0ID0gdHJ1
ZTsKIAogICAgICAgICB2YXIgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5fc2Nyb2xsQ29udGFpbmVyRWxl
bWVudC5zY3JvbGxMZWZ0OwotICAgICAgICB0aGlzLnNjcm9sbFN0YXJ0VGltZSA9IHRoaXMuX3N0
YXJ0VGltZSArIChzY3JvbGxPZmZzZXQgKiB0aGlzLl9zZWNvbmRzUGVyUGl4ZWwpOworICAgICAg
ICB0aGlzLnNjcm9sbFN0YXJ0VGltZSA9IHRoaXMuX3N0YXJ0VGltZSArIChzY3JvbGxPZmZzZXQg
KiB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKIAogICAgICAgICAvLyBGb3JjZSBsYXlvdXQgc28g
d2UgY2FuIHVwZGF0ZSB3aXRoIHRoZSBzY3JvbGwgcG9zaXRpb24gc3luY2hyb25vdXNseS4KICAg
ICAgICAgdGhpcy51cGRhdGVMYXlvdXRJZk5lZWRlZCgpOwpAQCAtMzc2LDEzICszOTEsMTMgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlID0gewogCiAgICAgICAgIC8v
IFJlbWVtYmVyIHRoZSBtb3VzZSBwb3NpdGlvbiBpbiB0aW1lLgogICAgICAgICB2YXIgbW91c2VP
ZmZzZXQgPSBldmVudC5wYWdlWCAtIHRoaXMuX2VsZW1lbnQudG90YWxPZmZzZXRMZWZ0OwotICAg
ICAgICB2YXIgbW91c2VQb3NpdGlvblRpbWUgPSB0aGlzLl9zY3JvbGxTdGFydFRpbWUgKyAobW91
c2VPZmZzZXQgKiB0aGlzLl9zZWNvbmRzUGVyUGl4ZWwpOworICAgICAgICB2YXIgbW91c2VQb3Np
dGlvblRpbWUgPSB0aGlzLl9zY3JvbGxTdGFydFRpbWUgKyAobW91c2VPZmZzZXQgKiB0aGlzLl9k
dXJhdGlvblBlclBpeGVsKTsKICAgICAgICAgdmFyIGRldmljZURpcmVjdGlvbiA9IGV2ZW50Lndl
YmtpdERpcmVjdGlvbkludmVydGVkRnJvbURldmljZSA/IDEgOiAtMTsKIAotICAgICAgICB0aGlz
LnNlY29uZHNQZXJQaXhlbCArPSBldmVudC5kZWx0YVkgKiAodGhpcy5fc2Vjb25kc1BlclBpeGVs
IC8gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsRGVsdGFEZW5vbWluYXRvcikg
KiBkZXZpY2VEaXJlY3Rpb247CisgICAgICAgIHRoaXMuc2Vjb25kc1BlclBpeGVsICs9IGV2ZW50
LmRlbHRhWSAqICh0aGlzLl9kdXJhdGlvblBlclBpeGVsIC8gV2ViSW5zcGVjdG9yLlRpbWVsaW5l
T3ZlcnZpZXcuU2Nyb2xsRGVsdGFEZW5vbWluYXRvcikgKiBkZXZpY2VEaXJlY3Rpb247CiAKICAg
ICAgICAgLy8gQ2VudGVyIHRoZSB6b29tIGFyb3VuZCB0aGUgbW91c2UgYmFzZWQgb24gdGhlIHJl
bWVtYmVyZWQgbW91c2UgcG9zaXRpb24gdGltZS4KLSAgICAgICAgdGhpcy5zY3JvbGxTdGFydFRp
bWUgPSBtb3VzZVBvc2l0aW9uVGltZSAtIChtb3VzZU9mZnNldCAqIHRoaXMuX3NlY29uZHNQZXJQ
aXhlbCk7CisgICAgICAgIHRoaXMuc2Nyb2xsU3RhcnRUaW1lID0gbW91c2VQb3NpdGlvblRpbWUg
LSAobW91c2VPZmZzZXQgKiB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKIAogICAgICAgICBldmVu
dC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKQEAg
LTM5Niw4ICs0MTEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUg
PSB7CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJbnNw
ZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5lKTsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMu
X3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAuaGFzKHRpbWVsaW5lKSwgdGltZWxpbmUpOwotCi0g
ICAgICAgIGlmICghV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5zaG91bGRTaG93Vmlld0Zv
clRpbWVsaW5lKHRpbWVsaW5lKSkKKyAgICAgICAgaWYgKCF0aGlzLmNhblNob3dUaW1lbGluZSh0
aW1lbGluZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdmFyIG92ZXJ2aWV3R3Jh
cGggPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCh0aW1lbGluZSk7CkBA
IC00MTAsNyArNDI0LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
ID0gewogICAgIHsKICAgICAgICAgdmFyIHRpbWVsaW5lID0gZXZlbnQuZGF0YS50aW1lbGluZTsK
ICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3Iu
VGltZWxpbmUsIHRpbWVsaW5lKTsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuVGltZWxpbmVN
YW5hZ2VyLnNob3VsZFNob3dWaWV3Rm9yVGltZWxpbmUodGltZWxpbmUpKQorICAgICAgICBpZiAo
IXRoaXMuY2FuU2hvd1RpbWVsaW5lKHRpbWVsaW5lKSkKICAgICAgICAgICAgIHJldHVybjsKIAog
ICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90aW1lbGluZU92ZXJ2aWV3R3JhcGhzTWFwLmhh
cyh0aW1lbGluZSksIHRpbWVsaW5lKTsKQEAgLTQyMiw3ICs0MzYsNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfdGltZVJhbmdlU2VsZWN0aW9u
Q2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICB0aGlzLl9zZWxlY3Rpb25T
dGFydFRpbWVTZXR0aW5nLnZhbHVlID0gdGhpcy5zZWxlY3Rpb25TdGFydFRpbWUgLSB0aGlzLl9z
dGFydFRpbWU7CisgICAgICAgIHRoaXMuX3NlbGVjdGlvblN0YXJ0VmFsdWVTZXR0aW5nLnZhbHVl
ID0gdGhpcy5zZWxlY3Rpb25TdGFydFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7CiAgICAgICAgIHRo
aXMuX3NlbGVjdGlvbkR1cmF0aW9uU2V0dGluZy52YWx1ZSA9IHRoaXMuc2VsZWN0aW9uRHVyYXRp
b247CiAKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZVJlY29yZEZyYW1lLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuY3NzCmluZGV4IDdlNWE0YjE5NzQxM2Y3MTAyMWMxODAy
MTIxOWI0MDYxOGY1M2NiNDguLmFhYWQyYTMxMjU1MWIxYzgxMWVlNmZlZmRlNWRkMDMyYTRmNmNl
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lUmVjb3JkRnJhbWUuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuY3NzCkBAIC0yNSw4ICsyNSw5IEBA
CiAKIC50aW1lbGluZS1yZWNvcmQtZnJhbWUgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAg
ICBoZWlnaHQ6IDM2cHg7CisgICAgaGVpZ2h0OiAxMDhweDsKICAgICBtaW4td2lkdGg6IDRweDsK
KyAgICB3aWR0aDogNHB4OwogCiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIApAQCAtMzgsMjQgKzM5
LDExIEBACiAgICAgei1pbmRleDogMTsKICAgICBib3R0b206IDFweDsKICAgICBtaW4td2lkdGg6
IDRweDsKKyAgICB3aWR0aDogMTAwJTsKIAotICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci19
Ci0KLS50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZHJvcHBlZCB7Ci0gICAgcG9zaXRpb246IGFi
c29sdXRlOwotICAgIGJvdHRvbTogMXB4OwotICAgIHJpZ2h0OiAwOworICAgIHBhZGRpbmctbGVm
dDogMXB4OwogCi0gICAgbWluLXdpZHRoOiA2cHg7CiAgICAgYm94LXNpemluZzogYm9yZGVyLWJv
eDsKLQotICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB3
aGl0ZSwgd2hpdGUgMnB4LCByZ2IoMjM0LCAyMzQsIDIzNCkgMnB4LCByZ2IoMjM0LCAyMzQsIDIz
NCkgNHB4KTsKLQotICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOwotICAgIGJvcmRlci1yaWdo
dC1zdHlsZTogc29saWQ7Ci0gICAgYm9yZGVyLXdpZHRoOiAxcHg7Ci0gICAgYm9yZGVyLWNvbG9y
OiByZ2IoMjIxLCAyMjEsIDIyMSk7CiB9CiAKIC50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZnJh
bWUgPiAuZHVyYXRpb24gewpAQCAtNjMsMTMgKzUxLDcgQEAKIAogICAgIGJhY2tncm91bmQtY29s
b3I6IHJnYigyMjEsIDIyMSwgMjIxKTsKIAotICAgIGJvcmRlci1jb2xvcjogcmdiKDE3NiwgMTc2
LCAxNzYpOwotICAgIGJvcmRlci1zdHlsZTogbm9uZSBzb2xpZCBzb2xpZCBzb2xpZDsKLSAgICBi
b3JkZXItd2lkdGg6IDFweDsKLX0KLQotLnRpbWVsaW5lLXJlY29yZC1mcmFtZSA+IC5mcmFtZSA+
IC5kdXJhdGlvbjpmaXJzdC1jaGlsZCB7Ci0gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7Cisg
ICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYigyNDUsIDI0NSwgMjQ1KTsKIH0KIAogLnRp
bWVsaW5lLXJlY29yZC1mcmFtZSA+IC5mcmFtZSA+IC5kdXJhdGlvbjpsYXN0LWNoaWxkIHsKQEAg
LTc3LDE2ICs1OSwxMyBAQAogfQogCiAudGltZWxpbmUtcmVjb3JkLWZyYW1lID4gLmZyYW1lID4g
LmR1cmF0aW9uLnRpbWVsaW5lLXJlY29yZC10eXBlLW5ldHdvcmsgewotICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYigxMjAsIDE3NiwgMjI1KTsKLSAgICBib3JkZXItY29sb3I6IHJnYig2MSwgMTQ3
LCAyMDApOworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2MSwgMTQ3LCAyMDApOwogfQogCiAu
dGltZWxpbmUtcmVjb3JkLWZyYW1lID4gLmZyYW1lID4gLmR1cmF0aW9uLnRpbWVsaW5lLXJlY29y
ZC10eXBlLWxheW91dCB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNCwgMTUzLCAxNTMp
OwotICAgIGJvcmRlci1jb2xvcjogcmdiKDIxMiwgMTA4LCAxMDgpOworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYigyMTIsIDEwOCwgMTA4KTsKIH0KIAogLnRpbWVsaW5lLXJlY29yZC1mcmFtZSA+
IC5mcmFtZSA+IC5kdXJhdGlvbi50aW1lbGluZS1yZWNvcmQtdHlwZS1zY3JpcHQgewotICAgIGJh
Y2tncm91bmQtY29sb3I6IHJnYigxOTAsIDE0OCwgMjMzKTsKLSAgICBib3JkZXItY29sb3I6IHJn
YigxNTMsIDExMywgMTg1KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTUzLCAxMTMsIDE4
NSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5qcwppbmRleCA5Nzg0OGU1NjhkZjhl
MGEwNGRjYjg2MzEwYjk4OTQ4Njk5YTU5MmVkLi4xZWVhNjYyZWJhYjFhNDA1MzZkMWNmYTZlNmY4
ZjQzZGU4MTVlOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuanMKQEAgLTIzLDcg
KzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZSA9IGZ1bmN0aW9uKGdyYXBoRGF0YVNvdXJjZSwg
cmVjb3JkcykKK1dlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lID0gZnVuY3Rpb24oZ3Jh
cGhEYXRhU291cmNlLCByZWNvcmQpCiB7CiAgICAgLy8gRklYTUU6IENvbnZlcnQgdGhpcyB0byBh
IFdlYkluc3BlY3Rvci5PYmplY3Qgc3ViY2xhc3MsIGFuZCBjYWxsIHN1cGVyKCkuCiAgICAgLy8g
V2ViSW5zcGVjdG9yLk9iamVjdC5jYWxsKHRoaXMpOwpAQCAtMzIsODggKzMyLDE1IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lID0gZnVuY3Rpb24oZ3JhcGhEYXRhU291cmNlLCBy
ZWNvcmRzKQogICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmRGcmFtZS5TdHlsZUNsYXNzTmFtZSk7CiAKICAgICB0aGlzLl9ncmFwaERhdGFT
b3VyY2UgPSBncmFwaERhdGFTb3VyY2U7Ci0gICAgdGhpcy5yZWNvcmRzID0gcmVjb3JkcyB8fCBb
XTsKKyAgICB0aGlzLl9yZWNvcmQgPSByZWNvcmQgfHwgbnVsbDsKIH07CiAKIC8vIEZJWE1FOiBN
b3ZlIHRvIGEgV2ViSW5zcGVjdG9yLk9iamVjdCBzdWJjbGFzcyBhbmQgd2UgY2FuIHJlbW92ZSB0
aGlzLgogV2ViSW5zcGVjdG9yLk9iamVjdC5kZXByZWNhdGVkQWRkQ29uc3RydWN0b3JGdW5jdGlv
bnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUpOwogCiBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmRGcmFtZS5TdHlsZUNsYXNzTmFtZSA9ICJ0aW1lbGluZS1yZWNvcmQtZnJhbWUi
OwotV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuU2l4dHlGcHNGcmFtZUJ1ZGdldCA9
IDAuMDE2NjsKLVdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1heGltdW1Db21iaW5l
ZFdpZHRoUGl4ZWxzID0gMTI7CitXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5NYXhp
bXVtV2lkdGhQaXhlbHMgPSAxNjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1p
bmltdW1XaWR0aFBpeGVscyA9IDQ7Ci1XZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5N
aW5pbXVtTWFyZ2luUGl4ZWxzID0gMTsKLQotV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJh
bWUuY3JlYXRlQ29tYmluZWRGcmFtZXMgPSBmdW5jdGlvbihyZWNvcmRzLCBzZWNvbmRzUGVyUGl4
ZWwsIGdyYXBoRGF0YVNvdXJjZSwgY3JlYXRlRnJhbWVDYWxsYmFjaykKLXsKLSAgICBpZiAoIXJl
Y29yZHMubGVuZ3RoKQotICAgICAgICByZXR1cm47Ci0KLSAgICB2YXIgc3RhcnRUaW1lID0gZ3Jh
cGhEYXRhU291cmNlLnN0YXJ0VGltZTsKLSAgICB2YXIgY3VycmVudFRpbWUgPSBncmFwaERhdGFT
b3VyY2UuY3VycmVudFRpbWU7Ci0gICAgdmFyIGVuZFRpbWUgPSBncmFwaERhdGFTb3VyY2UuZW5k
VGltZTsKLQotICAgIHZhciB2aXNpYmxlUmVjb3JkcyA9IFtdOwotCi0gICAgZm9yICh2YXIgcmVj
b3JkIG9mIHJlY29yZHMpIHsKLSAgICAgICAgaWYgKGlzTmFOKHJlY29yZC5zdGFydFRpbWUpKQot
ICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLy8gSWYgdGhpcyBmcmFtZSBpcyBjb21w
bGV0ZWx5IGJlZm9yZSB0aGUgYm91bmRzIG9mIHRoZSBncmFwaCwgc2tpcCB0aGlzIHJlY29yZC4K
LSAgICAgICAgaWYgKHJlY29yZC5lbmRUaW1lIDwgc3RhcnRUaW1lKQotICAgICAgICAgICAgY29u
dGludWU7Ci0KLSAgICAgICAgLy8gSWYgdGhpcyByZWNvcmQgaXMgY29tcGxldGVseSBhZnRlciB0
aGUgY3VycmVudCB0aW1lIG9yIGVuZCB0aW1lLCBicmVhayBvdXQgbm93LgotICAgICAgICAvLyBS
ZWNvcmRzIGFyZSBzb3J0ZWQsIHNvIGFsbCByZWNvcmRzIGFmdGVyIHRoaXMgd2lsbCBiZSBiZXlv
bmQgdGhlIGN1cnJlbnQgb3IgZW5kIHRpbWUgdG9vLgotICAgICAgICBpZiAocmVjb3JkLnN0YXJ0
VGltZSA+IGN1cnJlbnRUaW1lIHx8IHJlY29yZC5zdGFydFRpbWUgPiBlbmRUaW1lKQotICAgICAg
ICAgICAgYnJlYWs7Ci0KLSAgICAgICAgdmlzaWJsZVJlY29yZHMucHVzaChyZWNvcmQpOwotICAg
IH0KLQotICAgIGlmICghdmlzaWJsZVJlY29yZHMubGVuZ3RoKQotICAgICAgICByZXR1cm47Ci0K
LSAgICB2YXIgbWF4aW11bUNvbWJpbmVkRnJhbWVEdXJhdGlvbiA9IHNlY29uZHNQZXJQaXhlbCAq
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1heGltdW1Db21iaW5lZFdpZHRoUGl4
ZWxzOwotICAgIHZhciBtaW5pbXVtRnJhbWVEdXJhdGlvbiA9IHNlY29uZHNQZXJQaXhlbCAqIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1pbmltdW1XaWR0aFBpeGVsczsKLSAgICB2
YXIgbWluaW11bU1hcmdpbiA9IHNlY29uZHNQZXJQaXhlbCAqIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZEZyYW1lLk1pbmltdW1NYXJnaW5QaXhlbHM7Ci0KLSAgICB2YXIgYWN0aXZlU3RhcnRU
aW1lID0gTmFOOwotICAgIHZhciBhY3RpdmVFbmRUaW1lID0gTmFOOwotICAgIHZhciBhY3RpdmVS
ZWNvcmRzID0gW107Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVGcmFtZUZyb21BY3RpdmVSZWNvcmRz
KCkKLSAgICB7Ci0gICAgICAgIGNyZWF0ZUZyYW1lQ2FsbGJhY2soYWN0aXZlUmVjb3Jkcyk7Ci0g
ICAgICAgIGFjdGl2ZVJlY29yZHMgPSBbXTsKLSAgICAgICAgYWN0aXZlU3RhcnRUaW1lID0gTmFO
OwotICAgICAgICBhY3RpdmVFbmRUaW1lID0gTmFOOwotICAgIH0KLQotICAgIGZvciAodmFyIHJl
Y29yZCBvZiB2aXNpYmxlUmVjb3JkcykgewotICAgICAgICAvLyBDaGVjayBpZiB0aGUgcHJldmlv
dXMgcmVjb3JkIGlzIGZhciBlbm91Z2ggYXdheSB0byBjcmVhdGUgdGhlIGZyYW1lLgotICAgICAg
ICBpZiAoIWlzTmFOKGFjdGl2ZVN0YXJ0VGltZSkgJiYgKGFjdGl2ZVN0YXJ0VGltZSArIE1hdGgu
bWF4KGFjdGl2ZUVuZFRpbWUgLSBhY3RpdmVTdGFydFRpbWUsIG1pbmltdW1GcmFtZUR1cmF0aW9u
KSArIG1pbmltdW1NYXJnaW4gPD0gcmVjb3JkLnN0YXJ0VGltZSkpCi0gICAgICAgICAgICBjcmVh
dGVGcmFtZUZyb21BY3RpdmVSZWNvcmRzKCk7Ci0KLSAgICAgICAgLy8gQ2hlY2sgaWYgYWN0aXZl
IHJlY29yZHMgZXhjZWVkcyB0aGUgbWF4aW11bSBjb21iaW5lZCBmcmFtZSB3aWR0aC4KLSAgICAg
ICAgaWYgKCFpc05hTihhY3RpdmVTdGFydFRpbWUpICYmIChhY3RpdmVFbmRUaW1lIC0gYWN0aXZl
U3RhcnRUaW1lKSA+IG1heGltdW1Db21iaW5lZEZyYW1lRHVyYXRpb24pCi0gICAgICAgICAgICBj
cmVhdGVGcmFtZUZyb21BY3RpdmVSZWNvcmRzKCk7Ci0KLSAgICAgICAgLy8gSWYgdGhpcyBpcyBh
IG5ldyBmcmFtZSwgcGVnIHRoZSBzdGFydCB0aW1lLgotICAgICAgICBpZiAoaXNOYU4oYWN0aXZl
U3RhcnRUaW1lKSkKLSAgICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IHJlY29yZC5zdGFydFRp
bWU7Ci0KLSAgICAgICAgLy8gVXBkYXRlIHRoZSBlbmQgdGltZSB0byBiZSB0aGUgbWF4aW11bSB3
ZSBlbmNvdW50ZXIuIGVuZFRpbWUgbWlnaHQgYmUgTmFOLCBzbyAifHwgMCIgdG8gcHJldmVudCBN
YXRoLm1heCBmcm9tIHJldHVybmluZyBOYU4uCi0gICAgICAgIGlmICghaXNOYU4ocmVjb3JkLmVu
ZFRpbWUpKQotICAgICAgICAgICAgYWN0aXZlRW5kVGltZSA9IE1hdGgubWF4KGFjdGl2ZUVuZFRp
bWUgfHwgMCwgcmVjb3JkLmVuZFRpbWUpOwotCi0gICAgICAgIGFjdGl2ZVJlY29yZHMucHVzaChy
ZWNvcmQpOwotICAgIH0KLQotICAgIC8vIENyZWF0ZSB0aGUgYWN0aXZlIGZyYW1lIGZvciB0aGUg
bGFzdCByZWNvcmQgaWYgbmVlZGVkLgotICAgIGlmICghaXNOYU4oYWN0aXZlU3RhcnRUaW1lKSkK
LSAgICAgICAgY3JlYXRlRnJhbWVDYWxsYmFjayhhY3RpdmVSZWNvcmRzKTsKLX07CiAKIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3Rv
cjogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUsCkBAIC0xMjYsNjIgKzUzLDM0IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAg
cmV0dXJuIHRoaXMuX2VsZW1lbnQ7CiAgICAgfSwKIAotICAgIGdldCBkdXJhdGlvbigpCisgICAg
Z2V0IHJlY29yZCgpCiAgICAgewotICAgICAgICBpZiAodGhpcy5yZWNvcmRzLmxlbmd0aCA9PT0g
MCkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgIHJldHVybiB0aGlzLnJlY29yZHMu
bGFzdFZhbHVlLmVuZFRpbWUgLSB0aGlzLnJlY29yZHNbMF0uc3RhcnRUaW1lOworICAgICAgICBy
ZXR1cm4gdGhpcy5fcmVjb3JkOwogICAgIH0sCiAKLSAgICBnZXQgcmVjb3JkcygpCisgICAgc2V0
IHJlY29yZChyZWNvcmQpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkczsKLSAg
ICB9LAotCi0gICAgc2V0IHJlY29yZHMocmVjb3JkcykKLSAgICB7Ci0gICAgICAgIHJlY29yZHMg
PSByZWNvcmRzIHx8IFtdOwotCi0gICAgICAgIGlmICghKHJlY29yZHMgaW5zdGFuY2VvZiBBcnJh
eSkpCi0gICAgICAgICAgICByZWNvcmRzID0gW3JlY29yZHNdOwotCi0gICAgICAgIHRoaXMuX3Jl
Y29yZHMgPSByZWNvcmRzOworICAgICAgICB0aGlzLl9yZWNvcmQgPSByZWNvcmQ7CiAgICAgfSwK
IAogICAgIHJlZnJlc2goZ3JhcGhEYXRhU291cmNlKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlz
LnJlY29yZHMgfHwgIXRoaXMucmVjb3Jkcy5sZW5ndGgpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICAgICAgdmFyIGZpcnN0UmVjb3JkID0gdGhpcy5yZWNvcmRzWzBdOwotICAgICAg
ICB2YXIgZnJhbWVTdGFydFRpbWUgPSBmaXJzdFJlY29yZC5zdGFydFRpbWU7Ci0KLSAgICAgICAg
Ly8gSWYgdGhpcyBmcmFtZSBoYXMgbm8gdGltZSBpbmZvLCByZXR1cm4gZWFybHkuCi0gICAgICAg
IGlmIChpc05hTihmcmFtZVN0YXJ0VGltZSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICAgICAgdmFyIGdyYXBoU3RhcnRUaW1lID0gZ3JhcGhEYXRhU291cmNlLnN0YXJ0VGltZTsK
LSAgICAgICAgdmFyIGdyYXBoRW5kVGltZSA9IGdyYXBoRGF0YVNvdXJjZS5lbmRUaW1lOwotICAg
ICAgICB2YXIgZ3JhcGhDdXJyZW50VGltZSA9IGdyYXBoRGF0YVNvdXJjZS5jdXJyZW50VGltZTsK
LQotICAgICAgICAvLyBJZiB0aGlzIGZyYW1lIGlzIGNvbXBsZXRlbHkgYWZ0ZXIgdGhlIGN1cnJl
bnQgdGltZSwgcmV0dXJuIGVhcmx5LgotICAgICAgICBpZiAoZnJhbWVTdGFydFRpbWUgPiBncmFw
aEN1cnJlbnRUaW1lKQorICAgICAgICBpZiAoIXRoaXMuX3JlY29yZCkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgICAgICB2YXIgZnJhbWVFbmRUaW1lID0gdGhpcy5yZWNvcmRzLmxh
c3RWYWx1ZS5lbmRUaW1lOworICAgICAgICB2YXIgZnJhbWVJbmRleCA9IHRoaXMuX3JlY29yZC5m
cmFtZUluZGV4OworICAgICAgICB2YXIgZ3JhcGhTdGFydEZyYW1lSW5kZXggPSBNYXRoLmZsb29y
KGdyYXBoRGF0YVNvdXJjZS5zdGFydFRpbWUpOworICAgICAgICB2YXIgZ3JhcGhFbmRGcmFtZUlu
ZGV4ID0gZ3JhcGhEYXRhU291cmNlLmVuZFRpbWU7CiAKICAgICAgICAgLy8gSWYgdGhpcyBmcmFt
ZSBpcyBjb21wbGV0ZWx5IGJlZm9yZSBvciBhZnRlciB0aGUgYm91bmRzIG9mIHRoZSBncmFwaCwg
cmV0dXJuIGVhcmx5LgotICAgICAgICBpZiAoZnJhbWVFbmRUaW1lIDwgZ3JhcGhTdGFydFRpbWUg
fHwgZnJhbWVTdGFydFRpbWUgPiBncmFwaEVuZFRpbWUpCisgICAgICAgIGlmIChmcmFtZUluZGV4
IDwgZ3JhcGhTdGFydEZyYW1lSW5kZXggfHwgZnJhbWVJbmRleCA+IGdyYXBoRW5kRnJhbWVJbmRl
eCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICB2YXIgZ3JhcGhEdXJhdGlv
biA9IGdyYXBoRW5kVGltZSAtIGdyYXBoU3RhcnRUaW1lOwotICAgICAgICB2YXIgcmVjb3JkTGVm
dFBvc2l0aW9uID0gKGZyYW1lU3RhcnRUaW1lIC0gZ3JhcGhTdGFydFRpbWUpIC8gZ3JhcGhEdXJh
dGlvbjsKLSAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKHRoaXMuX2VsZW1lbnQs
IHJlY29yZExlZnRQb3NpdGlvbiwgImxlZnQiKTsKLQotICAgICAgICB2YXIgcmVjb3JkV2lkdGgg
PSAoZnJhbWVFbmRUaW1lIC0gZnJhbWVTdGFydFRpbWUpIC8gZ3JhcGhEdXJhdGlvbjsKLSAgICAg
ICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKHRoaXMuX2VsZW1lbnQsIHJlY29yZFdpZHRo
LCAid2lkdGgiKTsKKyAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS53aWR0aCA9ICgxIC8gZ3Jh
cGhEYXRhU291cmNlLnRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBpeGVsKSArICJweCI7CiAK
KyAgICAgICAgdmFyIGdyYXBoRHVyYXRpb24gPSBncmFwaERhdGFTb3VyY2UuZW5kVGltZSAtIGdy
YXBoRGF0YVNvdXJjZS5zdGFydFRpbWUKKyAgICAgICAgdmFyIHJlY29yZExlZnRQb3NpdGlvbiA9
IChmcmFtZUluZGV4IC0gZ3JhcGhEYXRhU291cmNlLnN0YXJ0VGltZSkgLyBncmFwaER1cmF0aW9u
OworICAgICAgICB0aGlzLl91cGRhdGVFbGVtZW50UG9zaXRpb24odGhpcy5fZWxlbWVudCwgcmVj
b3JkTGVmdFBvc2l0aW9uLCAibGVmdCIpOwogICAgICAgICB0aGlzLl91cGRhdGVDaGlsZEVsZW1l
bnRzKGdyYXBoRGF0YVNvdXJjZSk7CiAKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xOTMsNzIg
KzkyLDQwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKIAotICAgICAg
ICBjb25zb2xlLmFzc2VydCh0aGlzLnJlY29yZHMubGVuZ3RoKTsKLSAgICAgICAgaWYgKCF0aGlz
LnJlY29yZHMubGVuZ3RoKQorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9yZWNvcmQpOwor
ICAgICAgICBpZiAoIXRoaXMuX3JlY29yZCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBpZiAoZ3JhcGhEYXRhU291cmNlLmdyYXBoSGVpZ2h0U2Vjb25kcyA9PT0gMCkKICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICAvLyBXaGVuIGNvbWJpbmluZyBtdWx0aXBsZSByZWNvcmRz
IGludG8gYSBmcmFtZSwgZGlzcGxheSB0aGUgcmVjb3JkIHdpdGggdGhlIGxvbmdlc3QgZHVyYXRp
b24gcmF0aGVyIHRoYW4gYXZlcmFnaW5nLgotICAgICAgICB2YXIgZGlzcGxheVJlY29yZCA9IHRo
aXMucmVjb3Jkcy5yZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwgY3VycmVudFZhbHVlKSB7
Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlLmR1cmF0aW9uID49IHByZXZpb3VzVmFs
dWUuZHVyYXRpb24gPyBjdXJyZW50VmFsdWUgOiBwcmV2aW91c1ZhbHVlOwotICAgICAgICB9KTsK
LQogICAgICAgICB2YXIgZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiAgICAgICAgIGZyYW1lRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJmcmFtZSIpOwogICAgICAg
ICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGZyYW1lRWxlbWVudCk7CiAKLSAgICAgICAgdmFy
IGZyYW1lSGVpZ2h0ID0gZGlzcGxheVJlY29yZC5kdXJhdGlvbiAvIGdyYXBoRGF0YVNvdXJjZS5n
cmFwaEhlaWdodFNlY29uZHM7CisgICAgICAgIHZhciBmcmFtZUhlaWdodCA9IHRoaXMuX3JlY29y
ZC5kdXJhdGlvbiAvIGdyYXBoRGF0YVNvdXJjZS5ncmFwaEhlaWdodFNlY29uZHM7CiAgICAgICAg
IHRoaXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlvbihmcmFtZUVsZW1lbnQsIGZyYW1lSGVpZ2h0LCAi
aGVpZ2h0Iik7CiAKICAgICAgICAgZnVuY3Rpb24gY3JlYXRlRHVyYXRpb25FbGVtZW50KGR1cmF0
aW9uLCByZWNvcmRUeXBlKQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgdGhpcy5fdXBkYXRlRWxl
bWVudFBvc2l0aW9uKGVsZW1lbnQsIGR1cmF0aW9uIC8gZGlzcGxheVJlY29yZC5kdXJhdGlvbiwg
ImhlaWdodCIpOworICAgICAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKGVsZW1l
bnQsIGR1cmF0aW9uIC8gdGhpcy5fcmVjb3JkLmR1cmF0aW9uLCAiaGVpZ2h0Iik7CiAgICAgICAg
ICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoImR1cmF0aW9uIik7CiAgICAgICAgICAgICBpZiAo
cmVjb3JkVHlwZSkKICAgICAgICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQocmVjb3Jk
VHlwZSk7CiAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgICAgICAgfQogCi0gICAgICAg
IGlmIChkaXNwbGF5UmVjb3JkLmR1cmF0aW9uUmVtYWluZGVyID4gMCkKLSAgICAgICAgICAgIGZy
YW1lRWxlbWVudC5hcHBlbmRDaGlsZChjcmVhdGVEdXJhdGlvbkVsZW1lbnQuY2FsbCh0aGlzLCBk
aXNwbGF5UmVjb3JkLmR1cmF0aW9uUmVtYWluZGVyKSk7CisgICAgICAgIGlmICh0aGlzLl9yZWNv
cmQuZHVyYXRpb25SZW1haW5kZXIgPiAwKQorICAgICAgICAgICAgZnJhbWVFbGVtZW50LmFwcGVu
ZENoaWxkKGNyZWF0ZUR1cmF0aW9uRWxlbWVudC5jYWxsKHRoaXMsIHRoaXMuX3JlY29yZC5kdXJh
dGlvblJlbWFpbmRlcikpOwogCiAgICAgICAgIGZvciAodmFyIHR5cGUgaW4gV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkLlR5cGUpIHsKICAgICAgICAgICAgIHZhciByZWNvcmRUeXBlID0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGVbdHlwZV07Ci0gICAgICAgICAgICB2YXIgZHVy
YXRpb24gPSBkaXNwbGF5UmVjb3JkLmR1cmF0aW9uRm9yUmVjb3JkcyhyZWNvcmRUeXBlKTsKKyAg
ICAgICAgICAgIHZhciBkdXJhdGlvbiA9IHRoaXMuX3JlY29yZC5kdXJhdGlvbkZvclJlY29yZHMo
cmVjb3JkVHlwZSk7CiAgICAgICAgICAgICBpZiAoZHVyYXRpb24gPT09IDApCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgICAgICBmcmFtZUVsZW1lbnQuYXBwZW5kQ2hpbGQoY3Jl
YXRlRHVyYXRpb25FbGVtZW50LmNhbGwodGhpcywgZHVyYXRpb24sIHJlY29yZFR5cGUpKTsKICAg
ICAgICAgfQotCi0gICAgICAgIC8vIEFkZCAiaW5jbHVkZXMtZHJvcHBlZCIgc3R5bGUgY2xhc3Mg
aWYgbXVsdGlwbGUgcmVjb3JkcyBhcmUgYmVpbmcgY29tYmluZWQgaW4gdGhlIGZyYW1lLAotICAg
ICAgICAvLyBhbmQgb25lIG9mIHRob3NlIHJlY29yZHMgZXhjZWVkcyB0aGUgNjAgZnBzIGZyYW1l
IGJ1ZGdldC4KLSAgICAgICAgaWYgKHRoaXMucmVjb3Jkcy5sZW5ndGggPiAxICYmIGRpc3BsYXlS
ZWNvcmQuZHVyYXRpb24gPiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5TaXh0eUZw
c0ZyYW1lQnVkZ2V0KQotICAgICAgICAgICAgZnJhbWVFbGVtZW50LmNsYXNzTGlzdC5hZGQoImlu
Y2x1ZGVzLWRyb3BwZWQiKTsKLQotICAgICAgICAvLyBJZiB0aGUgZGlzcGxheSByZWNvcmQgaXMg
dGhlIGxhc3QgY29tYmluZWQgcmVjb3JkIGFuZCBhbHNvIGV4Y2VlZHMgdGhlIDYwIGZwcyBidWRn
ZXQsCi0gICAgICAgIC8vIGFkZCBhICJkcm9wcGVkIiBlbGVtZW50IHRvIHRoZSByaWdodCBvZiB0
aGUgZnJhbWUuCi0gICAgICAgIHZhciBmcmFtZVdpZHRoID0gMTsKLSAgICAgICAgdmFyIHNlY29u
ZHNQZXJQaXhlbCA9IHRoaXMuX2dyYXBoRGF0YVNvdXJjZS50aW1lbGluZU92ZXJ2aWV3LnNlY29u
ZHNQZXJQaXhlbDsKLSAgICAgICAgdmFyIG1pbmltdW1SZWNvcmREdXJhdGlvbiA9IHNlY29uZHNQ
ZXJQaXhlbCAqIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1pbmltdW1XaWR0aFBp
eGVscyAqIDI7ICAgIC8vIENvbWJpbmUgbWluaW11bSB3aWR0aHMgb2YgdGhlIGZyYW1lIGVsZW1l
bnQgYW5kIGRyb3BwZWQgZWxlbWVudC4KLQotICAgICAgICBpZiAoZGlzcGxheVJlY29yZCA9PT0g
dGhpcy5yZWNvcmRzLmxhc3RWYWx1ZSAmJiBkaXNwbGF5UmVjb3JkLmR1cmF0aW9uID4gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuU2l4dHlGcHNGcmFtZUJ1ZGdldCAmJiBkaXNwbGF5
UmVjb3JkLmR1cmF0aW9uID49IG1pbmltdW1SZWNvcmREdXJhdGlvbikgewotICAgICAgICAgICAg
dmFyIG92ZXJmbG93RHVyYXRpb24gPSBkaXNwbGF5UmVjb3JkLmR1cmF0aW9uIC0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuU2l4dHlGcHNGcmFtZUJ1ZGdldDsKLSAgICAgICAgICAg
IHZhciBkcm9wcGVkRWxlbWVudFdpZHRoID0gb3ZlcmZsb3dEdXJhdGlvbiAvIGRpc3BsYXlSZWNv
cmQuZHVyYXRpb247Ci0gICAgICAgICAgICBmcmFtZVdpZHRoIC09IGRyb3BwZWRFbGVtZW50V2lk
dGg7Ci0KLSAgICAgICAgICAgIHZhciBkcm9wcGVkRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgZHJvcHBlZEVsZW1lbnQuY2xhc3NOYW1lID0gImRy
b3BwZWQiOwotCi0gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGRyb3BwZWRF
bGVtZW50KTsKLQotICAgICAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKGRyb3Bw
ZWRFbGVtZW50LCBmcmFtZUhlaWdodCwgImhlaWdodCIpOwotICAgICAgICAgICAgdGhpcy5fdXBk
YXRlRWxlbWVudFBvc2l0aW9uKGRyb3BwZWRFbGVtZW50LCBkcm9wcGVkRWxlbWVudFdpZHRoLCAi
d2lkdGgiKTsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlv
bihmcmFtZUVsZW1lbnQsIGZyYW1lV2lkdGgsICJ3aWR0aCIpOwogICAgIH0sCiAKICAgICBfdXBk
YXRlRWxlbWVudFBvc2l0aW9uKGVsZW1lbnQsIG5ld1Bvc2l0aW9uLCBwcm9wZXJ0eSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCmluZGV4IGU1MjNiZTky
MWJlOGY4MDM0MmQyZWM2NGQ3MWY4YWI4OWE5Y2MzMjIuLjRhNzc5ZmU1NGY4ODFmODk5ZGVhNzZj
Nzk4ZDE4MjQxYjg5YzcwNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdD
b250ZW50Vmlldy5qcwpAQCAtMzYsOSArMzYsMTQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcgPSBmdW5jdGlvbihyZWNvcmRpbmcsIGV4dHJhQXJndW1lbnRzKQog
CiAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcuU3R5bGVDbGFzc05hbWUpOwogCi0gICAgdGhpcy5fdGltZWxpbmVP
dmVydmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyh0aGlzLl9yZWNvcmRp
bmcpOwotICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudC5UaW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0
aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzKTsKLSAgICB0aGlzLmVsZW1lbnQu
YXBwZW5kQ2hpbGQodGhpcy5fdGltZWxpbmVPdmVydmlldy5lbGVtZW50KTsKKyAgICB0aGlzLl9s
aW5lYXJUaW1lbGluZU92ZXJ2aWV3ID0gbmV3IFdlYkluc3BlY3Rvci5MaW5lYXJUaW1lbGluZU92
ZXJ2aWV3KHRoaXMuX3JlY29yZGluZyk7CisgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmll
dy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LkV2ZW50LlRp
bWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQs
IHRoaXMpOworCisgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3ID0gbmV3
IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcodGhpcy5fcmVjb3Jk
aW5nKTsKKyAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudC5UaW1lUmFuZ2VTZWxl
Y3Rpb25DaGFuZ2VkLCB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzKTsKKwor
ICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3ID0gdGhpcy5fbGluZWFyVGltZWxpbmVP
dmVydmlldzsKKyAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY3VycmVudFRpbWVs
aW5lT3ZlcnZpZXcuZWxlbWVudCk7CiAKICAgICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lciA9
IG5ldyBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXdDb250YWluZXIoKTsKICAgICB0aGlzLl9jb250
ZW50Vmlld0NvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Db250ZW50Vmll
d0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UsIHRoaXMuX2N1cnJl
bnRDb250ZW50Vmlld0RpZENoYW5nZSwgdGhpcyk7CkBAIC01NCw3ICs1OSw3IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gZnVuY3Rpb24ocmVjb3JkaW5nLCBl
eHRyYUFyZ3VtZW50cykKICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdhdGlvbkl0ZW0uYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xp
Y2tlZCwgdGhpcy5fY2xlYXJUaW1lbGluZSwgdGhpcyk7CiAKICAgICB0aGlzLl9vdmVydmlld1Rp
bWVsaW5lVmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcocmVjb3Jk
aW5nLCB7dGltZWxpbmVTaWRlYmFyUGFuZWw6IHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsfSk7
Ci0gICAgdGhpcy5fb3ZlcnZpZXdUaW1lbGluZVZpZXcuc2Vjb25kc1BlclBpeGVsID0gdGhpcy5f
dGltZWxpbmVPdmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7CisgICAgdGhpcy5fb3ZlcnZpZXdUaW1l
bGluZVZpZXcuc2Vjb25kc1BlclBpeGVsID0gdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5z
ZWNvbmRzUGVyUGl4ZWw7CiAKICAgICB0aGlzLl90aW1lbGluZVZpZXdNYXAgPSBuZXcgTWFwOwog
ICAgIHRoaXMuX3BhdGhDb21wb25lbnRNYXAgPSBuZXcgTWFwOwpAQCAtMTY2LDcgKzE3MSw3IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsK
IAogICAgIHNob3duOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlzLl90aW1lbGluZU92
ZXJ2aWV3LnNob3duKCk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNo
b3duKCk7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLnNob3duKCk7CiAgICAg
ICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhpcy5fcmVj
b3JkaW5nLmlzV3JpdGFibGUoKTsKIApAQCAtMTc2LDcgKzE4MSw3IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIGhpZGRlbjog
ZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5oaWRkZW4o
KTsKKyAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuaGlkZGVuKCk7CiAgICAg
ICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLmhpZGRlbigpOwogCiAgICAgICAgIGlmICh0
aGlzLl91cGRhdGluZykKQEAgLTIxNiw3ICsyMjEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAKICAgICB1cGRhdGVMYXlvdXQ6IGZ1
bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcudXBkYXRlTGF5
b3V0Rm9yUmVzaXplKCk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnVw
ZGF0ZUxheW91dEZvclJlc2l6ZSgpOwogCiAgICAgICAgIHZhciBjdXJyZW50Q29udGVudFZpZXcg
PSB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5jdXJyZW50Q29udGVudFZpZXc7CiAgICAgICAg
IGlmIChjdXJyZW50Q29udGVudFZpZXcpCkBAIC0yMzcsNyArMjQyLDYgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgIHJlc3RvcmVG
cm9tQ29va2llOiBmdW5jdGlvbihjb29raWUpCiAgICAgewogICAgICAgICB2YXIgdGltZWxpbmVU
eXBlID0gY29va2llW1dlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LlNl
bGVjdGVkVGltZWxpbmVUeXBlQ29va2llS2V5XTsKLQogICAgICAgICBpZiAodGltZWxpbmVUeXBl
ID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5PdmVydmlld1Rp
bWVsaW5lVmlld0Nvb2tpZVZhbHVlKQogICAgICAgICAgICAgdGhpcy5zaG93T3ZlcnZpZXdUaW1l
bGluZVZpZXcoKTsKICAgICAgICAgZWxzZQpAQCAtMjU3LDEwICsyNjEsMjcgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgICAgICBp
ZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3ICYmICF0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcu
bWF0Y2hUcmVlRWxlbWVudEFnYWluc3RDdXN0b21GaWx0ZXJzKHRyZWVFbGVtZW50KSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhpcy5fdGlt
ZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7Ci0gICAgICAgIHZhciBlbmRUaW1lID0g
dGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgKyB0aGlzLl90aW1lbGlu
ZU92ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOworICAgICAgICB2YXIgc3RhcnRUaW1lID0gdGhp
cy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOworICAgICAgICB2
YXIgZW5kVGltZSA9IHN0YXJ0VGltZSArIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNl
bGVjdGlvbkR1cmF0aW9uOwogICAgICAgICB2YXIgY3VycmVudFRpbWUgPSB0aGlzLl9jdXJyZW50
VGltZSB8fCB0aGlzLl9yZWNvcmRpbmcuc3RhcnRUaW1lOwogCisgICAgICAgIGlmICh0aGlzLl90
aW1lbGluZVNpZGViYXJQYW5lbC52aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lk
ZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykgeworICAgICAgICAgICAgdmFyIHRp
bWVsaW5lID0gdGhpcy5fZ2V0UmVuZGVyaW5nRnJhbWVUaW1lbGluZSgpOworICAgICAgICAgICAg
Y29uc29sZS5hc3NlcnQodGltZWxpbmUpOworCisgICAgICAgICAgICBpZiAodGltZWxpbmUgJiYg
dGltZWxpbmUucmVjb3Jkcy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICB2YXIgc3RhcnRJbmRl
eCA9IE1hdGguZmxvb3Ioc3RhcnRUaW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoc3RhcnRJbmRl
eCA+PSB0aW1lbGluZS5yZWNvcmRzLmxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4ID0gTWF0aC5taW4oTWF0aC5m
bG9vcihlbmRUaW1lKSwgdGltZWxpbmUucmVjb3Jkcy5sZW5ndGggLSAxKTsKKyAgICAgICAgICAg
ICAgICBjb25zb2xlLmFzc2VydChzdGFydEluZGV4IDw9IGVuZEluZGV4LCBzdGFydEluZGV4KTsK
KworICAgICAgICAgICAgICAgIHN0YXJ0VGltZSA9IHRpbWVsaW5lLnJlY29yZHNbc3RhcnRJbmRl
eF0uc3RhcnRUaW1lOworICAgICAgICAgICAgICAgIGVuZFRpbWUgPSB0aW1lbGluZS5yZWNvcmRz
W2VuZEluZGV4XS5lbmRUaW1lOworICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAg
ZnVuY3Rpb24gY2hlY2tUaW1lQm91bmRzKGl0ZW1TdGFydFRpbWUsIGl0ZW1FbmRUaW1lKQogICAg
ICAgICB7CiAgICAgICAgICAgICBpdGVtU3RhcnRUaW1lID0gaXRlbVN0YXJ0VGltZSB8fCBjdXJy
ZW50VGltZTsKQEAgLTMxMiwxNiArMzMzLDMyIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIF9jdXJyZW50Q29udGVudFZpZXdE
aWRDaGFuZ2U6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKKyAgICAgICAgdmFyIG5ld1RpbWVsaW5l
T3ZlcnZpZXcgPSB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3OwogICAgICAgICB2YXIgdGlt
ZWxpbmVWaWV3ID0gdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3OwogICAgICAgICBpZiAodGltZWxp
bmVWaWV3KSB7CiAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC5jb250ZW50
VHJlZU91dGxpbmUgPSB0aW1lbGluZVZpZXcubmF2aWdhdGlvblNpZGViYXJUcmVlT3V0bGluZTsK
ICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLmNvbnRlbnRUcmVlT3V0bGlu
ZUxhYmVsID0gdGltZWxpbmVWaWV3Lm5hdmlnYXRpb25TaWRlYmFyVHJlZU91dGxpbmVMYWJlbDsK
IAotICAgICAgICAgICAgdGltZWxpbmVWaWV3LnN0YXJ0VGltZSA9IHRoaXMuX3RpbWVsaW5lT3Zl
cnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOwotICAgICAgICAgICAgdGltZWxpbmVWaWV3LmVuZFRp
bWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSArIHRoaXMuX3Rp
bWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CisgICAgICAgICAgICBpZiAodGltZWxp
bmVWaWV3LnJlcHJlc2VudGVkT2JqZWN0LnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAgICAgICAgIG5ld1RpbWVsaW5lT3Zl
cnZpZXcgPSB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXc7CisKKyAgICAgICAg
ICAgIHRpbWVsaW5lVmlldy5zdGFydFRpbWUgPSBuZXdUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlv
blN0YXJ0VGltZTsKKyAgICAgICAgICAgIHRpbWVsaW5lVmlldy5lbmRUaW1lID0gbmV3VGltZWxp
bmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgKyBuZXdUaW1lbGluZU92ZXJ2aWV3LnNlbGVj
dGlvbkR1cmF0aW9uOwogICAgICAgICAgICAgdGltZWxpbmVWaWV3LmN1cnJlbnRUaW1lID0gdGhp
cy5fY3VycmVudFRpbWU7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAobmV3VGltZWxpbmVPdmVy
dmlldyAhPT0gdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcpIHsKKyAgICAgICAgICAgIHRo
aXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LmhpZGRlbigpOworCisgICAgICAgICAgICB0aGlz
LmVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5ld1RpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudCwgdGhpcy5f
Y3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLmVsZW1l
bnQucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudCk7CisK
KyAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3ID0gbmV3VGltZWxpbmVP
dmVydmlldzsKKyAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNob3du
KCk7CisKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRpbWVsaW5lT3ZlcnZpZXdIZWlnaHQoKTsK
KyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYklu
c3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5TZWxlY3Rpb25QYXRoQ29tcG9uZW50c0RpZENoYW5n
ZSk7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5D
b250ZW50Vmlldy5FdmVudC5OYXZpZ2F0aW9uSXRlbXNEaWRDaGFuZ2UpOwogICAgIH0sCkBAIC0z
NzUsMTAgKzQxMiwxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5wcm90b3R5cGUgPSB7CiAgICAgX3VwZGF0ZVRpbWVzOiBmdW5jdGlvbihzdGFydFRpbWUsIGN1
cnJlbnRUaW1lLCBlbmRUaW1lKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3N0YXJ0VGltZU5l
ZWRzUmVzZXQgJiYgIWlzTmFOKHN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHZhciBzZWxlY3Rp
b25PZmZzZXQgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZSAtIHRo
aXMuX3RpbWVsaW5lT3ZlcnZpZXcuc3RhcnRUaW1lOworICAgICAgICAgICAgdmFyIHNlbGVjdGlv
bk9mZnNldCA9IHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1l
IC0gdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5zdGFydFRpbWU7CiAKLSAgICAgICAgICAg
IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc3RhcnRUaW1lID0gc3RhcnRUaW1lOwotICAgICAgICAg
ICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgPSBzdGFydFRpbWUg
KyBzZWxlY3Rpb25PZmZzZXQ7CisgICAgICAgICAgICB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2
aWV3LnN0YXJ0VGltZSA9IHN0YXJ0VGltZTsKKyAgICAgICAgICAgIHRoaXMuX2xpbmVhclRpbWVs
aW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lID0gc3RhcnRUaW1lICsgc2VsZWN0aW9uT2Zm
c2V0OwogCiAgICAgICAgICAgICB0aGlzLl9vdmVydmlld1RpbWVsaW5lVmlldy56ZXJvVGltZSA9
IHN0YXJ0VGltZTsKICAgICAgICAgICAgIGZvciAodmFyIHRpbWVsaW5lVmlldyBvZiB0aGlzLl90
aW1lbGluZVZpZXdNYXAudmFsdWVzKCkpCkBAIC0zODcsMTcgKzQyNCwyMSBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBkZWxldGUgdGhpcy5fc3RhcnRUaW1lTmVlZHNSZXNldDsKICAgICAgICAgfQogCi0gICAgICAg
IHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuZW5kVGltZSA9IE1hdGgubWF4KGVuZFRpbWUsIGN1cnJl
bnRUaW1lKTsKKyAgICAgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5lbmRUaW1lID0g
TWF0aC5tYXgoZW5kVGltZSwgY3VycmVudFRpbWUpOwogCiAgICAgICAgIHRoaXMuX2N1cnJlbnRU
aW1lID0gY3VycmVudFRpbWU7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuY3VycmVu
dFRpbWUgPSBjdXJyZW50VGltZTsKKyAgICAgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmll
dy5jdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lOwogICAgICAgICBpZiAodGhpcy5jdXJyZW50VGlt
ZWxpbmVWaWV3KQogICAgICAgICAgICAgdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LmN1cnJlbnRU
aW1lID0gY3VycmVudFRpbWU7CiAKKyAgICAgICAgdmFyIHRpbWVsaW5lID0gdGhpcy5fZ2V0UmVu
ZGVyaW5nRnJhbWVUaW1lbGluZSgpOworICAgICAgICBpZiAodGltZWxpbmUpCisgICAgICAgICAg
ICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuZW5kVGltZSA9IHRpbWVsaW5l
LnJlY29yZHMubGVuZ3RoOworCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLnVw
ZGF0ZUZpbHRlcigpOwogCiAgICAgICAgIC8vIEZvcmNlIGEgbGF5b3V0IG5vdyBzaW5jZSB3ZSBh
cmUgYWxyZWFkeSBpbiBhbiBhbmltYXRpb24gZnJhbWUgYW5kIGRvbid0IG5lZWQgdG8gZGVsYXkg
aXQgdW50aWwgdGhlIG5leHQuCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcudXBkYXRl
TGF5b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcu
dXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgaWYgKHRoaXMuY3VycmVudFRpbWVsaW5l
VmlldykKICAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy51cGRhdGVMYXlvdXRJ
Zk5lZWRlZCgpOwogICAgIH0sCkBAIC00ODksNiArNTMwLDM5IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcmVj
b3JkaW5nLnJlc2V0KCk7CiAgICAgfSwKIAorICAgIF91cGRhdGVUaW1lbGluZU92ZXJ2aWV3SGVp
Z2h0OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBjb25zdCB0aW1lbGluZUhlaWdodCA9IDM2
OworICAgICAgICBjb25zdCByZW5kZXJpbmdGcmFtZXNUaW1lbGluZUhlaWdodCA9IDEwODsKKyAg
ICAgICAgY29uc3QgcnVsZXJIZWlnaHQgPSAyOTsKKworICAgICAgICB2YXIgb3ZlcnZpZXdIZWln
aHQ7CisKKyAgICAgICAgaWYgKHRoaXMuY3VycmVudFRpbWVsaW5lVmlldyAmJiB0aGlzLmN1cnJl
bnRUaW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCisgICAgICAgICAgICBvdmVydmlld0hl
aWdodCA9IHJlbmRlcmluZ0ZyYW1lc1RpbWVsaW5lSGVpZ2h0OworICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgIHZhciB0aW1lbGluZUNvdW50ID0gdGhpcy5fdGltZWxpbmVWaWV3TWFwLnNpemU7
CisgICAgICAgICAgICBpZiAodGhpcy5fZ2V0UmVuZGVyaW5nRnJhbWVUaW1lbGluZSgpKQorICAg
ICAgICAgICAgICAgIHRpbWVsaW5lQ291bnQtLTsKKworICAgICAgICAgICAgb3ZlcnZpZXdIZWln
aHQgPSB0aW1lbGluZUNvdW50ICogdGltZWxpbmVIZWlnaHQ7CisgICAgICAgIH0KKworICAgICAg
ICB2YXIgc3R5bGVWYWx1ZSA9IChydWxlckhlaWdodCArIG92ZXJ2aWV3SGVpZ2h0KSArICJweCI7
CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LmVsZW1lbnQuc3R5bGUuaGVp
Z2h0ID0gc3R5bGVWYWx1ZTsKKyAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuZWxl
bWVudC5zdHlsZS50b3AgPSBzdHlsZVZhbHVlOworICAgIH0sCisKKyAgICBfZ2V0UmVuZGVyaW5n
RnJhbWVUaW1lbGluZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgdGltZWxp
bmUgb2YgdGhpcy5fdGltZWxpbmVWaWV3TWFwLmtleXMoKSkgeworICAgICAgICAgICAgaWYgKHRp
bWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmlu
Z0ZyYW1lKQorICAgICAgICAgICAgICAgIHJldHVybiB0aW1lbGluZTsKKyAgICAgICAgfQorCisg
ICAgICAgIHJldHVybiBudWxsOworICAgIH0sCisKICAgICBfdGltZWxpbmVBZGRlZDogZnVuY3Rp
b24odGltZWxpbmVPckV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIHRpbWVsaW5lID0gdGltZWxp
bmVPckV2ZW50OwpAQCAtNDk2LDkgKzU3MCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRpbWVsaW5lID0gdGlt
ZWxpbmVPckV2ZW50LmRhdGEudGltZWxpbmU7CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQodGlt
ZWxpbmUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5lKTsKLSAgICAg
ICAgaWYgKCFXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnNob3VsZFNob3dWaWV3Rm9yVGlt
ZWxpbmUodGltZWxpbmUpKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KCF0aGlzLl90aW1lbGluZVZpZXdNYXAuaGFzKHRpbWVsaW5lKSwgdGltZWxpbmUpOwog
CiAgICAgICAgIHRoaXMuX3RpbWVsaW5lVmlld01hcC5zZXQodGltZWxpbmUsIG5ldyBXZWJJbnNw
ZWN0b3IuQ29udGVudFZpZXcodGltZWxpbmUsIHt0aW1lbGluZVNpZGViYXJQYW5lbDogdGhpcy5f
dGltZWxpbmVTaWRlYmFyUGFuZWx9KSk7CkBAIC01MTQsOSArNTg1LDYgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAg
ICAgdmFyIHRpbWVsaW5lID0gZXZlbnQuZGF0YS50aW1lbGluZTsKICAgICAgICAgY29uc29sZS5h
c3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5l
KTsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnNob3VsZFNob3dW
aWV3Rm9yVGltZWxpbmUodGltZWxpbmUpKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3RpbWVsaW5lVmlld01hcC5oYXModGltZWxpbmUpLCB0aW1l
bGluZSk7CiAKICAgICAgICAgdmFyIHRpbWVsaW5lVmlldyA9IHRoaXMuX3RpbWVsaW5lVmlld01h
cC50YWtlKHRpbWVsaW5lKTsKQEAgLTU0MCwxMSArNjA4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgcHJldmlv
dXNQYXRoQ29tcG9uZW50ID0gcGF0aENvbXBvbmVudDsKICAgICAgICAgfQogCi0gICAgICAgIHZh
ciB0aW1lbGluZUNvdW50ID0gdGhpcy5fdGltZWxpbmVWaWV3TWFwLnNpemU7Ci0gICAgICAgIGNv
bnN0IHRpbWVsaW5lSGVpZ2h0ID0gMzY7Ci0gICAgICAgIGNvbnN0IGV4dHJhT2Zmc2V0ID0gMjI7
Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudC5zdHlsZS5oZWlnaHQgPSAo
dGltZWxpbmVDb3VudCAqIHRpbWVsaW5lSGVpZ2h0ICsgZXh0cmFPZmZzZXQpICsgInB4IjsKLSAg
ICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuZWxlbWVudC5zdHlsZS50b3AgPSAodGlt
ZWxpbmVDb3VudCAqIHRpbWVsaW5lSGVpZ2h0ICsgZXh0cmFPZmZzZXQpICsgInB4IjsKKyAgICAg
ICAgdGhpcy5fdXBkYXRlVGltZWxpbmVPdmVydmlld0hlaWdodCgpOwogICAgIH0sCiAKICAgICBf
cmVjb3JkaW5nUmVzZXQ6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtNTYzLDcgKzYyNyw4IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgdGhpcy5fcmVjb3JkaW5nLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkaW5nLkV2ZW50LlRpbWVzVXBkYXRlZCwgdGhpcy5fcmVjb3JkaW5nVGltZXNVcGRh
dGVkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fd2FpdGluZ1RvUmVzZXRDdXJyZW50VGltZSA9IGZh
bHNlOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcucmVzZXQoKTsKKyAgICAgICAg
dGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5yZXNldCgpOworICAgICAgICB0aGlzLl9yZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcucmVzZXQoKTsKICAgICAgICAgdGhpcy5fb3ZlcnZp
ZXdUaW1lbGluZVZpZXcucmVzZXQoKTsKICAgICAgICAgZm9yICh2YXIgdGltZWxpbmVWaWV3IG9m
IHRoaXMuX3RpbWVsaW5lVmlld01hcC52YWx1ZXMoKSkKICAgICAgICAgICAgIHRpbWVsaW5lVmll
dy5yZXNldCgpOwpAQCAtNTgwLDEwICs2NDUsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgIF90aW1lUmFuZ2VTZWxlY3Rpb25D
aGFuZ2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRU
aW1lbGluZVZpZXcpIHsKLSAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5zdGFy
dFRpbWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZTsKLSAgICAg
ICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5lbmRUaW1lID0gdGhpcy5fdGltZWxpbmVP
dmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgKyB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVj
dGlvbkR1cmF0aW9uOworICAgICAgICAgICAgdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LnN0YXJ0
VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGltZTsK
KyAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5lbmRUaW1lID0gdGhpcy5fY3Vy
cmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lICsgdGhpcy5fY3VycmVudFRp
bWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CiAKLSAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5yZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwudXBkYXRlUmFuZ2VTZWxlY3Rp
b24odGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LnN0YXJ0VGltZSwgdGhpcy5jdXJyZW50VGltZWxp
bmVWaWV3LmVuZFRpbWUpOworICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFRpbWVsaW5lVmll
dy5yZXByZXNlbnRlZE9iamVjdC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQu
VHlwZS5SZW5kZXJpbmdGcmFtZSkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVuZGVy
aW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVsLnVwZGF0ZVJhbmdlU2VsZWN0aW9uKHRoaXMuY3Vy
cmVudFRpbWVsaW5lVmlldy5zdGFydFRpbWUsIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5lbmRU
aW1lKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIERlbGF5IHVudGlsIHRoZSBuZXh0IGZyYW1l
IHRvIHN0YXkgaW4gc3luYyB3aXRoIHRoZSBjdXJyZW50IHRpbWVsaW5lIHZpZXcncyB0aW1lLWJh
c2VkIGxheW91dCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmNzcwppbmRleCAyZDg2NzkzZmI3
NjA1MTI3MjdjOWRhMzNkMzhhZmZhMTE0MWIyYjY1Li41YWQwNjQ2ZjVmN2NmODlmNTc4MWNkNDBm
ZGFkZTM0MTYwODc2MjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmNzcwpAQCAtNDQsNiArNDQsMTAg
QEAKICAgICB0b3A6IDA7CiAgICAgbGVmdDogMDsKICAgICByaWdodDogMDsKKyAgICBoZWlnaHQ6
IDI5cHg7Cit9CisKK2JvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAudGltZWxpbmUtcnVsZXIgPiAu
aGVhZGVyIHsKICAgICBoZWlnaHQ6IDIycHg7CiB9CiAKQEAgLTU4LDcgKzYyLDcgQEAKIAogLnRp
bWVsaW5lLXJ1bGVyID4gLmhlYWRlciA+IC5kaXZpZGVyID4gLmxhYmVsIHsKICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7Ci0gICAgdG9wOiA1cHg7CisgICAgdG9wOiA4cHg7CiAgICAgcmlnaHQ6IDVw
eDsKICAgICBmb250LXNpemU6IDlweDsKICAgICBjb2xvcjogcmdiKDEyOCwgMTI4LCAxMjgpOwpA
QCAtMTI5LDExICsxMzMsMTUgQEAKIC50aW1lbGluZS1ydWxlciA+IC5zZWxlY3Rpb24tZHJhZyB7
CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogMDsKLSAgICBoZWlnaHQ6IDIycHg7
CisgICAgaGVpZ2h0OiAyOXB4OwogICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiOwogICAgIHBvaW50
ZXItZXZlbnRzOiBhbGw7CiB9CiAKK2JvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAudGltZWxpbmUt
cnVsZXIgPiAuc2VsZWN0aW9uLWRyYWcgeworICAgIGhlaWdodDogMjJweDsKK30KKwogLnRpbWVs
aW5lLXJ1bGVyID4gLnNlbGVjdGlvbi1kcmFnOmFjdGl2ZSB7CiAgICAgY3Vyc29yOiAtd2Via2l0
LWdyYWJiaW5nOwogfQpAQCAtMTQyLDcgKzE1MCw3IEBACiAgICAgcG9zaXRpb246IGFic29sdXRl
OwogICAgIHRvcDogMDsKICAgICB3aWR0aDogOHB4OwotICAgIGhlaWdodDogMjFweDsKKyAgICBo
ZWlnaHQ6IDI4cHg7CiAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgIGJhY2tncm91bmQtY29s
b3I6IHJnYigxNjQsIDE2NCwgMTY0KTsKICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTsKQEAg
LTE1MSw2ICsxNTksMTAgQEAKICAgICB6LWluZGV4OiAxNTsKIH0KIAorYm9keS5tYWMtcGxhdGZv
cm0ubGVnYWN5IC50aW1lbGluZS1ydWxlciA+IC5zZWxlY3Rpb24taGFuZGxlIHsKKyAgICBoZWln
aHQ6IDIxcHg7Cit9CisKIC50aW1lbGluZS1ydWxlciA+IC5zZWxlY3Rpb24taGFuZGxlLmxlZnQg
ewogICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxl
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
UnVsZXIuanMKaW5kZXggZDRjMjMxNDM5NjBjYmNkZjFiOGE1Y2I1NTcxODFmYzRlMDA3MTY3OS4u
ZTYxZmJmMDQxMmM1YTk0M2MyNTdkOTk5MTBiMzkyNzJhOWM5MGQ4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1
bGVyLmpzCkBAIC00OSw2ICs0OSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyID0gZnVu
Y3Rpb24oKQogICAgIHRoaXMuX2VuZFRpbWVQaW5uZWQgPSBmYWxzZTsKICAgICB0aGlzLl9hbGxv
d3NDbGlwcGVkTGFiZWxzID0gZmFsc2U7CiAgICAgdGhpcy5fYWxsb3dzVGltZVJhbmdlU2VsZWN0
aW9uID0gZmFsc2U7CisgICAgdGhpcy5fZm9ybWF0TGFiZWxDYWxsYmFjayA9IG51bGw7CiAKICAg
ICB0aGlzLl9tYXJrZXJFbGVtZW50TWFwID0gbmV3IE1hcDsKIH07CkBAIC0xMDAsNiArMTAxLDE4
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhp
cy5fbmVlZHNMYXlvdXQoKTsKICAgICB9LAogCisgICAgc2V0IGZvcm1hdExhYmVsQ2FsbGJhY2so
eCkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiB4ID09PSAiZnVuY3Rpb24i
IHx8ICF4LCB4KTsKKworICAgICAgICBpZiAodGhpcy5fZm9ybWF0TGFiZWxDYWxsYmFjayA9PT0g
eCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9mb3JtYXRMYWJlbENhbGxi
YWNrID0geCB8fCBudWxsOworCisgICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7CisgICAgfSwK
KwogICAgIGdldCBhbGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0
dXJuIHRoaXMuX2FsbG93c1RpbWVSYW5nZVNlbGVjdGlvbjsKQEAgLTQwMyw3ICs0MTYsNyBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgICAgIGNv
bnNvbGUuYXNzZXJ0KGRpdmlkZXJFbGVtZW50LmZpcnN0Q2hpbGQuY2xhc3NMaXN0LmNvbnRhaW5z
KFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLkRpdmlkZXJMYWJlbEVsZW1lbnRTdHlsZUNsYXNz
TmFtZSkpOwogCi0gICAgICAgICAgICBkaXZpZGVyRWxlbWVudC5maXJzdENoaWxkLnRleHRDb250
ZW50ID0gaXNOYU4oZGl2aWRlclRpbWUpID8gIiIgOiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKGRp
dmlkZXJUaW1lIC0gdGhpcy5femVyb1RpbWUsIHRydWUpOworICAgICAgICAgICAgZGl2aWRlckVs
ZW1lbnQuZmlyc3RDaGlsZC50ZXh0Q29udGVudCA9IGlzTmFOKGRpdmlkZXJUaW1lKSA/ICIiIDog
dGhpcy5fZm9ybWF0RGl2aWRlckxhYmVsVGV4dChkaXZpZGVyVGltZSAtIHRoaXMuX3plcm9UaW1l
KTsKICAgICAgICAgICAgIGRpdmlkZXJFbGVtZW50ID0gZGl2aWRlckVsZW1lbnQubmV4dFNpYmxp
bmc7CiAgICAgICAgIH0KIApAQCAtNTkyLDYgKzYwNSwxNCBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSdWxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9kaXNwYXRjaFRpbWVSYW5n
ZVNlbGVjdGlvbkNoYW5nZWRFdmVudCgpOwogICAgIH0sCiAKKyAgICBfZm9ybWF0RGl2aWRlckxh
YmVsVGV4dDogZnVuY3Rpb24odmFsdWUpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZm9ybWF0
TGFiZWxDYWxsYmFjaykKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXRMYWJlbENhbGxi
YWNrKHZhbHVlKTsKKworICAgICAgICByZXR1cm4gTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1
ZSwgdHJ1ZSk7CisgICAgfSwKKwogICAgIF9kaXNwYXRjaFRpbWVSYW5nZVNlbGVjdGlvbkNoYW5n
ZWRFdmVudDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgZGVsZXRlIHRoaXMuX3RpbWVSYW5n
ZVNlbGVjdGlvbkNoYW5nZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5jc3MgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5jc3MKaW5k
ZXggNjI1YTNkNjFkZTU2Yjc1Nzc2ZjBiNGUyZjYxNWUwYmQ2N2Y0MWE0MC4uYmM1MWM5ZjJmODM0
ZjU5Mjc1MDVmMzNiNzFhZTA4NjJjYmQ3NDNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuY3NzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJh
clBhbmVsLmNzcwpAQCAtMTE2LDEyICsxMTYsMTYgQEAgYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5
IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAuc3RhdHVzLWJhciA+IC4K
ICAgICB0b3A6IDA7CiB9CiAKKy5wYW5lbC50aW1lbGluZSAubmF2aWdhdGlvbi1iYXIudGltZWxp
bmVzLXZpZXcgeworICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7Cit9CisKIC5zaWRlYmFy
ID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAudGl0bGUtYmFyIHsKICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CiAgICAgbGVmdDogMDsKICAgICByaWdodDogMDsKIAotICAgIGhlaWdodDog
MjJweDsKKyAgICBoZWlnaHQ6IDI5cHg7CiAKICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQg
cmdiKDE3OSwgMTc5LCAxNzkpOwogICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDIsIDI0Miwg
MjQyKTsKQEAgLTE0MCw2ICsxNDQsOCBAQCBib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC5zdGF0dXMtYmFyID4gLgogfQogCiBi
b2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1l
bGluZSA+IC50aXRsZS1iYXIgeworICAgIGhlaWdodDogMjJweDsKKwogICAgIGJhY2tncm91bmQt
Y29sb3I6IHRyYW5zcGFyZW50OwogICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVu
dCh0byBib3R0b20sIHJnYigyMzgsIDI0MCwgMjQ0KSwgcmdiKDIyNCwgMjI2LCAyMzApKTsKICAg
ICB0ZXh0LXNoYWRvdzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAgMXB4IDA7CkBAIC0xNDcs
NiArMTUzLDIyIEBAIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lkZWJhciA+IC5wYW5lbC5u
YXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhciB7CiAKIC5zaWRlYmFyID4gLnBhbmVsLm5h
dmlnYXRpb24udGltZWxpbmUgPiAudGl0bGUtYmFyLnRpbWVsaW5lcyB7CiAgICAgdG9wOiAyOXB4
OworICAgIHBhZGRpbmc6IDhweCA5cHg7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24udGltZWxpbmUgPiAubmF2aWdhdGlvbi1iYXItY29udGFpbmVyIHsKKyAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgdG9wOiAyOXB4OworICAgIGxlZnQ6IDA7CisgICAgcmlnaHQ6IDA7Cit9
CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAubmF2aWdhdGlvbi1i
YXItY29udGFpbmVyID4gLm5hdmlnYXRpb24tYmFyIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7
CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgcmlnaHQ6IDA7CisgICAgYWxpZ24tY29u
dGVudDogY2VudGVyOwogfQogCiBib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aXRsZS1iYXIudGltZWxpbmVzIHsKQEAgLTE1
NiwxNiArMTc4LDE2IEBAIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50aW1lCiAuc2lkZWJhciA+IC5wYW5l
bC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50aW1lbGluZS1ldmVudHMgewogICAg
IGhlaWdodDogMjNweDsKICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDE3OSwgMTc5LCAx
NzkpOwotICAgIHRvcDogMTU5cHg7CisgICAgdG9wOiAxNjZweDsKIH0KIAogYm9keS5tYWMtcGxh
dGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAudGl0
bGUtYmFyLnRpbWVsaW5lLWV2ZW50cyB7Ci0gICAgdG9wOiAxNTJweDsKKyAgICB0b3A6IDE1OXB4
OwogfQogCiAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpbWVsaW5l
cy1jb250ZW50IHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiA1MXB4OworICAg
IHRvcDogNThweDsKICAgICBoZWlnaHQ6IDEwOHB4OwogICAgIGxlZnQ6IDA7CiAgICAgcmlnaHQ6
IDA7CkBAIC0yMzIsMTEgKzI1NCwxMSBAQCBib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udAogCiAuc2lk
ZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLmNvbnRlbnQsCiAuc2lkZWJhciA+
IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLmVtcHR5LWNvbnRlbnQtcGxhY2Vob2xkZXIg
ewotICAgIHRvcDogMTgycHg7CisgICAgdG9wOiAxODlweDsKIH0KIAogYm9keS5tYWMtcGxhdGZv
cm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiA6bWF0Y2hl
cyguY29udGVudCwgLmVtcHR5LWNvbnRlbnQtcGxhY2Vob2xkZXIpIHsKLSAgICB0b3A6IDE3NXB4
OworICAgIHRvcDogMTgycHg7CiB9CiAKIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGlt
ZWxpbmUudGltZWxpbmUtcmVjb3JkaW5nLWNvbnRlbnQtdmlldy1zaG93aW5nID4gLmNvbnRlbnQg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcwppbmRleCBjMjM4NmJhOGEzYTYxYWNm
MWE2Y2YwMWE4OGVhZWFkZDQ1YjY4MTYwLi5iNGMyMGU4YzJkODY2M2FlZDFhMTY4MTNhNjEyNjBh
NWMwM2FjYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcwpAQCAtMzQsNiAr
MzQsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGlu
ZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICB0aGlzLl90aW1lbGluZUV2
ZW50c1RpdGxlQmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAg
ICAgICB0aGlzLl90aW1lbGluZUV2ZW50c1RpdGxlQmFyRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaXRsZUJhclN0eWxlQ2xhc3MpOwogICAg
ICAgICB0aGlzLl90aW1lbGluZUV2ZW50c1RpdGxlQmFyRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaW1lbGluZUV2ZW50c1RpdGxlQmFyU3R5
bGVDbGFzcyk7CisKICAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl90aW1l
bGluZUV2ZW50c1RpdGxlQmFyRWxlbWVudCwgdGhpcy5lbGVtZW50LmZpcnN0Q2hpbGQpOwogCiAg
ICAgICAgIHRoaXMuY29udGVudFRyZWVPdXRsaW5lTGFiZWwgPSAiIjsKQEAgLTQ0LDYgKzQ1LDgg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgICAgICB0aGlzLl9kaXNwbGF5ZWRSZWNv
cmRpbmcgPSBudWxsOwogICAgICAgICB0aGlzLl9kaXNwbGF5ZWRDb250ZW50VmlldyA9IG51bGw7
CisgICAgICAgIHRoaXMuX3ZpZXdNb2RlID0gbnVsbDsKKyAgICAgICAgdGhpcy5fcHJldmlvdXNU
aW1lbGluZVNlbGVjdGlvbiA9IG51bGw7CiAKICAgICAgICAgLy8gTWFpbnRhaW4gYW4gaW52aXNp
YmxlIHRyZWUgb3V0bGluZSBjb250YWluaW5nIHRyZWUgZWxlbWVudHMgZm9yIGFsbCByZWNvcmRp
bmdzLgogICAgICAgICAvLyBUaGUgdmlzaWJsZSByZWNvcmRpbmcncyB0cmVlIGVsZW1lbnQgaXMg
c2VsZWN0ZWQgd2hlbiB0aGUgY29udGVudCB2aWV3IGNoYW5nZXMuCkBAIC02MiwxMSArNjUsMjYg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgICAgICB0aGlzLl90aW1lbGluZVRyZWVF
bGVtZW50TWFwID0gbmV3IE1hcDsKIAotICAgICAgICB2YXIgdGltZWxpbmVzVGl0bGVCYXJFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIHRpbWVsaW5lc1Rp
dGxlQmFyRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZWxp
bmVzIik7Ci0gICAgICAgIHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudC5jbGFzc0xpc3QuYWRkKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaXRsZUJhclN0eWxlQ2xhc3MpOwotICAg
ICAgICB0aW1lbGluZXNUaXRsZUJhckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwuVGltZWxpbmVzVGl0bGVCYXJTdHlsZUNsYXNzKTsKLSAgICAg
ICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aW1lbGluZXNUaXRsZUJhckVsZW1lbnQsIHRo
aXMuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDgp
OiBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5SZW5kZXJpbmdGcmFtZSBkaWQgbm90IGV4aXN0Lgor
ICAgICAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZXNTdXBwb3J0ZWQgPSB3aW5kb3cuVGltZWxpbmVB
Z2VudCAmJiBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5SZW5kZXJpbmdGcmFtZTsKKworICAgICAg
ICBpZiAodGhpcy5fcmVuZGVyaW5nRnJhbWVzU3VwcG9ydGVkKSB7CisgICAgICAgICAgICB2YXIg
dGltZWxpbmVzTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLlJhZGlvQnV0dG9uTmF2
aWdhdGlvbkl0ZW0oV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlRp
bWVsaW5lcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZXMiKSkKKyAgICAgICAgICAg
IHZhciByZW5kZXJpbmdGcmFtZXNOYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuUmFk
aW9CdXR0b25OYXZpZ2F0aW9uSXRlbShXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwu
Vmlld01vZGUuUmVuZGVyaW5nRnJhbWVzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlbmRlcmlu
ZyBGcmFtZXMiKSkKKyAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RlTmF2aWdhdGlvbkJhciA9IG5l
dyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcihudWxsLCBbdGltZWxpbmVzTmF2aWdhdGlvbkl0
ZW0sIHJlbmRlcmluZ0ZyYW1lc05hdmlnYXRpb25JdGVtXSwgInRhYmxpc3QiKTsKKyAgICAgICAg
ICAgIHRoaXMuX3ZpZXdNb2RlTmF2aWdhdGlvbkJhci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5OYXZpZ2F0aW9uQmFyLkV2ZW50Lk5hdmlnYXRpb25JdGVtU2VsZWN0ZWQsIHRoaXMuX3Zp
ZXdNb2RlU2VsZWN0ZWQsIHRoaXMpOworCisgICAgICAgICAgICB2YXIgY29udGFpbmVyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NO
YW1lID0gIm5hdmlnYXRpb24tYmFyLWNvbnRhaW5lciI7CisgICAgICAgICAgICBjb250YWluZXIu
YXBwZW5kQ2hpbGQodGhpcy5fdmlld01vZGVOYXZpZ2F0aW9uQmFyLmVsZW1lbnQpOworICAgICAg
ICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZShjb250YWluZXIsIHRoaXMuZWxlbWVudC5m
aXJzdENoaWxkKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhciB0aW1lbGluZXNU
aXRsZUJhckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAg
ICAgIHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiVGltZWxpbmVzIik7CisgICAgICAgICAgICB0aW1lbGluZXNUaXRsZUJhckVsZW1l
bnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuVGl0bGVC
YXJTdHlsZUNsYXNzKTsKKyAgICAgICAgICAgIHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudC5jbGFz
c0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaW1lbGluZXNUaXRs
ZUJhclN0eWxlQ2xhc3MpOworICAgICAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0
aW1lbGluZXNUaXRsZUJhckVsZW1lbnQsIHRoaXMuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAg
ICAgfQogCiAgICAgICAgIHZhciBzdGF0dXNCYXJFbGVtZW50ID0gdGhpcy5fc3RhdHVzQmFyRWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICBzdGF0dXNCYXJF
bGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlN0
YXR1c0JhclN0eWxlQ2xhc3MpOwpAQCAtODUsMTYgKzEwMywxNiBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdl
Ykluc3BlYwogCiAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93UmVwbGF5SW50ZXJmYWNlU2V0dGlu
Zy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TZXR0aW5nLkV2ZW50LkNoYW5nZWQsIHRo
aXMuX3VwZGF0ZVJlcGxheUludGVyZmFjZVZpc2liaWxpdHksIHRoaXMpOwogCi0gICAgICAgIC8v
IFdlIGFsd2F5cyBjcmVhdGUgYSBuYXZpZ2F0aW9uIGJhcjsgaXRzIHZpc2liaWxpdHkgaXMgY29u
dHJvbGxlZCBieSBXZWJJbnNwZWN0b3Iuc2hvd1JlcGxheUludGVyZmFjZVNldHRpbmcuCi0gICAg
ICAgIHRoaXMuX25hdmlnYXRpb25CYXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25CYXI7
Ci0gICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0aW9uQmFyLmVs
ZW1lbnQpOworICAgICAgICAvLyBXZSBhbHdheXMgY3JlYXRlIGEgcmVwbGF5IG5hdmlnYXRpb24g
YmFyOyBpdHMgdmlzaWJpbGl0eSBpcyBjb250cm9sbGVkIGJ5IFdlYkluc3BlY3Rvci5zaG93UmVw
bGF5SW50ZXJmYWNlU2V0dGluZy4KKyAgICAgICAgdGhpcy5fcmVwbGF5TmF2aWdhdGlvbkJhciA9
IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFw
cGVuZENoaWxkKHRoaXMuX3JlcGxheU5hdmlnYXRpb25CYXIuZWxlbWVudCk7CiAKICAgICAgICAg
dmFyIHRvb2xUaXAgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJlZ2luIENhcHR1cmluZyIpOwog
ICAgICAgICB2YXIgYWx0VG9vbFRpcCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRW5kIENhcHR1
cmluZyIpOwogICAgICAgICB0aGlzLl9yZXBsYXlDYXB0dXJlQnV0dG9uSXRlbSA9IG5ldyBXZWJJ
bnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgicmVwbGF5LWNhcHR1cmUiLCB0
b29sVGlwLCBhbHRUb29sVGlwLCAiSW1hZ2VzL0NpcmNsZS5zdmciLCAxNiwgMTYpOwogICAgICAg
ICB0aGlzLl9yZXBsYXlDYXB0dXJlQnV0dG9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9yZXBsYXlDYXB0
dXJlQnV0dG9uQ2xpY2tlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3JlcGxheUNhcHR1cmVCdXR0
b25JdGVtLmVuYWJsZWQgPSB0cnVlOwotICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5h
dmlnYXRpb25JdGVtKHRoaXMuX3JlcGxheUNhcHR1cmVCdXR0b25JdGVtKTsKKyAgICAgICAgdGhp
cy5fcmVwbGF5TmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9yZXBsYXlDYXB0
dXJlQnV0dG9uSXRlbSk7CiAKICAgICAgICAgdmFyIHBhdXNlSW1hZ2UsIHJlc3VtZUltYWdlOwog
ICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLlBsYXRmb3JtLmlzTGVnYWN5TWFjT1MpIHsKQEAgLTEx
MCwxMyArMTI4LDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNz
IFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIHRoaXMuX3Jl
cGxheVBhdXNlUmVzdW1lQnV0dG9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuVG9nZ2xlQnV0dG9u
TmF2aWdhdGlvbkl0ZW0oInJlcGxheS1wYXVzZS1yZXN1bWUiLCB0b29sVGlwLCBhbHRUb29sVGlw
LCByZXN1bWVJbWFnZS5zcmMsIHBhdXNlSW1hZ2Uuc3JjLCBwYXVzZUltYWdlLndpZHRoLCBwYXVz
ZUltYWdlLmhlaWdodCwgdHJ1ZSk7CiAgICAgICAgIHRoaXMuX3JlcGxheVBhdXNlUmVzdW1lQnV0
dG9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRl
bS5FdmVudC5DbGlja2VkLCB0aGlzLl9yZXBsYXlQYXVzZVJlc3VtZUJ1dHRvbkNsaWNrZWQsIHRo
aXMpOwogICAgICAgICB0aGlzLl9yZXBsYXlQYXVzZVJlc3VtZUJ1dHRvbkl0ZW0uZW5hYmxlZCA9
IGZhbHNlOwotICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRo
aXMuX3JlcGxheVBhdXNlUmVzdW1lQnV0dG9uSXRlbSk7CisgICAgICAgIHRoaXMuX3JlcGxheU5h
dmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fcmVwbGF5UGF1c2VSZXN1bWVCdXR0
b25JdGVtKTsKIAogICAgICAgICBXZWJJbnNwZWN0b3IucmVwbGF5TWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5SZXBsYXlNYW5hZ2VyLkV2ZW50LkNhcHR1cmVTdGFydGVkLCB0
aGlzLl9jYXB0dXJlU3RhcnRlZCwgdGhpcyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5yZXBsYXlN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlcGxheU1hbmFnZXIuRXZlbnQu
Q2FwdHVyZVN0b3BwZWQsIHRoaXMuX2NhcHR1cmVTdG9wcGVkLCB0aGlzKTsKIAogICAgICAgICB0
aGlzLl9zdGF0dXNCYXJFbGVtZW50Lm9uY29udGV4dG1lbnUgPSB0aGlzLl9jb250ZXh0TWVudU5h
dmlnYXRpb25CYXJPclN0YXR1c0Jhci5iaW5kKHRoaXMpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0
aW9uQmFyLmVsZW1lbnQub25jb250ZXh0bWVudSA9IHRoaXMuX2NvbnRleHRNZW51TmF2aWdhdGlv
bkJhck9yU3RhdHVzQmFyLmJpbmQodGhpcyk7CisgICAgICAgIHRoaXMuX3JlcGxheU5hdmlnYXRp
b25CYXIuZWxlbWVudC5vbmNvbnRleHRtZW51ID0gdGhpcy5fY29udGV4dE1lbnVOYXZpZ2F0aW9u
QmFyT3JTdGF0dXNCYXIuYmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5fdXBkYXRlUmVwbGF5SW50
ZXJmYWNlVmlzaWJpbGl0eSgpOwogCiAgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LlJl
Y29yZGluZ0NyZWF0ZWQsIHRoaXMuX3JlY29yZGluZ0NyZWF0ZWQsIHRoaXMpOwpAQCAtMTM3LDYg
KzE1NSwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1l
bGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICAgICAgdGhpcy5jb250
ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcpOwog
ICAgIH0KIAorICAgIGdldCB2aWV3TW9kZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5f
dmlld01vZGU7CisgICAgfQorCiAgICAgc2hvd0RlZmF1bHRDb250ZW50VmlldygpCiAgICAgewog
ICAgICAgICBpZiAodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcpCkBAIC0yMzksMTcgKzI2Miwy
OCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNp
ZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgICAgIHRoaXMuX2Rpc3BsYXllZENv
bnRlbnRWaWV3LnNob3dPdmVydmlld1RpbWVsaW5lVmlldygpOwogICAgICAgICB0aGlzLmNvbnRl
bnRCcm93c2VyLnNob3dDb250ZW50Vmlldyh0aGlzLl9kaXNwbGF5ZWRDb250ZW50Vmlldyk7CisK
KyAgICAgICAgdmFyIHNlbGVjdGVkQnlVc2VyID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2NoYW5n
ZVZpZXdNb2RlKHRoaXMuX3ZpZXdNb2RlRm9yVGltZWxpbmUobnVsbCksIHNlbGVjdGVkQnlVc2Vy
KTsKICAgICB9CiAKICAgICBzaG93VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUodGltZWxpbmUpCiAg
ICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1lbGluZSBpbnN0YW5jZW9mIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZSwgdGltZWxpbmUpOwotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90
aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSksICJDYW5ub3Qgc2hvdyB0aW1lbGlu
ZSBiZWNhdXNlIGl0IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2hvd24gcmVjb3JkaW5nLiIsIHRp
bWVsaW5lKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fZGlzcGxheWVkUmVjb3JkaW5n
LnRpbWVsaW5lcy5oYXModGltZWxpbmUudHlwZSksICJDYW5ub3Qgc2hvdyB0aW1lbGluZSBiZWNh
dXNlIGl0IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2hvd24gcmVjb3JkaW5nLiIsIHRpbWVsaW5l
LnR5cGUpOworCisgICAgICAgIGlmICh0aGlzLl90aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0
aW1lbGluZSkpIHsKKyAgICAgICAgICAgIC8vIERlZmVyIHNob3dpbmcgdGhlIHJlbGV2YW50IHRp
bWVsaW5lIHRvIHRoZSBvbnNlbGVjdCBoYW5kbGVyIG9mIHRoZSB0aW1lbGluZXMgdHJlZSBlbGVt
ZW50LgorICAgICAgICAgICAgdmFyIHdhc1NlbGVjdGVkQnlVc2VyID0gdHJ1ZTsKKyAgICAgICAg
ICAgIHZhciBzaG91bGRTdXBwcmVzc09uU2VsZWN0ID0gZmFsc2U7CisgICAgICAgICAgICB0aGlz
Ll90aW1lbGluZVRyZWVFbGVtZW50TWFwLmdldCh0aW1lbGluZSkuc2VsZWN0KHRydWUsIHdhc1Nl
bGVjdGVkQnlVc2VyLCBzaG91bGRTdXBwcmVzc09uU2VsZWN0LCB0cnVlKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3LnNob3dUaW1lbGlu
ZVZpZXdGb3JUaW1lbGluZSh0aW1lbGluZSk7CisgICAgICAgICAgICB0aGlzLmNvbnRlbnRCcm93
c2VyLnNob3dDb250ZW50Vmlldyh0aGlzLl9kaXNwbGF5ZWRDb250ZW50Vmlldyk7CisgICAgICAg
IH0KIAotICAgICAgICAvLyBEZWZlciBzaG93aW5nIHRoZSByZWxldmFudCB0aW1lbGluZSB0byB0
aGUgb25zZWxlY3QgaGFuZGxlciBvZiB0aGUgdGltZWxpbmVzIHRyZWUgZWxlbWVudC4KLSAgICAg
ICAgdmFyIHdhc1NlbGVjdGVkQnlVc2VyID0gdHJ1ZTsKLSAgICAgICAgdmFyIHNob3VsZFN1cHBy
ZXNzT25TZWxlY3QgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVUcmVlRWxlbWVudE1h
cC5nZXQodGltZWxpbmUpLnNlbGVjdCh0cnVlLCB3YXNTZWxlY3RlZEJ5VXNlciwgc2hvdWxkU3Vw
cHJlc3NPblNlbGVjdCwgdHJ1ZSk7CisgICAgICAgIHZhciBzZWxlY3RlZEJ5VXNlciA9IGZhbHNl
OworICAgICAgICB0aGlzLl9jaGFuZ2VWaWV3TW9kZSh0aGlzLl92aWV3TW9kZUZvclRpbWVsaW5l
KHRpbWVsaW5lKSwgc2VsZWN0ZWRCeVVzZXIpOwogICAgIH0KIAogICAgIC8vIFByb3RlY3RlZApA
QCAtMjg4LDExICszMjIsMTUgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0g
Y2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgICAgICBj
b29raWVbV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNob3dpbmdUaW1lbGluZVJl
Y29yZGluZ0NvbnRlbnRWaWV3Q29va2llS2V5XSA9IHRoaXMuY29udGVudEJyb3dzZXIuY3VycmVu
dENvbnRlbnRWaWV3IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29u
dGVudFZpZXc7CiAKLSAgICAgICAgdmFyIHNlbGVjdGVkVHJlZUVsZW1lbnQgPSB0aGlzLl90aW1l
bGluZXNUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50OwotICAgICAgICBpZiAoc2VsZWN0
ZWRUcmVlRWxlbWVudCkKLSAgICAgICAgICAgIGNvb2tpZVtXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwuU2VsZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlmaWVyQ29va2llS2V5XSA9IHNl
bGVjdGVkVHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QudHlwZTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgY29va2llW1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5TZWxl
Y3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXJDb29raWVLZXldID0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lU2lkZWJhclBhbmVsLk92ZXJ2aWV3VGltZWxpbmVJZGVudGlmaWVyQ29va2llVmFsdWU7Cisg
ICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJh
clBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykKKyAgICAgICAgICAgIGNvb2tpZVtXZWJJ
bnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2VsZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlm
aWVyQ29va2llS2V5XSA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmlu
Z0ZyYW1lOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHZhciBzZWxlY3RlZFRyZWVFbGVt
ZW50ID0gdGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudDsKKyAg
ICAgICAgICAgIGlmIChzZWxlY3RlZFRyZWVFbGVtZW50KQorICAgICAgICAgICAgICAgIGNvb2tp
ZVtXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2VsZWN0ZWRUaW1lbGluZVZpZXdJ
ZGVudGlmaWVyQ29va2llS2V5XSA9IHNlbGVjdGVkVHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmpl
Y3QudHlwZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb29raWVbV2ViSW5z
cGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmll
ckNvb2tpZUtleV0gPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuT3ZlcnZpZXdU
aW1lbGluZUlkZW50aWZpZXJDb29raWVWYWx1ZTsgICAgCisgICAgICAgIH0KIAogICAgICAgICBz
dXBlci5zYXZlU3RhdGVUb0Nvb2tpZShjb29raWUpOwogICAgIH0KQEAgLTMxMSw5ICszNDksMTAg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhpcy5fcmVzdG9yZWRTaG93aW5n
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNvb2tpZVtXZWJJbnNwZWN0b3IuVGltZWxp
bmVTaWRlYmFyUGFuZWwuU2hvd2luZ1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXdDb29raWVL
ZXldOwogCiAgICAgICAgIHZhciBzZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXIgPSBjb29r
aWVbV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNlbGVjdGVkVGltZWxpbmVWaWV3
SWRlbnRpZmllckNvb2tpZUtleV07Ci0gICAgICAgIGlmICghc2VsZWN0ZWRUaW1lbGluZVZpZXdJ
ZGVudGlmaWVyIHx8IHNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmllciA9PT0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLk92ZXJ2aWV3VGltZWxpbmVJZGVudGlmaWVyQ29va2ll
VmFsdWUpCi0gICAgICAgICAgICB0aGlzLnNob3dUaW1lbGluZU92ZXJ2aWV3KCk7Ci0gICAgICAg
IGVsc2UgaWYgKHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZy50aW1lbGluZXMuaGFzKHNlbGVjdGVk
VGltZWxpbmVWaWV3SWRlbnRpZmllcikpCisgICAgICAgIGlmIChzZWxlY3RlZFRpbWVsaW5lVmll
d0lkZW50aWZpZXIgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmlu
Z0ZyYW1lICYmICF0aGlzLl9yZW5kZXJpbmdGcmFtZXNTdXBwb3J0ZWQpCisgICAgICAgICAgICBz
ZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXIgPSBudWxsOworCisgICAgICAgIGlmIChzZWxl
Y3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXIgJiYgdGhpcy5fZGlzcGxheWVkUmVjb3JkaW5nLnRp
bWVsaW5lcy5oYXMoc2VsZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlmaWVyKSkKICAgICAgICAgICAg
IHRoaXMuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lKHRoaXMuX2Rpc3BsYXllZFJlY29yZGlu
Zy50aW1lbGluZXMuZ2V0KHNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmllcikpOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICB0aGlzLnNob3dUaW1lbGluZU92ZXJ2aWV3KCk7CkBAIC00MDks
NiArNDQ4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGlt
ZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgY29uc29sZS5hc3Nl
cnQocmVjb3JkaW5nIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nLCBy
ZWNvcmRpbmcpOwogCiAgICAgICAgIHZhciBvbGRSZWNvcmRpbmcgPSB0aGlzLl9kaXNwbGF5ZWRS
ZWNvcmRpbmcgfHwgbnVsbDsKKwogICAgICAgICBpZiAob2xkUmVjb3JkaW5nKSB7CiAgICAgICAg
ICAgICBvbGRSZWNvcmRpbmcucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmRpbmcuRXZlbnQuVGltZWxpbmVBZGRlZCwgdGhpcy5fdGltZWxpbmVBZGRlZCwgdGhp
cyk7CiAgICAgICAgICAgICBvbGRSZWNvcmRpbmcucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcuRXZlbnQuVGltZWxpbmVSZW1vdmVkLCB0aGlzLl90aW1l
bGluZVJlbW92ZWQsIHRoaXMpOwpAQCAtNDQyLDExICs0ODIsMTEgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBX
ZWJJbnNwZWMKICAgICAgICAgICAgIHRpbWVsaW5lID0gdGltZWxpbmVPckV2ZW50LmRhdGEudGlt
ZWxpbmU7CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5lKTsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3Iu
VGltZWxpbmVNYW5hZ2VyLnNob3VsZFNob3dWaWV3Rm9yVGltZWxpbmUodGltZWxpbmUpKQotICAg
ICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl90aW1lbGlu
ZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKIAorICAgICAgICBpZiAo
dGhpcy5fdmlld01vZGVGb3JUaW1lbGluZSh0aW1lbGluZSkgIT09IFdlYkluc3BlY3Rvci5UaW1l
bGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5UaW1lbGluZXMpCisgICAgICAgICAgICByZXR1cm47
CisKICAgICAgICAgdmFyIHRpbWVsaW5lVHJlZUVsZW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLkdl
bmVyYWxUcmVlRWxlbWVudChbdGltZWxpbmUuaWNvbkNsYXNzTmFtZSwgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lU2lkZWJhclBhbmVsLkxhcmdlSWNvblN0eWxlQ2xhc3NdLCB0aW1lbGluZS5kaXNwbGF5
TmFtZSwgbnVsbCwgdGltZWxpbmUpOwogICAgICAgICB2YXIgdG9vbHRpcCA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiQ2xvc2UgJXMgdGltZWxpbmUgdmlldyIpLmZvcm1hdCh0aW1lbGluZS5kaXNw
bGF5TmFtZSk7CiAgICAgICAgIHdyYXBwZWRTVkdEb2N1bWVudChwbGF0Zm9ybUltYWdlUGF0aCgi
Q2xvc2VMYXJnZS5zdmciKSwgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLkNsb3Nl
QnV0dG9uU3R5bGVDbGFzcywgdG9vbHRpcCwgZnVuY3Rpb24oZWxlbWVudCkgewpAQCAtNDY0LDcg
KzUwNCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVs
aW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgewogICAgICAgICB2YXIgdGlt
ZWxpbmUgPSBldmVudC5kYXRhLnRpbWVsaW5lOwogICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1l
bGluZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZSwgdGltZWxpbmUpOwotICAgICAg
ICBpZiAoIVdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuc2hvdWxkU2hvd1ZpZXdGb3JUaW1l
bGluZSh0aW1lbGluZSkpCisgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZUZvclRpbWVsaW5lKHRp
bWVsaW5lKSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlRp
bWVsaW5lcykKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBjb25zb2xlLmFzc2VydCh0
aGlzLl90aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKQEAg
LTQ5MSw5ICs1MzEsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xh
c3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgfQogCiAg
ICAgICAgIHZhciB0aW1lbGluZUhlaWdodCA9IDM2OwotICAgICAgICB2YXIgZXZlbnRUaXRsZUJh
ck9mZnNldCA9IDUxOwotICAgICAgICB2YXIgY29udGVudEVsZW1lbnRPZmZzZXQgPSA3NDsKKyAg
ICAgICAgdmFyIGV2ZW50VGl0bGVCYXJPZmZzZXQgPSA1ODsKKyAgICAgICAgdmFyIGNvbnRlbnRF
bGVtZW50T2Zmc2V0ID0gODE7CiAgICAgICAgIHZhciB0aW1lbGluZUNvdW50ID0gdGhpcy5fdGlt
ZWxpbmVUcmVlRWxlbWVudE1hcC5zaXplOworCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lc0NvbnRl
bnRDb250YWluZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9ICh0aW1lbGluZUhlaWdodCAqIHRpbWVs
aW5lQ291bnQpICsgInB4IjsKICAgICAgICAgdGhpcy5fdGltZWxpbmVFdmVudHNUaXRsZUJhckVs
ZW1lbnQuc3R5bGUudG9wID0gKHRpbWVsaW5lSGVpZ2h0ICogdGltZWxpbmVDb3VudCArIGV2ZW50
VGl0bGVCYXJPZmZzZXQpICsgInB4IjsKICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5zdHls
ZS50b3AgPSAodGltZWxpbmVIZWlnaHQgKiB0aW1lbGluZUNvdW50ICsgY29udGVudEVsZW1lbnRP
ZmZzZXQpICsgInB4IjsKQEAgLTUzNSw2ICs1NzYsNTQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
U2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNw
ZWMKICAgICAgICAgfQogICAgIH0KIAorICAgIF92aWV3TW9kZVNlbGVjdGVkKGV2ZW50KQorICAg
IHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnQudGFyZ2V0LnNlbGVjdGVkTmF2aWdhdGlv
bkl0ZW0pOworICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC5zZWxlY3RlZE5hdmlnYXRpb25JdGVt
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBzZWxlY3RlZE5hdmlnYXRpb25J
dGVtID0gZXZlbnQudGFyZ2V0LnNlbGVjdGVkTmF2aWdhdGlvbkl0ZW07CisgICAgICAgIHZhciBz
ZWxlY3RlZEJ5VXNlciA9IHRydWU7CisgICAgICAgIHRoaXMuX2NoYW5nZVZpZXdNb2RlKHNlbGVj
dGVkTmF2aWdhdGlvbkl0ZW0uaWRlbnRpZmllciwgc2VsZWN0ZWRCeVVzZXIpOworICAgIH0KKwor
ICAgIF92aWV3TW9kZUZvclRpbWVsaW5lKHRpbWVsaW5lKQorICAgIHsKKyAgICAgICAgaWYgKHRp
bWVsaW5lICYmIHRpbWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5U
eXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5UaW1l
bGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXM7CisKKyAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5UaW1lbGluZXM7
CisgICAgfQorCisgICAgX2NoYW5nZVZpZXdNb2RlKG1vZGUsIHNlbGVjdGVkQnlVc2VyKQorICAg
IHsKKyAgICAgICAgaWYgKCF0aGlzLl9yZW5kZXJpbmdGcmFtZXNTdXBwb3J0ZWQgfHwgdGhpcy5f
dmlld01vZGUgPT09IG1vZGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5f
dmlld01vZGUgPSBtb2RlOworICAgICAgICB0aGlzLl92aWV3TW9kZU5hdmlnYXRpb25CYXIuc2Vs
ZWN0ZWROYXZpZ2F0aW9uSXRlbSA9IHRoaXMuX3ZpZXdNb2RlOworCisgICAgICAgIGlmICh0aGlz
Ll92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2Rl
LlRpbWVsaW5lcykKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lc1RyZWVPdXRsaW5lLmVsZW1l
bnQuY2xhc3NMaXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbC5D
b250ZW50VHJlZU91dGxpbmVFbGVtZW50SGlkZGVuU3R5bGVDbGFzc05hbWUpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICB0aGlzLl90aW1lbGluZXNUcmVlT3V0bGluZS5lbGVtZW50LmNsYXNz
TGlzdC5hZGQoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwuQ29udGVudFRyZWVP
dXRsaW5lRWxlbWVudEhpZGRlblN0eWxlQ2xhc3NOYW1lKTsKKworICAgICAgICBpZiAoIXNlbGVj
dGVkQnlVc2VyKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICh0aGlzLl92aWV3
TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRl
cmluZ0ZyYW1lcykgeworICAgICAgICAgICAgaWYgKHRoaXMuX3RpbWVsaW5lc1RyZWVPdXRsaW5l
LnNlbGVjdGVkVHJlZUVsZW1lbnQpCisgICAgICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNUaW1l
bGluZVNlbGVjdGlvbiA9IHRoaXMuX3RpbWVsaW5lc1RyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVs
ZW1lbnQucmVwcmVzZW50ZWRPYmplY3Q7CisKKyAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRo
aXMuX2Rpc3BsYXllZFJlY29yZGluZyk7CisgICAgICAgICAgICB0aGlzLnNob3dUaW1lbGluZVZp
ZXdGb3JUaW1lbGluZSh0aGlzLl9kaXNwbGF5ZWRSZWNvcmRpbmcudGltZWxpbmVzLmdldChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkpOworICAgICAgICB9
IGVsc2UgaWYgKHRoaXMuX3ByZXZpb3VzVGltZWxpbmVTZWxlY3Rpb24pIHsKKyAgICAgICAgICAg
IHRoaXMuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lKHRoaXMuX3ByZXZpb3VzVGltZWxpbmVT
ZWxlY3Rpb24pOworICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNUaW1lbGluZVNlbGVjdGlvbiA9
IG51bGw7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgdGhpcy5zaG93VGltZWxpbmVPdmVy
dmlldygpOworICAgIH0KKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIG9ubHkgdXNlZCB3aGVu
IFJlcGxheUFnZW50IGlzIGF2YWlsYWJsZS4KIAogICAgIF91cGRhdGVSZXBsYXlJbnRlcmZhY2VW
aXNpYmlsaXR5KCkKQEAgLTU0Miw3ICs2MzEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwog
ICAgICAgICB2YXIgc2hvdWxkU2hvd1JlcGxheUludGVyZmFjZSA9IHdpbmRvdy5SZXBsYXlBZ2Vu
dCAmJiBXZWJJbnNwZWN0b3Iuc2hvd1JlcGxheUludGVyZmFjZVNldHRpbmcudmFsdWU7CiAKICAg
ICAgICAgdGhpcy5fc3RhdHVzQmFyRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdlYkluc3BlY3Rv
ci5UaW1lbGluZVNpZGViYXJQYW5lbC5IaWRkZW5TdHlsZUNsYXNzTmFtZSwgc2hvdWxkU2hvd1Jl
cGxheUludGVyZmFjZSk7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudC5jbGFz
c0xpc3QudG9nZ2xlKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5IaWRkZW5TdHls
ZUNsYXNzTmFtZSwgIXNob3VsZFNob3dSZXBsYXlJbnRlcmZhY2UpOworICAgICAgICB0aGlzLl9y
ZXBsYXlOYXZpZ2F0aW9uQmFyLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwuSGlkZGVuU3R5bGVDbGFzc05hbWUsICFzaG91bGRTaG93UmVw
bGF5SW50ZXJmYWNlKTsKICAgICB9CiAKICAgICBfY29udGV4dE1lbnVOYXZpZ2F0aW9uQmFyT3JT
dGF0dXNCYXIoKQpAQCAtNjA5LDYgKzY5OCwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwog
ICAgIH0KIH07CiAKK1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZSA9
IHsKKyAgICBUaW1lbGluZXM6ICJ0aW1lbGluZS1zaWRlYmFyLXBhbmVsLXZpZXctbW9kZS10aW1l
bGluZXMiLAorICAgIFJlbmRlcmluZ0ZyYW1lczogInRpbWVsaW5lLXNpZGViYXItcGFuZWwtdmll
dy1tb2RlLWZyYW1lcyIKK307CisKIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5I
aWRkZW5TdHlsZUNsYXNzTmFtZSA9ICJoaWRkZW4iOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lk
ZWJhclBhbmVsLlN0YXR1c0JhclN0eWxlQ2xhc3MgPSAic3RhdHVzLWJhciI7CiBXZWJJbnNwZWN0
b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuUmVjb3JkR2x5cGhTdHlsZUNsYXNzID0gInJlY29yZC1n
bHlwaCI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251832</attachid>
            <date>2015-04-28 01:03:40 -0700</date>
            <delta_ts>2015-04-28 06:31:36 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-144245-20150428010230.patch</filename>
            <type>text/plain</type>
            <size>95475</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAx
ZjcwNzAzNjgwNDc2ODhiMTI2NjVjNDYyMjY3ZDRiOTg2MDk4ZDk5Li5mN2JlM2ZhNDVhY2QyNGI5
YzgzOTEzNTEwYzI2ZGNhOTJkNzA3NDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxODIgQEAKKzIwMTUtMDQtMjcgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCBhIHNlcGFyYXRlIG92ZXJ2aWV3IGZvciB0
aGUgUmVuZGVyaW5nIEZyYW1lcyB0aW1lbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIFRpbWVsaW5lcyB0YWIgbm93IHN1cHBvcnRzIHR3byB2
aWV3IG1vZGVzLCBsYWJlbGVkICJUaW1lbGluZXMiIGFuZCAiUmVuZGVyaW5nIEZyYW1lcyIsIHdp
dGggZWFjaCBtb2RlCisgICAgICAgIGhhdmluZyBhIHNlcGVyYXRlIHRpbWVsaW5lIG92ZXJ2aWV3
IGFuZCBzZWxlY3RlZCByYW5nZS4gVGhlIFRpbWVsaW5lcyBtb2RlIGRpc3BsYXlzIHRoZSBvcmln
aW5hbCB0aW1lLWJhc2VkCisgICAgICAgIGdyYXBocyAoTmV0d29yaywgTGF5b3V0LCBhbmQgU2Ny
aXB0KSwgYW5kIHN3aXRjaGluZyB0byB0aGUgUmVuZGVyaW5nIEZyYW1lcyBtb2RlIGRpc3BsYXlz
IGEgZnJhbWVzIGdyYXBoCisgICAgICAgIHdpdGggYSB0aW1lbGluZSBydWxlciB3aGljaCBzaG93
cyBmcmFtZSBpbmRpY2VzLgorCisgICAgICAgIElmIHRoZSByZW5kZXJpbmcgZnJhbWVzIHRpbWVs
aW5lIGlzIHN1cHBvcnRlZCBieSB0aGUgYmFja2VuZCwgYSBuYXZpZ2F0aW9uIGJhciBpcyBhZGRl
ZCB0byB0aGUgdGltZWxpbmVzCisgICAgICAgIHNpZGViYXIgd2l0aCBjb250cm9scyBmb3Igc3dp
dGNoaW5nIGJldHdlZW4gdmlldyBtb2Rlcy4gSW4gYWRkaXRpb24gdG8gdXNlci10cmlnZ2VyZWQg
dmlldyBtb2RlIGNoYW5nZXMsIHRoZQorICAgICAgICB0aW1lbGluZXMgc2lkZWJhciB3aWxsIGF1
dG9tYXRpY2FsbHkgY2hhbmdlIHRoZSBjdXJyZW50IHZpZXcgbW9kZSBpbiByZXNwb25zZSB0byBj
b250ZW50IHZpZXcgY2hhbmdlcyB0aGF0CisgICAgICAgIGFyZSB0cmlnZ2VyZWQgZWxzZXdoZXJl
IGluIHRoZSBVSSAoZm9yIGV4YW1wbGUsIHdoZW4gYSB0aW1lbGluZSB0aGF0IGRvZXMgbm90IGJl
bG9uZyB0byB0aGUgY3VycmVudCB2aWV3CisgICAgICAgIG1vZGUgaXMgc2VsZWN0ZWQgdmlhIHRo
ZSBuYXZpZ2F0aW9uIHBhdGgpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9UaW1lbGluZU1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5h
Z2VyLnByb3RvdHlwZS5nZXQgYWN0aXZlUmVjb3JkaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLmdldCByZWNvcmRpbmdzKTogRGVs
ZXRlZC4KKyAgICAgICAgUmVtb3ZlZCB1bnVzZWQgY29kZS4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvTWFpbi5odG1sOgorICAgICAgICBOZXcgZmlsZXMuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQucmVzZXRGcmFtZUluZGV4KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLnByb3Rv
dHlwZS5nZXQgZnJhbWVJbmRleCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJh
bWVUaW1lbGluZVJlY29yZC5wcm90b3R5cGUuZ2V0IGZyYW1lTnVtYmVyKToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGluZy5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZGluZy5wcm90b3R5cGUucmVzZXQpOgorICAgICAgICBGcmFt
ZSBudW1iZXIgaXMgbm93IGRlcml2ZWQgZnJvbSBmcmFtZSBpbmRleC4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvTGluZWFyVGltZWxpbmVPdmVydmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5MaW5lYXJUaW1lbGluZU92ZXJ2aWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5MaW5lYXJUaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5jYW5TaG93VGltZWxpbmUpOgorICAg
ICAgICBOZXcgb3ZlcnZpZXcgY2xhc3MgZm9yIHRpbWUtYmFzZWQgdGltZWxpbmUgZ3JhcGhzLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRl
YmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVEZXRhaWxz
U2lkZWJhclBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFp
bHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLnVwZGF0ZVJhbmdlU2VsZWN0aW9uKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBl
Ll9nZXRTZWxlY3RlZFJlY29yZHMpOgorICAgICAgICBDaGFuZ2VkIHR5cGUgb2Ygc2VsZWN0ZWQg
cmFuZ2UgZnJvbSB0aW1lIHRvIGZyYW1lIGluZGljZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcudGhpcy50aW1lbGluZVJ1
bGVyLmZvcm1hdExhYmVsQ2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVPdmVydmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVuZGVyaW5n
RnJhbWVUaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5jYW5TaG93VGltZWxpbmUpOgorICAgICAg
ICBOZXcgb3ZlcnZpZXcgY2xhc3MgZm9yIGZyYW1lLWJhc2VkIHRpbWVsaW5lIGdyYXBocy4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2
aWV3R3JhcGguY3NzOgorICAgICAgICAoLnRpbWVsaW5lLW92ZXJ2aWV3ID4gLmdyYXBocy1jb250
YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGgucmVuZGVyaW5nLWZyYW1lKToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dy
YXBoLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVy
dmlld0dyYXBoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5l
T3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUuX3VwZGF0ZURpdmlkZXJzLmNyZWF0ZURpdmlkZXJBdFBv
c2l0aW9uLmdldCBpZik6CisgICAgICAgIFVwZGF0ZWQgdG8gdXNlIGZyYW1lIGluZGV4IHJ1bGVy
IGFuZCByZW1vdmVkIGZyYW1lIGNvbWJpbmluZyBsb2dpYy4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcpOgorICAgICAgICBJbmNyZWFzZWQg
Y29sdW1uIHdpZHRocy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVP
dmVydmlldy5jc3M6CisgICAgICAgICgudGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRh
aW5lcik6CisgICAgICAgIChib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnRpbWVsaW5lLW92ZXJ2
aWV3ID4gLmdyYXBocy1jb250YWluZXIpOgorICAgICAgICBVcGRhdGVkIGZvciBuZXcgcnVsZXIg
aGVpZ2h0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLmdldCBzZWNvbmRzUGVyUGl4
ZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNl
dCBzZWNvbmRzUGVyUGl4ZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZp
ZXcucHJvdG90eXBlLmdldCB2aXNpYmxlRHVyYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBzZWxlY3Rpb25EdXJhdGlvbik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUudXBkYXRlTGF5b3V0
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5nZXQg
dGltZWxpbmVSdWxlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5w
cm90b3R5cGUuY2FuU2hvd1RpbWVsaW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3LnByb3RvdHlwZS5faGFuZGxlU2Nyb2xsRXZlbnQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLl9oYW5kbGVXaGVlbEV2ZW50KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5fdGltZWxpbmVS
ZW1vdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlw
ZS5fdGltZVJhbmdlU2VsZWN0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IGN1cnJlbnRUaW1lKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS51cGRhdGVMYXlvdXRJ
Zk5lZWRlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUuX25lZWRzTGF5b3V0KTogRGVsZXRlZC4KKyAgICAgICAgQ29udmVydGVkIHRv
IGJhc2UgY2xhc3MuIERlcml2ZWQgY2xhc3NlcyBwcm92aWRlIHNldHRpbmdzIGFuZCBwZXJtaXR0
ZWQgdGltZWxpbmUgdHlwZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lUmVjb3JkRnJhbWUuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJlY29yZC1mcmFtZSk6Cisg
ICAgICAgICgudGltZWxpbmUtcmVjb3JkLWZyYW1lID4gLmZyYW1lKToKKyAgICAgICAgKC50aW1l
bGluZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRpb24pOgorICAgICAgICAoLnRpbWVs
aW5lLXJlY29yZC1mcmFtZSA+IC5mcmFtZSA+IC5kdXJhdGlvbi50aW1lbGluZS1yZWNvcmQtdHlw
ZS1uZXR3b3JrKToKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAu
ZHVyYXRpb24udGltZWxpbmUtcmVjb3JkLXR5cGUtbGF5b3V0KToKKyAgICAgICAgKC50aW1lbGlu
ZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRpb24udGltZWxpbmUtcmVjb3JkLXR5cGUt
c2NyaXB0KToKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZnJhbWUgPiAuZHVy
YXRpb246bGFzdC1jaGlsZCk6IERlbGV0ZWQuCisgICAgICAgIE5ldyBncmFwaCBmcmFtZXMgc3R5
bGVzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1l
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUucHJvdG90eXBlLmdldCByZWNvcmQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUucHJvdG90eXBlLnNl
dCByZWNvcmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUucHJv
dG90eXBlLl91cGRhdGVDaGlsZEVsZW1lbnRzLmNyZWF0ZUR1cmF0aW9uRWxlbWVudCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5wcm90b3R5cGUuZ2V0IGVsZW1l
bnQpOiBEZWxldGVkLgorICAgICAgICBVcGRhdGVkIHRvIHVzZSBmcmFtZSBpbmRleCBydWxlci4K
KyAgICAgICAgUmVtb3ZlZCBkcm9wcGVkIGZyYW1lcyBhbmQgZnJhbWUgY29tYmluaW5nIGxvZ2lj
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRl
bnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZp
ZXcucHJvdG90eXBlLnNob3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5oaWRkZW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5
cGUuX2N1cnJlbnRDb250ZW50Vmlld0RpZENoYW5nZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZVRpbWVzKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlw
ZS5fdXBkYXRlVGltZWxpbmVPdmVydmlld0hlaWdodCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2dldFJlbmRlcmluZ0ZyYW1l
VGltZWxpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXcucHJvdG90eXBlLl90aW1lbGluZVJlbW92ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl90aW1lbGluZUNvdW50Q2hh
bmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5wcm90b3R5cGUuX3JlY29yZGluZ1Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5fdGltZVJhbmdlU2VsZWN0aW9uQ2hh
bmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5wcm90b3R5cGUuZ2V0IGN1cnJlbnRUaW1lbGluZVZpZXcpOiBEZWxldGVkLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLmdvRm9y
d2FyZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdD
b250ZW50Vmlldy5wcm90b3R5cGUubWF0Y2hUcmVlRWxlbWVudEFnYWluc3RDdXN0b21GaWx0ZXJz
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRl
bnRWaWV3LnByb3RvdHlwZS5fY29udGVudFZpZXdTdXBwbGVtZW50YWxSZXByZXNlbnRlZE9iamVj
dHNEaWRDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl91cGRhdGUpOiBEZWxldGVkLgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9kZWJ1
Z2dlclBhdXNlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2RlYnVnZ2VyUmVzdW1lZCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5
cGUuX3JlY29yZGluZ1RpbWVzVXBkYXRlZCk6IERlbGV0ZWQuCisgICAgICAgIE1haW50YWlucyB0
d28gdGltZWxpbmUgb3ZlcnZpZXdzLCBzd2l0Y2hpbmcgYmV0d2VlbiB0aGVtIGJhc2VkIG9uIHRo
ZSBjdXJyZW50IGNvbnRlbnQgdmlldy4KKyAgICAgICAgVXBkYXRlZCB0cmVlIGVsZW1lbnQgZmls
dGVyaW5nIHRvIHN1cHBvcnQgYm90aCBvdmVydmlldyBydWxlcnMuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuY3NzOgorICAgICAgICAoLnRpbWVsaW5lLXJ1
bGVyID4gLmhlYWRlcik6CisgICAgICAgIChib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnRpbWVs
aW5lLXJ1bGVyID4gLmhlYWRlcik6CisgICAgICAgICgudGltZWxpbmUtcnVsZXIgPiAuaGVhZGVy
ID4gLmRpdmlkZXIgPiAubGFiZWwpOgorICAgICAgICAoLnRpbWVsaW5lLXJ1bGVyID4gLnNlbGVj
dGlvbi1kcmFnKToKKyAgICAgICAgKGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAudGltZWxpbmUt
cnVsZXIgPiAuc2VsZWN0aW9uLWRyYWcpOgorICAgICAgICAoLnRpbWVsaW5lLXJ1bGVyID4gLnNl
bGVjdGlvbi1oYW5kbGUpOgorICAgICAgICAoYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC50aW1l
bGluZS1ydWxlciA+IC5zZWxlY3Rpb24taGFuZGxlKToKKyAgICAgICAgKC50aW1lbGluZS1ydWxl
ciA+IC5oZWFkZXIgPiAuZGl2aWRlcik6IERlbGV0ZWQuCisgICAgICAgICgudGltZWxpbmUtcnVs
ZXIgPiAuc2VsZWN0aW9uLWRyYWc6YWN0aXZlKTogRGVsZXRlZC4KKyAgICAgICAgVXBkYXRlZCBm
b3IgbmV3IHJ1bGVyIGhlaWdodC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGlt
ZWxpbmVSdWxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5zZXQgZm9ybWF0TGFi
ZWxDYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5
cGUudXBkYXRlTGF5b3V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnBy
b3RvdHlwZS5fZm9ybWF0RGl2aWRlckxhYmVsVGV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSdWxlci5wcm90b3R5cGUuc2V0IGFsbG93c0NsaXBwZWRMYWJlbHMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLl91cGRhdGVT
ZWxlY3Rpb24pOiBEZWxldGVkLgorICAgICAgICBBZGRlZCBhYmlsaXR5IHRvIGN1c3RvbWl6ZSBs
YWJlbCBmb3JtYXR0aW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZVNpZGViYXJQYW5lbC5jc3M6CisgICAgICAgICgucGFuZWwudGltZWxpbmUgLm5hdmlnYXRpb24t
YmFyLnRpbWVsaW5lcy12aWV3KToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24udGltZWxpbmUgPiAudGl0bGUtYmFyKToKKyAgICAgICAgKGJvZHkubWFjLXBsYXRmb3JtLmxl
Z2FjeSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhcik6
CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxl
LWJhci50aW1lbGluZXMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50
aW1lbGluZSA+IC5uYXZpZ2F0aW9uLWJhci1jb250YWluZXIpOgorICAgICAgICAoLnNpZGViYXIg
PiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC5uYXZpZ2F0aW9uLWJhci1jb250YWluZXIg
PiAubmF2aWdhdGlvbi1iYXIpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlv
bi50aW1lbGluZSA+IC50aXRsZS1iYXIudGltZWxpbmUtZXZlbnRzKToKKyAgICAgICAgKGJvZHku
bWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5l
ID4gLnRpdGxlLWJhci50aW1lbGluZS1ldmVudHMpOgorICAgICAgICAoLnNpZGViYXIgPiAucGFu
ZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCk6CisgICAgICAgICgu
c2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLmVtcHR5LWNvbnRlbnQtcGxh
Y2Vob2xkZXIpOgorICAgICAgICAoYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4g
LnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiA6bWF0Y2hlcyguY29udGVudCwgLmVtcHR5LWNv
bnRlbnQtcGxhY2Vob2xkZXIpKToKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRp
b24udGltZWxpbmUgPiAudGltZWxpbmVzLWNvbnRlbnQgbGkuaXRlbS5zZWxlY3RlZCArIGxpLml0
ZW0pOiBEZWxldGVkLgorICAgICAgICAoYm9keS53aW5kb3ctaW5hY3RpdmUgLnNpZGViYXIgPiAu
cGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMtY29udGVudCBsaS5pdGVtLnNl
bGVjdGVkICsgbGkuaXRlbSk6IERlbGV0ZWQuCisgICAgICAgIFVwZGF0ZWQgZm9yIG5ldyBuYXZp
Z2F0aW9uIGJhciBhbmQgcnVsZXIgaGVpZ2h0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1l
bGluZVNpZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFy
UGFuZWwucHJvdG90eXBlLmdldCB2aWV3TW9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVTaWRlYmFyUGFuZWwucHJvdG90eXBlLmNhblNob3dUaW1lbGluZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVs
aW5lLnRoaXMuX3RpbWVsaW5lVHJlZUVsZW1lbnRNYXAuZ2V0IHNlbGVjdCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuZ2V0IHRoaXMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLl90aW1lbGluZUFkZGVkLnNldCB0aGlzKToK
KyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgdHdvIHZpZXcgbW9kZXM6IFRpbWVsaW5lcyBhbmQg
UmVuZGVyaW5nIEZyYW1lcy4KKworICAgICAgICAqIFdlYkluc3BlY3RvclVJLnZjeHByb2ovV2Vi
SW5zcGVjdG9yVUkudmN4cHJvajoKKyAgICAgICAgKiBXZWJJbnNwZWN0b3JVSS52Y3hwcm9qL1dl
Ykluc3BlY3RvclVJLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgTmV3IGZpbGVzLgorCiAyMDE1
LTA0LTI3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogQ2Fubm90IHNjcm9sbCBUaW1lbGluZSBPdmVydmlldyBob3Jpem9udGFs
bHksIHNjcm9sbGJhciBjYW5ub3QgYmUgaW50ZXJhY3RlZCB3aXRoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFn
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9U
aW1lbGluZU1hbmFnZXIuanMKaW5kZXggYzMwY2IyM2JmYjUxZjVkMzQ5OTJlOGM2MmU1ODFhNDk5
ZGIxMWRmMy4uMTkwZGM3MmU5MmU4Njc5MDVhMDAwZjBlMWFlNTg2ZTVkOGFmMjAyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGlt
ZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtNTAsMTkgKzUwLDYgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdl
Ykluc3BlY3Rvci5PYmplY3QKICAgICAgICAgc2V0VGltZW91dChkZWxheWVkV29yay5iaW5kKHRo
aXMpLCAwKTsKICAgICB9CiAKLSAgICAvLyBTdGF0aWMKLQotICAgIHN0YXRpYyBzaG91bGRTaG93
Vmlld0ZvclRpbWVsaW5lKHRpbWVsaW5lKQotICAgIHsKLSAgICAgICAgLy8gQ09NUEFUSUJJTElU
WSAoaU9TIDgpOiBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5SZW5kZXJpbmdGcmFtZSBkaWQgbm90
IGV4aXN0LAotICAgICAgICAvLyBmYWxsYmFjayB0byBkaXNwbGF5aW5nIGFsbCBvdGhlciB0aW1l
bGluZXMuCi0gICAgICAgIGlmICh3aW5kb3cuVGltZWxpbmVBZ2VudCAmJiAhVGltZWxpbmVBZ2Vu
dC5FdmVudFR5cGUuUmVuZGVyaW5nRnJhbWUpCi0gICAgICAgICAgICByZXR1cm4gdGltZWxpbmUu
dHlwZSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWU7
Ci0KLSAgICAgICAgLy8gRG9uJ3Qgc2hvdyB0aGUgTGF5b3V0IHRpbWVsaW5lIHZpZXcgd2hlbiB0
aGUgUmVuZGVyaW5nRnJhbWUgdGltZWxpbmUgZXhpc3RzLgotICAgICAgICByZXR1cm4gdGltZWxp
bmUudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuTGF5b3V0OwotICAg
IH0KLQogICAgIC8vIFB1YmxpYwogCiAgICAgLy8gVGhlIGN1cnJlbnQgcmVjb3JkaW5nIHRoYXQg
bmV3IHRpbWVsaW5lIHJlY29yZHMgd2lsbCBiZSBhcHBlbmRlZCB0bywgaWYgYW55LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IDg4MmE0ZTRm
YWRlMjBkY2FmMzBlNzdmZDhkOGFmOTAzM2ZiMzIwOWIuLmI4YTJhMmY0NGZhNjY4MTU1ZmFlMTk2
MjAzY2MwYzJmOWQ1MDg0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01haW4uaHRtbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9NYWluLmh0bWwKQEAgLTM0MCw2ICszNDAsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJWaWV3
cy9PYmplY3RUcmVlQmFzZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iVmlld3MvU291cmNlQ29kZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvU3RvcmFnZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IlZpZXdzL1RpbWVsaW5lUmVjb3JkVHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0PgogCiAgICAg
PHNjcmlwdCBzcmM9IlZpZXdzL0NvbnNvbGVUYWJDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CkBA
IC00NDYsNiArNDQ3LDcgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvTGF5b3V0VGltZWxpbmVE
YXRhR3JpZE5vZGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXlvdXRU
aW1lbGluZU92ZXJ2aWV3R3JhcGguanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3
cy9MYXlvdXRUaW1lbGluZVZpZXcuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJWaWV3
cy9MaW5lYXJUaW1lbGluZU92ZXJ2aWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
Vmlld3MvTG9nQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3
cy9Mb2dUcmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL01l
dHJpY3NTdHlsZURldGFpbHNQYW5lbC5qcyI+PC9zY3JpcHQ+CkBAIC00NzEsNiArNDczLDcgQEAK
ICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGVi
YXJQYW5lbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0Zy
YW1lVGltZWxpbmVEYXRhR3JpZE5vZGUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJW
aWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJWaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVW
aWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvUmVwbGF5RGFzaGJvYXJk
Vmlldy5qcyI+PC9zY3JpcHQ+CkBAIC01MDIsNyArNTA1LDYgQEAKICAgICA8c2NyaXB0IHNyYz0i
Vmlld3MvU3ludGF4SGlnaGxpZ2h0aW5nU3VwcG9ydC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IlZpZXdzL1RleHRDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IlZpZXdzL1RleHRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0iVmlld3MvVGltZWxpbmVPdmVydmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IlZpZXdzL1RpbWVsaW5lUmVjb3JkQmFyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IlZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMiPjwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Jl
bmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5qcwppbmRleCBl
YzU3NjA5ODM5ZmQyNzcwNzAzYTM0YWE0YzY3MmYyNWExNzJlNGI0Li41ZTBjMDNjMWJhOTRmZjg3
ZTkwZTdjMDI5ZjcyY2I2MTQ3OWQwNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVuZGVyaW5n
RnJhbWVUaW1lbGluZVJlY29yZC5qcwpAQCAtMzIsMjEgKzMyLDI2IEBAIFdlYkluc3BlY3Rvci5S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkID0gY2xhc3MgUmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZVJlY29yZCBlCiAgICAgICAgIHRoaXMuX2NoaWxkcmVuID0gY2hpbGRyZW4gfHwgW107CiAgICAg
ICAgIHRoaXMuX2R1cmF0aW9uQnlSZWNvcmRUeXBlID0gbmV3IE1hcDsKICAgICAgICAgdGhpcy5f
ZHVyYXRpb25SZW1haW5kZXIgPSBOYU47Ci0gICAgICAgIHRoaXMuX2ZyYW1lTnVtYmVyID0gV2Vi
SW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuX25leHRGcmFtZU51bWJlcisr
OworICAgICAgICB0aGlzLl9mcmFtZUluZGV4ID0gV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1l
VGltZWxpbmVSZWNvcmQuX25leHRGcmFtZUluZGV4Kys7CiAgICAgfQogCiAgICAgLy8gU3RhdGlj
CiAKLSAgICBzdGF0aWMgcmVzZXRGcmFtZU51bWJlcigpCisgICAgc3RhdGljIHJlc2V0RnJhbWVJ
bmRleCgpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGlu
ZVJlY29yZC5fbmV4dEZyYW1lTnVtYmVyID0gMTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlJlbmRl
cmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuX25leHRGcmFtZUluZGV4ID0gMDsKICAgICB9CiAKICAg
ICAvLyBQdWJsaWMKIAorICAgIGdldCBmcmFtZUluZGV4KCkKKyAgICB7CisgICAgICAgIHJldHVy
biB0aGlzLl9mcmFtZUluZGV4OworICAgIH0KKwogICAgIGdldCBmcmFtZU51bWJlcigpCiAgICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5fZnJhbWVOdW1iZXI7CisgICAgICAgIHJldHVybiB0aGlz
Ll9mcmFtZUluZGV4ICsgMTsKICAgICB9CiAKICAgICBnZXQgY2hpbGRyZW4oKQpAQCAtOTgsNCAr
MTAzLDQgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQgPSBjbGFz
cyBSZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkIGUKIAogV2ViSW5zcGVjdG9yLlJlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVSZWNvcmQuVHlwZUlkZW50aWZpZXIgPSAicmVuZGVyaW5nLWZyYW1lLXRp
bWVsaW5lLXJlY29yZCI7CiAKLVdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVj
b3JkLl9uZXh0RnJhbWVOdW1iZXIgPSAxOworV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGlt
ZWxpbmVSZWNvcmQuX25leHRGcmFtZUluZGV4ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGluZy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZVJlY29yZGlu
Zy5qcwppbmRleCBiZjcxNzFhMzRmM2FjNGE2MGJjYzcwOGEwNzVmMWUwMDY2MGI4YjhhLi5hYTk5
YjUyN2E4ZDNhY2NhMDU1MGY3NWEwNDZlYTliYzIxYzY2NzM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmRpbmcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5l
UmVjb3JkaW5nLmpzCkBAIC0xMDksNyArMTA5LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkaW5nID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2IK
ICAgICAgICAgZm9yICh2YXIgdGltZWxpbmUgb2YgdGhpcy5fdGltZWxpbmVzLnZhbHVlcygpKQog
ICAgICAgICAgICAgdGltZWxpbmUucmVzZXQoc3VwcHJlc3NFdmVudHMpOwogCi0gICAgICAgIFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLnJlc2V0RnJhbWVOdW1iZXIo
KTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQucmVz
ZXRGcmFtZUluZGV4KCk7CiAKICAgICAgICAgaWYgKCFzdXBwcmVzc0V2ZW50cykgewogICAgICAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkaW5nLkV2ZW50LlJlc2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MaW5lYXJUaW1lbGluZU92ZXJ2aWV3
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMwMDg3ZjkzNjliODgwMmFkZmZmYjM4YWVhNmFmNjA2MDU2ZGU4NDQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9MaW5lYXJUaW1lbGluZU92ZXJ2aWV3LmpzCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitXZWJJbnNwZWN0b3IuTGluZWFyVGltZWxpbmVPdmVydmlldyA9IGZ1bmN0aW9uKHRpbWVs
aW5lUmVjb3JkaW5nKQoreworICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gYSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldyBzdWJjbGFzcywgYW5kIGNhbGwgc3VwZXIoKS4KKworICAg
IHZhciBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMgPSB7CisgICAgICAgIGR1cmF0aW9uUGVyUGl4ZWw6
IDAuMDEsCisgICAgICAgIHNlbGVjdGlvblN0YXJ0VmFsdWU6IDAsCisgICAgICAgIHNlbGVjdGlv
bkR1cmF0aW9uOiA1CisgICAgfTsKKworICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
LmNhbGwodGhpcywgImxpbmVhciIsIHRpbWVsaW5lUmVjb3JkaW5nLCAwLjAwMDEsIDYwLCBkZWZh
dWx0U2V0dGluZ3NWYWx1ZXMpOworfTsKKworV2ViSW5zcGVjdG9yLkxpbmVhclRpbWVsaW5lT3Zl
cnZpZXcucHJvdG90eXBlID0geworICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuTGluZWFy
VGltZWxpbmVPdmVydmlldywKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3LnByb3RvdHlwZSwKKworICAgIC8vIFByb3RlY3RlZAorCisgICAgY2FuU2hvd1RpbWVs
aW5lOiBmdW5jdGlvbih0aW1lbGluZSkKKyAgICB7CisgICAgICAgIHJldHVybiB0aW1lbGluZS50
eXBlICE9PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZTsK
KyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lk
ZWJhclBhbmVsLmpzCmluZGV4IDU4MGZmODJkMmYyZDNlNWUxYWRjMmUyN2Y4NDA1OGNiMmFkODU4
ZGEuLmI5NTdmMWM3OWM1MmE3YWJkNTVmMGNkNGRkYjE1YjliMzVkZTBkZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1l
RGV0YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTUw
LDggKzUwLDggQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGViYXJQYW5l
bCA9IGNsYXNzIFJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGUKICAgICAgICAgdGhpcy5jb250ZW50
RWxlbWVudC5hcHBlbmRDaGlsZChkZXRhaWxzU2VjdGlvbi5lbGVtZW50KTsKIAogICAgICAgICB0
aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lID0gbnVsbDsKLSAgICAgICAgdGhpcy5fc3RhcnRU
aW1lID0gMDsKLSAgICAgICAgdGhpcy5fZW5kVGltZSA9IDA7CisgICAgICAgIHRoaXMuX3N0YXJ0
RnJhbWVJbmRleCA9IDA7CisgICAgICAgIHRoaXMuX2VuZEZyYW1lSW5kZXggPSAwOwogCiAgICAg
ICAgIHRoaXMuX2VtcHR5VmFsdWVQbGFjZWhvbGRlclN0cmluZyA9ICJcdTIwMTQiOwogCkBAIC03
MCwxMyArNzAsMTMgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGViYXJQ
YW5lbCA9IGNsYXNzIFJlbmRlcmluZ0ZyYW1lRGV0YWlsc1NpZGUKICAgICAgICAgcmV0dXJuICEh
dGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZTsKICAgICB9CiAKLSAgICB1cGRhdGVSYW5nZVNl
bGVjdGlvbihzdGFydFRpbWUsIGVuZFRpbWUpCisgICAgdXBkYXRlUmFuZ2VTZWxlY3Rpb24oc3Rh
cnRGcmFtZUluZGV4LCBlbmRGcmFtZUluZGV4KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3N0
YXJ0VGltZSA9PT0gc3RhcnRUaW1lICYmIHRoaXMuX2VuZFRpbWUgPT09IGVuZFRpbWUpCisgICAg
ICAgIGlmICh0aGlzLl9zdGFydEZyYW1lSW5kZXggPT09IHN0YXJ0RnJhbWVJbmRleCAmJiB0aGlz
Ll9lbmRGcmFtZUluZGV4ID09PSBlbmRGcmFtZUluZGV4KQogICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHN0YXJ0VGltZSB8fCAwOwotICAgICAgICB0aGlz
Ll9lbmRUaW1lID0gZW5kVGltZSB8fCAwOworICAgICAgICB0aGlzLl9zdGFydEZyYW1lSW5kZXgg
PSBzdGFydEZyYW1lSW5kZXggfHwgMDsKKyAgICAgICAgdGhpcy5fZW5kRnJhbWVJbmRleCA9IGVu
ZEZyYW1lSW5kZXggfHwgMDsKIAogICAgICAgICB0aGlzLm5lZWRzUmVmcmVzaCgpOwogICAgIH0K
QEAgLTE3MywxMiArMTczLDEyIEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZURldGFpbHNT
aWRlYmFyUGFuZWwgPSBjbGFzcyBSZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlCiAgICAgICAgIGZv
ciAodmFyIHJlY29yZCBvZiB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lLnJlY29yZHMpIHsK
ICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHJlY29yZCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rv
ci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkKTsKICAgICAgICAgICAgIC8vIElmIHRoaXMg
ZnJhbWUgaXMgY29tcGxldGVseSBiZWZvcmUgdGhlIGJvdW5kcyBvZiB0aGUgZ3JhcGgsIHNraXAg
dGhpcyByZWNvcmQuCi0gICAgICAgICAgICBpZiAocmVjb3JkLmVuZFRpbWUgPCB0aGlzLl9zdGFy
dFRpbWUpCisgICAgICAgICAgICBpZiAocmVjb3JkLmZyYW1lSW5kZXggPCBNYXRoLmZsb29yKHRo
aXMuX3N0YXJ0RnJhbWVJbmRleCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAg
ICAgICAgIC8vIElmIHRoaXMgcmVjb3JkIGlzIGNvbXBsZXRlbHkgYWZ0ZXIgdGhlIGVuZCB0aW1l
LCBicmVhayBvdXQgbm93LgogICAgICAgICAgICAgLy8gUmVjb3JkcyBhcmUgc29ydGVkLCBzbyBh
bGwgcmVjb3JkcyBhZnRlciB0aGlzIHdpbGwgYmUgYmV5b25kIHRoZSBlbmQgdGltZSB0b28uCi0g
ICAgICAgICAgICBpZiAocmVjb3JkLnN0YXJ0VGltZSA+IHRoaXMuX2VuZFRpbWUpCisgICAgICAg
ICAgICBpZiAocmVjb3JkLmZyYW1lSW5kZXggPiB0aGlzLl9lbmRGcmFtZUluZGV4KQogICAgICAg
ICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICByZWNvcmRzLnB1c2gocmVjb3JkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRl
cmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zMGE3MDU5ZWIzNTIyZDc2MWQ5ODlhMWZiODgzNDgzYmZkM2YwYTVkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVy
aW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmpzCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3ID0gZnVuY3Rpb24o
dGltZWxpbmVSZWNvcmRpbmcpCit7CisgICAgLy8gRklYTUU6IENvbnZlcnQgdGhpcyB0byBhIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3IHN1YmNsYXNzLCBhbmQgY2FsbCBzdXBlcigpLgor
CisgICAgdmFyIG1pbmltdW1EdXJhdGlvblBlclBpeGVsID0gMSAvIFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZEZyYW1lLk1heGltdW1XaWR0aFBpeGVsczsKKyAgICB2YXIgbWF4aW11bUR1cmF0
aW9uUGVyUGl4ZWwgPSAxIC8gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuTWluaW11
bVdpZHRoUGl4ZWxzOworICAgIHZhciBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMgPSB7CisgICAgICAg
IGR1cmF0aW9uUGVyUGl4ZWw6IG1pbmltdW1EdXJhdGlvblBlclBpeGVsLAorICAgICAgICBzZWxl
Y3Rpb25TdGFydFZhbHVlOiAwLAorICAgICAgICBzZWxlY3Rpb25EdXJhdGlvbjogMTAwCisgICAg
fTsKKworICAgIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LmNhbGwodGhpcywgImZyYW1l
cyIsIHRpbWVsaW5lUmVjb3JkaW5nLCBtaW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgbWF4aW11bUR1
cmF0aW9uUGVyUGl4ZWwsIGRlZmF1bHRTZXR0aW5nc1ZhbHVlcyk7CisKKyAgICB0aGlzLnRpbWVs
aW5lUnVsZXIuZm9ybWF0TGFiZWxDYWxsYmFjayA9IGZ1bmN0aW9uKHZhbHVlKSB7CisgICAgICAg
IHJldHVybiB2YWx1ZS50b0ZpeGVkKDApOworICAgIH07Cit9OworCitXZWJJbnNwZWN0b3IuUmVu
ZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKKyAgICBjb25zdHJ1Y3Rv
cjogV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlldywKKyAgICBfX3By
b3RvX186IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSwKKworICAgIC8v
IFByb3RlY3RlZAorCisgICAgY2FuU2hvd1RpbWVsaW5lOiBmdW5jdGlvbih0aW1lbGluZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aW1lbGluZS50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1l
bGluZU92ZXJ2aWV3R3JhcGguY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguY3NzCmluZGV4IDYw
YzA4NmRkN2RkNzZhODViNjg3OTI3MjU0ODI0MGFjZDU5YWUyNzcuLmQ3MGVhMWQ0MWMzNzgzMGVi
NzY4ZWVhMGMzNWUzYTc5ODc0NDRjOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBo
LmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5jc3MKQEAgLTIzLDYgKzIzLDEwIEBACiAg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLnRpbWVsaW5lLW92ZXJ2
aWV3ID4gLmdyYXBocy1jb250YWluZXIgPiAudGltZWxpbmUtb3ZlcnZpZXctZ3JhcGgucmVuZGVy
aW5nLWZyYW1lIHsKKyAgICBoZWlnaHQ6IDEwMCU7Cit9CisKIC50aW1lbGluZS1vdmVydmlldy1n
cmFwaC5yZW5kZXJpbmctZnJhbWUgPiAuZGl2aWRlciB7CiAgICAgcG9zaXRpb246IGFic29sdXRl
OwogICAgIHotaW5kZXg6IDEwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcwppbmRleCBmZjE4MTQ1OWU4OGRmYmE5ZmY5Y2M2YjA1
ODExYjFhZjdiZTc5YzczLi4wY2M2Mjk0NDJmM2RiOTRlNWJiMDYxODU1MjdjNTdiMmNkYzIzOTY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9S
ZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaC5qcwpAQCAtMzAsMTEgKzMwLDExIEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGZ1bmN0aW9uKHRpbWVsaW5lKQogICAgIHRoaXMuZWxl
bWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5TdHlsZUNsYXNzTmFtZSk7CiAKICAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRp
bWVsaW5lID0gdGltZWxpbmU7CisgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZS5FdmVudC5SZWNvcmRBZGRlZCwgdGhp
cy5fdGltZWxpbmVSZWNvcmRBZGRlZCwgdGhpcyk7CisKICAgICB0aGlzLl90aW1lbGluZVJlY29y
ZEZyYW1lcyA9IFtdOwogICAgIHRoaXMuX2dyYXBoSGVpZ2h0U2Vjb25kcyA9IE5hTjsKLSAgICB0
aGlzLl9mcmFtZXNQZXJTZWNvbmREaXZpZGVycyA9IG5ldyBNYXA7Ci0KLSAgICB0aGlzLl9yZW5k
ZXJpbmdGcmFtZVRpbWVsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
LkV2ZW50LlJlY29yZEFkZGVkLCB0aGlzLl90aW1lbGluZVJlY29yZEFkZGVkLCB0aGlzKTsKKyAg
ICB0aGlzLl9mcmFtZXNQZXJTZWNvbmREaXZpZGVyTWFwID0gbmV3IE1hcDsKIAogICAgIHRoaXMu
cmVzZXQoKTsKIH07CkBAIC03MCw3ICs3MCw3IEBAIFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFt
ZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5lbGVt
ZW50LnJlbW92ZUNoaWxkcmVuKCk7CiAKLSAgICAgICAgdGhpcy5fZnJhbWVzUGVyU2Vjb25kRGl2
aWRlcnMuY2xlYXIoKTsKKyAgICAgICAgdGhpcy5fZnJhbWVzUGVyU2Vjb25kRGl2aWRlck1hcC5j
bGVhcigpOwogICAgIH0sCiAKICAgICB1cGRhdGVMYXlvdXQoKQpAQCAtODAsMjggKzgwLDI5IEBA
IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIGlmICghdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZS5yZWNvcmRz
Lmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgc2Vjb25kc1BlclBp
eGVsID0gdGhpcy50aW1lbGluZU92ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbDsKKyAgICAgICAgdmFy
IHJlY29yZHMgPSB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lLnJlY29yZHM7CisgICAgICAg
IHZhciBzdGFydEluZGV4ID0gTWF0aC5mbG9vcih0aGlzLnN0YXJ0VGltZSk7CisgICAgICAgIHZh
ciBlbmRJbmRleCA9IE1hdGgubWluKE1hdGguZmxvb3IodGhpcy5lbmRUaW1lKSwgcmVjb3Jkcy5s
ZW5ndGggLSAxKTsKICAgICAgICAgdmFyIHJlY29yZEZyYW1lSW5kZXggPSAwOwogCi0gICAgICAg
IGZ1bmN0aW9uIGNyZWF0ZUZyYW1lKHJlY29yZHMpCi0gICAgICAgIHsKKyAgICAgICAgZm9yICh2
YXIgaSA9IHN0YXJ0SW5kZXg7IGkgPD0gZW5kSW5kZXg7ICsraSkgeworICAgICAgICAgICAgdmFy
IHJlY29yZCA9IHJlY29yZHNbaV07CiAgICAgICAgICAgICB2YXIgdGltZWxpbmVSZWNvcmRGcmFt
ZSA9IHRoaXMuX3RpbWVsaW5lUmVjb3JkRnJhbWVzW3JlY29yZEZyYW1lSW5kZXhdOwogICAgICAg
ICAgICAgaWYgKCF0aW1lbGluZVJlY29yZEZyYW1lKQotICAgICAgICAgICAgICAgIHRpbWVsaW5l
UmVjb3JkRnJhbWUgPSB0aGlzLl90aW1lbGluZVJlY29yZEZyYW1lc1tyZWNvcmRGcmFtZUluZGV4
XSA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZSh0aGlzLCByZWNvcmRzKTsK
KyAgICAgICAgICAgICAgICB0aW1lbGluZVJlY29yZEZyYW1lID0gdGhpcy5fdGltZWxpbmVSZWNv
cmRGcmFtZXNbcmVjb3JkRnJhbWVJbmRleF0gPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkRnJhbWUodGhpcywgcmVjb3JkKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICB0aW1lbGluZVJlY29yZEZyYW1lLnJlY29yZHMgPSByZWNvcmRzOworICAgICAgICAgICAgICAg
IHRpbWVsaW5lUmVjb3JkRnJhbWUucmVjb3JkID0gcmVjb3JkOwogCiAgICAgICAgICAgICB0aW1l
bGluZVJlY29yZEZyYW1lLnJlZnJlc2godGhpcyk7CiAgICAgICAgICAgICBpZiAoIXRpbWVsaW5l
UmVjb3JkRnJhbWUuZWxlbWVudC5wYXJlbnROb2RlKQogICAgICAgICAgICAgICAgIHRoaXMuZWxl
bWVudC5hcHBlbmRDaGlsZCh0aW1lbGluZVJlY29yZEZyYW1lLmVsZW1lbnQpOworCiAgICAgICAg
ICAgICArK3JlY29yZEZyYW1lSW5kZXg7CiAgICAgICAgIH0KIAotICAgICAgICBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5jcmVhdGVDb21iaW5lZEZyYW1lcyh0aGlzLl9yZW5kZXJp
bmdGcmFtZVRpbWVsaW5lLnJlY29yZHMsIHNlY29uZHNQZXJQaXhlbCwgdGhpcywgY3JlYXRlRnJh
bWUuYmluZCh0aGlzKSk7Ci0KICAgICAgICAgLy8gUmVtb3ZlIHRoZSByZW1haW5pbmcgdW51c2Vk
IFRpbWVsaW5lUmVjb3JkRnJhbWVzLgogICAgICAgICBmb3IgKDsgcmVjb3JkRnJhbWVJbmRleCA8
IHRoaXMuX3RpbWVsaW5lUmVjb3JkRnJhbWVzLmxlbmd0aDsgKytyZWNvcmRGcmFtZUluZGV4KSB7
Ci0gICAgICAgICAgICB0aGlzLl90aW1lbGluZVJlY29yZEZyYW1lc1tyZWNvcmRGcmFtZUluZGV4
XS5yZWNvcmRzID0gbnVsbDsKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lUmVjb3JkRnJhbWVz
W3JlY29yZEZyYW1lSW5kZXhdLnJlY29yZCA9IG51bGw7CiAgICAgICAgICAgICB0aGlzLl90aW1l
bGluZVJlY29yZEZyYW1lc1tyZWNvcmRGcmFtZUluZGV4XS5lbGVtZW50LnJlbW92ZSgpOwogICAg
ICAgICB9CiAKQEAgLTEzMSw3ICsxMzIsNyBAQCBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVU
aW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKGRpdmlk
ZXJUb3AgPCAwLjAxIHx8IGRpdmlkZXJUb3AgPj0gMSkKICAgICAgICAgICAgICAgICByZXR1cm47
CiAKLSAgICAgICAgICAgIHZhciBkaXZpZGVyID0gdGhpcy5fZnJhbWVzUGVyU2Vjb25kRGl2aWRl
cnMuZ2V0KGZyYW1lc1BlclNlY29uZCk7CisgICAgICAgICAgICB2YXIgZGl2aWRlciA9IHRoaXMu
X2ZyYW1lc1BlclNlY29uZERpdmlkZXJNYXAuZ2V0KGZyYW1lc1BlclNlY29uZCk7CiAgICAgICAg
ICAgICBpZiAoIWRpdmlkZXIpIHsKICAgICAgICAgICAgICAgICBkaXZpZGVyID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICAgICAgZGl2aWRlci5jbGFzc0xpc3Qu
YWRkKCJkaXZpZGVyIik7CkBAIC0xNDMsNyArMTQ0LDcgQEAgV2ViSW5zcGVjdG9yLlJlbmRlcmlu
Z0ZyYW1lVGltZWxpbmVPdmVydmlld0dyYXBoLnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAg
ICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChkaXZpZGVyKTsKIAotICAgICAgICAgICAgICAg
IHRoaXMuX2ZyYW1lc1BlclNlY29uZERpdmlkZXJzLnNldChmcmFtZXNQZXJTZWNvbmQsIGRpdmlk
ZXIpOworICAgICAgICAgICAgICAgIHRoaXMuX2ZyYW1lc1BlclNlY29uZERpdmlkZXJNYXAuc2V0
KGZyYW1lc1BlclNlY29uZCwgZGl2aWRlcik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IGRpdmlkZXIuc3R5bGUubWFyZ2luVG9wID0gKGRpdmlkZXJUb3AgKiBvdmVydmlld0dyYXBoSGVp
Z2h0KS50b0ZpeGVkKDIpICsgInB4IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1JlbmRlcmluZ0ZyYW1lVGltZWxpbmVWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVUaW1l
bGluZVZpZXcuanMKaW5kZXggNWU1MjYyOTQxMzFkNzFiYmJkOWUyYmNkMjgyNDJkMmY3MWNkMzQ2
MC4uYzRiNDNjYWI3Y2QwODZmNDZmYzFjYTYxOTA5ZDhhYWEwYzQ5NDllMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVuZGVyaW5nRnJhbWVU
aW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcuanMKQEAgLTQwLDE1ICs0MCwxNSBAQCBX
ZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVZpZXcgPSBmdW5jdGlvbih0aW1lbGlu
ZSwgZXh0cmFBcmd1bWVudHMpCiAgICAgY29sdW1ucy5zdGFydFRpbWUuYWxpZ25lZCA9ICJyaWdo
dCI7CiAKICAgICBjb2x1bW5zLmxheW91dFRpbWUudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkxheW91dCIpOwotICAgIGNvbHVtbnMubGF5b3V0VGltZS53aWR0aCA9ICIxMCUiOworICAg
IGNvbHVtbnMubGF5b3V0VGltZS53aWR0aCA9ICIxNSUiOwogICAgIGNvbHVtbnMubGF5b3V0VGlt
ZS5hbGlnbmVkID0gInJpZ2h0IjsKIAogICAgIGNvbHVtbnMuc2NyaXB0VGltZS50aXRsZSA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiU2NyaXB0Iik7Ci0gICAgY29sdW1ucy5zY3JpcHRUaW1lLndp
ZHRoID0gIjEwJSI7CisgICAgY29sdW1ucy5zY3JpcHRUaW1lLndpZHRoID0gIjE1JSI7CiAgICAg
Y29sdW1ucy5zY3JpcHRUaW1lLmFsaWduZWQgPSAicmlnaHQiOwogCiAgICAgY29sdW1ucy5vdGhl
clRpbWUudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk90aGVyIik7Ci0gICAgY29sdW1u
cy5vdGhlclRpbWUud2lkdGggPSAiMTAlIjsKKyAgICBjb2x1bW5zLm90aGVyVGltZS53aWR0aCA9
ICIxNSUiOwogICAgIGNvbHVtbnMub3RoZXJUaW1lLmFsaWduZWQgPSAicmlnaHQiOwogCiAgICAg
Y29sdW1ucy50b3RhbFRpbWUudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRvdGFsIFRp
bWUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lT3ZlcnZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5jc3MKaW5kZXggMjBkYTVjZDhmNzEwNTI3NjNl
YmZjZTUzMmUxNTVhYjIxY2M4ZmFjOC4uM2RkZTY3ODFhN2JmNjM4MjIzNGZmYTgwZDQ3MDViZTBk
MDljMTIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVPdmVydmlldy5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5jc3MKQEAgLTU1LDEyICs1NSwxNiBA
QAogCiAudGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lciB7CiAgICAgcG9zaXRp
b246IGFic29sdXRlOwotICAgIHRvcDogMjJweDsKKyAgICB0b3A6IDI5cHg7CiAgICAgbGVmdDog
MDsKICAgICBib3R0b206IDA7CiAgICAgcmlnaHQ6IDA7CiB9CiAKK2JvZHkubWFjLXBsYXRmb3Jt
LmxlZ2FjeSAudGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lciB7CisgICAgdG9w
OiAyMnB4OworfQorCiAudGltZWxpbmUtb3ZlcnZpZXcgPiAuZ3JhcGhzLWNvbnRhaW5lciA+IC50
aW1lbGluZS1vdmVydmlldy1ncmFwaCB7CiAgICAgaGVpZ2h0OiAzNnB4OwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVy
dmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lT3ZlcnZpZXcuanMKaW5kZXggNDUwNjIxNTliOTVkZmM5MDY3NWQ2Y2FiOTZiZTRmZTliMmNi
MmQ5Zi4uMDAwZGEzNDc0N2QwZTY0NzIzOGMwNmQ3ZjlmNWViOTVkNmExOTk5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVy
dmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZU92ZXJ2aWV3LmpzCkBAIC0yMyw3ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBm
dW5jdGlvbih0aW1lbGluZVJlY29yZGluZykKK1dlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
ID0gZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZWxpbmVSZWNvcmRpbmcsIG1pbmltdW1EdXJhdGlv
blBlclBpeGVsLCBtYXhpbXVtRHVyYXRpb25QZXJQaXhlbCwgZGVmYXVsdFNldHRpbmdzVmFsdWVz
KQogewogICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gYSBXZWJJbnNwZWN0b3IuT2JqZWN0
IHN1YmNsYXNzLCBhbmQgY2FsbCBzdXBlcigpLgogICAgIC8vIFdlYkluc3BlY3Rvci5PYmplY3Qu
Y2FsbCh0aGlzKTsKQEAgLTYwLDE4ICs2MCwyMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVy
dmlldyA9IGZ1bmN0aW9uKHRpbWVsaW5lUmVjb3JkaW5nKQogICAgIHRoaXMuX3Njcm9sbFdpZHRo
U2l6ZXIuY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsV2lk
dGhTaXplclN0eWxlQ2xhc3NOYW1lOwogICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQu
YXBwZW5kQ2hpbGQodGhpcy5fc2Nyb2xsV2lkdGhTaXplcik7CiAKLSAgICB0aGlzLl9zZWNvbmRz
UGVyUGl4ZWxTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJ0aW1lbGluZS1vdmVy
dmlldy1zZWNvbmRzLXBlci1waXhlbCIsIDAuMDEpOwotICAgIHRoaXMuX3NlbGVjdGlvblN0YXJ0
VGltZVNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoInRpbWVsaW5lLW92ZXJ2aWV3
LXNlbGVjdGlvbi1zdGFydC10aW1lIiwgMCk7Ci0gICAgdGhpcy5fc2VsZWN0aW9uRHVyYXRpb25T
ZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJ0aW1lbGluZS1vdmVydmlldy1zZWxl
Y3Rpb24tZHVyYXRpb24iLCA1KTsKKyAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsU2V0dGluZyA9
IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZyhpZGVudGlmaWVyICsgIi10aW1lbGluZS1vdmVydmll
dy1kdXJhdGlvbi1wZXItcGl4ZWwiLCBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMuZHVyYXRpb25QZXJQ
aXhlbCk7CisgICAgdGhpcy5fc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcgPSBuZXcgV2ViSW5z
cGVjdG9yLlNldHRpbmcoaWRlbnRpZmllciArICItdGltZWxpbmUtb3ZlcnZpZXctc2VsZWN0aW9u
LXN0YXJ0LXZhbHVlIiwgZGVmYXVsdFNldHRpbmdzVmFsdWVzLnNlbGVjdGlvblN0YXJ0VmFsdWUp
OworICAgIHRoaXMuX3NlbGVjdGlvbkR1cmF0aW9uU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3Iu
U2V0dGluZyhpZGVudGlmaWVyICsgIi10aW1lbGluZS1vdmVydmlldy1zZWxlY3Rpb24tZHVyYXRp
b24iLCBkZWZhdWx0U2V0dGluZ3NWYWx1ZXMuc2VsZWN0aW9uRHVyYXRpb24pOwogCiAgICAgdGhp
cy5fc3RhcnRUaW1lID0gMDsKICAgICB0aGlzLl9jdXJyZW50VGltZSA9IDA7CiAgICAgdGhpcy5f
ZW5kVGltZSA9IDA7Ci0gICAgdGhpcy5fc2Vjb25kc1BlclBpeGVsID0gdGhpcy5fc2Vjb25kc1Bl
clBpeGVsU2V0dGluZy52YWx1ZTsKKyAgICB0aGlzLl9taW5pbXVtRHVyYXRpb25QZXJQaXhlbCA9
IG1pbmltdW1EdXJhdGlvblBlclBpeGVsOworICAgIHRoaXMuX21heGltdW1EdXJhdGlvblBlclBp
eGVsID0gbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWw7CisgICAgdGhpcy5fZHVyYXRpb25QZXJQaXhl
bCA9IE1hdGgubWluKHRoaXMuX21heGltdW1EdXJhdGlvblBlclBpeGVsLCBNYXRoLm1heCh0aGlz
Ll9taW5pbXVtRHVyYXRpb25QZXJQaXhlbCwgdGhpcy5fZHVyYXRpb25QZXJQaXhlbFNldHRpbmcu
dmFsdWUpKTsKICAgICB0aGlzLl9zY3JvbGxTdGFydFRpbWUgPSAwOwogICAgIHRoaXMuX2NhY2hl
ZFNjcm9sbENvbnRhaW5lcldpZHRoID0gTmFOOwogCi0gICAgdGhpcy5zZWxlY3Rpb25TdGFydFRp
bWUgPSB0aGlzLl9zZWxlY3Rpb25TdGFydFRpbWVTZXR0aW5nLnZhbHVlOworICAgIHRoaXMuc2Vs
ZWN0aW9uU3RhcnRUaW1lID0gdGhpcy5fc2VsZWN0aW9uU3RhcnRWYWx1ZVNldHRpbmcudmFsdWU7
CiAgICAgdGhpcy5zZWxlY3Rpb25EdXJhdGlvbiA9IHRoaXMuX3NlbGVjdGlvbkR1cmF0aW9uU2V0
dGluZy52YWx1ZTsKIAogICAgIGZvciAodmFyIHRpbWVsaW5lIG9mIHRoaXMuX3JlY29yZGluZy50
aW1lbGluZXMudmFsdWVzKCkpCkBAIC04Miw3ICs4NCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3LlN0eWxlQ2xhc3NOYW1lID0gInRpbWVsaW5lLW92ZXJ2aWV3IjsKIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3LkdyYXBoc0NvbnRhaW5lclN0eWxlQ2xhc3NOYW1lID0gImdy
YXBocy1jb250YWluZXIiOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsQ29u
dGFpbmVyU3R5bGVDbGFzc05hbWUgPSAic2Nyb2xsLWNvbnRhaW5lciI7CiBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlldy5TY3JvbGxXaWR0aFNpemVyU3R5bGVDbGFzc05hbWUgPSAic2Nyb2xs
LXdpZHRoLXNpemVyIjsKLVdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3Lk1pbmltdW1TZWNv
bmRzUGVyUGl4ZWwgPSAwLjAwMTsKIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LlNjcm9s
bERlbHRhRGVub21pbmF0b3IgPSA1MDA7CiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
LkV2ZW50ID0gewpAQCAtMTMzLDE4ICsxMzQsMTggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHNlY29uZHNQZXJQaXhlbCgpCiAgICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5fc2Vjb25kc1BlclBpeGVsOworICAgICAgICByZXR1cm4gdGhp
cy5fZHVyYXRpb25QZXJQaXhlbDsKICAgICB9LAogCiAgICAgc2V0IHNlY29uZHNQZXJQaXhlbCh4
KQogICAgIHsKLSAgICAgICAgeCA9IE1hdGgubWF4KFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3Lk1pbmltdW1TZWNvbmRzUGVyUGl4ZWwsIHgpOworICAgICAgICB4ID0gTWF0aC5taW4odGhp
cy5fbWF4aW11bUR1cmF0aW9uUGVyUGl4ZWwsIE1hdGgubWF4KHRoaXMuX21pbmltdW1EdXJhdGlv
blBlclBpeGVsLCB4KSk7CiAKLSAgICAgICAgaWYgKHRoaXMuX3NlY29uZHNQZXJQaXhlbCA9PT0g
eCkKKyAgICAgICAgaWYgKHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwgPT09IHgpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fc2Vjb25kc1BlclBpeGVsID0geDsKLSAgICAgICAg
dGhpcy5fc2Vjb25kc1BlclBpeGVsU2V0dGluZy52YWx1ZSA9IHg7CisgICAgICAgIHRoaXMuX2R1
cmF0aW9uUGVyUGl4ZWwgPSB4OworICAgICAgICB0aGlzLl9kdXJhdGlvblBlclBpeGVsU2V0dGlu
Zy52YWx1ZSA9IHg7CiAKICAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQoKTsKICAgICB9LApAQCAt
MTg2LDcgKzE4Nyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2NhY2hlZFNjcm9sbENvbnRhaW5l
cldpZHRoID4gMCk7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGVkU2Ny
b2xsQ29udGFpbmVyV2lkdGggKiB0aGlzLl9zZWNvbmRzUGVyUGl4ZWw7CisgICAgICAgIHJldHVy
biB0aGlzLl9jYWNoZWRTY3JvbGxDb250YWluZXJXaWR0aCAqIHRoaXMuX2R1cmF0aW9uUGVyUGl4
ZWw7CiAgICAgfSwKIAogICAgIGdldCBzZWxlY3Rpb25TdGFydFRpbWUoKQpAQCAtMjExLDYgKzIx
Miw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKICAgICBz
ZXQgc2VsZWN0aW9uRHVyYXRpb24oeCkKICAgICB7CiAgICAgICAgIHggPSBNYXRoLm1heChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSdWxlci5NaW5pbXVtU2VsZWN0aW9uVGltZVJhbmdlLCB4KTsKKwog
ICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnNlbGVjdGlvbkVuZFRpbWUgPSB0aGlzLl90aW1l
bGluZVJ1bGVyLnNlbGVjdGlvblN0YXJ0VGltZSArIHg7CiAgICAgfSwKIApAQCAtMjY4LDcgKzI3
MCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKIAogICAg
ICAgICAvLyBDYWxjdWxhdGUgdGhlIHJlcXVpcmVkIHdpZHRoIGJhc2VkIG9uIHRoZSBkdXJhdGlv
biBhbmQgc2Vjb25kcyBwZXIgcGl4ZWwuCiAgICAgICAgIHZhciBkdXJhdGlvbiA9IHRoaXMuX2Vu
ZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7Ci0gICAgICAgIHZhciBuZXdXaWR0aCA9IE1hdGguY2Vp
bChkdXJhdGlvbiAvIHRoaXMuX3NlY29uZHNQZXJQaXhlbCk7CisgICAgICAgIHZhciBuZXdXaWR0
aCA9IE1hdGguY2VpbChkdXJhdGlvbiAvIHRoaXMuX2R1cmF0aW9uUGVyUGl4ZWwpOwogCiAgICAg
ICAgIC8vIFVwZGF0ZSBhbGwgcmVsZXZhbnQgZWxlbWVudHMgdG8gdGhlIG5ldyByZXF1aXJlZCB3
aWR0aC4KICAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFdpZHRoKHRoaXMuX3Njcm9sbFdpZHRo
U2l6ZXIsIG5ld1dpZHRoKTsKQEAgLTI4OCwxMSArMjkwLDExIEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZU92ZXJ2aWV3LnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVy
Lnplcm9UaW1lID0gdGhpcy5fc3RhcnRUaW1lOwogICAgICAgICB0aGlzLl90aW1lbGluZVJ1bGVy
LnN0YXJ0VGltZSA9IHNjcm9sbFN0YXJ0VGltZTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxl
ci5zZWNvbmRzUGVyUGl4ZWwgPSB0aGlzLl9zZWNvbmRzUGVyUGl4ZWw7CisgICAgICAgIHRoaXMu
X3RpbWVsaW5lUnVsZXIuc2Vjb25kc1BlclBpeGVsID0gdGhpcy5fZHVyYXRpb25QZXJQaXhlbDsK
IAogICAgICAgICBpZiAoIXRoaXMuX2RvbnRVcGRhdGVTY3JvbGxMZWZ0KSB7CiAgICAgICAgICAg
ICB0aGlzLl9pZ25vcmVOZXh0U2Nyb2xsRXZlbnQgPSB0cnVlOwotICAgICAgICAgICAgdGhpcy5f
c2Nyb2xsQ29udGFpbmVyRWxlbWVudC5zY3JvbGxMZWZ0ID0gTWF0aC5jZWlsKChzY3JvbGxTdGFy
dFRpbWUgLSB0aGlzLl9zdGFydFRpbWUpIC8gdGhpcy5fc2Vjb25kc1BlclBpeGVsKTsKKyAgICAg
ICAgICAgIHRoaXMuX3Njcm9sbENvbnRhaW5lckVsZW1lbnQuc2Nyb2xsTGVmdCA9IE1hdGguY2Vp
bCgoc2Nyb2xsU3RhcnRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lKSAvIHRoaXMuX2R1cmF0aW9uUGVy
UGl4ZWwpOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci51cGRhdGVM
YXlvdXQoKTsKQEAgLTMxOSw2ICszMjEsMTkgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZp
ZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGltZWxpbmVPdmVydmlld0dyYXBoLnVwZGF0
ZUxheW91dElmTmVlZGVkKCk7CiAgICAgfSwKIAorICAgIC8vIFByb3RlY3RlZAorCisgICAgZ2V0
IHRpbWVsaW5lUnVsZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVsaW5lUnVs
ZXI7CisgICAgfSwKKworICAgIGNhblNob3dUaW1lbGluZTogZnVuY3Rpb24odGltZWxpbmUpCisg
ICAgeworICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLgorICAgICAgICBjb25z
b2xlLmVycm9yKCJOZWVkcyB0byBiZSBpbXBsZW1lbnRlZCBieSBhIHN1YmNsYXNzLiIpOworICAg
IH0sCisKICAgICAvLyBQcml2YXRlCiAKICAgICBfdXBkYXRlRWxlbWVudFdpZHRoOiBmdW5jdGlv
bihlbGVtZW50LCBuZXdXaWR0aCkKQEAgLTM0OSw3ICszNjQsNyBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2RvbnRVcGRhdGVTY3Jv
bGxMZWZ0ID0gdHJ1ZTsKIAogICAgICAgICB2YXIgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5fc2Nyb2xs
Q29udGFpbmVyRWxlbWVudC5zY3JvbGxMZWZ0OwotICAgICAgICB0aGlzLnNjcm9sbFN0YXJ0VGlt
ZSA9IHRoaXMuX3N0YXJ0VGltZSArIChzY3JvbGxPZmZzZXQgKiB0aGlzLl9zZWNvbmRzUGVyUGl4
ZWwpOworICAgICAgICB0aGlzLnNjcm9sbFN0YXJ0VGltZSA9IHRoaXMuX3N0YXJ0VGltZSArIChz
Y3JvbGxPZmZzZXQgKiB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKIAogICAgICAgICAvLyBGb3Jj
ZSBsYXlvdXQgc28gd2UgY2FuIHVwZGF0ZSB3aXRoIHRoZSBzY3JvbGwgcG9zaXRpb24gc3luY2hy
b25vdXNseS4KICAgICAgICAgdGhpcy51cGRhdGVMYXlvdXRJZk5lZWRlZCgpOwpAQCAtMzc2LDEz
ICszOTEsMTMgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlID0gewog
CiAgICAgICAgIC8vIFJlbWVtYmVyIHRoZSBtb3VzZSBwb3NpdGlvbiBpbiB0aW1lLgogICAgICAg
ICB2YXIgbW91c2VPZmZzZXQgPSBldmVudC5wYWdlWCAtIHRoaXMuX2VsZW1lbnQudG90YWxPZmZz
ZXRMZWZ0OwotICAgICAgICB2YXIgbW91c2VQb3NpdGlvblRpbWUgPSB0aGlzLl9zY3JvbGxTdGFy
dFRpbWUgKyAobW91c2VPZmZzZXQgKiB0aGlzLl9zZWNvbmRzUGVyUGl4ZWwpOworICAgICAgICB2
YXIgbW91c2VQb3NpdGlvblRpbWUgPSB0aGlzLl9zY3JvbGxTdGFydFRpbWUgKyAobW91c2VPZmZz
ZXQgKiB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKICAgICAgICAgdmFyIGRldmljZURpcmVjdGlv
biA9IGV2ZW50LndlYmtpdERpcmVjdGlvbkludmVydGVkRnJvbURldmljZSA/IDEgOiAtMTsKIAot
ICAgICAgICB0aGlzLnNlY29uZHNQZXJQaXhlbCArPSBldmVudC5kZWx0YVkgKiAodGhpcy5fc2Vj
b25kc1BlclBpeGVsIC8gV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsRGVsdGFE
ZW5vbWluYXRvcikgKiBkZXZpY2VEaXJlY3Rpb247CisgICAgICAgIHRoaXMuc2Vjb25kc1BlclBp
eGVsICs9IGV2ZW50LmRlbHRhWSAqICh0aGlzLl9kdXJhdGlvblBlclBpeGVsIC8gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXcuU2Nyb2xsRGVsdGFEZW5vbWluYXRvcikgKiBkZXZpY2VEaXJl
Y3Rpb247CiAKICAgICAgICAgLy8gQ2VudGVyIHRoZSB6b29tIGFyb3VuZCB0aGUgbW91c2UgYmFz
ZWQgb24gdGhlIHJlbWVtYmVyZWQgbW91c2UgcG9zaXRpb24gdGltZS4KLSAgICAgICAgdGhpcy5z
Y3JvbGxTdGFydFRpbWUgPSBtb3VzZVBvc2l0aW9uVGltZSAtIChtb3VzZU9mZnNldCAqIHRoaXMu
X3NlY29uZHNQZXJQaXhlbCk7CisgICAgICAgIHRoaXMuc2Nyb2xsU3RhcnRUaW1lID0gbW91c2VQ
b3NpdGlvblRpbWUgLSAobW91c2VPZmZzZXQgKiB0aGlzLl9kdXJhdGlvblBlclBpeGVsKTsKIAog
ICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICBldmVudC5zdG9wUHJvcGFn
YXRpb24oKTsKQEAgLTM5Niw4ICs0MTEsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmll
dy5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5lKTsKICAgICAgICAgY29uc29sZS5h
c3NlcnQoIXRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdHcmFwaHNNYXAuaGFzKHRpbWVsaW5lKSwgdGlt
ZWxpbmUpOwotCi0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5zaG91
bGRTaG93Vmlld0ZvclRpbWVsaW5lKHRpbWVsaW5lKSkKKyAgICAgICAgaWYgKCF0aGlzLmNhblNo
b3dUaW1lbGluZSh0aW1lbGluZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdmFy
IG92ZXJ2aWV3R3JhcGggPSBuZXcgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCh0
aW1lbGluZSk7CkBAIC00MTAsNyArNDI0LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZp
ZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIHRpbWVsaW5lID0gZXZlbnQuZGF0
YS50aW1lbGluZTsKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBX
ZWJJbnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5lKTsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0
b3IuVGltZWxpbmVNYW5hZ2VyLnNob3VsZFNob3dWaWV3Rm9yVGltZWxpbmUodGltZWxpbmUpKQor
ICAgICAgICBpZiAoIXRoaXMuY2FuU2hvd1RpbWVsaW5lKHRpbWVsaW5lKSkKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90aW1lbGluZU92ZXJ2aWV3
R3JhcGhzTWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKQEAgLTQyMiw3ICs0MzYsNyBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfdGltZVJh
bmdlU2VsZWN0aW9uQ2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICB0aGlz
Ll9zZWxlY3Rpb25TdGFydFRpbWVTZXR0aW5nLnZhbHVlID0gdGhpcy5zZWxlY3Rpb25TdGFydFRp
bWUgLSB0aGlzLl9zdGFydFRpbWU7CisgICAgICAgIHRoaXMuX3NlbGVjdGlvblN0YXJ0VmFsdWVT
ZXR0aW5nLnZhbHVlID0gdGhpcy5zZWxlY3Rpb25TdGFydFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7
CiAgICAgICAgIHRoaXMuX3NlbGVjdGlvbkR1cmF0aW9uU2V0dGluZy52YWx1ZSA9IHRoaXMuc2Vs
ZWN0aW9uRHVyYXRpb247CiAKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcuRXZlbnQuVGltZVJhbmdlU2VsZWN0aW9uQ2hh
bmdlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuY3NzCmluZGV4IDdlNWE0YjE5NzQx
M2Y3MTAyMWMxODAyMTIxOWI0MDYxOGY1M2NiNDguLmFhYWQyYTMxMjU1MWIxYzgxMWVlNmZlZmRl
NWRkMDMyYTRmNmNlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUuY3NzCkBAIC0y
NSw4ICsyNSw5IEBACiAKIC50aW1lbGluZS1yZWNvcmQtZnJhbWUgewogICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKLSAgICBoZWlnaHQ6IDM2cHg7CisgICAgaGVpZ2h0OiAxMDhweDsKICAgICBtaW4t
d2lkdGg6IDRweDsKKyAgICB3aWR0aDogNHB4OwogCiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIApA
QCAtMzgsMjQgKzM5LDExIEBACiAgICAgei1pbmRleDogMTsKICAgICBib3R0b206IDFweDsKICAg
ICBtaW4td2lkdGg6IDRweDsKKyAgICB3aWR0aDogMTAwJTsKIAotICAgIGJveC1zaXppbmc6IGJv
cmRlci1ib3g7Ci19Ci0KLS50aW1lbGluZS1yZWNvcmQtZnJhbWUgPiAuZHJvcHBlZCB7Ci0gICAg
cG9zaXRpb246IGFic29sdXRlOwotICAgIGJvdHRvbTogMXB4OwotICAgIHJpZ2h0OiAwOworICAg
IHBhZGRpbmctbGVmdDogMXB4OwogCi0gICAgbWluLXdpZHRoOiA2cHg7CiAgICAgYm94LXNpemlu
ZzogYm9yZGVyLWJveDsKLQotICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGll
bnQoLTQ1ZGVnLCB3aGl0ZSwgd2hpdGUgMnB4LCByZ2IoMjM0LCAyMzQsIDIzNCkgMnB4LCByZ2Io
MjM0LCAyMzQsIDIzNCkgNHB4KTsKLQotICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOwotICAg
IGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7Ci0gICAgYm9yZGVyLXdpZHRoOiAxcHg7Ci0gICAg
Ym9yZGVyLWNvbG9yOiByZ2IoMjIxLCAyMjEsIDIyMSk7CiB9CiAKIC50aW1lbGluZS1yZWNvcmQt
ZnJhbWUgPiAuZnJhbWUgPiAuZHVyYXRpb24gewpAQCAtNjMsMTMgKzUxLDcgQEAKIAogICAgIGJh
Y2tncm91bmQtY29sb3I6IHJnYigyMjEsIDIyMSwgMjIxKTsKIAotICAgIGJvcmRlci1jb2xvcjog
cmdiKDE3NiwgMTc2LCAxNzYpOwotICAgIGJvcmRlci1zdHlsZTogbm9uZSBzb2xpZCBzb2xpZCBz
b2xpZDsKLSAgICBib3JkZXItd2lkdGg6IDFweDsKLX0KLQotLnRpbWVsaW5lLXJlY29yZC1mcmFt
ZSA+IC5mcmFtZSA+IC5kdXJhdGlvbjpmaXJzdC1jaGlsZCB7Ci0gICAgYm9yZGVyLXRvcC1zdHls
ZTogc29saWQ7CisgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYigyNDUsIDI0NSwgMjQ1
KTsKIH0KIAogLnRpbWVsaW5lLXJlY29yZC1mcmFtZSA+IC5mcmFtZSA+IC5kdXJhdGlvbjpsYXN0
LWNoaWxkIHsKQEAgLTc3LDE2ICs1OSwxMyBAQAogfQogCiAudGltZWxpbmUtcmVjb3JkLWZyYW1l
ID4gLmZyYW1lID4gLmR1cmF0aW9uLnRpbWVsaW5lLXJlY29yZC10eXBlLW5ldHdvcmsgewotICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYigxMjAsIDE3NiwgMjI1KTsKLSAgICBib3JkZXItY29sb3I6
IHJnYig2MSwgMTQ3LCAyMDApOworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2MSwgMTQ3LCAy
MDApOwogfQogCiAudGltZWxpbmUtcmVjb3JkLWZyYW1lID4gLmZyYW1lID4gLmR1cmF0aW9uLnRp
bWVsaW5lLXJlY29yZC10eXBlLWxheW91dCB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIz
NCwgMTUzLCAxNTMpOwotICAgIGJvcmRlci1jb2xvcjogcmdiKDIxMiwgMTA4LCAxMDgpOworICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYigyMTIsIDEwOCwgMTA4KTsKIH0KIAogLnRpbWVsaW5lLXJl
Y29yZC1mcmFtZSA+IC5mcmFtZSA+IC5kdXJhdGlvbi50aW1lbGluZS1yZWNvcmQtdHlwZS1zY3Jp
cHQgewotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxOTAsIDE0OCwgMjMzKTsKLSAgICBib3Jk
ZXItY29sb3I6IHJnYigxNTMsIDExMywgMTg1KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
MTUzLCAxMTMsIDE4NSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRGcmFtZS5qcwppbmRleCA5
Nzg0OGU1NjhkZjhlMGEwNGRjYjg2MzEwYjk4OTQ4Njk5YTU5MmVkLi4xZWVhNjYyZWJhYjFhNDA1
MzZkMWNmYTZlNmY4ZjQzZGU4MTVlOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZEZyYW1lLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkRnJhbWUu
anMKQEAgLTIzLDcgKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZSA9IGZ1bmN0aW9uKGdyYXBo
RGF0YVNvdXJjZSwgcmVjb3JkcykKK1dlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lID0g
ZnVuY3Rpb24oZ3JhcGhEYXRhU291cmNlLCByZWNvcmQpCiB7CiAgICAgLy8gRklYTUU6IENvbnZl
cnQgdGhpcyB0byBhIFdlYkluc3BlY3Rvci5PYmplY3Qgc3ViY2xhc3MsIGFuZCBjYWxsIHN1cGVy
KCkuCiAgICAgLy8gV2ViSW5zcGVjdG9yLk9iamVjdC5jYWxsKHRoaXMpOwpAQCAtMzIsODggKzMy
LDE1IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lID0gZnVuY3Rpb24oZ3JhcGhE
YXRhU291cmNlLCByZWNvcmRzKQogICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5TdHlsZUNsYXNzTmFtZSk7CiAKICAgICB0aGlz
Ll9ncmFwaERhdGFTb3VyY2UgPSBncmFwaERhdGFTb3VyY2U7Ci0gICAgdGhpcy5yZWNvcmRzID0g
cmVjb3JkcyB8fCBbXTsKKyAgICB0aGlzLl9yZWNvcmQgPSByZWNvcmQgfHwgbnVsbDsKIH07CiAK
IC8vIEZJWE1FOiBNb3ZlIHRvIGEgV2ViSW5zcGVjdG9yLk9iamVjdCBzdWJjbGFzcyBhbmQgd2Ug
Y2FuIHJlbW92ZSB0aGlzLgogV2ViSW5zcGVjdG9yLk9iamVjdC5kZXByZWNhdGVkQWRkQ29uc3Ry
dWN0b3JGdW5jdGlvbnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUpOwogCiBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVSZWNvcmRGcmFtZS5TdHlsZUNsYXNzTmFtZSA9ICJ0aW1lbGluZS1y
ZWNvcmQtZnJhbWUiOwotV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuU2l4dHlGcHNG
cmFtZUJ1ZGdldCA9IDAuMDE2NjsKLVdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1h
eGltdW1Db21iaW5lZFdpZHRoUGl4ZWxzID0gMTI7CitXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRGcmFtZS5NYXhpbXVtV2lkdGhQaXhlbHMgPSAxNjsKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJl
Y29yZEZyYW1lLk1pbmltdW1XaWR0aFBpeGVscyA9IDQ7Ci1XZWJJbnNwZWN0b3IuVGltZWxpbmVS
ZWNvcmRGcmFtZS5NaW5pbXVtTWFyZ2luUGl4ZWxzID0gMTsKLQotV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUmVjb3JkRnJhbWUuY3JlYXRlQ29tYmluZWRGcmFtZXMgPSBmdW5jdGlvbihyZWNvcmRzLCBz
ZWNvbmRzUGVyUGl4ZWwsIGdyYXBoRGF0YVNvdXJjZSwgY3JlYXRlRnJhbWVDYWxsYmFjaykKLXsK
LSAgICBpZiAoIXJlY29yZHMubGVuZ3RoKQotICAgICAgICByZXR1cm47Ci0KLSAgICB2YXIgc3Rh
cnRUaW1lID0gZ3JhcGhEYXRhU291cmNlLnN0YXJ0VGltZTsKLSAgICB2YXIgY3VycmVudFRpbWUg
PSBncmFwaERhdGFTb3VyY2UuY3VycmVudFRpbWU7Ci0gICAgdmFyIGVuZFRpbWUgPSBncmFwaERh
dGFTb3VyY2UuZW5kVGltZTsKLQotICAgIHZhciB2aXNpYmxlUmVjb3JkcyA9IFtdOwotCi0gICAg
Zm9yICh2YXIgcmVjb3JkIG9mIHJlY29yZHMpIHsKLSAgICAgICAgaWYgKGlzTmFOKHJlY29yZC5z
dGFydFRpbWUpKQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLy8gSWYgdGhpcyBm
cmFtZSBpcyBjb21wbGV0ZWx5IGJlZm9yZSB0aGUgYm91bmRzIG9mIHRoZSBncmFwaCwgc2tpcCB0
aGlzIHJlY29yZC4KLSAgICAgICAgaWYgKHJlY29yZC5lbmRUaW1lIDwgc3RhcnRUaW1lKQotICAg
ICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLy8gSWYgdGhpcyByZWNvcmQgaXMgY29tcGxl
dGVseSBhZnRlciB0aGUgY3VycmVudCB0aW1lIG9yIGVuZCB0aW1lLCBicmVhayBvdXQgbm93Lgot
ICAgICAgICAvLyBSZWNvcmRzIGFyZSBzb3J0ZWQsIHNvIGFsbCByZWNvcmRzIGFmdGVyIHRoaXMg
d2lsbCBiZSBiZXlvbmQgdGhlIGN1cnJlbnQgb3IgZW5kIHRpbWUgdG9vLgotICAgICAgICBpZiAo
cmVjb3JkLnN0YXJ0VGltZSA+IGN1cnJlbnRUaW1lIHx8IHJlY29yZC5zdGFydFRpbWUgPiBlbmRU
aW1lKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgdmlzaWJsZVJlY29yZHMucHVzaChy
ZWNvcmQpOwotICAgIH0KLQotICAgIGlmICghdmlzaWJsZVJlY29yZHMubGVuZ3RoKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICB2YXIgbWF4aW11bUNvbWJpbmVkRnJhbWVEdXJhdGlvbiA9IHNlY29u
ZHNQZXJQaXhlbCAqIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1heGltdW1Db21i
aW5lZFdpZHRoUGl4ZWxzOwotICAgIHZhciBtaW5pbXVtRnJhbWVEdXJhdGlvbiA9IHNlY29uZHNQ
ZXJQaXhlbCAqIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1pbmltdW1XaWR0aFBp
eGVsczsKLSAgICB2YXIgbWluaW11bU1hcmdpbiA9IHNlY29uZHNQZXJQaXhlbCAqIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1pbmltdW1NYXJnaW5QaXhlbHM7Ci0KLSAgICB2YXIg
YWN0aXZlU3RhcnRUaW1lID0gTmFOOwotICAgIHZhciBhY3RpdmVFbmRUaW1lID0gTmFOOwotICAg
IHZhciBhY3RpdmVSZWNvcmRzID0gW107Ci0KLSAgICBmdW5jdGlvbiBjcmVhdGVGcmFtZUZyb21B
Y3RpdmVSZWNvcmRzKCkKLSAgICB7Ci0gICAgICAgIGNyZWF0ZUZyYW1lQ2FsbGJhY2soYWN0aXZl
UmVjb3Jkcyk7Ci0gICAgICAgIGFjdGl2ZVJlY29yZHMgPSBbXTsKLSAgICAgICAgYWN0aXZlU3Rh
cnRUaW1lID0gTmFOOwotICAgICAgICBhY3RpdmVFbmRUaW1lID0gTmFOOwotICAgIH0KLQotICAg
IGZvciAodmFyIHJlY29yZCBvZiB2aXNpYmxlUmVjb3JkcykgewotICAgICAgICAvLyBDaGVjayBp
ZiB0aGUgcHJldmlvdXMgcmVjb3JkIGlzIGZhciBlbm91Z2ggYXdheSB0byBjcmVhdGUgdGhlIGZy
YW1lLgotICAgICAgICBpZiAoIWlzTmFOKGFjdGl2ZVN0YXJ0VGltZSkgJiYgKGFjdGl2ZVN0YXJ0
VGltZSArIE1hdGgubWF4KGFjdGl2ZUVuZFRpbWUgLSBhY3RpdmVTdGFydFRpbWUsIG1pbmltdW1G
cmFtZUR1cmF0aW9uKSArIG1pbmltdW1NYXJnaW4gPD0gcmVjb3JkLnN0YXJ0VGltZSkpCi0gICAg
ICAgICAgICBjcmVhdGVGcmFtZUZyb21BY3RpdmVSZWNvcmRzKCk7Ci0KLSAgICAgICAgLy8gQ2hl
Y2sgaWYgYWN0aXZlIHJlY29yZHMgZXhjZWVkcyB0aGUgbWF4aW11bSBjb21iaW5lZCBmcmFtZSB3
aWR0aC4KLSAgICAgICAgaWYgKCFpc05hTihhY3RpdmVTdGFydFRpbWUpICYmIChhY3RpdmVFbmRU
aW1lIC0gYWN0aXZlU3RhcnRUaW1lKSA+IG1heGltdW1Db21iaW5lZEZyYW1lRHVyYXRpb24pCi0g
ICAgICAgICAgICBjcmVhdGVGcmFtZUZyb21BY3RpdmVSZWNvcmRzKCk7Ci0KLSAgICAgICAgLy8g
SWYgdGhpcyBpcyBhIG5ldyBmcmFtZSwgcGVnIHRoZSBzdGFydCB0aW1lLgotICAgICAgICBpZiAo
aXNOYU4oYWN0aXZlU3RhcnRUaW1lKSkKLSAgICAgICAgICAgIGFjdGl2ZVN0YXJ0VGltZSA9IHJl
Y29yZC5zdGFydFRpbWU7Ci0KLSAgICAgICAgLy8gVXBkYXRlIHRoZSBlbmQgdGltZSB0byBiZSB0
aGUgbWF4aW11bSB3ZSBlbmNvdW50ZXIuIGVuZFRpbWUgbWlnaHQgYmUgTmFOLCBzbyAifHwgMCIg
dG8gcHJldmVudCBNYXRoLm1heCBmcm9tIHJldHVybmluZyBOYU4uCi0gICAgICAgIGlmICghaXNO
YU4ocmVjb3JkLmVuZFRpbWUpKQotICAgICAgICAgICAgYWN0aXZlRW5kVGltZSA9IE1hdGgubWF4
KGFjdGl2ZUVuZFRpbWUgfHwgMCwgcmVjb3JkLmVuZFRpbWUpOwotCi0gICAgICAgIGFjdGl2ZVJl
Y29yZHMucHVzaChyZWNvcmQpOwotICAgIH0KLQotICAgIC8vIENyZWF0ZSB0aGUgYWN0aXZlIGZy
YW1lIGZvciB0aGUgbGFzdCByZWNvcmQgaWYgbmVlZGVkLgotICAgIGlmICghaXNOYU4oYWN0aXZl
U3RhcnRUaW1lKSkKLSAgICAgICAgY3JlYXRlRnJhbWVDYWxsYmFjayhhY3RpdmVSZWNvcmRzKTsK
LX07CiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLnByb3RvdHlwZSA9IHsKICAg
ICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUsCkBAIC0xMjYs
NjIgKzUzLDM0IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLnByb3RvdHlwZSA9
IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQ7CiAgICAgfSwKIAotICAgIGdldCBkdXJh
dGlvbigpCisgICAgZ2V0IHJlY29yZCgpCiAgICAgewotICAgICAgICBpZiAodGhpcy5yZWNvcmRz
Lmxlbmd0aCA9PT0gMCkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgIHJldHVybiB0
aGlzLnJlY29yZHMubGFzdFZhbHVlLmVuZFRpbWUgLSB0aGlzLnJlY29yZHNbMF0uc3RhcnRUaW1l
OworICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkOwogICAgIH0sCiAKLSAgICBnZXQgcmVjb3Jk
cygpCisgICAgc2V0IHJlY29yZChyZWNvcmQpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
cmVjb3JkczsKLSAgICB9LAotCi0gICAgc2V0IHJlY29yZHMocmVjb3JkcykKLSAgICB7Ci0gICAg
ICAgIHJlY29yZHMgPSByZWNvcmRzIHx8IFtdOwotCi0gICAgICAgIGlmICghKHJlY29yZHMgaW5z
dGFuY2VvZiBBcnJheSkpCi0gICAgICAgICAgICByZWNvcmRzID0gW3JlY29yZHNdOwotCi0gICAg
ICAgIHRoaXMuX3JlY29yZHMgPSByZWNvcmRzOworICAgICAgICB0aGlzLl9yZWNvcmQgPSByZWNv
cmQ7CiAgICAgfSwKIAogICAgIHJlZnJlc2goZ3JhcGhEYXRhU291cmNlKQogICAgIHsKLSAgICAg
ICAgaWYgKCF0aGlzLnJlY29yZHMgfHwgIXRoaXMucmVjb3Jkcy5sZW5ndGgpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgdmFyIGZpcnN0UmVjb3JkID0gdGhpcy5yZWNvcmRz
WzBdOwotICAgICAgICB2YXIgZnJhbWVTdGFydFRpbWUgPSBmaXJzdFJlY29yZC5zdGFydFRpbWU7
Ci0KLSAgICAgICAgLy8gSWYgdGhpcyBmcmFtZSBoYXMgbm8gdGltZSBpbmZvLCByZXR1cm4gZWFy
bHkuCi0gICAgICAgIGlmIChpc05hTihmcmFtZVN0YXJ0VGltZSkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICAgICAgdmFyIGdyYXBoU3RhcnRUaW1lID0gZ3JhcGhEYXRhU291cmNl
LnN0YXJ0VGltZTsKLSAgICAgICAgdmFyIGdyYXBoRW5kVGltZSA9IGdyYXBoRGF0YVNvdXJjZS5l
bmRUaW1lOwotICAgICAgICB2YXIgZ3JhcGhDdXJyZW50VGltZSA9IGdyYXBoRGF0YVNvdXJjZS5j
dXJyZW50VGltZTsKLQotICAgICAgICAvLyBJZiB0aGlzIGZyYW1lIGlzIGNvbXBsZXRlbHkgYWZ0
ZXIgdGhlIGN1cnJlbnQgdGltZSwgcmV0dXJuIGVhcmx5LgotICAgICAgICBpZiAoZnJhbWVTdGFy
dFRpbWUgPiBncmFwaEN1cnJlbnRUaW1lKQorICAgICAgICBpZiAoIXRoaXMuX3JlY29yZCkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICB2YXIgZnJhbWVFbmRUaW1lID0gdGhp
cy5yZWNvcmRzLmxhc3RWYWx1ZS5lbmRUaW1lOworICAgICAgICB2YXIgZnJhbWVJbmRleCA9IHRo
aXMuX3JlY29yZC5mcmFtZUluZGV4OworICAgICAgICB2YXIgZ3JhcGhTdGFydEZyYW1lSW5kZXgg
PSBNYXRoLmZsb29yKGdyYXBoRGF0YVNvdXJjZS5zdGFydFRpbWUpOworICAgICAgICB2YXIgZ3Jh
cGhFbmRGcmFtZUluZGV4ID0gZ3JhcGhEYXRhU291cmNlLmVuZFRpbWU7CiAKICAgICAgICAgLy8g
SWYgdGhpcyBmcmFtZSBpcyBjb21wbGV0ZWx5IGJlZm9yZSBvciBhZnRlciB0aGUgYm91bmRzIG9m
IHRoZSBncmFwaCwgcmV0dXJuIGVhcmx5LgotICAgICAgICBpZiAoZnJhbWVFbmRUaW1lIDwgZ3Jh
cGhTdGFydFRpbWUgfHwgZnJhbWVTdGFydFRpbWUgPiBncmFwaEVuZFRpbWUpCisgICAgICAgIGlm
IChmcmFtZUluZGV4IDwgZ3JhcGhTdGFydEZyYW1lSW5kZXggfHwgZnJhbWVJbmRleCA+IGdyYXBo
RW5kRnJhbWVJbmRleCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICB2YXIg
Z3JhcGhEdXJhdGlvbiA9IGdyYXBoRW5kVGltZSAtIGdyYXBoU3RhcnRUaW1lOwotICAgICAgICB2
YXIgcmVjb3JkTGVmdFBvc2l0aW9uID0gKGZyYW1lU3RhcnRUaW1lIC0gZ3JhcGhTdGFydFRpbWUp
IC8gZ3JhcGhEdXJhdGlvbjsKLSAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKHRo
aXMuX2VsZW1lbnQsIHJlY29yZExlZnRQb3NpdGlvbiwgImxlZnQiKTsKLQotICAgICAgICB2YXIg
cmVjb3JkV2lkdGggPSAoZnJhbWVFbmRUaW1lIC0gZnJhbWVTdGFydFRpbWUpIC8gZ3JhcGhEdXJh
dGlvbjsKLSAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKHRoaXMuX2VsZW1lbnQs
IHJlY29yZFdpZHRoLCAid2lkdGgiKTsKKyAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS53aWR0
aCA9ICgxIC8gZ3JhcGhEYXRhU291cmNlLnRpbWVsaW5lT3ZlcnZpZXcuc2Vjb25kc1BlclBpeGVs
KSArICJweCI7CiAKKyAgICAgICAgdmFyIGdyYXBoRHVyYXRpb24gPSBncmFwaERhdGFTb3VyY2Uu
ZW5kVGltZSAtIGdyYXBoRGF0YVNvdXJjZS5zdGFydFRpbWUKKyAgICAgICAgdmFyIHJlY29yZExl
ZnRQb3NpdGlvbiA9IChmcmFtZUluZGV4IC0gZ3JhcGhEYXRhU291cmNlLnN0YXJ0VGltZSkgLyBn
cmFwaER1cmF0aW9uOworICAgICAgICB0aGlzLl91cGRhdGVFbGVtZW50UG9zaXRpb24odGhpcy5f
ZWxlbWVudCwgcmVjb3JkTGVmdFBvc2l0aW9uLCAibGVmdCIpOwogICAgICAgICB0aGlzLl91cGRh
dGVDaGlsZEVsZW1lbnRzKGdyYXBoRGF0YVNvdXJjZSk7CiAKICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC0xOTMsNzIgKzkyLDQwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLnBy
b3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQ2hpbGRyZW4o
KTsKIAotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnJlY29yZHMubGVuZ3RoKTsKLSAgICAg
ICAgaWYgKCF0aGlzLnJlY29yZHMubGVuZ3RoKQorICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlz
Ll9yZWNvcmQpOworICAgICAgICBpZiAoIXRoaXMuX3JlY29yZCkKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICBpZiAoZ3JhcGhEYXRhU291cmNlLmdyYXBoSGVpZ2h0U2Vjb25kcyA9PT0g
MCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAvLyBXaGVuIGNvbWJpbmluZyBtdWx0
aXBsZSByZWNvcmRzIGludG8gYSBmcmFtZSwgZGlzcGxheSB0aGUgcmVjb3JkIHdpdGggdGhlIGxv
bmdlc3QgZHVyYXRpb24gcmF0aGVyIHRoYW4gYXZlcmFnaW5nLgotICAgICAgICB2YXIgZGlzcGxh
eVJlY29yZCA9IHRoaXMucmVjb3Jkcy5yZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwgY3Vy
cmVudFZhbHVlKSB7Ci0gICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlLmR1cmF0aW9uID49
IHByZXZpb3VzVmFsdWUuZHVyYXRpb24gPyBjdXJyZW50VmFsdWUgOiBwcmV2aW91c1ZhbHVlOwot
ICAgICAgICB9KTsKLQogICAgICAgICB2YXIgZnJhbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CiAgICAgICAgIGZyYW1lRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJmcmFt
ZSIpOwogICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGZyYW1lRWxlbWVudCk7CiAK
LSAgICAgICAgdmFyIGZyYW1lSGVpZ2h0ID0gZGlzcGxheVJlY29yZC5kdXJhdGlvbiAvIGdyYXBo
RGF0YVNvdXJjZS5ncmFwaEhlaWdodFNlY29uZHM7CisgICAgICAgIHZhciBmcmFtZUhlaWdodCA9
IHRoaXMuX3JlY29yZC5kdXJhdGlvbiAvIGdyYXBoRGF0YVNvdXJjZS5ncmFwaEhlaWdodFNlY29u
ZHM7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUVsZW1lbnRQb3NpdGlvbihmcmFtZUVsZW1lbnQsIGZy
YW1lSGVpZ2h0LCAiaGVpZ2h0Iik7CiAKICAgICAgICAgZnVuY3Rpb24gY3JlYXRlRHVyYXRpb25F
bGVtZW50KGR1cmF0aW9uLCByZWNvcmRUeXBlKQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIg
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgdGhp
cy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKGVsZW1lbnQsIGR1cmF0aW9uIC8gZGlzcGxheVJlY29y
ZC5kdXJhdGlvbiwgImhlaWdodCIpOworICAgICAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBv
c2l0aW9uKGVsZW1lbnQsIGR1cmF0aW9uIC8gdGhpcy5fcmVjb3JkLmR1cmF0aW9uLCAiaGVpZ2h0
Iik7CiAgICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoImR1cmF0aW9uIik7CiAgICAg
ICAgICAgICBpZiAocmVjb3JkVHlwZSkKICAgICAgICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlz
dC5hZGQocmVjb3JkVHlwZSk7CiAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgICAgICAg
fQogCi0gICAgICAgIGlmIChkaXNwbGF5UmVjb3JkLmR1cmF0aW9uUmVtYWluZGVyID4gMCkKLSAg
ICAgICAgICAgIGZyYW1lRWxlbWVudC5hcHBlbmRDaGlsZChjcmVhdGVEdXJhdGlvbkVsZW1lbnQu
Y2FsbCh0aGlzLCBkaXNwbGF5UmVjb3JkLmR1cmF0aW9uUmVtYWluZGVyKSk7CisgICAgICAgIGlm
ICh0aGlzLl9yZWNvcmQuZHVyYXRpb25SZW1haW5kZXIgPiAwKQorICAgICAgICAgICAgZnJhbWVF
bGVtZW50LmFwcGVuZENoaWxkKGNyZWF0ZUR1cmF0aW9uRWxlbWVudC5jYWxsKHRoaXMsIHRoaXMu
X3JlY29yZC5kdXJhdGlvblJlbWFpbmRlcikpOwogCiAgICAgICAgIGZvciAodmFyIHR5cGUgaW4g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUpIHsKICAgICAgICAgICAgIHZhciByZWNv
cmRUeXBlID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGVbdHlwZV07Ci0gICAgICAg
ICAgICB2YXIgZHVyYXRpb24gPSBkaXNwbGF5UmVjb3JkLmR1cmF0aW9uRm9yUmVjb3JkcyhyZWNv
cmRUeXBlKTsKKyAgICAgICAgICAgIHZhciBkdXJhdGlvbiA9IHRoaXMuX3JlY29yZC5kdXJhdGlv
bkZvclJlY29yZHMocmVjb3JkVHlwZSk7CiAgICAgICAgICAgICBpZiAoZHVyYXRpb24gPT09IDAp
CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBmcmFtZUVsZW1lbnQuYXBw
ZW5kQ2hpbGQoY3JlYXRlRHVyYXRpb25FbGVtZW50LmNhbGwodGhpcywgZHVyYXRpb24sIHJlY29y
ZFR5cGUpKTsKICAgICAgICAgfQotCi0gICAgICAgIC8vIEFkZCAiaW5jbHVkZXMtZHJvcHBlZCIg
c3R5bGUgY2xhc3MgaWYgbXVsdGlwbGUgcmVjb3JkcyBhcmUgYmVpbmcgY29tYmluZWQgaW4gdGhl
IGZyYW1lLAotICAgICAgICAvLyBhbmQgb25lIG9mIHRob3NlIHJlY29yZHMgZXhjZWVkcyB0aGUg
NjAgZnBzIGZyYW1lIGJ1ZGdldC4KLSAgICAgICAgaWYgKHRoaXMucmVjb3Jkcy5sZW5ndGggPiAx
ICYmIGRpc3BsYXlSZWNvcmQuZHVyYXRpb24gPiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRG
cmFtZS5TaXh0eUZwc0ZyYW1lQnVkZ2V0KQotICAgICAgICAgICAgZnJhbWVFbGVtZW50LmNsYXNz
TGlzdC5hZGQoImluY2x1ZGVzLWRyb3BwZWQiKTsKLQotICAgICAgICAvLyBJZiB0aGUgZGlzcGxh
eSByZWNvcmQgaXMgdGhlIGxhc3QgY29tYmluZWQgcmVjb3JkIGFuZCBhbHNvIGV4Y2VlZHMgdGhl
IDYwIGZwcyBidWRnZXQsCi0gICAgICAgIC8vIGFkZCBhICJkcm9wcGVkIiBlbGVtZW50IHRvIHRo
ZSByaWdodCBvZiB0aGUgZnJhbWUuCi0gICAgICAgIHZhciBmcmFtZVdpZHRoID0gMTsKLSAgICAg
ICAgdmFyIHNlY29uZHNQZXJQaXhlbCA9IHRoaXMuX2dyYXBoRGF0YVNvdXJjZS50aW1lbGluZU92
ZXJ2aWV3LnNlY29uZHNQZXJQaXhlbDsKLSAgICAgICAgdmFyIG1pbmltdW1SZWNvcmREdXJhdGlv
biA9IHNlY29uZHNQZXJQaXhlbCAqIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZEZyYW1lLk1p
bmltdW1XaWR0aFBpeGVscyAqIDI7ICAgIC8vIENvbWJpbmUgbWluaW11bSB3aWR0aHMgb2YgdGhl
IGZyYW1lIGVsZW1lbnQgYW5kIGRyb3BwZWQgZWxlbWVudC4KLQotICAgICAgICBpZiAoZGlzcGxh
eVJlY29yZCA9PT0gdGhpcy5yZWNvcmRzLmxhc3RWYWx1ZSAmJiBkaXNwbGF5UmVjb3JkLmR1cmF0
aW9uID4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuU2l4dHlGcHNGcmFtZUJ1ZGdl
dCAmJiBkaXNwbGF5UmVjb3JkLmR1cmF0aW9uID49IG1pbmltdW1SZWNvcmREdXJhdGlvbikgewot
ICAgICAgICAgICAgdmFyIG92ZXJmbG93RHVyYXRpb24gPSBkaXNwbGF5UmVjb3JkLmR1cmF0aW9u
IC0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkRnJhbWUuU2l4dHlGcHNGcmFtZUJ1ZGdldDsK
LSAgICAgICAgICAgIHZhciBkcm9wcGVkRWxlbWVudFdpZHRoID0gb3ZlcmZsb3dEdXJhdGlvbiAv
IGRpc3BsYXlSZWNvcmQuZHVyYXRpb247Ci0gICAgICAgICAgICBmcmFtZVdpZHRoIC09IGRyb3Bw
ZWRFbGVtZW50V2lkdGg7Ci0KLSAgICAgICAgICAgIHZhciBkcm9wcGVkRWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICAgICAgZHJvcHBlZEVsZW1lbnQuY2xh
c3NOYW1lID0gImRyb3BwZWQiOwotCi0gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENo
aWxkKGRyb3BwZWRFbGVtZW50KTsKLQotICAgICAgICAgICAgdGhpcy5fdXBkYXRlRWxlbWVudFBv
c2l0aW9uKGRyb3BwZWRFbGVtZW50LCBmcmFtZUhlaWdodCwgImhlaWdodCIpOwotICAgICAgICAg
ICAgdGhpcy5fdXBkYXRlRWxlbWVudFBvc2l0aW9uKGRyb3BwZWRFbGVtZW50LCBkcm9wcGVkRWxl
bWVudFdpZHRoLCAid2lkdGgiKTsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuX3VwZGF0ZUVs
ZW1lbnRQb3NpdGlvbihmcmFtZUVsZW1lbnQsIGZyYW1lV2lkdGgsICJ3aWR0aCIpOwogICAgIH0s
CiAKICAgICBfdXBkYXRlRWxlbWVudFBvc2l0aW9uKGVsZW1lbnQsIG5ld1Bvc2l0aW9uLCBwcm9w
ZXJ0eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCmlu
ZGV4IGU1MjNiZTkyMWJlOGY4MDM0MmQyZWM2NGQ3MWY4YWI4OWE5Y2MzMjIuLjRhNzc5ZmU1NGY4
ODFmODk5ZGVhNzZjNzk4ZDE4MjQxYjg5YzcwNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwpAQCAtMzYsOSArMzYsMTQgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcgPSBmdW5jdGlvbihyZWNvcmRpbmcsIGV4dHJh
QXJndW1lbnRzKQogCiAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcuU3R5bGVDbGFzc05hbWUpOwogCi0gICAgdGhp
cy5fdGltZWxpbmVPdmVydmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyh0
aGlzLl9yZWNvcmRpbmcpOwotICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudC5UaW1lUmFuZ2VTZWxlY3Rp
b25DaGFuZ2VkLCB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzKTsKLSAgICB0
aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fdGltZWxpbmVPdmVydmlldy5lbGVtZW50KTsK
KyAgICB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3ID0gbmV3IFdlYkluc3BlY3Rvci5MaW5l
YXJUaW1lbGluZU92ZXJ2aWV3KHRoaXMuX3JlY29yZGluZyk7CisgICAgdGhpcy5fbGluZWFyVGlt
ZWxpbmVPdmVydmlldy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2
aWV3LkV2ZW50LlRpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQsIHRoaXMuX3RpbWVSYW5nZVNlbGVj
dGlvbkNoYW5nZWQsIHRoaXMpOworCisgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUaW1lbGluZU92
ZXJ2aWV3ID0gbmV3IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXco
dGhpcy5fcmVjb3JkaW5nKTsKKyAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZp
ZXcuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5FdmVudC5U
aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkLCB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2Vk
LCB0aGlzKTsKKworICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3ID0gdGhpcy5fbGlu
ZWFyVGltZWxpbmVPdmVydmlldzsKKyAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5f
Y3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudCk7CiAKICAgICB0aGlzLl9jb250ZW50Vmll
d0NvbnRhaW5lciA9IG5ldyBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXdDb250YWluZXIoKTsKICAg
ICB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5Db250ZW50Vmlld0NvbnRhaW5lci5FdmVudC5DdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2Us
IHRoaXMuX2N1cnJlbnRDb250ZW50Vmlld0RpZENoYW5nZSwgdGhpcyk7CkBAIC01NCw3ICs1OSw3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0gZnVuY3Rpb24o
cmVjb3JkaW5nLCBleHRyYUFyZ3VtZW50cykKICAgICB0aGlzLl9jbGVhclRpbWVsaW5lTmF2aWdh
dGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fY2xlYXJUaW1lbGluZSwgdGhpcyk7CiAKICAgICB0aGlz
Ll9vdmVydmlld1RpbWVsaW5lVmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGlu
ZVZpZXcocmVjb3JkaW5nLCB7dGltZWxpbmVTaWRlYmFyUGFuZWw6IHRoaXMuX3RpbWVsaW5lU2lk
ZWJhclBhbmVsfSk7Ci0gICAgdGhpcy5fb3ZlcnZpZXdUaW1lbGluZVZpZXcuc2Vjb25kc1BlclBp
eGVsID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7CisgICAgdGhpcy5f
b3ZlcnZpZXdUaW1lbGluZVZpZXcuc2Vjb25kc1BlclBpeGVsID0gdGhpcy5fbGluZWFyVGltZWxp
bmVPdmVydmlldy5zZWNvbmRzUGVyUGl4ZWw7CiAKICAgICB0aGlzLl90aW1lbGluZVZpZXdNYXAg
PSBuZXcgTWFwOwogICAgIHRoaXMuX3BhdGhDb21wb25lbnRNYXAgPSBuZXcgTWFwOwpAQCAtMTY2
LDcgKzE3MSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnBy
b3RvdHlwZSA9IHsKIAogICAgIHNob3duOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlz
Ll90aW1lbGluZU92ZXJ2aWV3LnNob3duKCk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGlu
ZU92ZXJ2aWV3LnNob3duKCk7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLnNo
b3duKCk7CiAgICAgICAgIHRoaXMuX2NsZWFyVGltZWxpbmVOYXZpZ2F0aW9uSXRlbS5lbmFibGVk
ID0gdGhpcy5fcmVjb3JkaW5nLmlzV3JpdGFibGUoKTsKIApAQCAtMTc2LDcgKzE4MSw3IEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKIAog
ICAgIGhpZGRlbjogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVy
dmlldy5oaWRkZW4oKTsKKyAgICAgICAgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuaGlk
ZGVuKCk7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyLmhpZGRlbigpOwogCiAg
ICAgICAgIGlmICh0aGlzLl91cGRhdGluZykKQEAgLTIxNiw3ICsyMjEsNyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAKICAgICB1cGRh
dGVMYXlvdXQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZp
ZXcudXBkYXRlTGF5b3V0Rm9yUmVzaXplKCk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGlu
ZU92ZXJ2aWV3LnVwZGF0ZUxheW91dEZvclJlc2l6ZSgpOwogCiAgICAgICAgIHZhciBjdXJyZW50
Q29udGVudFZpZXcgPSB0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5jdXJyZW50Q29udGVudFZp
ZXc7CiAgICAgICAgIGlmIChjdXJyZW50Q29udGVudFZpZXcpCkBAIC0yMzcsNyArMjQyLDYgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewog
ICAgIHJlc3RvcmVGcm9tQ29va2llOiBmdW5jdGlvbihjb29raWUpCiAgICAgewogICAgICAgICB2
YXIgdGltZWxpbmVUeXBlID0gY29va2llW1dlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0Nv
bnRlbnRWaWV3LlNlbGVjdGVkVGltZWxpbmVUeXBlQ29va2llS2V5XTsKLQogICAgICAgICBpZiAo
dGltZWxpbmVUeXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmll
dy5PdmVydmlld1RpbWVsaW5lVmlld0Nvb2tpZVZhbHVlKQogICAgICAgICAgICAgdGhpcy5zaG93
T3ZlcnZpZXdUaW1lbGluZVZpZXcoKTsKICAgICAgICAgZWxzZQpAQCAtMjU3LDEwICsyNjEsMjcg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0g
ewogICAgICAgICBpZiAodGhpcy5jdXJyZW50VGltZWxpbmVWaWV3ICYmICF0aGlzLmN1cnJlbnRU
aW1lbGluZVZpZXcubWF0Y2hUcmVlRWxlbWVudEFnYWluc3RDdXN0b21GaWx0ZXJzKHRyZWVFbGVt
ZW50KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICB2YXIgc3RhcnRUaW1l
ID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWU7Ci0gICAgICAgIHZh
ciBlbmRUaW1lID0gdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgKyB0
aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOworICAgICAgICB2YXIgc3Rh
cnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1l
OworICAgICAgICB2YXIgZW5kVGltZSA9IHN0YXJ0VGltZSArIHRoaXMuX2N1cnJlbnRUaW1lbGlu
ZU92ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOwogICAgICAgICB2YXIgY3VycmVudFRpbWUgPSB0
aGlzLl9jdXJyZW50VGltZSB8fCB0aGlzLl9yZWNvcmRpbmcuc3RhcnRUaW1lOwogCisgICAgICAg
IGlmICh0aGlzLl90aW1lbGluZVNpZGViYXJQYW5lbC52aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9y
LlRpbWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykgeworICAgICAg
ICAgICAgdmFyIHRpbWVsaW5lID0gdGhpcy5fZ2V0UmVuZGVyaW5nRnJhbWVUaW1lbGluZSgpOwor
ICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUpOworCisgICAgICAgICAgICBpZiAo
dGltZWxpbmUgJiYgdGltZWxpbmUucmVjb3Jkcy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICB2
YXIgc3RhcnRJbmRleCA9IE1hdGguZmxvb3Ioc3RhcnRUaW1lKTsKKyAgICAgICAgICAgICAgICBp
ZiAoc3RhcnRJbmRleCA+PSB0aW1lbGluZS5yZWNvcmRzLmxlbmd0aCkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgdmFyIGVuZEluZGV4ID0gTWF0
aC5taW4oTWF0aC5mbG9vcihlbmRUaW1lKSwgdGltZWxpbmUucmVjb3Jkcy5sZW5ndGggLSAxKTsK
KyAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChzdGFydEluZGV4IDw9IGVuZEluZGV4LCBz
dGFydEluZGV4KTsKKworICAgICAgICAgICAgICAgIHN0YXJ0VGltZSA9IHRpbWVsaW5lLnJlY29y
ZHNbc3RhcnRJbmRleF0uc3RhcnRUaW1lOworICAgICAgICAgICAgICAgIGVuZFRpbWUgPSB0aW1l
bGluZS5yZWNvcmRzW2VuZEluZGV4XS5lbmRUaW1lOworICAgICAgICAgICAgfQorICAgICAgICB9
CisKICAgICAgICAgZnVuY3Rpb24gY2hlY2tUaW1lQm91bmRzKGl0ZW1TdGFydFRpbWUsIGl0ZW1F
bmRUaW1lKQogICAgICAgICB7CiAgICAgICAgICAgICBpdGVtU3RhcnRUaW1lID0gaXRlbVN0YXJ0
VGltZSB8fCBjdXJyZW50VGltZTsKQEAgLTMxMiwxNiArMzMzLDMyIEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIF9jdXJyZW50
Q29udGVudFZpZXdEaWRDaGFuZ2U6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKKyAgICAgICAgdmFy
IG5ld1RpbWVsaW5lT3ZlcnZpZXcgPSB0aGlzLl9saW5lYXJUaW1lbGluZU92ZXJ2aWV3OwogICAg
ICAgICB2YXIgdGltZWxpbmVWaWV3ID0gdGhpcy5jdXJyZW50VGltZWxpbmVWaWV3OwogICAgICAg
ICBpZiAodGltZWxpbmVWaWV3KSB7CiAgICAgICAgICAgICB0aGlzLl90aW1lbGluZVNpZGViYXJQ
YW5lbC5jb250ZW50VHJlZU91dGxpbmUgPSB0aW1lbGluZVZpZXcubmF2aWdhdGlvblNpZGViYXJU
cmVlT3V0bGluZTsKICAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lkZWJhclBhbmVsLmNvbnRl
bnRUcmVlT3V0bGluZUxhYmVsID0gdGltZWxpbmVWaWV3Lm5hdmlnYXRpb25TaWRlYmFyVHJlZU91
dGxpbmVMYWJlbDsKIAotICAgICAgICAgICAgdGltZWxpbmVWaWV3LnN0YXJ0VGltZSA9IHRoaXMu
X3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lOwotICAgICAgICAgICAgdGltZWxp
bmVWaWV3LmVuZFRpbWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0VGlt
ZSArIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CisgICAgICAgICAg
ICBpZiAodGltZWxpbmVWaWV3LnJlcHJlc2VudGVkT2JqZWN0LnR5cGUgPT09IFdlYkluc3BlY3Rv
ci5UaW1lbGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAgICAgICAgIG5l
d1RpbWVsaW5lT3ZlcnZpZXcgPSB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXc7
CisKKyAgICAgICAgICAgIHRpbWVsaW5lVmlldy5zdGFydFRpbWUgPSBuZXdUaW1lbGluZU92ZXJ2
aWV3LnNlbGVjdGlvblN0YXJ0VGltZTsKKyAgICAgICAgICAgIHRpbWVsaW5lVmlldy5lbmRUaW1l
ID0gbmV3VGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgKyBuZXdUaW1lbGluZU92
ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOwogICAgICAgICAgICAgdGltZWxpbmVWaWV3LmN1cnJl
bnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWU7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAobmV3
VGltZWxpbmVPdmVydmlldyAhPT0gdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcpIHsKKyAg
ICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LmhpZGRlbigpOworCisgICAg
ICAgICAgICB0aGlzLmVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5ld1RpbWVsaW5lT3ZlcnZpZXcuZWxl
bWVudCwgdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudCk7CisgICAgICAgICAg
ICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcu
ZWxlbWVudCk7CisKKyAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3ID0g
bmV3VGltZWxpbmVPdmVydmlldzsKKyAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92
ZXJ2aWV3LnNob3duKCk7CisKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVRpbWVsaW5lT3ZlcnZp
ZXdIZWlnaHQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5TZWxlY3Rpb25QYXRoQ29tcG9u
ZW50c0RpZENoYW5nZSk7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5Db250ZW50Vmlldy5FdmVudC5OYXZpZ2F0aW9uSXRlbXNEaWRDaGFuZ2UpOwog
ICAgIH0sCkBAIC0zNzUsMTAgKzQxMiwxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRp
bmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgX3VwZGF0ZVRpbWVzOiBmdW5jdGlvbihz
dGFydFRpbWUsIGN1cnJlbnRUaW1lLCBlbmRUaW1lKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMu
X3N0YXJ0VGltZU5lZWRzUmVzZXQgJiYgIWlzTmFOKHN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAg
IHZhciBzZWxlY3Rpb25PZmZzZXQgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0
YXJ0VGltZSAtIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc3RhcnRUaW1lOworICAgICAgICAgICAg
dmFyIHNlbGVjdGlvbk9mZnNldCA9IHRoaXMuX2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0
aW9uU3RhcnRUaW1lIC0gdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5zdGFydFRpbWU7CiAK
LSAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuc3RhcnRUaW1lID0gc3RhcnRUaW1l
OwotICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUg
PSBzdGFydFRpbWUgKyBzZWxlY3Rpb25PZmZzZXQ7CisgICAgICAgICAgICB0aGlzLl9saW5lYXJU
aW1lbGluZU92ZXJ2aWV3LnN0YXJ0VGltZSA9IHN0YXJ0VGltZTsKKyAgICAgICAgICAgIHRoaXMu
X2xpbmVhclRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lID0gc3RhcnRUaW1lICsg
c2VsZWN0aW9uT2Zmc2V0OwogCiAgICAgICAgICAgICB0aGlzLl9vdmVydmlld1RpbWVsaW5lVmll
dy56ZXJvVGltZSA9IHN0YXJ0VGltZTsKICAgICAgICAgICAgIGZvciAodmFyIHRpbWVsaW5lVmll
dyBvZiB0aGlzLl90aW1lbGluZVZpZXdNYXAudmFsdWVzKCkpCkBAIC0zODcsMTcgKzQyNCwyMSBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fc3RhcnRUaW1lTmVlZHNSZXNldDsKICAgICAgICAg
fQogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuZW5kVGltZSA9IE1hdGgubWF4KGVu
ZFRpbWUsIGN1cnJlbnRUaW1lKTsKKyAgICAgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmll
dy5lbmRUaW1lID0gTWF0aC5tYXgoZW5kVGltZSwgY3VycmVudFRpbWUpOwogCiAgICAgICAgIHRo
aXMuX2N1cnJlbnRUaW1lID0gY3VycmVudFRpbWU7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3Zl
cnZpZXcuY3VycmVudFRpbWUgPSBjdXJyZW50VGltZTsKKyAgICAgICAgdGhpcy5fbGluZWFyVGlt
ZWxpbmVPdmVydmlldy5jdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lOwogICAgICAgICBpZiAodGhp
cy5jdXJyZW50VGltZWxpbmVWaWV3KQogICAgICAgICAgICAgdGhpcy5jdXJyZW50VGltZWxpbmVW
aWV3LmN1cnJlbnRUaW1lID0gY3VycmVudFRpbWU7CiAKKyAgICAgICAgdmFyIHRpbWVsaW5lID0g
dGhpcy5fZ2V0UmVuZGVyaW5nRnJhbWVUaW1lbGluZSgpOworICAgICAgICBpZiAodGltZWxpbmUp
CisgICAgICAgICAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuZW5kVGlt
ZSA9IHRpbWVsaW5lLnJlY29yZHMubGVuZ3RoOworCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2lk
ZWJhclBhbmVsLnVwZGF0ZUZpbHRlcigpOwogCiAgICAgICAgIC8vIEZvcmNlIGEgbGF5b3V0IG5v
dyBzaW5jZSB3ZSBhcmUgYWxyZWFkeSBpbiBhbiBhbmltYXRpb24gZnJhbWUgYW5kIGRvbid0IG5l
ZWQgdG8gZGVsYXkgaXQgdW50aWwgdGhlIG5leHQuCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3Zl
cnZpZXcudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgdGhpcy5fY3VycmVudFRpbWVs
aW5lT3ZlcnZpZXcudXBkYXRlTGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgaWYgKHRoaXMuY3Vy
cmVudFRpbWVsaW5lVmlldykKICAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy51
cGRhdGVMYXlvdXRJZk5lZWRlZCgpOwogICAgIH0sCkBAIC00ODksNiArNTMwLDM5IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgdGhpcy5fcmVjb3JkaW5nLnJlc2V0KCk7CiAgICAgfSwKIAorICAgIF91cGRhdGVUaW1lbGlu
ZU92ZXJ2aWV3SGVpZ2h0OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBjb25zdCB0aW1lbGlu
ZUhlaWdodCA9IDM2OworICAgICAgICBjb25zdCByZW5kZXJpbmdGcmFtZXNUaW1lbGluZUhlaWdo
dCA9IDEwODsKKyAgICAgICAgY29uc3QgcnVsZXJIZWlnaHQgPSAyOTsKKworICAgICAgICB2YXIg
b3ZlcnZpZXdIZWlnaHQ7CisKKyAgICAgICAgaWYgKHRoaXMuY3VycmVudFRpbWVsaW5lVmlldyAm
JiB0aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcucmVwcmVzZW50ZWRPYmplY3QudHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkLlR5cGUuUmVuZGVyaW5nRnJhbWUpCisgICAgICAgICAg
ICBvdmVydmlld0hlaWdodCA9IHJlbmRlcmluZ0ZyYW1lc1RpbWVsaW5lSGVpZ2h0OworICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIHZhciB0aW1lbGluZUNvdW50ID0gdGhpcy5fdGltZWxpbmVW
aWV3TWFwLnNpemU7CisgICAgICAgICAgICBpZiAodGhpcy5fZ2V0UmVuZGVyaW5nRnJhbWVUaW1l
bGluZSgpKQorICAgICAgICAgICAgICAgIHRpbWVsaW5lQ291bnQtLTsKKworICAgICAgICAgICAg
b3ZlcnZpZXdIZWlnaHQgPSB0aW1lbGluZUNvdW50ICogdGltZWxpbmVIZWlnaHQ7CisgICAgICAg
IH0KKworICAgICAgICB2YXIgc3R5bGVWYWx1ZSA9IChydWxlckhlaWdodCArIG92ZXJ2aWV3SGVp
Z2h0KSArICJweCI7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LmVsZW1l
bnQuc3R5bGUuaGVpZ2h0ID0gc3R5bGVWYWx1ZTsKKyAgICAgICAgdGhpcy5fY29udGVudFZpZXdD
b250YWluZXIuZWxlbWVudC5zdHlsZS50b3AgPSBzdHlsZVZhbHVlOworICAgIH0sCisKKyAgICBf
Z2V0UmVuZGVyaW5nRnJhbWVUaW1lbGluZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZm9y
ICh2YXIgdGltZWxpbmUgb2YgdGhpcy5fdGltZWxpbmVWaWV3TWFwLmtleXMoKSkgeworICAgICAg
ICAgICAgaWYgKHRpbWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5U
eXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAgICAgICAgIHJldHVybiB0aW1lbGluZTsKKyAg
ICAgICAgfQorCisgICAgICAgIHJldHVybiBudWxsOworICAgIH0sCisKICAgICBfdGltZWxpbmVB
ZGRlZDogZnVuY3Rpb24odGltZWxpbmVPckV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIHRpbWVs
aW5lID0gdGltZWxpbmVPckV2ZW50OwpAQCAtNDk2LDkgKzU3MCw2IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRp
bWVsaW5lID0gdGltZWxpbmVPckV2ZW50LmRhdGEudGltZWxpbmU7CiAKICAgICAgICAgY29uc29s
ZS5hc3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmUsIHRpbWVs
aW5lKTsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnNob3VsZFNo
b3dWaWV3Rm9yVGltZWxpbmUodGltZWxpbmUpKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLl90aW1lbGluZVZpZXdNYXAuaGFzKHRpbWVsaW5lKSwg
dGltZWxpbmUpOwogCiAgICAgICAgIHRoaXMuX3RpbWVsaW5lVmlld01hcC5zZXQodGltZWxpbmUs
IG5ldyBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcodGltZWxpbmUsIHt0aW1lbGluZVNpZGViYXJQ
YW5lbDogdGhpcy5fdGltZWxpbmVTaWRlYmFyUGFuZWx9KSk7CkBAIC01MTQsOSArNTg1LDYgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgdmFyIHRpbWVsaW5lID0gZXZlbnQuZGF0YS50aW1lbGluZTsKICAgICAg
ICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxp
bmUsIHRpbWVsaW5lKTsKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2Vy
LnNob3VsZFNob3dWaWV3Rm9yVGltZWxpbmUodGltZWxpbmUpKQotICAgICAgICAgICAgcmV0dXJu
OwotCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3RpbWVsaW5lVmlld01hcC5oYXModGlt
ZWxpbmUpLCB0aW1lbGluZSk7CiAKICAgICAgICAgdmFyIHRpbWVsaW5lVmlldyA9IHRoaXMuX3Rp
bWVsaW5lVmlld01hcC50YWtlKHRpbWVsaW5lKTsKQEAgLTU0MCwxMSArNjA4LDcgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgcHJldmlvdXNQYXRoQ29tcG9uZW50ID0gcGF0aENvbXBvbmVudDsKICAgICAgICAgfQog
Ci0gICAgICAgIHZhciB0aW1lbGluZUNvdW50ID0gdGhpcy5fdGltZWxpbmVWaWV3TWFwLnNpemU7
Ci0gICAgICAgIGNvbnN0IHRpbWVsaW5lSGVpZ2h0ID0gMzY7Ci0gICAgICAgIGNvbnN0IGV4dHJh
T2Zmc2V0ID0gMjI7Ci0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcuZWxlbWVudC5zdHls
ZS5oZWlnaHQgPSAodGltZWxpbmVDb3VudCAqIHRpbWVsaW5lSGVpZ2h0ICsgZXh0cmFPZmZzZXQp
ICsgInB4IjsKLSAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuZWxlbWVudC5zdHls
ZS50b3AgPSAodGltZWxpbmVDb3VudCAqIHRpbWVsaW5lSGVpZ2h0ICsgZXh0cmFPZmZzZXQpICsg
InB4IjsKKyAgICAgICAgdGhpcy5fdXBkYXRlVGltZWxpbmVPdmVydmlld0hlaWdodCgpOwogICAg
IH0sCiAKICAgICBfcmVjb3JkaW5nUmVzZXQ6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtNTYzLDcgKzYy
Nyw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgdGhpcy5fcmVjb3JkaW5nLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUmVjb3JkaW5nLkV2ZW50LlRpbWVzVXBkYXRlZCwgdGhpcy5fcmVjb3Jk
aW5nVGltZXNVcGRhdGVkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fd2FpdGluZ1RvUmVzZXRDdXJy
ZW50VGltZSA9IGZhbHNlOwogCi0gICAgICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXcucmVzZXQo
KTsKKyAgICAgICAgdGhpcy5fbGluZWFyVGltZWxpbmVPdmVydmlldy5yZXNldCgpOworICAgICAg
ICB0aGlzLl9yZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcucmVzZXQoKTsKICAgICAgICAg
dGhpcy5fb3ZlcnZpZXdUaW1lbGluZVZpZXcucmVzZXQoKTsKICAgICAgICAgZm9yICh2YXIgdGlt
ZWxpbmVWaWV3IG9mIHRoaXMuX3RpbWVsaW5lVmlld01hcC52YWx1ZXMoKSkKICAgICAgICAgICAg
IHRpbWVsaW5lVmlldy5yZXNldCgpOwpAQCAtNTgwLDEwICs2NDUsMTEgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgIF90aW1lUmFu
Z2VTZWxlY3Rpb25DaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLmN1cnJlbnRUaW1lbGluZVZpZXcpIHsKLSAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVs
aW5lVmlldy5zdGFydFRpbWUgPSB0aGlzLl90aW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlvblN0YXJ0
VGltZTsKLSAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5lbmRUaW1lID0gdGhp
cy5fdGltZWxpbmVPdmVydmlldy5zZWxlY3Rpb25TdGFydFRpbWUgKyB0aGlzLl90aW1lbGluZU92
ZXJ2aWV3LnNlbGVjdGlvbkR1cmF0aW9uOworICAgICAgICAgICAgdGhpcy5jdXJyZW50VGltZWxp
bmVWaWV3LnN0YXJ0VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lbGluZU92ZXJ2aWV3LnNlbGVjdGlv
blN0YXJ0VGltZTsKKyAgICAgICAgICAgIHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5lbmRUaW1l
ID0gdGhpcy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uU3RhcnRUaW1lICsgdGhp
cy5fY3VycmVudFRpbWVsaW5lT3ZlcnZpZXcuc2VsZWN0aW9uRHVyYXRpb247CiAKLSAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5yZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwudXBkYXRl
UmFuZ2VTZWxlY3Rpb24odGhpcy5jdXJyZW50VGltZWxpbmVWaWV3LnN0YXJ0VGltZSwgdGhpcy5j
dXJyZW50VGltZWxpbmVWaWV3LmVuZFRpbWUpOworICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVu
dFRpbWVsaW5lVmlldy5yZXByZXNlbnRlZE9iamVjdC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkKKyAgICAgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IucmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBhbmVsLnVwZGF0ZVJhbmdlU2VsZWN0
aW9uKHRoaXMuY3VycmVudFRpbWVsaW5lVmlldy5zdGFydFRpbWUsIHRoaXMuY3VycmVudFRpbWVs
aW5lVmlldy5lbmRUaW1lKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIERlbGF5IHVudGlsIHRo
ZSBuZXh0IGZyYW1lIHRvIHN0YXkgaW4gc3luYyB3aXRoIHRoZSBjdXJyZW50IHRpbWVsaW5lIHZp
ZXcncyB0aW1lLWJhc2VkIGxheW91dCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5jc3MgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmNzcwppbmRl
eCAyZDg2NzkzZmI3NjA1MTI3MjdjOWRhMzNkMzhhZmZhMTE0MWIyYjY1Li41YWQwNjQ2ZjVmN2Nm
ODlmNTc4MWNkNDBmZGFkZTM0MTYwODc2MjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmNzcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmNzcwpAQCAt
NDQsNiArNDQsMTAgQEAKICAgICB0b3A6IDA7CiAgICAgbGVmdDogMDsKICAgICByaWdodDogMDsK
KyAgICBoZWlnaHQ6IDI5cHg7Cit9CisKK2JvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAudGltZWxp
bmUtcnVsZXIgPiAuaGVhZGVyIHsKICAgICBoZWlnaHQ6IDIycHg7CiB9CiAKQEAgLTU4LDcgKzYy
LDcgQEAKIAogLnRpbWVsaW5lLXJ1bGVyID4gLmhlYWRlciA+IC5kaXZpZGVyID4gLmxhYmVsIHsK
ICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiA1cHg7CisgICAgdG9wOiA4cHg7CiAg
ICAgcmlnaHQ6IDVweDsKICAgICBmb250LXNpemU6IDlweDsKICAgICBjb2xvcjogcmdiKDEyOCwg
MTI4LCAxMjgpOwpAQCAtMTI5LDExICsxMzMsMTUgQEAKIC50aW1lbGluZS1ydWxlciA+IC5zZWxl
Y3Rpb24tZHJhZyB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogMDsKLSAgICBo
ZWlnaHQ6IDIycHg7CisgICAgaGVpZ2h0OiAyOXB4OwogICAgIGN1cnNvcjogLXdlYmtpdC1ncmFi
OwogICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7CiB9CiAKK2JvZHkubWFjLXBsYXRmb3JtLmxlZ2Fj
eSAudGltZWxpbmUtcnVsZXIgPiAuc2VsZWN0aW9uLWRyYWcgeworICAgIGhlaWdodDogMjJweDsK
K30KKwogLnRpbWVsaW5lLXJ1bGVyID4gLnNlbGVjdGlvbi1kcmFnOmFjdGl2ZSB7CiAgICAgY3Vy
c29yOiAtd2Via2l0LWdyYWJiaW5nOwogfQpAQCAtMTQyLDcgKzE1MCw3IEBACiAgICAgcG9zaXRp
b246IGFic29sdXRlOwogICAgIHRvcDogMDsKICAgICB3aWR0aDogOHB4OwotICAgIGhlaWdodDog
MjFweDsKKyAgICBoZWlnaHQ6IDI4cHg7CiAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgIGJh
Y2tncm91bmQtY29sb3I6IHJnYigxNjQsIDE2NCwgMTY0KTsKICAgICBib3JkZXI6IDFweCBzb2xp
ZCB3aGl0ZTsKQEAgLTE1MSw2ICsxNTksMTAgQEAKICAgICB6LWluZGV4OiAxNTsKIH0KIAorYm9k
eS5tYWMtcGxhdGZvcm0ubGVnYWN5IC50aW1lbGluZS1ydWxlciA+IC5zZWxlY3Rpb24taGFuZGxl
IHsKKyAgICBoZWlnaHQ6IDIxcHg7Cit9CisKIC50aW1lbGluZS1ydWxlciA+IC5zZWxlY3Rpb24t
aGFuZGxlLmxlZnQgewogICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSdWxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lUnVsZXIuanMKaW5kZXggZDRjMjMxNDM5NjBjYmNkZjFiOGE1Y2I1NTcxODFm
YzRlMDA3MTY3OS4uZTYxZmJmMDQxMmM1YTk0M2MyNTdkOTk5MTBiMzkyNzJhOWM5MGQ4YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSdWxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZVJ1bGVyLmpzCkBAIC00OSw2ICs0OSw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJ1bGVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX2VuZFRpbWVQaW5uZWQgPSBmYWxzZTsKICAg
ICB0aGlzLl9hbGxvd3NDbGlwcGVkTGFiZWxzID0gZmFsc2U7CiAgICAgdGhpcy5fYWxsb3dzVGlt
ZVJhbmdlU2VsZWN0aW9uID0gZmFsc2U7CisgICAgdGhpcy5fZm9ybWF0TGFiZWxDYWxsYmFjayA9
IG51bGw7CiAKICAgICB0aGlzLl9tYXJrZXJFbGVtZW50TWFwID0gbmV3IE1hcDsKIH07CkBAIC0x
MDAsNiArMTAxLDE4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQoKTsKICAgICB9LAogCisgICAgc2V0IGZvcm1hdExh
YmVsQ2FsbGJhY2soeCkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiB4ID09
PSAiZnVuY3Rpb24iIHx8ICF4LCB4KTsKKworICAgICAgICBpZiAodGhpcy5fZm9ybWF0TGFiZWxD
YWxsYmFjayA9PT0geCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9mb3Jt
YXRMYWJlbENhbGxiYWNrID0geCB8fCBudWxsOworCisgICAgICAgIHRoaXMuX25lZWRzTGF5b3V0
KCk7CisgICAgfSwKKwogICAgIGdldCBhbGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24oKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIHRoaXMuX2FsbG93c1RpbWVSYW5nZVNlbGVjdGlvbjsKQEAgLTQwMyw3
ICs0MTYsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUgPSB7CiAKICAg
ICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRpdmlkZXJFbGVtZW50LmZpcnN0Q2hpbGQuY2xhc3NM
aXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLkRpdmlkZXJMYWJlbEVsZW1l
bnRTdHlsZUNsYXNzTmFtZSkpOwogCi0gICAgICAgICAgICBkaXZpZGVyRWxlbWVudC5maXJzdENo
aWxkLnRleHRDb250ZW50ID0gaXNOYU4oZGl2aWRlclRpbWUpID8gIiIgOiBOdW1iZXIuc2Vjb25k
c1RvU3RyaW5nKGRpdmlkZXJUaW1lIC0gdGhpcy5femVyb1RpbWUsIHRydWUpOworICAgICAgICAg
ICAgZGl2aWRlckVsZW1lbnQuZmlyc3RDaGlsZC50ZXh0Q29udGVudCA9IGlzTmFOKGRpdmlkZXJU
aW1lKSA/ICIiIDogdGhpcy5fZm9ybWF0RGl2aWRlckxhYmVsVGV4dChkaXZpZGVyVGltZSAtIHRo
aXMuX3plcm9UaW1lKTsKICAgICAgICAgICAgIGRpdmlkZXJFbGVtZW50ID0gZGl2aWRlckVsZW1l
bnQubmV4dFNpYmxpbmc7CiAgICAgICAgIH0KIApAQCAtNTkyLDYgKzYwNSwxNCBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9kaXNw
YXRjaFRpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWRFdmVudCgpOwogICAgIH0sCiAKKyAgICBfZm9y
bWF0RGl2aWRlckxhYmVsVGV4dDogZnVuY3Rpb24odmFsdWUpCisgICAgeworICAgICAgICBpZiAo
dGhpcy5fZm9ybWF0TGFiZWxDYWxsYmFjaykKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9mb3Jt
YXRMYWJlbENhbGxiYWNrKHZhbHVlKTsKKworICAgICAgICByZXR1cm4gTnVtYmVyLnNlY29uZHNU
b1N0cmluZyh2YWx1ZSwgdHJ1ZSk7CisgICAgfSwKKwogICAgIF9kaXNwYXRjaFRpbWVSYW5nZVNl
bGVjdGlvbkNoYW5nZWRFdmVudDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgZGVsZXRlIHRo
aXMuX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5jc3MgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQ
YW5lbC5jc3MKaW5kZXggNjI1YTNkNjFkZTU2Yjc1Nzc2ZjBiNGUyZjYxNWUwYmQ2N2Y0MWE0MC4u
YmM1MWM5ZjJmODM0ZjU5Mjc1MDVmMzNiNzFhZTA4NjJjYmQ3NDNiMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFu
ZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lU2lkZWJhclBhbmVsLmNzcwpAQCAtMTE2LDEyICsxMTYsMTYgQEAgYm9keS5tYWMtcGxh
dGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAuc3Rh
dHVzLWJhciA+IC4KICAgICB0b3A6IDA7CiB9CiAKKy5wYW5lbC50aW1lbGluZSAubmF2aWdhdGlv
bi1iYXIudGltZWxpbmVzLXZpZXcgeworICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7Cit9
CisKIC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAudGl0bGUtYmFyIHsK
ICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgbGVmdDogMDsKICAgICByaWdodDogMDsKIAot
ICAgIGhlaWdodDogMjJweDsKKyAgICBoZWlnaHQ6IDI5cHg7CiAKICAgICBib3JkZXItYm90dG9t
OiAxcHggc29saWQgcmdiKDE3OSwgMTc5LCAxNzkpOwogICAgIGJhY2tncm91bmQtY29sb3I6IHJn
YigyNDIsIDI0MiwgMjQyKTsKQEAgLTE0MCw2ICsxNDQsOCBAQCBib2R5Lm1hYy1wbGF0Zm9ybS5s
ZWdhY3kgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC5zdGF0dXMtYmFy
ID4gLgogfQogCiBib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kgLnNpZGViYXIgPiAucGFuZWwubmF2
aWdhdGlvbi50aW1lbGluZSA+IC50aXRsZS1iYXIgeworICAgIGhlaWdodDogMjJweDsKKwogICAg
IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgIGJhY2tncm91bmQtaW1hZ2U6IGxp
bmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYigyMzgsIDI0MCwgMjQ0KSwgcmdiKDIyNCwgMjI2
LCAyMzApKTsKICAgICB0ZXh0LXNoYWRvdzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAgMXB4
IDA7CkBAIC0xNDcsNiArMTUzLDIyIEBAIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lkZWJh
ciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhciB7CiAKIC5zaWRlYmFy
ID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAudGl0bGUtYmFyLnRpbWVsaW5lcyB7CiAg
ICAgdG9wOiAyOXB4OworICAgIHBhZGRpbmc6IDhweCA5cHg7Cit9CisKKy5zaWRlYmFyID4gLnBh
bmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAubmF2aWdhdGlvbi1iYXItY29udGFpbmVyIHsKKyAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAyOXB4OworICAgIGxlZnQ6IDA7CisgICAg
cmlnaHQ6IDA7Cit9CisKKy5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxpbmUgPiAu
bmF2aWdhdGlvbi1iYXItY29udGFpbmVyID4gLm5hdmlnYXRpb24tYmFyIHsKKyAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgcmlnaHQ6IDA7Cisg
ICAgYWxpZ24tY29udGVudDogY2VudGVyOwogfQogCiBib2R5Lm1hYy1wbGF0Zm9ybS5sZWdhY3kg
LnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aXRsZS1iYXIudGltZWxp
bmVzIHsKQEAgLTE1NiwxNiArMTc4LDE2IEBAIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAuc2lk
ZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50aW1lCiAuc2lk
ZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLnRpdGxlLWJhci50aW1lbGluZS1l
dmVudHMgewogICAgIGhlaWdodDogMjNweDsKICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdi
KDE3OSwgMTc5LCAxNzkpOwotICAgIHRvcDogMTU5cHg7CisgICAgdG9wOiAxNjZweDsKIH0KIAog
Ym9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGlt
ZWxpbmUgPiAudGl0bGUtYmFyLnRpbWVsaW5lLWV2ZW50cyB7Ci0gICAgdG9wOiAxNTJweDsKKyAg
ICB0b3A6IDE1OXB4OwogfQogCiAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5l
ID4gLnRpbWVsaW5lcy1jb250ZW50IHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9w
OiA1MXB4OworICAgIHRvcDogNThweDsKICAgICBoZWlnaHQ6IDEwOHB4OwogICAgIGxlZnQ6IDA7
CiAgICAgcmlnaHQ6IDA7CkBAIC0yMzIsMTEgKzI1NCwxMSBAQCBib2R5Lm1hYy1wbGF0Zm9ybS5s
ZWdhY3kgLnNpZGViYXIgPiAucGFuZWwubmF2aWdhdGlvbi50aW1lbGluZSA+IC50aW1lbGluZXMt
Y29udAogCiAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLmNvbnRlbnQs
CiAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uLnRpbWVsaW5lID4gLmVtcHR5LWNvbnRlbnQt
cGxhY2Vob2xkZXIgewotICAgIHRvcDogMTgycHg7CisgICAgdG9wOiAxODlweDsKIH0KIAogYm9k
eS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24udGltZWxp
bmUgPiA6bWF0Y2hlcyguY29udGVudCwgLmVtcHR5LWNvbnRlbnQtcGxhY2Vob2xkZXIpIHsKLSAg
ICB0b3A6IDE3NXB4OworICAgIHRvcDogMTgycHg7CiB9CiAKIC5zaWRlYmFyID4gLnBhbmVsLm5h
dmlnYXRpb24udGltZWxpbmUudGltZWxpbmUtcmVjb3JkaW5nLWNvbnRlbnQtdmlldy1zaG93aW5n
ID4gLmNvbnRlbnQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcwppbmRleCBjMjM4
NmJhOGEzYTYxYWNmMWE2Y2YwMWE4OGVhZWFkZDQ1YjY4MTYwLi5iNGMyMGU4YzJkODY2M2FlZDFh
MTY4MTNhNjEyNjBhNWMwM2FjYmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5q
cwpAQCAtMzQsNiArMzQsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBj
bGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICB0aGlz
Ll90aW1lbGluZUV2ZW50c1RpdGxlQmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwogICAgICAgICB0aGlzLl90aW1lbGluZUV2ZW50c1RpdGxlQmFyRWxlbWVudC5jbGFz
c0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaXRsZUJhclN0eWxl
Q2xhc3MpOwogICAgICAgICB0aGlzLl90aW1lbGluZUV2ZW50c1RpdGxlQmFyRWxlbWVudC5jbGFz
c0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaW1lbGluZUV2ZW50
c1RpdGxlQmFyU3R5bGVDbGFzcyk7CisKICAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9y
ZSh0aGlzLl90aW1lbGluZUV2ZW50c1RpdGxlQmFyRWxlbWVudCwgdGhpcy5lbGVtZW50LmZpcnN0
Q2hpbGQpOwogCiAgICAgICAgIHRoaXMuY29udGVudFRyZWVPdXRsaW5lTGFiZWwgPSAiIjsKQEAg
LTQ0LDYgKzQ1LDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3Mg
VGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgICAgICB0aGlzLl9k
aXNwbGF5ZWRSZWNvcmRpbmcgPSBudWxsOwogICAgICAgICB0aGlzLl9kaXNwbGF5ZWRDb250ZW50
VmlldyA9IG51bGw7CisgICAgICAgIHRoaXMuX3ZpZXdNb2RlID0gbnVsbDsKKyAgICAgICAgdGhp
cy5fcHJldmlvdXNUaW1lbGluZVNlbGVjdGlvbiA9IG51bGw7CiAKICAgICAgICAgLy8gTWFpbnRh
aW4gYW4gaW52aXNpYmxlIHRyZWUgb3V0bGluZSBjb250YWluaW5nIHRyZWUgZWxlbWVudHMgZm9y
IGFsbCByZWNvcmRpbmdzLgogICAgICAgICAvLyBUaGUgdmlzaWJsZSByZWNvcmRpbmcncyB0cmVl
IGVsZW1lbnQgaXMgc2VsZWN0ZWQgd2hlbiB0aGUgY29udGVudCB2aWV3IGNoYW5nZXMuCkBAIC02
MiwxMSArNjUsMjYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3Mg
VGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgICAgICB0aGlzLl90
aW1lbGluZVRyZWVFbGVtZW50TWFwID0gbmV3IE1hcDsKIAotICAgICAgICB2YXIgdGltZWxpbmVz
VGl0bGVCYXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAg
IHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiVGltZWxpbmVzIik7Ci0gICAgICAgIHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudC5jbGFz
c0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaXRsZUJhclN0eWxl
Q2xhc3MpOwotICAgICAgICB0aW1lbGluZXNUaXRsZUJhckVsZW1lbnQuY2xhc3NMaXN0LmFkZChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuVGltZWxpbmVzVGl0bGVCYXJTdHlsZUNs
YXNzKTsKLSAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aW1lbGluZXNUaXRsZUJh
ckVsZW1lbnQsIHRoaXMuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgLy8gQ09NUEFUSUJJ
TElUWSAoaU9TIDgpOiBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5SZW5kZXJpbmdGcmFtZSBkaWQg
bm90IGV4aXN0LgorICAgICAgICB0aGlzLl9yZW5kZXJpbmdGcmFtZXNTdXBwb3J0ZWQgPSB3aW5k
b3cuVGltZWxpbmVBZ2VudCAmJiBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5SZW5kZXJpbmdGcmFt
ZTsKKworICAgICAgICBpZiAodGhpcy5fcmVuZGVyaW5nRnJhbWVzU3VwcG9ydGVkKSB7CisgICAg
ICAgICAgICB2YXIgdGltZWxpbmVzTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLlJh
ZGlvQnV0dG9uTmF2aWdhdGlvbkl0ZW0oV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVs
LlZpZXdNb2RlLlRpbWVsaW5lcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZXMiKSkK
KyAgICAgICAgICAgIHZhciByZW5kZXJpbmdGcmFtZXNOYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJ
bnNwZWN0b3IuUmFkaW9CdXR0b25OYXZpZ2F0aW9uSXRlbShXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwuVmlld01vZGUuUmVuZGVyaW5nRnJhbWVzLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlJlbmRlcmluZyBGcmFtZXMiKSkKKyAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RlTmF2aWdh
dGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcihudWxsLCBbdGltZWxpbmVz
TmF2aWdhdGlvbkl0ZW0sIHJlbmRlcmluZ0ZyYW1lc05hdmlnYXRpb25JdGVtXSwgInRhYmxpc3Qi
KTsKKyAgICAgICAgICAgIHRoaXMuX3ZpZXdNb2RlTmF2aWdhdGlvbkJhci5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uQmFyLkV2ZW50Lk5hdmlnYXRpb25JdGVtU2VsZWN0
ZWQsIHRoaXMuX3ZpZXdNb2RlU2VsZWN0ZWQsIHRoaXMpOworCisgICAgICAgICAgICB2YXIgY29u
dGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICBjb250
YWluZXIuY2xhc3NOYW1lID0gIm5hdmlnYXRpb24tYmFyLWNvbnRhaW5lciI7CisgICAgICAgICAg
ICBjb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fdmlld01vZGVOYXZpZ2F0aW9uQmFyLmVsZW1l
bnQpOworICAgICAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZShjb250YWluZXIsIHRo
aXMuZWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZh
ciB0aW1lbGluZXNUaXRsZUJhckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICAgICAgICAgIHRpbWVsaW5lc1RpdGxlQmFyRWxlbWVudC50ZXh0Q29udGVudCA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiVGltZWxpbmVzIik7CisgICAgICAgICAgICB0aW1lbGluZXNU
aXRsZUJhckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFy
UGFuZWwuVGl0bGVCYXJTdHlsZUNsYXNzKTsKKyAgICAgICAgICAgIHRpbWVsaW5lc1RpdGxlQmFy
RWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5U
aW1lbGluZXNUaXRsZUJhclN0eWxlQ2xhc3MpOworICAgICAgICAgICAgdGhpcy5lbGVtZW50Lmlu
c2VydEJlZm9yZSh0aW1lbGluZXNUaXRsZUJhckVsZW1lbnQsIHRoaXMuZWxlbWVudC5maXJzdENo
aWxkKTsKKyAgICAgICAgfQogCiAgICAgICAgIHZhciBzdGF0dXNCYXJFbGVtZW50ID0gdGhpcy5f
c3RhdHVzQmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAg
ICBzdGF0dXNCYXJFbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lk
ZWJhclBhbmVsLlN0YXR1c0JhclN0eWxlQ2xhc3MpOwpAQCAtODUsMTYgKzEwMywxNiBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5l
bCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93UmVwbGF5SW50
ZXJmYWNlU2V0dGluZy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TZXR0aW5nLkV2ZW50
LkNoYW5nZWQsIHRoaXMuX3VwZGF0ZVJlcGxheUludGVyZmFjZVZpc2liaWxpdHksIHRoaXMpOwog
Ci0gICAgICAgIC8vIFdlIGFsd2F5cyBjcmVhdGUgYSBuYXZpZ2F0aW9uIGJhcjsgaXRzIHZpc2li
aWxpdHkgaXMgY29udHJvbGxlZCBieSBXZWJJbnNwZWN0b3Iuc2hvd1JlcGxheUludGVyZmFjZVNl
dHRpbmcuCi0gICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5h
dmlnYXRpb25CYXI7Ci0gICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZp
Z2F0aW9uQmFyLmVsZW1lbnQpOworICAgICAgICAvLyBXZSBhbHdheXMgY3JlYXRlIGEgcmVwbGF5
IG5hdmlnYXRpb24gYmFyOyBpdHMgdmlzaWJpbGl0eSBpcyBjb250cm9sbGVkIGJ5IFdlYkluc3Bl
Y3Rvci5zaG93UmVwbGF5SW50ZXJmYWNlU2V0dGluZy4KKyAgICAgICAgdGhpcy5fcmVwbGF5TmF2
aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKKyAgICAgICAgdGhp
cy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3JlcGxheU5hdmlnYXRpb25CYXIuZWxlbWVudCk7
CiAKICAgICAgICAgdmFyIHRvb2xUaXAgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJlZ2luIENh
cHR1cmluZyIpOwogICAgICAgICB2YXIgYWx0VG9vbFRpcCA9IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiRW5kIENhcHR1cmluZyIpOwogICAgICAgICB0aGlzLl9yZXBsYXlDYXB0dXJlQnV0dG9uSXRl
bSA9IG5ldyBXZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgicmVwbGF5
LWNhcHR1cmUiLCB0b29sVGlwLCBhbHRUb29sVGlwLCAiSW1hZ2VzL0NpcmNsZS5zdmciLCAxNiwg
MTYpOwogICAgICAgICB0aGlzLl9yZXBsYXlDYXB0dXJlQnV0dG9uSXRlbS5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlz
Ll9yZXBsYXlDYXB0dXJlQnV0dG9uQ2xpY2tlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3JlcGxh
eUNhcHR1cmVCdXR0b25JdGVtLmVuYWJsZWQgPSB0cnVlOwotICAgICAgICB0aGlzLl9uYXZpZ2F0
aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX3JlcGxheUNhcHR1cmVCdXR0b25JdGVtKTsK
KyAgICAgICAgdGhpcy5fcmVwbGF5TmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlz
Ll9yZXBsYXlDYXB0dXJlQnV0dG9uSXRlbSk7CiAKICAgICAgICAgdmFyIHBhdXNlSW1hZ2UsIHJl
c3VtZUltYWdlOwogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLlBsYXRmb3JtLmlzTGVnYWN5TWFj
T1MpIHsKQEAgLTExMCwxMyArMTI4LDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQ
YW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAg
ICAgIHRoaXMuX3JlcGxheVBhdXNlUmVzdW1lQnV0dG9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3Iu
VG9nZ2xlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInJlcGxheS1wYXVzZS1yZXN1bWUiLCB0b29sVGlw
LCBhbHRUb29sVGlwLCByZXN1bWVJbWFnZS5zcmMsIHBhdXNlSW1hZ2Uuc3JjLCBwYXVzZUltYWdl
LndpZHRoLCBwYXVzZUltYWdlLmhlaWdodCwgdHJ1ZSk7CiAgICAgICAgIHRoaXMuX3JlcGxheVBh
dXNlUmVzdW1lQnV0dG9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5CdXR0b25O
YXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9yZXBsYXlQYXVzZVJlc3VtZUJ1dHRv
bkNsaWNrZWQsIHRoaXMpOwogICAgICAgICB0aGlzLl9yZXBsYXlQYXVzZVJlc3VtZUJ1dHRvbkl0
ZW0uZW5hYmxlZCA9IGZhbHNlOwotICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmln
YXRpb25JdGVtKHRoaXMuX3JlcGxheVBhdXNlUmVzdW1lQnV0dG9uSXRlbSk7CisgICAgICAgIHRo
aXMuX3JlcGxheU5hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fcmVwbGF5UGF1
c2VSZXN1bWVCdXR0b25JdGVtKTsKIAogICAgICAgICBXZWJJbnNwZWN0b3IucmVwbGF5TWFuYWdl
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXBsYXlNYW5hZ2VyLkV2ZW50LkNhcHR1
cmVTdGFydGVkLCB0aGlzLl9jYXB0dXJlU3RhcnRlZCwgdGhpcyk7CiAgICAgICAgIFdlYkluc3Bl
Y3Rvci5yZXBsYXlNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlJlcGxheU1h
bmFnZXIuRXZlbnQuQ2FwdHVyZVN0b3BwZWQsIHRoaXMuX2NhcHR1cmVTdG9wcGVkLCB0aGlzKTsK
IAogICAgICAgICB0aGlzLl9zdGF0dXNCYXJFbGVtZW50Lm9uY29udGV4dG1lbnUgPSB0aGlzLl9j
b250ZXh0TWVudU5hdmlnYXRpb25CYXJPclN0YXR1c0Jhci5iaW5kKHRoaXMpOwotICAgICAgICB0
aGlzLl9uYXZpZ2F0aW9uQmFyLmVsZW1lbnQub25jb250ZXh0bWVudSA9IHRoaXMuX2NvbnRleHRN
ZW51TmF2aWdhdGlvbkJhck9yU3RhdHVzQmFyLmJpbmQodGhpcyk7CisgICAgICAgIHRoaXMuX3Jl
cGxheU5hdmlnYXRpb25CYXIuZWxlbWVudC5vbmNvbnRleHRtZW51ID0gdGhpcy5fY29udGV4dE1l
bnVOYXZpZ2F0aW9uQmFyT3JTdGF0dXNCYXIuYmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5fdXBk
YXRlUmVwbGF5SW50ZXJmYWNlVmlzaWJpbGl0eSgpOwogCiAgICAgICAgIFdlYkluc3BlY3Rvci50
aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5h
Z2VyLkV2ZW50LlJlY29yZGluZ0NyZWF0ZWQsIHRoaXMuX3JlY29yZGluZ0NyZWF0ZWQsIHRoaXMp
OwpAQCAtMTM3LDYgKzE1NSwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwg
PSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICAg
ICAgdGhpcy5jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXcodGhpcy5fZGlzcGxheWVkQ29u
dGVudFZpZXcpOwogICAgIH0KIAorICAgIGdldCB2aWV3TW9kZSgpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fdmlld01vZGU7CisgICAgfQorCiAgICAgc2hvd0RlZmF1bHRDb250ZW50Vmll
dygpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fZGlzcGxheWVkQ29udGVudFZpZXcpCkBAIC0y
MzksMTcgKzI2MiwyOCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFz
cyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogCiAgICAgICAgIHRoaXMu
X2Rpc3BsYXllZENvbnRlbnRWaWV3LnNob3dPdmVydmlld1RpbWVsaW5lVmlldygpOwogICAgICAg
ICB0aGlzLmNvbnRlbnRCcm93c2VyLnNob3dDb250ZW50Vmlldyh0aGlzLl9kaXNwbGF5ZWRDb250
ZW50Vmlldyk7CisKKyAgICAgICAgdmFyIHNlbGVjdGVkQnlVc2VyID0gZmFsc2U7CisgICAgICAg
IHRoaXMuX2NoYW5nZVZpZXdNb2RlKHRoaXMuX3ZpZXdNb2RlRm9yVGltZWxpbmUobnVsbCksIHNl
bGVjdGVkQnlVc2VyKTsKICAgICB9CiAKICAgICBzaG93VGltZWxpbmVWaWV3Rm9yVGltZWxpbmUo
dGltZWxpbmUpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCh0aW1lbGluZSBpbnN0YW5j
ZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZSwgdGltZWxpbmUpOwotICAgICAgICBjb25zb2xlLmFz
c2VydCh0aGlzLl90aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSksICJDYW5ub3Qg
c2hvdyB0aW1lbGluZSBiZWNhdXNlIGl0IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2hvd24gcmVj
b3JkaW5nLiIsIHRpbWVsaW5lKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fZGlzcGxh
eWVkUmVjb3JkaW5nLnRpbWVsaW5lcy5oYXModGltZWxpbmUudHlwZSksICJDYW5ub3Qgc2hvdyB0
aW1lbGluZSBiZWNhdXNlIGl0IGRvZXMgbm90IGJlbG9uZyB0byB0aGUgc2hvd24gcmVjb3JkaW5n
LiIsIHRpbWVsaW5lLnR5cGUpOworCisgICAgICAgIGlmICh0aGlzLl90aW1lbGluZVRyZWVFbGVt
ZW50TWFwLmhhcyh0aW1lbGluZSkpIHsKKyAgICAgICAgICAgIC8vIERlZmVyIHNob3dpbmcgdGhl
IHJlbGV2YW50IHRpbWVsaW5lIHRvIHRoZSBvbnNlbGVjdCBoYW5kbGVyIG9mIHRoZSB0aW1lbGlu
ZXMgdHJlZSBlbGVtZW50LgorICAgICAgICAgICAgdmFyIHdhc1NlbGVjdGVkQnlVc2VyID0gdHJ1
ZTsKKyAgICAgICAgICAgIHZhciBzaG91bGRTdXBwcmVzc09uU2VsZWN0ID0gZmFsc2U7CisgICAg
ICAgICAgICB0aGlzLl90aW1lbGluZVRyZWVFbGVtZW50TWFwLmdldCh0aW1lbGluZSkuc2VsZWN0
KHRydWUsIHdhc1NlbGVjdGVkQnlVc2VyLCBzaG91bGRTdXBwcmVzc09uU2VsZWN0LCB0cnVlKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXllZENvbnRlbnRWaWV3
LnNob3dUaW1lbGluZVZpZXdGb3JUaW1lbGluZSh0aW1lbGluZSk7CisgICAgICAgICAgICB0aGlz
LmNvbnRlbnRCcm93c2VyLnNob3dDb250ZW50Vmlldyh0aGlzLl9kaXNwbGF5ZWRDb250ZW50Vmll
dyk7CisgICAgICAgIH0KIAotICAgICAgICAvLyBEZWZlciBzaG93aW5nIHRoZSByZWxldmFudCB0
aW1lbGluZSB0byB0aGUgb25zZWxlY3QgaGFuZGxlciBvZiB0aGUgdGltZWxpbmVzIHRyZWUgZWxl
bWVudC4KLSAgICAgICAgdmFyIHdhc1NlbGVjdGVkQnlVc2VyID0gdHJ1ZTsKLSAgICAgICAgdmFy
IHNob3VsZFN1cHByZXNzT25TZWxlY3QgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fdGltZWxpbmVU
cmVlRWxlbWVudE1hcC5nZXQodGltZWxpbmUpLnNlbGVjdCh0cnVlLCB3YXNTZWxlY3RlZEJ5VXNl
ciwgc2hvdWxkU3VwcHJlc3NPblNlbGVjdCwgdHJ1ZSk7CisgICAgICAgIHZhciBzZWxlY3RlZEJ5
VXNlciA9IGZhbHNlOworICAgICAgICB0aGlzLl9jaGFuZ2VWaWV3TW9kZSh0aGlzLl92aWV3TW9k
ZUZvclRpbWVsaW5lKHRpbWVsaW5lKSwgc2VsZWN0ZWRCeVVzZXIpOwogICAgIH0KIAogICAgIC8v
IFByb3RlY3RlZApAQCAtMjg4LDExICszMjIsMTUgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lk
ZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMK
IAogICAgICAgICBjb29raWVbV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNob3dp
bmdUaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3Q29va2llS2V5XSA9IHRoaXMuY29udGVudEJy
b3dzZXIuY3VycmVudENvbnRlbnRWaWV3IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkaW5nQ29udGVudFZpZXc7CiAKLSAgICAgICAgdmFyIHNlbGVjdGVkVHJlZUVsZW1lbnQg
PSB0aGlzLl90aW1lbGluZXNUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50OwotICAgICAg
ICBpZiAoc2VsZWN0ZWRUcmVlRWxlbWVudCkKLSAgICAgICAgICAgIGNvb2tpZVtXZWJJbnNwZWN0
b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2VsZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlmaWVyQ29v
a2llS2V5XSA9IHNlbGVjdGVkVHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QudHlwZTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgY29va2llW1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGVi
YXJQYW5lbC5TZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXJDb29raWVLZXldID0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLk92ZXJ2aWV3VGltZWxpbmVJZGVudGlmaWVyQ29v
a2llVmFsdWU7CisgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lU2lkZWJhclBhbmVsLlZpZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykKKyAgICAgICAgICAg
IGNvb2tpZVtXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2VsZWN0ZWRUaW1lbGlu
ZVZpZXdJZGVudGlmaWVyQ29va2llS2V5XSA9IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5U
eXBlLlJlbmRlcmluZ0ZyYW1lOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHZhciBzZWxl
Y3RlZFRyZWVFbGVtZW50ID0gdGhpcy5fdGltZWxpbmVzVHJlZU91dGxpbmUuc2VsZWN0ZWRUcmVl
RWxlbWVudDsKKyAgICAgICAgICAgIGlmIChzZWxlY3RlZFRyZWVFbGVtZW50KQorICAgICAgICAg
ICAgICAgIGNvb2tpZVtXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2VsZWN0ZWRU
aW1lbGluZVZpZXdJZGVudGlmaWVyQ29va2llS2V5XSA9IHNlbGVjdGVkVHJlZUVsZW1lbnQucmVw
cmVzZW50ZWRPYmplY3QudHlwZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBj
b29raWVbV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNlbGVjdGVkVGltZWxpbmVW
aWV3SWRlbnRpZmllckNvb2tpZUtleV0gPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFu
ZWwuT3ZlcnZpZXdUaW1lbGluZUlkZW50aWZpZXJDb29raWVWYWx1ZTsgICAgCisgICAgICAgIH0K
IAogICAgICAgICBzdXBlci5zYXZlU3RhdGVUb0Nvb2tpZShjb29raWUpOwogICAgIH0KQEAgLTMx
MSw5ICszNDksMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3Mg
VGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhpcy5fcmVz
dG9yZWRTaG93aW5nVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyA9IGNvb2tpZVtXZWJJbnNw
ZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuU2hvd2luZ1RpbWVsaW5lUmVjb3JkaW5nQ29udGVu
dFZpZXdDb29raWVLZXldOwogCiAgICAgICAgIHZhciBzZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50
aWZpZXIgPSBjb29raWVbV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNlbGVjdGVk
VGltZWxpbmVWaWV3SWRlbnRpZmllckNvb2tpZUtleV07Ci0gICAgICAgIGlmICghc2VsZWN0ZWRU
aW1lbGluZVZpZXdJZGVudGlmaWVyIHx8IHNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmllciA9
PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLk92ZXJ2aWV3VGltZWxpbmVJZGVu
dGlmaWVyQ29va2llVmFsdWUpCi0gICAgICAgICAgICB0aGlzLnNob3dUaW1lbGluZU92ZXJ2aWV3
KCk7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZy50aW1lbGluZXMu
aGFzKHNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmllcikpCisgICAgICAgIGlmIChzZWxlY3Rl
ZFRpbWVsaW5lVmlld0lkZW50aWZpZXIgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29yZC5U
eXBlLlJlbmRlcmluZ0ZyYW1lICYmICF0aGlzLl9yZW5kZXJpbmdGcmFtZXNTdXBwb3J0ZWQpCisg
ICAgICAgICAgICBzZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXIgPSBudWxsOworCisgICAg
ICAgIGlmIChzZWxlY3RlZFRpbWVsaW5lVmlld0lkZW50aWZpZXIgJiYgdGhpcy5fZGlzcGxheWVk
UmVjb3JkaW5nLnRpbWVsaW5lcy5oYXMoc2VsZWN0ZWRUaW1lbGluZVZpZXdJZGVudGlmaWVyKSkK
ICAgICAgICAgICAgIHRoaXMuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lKHRoaXMuX2Rpc3Bs
YXllZFJlY29yZGluZy50aW1lbGluZXMuZ2V0KHNlbGVjdGVkVGltZWxpbmVWaWV3SWRlbnRpZmll
cikpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlzLnNob3dUaW1lbGluZU92ZXJ2aWV3
KCk7CkBAIC00MDksNiArNDQ4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVs
ID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAg
Y29uc29sZS5hc3NlcnQocmVjb3JkaW5nIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UmVjb3JkaW5nLCByZWNvcmRpbmcpOwogCiAgICAgICAgIHZhciBvbGRSZWNvcmRpbmcgPSB0aGlz
Ll9kaXNwbGF5ZWRSZWNvcmRpbmcgfHwgbnVsbDsKKwogICAgICAgICBpZiAob2xkUmVjb3JkaW5n
KSB7CiAgICAgICAgICAgICBvbGRSZWNvcmRpbmcucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcuRXZlbnQuVGltZWxpbmVBZGRlZCwgdGhpcy5fdGltZWxp
bmVBZGRlZCwgdGhpcyk7CiAgICAgICAgICAgICBvbGRSZWNvcmRpbmcucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRpbmcuRXZlbnQuVGltZWxpbmVSZW1vdmVk
LCB0aGlzLl90aW1lbGluZVJlbW92ZWQsIHRoaXMpOwpAQCAtNDQyLDExICs0ODIsMTEgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFu
ZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgICAgIHRpbWVsaW5lID0gdGltZWxpbmVPckV2
ZW50LmRhdGEudGltZWxpbmU7CiAKICAgICAgICAgY29uc29sZS5hc3NlcnQodGltZWxpbmUgaW5z
dGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmUsIHRpbWVsaW5lKTsKLSAgICAgICAgaWYgKCFX
ZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnNob3VsZFNob3dWaWV3Rm9yVGltZWxpbmUodGlt
ZWxpbmUpKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0
aGlzLl90aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSksIHRpbWVsaW5lKTsKIAor
ICAgICAgICBpZiAodGhpcy5fdmlld01vZGVGb3JUaW1lbGluZSh0aW1lbGluZSkgIT09IFdlYklu
c3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5UaW1lbGluZXMpCisgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgdmFyIHRpbWVsaW5lVHJlZUVsZW1lbnQgPSBuZXcgV2Vi
SW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudChbdGltZWxpbmUuaWNvbkNsYXNzTmFtZSwgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLkxhcmdlSWNvblN0eWxlQ2xhc3NdLCB0aW1l
bGluZS5kaXNwbGF5TmFtZSwgbnVsbCwgdGltZWxpbmUpOwogICAgICAgICB2YXIgdG9vbHRpcCA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2xvc2UgJXMgdGltZWxpbmUgdmlldyIpLmZvcm1hdCh0
aW1lbGluZS5kaXNwbGF5TmFtZSk7CiAgICAgICAgIHdyYXBwZWRTVkdEb2N1bWVudChwbGF0Zm9y
bUltYWdlUGF0aCgiQ2xvc2VMYXJnZS5zdmciKSwgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJh
clBhbmVsLkNsb3NlQnV0dG9uU3R5bGVDbGFzcywgdG9vbHRpcCwgZnVuY3Rpb24oZWxlbWVudCkg
ewpAQCAtNDY0LDcgKzUwNCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9
IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgewogICAg
ICAgICB2YXIgdGltZWxpbmUgPSBldmVudC5kYXRhLnRpbWVsaW5lOwogICAgICAgICBjb25zb2xl
LmFzc2VydCh0aW1lbGluZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5UaW1lbGluZSwgdGltZWxp
bmUpOwotICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuc2hvdWxkU2hv
d1ZpZXdGb3JUaW1lbGluZSh0aW1lbGluZSkpCisgICAgICAgIGlmICh0aGlzLl92aWV3TW9kZUZv
clRpbWVsaW5lKHRpbWVsaW5lKSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVs
LlZpZXdNb2RlLlRpbWVsaW5lcykKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBjb25z
b2xlLmFzc2VydCh0aGlzLl90aW1lbGluZVRyZWVFbGVtZW50TWFwLmhhcyh0aW1lbGluZSksIHRp
bWVsaW5lKTsKQEAgLTQ5MSw5ICs1MzEsMTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJh
clBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAg
ICAgICAgfQogCiAgICAgICAgIHZhciB0aW1lbGluZUhlaWdodCA9IDM2OwotICAgICAgICB2YXIg
ZXZlbnRUaXRsZUJhck9mZnNldCA9IDUxOwotICAgICAgICB2YXIgY29udGVudEVsZW1lbnRPZmZz
ZXQgPSA3NDsKKyAgICAgICAgdmFyIGV2ZW50VGl0bGVCYXJPZmZzZXQgPSA1ODsKKyAgICAgICAg
dmFyIGNvbnRlbnRFbGVtZW50T2Zmc2V0ID0gODE7CiAgICAgICAgIHZhciB0aW1lbGluZUNvdW50
ID0gdGhpcy5fdGltZWxpbmVUcmVlRWxlbWVudE1hcC5zaXplOworCiAgICAgICAgIHRoaXMuX3Rp
bWVsaW5lc0NvbnRlbnRDb250YWluZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9ICh0aW1lbGluZUhl
aWdodCAqIHRpbWVsaW5lQ291bnQpICsgInB4IjsKICAgICAgICAgdGhpcy5fdGltZWxpbmVFdmVu
dHNUaXRsZUJhckVsZW1lbnQuc3R5bGUudG9wID0gKHRpbWVsaW5lSGVpZ2h0ICogdGltZWxpbmVD
b3VudCArIGV2ZW50VGl0bGVCYXJPZmZzZXQpICsgInB4IjsKICAgICAgICAgdGhpcy5jb250ZW50
RWxlbWVudC5zdHlsZS50b3AgPSAodGltZWxpbmVIZWlnaHQgKiB0aW1lbGluZUNvdW50ICsgY29u
dGVudEVsZW1lbnRPZmZzZXQpICsgInB4IjsKQEAgLTUzNSw2ICs1NzYsNTQgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsID0gY2xhc3MgVGltZWxpbmVTaWRlYmFyUGFuZWwgZXh0
ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgfQogICAgIH0KIAorICAgIF92aWV3TW9kZVNlbGVjdGVk
KGV2ZW50KQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnQudGFyZ2V0LnNlbGVj
dGVkTmF2aWdhdGlvbkl0ZW0pOworICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC5zZWxlY3RlZE5h
dmlnYXRpb25JdGVtKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBzZWxlY3Rl
ZE5hdmlnYXRpb25JdGVtID0gZXZlbnQudGFyZ2V0LnNlbGVjdGVkTmF2aWdhdGlvbkl0ZW07Cisg
ICAgICAgIHZhciBzZWxlY3RlZEJ5VXNlciA9IHRydWU7CisgICAgICAgIHRoaXMuX2NoYW5nZVZp
ZXdNb2RlKHNlbGVjdGVkTmF2aWdhdGlvbkl0ZW0uaWRlbnRpZmllciwgc2VsZWN0ZWRCeVVzZXIp
OworICAgIH0KKworICAgIF92aWV3TW9kZUZvclRpbWVsaW5lKHRpbWVsaW5lKQorICAgIHsKKyAg
ICAgICAgaWYgKHRpbWVsaW5lICYmIHRpbWVsaW5lLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1l
bGluZVJlY29yZC5UeXBlLlJlbmRlcmluZ0ZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIFdlYklu
c3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9kZS5SZW5kZXJpbmdGcmFtZXM7CisK
KyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5WaWV3TW9k
ZS5UaW1lbGluZXM7CisgICAgfQorCisgICAgX2NoYW5nZVZpZXdNb2RlKG1vZGUsIHNlbGVjdGVk
QnlVc2VyKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9yZW5kZXJpbmdGcmFtZXNTdXBwb3J0
ZWQgfHwgdGhpcy5fdmlld01vZGUgPT09IG1vZGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgdGhpcy5fdmlld01vZGUgPSBtb2RlOworICAgICAgICB0aGlzLl92aWV3TW9kZU5hdmln
YXRpb25CYXIuc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbSA9IHRoaXMuX3ZpZXdNb2RlOworCisgICAg
ICAgIGlmICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBh
bmVsLlZpZXdNb2RlLlRpbWVsaW5lcykKKyAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lc1RyZWVP
dXRsaW5lLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNp
ZGViYXJQYW5lbC5Db250ZW50VHJlZU91dGxpbmVFbGVtZW50SGlkZGVuU3R5bGVDbGFzc05hbWUp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLl90aW1lbGluZXNUcmVlT3V0bGluZS5l
bGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwu
Q29udGVudFRyZWVPdXRsaW5lRWxlbWVudEhpZGRlblN0eWxlQ2xhc3NOYW1lKTsKKworICAgICAg
ICBpZiAoIXNlbGVjdGVkQnlVc2VyKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlm
ICh0aGlzLl92aWV3TW9kZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlZp
ZXdNb2RlLlJlbmRlcmluZ0ZyYW1lcykgeworICAgICAgICAgICAgaWYgKHRoaXMuX3RpbWVsaW5l
c1RyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCisgICAgICAgICAgICAgICAgdGhpcy5f
cHJldmlvdXNUaW1lbGluZVNlbGVjdGlvbiA9IHRoaXMuX3RpbWVsaW5lc1RyZWVPdXRsaW5lLnNl
bGVjdGVkVHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3Q7CisKKyAgICAgICAgICAgIGNvbnNv
bGUuYXNzZXJ0KHRoaXMuX2Rpc3BsYXllZFJlY29yZGluZyk7CisgICAgICAgICAgICB0aGlzLnNo
b3dUaW1lbGluZVZpZXdGb3JUaW1lbGluZSh0aGlzLl9kaXNwbGF5ZWRSZWNvcmRpbmcudGltZWxp
bmVzLmdldChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmQuVHlwZS5SZW5kZXJpbmdGcmFtZSkp
OworICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3ByZXZpb3VzVGltZWxpbmVTZWxlY3Rpb24pIHsK
KyAgICAgICAgICAgIHRoaXMuc2hvd1RpbWVsaW5lVmlld0ZvclRpbWVsaW5lKHRoaXMuX3ByZXZp
b3VzVGltZWxpbmVTZWxlY3Rpb24pOworICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNUaW1lbGlu
ZVNlbGVjdGlvbiA9IG51bGw7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgdGhpcy5zaG93
VGltZWxpbmVPdmVydmlldygpOworICAgIH0KKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIG9u
bHkgdXNlZCB3aGVuIFJlcGxheUFnZW50IGlzIGF2YWlsYWJsZS4KIAogICAgIF91cGRhdGVSZXBs
YXlJbnRlcmZhY2VWaXNpYmlsaXR5KCkKQEAgLTU0Miw3ICs2MzEsNyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRz
IFdlYkluc3BlYwogICAgICAgICB2YXIgc2hvdWxkU2hvd1JlcGxheUludGVyZmFjZSA9IHdpbmRv
dy5SZXBsYXlBZ2VudCAmJiBXZWJJbnNwZWN0b3Iuc2hvd1JlcGxheUludGVyZmFjZVNldHRpbmcu
dmFsdWU7CiAKICAgICAgICAgdGhpcy5fc3RhdHVzQmFyRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xl
KFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5IaWRkZW5TdHlsZUNsYXNzTmFtZSwg
c2hvdWxkU2hvd1JlcGxheUludGVyZmFjZSk7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIu
ZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5l
bC5IaWRkZW5TdHlsZUNsYXNzTmFtZSwgIXNob3VsZFNob3dSZXBsYXlJbnRlcmZhY2UpOworICAg
ICAgICB0aGlzLl9yZXBsYXlOYXZpZ2F0aW9uQmFyLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShX
ZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuSGlkZGVuU3R5bGVDbGFzc05hbWUsICFz
aG91bGRTaG93UmVwbGF5SW50ZXJmYWNlKTsKICAgICB9CiAKICAgICBfY29udGV4dE1lbnVOYXZp
Z2F0aW9uQmFyT3JTdGF0dXNCYXIoKQpAQCAtNjA5LDYgKzY5OCwxMSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRz
IFdlYkluc3BlYwogICAgIH0KIH07CiAKK1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5l
bC5WaWV3TW9kZSA9IHsKKyAgICBUaW1lbGluZXM6ICJ0aW1lbGluZS1zaWRlYmFyLXBhbmVsLXZp
ZXctbW9kZS10aW1lbGluZXMiLAorICAgIFJlbmRlcmluZ0ZyYW1lczogInRpbWVsaW5lLXNpZGVi
YXItcGFuZWwtdmlldy1tb2RlLWZyYW1lcyIKK307CisKIFdlYkluc3BlY3Rvci5UaW1lbGluZVNp
ZGViYXJQYW5lbC5IaWRkZW5TdHlsZUNsYXNzTmFtZSA9ICJoaWRkZW4iOwogV2ViSW5zcGVjdG9y
LlRpbWVsaW5lU2lkZWJhclBhbmVsLlN0YXR1c0JhclN0eWxlQ2xhc3MgPSAic3RhdHVzLWJhciI7
CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuUmVjb3JkR2x5cGhTdHlsZUNsYXNz
ID0gInJlY29yZC1nbHlwaCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2Vi
SW5zcGVjdG9yVUkudmN4cHJvai9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1dlYkluc3BlY3RvclVJLnZjeHByb2ovV2ViSW5zcGVjdG9yVUkudmN4cHJvagpp
bmRleCA5MDI4ZjZmNzQ2Yjc1OTc3NTllMzJkMjY1Y2MwNDIyMTI1YzlhNmQ2Li5hYjk3Zjg5NGY5
MmJiOTIxZjhlNTVmNjY4OGQzYTVlZmJmMTZkZDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvV2ViSW5zcGVjdG9yVUkudmN4cHJvai9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qL1dlYkluc3Bl
Y3RvclVJLnZjeHByb2oKQEAgLTY5NSw2ICs2OTUsNyBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4u
XFVzZXJJbnRlcmZhY2VcTGVnYWN5XDYuMFxJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMiIC8+
CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxMZWdhY3lcNy4wXEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJm
YWNlXExlZ2FjeVw4LjBcSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIiAvPgorICAgIDxOb25l
IEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGluZWFyVGltZWxpbmVPdmVydmlldy5qcyIgLz4K
ICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExvYWRJbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxMb2Fk
TG9jYWxpemVkU3RyaW5ncy5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJm
YWNlXExvZ0NvbnRlbnRWaWV3LmNzcyIgLz4KQEAgLTczOSw2ICs3NDAsNyBAQAogICAgIDxOb25l
IEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVtb3RlT2JqZWN0LmpzIiAvPgogICAgIDxOb25l
IEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5nRnJhbWVEZXRhaWxzU2lkZWJhclBh
bmVsLmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5n
RnJhbWVUaW1lRGF0YUdyaWROb2RlLmpzIiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJ
bnRlcmZhY2VcUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3LmpzIiAvPgogICAgIDxOb25l
IEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3
R3JhcGguY3NzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVy
aW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGguanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0i
Li5cVXNlckludGVyZmFjZVxSZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmpzIiAvPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1dlYkluc3BlY3RvclVJLnZjeHByb2ovV2Vi
SW5zcGVjdG9yVUkudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1dlYklu
c3BlY3RvclVJLnZjeHByb2ovV2ViSW5zcGVjdG9yVUkudmN4cHJvai5maWx0ZXJzCmluZGV4IGNl
MWRiNjRiNTIwYmYyNTk4YTBkZTM2YjI0YjBlNTU2NmQ5YjUyMmQuLjdjNmYzNDgzZGE0ODg2OTIx
NWIwMGZkMzUxOWM0ZTE3ZDVjN2UxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qL1dlYkluc3BlY3RvclVJLnZjeHByb2ouZmlsdGVycwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2ViSW5zcGVjdG9yVUkudmN4cHJvai9XZWJJbnNw
ZWN0b3JVSS52Y3hwcm9qLmZpbHRlcnMKQEAgLTY1NCw2ICs2NTQsOSBAQAogICAgIDxOb25lIElu
Y2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGF5b3V0VGltZWxpbmVSZWNvcmQuanMiPgogICAgICAg
PEZpbHRlcj5Vc2VySW50ZXJmYWNlPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgorICAgIDxOb25lIElu
Y2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGluZWFyVGltZWxpbmVPdmVydmlldy5qcyI+CisgICAg
ICA8RmlsdGVyPlVzZXJJbnRlcmZhY2U8L0ZpbHRlcj4KKyAgICA8L05vbmU+CiAgICAgPE5vbmUg
SW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxMb2FkSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpz
Ij4KICAgICAgIDxGaWx0ZXI+VXNlckludGVyZmFjZTwvRmlsdGVyPgogICAgIDwvTm9uZT4KQEAg
LTc4Niw2ICs3ODksOSBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVu
ZGVyaW5nRnJhbWVUaW1lbGluZURhdGFHcmlkTm9kZS5qcyI+CiAgICAgICA8RmlsdGVyPlVzZXJJ
bnRlcmZhY2U8L0ZpbHRlcj4KICAgICA8L05vbmU+CisgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNl
ckludGVyZmFjZVxSZW5kZXJpbmdGcmFtZVRpbWVsaW5lT3ZlcnZpZXcuanMiPgorICAgICAgPEZp
bHRlcj5Vc2VySW50ZXJmYWNlPC9GaWx0ZXI+CisgICAgPC9Ob25lPgogICAgIDxOb25lIEluY2x1
ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcUmVuZGVyaW5nRnJhbWVUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
Y3NzIj4KICAgICAgIDxGaWx0ZXI+VXNlckludGVyZmFjZTwvRmlsdGVyPgogICAgIDwvTm9uZT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>