<?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>139265</bug_id>
          
          <creation_ts>2014-12-04 12:31:24 -0800</creation_ts>
          <short_desc>[MSE] Add support for SourceBuffer.mode.</short_desc>
          <delta_ts>2014-12-16 13:29:09 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>b.gajda</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1052536</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-12-04 12:31:24 -0800</bug_when>
    <thetext>[MSE] Add support for SourceBuffer.mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1052814</commentid>
    <comment_count>1</comment_count>
      <attachid>242650</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-12-05 13:06:06 -0800</bug_when>
    <thetext>Created attachment 242650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053289</commentid>
    <comment_count>2</comment_count>
      <attachid>242650</attachid>
    <who name="Bartlomiej Gajda">b.gajda</who>
    <bug_when>2014-12-08 00:09:28 -0800</bug_when>
    <thetext>Comment on attachment 242650
Patch

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

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:126
&gt;      , m_highestPresentationEndTimestamp(MediaTime::invalidTime())

This shall be removed, if You want to introduce groupStartTime - You should do it completely in one batch, as it was renamed in standard. I had bug https://bugs.webkit.org/show_bug.cgi?id=139040 which I&apos;ll mark as duplicate of this, if You do it all in one batch. I don&apos;t see any reason not to.

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1270
&gt;              // Set group start timestamp equal to the highest presentation end timestamp.

Should be: &quot;Set group start timestamp equal to the group end timestamp.&quot;

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1271
&gt; +            m_groupStartTimestamp = m_highestPresentationEndTimestamp;

should use groupEndtimestamp

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1462
&gt;          if (m_highestPresentationEndTimestamp.isInvalid() || frameEndTimestamp &gt; m_highestPresentationEndTimestamp)

Above this should be : If frame end timestamp is greater than group end timestamp, then set group end timestamp equal to frame end timestamp.
And this line should be only second expression renamed. (since it&apos;s set to 0 by standard anyway)

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1463
&gt;              m_highestPresentationEndTimestamp = frameEndTimestamp;

Should use m_groupEndTimestamp, also on 1428 with setDurationInternal

&gt; Source/WebCore/Modules/mediasource/SourceBuffer.h:207
&gt;      MediaTime m_highestPresentationEndTimestamp;

Should remove this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053389</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-12-08 08:48:11 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 242650 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=242650&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:126
&gt; &gt;      , m_highestPresentationEndTimestamp(MediaTime::invalidTime())
&gt; 
&gt; This shall be removed, if You want to introduce groupStartTime - You should
&gt; do it completely in one batch, as it was renamed in standard. I had bug
&gt; https://bugs.webkit.org/show_bug.cgi?id=139040 which I&apos;ll mark as duplicate
&gt; of this, if You do it all in one batch. I don&apos;t see any reason not to.

Good point. I&apos;ll update the patch with these changes.

&gt; &gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1270
&gt; &gt;              // Set group start timestamp equal to the highest presentation end timestamp.
&gt; 
&gt; Should be: &quot;Set group start timestamp equal to the group end timestamp.&quot;
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1271
&gt; &gt; +            m_groupStartTimestamp = m_highestPresentationEndTimestamp;
&gt; 
&gt; should use groupEndtimestamp
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1462
&gt; &gt;          if (m_highestPresentationEndTimestamp.isInvalid() || frameEndTimestamp &gt; m_highestPresentationEndTimestamp)
&gt; 
&gt; Above this should be : If frame end timestamp is greater than group end
&gt; timestamp, then set group end timestamp equal to frame end timestamp.
&gt; And this line should be only second expression renamed. (since it&apos;s set to 0
&gt; by standard anyway)
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasource/SourceBuffer.cpp:1463
&gt; &gt;              m_highestPresentationEndTimestamp = frameEndTimestamp;
&gt; 
&gt; Should use m_groupEndTimestamp, also on 1428 with setDurationInternal
&gt; 
&gt; &gt; Source/WebCore/Modules/mediasource/SourceBuffer.h:207
&gt; &gt;      MediaTime m_highestPresentationEndTimestamp;
&gt; 
&gt; Should remove this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053626</commentid>
    <comment_count>4</comment_count>
      <attachid>242873</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-12-08 20:17:16 -0800</bug_when>
    <thetext>Created attachment 242873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053720</commentid>
    <comment_count>5</comment_count>
    <who name="Bartlomiej Gajda">b.gajda</who>
    <bug_when>2014-12-09 02:25:07 -0800</bug_when>
    <thetext>*** Bug 139040 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054868</commentid>
    <comment_count>6</comment_count>
      <attachid>242873</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-12 11:27:13 -0800</bug_when>
    <thetext>Comment on attachment 242873
Patch

Clearing flags on attachment: 242873

Committed r177225: &lt;http://trac.webkit.org/changeset/177225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054869</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-12 11:27:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056111</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-12-16 13:29:09 -0800</bug_when>
    <thetext>&lt;rdar://problem/19269069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242650</attachid>
            <date>2014-12-05 13:06:06 -0800</date>
            <delta_ts>2014-12-08 20:17:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139265-20141205130641.patch</filename>
            <type>text/plain</type>
            <size>27415</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRlOGNhYjg0NzhlM2Q5
YWZlNjM1MWYyZWVjZmU3MTQyMTA2NGNjNC4uZGE1YWE4YjMwMmYyYWMxNTA0N2RjN2E4NzRmMmI2
ZDI4NmJlZjY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE0LTEyLTA0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBTb3VyY2VCdWZmZXIubW9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzOTI2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFN1cHBvcnQgc2V0dGluZyBTb3VyY2VCdWZmZXIncyBtb2RlIHByb3Bl
cnR5LCBhbmQgYWRkIHN1cHBvcnQgZm9yICJzZXF1ZW5jZSIgbW9kZS4gUHJpb3IKKyAgICAgICAg
dG8gdGhpcyBjaGFuZ2UsICJzZWdtZW50cyIgbW9kZSB3YXMgaW1wbGllZC4KKworICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNv
dXJjZTo6cmVnZW5lcmF0ZUFjdGl2ZVNvdXJjZUJ1ZmZlcnMpOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlcjo6c2VnbWVudHNLZXl3b3JkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6
c2VxdWVuY2VLZXl3b3JkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6U291cmNl
QnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c2V0VGltZXN0YW1wT2Zm
c2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZURpZFJlY2VpdmVTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpzZXRN
b2RlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbDoKKworMjAxNC0xMi0w
NCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBbV1RGXSBNZWRp
YVRpbWUgc2hvdWxkIHN1cHBvcnQgcm91bmQtdHJpcHBpbmcgZnJvbSBhbmQgdG8gZG91Ymxlcy4K
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTI0OAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
Y3BwCmluZGV4IGYxNmViM2YzMmQ4ZGE5N2NmOWFiMGM0NjI0ODBlMmFkYTYwYTM2ZDUuLjVlMzU0
YTUwYTMxNDQ4ZGI1OTM4MDU5YzMzZGY1NzA5YzI3NDJlYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC0xLDUgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTA0LDcgKzUw
NSw5IEBAIFNvdXJjZUJ1ZmZlciogTWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBT
dHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjCiB7CiAgICAgTE9HKE1lZGlhU291cmNlLCAi
TWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlciglcykgJXAiLCB0eXBlLmFzY2lpKCkuZGF0YSgp
LCB0aGlzKTsKIAotICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEv
cmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRp
YVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCisgICAg
Ly8gMi4yIGh0dHA6Ly93d3cudzMub3JnL1RSL21lZGlhLXNvdXJjZS8jd2lkbC1NZWRpYVNvdXJj
ZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCisgICAgLy8gV2hl
biB0aGlzIG1ldGhvZCBpcyBpbnZva2VkLCB0aGUgdXNlciBhZ2VudCBtdXN0IHJ1biB0aGUgZm9s
bG93aW5nIHN0ZXBzOgorCiAgICAgLy8gMS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRo
ZW4gdGhyb3cgYW4gSU5WQUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKICAgICAvLyBhYm9y
dCB0aGVzZSBzdGVwcy4KICAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkg
ewpAQCAtNTM4LDExICs1NDEsMjUgQEAgU291cmNlQnVmZmVyKiBNZWRpYVNvdXJjZTo6YWRkU291
cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICB9CiAK
ICAgICBSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIgPSBTb3VyY2VCdWZmZXI6OmNyZWF0ZShz
b3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCksIHRoaXMpOwotICAgIC8vIDYuIEFk
ZCB0aGUgbmV3IG9iamVjdCB0byBzb3VyY2VCdWZmZXJzIGFuZCBmaXJlIGEgYWRkc291cmNlYnVm
ZmVyIG9uIHRoYXQgb2JqZWN0LgorCisgICAgLy8gNi4gU2V0IHRoZSBnZW5lcmF0ZSB0aW1lc3Rh
bXBzIGZsYWcgb24gdGhlIG5ldyBvYmplY3QgdG8gdGhlIHZhbHVlIGluIHRoZSAiR2VuZXJhdGUg
VGltZXN0YW1wcyBGbGFnIgorICAgIC8vIGNvbHVtbiBvZiB0aGUgYnl0ZSBzdHJlYW0gZm9ybWF0
IHJlZ2lzdHJ5IFtNU0UtUkVHSVNUUlldIGVudHJ5IHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHR5
cGUuCisgICAgLy8gTk9URTogSW4gdGhlIGN1cnJlbnQgYnl0ZSBzdHJlYW0gZm9ybWF0IHJlZ2lz
dHJ5IDxodHRwOi8vd3d3LnczLm9yZy8yMDEzLzEyL2J5dGUtc3RyZWFtLWZvcm1hdC1yZWdpc3Ry
eS8+CisgICAgLy8gb25seSB0aGUgIk1QRUcgQXVkaW8gQnl0ZSBTdHJlYW0gRm9ybWF0IiBoYXMg
dGhlICJHZW5lcmF0ZSBUaW1lc3RhbXBzIEZsYWciIHZhbHVlIHNldC4KKyAgICBib29sIHNob3Vs
ZEdlbmVyYXRlVGltZXN0YW1wcyA9IGNvbnRlbnRUeXBlLnR5cGUoKSA9PSAiYXVkaW8vYWFjIiB8
fCBjb250ZW50VHlwZS50eXBlKCkgPT0gImF1ZGlvL21wZWciOworICAgIGJ1ZmZlci0+c2V0U2hv
dWxkR2VuZXJhdGVUaW1lc3RhbXBzKHNob3VsZEdlbmVyYXRlVGltZXN0YW1wcyk7CisKKyAgICAv
LyA3LiBJZiB0aGUgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlOgorICAgIC8v
IOKGsyBTZXQgdGhlIG1vZGUgYXR0cmlidXRlIG9uIHRoZSBuZXcgb2JqZWN0IHRvICJzZXF1ZW5j
ZSIuCisgICAgLy8gT3RoZXJ3aXNlOgorICAgIC8vIOKGsyBTZXQgdGhlIG1vZGUgYXR0cmlidXRl
IG9uIHRoZSBuZXcgb2JqZWN0IHRvICJzZWdtZW50cyIuCisgICAgYnVmZmVyLT5zZXRNb2RlKHNo
b3VsZEdlbmVyYXRlVGltZXN0YW1wcyA/IFNvdXJjZUJ1ZmZlcjo6c2VxdWVuY2VLZXl3b3JkKCkg
OiBTb3VyY2VCdWZmZXI6OnNlZ21lbnRzS2V5d29yZCgpLCBJR05PUkVfRVhDRVBUSU9OKTsKKwor
ICAgIC8vIDguIEFkZCB0aGUgbmV3IG9iamVjdCB0byBzb3VyY2VCdWZmZXJzIGFuZCBmaXJlIGEg
YWRkc291cmNlYnVmZmVyIG9uIHRoYXQgb2JqZWN0LgogICAgIG1fc291cmNlQnVmZmVycy0+YWRk
KGJ1ZmZlcik7CiAgICAgcmVnZW5lcmF0ZUFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKTsKIAotICAgIC8v
IDcuIFJldHVybiB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgorICAgIC8vIDkuIFJldHVy
biB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgogICAgIHJldHVybiBidWZmZXIuZ2V0KCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcAppbmRleCA5MjJmYWZkYzA4NGUwYmYxNDYyNGYxMDQwZmZlZTI4MTc4ZDgzZDkw
Li40MDkyNTJjZTBjYjY3OTU4OTlhZGY5MWZlYjFkYzc2YTk4NGNhZDMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC03
MSw2ICs3MSwxOCBAQCBzdGF0aWMgY29uc3QgTWVkaWFUaW1lJiBjdXJyZW50VGltZUZ1ZGdlRmFj
dG9yKCkKICAgICByZXR1cm4gZnVkZ2VGYWN0b3I7CiB9CiAKK2NvbnN0IEF0b21pY1N0cmluZyYg
U291cmNlQnVmZmVyOjpzZWdtZW50c0tleXdvcmQoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxBdG9taWNTdHJpbmc+IHNlZ21lbnRzKCJzZWdtZW50cyIpOworICAgIHJldHVybiBzZWdt
ZW50cy5nZXQoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBTb3VyY2VCdWZmZXI6OnNlcXVl
bmNlS2V5d29yZCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4g
c2VnbWVudHMoInNlcXVlbmNlIik7CisgICAgcmV0dXJuIHNlZ21lbnRzLmdldCgpOworfQorCiBz
dHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7CiAgICAgTWVkaWFUaW1lIGxhc3REZWNv
ZGVUaW1lc3RhbXA7CiAgICAgTWVkaWFUaW1lIGxhc3RGcmFtZUR1cmF0aW9uOwpAQCAtMTA5LDgg
KzEyMSwxMSBAQCBTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihQYXNzUmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+IHNvdXJjZUJ1ZmZlclByaXZhdGUsIE1lZAogICAgICwgbV9wcml2YXRlKFdURjo6
bW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkKICAgICAsIG1fc291cmNlKHNvdXJjZSkKICAgICAs
IG1fYXN5bmNFdmVudFF1ZXVlKCp0aGlzKQorICAgICwgbV9tb2RlKHNlZ21lbnRzS2V5d29yZCgp
KQogICAgICwgbV9hcHBlbmRCdWZmZXJUaW1lcigqdGhpcywgJlNvdXJjZUJ1ZmZlcjo6YXBwZW5k
QnVmZmVyVGltZXJGaXJlZCkKICAgICAsIG1faGlnaGVzdFByZXNlbnRhdGlvbkVuZFRpbWVzdGFt
cChNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCisgICAgLCBtX2dyb3VwU3RhcnRUaW1lc3RhbXAo
TWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQorICAgICwgbV9ncm91cEVuZFRpbWVzdGFtcChNZWRp
YVRpbWU6Onplcm9UaW1lKCkpCiAgICAgLCBtX2J1ZmZlcmVkKFRpbWVSYW5nZXM6OmNyZWF0ZSgp
KQogICAgICwgbV9hcHBlbmRTdGF0ZShXYWl0aW5nRm9yU2VnbWVudCkKICAgICAsIG1fdGltZU9m
QnVmZmVyaW5nTW9uaXRvcihtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKQEAgLTEyNCw2
ICsxMzksNyBAQCBTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihQYXNzUmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+IHNvdXJjZUJ1ZmZlclByaXZhdGUsIE1lZAogICAgICwgbV9yZWNlaXZlZEZpcnN0
SW5pdGlhbGl6YXRpb25TZWdtZW50KGZhbHNlKQogICAgICwgbV9hY3RpdmUoZmFsc2UpCiAgICAg
LCBtX2J1ZmZlckZ1bGwoZmFsc2UpCisgICAgLCBtX3Nob3VsZEdlbmVyYXRlVGltZXN0YW1wcyhm
YWxzZSkKIHsKICAgICBBU1NFUlQobV9zb3VyY2UpOwogCkBAIC0xODYsOSArMjAyLDE0IEBAIHZv
aWQgU291cmNlQnVmZmVyOjpzZXRUaW1lc3RhbXBPZmZzZXQoZG91YmxlIG9mZnNldCwgRXhjZXB0
aW9uQ29kZSYgZWMpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogQWRk
IHN0ZXAgNiB0ZXh0IHdoZW4gbW9kZSBhdHRyaWJ1dGUgaXMgaW1wbGVtZW50ZWQuCisgICAgTWVk
aWFUaW1lIG5ld1RpbWVzdGFtcE9mZnNldCA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShv
ZmZzZXQpOworCisgICAgLy8gNi4gSWYgdGhlIG1vZGUgYXR0cmlidXRlIGVxdWFscyAic2VxdWVu
Y2UiLCB0aGVuIHNldCB0aGUgZ3JvdXAgc3RhcnQgdGltZXN0YW1wIHRvIG5ldyB0aW1lc3RhbXAg
b2Zmc2V0LgorICAgIGlmIChtX21vZGUgPT0gc2VxdWVuY2VLZXl3b3JkKCkpCisgICAgICAgIG1f
Z3JvdXBTdGFydFRpbWVzdGFtcCA9IG5ld1RpbWVzdGFtcE9mZnNldDsKKwogICAgIC8vIDcuIFVw
ZGF0ZSB0aGUgYXR0cmlidXRlIHRvIHRoZSBuZXcgdmFsdWUuCi0gICAgbV90aW1lc3RhbXBPZmZz
ZXQgPSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUob2Zmc2V0KTsKKyAgICBtX3RpbWVzdGFt
cE9mZnNldCA9IG5ld1RpbWVzdGFtcE9mZnNldDsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBkYXRhLCBFeGNlcHRpb25Db2RlJiBl
YykKQEAgLTExNzAsNjggKzExOTEsODQgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZl
clByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBQYXMKICAgICBS
ZWZQdHI8TWVkaWFTYW1wbGU+IHNhbXBsZSA9IHBycFNhbXBsZTsKIAogICAgIC8vIDMuNS44IENv
ZGVkIEZyYW1lIFByb2Nlc3NpbmcKKyAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9tZWRpYS1z
b3VyY2UvI3NvdXJjZWJ1ZmZlci1jb2RlZC1mcmFtZS1wcm9jZXNzaW5nCisKICAgICAvLyBXaGVu
IGNvbXBsZXRlIGNvZGVkIGZyYW1lcyBoYXZlIGJlZW4gcGFyc2VkIGJ5IHRoZSBzZWdtZW50IHBh
cnNlciBsb29wIHRoZW4gdGhlIGZvbGxvd2luZyBzdGVwcwogICAgIC8vIGFyZSBydW46CiAgICAg
Ly8gMS4gRm9yIGVhY2ggY29kZWQgZnJhbWUgaW4gdGhlIG1lZGlhIHNlZ21lbnQgcnVuIHRoZSBm
b2xsb3dpbmcgc3RlcHM6CiAgICAgLy8gMS4xLiBMb29wIFRvcAogICAgIGRvIHsKLSAgICAgICAg
Ly8gMS4xIChjdGQpIExldCBwcmVzZW50YXRpb24gdGltZXN0YW1wIGJlIGEgZG91YmxlIHByZWNp
c2lvbiBmbG9hdGluZyBwb2ludCByZXByZXNlbnRhdGlvbiBvZgotICAgICAgICAvLyB0aGUgY29k
ZWQgZnJhbWUncyBwcmVzZW50YXRpb24gdGltZXN0YW1wIGluIHNlY29uZHMuCi0gICAgICAgIE1l
ZGlhVGltZSBwcmVzZW50YXRpb25UaW1lc3RhbXAgPSBzYW1wbGUtPnByZXNlbnRhdGlvblRpbWUo
KTsKLQotICAgICAgICAvLyAxLjIgTGV0IGRlY29kZSB0aW1lc3RhbXAgYmUgYSBkb3VibGUgcHJl
Y2lzaW9uIGZsb2F0aW5nIHBvaW50IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb2RlZCBmcmFtZSdz
Ci0gICAgICAgIC8vIGRlY29kZSB0aW1lc3RhbXAgaW4gc2Vjb25kcy4KLSAgICAgICAgTWVkaWFU
aW1lIGRlY29kZVRpbWVzdGFtcCA9IHNhbXBsZS0+ZGVjb2RlVGltZSgpOworICAgICAgICBNZWRp
YVRpbWUgcHJlc2VudGF0aW9uVGltZXN0YW1wOworICAgICAgICBNZWRpYVRpbWUgZGVjb2RlVGlt
ZXN0YW1wOworCisgICAgICAgIGlmIChtX3Nob3VsZEdlbmVyYXRlVGltZXN0YW1wcykgeworICAg
ICAgICAgICAgLy8g4oazIElmIGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZToK
KyAgICAgICAgICAgIC8vIDEuIExldCBwcmVzZW50YXRpb24gdGltZXN0YW1wIGVxdWFsIDAuCisg
ICAgICAgICAgICBwcmVzZW50YXRpb25UaW1lc3RhbXAgPSBNZWRpYVRpbWU6Onplcm9UaW1lKCk7
CisKKyAgICAgICAgICAgIC8vIDIuIExldCBkZWNvZGUgdGltZXN0YW1wIGVxdWFsIDAuCisgICAg
ICAgICAgICBkZWNvZGVUaW1lc3RhbXAgPSBNZWRpYVRpbWU6Onplcm9UaW1lKCk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAvLyDihrMgT3RoZXJ3aXNlOgorICAgICAgICAgICAgLy8g
MS4gTGV0IHByZXNlbnRhdGlvbiB0aW1lc3RhbXAgYmUgYSBkb3VibGUgcHJlY2lzaW9uIGZsb2F0
aW5nIHBvaW50IHJlcHJlc2VudGF0aW9uIG9mCisgICAgICAgICAgICAvLyB0aGUgY29kZWQgZnJh
bWUncyBwcmVzZW50YXRpb24gdGltZXN0YW1wIGluIHNlY29uZHMuCisgICAgICAgICAgICBwcmVz
ZW50YXRpb25UaW1lc3RhbXAgPSBzYW1wbGUtPnByZXNlbnRhdGlvblRpbWUoKTsKKworICAgICAg
ICAgICAgLy8gMi4gTGV0IGRlY29kZSB0aW1lc3RhbXAgYmUgYSBkb3VibGUgcHJlY2lzaW9uIGZs
b2F0aW5nIHBvaW50IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb2RlZCBmcmFtZSdzCisgICAgICAg
ICAgICAvLyBkZWNvZGUgdGltZXN0YW1wIGluIHNlY29uZHMuCisgICAgICAgICAgICBkZWNvZGVU
aW1lc3RhbXAgPSBzYW1wbGUtPmRlY29kZVRpbWUoKTsKKyAgICAgICAgfQogCi0gICAgICAgIC8v
IDEuMyBMZXQgZnJhbWUgZHVyYXRpb24gYmUgYSBkb3VibGUgcHJlY2lzaW9uIGZsb2F0aW5nIHBv
aW50IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb2RlZCBmcmFtZSdzCisgICAgICAgIC8vIDEuMiBM
ZXQgZnJhbWUgZHVyYXRpb24gYmUgYSBkb3VibGUgcHJlY2lzaW9uIGZsb2F0aW5nIHBvaW50IHJl
cHJlc2VudGF0aW9uIG9mIHRoZSBjb2RlZCBmcmFtZSdzCiAgICAgICAgIC8vIGR1cmF0aW9uIGlu
IHNlY29uZHMuCiAgICAgICAgIE1lZGlhVGltZSBmcmFtZUR1cmF0aW9uID0gc2FtcGxlLT5kdXJh
dGlvbigpOwogCi0gICAgICAgIC8vIDEuNCBJZiBtb2RlIGVxdWFscyAic2VxdWVuY2UiIGFuZCBn
cm91cCBzdGFydCB0aW1lc3RhbXAgaXMgc2V0LCB0aGVuIHJ1biB0aGUgZm9sbG93aW5nIHN0ZXBz
OgotICAgICAgICAvLyBGSVhNRTogYWRkIHN1cHBvcnQgZm9yICJzZXF1ZW5jZSIgbW9kZQorICAg
ICAgICAvLyAxLjMgSWYgbW9kZSBlcXVhbHMgInNlcXVlbmNlIiBhbmQgZ3JvdXAgc3RhcnQgdGlt
ZXN0YW1wIGlzIHNldCwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKKyAgICAgICAgaWYg
KG1fbW9kZSA9PSBzZXF1ZW5jZUtleXdvcmQoKSkgeworICAgICAgICAgICAgLy8gMS4zLjEgU2V0
IHRpbWVzdGFtcE9mZnNldCBlcXVhbCB0byBncm91cCBzdGFydCB0aW1lc3RhbXAgLSBwcmVzZW50
YXRpb24gdGltZXN0YW1wLgorICAgICAgICAgICAgbV90aW1lc3RhbXBPZmZzZXQgPSBtX2dyb3Vw
U3RhcnRUaW1lc3RhbXA7CisKKyAgICAgICAgICAgIC8vIDEuMy4yIFNldCBncm91cCBlbmQgdGlt
ZXN0YW1wIGVxdWFsIHRvIGdyb3VwIHN0YXJ0IHRpbWVzdGFtcC4KKyAgICAgICAgICAgIG1fZ3Jv
dXBFbmRUaW1lc3RhbXAgPSBtX2dyb3VwU3RhcnRUaW1lc3RhbXA7CiAKLSAgICAgICAgLy8gMS41
IElmIHRpbWVzdGFtcE9mZnNldCBpcyBub3QgMCwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVw
czoKKyAgICAgICAgICAgIC8vIDEuMy4zIFNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBvaW50
IGZsYWcgb24gYWxsIHRyYWNrIGJ1ZmZlcnMgdG8gdHJ1ZS4KKyAgICAgICAgICAgIGZvciAoYXV0
byYgdHJhY2tCdWZmZXIgOiBtX3RyYWNrQnVmZmVyTWFwLnZhbHVlcygpKQorICAgICAgICAgICAg
ICAgIHRyYWNrQnVmZmVyLm5lZWRSYW5kb21BY2Nlc3NGbGFnID0gdHJ1ZTsKKworICAgICAgICAg
ICAgLy8gMS4zLjQgVW5zZXQgZ3JvdXAgc3RhcnQgdGltZXN0YW1wLgorICAgICAgICAgICAgbV9n
cm91cFN0YXJ0VGltZXN0YW1wID0gTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpOworICAgICAgICB9
CisKKyAgICAgICAgLy8gMS40IElmIHRpbWVzdGFtcE9mZnNldCBpcyBub3QgMCwgdGhlbiBydW4g
dGhlIGZvbGxvd2luZyBzdGVwczoKICAgICAgICAgaWYgKG1fdGltZXN0YW1wT2Zmc2V0KSB7Ci0g
ICAgICAgICAgICAvLyAxLjUuMSBBZGQgdGltZXN0YW1wT2Zmc2V0IHRvIHRoZSBwcmVzZW50YXRp
b24gdGltZXN0YW1wLgorICAgICAgICAgICAgLy8gMS40LjEgQWRkIHRpbWVzdGFtcE9mZnNldCB0
byB0aGUgcHJlc2VudGF0aW9uIHRpbWVzdGFtcC4KICAgICAgICAgICAgIHByZXNlbnRhdGlvblRp
bWVzdGFtcCArPSBtX3RpbWVzdGFtcE9mZnNldDsKIAotICAgICAgICAgICAgLy8gMS41LjIgQWRk
IHRpbWVzdGFtcE9mZnNldCB0byB0aGUgZGVjb2RlIHRpbWVzdGFtcC4KKyAgICAgICAgICAgIC8v
IDEuNC4yIEFkZCB0aW1lc3RhbXBPZmZzZXQgdG8gdGhlIGRlY29kZSB0aW1lc3RhbXAuCiAgICAg
ICAgICAgICBkZWNvZGVUaW1lc3RhbXAgKz0gbV90aW1lc3RhbXBPZmZzZXQ7Ci0KLSAgICAgICAg
ICAgIC8vIDEuNS4zIElmIHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wIG9yIGRlY29kZSB0aW1l
c3RhbXAgaXMgbGVzcyB0aGFuIHRoZSBwcmVzZW50YXRpb24gc3RhcnQKLSAgICAgICAgICAgIC8v
IHRpbWUsIHRoZW4gcnVuIHRoZSBlbmQgb2Ygc3RyZWFtIGFsZ29yaXRobSB3aXRoIHRoZSBlcnJv
ciBwYXJhbWV0ZXIgc2V0IHRvICJkZWNvZGUiLCBhbmQKLSAgICAgICAgICAgIC8vIGFib3J0IHRo
ZXNlIHN0ZXBzLgotICAgICAgICAgICAgTWVkaWFUaW1lIHByZXNlbnRhdGlvblN0YXJ0VGltZSA9
IE1lZGlhVGltZTo6emVyb1RpbWUoKTsKLSAgICAgICAgICAgIGlmIChwcmVzZW50YXRpb25UaW1l
c3RhbXAgPCBwcmVzZW50YXRpb25TdGFydFRpbWUgfHwgZGVjb2RlVGltZXN0YW1wIDwgcHJlc2Vu
dGF0aW9uU3RhcnRUaW1lKSB7Ci0jaWYgIUxPR19ESVNBQkxFRAotICAgICAgICAgICAgICAgIExP
RyhNZWRpYVNvdXJjZSwgIlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2Vp
dmVTYW1wbGUoJXApIC0gZmFpbGluZyBiZWNhdXNlICVzIiwgdGhpcywgcHJlc2VudGF0aW9uVGlt
ZXN0YW1wIDwgcHJlc2VudGF0aW9uU3RhcnRUaW1lID8gInByZXNlbnRhdGlvblRpbWVzdGFtcCA8
IHByZXNlbnRhdGlvblN0YXJ0VGltZSIgOiAiZGVjb2RlVGltZXN0YW1wIDwgcHJlc2VudGF0aW9u
U3RhcnRUaW1lIik7Ci0jZW5kaWYKLSAgICAgICAgICAgICAgICBtX3NvdXJjZS0+c3RyZWFtRW5k
ZWRXaXRoRXJyb3IoZGVjb2RlRXJyb3IoKSwgSWdub3JhYmxlRXhjZXB0aW9uQ29kZSgpKTsKLSAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAg
ICAvLyAxLjYgTGV0IHRyYWNrIGJ1ZmZlciBlcXVhbCB0aGUgdHJhY2sgYnVmZmVyIHRoYXQgdGhl
IGNvZGVkIGZyYW1lIHdpbGwgYmUgYWRkZWQgdG8uCisgICAgICAgIC8vIDEuNSBMZXQgdHJhY2sg
YnVmZmVyIGVxdWFsIHRoZSB0cmFjayBidWZmZXIgdGhhdCB0aGUgY29kZWQgZnJhbWUgd2lsbCBi
ZSBhZGRlZCB0by4KICAgICAgICAgQXRvbWljU3RyaW5nIHRyYWNrSUQgPSBzYW1wbGUtPnRyYWNr
SUQoKTsKICAgICAgICAgYXV0byBpdCA9IG1fdHJhY2tCdWZmZXJNYXAuZmluZCh0cmFja0lEKTsK
ICAgICAgICAgaWYgKGl0ID09IG1fdHJhY2tCdWZmZXJNYXAuZW5kKCkpCiAgICAgICAgICAgICBp
dCA9IG1fdHJhY2tCdWZmZXJNYXAuYWRkKHRyYWNrSUQsIFRyYWNrQnVmZmVyKCkpLml0ZXJhdG9y
OwogICAgICAgICBUcmFja0J1ZmZlciYgdHJhY2tCdWZmZXIgPSBpdC0+dmFsdWU7CiAKLSAgICAg
ICAgLy8gMS43IElmIGxhc3QgZGVjb2RlIHRpbWVzdGFtcCBmb3IgdHJhY2sgYnVmZmVyIGlzIHNl
dCBhbmQgZGVjb2RlIHRpbWVzdGFtcCBpcyBsZXNzIHRoYW4gbGFzdAorICAgICAgICAvLyAxLjYg
4oazIElmIGxhc3QgZGVjb2RlIHRpbWVzdGFtcCBmb3IgdHJhY2sgYnVmZmVyIGlzIHNldCBhbmQg
ZGVjb2RlIHRpbWVzdGFtcCBpcyBsZXNzIHRoYW4gbGFzdAogICAgICAgICAvLyBkZWNvZGUgdGlt
ZXN0YW1wOgogICAgICAgICAvLyBPUgotICAgICAgICAvLyBJZiBsYXN0IGRlY29kZSB0aW1lc3Rh
bXAgZm9yIHRyYWNrIGJ1ZmZlciBpcyBzZXQgYW5kIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gZGVj
b2RlIHRpbWVzdGFtcCBhbmQKKyAgICAgICAgLy8g4oazIElmIGxhc3QgZGVjb2RlIHRpbWVzdGFt
cCBmb3IgdHJhY2sgYnVmZmVyIGlzIHNldCBhbmQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBkZWNv
ZGUgdGltZXN0YW1wIGFuZAogICAgICAgICAvLyBsYXN0IGRlY29kZSB0aW1lc3RhbXAgaXMgZ3Jl
YXRlciB0aGFuIDIgdGltZXMgbGFzdCBmcmFtZSBkdXJhdGlvbjoKICAgICAgICAgaWYgKHRyYWNr
QnVmZmVyLmxhc3REZWNvZGVUaW1lc3RhbXAuaXNWYWxpZCgpICYmIChkZWNvZGVUaW1lc3RhbXAg
PCB0cmFja0J1ZmZlci5sYXN0RGVjb2RlVGltZXN0YW1wCiAgICAgICAgICAgICB8fCBhYnMoZGVj
b2RlVGltZXN0YW1wIC0gdHJhY2tCdWZmZXIubGFzdERlY29kZVRpbWVzdGFtcCkgPiAodHJhY2tC
dWZmZXIubGFzdEZyYW1lRHVyYXRpb24gKiAyKSkpIHsKLSAgICAgICAgICAgIC8vIDEuNy4xIElm
IG1vZGUgZXF1YWxzICJzZWdtZW50cyI6Ci0gICAgICAgICAgICAvLyBTZXQgaGlnaGVzdCBwcmVz
ZW50YXRpb24gZW5kIHRpbWVzdGFtcCB0byBwcmVzZW50YXRpb24gdGltZXN0YW1wLgotICAgICAg
ICAgICAgbV9oaWdoZXN0UHJlc2VudGF0aW9uRW5kVGltZXN0YW1wID0gcHJlc2VudGF0aW9uVGlt
ZXN0YW1wOworICAgICAgICAgICAgLy8gMS43LjEg4oazIElmIG1vZGUgZXF1YWxzICJzZWdtZW50
cyI6CisgICAgICAgICAgICAvLyBTZXQgZ3JvdXAgZW5kIHRpbWVzdGFtcCB0byBwcmVzZW50YXRp
b24gdGltZXN0YW1wLgorICAgICAgICAgICAgbV9ncm91cEVuZFRpbWVzdGFtcCA9IHByZXNlbnRh
dGlvblRpbWVzdGFtcDsKIAotICAgICAgICAgICAgLy8gSWYgbW9kZSBlcXVhbHMgInNlcXVlbmNl
IjoKKyAgICAgICAgICAgIC8vIOKGsyBJZiBtb2RlIGVxdWFscyAic2VxdWVuY2UiOgogICAgICAg
ICAgICAgLy8gU2V0IGdyb3VwIHN0YXJ0IHRpbWVzdGFtcCBlcXVhbCB0byB0aGUgaGlnaGVzdCBw
cmVzZW50YXRpb24gZW5kIHRpbWVzdGFtcC4KLSAgICAgICAgICAgIC8vIEZJWE1FOiBBZGQgc3Vw
cG9ydCBmb3IgInNlcXVlbmNlIiBtb2RlLgorICAgICAgICAgICAgbV9ncm91cFN0YXJ0VGltZXN0
YW1wID0gbV9oaWdoZXN0UHJlc2VudGF0aW9uRW5kVGltZXN0YW1wOwogCiAgICAgICAgICAgICBm
b3IgKGF1dG8mIHRyYWNrQnVmZmVyIDogbV90cmFja0J1ZmZlck1hcC52YWx1ZXMoKSkgewogICAg
ICAgICAgICAgICAgIC8vIDEuNy4yIFVuc2V0IHRoZSBsYXN0IGRlY29kZSB0aW1lc3RhbXAgb24g
YWxsIHRyYWNrIGJ1ZmZlcnMuCkBAIC0xMjQ4LDE3ICsxMjg1LDI4IEBAIHZvaWQgU291cmNlQnVm
ZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2
YXRlKiwgUGFzCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIC8v
IDEuOCBMZXQgZnJhbWUgZW5kIHRpbWVzdGFtcCBlcXVhbCB0aGUgc3VtIG9mIHByZXNlbnRhdGlv
biB0aW1lc3RhbXAgYW5kIGZyYW1lIGR1cmF0aW9uLgorICAgICAgICAvLyAxLjcgTGV0IGZyYW1l
IGVuZCB0aW1lc3RhbXAgZXF1YWwgdGhlIHN1bSBvZiBwcmVzZW50YXRpb24gdGltZXN0YW1wIGFu
ZCBmcmFtZSBkdXJhdGlvbi4KICAgICAgICAgTWVkaWFUaW1lIGZyYW1lRW5kVGltZXN0YW1wID0g
cHJlc2VudGF0aW9uVGltZXN0YW1wICsgZnJhbWVEdXJhdGlvbjsKIAotICAgICAgICAvLyAxLjkg
SWYgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBpcyBsZXNzIHRoYW4gYXBwZW5kV2luZG93U3RhcnQs
IHRoZW4gc2V0IHRoZSBuZWVkIHJhbmRvbSBhY2Nlc3MKKyAgICAgICAgLy8gMS44IElmIHByZXNl
bnRhdGlvbiB0aW1lc3RhbXAgaXMgbGVzcyB0aGFuIGFwcGVuZFdpbmRvd1N0YXJ0LCB0aGVuIHNl
dCB0aGUgbmVlZCByYW5kb20gYWNjZXNzCiAgICAgICAgIC8vIHBvaW50IGZsYWcgdG8gdHJ1ZSwg
ZHJvcCB0aGUgY29kZWQgZnJhbWUsIGFuZCBqdW1wIHRvIHRoZSB0b3Agb2YgdGhlIGxvb3AgdG8g
c3RhcnQgcHJvY2Vzc2luZwogICAgICAgICAvLyB0aGUgbmV4dCBjb2RlZCBmcmFtZS4KLSAgICAg
ICAgLy8gMS4xMCBJZiBmcmFtZSBlbmQgdGltZXN0YW1wIGlzIGdyZWF0ZXIgdGhhbiBhcHBlbmRX
aW5kb3dFbmQsIHRoZW4gc2V0IHRoZSBuZWVkIHJhbmRvbSBhY2Nlc3MKKyAgICAgICAgLy8gMS45
IElmIGZyYW1lIGVuZCB0aW1lc3RhbXAgaXMgZ3JlYXRlciB0aGFuIGFwcGVuZFdpbmRvd0VuZCwg
dGhlbiBzZXQgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcwogICAgICAgICAvLyBwb2ludCBmbGFnIHRv
IHRydWUsIGRyb3AgdGhlIGNvZGVkIGZyYW1lLCBhbmQganVtcCB0byB0aGUgdG9wIG9mIHRoZSBs
b29wIHRvIHN0YXJ0IHByb2Nlc3NpbmcKICAgICAgICAgLy8gdGhlIG5leHQgY29kZWQgZnJhbWUu
CiAgICAgICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgYXBwZW5kIHdpbmRvd3MKIAorICAgICAgICAv
LyAxLjEwIElmIHRoZSBkZWNvZGUgdGltZXN0YW1wIGlzIGxlc3MgdGhhbiB0aGUgcHJlc2VudGF0
aW9uIHN0YXJ0IHRpbWUsIHRoZW4gcnVuIHRoZSBlbmQgb2Ygc3RyZWFtCisgICAgICAgIC8vIGFs
Z29yaXRobSB3aXRoIHRoZSBlcnJvciBwYXJhbWV0ZXIgc2V0IHRvICJkZWNvZGUiLCBhbmQgYWJv
cnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIC8vIE5PVEU6IFVudGlsIDxodHRwczovL3d3dy53My5v
cmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTI3NDg3PiBpcyByZXNvbHZlZCwgd2Ugd2ls
bCBvbmx5IGNoZWNrCisgICAgICAgIC8vIHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wLgorICAg
ICAgICBNZWRpYVRpbWUgcHJlc2VudGF0aW9uU3RhcnRUaW1lID0gTWVkaWFUaW1lOjp6ZXJvVGlt
ZSgpOworICAgICAgICBpZiAocHJlc2VudGF0aW9uVGltZXN0YW1wIDwgcHJlc2VudGF0aW9uU3Rh
cnRUaW1lKSB7CisgICAgICAgICAgICBMT0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXI6OnNv
dXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKCVwKSAtIGZhaWxpbmcgYmVjYXVzZSBw
cmVzZW50YXRpb25UaW1lc3RhbXAgPCBwcmVzZW50YXRpb25TdGFydFRpbWUiLCB0aGlzKTsKKyAg
ICAgICAgICAgIG1fc291cmNlLT5zdHJlYW1FbmRlZFdpdGhFcnJvcihkZWNvZGVFcnJvcigpLCBJ
Z25vcmFibGVFeGNlcHRpb25Db2RlKCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisKICAgICAgICAgLy8gMS4xMSBJZiB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBvaW50IGZsYWcg
b24gdHJhY2sgYnVmZmVyIGVxdWFscyB0cnVlLCB0aGVuIHJ1biB0aGUgZm9sbG93aW5nIHN0ZXBz
OgogICAgICAgICBpZiAodHJhY2tCdWZmZXIubmVlZFJhbmRvbUFjY2Vzc0ZsYWcpIHsKICAgICAg
ICAgICAgIC8vIDEuMTEuMSBJZiB0aGUgY29kZWQgZnJhbWUgaXMgbm90IGEgcmFuZG9tIGFjY2Vz
cyBwb2ludCwgdGhlbiBkcm9wIHRoZSBjb2RlZCBmcmFtZSBhbmQganVtcApAQCAtMTMyNSw3ICsx
MzczLDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZl
U2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBQYXMKICAgICAgICAgICAgICAgICBlcmFzZWRT
YW1wbGVzLmFkZFJhbmdlKGl0ZXJfcGFpci5maXJzdCwgaXRlcl9wYWlyLnNlY29uZCk7CiAgICAg
ICAgIH0KIAotICAgICAgICAvLyBJZiBoaWdoZXN0IHByZXNlbnRhdGlvbiB0aW1lc3RhbXAgZm9y
IHRyYWNrIGJ1ZmZlciBpcyBzZXQgYW5kIGxlc3MgdGhhbiBwcmVzZW50YXRpb24gdGltZXN0YW1w
CisgICAgICAgIC8vIElmIGhpZ2hlc3QgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBmb3IgdHJhY2sg
YnVmZmVyIGlzIHNldCBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHByZXNlbnRhdGlvbiB0aW1l
c3RhbXAKICAgICAgICAgaWYgKHRyYWNrQnVmZmVyLmhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3Rh
bXAuaXNWYWxpZCgpICYmIHRyYWNrQnVmZmVyLmhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAg
PD0gcHJlc2VudGF0aW9uVGltZXN0YW1wKSB7CiAgICAgICAgICAgICAvLyBSZW1vdmUgYWxsIGNv
ZGVkIGZyYW1lcyBmcm9tIHRyYWNrIGJ1ZmZlciB0aGF0IGhhdmUgYSBwcmVzZW50YXRpb24gdGlt
ZXN0YW1wIGdyZWF0ZXIgdGhhbiBoaWdoZXN0CiAgICAgICAgICAgICAvLyBwcmVzZW50YXRpb24g
dGltZXN0YW1wIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gZnJhbWUgZW5kIHRpbWVzdGFtcC4K
QEAgLTEzNDAsOCArMTM4OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2
YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFzCiAgICAgICAgICAg
ICAgICAgaWYgKCFidWZmZXJlZExlbmd0aCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAK
LSAgICAgICAgICAgICAgICBib29sIGlnbm9yZVZhbGlkOwotICAgICAgICAgICAgICAgIE1lZGlh
VGltZSBoaWdoZXN0QnVmZmVyZWRUaW1lID0gbV9idWZmZXJlZC0+cmFuZ2VzKCkuZW5kKGJ1ZmZl
cmVkTGVuZ3RoIC0gMSwgaWdub3JlVmFsaWQpOworICAgICAgICAgICAgICAgIE1lZGlhVGltZSBo
aWdoZXN0QnVmZmVyZWRUaW1lID0gbV9idWZmZXJlZC0+cmFuZ2VzKCkubWF4aW11bUJ1ZmZlcmVk
VGltZSgpOwogCiAgICAgICAgICAgICAgICAgUHJlc2VudGF0aW9uT3JkZXJTYW1wbGVNYXA6Oml0
ZXJhdG9yX3JhbmdlIHJhbmdlOwogICAgICAgICAgICAgICAgIGlmIChoaWdoZXN0QnVmZmVyZWRU
aW1lIC0gdHJhY2tCdWZmZXIuaGlnaGVzdFByZXNlbnRhdGlvblRpbWVzdGFtcCA8IHRyYWNrQnVm
ZmVyLmxhc3RGcmFtZUR1cmF0aW9uKQpAQCAtMTQxNSw2ICsxNDYyLDEwIEBAIHZvaWQgU291cmNl
QnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQ
cml2YXRlKiwgUGFzCiAgICAgICAgIGlmIChtX2hpZ2hlc3RQcmVzZW50YXRpb25FbmRUaW1lc3Rh
bXAuaXNJbnZhbGlkKCkgfHwgZnJhbWVFbmRUaW1lc3RhbXAgPiBtX2hpZ2hlc3RQcmVzZW50YXRp
b25FbmRUaW1lc3RhbXApCiAgICAgICAgICAgICBtX2hpZ2hlc3RQcmVzZW50YXRpb25FbmRUaW1l
c3RhbXAgPSBmcmFtZUVuZFRpbWVzdGFtcDsKIAorICAgICAgICAvLyAxLjIyIElmIGdlbmVyYXRl
IHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSwgdGhlbiBzZXQgdGltZXN0YW1wT2Zmc2V0IGVx
dWFsIHRvIGZyYW1lIGVuZCB0aW1lc3RhbXAuCisgICAgICAgIGlmIChtX3Nob3VsZEdlbmVyYXRl
VGltZXN0YW1wcykKKyAgICAgICAgICAgIG1fdGltZXN0YW1wT2Zmc2V0ID0gZnJhbWVFbmRUaW1l
c3RhbXA7CisKICAgICAgICAgbV9idWZmZXJlZC0+YWRkKHByZXNlbnRhdGlvblRpbWVzdGFtcC50
b0RvdWJsZSgpLCAocHJlc2VudGF0aW9uVGltZXN0YW1wICsgZnJhbWVEdXJhdGlvbiArIG1pY3Jv
c2Vjb25kKS50b0RvdWJsZSgpKTsKICAgICAgICAgbV9idWZmZXJlZFNpbmNlTGFzdE1vbml0b3Ig
Kz0gZnJhbWVEdXJhdGlvbi50b0RvdWJsZSgpOwogCkBAIC0xNzk5LDYgKzE4NTAsNDggQEAgRG9j
dW1lbnQmIFNvdXJjZUJ1ZmZlcjo6ZG9jdW1lbnQoKSBjb25zdAogICAgIHJldHVybiBkb3duY2Fz
dDxEb2N1bWVudD4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiB9CiAKK3ZvaWQgU291cmNl
QnVmZmVyOjpzZXRNb2RlKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3TW9kZSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgLy8gMy4xIEF0dHJpYnV0ZXMgLSBtb2RlCisgICAgLy8gaHR0cDovL3d3
dy53My5vcmcvVFIvbWVkaWEtc291cmNlLyN3aWRsLVNvdXJjZUJ1ZmZlci1tb2RlCisKKyAgICAv
LyBPbiBzZXR0aW5nLCBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKKworICAgIC8vIDEuIExldCBu
ZXcgbW9kZSBlcXVhbCB0aGUgbmV3IHZhbHVlIGJlaW5nIGFzc2lnbmVkIHRvIHRoaXMgYXR0cmli
dXRlLgorICAgIC8vIDIuIElmIGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSBh
bmQgbmV3IG1vZGUgZXF1YWxzICJzZWdtZW50cyIsIHRoZW4gdGhyb3cgYW4gSU5WQUxJRF9BQ0NF
U1NfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKG1fc2hvdWxk
R2VuZXJhdGVUaW1lc3RhbXBzICYmIG5ld01vZGUgPT0gc2VnbWVudHNLZXl3b3JkKCkpIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICAvLyAzLiBJZiB0aGlzIG9iamVjdCBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIHNvdXJj
ZUJ1ZmZlcnMgYXR0cmlidXRlIG9mIHRoZSBwYXJlbnQgbWVkaWEgc291cmNlLCB0aGVuIHRocm93
IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisg
ICAgLy8gNC4gSWYgdGhlIHVwZGF0aW5nIGF0dHJpYnV0ZSBlcXVhbHMgdHJ1ZSwgdGhlbiB0aHJv
dyBhbiBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgor
ICAgIGlmIChpc1JlbW92ZWQoKSB8fCBtX3VwZGF0aW5nKSB7CisgICAgICAgIGVjID0gSU5WQUxJ
RF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyA1LiBJZiB0aGUg
cmVhZHlTdGF0ZSBhdHRyaWJ1dGUgb2YgdGhlIHBhcmVudCBtZWRpYSBzb3VyY2UgaXMgaW4gdGhl
ICJlbmRlZCIgc3RhdGUgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKKyAgICBpZiAobV9z
b3VyY2UtPnJlYWR5U3RhdGUoKSA9PSBNZWRpYVNvdXJjZTo6ZW5kZWRLZXl3b3JkKCkpIHsKKyAg
ICAgICAgLy8gNS4xLiBTZXQgdGhlIHJlYWR5U3RhdGUgYXR0cmlidXRlIG9mIHRoZSBwYXJlbnQg
bWVkaWEgc291cmNlIHRvICJvcGVuIgorICAgICAgICAvLyA1LjIuIFF1ZXVlIGEgdGFzayB0byBm
aXJlIGEgc2ltcGxlIGV2ZW50IG5hbWVkIHNvdXJjZW9wZW4gYXQgdGhlIHBhcmVudCBtZWRpYSBz
b3VyY2UuCisgICAgICAgIG1fc291cmNlLT5vcGVuSWZJbkVuZGVkU3RhdGUoKTsKKyAgICB9CisK
KyAgICAvLyA2LiBJZiB0aGUgYXBwZW5kIHN0YXRlIGVxdWFscyBQQVJTSU5HX01FRElBX1NFR01F
TlQsIHRoZW4gdGhyb3cgYW4gSU5WQUxJRF9TVEFURV9FUlIgYW5kIGFib3J0IHRoZXNlIHN0ZXBz
LgorICAgIGlmIChtX2FwcGVuZFN0YXRlID09IFBhcnNpbmdNZWRpYVNlZ21lbnQpIHsKKyAgICAg
ICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IC8vIDcuIElmIHRoZSBuZXcgbW9kZSBlcXVhbHMgInNlcXVlbmNlIiwgdGhlbiBzZXQgdGhlIGdy
b3VwIHN0YXJ0IHRpbWVzdGFtcCB0byB0aGUgZ3JvdXAgZW5kIHRpbWVzdGFtcC4KKyAgICBpZiAo
bmV3TW9kZSA9PSBzZXF1ZW5jZUtleXdvcmQoKSkKKyAgICAgICAgbV9ncm91cFN0YXJ0VGltZXN0
YW1wID0gbV9ncm91cEVuZFRpbWVzdGFtcDsKKworICAgIC8vIDguIFVwZGF0ZSB0aGUgYXR0cmli
dXRlIHRvIG5ldyBtb2RlLgorICAgIG1fbW9kZSA9IG5ld01vZGU7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRleCAwNjYxMDM4M2ZlMDM1YzYzNTY2NjBjMGNlZDI5
OTc2ZTBhZmZjMjUxLi5hOGMxMzJlOTIwY2ZlMjExODQyMDIzYzFjNWIxOGM3ODAxZDkxMTJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmgKQEAgLTYzLDYgKzYzLDkgQEAgY2xhc3MgU291cmNlQnVmZmVyIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8U291cmNlQnVmZmVyPiwgcHVibGljIEFjdGl2ZURPTU9iamUKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZjxTb3VyY2VCdWZmZXI+IGNyZWF0ZShQYXNzUmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+LCBNZWRpYVNvdXJjZSopOwogCisgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmlu
ZyYgc2VnbWVudHNLZXl3b3JkKCk7CisgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc2Vx
dWVuY2VLZXl3b3JkKCk7CisKICAgICB2aXJ0dWFsIH5Tb3VyY2VCdWZmZXIoKTsKIAogICAgIC8v
IFNvdXJjZUJ1ZmZlci5pZGwgbWV0aG9kcwpAQCAtMTEyLDYgKzExNSwxMiBAQCBwdWJsaWM6CiAK
ICAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSBjb25zdDsKIAorICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kZTsgfQorICAgIHZvaWQgc2V0TW9kZShjb25z
dCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBib29sIHNob3VsZEdlbmVy
YXRlVGltZXN0YW1wcygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBz
OyB9CisgICAgdm9pZCBzZXRTaG91bGRHZW5lcmF0ZVRpbWVzdGFtcHMoYm9vbCBmbGFnKSB7IG1f
c2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzID0gZmxhZzsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgLy8g
RXZlbnRUYXJnZXQgaW50ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkg
b3ZlcnJpZGUgeyByZWYoKTsgfQpAQCAtMTgxLDYgKzE5MCw3IEBAIHByaXZhdGU6CiAgICAgUmVm
PFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0ZTsKICAgICBNZWRpYVNvdXJjZSogbV9zb3Vy
Y2U7CiAgICAgR2VuZXJpY0V2ZW50UXVldWUgbV9hc3luY0V2ZW50UXVldWU7CisgICAgQXRvbWlj
U3RyaW5nIG1fbW9kZTsKIAogICAgIFZlY3Rvcjx1bnNpZ25lZCBjaGFyPiBtX3BlbmRpbmdBcHBl
bmREYXRhOwogICAgIFRpbWVyIG1fYXBwZW5kQnVmZmVyVGltZXI7CkBAIC0xOTUsNiArMjA1LDgg
QEAgcHJpdmF0ZToKIAogICAgIE1lZGlhVGltZSBtX3RpbWVzdGFtcE9mZnNldDsKICAgICBNZWRp
YVRpbWUgbV9oaWdoZXN0UHJlc2VudGF0aW9uRW5kVGltZXN0YW1wOworICAgIE1lZGlhVGltZSBt
X2dyb3VwU3RhcnRUaW1lc3RhbXA7CisgICAgTWVkaWFUaW1lIG1fZ3JvdXBFbmRUaW1lc3RhbXA7
CiAKICAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgVHJhY2tCdWZmZXI+IG1fdHJhY2tCdWZmZXJN
YXA7CiAgICAgUmVmUHRyPFRpbWVSYW5nZXM+IG1fYnVmZmVyZWQ7CkBAIC0yMTYsNiArMjI4LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fcmVjZWl2ZWRGaXJzdEluaXRpYWxpemF0aW9uU2VnbWVu
dDsKICAgICBib29sIG1fYWN0aXZlOwogICAgIGJvb2wgbV9idWZmZXJGdWxsOworICAgIGJvb2wg
bV9zaG91bGRHZW5lcmF0ZVRpbWVzdGFtcHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5pZGwKaW5kZXggNWYxNjVmOGYwMDNhY2E0N2QyNGQzNjU4NWE0MGViMzUzYjk0ZmMyOC4uMTJi
MWY0YzQ5OWFhNDEwZGFkNjg0ODk1MmIxMjhhZjZjNjNmMzNkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbApAQCAtMjgsNiAr
MjgsMTEgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KICAKK1tDb25kaXRpb25hbD1NRURJQV9TT1VS
Q0VdIGVudW0gQXBwZW5kTW9kZSB7CisgICAgInNlZ21lbnRzIiwKKyAgICAic2VxdWVuY2UiCit9
OworCiBbCiAgICAgQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFLAogICAgIE5vSW50ZXJmYWNlT2Jq
ZWN0LApAQCAtMzcsNiArNDIsOCBAQAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKIF0g
aW50ZXJmYWNlIFNvdXJjZUJ1ZmZlciA6IEV2ZW50VGFyZ2V0IHsKIAorICAgIFtTZXR0ZXJSYWlz
ZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSBBcHBlbmRNb2RlIG1vZGU7CisKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiB1cGRhdGluZzsKICAgCiAgICAgLy8gUmV0dXJucyB0aGUgdGltZSBy
YW5nZXMgYnVmZmVyZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDQwYTgzYzk4Yjc5YTc3N2FlZTY0ZWE1OTZjZTZlNTZi
YTVmYmZiZS4uMDc3Zjg3MmRkZTU4MDQxZDc5NjJjMGFkNDA1YjU5NzAyNTUyNjJkYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDE0LTEyLTA0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0IGZvciBTb3VyY2VCdWZmZXIubW9kZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTI2NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtdXRpbC5qczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKworICAgICAgICBBZGQgYW4gZXhwZWN0ZWQt
ZmFpbHVyZTsgdGhlIHRlc3QgZmFpbHMgZHVlIHRvIGxhY2sgb2Ygc3VwcG9ydCBmb3IgYSBub24t
RE9NLXZpc2libGUKKyAgICAgICAgYWxnb3JpdGhtIHZhcmlhYmxlIHVuc3VwcG9ydGVkIGJ5IHRo
ZSBNYWMgcG9ydC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVyLW1vZGUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKwogMjAxNC0xMS0yOCAgQW5kcnplaiBCYWRvd3NraSAgPGEuYmFkb3dza2lAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0FUS10gQWxsb3dpbmcgdGhlIHVzZSBvZiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojpjb2x1bW5IZWFkZXJzIG1ldGhvZCBmb3IgdGFibGUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS11dGlsLmpz
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
dXRpbC5qcwppbmRleCAxMTliNmJiY2VmNTIwODE5MWY3MTVkYTZjM2JmZWRiODJlZTNlZGNiLi4x
MmY0OTQzMGNhYTZhYTgyM2NkODgxMDBmNjc5MGNmYWJkZGIyNThkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS11dGlsLmpz
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLXV0aWwuanMKQEAgLTI4LDE4ICsyOCwxOCBAQAogICAgICAgICB9LAogICAgICAgICB7CiAg
ICAgICAgICAgICB1cmw6ICdtcDQvdGVzdC5tcDQnLAotICAgICAgICAgICAgdHlwZTogJ3ZpZGVv
L21wNDsgY29kZWNzPSJtcDRhLjQwLjIsIGF2YzEuNEQ0MDFFIicsCisgICAgICAgICAgICB0eXBl
OiAndmlkZW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMixhdmMxLjRkNDAwZCInLAogICAgICAgICAg
ICAgZHVyYXRpb246IDYuMDQyNCwKICAgICAgICAgICAgIGluaXQ6IHsgb2Zmc2V0OiAwLCBzaXpl
OiAxMjc5IH0sCiAgICAgICAgICAgICBtZWRpYTogWwotICAgICAgICAgICAgICAgIHsgIG9mZnNl
dDogMTQwNiwgc2l6ZTogMjM4NjMsIHRpbWVjb2RlOiAwIH0sCi0gICAgICAgICAgICAgICAgeyAg
b2Zmc2V0OiAyNTI3MCwgc2l6ZTogMjU0MzUsIHRpbWVjb2RlOiAwLjc5NyB9LAotICAgICAgICAg
ICAgICAgIHsgIG9mZnNldDogNTA3MDUsIHNpemU6IDI0Nzk2LCB0aW1lY29kZTogMS41OTQgfSwK
LSAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDc1NTAxLCBzaXplOiAyNTE2NywgdGltZWNvZGU6
IDIuMzkwIH0sCi0gICAgICAgICAgICAgICAgeyAgb2Zmc2V0OiAxMDA2NjgsIHNpemU6IDIyOTc2
LCB0aW1lY29kZTogMy4xODcgfSwKLSAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDEyMzY0NCwg
c2l6ZTogMjUwMzAsIHRpbWVjb2RlOiAzLjk4NH0sCi0gICAgICAgICAgICAgICAgeyAgb2Zmc2V0
OiAxNDg2NzQsIHNpemU6IDI0OTI5LCB0aW1lY29kZTogNC43ODEgfSwKLSAgICAgICAgICAgICAg
ICB7ICBvZmZzZXQ6IDE3MzYwMywgc2l6ZTogMTkyNzEsIHRpbWVjb2RlOiA1LjU3OCB9LAorICAg
ICAgICAgICAgICAgIHsgIG9mZnNldDogMTQwNywgc2l6ZTogMjM4NjMsIHRpbWVjb2RlOiAwIH0s
CisgICAgICAgICAgICAgICAgeyAgb2Zmc2V0OiAyNTI3MCwgc2l6ZTogMjU0MzUsIHRpbWVjb2Rl
OiAwLjc5NjggfSwKKyAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDUwNzA1LCBzaXplOiAyNDc5
NiwgdGltZWNvZGU6IDEuNTkzNiB9LAorICAgICAgICAgICAgICAgIHsgIG9mZnNldDogNzU1MDEs
IHNpemU6IDI1MTY3LCB0aW1lY29kZTogMi4zOTA0IH0sCisgICAgICAgICAgICAgICAgeyAgb2Zm
c2V0OiAxMDA2NjgsIHNpemU6IDIyOTc2LCB0aW1lY29kZTogMy4xODcyIH0sCisgICAgICAgICAg
ICAgICAgeyAgb2Zmc2V0OiAxMjM2NDQsIHNpemU6IDI1MDMwLCB0aW1lY29kZTogMy45ODQgfSwK
KyAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDE0ODY3NCwgc2l6ZTogMjQ5MjksIHRpbWVjb2Rl
OiA0Ljc4MDggfSwKKyAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDE3MzYwMywgc2l6ZTogMTky
NzEsIHRpbWVjb2RlOiA1LjU3NzYgfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgIH0KICAgICBd
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1YzEwNWQz
ZWMyMjc0NjI4OGI1MDg1YzcxZDNhMDJmOTZmYmU0YmQwLi5mOWVlMjVlNWE5M2FkMjUzZGI2ZTU5
OTAyYmZiOGJmNmI2ODNiZjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTM2Nyw2ICsxMzY3LDcgQEAgd2Via2l0Lm9yZy9iLzEzODgwNiBbIFlvc2Vt
aXRlKyBdIG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtY3Vlcy1hZGRlZC1vbmNlLmh0bWwKIFsg
WW9zZW1pdGUrIF0gaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtcGxh
eS5odG1sIFsgUGFzcyBdCiBbIFlvc2VtaXRlKyBdIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL21lZGlhc291cmNlLXJlbW92ZS5odG1sIFsgUGFzcyBdCiBbIFlvc2VtaXRlKyBdIGh0dHAv
dGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlcmxpc3QuaHRt
bCBbIFBhc3MgXQorWyBZb3NlbWl0ZSsgXSBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9t
ZWRpYXNvdXJjZS1zb3VyY2VidWZmZXItbW9kZS5odG1sIFsgUGFzcyBdCiAKICMgVGhlc2UgdHdv
IHRlc3RzIGhhdmUgIkVycm9yOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMSIg
aW4gb3V0cHV0LgogWyBZb3NlbWl0ZSsgXSBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNl
LWR1cGxpY2F0ZS1zZWVrZWQuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LXNvdXJjZWJ1ZmZlci1tb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXIt
bW9kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTgyOGMxZGNlM2JkY2Q0MDQ2MTRmZTEzODBk
NmE0MTllZDE3MGNmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9odHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXIt
bW9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorIAorUEFTUyBUZXN0IGluaXRpYWwg
dmFsdWUgb2YgU291cmNlQnVmZmVyLm1vZGUgaXMgInNlZ21lbnRzIiAKK1BBU1MgVGVzdCBzZXR0
aW5nIFNvdXJjZUJ1ZmZlci5tb2RlIAorUEFTUyBUZXN0IHNldHRpbmcgYSByZW1vdmVkIFNvdXJj
ZUJ1ZmZlcidzIG1vZGUgCitQQVNTIFRlc3Qgc2V0dGluZyBTb3VyY2VCdWZmZXIubW9kZSB3aGls
ZSBzdGlsbCB1cGRhdGluZyAKK1BBU1MgVGVzdCBzZXR0aW5nIFNvdXJjZUJ1ZmZlci5tb2RlIHRy
aWdnZXJzIHBhcmVudCBNZWRpYVNvdXJjZSAnZW5kZWQnIHRvICdvcGVuJyB0cmFuc2l0aW9uLiAK
K0ZBSUwgVGVzdCBzZXR0aW5nIFNvdXJjZUJ1ZmZlci5tb2RlIGFuZCBTb3VyY2VCdWZmZXIudGlt
ZXN0YW1wT2Zmc2V0IHdoaWxlIHBhcnNpbmcgbWVkaWEgc2VnbWVudC4gYXNzZXJ0X3Rocm93czog
U2V0dGluZyB2YWxpZCBzb3VyY2VCdWZmZXIubW9kZSB3aGlsZSBzdGlsbCBwYXJzaW5nIG1lZGlh
IHNlZ21lbnQgdGhyZXcgSW52YWxpZFN0YXRlRXJyb3IuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
IHNvdXJjZUJ1ZmZlci5tb2RlID0gJ3NlZ21lbnRzJzsgfSIgZGlkIG5vdCB0aHJvdyhzdGFjazog
YXNzZXJ0QGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC93M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
OjIwNjA6NzMKK2Fzc2VydF90aHJvd3NAaHR0cDovLzEyNy4wLjAuMTo4MDAwL3czYy9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM6OTQ2OjE5CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWVkaWEvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLmh0bWw6MTE0OjMyCitoYW5k
bGVXYWl0Q2FsbGJhY2tfQGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9tZWRpYS9tZWRpYS1zb3VyY2Uv
bWVkaWFzb3VyY2UtdXRpbC5qczo5NzoxNworW25hdGl2ZSBjb2RlXQorc3RlcEBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qczoxMTU5OjMwCitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qczoxMTg4OjMzKQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242873</attachid>
            <date>2014-12-08 20:17:16 -0800</date>
            <delta_ts>2014-12-12 11:27:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139265-20141208201756.patch</filename>
            <type>text/plain</type>
            <size>30477</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2ODcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJlYTNkYzdjYmM1Y2M5
ZWNmZWI5ZjQzNjU4YTY1OWE5OTIwMzYyZi4uMThjNWExYjNlNmI2N2E3YzViNzQyZGEyNDg3YWU2
M2E1ZGMwNmVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE0LTEyLTA0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBTb3VyY2VCdWZmZXIubW9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzOTI2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFN1cHBvcnQgc2V0dGluZyBTb3VyY2VCdWZmZXIncyBtb2RlIHByb3Bl
cnR5LCBhbmQgYWRkIHN1cHBvcnQgZm9yICJzZXF1ZW5jZSIgbW9kZS4gUHJpb3IKKyAgICAgICAg
dG8gdGhpcyBjaGFuZ2UsICJzZWdtZW50cyIgbW9kZSB3YXMgaW1wbGllZC4KKworICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNv
dXJjZTo6cmVnZW5lcmF0ZUFjdGl2ZVNvdXJjZUJ1ZmZlcnMpOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1
ZmZlcjo6c2VnbWVudHNLZXl3b3JkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6
c2VxdWVuY2VLZXl3b3JkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6U291cmNl
QnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c2V0VGltZXN0YW1wT2Zm
c2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0
ZURpZFJlY2VpdmVTYW1wbGUpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpzZXRN
b2RlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbDoKKworMjAxNC0xMi0w
NCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBbV1RGXSBNZWRp
YVRpbWUgc2hvdWxkIHN1cHBvcnQgcm91bmQtdHJpcHBpbmcgZnJvbSBhbmQgdG8gZG91Ymxlcy4K
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTI0OAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2Uu
Y3BwCmluZGV4IGYxNmViM2YzMmQ4ZGE5N2NmOWFiMGM0NjI0ODBlMmFkYTYwYTM2ZDUuLjVlMzU0
YTUwYTMxNDQ4ZGI1OTM4MDU5YzMzZGY1NzA5YzI3NDJlYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwCkBAIC0xLDUgKzEsNiBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTA0LDcgKzUw
NSw5IEBAIFNvdXJjZUJ1ZmZlciogTWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBT
dHJpbmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjCiB7CiAgICAgTE9HKE1lZGlhU291cmNlLCAi
TWVkaWFTb3VyY2U6OmFkZFNvdXJjZUJ1ZmZlciglcykgJXAiLCB0eXBlLmFzY2lpKCkuZGF0YSgp
LCB0aGlzKTsKIAotICAgIC8vIDIuMiBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEv
cmF3LWZpbGUvZGVmYXVsdC9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLmh0bWwjd2lkbC1NZWRp
YVNvdXJjZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCisgICAg
Ly8gMi4yIGh0dHA6Ly93d3cudzMub3JnL1RSL21lZGlhLXNvdXJjZS8jd2lkbC1NZWRpYVNvdXJj
ZS1hZGRTb3VyY2VCdWZmZXItU291cmNlQnVmZmVyLURPTVN0cmluZy10eXBlCisgICAgLy8gV2hl
biB0aGlzIG1ldGhvZCBpcyBpbnZva2VkLCB0aGUgdXNlciBhZ2VudCBtdXN0IHJ1biB0aGUgZm9s
bG93aW5nIHN0ZXBzOgorCiAgICAgLy8gMS4gSWYgdHlwZSBpcyBudWxsIG9yIGFuIGVtcHR5IHRo
ZW4gdGhyb3cgYW4gSU5WQUxJRF9BQ0NFU1NfRVJSIGV4Y2VwdGlvbiBhbmQKICAgICAvLyBhYm9y
dCB0aGVzZSBzdGVwcy4KICAgICBpZiAodHlwZS5pc051bGwoKSB8fCB0eXBlLmlzRW1wdHkoKSkg
ewpAQCAtNTM4LDExICs1NDEsMjUgQEAgU291cmNlQnVmZmVyKiBNZWRpYVNvdXJjZTo6YWRkU291
cmNlQnVmZmVyKGNvbnN0IFN0cmluZyYgdHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICB9CiAK
ICAgICBSZWZQdHI8U291cmNlQnVmZmVyPiBidWZmZXIgPSBTb3VyY2VCdWZmZXI6OmNyZWF0ZShz
b3VyY2VCdWZmZXJQcml2YXRlLnJlbGVhc2VOb25OdWxsKCksIHRoaXMpOwotICAgIC8vIDYuIEFk
ZCB0aGUgbmV3IG9iamVjdCB0byBzb3VyY2VCdWZmZXJzIGFuZCBmaXJlIGEgYWRkc291cmNlYnVm
ZmVyIG9uIHRoYXQgb2JqZWN0LgorCisgICAgLy8gNi4gU2V0IHRoZSBnZW5lcmF0ZSB0aW1lc3Rh
bXBzIGZsYWcgb24gdGhlIG5ldyBvYmplY3QgdG8gdGhlIHZhbHVlIGluIHRoZSAiR2VuZXJhdGUg
VGltZXN0YW1wcyBGbGFnIgorICAgIC8vIGNvbHVtbiBvZiB0aGUgYnl0ZSBzdHJlYW0gZm9ybWF0
IHJlZ2lzdHJ5IFtNU0UtUkVHSVNUUlldIGVudHJ5IHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHR5
cGUuCisgICAgLy8gTk9URTogSW4gdGhlIGN1cnJlbnQgYnl0ZSBzdHJlYW0gZm9ybWF0IHJlZ2lz
dHJ5IDxodHRwOi8vd3d3LnczLm9yZy8yMDEzLzEyL2J5dGUtc3RyZWFtLWZvcm1hdC1yZWdpc3Ry
eS8+CisgICAgLy8gb25seSB0aGUgIk1QRUcgQXVkaW8gQnl0ZSBTdHJlYW0gRm9ybWF0IiBoYXMg
dGhlICJHZW5lcmF0ZSBUaW1lc3RhbXBzIEZsYWciIHZhbHVlIHNldC4KKyAgICBib29sIHNob3Vs
ZEdlbmVyYXRlVGltZXN0YW1wcyA9IGNvbnRlbnRUeXBlLnR5cGUoKSA9PSAiYXVkaW8vYWFjIiB8
fCBjb250ZW50VHlwZS50eXBlKCkgPT0gImF1ZGlvL21wZWciOworICAgIGJ1ZmZlci0+c2V0U2hv
dWxkR2VuZXJhdGVUaW1lc3RhbXBzKHNob3VsZEdlbmVyYXRlVGltZXN0YW1wcyk7CisKKyAgICAv
LyA3LiBJZiB0aGUgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlOgorICAgIC8v
IOKGsyBTZXQgdGhlIG1vZGUgYXR0cmlidXRlIG9uIHRoZSBuZXcgb2JqZWN0IHRvICJzZXF1ZW5j
ZSIuCisgICAgLy8gT3RoZXJ3aXNlOgorICAgIC8vIOKGsyBTZXQgdGhlIG1vZGUgYXR0cmlidXRl
IG9uIHRoZSBuZXcgb2JqZWN0IHRvICJzZWdtZW50cyIuCisgICAgYnVmZmVyLT5zZXRNb2RlKHNo
b3VsZEdlbmVyYXRlVGltZXN0YW1wcyA/IFNvdXJjZUJ1ZmZlcjo6c2VxdWVuY2VLZXl3b3JkKCkg
OiBTb3VyY2VCdWZmZXI6OnNlZ21lbnRzS2V5d29yZCgpLCBJR05PUkVfRVhDRVBUSU9OKTsKKwor
ICAgIC8vIDguIEFkZCB0aGUgbmV3IG9iamVjdCB0byBzb3VyY2VCdWZmZXJzIGFuZCBmaXJlIGEg
YWRkc291cmNlYnVmZmVyIG9uIHRoYXQgb2JqZWN0LgogICAgIG1fc291cmNlQnVmZmVycy0+YWRk
KGJ1ZmZlcik7CiAgICAgcmVnZW5lcmF0ZUFjdGl2ZVNvdXJjZUJ1ZmZlcnMoKTsKIAotICAgIC8v
IDcuIFJldHVybiB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgorICAgIC8vIDkuIFJldHVy
biB0aGUgbmV3IG9iamVjdCB0byB0aGUgY2FsbGVyLgogICAgIHJldHVybiBidWZmZXIuZ2V0KCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291
cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcAppbmRleCBmYzYxY2Q5MTlmNGNlYzE0ZWNlY2M0MTEyNzZmYzU4YmM2MGIzMDdi
Li43YTM3NmM4MDk1OTgxMDU1ZDlkNDJhOTFlNDU1ZjY3MzE5NTQ2NWU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC03
MSw2ICs3MSwxOCBAQCBzdGF0aWMgY29uc3QgTWVkaWFUaW1lJiBjdXJyZW50VGltZUZ1ZGdlRmFj
dG9yKCkKICAgICByZXR1cm4gZnVkZ2VGYWN0b3I7CiB9CiAKK2NvbnN0IEF0b21pY1N0cmluZyYg
U291cmNlQnVmZmVyOjpzZWdtZW50c0tleXdvcmQoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxBdG9taWNTdHJpbmc+IHNlZ21lbnRzKCJzZWdtZW50cyIpOworICAgIHJldHVybiBzZWdt
ZW50cy5nZXQoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBTb3VyY2VCdWZmZXI6OnNlcXVl
bmNlS2V5d29yZCgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4g
c2VnbWVudHMoInNlcXVlbmNlIik7CisgICAgcmV0dXJuIHNlZ21lbnRzLmdldCgpOworfQorCiBz
dHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7CiAgICAgTWVkaWFUaW1lIGxhc3REZWNv
ZGVUaW1lc3RhbXA7CiAgICAgTWVkaWFUaW1lIGxhc3RGcmFtZUR1cmF0aW9uOwpAQCAtMTA5LDgg
KzEyMSwxMCBAQCBTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihQYXNzUmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+IHNvdXJjZUJ1ZmZlclByaXZhdGUsIE1lZAogICAgICwgbV9wcml2YXRlKFdURjo6
bW92ZShzb3VyY2VCdWZmZXJQcml2YXRlKSkKICAgICAsIG1fc291cmNlKHNvdXJjZSkKICAgICAs
IG1fYXN5bmNFdmVudFF1ZXVlKCp0aGlzKQorICAgICwgbV9tb2RlKHNlZ21lbnRzS2V5d29yZCgp
KQogICAgICwgbV9hcHBlbmRCdWZmZXJUaW1lcigqdGhpcywgJlNvdXJjZUJ1ZmZlcjo6YXBwZW5k
QnVmZmVyVGltZXJGaXJlZCkKLSAgICAsIG1faGlnaGVzdFByZXNlbnRhdGlvbkVuZFRpbWVzdGFt
cChNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCisgICAgLCBtX2dyb3VwU3RhcnRUaW1lc3RhbXAo
TWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQorICAgICwgbV9ncm91cEVuZFRpbWVzdGFtcChNZWRp
YVRpbWU6Onplcm9UaW1lKCkpCiAgICAgLCBtX2J1ZmZlcmVkKFRpbWVSYW5nZXM6OmNyZWF0ZSgp
KQogICAgICwgbV9hcHBlbmRTdGF0ZShXYWl0aW5nRm9yU2VnbWVudCkKICAgICAsIG1fdGltZU9m
QnVmZmVyaW5nTW9uaXRvcihtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKQEAgLTEyNCw2
ICsxMzgsNyBAQCBTb3VyY2VCdWZmZXI6OlNvdXJjZUJ1ZmZlcihQYXNzUmVmPFNvdXJjZUJ1ZmZl
clByaXZhdGU+IHNvdXJjZUJ1ZmZlclByaXZhdGUsIE1lZAogICAgICwgbV9yZWNlaXZlZEZpcnN0
SW5pdGlhbGl6YXRpb25TZWdtZW50KGZhbHNlKQogICAgICwgbV9hY3RpdmUoZmFsc2UpCiAgICAg
LCBtX2J1ZmZlckZ1bGwoZmFsc2UpCisgICAgLCBtX3Nob3VsZEdlbmVyYXRlVGltZXN0YW1wcyhm
YWxzZSkKIHsKICAgICBBU1NFUlQobV9zb3VyY2UpOwogCkBAIC0xODYsOSArMjAxLDE0IEBAIHZv
aWQgU291cmNlQnVmZmVyOjpzZXRUaW1lc3RhbXBPZmZzZXQoZG91YmxlIG9mZnNldCwgRXhjZXB0
aW9uQ29kZSYgZWMpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogQWRk
IHN0ZXAgNiB0ZXh0IHdoZW4gbW9kZSBhdHRyaWJ1dGUgaXMgaW1wbGVtZW50ZWQuCisgICAgTWVk
aWFUaW1lIG5ld1RpbWVzdGFtcE9mZnNldCA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShv
ZmZzZXQpOworCisgICAgLy8gNi4gSWYgdGhlIG1vZGUgYXR0cmlidXRlIGVxdWFscyAic2VxdWVu
Y2UiLCB0aGVuIHNldCB0aGUgZ3JvdXAgc3RhcnQgdGltZXN0YW1wIHRvIG5ldyB0aW1lc3RhbXAg
b2Zmc2V0LgorICAgIGlmIChtX21vZGUgPT0gc2VxdWVuY2VLZXl3b3JkKCkpCisgICAgICAgIG1f
Z3JvdXBTdGFydFRpbWVzdGFtcCA9IG5ld1RpbWVzdGFtcE9mZnNldDsKKwogICAgIC8vIDcuIFVw
ZGF0ZSB0aGUgYXR0cmlidXRlIHRvIHRoZSBuZXcgdmFsdWUuCi0gICAgbV90aW1lc3RhbXBPZmZz
ZXQgPSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUob2Zmc2V0KTsKKyAgICBtX3RpbWVzdGFt
cE9mZnNldCA9IG5ld1RpbWVzdGFtcE9mZnNldDsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXI6OmFw
cGVuZEJ1ZmZlcihQYXNzUmVmUHRyPEFycmF5QnVmZmVyPiBkYXRhLCBFeGNlcHRpb25Db2RlJiBl
YykKQEAgLTExOTcsOTUgKzEyMTcsMTI2IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZm
ZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFzCiAgICAg
UmVmUHRyPE1lZGlhU2FtcGxlPiBzYW1wbGUgPSBwcnBTYW1wbGU7CiAKICAgICAvLyAzLjUuOCBD
b2RlZCBGcmFtZSBQcm9jZXNzaW5nCisgICAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvbWVkaWEt
c291cmNlLyNzb3VyY2VidWZmZXItY29kZWQtZnJhbWUtcHJvY2Vzc2luZworCiAgICAgLy8gV2hl
biBjb21wbGV0ZSBjb2RlZCBmcmFtZXMgaGF2ZSBiZWVuIHBhcnNlZCBieSB0aGUgc2VnbWVudCBw
YXJzZXIgbG9vcCB0aGVuIHRoZSBmb2xsb3dpbmcgc3RlcHMKICAgICAvLyBhcmUgcnVuOgogICAg
IC8vIDEuIEZvciBlYWNoIGNvZGVkIGZyYW1lIGluIHRoZSBtZWRpYSBzZWdtZW50IHJ1biB0aGUg
Zm9sbG93aW5nIHN0ZXBzOgogICAgIC8vIDEuMS4gTG9vcCBUb3AKICAgICBkbyB7Ci0gICAgICAg
IC8vIDEuMSAoY3RkKSBMZXQgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBiZSBhIGRvdWJsZSBwcmVj
aXNpb24gZmxvYXRpbmcgcG9pbnQgcmVwcmVzZW50YXRpb24gb2YKLSAgICAgICAgLy8gdGhlIGNv
ZGVkIGZyYW1lJ3MgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBpbiBzZWNvbmRzLgotICAgICAgICBN
ZWRpYVRpbWUgcHJlc2VudGF0aW9uVGltZXN0YW1wID0gc2FtcGxlLT5wcmVzZW50YXRpb25UaW1l
KCk7Ci0KLSAgICAgICAgLy8gMS4yIExldCBkZWNvZGUgdGltZXN0YW1wIGJlIGEgZG91YmxlIHBy
ZWNpc2lvbiBmbG9hdGluZyBwb2ludCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29kZWQgZnJhbWUn
cwotICAgICAgICAvLyBkZWNvZGUgdGltZXN0YW1wIGluIHNlY29uZHMuCi0gICAgICAgIE1lZGlh
VGltZSBkZWNvZGVUaW1lc3RhbXAgPSBzYW1wbGUtPmRlY29kZVRpbWUoKTsKKyAgICAgICAgTWVk
aWFUaW1lIHByZXNlbnRhdGlvblRpbWVzdGFtcDsKKyAgICAgICAgTWVkaWFUaW1lIGRlY29kZVRp
bWVzdGFtcDsKKworICAgICAgICBpZiAobV9zaG91bGRHZW5lcmF0ZVRpbWVzdGFtcHMpIHsKKyAg
ICAgICAgICAgIC8vIOKGsyBJZiBnZW5lcmF0ZSB0aW1lc3RhbXBzIGZsYWcgZXF1YWxzIHRydWU6
CisgICAgICAgICAgICAvLyAxLiBMZXQgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBlcXVhbCAwLgor
ICAgICAgICAgICAgcHJlc2VudGF0aW9uVGltZXN0YW1wID0gTWVkaWFUaW1lOjp6ZXJvVGltZSgp
OworCisgICAgICAgICAgICAvLyAyLiBMZXQgZGVjb2RlIHRpbWVzdGFtcCBlcXVhbCAwLgorICAg
ICAgICAgICAgZGVjb2RlVGltZXN0YW1wID0gTWVkaWFUaW1lOjp6ZXJvVGltZSgpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgLy8g4oazIE90aGVyd2lzZToKKyAgICAgICAgICAgIC8v
IDEuIExldCBwcmVzZW50YXRpb24gdGltZXN0YW1wIGJlIGEgZG91YmxlIHByZWNpc2lvbiBmbG9h
dGluZyBwb2ludCByZXByZXNlbnRhdGlvbiBvZgorICAgICAgICAgICAgLy8gdGhlIGNvZGVkIGZy
YW1lJ3MgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBpbiBzZWNvbmRzLgorICAgICAgICAgICAgcHJl
c2VudGF0aW9uVGltZXN0YW1wID0gc2FtcGxlLT5wcmVzZW50YXRpb25UaW1lKCk7CisKKyAgICAg
ICAgICAgIC8vIDIuIExldCBkZWNvZGUgdGltZXN0YW1wIGJlIGEgZG91YmxlIHByZWNpc2lvbiBm
bG9hdGluZyBwb2ludCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29kZWQgZnJhbWUncworICAgICAg
ICAgICAgLy8gZGVjb2RlIHRpbWVzdGFtcCBpbiBzZWNvbmRzLgorICAgICAgICAgICAgZGVjb2Rl
VGltZXN0YW1wID0gc2FtcGxlLT5kZWNvZGVUaW1lKCk7CisgICAgICAgIH0KIAotICAgICAgICAv
LyAxLjMgTGV0IGZyYW1lIGR1cmF0aW9uIGJlIGEgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZyBw
b2ludCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29kZWQgZnJhbWUncworICAgICAgICAvLyAxLjIg
TGV0IGZyYW1lIGR1cmF0aW9uIGJlIGEgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludCBy
ZXByZXNlbnRhdGlvbiBvZiB0aGUgY29kZWQgZnJhbWUncwogICAgICAgICAvLyBkdXJhdGlvbiBp
biBzZWNvbmRzLgogICAgICAgICBNZWRpYVRpbWUgZnJhbWVEdXJhdGlvbiA9IHNhbXBsZS0+ZHVy
YXRpb24oKTsKIAotICAgICAgICAvLyAxLjQgSWYgbW9kZSBlcXVhbHMgInNlcXVlbmNlIiBhbmQg
Z3JvdXAgc3RhcnQgdGltZXN0YW1wIGlzIHNldCwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVw
czoKLSAgICAgICAgLy8gRklYTUU6IGFkZCBzdXBwb3J0IGZvciAic2VxdWVuY2UiIG1vZGUKKyAg
ICAgICAgLy8gMS4zIElmIG1vZGUgZXF1YWxzICJzZXF1ZW5jZSIgYW5kIGdyb3VwIHN0YXJ0IHRp
bWVzdGFtcCBpcyBzZXQsIHRoZW4gcnVuIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgICAgIGlm
IChtX21vZGUgPT0gc2VxdWVuY2VLZXl3b3JkKCkpIHsKKyAgICAgICAgICAgIC8vIDEuMy4xIFNl
dCB0aW1lc3RhbXBPZmZzZXQgZXF1YWwgdG8gZ3JvdXAgc3RhcnQgdGltZXN0YW1wIC0gcHJlc2Vu
dGF0aW9uIHRpbWVzdGFtcC4KKyAgICAgICAgICAgIG1fdGltZXN0YW1wT2Zmc2V0ID0gbV9ncm91
cFN0YXJ0VGltZXN0YW1wOworCisgICAgICAgICAgICAvLyAxLjMuMiBTZXQgZ3JvdXAgZW5kIHRp
bWVzdGFtcCBlcXVhbCB0byBncm91cCBzdGFydCB0aW1lc3RhbXAuCisgICAgICAgICAgICBtX2dy
b3VwRW5kVGltZXN0YW1wID0gbV9ncm91cFN0YXJ0VGltZXN0YW1wOworCisgICAgICAgICAgICAv
LyAxLjMuMyBTZXQgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIGFsbCB0cmFj
ayBidWZmZXJzIHRvIHRydWUuCisgICAgICAgICAgICBmb3IgKGF1dG8mIHRyYWNrQnVmZmVyIDog
bV90cmFja0J1ZmZlck1hcC52YWx1ZXMoKSkKKyAgICAgICAgICAgICAgICB0cmFja0J1ZmZlci5u
ZWVkUmFuZG9tQWNjZXNzRmxhZyA9IHRydWU7CisKKyAgICAgICAgICAgIC8vIDEuMy40IFVuc2V0
IGdyb3VwIHN0YXJ0IHRpbWVzdGFtcC4KKyAgICAgICAgICAgIG1fZ3JvdXBTdGFydFRpbWVzdGFt
cCA9IE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKTsKKyAgICAgICAgfQogCi0gICAgICAgIC8vIDEu
NSBJZiB0aW1lc3RhbXBPZmZzZXQgaXMgbm90IDAsIHRoZW4gcnVuIHRoZSBmb2xsb3dpbmcgc3Rl
cHM6CisgICAgICAgIC8vIDEuNCBJZiB0aW1lc3RhbXBPZmZzZXQgaXMgbm90IDAsIHRoZW4gcnVu
IHRoZSBmb2xsb3dpbmcgc3RlcHM6CiAgICAgICAgIGlmIChtX3RpbWVzdGFtcE9mZnNldCkgewot
ICAgICAgICAgICAgLy8gMS41LjEgQWRkIHRpbWVzdGFtcE9mZnNldCB0byB0aGUgcHJlc2VudGF0
aW9uIHRpbWVzdGFtcC4KKyAgICAgICAgICAgIC8vIDEuNC4xIEFkZCB0aW1lc3RhbXBPZmZzZXQg
dG8gdGhlIHByZXNlbnRhdGlvbiB0aW1lc3RhbXAuCiAgICAgICAgICAgICBwcmVzZW50YXRpb25U
aW1lc3RhbXAgKz0gbV90aW1lc3RhbXBPZmZzZXQ7CiAKLSAgICAgICAgICAgIC8vIDEuNS4yIEFk
ZCB0aW1lc3RhbXBPZmZzZXQgdG8gdGhlIGRlY29kZSB0aW1lc3RhbXAuCisgICAgICAgICAgICAv
LyAxLjQuMiBBZGQgdGltZXN0YW1wT2Zmc2V0IHRvIHRoZSBkZWNvZGUgdGltZXN0YW1wLgogICAg
ICAgICAgICAgZGVjb2RlVGltZXN0YW1wICs9IG1fdGltZXN0YW1wT2Zmc2V0OwotCi0gICAgICAg
ICAgICAvLyAxLjUuMyBJZiB0aGUgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBvciBkZWNvZGUgdGlt
ZXN0YW1wIGlzIGxlc3MgdGhhbiB0aGUgcHJlc2VudGF0aW9uIHN0YXJ0Ci0gICAgICAgICAgICAv
LyB0aW1lLCB0aGVuIHJ1biB0aGUgZW5kIG9mIHN0cmVhbSBhbGdvcml0aG0gd2l0aCB0aGUgZXJy
b3IgcGFyYW1ldGVyIHNldCB0byAiZGVjb2RlIiwgYW5kCi0gICAgICAgICAgICAvLyBhYm9ydCB0
aGVzZSBzdGVwcy4KLSAgICAgICAgICAgIE1lZGlhVGltZSBwcmVzZW50YXRpb25TdGFydFRpbWUg
PSBNZWRpYVRpbWU6Onplcm9UaW1lKCk7Ci0gICAgICAgICAgICBpZiAocHJlc2VudGF0aW9uVGlt
ZXN0YW1wIDwgcHJlc2VudGF0aW9uU3RhcnRUaW1lIHx8IGRlY29kZVRpbWVzdGFtcCA8IHByZXNl
bnRhdGlvblN0YXJ0VGltZSkgewotI2lmICFMT0dfRElTQUJMRUQKLSAgICAgICAgICAgICAgICBM
T0coTWVkaWFTb3VyY2UsICJTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNl
aXZlU2FtcGxlKCVwKSAtIGZhaWxpbmcgYmVjYXVzZSAlcyIsIHRoaXMsIHByZXNlbnRhdGlvblRp
bWVzdGFtcCA8IHByZXNlbnRhdGlvblN0YXJ0VGltZSA/ICJwcmVzZW50YXRpb25UaW1lc3RhbXAg
PCBwcmVzZW50YXRpb25TdGFydFRpbWUiIDogImRlY29kZVRpbWVzdGFtcCA8IHByZXNlbnRhdGlv
blN0YXJ0VGltZSIpOwotI2VuZGlmCi0gICAgICAgICAgICAgICAgbV9zb3VyY2UtPnN0cmVhbUVu
ZGVkV2l0aEVycm9yKGRlY29kZUVycm9yKCksIElnbm9yYWJsZUV4Y2VwdGlvbkNvZGUoKSk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAg
ICAgLy8gMS42IExldCB0cmFjayBidWZmZXIgZXF1YWwgdGhlIHRyYWNrIGJ1ZmZlciB0aGF0IHRo
ZSBjb2RlZCBmcmFtZSB3aWxsIGJlIGFkZGVkIHRvLgorICAgICAgICAvLyAxLjUgTGV0IHRyYWNr
IGJ1ZmZlciBlcXVhbCB0aGUgdHJhY2sgYnVmZmVyIHRoYXQgdGhlIGNvZGVkIGZyYW1lIHdpbGwg
YmUgYWRkZWQgdG8uCiAgICAgICAgIEF0b21pY1N0cmluZyB0cmFja0lEID0gc2FtcGxlLT50cmFj
a0lEKCk7CiAgICAgICAgIGF1dG8gaXQgPSBtX3RyYWNrQnVmZmVyTWFwLmZpbmQodHJhY2tJRCk7
CiAgICAgICAgIGlmIChpdCA9PSBtX3RyYWNrQnVmZmVyTWFwLmVuZCgpKQogICAgICAgICAgICAg
aXQgPSBtX3RyYWNrQnVmZmVyTWFwLmFkZCh0cmFja0lELCBUcmFja0J1ZmZlcigpKS5pdGVyYXRv
cjsKICAgICAgICAgVHJhY2tCdWZmZXImIHRyYWNrQnVmZmVyID0gaXQtPnZhbHVlOwogCi0gICAg
ICAgIC8vIDEuNyBJZiBsYXN0IGRlY29kZSB0aW1lc3RhbXAgZm9yIHRyYWNrIGJ1ZmZlciBpcyBz
ZXQgYW5kIGRlY29kZSB0aW1lc3RhbXAgaXMgbGVzcyB0aGFuIGxhc3QKKyAgICAgICAgLy8gMS42
IOKGsyBJZiBsYXN0IGRlY29kZSB0aW1lc3RhbXAgZm9yIHRyYWNrIGJ1ZmZlciBpcyBzZXQgYW5k
IGRlY29kZSB0aW1lc3RhbXAgaXMgbGVzcyB0aGFuIGxhc3QKICAgICAgICAgLy8gZGVjb2RlIHRp
bWVzdGFtcDoKICAgICAgICAgLy8gT1IKLSAgICAgICAgLy8gSWYgbGFzdCBkZWNvZGUgdGltZXN0
YW1wIGZvciB0cmFjayBidWZmZXIgaXMgc2V0IGFuZCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGRl
Y29kZSB0aW1lc3RhbXAgYW5kCisgICAgICAgIC8vIOKGsyBJZiBsYXN0IGRlY29kZSB0aW1lc3Rh
bXAgZm9yIHRyYWNrIGJ1ZmZlciBpcyBzZXQgYW5kIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gZGVj
b2RlIHRpbWVzdGFtcCBhbmQKICAgICAgICAgLy8gbGFzdCBkZWNvZGUgdGltZXN0YW1wIGlzIGdy
ZWF0ZXIgdGhhbiAyIHRpbWVzIGxhc3QgZnJhbWUgZHVyYXRpb246CiAgICAgICAgIGlmICh0cmFj
a0J1ZmZlci5sYXN0RGVjb2RlVGltZXN0YW1wLmlzVmFsaWQoKSAmJiAoZGVjb2RlVGltZXN0YW1w
IDwgdHJhY2tCdWZmZXIubGFzdERlY29kZVRpbWVzdGFtcAogICAgICAgICAgICAgfHwgYWJzKGRl
Y29kZVRpbWVzdGFtcCAtIHRyYWNrQnVmZmVyLmxhc3REZWNvZGVUaW1lc3RhbXApID4gKHRyYWNr
QnVmZmVyLmxhc3RGcmFtZUR1cmF0aW9uICogMikpKSB7Ci0gICAgICAgICAgICAvLyAxLjcuMSBJ
ZiBtb2RlIGVxdWFscyAic2VnbWVudHMiOgotICAgICAgICAgICAgLy8gU2V0IGhpZ2hlc3QgcHJl
c2VudGF0aW9uIGVuZCB0aW1lc3RhbXAgdG8gcHJlc2VudGF0aW9uIHRpbWVzdGFtcC4KLSAgICAg
ICAgICAgIG1faGlnaGVzdFByZXNlbnRhdGlvbkVuZFRpbWVzdGFtcCA9IHByZXNlbnRhdGlvblRp
bWVzdGFtcDsKIAotICAgICAgICAgICAgLy8gSWYgbW9kZSBlcXVhbHMgInNlcXVlbmNlIjoKLSAg
ICAgICAgICAgIC8vIFNldCBncm91cCBzdGFydCB0aW1lc3RhbXAgZXF1YWwgdG8gdGhlIGhpZ2hl
c3QgcHJlc2VudGF0aW9uIGVuZCB0aW1lc3RhbXAuCi0gICAgICAgICAgICAvLyBGSVhNRTogQWRk
IHN1cHBvcnQgZm9yICJzZXF1ZW5jZSIgbW9kZS4KKyAgICAgICAgICAgIC8vIDEuNi4xOgorICAg
ICAgICAgICAgaWYgKG1fbW9kZSA9PSBzZWdtZW50c0tleXdvcmQoKSkgeworICAgICAgICAgICAg
ICAgIC8vIOKGsyBJZiBtb2RlIGVxdWFscyAic2VnbWVudHMiOgorICAgICAgICAgICAgICAgIC8v
IFNldCBncm91cCBlbmQgdGltZXN0YW1wIHRvIHByZXNlbnRhdGlvbiB0aW1lc3RhbXAuCisgICAg
ICAgICAgICAgICAgbV9ncm91cEVuZFRpbWVzdGFtcCA9IHByZXNlbnRhdGlvblRpbWVzdGFtcDsK
KyAgICAgICAgICAgIH0gZWxzZSBpZiAobV9tb2RlID09IHNlcXVlbmNlS2V5d29yZCgpKSB7Cisg
ICAgICAgICAgICAgICAgLy8g4oazIElmIG1vZGUgZXF1YWxzICJzZXF1ZW5jZSI6CisgICAgICAg
ICAgICAgICAgLy8gU2V0IGdyb3VwIHN0YXJ0IHRpbWVzdGFtcCBlcXVhbCB0byB0aGUgZ3JvdXAg
ZW5kIHRpbWVzdGFtcC4KKyAgICAgICAgICAgICAgICBtX2dyb3VwU3RhcnRUaW1lc3RhbXAgPSBt
X2dyb3VwRW5kVGltZXN0YW1wOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmb3IgKGF1
dG8mIHRyYWNrQnVmZmVyIDogbV90cmFja0J1ZmZlck1hcC52YWx1ZXMoKSkgewotICAgICAgICAg
ICAgICAgIC8vIDEuNy4yIFVuc2V0IHRoZSBsYXN0IGRlY29kZSB0aW1lc3RhbXAgb24gYWxsIHRy
YWNrIGJ1ZmZlcnMuCisgICAgICAgICAgICAgICAgLy8gMS42LjIgVW5zZXQgdGhlIGxhc3QgZGVj
b2RlIHRpbWVzdGFtcCBvbiBhbGwgdHJhY2sgYnVmZmVycy4KICAgICAgICAgICAgICAgICB0cmFj
a0J1ZmZlci5sYXN0RGVjb2RlVGltZXN0YW1wID0gTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpOwot
ICAgICAgICAgICAgICAgIC8vIDEuNy4zIFVuc2V0IHRoZSBsYXN0IGZyYW1lIGR1cmF0aW9uIG9u
IGFsbCB0cmFjayBidWZmZXJzLgorICAgICAgICAgICAgICAgIC8vIDEuNi4zIFVuc2V0IHRoZSBs
YXN0IGZyYW1lIGR1cmF0aW9uIG9uIGFsbCB0cmFjayBidWZmZXJzLgogICAgICAgICAgICAgICAg
IHRyYWNrQnVmZmVyLmxhc3RGcmFtZUR1cmF0aW9uID0gTWVkaWFUaW1lOjppbnZhbGlkVGltZSgp
OwotICAgICAgICAgICAgICAgIC8vIDEuNy40IFVuc2V0IHRoZSBoaWdoZXN0IHByZXNlbnRhdGlv
biB0aW1lc3RhbXAgb24gYWxsIHRyYWNrIGJ1ZmZlcnMuCisgICAgICAgICAgICAgICAgLy8gMS42
LjQgVW5zZXQgdGhlIGhpZ2hlc3QgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBvbiBhbGwgdHJhY2sg
YnVmZmVycy4KICAgICAgICAgICAgICAgICB0cmFja0J1ZmZlci5oaWdoZXN0UHJlc2VudGF0aW9u
VGltZXN0YW1wID0gTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpOwotICAgICAgICAgICAgICAgIC8v
IDEuNy41IFNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBvaW50IGZsYWcgb24gYWxsIHRyYWNr
IGJ1ZmZlcnMgdG8gdHJ1ZS4KKyAgICAgICAgICAgICAgICAvLyAxLjYuNSBTZXQgdGhlIG5lZWQg
cmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIGFsbCB0cmFjayBidWZmZXJzIHRvIHRydWUuCiAg
ICAgICAgICAgICAgICAgdHJhY2tCdWZmZXIubmVlZFJhbmRvbUFjY2Vzc0ZsYWcgPSB0cnVlOwog
ICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAvLyAxLjcuNiBKdW1wIHRvIHRoZSBMb29wIFRv
cCBzdGVwIGFib3ZlIHRvIHJlc3RhcnQgcHJvY2Vzc2luZyBvZiB0aGUgY3VycmVudCBjb2RlZCBm
cmFtZS4KKyAgICAgICAgICAgIC8vIDEuNi42IEp1bXAgdG8gdGhlIExvb3AgVG9wIHN0ZXAgYWJv
dmUgdG8gcmVzdGFydCBwcm9jZXNzaW5nIG9mIHRoZSBjdXJyZW50IGNvZGVkIGZyYW1lLgogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICAvLyAxLjggTGV0IGZyYW1l
IGVuZCB0aW1lc3RhbXAgZXF1YWwgdGhlIHN1bSBvZiBwcmVzZW50YXRpb24gdGltZXN0YW1wIGFu
ZCBmcmFtZSBkdXJhdGlvbi4KKyAgICAgICAgLy8gMS43IExldCBmcmFtZSBlbmQgdGltZXN0YW1w
IGVxdWFsIHRoZSBzdW0gb2YgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBhbmQgZnJhbWUgZHVyYXRp
b24uCiAgICAgICAgIE1lZGlhVGltZSBmcmFtZUVuZFRpbWVzdGFtcCA9IHByZXNlbnRhdGlvblRp
bWVzdGFtcCArIGZyYW1lRHVyYXRpb247CiAKLSAgICAgICAgLy8gMS45IElmIHByZXNlbnRhdGlv
biB0aW1lc3RhbXAgaXMgbGVzcyB0aGFuIGFwcGVuZFdpbmRvd1N0YXJ0LCB0aGVuIHNldCB0aGUg
bmVlZCByYW5kb20gYWNjZXNzCisgICAgICAgIC8vIDEuOCBJZiBwcmVzZW50YXRpb24gdGltZXN0
YW1wIGlzIGxlc3MgdGhhbiBhcHBlbmRXaW5kb3dTdGFydCwgdGhlbiBzZXQgdGhlIG5lZWQgcmFu
ZG9tIGFjY2VzcwogICAgICAgICAvLyBwb2ludCBmbGFnIHRvIHRydWUsIGRyb3AgdGhlIGNvZGVk
IGZyYW1lLCBhbmQganVtcCB0byB0aGUgdG9wIG9mIHRoZSBsb29wIHRvIHN0YXJ0IHByb2Nlc3Np
bmcKICAgICAgICAgLy8gdGhlIG5leHQgY29kZWQgZnJhbWUuCi0gICAgICAgIC8vIDEuMTAgSWYg
ZnJhbWUgZW5kIHRpbWVzdGFtcCBpcyBncmVhdGVyIHRoYW4gYXBwZW5kV2luZG93RW5kLCB0aGVu
IHNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNzCisgICAgICAgIC8vIDEuOSBJZiBmcmFtZSBlbmQg
dGltZXN0YW1wIGlzIGdyZWF0ZXIgdGhhbiBhcHBlbmRXaW5kb3dFbmQsIHRoZW4gc2V0IHRoZSBu
ZWVkIHJhbmRvbSBhY2Nlc3MKICAgICAgICAgLy8gcG9pbnQgZmxhZyB0byB0cnVlLCBkcm9wIHRo
ZSBjb2RlZCBmcmFtZSwgYW5kIGp1bXAgdG8gdGhlIHRvcCBvZiB0aGUgbG9vcCB0byBzdGFydCBw
cm9jZXNzaW5nCiAgICAgICAgIC8vIHRoZSBuZXh0IGNvZGVkIGZyYW1lLgogICAgICAgICAvLyBG
SVhNRTogaW1wbGVtZW50IGFwcGVuZCB3aW5kb3dzCiAKKyAgICAgICAgLy8gMS4xMCBJZiB0aGUg
ZGVjb2RlIHRpbWVzdGFtcCBpcyBsZXNzIHRoYW4gdGhlIHByZXNlbnRhdGlvbiBzdGFydCB0aW1l
LCB0aGVuIHJ1biB0aGUgZW5kIG9mIHN0cmVhbQorICAgICAgICAvLyBhbGdvcml0aG0gd2l0aCB0
aGUgZXJyb3IgcGFyYW1ldGVyIHNldCB0byAiZGVjb2RlIiwgYW5kIGFib3J0IHRoZXNlIHN0ZXBz
LgorICAgICAgICAvLyBOT1RFOiBVbnRpbCA8aHR0cHM6Ly93d3cudzMub3JnL0J1Z3MvUHVibGlj
L3Nob3dfYnVnLmNnaT9pZD0yNzQ4Nz4gaXMgcmVzb2x2ZWQsIHdlIHdpbGwgb25seSBjaGVjawor
ICAgICAgICAvLyB0aGUgcHJlc2VudGF0aW9uIHRpbWVzdGFtcC4KKyAgICAgICAgTWVkaWFUaW1l
IHByZXNlbnRhdGlvblN0YXJ0VGltZSA9IE1lZGlhVGltZTo6emVyb1RpbWUoKTsKKyAgICAgICAg
aWYgKHByZXNlbnRhdGlvblRpbWVzdGFtcCA8IHByZXNlbnRhdGlvblN0YXJ0VGltZSkgeworICAg
ICAgICAgICAgTE9HKE1lZGlhU291cmNlLCAiU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2
YXRlRGlkUmVjZWl2ZVNhbXBsZSglcCkgLSBmYWlsaW5nIGJlY2F1c2UgcHJlc2VudGF0aW9uVGlt
ZXN0YW1wIDwgcHJlc2VudGF0aW9uU3RhcnRUaW1lIiwgdGhpcyk7CisgICAgICAgICAgICBtX3Nv
dXJjZS0+c3RyZWFtRW5kZWRXaXRoRXJyb3IoZGVjb2RlRXJyb3IoKSwgSWdub3JhYmxlRXhjZXB0
aW9uQ29kZSgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCiAgICAgICAgIC8v
IDEuMTEgSWYgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIHRyYWNrIGJ1ZmZl
ciBlcXVhbHMgdHJ1ZSwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKICAgICAgICAgaWYg
KHRyYWNrQnVmZmVyLm5lZWRSYW5kb21BY2Nlc3NGbGFnKSB7CiAgICAgICAgICAgICAvLyAxLjEx
LjEgSWYgdGhlIGNvZGVkIGZyYW1lIGlzIG5vdCBhIHJhbmRvbSBhY2Nlc3MgcG9pbnQsIHRoZW4g
ZHJvcCB0aGUgY29kZWQgZnJhbWUgYW5kIGp1bXAKQEAgLTEzNTIsNyArMTQwMyw3IEBAIHZvaWQg
U291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShTb3VyY2VC
dWZmZXJQcml2YXRlKiwgUGFzCiAgICAgICAgICAgICAgICAgZXJhc2VkU2FtcGxlcy5hZGRSYW5n
ZShpdGVyX3BhaXIuZmlyc3QsIGl0ZXJfcGFpci5zZWNvbmQpOwogICAgICAgICB9CiAKLSAgICAg
ICAgLy8gSWYgaGlnaGVzdCBwcmVzZW50YXRpb24gdGltZXN0YW1wIGZvciB0cmFjayBidWZmZXIg
aXMgc2V0IGFuZCBsZXNzIHRoYW4gcHJlc2VudGF0aW9uIHRpbWVzdGFtcAorICAgICAgICAvLyBJ
ZiBoaWdoZXN0IHByZXNlbnRhdGlvbiB0aW1lc3RhbXAgZm9yIHRyYWNrIGJ1ZmZlciBpcyBzZXQg
YW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byBwcmVzZW50YXRpb24gdGltZXN0YW1wCiAgICAgICAg
IGlmICh0cmFja0J1ZmZlci5oaWdoZXN0UHJlc2VudGF0aW9uVGltZXN0YW1wLmlzVmFsaWQoKSAm
JiB0cmFja0J1ZmZlci5oaWdoZXN0UHJlc2VudGF0aW9uVGltZXN0YW1wIDw9IHByZXNlbnRhdGlv
blRpbWVzdGFtcCkgewogICAgICAgICAgICAgLy8gUmVtb3ZlIGFsbCBjb2RlZCBmcmFtZXMgZnJv
bSB0cmFjayBidWZmZXIgdGhhdCBoYXZlIGEgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBncmVhdGVy
IHRoYW4gaGlnaGVzdAogICAgICAgICAgICAgLy8gcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBhbmQg
bGVzcyB0aGFuIG9yIGVxdWFsIHRvIGZyYW1lIGVuZCB0aW1lc3RhbXAuCkBAIC0xMzY3LDggKzE0
MTgsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVT
YW1wbGUoU291cmNlQnVmZmVyUHJpdmF0ZSosIFBhcwogICAgICAgICAgICAgICAgIGlmICghYnVm
ZmVyZWRMZW5ndGgpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICAg
ICAgYm9vbCBpZ25vcmVWYWxpZDsKLSAgICAgICAgICAgICAgICBNZWRpYVRpbWUgaGlnaGVzdEJ1
ZmZlcmVkVGltZSA9IG1fYnVmZmVyZWQtPnJhbmdlcygpLmVuZChidWZmZXJlZExlbmd0aCAtIDEs
IGlnbm9yZVZhbGlkKTsKKyAgICAgICAgICAgICAgICBNZWRpYVRpbWUgaGlnaGVzdEJ1ZmZlcmVk
VGltZSA9IG1fYnVmZmVyZWQtPnJhbmdlcygpLm1heGltdW1CdWZmZXJlZFRpbWUoKTsKIAogICAg
ICAgICAgICAgICAgIFByZXNlbnRhdGlvbk9yZGVyU2FtcGxlTWFwOjppdGVyYXRvcl9yYW5nZSBy
YW5nZTsKICAgICAgICAgICAgICAgICBpZiAoaGlnaGVzdEJ1ZmZlcmVkVGltZSAtIHRyYWNrQnVm
ZmVyLmhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAgPCB0cmFja0J1ZmZlci5sYXN0RnJhbWVE
dXJhdGlvbikKQEAgLTE0MzcsMTAgKzE0ODcsMTQgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJj
ZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBQYXMK
ICAgICAgICAgaWYgKHRyYWNrQnVmZmVyLmhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAuaXNJ
bnZhbGlkKCkgfHwgZnJhbWVFbmRUaW1lc3RhbXAgPiB0cmFja0J1ZmZlci5oaWdoZXN0UHJlc2Vu
dGF0aW9uVGltZXN0YW1wKQogICAgICAgICAgICAgdHJhY2tCdWZmZXIuaGlnaGVzdFByZXNlbnRh
dGlvblRpbWVzdGFtcCA9IGZyYW1lRW5kVGltZXN0YW1wOwogCi0gICAgICAgIC8vIDEuMjEgSWYg
aGlnaGVzdCBwcmVzZW50YXRpb24gZW5kIHRpbWVzdGFtcCBpcyB1bnNldCBvciBmcmFtZSBlbmQg
dGltZXN0YW1wIGlzIGdyZWF0ZXIgdGhhbiBoaWdoZXN0Ci0gICAgICAgIC8vIHByZXNlbnRhdGlv
biBlbmQgdGltZXN0YW1wLCB0aGVuIHNldCBoaWdoZXN0IHByZXNlbnRhdGlvbiBlbmQgdGltZXN0
YW1wIGVxdWFsIHRvIGZyYW1lIGVuZCB0aW1lc3RhbXAuCi0gICAgICAgIGlmIChtX2hpZ2hlc3RQ
cmVzZW50YXRpb25FbmRUaW1lc3RhbXAuaXNJbnZhbGlkKCkgfHwgZnJhbWVFbmRUaW1lc3RhbXAg
PiBtX2hpZ2hlc3RQcmVzZW50YXRpb25FbmRUaW1lc3RhbXApCi0gICAgICAgICAgICBtX2hpZ2hl
c3RQcmVzZW50YXRpb25FbmRUaW1lc3RhbXAgPSBmcmFtZUVuZFRpbWVzdGFtcDsKKyAgICAgICAg
Ly8gMS4yMSBJZiBmcmFtZSBlbmQgdGltZXN0YW1wIGlzIGdyZWF0ZXIgdGhhbiBncm91cCBlbmQg
dGltZXN0YW1wLCB0aGVuIHNldCBncm91cCBlbmQgdGltZXN0YW1wIGVxdWFsCisgICAgICAgIC8v
IHRvIGZyYW1lIGVuZCB0aW1lc3RhbXAuCisgICAgICAgIGlmIChtX2dyb3VwRW5kVGltZXN0YW1w
LmlzSW52YWxpZCgpIHx8IGZyYW1lRW5kVGltZXN0YW1wID4gbV9ncm91cEVuZFRpbWVzdGFtcCkK
KyAgICAgICAgICAgIG1fZ3JvdXBFbmRUaW1lc3RhbXAgPSBmcmFtZUVuZFRpbWVzdGFtcDsKKwor
ICAgICAgICAvLyAxLjIyIElmIGdlbmVyYXRlIHRpbWVzdGFtcHMgZmxhZyBlcXVhbHMgdHJ1ZSwg
dGhlbiBzZXQgdGltZXN0YW1wT2Zmc2V0IGVxdWFsIHRvIGZyYW1lIGVuZCB0aW1lc3RhbXAuCisg
ICAgICAgIGlmIChtX3Nob3VsZEdlbmVyYXRlVGltZXN0YW1wcykKKyAgICAgICAgICAgIG1fdGlt
ZXN0YW1wT2Zmc2V0ID0gZnJhbWVFbmRUaW1lc3RhbXA7CiAKICAgICAgICAgbV9idWZmZXJlZC0+
YWRkKHByZXNlbnRhdGlvblRpbWVzdGFtcC50b0RvdWJsZSgpLCAocHJlc2VudGF0aW9uVGltZXN0
YW1wICsgZnJhbWVEdXJhdGlvbiArIG1pY3Jvc2Vjb25kKS50b0RvdWJsZSgpKTsKICAgICAgICAg
bV9idWZmZXJlZFNpbmNlTGFzdE1vbml0b3IgKz0gZnJhbWVEdXJhdGlvbi50b0RvdWJsZSgpOwpA
QCAtMTQ1MSw5ICsxNTA1LDkgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnNvdXJjZUJ1ZmZlclByaXZh
dGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBQYXMKICAgICAvLyBTdGVw
cyAyLTQgd2lsbCBiZSBoYW5kbGVkIGJ5IE1lZGlhU291cmNlOjptb25pdG9yU291cmNlQnVmZmVy
cygpCiAKICAgICAvLyA1LiBJZiB0aGUgbWVkaWEgc2VnbWVudCBjb250YWlucyBkYXRhIGJleW9u
ZCB0aGUgY3VycmVudCBkdXJhdGlvbiwgdGhlbiBydW4gdGhlIGR1cmF0aW9uIGNoYW5nZSBhbGdv
cml0aG0gd2l0aCBuZXcKLSAgICAvLyBkdXJhdGlvbiBzZXQgdG8gdGhlIG1heGltdW0gb2YgdGhl
IGN1cnJlbnQgZHVyYXRpb24gYW5kIHRoZSBoaWdoZXN0IGVuZCB0aW1lc3RhbXAgcmVwb3J0ZWQg
YnkgSFRNTE1lZGlhRWxlbWVudC5idWZmZXJlZC4KLSAgICBpZiAoaGlnaGVzdFByZXNlbnRhdGlv
bkVuZFRpbWVzdGFtcCgpID4gbV9zb3VyY2UtPmR1cmF0aW9uKCkpCi0gICAgICAgIG1fc291cmNl
LT5zZXREdXJhdGlvbkludGVybmFsKGhpZ2hlc3RQcmVzZW50YXRpb25FbmRUaW1lc3RhbXAoKSk7
CisgICAgLy8gZHVyYXRpb24gc2V0IHRvIHRoZSBtYXhpbXVtIG9mIHRoZSBjdXJyZW50IGR1cmF0
aW9uIGFuZCB0aGUgZ3JvdXAgZW5kIHRpbWVzdGFtcC4KKyAgICBpZiAobV9ncm91cEVuZFRpbWVz
dGFtcCA+IG1fc291cmNlLT5kdXJhdGlvbigpKQorICAgICAgICBtX3NvdXJjZS0+c2V0RHVyYXRp
b25JbnRlcm5hbChtX2dyb3VwRW5kVGltZXN0YW1wKTsKIH0KIAogYm9vbCBTb3VyY2VCdWZmZXI6
Omhhc0F1ZGlvKCkgY29uc3QKQEAgLTE4MjYsNiArMTg4MCw0OCBAQCBEb2N1bWVudCYgU291cmNl
QnVmZmVyOjpkb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50Pigq
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKIH0KIAordm9pZCBTb3VyY2VCdWZmZXI6OnNldE1v
ZGUoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdNb2RlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAg
ICAvLyAzLjEgQXR0cmlidXRlcyAtIG1vZGUKKyAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9t
ZWRpYS1zb3VyY2UvI3dpZGwtU291cmNlQnVmZmVyLW1vZGUKKworICAgIC8vIE9uIHNldHRpbmcs
IHJ1biB0aGUgZm9sbG93aW5nIHN0ZXBzOgorCisgICAgLy8gMS4gTGV0IG5ldyBtb2RlIGVxdWFs
IHRoZSBuZXcgdmFsdWUgYmVpbmcgYXNzaWduZWQgdG8gdGhpcyBhdHRyaWJ1dGUuCisgICAgLy8g
Mi4gSWYgZ2VuZXJhdGUgdGltZXN0YW1wcyBmbGFnIGVxdWFscyB0cnVlIGFuZCBuZXcgbW9kZSBl
cXVhbHMgInNlZ21lbnRzIiwgdGhlbiB0aHJvdyBhbiBJTlZBTElEX0FDQ0VTU19FUlIgZXhjZXB0
aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICBpZiAobV9zaG91bGRHZW5lcmF0ZVRpbWVz
dGFtcHMgJiYgbmV3TW9kZSA9PSBzZWdtZW50c0tleXdvcmQoKSkgeworICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDMuIElm
IHRoaXMgb2JqZWN0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc291cmNlQnVmZmVycyBhdHRy
aWJ1dGUgb2YgdGhlIHBhcmVudCBtZWRpYSBzb3VyY2UsIHRoZW4gdGhyb3cgYW4gSU5WQUxJRF9T
VEFURV9FUlIgZXhjZXB0aW9uIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICAvLyA0LiBJZiB0
aGUgdXBkYXRpbmcgYXR0cmlidXRlIGVxdWFscyB0cnVlLCB0aGVuIHRocm93IGFuIElOVkFMSURf
U1RBVEVfRVJSIGV4Y2VwdGlvbiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKGlzUmVt
b3ZlZCgpIHx8IG1fdXBkYXRpbmcpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIDUuIElmIHRoZSByZWFkeVN0YXRlIGF0
dHJpYnV0ZSBvZiB0aGUgcGFyZW50IG1lZGlhIHNvdXJjZSBpcyBpbiB0aGUgImVuZGVkIiBzdGF0
ZSB0aGVuIHJ1biB0aGUgZm9sbG93aW5nIHN0ZXBzOgorICAgIGlmIChtX3NvdXJjZS0+cmVhZHlT
dGF0ZSgpID09IE1lZGlhU291cmNlOjplbmRlZEtleXdvcmQoKSkgeworICAgICAgICAvLyA1LjEu
IFNldCB0aGUgcmVhZHlTdGF0ZSBhdHRyaWJ1dGUgb2YgdGhlIHBhcmVudCBtZWRpYSBzb3VyY2Ug
dG8gIm9wZW4iCisgICAgICAgIC8vIDUuMi4gUXVldWUgYSB0YXNrIHRvIGZpcmUgYSBzaW1wbGUg
ZXZlbnQgbmFtZWQgc291cmNlb3BlbiBhdCB0aGUgcGFyZW50IG1lZGlhIHNvdXJjZS4KKyAgICAg
ICAgbV9zb3VyY2UtPm9wZW5JZkluRW5kZWRTdGF0ZSgpOworICAgIH0KKworICAgIC8vIDYuIElm
IHRoZSBhcHBlbmQgc3RhdGUgZXF1YWxzIFBBUlNJTkdfTUVESUFfU0VHTUVOVCwgdGhlbiB0aHJv
dyBhbiBJTlZBTElEX1NUQVRFX0VSUiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgaWYgKG1f
YXBwZW5kU3RhdGUgPT0gUGFyc2luZ01lZGlhU2VnbWVudCkgeworICAgICAgICBlYyA9IElOVkFM
SURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gNy4gSWYgdGhl
IG5ldyBtb2RlIGVxdWFscyAic2VxdWVuY2UiLCB0aGVuIHNldCB0aGUgZ3JvdXAgc3RhcnQgdGlt
ZXN0YW1wIHRvIHRoZSBncm91cCBlbmQgdGltZXN0YW1wLgorICAgIGlmIChuZXdNb2RlID09IHNl
cXVlbmNlS2V5d29yZCgpKQorICAgICAgICBtX2dyb3VwU3RhcnRUaW1lc3RhbXAgPSBtX2dyb3Vw
RW5kVGltZXN0YW1wOworCisgICAgLy8gOC4gVXBkYXRlIHRoZSBhdHRyaWJ1dGUgdG8gbmV3IG1v
ZGUuCisgICAgbV9tb2RlID0gbmV3TW9kZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5oCmluZGV4IDUxYTAyMGM2ODA3NDYyNGIxNzNlNWQxMGMyNTA0M2ExNTBlM2ZkZDQu
LjJkZTYzMmQ3YmFmMDU3YzQ0YTNmZTU5YWFlY2I2MjAyZGMxMDUxYTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtNjMsNiAr
NjMsOSBAQCBjbGFzcyBTb3VyY2VCdWZmZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxTb3Vy
Y2VCdWZmZXI+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZQogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmPFNvdXJjZUJ1ZmZlcj4gY3JlYXRlKFBhc3NSZWY8U291cmNlQnVmZmVyUHJpdmF0ZT4sIE1l
ZGlhU291cmNlKik7CiAKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzZWdtZW50c0tl
eXdvcmQoKTsKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzZXF1ZW5jZUtleXdvcmQo
KTsKKwogICAgIHZpcnR1YWwgflNvdXJjZUJ1ZmZlcigpOwogCiAgICAgLy8gU291cmNlQnVmZmVy
LmlkbCBtZXRob2RzCkBAIC03OSw3ICs4Miw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWJvcnRJ
ZlVwZGF0aW5nKCk7CiAgICAgdm9pZCByZW1vdmVkRnJvbU1lZGlhU291cmNlKCk7Ci0gICAgY29u
c3QgTWVkaWFUaW1lJiBoaWdoZXN0UHJlc2VudGF0aW9uRW5kVGltZXN0YW1wKCkgY29uc3QgeyBy
ZXR1cm4gbV9oaWdoZXN0UHJlc2VudGF0aW9uRW5kVGltZXN0YW1wOyB9CiAgICAgdm9pZCBzZWVr
VG9UaW1lKGNvbnN0IE1lZGlhVGltZSYpOwogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQpAQCAt
MTEyLDYgKzExNCwxMiBAQCBwdWJsaWM6CiAKICAgICBEb2N1bWVudCYgZG9jdW1lbnQoKSBjb25z
dDsKIAorICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9k
ZTsgfQorICAgIHZvaWQgc2V0TW9kZShjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2Rl
Jik7CisKKyAgICBib29sIHNob3VsZEdlbmVyYXRlVGltZXN0YW1wcygpIGNvbnN0IHsgcmV0dXJu
IG1fc2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzOyB9CisgICAgdm9pZCBzZXRTaG91bGRHZW5lcmF0
ZVRpbWVzdGFtcHMoYm9vbCBmbGFnKSB7IG1fc2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzID0gZmxh
ZzsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCiAgICAgdmly
dHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQpAQCAtMTgyLDYg
KzE5MCw3IEBAIHByaXZhdGU6CiAgICAgUmVmPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJpdmF0
ZTsKICAgICBNZWRpYVNvdXJjZSogbV9zb3VyY2U7CiAgICAgR2VuZXJpY0V2ZW50UXVldWUgbV9h
c3luY0V2ZW50UXVldWU7CisgICAgQXRvbWljU3RyaW5nIG1fbW9kZTsKIAogICAgIFZlY3Rvcjx1
bnNpZ25lZCBjaGFyPiBtX3BlbmRpbmdBcHBlbmREYXRhOwogICAgIFRpbWVyIG1fYXBwZW5kQnVm
ZmVyVGltZXI7CkBAIC0xOTUsNyArMjA0LDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8QXRvbWlj
U3RyaW5nPiBtX3RleHRDb2RlY3M7CiAKICAgICBNZWRpYVRpbWUgbV90aW1lc3RhbXBPZmZzZXQ7
Ci0gICAgTWVkaWFUaW1lIG1faGlnaGVzdFByZXNlbnRhdGlvbkVuZFRpbWVzdGFtcDsKKyAgICBN
ZWRpYVRpbWUgbV9ncm91cFN0YXJ0VGltZXN0YW1wOworICAgIE1lZGlhVGltZSBtX2dyb3VwRW5k
VGltZXN0YW1wOwogCiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFRyYWNrQnVmZmVyPiBtX3Ry
YWNrQnVmZmVyTWFwOwogICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX2J1ZmZlcmVkOwpAQCAtMjE3
LDYgKzIyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3JlY2VpdmVkRmlyc3RJbml0aWFsaXph
dGlvblNlZ21lbnQ7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBib29sIG1fYnVmZmVyRnVsbDsK
KyAgICBib29sIG1fc2hvdWxkR2VuZXJhdGVUaW1lc3RhbXBzOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuaWRsCmluZGV4IDVmMTY1ZjhmMDAzYWNhNDdkMjRkMzY1ODVhNDBlYjM1M2I5
NGZjMjguLjEyYjFmNGM0OTlhYTQxMGRhZDY4NDg5NTJiMTI4YWY2YzYzZjMzZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwK
QEAgLTI4LDYgKzI4LDExIEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAgCitbQ29uZGl0aW9uYWw9
TUVESUFfU09VUkNFXSBlbnVtIEFwcGVuZE1vZGUgeworICAgICJzZWdtZW50cyIsCisgICAgInNl
cXVlbmNlIgorfTsKKwogWwogICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKICAgICBOb0lu
dGVyZmFjZU9iamVjdCwKQEAgLTM3LDYgKzQyLDggQEAKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVP
YmplY3QsCiBdIGludGVyZmFjZSBTb3VyY2VCdWZmZXIgOiBFdmVudFRhcmdldCB7CiAKKyAgICBb
U2V0dGVyUmFpc2VzRXhjZXB0aW9uXSBhdHRyaWJ1dGUgQXBwZW5kTW9kZSBtb2RlOworCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gdXBkYXRpbmc7CiAgIAogICAgIC8vIFJldHVybnMg
dGhlIHRpbWUgcmFuZ2VzIGJ1ZmZlcmVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE5YmY4Y2YwYTUxMzgxZTI2Mjc2YTdi
MGRiY2YzMDA2NGM0OGI0MjIuLjYyMzNiZTM5YzIxZDdlOThhZDM1YzE3NDc2YWYxZGEwZjI2ZmM5
YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0xMi0wNCAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbTVNFXSBBZGQgc3VwcG9ydCBmb3IgU291cmNlQnVm
ZmVyLm1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzkyNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXV0aWwuanM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKKyAgICAgICAgQWRkIGFu
IGV4cGVjdGVkLWZhaWx1cmU7IHRoZSB0ZXN0IGZhaWxzIGR1ZSB0byBsYWNrIG9mIHN1cHBvcnQg
Zm9yIGEgbm9uLURPTS12aXNpYmxlCisgICAgICAgIGFsZ29yaXRobSB2YXJpYWJsZSB1bnN1cHBv
cnRlZCBieSB0aGUgTWFjIHBvcnQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisKIDIwMTQtMTItMDUgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgRml4IHN0eWxlIHNoYXJpbmcgd2l0aCB0aGUgInR5cGUiIGFu
ZCAicmVhZG9ubHkiIGF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXV0aWwuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS11dGlsLmpzCmluZGV4IDEx
OWI2YmJjZWY1MjA4MTkxZjcxNWRhNmMzYmZlZGI4MmVlM2VkY2IuLjEyZjQ5NDMwY2FhNmFhODIz
Y2Q4ODEwMGY2NzkwY2ZhYmRkYjI1OGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXV0aWwuanMKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtdXRpbC5qcwpAQCAt
MjgsMTggKzI4LDE4IEBACiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAgIHVybDog
J21wNC90ZXN0Lm1wNCcsCi0gICAgICAgICAgICB0eXBlOiAndmlkZW8vbXA0OyBjb2RlY3M9Im1w
NGEuNDAuMiwgYXZjMS40RDQwMUUiJywKKyAgICAgICAgICAgIHR5cGU6ICd2aWRlby9tcDQ7IGNv
ZGVjcz0ibXA0YS40MC4yLGF2YzEuNGQ0MDBkIicsCiAgICAgICAgICAgICBkdXJhdGlvbjogNi4w
NDI0LAogICAgICAgICAgICAgaW5pdDogeyBvZmZzZXQ6IDAsIHNpemU6IDEyNzkgfSwKICAgICAg
ICAgICAgIG1lZGlhOiBbCi0gICAgICAgICAgICAgICAgeyAgb2Zmc2V0OiAxNDA2LCBzaXplOiAy
Mzg2MywgdGltZWNvZGU6IDAgfSwKLSAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDI1MjcwLCBz
aXplOiAyNTQzNSwgdGltZWNvZGU6IDAuNzk3IH0sCi0gICAgICAgICAgICAgICAgeyAgb2Zmc2V0
OiA1MDcwNSwgc2l6ZTogMjQ3OTYsIHRpbWVjb2RlOiAxLjU5NCB9LAotICAgICAgICAgICAgICAg
IHsgIG9mZnNldDogNzU1MDEsIHNpemU6IDI1MTY3LCB0aW1lY29kZTogMi4zOTAgfSwKLSAgICAg
ICAgICAgICAgICB7ICBvZmZzZXQ6IDEwMDY2OCwgc2l6ZTogMjI5NzYsIHRpbWVjb2RlOiAzLjE4
NyB9LAotICAgICAgICAgICAgICAgIHsgIG9mZnNldDogMTIzNjQ0LCBzaXplOiAyNTAzMCwgdGlt
ZWNvZGU6IDMuOTg0fSwKLSAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDE0ODY3NCwgc2l6ZTog
MjQ5MjksIHRpbWVjb2RlOiA0Ljc4MSB9LAotICAgICAgICAgICAgICAgIHsgIG9mZnNldDogMTcz
NjAzLCBzaXplOiAxOTI3MSwgdGltZWNvZGU6IDUuNTc4IH0sCisgICAgICAgICAgICAgICAgeyAg
b2Zmc2V0OiAxNDA3LCBzaXplOiAyMzg2MywgdGltZWNvZGU6IDAgfSwKKyAgICAgICAgICAgICAg
ICB7ICBvZmZzZXQ6IDI1MjcwLCBzaXplOiAyNTQzNSwgdGltZWNvZGU6IDAuNzk2OCB9LAorICAg
ICAgICAgICAgICAgIHsgIG9mZnNldDogNTA3MDUsIHNpemU6IDI0Nzk2LCB0aW1lY29kZTogMS41
OTM2IH0sCisgICAgICAgICAgICAgICAgeyAgb2Zmc2V0OiA3NTUwMSwgc2l6ZTogMjUxNjcsIHRp
bWVjb2RlOiAyLjM5MDQgfSwKKyAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6IDEwMDY2OCwgc2l6
ZTogMjI5NzYsIHRpbWVjb2RlOiAzLjE4NzIgfSwKKyAgICAgICAgICAgICAgICB7ICBvZmZzZXQ6
IDEyMzY0NCwgc2l6ZTogMjUwMzAsIHRpbWVjb2RlOiAzLjk4NCB9LAorICAgICAgICAgICAgICAg
IHsgIG9mZnNldDogMTQ4Njc0LCBzaXplOiAyNDkyOSwgdGltZWNvZGU6IDQuNzgwOCB9LAorICAg
ICAgICAgICAgICAgIHsgIG9mZnNldDogMTczNjAzLCBzaXplOiAxOTI3MSwgdGltZWNvZGU6IDUu
NTc3NiB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgfQogICAgIF07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVmOTM5ODI4OTNhYzZkYjBkYmM1YjAy
NGU5NTg3NGViODVlY2Q5OTAuLmJlZGI5NTYzMTE5OGQ5NTUyM2ZmOWRhODllYzk2MmUxM2U1Yzgy
MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMzcz
LDYgKzEzNzMsNyBAQCB3ZWJraXQub3JnL2IvMTM4ODA2IFsgWW9zZW1pdGUrIF0gbWVkaWEvdHJh
Y2svdHJhY2staW4tYmFuZC1jdWVzLWFkZGVkLW9uY2UuaHRtbAogWyBZb3NlbWl0ZSsgXSBodHRw
L3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1wbGF5Lmh0bWwgWyBQYXNzIF0K
IFsgWW9zZW1pdGUrIF0gaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
cmVtb3ZlLmh0bWwgWyBQYXNzIF0KIFsgWW9zZW1pdGUrIF0gaHR0cC90ZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVybGlzdC5odG1sIFsgUGFzcyBdCitbIFlv
c2VtaXRlKyBdIGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJj
ZWJ1ZmZlci1tb2RlLmh0bWwgWyBQYXNzIF0KIAogIyBUaGVzZSB0d28gdGVzdHMgaGF2ZSAiRXJy
b3I6IEludmFsaWRTdGF0ZUVycm9yOiBET00gRXhjZXB0aW9uIDExIiBpbiBvdXRwdXQuCiBbIFlv
c2VtaXRlKyBdIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtZHVwbGljYXRlLXNlZWtl
ZC5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVyLW1v
ZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ODI4YzFkY2UzYmRjZDQwNDYxNGZlMTM4MGQ2YTQxOWVkMTcwY2Y0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2h0dHAvdGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci1tb2RlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE0IEBACisgCitQQVNTIFRlc3QgaW5pdGlhbCB2YWx1ZSBvZiBTb3VyY2VC
dWZmZXIubW9kZSBpcyAic2VnbWVudHMiIAorUEFTUyBUZXN0IHNldHRpbmcgU291cmNlQnVmZmVy
Lm1vZGUgCitQQVNTIFRlc3Qgc2V0dGluZyBhIHJlbW92ZWQgU291cmNlQnVmZmVyJ3MgbW9kZSAK
K1BBU1MgVGVzdCBzZXR0aW5nIFNvdXJjZUJ1ZmZlci5tb2RlIHdoaWxlIHN0aWxsIHVwZGF0aW5n
IAorUEFTUyBUZXN0IHNldHRpbmcgU291cmNlQnVmZmVyLm1vZGUgdHJpZ2dlcnMgcGFyZW50IE1l
ZGlhU291cmNlICdlbmRlZCcgdG8gJ29wZW4nIHRyYW5zaXRpb24uIAorRkFJTCBUZXN0IHNldHRp
bmcgU291cmNlQnVmZmVyLm1vZGUgYW5kIFNvdXJjZUJ1ZmZlci50aW1lc3RhbXBPZmZzZXQgd2hp
bGUgcGFyc2luZyBtZWRpYSBzZWdtZW50LiBhc3NlcnRfdGhyb3dzOiBTZXR0aW5nIHZhbGlkIHNv
dXJjZUJ1ZmZlci5tb2RlIHdoaWxlIHN0aWxsIHBhcnNpbmcgbWVkaWEgc2VnbWVudCB0aHJldyBJ
bnZhbGlkU3RhdGVFcnJvci4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgc291cmNlQnVmZmVyLm1v
ZGUgPSAnc2VnbWVudHMnOyB9IiBkaWQgbm90IHRocm93KHN0YWNrOiBhc3NlcnRAaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3czYy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM6MjA2MDo3MworYXNzZXJ0
X3Rocm93c0BodHRwOi8vMTI3LjAuMC4xOjgwMDAvdzNjL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
czo5NDY6MTkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFz
b3VyY2Utc291cmNlYnVmZmVyLW1vZGUuaHRtbDoxMTQ6MzIKK2hhbmRsZVdhaXRDYWxsYmFja19A
aHR0cDovLzEyNy4wLjAuMTo4MDAwL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS11dGls
LmpzOjk3OjE3CitbbmF0aXZlIGNvZGVdCitzdGVwQGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC93M2Mv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzOjExNTk6MzAKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC93
M2MvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzOjExODg6MzMpCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>