<?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>147520</bug_id>
          
          <creation_ts>2015-07-31 19:55:26 -0700</creation_ts>
          <short_desc>Improve some LayoutTests/http/tests/appcache tests, reduce flakey output</short_desc>
          <delta_ts>2017-05-22 11:45:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=153503</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1113964</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-31 19:55:26 -0700</bug_when>
    <thetext>* SUMMARY
A few LayoutTests/http/tests/appcache tests are flakey when they include Console output:

  LayoutTests/http/tests/appcache/fail-on-update.html
  LayoutTests/http/tests/appcache/fail-on-update-2.html

Depending on the state of the server the test might fetch 1-2 404 Manifest resources, resulting in 1-2 Console Messages. We can have the test suppress console message output, as it isn&apos;t important for the test.

Note, other appcache tests are not flakey in this way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113965</commentid>
    <comment_count>1</comment_count>
      <attachid>257990</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-31 19:58:29 -0700</bug_when>
    <thetext>Created attachment 257990
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114065</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-01 14:55:48 -0700</bug_when>
    <thetext>Could you please tell more about it the state that can make the results different? Can it be reset between tests?

Note, I didn&apos;t look at these tests now, so maybe it&apos;s an obvious silly question - sorry if that&apos;s the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114358</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-08-03 14:20:39 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Could you please tell more about it the state that can make the results
&gt; different? Can it be reset between tests?

The tests have a static manifest URL like:

    &lt;html manifest=&quot;resources/fail-on-update.php&quot;&gt;

It looks like ultimately they test the behavior of applicationCache.update(), but only if the server&apos;s response for that manifest URL was what they needed. When the test runs, if the server&apos;s manifest response is not what it needed it sends a sync XHR to the server to change its state, and reloads the page until it gets the manifest response&apos;s state it wants.

Because the state is on the server, and the URL is a static URL that doesn&apos;t change, then running this test in parallel can be problematic. If two workers run the same test they may both be modifying the state of the server, or on repeated loads the initial state of the server may be different than normal.

Since I&apos;m unsure what ASSERT conditions were being tested by the test, I didn&apos;t investigate rewriting the test in a different way. It seemed the only flakiness was the new CONSOLE MESSAGE output, so disabling that seemed reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114407</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-03 15:20:54 -0700</bug_when>
    <thetext>Ugh, we should not have multiple tests use the same state server side! Did I overlook these tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114409</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-03 15:22:34 -0700</bug_when>
    <thetext>fail-on-update-2 uses a different manifest, resources/fail-on-update-2.php.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114495</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-08-03 20:14:15 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; fail-on-update-2 uses a different manifest, resources/fail-on-update-2.php.

So, I tried adding back the original ASSERT, and was unable to trigger it with these tests. We could tweak the test, but I&apos;m not sure what it was originally testing is actually still being tested anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114513</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-08-03 21:33:22 -0700</bug_when>
    <thetext>I think that part of the answer may be to have a non-cached main resource that resets the state, and then navigates to the actual test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114853</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-08-04 16:25:27 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I think that part of the answer may be to have a non-cached main resource
&gt; that resets the state, and then navigates to the actual test.

I just tried an approach that resets the server, then navigates and runs the real test. It was still flakey locally (1 out of 200 failures). I&apos;m going to just mark this test as flakey. I&apos;ll attach my WIP patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114857</commentid>
    <comment_count>9</comment_count>
      <attachid>258230</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-08-04 16:26:31 -0700</bug_when>
    <thetext>Created attachment 258230
[WIP] Attempted to Reset Server and Redirect to Test</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257990</attachid>
            <date>2015-07-31 19:58:29 -0700</date>
            <delta_ts>2015-08-04 16:26:42 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>appcache.patch</filename>
            <type>text/plain</type>
            <size>13048</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkMjJkYTk5Li45NWM4Y2VhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIgQEAKIDIwMTUtMDct
MzEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBJbXBy
b3ZlIHNvbWUgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZSB0ZXN0cywgcmVkdWNlIGZs
YWtleSBvdXRwdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NzUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoZXNlIHRlc3RzIGJ5IHRoZWlyIG5hdHVyZSBtYXkgbG9hZCAxLTIgNDA0IG1hbmlmZXN0
cyB3aGljaCB3YXMKKyAgICAgICAgcmVzdWx0aW5nIGluIDEtMiBjb25zb2xlIG1lc3NhZ2VzLiBJ
Z25vcmUgY29uc29sZSBtZXNzYWdlcyB0bworICAgICAgICBtYWtlIHRoZWlyIG91dHB1dCBjb25z
aXN0ZW50IGFnYWluLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtMi5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUuaHRtbDoKKworMjAxNS0wNy0z
MSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2
aWV3ZWQgZ2FyZGVuaW5nLiBTa2lwIE1lZGlhIFNlc3Npb25zIHRlc3RzLCB0aGUgZmVhdHVyZSBp
cyBub3QgeWV0IGVuYWJsZWQuCiAKICAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZjc5ZmE0MC4uYWFiNDkxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00
NzYsNyArNDc2LDYgQEAgd2Via2l0Lm9yZy9iLzg3NjMzIGh0dHAvdGVzdHMvYXBwY2FjaGUvYWJv
cnQtY2FjaGUtb25kb3dubG9hZGluZy1yZXNvdXJjZS00MDQuaHQKIHdlYmtpdC5vcmcvYi84NzYz
MyBodHRwL3Rlc3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1kZWxldGUtd2hpbGUtcmFpc2lu
Zy10aW1lci5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi84NzYzMyBodHRwL3Rl
c3RzL2FwcGNhY2hlL2RlZmVycmVkLWV2ZW50cy1kZWxldGUtd2hpbGUtcmFpc2luZy5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi84NzYzMyBodHRwL3Rlc3RzL2FwcGNhY2hlL2Rl
ZmVycmVkLWV2ZW50cy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi84NzYzMyBo
dHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTIuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKIHdlYmtpdC5vcmcvYi8xNDEzNzAgaHR0cC90ZXN0cy9zZWN1cml0eS9hcHBjYWNoZS1pbi1w
cml2YXRlLWJyb3dzaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLWV4cGVj
dGVkLnR4dAppbmRleCAyNjZjYzdkLi5jZDE1MjQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtMi1leHBlY3RlZC50
eHQKQEAgLTEsMiArMSBAQAotQ09OU09MRSBNRVNTQUdFOiBBcHBsaWNhdGlvbiBDYWNoZSBtYW5p
ZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSB0aGUgbWFuaWZlc3QgaGFkIGEgNDA0
IHJlc3BvbnNlLgogU1VDQ0VTUzogTm8gY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTIuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtMi5odG1sCmluZGV4IGZjNGUwYmMuLjBl
N2M1MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1v
bi11cGRhdGUtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFp
bC1vbi11cGRhdGUtMi5odG1sCkBAIC0zLDYgKzMsMTAgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworCisgICAgLy8gVGhpcyB0ZXN0IG1heSBsb2FkIG11bHRpcGxlIDQwNCBNYW5p
ZmVzdHMgZGVwZW5kaW5nIG9uIHRoZSBzdGF0ZQorICAgIC8vIG9mIHRoZSBzZXJ2ZXIuIFNvIGRp
c2FibGUgdGhlIGNvbnNvbGUgbWVzc2FnZXMgb3V0cHV0LgorICAgIHRlc3RSdW5uZXIuaWdub3Jl
Q29uc29sZU1lc3NhZ2VzKCk7CiB9CiAKIGZ1bmN0aW9uIHNldE1hbmlmZXN0RGVsZXRlZChzdGF0
ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11
cGRhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWls
LW9uLXVwZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggMjY2Y2M3ZC4uY2QxNTI0NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0
ZS1leHBlY3RlZC50eHQKQEAgLTEsMiArMSBAQAotQ09OU09MRSBNRVNTQUdFOiBBcHBsaWNhdGlv
biBDYWNoZSBtYW5pZmVzdCBjb3VsZCBub3QgYmUgZmV0Y2hlZCwgYmVjYXVzZSB0aGUgbWFuaWZl
c3QgaGFkIGEgNDA0IHJlc3BvbnNlLgogU1VDQ0VTUzogTm8gY3Jhc2guCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLmh0bWwKaW5kZXggOTRm
ZmNhMy4uZmM3OTczYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNo
ZS9mYWlsLW9uLXVwZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2Fj
aGUvZmFpbC1vbi11cGRhdGUuaHRtbApAQCAtMyw2ICszLDEwIEBACiBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKworICAgIC8vIFRoaXMgdGVzdCBtYXkgbG9hZCBtdWx0aXBsZSA0MDQg
TWFuaWZlc3RzIGRlcGVuZGluZyBvbiB0aGUgc3RhdGUKKyAgICAvLyBvZiB0aGUgc2VydmVyLiBT
byBkaXNhYmxlIHRoZSBjb25zb2xlIG1lc3NhZ2VzIG91dHB1dC4KKyAgICB0ZXN0UnVubmVyLmln
bm9yZUNvbnNvbGVNZXNzYWdlcygpOwogfQogCiBmdW5jdGlvbiBzZXRNYW5pZmVzdERlbGV0ZWQo
c3RhdGUpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggOWUyZWRkYS4uZTRlNzExYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTA3LTMxICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSBzb21lIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUgdGVzdHMsIHJlZHVjZSBmbGFrZXkgb3V0cHV0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc1MjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRlIGEgd2F5
IHRvIGlnbm9yZSBjb25zb2xlIG1lc3NhZ2VzIHNvIHRoZXkgZG9uJ3QKKyAgICAgICAgYXBwZW5k
IHRvIHRoZSB0ZXN0IGV4cGVjdGF0aW9uIG91dHB1dC4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6VGVzdFJ1bm5lcik6Cisg
ICAgICAgIChpZ25vcmVDb25zb2xlTWVzc2FnZXNDYWxsYmFjayk6CisgICAgICAgIChUZXN0UnVu
bmVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RSdW5u
ZXIuaDoKKyAgICAgICAgKFRlc3RSdW5uZXI6Omlnbm9yZUNvbnNvbGVNZXNzYWdlcyk6CisgICAg
ICAgIChUZXN0UnVubmVyOjpzZXRJZ25vcmVDb25zb2xlTWVzc2FnZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1tOgorICAgICAgICAoLVtVSURlbGVnYXRlIHdl
YlZpZXc6YWRkTWVzc2FnZVRvQ29uc29sZTp3aXRoU291cmNlOl0pOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmNwcDoKKyAgICAgICAgKFVJRGVsZWdhdGU6OndlYlZp
ZXdBZGRNZXNzYWdlVG9Db25zb2xlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdU
Ujo6SW5qZWN0ZWRCdW5kbGVQYWdlOjp3aWxsQWRkTWVzc2FnZVRvQ29uc29sZSk6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmg6CisgICAgICAg
IChXVFI6OlRlc3RSdW5uZXI6Omlnbm9yZUNvbnNvbGVNZXNzYWdlcyk6CisgICAgICAgIChXVFI6
OlRlc3RSdW5uZXI6OnNob3VsZElnbm9yZUNvbnNvbGVNZXNzYWdlcyk6CisKIDIwMTUtMDctMzEg
IENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBG
aXggcGl4bWFuIGJ1aWxkIG9uIEFSTSB3aXRoIEdDQyA0LjkuMwpkaWZmIC0tZ2l0IGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
UnVubmVyLmNwcAppbmRleCA1MDM0MDMxLi4xNWU1MjYxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
UnVubmVyLmNwcApAQCAtODQsNiArODQsNyBAQCBUZXN0UnVubmVyOjpUZXN0UnVubmVyKGNvbnN0
IHN0ZDo6c3RyaW5nJiB0ZXN0VVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgZXhwZWN0ZWRQaQogICAg
ICwgbV9kdW1wSWNvbkNoYW5nZXMoZmFsc2UpCiAgICAgLCBtX2R1bXBWaXNpdGVkTGlua3NDYWxs
YmFjayhmYWxzZSkKICAgICAsIG1fZHVtcFdpbGxDYWNoZVJlc3BvbnNlKGZhbHNlKQorICAgICwg
bV9pZ25vcmVDb25zb2xlTWVzc2FnZXMoZmFsc2UpCiAgICAgLCBtX2dlbmVyYXRlUGl4ZWxSZXN1
bHRzKHRydWUpCiAgICAgLCBtX2NhbGxDbG9zZU9uV2ViVmlld3ModHJ1ZSkKICAgICAsIG1fY2Fu
T3BlbldpbmRvd3MoZmFsc2UpCkBAIC0xODA3LDYgKzE4MDgsMTMgQEAgc3RhdGljIGJvb2wgc2V0
RGF0YWJhc2VNYXhRdW90YUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiB0aGlzT2IKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgaWdub3Jl
Q29uc29sZU1lc3NhZ2VzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVm
IGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwg
Y29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQorewor
ICAgIFRlc3RSdW5uZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNP
YmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKKyAgICBjb250cm9sbGVyLT5zZXRJZ25vcmVD
b25zb2xlTWVzc2FnZXModHJ1ZSk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNv
bnRleHQpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBpZ25vcmVMZWdhY3lXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdHNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmpl
Y3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENv
dW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24p
CiB7CiAgICAgVGVzdFJ1bm5lciogY29udHJvbGxlciA9IHN0YXRpY19jYXN0PFRlc3RSdW5uZXIq
PihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkpOwpAQCAtMjAzMiw2ICsyMDQwLDcgQEAg
SlNTdGF0aWNGdW5jdGlvbiogVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAg
eyAiZmluZFN0cmluZyIsIGZpbmRTdHJpbmdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJv
cmlnaW5zV2l0aEFwcGxpY2F0aW9uQ2FjaGUiLCBvcmlnaW5zV2l0aEFwcGxpY2F0aW9uQ2FjaGVD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJnb0JhY2siLCBnb0JhY2tDYWxsYmFjaywga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB9LCAKKyAgICAgICAgeyAiaWdub3JlQ29uc29sZU1lc3NhZ2VzIiwgaWdub3JlQ29uc29sZU1l
c3NhZ2VzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaWdub3JlTGVnYWN5V2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3RzIiwgaWdub3JlTGVnYWN5V2ViTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNDb21tYW5kRW5h
YmxlZCIsIGlzQ29tbWFuZEVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJrZWVw
V2ViSGlzdG9yeSIsIGtlZXBXZWJIaXN0b3J5Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RSdW5uZXIuaAppbmRleCBjZGVmY2IwLi44ZWUwNTVkIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dFJ1bm5lci5oCkBAIC0yMTYsNiArMjE2LDkgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgZHVt
cFdpbGxDYWNoZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9kdW1wV2lsbENhY2hlUmVzcG9u
c2U7IH0KICAgICB2b2lkIHNldER1bXBXaWxsQ2FjaGVSZXNwb25zZShib29sIGR1bXBXaWxsQ2Fj
aGVSZXNwb25zZSkgeyBtX2R1bXBXaWxsQ2FjaGVSZXNwb25zZSA9IGR1bXBXaWxsQ2FjaGVSZXNw
b25zZTsgfQorCisgICAgYm9vbCBpZ25vcmVDb25zb2xlTWVzc2FnZXMoKSB7IHJldHVybiBtX2ln
bm9yZUNvbnNvbGVNZXNzYWdlczsgfQorICAgIHZvaWQgc2V0SWdub3JlQ29uc29sZU1lc3NhZ2Vz
KGJvb2wgaWdub3JlQ29uc29sZU1lc3NhZ2VzKSB7IG1faWdub3JlQ29uc29sZU1lc3NhZ2VzID0g
aWdub3JlQ29uc29sZU1lc3NhZ2VzOyB9CiAgICAgCiAgICAgYm9vbCBjYWxsQ2xvc2VPbldlYlZp
ZXdzKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsQ2xvc2VPbldlYlZpZXdzOyB9CiAgICAgdm9pZCBz
ZXRDYWxsQ2xvc2VPbldlYlZpZXdzKGJvb2wgY2FsbENsb3NlT25XZWJWaWV3cykgeyBtX2NhbGxD
bG9zZU9uV2ViVmlld3MgPSBjYWxsQ2xvc2VPbldlYlZpZXdzOyB9CkBAIC0zODIsNiArMzg1LDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fZHVtcEljb25DaGFuZ2VzOwogICAgIGJvb2wgbV9kdW1w
VmlzaXRlZExpbmtzQ2FsbGJhY2s7CiAgICAgYm9vbCBtX2R1bXBXaWxsQ2FjaGVSZXNwb25zZTsK
KyAgICBib29sIG1faWdub3JlQ29uc29sZU1lc3NhZ2VzOwogICAgIGJvb2wgbV9nZW5lcmF0ZVBp
eGVsUmVzdWx0czsKICAgICBib29sIG1fY2FsbENsb3NlT25XZWJWaWV3czsKICAgICBib29sIG1f
Y2FuT3BlbldpbmRvd3M7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVUlE
ZWxlZ2F0ZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1tCmluZGV4
IDNjMjg5N2YuLmZmMTJjYTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9V
SURlbGVnYXRlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1t
CkBAIC03NSw2ICs3NSw5IEBAIER1bXBSZW5kZXJUcmVlRHJhZ2dpbmdJbmZvICpkcmFnZ2luZ0lu
Zm8gPSBuaWw7CiAgICAgaWYgKGRvbmUpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChnVGVz
dFJ1bm5lci0+aWdub3JlQ29uc29sZU1lc3NhZ2VzKCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IE5TU3RyaW5nICptZXNzYWdlID0gW2RpY3Rpb25hcnkgb2JqZWN0Rm9yS2V5OkAibWVzc2FnZSJd
OwogICAgIE5TTnVtYmVyICpsaW5lTnVtYmVyID0gW2RpY3Rpb25hcnkgb2JqZWN0Rm9yS2V5OkAi
bGluZU51bWJlciJdOwogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVUlE
ZWxlZ2F0ZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5jcHAKaW5k
ZXggYTM1ODE1Mi4uMmE5NGQ0YiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L1VJRGVsZWdhdGUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRl
LmNwcApAQCAtNDEzLDYgKzQxMyw5IEBAIEhSRVNVTFQgVUlEZWxlZ2F0ZTo6d2ViVmlld0FkZE1l
c3NhZ2VUb0NvbnNvbGUoSVdlYlZpZXcqIC8qc2VuZGVyKi8sIEJTVFIgbWVzc2FnCiAgICAgaWYg
KGRvbmUpCiAgICAgICAgIHJldHVybiBTX09LOwogCisgICAgaWYgKGdUZXN0UnVubmVyLT5pZ25v
cmVDb25zb2xlTWVzc2FnZXMoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgd3N0cmluZyBuZXdN
ZXNzYWdlOwogICAgIGlmIChtZXNzYWdlKSB7CiAgICAgICAgIG5ld01lc3NhZ2UgPSBtZXNzYWdl
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggYTc4YTQ0ZS4uODcwMWI2NyAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC00OSw2ICs0OSw3IEBAIGludGVyZmFjZSBUZXN0UnVu
bmVyIHsKICAgICB2b2lkIGR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwogICAgIHZvaWQgZHVtcERP
TUFzV2ViQXJjaGl2ZSgpOwogICAgIHZvaWQgZHVtcFBvbGljeURlbGVnYXRlQ2FsbGJhY2tzKCk7
CisgICAgdm9pZCBpZ25vcmVDb25zb2xlTWVzc2FnZXMoKTsKIAogICAgIC8vIFNwZWNpYWwgb3B0
aW9ucy4KICAgICB2b2lkIGtlZXBXZWJIaXN0b3J5KCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAK
aW5kZXggOWQyMzJlZS4uOWI5Y2RkYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcApAQCAtMTQw
NiwxNSArMTQwNiwxOSBAQCB2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6d2lsbEFkZE1lc3NhZ2VU
b0NvbnNvbGUoV0tTdHJpbmdSZWYgbWVzc2FnZSwgdWludDMyX3QgbAogICAgIGlmICghaW5qZWN0
ZWRCdW5kbGUuaXNUZXN0UnVubmluZygpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoaW5q
ZWN0ZWRCdW5kbGUudGVzdFJ1bm5lcigpLT5zaG91bGRJZ25vcmVDb25zb2xlTWVzc2FnZXMoKSkK
KyAgICAgICAgcmV0dXJuOworCiAgICAgV1RGOjpTdHJpbmcgbWVzc2FnZVN0cmluZyA9IHRvV1RG
U3RyaW5nKG1lc3NhZ2UpOwogICAgIHNpemVfdCBudWxsQ2hhclBvcyA9IG1lc3NhZ2VTdHJpbmcu
ZmluZChVQ2hhcigwKSk7CiAgICAgaWYgKG51bGxDaGFyUG9zICE9IFdURjo6bm90Rm91bmQpCiAg
ICAgICAgIG1lc3NhZ2VTdHJpbmcudHJ1bmNhdGUobnVsbENoYXJQb3MpOwogCiAgICAgc2l6ZV90
IGZpbGVQcm90b2NvbFN0YXJ0ID0gbWVzc2FnZVN0cmluZy5maW5kKCJmaWxlOi8vIik7Ci0gICAg
aWYgKGZpbGVQcm90b2NvbFN0YXJ0ICE9IFdURjo6bm90Rm91bmQpCisgICAgaWYgKGZpbGVQcm90
b2NvbFN0YXJ0ICE9IFdURjo6bm90Rm91bmQpIHsKICAgICAgICAgLy8gRklYTUU6IFRoZSBjb2Rl
IGJlbG93IGRvZXMgbm90IGhhbmRsZSBhZGRpdGlvbmFsIHRleHQgYWZ0ZXIgdXJsIG5vciBtdWx0
aXBsZSB1cmxzLiBUaGlzIG1hdGNoZXMgRHVtcFJlbmRlclRyZWUgaW1wbGVtZW50YXRpb24uCiAg
ICAgICAgIG1lc3NhZ2VTdHJpbmcgPSBtZXNzYWdlU3RyaW5nLnN1YnN0cmluZygwLCBmaWxlUHJv
dG9jb2xTdGFydCkgKyBsYXN0RmlsZVVSTFBhdGhDb21wb25lbnQobWVzc2FnZVN0cmluZy5zdWJz
dHJpbmcoZmlsZVByb3RvY29sU3RhcnQpKTsKKyAgICB9CiAKICAgICBTdHJpbmdCdWlsZGVyIHN0
cmluZ0J1aWxkZXI7CiAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmRMaXRlcmFsKCJDT05TT0xFIE1F
U1NBR0U6ICIpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuaAppbmRleCAwNjZjNGIwLi4xMjk2OTc2IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtODQsNiArODQs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkdW1wRE9NQXNXZWJBcmNoaXZlKCkgeyBtX3doYXRUb0R1
bXAgPSBET01Bc1dlYkFyY2hpdmU7IH0KICAgICB2b2lkIGR1bXBQb2xpY3lEZWxlZ2F0ZUNhbGxi
YWNrcygpIHsgbV9kdW1wUG9saWN5Q2FsbGJhY2tzID0gdHJ1ZTsgfQogCisgICAgdm9pZCBpZ25v
cmVDb25zb2xlTWVzc2FnZXMoKSB7IG1faWdub3JlQ29uc29sZU1lc3NhZ2VzID0gdHJ1ZTsgfQor
CiAgICAgdm9pZCBzZXRTaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsg
bV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzID0gdmFsdWU7IH0KICAgICB2b2lkIHNldFNob3VsZER1
bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2soYm9vbCB2YWx1ZSkgeyBtX2R1bXBQcm9ncmVzc0Zp
bmlzaGVkQ2FsbGJhY2sgPSB2YWx1ZTsgfQogCkBAIC0xODIsNiArMTg0LDggQEAgcHVibGljOgog
ICAgIGJvb2wgc2hvdWxkRHVtcFNlbGVjdGlvblJlY3QoKSBjb25zdCB7IHJldHVybiBtX2R1bXBT
ZWxlY3Rpb25SZWN0OyB9CiAgICAgYm9vbCBzaG91bGREdW1wUG9saWN5Q2FsbGJhY2tzKCkgY29u
c3QgeyByZXR1cm4gbV9kdW1wUG9saWN5Q2FsbGJhY2tzOyB9CiAKKyAgICBib29sIHNob3VsZEln
bm9yZUNvbnNvbGVNZXNzYWdlcygpIGNvbnN0IHsgcmV0dXJuIG1faWdub3JlQ29uc29sZU1lc3Nh
Z2VzOyB9CisKICAgICBib29sIGlzUG9saWN5RGVsZWdhdGVFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9wb2xpY3lEZWxlZ2F0ZUVuYWJsZWQ7IH0KICAgICBib29sIGlzUG9saWN5RGVsZWdhdGVQ
ZXJtaXNzaXZlKCkgY29uc3QgeyByZXR1cm4gbV9wb2xpY3lEZWxlZ2F0ZVBlcm1pc3NpdmU7IH0K
IApAQCAtMzEwLDYgKzMxNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2R1bXBBcHBsaWNhdGlv
bkNhY2hlRGVsZWdhdGVDYWxsYmFja3M7CiAgICAgYm9vbCBtX2R1bXBEYXRhYmFzZUNhbGxiYWNr
czsKICAgICBib29sIG1fZHVtcFBvbGljeUNhbGxiYWNrcyB7IGZhbHNlIH07CisgICAgYm9vbCBt
X2lnbm9yZUNvbnNvbGVNZXNzYWdlcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2FsbG93SW5j
cmVhc2VGb3JBcHBsaWNhdGlvbkNhY2hlUXVvdGE7CiAgICAgYm9vbCBtX3dhaXRUb0R1bXA7IC8v
IFRydWUgaWYgd2FpdFVudGlsRG9uZSgpIGhhcyBiZWVuIGNhbGxlZCwgYnV0IG5vdGlmeURvbmUo
KSBoYXMgbm90IHlldCBiZWVuIGNhbGxlZC4KICAgICBib29sIG1fdGVzdFJlcGFpbnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258230</attachid>
            <date>2015-08-04 16:26:31 -0700</date>
            <delta_ts>2015-08-04 16:26:31 -0700</delta_ts>
            <desc>[WIP] Attempted to Reset Server and Redirect to Test</desc>
            <filename>attempt-reset-and-redirect.patch</filename>
            <type>text/plain</type>
            <size>9022</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDRjOTY1ZGUuLjBhMTMyYzggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNDg4LDcgKzQ4OCw2IEBAIHdlYmtpdC5vcmcvYi84NzYzMyBodHRwL3Rlc3RzL2FwcGNh
Y2hlL2Fib3J0LWNhY2hlLW9uZG93bmxvYWRpbmctcmVzb3VyY2UtNDA0Lmh0CiB3ZWJraXQub3Jn
L2IvODc2MzMgaHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZGVsZXRlLXdoaWxl
LXJhaXNpbmctdGltZXIuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODc2MzMg
aHR0cC90ZXN0cy9hcHBjYWNoZS9kZWZlcnJlZC1ldmVudHMtZGVsZXRlLXdoaWxlLXJhaXNpbmcu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvODc2MzMgaHR0cC90ZXN0cy9hcHBj
YWNoZS9kZWZlcnJlZC1ldmVudHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi13ZWJraXQub3JnL2Iv
ODc2MzMgaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTQxMzcwIGh0dHAvdGVzdHMvc2VjdXJpdHkvYXBwY2Fj
aGUtaW4tcHJpdmF0ZS1icm93c2luZy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUt
Mi1leHBlY3RlZC50eHQKaW5kZXggMjY2Y2M3ZC4uY2QxNTI0NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTItZXhw
ZWN0ZWQudHh0CkBAIC0xLDIgKzEgQEAKLUNPTlNPTEUgTUVTU0FHRTogQXBwbGljYXRpb24gQ2Fj
aGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgdGhlIG1hbmlmZXN0IGhh
ZCBhIDQwNCByZXNwb25zZS4KIFNVQ0NFU1M6IE5vIGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS0yLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwtb24tdXBkYXRlLTIuaHRtbAppbmRleCBmYzRl
MGJjLi5iNzQzODBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hl
L2ZhaWwtb24tdXBkYXRlLTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNh
Y2hlL2ZhaWwtb24tdXBkYXRlLTIuaHRtbApAQCAtMSw2NCArMSwxNCBAQAotPGh0bWwgbWFuaWZl
c3Q9InJlc291cmNlcy9mYWlsLW9uLXVwZGF0ZS0yLnBocCI+Cis8aHRtbD4KIDxzY3JpcHQ+CiBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKIH0KIAotZnVuY3Rpb24gc2V0TWFuaWZlc3RE
ZWxldGVkKHN0YXRlKQotewotICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Ci0gICAg
cmVxLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvZmFpbC1vbi11cGRhdGUtMi5waHA/Y29tbWFuZD0i
ICsgKHN0YXRlID8gImRlbGV0ZSIgOiAicmVzZXQiKSwgZmFsc2UpOwotICAgIHJlcS5zZW5kKG51
bGwpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBjbGVhclRpbWVvdXQodGltZW91dElk
KTsKLQotICAgIHNldE1hbmlmZXN0RGVsZXRlZCh0cnVlKTsKLSAgICBhcHBsaWNhdGlvbkNhY2hl
LnVwZGF0ZSgpOwotICAgIAotICAgIC8vIENyZWF0ZSB0d28gc3ViZnJhbWVzIGF0IGRpZmZlcmVu
dCB0aW1lcyB0byBtYWtlIGhpdHRpbmcgdGhlIHJhY2UgY29uZGl0aW9uIG1vcmUgbGlrZWx5Lgot
ICAgIHZhciBpZnIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnIu
c2V0QXR0cmlidXRlKCJzcmMiLCAncmVzb3VyY2VzL2ZhaWwtb24tdXBkYXRlLTIuaHRtbCcpOwot
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyKTsKLQotICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHZhciBpZnIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJh
bWUiKTsKLSAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgic3JjIiwgJ3Jlc291cmNlcy9mYWlsLW9u
LXVwZGF0ZS0yLmh0bWwnKTsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnIp
OwotICAgIH0sIDApOwotfQotCi12YXIgc3ViZnJhbWVzTGVmdCA9IDI7Ci1mdW5jdGlvbiBzdWJm
cmFtZUxvYWRlZCgpCi17Ci0gICAgaWYgKCEtLXN1YmZyYW1lc0xlZnQpIHsKLSAgICAgICAgZG9j
dW1lbnQud3JpdGUoJzxwPlNVQ0NFU1M6IE5vIGNyYXNoLjwvcD4nKTsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci0g
ICAgfQotfQotCi1mdW5jdGlvbiByZXNldE1hbmlmZXN0KCkKLXsKLSAgICBpZiAoYXBwbGljYXRp
b25DYWNoZS5zdGF0dXMgIT0gYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hFRCAmJiBhcHBsaWNhdGlv
bkNhY2hlLnN0YXR1cyAhPSBhcHBsaWNhdGlvbkNhY2hlLk9CU09MRVRFKSB7Ci0gICAgICAgIHRp
bWVvdXRJZCA9IHNldFRpbWVvdXQocmVzZXRNYW5pZmVzdCwgMTAwKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIHNldE1hbmlmZXN0RGVsZXRlZChmYWxzZSk7Ci0gICAgbG9jYXRpb24u
cmVsb2FkKCk7Ci19Ci0KLWFwcGxpY2F0aW9uQ2FjaGUuYWRkRXZlbnRMaXN0ZW5lcignbm91cGRh
dGUnLCBmdW5jdGlvbigpIHsgc2V0VGltZW91dCh0ZXN0LCAwKSB9LCBmYWxzZSk7Ci1hcHBsaWNh
dGlvbkNhY2hlLmFkZEV2ZW50TGlzdGVuZXIoJ2NhY2hlZCcsIGZ1bmN0aW9uKCkgeyBzZXRUaW1l
b3V0KHRlc3QsIDApIH0sIGZhbHNlKTsKLQotLy8gSWYgdGhlIG1hbmlmZXN0IHNjcmlwdCBoYXBw
ZW5lZCB0byBiZSBpbiBhIHdyb25nIHN0YXRlLCByZXNldCBpdC4KLXZhciB0aW1lb3V0SWQgPSBz
ZXRUaW1lb3V0KHJlc2V0TWFuaWZlc3QsIDEwMCk7Cit2YXIgcmVxID0gbmV3IFhNTEh0dHBSZXF1
ZXN0OworcmVxLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvZmFpbC1vbi11cGRhdGUtMi5waHA/Y29t
bWFuZD1yZXNldCIsIGZhbHNlKTsKK3JlcS5zZW5kKG51bGwpOwogCitsb2NhdGlvbi5ocmVmID0g
InJlc291cmNlcy9mYWlsLW9uLXVwZGF0ZS0yLXJlYWwuaHRtbCI7CiA8L3NjcmlwdD4KLTxwPlRl
c3QgZm9yIGEgcGFydGljdWxhciBpbmNvcnJlY3QgYXNzZXJ0aW9uIGZhaWx1cmUuPC9wPgotCiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL2ZhaWwt
b24tdXBkYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUv
ZmFpbC1vbi11cGRhdGUtZXhwZWN0ZWQudHh0CmluZGV4IDI2NmNjN2QuLmNkMTUyNDcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11
cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEgQEAKLUNPTlNPTEUgTUVTU0FHRTogQXBwbGlj
YXRpb24gQ2FjaGUgbWFuaWZlc3QgY291bGQgbm90IGJlIGZldGNoZWQsIGJlY2F1c2UgdGhlIG1h
bmlmZXN0IGhhZCBhIDQwNCByZXNwb25zZS4KIFNVQ0NFU1M6IE5vIGNyYXNoLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS5odG1sCmluZGV4
IDk0ZmZjYTMuLmY1NGY1MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBw
Y2FjaGUvZmFpbC1vbi11cGRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Fw
cGNhY2hlL2ZhaWwtb24tdXBkYXRlLmh0bWwKQEAgLTEsNDcgKzEsMTQgQEAKLTxodG1sIG1hbmlm
ZXN0PSJyZXNvdXJjZXMvZmFpbC1vbi11cGRhdGUucGhwIj4KKzxodG1sPgogPHNjcmlwdD4KIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogfQogCi1mdW5jdGlvbiBzZXRNYW5pZmVzdERl
bGV0ZWQoc3RhdGUpCi17Ci0gICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICBy
ZXEub3BlbigiR0VUIiwgInJlc291cmNlcy9mYWlsLW9uLXVwZGF0ZS5waHA/Y29tbWFuZD0iICsg
KHN0YXRlID8gImRlbGV0ZSIgOiAicmVzZXQiKSwgZmFsc2UpOwotICAgIHJlcS5zZW5kKG51bGwp
OwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTsK
LQotICAgIHNldE1hbmlmZXN0RGVsZXRlZCh0cnVlKTsKLSAgICBhcHBsaWNhdGlvbkNhY2hlLnVw
ZGF0ZSgpOwotICAgIHdpbmRvdy5sb2NhdGlvbiA9ICdkYXRhOnRleHQvaHRtbCw8cD5TVUNDRVNT
OiBObyBjcmFzaC48L3A+JyArIAotICAgICAgICAnPHNjcmlwdD4nICsKLSAgICAgICAgICAgICdp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOycgKwotICAgICAg
ICAnPC9zY3JpJyArICdwdD4nOwotfQotCi1mdW5jdGlvbiByZXNldE1hbmlmZXN0KCkKLXsKLSAg
ICBpZiAoYXBwbGljYXRpb25DYWNoZS5zdGF0dXMgIT0gYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hF
RCAmJiBhcHBsaWNhdGlvbkNhY2hlLnN0YXR1cyAhPSBhcHBsaWNhdGlvbkNhY2hlLk9CU09MRVRF
KSB7Ci0gICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQocmVzZXRNYW5pZmVzdCwgMTAwKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHNldE1hbmlmZXN0RGVsZXRlZChmYWxzZSk7
Ci0gICAgbG9jYXRpb24ucmVsb2FkKCk7Ci19Ci0KLWFwcGxpY2F0aW9uQ2FjaGUuYWRkRXZlbnRM
aXN0ZW5lcignbm91cGRhdGUnLCBmdW5jdGlvbigpIHsgc2V0VGltZW91dCh0ZXN0LCAwKSB9LCBm
YWxzZSk7Ci1hcHBsaWNhdGlvbkNhY2hlLmFkZEV2ZW50TGlzdGVuZXIoJ2NhY2hlZCcsIGZ1bmN0
aW9uKCkgeyBzZXRUaW1lb3V0KHRlc3QsIDApIH0sIGZhbHNlKTsKLQotLy8gSWYgdGhlIG1hbmlm
ZXN0IHNjcmlwdCBoYXBwZW5lZCB0byBiZSBpbiBhIHdyb25nIHN0YXRlLCByZXNldCBpdC4KLXZh
ciB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KHJlc2V0TWFuaWZlc3QsIDEwMCk7Cit2YXIgcmVxID0g
bmV3IFhNTEh0dHBSZXF1ZXN0OworcmVxLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvZmFpbC1vbi11
cGRhdGUucGhwP2NvbW1hbmQ9cmVzZXQiLCBmYWxzZSk7CityZXEuc2VuZChudWxsKTsKIAorbG9j
YXRpb24uaHJlZiA9ICJyZXNvdXJjZXMvZmFpbC1vbi11cGRhdGUtcmVhbC5odG1sIjsKIDwvc2Ny
aXB0PgotPHA+VGVzdCBmb3IgYSBwYXJ0aWN1bGFyIGluY29ycmVjdCBhc3NlcnRpb24gZmFpbHVy
ZS48L3A+Ci0KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBw
Y2FjaGUvZmFpbC1vbi11cGRhdGUtMi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBj
YWNoZS9yZXNvdXJjZXMvZmFpbC1vbi11cGRhdGUtMi1yZWFsLmh0bWwKc2ltaWxhcml0eSBpbmRl
eCA3OCUKY29weSBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11
cGRhdGUtMi5odG1sCmNvcHkgdG8gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9yZXNv
dXJjZXMvZmFpbC1vbi11cGRhdGUtMi1yZWFsLmh0bWwKaW5kZXggZmM0ZTBiYy4uZjhmNjJkZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0
ZS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMv
ZmFpbC1vbi11cGRhdGUtMi1yZWFsLmh0bWwKQEAgLTEsMTQgKzEsOSBAQAotPGh0bWwgbWFuaWZl
c3Q9InJlc291cmNlcy9mYWlsLW9uLXVwZGF0ZS0yLnBocCI+Cis8aHRtbCBtYW5pZmVzdD0iZmFp
bC1vbi11cGRhdGUtMi5waHAiPgogPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotfQotCiBmdW5jdGlvbiBzZXRNYW5pZmVzdERlbGV0ZWQoc3RhdGUpCiB7CiAgICAgdmFy
IHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKLSAgICByZXEub3BlbigiR0VUIiwgInJlc291cmNl
cy9mYWlsLW9uLXVwZGF0ZS0yLnBocD9jb21tYW5kPSIgKyAoc3RhdGUgPyAiZGVsZXRlIiA6ICJy
ZXNldCIpLCBmYWxzZSk7CisgICAgcmVxLm9wZW4oIkdFVCIsICJmYWlsLW9uLXVwZGF0ZS0yLnBo
cD9jb21tYW5kPSIgKyAoc3RhdGUgPyAiZGVsZXRlIiA6ICJyZXNldCIpLCBmYWxzZSk7CiAgICAg
cmVxLnNlbmQobnVsbCk7CiB9CiAKQEAgLTIxLDEyICsxNiwxMiBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAKICAgICAvLyBDcmVhdGUgdHdvIHN1YmZyYW1lcyBhdCBkaWZmZXJlbnQgdGltZXMgdG8g
bWFrZSBoaXR0aW5nIHRoZSByYWNlIGNvbmRpdGlvbiBtb3JlIGxpa2VseS4KICAgICB2YXIgaWZy
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyLnNldEF0dHJpYnV0
ZSgic3JjIiwgJ3Jlc291cmNlcy9mYWlsLW9uLXVwZGF0ZS0yLmh0bWwnKTsKKyAgICBpZnIuc2V0
QXR0cmlidXRlKCJzcmMiLCAnZmFpbC1vbi11cGRhdGUtMi5odG1sJyk7CiAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChpZnIpOwogCiAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAg
ICAgICAgdmFyIGlmciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgICAg
ICBpZnIuc2V0QXR0cmlidXRlKCJzcmMiLCAncmVzb3VyY2VzL2ZhaWwtb24tdXBkYXRlLTIuaHRt
bCcpOworICAgICAgICBpZnIuc2V0QXR0cmlidXRlKCJzcmMiLCAnZmFpbC1vbi11cGRhdGUtMi5o
dG1sJyk7CiAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyKTsKICAgICB9LCAw
KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1v
bi11cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvcmVzb3VyY2Vz
L2ZhaWwtb24tdXBkYXRlLXJlYWwuaHRtbApzaW1pbGFyaXR5IGluZGV4IDc2JQpjb3B5IGZyb20g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9mYWlsLW9uLXVwZGF0ZS5odG1sCmNvcHkg
dG8gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9hcHBjYWNoZS9yZXNvdXJjZXMvZmFpbC1vbi11cGRh
dGUtcmVhbC5odG1sCmluZGV4IDk0ZmZjYTMuLjZkOWE1NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvYXBwY2FjaGUvZmFpbC1vbi11cGRhdGUuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2FwcGNhY2hlL3Jlc291cmNlcy9mYWlsLW9uLXVwZGF0ZS1yZWFsLmh0
bWwKQEAgLTEsMTUgKzEsMTEgQEAKLTxodG1sIG1hbmlmZXN0PSJyZXNvdXJjZXMvZmFpbC1vbi11
cGRhdGUucGhwIj4KKzxodG1sIG1hbmlmZXN0PSJmYWlsLW9uLXVwZGF0ZS5waHAiPgogPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCiBmdW5jdGlvbiBzZXRNYW5p
ZmVzdERlbGV0ZWQoc3RhdGUpCiB7CiAgICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsK
LSAgICByZXEub3BlbigiR0VUIiwgInJlc291cmNlcy9mYWlsLW9uLXVwZGF0ZS5waHA/Y29tbWFu
ZD0iICsgKHN0YXRlID8gImRlbGV0ZSIgOiAicmVzZXQiKSwgZmFsc2UpOworICAgIHJlcS5vcGVu
KCJHRVQiLCAiZmFpbC1vbi11cGRhdGUucGhwP2NvbW1hbmQ9IiArIChzdGF0ZSA/ICJkZWxldGUi
IDogInJlc2V0IiksIGZhbHNlKTsKICAgICByZXEuc2VuZChudWxsKTsKKyAgICAvLyBhbGVydCgi
WEhSIFNUQVRVUzogIiArIHJlcS5zdGF0dXMpOwogfQogCiBmdW5jdGlvbiB0ZXN0KCkKQEAgLTE3
LDYgKzEzLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7
CiAKICAgICBzZXRNYW5pZmVzdERlbGV0ZWQodHJ1ZSk7CisgICAgLy8gYWxlcnQoJ3VwZGF0aW5n
Jyk7CiAgICAgYXBwbGljYXRpb25DYWNoZS51cGRhdGUoKTsKICAgICB3aW5kb3cubG9jYXRpb24g
PSAnZGF0YTp0ZXh0L2h0bWwsPHA+U1VDQ0VTUzogTm8gY3Jhc2guPC9wPicgKyAKICAgICAgICAg
JzxzY3JpcHQ+JyArCkBAIC0yNiwxMiArMjMsMTYgQEAgZnVuY3Rpb24gdGVzdCgpCiAKIGZ1bmN0
aW9uIHJlc2V0TWFuaWZlc3QoKQogeworICAgIC8vIC8vIGFsZXJ0KCdyZXNldE1hbmlmZXN0Jyk7
CisgICAgLy8gYWxlcnQoYXBwbGljYXRpb25DYWNoZS5zdGF0dXMpOwogICAgIGlmIChhcHBsaWNh
dGlvbkNhY2hlLnN0YXR1cyAhPSBhcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVEICYmIGFwcGxpY2F0
aW9uQ2FjaGUuc3RhdHVzICE9IGFwcGxpY2F0aW9uQ2FjaGUuT0JTT0xFVEUpIHsKICAgICAgICAg
dGltZW91dElkID0gc2V0VGltZW91dChyZXNldE1hbmlmZXN0LCAxMDApOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCisgICAgLy8gYWxlcnQoJ3Jlc2V0dGluZycpOwogICAgIHNldE1hbmlmZXN0
RGVsZXRlZChmYWxzZSk7CisgICAgLy8gYWxlcnQoJ3JlbG9hZGluZycpOwogICAgIGxvY2F0aW9u
LnJlbG9hZCgpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>