<?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>140155</bug_id>
          
          <creation_ts>2015-01-06 16:07:00 -0800</creation_ts>
          <short_desc>Web Inspector: Remove or use TimelineAgent Resource related event types</short_desc>
          <delta_ts>2015-01-09 14:26:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>burg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059204</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-06 16:07:00 -0800</bug_when>
    <thetext>* SUMMARY
The TimelineAgent backend sends Network/Resource loading events that the frontend currently ignores:

    ScheduleResourceRequest
    ResourceSendRequest
    ResourceReceiveResponse
    ResourceReceivedData
    ResourceFinish

Instead of using these events, the frontend uses Network agent events (WebInspector.Resource and the TimestampsDidChange event).

Since these events are unused by the frontend they are just wasted messages. Either we should modify / adopt them, or just get rid of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059205</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-01-06 16:07:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/19392397&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059214</commentid>
    <comment_count>2</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-06 16:15:36 -0800</bug_when>
    <thetext>I vote for removal. The only advantage I see it ScheduleResourceRequest / ResourceSendRequest would potentially show interesting ancestor records for XHRs. We flatten the timeline records now, but we could use / show ancestor info if useful.

We use NetworkAgent because it is always reporting, not just when recording.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060033</commentid>
    <comment_count>3</comment_count>
      <attachid>244312</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-08 18:16:39 -0800</bug_when>
    <thetext>Created attachment 244312
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060053</commentid>
    <comment_count>4</comment_count>
      <attachid>244312</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-01-08 19:49:47 -0800</bug_when>
    <thetext>Comment on attachment 244312
[PATCH] Proposed Fix

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

&gt; Source/JavaScriptCore/inspector/protocol/Timeline.json:-9
&gt; -            &quot;enum&quot;: [&quot;EventDispatch&quot;, &quot;ScheduleStyleRecalculation&quot;, &quot;RecalculateStyles&quot;, &quot;InvalidateLayout&quot;, &quot;Layout&quot;, &quot;Paint&quot;, &quot;ScrollLayer&quot;, &quot;ResizeImage&quot;, &quot;ParseHTML&quot;, &quot;TimerInstall&quot;, &quot;TimerRemove&quot;, &quot;TimerFire&quot;, &quot;EvaluateScript&quot;, &quot;MarkLoad&quot;, &quot;MarkDOMContent&quot;, &quot;TimeStamp&quot;, &quot;Time&quot;, &quot;TimeEnd&quot;, &quot;ScheduleResourceRequest&quot;, &quot;ResourceSendRequest&quot;, &quot;ResourceReceiveResponse&quot;, &quot;ResourceReceivedData&quot;, &quot;ResourceFinish&quot;, &quot;XHRReadyStateChange&quot;, &quot;XHRLoad&quot;, &quot;FunctionCall&quot;, &quot;ProbeSample&quot;, &quot;ConsoleProfile&quot;, &quot;GCEvent&quot;, &quot;RequestAnimationFrame&quot;, &quot;CancelAnimationFrame&quot;, &quot;FireAnimationFrame&quot;, &quot;WebSocketCreate&quot;, &quot;WebSocketSendHandshakeRequest&quot;, &quot;WebSocketReceiveHandshakeResponse&quot;, &quot;WebSocketDestroy&quot;],

Remove from Legacy protocol versions too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060259</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-09 13:44:50 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 244312 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244312&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/inspector/protocol/Timeline.json:-9
&gt; &gt; -            &quot;enum&quot;: [&quot;EventDispatch&quot;, &quot;ScheduleStyleRecalculation&quot;, &quot;RecalculateStyles&quot;, &quot;InvalidateLayout&quot;, &quot;Layout&quot;, &quot;Paint&quot;, &quot;ScrollLayer&quot;, &quot;ResizeImage&quot;, &quot;ParseHTML&quot;, &quot;TimerInstall&quot;, &quot;TimerRemove&quot;, &quot;TimerFire&quot;, &quot;EvaluateScript&quot;, &quot;MarkLoad&quot;, &quot;MarkDOMContent&quot;, &quot;TimeStamp&quot;, &quot;Time&quot;, &quot;TimeEnd&quot;, &quot;ScheduleResourceRequest&quot;, &quot;ResourceSendRequest&quot;, &quot;ResourceReceiveResponse&quot;, &quot;ResourceReceivedData&quot;, &quot;ResourceFinish&quot;, &quot;XHRReadyStateChange&quot;, &quot;XHRLoad&quot;, &quot;FunctionCall&quot;, &quot;ProbeSample&quot;, &quot;ConsoleProfile&quot;, &quot;GCEvent&quot;, &quot;RequestAnimationFrame&quot;, &quot;CancelAnimationFrame&quot;, &quot;FireAnimationFrame&quot;, &quot;WebSocketCreate&quot;, &quot;WebSocketSendHandshakeRequest&quot;, &quot;WebSocketReceiveHandshakeResponse&quot;, &quot;WebSocketDestroy&quot;],
&gt; 
&gt; Remove from Legacy protocol versions too?

I figured I would leave them in so that we remember they existed. I&apos;m on the fence still about when we should leave something in for historical purposes or not. In the past we were removing unsupported features, because they wouldn&apos;t have worked at all. This however, was working so I feel leaving it in is okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060261</commentid>
    <comment_count>6</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-09 13:49:43 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 244312 [details]
&gt; &gt; [PATCH] Proposed Fix
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=244312&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/inspector/protocol/Timeline.json:-9
&gt; &gt; &gt; -            &quot;enum&quot;: [&quot;EventDispatch&quot;, &quot;ScheduleStyleRecalculation&quot;, &quot;RecalculateStyles&quot;, &quot;InvalidateLayout&quot;, &quot;Layout&quot;, &quot;Paint&quot;, &quot;ScrollLayer&quot;, &quot;ResizeImage&quot;, &quot;ParseHTML&quot;, &quot;TimerInstall&quot;, &quot;TimerRemove&quot;, &quot;TimerFire&quot;, &quot;EvaluateScript&quot;, &quot;MarkLoad&quot;, &quot;MarkDOMContent&quot;, &quot;TimeStamp&quot;, &quot;Time&quot;, &quot;TimeEnd&quot;, &quot;ScheduleResourceRequest&quot;, &quot;ResourceSendRequest&quot;, &quot;ResourceReceiveResponse&quot;, &quot;ResourceReceivedData&quot;, &quot;ResourceFinish&quot;, &quot;XHRReadyStateChange&quot;, &quot;XHRLoad&quot;, &quot;FunctionCall&quot;, &quot;ProbeSample&quot;, &quot;ConsoleProfile&quot;, &quot;GCEvent&quot;, &quot;RequestAnimationFrame&quot;, &quot;CancelAnimationFrame&quot;, &quot;FireAnimationFrame&quot;, &quot;WebSocketCreate&quot;, &quot;WebSocketSendHandshakeRequest&quot;, &quot;WebSocketReceiveHandshakeResponse&quot;, &quot;WebSocketDestroy&quot;],
&gt; &gt; 
&gt; &gt; Remove from Legacy protocol versions too?
&gt; 
&gt; I figured I would leave them in so that we remember they existed. I&apos;m on the
&gt; fence still about when we should leave something in for historical purposes
&gt; or not. In the past we were removing unsupported features, because they
&gt; wouldn&apos;t have worked at all. This however, was working so I feel leaving it
&gt; in is okay.

I would like us to eventually have well-typed payloads for timelines and other places we use InspectorObjects, because it would make it easier to properly construct them and write tests. This would require some changes to the code generator and protocol specification format. This legacy cruft type is unlikely to have much in common with any feature along these lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060273</commentid>
    <comment_count>7</comment_count>
      <attachid>244312</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-09 14:26:31 -0800</bug_when>
    <thetext>Comment on attachment 244312
[PATCH] Proposed Fix

Clearing flags on attachment: 244312

Committed r178201: &lt;http://trac.webkit.org/changeset/178201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060274</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-09 14:26:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244312</attachid>
            <date>2015-01-08 18:16:39 -0800</date>
            <delta_ts>2015-01-09 14:26:31 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>remove-timeline-events.patch</filename>
            <type>text/plain</type>
            <size>34995</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDAzOTk5M2UuLjRiYzg4ZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE1LTAxLTA4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3Zl
IG9yIHVzZSBUaW1lbGluZUFnZW50IFJlc291cmNlIHJlbGF0ZWQgZXZlbnQgdHlwZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE1NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB1bnVzZWQg
LyBzdGFsZSBUaW1lbGluZSBldmVudCB0eXBlcy4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90
b2NvbC9UaW1lbGluZS5qc29uOgorCisyMDE1LTAxLTA4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogUGF1c2UgUmVhc29uIElt
cHJvdmVtZW50cyAoQnJlYWtwb2ludCwgRGVidWdnZXIgU3RhdGVtZW50LCBQYXVzZSBvbiBOZXh0
IFN0YXRlbWVudCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzODk5MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL1RpbWVsaW5lLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL1RpbWVsaW5lLmpzb24KaW5kZXggOTVhYjIwNy4uZDkyODg2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9UaW1lbGluZS5qc29u
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvVGltZWxpbmUu
anNvbgpAQCAtNiw3ICs2LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgImlkIjogIkV2ZW50
VHlwZSIsCiAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAotICAgICAgICAgICAgImVudW0i
OiBbIkV2ZW50RGlzcGF0Y2giLCAiU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24iLCAiUmVjYWxj
dWxhdGVTdHlsZXMiLCAiSW52YWxpZGF0ZUxheW91dCIsICJMYXlvdXQiLCAiUGFpbnQiLCAiU2Ny
b2xsTGF5ZXIiLCAiUmVzaXplSW1hZ2UiLCAiUGFyc2VIVE1MIiwgIlRpbWVySW5zdGFsbCIsICJU
aW1lclJlbW92ZSIsICJUaW1lckZpcmUiLCAiRXZhbHVhdGVTY3JpcHQiLCAiTWFya0xvYWQiLCAi
TWFya0RPTUNvbnRlbnQiLCAiVGltZVN0YW1wIiwgIlRpbWUiLCAiVGltZUVuZCIsICJTY2hlZHVs
ZVJlc291cmNlUmVxdWVzdCIsICJSZXNvdXJjZVNlbmRSZXF1ZXN0IiwgIlJlc291cmNlUmVjZWl2
ZVJlc3BvbnNlIiwgIlJlc291cmNlUmVjZWl2ZWREYXRhIiwgIlJlc291cmNlRmluaXNoIiwgIlhI
UlJlYWR5U3RhdGVDaGFuZ2UiLCAiWEhSTG9hZCIsICJGdW5jdGlvbkNhbGwiLCAiUHJvYmVTYW1w
bGUiLCAiQ29uc29sZVByb2ZpbGUiLCAiR0NFdmVudCIsICJSZXF1ZXN0QW5pbWF0aW9uRnJhbWUi
LCAiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiLCAiRmlyZUFuaW1hdGlvbkZyYW1lIiwgIldlYlNvY2tl
dENyZWF0ZSIsICJXZWJTb2NrZXRTZW5kSGFuZHNoYWtlUmVxdWVzdCIsICJXZWJTb2NrZXRSZWNl
aXZlSGFuZHNoYWtlUmVzcG9uc2UiLCAiV2ViU29ja2V0RGVzdHJveSJdLAorICAgICAgICAgICAg
ImVudW0iOiBbIkV2ZW50RGlzcGF0Y2giLCAiU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24iLCAi
UmVjYWxjdWxhdGVTdHlsZXMiLCAiSW52YWxpZGF0ZUxheW91dCIsICJMYXlvdXQiLCAiUGFpbnQi
LCAiU2Nyb2xsTGF5ZXIiLCAiUmVzaXplSW1hZ2UiLCAiUGFyc2VIVE1MIiwgIlRpbWVySW5zdGFs
bCIsICJUaW1lclJlbW92ZSIsICJUaW1lckZpcmUiLCAiRXZhbHVhdGVTY3JpcHQiLCAiTWFya0xv
YWQiLCAiTWFya0RPTUNvbnRlbnQiLCAiVGltZVN0YW1wIiwgIlRpbWUiLCAiVGltZUVuZCIsICJY
SFJSZWFkeVN0YXRlQ2hhbmdlIiwgIlhIUkxvYWQiLCAiRnVuY3Rpb25DYWxsIiwgIlByb2JlU2Ft
cGxlIiwgIkNvbnNvbGVQcm9maWxlIiwgIkdDRXZlbnQiLCAiUmVxdWVzdEFuaW1hdGlvbkZyYW1l
IiwgIkNhbmNlbEFuaW1hdGlvbkZyYW1lIiwgIkZpcmVBbmltYXRpb25GcmFtZSIsICJXZWJTb2Nr
ZXRDcmVhdGUiLCAiV2ViU29ja2V0U2VuZEhhbmRzaGFrZVJlcXVlc3QiLCAiV2ViU29ja2V0UmVj
ZWl2ZUhhbmRzaGFrZVJlc3BvbnNlIiwgIldlYlNvY2tldERlc3Ryb3kiXSwKICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJUaW1lbGluZSByZWNvcmQgdHlwZS4iCiAgICAgICAgIH0sCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAwYWFlMWMzLi5lZDJlZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNjIgQEAKKzIwMTUtMDEtMDggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW1vdmUgb3IgdXNlIFRpbWVsaW5lQWdlbnQg
UmVzb3VyY2UgcmVsYXRlZCBldmVudCB0eXBlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCB0aW1lbGluZSBldmVudHMuIFRoZSBm
cm9udGVuZCB3YXMgaWdub3JpbmcgdGhlc2UgZXZlbnRzCisgICAgICAgIGFuZCB3YXMgb2Z0ZW4g
YWxyZWFkeSBnZXR0aW5nIG5lYXJseSBpZGVudGljYWwgZGF0YSBmcm9tIHRoZSBOZXR3b3JrIGRv
bWFpbi4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFJlcXVlc3RJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlSW1w
bCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2Vp
dmVSZXNvdXJjZVJlc3BvbnNlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlQnV0Q2FuY2VsZWRJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmluaXNoTG9h
ZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRGYWlsTG9hZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRTY2hlZHVsZVJlc291cmNlUmVxdWVzdEltcGwpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNl
RGF0YUltcGwpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhSW1wbCk6IERlbGV0ZWQuCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVJl
c291cmNlUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndpbGxSZWNlaXZlUmVzb3VyY2VEYXRhKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291cmNlRGF0
YSk6IERlbGV0ZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9Qcm90b2NvbCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRTY2hlZHVsZVJlc291cmNlUmVxdWVzdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsU2VuZFJl
c291cmNlUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1l
bGluZUFnZW50Ojp3aWxsUmVjZWl2ZVJlc291cmNlRGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VEYXRhKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxS
ZWNlaXZlUmVzb3VyY2VSZXNwb25zZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaW5pc2hMb2Fk
aW5nUmVzb3VyY2UpOiBEZWxldGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVNjaGVk
dWxlUmVzb3VyY2VSZXF1ZXN0RGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpUaW1l
bGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlU2VuZFJlcXVlc3REYXRhKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVzb3Vy
Y2VSZWNlaXZlUmVzcG9uc2VEYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVs
aW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVzb3VyY2VGaW5pc2hEYXRhKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVjZWl2ZVJlc291
cmNlRGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFj
dG9yeS5oOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2UpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVz
cG9uc2UpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUxvYWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpub3RpZnlEaWRTY2hlZHVsZVJl
c291cmNlUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFNj
aGVkdWxlci5oOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVCdWZmZXIpOgorICAgICAgICAqIGxvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGljYXRpb25DYWNoZUdyb3VwOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAqIGxv
YWRlci9tYWMvUmVzb3VyY2VMb2FkZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGFBcnJheSk6CisKIDIwMTUtMDEtMDggIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgY29uY2VwdCBvZiAi
cmV0YWluZWQiIGZvbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMGRkOThiYS4uMGFjMDM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTk0NSw3ICs5NDUsNiBAQCBfX1pON1dlYkNvcmUyMVJl
c291cmNlTG9hZFNjaGVkdWxlcjIwc2VydmVQZW5kaW5nUmVxdWVzdHNFUE5TMF8xNUhvc3RJbmZv
cm1hdGlvbgogX19aTjdXZWJDb3JlMjFSZXNvdXJjZUxvYWRTY2hlZHVsZXIyMXJlc3VtZVBlbmRp
bmdSZXF1ZXN0c0V2CiBfX1pON1dlYkNvcmUyMVJlc291cmNlTG9hZFNjaGVkdWxlcjIyc3VzcGVu
ZFBlbmRpbmdSZXF1ZXN0c0V2CiBfX1pON1dlYkNvcmUyMVJlc291cmNlTG9hZFNjaGVkdWxlcjI0
c2NoZWR1bGVQbHVnaW5TdHJlYW1Mb2FkRVBOU181RnJhbWVFUE5TXzMyTmV0c2NhcGVQbHVnSW5T
dHJlYW1Mb2FkZXJDbGllbnRFUktOU18xNVJlc291cmNlUmVxdWVzdEUKLV9fWk43V2ViQ29yZTIx
UmVzb3VyY2VMb2FkU2NoZWR1bGVyMzJub3RpZnlEaWRTY2hlZHVsZVJlc291cmNlUmVxdWVzdEVQ
TlNfMTRSZXNvdXJjZUxvYWRlckUKIF9fWk43V2ViQ29yZTIxUmVzb3VyY2VMb2FkU2NoZWR1bGVy
NnJlbW92ZUVQTlNfMTRSZXNvdXJjZUxvYWRlckUKIF9fWk43V2ViQ29yZTIxUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyQzJFdgogX19aTjdXZWJDb3JlMjFSZXNvdXJjZUxvYWRTY2hlZHVsZXJEMkV2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCmluZGV4IDgzOTkwMzcuLmRhNWI1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC0yOTAsMTIgKzI5
MCw2IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFhNTEh0dHBSZXF1
ZXN0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpCiAgICAgICAgIGRvbURlYnVnZ2VyQWdlbnQt
PndpbGxTZW5kWE1MSHR0cFJlcXVlc3QodXJsKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0SW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBjb25zdCBTdHJpbmcmIHVybCwgRnJhbWUqIGZyYW1l
KQotewotICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCi0gICAgICAgIHRpbWVs
aW5lQWdlbnQtPmRpZFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0KHVybCwgZnJhbWUpOwotfQotCiB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVySW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnQgdGltZXJJZCwgaW50IHRpbWVv
dXQsIGJvb2wgc2luZ2xlU2hvdCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsK
ICAgICBwYXVzZU9uTmF0aXZlRXZlbnRJZk5lZWRlZChpbnN0cnVtZW50aW5nQWdlbnRzLCBmYWxz
ZSwgc2V0VGltZXJFdmVudE5hbWUsIHRydWUpOwpAQCAtNTU1LDggKzU0OSw2IEBAIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFJlcXVlc3RJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMmIGluc3RydW1lCiAgICAgaWYgKCFsb2FkZXIpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGlu
Z0FnZW50cy5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCi0gICAgICAgIHRpbWVsaW5lQWdlbnQt
PndpbGxTZW5kUmVzb3VyY2VSZXF1ZXN0KGlkZW50aWZpZXIsIHJlcXVlc3QsIGxvYWRlci0+ZnJh
bWUoKSk7CiAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKICAgICAgICAgcmVz
b3VyY2VBZ2VudC0+d2lsbFNlbmRSZXF1ZXN0KGlkZW50aWZpZXIsICpsb2FkZXIsIHJlcXVlc3Qs
IHJlZGlyZWN0UmVzcG9uc2UpOwogfQpAQCAtNTg0LDMxICs1NzYsOSBAQCB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlSW1wbChJbnN0
cnVtZW50aW5nQQogICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRMb2FkUmVzb3VyY2VGcm9tTWVt
b3J5Q2FjaGUoKmxvYWRlciwgKmNhY2hlZFJlc291cmNlKTsKIH0KIAotSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNv
dXJjZURhdGFJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZy
YW1lKiBmcmFtZSwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoKQorSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJl
Y2VpdmVSZXNvdXJjZVJlc3BvbnNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50
aW5nQWdlbnRzKQogewotICAgIGludCB0aW1lbGluZUFnZW50SWQgPSAwOwotICAgIGlmIChJbnNw
ZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5p
bnNwZWN0b3JUaW1lbGluZUFnZW50KCkpIHsKLSAgICAgICAgdGltZWxpbmVBZ2VudC0+d2lsbFJl
Y2VpdmVSZXNvdXJjZURhdGEoaWRlbnRpZmllciwgZnJhbWUsIGxlbmd0aCk7Ci0gICAgICAgIHRp
bWVsaW5lQWdlbnRJZCA9IHRpbWVsaW5lQWdlbnQtPmlkKCk7Ci0gICAgfQotICAgIHJldHVybiBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoaW5zdHJ1bWVudGluZ0FnZW50cywgdGltZWxp
bmVBZ2VudElkKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2Vp
dmVSZXNvdXJjZURhdGFJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYg
Y29va2llKQotewotICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50
ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCi0gICAgICAgIHRpbWVsaW5lQWdlbnQt
PmRpZFJlY2VpdmVSZXNvdXJjZURhdGEoKTsKLX0KLQotSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3Bv
bnNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSog
ZnJhbWUsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UpCi17Ci0gICAgaW50IHRpbWVsaW5lQWdlbnRJZCA9IDA7Ci0gICAgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVj
dG9yVGltZWxpbmVBZ2VudCgpOwotICAgIGlmICh0aW1lbGluZUFnZW50ICYmIGZyYW1lKSB7Ci0g
ICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZShpZGVudGlm
aWVyLCByZXNwb25zZSwgZnJhbWUpOwotICAgICAgICB0aW1lbGluZUFnZW50SWQgPSB0aW1lbGlu
ZUFnZW50LT5pZCgpOwotICAgIH0KLSAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llKGluc3RydW1lbnRpbmdBZ2VudHMsIHRpbWVsaW5lQWdlbnRJZCk7CisgICAgcmV0dXJu
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZShpbnN0cnVtZW50aW5nQWdlbnRzLCAwKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJl
c3BvbnNlSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgUmVzb3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVy
KQpAQCAtNjIxLDggKzU5MSw2IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRS
ZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zCiAKICAgICBJbnN0
cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzID0gKmNvb2tpZS5pbnN0cnVtZW50
aW5nQWdlbnRzKCk7CiAKLSAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVB
Z2VudCA9IHJldHJpZXZlVGltZWxpbmVBZ2VudChjb29raWUpKQotICAgICAgICB0aW1lbGluZUFn
ZW50LT5kaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSgpOwogICAgIGlmIChJbnNwZWN0b3JSZXNv
dXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JS
ZXNvdXJjZUFnZW50KCkpCiAgICAgICAgIHJlc291cmNlQWdlbnQtPmRpZFJlY2VpdmVSZXNwb25z
ZShpZGVudGlmaWVyLCAqbG9hZGVyLCByZXNwb25zZSwgcmVzb3VyY2VMb2FkZXIpOwogICAgIGlm
IChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMud2Vi
Q29uc29sZUFnZW50KCkpCkBAIC02MzQsNyArNjAyLDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlQnV0Q2FuY2VsZWRJbXBsKEZyYW1l
KgogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxS
ZWNlaXZlUmVzb3VyY2VSZXNwb25zZShmcmFtZSwgaWRlbnRpZmllciwgcik7CisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKGZyYW1lKTsKICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKGNvb2tpZSwgaWRlbnRpZmll
ciwgJmxvYWRlciwgciwgbnVsbHB0cik7CiB9CiAKQEAgLTY2NCw4ICs2MzIsNiBAQCB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmluaXNoTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyYgaW5zdHJ1bQogICAgIGlmICghbG9hZGVyKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRp
bmdBZ2VudHMuaW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQotICAgICAgICB0aW1lbGluZUFnZW50
LT5kaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgZmFsc2UsIGZpbmlzaFRpbWUs
IGxvYWRlci0+ZnJhbWUoKSk7CiAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291
cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkK
ICAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyLCAqbG9h
ZGVyLCBmaW5pc2hUaW1lKTsKIH0KQEAgLTY3NSw4ICs2NDEsNiBAQCB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkRmFpbExvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGlu
c3RydW1lbgogICAgIGlmICghbG9hZGVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoSW5z
cGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMu
aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQotICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRGaW5p
c2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSwgMCwgbG9hZGVyLT5mcmFtZSgpKTsK
ICAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQogICAgICAgICByZXNvdXJjZUFn
ZW50LT5kaWRGYWlsTG9hZGluZyhpZGVudGlmaWVyLCAqbG9hZGVyLCBlcnJvcik7CiAgICAgaWYg
KFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy53ZWJD
b25zb2xlQWdlbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCAzMjIxODI4Li4yZDlkNjFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0x
MzcsNyArMTM3LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGZvcmNlUHNldWRvU3RhdGUo
RWxlbWVudCYsIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1R5cGUpOwogCiAgICAgc3RhdGljIHZv
aWQgd2lsbFNlbmRYTUxIdHRwUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3Qg
U3RyaW5nJiB1cmwpOwotICAgIHN0YXRpYyB2b2lkIGRpZFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0
KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIGRpZEluc3Rh
bGxUaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgaW50IHRpbWVySWQsIGludCB0aW1lb3V0
LCBib29sIHNpbmdsZVNob3QpOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlbW92ZVRpbWVyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBpbnQgdGltZXJJZCk7CiAKQEAgLTE3NSw5ICsxNzQsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgY29udGludWVBZnRlclBpbmdMb2FkZXIoRnJhbWUmLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHN0YXRpYyB2b2lkIG1hcmtSZXNvdXJj
ZUFzQ2FjaGVkKFBhZ2UmLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwogICAgIHN0YXRpYyB2
b2lkIGRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShQYWdlJiwgRG9jdW1lbnRMb2FkZXIq
LCBDYWNoZWRSZXNvdXJjZSopOwotICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbFJlY2VpdmVSZXNvdXJjZURhdGEoRnJhbWUqLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGludCBsZW5ndGgpOwotICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVSZXNvdXJjZURh
dGEoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7Ci0gICAgc3RhdGljIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2Uo
RnJhbWUqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
KTsKKyAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxSZWNlaXZl
UmVzb3VyY2VSZXNwb25zZShGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVSZXNv
dXJjZVJlc3BvbnNlKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiwgUmVzb3VyY2VMb2FkZXIqKTsKICAgICBzdGF0aWMgdm9pZCBjb250aW51ZUFmdGVyWEZy
YW1lT3B0aW9uc0RlbmllZChGcmFtZSosIERvY3VtZW50TG9hZGVyJiwgdW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgc3RhdGljIHZvaWQgY29u
dGludWVXaXRoUG9saWN5RG93bmxvYWQoRnJhbWUqLCBEb2N1bWVudExvYWRlciYsIHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwpAQCAtMzM2LDcgKzMz
Myw2IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgZm9yY2VQc2V1ZG9TdGF0ZUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYsIEVsZW1lbnQmLCBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NUeXBl
KTsKIAogICAgIHN0YXRpYyB2b2lkIHdpbGxTZW5kWE1MSHR0cFJlcXVlc3RJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMmLCBjb25zdCBTdHJpbmcmIHVybCk7Ci0gICAgc3RhdGljIHZvaWQgZGlkU2No
ZWR1bGVSZXNvdXJjZVJlcXVlc3RJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBjb25zdCBTdHJp
bmcmIHVybCwgRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRJbnN0YWxsVGltZXJJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmLCBpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xl
U2hvdCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlbW92
ZVRpbWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgaW50IHRpbWVySWQsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKIApAQCAtMzc0LDkgKzM3MCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGlj
IHZvaWQgY29udGludWVBZnRlclBpbmdMb2FkZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHN0YXRpYyB2b2lkIG1hcmtSZXNvdXJj
ZUFzQ2FjaGVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyKTsKICAgICBzdGF0aWMgdm9pZCBkaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMmLCBEb2N1bWVudExvYWRlciosIENhY2hlZFJlc291cmNlKik7
Ci0gICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUmVjZWl2ZVJl
c291cmNlRGF0YUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lKiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlUmVz
b3VyY2VEYXRhSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKLSAg
ICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxSZWNlaXZlUmVzb3Vy
Y2VSZXNwb25zZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lKiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgc3RhdGljIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2VJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMmKTsKICAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlUmVzb3Vy
Y2VSZXNwb25zZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmLCBSZXNvdXJjZUxvYWRlciopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVSZXNv
dXJjZVJlc3BvbnNlQnV0Q2FuY2VsZWRJbXBsKEZyYW1lKiwgRG9jdW1lbnRMb2FkZXImLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKICAgICBzdGF0
aWMgdm9pZCBjb250aW51ZUFmdGVyWEZyYW1lT3B0aW9uc0RlbmllZEltcGwoRnJhbWUqLCBEb2N1
bWVudExvYWRlciYsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOwpAQCAtODA1LDE4ICs3OTksNiBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxTZW5kWE1MSHR0cFJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udAogI2Vu
ZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2NoZWR1
bGVSZXNvdXJjZVJlcXVlc3QoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHVybCkK
LXsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwotICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKLSAgICAgICAg
ZGlkU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RJbXBsKCppbnN0cnVtZW50aW5nQWdlbnRzLCB1cmws
IGRvY3VtZW50LT5mcmFtZSgpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsK
LSAgICBVTlVTRURfUEFSQU0odXJsKTsKLSNlbmRpZgotfQotCiBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxUaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKIHsK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpAQCAtMTI0MiwzNiArMTIyNCwxMSBAQCBpbmxpbmUgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNo
ZShQYWdlJiBwYWdlLAogI2VuZGlmCiB9CiAKLWlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlRGF0
YShGcmFtZSogZnJhbWUsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxlbmd0aCkKK2lu
bGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UoRnJhbWUqIGZyYW1lKQogewogI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0gICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbkNvb2tpZSgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkp
Ci0gICAgICAgIHJldHVybiB3aWxsUmVjZWl2ZVJlc291cmNlRGF0YUltcGwoKmluc3RydW1lbnRp
bmdBZ2VudHMsIGZyYW1lLCBpZGVudGlmaWVyLCBsZW5ndGgpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKLSAgICBVTlVTRURf
UEFSQU0obGVuZ3RoKTsKLSNlbmRpZgotICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUoKTsKLX0KLQotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRSZWNlaXZlUmVzb3VyY2VEYXRhKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSYgY29va2llKQotewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgRkFTVF9SRVRVUk5fSUZf
Tk9fRlJPTlRFTkRTKHZvaWQoKSk7Ci0gICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCi0gICAgICAg
IGRpZFJlY2VpdmVSZXNvdXJjZURhdGFJbXBsKGNvb2tpZSk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShjb29raWUpOwotI2VuZGlmCi19Ci0KLWlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlUmVz
cG9uc2UoRnJhbWUqIGZyYW1lLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQotewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRnJhbWUoZnJhbWUpKQotICAgICAgICByZXR1cm4gd2lsbFJlY2VpdmVSZXNvdXJj
ZVJlc3BvbnNlSW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUsIGlkZW50aWZpZXIsIHJl
c3BvbnNlKTsKKyAgICAgICAgcmV0dXJuIHdpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwo
Kmluc3RydW1lbnRpbmdBZ2VudHMpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwog
ICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA4OGNjZGIxLi4yYTkxMDMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuY3BwCkBAIC00MzksNDQgKzQzOSw2IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6ZGlkRXZhbHVhdGVTY3JpcHQoRnJhbWUmIGZyYW1lKQogICAgIGRpZENvbXBsZXRlQ3VycmVu
dFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRlU2NyaXB0KTsKIH0KIAotdm9pZCBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRTY2hlZHVsZVJlc291cmNlUmVxdWVzdChjb25zdCBT
dHJpbmcmIHVybCwgRnJhbWUqIGZyYW1lKQotewotICAgIGFwcGVuZFJlY29yZChUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmNyZWF0ZVNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0RGF0YSh1cmwpLCBUaW1l
bGluZVJlY29yZFR5cGU6OlNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0LCB0cnVlLCBmcmFtZSk7Ci19
Ci0KLXZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3Qo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IEZyYW1lKiBmcmFtZSkKLXsKLSAgICBTdHJpbmcgcmVxdWVzdElkID0gSWRlbnRpZmllcnNGYWN0
b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7Ci0gICAgYXBwZW5kUmVjb3JkKFRpbWVsaW5lUmVj
b3JkRmFjdG9yeTo6Y3JlYXRlUmVzb3VyY2VTZW5kUmVxdWVzdERhdGEocmVxdWVzdElkLCByZXF1
ZXN0KSwgVGltZWxpbmVSZWNvcmRUeXBlOjpSZXNvdXJjZVNlbmRSZXF1ZXN0LCB0cnVlLCBmcmFt
ZSk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFJlY2VpdmVSZXNvdXJj
ZURhdGEodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBGcmFtZSogZnJhbWUsIGludCBsZW5ndGgp
Ci17Ci0gICAgU3RyaW5nIHJlcXVlc3RJZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElk
KGlkZW50aWZpZXIpOwotICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlUmVjZWl2ZVJlc291cmNlRGF0YShyZXF1ZXN0SWQsIGxlbmd0aCksIFRpbWVsaW5l
UmVjb3JkVHlwZTo6UmVzb3VyY2VSZWNlaXZlZERhdGEsIGZhbHNlLCBmcmFtZSk7Ci19Ci0KLXZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUmVjZWl2ZVJlc291cmNlRGF0YSgpCi17Ci0g
ICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6UmVzb3VyY2VS
ZWNlaXZlZERhdGEpOwotfQotCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxSZWNl
aXZlUmVzb3VyY2VSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBGcmFtZSogZnJhbWUpCi17Ci0gICAgU3RyaW5nIHJlcXVl
c3RJZCA9IElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpOwotICAgIHB1
c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVzb3VyY2VSZWNl
aXZlUmVzcG9uc2VEYXRhKHJlcXVlc3RJZCwgcmVzcG9uc2UpLCBUaW1lbGluZVJlY29yZFR5cGU6
OlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlLCBmYWxzZSwgZnJhbWUpOwotfQotCi12b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKCkKLXsKLSAgICBk
aWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpSZXNvdXJjZVJlY2Vp
dmVSZXNwb25zZSk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRmluaXNo
TG9hZGluZ1Jlc291cmNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgYm9vbCBkaWRGYWlsLCBk
b3VibGUgZmluaXNoVGltZSwgRnJhbWUqIGZyYW1lKQotewotICAgIGFwcGVuZFJlY29yZChUaW1l
bGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlRmluaXNoRGF0YShJZGVudGlmaWVyc0Zh
Y3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVyKSwgZGlkRmFpbCwgZmluaXNoVGltZSAqIDEwMDAp
LCBUaW1lbGluZVJlY29yZFR5cGU6OlJlc291cmNlRmluaXNoLCBmYWxzZSwgZnJhbWUpOwotfQot
CiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFRpbWVTdGFtcChGcmFtZSYgZnJhbWUs
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBhcHBlbmRSZWNvcmQoVGltZWxpbmVSZWNv
cmRGYWN0b3J5OjpjcmVhdGVUaW1lU3RhbXBEYXRhKG1lc3NhZ2UpLCBUaW1lbGluZVJlY29yZFR5
cGU6OlRpbWVTdGFtcCwgdHJ1ZSwgJmZyYW1lKTsKQEAgLTYwNCwxNyArNTY2LDYgQEAgc3RhdGlj
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpFdmVudFR5cGUgdG9Qcm90b2NvbChUaW1l
bGluZVJlY29yZFR5cGUgdHkKICAgICBjYXNlIFRpbWVsaW5lUmVjb3JkVHlwZTo6VGltZUVuZDoK
ICAgICAgICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpFdmVudFR5cGU6
OlRpbWVFbmQ7CiAKLSAgICBjYXNlIFRpbWVsaW5lUmVjb3JkVHlwZTo6U2NoZWR1bGVSZXNvdXJj
ZVJlcXVlc3Q6Ci0gICAgICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpUaW1lbGluZTo6
RXZlbnRUeXBlOjpTY2hlZHVsZVJlc291cmNlUmVxdWVzdDsKLSAgICBjYXNlIFRpbWVsaW5lUmVj
b3JkVHlwZTo6UmVzb3VyY2VTZW5kUmVxdWVzdDoKLSAgICAgICAgcmV0dXJuIEluc3BlY3Rvcjo6
UHJvdG9jb2w6OlRpbWVsaW5lOjpFdmVudFR5cGU6OlJlc291cmNlU2VuZFJlcXVlc3Q7Ci0gICAg
Y2FzZSBUaW1lbGluZVJlY29yZFR5cGU6OlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlOgotICAgICAg
ICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6VGltZWxpbmU6OkV2ZW50VHlwZTo6UmVzb3Vy
Y2VSZWNlaXZlUmVzcG9uc2U7Ci0gICAgY2FzZSBUaW1lbGluZVJlY29yZFR5cGU6OlJlc291cmNl
UmVjZWl2ZWREYXRhOgotICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6VGltZWxp
bmU6OkV2ZW50VHlwZTo6UmVzb3VyY2VSZWNlaXZlZERhdGE7Ci0gICAgY2FzZSBUaW1lbGluZVJl
Y29yZFR5cGU6OlJlc291cmNlRmluaXNoOgotICAgICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90
b2NvbDo6VGltZWxpbmU6OkV2ZW50VHlwZTo6UmVzb3VyY2VGaW5pc2g7Ci0KICAgICBjYXNlIFRp
bWVsaW5lUmVjb3JkVHlwZTo6WEhSUmVhZHlTdGF0ZUNoYW5nZToKICAgICAgICAgcmV0dXJuIElu
c3BlY3Rvcjo6UHJvdG9jb2w6OlRpbWVsaW5lOjpFdmVudFR5cGU6OlhIUlJlYWR5U3RhdGVDaGFu
Z2U7CiAgICAgY2FzZSBUaW1lbGluZVJlY29yZFR5cGU6OlhIUkxvYWQ6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCAzZThlMTE0
Li4wMDA0ZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmgKQEAgLTkxLDEyICs5MSw2IEBAIGVudW0gY2xhc3MgVGltZWxpbmVSZWNv
cmRUeXBlIHsKICAgICBUaW1lLAogICAgIFRpbWVFbmQsCiAKLSAgICBTY2hlZHVsZVJlc291cmNl
UmVxdWVzdCwKLSAgICBSZXNvdXJjZVNlbmRSZXF1ZXN0LAotICAgIFJlc291cmNlUmVjZWl2ZVJl
c3BvbnNlLAotICAgIFJlc291cmNlUmVjZWl2ZWREYXRhLAotICAgIFJlc291cmNlRmluaXNoLAot
CiAgICAgWEhSUmVhZHlTdGF0ZUNoYW5nZSwKICAgICBYSFJMb2FkLAogCkBAIC0xNDMsNyArMTM3
LDYgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8SlNDOjpQcm9maWxlPiBzdG9wRnJvbUNvbnNv
bGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKIAogICAgIC8vIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbiBjYWxsYmFja3MuCi0gICAgdm9pZCBkaWRTY2hlZHVsZVJlc291
cmNlUmVxdWVzdChjb25zdCBTdHJpbmcmIHVybCwgRnJhbWUqKTsKICAgICB2b2lkIGRpZEluc3Rh
bGxUaW1lcihpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCwgRnJhbWUq
KTsKICAgICB2b2lkIGRpZFJlbW92ZVRpbWVyKGludCB0aW1lcklkLCBGcmFtZSopOwogICAgIHZv
aWQgd2lsbEZpcmVUaW1lcihpbnQgdGltZXJJZCwgRnJhbWUqKTsKQEAgLTE3MywxMiArMTY2LDYg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkVGltZVN0YW1wKEZyYW1lJiwgY29uc3QgU3RyaW5nJik7
CiAgICAgdm9pZCBkaWRNYXJrRE9NQ29udGVudEV2ZW50KEZyYW1lJik7CiAgICAgdm9pZCBkaWRN
YXJrTG9hZEV2ZW50KEZyYW1lJik7Ci0gICAgdm9pZCB3aWxsU2VuZFJlc291cmNlUmVxdWVzdCh1
bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZSopOwotICAgIHZvaWQg
d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmLCBGcmFtZSopOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc291cmNlUmVzcG9uc2Uo
KTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmdSZXNvdXJjZSh1bnNpZ25lZCBsb25nLCBib29s
IGRpZEZhaWwsIGRvdWJsZSBmaW5pc2hUaW1lLCBGcmFtZSopOwotICAgIHZvaWQgd2lsbFJlY2Vp
dmVSZXNvdXJjZURhdGEodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBGcmFtZSosIGludCBsZW5n
dGgpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc291cmNlRGF0YSgpOwogICAgIHZvaWQgZGlkUmVx
dWVzdEFuaW1hdGlvbkZyYW1lKGludCBjYWxsYmFja0lkLCBGcmFtZSopOwogICAgIHZvaWQgZGlk
Q2FuY2VsQW5pbWF0aW9uRnJhbWUoaW50IGNhbGxiYWNrSWQsIEZyYW1lKik7CiAgICAgdm9pZCB3
aWxsRmlyZUFuaW1hdGlvbkZyYW1lKGludCBjYWxsYmFja0lkLCBGcmFtZSopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAppbmRleCA3
ZTI0MDRjYy4uMDM3ZTQwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Rp
bWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Rp
bWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKQEAgLTE1Niw0OSArMTU2LDYgQEAgUmVmPEluc3BlY3Rv
ck9iamVjdD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVUaW1lU3RhbXBEYXRhKGNvbnN0
IFN0cmluZyYgbWUKICAgICByZXR1cm4gV1RGOjptb3ZlKGRhdGEpOwogfQogCi1SZWY8SW5zcGVj
dG9yT2JqZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVNjaGVkdWxlUmVzb3VyY2VS
ZXF1ZXN0RGF0YShjb25zdCBTdHJpbmcmIHVybCkKLXsKLSAgICBSZWY8SW5zcGVjdG9yT2JqZWN0
PiBkYXRhID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBkYXRhLT5zZXRTdHJpbmco
InVybCIsIHVybCk7Ci0gICAgcmV0dXJuIFdURjo6bW92ZShkYXRhKTsKLX0KLQotUmVmPEluc3Bl
Y3Rvck9iamVjdD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJjZVNlbmRSZXF1
ZXN0RGF0YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQotewotICAgIFJlZjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEgPSBJbnNwZWN0b3JPYmpl
Y3Q6OmNyZWF0ZSgpOwotICAgIGRhdGEtPnNldFN0cmluZygicmVxdWVzdElkIiwgcmVxdWVzdElk
KTsKLSAgICBkYXRhLT5zZXRTdHJpbmcoInVybCIsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkpOwot
ICAgIGRhdGEtPnNldFN0cmluZygicmVxdWVzdE1ldGhvZCIsIHJlcXVlc3QuaHR0cE1ldGhvZCgp
KTsKLSAgICByZXR1cm4gV1RGOjptb3ZlKGRhdGEpOwotfQotCi1SZWY8SW5zcGVjdG9yT2JqZWN0
PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJlc291cmNlUmVjZWl2ZVJlc3BvbnNlRGF0
YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCi17Ci0gICAgUmVmPEluc3BlY3Rvck9iamVjdD4gZGF0YSA9IEluc3BlY3Rvck9iamVjdDo6
Y3JlYXRlKCk7Ci0gICAgZGF0YS0+c2V0U3RyaW5nKCJyZXF1ZXN0SWQiLCByZXF1ZXN0SWQpOwot
ICAgIGRhdGEtPnNldEludGVnZXIoInN0YXR1c0NvZGUiLCByZXNwb25zZS5odHRwU3RhdHVzQ29k
ZSgpKTsKLSAgICBkYXRhLT5zZXRTdHJpbmcoIm1pbWVUeXBlIiwgcmVzcG9uc2UubWltZVR5cGUo
KSk7Ci0gICAgcmV0dXJuIFdURjo6bW92ZShkYXRhKTsKLX0KLQotUmVmPEluc3BlY3Rvck9iamVj
dD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSZXNvdXJjZUZpbmlzaERhdGEoY29uc3Qg
U3RyaW5nJiByZXF1ZXN0SWQsIGJvb2wgZGlkRmFpbCwgZG91YmxlIGZpbmlzaFRpbWUpCi17Ci0g
ICAgUmVmPEluc3BlY3Rvck9iamVjdD4gZGF0YSA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7
Ci0gICAgZGF0YS0+c2V0U3RyaW5nKCJyZXF1ZXN0SWQiLCByZXF1ZXN0SWQpOwotICAgIGRhdGEt
PnNldEJvb2xlYW4oImRpZEZhaWwiLCBkaWRGYWlsKTsKLSAgICBpZiAoZmluaXNoVGltZSkKLSAg
ICAgICAgZGF0YS0+c2V0RG91YmxlKCJuZXR3b3JrVGltZSIsIGZpbmlzaFRpbWUpOwotICAgIHJl
dHVybiBXVEY6Om1vdmUoZGF0YSk7Ci19Ci0KLVJlZjxJbnNwZWN0b3JPYmplY3Q+IFRpbWVsaW5l
UmVjb3JkRmFjdG9yeTo6Y3JlYXRlUmVjZWl2ZVJlc291cmNlRGF0YShjb25zdCBTdHJpbmcmIHJl
cXVlc3RJZCwgaW50IGxlbmd0aCkKLXsKLSAgICBSZWY8SW5zcGVjdG9yT2JqZWN0PiBkYXRhID0g
SW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBkYXRhLT5zZXRTdHJpbmcoInJlcXVlc3RJ
ZCIsIHJlcXVlc3RJZCk7Ci0gICAgZGF0YS0+c2V0SW50ZWdlcigiZW5jb2RlZERhdGFMZW5ndGgi
LCBsZW5ndGgpOwotICAgIHJldHVybiBXVEY6Om1vdmUoZGF0YSk7Ci19Ci0KIFJlZjxJbnNwZWN0
b3JPYmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlTGF5b3V0RGF0YSh1bnNpZ25l
ZCBkaXJ0eU9iamVjdHMsIHVuc2lnbmVkIHRvdGFsT2JqZWN0cywgYm9vbCBwYXJ0aWFsTGF5b3V0
KQogewogICAgIFJlZjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEgPSBJbnNwZWN0b3JPYmplY3Q6OmNy
ZWF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVj
b3JkRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFj
dG9yeS5oCmluZGV4IDBlZjU2OTAuLmQwYzQzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKQEAgLTc5LDE2ICs3OSw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6SW5zcGVjdG9y
T2JqZWN0PiBjcmVhdGVUaW1lU3RhbXBEYXRhKGNvbnN0IFN0cmluZyYpOwogCi0gICAgICAgIHN0
YXRpYyBSZWY8SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVJlc291cmNlU2VuZFJl
cXVlc3REYXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
KTsKLQotICAgICAgICBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0PiBjcmVh
dGVTY2hlZHVsZVJlc291cmNlUmVxdWVzdERhdGEoY29uc3QgU3RyaW5nJik7Ci0KLSAgICAgICAg
c3RhdGljIFJlZjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4gY3JlYXRlUmVzb3VyY2VSZWNl
aXZlUmVzcG9uc2VEYXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJik7Ci0KLSAgICAgICAgc3RhdGljIFJlZjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVj
dD4gY3JlYXRlUmVjZWl2ZVJlc291cmNlRGF0YShjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgaW50
IGxlbmd0aCk7Ci0KLSAgICAgICAgc3RhdGljIFJlZjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVj
dD4gY3JlYXRlUmVzb3VyY2VGaW5pc2hEYXRhKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBib29s
IGRpZEZhaWwsIGRvdWJsZSBmaW5pc2hUaW1lKTsKLQogICAgICAgICBzdGF0aWMgUmVmPEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVMYXlvdXREYXRhKHVuc2lnbmVkIGRpcnR5T2Jq
ZWN0cywgdW5zaWduZWQgdG90YWxPYmplY3RzLCBib29sIHBhcnRpYWxMYXlvdXQpOwogCiAgICAg
ICAgIHN0YXRpYyBSZWY8SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZURlY29kZUlt
YWdlRGF0YShjb25zdCBTdHJpbmcmIGltYWdlVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDY2OGYwMTAuLjMyMjk3
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXI6OmRpZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnMKICAg
ICBpZiAobV9hY3R1YWxSZXF1ZXN0KSB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICAgICAg
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IG1fZG9jdW1lbnQuZnJhbWUoKS0+bG9hZGVyKCkuZG9j
dW1lbnRMb2FkZXIoKTsKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNv
b2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3Bv
bnNlKG1fZG9jdW1lbnQuZnJhbWUoKSwgaWRlbnRpZmllciwgcmVzcG9uc2UpOworICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlUmVzcG9uc2UobV9kb2N1bWVudC5mcmFtZSgpKTsK
ICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNw
b25zZShjb29raWUsIGlkZW50aWZpZXIsIGxvYWRlciwgcmVzcG9uc2UsIDApOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4
IDE1N2JmNDMuLjcyYmRiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZE5vdGlmaWVyLmNwcApAQCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90
aWZpZXI6OmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVu
c2lnCiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3Bv
bnNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgciwgUmVzb3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVyKQog
ewotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZSgmbV9mcmFtZSwgaWRl
bnRpZmllciwgcik7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKCZt
X2ZyYW1lKTsKICAgICBtX2ZyYW1lLmxvYWRlcigpLmNsaWVudCgpLmRpc3BhdGNoRGlkUmVjZWl2
ZVJlc3BvbnNlKGxvYWRlciwgaWRlbnRpZmllciwgcik7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZShjb29raWUsIGlkZW50aWZpZXIsIGxv
YWRlciwgciwgcmVzb3VyY2VMb2FkZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAppbmRleCBjNGRkNjIwLi41MWFlYjg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMTkx
LDE4ICsxOTEsMTEgQEAgdm9pZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9hZChS
ZXNvdXJjZUxvYWRlciogcmVzb3VyY2VMb2FkZXIpCiAgICAgfQogI2VuZGlmCiAKLSAgICBub3Rp
ZnlEaWRTY2hlZHVsZVJlc291cmNlUmVxdWVzdChyZXNvdXJjZUxvYWRlcik7Ci0KICAgICAvLyBI
YW5kbGUgYXN5bmNocm9ub3VzbHkgc28gZWFybHkgbG93IHByaW9yaXR5IHJlcXVlc3RzIGRvbid0
CiAgICAgLy8gZ2V0IHNjaGVkdWxlZCBiZWZvcmUgbGF0ZXIgaGlnaCBwcmlvcml0eSBvbmVzLgog
ICAgIHNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUxv
YWRTY2hlZHVsZXI6Om5vdGlmeURpZFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0KFJlc291cmNlTG9h
ZGVyKiBsb2FkZXIpCi17Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVJlc291cmNlUmVxdWVzdChsb2FkZXItPmZyYW1lTG9hZGVyKCkgPyBsb2FkZXItPmZyYW1lTG9h
ZGVyKCktPmZyYW1lKCkuZG9jdW1lbnQoKSA6IG51bGxwdHIsIGxvYWRlci0+dXJsKCkpOwotfQot
CiAjaWYgVVNFKFFVSUNLX0xPT0spCiBib29sIFJlc291cmNlTG9hZFNjaGVkdWxlcjo6bWF5YmVM
b2FkUXVpY2tMb29rUmVzb3VyY2UoUmVzb3VyY2VMb2FkZXImIGxvYWRlcikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCAzNzAzNDM4NC4u
ZDA5NWI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNj
aGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuaApAQCAtNzUsOCArNzUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVz
b3VyY2VMb2FkU2NoZWR1bGVyKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+UmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG5vdGlmeURpZFNj
aGVkdWxlUmVzb3VyY2VSZXF1ZXN0KFJlc291cmNlTG9hZGVyKik7Ci0KICNpZiBVU0UoUVVJQ0tf
TE9PSykKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIG1heWJlTG9hZFF1aWNrTG9va1Jlc291cmNl
KFJlc291cmNlTG9hZGVyJik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDYxZmZiNjUuLjhkYjQ3NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNDg5LDE2ICs0ODksMTIgQEAgdm9pZCBSZXNvdXJjZUxv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYKIAogdm9pZCBSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoUmVzb3VyY2VI
YW5kbGUqLCBjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgsIGludCBlbmNvZGVkRGF0
YUxlbmd0aCkKIHsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0g
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlRGF0YShtX2ZyYW1l
LmdldCgpLCBpZGVudGlmaWVyKCksIGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICBkaWRSZWNlaXZl
RGF0YShkYXRhLCBsZW5ndGgsIGVuY29kZWREYXRhTGVuZ3RoLCBEYXRhUGF5bG9hZEJ5dGVzKTsK
LSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZURhdGEoY29v
a2llKTsKIH0KIAogdm9pZCBSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZUJ1ZmZlcihSZXNvdXJj
ZUhhbmRsZSosIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXIsIGludCBlbmNvZGVkRGF0
YUxlbmd0aCkKIHsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0g
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjZWl2ZVJlc291cmNlRGF0YShtX2ZyYW1l
LmdldCgpLCBpZGVudGlmaWVyKCksIGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICBkaWRSZWNlaXZl
QnVmZmVyKGJ1ZmZlciwgZW5jb2RlZERhdGFMZW5ndGgsIERhdGFQYXlsb2FkQnl0ZXMpOwotICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291cmNlRGF0YShjb29raWUp
OwogfQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKFJlc291cmNlSGFu
ZGxlKiwgZG91YmxlIGZpbmlzaFRpbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IGM3OTcxMDkuLjkx
YjBkOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC01MDMsNyArNTAzLDcgQEAgdm9pZCBBcHBsaWNh
dGlvbkNhY2hlR3JvdXA6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSogaGFuZGxl
LCBjb25zdCBSZXMKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIERvY3VtZW50TG9hZGVy
KiBsb2FkZXIgPSAoaGFuZGxlID09IG1fbWFuaWZlc3RIYW5kbGUpID8gbnVsbHB0ciA6IG1fZnJh
bWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2VpdmVS
ZXNvdXJjZVJlc3BvbnNlKG1fZnJhbWUsIG1fY3VycmVudFJlc291cmNlSWRlbnRpZmllciwgcmVz
cG9uc2UpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZShtX2ZyYW1l
KTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZVJlc3Bv
bnNlKGNvb2tpZSwgbV9jdXJyZW50UmVzb3VyY2VJZGVudGlmaWVyLCBsb2FkZXIsIHJlc3BvbnNl
LCAwKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvbWFjL1Jl
c291cmNlTG9hZGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL21hYy9SZXNvdXJjZUxv
YWRlck1hYy5tbQppbmRleCA3OThmNDRiLi4yNmI0Y2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvbWFjL1Jlc291cmNlTG9hZGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9tYWMvUmVzb3VyY2VMb2FkZXJNYWMubW0KQEAgLTk4LDExICs5OCw3IEBAIHZvaWQg
UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhQXJyYXkoUmVzb3VyY2VIYW5kbGUqLCBDRkFy
cmF5UmVmIGRhdGFBcnJheSkKICAgICAgICAgZGF0YUxlbmd0aCArPSBDRkRhdGFHZXRMZW5ndGgo
ZGF0YSk7CiAgICAgfQogCi0gICAgLy8gRklYTUU6IGRpZFJlY2VpdmVEYXRhKCkgcGFzc2VzIGVu
Y29kZWQgZGF0YSBsZW5ndGggdG8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLCBidXQgaXQgaXMg
bm90IGF2YWlsYWJsZSBoZXJlLgotICAgIC8vIFRoaXMgcHJvYmFibHkgcmVzdWx0cyBpbiBpbmNv
cnJlY3Qgc2l6ZSBiZWluZyBkaXNwbGF5ZWQgaW4gV2ViIEluc3BlY3Rvci4KLSAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp3aWxsUmVjZWl2ZVJlc291cmNlRGF0YShtX2ZyYW1lLmdldCgpLCBpZGVudGlmaWVyKCksIGRh
dGFMZW5ndGgpOwogICAgIGRpZFJlY2VpdmVEYXRhQXJyYXkoZGF0YUFycmF5KTsKLSAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJjZURhdGEoY29va2llKTsKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjcyOTUzNi4uNzUyYmQ2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDE1LTAxLTA4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIG9yIHVzZSBUaW1lbGluZUFn
ZW50IFJlc291cmNlIHJlbGF0ZWQgZXZlbnQgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZFNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6c2NoZWR1bGVMb2FkKToKKwogMjAxNS0wMS0wOCAgRGVhbiBKYWNrc29uICA8ZGlub0Bh
cHBsZS5jb20+CiAKICAgICAgICAgVGV4dCBub3QgZHJhd24gb3Igd2hpdGUtb24td2hpdGUgZm9y
ICJDbG9zZSBQYWdlIi8iR28gQmFjayIgYnV0dG9uIG9uIHNhZmUgYnJvd3Npbmcgd2FybmluZyBw
YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IGVjOTBmZTkuLjQzNDc5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCkBAIC0xODgsOCArMTg4LDYgQEAgdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciogcmVzb3Vy
Y2VMb2FkZXIsIENhY2gKICAgICB9CiAgICAgCiAgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0
KGlkZW50aWZpZXIsIFdlYlJlc291cmNlTG9hZGVyOjpjcmVhdGUocmVzb3VyY2VMb2FkZXIpKTsK
LSAgICAKLSAgICBub3RpZnlEaWRTY2hlZHVsZVJlc291cmNlUmVxdWVzdChyZXNvdXJjZUxvYWRl
cik7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUludGVybmFs
bHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlcikK
</data>

          </attachment>
      

    </bug>

</bugzilla>