<?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>142837</bug_id>
          
          <creation_ts>2015-03-18 13:40:43 -0700</creation_ts>
          <short_desc>Clean up DOMTimer related settings</short_desc>
          <delta_ts>2015-03-19 12:23:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>mdelaney7</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1078292</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-18 13:40:43 -0700</bug_when>
    <thetext>Clean up DOMTimer related settings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078302</commentid>
    <comment_count>1</comment_count>
      <attachid>248962</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-18 13:51:19 -0700</bug_when>
    <thetext>Created attachment 248962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078326</commentid>
    <comment_count>2</comment_count>
      <attachid>248974</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-18 15:30:27 -0700</bug_when>
    <thetext>Created attachment 248974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078352</commentid>
    <comment_count>3</comment_count>
      <attachid>248982</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-18 16:32:10 -0700</bug_when>
    <thetext>Created attachment 248982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078440</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-18 20:35:40 -0700</bug_when>
    <thetext>*** Bug 61214 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078535</commentid>
    <comment_count>5</comment_count>
      <attachid>248982</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-19 08:39:04 -0700</bug_when>
    <thetext>Comment on attachment 248982
Patch

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

&gt; Source/WebCore/page/DOMTimer.cpp:62
&gt; +const double DOMTimer::gDefaultMinimumInterval = 0.004; // 4 milliseconds.
&gt; +const double DOMTimer::gDefaultAlignmentInterval = 0;
&gt; +const double DOMTimer::gHiddenPageAlignmentInterval = 1.0; // 1 second.

I now see that you just moved this, but still:

Is this &quot;g&quot; prefix something we use in WebKit? I don’t think it is. I would have used no prefix at all, but others, I guess, use an &quot;s_&quot; prefix. Even better, just put these constants into the header file inside the static function member return statements and don’t bother with data members.

&gt; Source/WebCore/page/Settings.cpp:449
&gt; +    for (Frame* frame = &amp;m_page-&gt;mainFrame(); frame; frame = frame-&gt;tree().traverseNextWithWrap(false)) {

There is no reason to use traverseNextWithWrap(false) instead of traverseNext(). This seems to be a mistake in Page::setMinimumTimerInterval and Page::setTimerThrottlingEnabled that we should fix and not repeat.

&gt; Source/WebCore/page/Settings.h:166
&gt; +    WEBCORE_EXPORT void setMinimumDOMTimerInterval(double); // Per-page; initialized to default value.

I don’t understand what the comment “per-page” means. Aren’t all settings on Settings equally per-page or not-per-page?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078537</commentid>
    <comment_count>6</comment_count>
      <attachid>248982</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-19 08:50:19 -0700</bug_when>
    <thetext>Comment on attachment 248982
Patch

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

&gt; Source/WebCore/page/DOMTimer.h:53
&gt; +        static double hiddenPageAlignmentInterval() { return gHiddenPageAlignmentInterval; }
&gt; +        static double defaultAlignmentInterval() { return gDefaultAlignmentInterval; }

It’s more logical to list the default alignment interval first and then the hidden page alignment interval.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078561</commentid>
    <comment_count>7</comment_count>
      <attachid>249038</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-19 11:35:49 -0700</bug_when>
    <thetext>Created attachment 249038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078582</commentid>
    <comment_count>8</comment_count>
      <attachid>249038</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-19 12:23:00 -0700</bug_when>
    <thetext>Comment on attachment 249038
Patch

Clearing flags on attachment: 249038

Committed r181753: &lt;http://trac.webkit.org/changeset/181753&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078583</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-19 12:23:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248962</attachid>
            <date>2015-03-18 13:51:19 -0700</date>
            <delta_ts>2015-03-18 15:30:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142837-20150318135047.patch</filename>
            <type>text/plain</type>
            <size>22064</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEwYzE3Nzc5YzBiNDgz
NmQ0YmJhZDFkYWViZTA5ZDliNDI2ZTcwMy4uZjBkZGNlNGNiYmIzN2NhYTdjNjFjNTRlZTM0OWFm
MzYyMzhkZjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTAzLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIg
cmVsYXRlZCBzZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQyODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIgcmVsYXRlZCBzZXR0aW5nczoKKyAgICAgICAgLSBN
YWtlIGRlZmF1bHQgbWluaW11bSB0aW1lciBpbnRlcnZhbCA0bXMgaW5zdGVhZCBvZiAxMG1zIGFz
IGFsbCBwb3J0cworICAgICAgICAgIHdlcmUgc2V0dGluZyBpdCB0byA0bXMgYW5kIHRoZSBzcGVj
aWZpY2F0aW9ucyBzYXlzIDRtcy4KKyAgICAgICAgLSBHZXQgcmlkIG9mIHNldHRlcnMgZm9yIGRl
ZmF1bHQgRE9NVGltZXIgaW50ZXJ2YWwgdmFsdWVzIGFzIHRoZXkgYXJlCisgICAgICAgICAgbm90
IHNldCBhbnltb3JlLgorICAgICAgICAtIE1vdmUgZGVmYXVsdCBET01UaW1lciBpbnRlcnZhbCB2
YWx1ZXMgZnJvbSBTZXR0aW5ncyB0byBET01UaW1lciBhcworICAgICAgICAgIHRob3NlIGFyZSBn
bG9iYWwgKG5vdCBwZXItcGFnZSkgYW5kIG5vdCByZWFsbHkgc2V0dGluZ3MuCisgICAgICAgIC0g
U3RvcCB1c2luZyBhYmJyZXZpYXRpb25zIGluIHRoZSBuYW1lcyAoZS5nLiBtaW4gLT4gbWluaW11
bSkuCisgICAgICAgIC0gTW92ZSBET01UaW1lciBzZXR0aW5ncyBtZW1iZXJzIGZyb20gUGFnZSB0
byBTZXR0aW5ncy4gVGhlcmUgaXMgbm8KKyAgICAgICAgICByZWFzb24gZm9yIHRob3NlIHRvIGJl
IHN0b3JlZCBvbiB0aGUgUGFnZS4gVGhlIGdldHRlcnMgd2VyZSBwcml2YXRlCisgICAgICAgICAg
c28gY2FsbC1zaXRlcyBoYWQgdG8gZ28gdmlhIFNldHRpbmdzIGFueXdheS4gQWxzbywgY2FsbC1z
aXRlcyBhbHJlYWR5CisgICAgICAgICAgaGFkIHRvIGRvIGEgbnVsbCBjaGVjayBvbiB0aGUgcGFn
ZSB0byBnZXQgdGhlIHNldHRpbmdzLiBJdCBzZWVtcworICAgICAgICAgIHVuZm9ydHVuYXRlIGZv
ciB0aGUgc2V0dGluZ3MgdG8gZG8gYW5vdGhlciBudWxsLWNoZWNrIG9uIHRoZSBwYWdlIGZvcgor
ICAgICAgICAgIHJldHJpZXZpbmcgdGhlIHNldHRpbmcgdmFsdWUgZnJvbSB0aGUgcGFnZS4KKyAg
ICAgICAgLSBJbmxpbmUgdGhlIERPTVRpbWVyIHNldHRpbmdzIGdldHRlcnMgYXMgdGhlc2UgYXJl
IHRyaXZpYWwuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nRW5h
YmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptaW5pbXVtVGltZXJJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojp0aW1lckFsaWdubWVudEludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudElu
dGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdl
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5ET01UaW1lckludGVydmFsKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5ET01UaW1lckludGVydmFs
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXREZWZhdWx0RE9NVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpt
aW5pbXVtRE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZG9t
VGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFj
a3VwKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9y
ZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1l
ckludGVydmFsKToKKwogMjAxNS0wMy0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBTa2lwIHRyeWluZyB0byBwYWludCBvdmVybGF5IHNjcm9sbGJh
cnMgd2hlbiB0aGVyZSBhcmUgbm9uZSBvciB0aGV5IGFyZSBjbGlwcGVkIG91dApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCmluZGV4IDEyZjMxMGJiNDg0YTM0YTljMDRlODYwZjQ2YmZkNWJlOWJiOWMwYjQuLmMxNmE1
NWNkZDA4ZjI1NjNjZTMwNTZkOWUxZTM0OThjNWI0YWQ2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxNS0wMy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIENsZWFuIHVwIERPTVRpbWVyIHJlbGF0ZWQgc2V0dGluZ3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjgzNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3Agc2V0dGluZyB0aGUg
RE9NVGltZXJzJyBkZWZhdWx0IG1pbmltdW0gaW50ZXJ2YWwgdG8gNG1zIGFzIHRoaXMKKyAgICAg
ICAgaXMgbm93IHRoZSBkZWZhdWx0LgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3Jv
dXBOYW1lOl0pOgorCiAyMDE1LTAzLTE3ICBDb25yYWQgU2h1bHR6ICA8Y29ucmFkX3NodWx0ekBh
cHBsZS5jb20+CiAKICAgICAgICAgSWdub3JlIHNvbWUgZGVwcmVjYXRpb24gd2FybmluZ3MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZwppbmRleCBlMzY4NzhkYmI0NTVkN2MyZWE1MzdhZDUyOTAzNTQ3MGM2YjFkMWRi
Li44NmIyNjkyMjg1NWJjYzJjODU4YmVmZmUyMzQyMTA1YjM1YWZkMmU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDMtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBET01UaW1lciByZWxhdGVkIHNldHRpbmdzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4MzcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHNldHRp
bmcgdGhlIERPTVRpbWVycycgZGVmYXVsdCBtaW5pbXVtIGludGVydmFsIHRvIDRtcyBhcyB0aGlz
CisgICAgICAgIGlzIG5vdyB0aGUgZGVmYXVsdC4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgor
ICAgICAgICAoV2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisgICAgICAgIChXZWJWaWV3OjpkZWZh
dWx0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorCiAyMDE1LTAzLTE2ICBDb25yYWQgU2h1bHR6ICA8
Y29ucmFkX3NodWx0ekBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgY2xpZW50cyB0byBzZWxl
Y3RpdmVseSBkaXNhYmxlIHBsdWctaW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODA4YWM4YjEwNGRjODljNWRi
NjQxYmJhMWRkZmZlN2Y1Y2E5YTIwZi4uYTE2ODIzMGY1ZWQxZTFlZWJiYjk5NmQwM2Q0ZWIzMjgw
YTA4NGNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE1LTAzLTE4ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIgcmVs
YXRlZCBzZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQyODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3RvcCBzZXR0aW5nIHRoZSBET01UaW1lcnMnIGRlZmF1bHQgbWluaW11bSBpbnRlcnZh
bCB0byA0bXMgYXMgdGhpcworICAgICAgICBpcyBub3cgdGhlIGRlZmF1bHQuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OldlYlBhZ2UpOgorCisyMDE1LTAzLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgW1dLMl0gTG9nIHRvdGFsIG51bWJlciBvZiBuZXR3b3JrIGNhY2hlIHF1
ZXJpZXMgdXNpbmcgZGlhZ25vc3RpYyBsb2dnaW5nCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4MDMKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5
NjMyMTMwPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMDIzMGE1YWZlYzdmNTNjYzI2ZGM5
MGMwMTBkMmNhMjYwZDI0NjU0Yy4uZTg3MmRmNTZjYjQzMGFhZGM2NDQ1Zjc5MTAwZjQyNDg5YTJj
ZGRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yNzI4LDE4ICsyNzI4LDE4IEBAIHZv
aWQgRG9jdW1lbnQ6OndyaXRlbG4oY29uc3QgU3RyaW5nJiB0ZXh0LCBEb2N1bWVudCogb3duZXJE
b2N1bWVudCkKIAogZG91YmxlIERvY3VtZW50OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0
CiB7Ci0gICAgUGFnZSogcCA9IHBhZ2UoKTsKLSAgICBpZiAoIXApCisgICAgUGFnZSogcGFnZSA9
IHRoaXMtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpOwotICAgIHJldHVybiBwLT5zZXR0
aW5ncygpLm1pbkRPTVRpbWVySW50ZXJ2YWwoKTsKKyAgICByZXR1cm4gcGFnZS0+c2V0dGluZ3Mo
KS5taW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpOwogfQogCiBkb3VibGUgRG9jdW1lbnQ6OnRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdAogewotICAgIFBhZ2UqIHAgPSBwYWdlKCk7Ci0gICAg
aWYgKCFwKQorICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQog
ICAgICAgICByZXR1cm4gU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpOwotICAgIHJldHVybiBwLT5zZXR0aW5ncygpLmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2
YWwoKTsKKyAgICByZXR1cm4gcGFnZS0+c2V0dGluZ3MoKS5kb21UaW1lckFsaWdubWVudEludGVy
dmFsKCk7CiB9CiAKIEV2ZW50VGFyZ2V0KiBEb2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggZmMy
Mzc2MTFjNDMyMzgxNjQwYjczY2I0MjMwM2E5YjdmM2Y0MWZmYS4uYTQ4ZGIzNGNiY2Q1ZDY2M2Uz
OTI2MTIxNWUxNjE2OWViZmRkMjQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDM0LDcgKzQzNCw3IEBAIGRvdWJsZSBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiAgICAgLy8gd29ya2Vy
cywgd2Ugd2lsbCBoYXZlIHRvIG92ZXJyaWRlIGl0IGluIHRoZSBhcHByb3ByaWF0ZQogICAgIC8v
IHN1YmNsYXNzLCBhbmQgcHJvdmlkZSBhIHdheSB0byBlbnVtZXJhdGUgYSBEb2N1bWVudCdzIGRl
ZGljYXRlZAogICAgIC8vIHdvcmtlcnMgc28gd2UgY2FuIHVwZGF0ZSB0aGVtIGFsbC4KLSAgICBy
ZXR1cm4gU2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKCk7CisgICAgcmV0dXJu
IERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCk7CiB9CiAKIHZvaWQgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCkBAIC00NDUs
NyArNDQ1LDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpkaWRDaGFuZ2VUaW1lckFs
aWdubWVudEludGVydmFsKCkKIAogZG91YmxlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdAogewotICAgIHJldHVybiBTZXR0aW5nczo6ZGVmYXVs
dERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKKyAgICByZXR1cm4gRE9NVGltZXI6OmRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQogCiBKU0M6OlZNJiBTY3JpcHRFeGVjdXRpb25Db250
ZXh0Ojp2bSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggNjkxYzViMDQ1YjNlNzE4NjEwOTg4
OTc0ZTAxYzE1NWZmNTE4Njc1MC4uMzU5MjlkYTZhZmFhYjc1OTYwNzQ4OTYxNzgxOWU3ZjAyMWM3
MGQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDgsNiArNDgsMTAgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+RE9NVGltZXIoKTsKIAor
ICAgICAgICBzdGF0aWMgZG91YmxlIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiBn
RGVmYXVsdE1pbmltdW1JbnRlcnZhbDsgfQorICAgICAgICBzdGF0aWMgZG91YmxlIGhpZGRlblBh
Z2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIGdIaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2
YWw7IH0KKyAgICAgICAgc3RhdGljIGRvdWJsZSBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7
IHJldHVybiBnRGVmYXVsdEFsaWdubWVudEludGVydmFsOyB9CisKICAgICAgICAgLy8gQ3JlYXRl
cyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
c3RhcnRzIGl0CiAgICAgICAgIC8vIGFuZCByZXR1cm5zIGl0cyBJZC4KICAgICAgICAgc3RhdGlj
IGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8U2No
ZWR1bGVkQWN0aW9uPiwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CkBAIC05OSw2ICsx
MDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBzdGlsbCBuZWVkIHRvIGhh
bmRsZSBjYXNlcyB3aGVyZSB0aGUgZWxlbWVudHMgZ2V0IGRlc3Ryb3llZCBhZnRlcgogICAgICAg
ICAvLyB0aGUgdGltZXIgaGFzIGZpcmVkLgogICAgICAgICBWZWN0b3I8V2Vha1B0cjxFbGVtZW50
Pj4gbV9lbGVtZW50c0NhdXNpbmdUaHJvdHRsaW5nOworCisgICAgICAgIHN0YXRpYyBjb25zdGV4
cHIgZG91YmxlIGdEZWZhdWx0TWluaW11bUludGVydmFsIHsgMC4wMDQgfTsgLy8gNCBtaWxsaXNl
Y29uZHMuCisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgZG91YmxlIGdEZWZhdWx0QWxpZ25tZW50
SW50ZXJ2YWwgeyAwIH07CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgZG91YmxlIGdIaWRkZW5Q
YWdlQWxpZ25tZW50SW50ZXJ2YWwgeyAxLjAgfTsgLy8gMSBzZWNvbmQuCiAgICAgfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggOWUxYzUxOTY4Yjk0ZmUz
ODNlMjMxYmM4NTJmOTVkNDBiMmJmNmRlZS4uM2RjYTc4NDZmMjQ2Y2VlNDUwMDdlZWMxOWFhZTlj
NzZjMDM0N2M1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xODcsOSArMTg3LDcgQEAgUGFnZTo6
UGFnZShQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAjaWYgRU5BQkxFKFZJ
RVdfTU9ERV9DU1NfTUVESUEpCiAgICAgLCBtX3ZpZXdNb2RlKFZpZXdNb2RlV2luZG93ZWQpCiAj
ZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCi0gICAgLCBtX21pbmltdW1UaW1l
ckludGVydmFsKFNldHRpbmdzOjpkZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgpKQogICAgICwg
bV90aW1lclRocm90dGxpbmdFbmFibGVkKGZhbHNlKQotICAgICwgbV90aW1lckFsaWdubWVudElu
dGVydmFsKFNldHRpbmdzOjpkZWZhdWx0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpKQogICAg
ICwgbV9pc0VkaXRhYmxlKGZhbHNlKQogICAgICwgbV9pc1ByZXJlbmRlcihmYWxzZSkKICAgICAs
IG1fdmlld1N0YXRlKFBhZ2VJbml0aWFsVmlld1N0YXRlKQpAQCAtMTEyOCwyMSArMTEyNiw2IEBA
IHZvaWQgUGFnZTo6c2V0TWVtb3J5Q2FjaGVDbGllbnRDYWxsc0VuYWJsZWQoYm9vbCBlbmFibGVk
KQogICAgICAgICBmcmFtZS0+bG9hZGVyKCkudGVsbENsaWVudEFib3V0UGFzdE1lbW9yeUNhY2hl
TG9hZHMoKTsKIH0KIAotdm9pZCBQYWdlOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUg
bWluaW11bVRpbWVySW50ZXJ2YWwpCi17Ci0gICAgZG91YmxlIG9sZFRpbWVySW50ZXJ2YWwgPSBt
X21pbmltdW1UaW1lckludGVydmFsOwotICAgIG1fbWluaW11bVRpbWVySW50ZXJ2YWwgPSBtaW5p
bXVtVGltZXJJbnRlcnZhbDsKLSAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWluRnJhbWUoKTsg
ZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHRXaXRoV3JhcChmYWxzZSkp
IHsKLSAgICAgICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpKQotICAgICAgICAgICAgZnJhbWUtPmRv
Y3VtZW50KCktPmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKG9sZFRpbWVySW50ZXJ2YWwpOwot
ICAgIH0KLX0KLQotZG91YmxlIFBhZ2U6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKLX0KLQogdm9pZCBQYWdlOjpoaWRk
ZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCkKIHsKICAgICBzZXRUaW1lclRo
cm90dGxpbmdFbmFibGVkKG1fdmlld1N0YXRlICYgVmlld1N0YXRlOjpJc1Zpc3VhbGx5SWRsZSk7
CkBAIC0xMTU5LDcgKzExNDIsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJs
ZWQoYm9vbCBlbmFibGVkKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z0VuYWJsZWQgPSBlbmFibGVkOwotICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IGVuYWJs
ZWQgPyBTZXR0aW5nczo6aGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSA6IFNl
dHRpbmdzOjpkZWZhdWx0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOworICAgIG1fc2V0dGlu
Z3MtPnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZW5hYmxlZCA/IERPTVRpbWVyOjpoaWRk
ZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSA6IERPTVRpbWVyOjpkZWZhdWx0QWxpZ25tZW50SW50
ZXJ2YWwoKSk7CiAgICAgCiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0V2l0aFdyYXAoZmFsc2UpKSB7
CiAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggYWZkNWRj
MDUwNTM4ODVhYjJjOTNlZmRhNmQzOGYwYWI0MTUyZTFmMi4uNjJhNzNhNzY0MmVmYTZiNzQ3MWNj
Yzk2Y2U5NzA2ZWM4Mjg5ZGVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQ1NCwxMSArNDU0LDYgQEAg
cHJpdmF0ZToKIAogICAgIE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciogdGFrZUFueU1lZGlhQ2FuU3Rh
cnRMaXN0ZW5lcigpOwogCi0gICAgdm9pZCBzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUp
OwotICAgIGRvdWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwotCi0gICAgZG91Ymxl
IHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWw7IH0KLQogICAgIFZlY3RvcjxSZWY8UGx1Z2luVmlld0Jhc2U+PiBwbHVnaW5WaWV3
cygpOwogCiAgICAgdm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2Vk
KCk7CkBAIC01NDYsMTAgKzU0MSw3IEBAIHByaXZhdGU6CiAgICAgVmlld01vZGUgbV92aWV3TW9k
ZTsKICNlbmRpZiAvLyBFTkFCTEUoVklFV19NT0RFX0NTU19NRURJQSkKIAotICAgIGRvdWJsZSBt
X21pbmltdW1UaW1lckludGVydmFsOwotCiAgICAgYm9vbCBtX3RpbWVyVGhyb3R0bGluZ0VuYWJs
ZWQ7Ci0gICAgZG91YmxlIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKIAogICAgIGJvb2wgbV9p
c0VkaXRhYmxlOwogICAgIGJvb2wgbV9pc1ByZXJlbmRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKaW5kZXggY2NmYzdiOTdiMDcyZmY4YjZjY2MxZGY5MjUwNTUyYmRkNDg2YjBmNy4uMTI0ZGRi
OTUyMmE5MmEyNTc0ZDYxOGNiOTY2OTg5ZjM2ZmZiMGIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKQEAgLTY5LDEwICs2OSw2IEBAIHN0YXRpYyB2b2lkIGludmFsaWRhdGVBZnRlckdlbmVy
aWNGYW1pbHlDaGFuZ2UoUGFnZSogcGFnZSkKICAgICAgICAgcGFnZS0+c2V0TmVlZHNSZWNhbGNT
dHlsZUluQWxsRnJhbWVzKCk7CiB9CiAKLWRvdWJsZSBTZXR0aW5nczo6Z0RlZmF1bHRNaW5ET01U
aW1lckludGVydmFsID0gMC4wMTA7IC8vIDEwIG1pbGxpc2Vjb25kcwotZG91YmxlIFNldHRpbmdz
OjpnRGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSAwOwotZG91YmxlIFNldHRpbmdz
OjpnSGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSAxLjA7Ci0KICNpZiBVU0Uo
QVZGT1VOREFUSU9OKQogYm9vbCBTZXR0aW5nczo6Z0FWRm91bmRhdGlvbkVuYWJsZWQgPSBmYWxz
ZTsKICNlbmRpZgpAQCAtMTYzLDYgKzE1OSw4IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBw
YWdlKQogICAgICwgbV9mb250R2VuZXJpY0ZhbWlsaWVzKHN0ZDo6bWFrZV91bmlxdWU8Rm9udEdl
bmVyaWNGYW1pbGllcz4oKSkKICAgICAsIG1fc3RvcmFnZUJsb2NraW5nUG9saWN5KFNlY3VyaXR5
T3JpZ2luOjpBbGxvd0FsbFN0b3JhZ2UpCiAgICAgLCBtX2xheW91dEludGVydmFsKGxheW91dFNj
aGVkdWxlVGhyZXNob2xkKQorICAgICwgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbChET01UaW1l
cjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpKQorICAgICwgbV9kb21UaW1lckFsaWdubWVudElu
dGVydmFsKERPTVRpbWVyOjpkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSkKICNpZiBFTkFCTEUo
VEVYVF9BVVRPU0laSU5HKQogICAgICwgbV90ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3Rvcigx
KQogI2lmIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AKQEAgLTIxNSwxNiAr
MjEzLDYgQEAgUGFzc1JlZlB0cjxTZXR0aW5ncz4gU2V0dGluZ3M6OmNyZWF0ZShQYWdlKiBwYWdl
KQogCiBTRVRUSU5HU19TRVRURVJfQk9ESUVTCiAKLXZvaWQgU2V0dGluZ3M6OnNldEhpZGRlblBh
Z2VET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSBoaWRkZW5QYWdlRE9NVGltZXJBbGln
bm1lbnRpbnRlcnZhbCkKLXsKLSAgICBnSGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2
YWwgPSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbDsKLX0KLQotZG91YmxlIFNl
dHRpbmdzOjpoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCi17Ci0gICAgcmV0
dXJuIGdIaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKLX0KLQogI2lmICFQTEFU
Rk9STShDT0NPQSkKIHZvaWQgU2V0dGluZ3M6OmluaXRpYWxpemVEZWZhdWx0Rm9udEZhbWlsaWVz
KCkKIHsKQEAgLTQ1MCw0NCArNDM4LDIzIEBAIHZvaWQgU2V0dGluZ3M6OnNldE5lZWRzQWRvYmVG
cmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wgc2hvdWxkTm90UmVsb2FkSUZyYW1lc0ZvclVuCiAgICAg
bV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayA9IHNob3VsZE5vdFJlbG9hZElGcmFtZXNG
b3JVbmNoYW5nZWRTUkM7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldERlZmF1bHRNaW5ET01UaW1l
ckludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkKLXsKLSAgICBnRGVmYXVsdE1pbkRPTVRpbWVySW50
ZXJ2YWwgPSBpbnRlcnZhbDsKLX0KLQotZG91YmxlIFNldHRpbmdzOjpkZWZhdWx0TWluRE9NVGlt
ZXJJbnRlcnZhbCgpCi17Ci0gICAgcmV0dXJuIGdEZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbDsK
LX0KLQotdm9pZCBTZXR0aW5nczo6c2V0TWluRE9NVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2
YWwpCit2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChkb3VibGUgaW50
ZXJ2YWwpCiB7Ci0gICAgaWYgKG1fcGFnZSkKLSAgICAgICAgbV9wYWdlLT5zZXRNaW5pbXVtVGlt
ZXJJbnRlcnZhbChpbnRlcnZhbCk7Ci19CisgICAgZG91YmxlIG9sZFRpbWVySW50ZXJ2YWwgPSBt
X21pbmltdW1ET01UaW1lckludGVydmFsOworICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwg
PSBpbnRlcnZhbDsKIAotZG91YmxlIFNldHRpbmdzOjptaW5ET01UaW1lckludGVydmFsKCkKLXsK
ICAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIG1fcGFnZS0+
bWluaW11bVRpbWVySW50ZXJ2YWwoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0RGVmYXVsdERP
TVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQotewotICAgIGdEZWZhdWx0
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IGludGVydmFsOwotfQorICAgICAgICByZXR1cm47
CiAKLWRvdWJsZSBTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKQot
ewotICAgIHJldHVybiBnRGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CisgICAgZm9y
IChGcmFtZSogZnJhbWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJh
bWUtPnRyZWUoKS50cmF2ZXJzZU5leHRXaXRoV3JhcChmYWxzZSkpIHsKKyAgICAgICAgaWYgKGZy
YW1lLT5kb2N1bWVudCgpKQorICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkanVzdE1p
bmltdW1UaW1lckludGVydmFsKG9sZFRpbWVySW50ZXJ2YWwpOworICAgIH0KIH0KIAotZG91Ymxl
IFNldHRpbmdzOjpkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QKK3ZvaWQgU2V0dGlu
Z3M6OnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlIGFsaWdubWVudEludGVydmFs
KQogewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gbV9w
YWdlLT50aW1lckFsaWdubWVudEludGVydmFsKCk7CisgICAgbV9kb21UaW1lckFsaWdubWVudElu
dGVydmFsID0gYWxpZ25tZW50SW50ZXJ2YWw7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldExheW91
dEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGF5b3V0SW50ZXJ2YWwpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKaW5kZXggMDQ0M2RjOTIzNGUzN2I1NDQxODNlM2M2Zjc4MDBkYTVlNDk5
YWZjMS4uM2RkZGVhNjM3NDU4N2JlOWQ5MTBmYTg1ZjdlMTNhZjVjYmY0OTE0YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaApAQCAtMTYzLDE5ICsxNjMsMTEgQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCk7CiAgICAg
Ym9vbCBuZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9u
ZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHZvaWQgc2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoZG91YmxlKTsgLy8gSW50ZXJ2
YWwgc3BlY2lmaWVkIGluIHNlY29uZHMuCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGRvdWJs
ZSBkZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgpOwotICAgICAgICAKLSAgICBzdGF0aWMgdm9p
ZCBzZXRIaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbChkb3VibGUpOyAvLyBJbnRl
cnZhbCBzcGVjaWZpZWQgaW4gc2Vjb25kcy4KLSAgICBzdGF0aWMgZG91YmxlIGhpZGRlblBhZ2VE
T01UaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dE1pbkRPTVRpbWVySW50ZXJ2YWwoZG91YmxlKTsgLy8gUGVyLXBhZ2U7IGluaXRpYWxpemVkIHRv
IGRlZmF1bHQgdmFsdWUuCi0gICAgV0VCQ09SRV9FWFBPUlQgZG91YmxlIG1pbkRPTVRpbWVySW50
ZXJ2YWwoKTsKLQotICAgIHN0YXRpYyB2b2lkIHNldERlZmF1bHRET01UaW1lckFsaWdubWVudElu
dGVydmFsKGRvdWJsZSk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGRvdWJsZSBkZWZhdWx0
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
TWluaW11bURPTVRpbWVySW50ZXJ2YWwoZG91YmxlKTsgLy8gUGVyLXBhZ2U7IGluaXRpYWxpemVk
IHRvIGRlZmF1bHQgdmFsdWUuCisgICAgV0VCQ09SRV9FWFBPUlQgZG91YmxlIG1pbmltdW1ET01U
aW1lckludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsg
fQogCi0gICAgZG91YmxlIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2
b2lkIHNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlKTsKKyAgICBkb3VibGUgZG9t
VGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9tVGltZXJBbGlnbm1l
bnRJbnRlcnZhbDsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRMYXlvdXRJbnRlcnZh
bChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGxheW91dEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRJbnRlcnZhbDsgfQpA
QCAtMjgzLDYgKzI3NSw5IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZv
bnRHZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9y
aWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9sYXlvdXRJbnRlcnZhbDsKKyAgICBkb3VibGUg
bV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsKKyAgICBkb3VibGUgbV9kb21UaW1lckFsaWdubWVu
dEludGVydmFsOworCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICBmbG9hdCBtX3Rl
eHRBdXRvc2l6aW5nRm9udFNjYWxlRmFjdG9yOwogICAgIEludFNpemUgbV90ZXh0QXV0b3Npemlu
Z1dpbmRvd1NpemVPdmVycmlkZTsKQEAgLTMyMCw5ICszMTUsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQgOiAxOwogICAgIGJv
b2wgbV9mb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMgOiAxOwogCi0gICAgc3RhdGljIGRv
dWJsZSBnRGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWw7Ci0gICAgc3RhdGljIGRvdWJsZSBnRGVm
YXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7Ci0KICNpZiBVU0UoQVZGT1VOREFUSU9OKQog
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGdBVkZvdW5kYXRpb25FbmFibGVkOwogI2Vu
ZGlmCkBAIC0zNDksOCArMzQxLDYgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9tZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5OwogI2VuZGlmCiAKLSAgICBzdGF0aWMgZG91YmxlIGdIaWRkZW5QYWdl
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKLQogICAgIHN0YXRpYyBib29sIGdMb3dQb3dlclZp
ZGVvQXVkaW9CdWZmZXJTaXplRW5hYmxlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IDc0NzdhZDZjYzZmYmRiOGRkZGEyY2FiMzgxY2Fh
NTUwZGY2NGRkZjguLjJiMWEyYTQ1YTJlMzRlNzRiZDA1OGM5NjEwMzlkM2MyNzQwODNiYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNzgsNyAr
NzgsNyBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5ncyYgc2V0dGlu
Z3MpCiAgICAgLCBtX29yaWdpbmFsTW9ja1Njcm9sbGJhcnNFbmFibGVkKHNldHRpbmdzLm1vY2tT
Y3JvbGxiYXJzRW5hYmxlZCgpKQogICAgICwgbV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJv
bFVJRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxhbmdB
dHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKCkpCiAgICAgLCBtX2ltYWdlc0VuYWJs
ZWQoc2V0dGluZ3MuYXJlSW1hZ2VzRW5hYmxlZCgpKQotICAgICwgbV9taW5pbXVtVGltZXJJbnRl
cnZhbChzZXR0aW5ncy5taW5ET01UaW1lckludGVydmFsKCkpCisgICAgLCBtX21pbmltdW1UaW1l
ckludGVydmFsKHNldHRpbmdzLm1pbmltdW1ET01UaW1lckludGVydmFsKCkpCiAjaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQogICAgICwgbV9zaG91bGREaXNwbGF5U3VidGl0bGVzKHNldHRpbmdzLnNo
b3VsZERpc3BsYXlTdWJ0aXRsZXMoKSkKICAgICAsIG1fc2hvdWxkRGlzcGxheUNhcHRpb25zKHNl
dHRpbmdzLnNob3VsZERpc3BsYXlDYXB0aW9ucygpKQpAQCAtMTQ1LDcgKzE0NSw3IEBAIHZvaWQg
SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0dGluZ3MmIHNldHRpbmdzKQog
ICAgIHNldHRpbmdzLnNldENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcobV9vcmlnaW5hbENh
bnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJs
ZWQobV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCk7CiAgICAgc2V0dGlu
Z3Muc2V0SW1hZ2VzRW5hYmxlZChtX2ltYWdlc0VuYWJsZWQpOwotICAgIHNldHRpbmdzLnNldE1p
bkRPTVRpbWVySW50ZXJ2YWwobV9taW5pbXVtVGltZXJJbnRlcnZhbCk7CisgICAgc2V0dGluZ3Mu
c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwobV9taW5pbXVtVGltZXJJbnRlcnZhbCk7CiAjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKQogICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BsYXlTdWJ0aXRs
ZXMobV9zaG91bGREaXNwbGF5U3VidGl0bGVzKTsKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNw
bGF5Q2FwdGlvbnMobV9zaG91bGREaXNwbGF5Q2FwdGlvbnMpOwpAQCAtNDUwLDcgKzQ1MCw3IEBA
IHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJ
bnRlcnZhbChkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewog
ICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7Ci0gICAgc2V0dGluZ3MoKS0+
c2V0TWluRE9NVGltZXJJbnRlcnZhbChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgc2V0dGluZ3Mo
KS0+c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxJblNlY29uZHMpOwogfQogCiB2
b2lkIEludGVybmFsU2V0dGluZ3M6OnNldERlZmF1bHRWaWRlb1Bvc3RlclVSTChjb25zdCBTdHJp
bmcmIHVybCwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KaW5kZXggZGFmYjM4MWZmYzAzYWJlZDdkNGQ3MTZmMTFjNWUwMzRmNDM3YWY1Ny4uZTVjNWYx
ZjExYmQ2ZDljNWY5M2RiNjI2YmE4ZTI0MTYxY2NmYTU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQpAQCAtOTI2LDggKzkyNiw2IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRp
YWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgICAgIFdlYktpdEluaXRpYWxp
emVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpOwogI2VuZGlmCiAgICAgICAgIAotICAgICAg
ICBTZXR0aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoMC4wMDQpOwotICAgICAg
ICAKICAgICAgICAgU2V0dGluZ3M6OnNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKSk7
CiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJW
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGU5MDVmODMwODdj
ZDQ3MTU5NWI3YTk2NzhkZGY1NzcxODIwODE1YjEuLjRiNDNmODc4MWI1YmMyZWE2ODRlOGQ0M2Y1
ZjIxMzVlZmVmNzgwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0yNzg4LDcgKzI3ODgsNiBA
QCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoCiAKICAg
ICAgICAgV2ViS2l0SW5pdGlhbGl6ZVdlYkRhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7CiAgICAgICAg
IFdlYktpdFNldEFwcGxpY2F0aW9uQ2FjaGVQYXRoSWZOZWNlc3NhcnkoKTsKLSAgICAgICAgU2V0
dGluZ3M6OnNldERlZmF1bHRNaW5ET01UaW1lckludGVydmFsKDAuMDA0KTsKIAogICAgICAgICBk
aWRPbmVUaW1lSW5pdGlhbGl6YXRpb24gPSB0cnVlOwogICAgICB9CkBAIC02ODIzLDcgKzY4MjIs
NyBAQCBIUkVTVUxUIFdlYlZpZXc6OmRlZmF1bHRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUq
IGludGVydmFsKQogewogICAgIGlmICghaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybiBFX1BPSU5U
RVI7Ci0gICAgKmludGVydmFsID0gU2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFs
KCk7CisgICAgKmludGVydmFsID0gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKTsK
ICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IDc2NjEyMTlkM2U4NzlmNDljZGM3MzE3YzFiYjBhYWU2ZjNl
MjkzZTEuLjEwODczZGI0YmY0M2Y5MDJmMTY3Y2ViMDZlNjQ4NDcyYzM4ZGQ1ZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM0Myw5ICsz
NDMsNiBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICAsIG1fc2hvdWxkRGlzcGF0Y2hGYWtl
TW91c2VNb3ZlRXZlbnRzKHRydWUpCiB7CiAgICAgQVNTRVJUKG1fcGFnZUlEKTsKLSAgICAvLyBG
SVhNRTogVGhpcyBpcyBhIG5vbi1pZGVhbCBsb2NhdGlvbiBmb3IgdGhpcyBTZXR0aW5nIGFuZAot
ICAgIC8vIDRtcyBzaG91bGQgYmUgYWRvcHRlZCBwcm9qZWN0LXdpZGUgbm93LCBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMTQKLSAgICBTZXR0aW5nczo6c2V0RGVm
YXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoMC4wMDQpOwogCiAgICAgbV9wYWdlR3JvdXAgPSBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQYWdlR3JvdXAocGFyYW1ldGVycy5wYWdlR3JvdXBEYXRh
KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248974</attachid>
            <date>2015-03-18 15:30:27 -0700</date>
            <delta_ts>2015-03-18 16:32:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142837-20150318152956.patch</filename>
            <type>text/plain</type>
            <size>22619</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTVhZDUyMzU4ZDU4MjI2
NDMxNjA1MjYyMmQxNjFiN2VkYjU2ZWJiZS4uMWI0OGM4NDVkMTgxMDA5NDg1ODM3NmY1NjNjMmIw
MjU3NTVhYzI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTAzLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIg
cmVsYXRlZCBzZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQyODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIgcmVsYXRlZCBzZXR0aW5nczoKKyAgICAgICAgLSBN
YWtlIGRlZmF1bHQgbWluaW11bSB0aW1lciBpbnRlcnZhbCA0bXMgaW5zdGVhZCBvZiAxMG1zIGFz
IGFsbCBwb3J0cworICAgICAgICAgIHdlcmUgc2V0dGluZyBpdCB0byA0bXMgYW5kIHRoZSBzcGVj
aWZpY2F0aW9ucyBzYXlzIDRtcy4KKyAgICAgICAgLSBHZXQgcmlkIG9mIHNldHRlcnMgZm9yIGRl
ZmF1bHQgRE9NVGltZXIgaW50ZXJ2YWwgdmFsdWVzIGFzIHRoZXkgYXJlCisgICAgICAgICAgbm90
IHNldCBhbnltb3JlLgorICAgICAgICAtIE1vdmUgZGVmYXVsdCBET01UaW1lciBpbnRlcnZhbCB2
YWx1ZXMgZnJvbSBTZXR0aW5ncyB0byBET01UaW1lciBhcworICAgICAgICAgIHRob3NlIGFyZSBn
bG9iYWwgKG5vdCBwZXItcGFnZSkgYW5kIG5vdCByZWFsbHkgc2V0dGluZ3MuCisgICAgICAgIC0g
U3RvcCB1c2luZyBhYmJyZXZpYXRpb25zIGluIHRoZSBuYW1lcyAoZS5nLiBtaW4gLT4gbWluaW11
bSkuCisgICAgICAgIC0gTW92ZSBET01UaW1lciBzZXR0aW5ncyBtZW1iZXJzIGZyb20gUGFnZSB0
byBTZXR0aW5ncy4gVGhlcmUgaXMgbm8KKyAgICAgICAgICByZWFzb24gZm9yIHRob3NlIHRvIGJl
IHN0b3JlZCBvbiB0aGUgUGFnZS4gVGhlIGdldHRlcnMgd2VyZSBwcml2YXRlCisgICAgICAgICAg
c28gY2FsbC1zaXRlcyBoYWQgdG8gZ28gdmlhIFNldHRpbmdzIGFueXdheS4gQWxzbywgY2FsbC1z
aXRlcyBhbHJlYWR5CisgICAgICAgICAgaGFkIHRvIGRvIGEgbnVsbCBjaGVjayBvbiB0aGUgcGFn
ZSB0byBnZXQgdGhlIHNldHRpbmdzLiBJdCBzZWVtcworICAgICAgICAgIHVuZm9ydHVuYXRlIGZv
ciB0aGUgc2V0dGluZ3MgdG8gZG8gYW5vdGhlciBudWxsLWNoZWNrIG9uIHRoZSBwYWdlIGZvcgor
ICAgICAgICAgIHJldHJpZXZpbmcgdGhlIHNldHRpbmcgdmFsdWUgZnJvbSB0aGUgcGFnZS4KKyAg
ICAgICAgLSBJbmxpbmUgdGhlIERPTVRpbWVyIHNldHRpbmdzIGdldHRlcnMgYXMgdGhlc2UgYXJl
IHRyaXZpYWwuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nRW5h
YmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptaW5pbXVtVGltZXJJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojp0aW1lckFsaWdubWVudEludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudElu
dGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdl
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5ET01UaW1lckludGVydmFsKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5ET01UaW1lckludGVydmFs
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXREZWZhdWx0RE9NVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpt
aW5pbXVtRE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZG9t
VGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFj
a3VwKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9y
ZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1l
ckludGVydmFsKToKKwogMjAxNS0wMy0xOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KIAogICAgICAgICBUZW1wb3JhcmlseSBmaXggdGhlICFFTkFCTEUoQ1NTX1NFTEVD
VE9SX0pJVCkgYW5kIGFzc2VydGlvbnMtZW5hYmxlZCBidWlsZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDEyZjMxMGJiNDg0YTM0YTljMDRlODYwZjQ2YmZkNWJlOWJiOWMwYjQuLmMxNmE1NWNkZDA4ZjI1
NjNjZTMwNTZkOWUxZTM0OThjNWI0YWQ2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxNS0wMy0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIENsZWFuIHVwIERPTVRpbWVyIHJlbGF0ZWQgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjgzNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3Agc2V0dGluZyB0aGUgRE9NVGltZXJz
JyBkZWZhdWx0IG1pbmltdW0gaW50ZXJ2YWwgdG8gNG1zIGFzIHRoaXMKKyAgICAgICAgaXMgbm93
IHRoZSBkZWZhdWx0LgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAo
LVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6Z3JvdXBOYW1lOl0p
OgorCiAyMDE1LTAzLTE3ICBDb25yYWQgU2h1bHR6ICA8Y29ucmFkX3NodWx0ekBhcHBsZS5jb20+
CiAKICAgICAgICAgSWdub3JlIHNvbWUgZGVwcmVjYXRpb24gd2FybmluZ3MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwppbmRleCBlMzY4NzhkYmI0NTVkN2MyZWE1MzdhZDUyOTAzNTQ3MGM2YjFkMWRiLi44NmIyNjky
Mjg1NWJjYzJjODU4YmVmZmUyMzQyMTA1YjM1YWZkMmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTUtMDMtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBDbGVhbiB1cCBET01UaW1lciByZWxhdGVkIHNldHRpbmdzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4MzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHNldHRpbmcgdGhlIERP
TVRpbWVycycgZGVmYXVsdCBtaW5pbXVtIGludGVydmFsIHRvIDRtcyBhcyB0aGlzCisgICAgICAg
IGlzIG5vdyB0aGUgZGVmYXVsdC4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAo
V2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisgICAgICAgIChXZWJWaWV3OjpkZWZhdWx0TWluaW11
bVRpbWVySW50ZXJ2YWwpOgorCiAyMDE1LTAzLTE2ICBDb25yYWQgU2h1bHR6ICA8Y29ucmFkX3No
dWx0ekBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgY2xpZW50cyB0byBzZWxlY3RpdmVseSBk
aXNhYmxlIHBsdWctaW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTljYjg3NmU5NzIwM2Q0MjM2OGUzY2NlYWRl
ZWUxZDg3YzY2M2RiNi4uMmM1ZjEyOGQ5ZDA3OWJjNDQ4ZjAxZWY3Nzg1Yzg0YjQ5MDU4OWI3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1LTAzLTE4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIgcmVsYXRlZCBzZXR0
aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQy
ODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3Rv
cCBzZXR0aW5nIHRoZSBET01UaW1lcnMnIGRlZmF1bHQgbWluaW11bSBpbnRlcnZhbCB0byA0bXMg
YXMgdGhpcworICAgICAgICBpcyBub3cgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBh
Z2UpOgorCiAyMDE1LTAzLTE4ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUgQVBJCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCAwMjMwYTVhZmVjN2Y1M2NjMjZkYzkwYzAxMGQyY2EyNjBkMjQ2
NTRjLi5lODcyZGY1NmNiNDMwYWFkYzY0NDVmNzkxMDBmNDI0ODlhMmNkZGRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKQEAgLTI3MjgsMTggKzI3MjgsMTggQEAgdm9pZCBEb2N1bWVudDo6d3Jp
dGVsbihjb25zdCBTdHJpbmcmIHRleHQsIERvY3VtZW50KiBvd25lckRvY3VtZW50KQogCiBkb3Vi
bGUgRG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKLSAgICBQYWdlKiBw
ID0gcGFnZSgpOwotICAgIGlmICghcCkKKyAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOwor
ICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1p
bmltdW1UaW1lckludGVydmFsKCk7Ci0gICAgcmV0dXJuIHAtPnNldHRpbmdzKCkubWluRE9NVGlt
ZXJJbnRlcnZhbCgpOworICAgIHJldHVybiBwYWdlLT5zZXR0aW5ncygpLm1pbmltdW1ET01UaW1l
ckludGVydmFsKCk7CiB9CiAKIGRvdWJsZSBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZh
bCgpIGNvbnN0CiB7Ci0gICAgUGFnZSogcCA9IHBhZ2UoKTsKLSAgICBpZiAoIXApCisgICAgUGFn
ZSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgcmV0
dXJuIHAtPnNldHRpbmdzKCkuZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOworICAgIHJldHVy
biBwYWdlLT5zZXR0aW5ncygpLmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIH0KIAogRXZl
bnRUYXJnZXQqIERvY3VtZW50OjplcnJvckV2ZW50VGFyZ2V0KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCBmYzIzNzYxMWM0MzIzODE2NDBi
NzNjYjQyMzAzYTliN2YzZjQxZmZhLi5hNDhkYjM0Y2JjZDVkNjYzZTM5MjYxMjE1ZTE2MTY5ZWJm
ZGQyNDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
Y3BwCkBAIC00MzQsNyArNDM0LDcgQEAgZG91YmxlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1p
bmltdW1UaW1lckludGVydmFsKCkgY29uc3QKICAgICAvLyB3b3JrZXJzLCB3ZSB3aWxsIGhhdmUg
dG8gb3ZlcnJpZGUgaXQgaW4gdGhlIGFwcHJvcHJpYXRlCiAgICAgLy8gc3ViY2xhc3MsIGFuZCBw
cm92aWRlIGEgd2F5IHRvIGVudW1lcmF0ZSBhIERvY3VtZW50J3MgZGVkaWNhdGVkCiAgICAgLy8g
d29ya2VycyBzbyB3ZSBjYW4gdXBkYXRlIHRoZW0gYWxsLgotICAgIHJldHVybiBTZXR0aW5nczo6
ZGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoKTsKKyAgICByZXR1cm4gRE9NVGltZXI6OmRlZmF1
bHRNaW5pbXVtSW50ZXJ2YWwoKTsKIH0KIAogdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCkKQEAgLTQ0NSw3ICs0NDUsNyBAQCB2b2lk
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwo
KQogCiBkb3VibGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZh
bCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFNldHRpbmdzOjpkZWZhdWx0RE9NVGltZXJBbGlnbm1l
bnRJbnRlcnZhbCgpOworICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVy
dmFsKCk7CiB9CiAKIEpTQzo6Vk0mIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnZtKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKaW5kZXggNWE0N2UyYzgzMDgxYzIwMzlkY2I5OWVhZWM3ZTQ2ZGVl
OWI0NzRjZi4uMWQ5YTYzZWE1NWRiNWIzOWJjYWRmN2E5NTU4NGQ3NWU2MGU4ZTIyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5jcHAKQEAgLTU3LDYgKzU3LDEwIEBAIHN0YXRpYyBjb25zdCBpbnQg
bWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDA7IC8vIEVt
cGlyaWNhCiBzdGF0aWMgY29uc3QgaW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgb25lTWlsbGlzZWNvbmQgPSAwLjAwMTsKIAorY29uc3QgZG91YmxlIERP
TVRpbWVyOjpnRGVmYXVsdE1pbmltdW1JbnRlcnZhbCA9IDAuMDA0OyAvLyA0IG1pbGxpc2Vjb25k
cy4KK2NvbnN0IGRvdWJsZSBET01UaW1lcjo6Z0RlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCA9IDA7
Citjb25zdCBkb3VibGUgRE9NVGltZXI6OmdIaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwgPSAx
LjA7IC8vIDEgc2Vjb25kLgorCiBjbGFzcyBET01UaW1lckZpcmVTdGF0ZSB7CiBwdWJsaWM6CiAg
ICAgZXhwbGljaXQgRE9NVGltZXJGaXJlU3RhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAppbmRleCA2OTFjNWIwNDViM2U3MTg2MTA5ODg5NzRl
MDFjMTU1ZmY1MTg2NzUwLi5jZTBmZWQ5NTc3NzVlZWI5NjcxN2FjOWUwMzlkM2M1ZjUxZDljNDIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCkBAIC00OCw2ICs0OCwxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5ET01UaW1lcigpOwogCisgICAg
ICAgIHN0YXRpYyBkb3VibGUgZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpIHsgcmV0dXJuIGdEZWZh
dWx0TWluaW11bUludGVydmFsOyB9CisgICAgICAgIHN0YXRpYyBkb3VibGUgaGlkZGVuUGFnZUFs
aWdubWVudEludGVydmFsKCkgeyByZXR1cm4gZ0hpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbDsg
fQorICAgICAgICBzdGF0aWMgZG91YmxlIGRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0
dXJuIGdEZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWw7IH0KKwogICAgICAgICAvLyBDcmVhdGVzIGEg
bmV3IHRpbWVyIG93bmVkIGJ5IHNwZWNpZmllZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0LCBzdGFy
dHMgaXQKICAgICAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgogICAgICAgICBzdGF0aWMgaW50
IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWRBY3Rpb24+LCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKQEAgLTk5LDYgKzEwMywx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIHN0aWxsIG5lZWQgdG8gaGFuZGxl
IGNhc2VzIHdoZXJlIHRoZSBlbGVtZW50cyBnZXQgZGVzdHJveWVkIGFmdGVyCiAgICAgICAgIC8v
IHRoZSB0aW1lciBoYXMgZmlyZWQuCiAgICAgICAgIFZlY3RvcjxXZWFrUHRyPEVsZW1lbnQ+PiBt
X2VsZW1lbnRzQ2F1c2luZ1Rocm90dGxpbmc7CisKKyAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJs
ZSBnRGVmYXVsdE1pbmltdW1JbnRlcnZhbDsKKyAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBn
RGVmYXVsdEFsaWdubWVudEludGVydmFsOworICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIGdI
aWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggOWUxYzUxOTY4Yjk0ZmUzODNlMjMxYmM4NTJmOTVk
NDBiMmJmNmRlZS4uM2RjYTc4NDZmMjQ2Y2VlNDUwMDdlZWMxOWFhZTljNzZjMDM0N2M1ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCkBAIC0xODcsOSArMTg3LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmln
dXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAjaWYgRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVE
SUEpCiAgICAgLCBtX3ZpZXdNb2RlKFZpZXdNb2RlV2luZG93ZWQpCiAjZW5kaWYgLy8gRU5BQkxF
KFZJRVdfTU9ERV9DU1NfTUVESUEpCi0gICAgLCBtX21pbmltdW1UaW1lckludGVydmFsKFNldHRp
bmdzOjpkZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgpKQogICAgICwgbV90aW1lclRocm90dGxp
bmdFbmFibGVkKGZhbHNlKQotICAgICwgbV90aW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdz
OjpkZWZhdWx0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpKQogICAgICwgbV9pc0VkaXRhYmxl
KGZhbHNlKQogICAgICwgbV9pc1ByZXJlbmRlcihmYWxzZSkKICAgICAsIG1fdmlld1N0YXRlKFBh
Z2VJbml0aWFsVmlld1N0YXRlKQpAQCAtMTEyOCwyMSArMTEyNiw2IEBAIHZvaWQgUGFnZTo6c2V0
TWVtb3J5Q2FjaGVDbGllbnRDYWxsc0VuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICBmcmFt
ZS0+bG9hZGVyKCkudGVsbENsaWVudEFib3V0UGFzdE1lbW9yeUNhY2hlTG9hZHMoKTsKIH0KIAot
dm9pZCBQYWdlOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgbWluaW11bVRpbWVySW50
ZXJ2YWwpCi17Ci0gICAgZG91YmxlIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1UaW1lcklu
dGVydmFsOwotICAgIG1fbWluaW11bVRpbWVySW50ZXJ2YWwgPSBtaW5pbXVtVGltZXJJbnRlcnZh
bDsKLSAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0g
ZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHRXaXRoV3JhcChmYWxzZSkpIHsKLSAgICAgICAgaWYg
KGZyYW1lLT5kb2N1bWVudCgpKQotICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkanVz
dE1pbmltdW1UaW1lckludGVydmFsKG9sZFRpbWVySW50ZXJ2YWwpOwotICAgIH0KLX0KLQotZG91
YmxlIFBhZ2U6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9t
aW5pbXVtVGltZXJJbnRlcnZhbDsKLX0KLQogdm9pZCBQYWdlOjpoaWRkZW5QYWdlRE9NVGltZXJU
aHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCkKIHsKICAgICBzZXRUaW1lclRocm90dGxpbmdFbmFibGVk
KG1fdmlld1N0YXRlICYgVmlld1N0YXRlOjpJc1Zpc3VhbGx5SWRsZSk7CkBAIC0xMTU5LDcgKzEx
NDIsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBlbmFibGVk
KQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGluZ0VuYWJsZWQgPSBlbmFi
bGVkOwotICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IGVuYWJsZWQgPyBTZXR0aW5nczo6
aGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSA6IFNldHRpbmdzOjpkZWZhdWx0
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOworICAgIG1fc2V0dGluZ3MtPnNldERPTVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoZW5hYmxlZCA/IERPTVRpbWVyOjpoaWRkZW5QYWdlQWxpZ25tZW50
SW50ZXJ2YWwoKSA6IERPTVRpbWVyOjpkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSk7CiAgICAg
CiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZy
YW1lLT50cmVlKCkudHJhdmVyc2VOZXh0V2l0aFdyYXAoZmFsc2UpKSB7CiAgICAgICAgIGlmIChm
cmFtZS0+ZG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggYWZkNWRjMDUwNTM4ODVhYjJjOTNl
ZmRhNmQzOGYwYWI0MTUyZTFmMi4uNjJhNzNhNzY0MmVmYTZiNzQ3MWNjYzk2Y2U5NzA2ZWM4Mjg5
ZGVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTQ1NCwxMSArNDU0LDYgQEAgcHJpdmF0ZToKIAogICAg
IE1lZGlhQ2FuU3RhcnRMaXN0ZW5lciogdGFrZUFueU1lZGlhQ2FuU3RhcnRMaXN0ZW5lcigpOwog
Ci0gICAgdm9pZCBzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUpOwotICAgIGRvdWJsZSBt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwotCi0gICAgZG91YmxlIHRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KLQog
ICAgIFZlY3RvcjxSZWY8UGx1Z2luVmlld0Jhc2U+PiBwbHVnaW5WaWV3cygpOwogCiAgICAgdm9p
ZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCk7CkBAIC01NDYsMTAg
KzU0MSw3IEBAIHByaXZhdGU6CiAgICAgVmlld01vZGUgbV92aWV3TW9kZTsKICNlbmRpZiAvLyBF
TkFCTEUoVklFV19NT0RFX0NTU19NRURJQSkKIAotICAgIGRvdWJsZSBtX21pbmltdW1UaW1lcklu
dGVydmFsOwotCiAgICAgYm9vbCBtX3RpbWVyVGhyb3R0bGluZ0VuYWJsZWQ7Ci0gICAgZG91Ymxl
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKIAogICAgIGJvb2wgbV9pc0VkaXRhYmxlOwogICAg
IGJvb2wgbV9pc1ByZXJlbmRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggY2NmYzdi
OTdiMDcyZmY4YjZjY2MxZGY5MjUwNTUyYmRkNDg2YjBmNy4uMTI0ZGRiOTUyMmE5MmEyNTc0ZDYx
OGNiOTY2OTg5ZjM2ZmZiMGIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTY5LDEw
ICs2OSw2IEBAIHN0YXRpYyB2b2lkIGludmFsaWRhdGVBZnRlckdlbmVyaWNGYW1pbHlDaGFuZ2Uo
UGFnZSogcGFnZSkKICAgICAgICAgcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7CiB9CiAKLWRvdWJsZSBTZXR0aW5nczo6Z0RlZmF1bHRNaW5ET01UaW1lckludGVydmFsID0g
MC4wMTA7IC8vIDEwIG1pbGxpc2Vjb25kcwotZG91YmxlIFNldHRpbmdzOjpnRGVmYXVsdERPTVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwgPSAwOwotZG91YmxlIFNldHRpbmdzOjpnSGlkZGVuUGFnZURP
TVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSAxLjA7Ci0KICNpZiBVU0UoQVZGT1VOREFUSU9OKQog
Ym9vbCBTZXR0aW5nczo6Z0FWRm91bmRhdGlvbkVuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgpAQCAt
MTYzLDYgKzE1OSw4IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV9m
b250R2VuZXJpY0ZhbWlsaWVzKHN0ZDo6bWFrZV91bmlxdWU8Rm9udEdlbmVyaWNGYW1pbGllcz4o
KSkKICAgICAsIG1fc3RvcmFnZUJsb2NraW5nUG9saWN5KFNlY3VyaXR5T3JpZ2luOjpBbGxvd0Fs
bFN0b3JhZ2UpCiAgICAgLCBtX2xheW91dEludGVydmFsKGxheW91dFNjaGVkdWxlVGhyZXNob2xk
KQorICAgICwgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbChET01UaW1lcjo6ZGVmYXVsdE1pbmlt
dW1JbnRlcnZhbCgpKQorICAgICwgbV9kb21UaW1lckFsaWdubWVudEludGVydmFsKERPTVRpbWVy
OjpkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSkKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5H
KQogICAgICwgbV90ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvcigxKQogI2lmIEhBQ0tfRk9S
Q0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AKQEAgLTIxNSwxNiArMjEzLDYgQEAgUGFzc1Jl
ZlB0cjxTZXR0aW5ncz4gU2V0dGluZ3M6OmNyZWF0ZShQYWdlKiBwYWdlKQogCiBTRVRUSU5HU19T
RVRURVJfQk9ESUVTCiAKLXZvaWQgU2V0dGluZ3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdu
bWVudEludGVydmFsKGRvdWJsZSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbCkK
LXsKLSAgICBnSGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBoaWRkZW5QYWdl
RE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbDsKLX0KLQotZG91YmxlIFNldHRpbmdzOjpoaWRkZW5Q
YWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCi17Ci0gICAgcmV0dXJuIGdIaWRkZW5QYWdl
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKLX0KLQogI2lmICFQTEFURk9STShDT0NPQSkKIHZv
aWQgU2V0dGluZ3M6OmluaXRpYWxpemVEZWZhdWx0Rm9udEZhbWlsaWVzKCkKIHsKQEAgLTQ1MCw0
NCArNDM4LDIzIEBAIHZvaWQgU2V0dGluZ3M6OnNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1
aXJrKGJvb2wgc2hvdWxkTm90UmVsb2FkSUZyYW1lc0ZvclVuCiAgICAgbV9uZWVkc0Fkb2JlRnJh
bWVSZWxvYWRpbmdRdWlyayA9IHNob3VsZE5vdFJlbG9hZElGcmFtZXNGb3JVbmNoYW5nZWRTUkM7
CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldERlZmF1bHRNaW5ET01UaW1lckludGVydmFsKGRvdWJs
ZSBpbnRlcnZhbCkKLXsKLSAgICBnRGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZh
bDsKLX0KLQotZG91YmxlIFNldHRpbmdzOjpkZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgpCi17
Ci0gICAgcmV0dXJuIGdEZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbDsKLX0KLQotdm9pZCBTZXR0
aW5nczo6c2V0TWluRE9NVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFNldHRp
bmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCiB7Ci0gICAg
aWYgKG1fcGFnZSkKLSAgICAgICAgbV9wYWdlLT5zZXRNaW5pbXVtVGltZXJJbnRlcnZhbChpbnRl
cnZhbCk7Ci19CisgICAgZG91YmxlIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOworICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKIAot
ZG91YmxlIFNldHRpbmdzOjptaW5ET01UaW1lckludGVydmFsKCkKLXsKICAgICBpZiAoIW1fcGFn
ZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIG1fcGFnZS0+bWluaW11bVRpbWVySW50
ZXJ2YWwoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0RGVmYXVsdERPTVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQotewotICAgIGdEZWZhdWx0RE9NVGltZXJBbGlnbm1l
bnRJbnRlcnZhbCA9IGludGVydmFsOwotfQorICAgICAgICByZXR1cm47CiAKLWRvdWJsZSBTZXR0
aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKQotewotICAgIHJldHVybiBn
RGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CisgICAgZm9yIChGcmFtZSogZnJhbWUg
PSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2
ZXJzZU5leHRXaXRoV3JhcChmYWxzZSkpIHsKKyAgICAgICAgaWYgKGZyYW1lLT5kb2N1bWVudCgp
KQorICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkanVzdE1pbmltdW1UaW1lckludGVy
dmFsKG9sZFRpbWVySW50ZXJ2YWwpOworICAgIH0KIH0KIAotZG91YmxlIFNldHRpbmdzOjpkb21U
aW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QKK3ZvaWQgU2V0dGluZ3M6OnNldERPTVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlIGFsaWdubWVudEludGVydmFsKQogewotICAgIGlmICgh
bV9wYWdlKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gbV9wYWdlLT50aW1lckFsaWdu
bWVudEludGVydmFsKCk7CisgICAgbV9kb21UaW1lckFsaWdubWVudEludGVydmFsID0gYWxpZ25t
ZW50SW50ZXJ2YWw7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldExheW91dEludGVydmFsKHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgbGF5b3V0SW50ZXJ2YWwpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgK
aW5kZXggMDQ0M2RjOTIzNGUzN2I1NDQxODNlM2M2Zjc4MDBkYTVlNDk5YWZjMS4uM2RkZGVhNjM3
NDU4N2JlOWQ5MTBmYTg1ZjdlMTNhZjVjYmY0OTE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApA
QCAtMTYzLDE5ICsxNjMsMTEgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCk7CiAgICAgYm9vbCBuZWVkc0Fjcm9i
YXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Fkb2JlRnJhbWVS
ZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0RGVm
YXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoZG91YmxlKTsgLy8gSW50ZXJ2YWwgc3BlY2lmaWVkIGlu
IHNlY29uZHMuCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGRvdWJsZSBkZWZhdWx0TWluRE9N
VGltZXJJbnRlcnZhbCgpOwotICAgICAgICAKLSAgICBzdGF0aWMgdm9pZCBzZXRIaWRkZW5QYWdl
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbChkb3VibGUpOyAvLyBJbnRlcnZhbCBzcGVjaWZpZWQg
aW4gc2Vjb25kcy4KLSAgICBzdGF0aWMgZG91YmxlIGhpZGRlblBhZ2VET01UaW1lckFsaWdubWVu
dEludGVydmFsKCk7Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbkRPTVRpbWVySW50
ZXJ2YWwoZG91YmxlKTsgLy8gUGVyLXBhZ2U7IGluaXRpYWxpemVkIHRvIGRlZmF1bHQgdmFsdWUu
Ci0gICAgV0VCQ09SRV9FWFBPUlQgZG91YmxlIG1pbkRPTVRpbWVySW50ZXJ2YWwoKTsKLQotICAg
IHN0YXRpYyB2b2lkIHNldERlZmF1bHRET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSk7
Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGRvdWJsZSBkZWZhdWx0RE9NVGltZXJBbGlnbm1l
bnRJbnRlcnZhbCgpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVy
SW50ZXJ2YWwoZG91YmxlKTsgLy8gUGVyLXBhZ2U7IGluaXRpYWxpemVkIHRvIGRlZmF1bHQgdmFs
dWUuCisgICAgV0VCQ09SRV9FWFBPUlQgZG91YmxlIG1pbmltdW1ET01UaW1lckludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQogCi0gICAgZG91Ymxl
IGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIHNldERPTVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlKTsKKyAgICBkb3VibGUgZG9tVGltZXJBbGlnbm1lbnRJ
bnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbDsgfQog
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRMYXlvdXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKTsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxheW91dEludGVy
dmFsKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRJbnRlcnZhbDsgfQpAQCAtMjgzLDYgKzI3NSw5
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgbV9sYXlvdXRJbnRlcnZhbDsKKyAgICBkb3VibGUgbV9taW5pbXVtRE9NVGlt
ZXJJbnRlcnZhbDsKKyAgICBkb3VibGUgbV9kb21UaW1lckFsaWdubWVudEludGVydmFsOworCiAj
aWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICBmbG9hdCBtX3RleHRBdXRvc2l6aW5nRm9u
dFNjYWxlRmFjdG9yOwogICAgIEludFNpemUgbV90ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVy
cmlkZTsKQEAgLTMyMCw5ICszMTUsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oaWRkZW5QYWdl
Q1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQgOiAxOwogICAgIGJvb2wgbV9mb250RmFsbGJh
Y2tQcmVmZXJzUGljdG9ncmFwaHMgOiAxOwogCi0gICAgc3RhdGljIGRvdWJsZSBnRGVmYXVsdE1p
bkRPTVRpbWVySW50ZXJ2YWw7Ci0gICAgc3RhdGljIGRvdWJsZSBnRGVmYXVsdERPTVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWw7Ci0KICNpZiBVU0UoQVZGT1VOREFUSU9OKQogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBib29sIGdBVkZvdW5kYXRpb25FbmFibGVkOwogI2VuZGlmCkBAIC0zNDksOCAr
MzQxLDYgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
OwogI2VuZGlmCiAKLSAgICBzdGF0aWMgZG91YmxlIGdIaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1l
bnRJbnRlcnZhbDsKLQogICAgIHN0YXRpYyBib29sIGdMb3dQb3dlclZpZGVvQXVkaW9CdWZmZXJT
aXplRW5hYmxlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwCmluZGV4IDc0NzdhZDZjYzZmYmRiOGRkZGEyY2FiMzgxY2FhNTUwZGY2NGRkZjguLjJi
MWEyYTQ1YTJlMzRlNzRiZDA1OGM5NjEwMzlkM2MyNzQwODNiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNzgsNyArNzgsNyBAQCBJbnRlcm5h
bFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5ncyYgc2V0dGluZ3MpCiAgICAgLCBtX29y
aWdpbmFsTW9ja1Njcm9sbGJhcnNFbmFibGVkKHNldHRpbmdzLm1vY2tTY3JvbGxiYXJzRW5hYmxl
ZCgpKQogICAgICwgbV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxhbmdBdHRyaWJ1dGVBd2FyZUZv
cm1Db250cm9sVUlFbmFibGVkKCkpCiAgICAgLCBtX2ltYWdlc0VuYWJsZWQoc2V0dGluZ3MuYXJl
SW1hZ2VzRW5hYmxlZCgpKQotICAgICwgbV9taW5pbXVtVGltZXJJbnRlcnZhbChzZXR0aW5ncy5t
aW5ET01UaW1lckludGVydmFsKCkpCisgICAgLCBtX21pbmltdW1UaW1lckludGVydmFsKHNldHRp
bmdzLm1pbmltdW1ET01UaW1lckludGVydmFsKCkpCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQog
ICAgICwgbV9zaG91bGREaXNwbGF5U3VidGl0bGVzKHNldHRpbmdzLnNob3VsZERpc3BsYXlTdWJ0
aXRsZXMoKSkKICAgICAsIG1fc2hvdWxkRGlzcGxheUNhcHRpb25zKHNldHRpbmdzLnNob3VsZERp
c3BsYXlDYXB0aW9ucygpKQpAQCAtMTQ1LDcgKzE0NSw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5n
czo6QmFja3VwOjpyZXN0b3JlVG8oU2V0dGluZ3MmIHNldHRpbmdzKQogICAgIHNldHRpbmdzLnNl
dENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcobV9vcmlnaW5hbENhbnZhc1VzZXNBY2NlbGVy
YXRlZERyYXdpbmcpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQobV9sYW5nQXR0cmli
dXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCk7CiAgICAgc2V0dGluZ3Muc2V0SW1hZ2VzRW5h
YmxlZChtX2ltYWdlc0VuYWJsZWQpOwotICAgIHNldHRpbmdzLnNldE1pbkRPTVRpbWVySW50ZXJ2
YWwobV9taW5pbXVtVGltZXJJbnRlcnZhbCk7CisgICAgc2V0dGluZ3Muc2V0TWluaW11bURPTVRp
bWVySW50ZXJ2YWwobV9taW5pbXVtVGltZXJJbnRlcnZhbCk7CiAjaWYgRU5BQkxFKFZJREVPX1RS
QUNLKQogICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BsYXlTdWJ0aXRsZXMobV9zaG91bGREaXNw
bGF5U3VidGl0bGVzKTsKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5Q2FwdGlvbnMobV9z
aG91bGREaXNwbGF5Q2FwdGlvbnMpOwpAQCAtNDUwLDcgKzQ1MCw3IEBAIHZvaWQgSW50ZXJuYWxT
ZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQogdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUg
aW50ZXJ2YWxJblNlY29uZHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIEludGVybmFsU2V0
dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7Ci0gICAgc2V0dGluZ3MoKS0+c2V0TWluRE9NVGltZXJJ
bnRlcnZhbChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgc2V0dGluZ3MoKS0+c2V0TWluaW11bURP
TVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxJblNlY29uZHMpOwogfQogCiB2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldERlZmF1bHRWaWRlb1Bvc3RlclVSTChjb25zdCBTdHJpbmcmIHVybCwgRXhjZXB0
aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZGFmYjM4
MWZmYzAzYWJlZDdkNGQ3MTZmMTFjNWUwMzRmNDM3YWY1Ny4uZTVjNWYxZjExYmQ2ZDljNWY5M2Ri
NjI2YmE4ZTI0MTYxY2NmYTU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtOTI2LDggKzkyNiw2IEBAIHN0YXRpYyB2b2lkIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJv
dmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgICAgIFdlYktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlk
ZXJJZk5lY2Vzc2FyeSgpOwogI2VuZGlmCiAgICAgICAgIAotICAgICAgICBTZXR0aW5nczo6c2V0
RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoMC4wMDQpOwotICAgICAgICAKICAgICAgICAgU2V0
dGluZ3M6OnNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycyhzaG91
bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKSk7CiAKICNpZiBQTEFURk9S
TShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGU5MDVmODMwODdjZDQ3MTU5NWI3YTk2Nzhk
ZGY1NzcxODIwODE1YjEuLjRiNDNmODc4MWI1YmMyZWE2ODRlOGQ0M2Y1ZjIxMzVlZmVmNzgwMjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0yNzg4LDcgKzI3ODgsNiBAQCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYlZpZXc6OmluaXRXaXRoRnJhbWUoCiAKICAgICAgICAgV2ViS2l0SW5p
dGlhbGl6ZVdlYkRhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7CiAgICAgICAgIFdlYktpdFNldEFwcGxp
Y2F0aW9uQ2FjaGVQYXRoSWZOZWNlc3NhcnkoKTsKLSAgICAgICAgU2V0dGluZ3M6OnNldERlZmF1
bHRNaW5ET01UaW1lckludGVydmFsKDAuMDA0KTsKIAogICAgICAgICBkaWRPbmVUaW1lSW5pdGlh
bGl6YXRpb24gPSB0cnVlOwogICAgICB9CkBAIC02ODIzLDcgKzY4MjIsNyBAQCBIUkVTVUxUIFdl
YlZpZXc6OmRlZmF1bHRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUqIGludGVydmFsKQogewog
ICAgIGlmICghaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0gICAgKmludGVy
dmFsID0gU2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKCk7CisgICAgKmludGVy
dmFsID0gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKTsKICAgICByZXR1cm4gU19P
SzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDc2NjEyMTlkM2U4NzlmNDljZGM3MzE3YzFiYjBhYWU2ZjNlMjkzZTEuLjEwODczZGI0
YmY0M2Y5MDJmMTY3Y2ViMDZlNjQ4NDcyYzM4ZGQ1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM0Myw5ICszNDMsNiBAQCBXZWJQYWdl
OjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKICAgICAsIG1fc2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRz
KHRydWUpCiB7CiAgICAgQVNTRVJUKG1fcGFnZUlEKTsKLSAgICAvLyBGSVhNRTogVGhpcyBpcyBh
IG5vbi1pZGVhbCBsb2NhdGlvbiBmb3IgdGhpcyBTZXR0aW5nIGFuZAotICAgIC8vIDRtcyBzaG91
bGQgYmUgYWRvcHRlZCBwcm9qZWN0LXdpZGUgbm93LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjEyMTQKLSAgICBTZXR0aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRpbWVy
SW50ZXJ2YWwoMC4wMDQpOwogCiAgICAgbV9wYWdlR3JvdXAgPSBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS53ZWJQYWdlR3JvdXAocGFyYW1ldGVycy5wYWdlR3JvdXBEYXRhKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248982</attachid>
            <date>2015-03-18 16:32:10 -0700</date>
            <delta_ts>2015-03-19 11:35:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142837-20150318163138.patch</filename>
            <type>text/plain</type>
            <size>22836</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc2MGMxMGExZjZkMWY2
ZTUyNzQzMjM1MTljMGI2Mjc2MjM5ZWExMi4uYmY1YmM5ZDE3Zjg0NTM0NWMwZDc2NjllNTEyOWMy
ZGJkNzEyM2U0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTAzLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIg
cmVsYXRlZCBzZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQyODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIgcmVsYXRlZCBzZXR0aW5nczoKKyAgICAgICAgLSBN
YWtlIGRlZmF1bHQgbWluaW11bSB0aW1lciBpbnRlcnZhbCA0bXMgaW5zdGVhZCBvZiAxMG1zIGFz
IGFsbCBwb3J0cworICAgICAgICAgIHdlcmUgc2V0dGluZyBpdCB0byA0bXMgYW5kIHRoZSBzcGVj
aWZpY2F0aW9ucyBzYXlzIDRtcy4KKyAgICAgICAgLSBHZXQgcmlkIG9mIHNldHRlcnMgZm9yIGRl
ZmF1bHQgRE9NVGltZXIgaW50ZXJ2YWwgdmFsdWVzIGFzIHRoZXkgYXJlCisgICAgICAgICAgbm90
IHNldCBhbnltb3JlLgorICAgICAgICAtIE1vdmUgZGVmYXVsdCBET01UaW1lciBpbnRlcnZhbCB2
YWx1ZXMgZnJvbSBTZXR0aW5ncyB0byBET01UaW1lciBhcworICAgICAgICAgIHRob3NlIGFyZSBn
bG9iYWwgKG5vdCBwZXItcGFnZSkgYW5kIG5vdCByZWFsbHkgc2V0dGluZ3MuCisgICAgICAgIC0g
U3RvcCB1c2luZyBhYmJyZXZpYXRpb25zIGluIHRoZSBuYW1lcyAoZS5nLiBtaW4gLT4gbWluaW11
bSkuCisgICAgICAgIC0gTW92ZSBET01UaW1lciBzZXR0aW5ncyBtZW1iZXJzIGZyb20gUGFnZSB0
byBTZXR0aW5ncy4gVGhlcmUgaXMgbm8KKyAgICAgICAgICByZWFzb24gZm9yIHRob3NlIHRvIGJl
IHN0b3JlZCBvbiB0aGUgUGFnZS4gVGhlIGdldHRlcnMgd2VyZSBwcml2YXRlCisgICAgICAgICAg
c28gY2FsbC1zaXRlcyBoYWQgdG8gZ28gdmlhIFNldHRpbmdzIGFueXdheS4gQWxzbywgY2FsbC1z
aXRlcyBhbHJlYWR5CisgICAgICAgICAgaGFkIHRvIGRvIGEgbnVsbCBjaGVjayBvbiB0aGUgcGFn
ZSB0byBnZXQgdGhlIHNldHRpbmdzLiBJdCBzZWVtcworICAgICAgICAgIHVuZm9ydHVuYXRlIGZv
ciB0aGUgc2V0dGluZ3MgdG8gZG8gYW5vdGhlciBudWxsLWNoZWNrIG9uIHRoZSBwYWdlIGZvcgor
ICAgICAgICAgIHJldHJpZXZpbmcgdGhlIHNldHRpbmcgdmFsdWUgZnJvbSB0aGUgcGFnZS4KKyAg
ICAgICAgLSBJbmxpbmUgdGhlIERPTVRpbWVyIHNldHRpbmdzIGdldHRlcnMgYXMgdGhlc2UgYXJl
IHRyaXZpYWwuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nRW5h
YmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptaW5pbXVtVGltZXJJbnRlcnZhbCk6
IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojp0aW1lckFsaWdubWVudEludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudElu
dGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdl
RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5ET01UaW1lckludGVydmFsKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5ET01UaW1lckludGVydmFs
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXREZWZhdWx0RE9NVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpt
aW5pbXVtRE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZG9t
VGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFj
a3VwKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9y
ZVRvKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1l
ckludGVydmFsKToKKwogMjAxNS0wMy0xOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBBdm9pZCByZXBhaW50cyB3aGVuIGNoYW5naW5nIHRyYW5zZm9y
bSBvbiBhbiBlbGVtZW50IHdpdGggbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCAxMmYzMTBiYjQ4NGEzNGE5YzA0ZTg2MGY0NmJmZDViZTliYjljMGI0Li5jMTZh
NTVjZGQwOGYyNTYzY2UzMDU2ZDllMWUzNDk4YzViNGFkNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTUtMDMtMTggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBDbGVhbiB1cCBET01UaW1lciByZWxhdGVkIHNldHRpbmdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4MzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHNldHRpbmcgdGhl
IERPTVRpbWVycycgZGVmYXVsdCBtaW5pbXVtIGludGVydmFsIHRvIDRtcyBhcyB0aGlzCisgICAg
ICAgIGlzIG5vdyB0aGUgZGVmYXVsdC4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdy
b3VwTmFtZTpdKToKKwogMjAxNS0wMy0xNyAgQ29ucmFkIFNodWx0eiAgPGNvbnJhZF9zaHVsdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIElnbm9yZSBzb21lIGRlcHJlY2F0aW9uIHdhcm5pbmdzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKaW5kZXggZTM2ODc4ZGJiNDU1ZDdjMmVhNTM3YWQ1MjkwMzU0NzBjNmIxZDFk
Yi4uODZiMjY5MjI4NTViY2MyYzg1OGJlZmZlMjM0MjEwNWIzNWFmZDJlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAzLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIgcmVsYXRlZCBzZXR0aW5ncwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyODM3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3RvcCBzZXR0
aW5nIHRoZSBET01UaW1lcnMnIGRlZmF1bHQgbWluaW11bSBpbnRlcnZhbCB0byA0bXMgYXMgdGhp
cworICAgICAgICBpcyBub3cgdGhlIGRlZmF1bHQuCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorICAgICAgICAoV2ViVmlldzo6ZGVm
YXVsdE1pbmltdW1UaW1lckludGVydmFsKToKKwogMjAxNS0wMy0xNiAgQ29ucmFkIFNodWx0eiAg
PGNvbnJhZF9zaHVsdHpAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IGNsaWVudHMgdG8gc2Vs
ZWN0aXZlbHkgZGlzYWJsZSBwbHVnLWlucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk5Y2I4NzZlOTcyMDNkNDIz
NjhlM2NjZWFkZWVlMWQ4N2M2NjNkYjYuLjJjNWYxMjhkOWQwNzliYzQ0OGYwMWVmNzc4NWM4NGI0
OTA1ODliN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0wMy0xOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIERPTVRpbWVyIHJl
bGF0ZWQgc2V0dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MjgzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFN0b3Agc2V0dGluZyB0aGUgRE9NVGltZXJzJyBkZWZhdWx0IG1pbmltdW0gaW50ZXJ2
YWwgdG8gNG1zIGFzIHRoaXMKKyAgICAgICAgaXMgbm93IHRoZSBkZWZhdWx0LgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpXZWJQYWdlKToKKwogMjAxNS0wMy0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlIEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMDIzMGE1YWZlYzdmNTNjYzI2ZGM5MGMwMTBk
MmNhMjYwZDI0NjU0Yy4uZTg3MmRmNTZjYjQzMGFhZGM2NDQ1Zjc5MTAwZjQyNDg5YTJjZGRkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yNzI4LDE4ICsyNzI4LDE4IEBAIHZvaWQgRG9j
dW1lbnQ6OndyaXRlbG4oY29uc3QgU3RyaW5nJiB0ZXh0LCBEb2N1bWVudCogb3duZXJEb2N1bWVu
dCkKIAogZG91YmxlIERvY3VtZW50OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7Ci0g
ICAgUGFnZSogcCA9IHBhZ2UoKTsKLSAgICBpZiAoIXApCisgICAgUGFnZSogcGFnZSA9IHRoaXMt
PnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpOwotICAgIHJldHVybiBwLT5zZXR0aW5ncygp
Lm1pbkRPTVRpbWVySW50ZXJ2YWwoKTsKKyAgICByZXR1cm4gcGFnZS0+c2V0dGluZ3MoKS5taW5p
bXVtRE9NVGltZXJJbnRlcnZhbCgpOwogfQogCiBkb3VibGUgRG9jdW1lbnQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKSBjb25zdAogewotICAgIFBhZ2UqIHAgPSBwYWdlKCk7Ci0gICAgaWYgKCFw
KQorICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQogICAgICAg
ICByZXR1cm4gU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCgp
OwotICAgIHJldHVybiBwLT5zZXR0aW5ncygpLmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsK
KyAgICByZXR1cm4gcGFnZS0+c2V0dGluZ3MoKS5kb21UaW1lckFsaWdubWVudEludGVydmFsKCk7
CiB9CiAKIEV2ZW50VGFyZ2V0KiBEb2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggZmMyMzc2MTFj
NDMyMzgxNjQwYjczY2I0MjMwM2E5YjdmM2Y0MWZmYS4uYTQ4ZGIzNGNiY2Q1ZDY2M2UzOTI2MTIx
NWUxNjE2OWViZmRkMjQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcApAQCAtNDM0LDcgKzQzNCw3IEBAIGRvdWJsZSBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiAgICAgLy8gd29ya2Vycywgd2Ug
d2lsbCBoYXZlIHRvIG92ZXJyaWRlIGl0IGluIHRoZSBhcHByb3ByaWF0ZQogICAgIC8vIHN1YmNs
YXNzLCBhbmQgcHJvdmlkZSBhIHdheSB0byBlbnVtZXJhdGUgYSBEb2N1bWVudCdzIGRlZGljYXRl
ZAogICAgIC8vIHdvcmtlcnMgc28gd2UgY2FuIHVwZGF0ZSB0aGVtIGFsbC4KLSAgICByZXR1cm4g
U2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKCk7CisgICAgcmV0dXJuIERPTVRp
bWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCk7CiB9CiAKIHZvaWQgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6ZGlkQ2hhbmdlVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCkBAIC00NDUsNyArNDQ1
LDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpkaWRDaGFuZ2VUaW1lckFsaWdubWVu
dEludGVydmFsKCkKIAogZG91YmxlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKSBjb25zdAogewotICAgIHJldHVybiBTZXR0aW5nczo6ZGVmYXVsdERPTVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKKyAgICByZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGln
bm1lbnRJbnRlcnZhbCgpOwogfQogCiBKU0M6OlZNJiBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp2
bSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IDVhNDdlMmM4MzA4MWMyMDM5ZGNiOTll
YWVjN2U0NmRlZTliNDc0Y2YuLjFkOWE2M2VhNTVkYjViMzliY2FkZjdhOTU1ODRkNzVlNjBlOGUy
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCkBAIC01Nyw2ICs1NywxMCBAQCBzdGF0aWMg
Y29uc3QgaW50IG1pbkludGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAx
MDAwOyAvLyBFbXBpcmljYQogc3RhdGljIGNvbnN0IGludCBtYXhUaW1lck5lc3RpbmdMZXZlbCA9
IDU7CiBzdGF0aWMgY29uc3QgZG91YmxlIG9uZU1pbGxpc2Vjb25kID0gMC4wMDE7CiAKK2NvbnN0
IGRvdWJsZSBET01UaW1lcjo6Z0RlZmF1bHRNaW5pbXVtSW50ZXJ2YWwgPSAwLjAwNDsgLy8gNCBt
aWxsaXNlY29uZHMuCitjb25zdCBkb3VibGUgRE9NVGltZXI6OmdEZWZhdWx0QWxpZ25tZW50SW50
ZXJ2YWwgPSAwOworY29uc3QgZG91YmxlIERPTVRpbWVyOjpnSGlkZGVuUGFnZUFsaWdubWVudElu
dGVydmFsID0gMS4wOyAvLyAxIHNlY29uZC4KKwogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUgewog
cHVibGljOgogICAgIGV4cGxpY2l0IERPTVRpbWVyRmlyZVN0YXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggNjkxYzViMDQ1YjNlNzE4
NjEwOTg4OTc0ZTAxYzE1NWZmNTE4Njc1MC4uY2UwZmVkOTU3Nzc1ZWViOTY3MTdhYzllMDM5ZDNj
NWY1MWQ5YzQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDgsNiArNDgsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+RE9NVGltZXIo
KTsKIAorICAgICAgICBzdGF0aWMgZG91YmxlIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJl
dHVybiBnRGVmYXVsdE1pbmltdW1JbnRlcnZhbDsgfQorICAgICAgICBzdGF0aWMgZG91YmxlIGhp
ZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIGdIaWRkZW5QYWdlQWxpZ25tZW50
SW50ZXJ2YWw7IH0KKyAgICAgICAgc3RhdGljIGRvdWJsZSBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2
YWwoKSB7IHJldHVybiBnRGVmYXVsdEFsaWdubWVudEludGVydmFsOyB9CisKICAgICAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgICAgIC8vIGFuZCByZXR1cm5zIGl0cyBJZC4KICAgICAgICAg
c3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9w
dHI8U2NoZWR1bGVkQWN0aW9uPiwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CkBAIC05
OSw2ICsxMDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBzdGlsbCBuZWVk
IHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgZWxlbWVudHMgZ2V0IGRlc3Ryb3llZCBhZnRlcgog
ICAgICAgICAvLyB0aGUgdGltZXIgaGFzIGZpcmVkLgogICAgICAgICBWZWN0b3I8V2Vha1B0cjxF
bGVtZW50Pj4gbV9lbGVtZW50c0NhdXNpbmdUaHJvdHRsaW5nOworCisgICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgZ0RlZmF1bHRNaW5pbXVtSW50ZXJ2YWw7CisgICAgICAgIHN0YXRpYyBjb25z
dCBkb3VibGUgZ0RlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICAgICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBnSGlkZGVuUGFnZUFsaWdubWVudEludGVydmFsOwogICAgIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDllMWM1MTk2OGI5NGZlMzgzZTIz
MWJjODUyZjk1ZDQwYjJiZjZkZWUuLjNkY2E3ODQ2ZjI0NmNlZTQ1MDA3ZWVjMTlhYWU5Yzc2YzAz
NDdjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTg3LDkgKzE4Nyw3IEBAIFBhZ2U6OlBhZ2Uo
UGFnZUNvbmZpZ3VyYXRpb24mIHBhZ2VDb25maWd1cmF0aW9uKQogI2lmIEVOQUJMRShWSUVXX01P
REVfQ1NTX01FRElBKQogICAgICwgbV92aWV3TW9kZShWaWV3TW9kZVdpbmRvd2VkKQogI2VuZGlm
IC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQotICAgICwgbV9taW5pbXVtVGltZXJJbnRl
cnZhbChTZXR0aW5nczo6ZGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoKSkKICAgICAsIG1fdGlt
ZXJUaHJvdHRsaW5nRW5hYmxlZChmYWxzZSkKLSAgICAsIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZh
bChTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSkKICAgICAsIG1f
aXNFZGl0YWJsZShmYWxzZSkKICAgICAsIG1faXNQcmVyZW5kZXIoZmFsc2UpCiAgICAgLCBtX3Zp
ZXdTdGF0ZShQYWdlSW5pdGlhbFZpZXdTdGF0ZSkKQEAgLTExMjgsMjEgKzExMjYsNiBAQCB2b2lk
IFBhZ2U6OnNldE1lbW9yeUNhY2hlQ2xpZW50Q2FsbHNFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAg
ICAgICAgZnJhbWUtPmxvYWRlcigpLnRlbGxDbGllbnRBYm91dFBhc3RNZW1vcnlDYWNoZUxvYWRz
KCk7CiB9CiAKLXZvaWQgUGFnZTo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIG1pbmlt
dW1UaW1lckludGVydmFsKQotewotICAgIGRvdWJsZSBvbGRUaW1lckludGVydmFsID0gbV9taW5p
bXVtVGltZXJJbnRlcnZhbDsKLSAgICBtX21pbmltdW1UaW1lckludGVydmFsID0gbWluaW11bVRp
bWVySW50ZXJ2YWw7Ci0gICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1l
OyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0V2l0aFdyYXAoZmFsc2UpKSB7Ci0g
ICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5hZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChvbGRUaW1lckludGVydmFsKTsKLSAgICB9
Ci19Ci0KLWRvdWJsZSBQYWdlOjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fbWluaW11bVRpbWVySW50ZXJ2YWw7Ci19Ci0KIHZvaWQgUGFnZTo6aGlkZGVuUGFn
ZURPTVRpbWVyVGhyb3R0bGluZ1N0YXRlQ2hhbmdlZCgpCiB7CiAgICAgc2V0VGltZXJUaHJvdHRs
aW5nRW5hYmxlZChtX3ZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNWaXN1YWxseUlkbGUpOwpAQCAt
MTE1OSw3ICsxMTQyLDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdFbmFibGVkKGJv
b2wgZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90aW1lclRocm90dGxpbmdFbmFi
bGVkID0gZW5hYmxlZDsKLSAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBlbmFibGVkID8g
U2V0dGluZ3M6OmhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsKCkgOiBTZXR0aW5n
czo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKKyAgICBtX3NldHRpbmdzLT5z
ZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGVuYWJsZWQgPyBET01UaW1lcjo6aGlkZGVuUGFn
ZUFsaWdubWVudEludGVydmFsKCkgOiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFs
KCkpOwogICAgIAogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1haW5GcmFtZSgpOyBmcmFtZTsg
ZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dFdpdGhXcmFwKGZhbHNlKSkgewogICAg
ICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGFmZDVkYzA1MDUz
ODg1YWIyYzkzZWZkYTZkMzhmMGFiNDE1MmUxZjIuLjYyYTczYTc2NDJlZmE2Yjc0NzFjY2M5NmNl
OTcwNmVjODI4OWRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC00NTQsMTEgKzQ1NCw2IEBAIHByaXZh
dGU6CiAKICAgICBNZWRpYUNhblN0YXJ0TGlzdGVuZXIqIHRha2VBbnlNZWRpYUNhblN0YXJ0TGlz
dGVuZXIoKTsKIAotICAgIHZvaWQgc2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlKTsKLSAg
ICBkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKLQotICAgIGRvdWJsZSB0aW1l
ckFsaWdubWVudEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV90aW1lckFsaWdubWVudEludGVy
dmFsOyB9Ci0KICAgICBWZWN0b3I8UmVmPFBsdWdpblZpZXdCYXNlPj4gcGx1Z2luVmlld3MoKTsK
IAogICAgIHZvaWQgaGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ1N0YXRlQ2hhbmdlZCgpOwpA
QCAtNTQ2LDEwICs1NDEsNyBAQCBwcml2YXRlOgogICAgIFZpZXdNb2RlIG1fdmlld01vZGU7CiAj
ZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAKLSAgICBkb3VibGUgbV9taW5p
bXVtVGltZXJJbnRlcnZhbDsKLQogICAgIGJvb2wgbV90aW1lclRocm90dGxpbmdFbmFibGVkOwot
ICAgIGRvdWJsZSBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAKICAgICBib29sIG1faXNFZGl0
YWJsZTsKICAgICBib29sIG1faXNQcmVyZW5kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmlu
ZGV4IGNjZmM3Yjk3YjA3MmZmOGI2Y2NjMWRmOTI1MDU1MmJkZDQ4NmIwZjcuLjEyNGRkYjk1MjJh
OTJhMjU3NGQ2MThjYjk2Njk4OWYzNmZmYjBiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CkBAIC02OSwxMCArNjksNiBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkYXRlQWZ0ZXJHZW5lcmljRmFt
aWx5Q2hhbmdlKFBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJ
bkFsbEZyYW1lcygpOwogfQogCi1kb3VibGUgU2V0dGluZ3M6OmdEZWZhdWx0TWluRE9NVGltZXJJ
bnRlcnZhbCA9IDAuMDEwOyAvLyAxMCBtaWxsaXNlY29uZHMKLWRvdWJsZSBTZXR0aW5nczo6Z0Rl
ZmF1bHRET01UaW1lckFsaWdubWVudEludGVydmFsID0gMDsKLWRvdWJsZSBTZXR0aW5nczo6Z0hp
ZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsID0gMS4wOwotCiAjaWYgVVNFKEFWRk9V
TkRBVElPTikKIGJvb2wgU2V0dGluZ3M6OmdBVkZvdW5kYXRpb25FbmFibGVkID0gZmFsc2U7CiAj
ZW5kaWYKQEAgLTE2Myw2ICsxNTksOCBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkK
ICAgICAsIG1fZm9udEdlbmVyaWNGYW1pbGllcyhzdGQ6Om1ha2VfdW5pcXVlPEZvbnRHZW5lcmlj
RmFtaWxpZXM+KCkpCiAgICAgLCBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeShTZWN1cml0eU9yaWdp
bjo6QWxsb3dBbGxTdG9yYWdlKQogICAgICwgbV9sYXlvdXRJbnRlcnZhbChsYXlvdXRTY2hlZHVs
ZVRocmVzaG9sZCkKKyAgICAsIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwoRE9NVGltZXI6OmRl
ZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSkKKyAgICAsIG1fZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZh
bChET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCkpCiAjaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKICAgICAsIG1fdGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3IoMSkKICNp
ZiBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QCkBAIC0yMTUsMTYgKzIxMyw2
IEBAIFBhc3NSZWZQdHI8U2V0dGluZ3M+IFNldHRpbmdzOjpjcmVhdGUoUGFnZSogcGFnZSkKIAog
U0VUVElOR1NfU0VUVEVSX0JPRElFUwogCi12b2lkIFNldHRpbmdzOjpzZXRIaWRkZW5QYWdlRE9N
VGltZXJBbGlnbm1lbnRJbnRlcnZhbChkb3VibGUgaGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50
aW50ZXJ2YWwpCi17Ci0gICAgZ0hpZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsID0g
aGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50aW50ZXJ2YWw7Ci19Ci0KLWRvdWJsZSBTZXR0aW5n
czo6aGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKQotewotICAgIHJldHVybiBn
SGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7Ci19Ci0KICNpZiAhUExBVEZPUk0o
Q09DT0EpCiB2b2lkIFNldHRpbmdzOjppbml0aWFsaXplRGVmYXVsdEZvbnRGYW1pbGllcygpCiB7
CkBAIC00NTAsNDQgKzQzOCwyMyBAQCB2b2lkIFNldHRpbmdzOjpzZXROZWVkc0Fkb2JlRnJhbWVS
ZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElGcmFtZXNGb3JVbgogICAgIG1fbmVl
ZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5j
aGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXREZWZhdWx0TWluRE9NVGltZXJJbnRl
cnZhbChkb3VibGUgaW50ZXJ2YWwpCi17Ci0gICAgZ0RlZmF1bHRNaW5ET01UaW1lckludGVydmFs
ID0gaW50ZXJ2YWw7Ci19Ci0KLWRvdWJsZSBTZXR0aW5nczo6ZGVmYXVsdE1pbkRPTVRpbWVySW50
ZXJ2YWwoKQotewotICAgIHJldHVybiBnRGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWw7Ci19Ci0K
LXZvaWQgU2V0dGluZ3M6OnNldE1pbkRPTVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQor
dm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFs
KQogewotICAgIGlmIChtX3BhZ2UpCi0gICAgICAgIG1fcGFnZS0+c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwoaW50ZXJ2YWwpOwotfQorICAgIGRvdWJsZSBvbGRUaW1lckludGVydmFsID0gbV9taW5p
bXVtRE9NVGltZXJJbnRlcnZhbDsKKyAgICBtX21pbmltdW1ET01UaW1lckludGVydmFsID0gaW50
ZXJ2YWw7CiAKLWRvdWJsZSBTZXR0aW5nczo6bWluRE9NVGltZXJJbnRlcnZhbCgpCi17CiAgICAg
aWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBtX3BhZ2UtPm1pbmlt
dW1UaW1lckludGVydmFsKCk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldERlZmF1bHRET01UaW1l
ckFsaWdubWVudEludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkKLXsKLSAgICBnRGVmYXVsdERPTVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBpbnRlcnZhbDsKLX0KKyAgICAgICAgcmV0dXJuOwogCi1k
b3VibGUgU2V0dGluZ3M6OmRlZmF1bHRET01UaW1lckFsaWdubWVudEludGVydmFsKCkKLXsKLSAg
ICByZXR1cm4gZ0RlZmF1bHRET01UaW1lckFsaWdubWVudEludGVydmFsOworICAgIGZvciAoRnJh
bWUqIGZyYW1lID0gJm1fcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50
cmVlKCkudHJhdmVyc2VOZXh0V2l0aFdyYXAoZmFsc2UpKSB7CisgICAgICAgIGlmIChmcmFtZS0+
ZG9jdW1lbnQoKSkKKyAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hZGp1c3RNaW5pbXVt
VGltZXJJbnRlcnZhbChvbGRUaW1lckludGVydmFsKTsKKyAgICB9CiB9CiAKLWRvdWJsZSBTZXR0
aW5nczo6ZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpIGNvbnN0Cit2b2lkIFNldHRpbmdzOjpz
ZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSBhbGlnbm1lbnRJbnRlcnZhbCkKIHsK
LSAgICBpZiAoIW1fcGFnZSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIG1fcGFnZS0+
dGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOworICAgIG1fZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZh
bCA9IGFsaWdubWVudEludGVydmFsOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRMYXlvdXRJbnRl
cnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxheW91dEludGVydmFsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCmluZGV4IDA0NDNkYzkyMzRlMzdiNTQ0MTgzZTNjNmY3ODAwZGE1ZTQ5OWFmYzEu
LjNkZGRlYTYzNzQ1ODdiZTlkOTEwZmE4NWY3ZTEzYWY1Y2JmNDkxNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKQEAgLTE2MywxOSArMTYzLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAgIGJvb2wg
bmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNB
ZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2
b2lkIHNldERlZmF1bHRNaW5ET01UaW1lckludGVydmFsKGRvdWJsZSk7IC8vIEludGVydmFsIHNw
ZWNpZmllZCBpbiBzZWNvbmRzLgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBkb3VibGUgZGVm
YXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoKTsKLSAgICAgICAgCi0gICAgc3RhdGljIHZvaWQgc2V0
SGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlKTsgLy8gSW50ZXJ2YWwg
c3BlY2lmaWVkIGluIHNlY29uZHMuCi0gICAgc3RhdGljIGRvdWJsZSBoaWRkZW5QYWdlRE9NVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpOwotCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNaW5E
T01UaW1lckludGVydmFsKGRvdWJsZSk7IC8vIFBlci1wYWdlOyBpbml0aWFsaXplZCB0byBkZWZh
dWx0IHZhbHVlLgotICAgIFdFQkNPUkVfRVhQT1JUIGRvdWJsZSBtaW5ET01UaW1lckludGVydmFs
KCk7Ci0KLSAgICBzdGF0aWMgdm9pZCBzZXREZWZhdWx0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZh
bChkb3VibGUpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBkb3VibGUgZGVmYXVsdERPTVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmlt
dW1ET01UaW1lckludGVydmFsKGRvdWJsZSk7IC8vIFBlci1wYWdlOyBpbml0aWFsaXplZCB0byBk
ZWZhdWx0IHZhbHVlLgorICAgIFdFQkNPUkVfRVhQT1JUIGRvdWJsZSBtaW5pbXVtRE9NVGltZXJJ
bnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KIAot
ICAgIGRvdWJsZSBkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3Q7CisgICAgdm9pZCBz
ZXRET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSk7CisgICAgZG91YmxlIGRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2RvbVRpbWVyQWxpZ25tZW50SW50
ZXJ2YWw7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5b3V0SW50ZXJ2YWwoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CiAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBs
YXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0SW50ZXJ2YWw7IH0KQEAgLTI4
Myw2ICsyNzUsOSBAQCBwcml2YXRlOgogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxGb250R2Vu
ZXJpY0ZhbWlsaWVzPiBtX2ZvbnRHZW5lcmljRmFtaWxpZXM7CiAgICAgU2VjdXJpdHlPcmlnaW46
OlN0b3JhZ2VCbG9ja2luZ1BvbGljeSBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeTsKICAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbGF5b3V0SW50ZXJ2YWw7CisgICAgZG91YmxlIG1fbWlu
aW11bURPTVRpbWVySW50ZXJ2YWw7CisgICAgZG91YmxlIG1fZG9tVGltZXJBbGlnbm1lbnRJbnRl
cnZhbDsKKwogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgICAgZmxvYXQgbV90ZXh0QXV0
b3NpemluZ0ZvbnRTY2FsZUZhY3RvcjsKICAgICBJbnRTaXplIG1fdGV4dEF1dG9zaXppbmdXaW5k
b3dTaXplT3ZlcnJpZGU7CkBAIC0zMjAsOSArMzE1LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
aGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkIDogMTsKICAgICBib29sIG1f
Zm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzIDogMTsKIAotICAgIHN0YXRpYyBkb3VibGUg
Z0RlZmF1bHRNaW5ET01UaW1lckludGVydmFsOwotICAgIHN0YXRpYyBkb3VibGUgZ0RlZmF1bHRE
T01UaW1lckFsaWdubWVudEludGVydmFsOwotCiAjaWYgVVNFKEFWRk9VTkRBVElPTikKICAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBnQVZGb3VuZGF0aW9uRW5hYmxlZDsKICNlbmRpZgpA
QCAtMzQ5LDggKzM0MSw2IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fbWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeTsKICNlbmRpZgogCi0gICAgc3RhdGljIGRvdWJsZSBnSGlkZGVuUGFnZURPTVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7Ci0KICAgICBzdGF0aWMgYm9vbCBnTG93UG93ZXJWaWRlb0F1
ZGlvQnVmZmVyU2l6ZUVuYWJsZWQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmNwcAppbmRleCA3NDc3YWQ2Y2M2ZmJkYjhkZGRhMmNhYjM4MWNhYTU1MGRm
NjRkZGY4Li4yYjFhMmE0NWEyZTM0ZTc0YmQwNThjOTYxMDM5ZDNjMjc0MDgzYmI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTc4LDcgKzc4LDcg
QEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQog
ICAgICwgbV9vcmlnaW5hbE1vY2tTY3JvbGxiYXJzRW5hYmxlZChzZXR0aW5ncy5tb2NrU2Nyb2xs
YmFyc0VuYWJsZWQoKSkKICAgICAsIG1fbGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVu
YWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYW5nQXR0cmli
dXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZCgpKQogICAgICwgbV9pbWFnZXNFbmFibGVkKHNl
dHRpbmdzLmFyZUltYWdlc0VuYWJsZWQoKSkKLSAgICAsIG1fbWluaW11bVRpbWVySW50ZXJ2YWwo
c2V0dGluZ3MubWluRE9NVGltZXJJbnRlcnZhbCgpKQorICAgICwgbV9taW5pbXVtVGltZXJJbnRl
cnZhbChzZXR0aW5ncy5taW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpKQogI2lmIEVOQUJMRShWSURF
T19UUkFDSykKICAgICAsIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlcyhzZXR0aW5ncy5zaG91bGRE
aXNwbGF5U3VidGl0bGVzKCkpCiAgICAgLCBtX3Nob3VsZERpc3BsYXlDYXB0aW9ucyhzZXR0aW5n
cy5zaG91bGREaXNwbGF5Q2FwdGlvbnMoKSkKQEAgLTE0NSw3ICsxNDUsNyBAQCB2b2lkIEludGVy
bmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICAgICBz
ZXR0aW5ncy5zZXRDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nKG1fb3JpZ2luYWxDYW52YXNV
c2VzQWNjZWxlcmF0ZWREcmF3aW5nKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKG1f
bGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQpOwogICAgIHNldHRpbmdzLnNl
dEltYWdlc0VuYWJsZWQobV9pbWFnZXNFbmFibGVkKTsKLSAgICBzZXR0aW5ncy5zZXRNaW5ET01U
aW1lckludGVydmFsKG1fbWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHNldHRpbmdzLnNldE1p
bmltdW1ET01UaW1lckludGVydmFsKG1fbWluaW11bVRpbWVySW50ZXJ2YWwpOwogI2lmIEVOQUJM
RShWSURFT19UUkFDSykKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwbGF5U3VidGl0bGVzKG1f
c2hvdWxkRGlzcGxheVN1YnRpdGxlcyk7CiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGxheUNh
cHRpb25zKG1fc2hvdWxkRGlzcGxheUNhcHRpb25zKTsKQEAgLTQ1MCw3ICs0NTAsNyBAQCB2b2lk
IEludGVybmFsU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRp
b25Db2RlJiBlYykKIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2
YWwoZG91YmxlIGludGVydmFsSW5TZWNvbmRzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBJ
bnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOwotICAgIHNldHRpbmdzKCktPnNldE1p
bkRPTVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxJblNlY29uZHMpOworICAgIHNldHRpbmdzKCktPnNl
dE1pbmltdW1ET01UaW1lckludGVydmFsKGludGVydmFsSW5TZWNvbmRzKTsKIH0KIAogdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpzZXREZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoY29uc3QgU3RyaW5nJiB1
cmwsIEV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IGRhZmIzODFmZmMwM2FiZWQ3ZDRkNzE2ZjExYzVlMDM0ZjQzN2FmNTcuLmU1YzVmMWYxMWJk
NmQ5YzVmOTNkYjYyNmJhOGUyNDE2MWNjZmE1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTkyNiw4ICs5MjYsNiBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXpl
R2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQogICAgICAgICBXZWJLaXRJbml0aWFsaXplR2Ft
ZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKTsKICNlbmRpZgogICAgICAgICAKLSAgICAgICAgU2V0
dGluZ3M6OnNldERlZmF1bHRNaW5ET01UaW1lckludGVydmFsKDAuMDA0KTsKLSAgICAgICAgCiAg
ICAgICAgIFNldHRpbmdzOjpzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNl
dHRlcnMoc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCkpOwogCiAj
aWYgUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBlOTA1ZjgzMDg3Y2Q0NzE1
OTViN2E5Njc4ZGRmNTc3MTgyMDgxNWIxLi41YTZmNDA5ZTE0MjRkZDUxODMxZmNhNWY5MDVkMjZl
ODljMWQxNzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtMjc4OCw3ICsyNzg4LDYgQEAgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKAogCiAgICAgICAg
IFdlYktpdEluaXRpYWxpemVXZWJEYXRhYmFzZXNJZk5lY2Vzc2FyeSgpOwogICAgICAgICBXZWJL
aXRTZXRBcHBsaWNhdGlvbkNhY2hlUGF0aElmTmVjZXNzYXJ5KCk7Ci0gICAgICAgIFNldHRpbmdz
OjpzZXREZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgwLjAwNCk7CiAKICAgICAgICAgZGlkT25l
VGltZUluaXRpYWxpemF0aW9uID0gdHJ1ZTsKICAgICAgfQpAQCAtNjgyMywxMyArNjgyMiwxMyBA
QCBIUkVTVUxUIFdlYlZpZXc6OmRlZmF1bHRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUqIGlu
dGVydmFsKQogewogICAgIGlmICghaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7
Ci0gICAgKmludGVydmFsID0gU2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKCk7
CisgICAgKmludGVydmFsID0gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKTsKICAg
ICByZXR1cm4gU19PSzsKIH0KIAogSFJFU1VMVCBXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRl
cnZhbChkb3VibGUgaW50ZXJ2YWwpCiB7Ci0gICAgcGFnZSgpLT5zZXR0aW5ncygpLnNldE1pbkRP
TVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5p
bXVtRE9NVGltZXJJbnRlcnZhbChpbnRlcnZhbCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA3NjYx
MjE5ZDNlODc5ZjQ5Y2RjNzMxN2MxYmIwYWFlNmYzZTI5M2UxLi4xMDg3M2RiNGJmNDNmOTAyZjE2
N2NlYjA2ZTY0ODQ3MmMzOGRkNWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zNDMsOSArMzQzLDYgQEAgV2ViUGFnZTo6V2ViUGFnZSh1
aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiAgICAgLCBtX3Nob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyh0cnVlKQogewog
ICAgIEFTU0VSVChtX3BhZ2VJRCk7Ci0gICAgLy8gRklYTUU6IFRoaXMgaXMgYSBub24taWRlYWwg
bG9jYXRpb24gZm9yIHRoaXMgU2V0dGluZyBhbmQKLSAgICAvLyA0bXMgc2hvdWxkIGJlIGFkb3B0
ZWQgcHJvamVjdC13aWRlIG5vdywgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYxMjE0Ci0gICAgU2V0dGluZ3M6OnNldERlZmF1bHRNaW5ET01UaW1lckludGVydmFsKDAu
MDA0KTsKIAogICAgIG1fcGFnZUdyb3VwID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViUGFn
ZUdyb3VwKHBhcmFtZXRlcnMucGFnZUdyb3VwRGF0YSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249038</attachid>
            <date>2015-03-19 11:35:49 -0700</date>
            <delta_ts>2015-03-19 12:23:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142837-20150319113516.patch</filename>
            <type>text/plain</type>
            <size>21904</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk1MjNmMDQyNzE5ZmFm
Njk0OTJhMDg2N2ZkZDc5NGE3ZGU1NTkxZC4uMjEzOGM2OTA5MTA5ZGRkZjJhOTBkNzIxZDg2NWI0
MWUzMGUyNjAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTAzLTE5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgRE9NVGltZXIg
cmVsYXRlZCBzZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQyODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgQ2xlYW4gdXAgRE9NVGltZXIgcmVsYXRlZCBzZXR0aW5nczoKKyAgICAgICAgLSBNYWtl
IGRlZmF1bHQgbWluaW11bSB0aW1lciBpbnRlcnZhbCA0bXMgaW5zdGVhZCBvZiAxMG1zIGFzIGFs
bCBwb3J0cworICAgICAgICAgIHdlcmUgc2V0dGluZyBpdCB0byA0bXMgYW5kIHRoZSBzcGVjaWZp
Y2F0aW9ucyBzYXlzIDRtcy4KKyAgICAgICAgLSBHZXQgcmlkIG9mIHNldHRlcnMgZm9yIGRlZmF1
bHQgRE9NVGltZXIgaW50ZXJ2YWwgdmFsdWVzIGFzIHRoZXkgYXJlCisgICAgICAgICAgbm90IHNl
dCBhbnltb3JlLgorICAgICAgICAtIE1vdmUgZGVmYXVsdCBET01UaW1lciBpbnRlcnZhbCB2YWx1
ZXMgZnJvbSBTZXR0aW5ncyB0byBET01UaW1lciBhcworICAgICAgICAgIHRob3NlIGFyZSBnbG9i
YWwgKG5vdCBwZXItcGFnZSkgYW5kIG5vdCByZWFsbHkgc2V0dGluZ3MuCisgICAgICAgIC0gU3Rv
cCB1c2luZyBhYmJyZXZpYXRpb25zIGluIHRoZSBuYW1lcyAoZS5nLiBtaW4gLT4gbWluaW11bSku
CisgICAgICAgIC0gTW92ZSBET01UaW1lciBzZXR0aW5ncyBtZW1iZXJzIGZyb20gUGFnZSB0byBT
ZXR0aW5ncy4gVGhlcmUgaXMgbm8KKyAgICAgICAgICByZWFzb24gZm9yIHRob3NlIHRvIGJlIHN0
b3JlZCBvbiB0aGUgUGFnZS4gVGhlIGdldHRlcnMgd2VyZSBwcml2YXRlCisgICAgICAgICAgc28g
Y2FsbC1zaXRlcyBoYWQgdG8gZ28gdmlhIFNldHRpbmdzIGFueXdheS4gQWxzbywgY2FsbC1zaXRl
cyBhbHJlYWR5CisgICAgICAgICAgaGFkIHRvIGRvIGEgbnVsbCBjaGVjayBvbiB0aGUgcGFnZSB0
byBnZXQgdGhlIHNldHRpbmdzLiBJdCBzZWVtcworICAgICAgICAgIHVuZm9ydHVuYXRlIGZvciB0
aGUgc2V0dGluZ3MgdG8gZG8gYW5vdGhlciBudWxsLWNoZWNrIG9uIHRoZSBwYWdlIGZvcgorICAg
ICAgICAgIHJldHJpZXZpbmcgdGhlIHNldHRpbmcgdmFsdWUgZnJvbSB0aGUgcGFnZS4KKyAgICAg
ICAgLSBJbmxpbmUgdGhlIERPTVRpbWVyIHNldHRpbmdzIGdldHRlcnMgYXMgdGhlc2UgYXJlIHRy
aXZpYWwuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRp
b25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL0RPTVRp
bWVyLmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdlOjptaW5pbXVtVGltZXJJbnRlcnZhbCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjp0
aW1lckFsaWdubWVudEludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVy
dmFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpoaWRkZW5QYWdlRE9N
VGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXR0
aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OmRlZmF1bHRNaW5ET01UaW1lckludGVydmFsKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5ET01UaW1lckludGVydmFsKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5ET01UaW1lckludGVydmFsKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXREZWZhdWx0RE9NVGltZXJB
bGlnbm1lbnRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6
ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOiBEZWxldGVkLgorICAg
ICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5p
bXVtRE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZG9tVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3Vw
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRv
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lcklu
dGVydmFsKToKKwogMjAxNS0wMy0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gU2Nyb2xsYmFycyBsb29rIGJhZCB3aXRoIEdUSysg
My4xNgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDEyZjMxMGJiNDg0YTM0YTljMDRlODYwZjQ2YmZkNWJl
OWJiOWMwYjQuLmFjOTU4YTgxMTY3NDg5ZTk5MjA0NjliNmI2NDgxMGI3YTM3NjEzNDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0wMy0xOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIERPTVRpbWVyIHJlbGF0ZWQgc2V0
dGluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MjgzNworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFN0b3Ag
c2V0dGluZyB0aGUgRE9NVGltZXJzJyBkZWZhdWx0IG1pbmltdW0gaW50ZXJ2YWwgdG8gNG1zIGFz
IHRoaXMKKyAgICAgICAgaXMgbm93IHRoZSBkZWZhdWx0LgorCisgICAgICAgICogV2ViVmlldy9X
ZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhG
cmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAyMDE1LTAzLTE3ICBDb25yYWQgU2h1bHR6ICA8Y29u
cmFkX3NodWx0ekBhcHBsZS5jb20+CiAKICAgICAgICAgSWdub3JlIHNvbWUgZGVwcmVjYXRpb24g
d2FybmluZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBlMzY4NzhkYmI0NTVkN2MyZWE1MzdhZDUyOTAz
NTQ3MGM2YjFkMWRiLi5iMjAwYzE1MTQzYTA4YzMyNThiYjY3YjcyNjdiMDM0NzQwZTJlYTFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDMtMTkgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBET01UaW1lciByZWxhdGVk
IHNldHRpbmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDI4MzcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBT
dG9wIHNldHRpbmcgdGhlIERPTVRpbWVycycgZGVmYXVsdCBtaW5pbXVtIGludGVydmFsIHRvIDRt
cyBhcyB0aGlzCisgICAgICAgIGlzIG5vdyB0aGUgZGVmYXVsdC4KKworICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisgICAgICAgIChXZWJW
aWV3OjpkZWZhdWx0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorCiAyMDE1LTAzLTE2ICBDb25yYWQg
U2h1bHR6ICA8Y29ucmFkX3NodWx0ekBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgY2xpZW50
cyB0byBzZWxlY3RpdmVseSBkaXNhYmxlIHBsdWctaW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ0ZjBlZDUz
YjVjM2EzYTg3MzU0YTRjZjJlY2NiMGUxMzcwM2RmYi4uODE4MmIyODRlMDBkYmJiNmY5OGRlZDI4
NTVkMjk5NmY4NzE4M2Y5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE1LTAzLTE5
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgQ2xlYW4gdXAgRE9N
VGltZXIgcmVsYXRlZCBzZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQyODM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgU3RvcCBzZXR0aW5nIHRoZSBET01UaW1lcnMnIGRlZmF1bHQgbWluaW11bSBp
bnRlcnZhbCB0byA0bXMgYXMgdGhpcworICAgICAgICBpcyBub3cgdGhlIGRlZmF1bHQuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OldlYlBhZ2UpOgorCisyMDE1LTAzLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CisKICAgICAgICAgVGhlIG5ldHdvcmsgY2FjaGUgc2hvdWxkIGlnbm9yZSAiY2Fj
aGUtY29udHJvbDogbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIgb24gaGlzdG9yeSBuYXZpZ2F0
aW9uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4
MzEKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwMjA5OTU3PgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggMDIzMGE1YWZlYzdmNTNjYzI2ZGM5MGMwMTBkMmNhMjYwZDI0NjU0Yy4uZTg3MmRm
NTZjYjQzMGFhZGM2NDQ1Zjc5MTAwZjQyNDg5YTJjZGRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC0yNzI4LDE4ICsyNzI4LDE4IEBAIHZvaWQgRG9jdW1lbnQ6OndyaXRlbG4oY29uc3Qg
U3RyaW5nJiB0ZXh0LCBEb2N1bWVudCogb3duZXJEb2N1bWVudCkKIAogZG91YmxlIERvY3VtZW50
OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7Ci0gICAgUGFnZSogcCA9IHBhZ2UoKTsK
LSAgICBpZiAoIXApCisgICAgUGFnZSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKKyAgICBpZiAoIXBh
Z2UpCiAgICAgICAgIHJldHVybiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCgpOwotICAgIHJldHVybiBwLT5zZXR0aW5ncygpLm1pbkRPTVRpbWVySW50ZXJ2YWwo
KTsKKyAgICByZXR1cm4gcGFnZS0+c2V0dGluZ3MoKS5taW5pbXVtRE9NVGltZXJJbnRlcnZhbCgp
OwogfQogCiBkb3VibGUgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdAog
ewotICAgIFBhZ2UqIHAgPSBwYWdlKCk7Ci0gICAgaWYgKCFwKQorICAgIFBhZ2UqIHBhZ2UgPSB0
aGlzLT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOwotICAgIHJldHVybiBwLT5zZXR0
aW5ncygpLmRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKKyAgICByZXR1cm4gcGFnZS0+c2V0
dGluZ3MoKS5kb21UaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKIEV2ZW50VGFyZ2V0KiBE
b2N1bWVudDo6ZXJyb3JFdmVudFRhcmdldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggZmMyMzc2MTFjNDMyMzgxNjQwYjczY2I0MjMwM2E5
YjdmM2Y0MWZmYS4uYTQ4ZGIzNGNiY2Q1ZDY2M2UzOTI2MTIxNWUxNjE2OWViZmRkMjQyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDM0
LDcgKzQzNCw3IEBAIGRvdWJsZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCgpIGNvbnN0CiAgICAgLy8gd29ya2Vycywgd2Ugd2lsbCBoYXZlIHRvIG92ZXJyaWRl
IGl0IGluIHRoZSBhcHByb3ByaWF0ZQogICAgIC8vIHN1YmNsYXNzLCBhbmQgcHJvdmlkZSBhIHdh
eSB0byBlbnVtZXJhdGUgYSBEb2N1bWVudCdzIGRlZGljYXRlZAogICAgIC8vIHdvcmtlcnMgc28g
d2UgY2FuIHVwZGF0ZSB0aGVtIGFsbC4KLSAgICByZXR1cm4gU2V0dGluZ3M6OmRlZmF1bHRNaW5E
T01UaW1lckludGVydmFsKCk7CisgICAgcmV0dXJuIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUlu
dGVydmFsKCk7CiB9CiAKIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCkBAIC00NDUsNyArNDQ1LDcgQEAgdm9pZCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpkaWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCkKIAogZG91Ymxl
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdAog
ewotICAgIHJldHVybiBTZXR0aW5nczo6ZGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwo
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQog
CiBKU0M6OlZNJiBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp2bSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVy
LmgKaW5kZXggNjkxYzViMDQ1YjNlNzE4NjEwOTg4OTc0ZTAxYzE1NWZmNTE4Njc1MC4uODkzZjg1
NDA3NzJlMTg2YmUxNjZmYWYyMjQwYzU3N2E1MDg1YmRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIu
aApAQCAtNDgsNiArNDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB+RE9NVGltZXIoKTsKIAorICAgICAgICBzdGF0aWMgZG91YmxlIGRlZmF1
bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiAwLjAwNDsgfSAvLyA0IG1pbGxpc2Vjb25kcy4K
KyAgICAgICAgc3RhdGljIGRvdWJsZSBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVy
biAwOyB9CisgICAgICAgIHN0YXRpYyBkb3VibGUgaGlkZGVuUGFnZUFsaWdubWVudEludGVydmFs
KCkgeyByZXR1cm4gMS4wOyB9IC8vIDEgc2Vjb25kLgorCiAgICAgICAgIC8vIENyZWF0ZXMgYSBu
ZXcgdGltZXIgb3duZWQgYnkgc3BlY2lmaWVkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN0YXJ0
cyBpdAogICAgICAgICAvLyBhbmQgcmV0dXJucyBpdHMgSWQuCiAgICAgICAgIHN0YXRpYyBpbnQg
aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxl
ZEFjdGlvbj4sIGludCB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
aW5kZXggOWUxYzUxOTY4Yjk0ZmUzODNlMjMxYmM4NTJmOTVkNDBiMmJmNmRlZS4uMzA1ODM2ZTA2
NTAwYTFiN2E1ZDdlOGZkZDE0YjE1ODIxZjBkZjBlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0x
ODcsOSArMTg3LDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYgcGFnZUNvbmZpZ3Vy
YXRpb24pCiAjaWYgRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAgICAgLCBtX3ZpZXdNb2Rl
KFZpZXdNb2RlV2luZG93ZWQpCiAjZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEp
Ci0gICAgLCBtX21pbmltdW1UaW1lckludGVydmFsKFNldHRpbmdzOjpkZWZhdWx0TWluRE9NVGlt
ZXJJbnRlcnZhbCgpKQogICAgICwgbV90aW1lclRocm90dGxpbmdFbmFibGVkKGZhbHNlKQotICAg
ICwgbV90aW1lckFsaWdubWVudEludGVydmFsKFNldHRpbmdzOjpkZWZhdWx0RE9NVGltZXJBbGln
bm1lbnRJbnRlcnZhbCgpKQogICAgICwgbV9pc0VkaXRhYmxlKGZhbHNlKQogICAgICwgbV9pc1By
ZXJlbmRlcihmYWxzZSkKICAgICAsIG1fdmlld1N0YXRlKFBhZ2VJbml0aWFsVmlld1N0YXRlKQpA
QCAtMTEyOCwyMSArMTEyNiw2IEBAIHZvaWQgUGFnZTo6c2V0TWVtb3J5Q2FjaGVDbGllbnRDYWxs
c0VuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICBmcmFtZS0+bG9hZGVyKCkudGVsbENsaWVu
dEFib3V0UGFzdE1lbW9yeUNhY2hlTG9hZHMoKTsKIH0KIAotdm9pZCBQYWdlOjpzZXRNaW5pbXVt
VGltZXJJbnRlcnZhbChkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2YWwpCi17Ci0gICAgZG91Ymxl
IG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1UaW1lckludGVydmFsOwotICAgIG1fbWluaW11
bVRpbWVySW50ZXJ2YWwgPSBtaW5pbXVtVGltZXJJbnRlcnZhbDsKLSAgICBmb3IgKEZyYW1lKiBm
cmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJz
ZU5leHRXaXRoV3JhcChmYWxzZSkpIHsKLSAgICAgICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpKQot
ICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkanVzdE1pbmltdW1UaW1lckludGVydmFs
KG9sZFRpbWVySW50ZXJ2YWwpOwotICAgIH0KLX0KLQotZG91YmxlIFBhZ2U6Om1pbmltdW1UaW1l
ckludGVydmFsKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9taW5pbXVtVGltZXJJbnRlcnZhbDsK
LX0KLQogdm9pZCBQYWdlOjpoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2Vk
KCkKIHsKICAgICBzZXRUaW1lclRocm90dGxpbmdFbmFibGVkKG1fdmlld1N0YXRlICYgVmlld1N0
YXRlOjpJc1Zpc3VhbGx5SWRsZSk7CkBAIC0xMTU5LDkgKzExNDIsOSBAQCB2b2lkIFBhZ2U6OnNl
dFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICByZXR1cm47CiAK
ICAgICBtX3RpbWVyVGhyb3R0bGluZ0VuYWJsZWQgPSBlbmFibGVkOwotICAgIG1fdGltZXJBbGln
bm1lbnRJbnRlcnZhbCA9IGVuYWJsZWQgPyBTZXR0aW5nczo6aGlkZGVuUGFnZURPTVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoKSA6IFNldHRpbmdzOjpkZWZhdWx0RE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpOworICAgIG1fc2V0dGluZ3MtPnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZW5h
YmxlZCA/IERPTVRpbWVyOjpoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSA6IERPTVRpbWVy
OjpkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSk7CiAgICAgCi0gICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VO
ZXh0V2l0aFdyYXAoZmFsc2UpKSB7CisgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmbWFpbkZyYW1l
KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAg
ICAgaWYgKGZyYW1lLT5kb2N1bWVudCgpKQogICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCkt
PmRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmlu
ZGV4IGFmZDVkYzA1MDUzODg1YWIyYzkzZWZkYTZkMzhmMGFiNDE1MmUxZjIuLjYyYTczYTc2NDJl
ZmE2Yjc0NzFjY2M5NmNlOTcwNmVjODI4OWRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC00NTQsMTEg
KzQ1NCw2IEBAIHByaXZhdGU6CiAKICAgICBNZWRpYUNhblN0YXJ0TGlzdGVuZXIqIHRha2VBbnlN
ZWRpYUNhblN0YXJ0TGlzdGVuZXIoKTsKIAotICAgIHZvaWQgc2V0TWluaW11bVRpbWVySW50ZXJ2
YWwoZG91YmxlKTsKLSAgICBkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKLQot
ICAgIGRvdWJsZSB0aW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV90aW1l
ckFsaWdubWVudEludGVydmFsOyB9Ci0KICAgICBWZWN0b3I8UmVmPFBsdWdpblZpZXdCYXNlPj4g
cGx1Z2luVmlld3MoKTsKIAogICAgIHZvaWQgaGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ1N0
YXRlQ2hhbmdlZCgpOwpAQCAtNTQ2LDEwICs1NDEsNyBAQCBwcml2YXRlOgogICAgIFZpZXdNb2Rl
IG1fdmlld01vZGU7CiAjZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAKLSAg
ICBkb3VibGUgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKLQogICAgIGJvb2wgbV90aW1lclRocm90
dGxpbmdFbmFibGVkOwotICAgIGRvdWJsZSBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAKICAg
ICBib29sIG1faXNFZGl0YWJsZTsKICAgICBib29sIG1faXNQcmVyZW5kZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCmluZGV4IGNjZmM3Yjk3YjA3MmZmOGI2Y2NjMWRmOTI1MDU1MmJkZDQ4NmIw
ZjcuLmFiYmY4MzU4ZGQ2OWI3NmFkMTQ1ODYyYWZiMWYyYzkwOTI4MDU2YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCkBAIC02OSwxMCArNjksNiBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkYXRl
QWZ0ZXJHZW5lcmljRmFtaWx5Q2hhbmdlKFBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2UtPnNldE5l
ZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwogfQogCi1kb3VibGUgU2V0dGluZ3M6OmdEZWZh
dWx0TWluRE9NVGltZXJJbnRlcnZhbCA9IDAuMDEwOyAvLyAxMCBtaWxsaXNlY29uZHMKLWRvdWJs
ZSBTZXR0aW5nczo6Z0RlZmF1bHRET01UaW1lckFsaWdubWVudEludGVydmFsID0gMDsKLWRvdWJs
ZSBTZXR0aW5nczo6Z0hpZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsID0gMS4wOwot
CiAjaWYgVVNFKEFWRk9VTkRBVElPTikKIGJvb2wgU2V0dGluZ3M6OmdBVkZvdW5kYXRpb25FbmFi
bGVkID0gZmFsc2U7CiAjZW5kaWYKQEAgLTE2Myw2ICsxNTksOCBAQCBTZXR0aW5nczo6U2V0dGlu
Z3MoUGFnZSogcGFnZSkKICAgICAsIG1fZm9udEdlbmVyaWNGYW1pbGllcyhzdGQ6Om1ha2VfdW5p
cXVlPEZvbnRHZW5lcmljRmFtaWxpZXM+KCkpCiAgICAgLCBtX3N0b3JhZ2VCbG9ja2luZ1BvbGlj
eShTZWN1cml0eU9yaWdpbjo6QWxsb3dBbGxTdG9yYWdlKQogICAgICwgbV9sYXlvdXRJbnRlcnZh
bChsYXlvdXRTY2hlZHVsZVRocmVzaG9sZCkKKyAgICAsIG1fbWluaW11bURPTVRpbWVySW50ZXJ2
YWwoRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSkKKyAgICAsIG1fZG9tVGltZXJB
bGlnbm1lbnRJbnRlcnZhbChET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCkpCiAj
aWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICAsIG1fdGV4dEF1dG9zaXppbmdGb250U2Nh
bGVGYWN0b3IoMSkKICNpZiBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QCkBA
IC0yMTUsMTYgKzIxMyw2IEBAIFBhc3NSZWZQdHI8U2V0dGluZ3M+IFNldHRpbmdzOjpjcmVhdGUo
UGFnZSogcGFnZSkKIAogU0VUVElOR1NfU0VUVEVSX0JPRElFUwogCi12b2lkIFNldHRpbmdzOjpz
ZXRIaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbChkb3VibGUgaGlkZGVuUGFnZURP
TVRpbWVyQWxpZ25tZW50aW50ZXJ2YWwpCi17Ci0gICAgZ0hpZGRlblBhZ2VET01UaW1lckFsaWdu
bWVudEludGVydmFsID0gaGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50aW50ZXJ2YWw7Ci19Ci0K
LWRvdWJsZSBTZXR0aW5nczo6aGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKQot
ewotICAgIHJldHVybiBnSGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7Ci19Ci0K
ICNpZiAhUExBVEZPUk0oQ09DT0EpCiB2b2lkIFNldHRpbmdzOjppbml0aWFsaXplRGVmYXVsdEZv
bnRGYW1pbGllcygpCiB7CkBAIC00NTAsNDQgKzQzOCwyMyBAQCB2b2lkIFNldHRpbmdzOjpzZXRO
ZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElGcmFtZXNG
b3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGROb3RSZWxv
YWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXREZWZhdWx0
TWluRE9NVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCi17Ci0gICAgZ0RlZmF1bHRNaW5E
T01UaW1lckludGVydmFsID0gaW50ZXJ2YWw7Ci19Ci0KLWRvdWJsZSBTZXR0aW5nczo6ZGVmYXVs
dE1pbkRPTVRpbWVySW50ZXJ2YWwoKQotewotICAgIHJldHVybiBnRGVmYXVsdE1pbkRPTVRpbWVy
SW50ZXJ2YWw7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldE1pbkRPTVRpbWVySW50ZXJ2YWwoZG91
YmxlIGludGVydmFsKQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwo
ZG91YmxlIGludGVydmFsKQogewotICAgIGlmIChtX3BhZ2UpCi0gICAgICAgIG1fcGFnZS0+c2V0
TWluaW11bVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWwpOwotfQorICAgIGRvdWJsZSBvbGRUaW1lcklu
dGVydmFsID0gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsKKyAgICBtX21pbmltdW1ET01UaW1l
ckludGVydmFsID0gaW50ZXJ2YWw7CiAKLWRvdWJsZSBTZXR0aW5nczo6bWluRE9NVGltZXJJbnRl
cnZhbCgpCi17CiAgICAgaWYgKCFtX3BhZ2UpCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVy
biBtX3BhZ2UtPm1pbmltdW1UaW1lckludGVydmFsKCk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNl
dERlZmF1bHRET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkKLXsKLSAg
ICBnRGVmYXVsdERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBpbnRlcnZhbDsKLX0KKyAgICAg
ICAgcmV0dXJuOwogCi1kb3VibGUgU2V0dGluZ3M6OmRlZmF1bHRET01UaW1lckFsaWdubWVudElu
dGVydmFsKCkKLXsKLSAgICByZXR1cm4gZ0RlZmF1bHRET01UaW1lckFsaWdubWVudEludGVydmFs
OworICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1fcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKKyAgICAgICAgaWYgKGZyYW1l
LT5kb2N1bWVudCgpKQorICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkanVzdE1pbmlt
dW1UaW1lckludGVydmFsKG9sZFRpbWVySW50ZXJ2YWwpOworICAgIH0KIH0KIAotZG91YmxlIFNl
dHRpbmdzOjpkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QKK3ZvaWQgU2V0dGluZ3M6
OnNldERPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoZG91YmxlIGFsaWdubWVudEludGVydmFsKQog
ewotICAgIGlmICghbV9wYWdlKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gbV9wYWdl
LT50aW1lckFsaWdubWVudEludGVydmFsKCk7CisgICAgbV9kb21UaW1lckFsaWdubWVudEludGVy
dmFsID0gYWxpZ25tZW50SW50ZXJ2YWw7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldExheW91dElu
dGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGF5b3V0SW50ZXJ2YWwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKaW5kZXggMDQ0M2RjOTIzNGUzN2I1NDQxODNlM2M2Zjc4MDBkYTVlNDk5YWZj
MS4uM2JjZWYxNWJhY2Y0OTBhZjE1ODFjMWQ0N2Q5NDFjYzZmNmNlNmYwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaApAQCAtMTYzLDE5ICsxNjMsMTEgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCk7CiAgICAgYm9v
bCBuZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9uZWVk
c0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHZvaWQgc2V0RGVmYXVsdE1pbkRPTVRpbWVySW50ZXJ2YWwoZG91YmxlKTsgLy8gSW50ZXJ2YWwg
c3BlY2lmaWVkIGluIHNlY29uZHMuCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGRvdWJsZSBk
ZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgpOwotICAgICAgICAKLSAgICBzdGF0aWMgdm9pZCBz
ZXRIaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbChkb3VibGUpOyAvLyBJbnRlcnZh
bCBzcGVjaWZpZWQgaW4gc2Vjb25kcy4KLSAgICBzdGF0aWMgZG91YmxlIGhpZGRlblBhZ2VET01U
aW1lckFsaWdubWVudEludGVydmFsKCk7Ci0KLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1p
bkRPTVRpbWVySW50ZXJ2YWwoZG91YmxlKTsgLy8gUGVyLXBhZ2U7IGluaXRpYWxpemVkIHRvIGRl
ZmF1bHQgdmFsdWUuCi0gICAgV0VCQ09SRV9FWFBPUlQgZG91YmxlIG1pbkRPTVRpbWVySW50ZXJ2
YWwoKTsKLQotICAgIHN0YXRpYyB2b2lkIHNldERlZmF1bHRET01UaW1lckFsaWdubWVudEludGVy
dmFsKGRvdWJsZSk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGRvdWJsZSBkZWZhdWx0RE9N
VGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWlu
aW11bURPTVRpbWVySW50ZXJ2YWwoZG91YmxlKTsgLy8gSW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6
OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKS4KKyAgICBXRUJDT1JFX0VYUE9SVCBkb3VibGUgbWlu
aW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOyB9CiAKLSAgICBkb3VibGUgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpIGNvbnN0
OworICAgIHZvaWQgc2V0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbChkb3VibGUpOworICAgIGRv
dWJsZSBkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kb21UaW1l
ckFsaWdubWVudEludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91
dEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOwogICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEludGVy
dmFsOyB9CkBAIC0yODMsNiArMjc1LDkgQEAgcHJpdmF0ZToKICAgICBjb25zdCBzdGQ6OnVuaXF1
ZV9wdHI8Rm9udEdlbmVyaWNGYW1pbGllcz4gbV9mb250R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNl
Y3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xp
Y3k7CiAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xheW91dEludGVydmFsOworICAg
IGRvdWJsZSBtX21pbmltdW1ET01UaW1lckludGVydmFsOworICAgIGRvdWJsZSBtX2RvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWw7CisKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgIGZs
b2F0IG1fdGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3I7CiAgICAgSW50U2l6ZSBtX3RleHRB
dXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOwpAQCAtMzIwLDkgKzMxNSw2IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCA6IDE7
CiAgICAgYm9vbCBtX2ZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyA6IDE7CiAKLSAgICBz
dGF0aWMgZG91YmxlIGdEZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbDsKLSAgICBzdGF0aWMgZG91
YmxlIGdEZWZhdWx0RE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKLQogI2lmIFVTRShBVkZPVU5E
QVRJT04pCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgZ0FWRm91bmRhdGlvbkVuYWJs
ZWQ7CiAjZW5kaWYKQEAgLTM0OSw4ICszNDEsNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX21l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CiAjZW5kaWYKIAotICAgIHN0YXRpYyBkb3VibGUgZ0hp
ZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsOwotCiAgICAgc3RhdGljIGJvb2wgZ0xv
d1Bvd2VyVmlkZW9BdWRpb0J1ZmZlclNpemVFbmFibGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggNzQ3N2FkNmNjNmZiZGI4ZGRkYTJj
YWIzODFjYWE1NTBkZjY0ZGRmOC4uMmIxYTJhNDVhMmUzNGU3NGJkMDU4Yzk2MTAzOWQzYzI3NDA4
M2JiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBA
IC03OCw3ICs3OCw3IEBAIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmdz
JiBzZXR0aW5ncykKICAgICAsIG1fb3JpZ2luYWxNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoc2V0dGlu
Z3MubW9ja1Njcm9sbGJhcnNFbmFibGVkKCkpCiAgICAgLCBtX2xhbmdBdHRyaWJ1dGVBd2FyZUZv
cm1Db250cm9sVUlFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkubGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQoKSkKICAgICAsIG1faW1h
Z2VzRW5hYmxlZChzZXR0aW5ncy5hcmVJbWFnZXNFbmFibGVkKCkpCi0gICAgLCBtX21pbmltdW1U
aW1lckludGVydmFsKHNldHRpbmdzLm1pbkRPTVRpbWVySW50ZXJ2YWwoKSkKKyAgICAsIG1fbWlu
aW11bVRpbWVySW50ZXJ2YWwoc2V0dGluZ3MubWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSkKICNp
ZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgLCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXMoc2V0
dGluZ3Muc2hvdWxkRGlzcGxheVN1YnRpdGxlcygpKQogICAgICwgbV9zaG91bGREaXNwbGF5Q2Fw
dGlvbnMoc2V0dGluZ3Muc2hvdWxkRGlzcGxheUNhcHRpb25zKCkpCkBAIC0xNDUsNyArMTQ1LDcg
QEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0
dGluZ3MpCiAgICAgc2V0dGluZ3Muc2V0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZyhtX29y
aWdpbmFsQ2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZyk7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJv
bFVJRW5hYmxlZChtX2xhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKTsKICAg
ICBzZXR0aW5ncy5zZXRJbWFnZXNFbmFibGVkKG1faW1hZ2VzRW5hYmxlZCk7Ci0gICAgc2V0dGlu
Z3Muc2V0TWluRE9NVGltZXJJbnRlcnZhbChtX21pbmltdW1UaW1lckludGVydmFsKTsKKyAgICBz
ZXR0aW5ncy5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChtX21pbmltdW1UaW1lckludGVydmFs
KTsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGxh
eVN1YnRpdGxlcyhtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXMpOwogICAgIHNldHRpbmdzLnNldFNo
b3VsZERpc3BsYXlDYXB0aW9ucyhtX3Nob3VsZERpc3BsYXlDYXB0aW9ucyk7CkBAIC00NTAsNyAr
NDUwLDcgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRJbWFnZXNFbmFibGVkKGJvb2wgZW5h
YmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldE1pbmlt
dW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcywgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKLSAgICBzZXR0
aW5ncygpLT5zZXRNaW5ET01UaW1lckludGVydmFsKGludGVydmFsSW5TZWNvbmRzKTsKKyAgICBz
ZXR0aW5ncygpLT5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChpbnRlcnZhbEluU2Vjb25kcyk7
CiB9CiAKIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0RGVmYXVsdFZpZGVvUG9zdGVyVVJMKGNv
bnN0IFN0cmluZyYgdXJsLCBFeGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQppbmRleCBkYWZiMzgxZmZjMDNhYmVkN2Q0ZDcxNmYxMWM1ZTAzNGY0MzdhZjU3
Li5lNWM1ZjFmMTFiZDZkOWM1ZjkzZGI2MjZiYThlMjQxNjFjY2ZhNThiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC05MjYsOCArOTI2LDYgQEAgLSAodm9pZClfY29tbW9u
SW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5h
bWU6KE5TU3QKICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNz
YXJ5KCk7CiAjZW5kaWYKICAgICAgICAgCi0gICAgICAgIFNldHRpbmdzOjpzZXREZWZhdWx0TWlu
RE9NVGltZXJJbnRlcnZhbCgwLjAwNCk7Ci0gICAgICAgIAogICAgICAgICBTZXR0aW5nczo6c2V0
U2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKHNob3VsZFJlc3BlY3RQ
cmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycygpKTsKIAogI2lmIFBMQVRGT1JNKElPUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93
aW4vV2ViVmlldy5jcHAKaW5kZXggZTkwNWY4MzA4N2NkNDcxNTk1YjdhOTY3OGRkZjU3NzE4MjA4
MTViMS4uNWE2ZjQwOWUxNDI0ZGQ1MTgzMWZjYTVmOTA1ZDI2ZTg5YzFkMTc3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4v
V2ViVmlldy5jcHAKQEAgLTI3ODgsNyArMjc4OCw2IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgV2ViVmlldzo6aW5pdFdpdGhGcmFtZSgKIAogICAgICAgICBXZWJLaXRJbml0aWFsaXplV2Vi
RGF0YWJhc2VzSWZOZWNlc3NhcnkoKTsKICAgICAgICAgV2ViS2l0U2V0QXBwbGljYXRpb25DYWNo
ZVBhdGhJZk5lY2Vzc2FyeSgpOwotICAgICAgICBTZXR0aW5nczo6c2V0RGVmYXVsdE1pbkRPTVRp
bWVySW50ZXJ2YWwoMC4wMDQpOwogCiAgICAgICAgIGRpZE9uZVRpbWVJbml0aWFsaXphdGlvbiA9
IHRydWU7CiAgICAgIH0KQEAgLTY4MjMsMTMgKzY4MjIsMTMgQEAgSFJFU1VMVCBXZWJWaWV3Ojpk
ZWZhdWx0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlKiBpbnRlcnZhbCkKIHsKICAgICBpZiAo
IWludGVydmFsKQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgICppbnRlcnZhbCA9IFNl
dHRpbmdzOjpkZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgpOworICAgICppbnRlcnZhbCA9IERP
TVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAK
IEhSRVNVTFQgV2ViVmlldzo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFs
KQogewotICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5ET01UaW1lckludGVydmFsKGludGVy
dmFsKTsKKyAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwo
aW50ZXJ2YWwpOwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNzY2MTIxOWQzZTg3OWY0OWNkYzczMTdj
MWJiMGFhZTZmM2UyOTNlMS4uMTA4NzNkYjRiZjQzZjkwMmYxNjdjZWIwNmU2NDg0NzJjMzhkZDVl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtMzQzLDkgKzM0Myw2IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25z
dCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgICwgbV9zaG91bGRE
aXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHModHJ1ZSkKIHsKICAgICBBU1NFUlQobV9wYWdlSUQp
OwotICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgbm9uLWlkZWFsIGxvY2F0aW9uIGZvciB0aGlzIFNl
dHRpbmcgYW5kCi0gICAgLy8gNG1zIHNob3VsZCBiZSBhZG9wdGVkIHByb2plY3Qtd2lkZSBub3cs
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIxNAotICAgIFNldHRp
bmdzOjpzZXREZWZhdWx0TWluRE9NVGltZXJJbnRlcnZhbCgwLjAwNCk7CiAKICAgICBtX3BhZ2VH
cm91cCA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYlBhZ2VHcm91cChwYXJhbWV0ZXJzLnBh
Z2VHcm91cERhdGEpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>