<?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>138679</bug_id>
          
          <creation_ts>2014-11-12 16:14:24 -0800</creation_ts>
          <short_desc>Have DOMTimer deal with more ScriptExecutionContext references</short_desc>
          <delta_ts>2014-11-12 19:28:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>138292</blocked>
          <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>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048293</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-12 16:14:24 -0800</bug_when>
    <thetext>Have DOMTimer deal with more ScriptExecutionContext references instead of pointers, to make it clear the script execution context cannot be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048301</commentid>
    <comment_count>1</comment_count>
      <attachid>241452</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-12 16:47:35 -0800</bug_when>
    <thetext>Created attachment 241452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048312</commentid>
    <comment_count>2</comment_count>
      <attachid>241458</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-12 17:33:55 -0800</bug_when>
    <thetext>Created attachment 241458
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048322</commentid>
    <comment_count>3</comment_count>
      <attachid>241458</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-11-12 18:33:43 -0800</bug_when>
    <thetext>Comment on attachment 241458
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048325</commentid>
    <comment_count>4</comment_count>
      <attachid>241458</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-12 19:28:32 -0800</bug_when>
    <thetext>Comment on attachment 241458
Patch

Clearing flags on attachment: 241458

Committed r176065: &lt;http://trac.webkit.org/changeset/176065&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048326</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-12 19:28:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241452</attachid>
            <date>2014-11-12 16:47:35 -0800</date>
            <delta_ts>2014-11-12 17:33:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138679-20141112164740.patch</filename>
            <type>text/plain</type>
            <size>20248</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDEzNWE5OTM0MGI2OTg3
NzEzMjgyZmNhM2YyMGMwODFjY2JlYjRjZC4uMTc3OTI3Y2E3MTRmODhlODFlMTM0YWRiNzNhMjAx
ZTRjN2ZiODEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTExLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBET01UaW1lciBkZWFs
IHdpdGggbW9yZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHJlZmVyZW5jZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODY3OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmUgRE9NVGltZXIgZGVhbCB3
aXRoIG1vcmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCByZWZlcmVuY2VzIGluc3RlYWQKKyAgICAg
ICAgb2YgcG9pbnRlcnMsIHRvIG1ha2UgaXQgY2xlYXIgdGhlIHNjcmlwdCBleGVjdXRpb24gY29u
dGV4dCBjYW5ub3QgYmUKKyAgICAgICAgbnVsbC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlRnVuY3Rpb25JbkNvbnRleHQp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXJGaXJlU3RhdGU6OkRPTVRpbWVyRmlyZVN0YXRlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5lc3RlZFRpbWVyc01hcDo6aW5zdGFuY2VGb3JDb250ZXh0KToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6cmVtb3Zl
QnlJZCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorICAgICAgICAqIHBh
Z2UvRE9NVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjpjbGVhclRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwpOgorICAg
ICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdXNw
ZW5kYWJsZVRpbWVyOjpTdXNwZW5kYWJsZVRpbWVyKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRh
YmxlVGltZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1lb3V0KToKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlckdsb2JhbFNjb3BlOjpjbGVhckludGVydmFsKToKKwogMjAxNC0xMS0xMiAgQmV0aCBE
YWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3BlY3VsYXRpdmUgYnVpbGQgZml4
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAKaW5k
ZXggYWJhMmNkM2JiZjk4ODYyNzJiNWMxYjQzYWZlNTJlOTJjY2IyN2Y5ZC4uMDYwZTZmYTBiMTUy
OGI1MGY1NDY2NWU4MTE3MmRiZGIyYjk2MDUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCkBAIC03MiwxOCArNzIsMTggQEAgU2NoZWR1bGVk
QWN0aW9uOjpTY2hlZHVsZWRBY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGZ1bmN0aW9u
LCBET01XcmFwcGVyV28KICAgICAgICAgbV9hcmdzLmFwcGVuZChTdHJvbmc8SlNDOjpVbmtub3du
PihleGVjLT52bSgpLCBleGVjLT51bmNoZWNrZWRBcmd1bWVudChpKSkpOwogfQogCi12b2lkIFNj
aGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQor
dm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCkKIHsKLSAgICBpZiAoaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSkKKyAgICBpZiAoaXM8RG9j
dW1lbnQ+KGNvbnRleHQpKQogICAgICAgICBleGVjdXRlKGRvd25jYXN0PERvY3VtZW50Pihjb250
ZXh0KSk7CiAgICAgZWxzZQogICAgICAgICBleGVjdXRlKGRvd25jYXN0PFdvcmtlckdsb2JhbFNj
b3BlPihjb250ZXh0KSk7CiB9CiAKLXZvaWQgU2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlRnVuY3Rp
b25JbkNvbnRleHQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB0aGlzVmFs
dWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCit2b2lkIFNjaGVkdWxlZEFjdGlv
bjo6ZXhlY3V0ZUZ1bmN0aW9uSW5Db250ZXh0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgdGhpc1ZhbHVlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewog
ICAgIEFTU0VSVChtX2Z1bmN0aW9uKTsKLSAgICBKU0xvY2tIb2xkZXIgbG9jayhjb250ZXh0LT52
bSgpKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayhjb250ZXh0LnZtKCkpOwogCiAgICAgQ2FsbERh
dGEgY2FsbERhdGE7CiAgICAgQ2FsbFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxsRGF0YShtX2Z1bmN0
aW9uLmdldCgpLCBjYWxsRGF0YSk7CkBAIC05NywyMyArOTcsMjMgQEAgdm9pZCBTY2hlZHVsZWRB
Y3Rpb246OmV4ZWN1dGVGdW5jdGlvbkluQ29udGV4dChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU1YKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKICAgICAgICAg
YXJncy5hcHBlbmQobV9hcmdzW2ldLmdldCgpKTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSBjb29raWUgPSBKU01haW5UaHJlYWRFeGVjU3RhdGU6Omluc3RydW1lbnRGdW5j
dGlvbkNhbGwoY29udGV4dCwgY2FsbFR5cGUsIGNhbGxEYXRhKTsKKyAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUgY29va2llID0gSlNNYWluVGhyZWFkRXhlY1N0YXRlOjppbnN0cnVt
ZW50RnVuY3Rpb25DYWxsKCZjb250ZXh0LCBjYWxsVHlwZSwgY2FsbERhdGEpOwogCiAgICAgSlNW
YWx1ZSBleGNlcHRpb247Ci0gICAgaWYgKGNvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAgICBpZiAo
aXM8RG9jdW1lbnQ+KGNvbnRleHQpKQogICAgICAgICBKU01haW5UaHJlYWRFeGVjU3RhdGU6OmNh
bGwoZXhlYywgbV9mdW5jdGlvbi5nZXQoKSwgY2FsbFR5cGUsIGNhbGxEYXRhLCB0aGlzVmFsdWUs
IGFyZ3MsICZleGNlcHRpb24pOwogICAgIGVsc2UKICAgICAgICAgSlNDOjpjYWxsKGV4ZWMsIG1f
ZnVuY3Rpb24uZ2V0KCksIGNhbGxUeXBlLCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBhcmdzLCAmZXhj
ZXB0aW9uKTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FsbEZ1bmN0aW9u
KGNvb2tpZSwgY29udGV4dCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDYWxs
RnVuY3Rpb24oY29va2llLCAmY29udGV4dCk7CiAKICAgICBpZiAoZXhjZXB0aW9uKQogICAgICAg
ICByZXBvcnRFeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uKTsKIH0KIAotdm9pZCBTY2hlZHVsZWRB
Y3Rpb246OmV4ZWN1dGUoRG9jdW1lbnQqIGRvY3VtZW50KQordm9pZCBTY2hlZHVsZWRBY3Rpb246
OmV4ZWN1dGUoRG9jdW1lbnQmIGRvY3VtZW50KQogewotICAgIEpTRE9NV2luZG93KiB3aW5kb3cg
PSB0b0pTRE9NV2luZG93KGRvY3VtZW50LT5mcmFtZSgpLCAqbV9pc29sYXRlZFdvcmxkKTsKKyAg
ICBKU0RPTVdpbmRvdyogd2luZG93ID0gdG9KU0RPTVdpbmRvdyhkb2N1bWVudC5mcmFtZSgpLCAq
bV9pc29sYXRlZFdvcmxkKTsKICAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJuOwogCkBA
IC0xMjcsMTggKzEyNywxOCBAQCB2b2lkIFNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgICAgIGZyYW1lLT5zY3JpcHQoKS5leGVjdXRlU2NyaXB0SW5Xb3Js
ZCgqbV9pc29sYXRlZFdvcmxkLCBtX2NvZGUpOwogfQogCi12b2lkIFNjaGVkdWxlZEFjdGlvbjo6
ZXhlY3V0ZShXb3JrZXJHbG9iYWxTY29wZSogd29ya2VyR2xvYmFsU2NvcGUpCit2b2lkIFNjaGVk
dWxlZEFjdGlvbjo6ZXhlY3V0ZShXb3JrZXJHbG9iYWxTY29wZSYgd29ya2VyR2xvYmFsU2NvcGUp
CiB7CiAgICAgLy8gSW4gYSBXb3JrZXIsIHRoZSBleGVjdXRpb24gc2hvdWxkIGFsd2F5cyBoYXBw
ZW4gb24gYSB3b3JrZXIgdGhyZWFkLgotICAgIEFTU0VSVCh3b3JrZXJHbG9iYWxTY29wZS0+dGhy
ZWFkKCkudGhyZWFkSUQoKSA9PSBjdXJyZW50VGhyZWFkKCkpOworICAgIEFTU0VSVCh3b3JrZXJH
bG9iYWxTY29wZS50aHJlYWQoKS50aHJlYWRJRCgpID09IGN1cnJlbnRUaHJlYWQoKSk7CiAKLSAg
ICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKiBzY3JpcHRDb250cm9sbGVyID0gd29ya2VyR2xvYmFs
U2NvcGUtPnNjcmlwdCgpOworICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIHNjcmlwdENvbnRy
b2xsZXIgPSB3b3JrZXJHbG9iYWxTY29wZS5zY3JpcHQoKTsKIAogICAgIGlmIChtX2Z1bmN0aW9u
KSB7CiAgICAgICAgIEpTV29ya2VyR2xvYmFsU2NvcGUqIGNvbnRleHRXcmFwcGVyID0gc2NyaXB0
Q29udHJvbGxlci0+d29ya2VyR2xvYmFsU2NvcGVXcmFwcGVyKCk7CiAgICAgICAgIGV4ZWN1dGVG
dW5jdGlvbkluQ29udGV4dChjb250ZXh0V3JhcHBlciwgY29udGV4dFdyYXBwZXIsIHdvcmtlckds
b2JhbFNjb3BlKTsKICAgICB9IGVsc2UgewotICAgICAgICBTY3JpcHRTb3VyY2VDb2RlIGNvZGUo
bV9jb2RlLCB3b3JrZXJHbG9iYWxTY29wZS0+dXJsKCkpOworICAgICAgICBTY3JpcHRTb3VyY2VD
b2RlIGNvZGUobV9jb2RlLCB3b3JrZXJHbG9iYWxTY29wZS51cmwoKSk7CiAgICAgICAgIHNjcmlw
dENvbnRyb2xsZXItPmV2YWx1YXRlKGNvZGUpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggYTU4ZDllNWIzNGQzZDUyZGRlNDc0
MmQxZTk0Yzc3YTU5NmRkMWM4MS4uOTE2NDU4YTU5OWVjYjJkYzFkN2E2YzlkYWQxYzgzMjc3MmFh
NWRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgK
QEAgLTQ4LDcgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGNyZWF0ZShKU0M6OkV4
ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3JsZCwgQ29udGVudFNlY3VyaXR5
UG9saWN5Kik7CiAKLSAgICAgICAgdm9pZCBleGVjdXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
KTsKKyAgICAgICAgdm9pZCBleGVjdXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKIAogICAg
IHByaXZhdGU6CiAgICAgICAgIFNjaGVkdWxlZEFjdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
SlNWYWx1ZSBmdW5jdGlvbiwgRE9NV3JhcHBlcldvcmxkJiBpc29sYXRlZFdvcmxkKTsKQEAgLTU5
LDkgKzU5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB7CiAgICAgICAgIH0KIAot
ICAgICAgICB2b2lkIGV4ZWN1dGVGdW5jdGlvbkluQ29udGV4dChKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU1ZhbHVlIHRoaXNWYWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwotICAg
ICAgICB2b2lkIGV4ZWN1dGUoRG9jdW1lbnQqKTsKLSAgICAgICAgdm9pZCBleGVjdXRlKFdvcmtl
ckdsb2JhbFNjb3BlKik7CisgICAgICAgIHZvaWQgZXhlY3V0ZUZ1bmN0aW9uSW5Db250ZXh0KEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jik7CisgICAgICAgIHZvaWQgZXhlY3V0ZShEb2N1bWVudCYpOworICAgICAgICB2
b2lkIGV4ZWN1dGUoV29ya2VyR2xvYmFsU2NvcGUmKTsKIAogICAgICAgICBKU0M6OlN0cm9uZzxK
U0M6OlVua25vd24+IG1fZnVuY3Rpb247CiAgICAgICAgIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0M6
OlVua25vd24+PiBtX2FyZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUu
Y3BwCmluZGV4IGM0YmNiNmM3ZDU3YmZjZmQzODRmZDk0Y2NjMzZjYTFkZTRlMzkwYjQuLmQ3MTQx
ZjIxMjZhOTEwNTQ2ZWI0NDM2NGI0MjMxYTk2NDA1MTBkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50RXZlbnRRdWV1ZTo6VGltZXIgZmluYWwgOiBwdWJsaWMgU3Vz
cGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgVGltZXIoRG9jdW1lbnRFdmVudFF1ZXVlJiBl
dmVudFF1ZXVlKQotICAgICAgICA6IFN1c3BlbmRhYmxlVGltZXIoJmV2ZW50UXVldWUubV9kb2N1
bWVudCkKKyAgICAgICAgOiBTdXNwZW5kYWJsZVRpbWVyKGV2ZW50UXVldWUubV9kb2N1bWVudCkK
ICAgICAgICAgLCBtX2V2ZW50UXVldWUoZXZlbnRRdWV1ZSkKICAgICB7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVRpbWVyLmNwcAppbmRleCBiM2ZhZjRkNzc3MTkzMjljNGIwZjcyYzI3MDIwYmI3ZWZj
ZjdiOTM4Li40OTY5NDdkMmE5YTY2MzJhNDAwNWVmZjU1MDJiY2NiMzY0ZWMyZWM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmNwcApAQCAtNTUsMTAgKzU1LDEwIEBAIHN0YXRpYyBjb25zdCBpbnQg
bWF4VGltZXJOZXN0aW5nTGV2ZWwgPSA1Owogc3RhdGljIGNvbnN0IGRvdWJsZSBvbmVNaWxsaXNl
Y29uZCA9IDAuMDAxOwogCiBzdHJ1Y3QgRE9NVGltZXJGaXJlU3RhdGUgewotICAgIERPTVRpbWVy
RmlyZVN0YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgZXhwbGljaXQg
RE9NVGltZXJGaXJlU3RhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICAg
ICAgOiBzY3JpcHREaWRJbnRlcmFjdFdpdGhOb25Vc2VyT2JzZXJ2YWJsZVBsdWdpbihmYWxzZSkK
ICAgICAgICAgLCBzY3JpcHREaWRJbnRlcmFjdFdpdGhVc2VyT2JzZXJ2YWJsZVBsdWdpbihmYWxz
ZSkKLSAgICAgICAgLCBzaG91bGRTZXRDdXJyZW50KGNvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAg
ICAgICAgLCBzaG91bGRTZXRDdXJyZW50KGlzPERvY3VtZW50Pihjb250ZXh0KSkKICAgICB7CiAg
ICAgICAgIC8vIEZvciB3b3JrZXIgdGhyZWFkcywgZG9uJ3QgdXBkYXRlIHRoZSBjdXJyZW50IERP
TVRpbWVyRmlyZVN0YXRlLgogICAgICAgICAvLyBTZXR0aW5nIHRoaXMgZnJvbSB3b3JrZXJzIHdv
dWxkIG5vdCBiZSB0aHJlYWQtc2FmZSwgYW5kIGl0cyBub3QgcmVsZXZhbnQgdG8gY3VycmVudCB1
c2VzLgpAQCAtODksMTEgKzg5LDExIEBAIERPTVRpbWVyRmlyZVN0YXRlKiBET01UaW1lckZpcmVT
dGF0ZTo6Y3VycmVudCA9IG51bGxwdHI7CiBzdHJ1Y3QgTmVzdGVkVGltZXJzTWFwIHsKICAgICB0
eXBlZGVmIEhhc2hNYXA8aW50LCBET01UaW1lcio+Ojpjb25zdF9pdGVyYXRvciBjb25zdF9pdGVy
YXRvcjsKIAotICAgIHN0YXRpYyBOZXN0ZWRUaW1lcnNNYXAqIGluc3RhbmNlRm9yQ29udGV4dChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIHN0YXRpYyBOZXN0ZWRUaW1lcnNN
YXAqIGluc3RhbmNlRm9yQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQog
ICAgIHsKICAgICAgICAgLy8gRm9yIHdvcmtlciB0aHJlYWRzLCB3ZSBkb24ndCB1c2UgTmVzdGVk
VGltZXJzTWFwIGFzIGRvaW5nIHNvIHdvdWxkIG5vdAogICAgICAgICAvLyBiZSB0aHJlYWQgc2Fm
ZS4KLSAgICAgICAgaWYgKGNvbnRleHQtPmlzRG9jdW1lbnQoKSkKKyAgICAgICAgaWYgKGlzPERv
Y3VtZW50Pihjb250ZXh0KSkKICAgICAgICAgICAgIHJldHVybiAmaW5zdGFuY2UoKTsKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpAQCAtMTQ4LDkgKzE0OCw5IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoaW50IGludGVydmFsLCBpbnQgbmVzdGlu
Z0xldmVsKQogICAgICAgICAmJiAhbmVzdGluZ0xldmVsOyAvLyBHZXN0dXJlcyBzaG91bGQgbm90
IGJlIGZvcndhcmRlZCB0byBuZXN0ZWQgdGltZXJzLgogfQogCi1ET01UaW1lcjo6RE9NVGltZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxl
ZEFjdGlvbj4gYWN0aW9uLCBpbnQgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKK0RPTVRpbWVy
OjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9w
dHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90
KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihjb250ZXh0KQotICAgICwgbV9uZXN0aW5nTGV2ZWwo
Y29udGV4dC0+dGltZXJOZXN0aW5nTGV2ZWwoKSkKKyAgICAsIG1fbmVzdGluZ0xldmVsKGNvbnRl
eHQudGltZXJOZXN0aW5nTGV2ZWwoKSkKICAgICAsIG1fYWN0aW9uKFdURjo6bW92ZShhY3Rpb24p
KQogICAgICwgbV9vcmlnaW5hbEludGVydmFsKGludGVydmFsKQogICAgICwgbV90aHJvdHRsZVN0
YXRlKFVuZGV0ZXJtaW5lZCkKQEAgLTE2MSw4ICsxNjEsOCBAQCBET01UaW1lcjo6RE9NVGltZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxl
ZEFjdAogCiAgICAgLy8gS2VlcCBhc2tpbmcgZm9yIHRoZSBuZXh0IGlkIHVudGlsIHdlJ3JlIGdp
dmVuIG9uZSB0aGF0IHdlIGRvbid0IGFscmVhZHkgaGF2ZS4KICAgICBkbyB7Ci0gICAgICAgIG1f
dGltZW91dElkID0gY29udGV4dC0+Y2lyY3VsYXJTZXF1ZW50aWFsSUQoKTsKLSAgICB9IHdoaWxl
ICghY29udGV4dC0+YWRkVGltZW91dChtX3RpbWVvdXRJZCwgcmVmZXJlbmNlKSk7CisgICAgICAg
IG1fdGltZW91dElkID0gY29udGV4dC5jaXJjdWxhclNlcXVlbnRpYWxJRCgpOworICAgIH0gd2hp
bGUgKCFjb250ZXh0LmFkZFRpbWVvdXQobV90aW1lb3V0SWQsIHJlZmVyZW5jZSkpOwogCiAgICAg
aWYgKHNpbmdsZVNob3QpCiAgICAgICAgIHN0YXJ0T25lU2hvdChtX2N1cnJlbnRUaW1lckludGVy
dmFsKTsKQEAgLTE3MCwxNSArMTcwLDE1IEBAIERPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0CiAgICAg
ICAgIHN0YXJ0UmVwZWF0aW5nKG1fY3VycmVudFRpbWVySW50ZXJ2YWwpOwogfQogCi1pbnQgRE9N
VGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgc3RkOjp1bmlx
dWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVT
aG90KQoraW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQs
IGJvb2wgc2luZ2xlU2hvdCkKIHsKICAgICAvLyBET01UaW1lciBjb25zdHJ1Y3RvciBwYXNzZXMg
b3duZXJzaGlwIG9mIHRoZSBpbml0aWFsIHJlZiBvbiB0aGUgb2JqZWN0IHRvIHRoZSBjb25zdHJ1
Y3Rvci4KICAgICAvLyBUaGlzIHJlZmVyZW5jZSB3aWxsIGJlIHJlbGVhc2VkIGF1dG9tYXRpY2Fs
bHkgd2hlbiBhIG9uZS1zaG90IHRpbWVyIGZpcmVzLCB3aGVuIHRoZSBjb250ZXh0CiAgICAgLy8g
aXMgZGVzdHJveWVkLCBvciBpZiBleHBsaWNpdGx5IGNhbmNlbGxlZCBieSByZW1vdmVCeUlkLiAK
ICAgICBET01UaW1lciogdGltZXIgPSBuZXcgRE9NVGltZXIoY29udGV4dCwgV1RGOjptb3ZlKGFj
dGlvbiksIHRpbWVvdXQsIHNpbmdsZVNob3QpOwogI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAo
aXM8RG9jdW1lbnQ+KCpjb250ZXh0KSkgewotICAgICAgICBEb2N1bWVudCYgZG9jdW1lbnQgPSBk
b3duY2FzdDxEb2N1bWVudD4oKmNvbnRleHQpOworICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4
dCkpIHsKKyAgICAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNv
bnRleHQpOwogICAgICAgICBib29sIGRpZERlZmVyVGltZW91dCA9IGRvY3VtZW50LmZyYW1lKCkg
JiYgZG9jdW1lbnQuZnJhbWUoKS0+dGltZXJzUGF1c2VkKCk7CiAgICAgICAgIGlmICghZGlkRGVm
ZXJUaW1lb3V0ICYmIHRpbWVvdXQgPD0gMTAwICYmIHNpbmdsZVNob3QpIHsKICAgICAgICAgICAg
IFdLU2V0T2JzZXJ2ZWRDb250ZW50Q2hhbmdlKFdLQ29udGVudEluZGV0ZXJtaW5hdGVDaGFuZ2Up
OwpAQCAtMTg4LDcgKzE4OCw3IEBAIGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAjZW5kaWYKIAog
ICAgIHRpbWVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZEluc3RhbGxUaW1lcihjb250ZXh0LCB0aW1lci0+bV90aW1lb3V0SWQsIHRpbWVvdXQs
IHNpbmdsZVNob3QpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKCZjb250ZXh0LCB0aW1lci0+bV90aW1lb3V0SWQsIHRpbWVvdXQsIHNpbmdsZVNob3QpOwog
CiAgICAgLy8gS2VlcCB0cmFjayBvZiBuZXN0ZWQgdGltZXIgaW5zdGFsbHMuCiAgICAgaWYgKE5l
c3RlZFRpbWVyc01hcCogbmVzdGVkVGltZXJzID0gTmVzdGVkVGltZXJzTWFwOjppbnN0YW5jZUZv
ckNvbnRleHQoY29udGV4dCkpCkBAIC0xOTcsNyArMTk3LDcgQEAgaW50IERPTVRpbWVyOjppbnN0
YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWQKICAgICByZXR1cm4gdGltZXItPm1fdGltZW91dElkOwogfQogCi12b2lkIERPTVRpbWVy
OjpyZW1vdmVCeUlkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludCB0aW1lb3V0
SWQpCit2b2lkIERPTVRpbWVyOjpyZW1vdmVCeUlkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIGludCB0aW1lb3V0SWQpCiB7CiAgICAgLy8gdGltZW91dCBJRHMgaGF2ZSB0byBiZSBw
b3NpdGl2ZSwgYW5kIDAgYW5kIC0xIGFyZSB1bnNhZmUgdG8KICAgICAvLyBldmVuIGxvb2sgdXAg
c2luY2UgdGhleSBhcmUgdGhlIGVtcHR5IGFuZCBkZWxldGVkIHZhbHVlCkBAIC0yMDgsOCArMjA4
LDggQEAgdm9pZCBET01UaW1lcjo6cmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBpbnQgdGltZW91dElkKQogICAgIGlmIChOZXN0ZWRUaW1lcnNNYXAqIG5lc3RlZFRp
bWVycyA9IE5lc3RlZFRpbWVyc01hcDo6aW5zdGFuY2VGb3JDb250ZXh0KGNvbnRleHQpKQogICAg
ICAgICBuZXN0ZWRUaW1lcnMtPnJlbW92ZSh0aW1lb3V0SWQpOwogCi0gICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSZW1vdmVUaW1lcihjb250ZXh0LCB0aW1lb3V0SWQpOwotICAgIGNv
bnRleHQtPnJlbW92ZVRpbWVvdXQodGltZW91dElkKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZFJlbW92ZVRpbWVyKCZjb250ZXh0LCB0aW1lb3V0SWQpOworICAgIGNvbnRleHQu
cmVtb3ZlVGltZW91dCh0aW1lb3V0SWQpOwogfQogCiB2b2lkIERPTVRpbWVyOjp1cGRhdGVUaHJv
dHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShjb25zdCBET01UaW1lckZpcmVTdGF0ZSYgZmlyZVN0YXRl
KQpAQCAtMjQ1LDI3ICsyNDUsMjcgQEAgdm9pZCBET01UaW1lcjo6ZmlyZWQoKQogICAgIC8vIHdh
aXQgdW5pdCB0aGUgZW5kIG9mIHRoaXMgZnVuY3Rpb24gdG8gZGVsZXRlIERPTVRpbWVyLgogICAg
IFJlZlB0cjxET01UaW1lcj4gcmVmZXJlbmNlID0gdGhpczsKIAotICAgIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgQVNTRVJU
KGNvbnRleHQpOworICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
OwogCiAgICAgRE9NVGltZXJGaXJlU3RhdGUgZmlyZVN0YXRlKGNvbnRleHQpOwogCiAjaWYgUExB
VEZPUk0oSU9TKQogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG51bGxwdHI7Ci0gICAgaWYgKGlz
PERvY3VtZW50PigqY29udGV4dCkpIHsKLSAgICAgICAgZG9jdW1lbnQgPSBkb3duY2FzdDxEb2N1
bWVudD4oY29udGV4dCk7CisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkgeworICAgICAg
ICBkb2N1bWVudCA9ICZkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCk7CiAgICAgICAgIEFTU0VS
VCghZG9jdW1lbnQtPmZyYW1lKCktPnRpbWVyc1BhdXNlZCgpKTsKICAgICB9CiAjZW5kaWYKLSAg
ICBjb250ZXh0LT5zZXRUaW1lck5lc3RpbmdMZXZlbChzdGQ6Om1pbihtX25lc3RpbmdMZXZlbCAr
IDEsIG1heFRpbWVyTmVzdGluZ0xldmVsKSk7CisgICAgY29udGV4dC5zZXRUaW1lck5lc3RpbmdM
ZXZlbChzdGQ6Om1pbihtX25lc3RpbmdMZXZlbCArIDEsIG1heFRpbWVyTmVzdGluZ0xldmVsKSk7
CiAKICAgICBBU1NFUlQoIWlzU3VzcGVuZGVkKCkpOwotICAgIEFTU0VSVCghY29udGV4dC0+YWN0
aXZlRE9NT2JqZWN0c0FyZVN1c3BlbmRlZCgpKTsKKyAgICBBU1NFUlQoIWNvbnRleHQuYWN0aXZl
RE9NT2JqZWN0c0FyZVN1c3BlbmRlZCgpKTsKICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0
dXJlSW5kaWNhdG9yKG1fc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlID8gRGVmaW5pdGVseVByb2Nl
c3NpbmdVc2VyR2VzdHVyZSA6IFBvc3NpYmx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlKTsKICAgICAv
LyBPbmx5IHRoZSBmaXJzdCBleGVjdXRpb24gb2YgYSBtdWx0aS1zaG90IHRpbWVyIHNob3VsZCBn
ZXQgYW4gYWZmaXJtYXRpdmUgdXNlciBnZXN0dXJlIGluZGljYXRvci4KICAgICBtX3Nob3VsZEZv
cndhcmRVc2VyR2VzdHVyZSA9IGZhbHNlOwogCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVUaW1lcihj
b250ZXh0LCBtX3RpbWVvdXRJZCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVUaW1lcigmY29udGV4
dCwgbV90aW1lb3V0SWQpOwogCiAgICAgLy8gU2ltcGxlIGNhc2UgZm9yIG5vbi1vbmUtc2hvdCB0
aW1lcnMuCiAgICAgaWYgKGlzQWN0aXZlKCkpIHsKQEAgLTI4Miw3ICsyODIsNyBAQCB2b2lkIERP
TVRpbWVyOjpmaXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBjb250ZXh0LT5y
ZW1vdmVUaW1lb3V0KG1fdGltZW91dElkKTsKKyAgICBjb250ZXh0LnJlbW92ZVRpbWVvdXQobV90
aW1lb3V0SWQpOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGJvb2wgc2hvdWxkUmVwb3J0TGFj
a09mQ2hhbmdlczsKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAg
ICAgICAgIG5lc3RlZFRpbWVycy0+c3RvcFRyYWNraW5nKCk7CiAgICAgfQogCi0gICAgY29udGV4
dC0+c2V0VGltZXJOZXN0aW5nTGV2ZWwoMCk7CisgICAgY29udGV4dC5zZXRUaW1lck5lc3RpbmdM
ZXZlbCgwKTsKIH0KIAogdm9pZCBET01UaW1lcjo6ZGlkU3RvcCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVy
LmgKaW5kZXggZGQxYjFmNDNlZjE2NzY4YjA2NzIxZTMwOGNkZTY5MzhiNTViM2I5OC4uODMxZWRi
YjljMTcwNmIxY2Q4MTRhYWY4M2I1NDRiMDg1YjljOGQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIu
aApAQCAtNDMsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDcmVhdGVzIGEgbmV3IHRpbWVyIG93bmVkIGJ5IHNwZWNpZmllZCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBzdGFydHMgaXQKICAgICAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgot
ICAgICAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90
KTsKLSAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgaW50IHRpbWVvdXRJZCk7CisgICAgICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCB0aW1l
b3V0LCBib29sIHNpbmdsZVNob3QpOworICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVCeUlkKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBpbnQgdGltZW91dElkKTsKIAogICAgICAgICAvLyBOb3Rp
ZnkgdGhhdCB0aGUgaW50ZXJ2YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUg
bWluaW11bSBpbnRlcnZhbAogICAgICAgICAvLyBzZXR0aW5nIGZvciB0aGUgY29udGV4dCBoYXMg
Y2hhbmdlZCkuCkBAIC01Myw3ICs1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
c3RhdGljIHZvaWQgc2NyaXB0RGlkSW50ZXJhY3RXaXRoUGx1Z2luKEhUTUxQbHVnSW5FbGVtZW50
Jik7CiAKICAgICBwcml2YXRlOgotICAgICAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIGludCBpbnRlcnZhbCwgYm9v
bCBzaW5nbGVTaG90KTsKKyAgICAgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCk7CiAgICAgICAgIGRvdWJsZSBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25z
dDsKICAgICAgICAgdm9pZCB1cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShjb25zdCBE
T01UaW1lckZpcmVTdGF0ZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZmJj
MzFkMjNkM2E2MWEzMGI5MDI4ZWEzZTE0NTViZGJhNTgyODU1MC4uOGEzZTgyMjZiYTgwMjdiMzc3
NWNkYzAxOWZkNmE2MzZkZmM0M2U3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAt
MTYwNiw3ICsxNjA2LDcgQEAgaW50IERPTVdpbmRvdzo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9w
dHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0LAogICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICByZXR1cm4g
RE9NVGltZXI6Omluc3RhbGwoY29udGV4dCwgV1RGOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIHRy
dWUpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGOjptb3ZlKGFj
dGlvbiksIHRpbWVvdXQsIHRydWUpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6Y2xlYXJUaW1lb3V0
KGludCB0aW1lb3V0SWQpCkBAIC0xNjMwLDcgKzE2MzAsNyBAQCB2b2lkIERPTVdpbmRvdzo6Y2xl
YXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAg
ICAgIHJldHVybjsKLSAgICBET01UaW1lcjo6cmVtb3ZlQnlJZChjb250ZXh0LCB0aW1lb3V0SWQp
OworICAgIERPTVRpbWVyOjpyZW1vdmVCeUlkKCpjb250ZXh0LCB0aW1lb3V0SWQpOwogfQogCiBp
bnQgRE9NV2luZG93OjpzZXRJbnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9u
PiBhY3Rpb24sIGludCB0aW1lb3V0LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTE2NDAsNyArMTY0
MCw3IEBAIGludCBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQsCiAgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NF
U1NfRVJSOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiBET01UaW1lcjo6
aW5zdGFsbChjb250ZXh0LCBXVEY6Om1vdmUoYWN0aW9uKSwgdGltZW91dCwgZmFsc2UpOworICAg
IHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGOjptb3ZlKGFjdGlvbiksIHRp
bWVvdXQsIGZhbHNlKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRp
bWVvdXRJZCkKQEAgLTE2NDgsNyArMTY0OCw3IEBAIHZvaWQgRE9NV2luZG93OjpjbGVhckludGVy
dmFsKGludCB0aW1lb3V0SWQpCiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJl
dHVybjsKLSAgICBET01UaW1lcjo6cmVtb3ZlQnlJZChjb250ZXh0LCB0aW1lb3V0SWQpOworICAg
IERPTVRpbWVyOjpyZW1vdmVCeUlkKCpjb250ZXh0LCB0aW1lb3V0SWQpOwogfQogCiAjaWYgRU5B
QkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5jcHAKaW5kZXggODJmOTdkYmI5ODRlZDMxZDVjNmY5ZGNjNzhlOTkwMzU3Y2Y4MjJl
YS4uOTlkMDQ1YWFjN2VlODNkMmRhYWUyNjM0YmYzMmFiMjE2N2Y0MDRlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMSw4ICszMSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotU3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAgIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRl
eHQpCitTdXNwZW5kYWJsZVRpbWVyOjpTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQpCisgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCiAgICAgLCBt
X3N1c3BlbmRlZChmYWxzZSkKICAgICAsIG1fc2F2ZWROZXh0RmlyZUludGVydmFsKDApCiAgICAg
LCBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3VzcGVuZGFibGVUaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmgKaW5kZXggODk0ZTliNWMzZGQ3ZGUwZDZiZGYzNTBiZGUxMzlkM2VhYjBjMzQ4Yy4uODg5
MzRkNzk4NTkxNWYyYjdhMGJhMjgyMTRhNzFhNGEwMmIyM2E3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBTdXNwZW5kYWJsZVRpbWVyIDogcHJpdmF0ZSBUaW1lckJhc2UsIHB1YmxpYyBB
Y3RpdmVET01PYmplY3QgewogcHVibGljOgotICAgIGV4cGxpY2l0IFN1c3BlbmRhYmxlVGltZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworICAgIGV4cGxpY2l0IFN1c3BlbmRhYmxlVGltZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogICAgIHZpcnR1YWwgflN1c3BlbmRhYmxlVGltZXIo
KTsKIAogICAgIC8vIEEgaG9vayBmb3IgZGVyaXZlZCBjbGFzc2VzIHRvIHBlcmZvcm0gY2xlYW51
cC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
NGU4ZDg3ZWE2MDU5NjUwODJhMTAzOWFkNmFjODM4OGQ0OTkwNTUwZS4uYTU5OWU2ZmY4M2IwMDc0
ODE0NzVlOWQwOTkyNmYxNzBhNTExMzEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1NCwyMiArMTU0LDIyIEBAIHZvaWQgV29ya2VyR2xv
YmFsU2NvcGU6OnBvc3RUYXNrKFRhc2sgdGFzaykKIAogaW50IFdvcmtlckdsb2JhbFNjb3BlOjpz
ZXRUaW1lb3V0KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRp
bWVvdXQpCiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSwgV1RGOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIHRydWUpOworICAgIHJldHVybiBE
T01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIHRydWUp
OwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJ
ZCkKIHsKLSAgICBET01UaW1lcjo6cmVtb3ZlQnlJZChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
IHRpbWVvdXRJZCk7CisgICAgRE9NVGltZXI6OnJlbW92ZUJ5SWQoKnRoaXMsIHRpbWVvdXRJZCk7
CiB9CiAKIGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRy
PFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKIHsKLSAgICByZXR1cm4gRE9N
VGltZXI6Omluc3RhbGwoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBXVEY6Om1vdmUoYWN0aW9u
KSwgdGltZW91dCwgZmFsc2UpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywg
V1RGOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIGZhbHNlKTsKIH0KIAogdm9pZCBXb3JrZXJHbG9i
YWxTY29wZTo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQogewotICAgIERPTVRpbWVyOjpy
ZW1vdmVCeUlkKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGltZW91dElkKTsKKyAgICBET01U
aW1lcjo6cmVtb3ZlQnlJZCgqdGhpcywgdGltZW91dElkKTsKIH0KIAogdm9pZCBXb3JrZXJHbG9i
YWxTY29wZTo6aW1wb3J0U2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscywgRXhjZXB0
aW9uQ29kZSYgZWMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241458</attachid>
            <date>2014-11-12 17:33:55 -0800</date>
            <delta_ts>2014-11-12 19:28:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138679-20141112173400.patch</filename>
            <type>text/plain</type>
            <size>22436</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUwNmNkNDQxZGI5NmZl
Y2RhM2NmZjMxOGZhNjkyMmIwNTc3ZWQwNS4uZmM1YTA4ZjAzM2NlMmM1ZjVhNDUzNTU4N2YzMzlk
NDQ4YTcyZTE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTExLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBET01UaW1lciBkZWFs
IHdpdGggbW9yZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0IHJlZmVyZW5jZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODY3OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmUgRE9NVGltZXIgZGVhbCB3
aXRoIG1vcmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCByZWZlcmVuY2VzIGluc3RlYWQKKyAgICAg
ICAgb2YgcG9pbnRlcnMsIHRvIG1ha2UgaXQgY2xlYXIgdGhlIHNjcmlwdCBleGVjdXRpb24gY29u
dGV4dCBjYW5ub3QgYmUKKyAgICAgICAgbnVsbC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5v
IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlRnVuY3Rpb25JbkNvbnRleHQp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXJGaXJlU3RhdGU6OkRPTVRpbWVyRmlyZVN0YXRlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5lc3RlZFRpbWVyc01hcDo6aW5zdGFuY2VGb3JDb250ZXh0KToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6cmVtb3Zl
QnlJZCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6ZmlyZWQpOgorICAgICAgICAqIHBh
Z2UvRE9NVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93OjpjbGVhclRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwpOgorICAg
ICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdXNw
ZW5kYWJsZVRpbWVyOjpTdXNwZW5kYWJsZVRpbWVyKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRh
YmxlVGltZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1lb3V0KToKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlckdsb2JhbFNjb3BlOjpjbGVhckludGVydmFsKToKKwogMjAxNC0xMS0xMiAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCB1bnByZWZpeGVkIGFu
aW1hdGlvbiBwcm9wZXJ0eSBuYW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGY2MmViMjg5YmRkM2U1
ZTdmNTE5MmVkZjU4NGQzYTJlN2Y4OTZiODYuLjBkYTZiYzUwNWVjM2NhMzM1M2JlODE2NmYzMjk3
ZmI1MDIzNTQxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0xMS0x
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgRE9NVGlt
ZXIgZGVhbCB3aXRoIG1vcmUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCByZWZlcmVuY2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg2NzkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV2luZG93
Q2xvc2VUaW1lciB0byBkZWFsIHdpdGggU2NyaXB0RXhlY3V0aW9uQ29udGV4dCByZWZlcmVuY2Vz
CisgICAgICAgIGluc3RlYWQgb2YgcG9pbnRlcnMgYXMgaXQgc3ViY2xhc3NlcyBTdXNwZW5kYWJs
ZVRpbWVyIGFuZCBpdHMKKyAgICAgICAgY29uc3RydWN0b3IgdGFrZXMgYSBTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBpbiBhcmd1bWVudC4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAg
ICAoV2luZG93Q2xvc2VUaW1lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdpbmRvd0Nsb3NlVGltZXI6
OldpbmRvd0Nsb3NlVGltZXIpOgorCiAyMDE0LTExLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCiAgICAgICAgIERlLXRlbXBsYXRpemUgVGltZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uY3BwCmluZGV4IGFiYTJjZDNiYmY5ODg2
MjcyYjVjMWI0M2FmZTUyZTkyY2NiMjdmOWQuLjA2MGU2ZmEwYjE1MjhiNTBmNTQ2NjVlODExNzJk
YmRiMmI5NjA1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVk
dWxlZEFjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVk
QWN0aW9uLmNwcApAQCAtNzIsMTggKzcyLDE4IEBAIFNjaGVkdWxlZEFjdGlvbjo6U2NoZWR1bGVk
QWN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBmdW5jdGlvbiwgRE9NV3JhcHBlcldvCiAg
ICAgICAgIG1fYXJncy5hcHBlbmQoU3Ryb25nPEpTQzo6VW5rbm93bj4oZXhlYy0+dm0oKSwgZXhl
Yy0+dW5jaGVja2VkQXJndW1lbnQoaSkpKTsKIH0KIAotdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4
ZWN1dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKK3ZvaWQgU2NoZWR1bGVkQWN0
aW9uOjpleGVjdXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgaWYg
KGlzPERvY3VtZW50PigqY29udGV4dCkpCisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkK
ICAgICAgICAgZXhlY3V0ZShkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkpOwogICAgIGVsc2UK
ICAgICAgICAgZXhlY3V0ZShkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkpOwog
fQogCi12b2lkIFNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZUZ1bmN0aW9uSW5Db250ZXh0KEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdGhpc1ZhbHVlLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0KQordm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGVGdW5jdGlv
bkluQ29udGV4dChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHRoaXNWYWx1
ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBBU1NFUlQobV9mdW5j
dGlvbik7Ci0gICAgSlNMb2NrSG9sZGVyIGxvY2soY29udGV4dC0+dm0oKSk7CisgICAgSlNMb2Nr
SG9sZGVyIGxvY2soY29udGV4dC52bSgpKTsKIAogICAgIENhbGxEYXRhIGNhbGxEYXRhOwogICAg
IENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEobV9mdW5jdGlvbi5nZXQoKSwgY2FsbERh
dGEpOwpAQCAtOTcsMjMgKzk3LDIzIEBAIHZvaWQgU2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlRnVu
Y3Rpb25JbkNvbnRleHQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWCiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpCiAgICAgICAgIGFyZ3MuYXBwZW5kKG1fYXJn
c1tpXS5nZXQoKSk7CiAKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2ll
ID0gSlNNYWluVGhyZWFkRXhlY1N0YXRlOjppbnN0cnVtZW50RnVuY3Rpb25DYWxsKGNvbnRleHQs
IGNhbGxUeXBlLCBjYWxsRGF0YSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IGNvb2tpZSA9IEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6aW5zdHJ1bWVudEZ1bmN0aW9uQ2FsbCgm
Y29udGV4dCwgY2FsbFR5cGUsIGNhbGxEYXRhKTsKIAogICAgIEpTVmFsdWUgZXhjZXB0aW9uOwot
ICAgIGlmIChjb250ZXh0LT5pc0RvY3VtZW50KCkpCisgICAgaWYgKGlzPERvY3VtZW50Pihjb250
ZXh0KSkKICAgICAgICAgSlNNYWluVGhyZWFkRXhlY1N0YXRlOjpjYWxsKGV4ZWMsIG1fZnVuY3Rp
b24uZ2V0KCksIGNhbGxUeXBlLCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBhcmdzLCAmZXhjZXB0aW9u
KTsKICAgICBlbHNlCiAgICAgICAgIEpTQzo6Y2FsbChleGVjLCBtX2Z1bmN0aW9uLmdldCgpLCBj
YWxsVHlwZSwgY2FsbERhdGEsIHRoaXNWYWx1ZSwgYXJncywgJmV4Y2VwdGlvbik7CiAKLSAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENhbGxGdW5jdGlvbihjb29raWUsIGNvbnRleHQp
OworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FsbEZ1bmN0aW9uKGNvb2tpZSwg
JmNvbnRleHQpOwogCiAgICAgaWYgKGV4Y2VwdGlvbikKICAgICAgICAgcmVwb3J0RXhjZXB0aW9u
KGV4ZWMsIGV4Y2VwdGlvbik7CiB9CiAKLXZvaWQgU2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlKERv
Y3VtZW50KiBkb2N1bWVudCkKK3ZvaWQgU2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlKERvY3VtZW50
JiBkb2N1bWVudCkKIHsKLSAgICBKU0RPTVdpbmRvdyogd2luZG93ID0gdG9KU0RPTVdpbmRvdyhk
b2N1bWVudC0+ZnJhbWUoKSwgKm1faXNvbGF0ZWRXb3JsZCk7CisgICAgSlNET01XaW5kb3cqIHdp
bmRvdyA9IHRvSlNET01XaW5kb3coZG9jdW1lbnQuZnJhbWUoKSwgKm1faXNvbGF0ZWRXb3JsZCk7
CiAgICAgaWYgKCF3aW5kb3cpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTI3LDE4ICsxMjcsMTgg
QEAgdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICBmcmFtZS0+c2NyaXB0KCkuZXhlY3V0ZVNjcmlwdEluV29ybGQoKm1faXNvbGF0ZWRXb3Js
ZCwgbV9jb2RlKTsKIH0KIAotdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoV29ya2VyR2xv
YmFsU2NvcGUqIHdvcmtlckdsb2JhbFNjb3BlKQordm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1
dGUoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsb2JhbFNjb3BlKQogewogICAgIC8vIEluIGEg
V29ya2VyLCB0aGUgZXhlY3V0aW9uIHNob3VsZCBhbHdheXMgaGFwcGVuIG9uIGEgd29ya2VyIHRo
cmVhZC4KLSAgICBBU1NFUlQod29ya2VyR2xvYmFsU2NvcGUtPnRocmVhZCgpLnRocmVhZElEKCkg
PT0gY3VycmVudFRocmVhZCgpKTsKKyAgICBBU1NFUlQod29ya2VyR2xvYmFsU2NvcGUudGhyZWFk
KCkudGhyZWFkSUQoKSA9PSBjdXJyZW50VGhyZWFkKCkpOwogCi0gICAgV29ya2VyU2NyaXB0Q29u
dHJvbGxlciogc2NyaXB0Q29udHJvbGxlciA9IHdvcmtlckdsb2JhbFNjb3BlLT5zY3JpcHQoKTsK
KyAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKiBzY3JpcHRDb250cm9sbGVyID0gd29ya2VyR2xv
YmFsU2NvcGUuc2NyaXB0KCk7CiAKICAgICBpZiAobV9mdW5jdGlvbikgewogICAgICAgICBKU1dv
cmtlckdsb2JhbFNjb3BlKiBjb250ZXh0V3JhcHBlciA9IHNjcmlwdENvbnRyb2xsZXItPndvcmtl
ckdsb2JhbFNjb3BlV3JhcHBlcigpOwogICAgICAgICBleGVjdXRlRnVuY3Rpb25JbkNvbnRleHQo
Y29udGV4dFdyYXBwZXIsIGNvbnRleHRXcmFwcGVyLCB3b3JrZXJHbG9iYWxTY29wZSk7CiAgICAg
fSBlbHNlIHsKLSAgICAgICAgU2NyaXB0U291cmNlQ29kZSBjb2RlKG1fY29kZSwgd29ya2VyR2xv
YmFsU2NvcGUtPnVybCgpKTsKKyAgICAgICAgU2NyaXB0U291cmNlQ29kZSBjb2RlKG1fY29kZSwg
d29ya2VyR2xvYmFsU2NvcGUudXJsKCkpOwogICAgICAgICBzY3JpcHRDb250cm9sbGVyLT5ldmFs
dWF0ZShjb2RlKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVk
dWxlZEFjdGlvbi5oCmluZGV4IGE1OGQ5ZTViMzRkM2Q1MmRkZTQ3NDJkMWU5NGM3N2E1OTZkZDFj
ODEuLjkxNjQ1OGE1OTllY2IyZGMxZDdhNmM5ZGFkMWM4MzI3NzJhYTVkYWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00OCw3ICs0OCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFw
cGVyV29ybGQmIGlzb2xhdGVkV29ybGQsIENvbnRlbnRTZWN1cml0eVBvbGljeSopOwogCi0gICAg
ICAgIHZvaWQgZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgICAgIHZvaWQg
ZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBTY2hlZHVsZWRBY3Rpb24oSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTVmFsdWUgZnVuY3Rpb24s
IERPTVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3JsZCk7CkBAIC01OSw5ICs1OSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgewogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBleGVj
dXRlRnVuY3Rpb25JbkNvbnRleHQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNWYWx1ZSB0
aGlzVmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKLSAgICAgICAgdm9pZCBleGVjdXRl
KERvY3VtZW50Kik7Ci0gICAgICAgIHZvaWQgZXhlY3V0ZShXb3JrZXJHbG9iYWxTY29wZSopOwor
ICAgICAgICB2b2lkIGV4ZWN1dGVGdW5jdGlvbkluQ29udGV4dChKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpKU1ZhbHVlIHRoaXNWYWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAg
ICAgICB2b2lkIGV4ZWN1dGUoRG9jdW1lbnQmKTsKKyAgICAgICAgdm9pZCBleGVjdXRlKFdvcmtl
ckdsb2JhbFNjb3BlJik7CiAKICAgICAgICAgSlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPiBtX2Z1
bmN0aW9uOwogICAgICAgICBWZWN0b3I8SlNDOjpTdHJvbmc8SlNDOjpVbmtub3duPj4gbV9hcmdz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcAppbmRleCBjNGJjYjZj
N2Q1N2JmY2ZkMzg0ZmQ5NGNjYzM2Y2ExZGU0ZTM5MGI0Li5kNzE0MWYyMTI2YTkxMDU0NmViNDQz
NjRiNDIzMWE5NjQwNTEwZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1
ZXVlLmNwcApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb2N1
bWVudEV2ZW50UXVldWU6OlRpbWVyIGZpbmFsIDogcHVibGljIFN1c3BlbmRhYmxlVGltZXIgewog
cHVibGljOgogICAgIFRpbWVyKERvY3VtZW50RXZlbnRRdWV1ZSYgZXZlbnRRdWV1ZSkKLSAgICAg
ICAgOiBTdXNwZW5kYWJsZVRpbWVyKCZldmVudFF1ZXVlLm1fZG9jdW1lbnQpCisgICAgICAgIDog
U3VzcGVuZGFibGVUaW1lcihldmVudFF1ZXVlLm1fZG9jdW1lbnQpCiAgICAgICAgICwgbV9ldmVu
dFF1ZXVlKGV2ZW50UXVldWUpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAK
aW5kZXggYjNmYWY0ZDc3NzE5MzI5YzRiMGY3MmMyNzAyMGJiN2VmY2Y3YjkzOC4uNDk2OTQ3ZDJh
OWE2NjMyYTQwMDVlZmY1NTAyYmNjYjM2NGVjMmVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5j
cHAKQEAgLTU1LDEwICs1NSwxMCBAQCBzdGF0aWMgY29uc3QgaW50IG1heFRpbWVyTmVzdGluZ0xl
dmVsID0gNTsKIHN0YXRpYyBjb25zdCBkb3VibGUgb25lTWlsbGlzZWNvbmQgPSAwLjAwMTsKIAog
c3RydWN0IERPTVRpbWVyRmlyZVN0YXRlIHsKLSAgICBET01UaW1lckZpcmVTdGF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIGV4cGxpY2l0IERPTVRpbWVyRmlyZVN0YXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIDogc2NyaXB0RGlkSW50
ZXJhY3RXaXRoTm9uVXNlck9ic2VydmFibGVQbHVnaW4oZmFsc2UpCiAgICAgICAgICwgc2NyaXB0
RGlkSW50ZXJhY3RXaXRoVXNlck9ic2VydmFibGVQbHVnaW4oZmFsc2UpCi0gICAgICAgICwgc2hv
dWxkU2V0Q3VycmVudChjb250ZXh0LT5pc0RvY3VtZW50KCkpCisgICAgICAgICwgc2hvdWxkU2V0
Q3VycmVudChpczxEb2N1bWVudD4oY29udGV4dCkpCiAgICAgewogICAgICAgICAvLyBGb3Igd29y
a2VyIHRocmVhZHMsIGRvbid0IHVwZGF0ZSB0aGUgY3VycmVudCBET01UaW1lckZpcmVTdGF0ZS4K
ICAgICAgICAgLy8gU2V0dGluZyB0aGlzIGZyb20gd29ya2VycyB3b3VsZCBub3QgYmUgdGhyZWFk
LXNhZmUsIGFuZCBpdHMgbm90IHJlbGV2YW50IHRvIGN1cnJlbnQgdXNlcy4KQEAgLTg5LDExICs4
OSwxMSBAQCBET01UaW1lckZpcmVTdGF0ZSogRE9NVGltZXJGaXJlU3RhdGU6OmN1cnJlbnQgPSBu
dWxscHRyOwogc3RydWN0IE5lc3RlZFRpbWVyc01hcCB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGlu
dCwgRE9NVGltZXIqPjo6Y29uc3RfaXRlcmF0b3IgY29uc3RfaXRlcmF0b3I7CiAKLSAgICBzdGF0
aWMgTmVzdGVkVGltZXJzTWFwKiBpbnN0YW5jZUZvckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKKyAgICBzdGF0aWMgTmVzdGVkVGltZXJzTWFwKiBpbnN0YW5jZUZvckNv
bnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICB7CiAgICAgICAgIC8v
IEZvciB3b3JrZXIgdGhyZWFkcywgd2UgZG9uJ3QgdXNlIE5lc3RlZFRpbWVyc01hcCBhcyBkb2lu
ZyBzbyB3b3VsZCBub3QKICAgICAgICAgLy8gYmUgdGhyZWFkIHNhZmUuCi0gICAgICAgIGlmIChj
b250ZXh0LT5pc0RvY3VtZW50KCkpCisgICAgICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkp
CiAgICAgICAgICAgICByZXR1cm4gJmluc3RhbmNlKCk7CiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KQEAgLTE0OCw5ICsxNDgsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkRm9y
d2FyZFVzZXJHZXN0dXJlKGludCBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKICAgICAgICAg
JiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQgdG8g
bmVzdGVkIHRpbWVycy4KIH0KIAotRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwg
aW50IGludGVydmFsLCBib29sIHNpbmdsZVNob3QpCitET01UaW1lcjo6RE9NVGltZXIoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLCBpbnQgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKICAgICA6IFN1c3BlbmRh
YmxlVGltZXIoY29udGV4dCkKLSAgICAsIG1fbmVzdGluZ0xldmVsKGNvbnRleHQtPnRpbWVyTmVz
dGluZ0xldmVsKCkpCisgICAgLCBtX25lc3RpbmdMZXZlbChjb250ZXh0LnRpbWVyTmVzdGluZ0xl
dmVsKCkpCiAgICAgLCBtX2FjdGlvbihXVEY6Om1vdmUoYWN0aW9uKSkKICAgICAsIG1fb3JpZ2lu
YWxJbnRlcnZhbChpbnRlcnZhbCkKICAgICAsIG1fdGhyb3R0bGVTdGF0ZShVbmRldGVybWluZWQp
CkBAIC0xNjEsOCArMTYxLDggQEAgRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3QKIAogICAgIC8vIEtl
ZXAgYXNraW5nIGZvciB0aGUgbmV4dCBpZCB1bnRpbCB3ZSdyZSBnaXZlbiBvbmUgdGhhdCB3ZSBk
b24ndCBhbHJlYWR5IGhhdmUuCiAgICAgZG8gewotICAgICAgICBtX3RpbWVvdXRJZCA9IGNvbnRl
eHQtPmNpcmN1bGFyU2VxdWVudGlhbElEKCk7Ci0gICAgfSB3aGlsZSAoIWNvbnRleHQtPmFkZFRp
bWVvdXQobV90aW1lb3V0SWQsIHJlZmVyZW5jZSkpOworICAgICAgICBtX3RpbWVvdXRJZCA9IGNv
bnRleHQuY2lyY3VsYXJTZXF1ZW50aWFsSUQoKTsKKyAgICB9IHdoaWxlICghY29udGV4dC5hZGRU
aW1lb3V0KG1fdGltZW91dElkLCByZWZlcmVuY2UpKTsKIAogICAgIGlmIChzaW5nbGVTaG90KQog
ICAgICAgICBzdGFydE9uZVNob3QobV9jdXJyZW50VGltZXJJbnRlcnZhbCk7CkBAIC0xNzAsMTUg
KzE3MCwxNSBAQCBET01UaW1lcjo6RE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdAogICAgICAgICBzdGFydFJlcGVhdGlu
ZyhtX2N1cnJlbnRUaW1lckludGVydmFsKTsKIH0KIAotaW50IERPTVRpbWVyOjppbnN0YWxsKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRB
Y3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKK2ludCBET01UaW1l
cjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9w
dHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0LCBib29sIHNpbmdsZVNob3Qp
CiB7CiAgICAgLy8gRE9NVGltZXIgY29uc3RydWN0b3IgcGFzc2VzIG93bmVyc2hpcCBvZiB0aGUg
aW5pdGlhbCByZWYgb24gdGhlIG9iamVjdCB0byB0aGUgY29uc3RydWN0b3IuCiAgICAgLy8gVGhp
cyByZWZlcmVuY2Ugd2lsbCBiZSByZWxlYXNlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYSBvbmUtc2hv
dCB0aW1lciBmaXJlcywgd2hlbiB0aGUgY29udGV4dAogICAgIC8vIGlzIGRlc3Ryb3llZCwgb3Ig
aWYgZXhwbGljaXRseSBjYW5jZWxsZWQgYnkgcmVtb3ZlQnlJZC4gCiAgICAgRE9NVGltZXIqIHRp
bWVyID0gbmV3IERPTVRpbWVyKGNvbnRleHQsIFdURjo6bW92ZShhY3Rpb24pLCB0aW1lb3V0LCBz
aW5nbGVTaG90KTsKICNpZiBQTEFURk9STShJT1MpCi0gICAgaWYgKGlzPERvY3VtZW50PigqY29u
dGV4dCkpIHsKLSAgICAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+
KCpjb250ZXh0KTsKKyAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CisgICAgICAgIERv
Y3VtZW50JiBkb2N1bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KTsKICAgICAgICAg
Ym9vbCBkaWREZWZlclRpbWVvdXQgPSBkb2N1bWVudC5mcmFtZSgpICYmIGRvY3VtZW50LmZyYW1l
KCktPnRpbWVyc1BhdXNlZCgpOwogICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1l
b3V0IDw9IDEwMCAmJiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29u
dGVudENoYW5nZShXS0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKQEAgLTE4OCw3ICsxODgs
NyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2VuZGlmCiAKICAgICB0aW1lci0+c3VzcGVu
ZElmTmVlZGVkKCk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGlt
ZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCB0aW1lb3V0LCBzaW5nbGVTaG90KTsKKyAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxUaW1lcigmY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCB0aW1lb3V0LCBzaW5nbGVTaG90KTsKIAogICAgIC8vIEtlZXAgdHJh
Y2sgb2YgbmVzdGVkIHRpbWVyIGluc3RhbGxzLgogICAgIGlmIChOZXN0ZWRUaW1lcnNNYXAqIG5l
c3RlZFRpbWVycyA9IE5lc3RlZFRpbWVyc01hcDo6aW5zdGFuY2VGb3JDb250ZXh0KGNvbnRleHQp
KQpAQCAtMTk3LDcgKzE5Nyw3IEBAIGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAgICAgcmV0dXJu
IHRpbWVyLT5tX3RpbWVvdXRJZDsKIH0KIAotdm9pZCBET01UaW1lcjo6cmVtb3ZlQnlJZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBpbnQgdGltZW91dElkKQordm9pZCBET01UaW1l
cjo6cmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBpbnQgdGltZW91
dElkKQogewogICAgIC8vIHRpbWVvdXQgSURzIGhhdmUgdG8gYmUgcG9zaXRpdmUsIGFuZCAwIGFu
ZCAtMSBhcmUgdW5zYWZlIHRvCiAgICAgLy8gZXZlbiBsb29rIHVwIHNpbmNlIHRoZXkgYXJlIHRo
ZSBlbXB0eSBhbmQgZGVsZXRlZCB2YWx1ZQpAQCAtMjA4LDggKzIwOCw4IEBAIHZvaWQgRE9NVGlt
ZXI6OnJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgaW50IHRpbWVv
dXRJZCkKICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRUaW1l
cnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKICAgICAgICAgbmVzdGVkVGltZXJz
LT5yZW1vdmUodGltZW91dElkKTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
UmVtb3ZlVGltZXIoY29udGV4dCwgdGltZW91dElkKTsKLSAgICBjb250ZXh0LT5yZW1vdmVUaW1l
b3V0KHRpbWVvdXRJZCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZW1vdmVU
aW1lcigmY29udGV4dCwgdGltZW91dElkKTsKKyAgICBjb250ZXh0LnJlbW92ZVRpbWVvdXQodGlt
ZW91dElkKTsKIH0KIAogdm9pZCBET01UaW1lcjo6dXBkYXRlVGhyb3R0bGluZ1N0YXRlSWZOZWNl
c3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUmIGZpcmVTdGF0ZSkKQEAgLTI0NSwyNyArMjQ1
LDI3IEBAIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKICAgICAvLyB3YWl0IHVuaXQgdGhlIGVuZCBv
ZiB0aGlzIGZ1bmN0aW9uIHRvIGRlbGV0ZSBET01UaW1lci4KICAgICBSZWZQdHI8RE9NVGltZXI+
IHJlZmVyZW5jZSA9IHRoaXM7CiAKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIEFTU0VSVChjb250ZXh0KTsKKyAgICBB
U1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0ID0gKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKIAogICAgIERPTVRpbWVy
RmlyZVN0YXRlIGZpcmVTdGF0ZShjb250ZXh0KTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBudWxscHRyOwotICAgIGlmIChpczxEb2N1bWVudD4oKmNvbnRl
eHQpKSB7Ci0gICAgICAgIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOwor
ICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKKyAgICAgICAgZG9jdW1lbnQgPSAmZG93
bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOwogICAgICAgICBBU1NFUlQoIWRvY3VtZW50LT5mcmFt
ZSgpLT50aW1lcnNQYXVzZWQoKSk7CiAgICAgfQogI2VuZGlmCi0gICAgY29udGV4dC0+c2V0VGlt
ZXJOZXN0aW5nTGV2ZWwoc3RkOjptaW4obV9uZXN0aW5nTGV2ZWwgKyAxLCBtYXhUaW1lck5lc3Rp
bmdMZXZlbCkpOworICAgIGNvbnRleHQuc2V0VGltZXJOZXN0aW5nTGV2ZWwoc3RkOjptaW4obV9u
ZXN0aW5nTGV2ZWwgKyAxLCBtYXhUaW1lck5lc3RpbmdMZXZlbCkpOwogCiAgICAgQVNTRVJUKCFp
c1N1c3BlbmRlZCgpKTsKLSAgICBBU1NFUlQoIWNvbnRleHQtPmFjdGl2ZURPTU9iamVjdHNBcmVT
dXNwZW5kZWQoKSk7CisgICAgQVNTRVJUKCFjb250ZXh0LmFjdGl2ZURPTU9iamVjdHNBcmVTdXNw
ZW5kZWQoKSk7CiAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcihtX3No
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSA/IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUg
OiBQb3NzaWJseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CiAgICAgLy8gT25seSB0aGUgZmlyc3Qg
ZXhlY3V0aW9uIG9mIGEgbXVsdGktc2hvdCB0aW1lciBzaG91bGQgZ2V0IGFuIGFmZmlybWF0aXZl
IHVzZXIgZ2VzdHVyZSBpbmRpY2F0b3IuCiAgICAgbV9zaG91bGRGb3J3YXJkVXNlckdlc3R1cmUg
PSBmYWxzZTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlVGltZXIoY29udGV4dCwgbV90aW1lb3V0
SWQpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlVGltZXIoJmNvbnRleHQsIG1fdGltZW91dElkKTsK
IAogICAgIC8vIFNpbXBsZSBjYXNlIGZvciBub24tb25lLXNob3QgdGltZXJzLgogICAgIGlmIChp
c0FjdGl2ZSgpKSB7CkBAIC0yODIsNyArMjgyLDcgQEAgdm9pZCBET01UaW1lcjo6ZmlyZWQoKQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgY29udGV4dC0+cmVtb3ZlVGltZW91dChtX3Rp
bWVvdXRJZCk7CisgICAgY29udGV4dC5yZW1vdmVUaW1lb3V0KG1fdGltZW91dElkKTsKIAogI2lm
IFBMQVRGT1JNKElPUykKICAgICBib29sIHNob3VsZFJlcG9ydExhY2tPZkNoYW5nZXM7CkBAIC0z
MzAsNyArMzMwLDcgQEAgdm9pZCBET01UaW1lcjo6ZmlyZWQoKQogICAgICAgICBuZXN0ZWRUaW1l
cnMtPnN0b3BUcmFja2luZygpOwogICAgIH0KIAotICAgIGNvbnRleHQtPnNldFRpbWVyTmVzdGlu
Z0xldmVsKDApOworICAgIGNvbnRleHQuc2V0VGltZXJOZXN0aW5nTGV2ZWwoMCk7CiB9CiAKIHZv
aWQgRE9NVGltZXI6OmRpZFN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCmluZGV4IGRkMWIxZjQz
ZWYxNjc2OGIwNjcyMWUzMDhjZGU2OTM4YjU1YjNiOTguLjgzMWVkYmI5YzE3MDZiMWNkODE0YWFm
ODNiNTQ0YjA4NWI5YzhkNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGlt
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKQEAgLTQzLDggKzQzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQ3JlYXRlcyBh
IG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgc3Rh
cnRzIGl0CiAgICAgICAgIC8vIGFuZCByZXR1cm5zIGl0cyBJZC4KLSAgICAgICAgc3RhdGljIGlu
dCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1
bGVkQWN0aW9uPiwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7Ci0gICAgICAgIHN0YXRp
YyB2b2lkIHJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGludCB0aW1lb3V0SWQp
OworICAgICAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgdGltZW91dCwgYm9vbCBzaW5nbGVT
aG90KTsKKyAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAgICAgLy8gTm90aWZ5IHRoYXQgdGhlIGludGVy
dmFsIG1heSBuZWVkIHVwZGF0aW5nIChlLmcuIGJlY2F1c2UgdGhlIG1pbmltdW0gaW50ZXJ2YWwK
ICAgICAgICAgLy8gc2V0dGluZyBmb3IgdGhlIGNvbnRleHQgaGFzIGNoYW5nZWQpLgpAQCAtNTMs
NyArNTMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjcmlw
dERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVudCYpOwogCiAgICAgcHJpdmF0
ZToKLSAgICAgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIHN0ZDo6dW5pcXVl
X3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBpbnQgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCk7Cisg
ICAgICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiwgaW50IGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwogICAgICAg
ICBkb3VibGUgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAgICAgICAgIHZvaWQg
dXBkYXRlVGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGZiYzMxZDIzZDNhNjFhMzBiOTAy
OGVhM2UxNDU1YmRiYTU4Mjg1NTAuLjhhM2U4MjI2YmE4MDI3YjM3NzVjZGMwMTlmZDZhNjM2ZGZj
NDNlN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE2MDYsNyArMTYwNiw3IEBA
IGludCBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLCBpbnQgdGltZW91dCwKICAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7
CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxs
KGNvbnRleHQsIFdURjo6bW92ZShhY3Rpb24pLCB0aW1lb3V0LCB0cnVlKTsKKyAgICByZXR1cm4g
RE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURjo6bW92ZShhY3Rpb24pLCB0aW1lb3V0LCB0
cnVlKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpA
QCAtMTYzMCw3ICsxNjMwLDcgQEAgdm9pZCBET01XaW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGlt
ZW91dElkKQogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm47Ci0gICAg
RE9NVGltZXI6OnJlbW92ZUJ5SWQoY29udGV4dCwgdGltZW91dElkKTsKKyAgICBET01UaW1lcjo6
cmVtb3ZlQnlJZCgqY29udGV4dCwgdGltZW91dElkKTsKIH0KIAogaW50IERPTVdpbmRvdzo6c2V0
SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGlt
ZW91dCwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xNjQwLDcgKzE2NDAsNyBAQCBpbnQgRE9NV2lu
ZG93OjpzZXRJbnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
IGludCB0aW1lb3V0LAogICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKICAgICAgICAg
cmV0dXJuIC0xOwogICAgIH0KLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoY29udGV4dCwg
V1RGOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6
Omluc3RhbGwoKmNvbnRleHQsIFdURjo6bW92ZShhY3Rpb24pLCB0aW1lb3V0LCBmYWxzZSk7CiB9
CiAKIHZvaWQgRE9NV2luZG93OjpjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpCkBAIC0xNjQ4
LDcgKzE2NDgsNyBAQCB2b2lkIERPTVdpbmRvdzo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElk
KQogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm47Ci0gICAgRE9NVGlt
ZXI6OnJlbW92ZUJ5SWQoY29udGV4dCwgdGltZW91dElkKTsKKyAgICBET01UaW1lcjo6cmVtb3Zl
QnlJZCgqY29udGV4dCwgdGltZW91dElkKTsKIH0KIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1B
VElPTl9GUkFNRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVU
aW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4
IDgyZjk3ZGJiOTg0ZWQzMWQ1YzZmOWRjYzc4ZTk5MDM1N2NmODIyZWEuLjk5ZDA0NWFhYzdlZTgz
ZDJkYWFlMjYzNGJmMzJhYjIxNjdmNDA0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3VzcGVuZGFibGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5k
YWJsZVRpbWVyLmNwcApAQCAtMzEsOCArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVN1c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCkKLSAgICA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0KQorU3VzcGVuZGFibGVU
aW1lcjo6U3VzcGVuZGFibGVUaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQor
ICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9zdXNwZW5kZWQoZmFsc2Up
CiAgICAgLCBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCgwKQogICAgICwgbV9zYXZlZFJlcGVhdElu
dGVydmFsKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGlt
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDg5NGU5
YjVjM2RkN2RlMGQ2YmRmMzUwYmRlMTM5ZDNlYWIwYzM0OGMuLjg4OTM0ZDc5ODU5MTVmMmI3YTBi
YTI4MjE0YTcxYTRhMDJiMjNhNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3VzcGVu
ZGFibGVUaW1lciA6IHByaXZhdGUgVGltZXJCYXNlLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
IHB1YmxpYzoKLSAgICBleHBsaWNpdCBTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKTsKKyAgICBleHBsaWNpdCBTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKTsKICAgICB2aXJ0dWFsIH5TdXNwZW5kYWJsZVRpbWVyKCk7CiAKICAgICAvLyBBIGhv
b2sgZm9yIGRlcml2ZWQgY2xhc3NlcyB0byBwZXJmb3JtIGNsZWFudXAuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDRlOGQ4N2VhNjA1OTY1MDgy
YTEwMzlhZDZhYzgzODhkNDk5MDU1MGUuLmE1OTllNmZmODNiMDA3NDgxNDc1ZTlkMDk5MjZmMTcw
YTUxMTMxMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCkBAIC0xNTQsMjIgKzE1NCwyMiBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0VGFz
ayhUYXNrIHRhc2spCiAKIGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJl
dHVybiBET01UaW1lcjo6aW5zdGFsbChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFdURjo6bW92
ZShhY3Rpb24pLCB0aW1lb3V0LCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwo
KnRoaXMsIFdURjo6bW92ZShhY3Rpb24pLCB0aW1lb3V0LCB0cnVlKTsKIH0KIAogdm9pZCBXb3Jr
ZXJHbG9iYWxTY29wZTo6Y2xlYXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCiB7Ci0gICAgRE9NVGlt
ZXI6OnJlbW92ZUJ5SWQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB0aW1lb3V0SWQpOworICAg
IERPTVRpbWVyOjpyZW1vdmVCeUlkKCp0aGlzLCB0aW1lb3V0SWQpOwogfQogCiBpbnQgV29ya2Vy
R2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+
IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgV1RGOjptb3ZlKGFjdGlvbiksIHRpbWVvdXQsIGZhbHNl
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURjo6bW92ZShhY3Rpb24p
LCB0aW1lb3V0LCBmYWxzZSk7CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFySW50
ZXJ2YWwoaW50IHRpbWVvdXRJZCkKIHsKLSAgICBET01UaW1lcjo6cmVtb3ZlQnlJZChzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIHRpbWVvdXRJZCk7CisgICAgRE9NVGltZXI6OnJlbW92ZUJ5SWQo
KnRoaXMsIHRpbWVvdXRJZCk7CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmltcG9ydFNj
cmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcAppbmRleCAxZTVmNDJhNDVkNjAyMjJiNDI0NmI5MGY2YzBmYTMyZWZlY2Vm
YjdkLi45MDRmMzlhYTlmMmJkNGU1NWIzNWU0MmFiODYzMTg0ODViYzgzOTBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcApAQCAtMTI2Nyw3ICsxMjY3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBXaW5k
b3dDbG9zZVRpbWVyKiBjcmVhdGUoV2ViVmlldyopOwogCiBwcml2YXRlOgotICAgIFdpbmRvd0Ns
b3NlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlZpZXcqKTsKKyAgICBXaW5kb3dD
bG9zZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXZWJWaWV3Kik7CiAgICAgdmlydHVh
bCB2b2lkIGNvbnRleHREZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKTsKIApA
QCAtMTI4MCwyMSArMTI4MCwyMCBAQCBXaW5kb3dDbG9zZVRpbWVyKiBXaW5kb3dDbG9zZVRpbWVy
OjpjcmVhdGUoV2ViVmlldyogd2ViVmlldykKICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHdlYlZp
ZXctPnRvcExldmVsRnJhbWUoKSk7CiAgICAgQVNTRVJUKGZyYW1lKTsKICAgICBpZiAoIWZyYW1l
KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKTsKICAgICBBU1NFUlQoZG9jdW1lbnQp
OwogICAgIGlmICghZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKIAotICAgIHJldHVybiBuZXcgV2luZG93Q2xvc2VUaW1lcihkb2N1bWVudCwgd2Vi
Vmlldyk7CisgICAgcmV0dXJuIG5ldyBXaW5kb3dDbG9zZVRpbWVyKCpkb2N1bWVudCwgd2ViVmll
dyk7CiB9CiAKLVdpbmRvd0Nsb3NlVGltZXI6OldpbmRvd0Nsb3NlVGltZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgV2ViVmlldyogd2ViVmlldykKK1dpbmRvd0Nsb3NlVGltZXI6
OldpbmRvd0Nsb3NlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgV2ViVmll
dyogd2ViVmlldykKICAgICA6IFN1c3BlbmRhYmxlVGltZXIoY29udGV4dCkKICAgICAsIG1fd2Vi
Vmlldyh3ZWJWaWV3KQogewotICAgIEFTU0VSVF9BUkcoY29udGV4dCwgY29udGV4dCk7CiAgICAg
QVNTRVJUX0FSRyh3ZWJWaWV3LCB3ZWJWaWV3KTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>