<?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>92922</bug_id>
          
          <creation_ts>2012-08-01 16:51:36 -0700</creation_ts>
          <short_desc>test-webkitpy: clean up runner in preparation for running tests serially as necessary</short_desc>
          <delta_ts>2012-08-02 14:35: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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>684770</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-01 16:51:36 -0700</bug_when>
    <thetext>test-webkitpy: clean up runner in preparation for running tests serially as necessary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684774</commentid>
    <comment_count>1</comment_count>
      <attachid>155923</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-01 16:54:18 -0700</bug_when>
    <thetext>Created attachment 155923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684781</commentid>
    <comment_count>2</comment_count>
      <attachid>155926</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-01 17:01:25 -0700</bug_when>
    <thetext>Created attachment 155926
fix typos in printer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684784</commentid>
    <comment_count>3</comment_count>
      <attachid>155928</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-01 17:10:01 -0700</bug_when>
    <thetext>Created attachment 155928
clean up more typos</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685835</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-02 14:35:44 -0700</bug_when>
    <thetext>Committed r124501: &lt;http://trac.webkit.org/changeset/124501&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155923</attachid>
            <date>2012-08-01 16:54:18 -0700</date>
            <delta_ts>2012-08-01 17:01:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92922-20120801165400.patch</filename>
            <type>text/plain</type>
            <size>13845</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mzc4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTlkNjZkYTMxNTc1Yjk2MzA4YTAwMTBjMWNkNDZiMmM5
NTNkMzAyYy4uYzM0NmM5YWM5Y2M3YWE5ZmZhMmYyMzIyYWYzN2M4MjVlMWMxNjliNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5
IEBACiAyMDEyLTA4LTAxICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHRlc3Qtd2Via2l0cHk6IGNsZWFuIHVwIHJ1bm5lciBpbiBwcmVwYXJhdGlvbiBmb3Ig
cnVubmluZyB0ZXN0cyBzZXJpYWxseSBhcyBuZWNlc3NhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyOTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gcnVuIHNvbWUgdGVzdHMgYnkg
dGhlbXNlbHZlcyAoc2VyaWFsbHksIHJhdGhlciB0aGFuCisgICAgICAgIGluIHBhcmFsbGVsIHdp
dGggb3RoZXIgdGVzdHMpLCB3ZSB3aWxsIG5lZWQgdG8gYmUgYWJsZSB0byBydW4KKyAgICAgICAg
bXVsdGlwbGUgdGVzdCBzdWl0ZXM7IHRoaXMgY2F1c2VzIHVzIHRvIG1vdmUgbG9hZGluZyB0aGUg
bG9naWMKKyAgICAgICAgZm9yIGZpbmRpbmcgdGVzdCBtZXRob2QgbmFtZXMgb3V0IG9mIHRoZSBy
dW5uZXIgYW5kIGludG8gbWFpbi4KKworICAgICAgICBJJ20gdGFraW5nIGFkdmFudGFnZSBvZiB0
aGlzIHRvIHNpbXBsaWZ5IHNvbWUgb3RoZXIgc3R1ZmYgZnJvbQorICAgICAgICB0aGUgcnVubmVy
IGFzIHdlbGw7IGl0IGlzIG5vdyB2ZXJ5IHNpbXBsZSBhbmQgZG9lc24ndCBleHBvc2UgaXRzCisg
ICAgICAgIGRlcGVuZGVuY3kgb24gdW5pdHRlc3QuVGVzdFJlc3VsdCBhdCBhbGwgKG5vciB3aWxs
IHRoZSBQcmludGVyCisgICAgICAgIHVzZSBUZXN0UmVzdWx0KS4KKworICAgICAgICBTdWJzZXF1
ZW50IHBhdGNoZXMgd2lsbCBtb3ZlIHRoZSBjdXN0b20gbG9hZGVyIGZyb20KKyAgICAgICAgcG9y
dF90ZXN0Y2FzZSBzbyB0aGF0IHdlIGNhbiBwcm9wZXJseSBjaG9vc2Ugd2hldGhlciB0byBydW4K
KyAgICAgICAgaW50ZWdyYXRpb24gdGVzdHMgYW5kL29yIHNlcmlhbCB0ZXN0cywgYW5kIHRoZW4g
dXBkYXRlIHRoZQorICAgICAgICBhcHByb3ByaWF0ZSB0ZXN0cyB0byBydW4gb25seSBzZXJpYWxs
eS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluLnB5OgorICAgICAgICAo
VGVzdGVyLl9ydW5fdGVzdHMpOgorICAgICAgICAoVGVzdGVyKToKKyAgICAgICAgKFRlc3Rlci5f
Y2hlY2tfaW1wb3J0cyk6CisgICAgICAgIChUZXN0ZXIuX3Rlc3RfbmFtZXMpOgorICAgICAgICAo
VGVzdGVyLl9hbGxfdGVzdF9uYW1lcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0
L3ByaW50ZXIucHk6CisgICAgICAgIChQcmludGVyLl9faW5pdF9fKToKKyAgICAgICAgKFByaW50
ZXIud3JpdGVfdXBkYXRlKToKKyAgICAgICAgKFByaW50ZXIpOgorICAgICAgICAoUHJpbnRlci5w
cmludF9maW5pc2hlZF90ZXN0KToKKyAgICAgICAgKFByaW50ZXIucHJpbnRfcmVzdWx0KToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyLnB5OgorICAgICAgICAodW5pdF90
ZXN0X25hbWUpOgorICAgICAgICAoUnVubmVyLl9faW5pdF9fKToKKyAgICAgICAgKFJ1bm5lci5y
dW4pOgorICAgICAgICAoUnVubmVyLmhhbmRsZSk6CisgICAgICAgIChfV29ya2VyLmhhbmRsZSk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lcl91bml0dGVzdC5weToKKyAg
ICAgICAgKEZha2VMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUpOgorICAgICAgICAoUnVubmVyVGVz
dC50ZXN0X3J1bik6CisKKzIwMTItMDgtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1
bS5vcmc+CisKICAgICAgICAgdGVzdC13ZWJraXRweTogY2xlYW4gdXAgaGFuZGxpbmcgb2YgdGVz
dHMgdG8gc2tpcAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTI5MDkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW4u
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQppbmRleCAzOTMyYWQ3OGEw
ZDY1OWIzOTRiZWViMGVmYjYwNTlkYjM0ZjBmOTRlLi5iZWY5MGM4ZDIwZTgxYzIwMTk1ZmMwZjMx
N2U3ZjZjYTlmOThmY2FmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3Qv
bWFpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQpAQCAtMjks
MTMgKzI5LDE0IEBAIGltcG9ydCBvcHRwYXJzZQogaW1wb3J0IG9zCiBpbXBvcnQgU3RyaW5nSU8K
IGltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgdW5pdHRl
c3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVT
eXN0ZW0KIGZyb20gd2Via2l0cHkudGVzdC5maW5kZXIgaW1wb3J0IEZpbmRlcgogZnJvbSB3ZWJr
aXRweS50ZXN0LnByaW50ZXIgaW1wb3J0IFByaW50ZXIKLWZyb20gd2Via2l0cHkudGVzdC5ydW5u
ZXIgaW1wb3J0IFJ1bm5lcgorZnJvbSB3ZWJraXRweS50ZXN0LnJ1bm5lciBpbXBvcnQgUnVubmVy
LCB1bml0X3Rlc3RfbmFtZQogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAK
QEAgLTEyOCwxMCArMTI5LDI4IEBAIGNsYXNzIFRlc3RlcihvYmplY3QpOgogICAgICAgICAjIE1h
a2Ugc3VyZSBQWVRIT05QQVRIIGlzIHNldCB1cCBwcm9wZXJseS4KICAgICAgICAgc3lzLnBhdGgg
PSBzZWxmLmZpbmRlci5hZGRpdGlvbmFsX3BhdGhzKHN5cy5wYXRoKSArIHN5cy5wYXRoCiAKLSAg
ICAgICAgX2xvZy5kZWJ1ZygiTG9hZGluZyB0aGUgdGVzdHMuLi4iKQorICAgICAgICBzZWxmLnBy
aW50ZXIud3JpdGVfdXBkYXRlKCJDaGVja2luZyBpbXBvcnRzIC4uLiIpCisgICAgICAgIHNlbGYu
X2NoZWNrX2ltcG9ydHMobmFtZXMpCiAKKyAgICAgICAgc2VsZi5wcmludGVyLndyaXRlX3VwZGF0
ZSgiRmluZGluZyB0aGUgaW5kaXZpZHVhbCB0ZXN0IG1ldGhvZHMgLi4uIikKICAgICAgICAgbG9h
ZGVyID0gdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXIKLSAgICAgICAgc3VpdGVzID0gW10KKyAg
ICAgICAgdGVzdF9uYW1lcyA9IHNlbGYuX3Rlc3RfbmFtZXMobG9hZGVyLCBuYW1lcykKKworICAg
ICAgICBzZWxmLnByaW50ZXIud3JpdGVfdXBkYXRlKCJSdW5uaW5nIHRoZSB0ZXN0cyAuLi4iKQor
ICAgICAgICBzZWxmLnByaW50ZXIubnVtX3Rlc3RzID0gbGVuKHRlc3RfbmFtZXMpCisgICAgICAg
IHN0YXJ0ID0gdGltZS50aW1lKCkKKyAgICAgICAgdGVzdF9ydW5uZXIgPSBSdW5uZXIoc2VsZi5w
cmludGVyLCBsb2FkZXIpCisgICAgICAgIHRlc3RfcnVubmVyLnJ1bih0ZXN0X25hbWVzLCBzZWxm
Ll9vcHRpb25zLmNoaWxkX3Byb2Nlc3NlcykKKworICAgICAgICBzZWxmLnByaW50ZXIucHJpbnRf
cmVzdWx0KHRpbWUudGltZSgpIC0gc3RhcnQpCisgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY292
ZXJhZ2U6CisgICAgICAgICAgICBjb3Yuc3RvcCgpCisgICAgICAgICAgICBjb3Yuc2F2ZSgpCisg
ICAgICAgICAgICBjb3YucmVwb3J0KHNob3dfbWlzc2luZz1GYWxzZSkKKworICAgICAgICByZXR1
cm4gbm90IHNlbGYucHJpbnRlci5udW1fZmFpbHVyZXMgYW5kIG5vdCBzZWxmLnByaW50ZXIubnVt
X2Vycm9ycworCisgICAgZGVmIF9jaGVja19pbXBvcnRzKHNlbGYsIG5hbWVzKToKICAgICAgICAg
Zm9yIG5hbWUgaW4gbmFtZXM6CiAgICAgICAgICAgICBpZiBzZWxmLmZpbmRlci5pc19tb2R1bGUo
bmFtZSk6CiAgICAgICAgICAgICAgICAgIyBpZiB3ZSBmYWlsZWQgdG8gbG9hZCBhIG5hbWUgYW5k
IGl0IGxvb2tzIGxpa2UgYSBtb2R1bGUsCkBAIC0xNDQsMTggKzE2MywyMSBAQCBjbGFzcyBUZXN0
ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9nX2V4Y2VwdGlvbigpCiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgICAgICBzdWl0ZXMuYXBw
ZW5kKGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZShuYW1lLCBOb25lKSkKLQotICAgICAgICB0ZXN0
X3N1aXRlID0gdW5pdHRlc3QuVGVzdFN1aXRlKHN1aXRlcykKLSAgICAgICAgdGVzdF9ydW5uZXIg
PSBSdW5uZXIoc2VsZi5wcmludGVyLCBzZWxmLl9vcHRpb25zLCBsb2FkZXIpCi0KLSAgICAgICAg
X2xvZy5kZWJ1ZygiUnVubmluZyB0aGUgdGVzdHMuIikKLSAgICAgICAgcmVzdWx0ID0gdGVzdF9y
dW5uZXIucnVuKHRlc3Rfc3VpdGUpCi0gICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY292ZXJhZ2U6
Ci0gICAgICAgICAgICBjb3Yuc3RvcCgpCi0gICAgICAgICAgICBjb3Yuc2F2ZSgpCi0gICAgICAg
ICAgICBjb3YucmVwb3J0KHNob3dfbWlzc2luZz1GYWxzZSkKLSAgICAgICAgcmV0dXJuIHJlc3Vs
dC53YXNTdWNjZXNzZnVsKCkKKyAgICBkZWYgX3Rlc3RfbmFtZXMoc2VsZiwgbG9hZGVyLCBuYW1l
cyk6CisgICAgICAgIHRlc3RfbmFtZXMgPSBbXQorICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoK
KyAgICAgICAgICAgIHRlc3RfbmFtZXMuZXh0ZW5kKHNlbGYuX2FsbF90ZXN0X25hbWVzKGxvYWRl
ci5sb2FkVGVzdHNGcm9tTmFtZShuYW1lLCBOb25lKSkpCisKKyAgICAgICAgcmV0dXJuIHRlc3Rf
bmFtZXMKKworICAgIGRlZiBfYWxsX3Rlc3RfbmFtZXMoc2VsZiwgc3VpdGUpOgorICAgICAgICBu
YW1lcyA9IFtdCisgICAgICAgIGlmIGhhc2F0dHIoc3VpdGUsICdfdGVzdHMnKToKKyAgICAgICAg
ICAgIGZvciB0IGluIHN1aXRlLl90ZXN0czoKKyAgICAgICAgICAgICAgICBuYW1lcy5leHRlbmQo
c2VsZi5fYWxsX3Rlc3RfbmFtZXModCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBuYW1l
cy5hcHBlbmQodW5pdF90ZXN0X25hbWUoc3VpdGUpKQorICAgICAgICByZXR1cm4gbmFtZXMKIAog
ICAgIGRlZiBfbG9nX2V4Y2VwdGlvbihzZWxmKToKICAgICAgICAgcyA9IFN0cmluZ0lPLlN0cmlu
Z0lPKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9wcmludGVyLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3ByaW50ZXIucHkKaW5kZXggMDQyZmJhMTNj
MWMwYTYyN2UyNjgzMmQyZWQ2ODBjZDIyYjJjMWI5Ny4uNDZhMzlmYTAxZTdhNzdhYzYyMWE1ZjM3
ZWNhM2NjZTQwNDMwMDM0MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0
L3ByaW50ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3ByaW50ZXIucHkK
QEAgLTM3LDYgKzM3LDggQEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgogICAgICAgICBzZWxmLm9w
dGlvbnMgPSBvcHRpb25zCiAgICAgICAgIHNlbGYubnVtX3Rlc3RzID0gMAogICAgICAgICBzZWxm
Lm51bV9jb21wbGV0ZWQgPSAwCisgICAgICAgIHNlbGYubnVtX2Vycm9ycyA9IDAKKyAgICAgICAg
c2VsZi5udW1fZmFpbHVyZXMgPSAwCiAgICAgICAgIHNlbGYucnVubmluZ190ZXN0cyA9IFtdCiAg
ICAgICAgIHNlbGYuY29tcGxldGVkX3Rlc3RzID0gW10KICAgICAgICAgaWYgb3B0aW9uczoKQEAg
LTExNiwxNCArMTE4LDE5IEBAIGNsYXNzIFByaW50ZXIob2JqZWN0KToKIAogICAgICAgICB3cml0
ZShzZWxmLl90ZXN0X2xpbmUoc2VsZi5ydW5uaW5nX3Rlc3RzWzBdLCBzdWZmaXgpKQogCi0gICAg
ZGVmIHByaW50X2ZpbmlzaGVkX3Rlc3Qoc2VsZiwgcmVzdWx0LCB0ZXN0X25hbWUsIHRlc3RfdGlt
ZSwgZmFpbHVyZSwgZXJyKToKKyAgICBkZWYgd3JpdGVfdXBkYXRlKHNlbGYsIG1zZyk6CisgICAg
ICAgIHNlbGYubWV0ZXIud3JpdGVfdXBkYXRlKG1zZykKKworICAgIGRlZiBwcmludF9maW5pc2hl
ZF90ZXN0KHNlbGYsIHNvdXJjZSwgdGVzdF9uYW1lLCB0ZXN0X3RpbWUsIGZhaWx1cmVzLCBlcnJv
cnMpOgogICAgICAgICB3cml0ZSA9IHNlbGYubWV0ZXIud3JpdGVsbgotICAgICAgICBpZiBmYWls
dXJlOgotICAgICAgICAgICAgbGluZXMgPSBmYWlsdXJlWzBdWzFdLnNwbGl0bGluZXMoKSArIFsn
J10KKyAgICAgICAgaWYgZmFpbHVyZXM6CisgICAgICAgICAgICBsaW5lcyA9IGZhaWx1cmVzWzBd
LnNwbGl0bGluZXMoKSArIFsnJ10KICAgICAgICAgICAgIHN1ZmZpeCA9ICcgZmFpbGVkOicKLSAg
ICAgICAgZWxpZiBlcnI6Ci0gICAgICAgICAgICBsaW5lcyA9IGVyclswXVsxXS5zcGxpdGxpbmVz
KCkgKyBbJyddCisgICAgICAgICAgICBzZWxmLm51bV9mYWlsdXJlcyArPSAxCisgICAgICAgIGVs
aWYgZXJyb3JzOgorICAgICAgICAgICAgbGluZXMgPSBlcnJvcnNbMF0uc3BsaXRsaW5lcygpICsg
WycnXQogICAgICAgICAgICAgc3VmZml4ID0gJyBlcnJlZDonCisgICAgICAgICAgICBzZWxmLm51
bV9lcnJvcnMgKz0gMQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc3VmZml4ID0gJyBwYXNz
ZWQnCiAgICAgICAgICAgICBsaW5lcyA9IFtdCkBAIC0xNTQsMTMgKzE2MSwxMyBAQCBjbGFzcyBQ
cmludGVyKG9iamVjdCk6CiAgICAgZGVmIF90ZXN0X2xpbmUoc2VsZiwgdGVzdF9uYW1lLCBzdWZm
aXgpOgogICAgICAgICByZXR1cm4gJ1slZC8lZF0gJXMlcycgJSAoc2VsZi5udW1fY29tcGxldGVk
LCBzZWxmLm51bV90ZXN0cywgdGVzdF9uYW1lLCBzdWZmaXgpCiAKLSAgICBkZWYgcHJpbnRfcmVz
dWx0KHNlbGYsIHJlc3VsdCwgcnVuX3RpbWUpOgorICAgIGRlZiBwcmludF9yZXN1bHQoc2VsZiwg
cnVuX3RpbWUpOgogICAgICAgICB3cml0ZSA9IHNlbGYubWV0ZXIud3JpdGVsbgotICAgICAgICB3
cml0ZSgnUmFuICVkIHRlc3QlcyBpbiAlLjNmcycgJSAocmVzdWx0LnRlc3RzUnVuLCByZXN1bHQu
dGVzdHNSdW4gIT0gMSBhbmQgInMiIG9yICIiLCBydW5fdGltZSkpCi0gICAgICAgIGlmIHJlc3Vs
dC53YXNTdWNjZXNzZnVsKCk6Ci0gICAgICAgICAgICB3cml0ZSgnXG5PS1xuJykKKyAgICAgICAg
d3JpdGUoJ1JhbiAlZCB0ZXN0JXMgaW4gJS4zZnMnICUgKHNlbGYubnVtX2NvbXBsZXRlZCwgc2Vs
Zi5udW1fY29tcGxldGVkICE9IDEgYW5kICJzIiBvciAiIiwgcnVuX3RpbWUpKQorICAgICAgICBp
ZiBzZWxmLm51bV9mYWlsdXJlcyBvciBzZWxmLm51bV9lcnJvcnM6CisgICAgICAgICAgICB3cml0
ZSgnRkFJTEVEIChmYWlsdXJlcz0lZCwgZXJyb3JzPSVkKVxuJyAlIChsZW4oc2VsZi5udW1fZmFp
bHVyZXMpLCBsZW4oc2VsZi5udW1fZXJyb3JzKSkpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICB3cml0ZSgnRkFJTEVEIChmYWlsdXJlcz0lZCwgZXJyb3JzPSVkKVxuJyAlIChsZW4ocmVzdWx0
LmZhaWx1cmVzKSwgbGVuKHJlc3VsdC5lcnJvcnMpKSkKKyAgICAgICAgICAgIHdyaXRlKCdcbk9L
XG4nKQogCiAKIGNsYXNzIF9DYXB0dXJlQW5kUGFzc1Rocm91Z2hTdHJlYW0ob2JqZWN0KToKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9ydW5uZXIucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyLnB5CmluZGV4IGZkOGFmNmZlMDEwMzdhNjFkOGEw
MWVkNDk3YjIyYjdhMzNjYzEzNTUuLmQzZjU3NjQzYzhhMTlkYjEyMjEwMjBmYzA4ZTJlODZiMTAy
NzkzNzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9ydW5uZXIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lci5weQpAQCAtMjIsNjEgKzIy
LDQ3IEBACiAKICIiImNvZGUgdG8gYWN0dWFsbHkgcnVuIGEgbGlzdCBvZiBweXRob24gdGVzdHMu
IiIiCiAKLWltcG9ydCBsb2dnaW5nCiBpbXBvcnQgcmUKIGltcG9ydCB0aW1lCiBpbXBvcnQgdW5p
dHRlc3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG1lc3NhZ2VfcG9vbAogCi1fbG9n
ID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0KLQogX3Rlc3RfZGVzY3JpcHRpb24gPSBy
ZS5jb21waWxlKCIoXHcrKSBcKChbXHcuXSspXCkiKQogCiAKLWRlZiBfdGVzdF9uYW1lKHRlc3Qp
OgorZGVmIHVuaXRfdGVzdF9uYW1lKHRlc3QpOgogICAgIG0gPSBfdGVzdF9kZXNjcmlwdGlvbi5t
YXRjaChzdHIodGVzdCkpCiAgICAgcmV0dXJuICIlcy4lcyIgJSAobS5ncm91cCgyKSwgbS5ncm91
cCgxKSkKIAogCiBjbGFzcyBSdW5uZXIob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwg
cHJpbnRlciwgb3B0aW9ucywgbG9hZGVyKToKLSAgICAgICAgc2VsZi5vcHRpb25zID0gb3B0aW9u
cworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwcmludGVyLCBsb2FkZXIpOgogICAgICAgICBzZWxm
LnByaW50ZXIgPSBwcmludGVyCiAgICAgICAgIHNlbGYubG9hZGVyID0gbG9hZGVyCi0gICAgICAg
IHNlbGYucmVzdWx0ID0gdW5pdHRlc3QuVGVzdFJlc3VsdCgpCisgICAgICAgIHNlbGYudGVzdHNf
cnVuID0gMAorICAgICAgICBzZWxmLmVycm9ycyA9IFtdCisgICAgICAgIHNlbGYuZmFpbHVyZXMg
PSBbXQogICAgICAgICBzZWxmLndvcmtlcl9mYWN0b3J5ID0gbGFtYmRhIGNhbGxlcjogX1dvcmtl
cihjYWxsZXIsIHNlbGYubG9hZGVyKQogCi0gICAgZGVmIGFsbF90ZXN0X25hbWVzKHNlbGYsIHN1
aXRlKToKLSAgICAgICAgbmFtZXMgPSBbXQotICAgICAgICBpZiBoYXNhdHRyKHN1aXRlLCAnX3Rl
c3RzJyk6Ci0gICAgICAgICAgICBmb3IgdCBpbiBzdWl0ZS5fdGVzdHM6Ci0gICAgICAgICAgICAg
ICAgbmFtZXMuZXh0ZW5kKHNlbGYuYWxsX3Rlc3RfbmFtZXModCkpCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICBuYW1lcy5hcHBlbmQoX3Rlc3RfbmFtZShzdWl0ZSkpCi0gICAgICAgIHJldHVy
biBuYW1lcwotCi0gICAgZGVmIHJ1bihzZWxmLCBzdWl0ZSk6Ci0gICAgICAgIHJ1bl9zdGFydF90
aW1lID0gdGltZS50aW1lKCkKLSAgICAgICAgYWxsX3Rlc3RfbmFtZXMgPSBzZWxmLmFsbF90ZXN0
X25hbWVzKHN1aXRlKQotICAgICAgICBzZWxmLnByaW50ZXIubnVtX3Rlc3RzID0gbGVuKGFsbF90
ZXN0X25hbWVzKQotCi0gICAgICAgIHdpdGggbWVzc2FnZV9wb29sLmdldChzZWxmLCBzZWxmLndv
cmtlcl9mYWN0b3J5LCBpbnQoc2VsZi5vcHRpb25zLmNoaWxkX3Byb2Nlc3NlcykpIGFzIHBvb2w6
Ci0gICAgICAgICAgICBwb29sLnJ1bigoJ3Rlc3QnLCB0ZXN0X25hbWUpIGZvciB0ZXN0X25hbWUg
aW4gYWxsX3Rlc3RfbmFtZXMpCi0KLSAgICAgICAgc2VsZi5wcmludGVyLnByaW50X3Jlc3VsdChz
ZWxmLnJlc3VsdCwgdGltZS50aW1lKCkgLSBydW5fc3RhcnRfdGltZSkKLSAgICAgICAgcmV0dXJu
IHNlbGYucmVzdWx0CisgICAgZGVmIHJ1bihzZWxmLCB0ZXN0X25hbWVzLCBudW1fd29ya2Vycyk6
CisgICAgICAgIGlmIG5vdCB0ZXN0X25hbWVzOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAg
IG51bV93b3JrZXJzID0gbWluKG51bV93b3JrZXJzLCBsZW4odGVzdF9uYW1lcykpCisgICAgICAg
IHdpdGggbWVzc2FnZV9wb29sLmdldChzZWxmLCBzZWxmLndvcmtlcl9mYWN0b3J5LCBudW1fd29y
a2VycykgYXMgcG9vbDoKKyAgICAgICAgICAgIHBvb2wucnVuKCgndGVzdCcsIHRlc3RfbmFtZSkg
Zm9yIHRlc3RfbmFtZSBpbiB0ZXN0X25hbWVzKQogCi0gICAgZGVmIGhhbmRsZShzZWxmLCBtZXNz
YWdlX25hbWUsIHNvdXJjZSwgdGVzdF9uYW1lLCBkZWxheT1Ob25lLCByZXN1bHQ9Tm9uZSk6Cisg
ICAgZGVmIGhhbmRsZShzZWxmLCBtZXNzYWdlX25hbWUsIHNvdXJjZSwgdGVzdF9uYW1lLCBkZWxh
eT1Ob25lLCBmYWlsdXJlcz1Ob25lLCBlcnJvcnM9Tm9uZSk6CiAgICAgICAgIGlmIG1lc3NhZ2Vf
bmFtZSA9PSAnc3RhcnRlZF90ZXN0JzoKICAgICAgICAgICAgIHNlbGYucHJpbnRlci5wcmludF9z
dGFydGVkX3Rlc3Qoc291cmNlLCB0ZXN0X25hbWUpCiAgICAgICAgICAgICByZXR1cm4KIAotICAg
ICAgICBzZWxmLnJlc3VsdC50ZXN0c1J1biArPSAxCi0gICAgICAgIHNlbGYucmVzdWx0LmVycm9y
cy5leHRlbmQocmVzdWx0LmVycm9ycykKLSAgICAgICAgc2VsZi5yZXN1bHQuZmFpbHVyZXMuZXh0
ZW5kKHJlc3VsdC5mYWlsdXJlcykKLSAgICAgICAgc2VsZi5wcmludGVyLnByaW50X2ZpbmlzaGVk
X3Rlc3Qoc291cmNlLCB0ZXN0X25hbWUsIGRlbGF5LCByZXN1bHQuZmFpbHVyZXMsIHJlc3VsdC5l
cnJvcnMpCisgICAgICAgIHNlbGYudGVzdHNfcnVuICs9IDEKKyAgICAgICAgaWYgZmFpbHVyZXM6
CisgICAgICAgICAgICBzZWxmLmZhaWx1cmVzLmFwcGVuZCgodGVzdF9uYW1lLCBmYWlsdXJlcykp
CisgICAgICAgIGlmIGVycm9yczoKKyAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZCgodGVz
dF9uYW1lLCBlcnJvcnMpKQorICAgICAgICBzZWxmLnByaW50ZXIucHJpbnRfZmluaXNoZWRfdGVz
dChzb3VyY2UsIHRlc3RfbmFtZSwgZGVsYXksIGZhaWx1cmVzLCBlcnJvcnMpCiAKIAogY2xhc3Mg
X1dvcmtlcihvYmplY3QpOgpAQCAtODksMTMgKzc1LDggQEAgY2xhc3MgX1dvcmtlcihvYmplY3Qp
OgogICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXN0UmVzdWx0KCkKICAgICAgICAgc3RhcnQg
PSB0aW1lLnRpbWUoKQogICAgICAgICBzZWxmLl9jYWxsZXIucG9zdCgnc3RhcnRlZF90ZXN0Jywg
dGVzdF9uYW1lKQotICAgICAgICBzZWxmLl9sb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUodGVzdF9u
YW1lLCBOb25lKS5ydW4ocmVzdWx0KQogCi0gICAgICAgICMgVGhlIHRlc3RzIGluIHRoZSBUZXN0
UmVzdWx0IGNvbnRhaW4gZmlsZSBvYmplY3RzIGFuZCBvdGhlciB1bnBpY2tsYWJsZSB0aGluZ3M7
IHdlIG9ubHkKLSAgICAgICAgIyBjYXJlIGFib3V0IHRoZSB0ZXN0IG5hbWUsIHNvIHdlIHJld3Jp
dGUgdGhlIHJlc3VsdCB0byByZXBsYWNlIHRoZSB0ZXN0IHdpdGggdGhlIHRlc3QgbmFtZS4KLSAg
ICAgICAgIyBGSVhNRTogV2UgbmVlZCBhbiBhdXRvbWF0ZWQgdGVzdCBmb3IgdGhpcywgYnV0IEkg
ZG9uJ3Qga25vdyBob3cgdG8gd3JpdGUgYW4gYXV0b21hdGVkCi0gICAgICAgICMgdGVzdCB0aGF0
IHdpbGwgZmFpbCBpbiB0aGlzIGNhc2UgdGhhdCBkb2Vzbid0IGdldCBwaWNrZWQgdXAgYnkgdGVz
dC13ZWJraXRweSBub3JtYWxseSA6KC4KLSAgICAgICAgcmVzdWx0LmZhaWx1cmVzID0gWyhfdGVz
dF9uYW1lKGZhaWx1cmVbMF0pLCBmYWlsdXJlWzFdKSBmb3IgZmFpbHVyZSBpbiByZXN1bHQuZmFp
bHVyZXNdCi0gICAgICAgIHJlc3VsdC5lcnJvcnMgPSBbKF90ZXN0X25hbWUoZXJyb3JbMF0pLCBl
cnJvclsxXSkgZm9yIGVycm9yIGluIHJlc3VsdC5lcnJvcnNdCi0KLSAgICAgICAgc2VsZi5fY2Fs
bGVyLnBvc3QoJ2ZpbmlzaGVkX3Rlc3QnLCB0ZXN0X25hbWUsIHRpbWUudGltZSgpIC0gc3RhcnQs
IHJlc3VsdCkKKyAgICAgICAgIyBXZSB3aWxsIG5lZWQgdG8gcmV3b3JrIHRoaXMgaWYgYSB0ZXN0
X25hbWUgcmVzdWx0cyBpbiBtdWx0aXBsZSB0ZXN0cy4KKyAgICAgICAgc2VsZi5fbG9hZGVyLmxv
YWRUZXN0c0Zyb21OYW1lKHRlc3RfbmFtZSwgTm9uZSkucnVuKHJlc3VsdCkKKyAgICAgICAgc2Vs
Zi5fY2FsbGVyLnBvc3QoJ2ZpbmlzaGVkX3Rlc3QnLCB0ZXN0X25hbWUsIHRpbWUudGltZSgpIC0g
c3RhcnQsCisgICAgICAgICAgICBbZmFpbHVyZVsxXSBmb3IgZmFpbHVyZSBpbiByZXN1bHQuZmFp
bHVyZXNdLCBbZXJyb3JbMV0gZm9yIGVycm9yIGluIHJlc3VsdC5lcnJvcnNdKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lcl91bml0dGVzdC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdGVzdC9ydW5uZXJfdW5pdHRlc3QucHkKaW5kZXggNGNkM2E0OTIz
NGM4YzEwNTdmOGNjMjQ4MjRjZmU1NTQ4OTViM2FhMC4uOGZlMWIwNjMzM2QwYzI5NWZhYmViNDJm
YjcwZTlhNjEyYWNmOWVlOSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0
L3J1bm5lcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVu
bmVyX3VuaXR0ZXN0LnB5CkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIEZha2VMb2FkZXIob2JqZWN0
KToKICAgICBkZWYgdG9wX3N1aXRlKHNlbGYpOgogICAgICAgICByZXR1cm4gRmFrZVRvcFN1aXRl
KHNlbGYuX3Rlc3RzKQogCi0gICAgZGVmIGxvYWRUZXN0c0Zyb21OYW1lKHNlbGYsIG5hbWUsIGR1
bW15KToKKyAgICBkZWYgbG9hZFRlc3RzRnJvbU5hbWUoc2VsZiwgbmFtZSwgXyk6CiAgICAgICAg
IHJldHVybiBGYWtlTW9kdWxlU3VpdGUoKnNlbGYuX3Jlc3VsdHNbbmFtZV0pCiAKIApAQCAtODQs
MjggKzg0LDE3IEBAIGNsYXNzIFJ1bm5lclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBmb3IgaGFuZGxlciBpbiBzZWxmLmxvZ19oYW5kbGVyczoKICAgICAgICAgICAgIGhhbmRsZXIu
bGV2ZWwgPSBzZWxmLmxvZ19sZXZlbHMucG9wKDApCiAKLSAgICBkZWYgYXNzZXJ0X3J1bihzZWxm
LCB2ZXJib3NlPTAsIHRpbWluZz1GYWxzZSwgY2hpbGRfcHJvY2Vzc2VzPTEsIHF1aWV0PUZhbHNl
KToKKyAgICBkZWYgdGVzdF9ydW4oc2VsZiwgdmVyYm9zZT0wLCB0aW1pbmc9RmFsc2UsIGNoaWxk
X3Byb2Nlc3Nlcz0xLCBxdWlldD1GYWxzZSk6CiAgICAgICAgIG9wdGlvbnMgPSBNb2NrT3B0aW9u
cyh2ZXJib3NlPXZlcmJvc2UsIHRpbWluZz10aW1pbmcsIGNoaWxkX3Byb2Nlc3Nlcz1jaGlsZF9w
cm9jZXNzZXMsIHF1aWV0PXF1aWV0LCBwYXNzX3Rocm91Z2g9RmFsc2UpCiAgICAgICAgIHN0cmVh
bSA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKICAgICAgICAgbG9hZGVyID0gRmFrZUxvYWRlcigoJ3Rl
c3QxIChGb28pJywgJy4nLCAnJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCd0ZXN0
MiAoRm9vKScsICdGJywgJ3Rlc3QyXG5mYWlsZWQnKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoJ3Rlc3QzIChGb28pJywgJ0UnLCAndGVzdDNcbmVycmVkJykpCi0gICAgICAgIHJ1bm5l
ciA9IFJ1bm5lcihQcmludGVyKHN0cmVhbSwgb3B0aW9ucyksIG9wdGlvbnMsIGxvYWRlcikKLSAg
ICAgICAgcmVzdWx0ID0gcnVubmVyLnJ1bihsb2FkZXIudG9wX3N1aXRlKCkpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RmFsc2UocmVzdWx0Lndhc1N1Y2Nlc3NmdWwoKSkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMocmVzdWx0LnRlc3RzUnVuLCAzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhs
ZW4ocmVzdWx0LmZhaWx1cmVzKSwgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKHJl
c3VsdC5lcnJvcnMpLCAxKQotICAgICAgICAjIEZJWE1FOiBjaGVjayB0aGUgb3V0cHV0IGZyb20g
dGhlIHRlc3QKLQotICAgIGRlZiB0ZXN0X3JlZ3VsYXIoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNz
ZXJ0X3J1bigpCi0KLSAgICBkZWYgdGVzdF92ZXJib3NlKHNlbGYpOgotICAgICAgICBzZWxmLmFz
c2VydF9ydW4odmVyYm9zZT0xKQotCi0gICAgZGVmIHRlc3RfdGltaW5nKHNlbGYpOgotICAgICAg
ICBzZWxmLmFzc2VydF9ydW4odGltaW5nPVRydWUpCisgICAgICAgIHJ1bm5lciA9IFJ1bm5lcihQ
cmludGVyKHN0cmVhbSwgb3B0aW9ucyksIGxvYWRlcikKKyAgICAgICAgcnVubmVyLnJ1bihbJ0Zv
by50ZXN0MScsICdGb28udGVzdDInLCAnRm9vLnRlc3QzJ10sIDEpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWxzKHJ1bm5lci50ZXN0c19ydW4sIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KGxlbihydW5uZXIuZmFpbHVyZXMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhsZW4o
cnVubmVyLmVycm9ycyksIDEpCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155926</attachid>
            <date>2012-08-01 17:01:25 -0700</date>
            <delta_ts>2012-08-01 17:09:58 -0700</delta_ts>
            <desc>fix typos in printer</desc>
            <filename>bug-92922-20120801170106.patch</filename>
            <type>text/plain</type>
            <size>14147</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mzc4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTlkNjZkYTMxNTc1Yjk2MzA4YTAwMTBjMWNkNDZiMmM5
NTNkMzAyYy4uYzM0NmM5YWM5Y2M3YWE5ZmZhMmYyMzIyYWYzN2M4MjVlMWMxNjliNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5
IEBACiAyMDEyLTA4LTAxICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHRlc3Qtd2Via2l0cHk6IGNsZWFuIHVwIHJ1bm5lciBpbiBwcmVwYXJhdGlvbiBmb3Ig
cnVubmluZyB0ZXN0cyBzZXJpYWxseSBhcyBuZWNlc3NhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyOTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gcnVuIHNvbWUgdGVzdHMgYnkg
dGhlbXNlbHZlcyAoc2VyaWFsbHksIHJhdGhlciB0aGFuCisgICAgICAgIGluIHBhcmFsbGVsIHdp
dGggb3RoZXIgdGVzdHMpLCB3ZSB3aWxsIG5lZWQgdG8gYmUgYWJsZSB0byBydW4KKyAgICAgICAg
bXVsdGlwbGUgdGVzdCBzdWl0ZXM7IHRoaXMgY2F1c2VzIHVzIHRvIG1vdmUgbG9hZGluZyB0aGUg
bG9naWMKKyAgICAgICAgZm9yIGZpbmRpbmcgdGVzdCBtZXRob2QgbmFtZXMgb3V0IG9mIHRoZSBy
dW5uZXIgYW5kIGludG8gbWFpbi4KKworICAgICAgICBJJ20gdGFraW5nIGFkdmFudGFnZSBvZiB0
aGlzIHRvIHNpbXBsaWZ5IHNvbWUgb3RoZXIgc3R1ZmYgZnJvbQorICAgICAgICB0aGUgcnVubmVy
IGFzIHdlbGw7IGl0IGlzIG5vdyB2ZXJ5IHNpbXBsZSBhbmQgZG9lc24ndCBleHBvc2UgaXRzCisg
ICAgICAgIGRlcGVuZGVuY3kgb24gdW5pdHRlc3QuVGVzdFJlc3VsdCBhdCBhbGwgKG5vciB3aWxs
IHRoZSBQcmludGVyCisgICAgICAgIHVzZSBUZXN0UmVzdWx0KS4KKworICAgICAgICBTdWJzZXF1
ZW50IHBhdGNoZXMgd2lsbCBtb3ZlIHRoZSBjdXN0b20gbG9hZGVyIGZyb20KKyAgICAgICAgcG9y
dF90ZXN0Y2FzZSBzbyB0aGF0IHdlIGNhbiBwcm9wZXJseSBjaG9vc2Ugd2hldGhlciB0byBydW4K
KyAgICAgICAgaW50ZWdyYXRpb24gdGVzdHMgYW5kL29yIHNlcmlhbCB0ZXN0cywgYW5kIHRoZW4g
dXBkYXRlIHRoZQorICAgICAgICBhcHByb3ByaWF0ZSB0ZXN0cyB0byBydW4gb25seSBzZXJpYWxs
eS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluLnB5OgorICAgICAgICAo
VGVzdGVyLl9ydW5fdGVzdHMpOgorICAgICAgICAoVGVzdGVyKToKKyAgICAgICAgKFRlc3Rlci5f
Y2hlY2tfaW1wb3J0cyk6CisgICAgICAgIChUZXN0ZXIuX3Rlc3RfbmFtZXMpOgorICAgICAgICAo
VGVzdGVyLl9hbGxfdGVzdF9uYW1lcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0
L3ByaW50ZXIucHk6CisgICAgICAgIChQcmludGVyLl9faW5pdF9fKToKKyAgICAgICAgKFByaW50
ZXIud3JpdGVfdXBkYXRlKToKKyAgICAgICAgKFByaW50ZXIpOgorICAgICAgICAoUHJpbnRlci5w
cmludF9maW5pc2hlZF90ZXN0KToKKyAgICAgICAgKFByaW50ZXIucHJpbnRfcmVzdWx0KToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyLnB5OgorICAgICAgICAodW5pdF90
ZXN0X25hbWUpOgorICAgICAgICAoUnVubmVyLl9faW5pdF9fKToKKyAgICAgICAgKFJ1bm5lci5y
dW4pOgorICAgICAgICAoUnVubmVyLmhhbmRsZSk6CisgICAgICAgIChfV29ya2VyLmhhbmRsZSk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lcl91bml0dGVzdC5weToKKyAg
ICAgICAgKEZha2VMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUpOgorICAgICAgICAoUnVubmVyVGVz
dC50ZXN0X3J1bik6CisKKzIwMTItMDgtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1
bS5vcmc+CisKICAgICAgICAgdGVzdC13ZWJraXRweTogY2xlYW4gdXAgaGFuZGxpbmcgb2YgdGVz
dHMgdG8gc2tpcAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTI5MDkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW4u
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQppbmRleCAzOTMyYWQ3OGEw
ZDY1OWIzOTRiZWViMGVmYjYwNTlkYjM0ZjBmOTRlLi5iZWY5MGM4ZDIwZTgxYzIwMTk1ZmMwZjMx
N2U3ZjZjYTlmOThmY2FmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3Qv
bWFpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQpAQCAtMjks
MTMgKzI5LDE0IEBAIGltcG9ydCBvcHRwYXJzZQogaW1wb3J0IG9zCiBpbXBvcnQgU3RyaW5nSU8K
IGltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgdW5pdHRl
c3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVT
eXN0ZW0KIGZyb20gd2Via2l0cHkudGVzdC5maW5kZXIgaW1wb3J0IEZpbmRlcgogZnJvbSB3ZWJr
aXRweS50ZXN0LnByaW50ZXIgaW1wb3J0IFByaW50ZXIKLWZyb20gd2Via2l0cHkudGVzdC5ydW5u
ZXIgaW1wb3J0IFJ1bm5lcgorZnJvbSB3ZWJraXRweS50ZXN0LnJ1bm5lciBpbXBvcnQgUnVubmVy
LCB1bml0X3Rlc3RfbmFtZQogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAK
QEAgLTEyOCwxMCArMTI5LDI4IEBAIGNsYXNzIFRlc3RlcihvYmplY3QpOgogICAgICAgICAjIE1h
a2Ugc3VyZSBQWVRIT05QQVRIIGlzIHNldCB1cCBwcm9wZXJseS4KICAgICAgICAgc3lzLnBhdGgg
PSBzZWxmLmZpbmRlci5hZGRpdGlvbmFsX3BhdGhzKHN5cy5wYXRoKSArIHN5cy5wYXRoCiAKLSAg
ICAgICAgX2xvZy5kZWJ1ZygiTG9hZGluZyB0aGUgdGVzdHMuLi4iKQorICAgICAgICBzZWxmLnBy
aW50ZXIud3JpdGVfdXBkYXRlKCJDaGVja2luZyBpbXBvcnRzIC4uLiIpCisgICAgICAgIHNlbGYu
X2NoZWNrX2ltcG9ydHMobmFtZXMpCiAKKyAgICAgICAgc2VsZi5wcmludGVyLndyaXRlX3VwZGF0
ZSgiRmluZGluZyB0aGUgaW5kaXZpZHVhbCB0ZXN0IG1ldGhvZHMgLi4uIikKICAgICAgICAgbG9h
ZGVyID0gdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXIKLSAgICAgICAgc3VpdGVzID0gW10KKyAg
ICAgICAgdGVzdF9uYW1lcyA9IHNlbGYuX3Rlc3RfbmFtZXMobG9hZGVyLCBuYW1lcykKKworICAg
ICAgICBzZWxmLnByaW50ZXIud3JpdGVfdXBkYXRlKCJSdW5uaW5nIHRoZSB0ZXN0cyAuLi4iKQor
ICAgICAgICBzZWxmLnByaW50ZXIubnVtX3Rlc3RzID0gbGVuKHRlc3RfbmFtZXMpCisgICAgICAg
IHN0YXJ0ID0gdGltZS50aW1lKCkKKyAgICAgICAgdGVzdF9ydW5uZXIgPSBSdW5uZXIoc2VsZi5w
cmludGVyLCBsb2FkZXIpCisgICAgICAgIHRlc3RfcnVubmVyLnJ1bih0ZXN0X25hbWVzLCBzZWxm
Ll9vcHRpb25zLmNoaWxkX3Byb2Nlc3NlcykKKworICAgICAgICBzZWxmLnByaW50ZXIucHJpbnRf
cmVzdWx0KHRpbWUudGltZSgpIC0gc3RhcnQpCisgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY292
ZXJhZ2U6CisgICAgICAgICAgICBjb3Yuc3RvcCgpCisgICAgICAgICAgICBjb3Yuc2F2ZSgpCisg
ICAgICAgICAgICBjb3YucmVwb3J0KHNob3dfbWlzc2luZz1GYWxzZSkKKworICAgICAgICByZXR1
cm4gbm90IHNlbGYucHJpbnRlci5udW1fZmFpbHVyZXMgYW5kIG5vdCBzZWxmLnByaW50ZXIubnVt
X2Vycm9ycworCisgICAgZGVmIF9jaGVja19pbXBvcnRzKHNlbGYsIG5hbWVzKToKICAgICAgICAg
Zm9yIG5hbWUgaW4gbmFtZXM6CiAgICAgICAgICAgICBpZiBzZWxmLmZpbmRlci5pc19tb2R1bGUo
bmFtZSk6CiAgICAgICAgICAgICAgICAgIyBpZiB3ZSBmYWlsZWQgdG8gbG9hZCBhIG5hbWUgYW5k
IGl0IGxvb2tzIGxpa2UgYSBtb2R1bGUsCkBAIC0xNDQsMTggKzE2MywyMSBAQCBjbGFzcyBUZXN0
ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9nX2V4Y2VwdGlvbigpCiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgICAgICBzdWl0ZXMuYXBw
ZW5kKGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZShuYW1lLCBOb25lKSkKLQotICAgICAgICB0ZXN0
X3N1aXRlID0gdW5pdHRlc3QuVGVzdFN1aXRlKHN1aXRlcykKLSAgICAgICAgdGVzdF9ydW5uZXIg
PSBSdW5uZXIoc2VsZi5wcmludGVyLCBzZWxmLl9vcHRpb25zLCBsb2FkZXIpCi0KLSAgICAgICAg
X2xvZy5kZWJ1ZygiUnVubmluZyB0aGUgdGVzdHMuIikKLSAgICAgICAgcmVzdWx0ID0gdGVzdF9y
dW5uZXIucnVuKHRlc3Rfc3VpdGUpCi0gICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY292ZXJhZ2U6
Ci0gICAgICAgICAgICBjb3Yuc3RvcCgpCi0gICAgICAgICAgICBjb3Yuc2F2ZSgpCi0gICAgICAg
ICAgICBjb3YucmVwb3J0KHNob3dfbWlzc2luZz1GYWxzZSkKLSAgICAgICAgcmV0dXJuIHJlc3Vs
dC53YXNTdWNjZXNzZnVsKCkKKyAgICBkZWYgX3Rlc3RfbmFtZXMoc2VsZiwgbG9hZGVyLCBuYW1l
cyk6CisgICAgICAgIHRlc3RfbmFtZXMgPSBbXQorICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoK
KyAgICAgICAgICAgIHRlc3RfbmFtZXMuZXh0ZW5kKHNlbGYuX2FsbF90ZXN0X25hbWVzKGxvYWRl
ci5sb2FkVGVzdHNGcm9tTmFtZShuYW1lLCBOb25lKSkpCisKKyAgICAgICAgcmV0dXJuIHRlc3Rf
bmFtZXMKKworICAgIGRlZiBfYWxsX3Rlc3RfbmFtZXMoc2VsZiwgc3VpdGUpOgorICAgICAgICBu
YW1lcyA9IFtdCisgICAgICAgIGlmIGhhc2F0dHIoc3VpdGUsICdfdGVzdHMnKToKKyAgICAgICAg
ICAgIGZvciB0IGluIHN1aXRlLl90ZXN0czoKKyAgICAgICAgICAgICAgICBuYW1lcy5leHRlbmQo
c2VsZi5fYWxsX3Rlc3RfbmFtZXModCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBuYW1l
cy5hcHBlbmQodW5pdF90ZXN0X25hbWUoc3VpdGUpKQorICAgICAgICByZXR1cm4gbmFtZXMKIAog
ICAgIGRlZiBfbG9nX2V4Y2VwdGlvbihzZWxmKToKICAgICAgICAgcyA9IFN0cmluZ0lPLlN0cmlu
Z0lPKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9wcmludGVyLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3ByaW50ZXIucHkKaW5kZXggMDQyZmJhMTNj
MWMwYTYyN2UyNjgzMmQyZWQ2ODBjZDIyYjJjMWI5Ny4uMGVjMzAzNWIzNjRlYWE1NmFmZTFjMjY5
MmQ4NmE3MGJiNDJkZDE3MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0
L3ByaW50ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3ByaW50ZXIucHkK
QEAgLTM3LDYgKzM3LDggQEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgogICAgICAgICBzZWxmLm9w
dGlvbnMgPSBvcHRpb25zCiAgICAgICAgIHNlbGYubnVtX3Rlc3RzID0gMAogICAgICAgICBzZWxm
Lm51bV9jb21wbGV0ZWQgPSAwCisgICAgICAgIHNlbGYubnVtX2Vycm9ycyA9IDAKKyAgICAgICAg
c2VsZi5udW1fZmFpbHVyZXMgPSAwCiAgICAgICAgIHNlbGYucnVubmluZ190ZXN0cyA9IFtdCiAg
ICAgICAgIHNlbGYuY29tcGxldGVkX3Rlc3RzID0gW10KICAgICAgICAgaWYgb3B0aW9uczoKQEAg
LTEwMiw2ICsxMDQsOSBAQCBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgICAgIGlmIHNlbGYu
b3B0aW9ucy5wYXNzX3Rocm91Z2g6CiAgICAgICAgICAgICBvdXRwdXRjYXB0dXJlLk91dHB1dENh
cHR1cmUuc3RyZWFtX3dyYXBwZXIgPSBfQ2FwdHVyZUFuZFBhc3NUaHJvdWdoU3RyZWFtCiAKKyAg
ICBkZWYgd3JpdGVfdXBkYXRlKHNlbGYsIG1zZyk6CisgICAgICAgIHNlbGYubWV0ZXIud3JpdGVf
dXBkYXRlKG1zZykKKwogICAgIGRlZiBwcmludF9zdGFydGVkX3Rlc3Qoc2VsZiwgc291cmNlLCB0
ZXN0X25hbWUpOgogICAgICAgICBzZWxmLnJ1bm5pbmdfdGVzdHMuYXBwZW5kKHRlc3RfbmFtZSkK
ICAgICAgICAgaWYgbGVuKHNlbGYucnVubmluZ190ZXN0cykgPiAxOgpAQCAtMTE2LDE0ICsxMjEs
MTYgQEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgogCiAgICAgICAgIHdyaXRlKHNlbGYuX3Rlc3Rf
bGluZShzZWxmLnJ1bm5pbmdfdGVzdHNbMF0sIHN1ZmZpeCkpCiAKLSAgICBkZWYgcHJpbnRfZmlu
aXNoZWRfdGVzdChzZWxmLCByZXN1bHQsIHRlc3RfbmFtZSwgdGVzdF90aW1lLCBmYWlsdXJlLCBl
cnIpOgorICAgIGRlZiBwcmludF9maW5pc2hlZF90ZXN0KHNlbGYsIHNvdXJjZSwgdGVzdF9uYW1l
LCB0ZXN0X3RpbWUsIGZhaWx1cmVzLCBlcnJvcnMpOgogICAgICAgICB3cml0ZSA9IHNlbGYubWV0
ZXIud3JpdGVsbgotICAgICAgICBpZiBmYWlsdXJlOgotICAgICAgICAgICAgbGluZXMgPSBmYWls
dXJlWzBdWzFdLnNwbGl0bGluZXMoKSArIFsnJ10KKyAgICAgICAgaWYgZmFpbHVyZXM6CisgICAg
ICAgICAgICBsaW5lcyA9IGZhaWx1cmVzWzBdLnNwbGl0bGluZXMoKSArIFsnJ10KICAgICAgICAg
ICAgIHN1ZmZpeCA9ICcgZmFpbGVkOicKLSAgICAgICAgZWxpZiBlcnI6Ci0gICAgICAgICAgICBs
aW5lcyA9IGVyclswXVsxXS5zcGxpdGxpbmVzKCkgKyBbJyddCisgICAgICAgICAgICBzZWxmLm51
bV9mYWlsdXJlcyArPSAxCisgICAgICAgIGVsaWYgZXJyb3JzOgorICAgICAgICAgICAgbGluZXMg
PSBlcnJvcnNbMF0uc3BsaXRsaW5lcygpICsgWycnXQogICAgICAgICAgICAgc3VmZml4ID0gJyBl
cnJlZDonCisgICAgICAgICAgICBzZWxmLm51bV9lcnJvcnMgKz0gMQogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgc3VmZml4ID0gJyBwYXNzZWQnCiAgICAgICAgICAgICBsaW5lcyA9IFtdCkBA
IC0xNTQsMTMgKzE2MSwxMyBAQCBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgZGVmIF90ZXN0
X2xpbmUoc2VsZiwgdGVzdF9uYW1lLCBzdWZmaXgpOgogICAgICAgICByZXR1cm4gJ1slZC8lZF0g
JXMlcycgJSAoc2VsZi5udW1fY29tcGxldGVkLCBzZWxmLm51bV90ZXN0cywgdGVzdF9uYW1lLCBz
dWZmaXgpCiAKLSAgICBkZWYgcHJpbnRfcmVzdWx0KHNlbGYsIHJlc3VsdCwgcnVuX3RpbWUpOgor
ICAgIGRlZiBwcmludF9yZXN1bHQoc2VsZiwgcnVuX3RpbWUpOgogICAgICAgICB3cml0ZSA9IHNl
bGYubWV0ZXIud3JpdGVsbgotICAgICAgICB3cml0ZSgnUmFuICVkIHRlc3QlcyBpbiAlLjNmcycg
JSAocmVzdWx0LnRlc3RzUnVuLCByZXN1bHQudGVzdHNSdW4gIT0gMSBhbmQgInMiIG9yICIiLCBy
dW5fdGltZSkpCi0gICAgICAgIGlmIHJlc3VsdC53YXNTdWNjZXNzZnVsKCk6Ci0gICAgICAgICAg
ICB3cml0ZSgnXG5PS1xuJykKKyAgICAgICAgd3JpdGUoJ1JhbiAlZCB0ZXN0JXMgaW4gJS4zZnMn
ICUgKHNlbGYubnVtX2NvbXBsZXRlZCwgc2VsZi5udW1fY29tcGxldGVkICE9IDEgYW5kICJzIiBv
ciAiIiwgcnVuX3RpbWUpKQorICAgICAgICBpZiBzZWxmLm51bV9mYWlsdXJlcyBvciBzZWxmLm51
bV9lcnJvcnM6CisgICAgICAgICAgICB3cml0ZSgnRkFJTEVEIChmYWlsdXJlcz0lZCwgZXJyb3Jz
PSVkKVxuJyAlIChzZWxmLm51bV9mYWlsdXJlcywgc2VsZi5udW1fZXJyb3JzKSkKICAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgIHdyaXRlKCdGQUlMRUQgKGZhaWx1cmVzPSVkLCBlcnJvcnM9JWQp
XG4nICUgKGxlbihyZXN1bHQuZmFpbHVyZXMpLCBsZW4ocmVzdWx0LmVycm9ycykpKQorICAgICAg
ICAgICAgd3JpdGUoJ1xuT0tcbicpCiAKIAogY2xhc3MgX0NhcHR1cmVBbmRQYXNzVGhyb3VnaFN0
cmVhbShvYmplY3QpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1
bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9ydW5uZXIucHkKaW5kZXggZmQ4
YWY2ZmUwMTAzN2E2MWQ4YTAxZWQ0OTdiMjJiN2EzM2NjMTM1NS4uZDNmNTc2NDNjOGExOWRiMTIy
MTAyMGZjMDhlMmU4NmIxMDI3OTM3NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90ZXN0L3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVy
LnB5CkBAIC0yMiw2MSArMjIsNDcgQEAKIAogIiIiY29kZSB0byBhY3R1YWxseSBydW4gYSBsaXN0
IG9mIHB5dGhvbiB0ZXN0cy4iIiIKIAotaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQogaW1wb3J0
IHRpbWUKIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBvcnQgbWVz
c2FnZV9wb29sCiAKLV9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLQotCiBfdGVz
dF9kZXNjcmlwdGlvbiA9IHJlLmNvbXBpbGUoIihcdyspIFwoKFtcdy5dKylcKSIpCiAKIAotZGVm
IF90ZXN0X25hbWUodGVzdCk6CitkZWYgdW5pdF90ZXN0X25hbWUodGVzdCk6CiAgICAgbSA9IF90
ZXN0X2Rlc2NyaXB0aW9uLm1hdGNoKHN0cih0ZXN0KSkKICAgICByZXR1cm4gIiVzLiVzIiAlICht
Lmdyb3VwKDIpLCBtLmdyb3VwKDEpKQogCiAKIGNsYXNzIFJ1bm5lcihvYmplY3QpOgotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBwcmludGVyLCBvcHRpb25zLCBsb2FkZXIpOgotICAgICAgICBzZWxm
Lm9wdGlvbnMgPSBvcHRpb25zCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByaW50ZXIsIGxvYWRl
cik6CiAgICAgICAgIHNlbGYucHJpbnRlciA9IHByaW50ZXIKICAgICAgICAgc2VsZi5sb2FkZXIg
PSBsb2FkZXIKLSAgICAgICAgc2VsZi5yZXN1bHQgPSB1bml0dGVzdC5UZXN0UmVzdWx0KCkKKyAg
ICAgICAgc2VsZi50ZXN0c19ydW4gPSAwCisgICAgICAgIHNlbGYuZXJyb3JzID0gW10KKyAgICAg
ICAgc2VsZi5mYWlsdXJlcyA9IFtdCiAgICAgICAgIHNlbGYud29ya2VyX2ZhY3RvcnkgPSBsYW1i
ZGEgY2FsbGVyOiBfV29ya2VyKGNhbGxlciwgc2VsZi5sb2FkZXIpCiAKLSAgICBkZWYgYWxsX3Rl
c3RfbmFtZXMoc2VsZiwgc3VpdGUpOgotICAgICAgICBuYW1lcyA9IFtdCi0gICAgICAgIGlmIGhh
c2F0dHIoc3VpdGUsICdfdGVzdHMnKToKLSAgICAgICAgICAgIGZvciB0IGluIHN1aXRlLl90ZXN0
czoKLSAgICAgICAgICAgICAgICBuYW1lcy5leHRlbmQoc2VsZi5hbGxfdGVzdF9uYW1lcyh0KSkK
LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG5hbWVzLmFwcGVuZChfdGVzdF9uYW1lKHN1aXRl
KSkKLSAgICAgICAgcmV0dXJuIG5hbWVzCi0KLSAgICBkZWYgcnVuKHNlbGYsIHN1aXRlKToKLSAg
ICAgICAgcnVuX3N0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQotICAgICAgICBhbGxfdGVzdF9uYW1l
cyA9IHNlbGYuYWxsX3Rlc3RfbmFtZXMoc3VpdGUpCi0gICAgICAgIHNlbGYucHJpbnRlci5udW1f
dGVzdHMgPSBsZW4oYWxsX3Rlc3RfbmFtZXMpCi0KLSAgICAgICAgd2l0aCBtZXNzYWdlX3Bvb2wu
Z2V0KHNlbGYsIHNlbGYud29ya2VyX2ZhY3RvcnksIGludChzZWxmLm9wdGlvbnMuY2hpbGRfcHJv
Y2Vzc2VzKSkgYXMgcG9vbDoKLSAgICAgICAgICAgIHBvb2wucnVuKCgndGVzdCcsIHRlc3RfbmFt
ZSkgZm9yIHRlc3RfbmFtZSBpbiBhbGxfdGVzdF9uYW1lcykKLQotICAgICAgICBzZWxmLnByaW50
ZXIucHJpbnRfcmVzdWx0KHNlbGYucmVzdWx0LCB0aW1lLnRpbWUoKSAtIHJ1bl9zdGFydF90aW1l
KQotICAgICAgICByZXR1cm4gc2VsZi5yZXN1bHQKKyAgICBkZWYgcnVuKHNlbGYsIHRlc3RfbmFt
ZXMsIG51bV93b3JrZXJzKToKKyAgICAgICAgaWYgbm90IHRlc3RfbmFtZXM6CisgICAgICAgICAg
ICByZXR1cm4KKyAgICAgICAgbnVtX3dvcmtlcnMgPSBtaW4obnVtX3dvcmtlcnMsIGxlbih0ZXN0
X25hbWVzKSkKKyAgICAgICAgd2l0aCBtZXNzYWdlX3Bvb2wuZ2V0KHNlbGYsIHNlbGYud29ya2Vy
X2ZhY3RvcnksIG51bV93b3JrZXJzKSBhcyBwb29sOgorICAgICAgICAgICAgcG9vbC5ydW4oKCd0
ZXN0JywgdGVzdF9uYW1lKSBmb3IgdGVzdF9uYW1lIGluIHRlc3RfbmFtZXMpCiAKLSAgICBkZWYg
aGFuZGxlKHNlbGYsIG1lc3NhZ2VfbmFtZSwgc291cmNlLCB0ZXN0X25hbWUsIGRlbGF5PU5vbmUs
IHJlc3VsdD1Ob25lKToKKyAgICBkZWYgaGFuZGxlKHNlbGYsIG1lc3NhZ2VfbmFtZSwgc291cmNl
LCB0ZXN0X25hbWUsIGRlbGF5PU5vbmUsIGZhaWx1cmVzPU5vbmUsIGVycm9ycz1Ob25lKToKICAg
ICAgICAgaWYgbWVzc2FnZV9uYW1lID09ICdzdGFydGVkX3Rlc3QnOgogICAgICAgICAgICAgc2Vs
Zi5wcmludGVyLnByaW50X3N0YXJ0ZWRfdGVzdChzb3VyY2UsIHRlc3RfbmFtZSkKICAgICAgICAg
ICAgIHJldHVybgogCi0gICAgICAgIHNlbGYucmVzdWx0LnRlc3RzUnVuICs9IDEKLSAgICAgICAg
c2VsZi5yZXN1bHQuZXJyb3JzLmV4dGVuZChyZXN1bHQuZXJyb3JzKQotICAgICAgICBzZWxmLnJl
c3VsdC5mYWlsdXJlcy5leHRlbmQocmVzdWx0LmZhaWx1cmVzKQotICAgICAgICBzZWxmLnByaW50
ZXIucHJpbnRfZmluaXNoZWRfdGVzdChzb3VyY2UsIHRlc3RfbmFtZSwgZGVsYXksIHJlc3VsdC5m
YWlsdXJlcywgcmVzdWx0LmVycm9ycykKKyAgICAgICAgc2VsZi50ZXN0c19ydW4gKz0gMQorICAg
ICAgICBpZiBmYWlsdXJlczoKKyAgICAgICAgICAgIHNlbGYuZmFpbHVyZXMuYXBwZW5kKCh0ZXN0
X25hbWUsIGZhaWx1cmVzKSkKKyAgICAgICAgaWYgZXJyb3JzOgorICAgICAgICAgICAgc2VsZi5l
cnJvcnMuYXBwZW5kKCh0ZXN0X25hbWUsIGVycm9ycykpCisgICAgICAgIHNlbGYucHJpbnRlci5w
cmludF9maW5pc2hlZF90ZXN0KHNvdXJjZSwgdGVzdF9uYW1lLCBkZWxheSwgZmFpbHVyZXMsIGVy
cm9ycykKIAogCiBjbGFzcyBfV29ya2VyKG9iamVjdCk6CkBAIC04OSwxMyArNzUsOCBAQCBjbGFz
cyBfV29ya2VyKG9iamVjdCk6CiAgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRlc3RSZXN1bHQo
KQogICAgICAgICBzdGFydCA9IHRpbWUudGltZSgpCiAgICAgICAgIHNlbGYuX2NhbGxlci5wb3N0
KCdzdGFydGVkX3Rlc3QnLCB0ZXN0X25hbWUpCi0gICAgICAgIHNlbGYuX2xvYWRlci5sb2FkVGVz
dHNGcm9tTmFtZSh0ZXN0X25hbWUsIE5vbmUpLnJ1bihyZXN1bHQpCiAKLSAgICAgICAgIyBUaGUg
dGVzdHMgaW4gdGhlIFRlc3RSZXN1bHQgY29udGFpbiBmaWxlIG9iamVjdHMgYW5kIG90aGVyIHVu
cGlja2xhYmxlIHRoaW5nczsgd2Ugb25seQotICAgICAgICAjIGNhcmUgYWJvdXQgdGhlIHRlc3Qg
bmFtZSwgc28gd2UgcmV3cml0ZSB0aGUgcmVzdWx0IHRvIHJlcGxhY2UgdGhlIHRlc3Qgd2l0aCB0
aGUgdGVzdCBuYW1lLgotICAgICAgICAjIEZJWE1FOiBXZSBuZWVkIGFuIGF1dG9tYXRlZCB0ZXN0
IGZvciB0aGlzLCBidXQgSSBkb24ndCBrbm93IGhvdyB0byB3cml0ZSBhbiBhdXRvbWF0ZWQKLSAg
ICAgICAgIyB0ZXN0IHRoYXQgd2lsbCBmYWlsIGluIHRoaXMgY2FzZSB0aGF0IGRvZXNuJ3QgZ2V0
IHBpY2tlZCB1cCBieSB0ZXN0LXdlYmtpdHB5IG5vcm1hbGx5IDooLgotICAgICAgICByZXN1bHQu
ZmFpbHVyZXMgPSBbKF90ZXN0X25hbWUoZmFpbHVyZVswXSksIGZhaWx1cmVbMV0pIGZvciBmYWls
dXJlIGluIHJlc3VsdC5mYWlsdXJlc10KLSAgICAgICAgcmVzdWx0LmVycm9ycyA9IFsoX3Rlc3Rf
bmFtZShlcnJvclswXSksIGVycm9yWzFdKSBmb3IgZXJyb3IgaW4gcmVzdWx0LmVycm9yc10KLQot
ICAgICAgICBzZWxmLl9jYWxsZXIucG9zdCgnZmluaXNoZWRfdGVzdCcsIHRlc3RfbmFtZSwgdGlt
ZS50aW1lKCkgLSBzdGFydCwgcmVzdWx0KQorICAgICAgICAjIFdlIHdpbGwgbmVlZCB0byByZXdv
cmsgdGhpcyBpZiBhIHRlc3RfbmFtZSByZXN1bHRzIGluIG11bHRpcGxlIHRlc3RzLgorICAgICAg
ICBzZWxmLl9sb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUodGVzdF9uYW1lLCBOb25lKS5ydW4ocmVz
dWx0KQorICAgICAgICBzZWxmLl9jYWxsZXIucG9zdCgnZmluaXNoZWRfdGVzdCcsIHRlc3RfbmFt
ZSwgdGltZS50aW1lKCkgLSBzdGFydCwKKyAgICAgICAgICAgIFtmYWlsdXJlWzFdIGZvciBmYWls
dXJlIGluIHJlc3VsdC5mYWlsdXJlc10sIFtlcnJvclsxXSBmb3IgZXJyb3IgaW4gcmVzdWx0LmVy
cm9yc10pCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyX3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lcl91bml0dGVzdC5w
eQppbmRleCA0Y2QzYTQ5MjM0YzhjMTA1N2Y4Y2MyNDgyNGNmZTU1NDg5NWIzYWEwLi44ZmUxYjA2
MzMzZDBjMjk1ZmFiZWI0MmZiNzBlOWE2MTJhY2Y5ZWU5IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdGVzdC9ydW5uZXJfdW5pdHRlc3QucHkKQEAgLTY1LDcgKzY1LDcgQEAgY2xhc3Mg
RmFrZUxvYWRlcihvYmplY3QpOgogICAgIGRlZiB0b3Bfc3VpdGUoc2VsZik6CiAgICAgICAgIHJl
dHVybiBGYWtlVG9wU3VpdGUoc2VsZi5fdGVzdHMpCiAKLSAgICBkZWYgbG9hZFRlc3RzRnJvbU5h
bWUoc2VsZiwgbmFtZSwgZHVtbXkpOgorICAgIGRlZiBsb2FkVGVzdHNGcm9tTmFtZShzZWxmLCBu
YW1lLCBfKToKICAgICAgICAgcmV0dXJuIEZha2VNb2R1bGVTdWl0ZSgqc2VsZi5fcmVzdWx0c1tu
YW1lXSkKIAogCkBAIC04NCwyOCArODQsMTcgQEAgY2xhc3MgUnVubmVyVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIGZvciBoYW5kbGVyIGluIHNlbGYubG9nX2hhbmRsZXJzOgogICAg
ICAgICAgICAgaGFuZGxlci5sZXZlbCA9IHNlbGYubG9nX2xldmVscy5wb3AoMCkKIAotICAgIGRl
ZiBhc3NlcnRfcnVuKHNlbGYsIHZlcmJvc2U9MCwgdGltaW5nPUZhbHNlLCBjaGlsZF9wcm9jZXNz
ZXM9MSwgcXVpZXQ9RmFsc2UpOgorICAgIGRlZiB0ZXN0X3J1bihzZWxmLCB2ZXJib3NlPTAsIHRp
bWluZz1GYWxzZSwgY2hpbGRfcHJvY2Vzc2VzPTEsIHF1aWV0PUZhbHNlKToKICAgICAgICAgb3B0
aW9ucyA9IE1vY2tPcHRpb25zKHZlcmJvc2U9dmVyYm9zZSwgdGltaW5nPXRpbWluZywgY2hpbGRf
cHJvY2Vzc2VzPWNoaWxkX3Byb2Nlc3NlcywgcXVpZXQ9cXVpZXQsIHBhc3NfdGhyb3VnaD1GYWxz
ZSkKICAgICAgICAgc3RyZWFtID0gU3RyaW5nSU8uU3RyaW5nSU8oKQogICAgICAgICBsb2FkZXIg
PSBGYWtlTG9hZGVyKCgndGVzdDEgKEZvbyknLCAnLicsICcnKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoJ3Rlc3QyIChGb28pJywgJ0YnLCAndGVzdDJcbmZhaWxlZCcpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICgndGVzdDMgKEZvbyknLCAnRScsICd0ZXN0M1xuZXJyZWQn
KSkKLSAgICAgICAgcnVubmVyID0gUnVubmVyKFByaW50ZXIoc3RyZWFtLCBvcHRpb25zKSwgb3B0
aW9ucywgbG9hZGVyKQotICAgICAgICByZXN1bHQgPSBydW5uZXIucnVuKGxvYWRlci50b3Bfc3Vp
dGUoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHQud2FzU3VjY2Vzc2Z1bCgpKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXN1bHQudGVzdHNSdW4sIDMpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKGxlbihyZXN1bHQuZmFpbHVyZXMpLCAxKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhsZW4ocmVzdWx0LmVycm9ycyksIDEpCi0gICAgICAgICMgRklYTUU6IGNoZWNr
IHRoZSBvdXRwdXQgZnJvbSB0aGUgdGVzdAotCi0gICAgZGVmIHRlc3RfcmVndWxhcihzZWxmKToK
LSAgICAgICAgc2VsZi5hc3NlcnRfcnVuKCkKLQotICAgIGRlZiB0ZXN0X3ZlcmJvc2Uoc2VsZik6
Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3J1bih2ZXJib3NlPTEpCi0KLSAgICBkZWYgdGVzdF90aW1p
bmcoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3J1bih0aW1pbmc9VHJ1ZSkKKyAgICAgICAg
cnVubmVyID0gUnVubmVyKFByaW50ZXIoc3RyZWFtLCBvcHRpb25zKSwgbG9hZGVyKQorICAgICAg
ICBydW5uZXIucnVuKFsnRm9vLnRlc3QxJywgJ0Zvby50ZXN0MicsICdGb28udGVzdDMnXSwgMSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocnVubmVyLnRlc3RzX3J1biwgMykKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMobGVuKHJ1bm5lci5mYWlsdXJlcyksIDEpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKGxlbihydW5uZXIuZXJyb3JzKSwgMSkKIAogCiBpZiBfX25hbWVfXyA9PSAn
X19tYWluX18nOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155928</attachid>
            <date>2012-08-01 17:10:01 -0700</date>
            <delta_ts>2012-08-02 14:29:53 -0700</delta_ts>
            <desc>clean up more typos</desc>
            <filename>bug-92922-20120801170943.patch</filename>
            <type>text/plain</type>
            <size>14267</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mzc4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTlkNjZkYTMxNTc1Yjk2MzA4YTAwMTBjMWNkNDZiMmM5
NTNkMzAyYy4uYzM0NmM5YWM5Y2M3YWE5ZmZhMmYyMzIyYWYzN2M4MjVlMWMxNjliNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5
IEBACiAyMDEyLTA4LTAxICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHRlc3Qtd2Via2l0cHk6IGNsZWFuIHVwIHJ1bm5lciBpbiBwcmVwYXJhdGlvbiBmb3Ig
cnVubmluZyB0ZXN0cyBzZXJpYWxseSBhcyBuZWNlc3NhcnkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyOTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gcnVuIHNvbWUgdGVzdHMgYnkg
dGhlbXNlbHZlcyAoc2VyaWFsbHksIHJhdGhlciB0aGFuCisgICAgICAgIGluIHBhcmFsbGVsIHdp
dGggb3RoZXIgdGVzdHMpLCB3ZSB3aWxsIG5lZWQgdG8gYmUgYWJsZSB0byBydW4KKyAgICAgICAg
bXVsdGlwbGUgdGVzdCBzdWl0ZXM7IHRoaXMgY2F1c2VzIHVzIHRvIG1vdmUgbG9hZGluZyB0aGUg
bG9naWMKKyAgICAgICAgZm9yIGZpbmRpbmcgdGVzdCBtZXRob2QgbmFtZXMgb3V0IG9mIHRoZSBy
dW5uZXIgYW5kIGludG8gbWFpbi4KKworICAgICAgICBJJ20gdGFraW5nIGFkdmFudGFnZSBvZiB0
aGlzIHRvIHNpbXBsaWZ5IHNvbWUgb3RoZXIgc3R1ZmYgZnJvbQorICAgICAgICB0aGUgcnVubmVy
IGFzIHdlbGw7IGl0IGlzIG5vdyB2ZXJ5IHNpbXBsZSBhbmQgZG9lc24ndCBleHBvc2UgaXRzCisg
ICAgICAgIGRlcGVuZGVuY3kgb24gdW5pdHRlc3QuVGVzdFJlc3VsdCBhdCBhbGwgKG5vciB3aWxs
IHRoZSBQcmludGVyCisgICAgICAgIHVzZSBUZXN0UmVzdWx0KS4KKworICAgICAgICBTdWJzZXF1
ZW50IHBhdGNoZXMgd2lsbCBtb3ZlIHRoZSBjdXN0b20gbG9hZGVyIGZyb20KKyAgICAgICAgcG9y
dF90ZXN0Y2FzZSBzbyB0aGF0IHdlIGNhbiBwcm9wZXJseSBjaG9vc2Ugd2hldGhlciB0byBydW4K
KyAgICAgICAgaW50ZWdyYXRpb24gdGVzdHMgYW5kL29yIHNlcmlhbCB0ZXN0cywgYW5kIHRoZW4g
dXBkYXRlIHRoZQorICAgICAgICBhcHByb3ByaWF0ZSB0ZXN0cyB0byBydW4gb25seSBzZXJpYWxs
eS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluLnB5OgorICAgICAgICAo
VGVzdGVyLl9ydW5fdGVzdHMpOgorICAgICAgICAoVGVzdGVyKToKKyAgICAgICAgKFRlc3Rlci5f
Y2hlY2tfaW1wb3J0cyk6CisgICAgICAgIChUZXN0ZXIuX3Rlc3RfbmFtZXMpOgorICAgICAgICAo
VGVzdGVyLl9hbGxfdGVzdF9uYW1lcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0
L3ByaW50ZXIucHk6CisgICAgICAgIChQcmludGVyLl9faW5pdF9fKToKKyAgICAgICAgKFByaW50
ZXIud3JpdGVfdXBkYXRlKToKKyAgICAgICAgKFByaW50ZXIpOgorICAgICAgICAoUHJpbnRlci5w
cmludF9maW5pc2hlZF90ZXN0KToKKyAgICAgICAgKFByaW50ZXIucHJpbnRfcmVzdWx0KToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyLnB5OgorICAgICAgICAodW5pdF90
ZXN0X25hbWUpOgorICAgICAgICAoUnVubmVyLl9faW5pdF9fKToKKyAgICAgICAgKFJ1bm5lci5y
dW4pOgorICAgICAgICAoUnVubmVyLmhhbmRsZSk6CisgICAgICAgIChfV29ya2VyLmhhbmRsZSk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lcl91bml0dGVzdC5weToKKyAg
ICAgICAgKEZha2VMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUpOgorICAgICAgICAoUnVubmVyVGVz
dC50ZXN0X3J1bik6CisKKzIwMTItMDgtMDEgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1
bS5vcmc+CisKICAgICAgICAgdGVzdC13ZWJraXRweTogY2xlYW4gdXAgaGFuZGxpbmcgb2YgdGVz
dHMgdG8gc2tpcAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTI5MDkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21haW4u
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQppbmRleCAzOTMyYWQ3OGEw
ZDY1OWIzOTRiZWViMGVmYjYwNTlkYjM0ZjBmOTRlLi5iZmRmNTY0YjhkYWQ1YTllZTMzMWQzZDIw
ODBlODM1MGMyN2U3YjYyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3Qv
bWFpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbi5weQpAQCAtMjks
MTMgKzI5LDE0IEBAIGltcG9ydCBvcHRwYXJzZQogaW1wb3J0IG9zCiBpbXBvcnQgU3RyaW5nSU8K
IGltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgdW5pdHRl
c3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVT
eXN0ZW0KIGZyb20gd2Via2l0cHkudGVzdC5maW5kZXIgaW1wb3J0IEZpbmRlcgogZnJvbSB3ZWJr
aXRweS50ZXN0LnByaW50ZXIgaW1wb3J0IFByaW50ZXIKLWZyb20gd2Via2l0cHkudGVzdC5ydW5u
ZXIgaW1wb3J0IFJ1bm5lcgorZnJvbSB3ZWJraXRweS50ZXN0LnJ1bm5lciBpbXBvcnQgUnVubmVy
LCB1bml0X3Rlc3RfbmFtZQogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAK
QEAgLTEyOCwxMCArMTI5LDMwIEBAIGNsYXNzIFRlc3RlcihvYmplY3QpOgogICAgICAgICAjIE1h
a2Ugc3VyZSBQWVRIT05QQVRIIGlzIHNldCB1cCBwcm9wZXJseS4KICAgICAgICAgc3lzLnBhdGgg
PSBzZWxmLmZpbmRlci5hZGRpdGlvbmFsX3BhdGhzKHN5cy5wYXRoKSArIHN5cy5wYXRoCiAKLSAg
ICAgICAgX2xvZy5kZWJ1ZygiTG9hZGluZyB0aGUgdGVzdHMuLi4iKQorICAgICAgICBzZWxmLnBy
aW50ZXIud3JpdGVfdXBkYXRlKCJDaGVja2luZyBpbXBvcnRzIC4uLiIpCisgICAgICAgIGlmIG5v
dCBzZWxmLl9jaGVja19pbXBvcnRzKG5hbWVzKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQog
CisgICAgICAgIHNlbGYucHJpbnRlci53cml0ZV91cGRhdGUoIkZpbmRpbmcgdGhlIGluZGl2aWR1
YWwgdGVzdCBtZXRob2RzIC4uLiIpCiAgICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LmRlZmF1bHRU
ZXN0TG9hZGVyCi0gICAgICAgIHN1aXRlcyA9IFtdCisgICAgICAgIHRlc3RfbmFtZXMgPSBzZWxm
Ll90ZXN0X25hbWVzKGxvYWRlciwgbmFtZXMpCisKKyAgICAgICAgc2VsZi5wcmludGVyLndyaXRl
X3VwZGF0ZSgiUnVubmluZyB0aGUgdGVzdHMgLi4uIikKKyAgICAgICAgc2VsZi5wcmludGVyLm51
bV90ZXN0cyA9IGxlbih0ZXN0X25hbWVzKQorICAgICAgICBzdGFydCA9IHRpbWUudGltZSgpCisg
ICAgICAgIHRlc3RfcnVubmVyID0gUnVubmVyKHNlbGYucHJpbnRlciwgbG9hZGVyKQorICAgICAg
ICB0ZXN0X3J1bm5lci5ydW4odGVzdF9uYW1lcywgc2VsZi5fb3B0aW9ucy5jaGlsZF9wcm9jZXNz
ZXMpCisKKyAgICAgICAgc2VsZi5wcmludGVyLnByaW50X3Jlc3VsdCh0aW1lLnRpbWUoKSAtIHN0
YXJ0KQorCisgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY292ZXJhZ2U6CisgICAgICAgICAgICBj
b3Yuc3RvcCgpCisgICAgICAgICAgICBjb3Yuc2F2ZSgpCisgICAgICAgICAgICBjb3YucmVwb3J0
KHNob3dfbWlzc2luZz1GYWxzZSkKKworICAgICAgICByZXR1cm4gbm90IHNlbGYucHJpbnRlci5u
dW1fZXJyb3JzIGFuZCBub3Qgc2VsZi5wcmludGVyLm51bV9mYWlsdXJlcworCisgICAgZGVmIF9j
aGVja19pbXBvcnRzKHNlbGYsIG5hbWVzKToKICAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CiAg
ICAgICAgICAgICBpZiBzZWxmLmZpbmRlci5pc19tb2R1bGUobmFtZSk6CiAgICAgICAgICAgICAg
ICAgIyBpZiB3ZSBmYWlsZWQgdG8gbG9hZCBhIG5hbWUgYW5kIGl0IGxvb2tzIGxpa2UgYSBtb2R1
bGUsCkBAIC0xNDMsMTkgKzE2NCwyMyBAQCBjbGFzcyBUZXN0ZXIob2JqZWN0KToKICAgICAgICAg
ICAgICAgICAgICAgX2xvZy5mYXRhbCgnRmFpbGVkIHRvIGltcG9ydCAlczonICUgbmFtZSkKICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5fbG9nX2V4Y2VwdGlvbigpCiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgICAgICBzdWl0
ZXMuYXBwZW5kKGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZShuYW1lLCBOb25lKSkKLQotICAgICAg
ICB0ZXN0X3N1aXRlID0gdW5pdHRlc3QuVGVzdFN1aXRlKHN1aXRlcykKLSAgICAgICAgdGVzdF9y
dW5uZXIgPSBSdW5uZXIoc2VsZi5wcmludGVyLCBzZWxmLl9vcHRpb25zLCBsb2FkZXIpCi0KLSAg
ICAgICAgX2xvZy5kZWJ1ZygiUnVubmluZyB0aGUgdGVzdHMuIikKLSAgICAgICAgcmVzdWx0ID0g
dGVzdF9ydW5uZXIucnVuKHRlc3Rfc3VpdGUpCi0gICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY292
ZXJhZ2U6Ci0gICAgICAgICAgICBjb3Yuc3RvcCgpCi0gICAgICAgICAgICBjb3Yuc2F2ZSgpCi0g
ICAgICAgICAgICBjb3YucmVwb3J0KHNob3dfbWlzc2luZz1GYWxzZSkKLSAgICAgICAgcmV0dXJu
IHJlc3VsdC53YXNTdWNjZXNzZnVsKCkKKyAgICBkZWYgX3Rlc3RfbmFtZXMoc2VsZiwgbG9hZGVy
LCBuYW1lcyk6CisgICAgICAgIHRlc3RfbmFtZXMgPSBbXQorICAgICAgICBmb3IgbmFtZSBpbiBu
YW1lczoKKyAgICAgICAgICAgIHRlc3RfbmFtZXMuZXh0ZW5kKHNlbGYuX2FsbF90ZXN0X25hbWVz
KGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZShuYW1lLCBOb25lKSkpCisKKyAgICAgICAgcmV0dXJu
IHRlc3RfbmFtZXMKKworICAgIGRlZiBfYWxsX3Rlc3RfbmFtZXMoc2VsZiwgc3VpdGUpOgorICAg
ICAgICBuYW1lcyA9IFtdCisgICAgICAgIGlmIGhhc2F0dHIoc3VpdGUsICdfdGVzdHMnKToKKyAg
ICAgICAgICAgIGZvciB0IGluIHN1aXRlLl90ZXN0czoKKyAgICAgICAgICAgICAgICBuYW1lcy5l
eHRlbmQoc2VsZi5fYWxsX3Rlc3RfbmFtZXModCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBuYW1lcy5hcHBlbmQodW5pdF90ZXN0X25hbWUoc3VpdGUpKQorICAgICAgICByZXR1cm4gbmFt
ZXMKIAogICAgIGRlZiBfbG9nX2V4Y2VwdGlvbihzZWxmKToKICAgICAgICAgcyA9IFN0cmluZ0lP
LlN0cmluZ0lPKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9wcmlu
dGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3ByaW50ZXIucHkKaW5kZXggMDQy
ZmJhMTNjMWMwYTYyN2UyNjgzMmQyZWQ2ODBjZDIyYjJjMWI5Ny4uMGVjMzAzNWIzNjRlYWE1NmFm
ZTFjMjY5MmQ4NmE3MGJiNDJkZDE3MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90ZXN0L3ByaW50ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3ByaW50
ZXIucHkKQEAgLTM3LDYgKzM3LDggQEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgogICAgICAgICBz
ZWxmLm9wdGlvbnMgPSBvcHRpb25zCiAgICAgICAgIHNlbGYubnVtX3Rlc3RzID0gMAogICAgICAg
ICBzZWxmLm51bV9jb21wbGV0ZWQgPSAwCisgICAgICAgIHNlbGYubnVtX2Vycm9ycyA9IDAKKyAg
ICAgICAgc2VsZi5udW1fZmFpbHVyZXMgPSAwCiAgICAgICAgIHNlbGYucnVubmluZ190ZXN0cyA9
IFtdCiAgICAgICAgIHNlbGYuY29tcGxldGVkX3Rlc3RzID0gW10KICAgICAgICAgaWYgb3B0aW9u
czoKQEAgLTEwMiw2ICsxMDQsOSBAQCBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgICAgIGlm
IHNlbGYub3B0aW9ucy5wYXNzX3Rocm91Z2g6CiAgICAgICAgICAgICBvdXRwdXRjYXB0dXJlLk91
dHB1dENhcHR1cmUuc3RyZWFtX3dyYXBwZXIgPSBfQ2FwdHVyZUFuZFBhc3NUaHJvdWdoU3RyZWFt
CiAKKyAgICBkZWYgd3JpdGVfdXBkYXRlKHNlbGYsIG1zZyk6CisgICAgICAgIHNlbGYubWV0ZXIu
d3JpdGVfdXBkYXRlKG1zZykKKwogICAgIGRlZiBwcmludF9zdGFydGVkX3Rlc3Qoc2VsZiwgc291
cmNlLCB0ZXN0X25hbWUpOgogICAgICAgICBzZWxmLnJ1bm5pbmdfdGVzdHMuYXBwZW5kKHRlc3Rf
bmFtZSkKICAgICAgICAgaWYgbGVuKHNlbGYucnVubmluZ190ZXN0cykgPiAxOgpAQCAtMTE2LDE0
ICsxMjEsMTYgQEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgogCiAgICAgICAgIHdyaXRlKHNlbGYu
X3Rlc3RfbGluZShzZWxmLnJ1bm5pbmdfdGVzdHNbMF0sIHN1ZmZpeCkpCiAKLSAgICBkZWYgcHJp
bnRfZmluaXNoZWRfdGVzdChzZWxmLCByZXN1bHQsIHRlc3RfbmFtZSwgdGVzdF90aW1lLCBmYWls
dXJlLCBlcnIpOgorICAgIGRlZiBwcmludF9maW5pc2hlZF90ZXN0KHNlbGYsIHNvdXJjZSwgdGVz
dF9uYW1lLCB0ZXN0X3RpbWUsIGZhaWx1cmVzLCBlcnJvcnMpOgogICAgICAgICB3cml0ZSA9IHNl
bGYubWV0ZXIud3JpdGVsbgotICAgICAgICBpZiBmYWlsdXJlOgotICAgICAgICAgICAgbGluZXMg
PSBmYWlsdXJlWzBdWzFdLnNwbGl0bGluZXMoKSArIFsnJ10KKyAgICAgICAgaWYgZmFpbHVyZXM6
CisgICAgICAgICAgICBsaW5lcyA9IGZhaWx1cmVzWzBdLnNwbGl0bGluZXMoKSArIFsnJ10KICAg
ICAgICAgICAgIHN1ZmZpeCA9ICcgZmFpbGVkOicKLSAgICAgICAgZWxpZiBlcnI6Ci0gICAgICAg
ICAgICBsaW5lcyA9IGVyclswXVsxXS5zcGxpdGxpbmVzKCkgKyBbJyddCisgICAgICAgICAgICBz
ZWxmLm51bV9mYWlsdXJlcyArPSAxCisgICAgICAgIGVsaWYgZXJyb3JzOgorICAgICAgICAgICAg
bGluZXMgPSBlcnJvcnNbMF0uc3BsaXRsaW5lcygpICsgWycnXQogICAgICAgICAgICAgc3VmZml4
ID0gJyBlcnJlZDonCisgICAgICAgICAgICBzZWxmLm51bV9lcnJvcnMgKz0gMQogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgc3VmZml4ID0gJyBwYXNzZWQnCiAgICAgICAgICAgICBsaW5lcyA9
IFtdCkBAIC0xNTQsMTMgKzE2MSwxMyBAQCBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgZGVm
IF90ZXN0X2xpbmUoc2VsZiwgdGVzdF9uYW1lLCBzdWZmaXgpOgogICAgICAgICByZXR1cm4gJ1sl
ZC8lZF0gJXMlcycgJSAoc2VsZi5udW1fY29tcGxldGVkLCBzZWxmLm51bV90ZXN0cywgdGVzdF9u
YW1lLCBzdWZmaXgpCiAKLSAgICBkZWYgcHJpbnRfcmVzdWx0KHNlbGYsIHJlc3VsdCwgcnVuX3Rp
bWUpOgorICAgIGRlZiBwcmludF9yZXN1bHQoc2VsZiwgcnVuX3RpbWUpOgogICAgICAgICB3cml0
ZSA9IHNlbGYubWV0ZXIud3JpdGVsbgotICAgICAgICB3cml0ZSgnUmFuICVkIHRlc3QlcyBpbiAl
LjNmcycgJSAocmVzdWx0LnRlc3RzUnVuLCByZXN1bHQudGVzdHNSdW4gIT0gMSBhbmQgInMiIG9y
ICIiLCBydW5fdGltZSkpCi0gICAgICAgIGlmIHJlc3VsdC53YXNTdWNjZXNzZnVsKCk6Ci0gICAg
ICAgICAgICB3cml0ZSgnXG5PS1xuJykKKyAgICAgICAgd3JpdGUoJ1JhbiAlZCB0ZXN0JXMgaW4g
JS4zZnMnICUgKHNlbGYubnVtX2NvbXBsZXRlZCwgc2VsZi5udW1fY29tcGxldGVkICE9IDEgYW5k
ICJzIiBvciAiIiwgcnVuX3RpbWUpKQorICAgICAgICBpZiBzZWxmLm51bV9mYWlsdXJlcyBvciBz
ZWxmLm51bV9lcnJvcnM6CisgICAgICAgICAgICB3cml0ZSgnRkFJTEVEIChmYWlsdXJlcz0lZCwg
ZXJyb3JzPSVkKVxuJyAlIChzZWxmLm51bV9mYWlsdXJlcywgc2VsZi5udW1fZXJyb3JzKSkKICAg
ICAgICAgZWxzZToKLSAgICAgICAgICAgIHdyaXRlKCdGQUlMRUQgKGZhaWx1cmVzPSVkLCBlcnJv
cnM9JWQpXG4nICUgKGxlbihyZXN1bHQuZmFpbHVyZXMpLCBsZW4ocmVzdWx0LmVycm9ycykpKQor
ICAgICAgICAgICAgd3JpdGUoJ1xuT0tcbicpCiAKIAogY2xhc3MgX0NhcHR1cmVBbmRQYXNzVGhy
b3VnaFN0cmVhbShvYmplY3QpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
ZXN0L3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9ydW5uZXIucHkKaW5k
ZXggZmQ4YWY2ZmUwMTAzN2E2MWQ4YTAxZWQ0OTdiMjJiN2EzM2NjMTM1NS4uZDNmNTc2NDNjOGEx
OWRiMTIyMTAyMGZjMDhlMmU4NmIxMDI3OTM3NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90ZXN0L3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3Qv
cnVubmVyLnB5CkBAIC0yMiw2MSArMjIsNDcgQEAKIAogIiIiY29kZSB0byBhY3R1YWxseSBydW4g
YSBsaXN0IG9mIHB5dGhvbiB0ZXN0cy4iIiIKIAotaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQog
aW1wb3J0IHRpbWUKIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBpbXBv
cnQgbWVzc2FnZV9wb29sCiAKLV9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLQot
CiBfdGVzdF9kZXNjcmlwdGlvbiA9IHJlLmNvbXBpbGUoIihcdyspIFwoKFtcdy5dKylcKSIpCiAK
IAotZGVmIF90ZXN0X25hbWUodGVzdCk6CitkZWYgdW5pdF90ZXN0X25hbWUodGVzdCk6CiAgICAg
bSA9IF90ZXN0X2Rlc2NyaXB0aW9uLm1hdGNoKHN0cih0ZXN0KSkKICAgICByZXR1cm4gIiVzLiVz
IiAlIChtLmdyb3VwKDIpLCBtLmdyb3VwKDEpKQogCiAKIGNsYXNzIFJ1bm5lcihvYmplY3QpOgot
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwcmludGVyLCBvcHRpb25zLCBsb2FkZXIpOgotICAgICAg
ICBzZWxmLm9wdGlvbnMgPSBvcHRpb25zCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByaW50ZXIs
IGxvYWRlcik6CiAgICAgICAgIHNlbGYucHJpbnRlciA9IHByaW50ZXIKICAgICAgICAgc2VsZi5s
b2FkZXIgPSBsb2FkZXIKLSAgICAgICAgc2VsZi5yZXN1bHQgPSB1bml0dGVzdC5UZXN0UmVzdWx0
KCkKKyAgICAgICAgc2VsZi50ZXN0c19ydW4gPSAwCisgICAgICAgIHNlbGYuZXJyb3JzID0gW10K
KyAgICAgICAgc2VsZi5mYWlsdXJlcyA9IFtdCiAgICAgICAgIHNlbGYud29ya2VyX2ZhY3Rvcnkg
PSBsYW1iZGEgY2FsbGVyOiBfV29ya2VyKGNhbGxlciwgc2VsZi5sb2FkZXIpCiAKLSAgICBkZWYg
YWxsX3Rlc3RfbmFtZXMoc2VsZiwgc3VpdGUpOgotICAgICAgICBuYW1lcyA9IFtdCi0gICAgICAg
IGlmIGhhc2F0dHIoc3VpdGUsICdfdGVzdHMnKToKLSAgICAgICAgICAgIGZvciB0IGluIHN1aXRl
Ll90ZXN0czoKLSAgICAgICAgICAgICAgICBuYW1lcy5leHRlbmQoc2VsZi5hbGxfdGVzdF9uYW1l
cyh0KSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG5hbWVzLmFwcGVuZChfdGVzdF9uYW1l
KHN1aXRlKSkKLSAgICAgICAgcmV0dXJuIG5hbWVzCi0KLSAgICBkZWYgcnVuKHNlbGYsIHN1aXRl
KToKLSAgICAgICAgcnVuX3N0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQotICAgICAgICBhbGxfdGVz
dF9uYW1lcyA9IHNlbGYuYWxsX3Rlc3RfbmFtZXMoc3VpdGUpCi0gICAgICAgIHNlbGYucHJpbnRl
ci5udW1fdGVzdHMgPSBsZW4oYWxsX3Rlc3RfbmFtZXMpCi0KLSAgICAgICAgd2l0aCBtZXNzYWdl
X3Bvb2wuZ2V0KHNlbGYsIHNlbGYud29ya2VyX2ZhY3RvcnksIGludChzZWxmLm9wdGlvbnMuY2hp
bGRfcHJvY2Vzc2VzKSkgYXMgcG9vbDoKLSAgICAgICAgICAgIHBvb2wucnVuKCgndGVzdCcsIHRl
c3RfbmFtZSkgZm9yIHRlc3RfbmFtZSBpbiBhbGxfdGVzdF9uYW1lcykKLQotICAgICAgICBzZWxm
LnByaW50ZXIucHJpbnRfcmVzdWx0KHNlbGYucmVzdWx0LCB0aW1lLnRpbWUoKSAtIHJ1bl9zdGFy
dF90aW1lKQotICAgICAgICByZXR1cm4gc2VsZi5yZXN1bHQKKyAgICBkZWYgcnVuKHNlbGYsIHRl
c3RfbmFtZXMsIG51bV93b3JrZXJzKToKKyAgICAgICAgaWYgbm90IHRlc3RfbmFtZXM6CisgICAg
ICAgICAgICByZXR1cm4KKyAgICAgICAgbnVtX3dvcmtlcnMgPSBtaW4obnVtX3dvcmtlcnMsIGxl
bih0ZXN0X25hbWVzKSkKKyAgICAgICAgd2l0aCBtZXNzYWdlX3Bvb2wuZ2V0KHNlbGYsIHNlbGYu
d29ya2VyX2ZhY3RvcnksIG51bV93b3JrZXJzKSBhcyBwb29sOgorICAgICAgICAgICAgcG9vbC5y
dW4oKCd0ZXN0JywgdGVzdF9uYW1lKSBmb3IgdGVzdF9uYW1lIGluIHRlc3RfbmFtZXMpCiAKLSAg
ICBkZWYgaGFuZGxlKHNlbGYsIG1lc3NhZ2VfbmFtZSwgc291cmNlLCB0ZXN0X25hbWUsIGRlbGF5
PU5vbmUsIHJlc3VsdD1Ob25lKToKKyAgICBkZWYgaGFuZGxlKHNlbGYsIG1lc3NhZ2VfbmFtZSwg
c291cmNlLCB0ZXN0X25hbWUsIGRlbGF5PU5vbmUsIGZhaWx1cmVzPU5vbmUsIGVycm9ycz1Ob25l
KToKICAgICAgICAgaWYgbWVzc2FnZV9uYW1lID09ICdzdGFydGVkX3Rlc3QnOgogICAgICAgICAg
ICAgc2VsZi5wcmludGVyLnByaW50X3N0YXJ0ZWRfdGVzdChzb3VyY2UsIHRlc3RfbmFtZSkKICAg
ICAgICAgICAgIHJldHVybgogCi0gICAgICAgIHNlbGYucmVzdWx0LnRlc3RzUnVuICs9IDEKLSAg
ICAgICAgc2VsZi5yZXN1bHQuZXJyb3JzLmV4dGVuZChyZXN1bHQuZXJyb3JzKQotICAgICAgICBz
ZWxmLnJlc3VsdC5mYWlsdXJlcy5leHRlbmQocmVzdWx0LmZhaWx1cmVzKQotICAgICAgICBzZWxm
LnByaW50ZXIucHJpbnRfZmluaXNoZWRfdGVzdChzb3VyY2UsIHRlc3RfbmFtZSwgZGVsYXksIHJl
c3VsdC5mYWlsdXJlcywgcmVzdWx0LmVycm9ycykKKyAgICAgICAgc2VsZi50ZXN0c19ydW4gKz0g
MQorICAgICAgICBpZiBmYWlsdXJlczoKKyAgICAgICAgICAgIHNlbGYuZmFpbHVyZXMuYXBwZW5k
KCh0ZXN0X25hbWUsIGZhaWx1cmVzKSkKKyAgICAgICAgaWYgZXJyb3JzOgorICAgICAgICAgICAg
c2VsZi5lcnJvcnMuYXBwZW5kKCh0ZXN0X25hbWUsIGVycm9ycykpCisgICAgICAgIHNlbGYucHJp
bnRlci5wcmludF9maW5pc2hlZF90ZXN0KHNvdXJjZSwgdGVzdF9uYW1lLCBkZWxheSwgZmFpbHVy
ZXMsIGVycm9ycykKIAogCiBjbGFzcyBfV29ya2VyKG9iamVjdCk6CkBAIC04OSwxMyArNzUsOCBA
QCBjbGFzcyBfV29ya2VyKG9iamVjdCk6CiAgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRlc3RS
ZXN1bHQoKQogICAgICAgICBzdGFydCA9IHRpbWUudGltZSgpCiAgICAgICAgIHNlbGYuX2NhbGxl
ci5wb3N0KCdzdGFydGVkX3Rlc3QnLCB0ZXN0X25hbWUpCi0gICAgICAgIHNlbGYuX2xvYWRlci5s
b2FkVGVzdHNGcm9tTmFtZSh0ZXN0X25hbWUsIE5vbmUpLnJ1bihyZXN1bHQpCiAKLSAgICAgICAg
IyBUaGUgdGVzdHMgaW4gdGhlIFRlc3RSZXN1bHQgY29udGFpbiBmaWxlIG9iamVjdHMgYW5kIG90
aGVyIHVucGlja2xhYmxlIHRoaW5nczsgd2Ugb25seQotICAgICAgICAjIGNhcmUgYWJvdXQgdGhl
IHRlc3QgbmFtZSwgc28gd2UgcmV3cml0ZSB0aGUgcmVzdWx0IHRvIHJlcGxhY2UgdGhlIHRlc3Qg
d2l0aCB0aGUgdGVzdCBuYW1lLgotICAgICAgICAjIEZJWE1FOiBXZSBuZWVkIGFuIGF1dG9tYXRl
ZCB0ZXN0IGZvciB0aGlzLCBidXQgSSBkb24ndCBrbm93IGhvdyB0byB3cml0ZSBhbiBhdXRvbWF0
ZWQKLSAgICAgICAgIyB0ZXN0IHRoYXQgd2lsbCBmYWlsIGluIHRoaXMgY2FzZSB0aGF0IGRvZXNu
J3QgZ2V0IHBpY2tlZCB1cCBieSB0ZXN0LXdlYmtpdHB5IG5vcm1hbGx5IDooLgotICAgICAgICBy
ZXN1bHQuZmFpbHVyZXMgPSBbKF90ZXN0X25hbWUoZmFpbHVyZVswXSksIGZhaWx1cmVbMV0pIGZv
ciBmYWlsdXJlIGluIHJlc3VsdC5mYWlsdXJlc10KLSAgICAgICAgcmVzdWx0LmVycm9ycyA9IFso
X3Rlc3RfbmFtZShlcnJvclswXSksIGVycm9yWzFdKSBmb3IgZXJyb3IgaW4gcmVzdWx0LmVycm9y
c10KLQotICAgICAgICBzZWxmLl9jYWxsZXIucG9zdCgnZmluaXNoZWRfdGVzdCcsIHRlc3RfbmFt
ZSwgdGltZS50aW1lKCkgLSBzdGFydCwgcmVzdWx0KQorICAgICAgICAjIFdlIHdpbGwgbmVlZCB0
byByZXdvcmsgdGhpcyBpZiBhIHRlc3RfbmFtZSByZXN1bHRzIGluIG11bHRpcGxlIHRlc3RzLgor
ICAgICAgICBzZWxmLl9sb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUodGVzdF9uYW1lLCBOb25lKS5y
dW4ocmVzdWx0KQorICAgICAgICBzZWxmLl9jYWxsZXIucG9zdCgnZmluaXNoZWRfdGVzdCcsIHRl
c3RfbmFtZSwgdGltZS50aW1lKCkgLSBzdGFydCwKKyAgICAgICAgICAgIFtmYWlsdXJlWzFdIGZv
ciBmYWlsdXJlIGluIHJlc3VsdC5mYWlsdXJlc10sIFtlcnJvclsxXSBmb3IgZXJyb3IgaW4gcmVz
dWx0LmVycm9yc10pCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVu
bmVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L3J1bm5lcl91bml0
dGVzdC5weQppbmRleCA0Y2QzYTQ5MjM0YzhjMTA1N2Y4Y2MyNDgyNGNmZTU1NDg5NWIzYWEwLi44
ZmUxYjA2MzMzZDBjMjk1ZmFiZWI0MmZiNzBlOWE2MTJhY2Y5ZWU5IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdGVzdC9ydW5uZXJfdW5pdHRlc3QucHkKQEAgLTY1LDcgKzY1LDcgQEAg
Y2xhc3MgRmFrZUxvYWRlcihvYmplY3QpOgogICAgIGRlZiB0b3Bfc3VpdGUoc2VsZik6CiAgICAg
ICAgIHJldHVybiBGYWtlVG9wU3VpdGUoc2VsZi5fdGVzdHMpCiAKLSAgICBkZWYgbG9hZFRlc3Rz
RnJvbU5hbWUoc2VsZiwgbmFtZSwgZHVtbXkpOgorICAgIGRlZiBsb2FkVGVzdHNGcm9tTmFtZShz
ZWxmLCBuYW1lLCBfKToKICAgICAgICAgcmV0dXJuIEZha2VNb2R1bGVTdWl0ZSgqc2VsZi5fcmVz
dWx0c1tuYW1lXSkKIAogCkBAIC04NCwyOCArODQsMTcgQEAgY2xhc3MgUnVubmVyVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGZvciBoYW5kbGVyIGluIHNlbGYubG9nX2hhbmRsZXJz
OgogICAgICAgICAgICAgaGFuZGxlci5sZXZlbCA9IHNlbGYubG9nX2xldmVscy5wb3AoMCkKIAot
ICAgIGRlZiBhc3NlcnRfcnVuKHNlbGYsIHZlcmJvc2U9MCwgdGltaW5nPUZhbHNlLCBjaGlsZF9w
cm9jZXNzZXM9MSwgcXVpZXQ9RmFsc2UpOgorICAgIGRlZiB0ZXN0X3J1bihzZWxmLCB2ZXJib3Nl
PTAsIHRpbWluZz1GYWxzZSwgY2hpbGRfcHJvY2Vzc2VzPTEsIHF1aWV0PUZhbHNlKToKICAgICAg
ICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKHZlcmJvc2U9dmVyYm9zZSwgdGltaW5nPXRpbWluZywg
Y2hpbGRfcHJvY2Vzc2VzPWNoaWxkX3Byb2Nlc3NlcywgcXVpZXQ9cXVpZXQsIHBhc3NfdGhyb3Vn
aD1GYWxzZSkKICAgICAgICAgc3RyZWFtID0gU3RyaW5nSU8uU3RyaW5nSU8oKQogICAgICAgICBs
b2FkZXIgPSBGYWtlTG9hZGVyKCgndGVzdDEgKEZvbyknLCAnLicsICcnKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoJ3Rlc3QyIChGb28pJywgJ0YnLCAndGVzdDJcbmZhaWxlZCcpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgndGVzdDMgKEZvbyknLCAnRScsICd0ZXN0M1xu
ZXJyZWQnKSkKLSAgICAgICAgcnVubmVyID0gUnVubmVyKFByaW50ZXIoc3RyZWFtLCBvcHRpb25z
KSwgb3B0aW9ucywgbG9hZGVyKQotICAgICAgICByZXN1bHQgPSBydW5uZXIucnVuKGxvYWRlci50
b3Bfc3VpdGUoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHQud2FzU3VjY2Vzc2Z1
bCgpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXN1bHQudGVzdHNSdW4sIDMpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihyZXN1bHQuZmFpbHVyZXMpLCAxKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhsZW4ocmVzdWx0LmVycm9ycyksIDEpCi0gICAgICAgICMgRklYTUU6
IGNoZWNrIHRoZSBvdXRwdXQgZnJvbSB0aGUgdGVzdAotCi0gICAgZGVmIHRlc3RfcmVndWxhcihz
ZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRfcnVuKCkKLQotICAgIGRlZiB0ZXN0X3ZlcmJvc2Uo
c2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3J1bih2ZXJib3NlPTEpCi0KLSAgICBkZWYgdGVz
dF90aW1pbmcoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0X3J1bih0aW1pbmc9VHJ1ZSkKKyAg
ICAgICAgcnVubmVyID0gUnVubmVyKFByaW50ZXIoc3RyZWFtLCBvcHRpb25zKSwgbG9hZGVyKQor
ICAgICAgICBydW5uZXIucnVuKFsnRm9vLnRlc3QxJywgJ0Zvby50ZXN0MicsICdGb28udGVzdDMn
XSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocnVubmVyLnRlc3RzX3J1biwgMykKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKHJ1bm5lci5mYWlsdXJlcyksIDEpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKGxlbihydW5uZXIuZXJyb3JzKSwgMSkKIAogCiBpZiBfX25hbWVf
XyA9PSAnX19tYWluX18nOgo=
</data>
<flag name="review"
          id="165502"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>