<?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>150528</bug_id>
          
          <creation_ts>2015-10-23 21:26:02 -0700</creation_ts>
          <short_desc>Add an option to make the graphics benchmark runs a specific test</short_desc>
          <delta_ts>2015-10-28 16:12:23 -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>Animations</component>
          <version>WebKit 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="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1136237</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-10-23 21:26:02 -0700</bug_when>
    <thetext>This option should be useful for profiling and testing a specific test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136238</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-10-23 21:27:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/23246614&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136784</commentid>
    <comment_count>2</comment_count>
      <attachid>264123</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-10-27 01:15:29 -0700</bug_when>
    <thetext>Created attachment 264123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136812</commentid>
    <comment_count>3</comment_count>
      <attachid>264123</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-10-27 09:27:22 -0700</bug_when>
    <thetext>Comment on attachment 264123
Patch

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

&gt; PerformanceTests/Animometer/runner/animometer.html:34
&gt; +                    &lt;label&gt;&lt;input id=&quot;show-running-results&quot; type=&quot;checkbox&quot; /&gt; Show running results&lt;/label&gt;

void elements like &lt;br&gt; and &lt;input&gt; do not require slashes at the end.

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:76
&gt; +    for (var i = 0; i &lt; suiteItems.length; ++i) {

Can&apos;t we use forEach() here?

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:85
&gt; +        for (var j = 0; j &lt; testCheckboxes.length; ++j) {

Can&apos;t we use forEach() here?

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:87
&gt; +            if (testCheckbox.checked) {

Do we need to flip the condition and use continue like the if(!suiteCheckbox.checked) above?

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:171
&gt; +function initialize() {

I am not sure about the style guidelines here. I was putting the opening brace of the function and the class on the same line like what you do. But I got a comment from Dean that the opening braces of the function and the class should be in a separate line.

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:186
&gt; +    for (var i = 0; i &lt; testCheckboxes.length; ++i) {

Can&apos;t we use forEach() here?

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:200
&gt; +    var noneSelected = true;

Can&apos;t we used:
    var cSelected = 0;

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:205
&gt; +        noneSelected = noneSelected &amp;&amp; !testCheckbox.checked;

cSelected += testCheckbox.checked;

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:207
&gt; +    if (allSelected &amp;&amp; !noneSelected) {

if (cSelected == testCheckboxes.length)

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:211
&gt; +    else if (!allSelected &amp;&amp; noneSelected) {

if (!cSelected)

&gt; PerformanceTests/Animometer/runner/resources/animometer.js:218
&gt; +    }

We can even simplify the code and replace the whole if-statment by:
    suiteCheckbox.checked = cSelected &gt; 0;
    suiteCheckbox.indeterminate = cSelected &gt; 0 &amp;&amp; cSelected &lt; testCheckboxes.length;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136906</commentid>
    <comment_count>4</comment_count>
      <attachid>264123</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-10-27 13:27:59 -0700</bug_when>
    <thetext>Comment on attachment 264123
Patch

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

&gt;&gt; PerformanceTests/Animometer/runner/animometer.html:34
&gt;&gt; +                    &lt;label&gt;&lt;input id=&quot;show-running-results&quot; type=&quot;checkbox&quot; /&gt; Show running results&lt;/label&gt;
&gt; 
&gt; void elements like &lt;br&gt; and &lt;input&gt; do not require slashes at the end.

I can remove. That generally always bothered me but I don&apos;t know if we have a style policy of this.

&gt;&gt; PerformanceTests/Animometer/runner/resources/animometer.js:76
&gt;&gt; +    for (var i = 0; i &lt; suiteItems.length; ++i) {
&gt; 
&gt; Can&apos;t we use forEach() here?

NodeLists are not Arrays.

&gt;&gt; PerformanceTests/Animometer/runner/resources/animometer.js:85
&gt;&gt; +        for (var j = 0; j &lt; testCheckboxes.length; ++j) {
&gt; 
&gt; Can&apos;t we use forEach() here?

NodeLists are not Arrays.

&gt;&gt; PerformanceTests/Animometer/runner/resources/animometer.js:87
&gt;&gt; +            if (testCheckbox.checked) {
&gt; 
&gt; Do we need to flip the condition and use continue like the if(!suiteCheckbox.checked) above?

I didn&apos;t because the body wasn&apos;t large enough. But I can do it.

&gt;&gt; PerformanceTests/Animometer/runner/resources/animometer.js:186
&gt;&gt; +    for (var i = 0; i &lt; testCheckboxes.length; ++i) {
&gt; 
&gt; Can&apos;t we use forEach() here?

NodeLists are not Arrays.

&gt;&gt; PerformanceTests/Animometer/runner/resources/animometer.js:218
&gt;&gt; +    }
&gt; 
&gt; We can even simplify the code and replace the whole if-statment by:
&gt;     suiteCheckbox.checked = cSelected &gt; 0;
&gt;     suiteCheckbox.indeterminate = cSelected &gt; 0 &amp;&amp; cSelected &lt; testCheckboxes.length;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137033</commentid>
    <comment_count>5</comment_count>
      <attachid>264189</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-10-27 19:03:16 -0700</bug_when>
    <thetext>Created attachment 264189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137262</commentid>
    <comment_count>6</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-10-28 13:45:13 -0700</bug_when>
    <thetext>unofficial r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137345</commentid>
    <comment_count>7</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-10-28 16:12:23 -0700</bug_when>
    <thetext>Committed r191701: &lt;http://trac.webkit.org/changeset/191701&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264123</attachid>
            <date>2015-10-27 01:15:29 -0700</date>
            <delta_ts>2015-10-27 19:02:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150528-20151027011442.patch</filename>
            <type>text/plain</type>
            <size>12189</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxNjE2CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0FuaW1vbWV0ZXIvcnVubmVyL2FuaW1vbWV0ZXIuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvQW5p
bW9tZXRlci9ydW5uZXIvYW5pbW9tZXRlci5odG1sCmluZGV4IDFjM2UzMWFkZmFjZGZjZjFmYmEx
NmVhNTRlNmRiYTgyOTc0ZTQxM2YuLjcwMzhkZjQ3N2I2YmFhODAyYWIzNGQwMjExM2FiNWRmZWFj
NGEyY2UgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvYW5p
bW9tZXRlci5odG1sCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvYW5p
bW9tZXRlci5odG1sCkBAIC0yMSwxMyArMjEsMTcgQEAKICAgICAgICAgICAgIDwvcD4KICAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbnMiPgogICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN1
aXRlcyIgY2xhc3M9ImNvbHVtbiI+CisgICAgICAgICAgICAgICAgPHA+CisgICAgICAgICAgICAg
ICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ0b2dnbGVUZXN0cyIgLz4g
U2hvdyBpbmRpdmlkdWFsIHRlc3RzPC9sYWJlbD4KKyAgICAgICAgICAgICAgICA8L3A+CisgICAg
ICAgICAgICAgICAgU3VpdGVzOjxiciAvPgogICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg
ICAgICAgICAgIDxkaXY+Ci0gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5UZXN0IGludGVydmFs
OiA8aW5wdXQgaWQ9InRlc3QtaW50ZXJ2YWwiIHR5cGU9Im51bWJlciIgdmFsdWU9IjMwIj4gc2Vj
b25kczwvbGFiZWw+PGJyPgotICAgICAgICAgICAgICAgICAgICA8bGFiZWw+RnJhbWUgcmF0ZTog
PGlucHV0IGlkPSJmcmFtZS1yYXRlIiB0eXBlPSJudW1iZXIiIHZhbHVlPSI1MCI+IGZwczwvbGFi
ZWw+PGJyPgotICAgICAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IGlkPSJlc3RpbWF0ZWQt
ZnJhbWUtcmF0ZSIgdHlwZT0iY2hlY2tib3giIGNoZWNrZWQ+IEVzdGltYXRlZCBGcmFtZSBSYXRl
PC9sYWJlbD48YnI+Ci0gICAgICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgaWQ9ImZpeC10
ZXN0LWNvbXBsZXhpdHkiIHR5cGU9ImNoZWNrYm94Ij4gRml4IHRlc3QgY29tcGxleGl0eSBhZnRl
ciB3YXJtdXA8L2xhYmVsPgotICAgICAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IGlkPSJz
aG93LXJ1bm5pbmctcmVzdWx0cyIgdHlwZT0iY2hlY2tib3giPiBTaG93IHJ1bm5pbmcgcmVzdWx0
czwvbGFiZWw+CisgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5UZXN0IGludGVydmFsOiA8aW5w
dXQgaWQ9InRlc3QtaW50ZXJ2YWwiIHR5cGU9Im51bWJlciIgdmFsdWU9IjMwIiAvPiBzZWNvbmRz
PC9sYWJlbD48YnIgLz4KKyAgICAgICAgICAgICAgICAgICAgPGxhYmVsPkZyYW1lIHJhdGU6IDxp
bnB1dCBpZD0iZnJhbWUtcmF0ZSIgdHlwZT0ibnVtYmVyIiB2YWx1ZT0iNTAiPiBmcHM8L2xhYmVs
PjxiciAvPgorICAgICAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IGlkPSJlc3RpbWF0ZWQt
ZnJhbWUtcmF0ZSIgdHlwZT0iY2hlY2tib3giIGNoZWNrZWQgLz4gRXN0aW1hdGVkIEZyYW1lIFJh
dGU8L2xhYmVsPjxiciAvPgorICAgICAgICAgICAgICAgICAgICA8bGFiZWw+PGlucHV0IGlkPSJm
aXgtdGVzdC1jb21wbGV4aXR5IiB0eXBlPSJjaGVja2JveCIgLz4gRml4IHRlc3QgY29tcGxleGl0
eSBhZnRlciB3YXJtdXA8L2xhYmVsPjxiciAvPgorICAgICAgICAgICAgICAgICAgICA8bGFiZWw+
PGlucHV0IGlkPSJzaG93LXJ1bm5pbmctcmVzdWx0cyIgdHlwZT0iY2hlY2tib3giIC8+IFNob3cg
cnVubmluZyByZXN1bHRzPC9sYWJlbD4KICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAg
ICAgIDwvZGl2PgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9ucyI+CmRpZmYgLS1naXQg
YS9QZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVy
LmNzcyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2FuaW1v
bWV0ZXIuY3NzCmluZGV4IGFmNzk2MjY3NzNlY2E5YWViY2Q4N2Y3MjU0NDk0ZGMyMjQ1ZDJlMmQu
LjRiM2U2YTAyMDIxNjhiM2U3NmVjNmY4ZWY2ZTg0MjkxMjViYjkzY2EgMTAwNjQ0Ci0tLSBhL1Bl
cmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2FuaW1vbWV0ZXIuY3Nz
CisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2FuaW1v
bWV0ZXIuY3NzCkBAIC0xMzEsMTUgKzEzMSwzNiBAQCBzZWN0aW9uI2pzb24gPiB0ZXh0YXJlYSB7
CiAub3B0aW9ucyB7CiAgICAgbWFyZ2luOjAgYXV0bzsgICAgCiAgICAgbWFyZ2luLXRvcDogMzBw
eDsKLSAgICB3aWR0aDogNTAwcHg7CisgICAgd2lkdGg6IDYwMHB4OwogICAgIGFsaWduOiBjZW50
ZXI7CiB9CiAKKy5vcHRpb25zIHAgeworICAgIG1hcmdpbi10b3A6IDA7Cit9CisKKyNzdWl0ZXMg
dWwgeworICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKKyAgICBtYXJnaW46IDA7CisgICAgcGFk
ZGluZzogMDsKK30KKworI3N1aXRlcyB1bCB1bCB7CisgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTsK
KyAgICBkaXNwbGF5OiBub25lOworfQorCisjc3VpdGVzIHVsIHVsIGlucHV0LCAjc3VpdGVzIHVs
IHVsIGxhYmVsIHsKKyAgICBmb250LXNpemU6IC44ZW07Cit9CisKKyNzdWl0ZXMuc2hvd1Rlc3Rz
IHVsIHVsIHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKwogLmNvbHVtbiB7Ci0gICAgd2lkdGg6
IDQ1JTsKKyAgICB3aWR0aDogNTUlOwogICAgIGZsb2F0OmxlZnQ7Ci0gICAgaGVpZ2h0OiAxMjBw
eDsKLSAgICBwYWRkaW5nOjVweDsKIH0KIAogaW5wdXRbdHlwZT0ibnVtYmVyIl0gewpkaWZmIC0t
Z2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvYW5pbW9t
ZXRlci5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2Fu
aW1vbWV0ZXIuanMKaW5kZXggYWFlYTRmMWUwZjNjODhlNTliNDNlY2Y0OWVhZGVjMDc3MjYwOGM2
My4uMzRlYzQ5ZDIxNDEyODFiYTQ0OWRmYzkwYjliYTc1MGNhM2FiY2MwNSAxMDA2NDQKLS0tIGEv
UGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvYW5pbW9tZXRlci5q
cworKysgYi9QZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmlt
b21ldGVyLmpzCkBAIC03MCwxNyArNzAsMzEgQEAgZnVuY3Rpb24gc2hvd1NlY3Rpb24oc2VjdGlv
bklkZW50aWZpZXIsIHB1c2hTdGF0ZSkKIGZ1bmN0aW9uIHN0YXJ0QmVuY2htYXJrKCkKIHsKICAg
ICB2YXIgZW5hYmxlZFN1aXRlcyA9IFtdOwotICAgIHZhciBjaGVja2JveGVzID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiI3N1aXRlcyBpbnB1dCIpOwotICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgY2hlY2tib3hlcy5sZW5ndGg7ICsraSkgewotICAgICAgICB2YXIgY2hlY2tib3ggPSBjaGVj
a2JveGVzW2ldOwotICAgICAgICBpZiAoY2hlY2tib3guY2hlY2tlZCkgewotICAgICAgICAgICAg
ZW5hYmxlZFN1aXRlcy5wdXNoKGNoZWNrYm94LnN1aXRlKTsKKworICAgIGxvY2FsU3RvcmFnZS5j
bGVhcigpOworICAgIHZhciBzdWl0ZUl0ZW1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
I3N1aXRlcyA+IHVsID4gbGkiKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN1aXRlSXRlbXMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIHN1aXRlSXRlbSA9IHN1aXRlSXRlbXNbaV07Cisg
ICAgICAgIHZhciBzdWl0ZUNoZWNrYm94ID0gc3VpdGVJdGVtLnF1ZXJ5U2VsZWN0b3IoImlucHV0
Iik7CisKKyAgICAgICAgaWYgKCFzdWl0ZUNoZWNrYm94LmNoZWNrZWQpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICB2YXIgZW5hYmxlZFRlc3RzID0gW107CisgICAgICAgIHZhciB0
ZXN0Q2hlY2tib3hlcyA9IHN1aXRlSXRlbS5xdWVyeVNlbGVjdG9yKCJ1bCIpLnF1ZXJ5U2VsZWN0
b3JBbGwoImlucHV0Iik7CisgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVzdENoZWNrYm94
ZXMubGVuZ3RoOyArK2opIHsKKyAgICAgICAgICAgIHZhciB0ZXN0Q2hlY2tib3ggPSB0ZXN0Q2hl
Y2tib3hlc1tqXTsKKyAgICAgICAgICAgIGlmICh0ZXN0Q2hlY2tib3guY2hlY2tlZCkgeworICAg
ICAgICAgICAgICAgIGVuYWJsZWRUZXN0cy5wdXNoKHRlc3RDaGVja2JveC50ZXN0KTsKKyAgICAg
ICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lRm9yVGVzdChz
dWl0ZUNoZWNrYm94LnN1aXRlLCB0ZXN0Q2hlY2tib3gudGVzdCksICt0ZXN0Q2hlY2tib3guY2hl
Y2tlZCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgbG9jYWxTdG9yYWdlLnNl
dEl0ZW0oY2hlY2tib3guc3VpdGUubmFtZSwgK2NoZWNrYm94LmNoZWNrZWQpOwotICAgICAgICBs
b2NhbFN0b3JhZ2Uuc2V0SXRlbSgidGVzdC1pbnRlcnZhbCIsIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0ZXN0LWludGVydmFsIikudmFsdWUpOworCisgICAgICAgIGVuYWJsZWRTdWl0ZXMucHVz
aChuZXcgU3VpdGUoc3VpdGVDaGVja2JveC5zdWl0ZS5uYW1lLCBlbmFibGVkVGVzdHMpKTsKICAg
ICB9CiAKLSAgICB2YXIgZW5hYmxlZFN1aXRlcyA9IFN1aXRlcy5maWx0ZXIoZnVuY3Rpb24gKHN1
aXRlLCBpbmRleCkgeyByZXR1cm4gIXN1aXRlLmRpc2FibGVkICYmIGNoZWNrYm94ZXNbaW5kZXhd
LmNoZWNrZWQ7IH0pOworICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0ZXN0LWludGVydmFsIiwg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtaW50ZXJ2YWwiKS52YWx1ZSk7CisKICAgICB2
YXIgdGVzdHNDb3VudCA9IGVuYWJsZWRTdWl0ZXMucmVkdWNlKGZ1bmN0aW9uICh0ZXN0c0NvdW50
LCBzdWl0ZSkgeyByZXR1cm4gdGVzdHNDb3VudCArIHN1aXRlLnRlc3RzLmxlbmd0aDsgfSwgMCk7
CiAgICAgYmVuY2htYXJrUnVubmVyQ2xpZW50LnRlc3RzQ291bnQgPSBiZW5jaG1hcmtSdW5uZXJD
bGllbnQuaXRlcmF0aW9uQ291bnQgKiB0ZXN0c0NvdW50OwogICAgIGJlbmNobWFya1J1bm5lckNs
aWVudC5vcHRpb25zWyJ0ZXN0SW50ZXJ2YWwiXSA9IHBhcnNlSW50KGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0LWludGVydmFsIikudmFsdWUpICogMTAwMDsKQEAgLTE1NCwyNCArMTY4LDEw
MSBAQCBmdW5jdGlvbiBzaG93VGVzdEpTT04odGVzdE5hbWUsIHRlc3RSZXN1bHRzKQogICAgIHNo
b3dTZWN0aW9uKCJ0ZXN0LWpzb24iLCB0cnVlKTsgICAgCiB9CiAKK2Z1bmN0aW9uIGluaXRpYWxp
emUoKSB7CisgICAgcG9wdWxhdGVTZXR0aW5ncygpOworCisgICAgdmFyIHRvZ2dsZVRlc3RzQ2hl
Y2tib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9nZ2xlVGVzdHMiKTsKKyAgICB0b2dn
bGVUZXN0c0NoZWNrYm94Lm9uY2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgaWYg
KGV2ZW50LnRhcmdldC5jaGVja2VkKQorICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInN1aXRlcyIpLmNsYXNzTGlzdC5hZGQoInNob3dUZXN0cyIpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VpdGVzIikuY2xhc3NMaXN0LnJl
bW92ZSgic2hvd1Rlc3RzIik7CisgICAgfTsKK30KKworZnVuY3Rpb24gdXBkYXRlU3VpdGVTZWxl
Y3Rpb24oZXZlbnQpIHsKKyAgICB2YXIgc2VsZWN0ZWQgPSBldmVudC50YXJnZXQuY2hlY2tlZDsK
KyAgICB2YXIgdGVzdENoZWNrYm94ZXMgPSBldmVudC50YXJnZXQucGFyZW50Tm9kZS5wYXJlbnRO
b2RlLnF1ZXJ5U2VsZWN0b3IoInVsIikucXVlcnlTZWxlY3RvckFsbCgiaW5wdXQiKTsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHRlc3RDaGVja2JveGVzLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IHRlc3RDaGVja2JveGVzW2ldLmNoZWNrZWQgPSBzZWxlY3RlZDsKKyAgICB9Cit9CisKK2Z1bmN0
aW9uIHVwZGF0ZVRlc3RTZWxlY3Rpb24oZXZlbnQpIHsKKyAgICB2YXIgdGVzdHNMaXN0ID0gZXZl
bnQudGFyZ2V0LnBhcmVudE5vZGUucGFyZW50Tm9kZS5wYXJlbnROb2RlOworICAgIHZhciBzdWl0
ZUNoZWNrYm94ID0gdGVzdHNMaXN0LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvcigibGFiZWwgPiBp
bnB1dCIpOworCisgICAgdXBkYXRlU3VpdGVDaGVja2JveCh0ZXN0c0xpc3QsIHN1aXRlQ2hlY2ti
b3gpOworfQorCitmdW5jdGlvbiB1cGRhdGVTdWl0ZUNoZWNrYm94KHRlc3RzTGlzdCwgc3VpdGVD
aGVja2JveCkgeworICAgIHZhciBhbGxTZWxlY3RlZCA9IHRydWU7CisgICAgdmFyIG5vbmVTZWxl
Y3RlZCA9IHRydWU7CisgICAgdmFyIHRlc3RDaGVja2JveGVzID0gdGVzdHNMaXN0LnF1ZXJ5U2Vs
ZWN0b3JBbGwoImlucHV0Iik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0Q2hlY2tib3hl
cy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgdGVzdENoZWNrYm94ID0gdGVzdENoZWNrYm94
ZXNbaV07CisgICAgICAgIGFsbFNlbGVjdGVkID0gYWxsU2VsZWN0ZWQgJiYgdGVzdENoZWNrYm94
LmNoZWNrZWQ7CisgICAgICAgIG5vbmVTZWxlY3RlZCA9IG5vbmVTZWxlY3RlZCAmJiAhdGVzdENo
ZWNrYm94LmNoZWNrZWQ7CisgICAgfQorICAgIGlmIChhbGxTZWxlY3RlZCAmJiAhbm9uZVNlbGVj
dGVkKSB7CisgICAgICAgIHN1aXRlQ2hlY2tib3guaW5kZXRlcm1pbmF0ZSA9IGZhbHNlOworICAg
ICAgICBzdWl0ZUNoZWNrYm94LmNoZWNrZWQgPSB0cnVlOworICAgIH0KKyAgICBlbHNlIGlmICgh
YWxsU2VsZWN0ZWQgJiYgbm9uZVNlbGVjdGVkKSB7CisgICAgICAgIHN1aXRlQ2hlY2tib3guaW5k
ZXRlcm1pbmF0ZSA9IGZhbHNlOworICAgICAgICBzdWl0ZUNoZWNrYm94LmNoZWNrZWQgPSBmYWxz
ZTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHN1aXRlQ2hlY2tib3guaW5kZXRlcm1pbmF0
ZSA9IHRydWU7CisgICAgICAgIHN1aXRlQ2hlY2tib3guY2hlY2tlZCA9IHRydWU7CisgICAgfQor
fQorCitmdW5jdGlvbiBsb2NhbFN0b3JhZ2VOYW1lRm9yVGVzdChzdWl0ZSwgdGVzdCkgeworICAg
IHJldHVybiBzdWl0ZS5uYW1lICsgIi8iICsgdGVzdC5uYW1lOworfQorCiBmdW5jdGlvbiBwb3B1
bGF0ZVNldHRpbmdzKCkgewogICAgIHZhciBzdWl0ZXNEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgic3VpdGVzIik7CisKKyAgICB2YXIgc3VpdGVzTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInVsIik7CisgICAgc3VpdGVzRGl2LmFwcGVuZENoaWxkKHN1aXRlc0xpc3QpOworCiAg
ICAgU3VpdGVzLmZvckVhY2goZnVuY3Rpb24oc3VpdGUpIHsKLSAgICAgICAgdmFyIHN1aXRlRGl2
ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwotCi0gICAgICAgIHZhciBsYWJl
bCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7Ci0gICAgICAgIHZhciBjaGVja2Jv
eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Ci0gICAgICAgIGNoZWNrYm94LnNl
dEF0dHJpYnV0ZSgidHlwZSIsICJjaGVja2JveCIpOwotICAgICAgICBjaGVja2JveC5zdWl0ZSA9
IHN1aXRlOwotICAgICAgICBpZiAoK2xvY2FsU3RvcmFnZS5nZXRJdGVtKHN1aXRlLm5hbWUpKSB7
Ci0gICAgICAgICAgICBjaGVja2JveC5jaGVja2VkID0gdHJ1ZTsKLSAgICAgICAgfQotICAgICAg
ICBsYWJlbC5hcHBlbmRDaGlsZChjaGVja2JveCk7Ci0gICAgICAgIGxhYmVsLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIiArIHN1aXRlLm5hbWUpKTsKKyAgICAgICAgdmFy
IHN1aXRlSXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgICAgIHN1aXRl
c0xpc3QuYXBwZW5kQ2hpbGQoc3VpdGVJdGVtKTsKKworICAgICAgICB2YXIgc3VpdGVMYWJlbCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7CisgICAgICAgIHN1aXRlSXRlbS5hcHBl
bmRDaGlsZChzdWl0ZUxhYmVsKTsKKworICAgICAgICB2YXIgc3VpdGVDaGVja2JveCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CisgICAgICAgIHN1aXRlQ2hlY2tib3guc2V0QXR0
cmlidXRlKCJ0eXBlIiwgImNoZWNrYm94Iik7CisgICAgICAgIHN1aXRlQ2hlY2tib3guc3VpdGUg
PSBzdWl0ZTsKKyAgICAgICAgc3VpdGVDaGVja2JveC5vbmNoYW5nZSA9IHVwZGF0ZVN1aXRlU2Vs
ZWN0aW9uOworICAgICAgICBzdWl0ZUxhYmVsLmFwcGVuZENoaWxkKHN1aXRlQ2hlY2tib3gpOwor
ICAgICAgICBzdWl0ZUxhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIg
IiArIHN1aXRlLm5hbWUpKTsKKworICAgICAgICB2YXIgdGVzdHNMaXN0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgidWwiKTsKKyAgICAgICAgc3VpdGVJdGVtLmFwcGVuZENoaWxkKHRlc3RzTGlz
dCk7CisKKyAgICAgICAgc3VpdGUudGVzdHMuZm9yRWFjaChmdW5jdGlvbih0ZXN0KSB7CisgICAg
ICAgICAgICB2YXIgdGVzdEl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAg
ICAgICAgICAgdGVzdHNMaXN0LmFwcGVuZENoaWxkKHRlc3RJdGVtKTsKKworICAgICAgICAgICAg
dmFyIHRlc3RMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7CisgICAgICAg
ICAgICB0ZXN0SXRlbS5hcHBlbmRDaGlsZCh0ZXN0TGFiZWwpOworCisgICAgICAgICAgICB2YXIg
dGVzdENoZWNrYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKyAgICAgICAg
ICAgIHRlc3RDaGVja2JveC5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiY2hlY2tib3giKTsKKyAgICAg
ICAgICAgIHRlc3RDaGVja2JveC50ZXN0ID0gdGVzdDsKKyAgICAgICAgICAgIHRlc3RDaGVja2Jv
eC5vbmNoYW5nZSA9IHVwZGF0ZVRlc3RTZWxlY3Rpb247CisgICAgICAgICAgICBpZiAoK2xvY2Fs
U3RvcmFnZS5nZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWVGb3JUZXN0KHN1aXRlLCB0ZXN0KSkpCisg
ICAgICAgICAgICAgICAgdGVzdENoZWNrYm94LmNoZWNrZWQgPSB0cnVlOworICAgICAgICAgICAg
dGVzdExhYmVsLmFwcGVuZENoaWxkKHRlc3RDaGVja2JveCk7CisgICAgICAgICAgICB0ZXN0TGFi
ZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgdGVzdC5uYW1lKSk7
CisgICAgICAgIH0pOwogCi0gICAgICAgIHN1aXRlRGl2LmFwcGVuZENoaWxkKGxhYmVsKTsKLSAg
ICAgICAgc3VpdGVEaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7
Ci0gICAgICAgIHN1aXRlc0Rpdi5hcHBlbmRDaGlsZChzdWl0ZURpdik7CisgICAgICAgIHVwZGF0
ZVN1aXRlQ2hlY2tib3godGVzdHNMaXN0LCBzdWl0ZUNoZWNrYm94KTsKICAgICB9KTsKIAogICAg
IHZhciBpbnRlcnZhbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ0ZXN0LWludGVydmFsIik7CkBA
IC0xNzksNCArMjcwLDQgQEAgZnVuY3Rpb24gcG9wdWxhdGVTZXR0aW5ncygpIHsKICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtaW50ZXJ2YWwiKS52YWx1ZSA9IGludGVydmFs
OwogICAgIH0KIH0KLWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQi
LCBwb3B1bGF0ZVNldHRpbmdzKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkb2N1bWVu
dC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgaW5pdGlhbGl6ZSk7CmRpZmYg
LS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDNlMGE3ZjAzNTc2MDZmZTZlNWY4YWM0NWQ5ODcyNGZiZjg0YWJkNDEuLmJi
ZjM1MTIwMWJmZWRhODk5MzMyZmRlYWExNmU1NTM1MGY1NTIyMzggMTAwNjQ0Ci0tLSBhL1BlcmZv
cm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzggQEAKKzIwMTUtMTAtMjcgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBhbiBvcHRpb24gdG8gbWFrZSB0aGUgZ3JhcGhpY3MgYmVuY2htYXJrIHJ1
bnMgYSBzcGVjaWZpYyB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTA1MjgKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjMyNDY2MTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBjaGVja2Jv
eCB0aGF0IGxldHMgdGhlIHVzZXIgbGlzdCBhbGwgb2YgdGhlIGF2YWlsYWJsZSB0ZXN0cywgYW5k
IHNlbGVjdAorICAgICAgICB0aGUgb25lcyB0byBydW4gcmVwZWF0ZWRseS4gVGhlIHRlc3QgY2hl
Y2tib3hlcyB3aWxsIHVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhlIHN1aXRlCisgICAgICAgIGNoZWNr
Ym94LiBUaGUgc2VsZWN0ZWQgdGVzdHMgYXJlIHN0b3JlZCBpbiBsb2NhbFN0b3JhZ2UgdG8gbWFr
ZSBpdCBlYXN5IHRvIGRvCisgICAgICAgIHJlcGVhdGVkIHJ1bnMuCisKKyAgICAgICAgKiBBbmlt
b21ldGVyL3J1bm5lci9hbmltb21ldGVyLmh0bWw6IEFkZCBhIGNoZWNrYm94IHRvIHNob3cgaW5k
aXZpZHVhbCB0ZXN0cy4KKyAgICAgICAgVXBkYXRlIG90aGVyIG1hcmt1cC4KKyAgICAgICAgKiBB
bmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvYW5pbW9tZXRlci5jc3M6IE1ha2UgdGhlIHNldHRp
bmdzIGFyZWEgYSBsaXR0bGUgd2lkZXIKKyAgICAgICAgdG8gYWNjb21tb2RhdGUgdGhlIGxvbmdl
ciBuYW1lcyBvZiB0aGUgdGVzdHMKKyAgICAgICAgKiBBbmltb21ldGVyL3J1bm5lci9yZXNvdXJj
ZXMvYW5pbW9tZXRlci5qczoKKyAgICAgICAgKHN0YXJ0QmVuY2htYXJrKTogQ2hhbmdlIHRoZSB3
YXkgdGhhdCB0aGUgc3VpdGVzIGFyZSBmZWQgaW50byB0aGUgYmVuY2htYXJrCisgICAgICAgIHJ1
bm5lci4gR28gdGhyb3VnaCBlYWNoIG9mIHRoZSBzdWl0ZXMgYW5kIHRoZWlyIHRlc3RzLCBhbmQg
Y3JlYXRlIGEgbmV3IFN1aXRlCisgICAgICAgIHdpdGgganVzdCB0aGUgZW5hYmxlZCB0ZXN0cy4g
V2hpbGUgZW51bWVyYXRpbmcgc3RvcmUgdGhlIGVuYWJsZWQgdGVzdHMgaW50bworICAgICAgICBs
b2NhbFN0b3JhZ2UuCisgICAgICAgIChpbml0aWFsaXplKTogSW5pdGlhbGl6YXRpb24gcm91dGlu
ZSAodGFraW5nIG92ZXIgcG9wdWxhdGVTZXR0aW5ncykuIFdoZW4gdGhlCisgICAgICAgIGNoZWNr
Ym94IGZvciBzaG93aW5nIHRlc3RzIGlzIHRvZ2dsZWQsIGFkZCBvciByZW1vdmUgYSBjbGFzcyBv
biAjc3VpdGVzIHRvIHNob3cKKyAgICAgICAgdGhlIGluZGl2aWR1YWwgdGVzdHMuCisgICAgICAg
ICh1cGRhdGVTdWl0ZVNlbGVjdGlvbik6IENhbGxlZCB3aGVuZXZlciB0aGUgdXNlciB0b2dnbGVz
IHRoZSBjaGVja2JveCBmb3IgYSBzdWl0ZS4KKyAgICAgICAgRWl0aGVyIHNlbGVjdCBhbGwgb3Ig
bm9uZSBvZiB0aGUgdGVzdHMuCisgICAgICAgICh1cGRhdGVUZXN0U2VsZWN0aW9uKTogQ2FsbGVk
IHdoZW5ldmVyIHRoZSB1c2VyIHRvZ2dsZXMgdGhlIGNoZWNrYm94IGZvciBhIHRlc3QuCisgICAg
ICAgICh1cGRhdGVTdWl0ZUNoZWNrYm94KTogVXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgdGVzdCdz
IHN1aXRlJ3MgY2hlY2tib3ggdG8KKyAgICAgICAgaW5kZXRlcm1pbmF0ZSBpZiB0aGVyZSBpcyBh
dCBsZWFzdCBvbmUgZW5hYmxlZCB0ZXN0LCB1bmNoZWNrZWQgaWYgbm9uZSBhcmUgc2VsZWN0ZWQs
CisgICAgICAgIGFuZCBjaGVja2VkIGlmIGFsbCBhcmUgc2VsZWN0ZWQuCisgICAgICAgIChsb2Nh
bFN0b3JhZ2VOYW1lRm9yVGVzdCk6IEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIG5hbWUgb2Yg
dGhlIHRlc3QgdG8gdXNlIGFzCisgICAgICAgIGEga2V5IHRvIGxvY2FsU3RvcmFnZS4KKyAgICAg
ICAgKHBvcHVsYXRlU2V0dGluZ3MpOiBBZGQgdGhlIHRlc3RzIGZvciBlYWNoIHN1aXRlIGludG8g
YW4gaW5uZXIgbGlzdC4KKwogMjAxNS0xMC0yNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhh
bGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBvcHRpb24gdG8gb3V0cHV0IHRoZSBy
ZXN1bHRzIG9mIHRoZSBncmFwaGljcyBiZW5jaG1hcmsgaW4gSlNPTiBmb3JtYXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264189</attachid>
            <date>2015-10-27 19:03:16 -0700</date>
            <delta_ts>2015-10-28 16:11:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150528-20151027190218.patch</filename>
            <type>text/plain</type>
            <size>11392</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxNjE2CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0FuaW1vbWV0ZXIvcnVubmVyL2FuaW1vbWV0ZXIuaHRtbCBiL1BlcmZvcm1hbmNlVGVzdHMvQW5p
bW9tZXRlci9ydW5uZXIvYW5pbW9tZXRlci5odG1sCmluZGV4IDFjM2UzMWFkZmFjZGZjZjFmYmEx
NmVhNTRlNmRiYTgyOTc0ZTQxM2YuLjJhOTNiYTYyYjE2ODAzODM0N2E3MjZkY2Y5ZWJiZWM1ZDA4
MDM5MjkgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvYW5p
bW9tZXRlci5odG1sCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvYW5p
bW9tZXRlci5odG1sCkBAIC0yMSwxMiArMjEsMTYgQEAKICAgICAgICAgICAgIDwvcD4KICAgICAg
ICAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbnMiPgogICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN1
aXRlcyIgY2xhc3M9ImNvbHVtbiI+CisgICAgICAgICAgICAgICAgPHA+CisgICAgICAgICAgICAg
ICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ0b2dnbGVUZXN0cyI+IFNo
b3cgaW5kaXZpZHVhbCB0ZXN0czwvbGFiZWw+CisgICAgICAgICAgICAgICAgPC9wPgorICAgICAg
ICAgICAgICAgIFN1aXRlczo8YnI+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAg
ICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlRlc3QgaW50ZXJ2YWw6IDxp
bnB1dCBpZD0idGVzdC1pbnRlcnZhbCIgdHlwZT0ibnVtYmVyIiB2YWx1ZT0iMzAiPiBzZWNvbmRz
PC9sYWJlbD48YnI+CiAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5GcmFtZSByYXRlOiA8aW5w
dXQgaWQ9ImZyYW1lLXJhdGUiIHR5cGU9Im51bWJlciIgdmFsdWU9IjUwIj4gZnBzPC9sYWJlbD48
YnI+CiAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgaWQ9ImVzdGltYXRlZC1mcmFt
ZS1yYXRlIiB0eXBlPSJjaGVja2JveCIgY2hlY2tlZD4gRXN0aW1hdGVkIEZyYW1lIFJhdGU8L2xh
YmVsPjxicj4KLSAgICAgICAgICAgICAgICAgICAgPGxhYmVsPjxpbnB1dCBpZD0iZml4LXRlc3Qt
Y29tcGxleGl0eSIgdHlwZT0iY2hlY2tib3giPiBGaXggdGVzdCBjb21wbGV4aXR5IGFmdGVyIHdh
cm11cDwvbGFiZWw+CisgICAgICAgICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgaWQ9ImZpeC10
ZXN0LWNvbXBsZXhpdHkiIHR5cGU9ImNoZWNrYm94Ij4gRml4IHRlc3QgY29tcGxleGl0eSBhZnRl
ciB3YXJtdXA8L2xhYmVsPjxicj4KICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPjxpbnB1dCBp
ZD0ic2hvdy1ydW5uaW5nLXJlc3VsdHMiIHR5cGU9ImNoZWNrYm94Ij4gU2hvdyBydW5uaW5nIHJl
c3VsdHM8L2xhYmVsPgogICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgPC9kaXY+
CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNl
cy9hbmltb21ldGVyLmNzcyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVz
b3VyY2VzL2FuaW1vbWV0ZXIuY3NzCmluZGV4IGFmNzk2MjY3NzNlY2E5YWViY2Q4N2Y3MjU0NDk0
ZGMyMjQ1ZDJlMmQuLjRiM2U2YTAyMDIxNjhiM2U3NmVjNmY4ZWY2ZTg0MjkxMjViYjkzY2EgMTAw
NjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2Fu
aW1vbWV0ZXIuY3NzCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVz
b3VyY2VzL2FuaW1vbWV0ZXIuY3NzCkBAIC0xMzEsMTUgKzEzMSwzNiBAQCBzZWN0aW9uI2pzb24g
PiB0ZXh0YXJlYSB7CiAub3B0aW9ucyB7CiAgICAgbWFyZ2luOjAgYXV0bzsgICAgCiAgICAgbWFy
Z2luLXRvcDogMzBweDsKLSAgICB3aWR0aDogNTAwcHg7CisgICAgd2lkdGg6IDYwMHB4OwogICAg
IGFsaWduOiBjZW50ZXI7CiB9CiAKKy5vcHRpb25zIHAgeworICAgIG1hcmdpbi10b3A6IDA7Cit9
CisKKyNzdWl0ZXMgdWwgeworICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKKyAgICBtYXJnaW46
IDA7CisgICAgcGFkZGluZzogMDsKK30KKworI3N1aXRlcyB1bCB1bCB7CisgICAgcGFkZGluZy1s
ZWZ0OiAxLjVlbTsKKyAgICBkaXNwbGF5OiBub25lOworfQorCisjc3VpdGVzIHVsIHVsIGlucHV0
LCAjc3VpdGVzIHVsIHVsIGxhYmVsIHsKKyAgICBmb250LXNpemU6IC44ZW07Cit9CisKKyNzdWl0
ZXMuc2hvd1Rlc3RzIHVsIHVsIHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKwogLmNvbHVtbiB7
Ci0gICAgd2lkdGg6IDQ1JTsKKyAgICB3aWR0aDogNTUlOwogICAgIGZsb2F0OmxlZnQ7Ci0gICAg
aGVpZ2h0OiAxMjBweDsKLSAgICBwYWRkaW5nOjVweDsKIH0KIAogaW5wdXRbdHlwZT0ibnVtYmVy
Il0gewpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNv
dXJjZXMvYW5pbW9tZXRlci5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIv
cmVzb3VyY2VzL2FuaW1vbWV0ZXIuanMKaW5kZXggYWFlYTRmMWUwZjNjODhlNTliNDNlY2Y0OWVh
ZGVjMDc3MjYwOGM2My4uMGIxYjdlODNmNjAxYjk1NmI3ODgxMjA5OTc5ZDRkMTkyODJlM2VjYSAx
MDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMv
YW5pbW9tZXRlci5qcworKysgYi9QZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jl
c291cmNlcy9hbmltb21ldGVyLmpzCkBAIC03MCwxNyArNzAsMzIgQEAgZnVuY3Rpb24gc2hvd1Nl
Y3Rpb24oc2VjdGlvbklkZW50aWZpZXIsIHB1c2hTdGF0ZSkKIGZ1bmN0aW9uIHN0YXJ0QmVuY2ht
YXJrKCkKIHsKICAgICB2YXIgZW5hYmxlZFN1aXRlcyA9IFtdOwotICAgIHZhciBjaGVja2JveGVz
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3N1aXRlcyBpbnB1dCIpOwotICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgY2hlY2tib3hlcy5sZW5ndGg7ICsraSkgewotICAgICAgICB2YXIgY2hl
Y2tib3ggPSBjaGVja2JveGVzW2ldOwotICAgICAgICBpZiAoY2hlY2tib3guY2hlY2tlZCkgewot
ICAgICAgICAgICAgZW5hYmxlZFN1aXRlcy5wdXNoKGNoZWNrYm94LnN1aXRlKTsKKworICAgIGxv
Y2FsU3RvcmFnZS5jbGVhcigpOworICAgIHZhciBzdWl0ZUl0ZW1zID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiI3N1aXRlcyA+IHVsID4gbGkiKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHN1aXRlSXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIHN1aXRlSXRlbSA9IHN1aXRl
SXRlbXNbaV07CisgICAgICAgIHZhciBzdWl0ZUNoZWNrYm94ID0gc3VpdGVJdGVtLnF1ZXJ5U2Vs
ZWN0b3IoImlucHV0Iik7CisKKyAgICAgICAgaWYgKCFzdWl0ZUNoZWNrYm94LmNoZWNrZWQpCisg
ICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICB2YXIgZW5hYmxlZFRlc3RzID0gW107Cisg
ICAgICAgIHZhciB0ZXN0Q2hlY2tib3hlcyA9IHN1aXRlSXRlbS5xdWVyeVNlbGVjdG9yKCJ1bCIp
LnF1ZXJ5U2VsZWN0b3JBbGwoImlucHV0Iik7CisgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwg
dGVzdENoZWNrYm94ZXMubGVuZ3RoOyArK2opIHsKKyAgICAgICAgICAgIHZhciB0ZXN0Q2hlY2ti
b3ggPSB0ZXN0Q2hlY2tib3hlc1tqXTsKKyAgICAgICAgICAgIGlmICghdGVzdENoZWNrYm94LmNo
ZWNrZWQpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGVuYWJsZWRU
ZXN0cy5wdXNoKHRlc3RDaGVja2JveC50ZXN0KTsKKyAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5z
ZXRJdGVtKGxvY2FsU3RvcmFnZU5hbWVGb3JUZXN0KHN1aXRlQ2hlY2tib3guc3VpdGUsIHRlc3RD
aGVja2JveC50ZXN0KSwgK3Rlc3RDaGVja2JveC5jaGVja2VkKTsKICAgICAgICAgfQotICAgICAg
ICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShjaGVja2JveC5zdWl0ZS5uYW1lLCArY2hlY2tib3guY2hl
Y2tlZCk7Ci0gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0ZXN0LWludGVydmFsIiwgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtaW50ZXJ2YWwiKS52YWx1ZSk7CisKKyAgICAgICAg
ZW5hYmxlZFN1aXRlcy5wdXNoKG5ldyBTdWl0ZShzdWl0ZUNoZWNrYm94LnN1aXRlLm5hbWUsIGVu
YWJsZWRUZXN0cykpOwogICAgIH0KIAotICAgIHZhciBlbmFibGVkU3VpdGVzID0gU3VpdGVzLmZp
bHRlcihmdW5jdGlvbiAoc3VpdGUsIGluZGV4KSB7IHJldHVybiAhc3VpdGUuZGlzYWJsZWQgJiYg
Y2hlY2tib3hlc1tpbmRleF0uY2hlY2tlZDsgfSk7CisgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0o
InRlc3QtaW50ZXJ2YWwiLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdC1pbnRlcnZhbCIp
LnZhbHVlKTsKKwogICAgIHZhciB0ZXN0c0NvdW50ID0gZW5hYmxlZFN1aXRlcy5yZWR1Y2UoZnVu
Y3Rpb24gKHRlc3RzQ291bnQsIHN1aXRlKSB7IHJldHVybiB0ZXN0c0NvdW50ICsgc3VpdGUudGVz
dHMubGVuZ3RoOyB9LCAwKTsKICAgICBiZW5jaG1hcmtSdW5uZXJDbGllbnQudGVzdHNDb3VudCA9
IGJlbmNobWFya1J1bm5lckNsaWVudC5pdGVyYXRpb25Db3VudCAqIHRlc3RzQ291bnQ7CiAgICAg
YmVuY2htYXJrUnVubmVyQ2xpZW50Lm9wdGlvbnNbInRlc3RJbnRlcnZhbCJdID0gcGFyc2VJbnQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtaW50ZXJ2YWwiKS52YWx1ZSkgKiAxMDAwOwpA
QCAtMTU0LDI0ICsxNjksOTAgQEAgZnVuY3Rpb24gc2hvd1Rlc3RKU09OKHRlc3ROYW1lLCB0ZXN0
UmVzdWx0cykKICAgICBzaG93U2VjdGlvbigidGVzdC1qc29uIiwgdHJ1ZSk7ICAgIAogfQogCitm
dW5jdGlvbiBpbml0aWFsaXplKCkgeworICAgIHBvcHVsYXRlU2V0dGluZ3MoKTsKKworICAgIHZh
ciB0b2dnbGVUZXN0c0NoZWNrYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZ2dsZVRl
c3RzIik7CisgICAgdG9nZ2xlVGVzdHNDaGVja2JveC5vbmNoYW5nZSA9IGZ1bmN0aW9uKGV2ZW50
KSB7CisgICAgICAgIGlmIChldmVudC50YXJnZXQuY2hlY2tlZCkKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdWl0ZXMiKS5jbGFzc0xpc3QuYWRkKCJzaG93VGVzdHMiKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN1aXRl
cyIpLmNsYXNzTGlzdC5yZW1vdmUoInNob3dUZXN0cyIpOworICAgIH07Cit9CisKK2Z1bmN0aW9u
IHVwZGF0ZVN1aXRlU2VsZWN0aW9uKGV2ZW50KSB7CisgICAgdmFyIHNlbGVjdGVkID0gZXZlbnQu
dGFyZ2V0LmNoZWNrZWQ7CisgICAgdmFyIHRlc3RDaGVja2JveGVzID0gZXZlbnQudGFyZ2V0LnBh
cmVudE5vZGUucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKCJ1bCIpLnF1ZXJ5U2VsZWN0b3JBbGwo
ImlucHV0Iik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0Q2hlY2tib3hlcy5sZW5ndGg7
ICsraSkgeworICAgICAgICB0ZXN0Q2hlY2tib3hlc1tpXS5jaGVja2VkID0gc2VsZWN0ZWQ7Cisg
ICAgfQorfQorCitmdW5jdGlvbiB1cGRhdGVUZXN0U2VsZWN0aW9uKGV2ZW50KSB7CisgICAgdmFy
IHRlc3RzTGlzdCA9IGV2ZW50LnRhcmdldC5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9k
ZTsKKyAgICB2YXIgc3VpdGVDaGVja2JveCA9IHRlc3RzTGlzdC5wYXJlbnROb2RlLnF1ZXJ5U2Vs
ZWN0b3IoImxhYmVsID4gaW5wdXQiKTsKKworICAgIHVwZGF0ZVN1aXRlQ2hlY2tib3godGVzdHNM
aXN0LCBzdWl0ZUNoZWNrYm94KTsKK30KKworZnVuY3Rpb24gdXBkYXRlU3VpdGVDaGVja2JveCh0
ZXN0c0xpc3QsIHN1aXRlQ2hlY2tib3gpIHsKKyAgICB2YXIgbnVtYmVyRW5hYmxlZFRlc3RzID0g
MDsKKyAgICB2YXIgdGVzdENoZWNrYm94ZXMgPSB0ZXN0c0xpc3QucXVlcnlTZWxlY3RvckFsbCgi
aW5wdXQiKTsKKyAgICB2YXIgdG90YWxDaGVja2JveGVzID0gdGVzdENoZWNrYm94ZXMubGVuZ3Ro
OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG90YWxDaGVja2JveGVzOyArK2kpIHsKKyAgICAg
ICAgaWYgKHRlc3RDaGVja2JveGVzW2ldLmNoZWNrZWQpCisgICAgICAgICAgICArK251bWJlckVu
YWJsZWRUZXN0czsKKyAgICB9CisgICAgc3VpdGVDaGVja2JveC5jaGVja2VkID0gbnVtYmVyRW5h
YmxlZFRlc3RzID4gMDsKKyAgICBzdWl0ZUNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBudW1iZXJF
bmFibGVkVGVzdHMgPiAwICYmIG51bWJlckVuYWJsZWRUZXN0cyA8IHRvdGFsQ2hlY2tib3hlczsK
K30KKworZnVuY3Rpb24gbG9jYWxTdG9yYWdlTmFtZUZvclRlc3Qoc3VpdGUsIHRlc3QpIHsKKyAg
ICByZXR1cm4gc3VpdGUubmFtZSArICIvIiArIHRlc3QubmFtZTsKK30KKwogZnVuY3Rpb24gcG9w
dWxhdGVTZXR0aW5ncygpIHsKICAgICB2YXIgc3VpdGVzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInN1aXRlcyIpOworCisgICAgdmFyIHN1aXRlc0xpc3QgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJ1bCIpOworICAgIHN1aXRlc0Rpdi5hcHBlbmRDaGlsZChzdWl0ZXNMaXN0KTsKKwog
ICAgIFN1aXRlcy5mb3JFYWNoKGZ1bmN0aW9uKHN1aXRlKSB7Ci0gICAgICAgIHZhciBzdWl0ZURp
diA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKLQotICAgICAgICB2YXIgbGFi
ZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOwotICAgICAgICB2YXIgY2hlY2ti
b3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwotICAgICAgICBjaGVja2JveC5z
ZXRBdHRyaWJ1dGUoInR5cGUiLCAiY2hlY2tib3giKTsKLSAgICAgICAgY2hlY2tib3guc3VpdGUg
PSBzdWl0ZTsKLSAgICAgICAgaWYgKCtsb2NhbFN0b3JhZ2UuZ2V0SXRlbShzdWl0ZS5uYW1lKSkg
ewotICAgICAgICAgICAgY2hlY2tib3guY2hlY2tlZCA9IHRydWU7Ci0gICAgICAgIH0KLSAgICAg
ICAgbGFiZWwuYXBwZW5kQ2hpbGQoY2hlY2tib3gpOwotICAgICAgICBsYWJlbC5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIgKyBzdWl0ZS5uYW1lKSk7CisgICAgICAgIHZh
ciBzdWl0ZUl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAgICAgICBzdWl0
ZXNMaXN0LmFwcGVuZENoaWxkKHN1aXRlSXRlbSk7CisKKyAgICAgICAgdmFyIHN1aXRlTGFiZWwg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworICAgICAgICBzdWl0ZUl0ZW0uYXBw
ZW5kQ2hpbGQoc3VpdGVMYWJlbCk7CisKKyAgICAgICAgdmFyIHN1aXRlQ2hlY2tib3ggPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOworICAgICAgICBzdWl0ZUNoZWNrYm94LnNldEF0
dHJpYnV0ZSgidHlwZSIsICJjaGVja2JveCIpOworICAgICAgICBzdWl0ZUNoZWNrYm94LnN1aXRl
ID0gc3VpdGU7CisgICAgICAgIHN1aXRlQ2hlY2tib3gub25jaGFuZ2UgPSB1cGRhdGVTdWl0ZVNl
bGVjdGlvbjsKKyAgICAgICAgc3VpdGVMYWJlbC5hcHBlbmRDaGlsZChzdWl0ZUNoZWNrYm94KTsK
KyAgICAgICAgc3VpdGVMYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
ICIgKyBzdWl0ZS5uYW1lKSk7CisKKyAgICAgICAgdmFyIHRlc3RzTGlzdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInVsIik7CisgICAgICAgIHN1aXRlSXRlbS5hcHBlbmRDaGlsZCh0ZXN0c0xp
c3QpOworCisgICAgICAgIHN1aXRlLnRlc3RzLmZvckVhY2goZnVuY3Rpb24odGVzdCkgeworICAg
ICAgICAgICAgdmFyIHRlc3RJdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTsKKyAg
ICAgICAgICAgIHRlc3RzTGlzdC5hcHBlbmRDaGlsZCh0ZXN0SXRlbSk7CisKKyAgICAgICAgICAg
IHZhciB0ZXN0TGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOworICAgICAg
ICAgICAgdGVzdEl0ZW0uYXBwZW5kQ2hpbGQodGVzdExhYmVsKTsKKworICAgICAgICAgICAgdmFy
IHRlc3RDaGVja2JveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CisgICAgICAg
ICAgICB0ZXN0Q2hlY2tib3guc2V0QXR0cmlidXRlKCJ0eXBlIiwgImNoZWNrYm94Iik7CisgICAg
ICAgICAgICB0ZXN0Q2hlY2tib3gudGVzdCA9IHRlc3Q7CisgICAgICAgICAgICB0ZXN0Q2hlY2ti
b3gub25jaGFuZ2UgPSB1cGRhdGVUZXN0U2VsZWN0aW9uOworICAgICAgICAgICAgaWYgKCtsb2Nh
bFN0b3JhZ2UuZ2V0SXRlbShsb2NhbFN0b3JhZ2VOYW1lRm9yVGVzdChzdWl0ZSwgdGVzdCkpKQor
ICAgICAgICAgICAgICAgIHRlc3RDaGVja2JveC5jaGVja2VkID0gdHJ1ZTsKKyAgICAgICAgICAg
IHRlc3RMYWJlbC5hcHBlbmRDaGlsZCh0ZXN0Q2hlY2tib3gpOworICAgICAgICAgICAgdGVzdExh
YmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIiArIHRlc3QubmFtZSkp
OworICAgICAgICB9KTsKIAotICAgICAgICBzdWl0ZURpdi5hcHBlbmRDaGlsZChsYWJlbCk7Ci0g
ICAgICAgIHN1aXRlRGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIikp
OwotICAgICAgICBzdWl0ZXNEaXYuYXBwZW5kQ2hpbGQoc3VpdGVEaXYpOworICAgICAgICB1cGRh
dGVTdWl0ZUNoZWNrYm94KHRlc3RzTGlzdCwgc3VpdGVDaGVja2JveCk7CiAgICAgfSk7CiAKICAg
ICB2YXIgaW50ZXJ2YWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgidGVzdC1pbnRlcnZhbCIpOwpA
QCAtMTc5LDQgKzI2MCw0IEBAIGZ1bmN0aW9uIHBvcHVsYXRlU2V0dGluZ3MoKSB7CiAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWludGVydmFsIikudmFsdWUgPSBpbnRlcnZh
bDsKICAgICB9CiB9Ci1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVk
IiwgcG9wdWxhdGVTZXR0aW5ncyk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGluaXRpYWxpemUpOwpkaWZm
IC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9DaGFuZ2VMb2cgYi9QZXJmb3JtYW5jZVRlc3RzL0No
YW5nZUxvZwppbmRleCAzZTBhN2YwMzU3NjA2ZmU2ZTVmOGFjNDVkOTg3MjRmYmY4NGFiZDQxLi5i
YmYzNTEyMDFiZmVkYTg5OTMzMmZkZWFhMTZlNTUzNTBmNTUyMjM4IDEwMDY0NAotLS0gYS9QZXJm
b3JtYW5jZVRlc3RzL0NoYW5nZUxvZworKysgYi9QZXJmb3JtYW5jZVRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM4IEBACisyMDE1LTEwLTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgYW4gb3B0aW9uIHRvIG1ha2UgdGhlIGdyYXBoaWNzIGJlbmNobWFyayBy
dW5zIGEgc3BlY2lmaWMgdGVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUwNTI4CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzIzMjQ2NjE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgY2hlY2ti
b3ggdGhhdCBsZXRzIHRoZSB1c2VyIGxpc3QgYWxsIG9mIHRoZSBhdmFpbGFibGUgdGVzdHMsIGFu
ZCBzZWxlY3QKKyAgICAgICAgdGhlIG9uZXMgdG8gcnVuIHJlcGVhdGVkbHkuIFRoZSB0ZXN0IGNo
ZWNrYm94ZXMgd2lsbCB1cGRhdGUgdGhlIHN0YXRlIG9mIHRoZSBzdWl0ZQorICAgICAgICBjaGVj
a2JveC4gVGhlIHNlbGVjdGVkIHRlc3RzIGFyZSBzdG9yZWQgaW4gbG9jYWxTdG9yYWdlIHRvIG1h
a2UgaXQgZWFzeSB0byBkbworICAgICAgICByZXBlYXRlZCBydW5zLgorCisgICAgICAgICogQW5p
bW9tZXRlci9ydW5uZXIvYW5pbW9tZXRlci5odG1sOiBBZGQgYSBjaGVja2JveCB0byBzaG93IGlu
ZGl2aWR1YWwgdGVzdHMuCisgICAgICAgIFVwZGF0ZSBvdGhlciBtYXJrdXAuCisgICAgICAgICog
QW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2FuaW1vbWV0ZXIuY3NzOiBNYWtlIHRoZSBzZXR0
aW5ncyBhcmVhIGEgbGl0dGxlIHdpZGVyCisgICAgICAgIHRvIGFjY29tbW9kYXRlIHRoZSBsb25n
ZXIgbmFtZXMgb2YgdGhlIHRlc3RzCisgICAgICAgICogQW5pbW9tZXRlci9ydW5uZXIvcmVzb3Vy
Y2VzL2FuaW1vbWV0ZXIuanM6CisgICAgICAgIChzdGFydEJlbmNobWFyayk6IENoYW5nZSB0aGUg
d2F5IHRoYXQgdGhlIHN1aXRlcyBhcmUgZmVkIGludG8gdGhlIGJlbmNobWFyaworICAgICAgICBy
dW5uZXIuIEdvIHRocm91Z2ggZWFjaCBvZiB0aGUgc3VpdGVzIGFuZCB0aGVpciB0ZXN0cywgYW5k
IGNyZWF0ZSBhIG5ldyBTdWl0ZQorICAgICAgICB3aXRoIGp1c3QgdGhlIGVuYWJsZWQgdGVzdHMu
IFdoaWxlIGVudW1lcmF0aW5nIHN0b3JlIHRoZSBlbmFibGVkIHRlc3RzIGludG8KKyAgICAgICAg
bG9jYWxTdG9yYWdlLgorICAgICAgICAoaW5pdGlhbGl6ZSk6IEluaXRpYWxpemF0aW9uIHJvdXRp
bmUgKHRha2luZyBvdmVyIHBvcHVsYXRlU2V0dGluZ3MpLiBXaGVuIHRoZQorICAgICAgICBjaGVj
a2JveCBmb3Igc2hvd2luZyB0ZXN0cyBpcyB0b2dnbGVkLCBhZGQgb3IgcmVtb3ZlIGEgY2xhc3Mg
b24gI3N1aXRlcyB0byBzaG93CisgICAgICAgIHRoZSBpbmRpdmlkdWFsIHRlc3RzLgorICAgICAg
ICAodXBkYXRlU3VpdGVTZWxlY3Rpb24pOiBDYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgdG9nZ2xl
cyB0aGUgY2hlY2tib3ggZm9yIGEgc3VpdGUuCisgICAgICAgIEVpdGhlciBzZWxlY3QgYWxsIG9y
IG5vbmUgb2YgdGhlIHRlc3RzLgorICAgICAgICAodXBkYXRlVGVzdFNlbGVjdGlvbik6IENhbGxl
ZCB3aGVuZXZlciB0aGUgdXNlciB0b2dnbGVzIHRoZSBjaGVja2JveCBmb3IgYSB0ZXN0LgorICAg
ICAgICAodXBkYXRlU3VpdGVDaGVja2JveCk6IFVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhlIHRlc3Qn
cyBzdWl0ZSdzIGNoZWNrYm94IHRvCisgICAgICAgIGluZGV0ZXJtaW5hdGUgaWYgdGhlcmUgaXMg
YXQgbGVhc3Qgb25lIGVuYWJsZWQgdGVzdCwgdW5jaGVja2VkIGlmIG5vbmUgYXJlIHNlbGVjdGVk
LAorICAgICAgICBhbmQgY2hlY2tlZCBpZiBhbGwgYXJlIHNlbGVjdGVkLgorICAgICAgICAobG9j
YWxTdG9yYWdlTmFtZUZvclRlc3QpOiBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBuYW1lIG9m
IHRoZSB0ZXN0IHRvIHVzZSBhcworICAgICAgICBhIGtleSB0byBsb2NhbFN0b3JhZ2UuCisgICAg
ICAgIChwb3B1bGF0ZVNldHRpbmdzKTogQWRkIHRoZSB0ZXN0cyBmb3IgZWFjaCBzdWl0ZSBpbnRv
IGFuIGlubmVyIGxpc3QuCisKIDIwMTUtMTAtMjYgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3Vo
YWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW4gb3B0aW9uIHRvIG91dHB1dCB0aGUg
cmVzdWx0cyBvZiB0aGUgZ3JhcGhpY3MgYmVuY2htYXJrIGluIEpTT04gZm9ybWF0Cg==
</data>
<flag name="review"
          id="289320"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>