<?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>66955</bug_id>
          
          <creation_ts>2011-08-25 10:36:36 -0700</creation_ts>
          <short_desc>garden-o-matic needs a way to report where and how tests are failing in the summary view.</short_desc>
          <delta_ts>2011-08-25 11:07:15 -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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>66960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>456964</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-25 10:36:36 -0700</bug_when>
    <thetext>garden-o-matic needs a way to report where and how tests are failing in the summary view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456969</commentid>
    <comment_count>1</comment_count>
      <attachid>105213</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-25 10:38:45 -0700</bug_when>
    <thetext>Created attachment 105213
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456979</commentid>
    <comment_count>2</comment_count>
      <attachid>105213</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-08-25 10:45:21 -0700</bug_when>
    <thetext>Comment on attachment 105213
Patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:63
&gt; +        var titles = this.createTHead().insertRow();

Woah!  I never new about this API.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:76
&gt; +        row = this._resultRows[result] = this._body.insertRow(-1);

I don&apos;t use this pattern in C++ in WebKit, but it&apos;s probably fine to use here.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:87
&gt; +            this._resultRows = {};

Do you mean to blow away the entire dictionary for each key in the dictionary?  That seems slightly wrong.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:95
&gt; +            var cell = row.cells[configuration.debug ? 2 : 1];

I would have put &quot;configuration.debug ? 2 : 1&quot; into a function just to give the operation a name.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:117
&gt; +            &apos;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;type&lt;/td&gt;&lt;td&gt;release&lt;/td&gt;&lt;td&gt;debug&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&apos; +
&gt; +            &apos;&lt;tbody&gt;&lt;/tbody&gt;&apos; +

Should one of theres tests put something non-trivial into the tbody?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456986</commentid>
    <comment_count>3</comment_count>
      <attachid>105213</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-25 10:49:36 -0700</bug_when>
    <thetext>Comment on attachment 105213
Patch

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

&gt;&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:87
&gt;&gt; +            this._resultRows = {};
&gt; 
&gt; Do you mean to blow away the entire dictionary for each key in the dictionary?  That seems slightly wrong.

I disagree. It&apos;s not slightly wrong. It&apos;s AWFULLY wrong :P Will fix.

&gt;&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:95
&gt;&gt; +            var cell = row.cells[configuration.debug ? 2 : 1];
&gt; 
&gt; I would have put &quot;configuration.debug ? 2 : 1&quot; into a function just to give the operation a name.

Will do.

&gt;&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:117
&gt;&gt; +            &apos;&lt;tbody&gt;&lt;/tbody&gt;&apos; +
&gt; 
&gt; Should one of theres tests put something non-trivial into the tbody?

I should add that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457004</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-25 11:07:15 -0700</bug_when>
    <thetext>Committed r93801: &lt;http://trac.webkit.org/changeset/93801&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105213</attachid>
            <date>2011-08-25 10:38:45 -0700</date>
            <delta_ts>2011-08-25 10:49:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66955-20110825103844.patch</filename>
            <type>text/plain</type>
            <size>19992</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3MDcKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9y
dW4tdW5pdHRlc3RzLmh0bWwgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvcnVuLXVuaXR0ZXN0cy5odG1sCmlu
ZGV4IDAxOTNjMTBjOWFiYTMzNDQxNThkNGUwOTQ5YzU5NjRlMzRiNjIzM2MuLjYzOGRlN2MyZWQw
YTE2ZGFhMjY0YjdjN2UyNWVmYTdlNGQ1YmU3NDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJl
cy9ydW4tdW5pdHRlc3RzLmh0bWwKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL3J1bi11bml0dGVzdHMu
aHRtbApAQCAtNTUsNiArNTUsOCBAQCBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiA8
c2NyaXB0IHNyYz0ic2NyaXB0cy91aS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ic2NyaXB0
cy91aS9hY3Rpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJzY3JpcHRzL3VpL2FjdGlv
bnNfdW5pdHRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHRzL3VpL2ZhaWx1
cmVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHRzL3VpL2ZhaWx1cmVzX3VuaXR0
ZXN0cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ic2NyaXB0cy91aS9yZXN1bHRzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJzY3JpcHRzL2NvbnRyb2xsZXJzLmpzIj48L3NjcmlwdD4g
PCEtLSBUaGlzIHNjcmlwdCBpcyBzbGlnaHRseSBvZiBvcmRlci4gLS0+CiA8c2NyaXB0IHNyYz0i
c2NyaXB0cy91aS9yZXN1bHRzX3VuaXR0ZXN0cy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9UZXN0RmFpbHVyZXMvc2NyaXB0cy91aS9mYWlsdXJlcy5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9z
Y3JpcHRzL3VpL2ZhaWx1cmVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNzgxNGU4ZTQzNmEzN2JmZDhhYTNm
OWRkNDA2ZGExMDZjNzZlNzkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvc2Ny
aXB0cy91aS9mYWlsdXJlcy5qcwpAQCAtMCwwICsxLDEwMyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCit2YXIg
dWkgPSB1aSB8fCB7fTsKK3VpLmZhaWx1cmVzID0gdWkuZmFpbHVyZXMgfHwge307CisKKyhmdW5j
dGlvbigpeworCit1aS5mYWlsdXJlcy5Db25maWd1cmF0aW9uID0gYmFzZS5leHRlbmRzKCdkaXYn
LCB7CisgICAgaW5pdDogZnVuY3Rpb24oY29uZmlndXJhdGlvbikKKyAgICB7CisgICAgICAgIGlm
IChjb25maWd1cmF0aW9uLmlzNjRiaXQpCisgICAgICAgICAgICB0aGlzLl9hZGRTcGFuKCdidWls
ZC10eXBlJywgJzY0LWJpdCcpOworICAgICAgICBpZiAoY29uZmlndXJhdGlvbi52ZXJzaW9uKQor
ICAgICAgICAgICAgdGhpcy5fYWRkU3BhbigndmVyc2lvbicsIGNvbmZpZ3VyYXRpb24udmVyc2lv
bik7CisgICAgICAgIHRoaXMuX2NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uOworICAgIH0s
CisgICAgX2FkZFNwYW46IGZ1bmN0aW9uKGNsYXNzTmFtZSwgdGV4dCkKKyAgICB7CisgICAgICAg
IHZhciBzcGFuID0gdGhpcy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFu
JykpOworICAgICAgICBzcGFuLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKKyAgICAgICAgc3Bhbi50
ZXh0Q29udGVudCA9IHRleHQ7CisgICAgfSwKKyAgICBlcXVhbHM6IGZ1bmN0aW9uKGNvbmZpZ3Vy
YXRpb24pCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdGlvbi5pczY0Yml0
ID09IGNvbmZpZ3VyYXRpb24uaXM2NGJpdCAmJiB0aGlzLl9jb25maWd1cmF0aW9uLnZlcnNpb24g
PT0gY29uZmlndXJhdGlvbi52ZXJzaW9uOyAKKyAgICB9Cit9KTsKKworZnVuY3Rpb24gY2VsbENv
bnRhaW5zQ29uZmlndXJhdGlvbihjZWxsLCBjb25maWd1cmF0aW9uKQoreworICAgIHJldHVybiBB
cnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNlbGwuY2hpbGRyZW4sIGZ1bmN0aW9uKGNvbmZpZ3Vy
YXRpb25FbGVtZW50KSB7CisgICAgICAgIHJldHVybiBjb25maWd1cmF0aW9uRWxlbWVudC5lcXVh
bHMgJiYgY29uZmlndXJhdGlvbkVsZW1lbnQuZXF1YWxzKGNvbmZpZ3VyYXRpb24pOworICAgIH0p
OworfQorCit1aS5mYWlsdXJlcy5GYWlsdXJlR3JpZCA9IGJhc2UuZXh0ZW5kcygndGFibGUnLCB7
CisgICAgaW5pdDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5jbGFzc05hbWUgPSAn
ZmFpbHVyZXMnOworICAgICAgICB2YXIgdGl0bGVzID0gdGhpcy5jcmVhdGVUSGVhZCgpLmluc2Vy
dFJvdygpOworICAgICAgICB0aXRsZXMuaW5zZXJ0Q2VsbCgpLnRleHRDb250ZW50ID0gJ2RlYnVn
JzsKKyAgICAgICAgdGl0bGVzLmluc2VydENlbGwoKS50ZXh0Q29udGVudCA9ICdyZWxlYXNlJzsK
KyAgICAgICAgdGl0bGVzLmluc2VydENlbGwoKS50ZXh0Q29udGVudCA9ICd0eXBlJzsKKyAgICAg
ICAgdGhpcy5fYm9keSA9IHRoaXMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
dGJvZHknKSk7CisgICAgICAgIHRoaXMuX3Jlc3VsdFJvd3MgPSB7fTsKKyAgICB9LAorICAgIF9y
b3dCeVJlc3VsdDogZnVuY3Rpb24ocmVzdWx0KQorICAgIHsKKyAgICAgICAgdmFyIHJvdyA9IHRo
aXMuX3Jlc3VsdFJvd3NbcmVzdWx0XTsKKyAgICAgICAgaWYgKHJvdykKKyAgICAgICAgICAgIHJl
dHVybiByb3c7CisKKyAgICAgICAgcm93ID0gdGhpcy5fcmVzdWx0Um93c1tyZXN1bHRdID0gdGhp
cy5fYm9keS5pbnNlcnRSb3coLTEpOworICAgICAgICByb3cuaW5zZXJ0Q2VsbCgpOworICAgICAg
ICByb3cuaW5zZXJ0Q2VsbCgpOworICAgICAgICByb3cuaW5zZXJ0Q2VsbCgpLnRleHRDb250ZW50
ID0gcmVzdWx0OworICAgICAgICByZXR1cm4gcm93OworICAgIH0sCisgICAgcmVtb3ZlUmVzdWx0
Um93czogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgT2JqZWN0LmtleXModGhpcy5fcmVzdWx0
Um93cykuZm9yRWFjaChmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgICAgIHZhciByb3cgPSB0
aGlzLl9yZXN1bHRSb3dzW3Jlc3VsdF07CisgICAgICAgICAgICByb3cucGFyZW50Tm9kZS5yZW1v
dmVDaGlsZChyb3cpOworICAgICAgICAgICAgdGhpcy5fcmVzdWx0Um93cyA9IHt9OworICAgICAg
ICB9LCB0aGlzKTsKKyAgICB9LAorICAgIGFkZDogZnVuY3Rpb24ocmVzdWx0c0J5QnVpbGRlcikK
KyAgICB7CisgICAgICAgIE9iamVjdC5rZXlzKHJlc3VsdHNCeUJ1aWxkZXIpLmZvckVhY2goZnVu
Y3Rpb24oYnVpbGRlck5hbWUpIHsKKyAgICAgICAgICAgIHZhciBjb25maWd1cmF0aW9uID0gY29u
ZmlnLmtCdWlsZGVyc1tidWlsZGVyTmFtZV07CisgICAgICAgICAgICB2YXIgcm93ID0gdGhpcy5f
cm93QnlSZXN1bHQocmVzdWx0c0J5QnVpbGRlcltidWlsZGVyTmFtZV0uYWN0dWFsKTsKKyAgICAg
ICAgICAgIHZhciBjZWxsID0gcm93LmNlbGxzW2NvbmZpZ3VyYXRpb24uZGVidWcgPyAyIDogMV07
CisgICAgICAgICAgICBpZiAoY2VsbENvbnRhaW5zQ29uZmlndXJhdGlvbihjZWxsLCBjb25maWd1
cmF0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBjZWxsLmFwcGVu
ZENoaWxkKG5ldyB1aS5mYWlsdXJlcy5Db25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pKTsKKyAg
ICAgICAgfSwgdGhpcyk7CisgICAgfQorfSk7CisKK30pKCk7CmRpZmYgLS1naXQgYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0
RmFpbHVyZXMvc2NyaXB0cy91aS9mYWlsdXJlc191bml0dGVzdHMuanMgYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVy
ZXMvc2NyaXB0cy91aS9mYWlsdXJlc191bml0dGVzdHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY3YWNmNjY0
NzYyOWI5MDMwODE1OGQ5MjYyOGFjODAwYzIwNDZjYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rl
c3RGYWlsdXJlcy9zY3JpcHRzL3VpL2ZhaWx1cmVzX3VuaXR0ZXN0cy5qcwpAQCAtMCwwICsxLDEy
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisoZnVuY3Rpb24gKCkgeworCittb2R1bGUoJ3VpLmZhaWx1cmVz
Jyk7CisKK3Rlc3QoJ0NvbmZpZ3VyYXRpb24nLCA4LCBmdW5jdGlvbigpIHsKKyAgICByYWlzZXMo
ZnVuY3Rpb24oKSB7CisgICAgICAgIG5ldyB1aS5mYWlsdXJlcy5Db25maWd1cmF0aW9uKCk7Cisg
ICAgfSk7CisKKyAgICB2YXIgY29uZmlndXJhdGlvbjsKKyAgICBjb25maWd1cmF0aW9uID0gbmV3
IHVpLmZhaWx1cmVzLkNvbmZpZ3VyYXRpb24oe30pOworICAgIGRlZXBFcXVhbChPYmplY3QuZ2V0
T3duUHJvcGVydHlOYW1lcyhjb25maWd1cmF0aW9uLl9fcHJvdG9fXyksIFsnaW5pdCcsICdlcXVh
bHMnLCAnX2FkZFNwYW4nXSk7CisgICAgZXF1YWwoY29uZmlndXJhdGlvbi5vdXRlckhUTUwsICc8
ZGl2PjwvZGl2PicpOworICAgIGNvbmZpZ3VyYXRpb24gPSBuZXcgdWkuZmFpbHVyZXMuQ29uZmln
dXJhdGlvbih7aXM2NGJpdDogdHJ1ZSwgdmVyc2lvbjogJ2x1Y2lkJ30pOworICAgIGVxdWFsKGNv
bmZpZ3VyYXRpb24ub3V0ZXJIVE1MLCAnPGRpdj48c3BhbiBjbGFzcz0iYnVpbGQtdHlwZSI+NjQt
Yml0PC9zcGFuPjxzcGFuIGNsYXNzPSJ2ZXJzaW9uIj5sdWNpZDwvc3Bhbj48L2Rpdj4nKTsKKyAg
ICBjb25maWd1cmF0aW9uID0gbmV3IHVpLmZhaWx1cmVzLkNvbmZpZ3VyYXRpb24oe3ZlcnNpb246
ICd4cCd9KTsKKyAgICBlcXVhbChjb25maWd1cmF0aW9uLm91dGVySFRNTCwgJzxkaXY+PHNwYW4g
Y2xhc3M9InZlcnNpb24iPnhwPC9zcGFuPjwvZGl2PicpOworICAgIGNvbmZpZ3VyYXRpb24uX2Fk
ZFNwYW4oJ2ZvbycsICdiYXInKTsKKyAgICBlcXVhbChjb25maWd1cmF0aW9uLm91dGVySFRNTCwg
JzxkaXY+PHNwYW4gY2xhc3M9InZlcnNpb24iPnhwPC9zcGFuPjxzcGFuIGNsYXNzPSJmb28iPmJh
cjwvc3Bhbj48L2Rpdj4nKTsKKyAgICBvayhjb25maWd1cmF0aW9uLmVxdWFscyh7dmVyc2lvbjog
J3hwJ30pKTsKKyAgICBvayghY29uZmlndXJhdGlvbi5lcXVhbHMoe3ZlcnNpb246ICdsdWNpZCcs
aXM2NGJpdDogdHJ1ZX0pKTsKK30pOworCit0ZXN0KCdGYWlsdXJlR3JpZCcsIDksIGZ1bmN0aW9u
KCkgeworICAgIHZhciBncmlkID0gbmV3IHVpLmZhaWx1cmVzLkZhaWx1cmVHcmlkKCk7CisgICAg
ZGVlcEVxdWFsKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGdyaWQuX19wcm90b19fKSwgWyJp
bml0IiwgIl9yb3dCeVJlc3VsdCIsICJhZGQiLCAicmVtb3ZlUmVzdWx0Um93cyJdKTsKKyAgICBl
cXVhbChncmlkLm91dGVySFRNTCwgJzx0YWJsZSBjbGFzcz0iZmFpbHVyZXMiPicgKworICAgICAg
ICAnPHRoZWFkPjx0cj48dGQ+dHlwZTwvdGQ+PHRkPnJlbGVhc2U8L3RkPjx0ZD5kZWJ1ZzwvdGQ+
PC90cj48L3RoZWFkPicgKworICAgICAgICAnPHRib2R5PjwvdGJvZHk+JyArCisgICAgJzwvdGFi
bGU+Jyk7CisgICAgdmFyIHJvdyA9IGdyaWQuX3Jvd0J5UmVzdWx0KCdURVhUJyk7CisgICAgZXF1
YWwoZ3JpZC5vdXRlckhUTUwsICc8dGFibGUgY2xhc3M9ImZhaWx1cmVzIj4nICsKKyAgICAgICAg
Jzx0aGVhZD48dHI+PHRkPnR5cGU8L3RkPjx0ZD5yZWxlYXNlPC90ZD48dGQ+ZGVidWc8L3RkPjwv
dHI+PC90aGVhZD4nICsKKyAgICAgICAgJzx0Ym9keT4nICsKKyAgICAgICAgICAgICc8dHI+JyAr
CisgICAgICAgICAgICAgICAgJzx0ZD5URVhUPC90ZD48dGQ+PC90ZD48dGQ+PC90ZD4nICsKKyAg
ICAgICAgICAgICc8L3RyPicgKworICAgICAgICAnPC90Ym9keT4nICsKKyAgICAnPC90YWJsZT4n
KTsKKyAgICBlcXVhbChyb3cub3V0ZXJIVE1MLCAnPHRyPjx0ZD5URVhUPC90ZD48dGQ+PC90ZD48
dGQ+PC90ZD48L3RyPicpOworICAgIGdyaWQuYWRkKHt9KTsKKyAgICBlcXVhbChncmlkLm91dGVy
SFRNTCwgJzx0YWJsZSBjbGFzcz0iZmFpbHVyZXMiPicgKworICAgICAgICAnPHRoZWFkPjx0cj48
dGQ+dHlwZTwvdGQ+PHRkPnJlbGVhc2U8L3RkPjx0ZD5kZWJ1ZzwvdGQ+PC90cj48L3RoZWFkPicg
KworICAgICAgICAnPHRib2R5PicgKworICAgICAgICAgICAgJzx0cj4nICsKKyAgICAgICAgICAg
ICAgICAnPHRkPlRFWFQ8L3RkPjx0ZD48L3RkPjx0ZD48L3RkPicgKworICAgICAgICAgICAgJzwv
dHI+JyArCisgICAgICAgICc8L3Rib2R5PicgKworICAgICc8L3RhYmxlPicpOworICAgIHJhaXNl
cyhmdW5jdGlvbigpIHsKKyAgICAgICAgZ3JpZC51cGRhdGUoeydBdGFyaSc6IHt9fSkKKyAgICB9
KTsKKyAgICBncmlkLmFkZCh7J1dlYmtpdCBMaW51eCAoZGJnKSgxKSc6IHsgYWN0dWFsOiAnVEVY
VCd9fSk7CisgICAgZXF1YWwoZ3JpZC5vdXRlckhUTUwsICc8dGFibGUgY2xhc3M9ImZhaWx1cmVz
Ij4nICsKKyAgICAgICAgJzx0aGVhZD48dHI+PHRkPnR5cGU8L3RkPjx0ZD5yZWxlYXNlPC90ZD48
dGQ+ZGVidWc8L3RkPjwvdHI+PC90aGVhZD4nICsKKyAgICAgICAgJzx0Ym9keT4nICsKKyAgICAg
ICAgICAgICc8dHI+JyArCisgICAgICAgICAgICAgICAgJzx0ZD5URVhUPC90ZD4nICsKKyAgICAg
ICAgICAgICAgICAnPHRkPjwvdGQ+JyArCisgICAgICAgICAgICAgICAgJzx0ZD48ZGl2PjxzcGFu
IGNsYXNzPSJidWlsZC10eXBlIj42NC1iaXQ8L3NwYW4+PHNwYW4gY2xhc3M9InZlcnNpb24iPmx1
Y2lkPC9zcGFuPjwvZGl2PjwvdGQ+JyArCisgICAgICAgICAgICAnPC90cj4nICsKKyAgICAgICAg
JzwvdGJvZHk+JyArCisgICAgJzwvdGFibGU+Jyk7CisgICAgZ3JpZC5hZGQoeydXZWJraXQgTWFj
MTAuNSAoQ0cpJzogeyBhY3R1YWw6ICdJTUFHRStURVhUJ319KTsKKyAgICBlcXVhbChncmlkLm91
dGVySFRNTCwgJzx0YWJsZSBjbGFzcz0iZmFpbHVyZXMiPicgKworICAgICAgICAnPHRoZWFkPjx0
cj48dGQ+dHlwZTwvdGQ+PHRkPnJlbGVhc2U8L3RkPjx0ZD5kZWJ1ZzwvdGQ+PC90cj48L3RoZWFk
PicgKworICAgICAgICAnPHRib2R5PicgKworICAgICAgICAgICAgJzx0cj4nICsKKyAgICAgICAg
ICAgICAgICAnPHRkPlRFWFQ8L3RkPicgKworICAgICAgICAgICAgICAgICc8dGQ+PC90ZD4nICsK
KyAgICAgICAgICAgICAgICAnPHRkPjxkaXY+PHNwYW4gY2xhc3M9ImJ1aWxkLXR5cGUiPjY0LWJp
dDwvc3Bhbj48c3BhbiBjbGFzcz0idmVyc2lvbiI+bHVjaWQ8L3NwYW4+PC9kaXY+PC90ZD4nICsK
KyAgICAgICAgICAgICc8L3RyPicgKworICAgICAgICAgICAgJzx0cj4nICsKKyAgICAgICAgICAg
ICAgICAnPHRkPklNQUdFK1RFWFQ8L3RkPicgKworICAgICAgICAgICAgICAgICc8dGQ+PGRpdj48
c3BhbiBjbGFzcz0idmVyc2lvbiI+bGVvcGFyZDwvc3Bhbj48L2Rpdj48L3RkPicgKworICAgICAg
ICAgICAgICAgICc8dGQ+PC90ZD4nICsKKyAgICAgICAgICAgICc8L3RyPicgKworICAgICAgICAn
PC90Ym9keT4nICsKKyAgICAnPC90YWJsZT4nKTsKKyAgICBncmlkLmFkZCh7J1dlYmtpdCBNYWMx
MC41IChDRyknOiB7IGFjdHVhbDogJ0lNQUdFK1RFWFQnfX0pOworICAgIGVxdWFsKGdyaWQub3V0
ZXJIVE1MLCAnPHRhYmxlIGNsYXNzPSJmYWlsdXJlcyI+JyArCisgICAgICAgICc8dGhlYWQ+PHRy
Pjx0ZD50eXBlPC90ZD48dGQ+cmVsZWFzZTwvdGQ+PHRkPmRlYnVnPC90ZD48L3RyPjwvdGhlYWQ+
JyArCisgICAgICAgICc8dGJvZHk+JyArCisgICAgICAgICAgICAnPHRyPicgKworICAgICAgICAg
ICAgICAgICc8dGQ+VEVYVDwvdGQ+JyArCisgICAgICAgICAgICAgICAgJzx0ZD48L3RkPicgKwor
ICAgICAgICAgICAgICAgICc8dGQ+PGRpdj48c3BhbiBjbGFzcz0iYnVpbGQtdHlwZSI+NjQtYml0
PC9zcGFuPjxzcGFuIGNsYXNzPSJ2ZXJzaW9uIj5sdWNpZDwvc3Bhbj48L2Rpdj48L3RkPicgKwor
ICAgICAgICAgICAgJzwvdHI+JyArCisgICAgICAgICAgICAnPHRyPicgKworICAgICAgICAgICAg
ICAgICc8dGQ+SU1BR0UrVEVYVDwvdGQ+JyArCisgICAgICAgICAgICAgICAgJzx0ZD48ZGl2Pjxz
cGFuIGNsYXNzPSJ2ZXJzaW9uIj5sZW9wYXJkPC9zcGFuPjwvZGl2PjwvdGQ+JyArCisgICAgICAg
ICAgICAgICAgJzx0ZD48L3RkPicgKworICAgICAgICAgICAgJzwvdHI+JyArCisgICAgICAgICc8
L3Rib2R5PicgKworICAgICc8L3RhYmxlPicpOworfSk7CisKK30oKSk7CmRpZmYgLS1naXQgYS9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9UZXN0RmFpbHVyZXMvc2NyaXB0cy91aS9ub3RpZmljYXRpb25zLmpzIGIvVG9vbHMvQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1
cmVzL3NjcmlwdHMvdWkvbm90aWZpY2F0aW9ucy5qcwppbmRleCA1NDYxNDRmOGQ3ZjI1NTIxNjYw
NTcyMWFjNTZmZTA5ODNkZjUyYzk3Li45YzExODc4NDkxNjRiY2FmYTg0ZGUyMDI1OWRkM2YyNDhm
ZTQ1ODNhIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvc2NyaXB0cy91aS9ub3RpZmljYXRp
b25zLmpzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9zY3JpcHRzL3VpL25vdGlmaWNhdGlvbnMuanMK
QEAgLTgzLDEyICs4MywxMiBAQCB1aS5ub3RpZmljYXRpb25zLkluZm8gPSBiYXNlLmV4dGVuZHMo
dWkubm90aWZpY2F0aW9ucy5Ob3RpZmljYXRpb24sIHsKIHVpLm5vdGlmaWNhdGlvbnMuRmFpbGlu
Z1Rlc3QgPSBiYXNlLmV4dGVuZHMoJ2xpJywgewogICAgIGluaXQ6IGZ1bmN0aW9uKGZhaWx1cmVB
bmFseXNpcykKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBTaG93IHR5cGUgb2YgZmFpbHVyZSBh
bmQgd2hlcmUgaXQncyBmYWlsaW5nLgorICAgICAgICB0aGlzLl9mYWlsdXJlQW5hbHlzaXMgPSBm
YWlsdXJlQW5hbHlzaXM7CiAgICAgICAgIHRoaXMudGV4dENvbnRlbnQgPSBmYWlsdXJlQW5hbHlz
aXMudGVzdE5hbWU7CiAgICAgfSwKICAgICBlcXVhbHM6IGZ1bmN0aW9uKGZhaWx1cmVBbmFseXNp
cykKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLnRleHRDb250ZW50ID09IGZhaWx1cmVBbmFs
eXNpcy50ZXN0TmFtZTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2ZhaWx1cmVBbmFseXNpcy50ZXN0
TmFtZSA9PSBmYWlsdXJlQW5hbHlzaXMudGVzdE5hbWU7CiAgICAgfQogfSkKIApAQCAtMTE5LDYg
KzExOSw3IEBAIHVpLm5vdGlmaWNhdGlvbnMuU3VzcGljaW91c0NvbW1pdCA9IGJhc2UuZXh0ZW5k
cyhDYXVzZSwgewogdWkubm90aWZpY2F0aW9ucy5GYWlsdXJlID0gYmFzZS5leHRlbmRzKHVpLm5v
dGlmaWNhdGlvbnMuTm90aWZpY2F0aW9uLCB7CiAgICAgaW5pdDogZnVuY3Rpb24oKQogICAgIHsK
KyAgICAgICAgdGhpcy5fd2hlcmUgPSB0aGlzLmluc2VydEJlZm9yZShuZXcgdWkuZmFpbHVyZXMu
RmFpbHVyZUdyaWQoKSwgdGhpcy5maXJzdENoaWxkKTsKICAgICAgICAgdGhpcy5fdGltZSA9IHRo
aXMuaW5zZXJ0QmVmb3JlKG5ldyB1aS5SZWxhdGl2ZVRpbWUoKSwgdGhpcy5maXJzdENoaWxkKTsK
ICAgICAgICAgdGhpcy5fcHJvYmxlbSA9IHRoaXMuX3doYXQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2JykpOwogICAgICAgICB0aGlzLl9wcm9ibGVtLmNsYXNzTmFtZSA9
ICdwcm9ibGVtJzsKQEAgLTE1NSw2ICsxNTYsNyBAQCB1aS5ub3RpZmljYXRpb25zLlRlc3RGYWls
dXJlcyA9IGJhc2UuZXh0ZW5kcyh1aS5ub3RpZmljYXRpb25zLkZhaWx1cmUsIHsKICAgICAgICAg
aWYgKHRoaXMuY29udGFpbnNGYWlsdXJlQW5hbHlzaXMoZmFpbHVyZUFuYWx5c2lzKSkKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgdGhpcy5fdGVzdE5hbWVMaXN0LnB1c2goZmFpbHVyZUFu
YWx5c2lzLnRlc3ROYW1lKTsKKyAgICAgICAgdGhpcy5fd2hlcmUuYWRkKGZhaWx1cmVBbmFseXNp
cy5yZXN1bHROb2Rlc0J5QnVpbGRlcik7CiAgICAgICAgIHJldHVybiB0aGlzLl9lZmZlY3RzLmFw
cGVuZENoaWxkKG5ldyB1aS5ub3RpZmljYXRpb25zLkZhaWxpbmdUZXN0KGZhaWx1cmVBbmFseXNp
cykpOwogICAgIH0sCiAgICAgYWRkQ29tbWl0RGF0YTogZnVuY3Rpb24oY29tbWl0RGF0YSkKQEAg
LTE3NSw2ICsxNzcsNyBAQCB1aS5ub3RpZmljYXRpb25zLkJ1aWxkZXJzRmFpbGluZyA9IGJhc2Uu
ZXh0ZW5kcyh1aS5ub3RpZmljYXRpb25zLkZhaWx1cmUsIHsKICAgICB9LAogICAgIHNldEZhaWxp
bmdCdWlsZGVyczogZnVuY3Rpb24oYnVpbGRlck5hbWVMaXN0KQogICAgIHsKKyAgICAgICAgLy8g
RklYTUU6IFBvcHVsYXRlIHRoaXMuX3doZXJlIHdpdGggZmFpbGluZyBidWlsZGVycy4KICAgICAg
ICAgJCh0aGlzLl9lZmZlY3RzKS5lbXB0eSgpLmFwcGVuZChidWlsZGVyTmFtZUxpc3QubWFwKGZ1
bmN0aW9uKGJ1aWxkZXJOYW1lKSB7CiAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnbGknKTsKICAgICAgICAgICAgIGVmZmVjdC5jbGFzc05hbWUgPSAnYnVp
bGRlci1uYW1lJzsKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9zY3JpcHRzL3VpL25vdGlm
aWNhdGlvbnNfdW5pdHRlc3RzLmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL3NjcmlwdHMvdWkvbm90aWZp
Y2F0aW9uc191bml0dGVzdHMuanMKaW5kZXggZWE4Yzg0N2UyNWUyOThhYmNhM2VlNGVjNThjOTYy
ZDY0NWJlMWE1OS4uMWIzMTY3YTlhOWE0MzAwNGQ5YzYyNjI1MTlkZDg1ODhiNTMzOWY1MiAxMDA2
NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcv
cHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL3NjcmlwdHMvdWkvbm90aWZpY2F0aW9uc191bml0dGVz
dHMuanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL3NjcmlwdHMvdWkvbm90aWZpY2F0aW9uc191bml0
dGVzdHMuanMKQEAgLTk1LDYgKzk1LDEwIEBAIHRlc3QoJ1Rlc3RGYWlsdXJlcycsIDEwLCBmdW5j
dGlvbigpIHsKICAgICBlcXVhbCh0ZXN0RmFpbHVyZXMudGFnTmFtZSwgJ0xJJyk7CiAgICAgZXF1
YWwodGVzdEZhaWx1cmVzLmlubmVySFRNTCwKICAgICAgICAgJzx0aW1lIGNsYXNzPSJyZWxhdGl2
ZSI+SnVzdCBub3c8L3RpbWU+JyArCisgICAgICAgICc8dGFibGUgY2xhc3M9ImZhaWx1cmVzIj4n
ICsKKyAgICAgICAgICAgICc8dGhlYWQ+PHRyPjx0ZD50eXBlPC90ZD48dGQ+cmVsZWFzZTwvdGQ+
PHRkPmRlYnVnPC90ZD48L3RyPjwvdGhlYWQ+JyArCisgICAgICAgICAgICAnPHRib2R5PjwvdGJv
ZHk+JyArCisgICAgICAgICc8L3RhYmxlPicgKwogICAgICAgICAnPGRpdiBjbGFzcz0id2hhdCI+
JyArCiAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icHJvYmxlbSI+JyArCiAgICAgICAgICAgICAg
ICAgJzx1bCBjbGFzcz0iZWZmZWN0cyI+PC91bD4nICsKQEAgLTEwNCwxMCArMTA4LDE0IEBAIHRl
c3QoJ1Rlc3RGYWlsdXJlcycsIDEwLCBmdW5jdGlvbigpIHsKICAgICAgICAgJzx1bCBjbGFzcz0i
YWN0aW9ucyI+JyArCiAgICAgICAgICAgICAnPGxpPjxidXR0b24+RXhhbWluZTwvYnV0dG9uPjwv
bGk+JyArCiAgICAgICAgICc8L3VsPicpOwotICAgIHRlc3RGYWlsdXJlcy5hZGRGYWlsdXJlQW5h
bHlzaXMoe3Rlc3ROYW1lOiAndGVzdCd9KTsKKyAgICB0ZXN0RmFpbHVyZXMuYWRkRmFpbHVyZUFu
YWx5c2lzKHt0ZXN0TmFtZTogJ3Rlc3QnLCByZXN1bHROb2Rlc0J5QnVpbGRlcjoge319KTsKICAg
ICBlcXVhbCh0ZXN0RmFpbHVyZXMuaW5kZXgoKSwgMCk7CiAgICAgZXF1YWwodGVzdEZhaWx1cmVz
LmlubmVySFRNTCwKICAgICAgICAgJzx0aW1lIGNsYXNzPSJyZWxhdGl2ZSI+SnVzdCBub3c8L3Rp
bWU+JyArCisgICAgICAgICc8dGFibGUgY2xhc3M9ImZhaWx1cmVzIj4nICsKKyAgICAgICAgICAg
ICc8dGhlYWQ+PHRyPjx0ZD50eXBlPC90ZD48dGQ+cmVsZWFzZTwvdGQ+PHRkPmRlYnVnPC90ZD48
L3RyPjwvdGhlYWQ+JyArCisgICAgICAgICAgICAnPHRib2R5PjwvdGJvZHk+JyArCisgICAgICAg
ICc8L3RhYmxlPicgKwogICAgICAgICAnPGRpdiBjbGFzcz0id2hhdCI+JyArCiAgICAgICAgICAg
ICAnPGRpdiBjbGFzcz0icHJvYmxlbSI+JyArCiAgICAgICAgICAgICAgICAgJzx1bCBjbGFzcz0i
ZWZmZWN0cyI+JyArCkBAIC0xMjQsNiArMTMyLDEwIEBAIHRlc3QoJ1Rlc3RGYWlsdXJlcycsIDEw
LCBmdW5jdGlvbigpIHsKICAgICB0ZXN0RmFpbHVyZXMuYWRkRmFpbHVyZUFuYWx5c2lzKHt0ZXN0
TmFtZTogJ3Rlc3QnfSk7CiAgICAgZXF1YWwodGVzdEZhaWx1cmVzLmlubmVySFRNTCwKICAgICAg
ICAgJzx0aW1lIGNsYXNzPSJyZWxhdGl2ZSI+SnVzdCBub3c8L3RpbWU+JyArCisgICAgICAgICc8
dGFibGUgY2xhc3M9ImZhaWx1cmVzIj4nICsKKyAgICAgICAgICAgICc8dGhlYWQ+PHRyPjx0ZD50
eXBlPC90ZD48dGQ+cmVsZWFzZTwvdGQ+PHRkPmRlYnVnPC90ZD48L3RyPjwvdGhlYWQ+JyArCisg
ICAgICAgICAgICAnPHRib2R5PjwvdGJvZHk+JyArCisgICAgICAgICc8L3RhYmxlPicgKwogICAg
ICAgICAnPGRpdiBjbGFzcz0id2hhdCI+JyArCiAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icHJv
YmxlbSI+JyArCiAgICAgICAgICAgICAgICAgJzx1bCBjbGFzcz0iZWZmZWN0cyI+JyArCkBAIC0x
NDIsNiArMTU0LDEwIEBAIHRlc3QoJ1Rlc3RGYWlsdXJlcycsIDEwLCBmdW5jdGlvbigpIHsKICAg
ICBlcXVhbCh0ZXN0RmFpbHVyZXMuaW5kZXgoKSwgdGltZS5nZXRUaW1lKCkpOwogICAgIGVxdWFs
KHRlc3RGYWlsdXJlcy5pbm5lckhUTUwsCiAgICAgICAgICc8dGltZSBjbGFzcz0icmVsYXRpdmUi
PjEwIG1pbnV0ZXMgYWdvPC90aW1lPicgKworICAgICAgICAnPHRhYmxlIGNsYXNzPSJmYWlsdXJl
cyI+JyArCisgICAgICAgICAgICAnPHRoZWFkPjx0cj48dGQ+dHlwZTwvdGQ+PHRkPnJlbGVhc2U8
L3RkPjx0ZD5kZWJ1ZzwvdGQ+PC90cj48L3RoZWFkPicgKworICAgICAgICAgICAgJzx0Ym9keT48
L3Rib2R5PicgKworICAgICAgICAnPC90YWJsZT4nICsKICAgICAgICAgJzxkaXYgY2xhc3M9Indo
YXQiPicgKwogICAgICAgICAgICAgJzxkaXYgY2xhc3M9InByb2JsZW0iPicgKwogICAgICAgICAg
ICAgICAgICc8dWwgY2xhc3M9ImVmZmVjdHMiPicgKwpAQCAtMTY5LDYgKzE4NSwxMCBAQCB0ZXN0
KCdCdWlsZGVyc0ZhaWxpbmcnLCAxLCBmdW5jdGlvbigpIHsKICAgICBidWlsZGVyRmFpbGluZy5z
ZXRGYWlsaW5nQnVpbGRlcnMoWydXZWJLaXQgTGludXgnLCAnV2Via2l0IFZpc3RhJ10pOwogICAg
IGVxdWFsKGJ1aWxkZXJGYWlsaW5nLmlubmVySFRNTCwKICAgICAgICAgJzx0aW1lIGNsYXNzPSJy
ZWxhdGl2ZSI+SnVzdCBub3c8L3RpbWU+JyArCisgICAgICAgICc8dGFibGUgY2xhc3M9ImZhaWx1
cmVzIj4nICsKKyAgICAgICAgICAgICc8dGhlYWQ+PHRyPjx0ZD50eXBlPC90ZD48dGQ+cmVsZWFz
ZTwvdGQ+PHRkPmRlYnVnPC90ZD48L3RyPjwvdGhlYWQ+JyArCisgICAgICAgICAgICAnPHRib2R5
PjwvdGJvZHk+JyArCisgICAgICAgICc8L3RhYmxlPicgKwogICAgICAgICAnPGRpdiBjbGFzcz0i
d2hhdCI+JyArCiAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icHJvYmxlbSI+QnVpbGQgRmFpbGVk
OicgKwogICAgICAgICAgICAgICAgICc8dWwgY2xhc3M9ImVmZmVjdHMiPicgKwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvVGVzdEZhaWx1cmVzL3N0eWxlcy9zdW1tYXJ5LmNzcyBiL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJlcy9z
dHlsZXMvc3VtbWFyeS5jc3MKaW5kZXggZGExZjJmMTk3ZGY2NmQzNDNhMTJiYjNmZTZlZWE2YzVh
MDA1MjZkOS4uNzM4MDlkNWRkMmZlOGUxZDk1ZmFjMTdiOTlmZjEyMmFkMzJiMzE3NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL3N0eWxlcy9zdW1tYXJ5LmNzcworKysgYi9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFp
bHVyZXMvc3R5bGVzL3N1bW1hcnkuY3NzCkBAIC02NSw0ICs2NSw0IEBAIG9sLm5vdGlmaWNhdGlv
bnM+bGkgdWwuY2F1c2VzPmxpIHVsLmFjdGlvbnMgewogb2wubm90aWZpY2F0aW9ucz5saSB1bC5j
YXVzZXM+bGkgbGkgewogICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7CiAgICAgZGlzcGxheTogaW5s
aW5lOwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30KZGlmZiAtLWdpdCBhL1Rvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rl
c3RGYWlsdXJlcy9zdW1tYXJ5Lmh0bWwgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53
ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvc3VtbWFyeS5odG1sCmlu
ZGV4IGY1NWMyNWEwMWNmZTJjMWZiY2VlM2M1MDI5YmUyOGI1OWRjYjNlZDMuLmFjZTM3Nzc4ZWU4
NjI1MzZhNjZiNDUzNDExMWMwZTYwM2RlMWUzMDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL1Rlc3RGYWlsdXJl
cy9zdW1tYXJ5Lmh0bWwKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvcHVibGljX2h0bWwvVGVzdEZhaWx1cmVzL3N1bW1hcnkuaHRtbApAQCAtNDQs
NiArNDQsNyBAQCBKYW1lcywgYSB3ZWIgZGV2ZWxvcGVyIGZyb20gQmlybWluZ2hhbSwgVUsuCiA8
c2NyaXB0IHNyYz0ic2NyaXB0cy91aS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ic2NyaXB0
cy9tb2RlbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ic2NyaXB0cy91aS9hY3Rpb25zLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHRzL3VpL2ZhaWx1cmVzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJzY3JpcHRzL3VpL25vdGlmaWNhdGlvbnMuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InNjcmlwdHMvdWkvcmVzdWx0cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0ic2NyaXB0cy9jb250cm9sbGVycy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDdlZmU3NGIwZTNhODdkM2E5NDk5NDli
OGUzNDE3M2Q3NzBhYjNiNi4uNzg2YzBjM2JmNTQ2YTI2YjliM2RlMWJkNjE1MmUzMTYyZjhhOTEw
MCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDExLTA4LTI1ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgZ2FyZGVuLW8tbWF0aWMgbmVlZHMgYSB3YXkgdG8gcmVwb3J0
IHdoZXJlIGFuZCBob3cgdGVzdHMgYXJlIGZhaWxpbmcgaW4gdGhlIHN1bW1hcnkgdmlldy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTU1CisKKyAg
ICAgICAgSW50cm9kdWNlIEZhaWx1cmVHcmlkLCB5b3VyIG9uZS1zdG9wIGZhaWx1cmUtaW5kaWNh
dGluZyBkZXN0aW5hdGlvbi4gCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvcnVuLXVuaXR0ZXN0cy5odG1sOiBBZGRlZCBuZXcgc2Ny
aXB0cy4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvc2NyaXB0cy91aS9mYWlsdXJlcy5qczogQWRkZWQu
CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvVGVzdEZhaWx1cmVzL3NjcmlwdHMvdWkvZmFpbHVyZXNfdW5pdHRlc3RzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvc2NyaXB0cy91aS9ub3RpZmljYXRpb25zLmpzOiBV
cGRhdGVkIHRvIHVzZSBGYWlsdXJlR3JpZC4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0RmFpbHVyZXMvc2NyaXB0cy91
aS9ub3RpZmljYXRpb25zX3VuaXR0ZXN0cy5qczogVXBkYXRlZCB0ZXN0cy4KKyAgICAgICAgKiBC
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9UZXN0
RmFpbHVyZXMvc3VtbWFyeS5odG1sOiBBZGRlZCBuZXcgc2NyaXB0cy4KKwogMjAxMS0wOC0yMyAg
RGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE1ha2Ug
bm90aWZpY2F0aW9ucyBhcHBlYXIgaW4gdGltZSBvcmRlciBhZ2Fpbi4K
</data>
<flag name="review"
          id="101297"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>