<?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>127728</bug_id>
          
          <creation_ts>2014-01-27 16:38:31 -0800</creation_ts>
          <short_desc>Expose SQL database creation and modification times</short_desc>
          <delta_ts>2014-01-28 10:14:39 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972663</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-27 16:38:31 -0800</bug_when>
    <thetext>Would like clients to have access to database creation and modification time.

&lt;rdar://problem/15642467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972667</commentid>
    <comment_count>1</comment_count>
      <attachid>222380</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-27 16:45:50 -0800</bug_when>
    <thetext>Created attachment 222380
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972668</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-27 16:47:29 -0800</bug_when>
    <thetext>Attachment 222380 did not pass style-queue:


ERROR: Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp:488:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
ERROR: Source/WebCore/Modules/webdatabase/DatabaseManager.cpp:56:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 2 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972676</commentid>
    <comment_count>3</comment_count>
      <attachid>222380</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-27 17:02:12 -0800</bug_when>
    <thetext>Comment on attachment 222380
proposed patch

Work through the build fixes, then r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972988</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-01-28 10:14:39 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r162943&gt; with a Gtk build fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222380</attachid>
            <date>2014-01-27 16:45:50 -0800</date>
            <delta_ts>2014-01-27 17:02:11 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>DatabaseTimes.txt</filename>
            <type>text/plain</type>
            <size>20014</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjg4NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAxLTI3ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBTUUwgZGF0YWJh
c2UgY3JlYXRpb24gYW5kIG1vZGlmaWNhdGlvbiB0aW1lcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVtLmg6CisgICAg
ICAgICogcGxhdGZvcm0vcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmdldEZpbGVDcmVhdGlvblRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9GaWxlU3lz
dGVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEZpbGVDcmVhdGlvblRpbWVGcm9tRmlu
ZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RmlsZUNyZWF0aW9uVGltZSk6CisgICAgICAg
IEFkZGVkIGZ1bmN0aW9ucyB0byBnZXQgZmlsZSBjcmVhdGlvbiB0aW1lcy4gTm90IGFsbCBPU2Vz
IHN1cHBvcnQgdGhhdCwgYnV0IERhcndpbgorICAgICAgICBhbmQgV2luZG93cyBkbywgYXMgKEkg
dGhpbmspIHZhcmlvdXMgQlNEIGZsYXZvcnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9zcWwvU1FM
aXRlRmlsZVN5c3RlbS5oOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06OmRhdGFiYXNlQ3JlYXRp
b25UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06OmRhdGFiYXNlTW9k
aWZpY2F0aW9uVGltZSk6CisgICAgICAgIEV4cG9zZSBpdCBpbiB0aGUgc2FtZSBzdHJhbmdlIG1h
bm5lciBvdGhlciBkYXRhYmFzZSBmaWxlIG9wZXJhdGlvbnMgYXJlLgorCisgICAgICAgICogTW9k
dWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZURldGFpbHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGFiYXNlRGV0YWlsczo6RGF0YWJhc2VEZXRhaWxzKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFi
YXNlRGV0YWlsczo6Y3JlYXRpb25UaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlRGV0
YWlsczo6bW9kaWZpY2F0aW9uVGltZSk6CisgICAgICAgIEFkZGVkIGNyZWF0aW9uIGFuZCBtb2Rp
ZmljYXRpb24gdGltZXMgdG8gRGF0YWJhc2VEZXRhaWxzLgorCisgICAgICAgICogTW9kdWxlcy93
ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJh
c2VNYW5hZ2VyOjpQcm9wb3NlZERhdGFiYXNlOjpQcm9wb3NlZERhdGFiYXNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRhdGFiYXNlTWFuYWdlcjo6b3BlbkRhdGFiYXNlQmFja2VuZCk6CisgICAgICAg
IFByb3Bvc2VkRGF0YWJhc2UgaXMgYW4gdW5mb3J0dW5hdGUgbWVjaGFuaXNtIGZvciBjb21tdW5p
Y2F0aW5nIHF1b3RhIGVycm9ycyB0byB0aGUKKyAgICAgICAgY2xpZW50LCB3ZSBzaG91bGQgcmVh
bGx5IHN0cmFpZ2h0ZW4gaXQgdXAuIEJ1dCBmb3Igbm93LCBqdXN0IGxlYXZlIHRoZSB0aW1lcyB1
bmluaXRpYWxpemVkLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUJh
Y2tlbmRCYXNlLmNwcDogKFdlYkNvcmU6OkRhdGFiYXNlQmFja2VuZEJhc2U6OmRldGFpbHMpOgor
ICAgICAgICBUaGlzIGNvZGUgcGF0aCBpcyBmb3IgaGFuZGxpbmcgcXVvdGEgZXJyb3JzLCBzbyB0
aGVyZSBpcyBubyBuZWVkIHRvIGluaXRpYWxpemUgbW9zdAorICAgICAgICBvZiBEYXRhYmFzZURl
dGFpbHMgaGVyZSBhcyB3ZWxsLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZVRyYWNrZXIuY3BwOiAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpkZXRhaWxzRm9yTmFt
ZUFuZE9yaWdpbik6CisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNr
ZXIuaDoKKyAgICAgICAgRmlsbCBpbiBkYXRhYmFzZSBmaWxlIHRpbWVzLiBJbmxpbmVkIGFuZCBy
ZW1vdmVkIHVzYWdlRm9yRGF0YWJhc2UgZnVuY3Rpb24gdG8KKyAgICAgICAgYXZvaWQgcmVidWls
ZGluZyB0aGUgcGF0aCBtdWx0aXBsZSB0aW1lcy4KKwogMjAxNC0wMS0yNyAgUm9nZXIgRm9uZyAg
PHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBUZXN0cyBjcmFzaGlu
ZyBvbiBXaW5kb3dzIGFmdGVyIHIxNjI4MTYuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlQmFja2VuZEJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VCYWNrZW5kQmFzZS5jcHAJKHJl
dmlzaW9uIDE2Mjg0MykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0
YWJhc2VCYWNrZW5kQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1NSw3ICs0NTUsOCBAQCBT
dHJpbmcgRGF0YWJhc2VCYWNrZW5kQmFzZTo6ZmlsZU5hbWUoKSBjCiAKIERhdGFiYXNlRGV0YWls
cyBEYXRhYmFzZUJhY2tlbmRCYXNlOjpkZXRhaWxzKCkgY29uc3QKIHsKLSAgICByZXR1cm4gRGF0
YWJhc2VEZXRhaWxzKHN0cmluZ0lkZW50aWZpZXIoKSwgZGlzcGxheU5hbWUoKSwgZXN0aW1hdGVk
U2l6ZSgpLCAwKTsKKyAgICAvLyBUaGlzIGNvZGUgcGF0aCBpcyBvbmx5IHVzZWQgZm9yIGRhdGFi
YXNlIHF1b3RhIGRlbGVnYXRlIGNhbGxzLCBzbyBmaWxlIGRhdGVzIGFyZSBpcnJlbGV2YW50IGFu
ZCBsZWZ0IHVuaW5pdGlhbGl6ZWQuCisgICAgcmV0dXJuIERhdGFiYXNlRGV0YWlscyhzdHJpbmdJ
ZGVudGlmaWVyKCksIGRpc3BsYXlOYW1lKCksIGVzdGltYXRlZFNpemUoKSwgMCwgMCwgMCk7CiB9
CiAKIGJvb2wgRGF0YWJhc2VCYWNrZW5kQmFzZTo6Z2V0VmVyc2lvbkZyb21EYXRhYmFzZShTdHJp
bmcmIHZlcnNpb24sIGJvb2wgc2hvdWxkQ2FjaGVWZXJzaW9uKQpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZURldGFpbHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlRGV0YWlscy5oCShyZXZp
c2lvbiAxNjI4NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlRGV0YWlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNyArNDEsMjEgQEAgcHVibGljOgog
ICAgIERhdGFiYXNlRGV0YWlscygpCiAgICAgICAgIDogbV9leHBlY3RlZFVzYWdlKDApCiAgICAg
ICAgICwgbV9jdXJyZW50VXNhZ2UoMCkKKyAgICAgICAgLCBtX2NyZWF0aW9uVGltZSgwKQorICAg
ICAgICAsIG1fbW9kaWZpY2F0aW9uVGltZSgwKQogI2lmbmRlZiBOREVCVUcKICAgICAgICAgLCBt
X3RocmVhZElEKHN0ZDo6dGhpc190aHJlYWQ6OmdldF9pZCgpKQogI2VuZGlmCiAgICAgewogICAg
IH0KIAotICAgIERhdGFiYXNlRGV0YWlscyhjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwgY29u
c3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBsb25nIGV4cGVjdGVkVXNhZ2Us
IHVuc2lnbmVkIGxvbmcgbG9uZyBjdXJyZW50VXNhZ2UpCisgICAgRGF0YWJhc2VEZXRhaWxzKGNv
bnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNp
Z25lZCBsb25nIGxvbmcgZXhwZWN0ZWRVc2FnZSwgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRV
c2FnZSwgZG91YmxlIGNyZWF0aW9uVGltZSwgZG91YmxlIG1vZGlmaWNhdGlvblRpbWUpCiAgICAg
ICAgIDogbV9uYW1lKGRhdGFiYXNlTmFtZSkKICAgICAgICAgLCBtX2Rpc3BsYXlOYW1lKGRpc3Bs
YXlOYW1lKQogICAgICAgICAsIG1fZXhwZWN0ZWRVc2FnZShleHBlY3RlZFVzYWdlKQogICAgICAg
ICAsIG1fY3VycmVudFVzYWdlKGN1cnJlbnRVc2FnZSkKKyAgICAgICAgLCBtX2NyZWF0aW9uVGlt
ZShjcmVhdGlvblRpbWUpCisgICAgICAgICwgbV9tb2RpZmljYXRpb25UaW1lKG1vZGlmaWNhdGlv
blRpbWUpCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICAsIG1fdGhyZWFkSUQoc3RkOjp0aGlzX3Ro
cmVhZDo6Z2V0X2lkKCkpCiAjZW5kaWYKQEAgLTYyLDYgKzY2LDggQEAgcHVibGljOgogICAgIGNv
bnN0IFN0cmluZyYgZGlzcGxheU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Rpc3BsYXlOYW1lOyB9
CiAgICAgdWludDY0X3QgZXhwZWN0ZWRVc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwZWN0ZWRV
c2FnZTsgfQogICAgIHVpbnQ2NF90IGN1cnJlbnRVc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vy
cmVudFVzYWdlOyB9CisgICAgZG91YmxlIGNyZWF0aW9uVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3JlYXRpb25UaW1lOyB9CisgICAgZG91YmxlIG1vZGlmaWNhdGlvblRpbWUoKSBjb25zdCB7IHJl
dHVybiBtX21vZGlmaWNhdGlvblRpbWU7IH0KICNpZm5kZWYgTkRFQlVHCiAgICAgc3RkOjp0aHJl
YWQ6OmlkIHRocmVhZElEKCkgY29uc3QgeyByZXR1cm4gbV90aHJlYWRJRDsgfQogI2VuZGlmCkBA
IC03MSw2ICs3Nyw4IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZGlzcGxheU5hbWU7CiAgICAg
dWludDY0X3QgbV9leHBlY3RlZFVzYWdlOwogICAgIHVpbnQ2NF90IG1fY3VycmVudFVzYWdlOwor
ICAgIGRvdWJsZSBtX2NyZWF0aW9uVGltZTsKKyAgICBkb3VibGUgbV9tb2RpZmljYXRpb25UaW1l
OwogI2lmbmRlZiBOREVCVUcKICAgICBzdGQ6OnRocmVhZDo6aWQgbV90aHJlYWRJRDsKICNlbmRp
ZgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFn
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VNYW5hZ2VyLmNwcAkocmV2aXNpb24gMTYyODQzKQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Myw3ICs1Myw3IEBAIERhdGFiYXNlTWFuYWdlcjo6UHJvcG9zZWREYXRhYmFzZTo6UHJvcG8K
ICAgICBTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSkKICAgICA6IG1f
bWFuYWdlcihtYW5hZ2VyKQogICAgICwgbV9vcmlnaW4ob3JpZ2luLT5pc29sYXRlZENvcHkoKSkK
LSAgICAsIG1fZGV0YWlscyhuYW1lLmlzb2xhdGVkQ29weSgpLCBkaXNwbGF5TmFtZS5pc29sYXRl
ZENvcHkoKSwgZXN0aW1hdGVkU2l6ZSwgMCkKKyAgICAsIG1fZGV0YWlscyhuYW1lLmlzb2xhdGVk
Q29weSgpLCBkaXNwbGF5TmFtZS5pc29sYXRlZENvcHkoKSwgZXN0aW1hdGVkU2l6ZSwgMCwgMCwg
MCkKIHsKICAgICBtX21hbmFnZXIuYWRkUHJvcG9zZWREYXRhYmFzZSh0aGlzKTsKIH0KQEAgLTI2
OCw4ICsyNjgsNyBAQCBQYXNzUmVmUHRyPERhdGFiYXNlQmFja2VuZEJhc2U+IERhdGFiYXNlCiAg
ICAgICAgICAgICAvLyBvbmUgbW9yZSB0cnkgYWZ0ZXIgaWYgdGhhdCBpcyB0aGUgY2FzZS4KICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBQcm9wb3NlZERhdGFiYXNlIHByb3Bvc2VkRGIo
KnRoaXMsIGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCksIG5hbWUsIGRpc3BsYXlOYW1lLCBlc3Rp
bWF0ZWRTaXplKTsKLSAgICAgICAgICAgICAgICBkYXRhYmFzZUNvbnRleHQtPmRhdGFiYXNlRXhj
ZWVkZWRRdW90YShuYW1lLAotICAgICAgICAgICAgICAgICAgICBEYXRhYmFzZURldGFpbHMobmFt
ZS5pc29sYXRlZENvcHkoKSwgZGlzcGxheU5hbWUuaXNvbGF0ZWRDb3B5KCksIGVzdGltYXRlZFNp
emUsIDApKTsKKyAgICAgICAgICAgICAgICBkYXRhYmFzZUNvbnRleHQtPmRhdGFiYXNlRXhjZWVk
ZWRRdW90YShuYW1lLCBwcm9wb3NlZERiLmRldGFpbHMoKSk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBlcnJvciA9IERhdGFiYXNlRXJyb3I6Ok5vbmU7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5jcHAJ
KHJldmlzaW9uIDE2Mjg0MykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
RGF0YWJhc2VUcmFja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDg0LDcgKzQ4NCwxMSBAQCBE
YXRhYmFzZURldGFpbHMgRGF0YWJhc2VUcmFja2VyOjpkZXRhaWxzCiAgICAgICAgIGV4cGVjdGVk
VXNhZ2UgPSBzdGF0ZW1lbnQuZ2V0Q29sdW1uSW50NjQoMSk7CiAgICAgfQogCi0gICAgcmV0dXJu
IERhdGFiYXNlRGV0YWlscyhuYW1lLCBkaXNwbGF5TmFtZSwgZXhwZWN0ZWRVc2FnZSwgdXNhZ2VG
b3JEYXRhYmFzZShuYW1lLCBvcmlnaW4pKTsKKyAgICBTdHJpbmcgcGF0aCA9IGZ1bGxQYXRoRm9y
RGF0YWJhc2Uob3JpZ2luLCBuYW1lLCBmYWxzZSk7CisgICAgaWYgKCFwYXRoLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIERhdGFiYXNlRGV0YWlscyhuYW1lLCBkaXNwbGF5TmFtZSwgZXhwZWN0
ZWRVc2FnZSwgU1FMaXRlRmlsZVN5c3RlbTo6Z2V0RGF0YWJhc2VGaWxlU2l6ZShwYXRoKSwgU1FM
aXRlRmlsZVN5c3RlbTo6ZGF0YWJhc2VDcmVhdGlvblRpbWUocGF0aCksIFNRTGl0ZUZpbGVTeXN0
ZW06OmRhdGFiYXNlTW9kaWZpY2F0aW9uVGltZShwYXRoKSk7CisgICAgZWxzZQorICAgICAgICBy
ZXR1cm4gRGF0YWJhc2VEZXRhaWxzKG5hbWUsIGRpc3BsYXlOYW1lLCBleHBlY3RlZFVzYWdlLCAw
LCAwLCAwKTsKIH0KIAogdm9pZCBEYXRhYmFzZVRyYWNrZXI6OnNldERhdGFiYXNlRGV0YWlscyhT
ZWN1cml0eU9yaWdpbiogb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSkKQEAgLTUzOSwxNSArNTQz
LDYgQEAgdm9pZCBEYXRhYmFzZVRyYWNrZXI6OnNldERhdGFiYXNlRGV0YWlscwogICAgICAgICBt
X2NsaWVudC0+ZGlzcGF0Y2hEaWRNb2RpZnlEYXRhYmFzZShvcmlnaW4sIG5hbWUpOwogfQogCi11
bnNpZ25lZCBsb25nIGxvbmcgRGF0YWJhc2VUcmFja2VyOjp1c2FnZUZvckRhdGFiYXNlKGNvbnN0
IFN0cmluZyYgbmFtZSwgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKLXsKLSAgICBTdHJpbmcgcGF0
aCA9IGZ1bGxQYXRoRm9yRGF0YWJhc2Uob3JpZ2luLCBuYW1lLCBmYWxzZSk7Ci0gICAgaWYgKHBh
dGguaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBTUUxpdGVGaWxl
U3lzdGVtOjpnZXREYXRhYmFzZUZpbGVTaXplKHBhdGgpOwotfQotCiB2b2lkIERhdGFiYXNlVHJh
Y2tlcjo6ZG9uZUNyZWF0aW5nRGF0YWJhc2UoRGF0YWJhc2VCYWNrZW5kQmFzZSogZGF0YWJhc2Up
CiB7CiAgICAgTXV0ZXhMb2NrZXIgbG9ja0RhdGFiYXNlKG1fZGF0YWJhc2VHdWFyZCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VU
cmFja2VyLmgJKHJldmlzaW9uIDE2Mjg0MykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTkwLDcgKzkwLDYg
QEAgcHVibGljOgogCiAgICAgRGF0YWJhc2VEZXRhaWxzIGRldGFpbHNGb3JOYW1lQW5kT3JpZ2lu
KGNvbnN0IFN0cmluZyYsIFNlY3VyaXR5T3JpZ2luKik7CiAKLSAgICB1bnNpZ25lZCBsb25nIGxv
bmcgdXNhZ2VGb3JEYXRhYmFzZShjb25zdCBTdHJpbmcmLCBTZWN1cml0eU9yaWdpbiopOwogICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyB1c2FnZUZvck9yaWdpbihTZWN1cml0eU9yaWdpbiopOwogICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YUZvck9yaWdpbihTZWN1cml0eU9yaWdpbiopOwogICAg
IHZvaWQgc2V0UXVvdGEoU2VjdXJpdHlPcmlnaW4qLCB1bnNpZ25lZCBsb25nIGxvbmcpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaAkocmV2aXNpb24gMTYyODQzKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDQsNiArMTQ0LDcgQEAgYm9vbCBkZWxldGVGaWxlKGNvbnN0IFN0cmluZyYpOwogYm9vbCBkZWxl
dGVFbXB0eURpcmVjdG9yeShjb25zdCBTdHJpbmcmKTsKIGJvb2wgZ2V0RmlsZVNpemUoY29uc3Qg
U3RyaW5nJiwgbG9uZyBsb25nJiByZXN1bHQpOwogYm9vbCBnZXRGaWxlTW9kaWZpY2F0aW9uVGlt
ZShjb25zdCBTdHJpbmcmLCB0aW1lX3QmIHJlc3VsdCk7Citib29sIGdldEZpbGVDcmVhdGlvblRp
bWUoY29uc3QgU3RyaW5nJiwgdGltZV90JiByZXN1bHQpOyAvLyBOb3QgYWxsIHBsYXRmb3JtcyBz
dG9yZSBmaWxlIGNyZWF0aW9uIHRpbWUuCiBib29sIGdldEZpbGVNZXRhZGF0YShjb25zdCBTdHJp
bmcmLCBGaWxlTWV0YWRhdGEmKTsKIFN0cmluZyBwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoY29u
c3QgU3RyaW5nJiBwYXRoLCBjb25zdCBTdHJpbmcmIGNvbXBvbmVudCk7CiBib29sIG1ha2VBbGxE
aXJlY3Rvcmllcyhjb25zdCBTdHJpbmcmIHBhdGgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCShyZXZpc2lvbiAxNjI4NDMp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xODMsNiArMTgzLDI4IEBAIGJvb2wgZ2V0RmlsZVNpemUoY29uc3Qg
U3RyaW5nJiBwYXRoLCBsb24KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBnZXRGaWxlQ3Jl
YXRpb25UaW1lKGNvbnN0IFN0cmluZyYgcGF0aCwgdGltZV90JiByZXN1bHQpCit7CisjaWYgT1Mo
REFSV0lOKSB8fCBPUyhPUEVOQlNEKSB8fCBPUyhORVRCU0QpIHx8IE9TKEZSRUVCU0QpCisgICAg
Q1N0cmluZyBmc1JlcCA9IGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwYXRoKTsKKworICAgIGlm
ICghZnNSZXAuZGF0YSgpIHx8IGZzUmVwLmRhdGEoKVswXSA9PSAnXDAnKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBzdHJ1Y3Qgc3RhdCBmaWxlSW5mbzsKKworICAgIGlmIChzdGF0KGZz
UmVwLmRhdGEoKSwgJmZpbGVJbmZvKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVz
dWx0ID0gZmlsZUluZm8uc3RfYmlydGh0aW1lOworICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0ocGF0aCk7CisgICAgVU5VU0VEX1BBUkFNKHJlc3VsdCk7CisgICAgcmV0
dXJuIGZhbHNlOworI2VuZGlmCit9CisKIGJvb2wgZ2V0RmlsZU1vZGlmaWNhdGlvblRpbWUoY29u
c3QgU3RyaW5nJiBwYXRoLCB0aW1lX3QmIHJlc3VsdCkKIHsKICAgICBDU3RyaW5nIGZzUmVwID0g
ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcAkocmV2aXNpb24gMTYyODQzKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjcsNCArMTI3LDE2IEBAIGxvbmcgbG9uZyBTUUxpdGVGaWxlU3lzdGVt
OjpnZXREYXRhYmFzZUYKICAgICByZXR1cm4gZ2V0RmlsZVNpemUoZmlsZU5hbWUsIHNpemUpID8g
c2l6ZSA6IDA7CiB9CiAKK2RvdWJsZSBTUUxpdGVGaWxlU3lzdGVtOjpkYXRhYmFzZUNyZWF0aW9u
VGltZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKQoreworICAgIHRpbWVfdCB0aW1lOworICAgIHJl
dHVybiBnZXRGaWxlQ3JlYXRpb25UaW1lKGZpbGVOYW1lLCB0aW1lKSA/IHRpbWUgOiAwOworfQor
Citkb3VibGUgU1FMaXRlRmlsZVN5c3RlbTo6ZGF0YWJhc2VNb2RpZmljYXRpb25UaW1lKGNvbnN0
IFN0cmluZyYgZmlsZU5hbWUpCit7CisgICAgdGltZV90IHRpbWU7CisgICAgcmV0dXJuIGdldEZp
bGVNb2RpZmljYXRpb25UaW1lKGZpbGVOYW1lLCB0aW1lKSA/IHRpbWUgOiAwOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlRmlsZVN5c3RlbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVGaWxlU3lzdGVtLmgJKHJldmlzaW9uIDE2Mjg0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNiwx
MCArMTA2LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHRydW5jYXRlRGF0YWJhc2VGaWxl
KHNxbGl0ZTMqIGRhdGFiYXNlKTsKICNlbmRpZgogICAgIAotICAgIC8vIFJldHVybnMgdGhlIHNp
emUgb2YgdGhlIGRhdGFiYXNlIGZpbGUuCi0gICAgLy8KLSAgICAvLyBmaWxlTmFtZSAtIFRoZSBm
aWxlIG5hbWUuCiAgICAgc3RhdGljIGxvbmcgbG9uZyBnZXREYXRhYmFzZUZpbGVTaXplKGNvbnN0
IFN0cmluZyYgZmlsZU5hbWUpOworICAgIHN0YXRpYyBkb3VibGUgZGF0YWJhc2VDcmVhdGlvblRp
bWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CisgICAgc3RhdGljIGRvdWJsZSBkYXRhYmFzZU1v
ZGlmaWNhdGlvblRpbWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CiAKIHByaXZhdGU6CiAgICAg
Ly8gZG8gbm90IGluc3RhbnRpYXRlIHRoaXMgY2xhc3MKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAJKHJldmlzaW9uIDE2Mjg0MykKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjgsNiArNjgsMTcgQEAgc3RhdGljIGJvb2wgZ2V0RmlsZVNpemVGcm9tRmluZERhdGEo
Y29ucwogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMgdm9pZCBnZXRGaWxlQ3JlYXRpb25U
aW1lRnJvbUZpbmREYXRhKGNvbnN0IFdJTjMyX0ZJTkRfREFUQVcmIGZpbmREYXRhLCB0aW1lX3Qm
IHRpbWUpCit7CisgICAgVUxBUkdFX0lOVEVHRVIgZmlsZVRpbWU7CisgICAgZmlsZVRpbWUuSGln
aFBhcnQgPSBmaW5kRGF0YS5mdENyZWF0aW9uVGltZS5kd0hpZ2hEYXRlVGltZTsKKyAgICBmaWxl
VGltZS5Mb3dQYXJ0ID0gZmluZERhdGEuZnRDcmVhdGlvblRpbWUuZHdMb3dEYXRlVGltZTsKKwor
ICAgIC8vIEluZm9ybWF0aW9uIGFib3V0IGNvbnZlcnRpbmcgdGltZV90IHRvIEZpbGVUaW1lIGlz
IGF2YWlsYWJsZSBhdCBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXM3
MjQyMjglMjh2PXZzLjg1JTI5LmFzcHgKKyAgICB0aW1lID0gZmlsZVRpbWUuUXVhZFBhcnQgLyAx
MDAwMDAwMCAtIGtTZWNvbmRzRnJvbUZpbGVUaW1lVG9UaW1ldDsKK30KKworCiBzdGF0aWMgdm9p
ZCBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZUZyb21GaW5kRGF0YShjb25zdCBXSU4zMl9GSU5EX0RB
VEFXJiBmaW5kRGF0YSwgdGltZV90JiB0aW1lKQogewogICAgIFVMQVJHRV9JTlRFR0VSIGZpbGVU
aW1lOwpAQCAtOTcsNiArMTA4LDE2IEBAIGJvb2wgZ2V0RmlsZU1vZGlmaWNhdGlvblRpbWUoY29u
c3QgU3RyaW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBnZXRGaWxlQ3JlYXRpb25UaW1l
KGNvbnN0IFN0cmluZyYgcGF0aCwgdGltZV90JiB0aW1lKQoreworICAgIFdJTjMyX0ZJTkRfREFU
QVcgZmluZERhdGE7CisgICAgaWYgKCFnZXRGaW5kRGF0YShwYXRoLCBmaW5kRGF0YSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGdldEZpbGVDcmVhdGlvblRpbWVGcm9tRmluZERhdGEo
ZmluZERhdGEsIHRpbWUpOworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIGdldEZpbGVNZXRh
ZGF0YShjb25zdCBTdHJpbmcmIHBhdGgsIEZpbGVNZXRhZGF0YSYgbWV0YWRhdGEpCiB7CiAgICAg
V0lOMzJfRklORF9EQVRBVyBmaW5kRGF0YTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjg4
NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDI4IEBACisyMDE0LTAxLTI3ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgor
CisgICAgICAgIEV4cG9zZSBTUUwgZGF0YWJhc2UgY3JlYXRpb24gYW5kIG1vZGlmaWNhdGlvbiB0
aW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3
NzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBT
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRD
b2RlcjxEYXRhYmFzZURldGFpbHM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPERhdGFiYXNlRGV0YWlscz46OmRlY29kZSk6CisgICAgICAgIEVuY29kZSBhbmQgZGVjb2Rl
IG5ldyBEYXRhYmFzZURldGFpbHMgbWVtYmVyIHZhcmlhYmxlcy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgIChXS0RhdGFiYXNlTWFu
YWdlckdldERhdGFiYXNlRGV0YWlsc0NyZWF0aW9uVGltZUtleSk6CisgICAgICAgIChXS0RhdGFi
YXNlTWFuYWdlckdldERhdGFiYXNlRGV0YWlsc01vZGlmaWNhdGlvblRpbWVLZXkpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdlci5oOgorICAgICAgICBBZGRlZCBu
ZXcga2V5cyBmb3IgZGF0YWJhc2UgZGV0YWlscy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJE
YXRhYmFzZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlTWFu
YWdlclByb3h5OjpkYXRhYmFzZURldGFpbHNDcmVhdGlvblRpbWVLZXkpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6ZGF0YWJhc2VEZXRhaWxzTW9kaWZpY2F0aW9u
VGltZUtleSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkaWRH
ZXREYXRhYmFzZXNCeU9yaWdpbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFu
YWdlclByb3h5Lmg6CisgICAgICAgIFNldCB0aGUgbmV3IGtleXMgaWYgdGltZXMgYXJlIHZhbGlk
LgorCiAyMDE0LTAxLTI3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29weSByZWxldmFudCBjb2RlIGZyb20gdGhlIGlPUyB2ZXJzaW9uIG9mIFdLVmll
dyB0byBXS1dlYlZpZXcKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCShyZXZpc2lvbiAxNjI4NDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTE1LDYg
KzkxNSw4IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxEYXRhYmFzZURldGFpbHM+OjplbmMKICAgICBl
bmNvZGVyIDw8IGRldGFpbHMuZGlzcGxheU5hbWUoKTsKICAgICBlbmNvZGVyIDw8IGRldGFpbHMu
ZXhwZWN0ZWRVc2FnZSgpOwogICAgIGVuY29kZXIgPDwgZGV0YWlscy5jdXJyZW50VXNhZ2UoKTsK
KyAgICBlbmNvZGVyIDw8IGRldGFpbHMuY3JlYXRpb25UaW1lKCk7CisgICAgZW5jb2RlciA8PCBk
ZXRhaWxzLm1vZGlmaWNhdGlvblRpbWUoKTsKIH0KICAgICAKIGJvb2wgQXJndW1lbnRDb2RlcjxE
YXRhYmFzZURldGFpbHM+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBEYXRhYmFz
ZURldGFpbHMmIGRldGFpbHMpCkBAIC05MzQsOCArOTM2LDE2IEBAIGJvb2wgQXJndW1lbnRDb2Rl
cjxEYXRhYmFzZURldGFpbHM+OjpkZWMKICAgICB1aW50NjRfdCBjdXJyZW50VXNhZ2U7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShjdXJyZW50VXNhZ2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgCi0gICAgZGV0YWlscyA9IERhdGFiYXNlRGV0YWlscyhuYW1lLCBkaXNwbGF5TmFtZSwg
ZXhwZWN0ZWRVc2FnZSwgY3VycmVudFVzYWdlKTsKKworICAgIGRvdWJsZSBjcmVhdGlvblRpbWU7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjcmVhdGlvblRpbWUpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBkb3VibGUgbW9kaWZpY2F0aW9uVGltZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKG1vZGlmaWNhdGlvblRpbWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBk
ZXRhaWxzID0gRGF0YWJhc2VEZXRhaWxzKG5hbWUsIGRpc3BsYXlOYW1lLCBleHBlY3RlZFVzYWdl
LCBjdXJyZW50VXNhZ2UsIGNyZWF0aW9uVGltZSwgbW9kaWZpY2F0aW9uVGltZSk7CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJEYXRhYmFz
ZU1hbmFnZXJQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkRhdGFiYXNlTWFuYWdlclByb3h5LmNwcAkocmV2aXNpb24gMTYyODQzKQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdlclByb3h5LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTMsNiArOTMsMTggQEAgU3RyaW5nIFdlYkRhdGFiYXNlTWFuYWdlclByb3h5Ojpk
YXRhYmFzZQogICAgIHJldHVybiBrZXk7CiB9CiAKK1N0cmluZyBXZWJEYXRhYmFzZU1hbmFnZXJQ
cm94eTo6ZGF0YWJhc2VEZXRhaWxzQ3JlYXRpb25UaW1lS2V5KCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8U3RyaW5nPiBrZXkoQVNDSUlMaXRlcmFsKCJXZWJEYXRhYmFzZU1hbmFnZXJE
YXRhYmFzZURldGFpbHNDcmVhdGlvblRpbWVLZXkiKSk7CisgICAgcmV0dXJuIGtleTsKK30KKwor
U3RyaW5nIFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkYXRhYmFzZURldGFpbHNNb2RpZmljYXRp
b25UaW1lS2V5KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBrZXkoQVND
SUlMaXRlcmFsKCJXZWJEYXRhYmFzZU1hbmFnZXJEYXRhYmFzZURldGFpbHNNb2RpZmljYXRpb25U
aW1lS2V5IikpOworICAgIHJldHVybiBrZXk7Cit9CisKIFBhc3NSZWZQdHI8V2ViRGF0YWJhc2VN
YW5hZ2VyUHJveHk+IFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpjcmVhdGUoV2ViQ29udGV4dCog
d2ViQ29udGV4dCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkRhdGFiYXNlTWFuYWdl
clByb3h5KHdlYkNvbnRleHQpKTsKQEAgLTE3Myw2ICsxODUsMTAgQEAgdm9pZCBXZWJEYXRhYmFz
ZU1hbmFnZXJQcm94eTo6ZGlkR2V0RGF0YQogICAgICAgICAgICAgZGV0YWlsc01hcC5zZXQoZGF0
YWJhc2VEZXRhaWxzRGlzcGxheU5hbWVLZXkoKSwgQVBJOjpTdHJpbmc6OmNyZWF0ZShkYXRhYmFz
ZURldGFpbHMuZGlzcGxheU5hbWUoKSkpOwogICAgICAgICAgICAgZGV0YWlsc01hcC5zZXQoZGF0
YWJhc2VEZXRhaWxzRXhwZWN0ZWRVc2FnZUtleSgpLCBBUEk6OlVJbnQ2NDo6Y3JlYXRlKGRhdGFi
YXNlRGV0YWlscy5leHBlY3RlZFVzYWdlKCkpKTsKICAgICAgICAgICAgIGRldGFpbHNNYXAuc2V0
KGRhdGFiYXNlRGV0YWlsc0N1cnJlbnRVc2FnZUtleSgpLCBBUEk6OlVJbnQ2NDo6Y3JlYXRlKGRh
dGFiYXNlRGV0YWlscy5jdXJyZW50VXNhZ2UoKSkpOworICAgICAgICAgICAgaWYgKGRhdGFiYXNl
RGV0YWlscy5jcmVhdGlvblRpbWUoKSkKKyAgICAgICAgICAgICAgICBkZXRhaWxzTWFwLnNldChk
YXRhYmFzZURldGFpbHNDcmVhdGlvblRpbWVLZXkoKSwgQVBJOjpEb3VibGU6OmNyZWF0ZShkYXRh
YmFzZURldGFpbHMuY3JlYXRpb25UaW1lKCkpKTsKKyAgICAgICAgICAgIGlmIChkYXRhYmFzZURl
dGFpbHMubW9kaWZpY2F0aW9uVGltZSgpKQorICAgICAgICAgICAgICAgIGRldGFpbHNNYXAuc2V0
KGRhdGFiYXNlRGV0YWlsc01vZGlmaWNhdGlvblRpbWVLZXkoKSwgQVBJOjpEb3VibGU6OmNyZWF0
ZShkYXRhYmFzZURldGFpbHMubW9kaWZpY2F0aW9uVGltZSgpKSk7CiAKICAgICAgICAgICAgIGRh
dGFiYXNlcy51bmNoZWNrZWRBcHBlbmQoSW1tdXRhYmxlRGljdGlvbmFyeTo6Y3JlYXRlKHN0ZDo6
bW92ZShkZXRhaWxzTWFwKSkpOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkuaAkocmV2aXNpb24gMTYyODQz
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdlclByb3h5LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJp
bmcgZGF0YWJhc2VEZXRhaWxzRGlzcGxheU5hbWVLZXkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGRh
dGFiYXNlRGV0YWlsc0V4cGVjdGVkVXNhZ2VLZXkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGRhdGFi
YXNlRGV0YWlsc0N1cnJlbnRVc2FnZUtleSgpOworICAgIHN0YXRpYyBTdHJpbmcgZGF0YWJhc2VE
ZXRhaWxzQ3JlYXRpb25UaW1lS2V5KCk7CisgICAgc3RhdGljIFN0cmluZyBkYXRhYmFzZURldGFp
bHNNb2RpZmljYXRpb25UaW1lS2V5KCk7CiAKICAgICB1c2luZyBBUEk6Ok9iamVjdDo6cmVmOwog
ICAgIHVzaW5nIEFQSTo6T2JqZWN0OjpkZXJlZjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcAkocmV2aXNpb24gMTYy
ODQzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDYgKzEyMCwyNiBAQCBXS1N0cmluZ1JlZiBXS0Rh
dGFiYXNlTWFuYWdlckdldERhdGFiYXNlCiAjZW5kaWYKIH0KIAorV0tTdHJpbmdSZWYgV0tEYXRh
YmFzZU1hbmFnZXJHZXREYXRhYmFzZURldGFpbHNDcmVhdGlvblRpbWVLZXkoKQoreworI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCisgICAgc3RhdGljIEFQSTo6U3RyaW5nKiBrZXkgPSBBUEk6OlN0
cmluZzo6Y3JlYXRlKFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkYXRhYmFzZURldGFpbHNDcmVh
dGlvblRpbWVLZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSShrZXkpOworI2Vsc2UK
KyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitXS1N0cmluZ1JlZiBXS0RhdGFiYXNlTWFuYWdl
ckdldERhdGFiYXNlRGV0YWlsc01vZGlmaWNhdGlvblRpbWVLZXkoKQoreworI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCisgICAgc3RhdGljIEFQSTo6U3RyaW5nKiBrZXkgPSBBUEk6OlN0cmluZzo6
Y3JlYXRlKFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkYXRhYmFzZURldGFpbHNNb2RpZmljYXRp
b25UaW1lS2V5KCkpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyNlbHNlCisg
ICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogdm9pZCBXS0RhdGFiYXNlTWFuYWdlclNldENsaWVu
dChXS0RhdGFiYXNlTWFuYWdlclJlZiBkYXRhYmFzZU1hbmFnZXJSZWYsIGNvbnN0IFdLRGF0YWJh
c2VNYW5hZ2VyQ2xpZW50QmFzZSogd2tDbGllbnQpCiB7CiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RhdGFi
YXNlTWFuYWdlci5oCShyZXZpc2lvbiAxNjI4NDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tEYXRhYmFzZU1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEs
MTIgQEAgV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLRGF0YWJhc2VNYW5hZ2VyRwogLyogVmFsdWUg
dHlwZTogV0tVSW50NjRSZWYgKi8KIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS0RhdGFiYXNlTWFu
YWdlckdldERhdGFiYXNlRGV0YWlsc0N1cnJlbnRVc2FnZUtleSgpOwogCisvKiBWYWx1ZSB0eXBl
OiBXS0RvdWJsZVJlZiwgc2Vjb25kcyBzaW5jZSBKYW51YXJ5IDFzdCwgMTk3MCBVVEMgKi8KK1dL
X0VYUE9SVCBXS1N0cmluZ1JlZiBXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlRGV0YWlsc0Ny
ZWF0aW9uVGltZUtleSgpOworCisvKiBWYWx1ZSB0eXBlOiBXS0RvdWJsZVJlZiwgc2Vjb25kcyBz
aW5jZSBKYW51YXJ5IDFzdCwgMTk3MCBVVEMgKi8KK1dLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS0Rh
dGFiYXNlTWFuYWdlckdldERhdGFiYXNlRGV0YWlsc01vZGlmaWNhdGlvblRpbWVLZXkoKTsKKwog
CiAvLyBEYXRhYmFzZSBNYW5hZ2VyIENsaWVudAogdHlwZWRlZiB2b2lkICgqV0tEYXRhYmFzZU1h
bmFnZXJEaWRNb2RpZnlPcmlnaW5DYWxsYmFjaykoV0tEYXRhYmFzZU1hbmFnZXJSZWYgZGF0YWJh
c2VNYW5hZ2VyLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Cg==
</data>
<flag name="review"
          id="246367"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>