<?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>34986</bug_id>
          
          <creation_ts>2010-02-16 13:34:23 -0800</creation_ts>
          <short_desc>re-factor Skipped list parsing code into multiple functions and unit test it</short_desc>
          <delta_ts>2010-02-16 14:21:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>34984</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>190718</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-16 13:34:23 -0800</bug_when>
    <thetext>re-factor Skipped list parsing code into multiple functions and unit test it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190732</commentid>
    <comment_count>1</comment_count>
      <attachid>48826</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-16 13:54:49 -0800</bug_when>
    <thetext>Created attachment 48826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190740</commentid>
    <comment_count>2</comment_count>
      <attachid>48828</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-16 14:01:40 -0800</bug_when>
    <thetext>Created attachment 48828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190746</commentid>
    <comment_count>3</comment_count>
      <attachid>48828</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-02-16 14:08:59 -0800</bug_when>
    <thetext>Comment on attachment 48828
Patch

Ok.  We need to unify our Port concept.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190754</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-16 14:21:52 -0800</bug_when>
    <thetext>Committed r54830: &lt;http://trac.webkit.org/changeset/54830&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48826</attachid>
            <date>2010-02-16 13:54:49 -0800</date>
            <delta_ts>2010-02-16 14:01:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34986-20100216135448.patch</filename>
            <type>text/plain</type>
            <size>10971</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA0Zjc5NTU5Li43NTFjYWIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDIt
MTYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHJlLWZhY3RvciBTa2lwcGVkIGxpc3QgcGFyc2lu
ZyBjb2RlIGludG8gbXVsdGlwbGUgZnVuY3Rpb25zIGFuZCB1bml0IHRlc3QgaXQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0OTg2CisKKyAgICAgICAg
KiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6IEFkZCBuZXcgdW5pdCB0ZXN0LgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5OiBTcGxpdCBwYXJzaW5nIGZ1
bmN0aW9uIGludG8gbXVsdGlwbGUgZnVuY3Rpb25zIGZvciB0ZXN0aW5nLgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjX3VuaXR0ZXN0LnB5OiBBZGRlZC4K
KwogMjAxMC0wMi0xNiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy90ZXN0LXdlYmtpdHB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5Cmlu
ZGV4IGNmZDM0MzQuLjg2MTczMzAgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvdGVz
dC13ZWJraXRweQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKQEAgLTQ0
LDYgKzQ0LDcgQEAgZnJvbSB3ZWJraXRweS5jcmVkZW50aWFsc191bml0dGVzdCBpbXBvcnQgKgog
ZnJvbSB3ZWJraXRweS5kaWZmX3BhcnNlcl91bml0dGVzdCBpbXBvcnQgKgogZnJvbSB3ZWJraXRw
eS5leGVjdXRpdmVfdW5pdHRlc3QgaW1wb3J0ICoKIGZyb20gd2Via2l0cHkuZ3JhbW1hcl91bml0
dGVzdCBpbXBvcnQgKgorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5tYWNfdW5pdHRl
c3QgaW1wb3J0ICoKIGZyb20gd2Via2l0cHkubXVsdGljb21tYW5kdG9vbF91bml0dGVzdCBpbXBv
cnQgKgogZnJvbSB3ZWJraXRweS5uZXR3b3JrdHJhbnNhY3Rpb25fdW5pdHRlc3QgaW1wb3J0ICoK
IGZyb20gd2Via2l0cHkucGF0Y2hjb2xsZWN0aW9uX3VuaXR0ZXN0IGltcG9ydCAqCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9fX2luaXRfXy5w
eSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL19faW5pdF9fLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmNjViZWUKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9fX2luaXRf
Xy5weQpAQCAtMCwwICsxIEBACisjIFJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMg
ZGlyZWN0b3J5IGZvciBtb2R1bGUgZmlsZXMKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKaW5kZXggMWU1N2NkMi4uNDgyZGEx
NCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9tYWMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9tYWMucHkKQEAgLTEwMyw4ICsxMDMsNjYgQEAgY2xhc3MgTWFjUG9ydChiYXNlLlBv
cnQpOgogICAgICAgICAjIHRvIHJldHVybiBzb21ldGhpbmcuCiAgICAgICAgIHJldHVybiAoJ21h
YycsKQogCisgICAgZGVmIF9za2lwcGVkX2ZpbGVfcGF0aHMoc2VsZik6CisgICAgICAgICMgVGhp
cyBtZXRob2Qgd2lsbCBuZWVkIHRvIGJlIG1hZGUgd29yayBmb3Igbm9uLW1hYyBwbGF0Zm9ybXMg
YW5kIG1vdmVkIGludG8gYmFzZS5Qb3J0LgorICAgICAgICBza2lwcGVkX2ZpbGVzID0gW10KKyAg
ICAgICAgaWYgc2VsZi5fbmFtZSBpbiAoJ21hYy10aWdlcicsICdtYWMtbGVvcGFyZCcsICdtYWMt
c25vd2xlb3BhcmQnKToKKyAgICAgICAgICAgIHNraXBwZWRfZmlsZXMuYXBwZW5kKG9zLnBhdGgu
am9pbigKKyAgICAgICAgICAgICAgICBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aChzZWxmLl9u
YW1lKSwgJ1NraXBwZWQnKSkKKyAgICAgICAgc2tpcHBlZF9maWxlcy5hcHBlbmQob3MucGF0aC5q
b2luKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoKCdtYWMnKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdTa2lwcGVkJykpCisgICAgICAgIHJldHVybiBza2lw
cGVkX2ZpbGVzCisKKyAgICBkZWYgX3Rlc3RzX2Zvcl9vdGhlcl9wbGF0Zm9ybXMoc2VsZik6Cisg
ICAgICAgICMgVGhlIG9yaWdpbmFsIHJ1bi13ZWJraXQtdGVzdHMgYnVpbGRzIHVwIGEgIndoaXRl
bGlzdCIgb2YgdGVzdHMgdG8gcnVuLCBhbmQgcGFzc2VzIHRoYXQgdG8gRHVtcFJlbmRlclRyZWUu
CisgICAgICAgICMgcnVuLWNocm9taXVtLXdlYmtpdC10ZXN0cyBhc3N1bWVzIHdlIHJ1biAqYWxs
KiB0ZXN0cyBhbmQgdGVzdF9leHBlY3RhdGlvbnMudHh0IGZ1bmN0aW9ucyBhcyBhIGJsYWNrbGlz
dC4KKyAgICAgICAgIyBGSVhNRTogVGhpcyBsaXN0IGNvdWxkIGJlIGR5bmFtaWMgYmFzZWQgb24g
cGxhdGZvcm0gbmFtZSBhbmQgcHVzaGVkIGludG8gYmFzZS5Qb3J0LgorICAgICAgICByZXR1cm4g
WworICAgICAgICAgICAgInBsYXRmb3JtL2Nocm9taXVtIiwKKyAgICAgICAgICAgICJwbGF0Zm9y
bS9ndGsiLAorICAgICAgICAgICAgInBsYXRmb3JtL3F0IiwKKyAgICAgICAgICAgICJwbGF0Zm9y
bS93aW4iLAorICAgICAgICBdCisKKyAgICBkZWYgX3Rlc3RzX2Zvcl9kaXNhYmxlZF9mZWF0dXJl
cyhzZWxmKToKKyAgICAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIHRoZSBmZWF0dXJlIGRl
dGVjdGlvbiBmcm9tIHdlYmtpdHBlcmwvZmVhdHVyZXMucG0gdG8gbWF0Y2ggcnVuLXdlYmtpdC10
ZXN0cy4KKyAgICAgICAgIyBGb3Igbm93IHdlIGhhcmQtY29kZSBhIGxpc3Qgb2YgZmVhdHVyZXMg
a25vd24gdG8gYmUgZGlzYWJsZWQgb24gdGhlIE1hYyBwbGF0Zm9ybS4KKyAgICAgICAgZGlzYWJs
ZWRfZmVhdHVyZV90ZXN0cyA9IFsKKyAgICAgICAgICAgICJmYXN0L3hodG1sbXAiLAorICAgICAg
ICAgICAgImh0dHAvdGVzdHMvd21sIiwKKyAgICAgICAgICAgICJtYXRobWwiLAorICAgICAgICAg
ICAgIndtbCIsCisgICAgICAgIF0KKyAgICAgICAgIyBGSVhNRTogRmlndXJlIG91dCBob3cgdG8g
aGFuZGxlIHdlYmFyY2hpdmUgdGVzdHMuICBDdXJyZW50bHkgd2UncmUgc2tpcHBpbmcgdGhlbS4K
KyAgICAgICAgd2ViYXJjaGl2ZV90ZXN0cyA9IFsKKyAgICAgICAgICAgICJ3ZWJhcmNoaXZlIiwK
KyAgICAgICAgICAgICJzdmcvd2ViYXJjaGl2ZSIsCisgICAgICAgICAgICAiaHR0cC90ZXN0cy93
ZWJhcmNoaXZlIiwKKyAgICAgICAgICAgICJzdmcvY3VzdG9tL2ltYWdlLXdpdGgtcHJlZml4LWlu
LXdlYmFyY2hpdmUuc3ZnIiwKKyAgICAgICAgXQorICAgICAgICByZXR1cm4gZGlzYWJsZWRfZmVh
dHVyZV90ZXN0cyArIHdlYmFyY2hpdmVfdGVzdHMKKworICAgIGRlZiBfdGVzdHNfZnJvbV9za2lw
cGVkX2ZpbGUoc2VsZiwgc2tpcHBlZF9maWxlKToKKyAgICAgICAgdGVzdHNfdG9fc2tpcCA9IFtd
CisgICAgICAgIGZvciBsaW5lIGluIHNraXBwZWRfZmlsZS5yZWFkbGluZXMoKToKKyAgICAgICAg
ICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgn
IycpIG9yIG5vdCBsZW4obGluZSk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAg
ICAgIHRlc3RzX3RvX3NraXAuYXBwZW5kKGxpbmUpCisgICAgICAgIHJldHVybiB0ZXN0c190b19z
a2lwCisKKyAgICBkZWYgX2V4cGVjdGF0aW9uc19mcm9tX3NraXBwZWRfZmlsZXMoc2VsZik6Cisg
ICAgICAgIHRlc3RzX3RvX3NraXAgPSBbXQorICAgICAgICBmb3IgZmlsZW5hbWUgaW4gc2VsZi5f
c2tpcHBlZF9maWxlX3BhdGhzKCk6CisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMo
ZmlsZW5hbWUpOgorICAgICAgICAgICAgICAgIGxvZ2dpbmcud2FybigiRmFpbGVkIHRvIG9wZW4g
U2tpcHBlZCBmaWxlOiAlcyIgJSBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZQor
ICAgICAgICAgICAgc2tpcHBlZF9maWxlID0gZmlsZShmaWxlbmFtZSkKKyAgICAgICAgICAgIHRl
c3RzX3RvX3NraXAuZXh0ZW5kKHNlbGYuX3Rlc3RzX2Zyb21fc2tpcHBlZF9maWxlKHNraXBwZWRf
ZmlsZSkpCisgICAgICAgICAgICBza2lwcGVkX2ZpbGUuY2xvc2UoKQorICAgICAgICByZXR1cm4g
dGVzdHNfdG9fc2tpcAorCiAgICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zKHNlbGYpOgotICAgICAg
ICAjCiAgICAgICAgICMgVGhlIFdlYktpdCBtYWMgcG9ydCB1c2VzICdTa2lwcGVkJyBmaWxlcyBh
dCB0aGUgbW9tZW50LiBFYWNoCiAgICAgICAgICMgZmlsZSBjb250YWlucyBhIGxpc3Qgb2YgZmls
ZXMgb3IgZGlyZWN0b3JpZXMgdG8gYmUgc2tpcHBlZCBkdXJpbmcKICAgICAgICAgIyB0aGUgdGVz
dCBydW4uIFRoZSB0b3RhbCBsaXN0IG9mIHRlc3RzIHRvIHNraXBwZWQgaXMgZ2l2ZW4gYnkgdGhl
CkBAIC0xMTIsNDQgKzE3MCwxMSBAQCBjbGFzcyBNYWNQb3J0KGJhc2UuUG9ydCk6CiAgICAgICAg
ICMgYSB2ZXJzaW9uLXNwZWNpZmljIGZpbGUgZm91bmQgaW4gcGxhdGZvcm0vWC12ZXJzaW9uLiBE
dXBsaWNhdGUKICAgICAgICAgIyBlbnRyaWVzIGFyZSBhbGxvd2VkLiBUaGlzIHJvdXRpbmUgcmVh
ZHMgdGhvc2UgZmlsZXMgYW5kIHR1cm5zCiAgICAgICAgICMgY29udGVudHMgaW50byB0aGUgZm9y
bWF0IGV4cGVjdGVkIGJ5IHRlc3RfZXhwZWN0YXRpb25zLgotICAgICAgICBleHBlY3RhdGlvbnMg
PSBbXQotICAgICAgICBza2lwcGVkX2ZpbGVzID0gW10KLSAgICAgICAgaWYgc2VsZi5fbmFtZSBp
biAoJ21hYy10aWdlcicsICdtYWMtbGVvcGFyZCcsICdtYWMtc25vd2xlb3BhcmQnKToKLSAgICAg
ICAgICAgIHNraXBwZWRfZmlsZXMuYXBwZW5kKG9zLnBhdGguam9pbigKLSAgICAgICAgICAgICAg
ICBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aChzZWxmLl9uYW1lKSwgJ1NraXBwZWQnKSkKLSAg
ICAgICAgc2tpcHBlZF9maWxlcy5hcHBlbmQob3MucGF0aC5qb2luKHNlbGYuX3dlYmtpdF9iYXNl
bGluZV9wYXRoKCdtYWMnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdTa2lwcGVkJykpCi0gICAgICAgIGZvciBmaWxlbmFtZSBpbiBza2lwcGVkX2ZpbGVzOgot
ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZmlsZW5hbWUpOgotICAgICAgICAgICAgICAg
IGYgPSBmaWxlKGZpbGVuYW1lKQotICAgICAgICAgICAgICAgIGZvciBsIGluIGYucmVhZGxpbmVz
KCk6Ci0gICAgICAgICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKLSAgICAgICAgICAgICAgICAg
ICAgaWYgbm90IGwuc3RhcnRzd2l0aCgnIycpIGFuZCBsZW4obCk6Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBsID0gJ0JVR19TS0lQUEVEIFNLSVAgOiAnICsgbCArICcgPSBGQUlMJwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgbCBub3QgaW4gZXhwZWN0YXRpb25zOgotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQobCkKLSAgICAgICAgICAgICAgICBm
LmNsb3NlKCkKLQotICAgICAgICAjIFRPRE8gLSBmaWd1cmUgb3V0IGhvdyB0byBjaGVjayBmb3Ig
dGhlc2UgZHluYW1pY2FsbHkKLSAgICAgICAgZXhwZWN0YXRpb25zLmFwcGVuZCgnQlVHX1NLSVBQ
RUQgU0tJUCA6IGZhc3Qvd2NzcyA9IEZBSUwnKQotICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5k
KCdCVUdfU0tJUFBFRCBTS0lQIDogZmFzdC94aHRtbG1wID0gRkFJTCcpCi0gICAgICAgIGV4cGVj
dGF0aW9ucy5hcHBlbmQoJ0JVR19TS0lQUEVEIFNLSVAgOiBodHRwL3Rlc3RzL3dtbCA9IEZBSUwn
KQotICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5kKCdCVUdfU0tJUFBFRCBTS0lQIDogbWF0aG1s
ID0gRkFJTCcpCi0gICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQoJ0JVR19TS0lQUEVEIFNLSVAg
OiBwbGF0Zm9ybS9jaHJvbWl1bSA9IEZBSUwnKQotICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5k
KCdCVUdfU0tJUFBFRCBTS0lQIDogcGxhdGZvcm0vZ3RrID0gRkFJTCcpCi0gICAgICAgIGV4cGVj
dGF0aW9ucy5hcHBlbmQoJ0JVR19TS0lQUEVEIFNLSVAgOiBwbGF0Zm9ybS9xdCA9IEZBSUwnKQot
ICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5kKCdCVUdfU0tJUFBFRCBTS0lQIDogcGxhdGZvcm0v
d2luID0gRkFJTCcpCi0gICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQoJ0JVR19TS0lQUEVEIFNL
SVAgOiB3bWwgPSBGQUlMJykKLQotICAgICAgICAjIFRPRE8gLSBmaWd1cmUgb3V0IGhvdyB0byBo
YW5kbGUgd2ViYXJjaGl2ZSB0ZXN0cwotICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5kKCdCVUdf
U0tJUFBFRCBTS0lQIDogd2ViYXJjaGl2ZSA9IFBBU1MnKQotICAgICAgICBleHBlY3RhdGlvbnMu
YXBwZW5kKCdCVUdfU0tJUFBFRCBTS0lQIDogc3ZnL3dlYmFyY2hpdmUgPSBQQVNTJykKLSAgICAg
ICAgZXhwZWN0YXRpb25zLmFwcGVuZCgnQlVHX1NLSVBQRUQgU0tJUCA6IGh0dHAvdGVzdHMvd2Vi
YXJjaGl2ZSA9IFBBU1MnKQotICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5kKCdCVUdfU0tJUFBF
RCBTS0lQIDogc3ZnL2N1c3RvbS8nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltYWdl
LXdpdGgtcHJlZml4LWluLXdlYmFyY2hpdmUuc3ZnID0gUEFTUycpCi0KLSAgICAgICAgZXhwZWN0
YXRpb25zX3N0ciA9ICdcbicuam9pbihleHBlY3RhdGlvbnMpCi0gICAgICAgIHJldHVybiBleHBl
Y3RhdGlvbnNfc3RyCisgICAgICAgIHRlc3RzX3RvX3NraXAgPSBzZXQoc2VsZi5fZXhwZWN0YXRp
b25zX2Zyb21fc2tpcHBlZF9maWxlcygpKSAjIFVzZSBhIHNldCB0byBhbGxvdyBkdXBsaWNhdGVz
CisgICAgICAgIHRlc3RzX3RvX3NraXAudXBkYXRlKHNlbGYuX3Rlc3RzX2Zvcl9vdGhlcl9wbGF0
Zm9ybXMoKSkKKyAgICAgICAgdGVzdHNfdG9fc2tpcC51cGRhdGUoc2VsZi5fdGVzdHNfZm9yX2Rp
c2FibGVkX2ZlYXR1cmVzKCkpCisgICAgICAgIGV4cGVjdGF0aW9ucyA9IG1hcChsYW1iZGEgdGVz
dF9wYXRoOiAiQlVHX1NLSVBQRUQgU0tJUCA6ICVzID0gRkFJTCIgJSB0ZXN0X3BhdGgsIHRlc3Rz
X3RvX3NraXApCisgICAgICAgIHJldHVybiAiXG4iLmpvaW4oZXhwZWN0YXRpb25zKQogCiAgICAg
ZGVmIHRlc3RfcGxhdGZvcm1fbmFtZShzZWxmKToKICAgICAgICAgIyBBdCB0aGUgbW9tZW50IHdl
IGRvbid0IHVzZSB0ZXN0IHBsYXRmb3JtIG5hbWVzLCBidXQgd2UgaGF2ZQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWNfdW5pdHRl
c3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21h
Y191bml0dGVzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDdhNGE0
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9tYWNfdW5pdHRlc3QucHkKQEAgLTAsMCArMSw2NiBAQAorIyBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IG1hYworaW1wb3J0IFN0cmluZ0lPCisKK2NsYXNz
IE1hY1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3Rfc2tpcHBlZF9maWxl
X3BhdGhzKHNlbGYpOgorICAgICAgICBwb3J0ID0gbWFjLk1hY1BvcnQoKQorICAgICAgICBza2lw
cGVkX3BhdGhzID0gcG9ydC5fc2tpcHBlZF9maWxlX3BhdGhzKCkKKyAgICAgICAgIyBGSVhNRTog
X3NraXBwZWRfZmlsZV9wYXRocyBzaG91bGQgcmV0dXJuIFdlYktpdC1yZWxhdGl2ZSBwYXRocy4K
KyAgICAgICAgIyBTbyB0byBtYWtlIGl0IHVuaXQgdGVzdGFibGUsIHdlIHN0cmlwIHRoZSBXZWJL
aXQgZGlyZWN0b3J5IGZyb20gdGhlIHBhdGguCisgICAgICAgIHJlbGF0aXZlX3BhdGhzID0gW3Bh
dGhbbGVuKHBvcnQucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCkpOl0gZm9yIHBhdGggaW4gc2tpcHBl
ZF9wYXRoc10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWxhdGl2ZV9wYXRocywgWydMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVkJywgJ0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkJ10pCisKKyAgICBleGFtcGxlX3NraXBwZWRfZmlsZSA9ICIiIgorIyA8
cmRhcjovL3Byb2JsZW0vNTY0Nzk1Mj4gZmFzdC9ldmVudHMvbW91c2VvdXQtb24td2luZG93Lmh0
bWwgbmVlZHMgbWFjIERSVCB0byBpc3N1ZSBtb3VzZSBvdXQgZXZlbnRzCitmYXN0L2V2ZW50cy9t
b3VzZW91dC1vbi13aW5kb3cuaHRtbAorCisjIDxyZGFyOi8vcHJvYmxlbS81NjQzNjc1PiB3aW5k
b3cuc2Nyb2xsVG8gc2Nyb2xscyBhIHdpbmRvdyB3aXRoIG5vIHNjcm9sbGJhcnMKK2Zhc3QvZXZl
bnRzL2F0dGVtcHQtc2Nyb2xsLXdpdGgtbm8tc2Nyb2xsYmFycy5odG1sCisKKyMgc2VlIGJ1ZyA8
cmRhcjovL3Byb2JsZW0vNTY0NjQzNz4gUkVHUkVTU0lPTiAocjI4MDE1KTogc3ZnL2JhdGlrL3Rl
eHQvc21hbGxGb250cyBmYWlscworc3ZnL2JhdGlrL3RleHQvc21hbGxGb250cy5zdmcKKyIiIgor
ICAgIGV4YW1wbGVfc2tpcHBlZF90ZXN0cyA9IFsKKyAgICAgICAgImZhc3QvZXZlbnRzL21vdXNl
b3V0LW9uLXdpbmRvdy5odG1sIiwKKyAgICAgICAgImZhc3QvZXZlbnRzL2F0dGVtcHQtc2Nyb2xs
LXdpdGgtbm8tc2Nyb2xsYmFycy5odG1sIiwKKyAgICAgICAgInN2Zy9iYXRpay90ZXh0L3NtYWxs
Rm9udHMuc3ZnIiwKKyAgICBdCisKKyAgICBkZWYgdGVzdF9za2lwcGVkX2ZpbGVfcGF0aHMoc2Vs
Zik6CisgICAgICAgIHBvcnQgPSBtYWMuTWFjUG9ydCgpCisgICAgICAgIHNraXBwZWRfZmlsZSA9
IFN0cmluZ0lPLlN0cmluZ0lPKHNlbGYuZXhhbXBsZV9za2lwcGVkX2ZpbGUpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwocG9ydC5fdGVzdHNfZnJvbV9za2lwcGVkX2ZpbGUoc2tpcHBlZF9maWxl
KSwgc2VsZi5leGFtcGxlX3NraXBwZWRfdGVzdHMpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFp
bl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48828</attachid>
            <date>2010-02-16 14:01:40 -0800</date>
            <delta_ts>2010-02-16 14:08:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34986-20100216140138.patch</filename>
            <type>text/plain</type>
            <size>11198</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA0Zjc5NTU5Li41MDNmOWNhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDIt
MTYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHJlLWZhY3RvciBTa2lwcGVkIGxpc3QgcGFyc2lu
ZyBjb2RlIGludG8gbXVsdGlwbGUgZnVuY3Rpb25zIGFuZCB1bml0IHRlc3QgaXQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0OTg2CisKKyAgICAgICAg
KiBTY3JpcHRzL3Rlc3Qtd2Via2l0cHk6IEFkZCBuZXcgdW5pdCB0ZXN0LgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL19faW5pdF9fLnB5OiBDb3BpZWQgZnJvbSBXZWJL
aXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9maWx0ZXJzL19faW5pdF9fLnB5LgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5OiBTcGxpdCBwYXJzaW5n
IGZ1bmN0aW9uIGludG8gbXVsdGlwbGUgZnVuY3Rpb25zIGZvciB0ZXN0aW5nLgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjX3VuaXR0ZXN0LnB5OiBBZGRl
ZC4KKwogMjAxMC0wMi0xNiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
U2NyaXB0cy90ZXN0LXdlYmtpdHB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
CmluZGV4IGNmZDM0MzQuLjg2MTczMzAgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
dGVzdC13ZWJraXRweQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKQEAg
LTQ0LDYgKzQ0LDcgQEAgZnJvbSB3ZWJraXRweS5jcmVkZW50aWFsc191bml0dGVzdCBpbXBvcnQg
KgogZnJvbSB3ZWJraXRweS5kaWZmX3BhcnNlcl91bml0dGVzdCBpbXBvcnQgKgogZnJvbSB3ZWJr
aXRweS5leGVjdXRpdmVfdW5pdHRlc3QgaW1wb3J0ICoKIGZyb20gd2Via2l0cHkuZ3JhbW1hcl91
bml0dGVzdCBpbXBvcnQgKgorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5tYWNfdW5p
dHRlc3QgaW1wb3J0ICoKIGZyb20gd2Via2l0cHkubXVsdGljb21tYW5kdG9vbF91bml0dGVzdCBp
bXBvcnQgKgogZnJvbSB3ZWJraXRweS5uZXR3b3JrdHJhbnNhY3Rpb25fdW5pdHRlc3QgaW1wb3J0
ICoKIGZyb20gd2Via2l0cHkucGF0Y2hjb2xsZWN0aW9uX3VuaXR0ZXN0IGltcG9ydCAqCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9fX2luaXRf
Xy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL19faW5pdF9f
LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmNjViZWUKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9fX2lu
aXRfXy5weQpAQCAtMCwwICsxIEBACisjIFJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRo
aXMgZGlyZWN0b3J5IGZvciBtb2R1bGUgZmlsZXMKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFjLnB5IGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKaW5kZXggMWU1N2NkMi4uZWNk
NzY4ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9tYWMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9tYWMucHkKQEAgLTEwMyw4ICsxMDMsNjcgQEAgY2xhc3MgTWFjUG9ydChiYXNl
LlBvcnQpOgogICAgICAgICAjIHRvIHJldHVybiBzb21ldGhpbmcuCiAgICAgICAgIHJldHVybiAo
J21hYycsKQogCisgICAgZGVmIF9za2lwcGVkX2ZpbGVfcGF0aHMoc2VsZik6CisgICAgICAgICMg
VGhpcyBtZXRob2Qgd2lsbCBuZWVkIHRvIGJlIG1hZGUgd29yayBmb3Igbm9uLW1hYyBwbGF0Zm9y
bXMgYW5kIG1vdmVkIGludG8gYmFzZS5Qb3J0LgorICAgICAgICBza2lwcGVkX2ZpbGVzID0gW10K
KyAgICAgICAgaWYgc2VsZi5fbmFtZSBpbiAoJ21hYy10aWdlcicsICdtYWMtbGVvcGFyZCcsICdt
YWMtc25vd2xlb3BhcmQnKToKKyAgICAgICAgICAgIHNraXBwZWRfZmlsZXMuYXBwZW5kKG9zLnBh
dGguam9pbigKKyAgICAgICAgICAgICAgICBzZWxmLl93ZWJraXRfYmFzZWxpbmVfcGF0aChzZWxm
Ll9uYW1lKSwgJ1NraXBwZWQnKSkKKyAgICAgICAgc2tpcHBlZF9maWxlcy5hcHBlbmQob3MucGF0
aC5qb2luKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoKCdtYWMnKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTa2lwcGVkJykpCisgICAgICAgIHJldHVybiBz
a2lwcGVkX2ZpbGVzCisKKyAgICBkZWYgX3Rlc3RzX2Zvcl9vdGhlcl9wbGF0Zm9ybXMoc2VsZik6
CisgICAgICAgICMgVGhlIG9yaWdpbmFsIHJ1bi13ZWJraXQtdGVzdHMgYnVpbGRzIHVwIGEgIndo
aXRlbGlzdCIgb2YgdGVzdHMgdG8gcnVuLCBhbmQgcGFzc2VzIHRoYXQgdG8gRHVtcFJlbmRlclRy
ZWUuCisgICAgICAgICMgcnVuLWNocm9taXVtLXdlYmtpdC10ZXN0cyBhc3N1bWVzIHdlIHJ1biAq
YWxsKiB0ZXN0cyBhbmQgdGVzdF9leHBlY3RhdGlvbnMudHh0IGZ1bmN0aW9ucyBhcyBhIGJsYWNr
bGlzdC4KKyAgICAgICAgIyBGSVhNRTogVGhpcyBsaXN0IGNvdWxkIGJlIGR5bmFtaWMgYmFzZWQg
b24gcGxhdGZvcm0gbmFtZSBhbmQgcHVzaGVkIGludG8gYmFzZS5Qb3J0LgorICAgICAgICByZXR1
cm4gWworICAgICAgICAgICAgInBsYXRmb3JtL2Nocm9taXVtIiwKKyAgICAgICAgICAgICJwbGF0
Zm9ybS9ndGsiLAorICAgICAgICAgICAgInBsYXRmb3JtL3F0IiwKKyAgICAgICAgICAgICJwbGF0
Zm9ybS93aW4iLAorICAgICAgICBdCisKKyAgICBkZWYgX3Rlc3RzX2Zvcl9kaXNhYmxlZF9mZWF0
dXJlcyhzZWxmKToKKyAgICAgICAgIyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIHRoZSBmZWF0dXJl
IGRldGVjdGlvbiBmcm9tIHdlYmtpdHBlcmwvZmVhdHVyZXMucG0gdG8gbWF0Y2ggcnVuLXdlYmtp
dC10ZXN0cy4KKyAgICAgICAgIyBGb3Igbm93IHdlIGhhcmQtY29kZSBhIGxpc3Qgb2YgZmVhdHVy
ZXMga25vd24gdG8gYmUgZGlzYWJsZWQgb24gdGhlIE1hYyBwbGF0Zm9ybS4KKyAgICAgICAgZGlz
YWJsZWRfZmVhdHVyZV90ZXN0cyA9IFsKKyAgICAgICAgICAgICJmYXN0L3hodG1sbXAiLAorICAg
ICAgICAgICAgImh0dHAvdGVzdHMvd21sIiwKKyAgICAgICAgICAgICJtYXRobWwiLAorICAgICAg
ICAgICAgIndtbCIsCisgICAgICAgIF0KKyAgICAgICAgIyBGSVhNRTogd2ViYXJjaGl2ZSB0ZXN0
cyBleHBlY3QgdG8gcmVhZC13cml0ZSBmcm9tIC1leHBlY3RlZC53ZWJhcmNoaXZlIGZpbGVzIGlu
c3RlYWQgb2YgLnR4dCBmaWxlcy4KKyAgICAgICAgIyBUaGlzIHNjcmlwdCBkb2Vzbid0IGtub3cg
aG93IHRvIGRvIHRoYXQgeWV0LCBzbyBwcmV0ZW5kIHRoZXkncmUganVzdCAiZGlzYWJsZWQiLgor
ICAgICAgICB3ZWJhcmNoaXZlX3Rlc3RzID0gWworICAgICAgICAgICAgIndlYmFyY2hpdmUiLAor
ICAgICAgICAgICAgInN2Zy93ZWJhcmNoaXZlIiwKKyAgICAgICAgICAgICJodHRwL3Rlc3RzL3dl
YmFyY2hpdmUiLAorICAgICAgICAgICAgInN2Zy9jdXN0b20vaW1hZ2Utd2l0aC1wcmVmaXgtaW4t
d2ViYXJjaGl2ZS5zdmciLAorICAgICAgICBdCisgICAgICAgIHJldHVybiBkaXNhYmxlZF9mZWF0
dXJlX3Rlc3RzICsgd2ViYXJjaGl2ZV90ZXN0cworCisgICAgZGVmIF90ZXN0c19mcm9tX3NraXBw
ZWRfZmlsZShzZWxmLCBza2lwcGVkX2ZpbGUpOgorICAgICAgICB0ZXN0c190b19za2lwID0gW10K
KyAgICAgICAgZm9yIGxpbmUgaW4gc2tpcHBlZF9maWxlLnJlYWRsaW5lcygpOgorICAgICAgICAg
ICAgbGluZSA9IGxpbmUuc3RyaXAoKQorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCcj
Jykgb3Igbm90IGxlbihsaW5lKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAg
ICAgdGVzdHNfdG9fc2tpcC5hcHBlbmQobGluZSkKKyAgICAgICAgcmV0dXJuIHRlc3RzX3RvX3Nr
aXAKKworICAgIGRlZiBfZXhwZWN0YXRpb25zX2Zyb21fc2tpcHBlZF9maWxlcyhzZWxmKToKKyAg
ICAgICAgdGVzdHNfdG9fc2tpcCA9IFtdCisgICAgICAgIGZvciBmaWxlbmFtZSBpbiBzZWxmLl9z
a2lwcGVkX2ZpbGVfcGF0aHMoKToKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhm
aWxlbmFtZSk6CisgICAgICAgICAgICAgICAgbG9nZ2luZy53YXJuKCJGYWlsZWQgdG8gb3BlbiBT
a2lwcGVkIGZpbGU6ICVzIiAlIGZpbGVuYW1lKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisg
ICAgICAgICAgICBza2lwcGVkX2ZpbGUgPSBmaWxlKGZpbGVuYW1lKQorICAgICAgICAgICAgdGVz
dHNfdG9fc2tpcC5leHRlbmQoc2VsZi5fdGVzdHNfZnJvbV9za2lwcGVkX2ZpbGUoc2tpcHBlZF9m
aWxlKSkKKyAgICAgICAgICAgIHNraXBwZWRfZmlsZS5jbG9zZSgpCisgICAgICAgIHJldHVybiB0
ZXN0c190b19za2lwCisKICAgICBkZWYgdGVzdF9leHBlY3RhdGlvbnMoc2VsZik6Ci0gICAgICAg
ICMKICAgICAgICAgIyBUaGUgV2ViS2l0IG1hYyBwb3J0IHVzZXMgJ1NraXBwZWQnIGZpbGVzIGF0
IHRoZSBtb21lbnQuIEVhY2gKICAgICAgICAgIyBmaWxlIGNvbnRhaW5zIGEgbGlzdCBvZiBmaWxl
cyBvciBkaXJlY3RvcmllcyB0byBiZSBza2lwcGVkIGR1cmluZwogICAgICAgICAjIHRoZSB0ZXN0
IHJ1bi4gVGhlIHRvdGFsIGxpc3Qgb2YgdGVzdHMgdG8gc2tpcHBlZCBpcyBnaXZlbiBieSB0aGUK
QEAgLTExMiw0NCArMTcxLDExIEBAIGNsYXNzIE1hY1BvcnQoYmFzZS5Qb3J0KToKICAgICAgICAg
IyBhIHZlcnNpb24tc3BlY2lmaWMgZmlsZSBmb3VuZCBpbiBwbGF0Zm9ybS9YLXZlcnNpb24uIER1
cGxpY2F0ZQogICAgICAgICAjIGVudHJpZXMgYXJlIGFsbG93ZWQuIFRoaXMgcm91dGluZSByZWFk
cyB0aG9zZSBmaWxlcyBhbmQgdHVybnMKICAgICAgICAgIyBjb250ZW50cyBpbnRvIHRoZSBmb3Jt
YXQgZXhwZWN0ZWQgYnkgdGVzdF9leHBlY3RhdGlvbnMuCi0gICAgICAgIGV4cGVjdGF0aW9ucyA9
IFtdCi0gICAgICAgIHNraXBwZWRfZmlsZXMgPSBbXQotICAgICAgICBpZiBzZWxmLl9uYW1lIGlu
ICgnbWFjLXRpZ2VyJywgJ21hYy1sZW9wYXJkJywgJ21hYy1zbm93bGVvcGFyZCcpOgotICAgICAg
ICAgICAgc2tpcHBlZF9maWxlcy5hcHBlbmQob3MucGF0aC5qb2luKAotICAgICAgICAgICAgICAg
IHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoKHNlbGYuX25hbWUpLCAnU2tpcHBlZCcpKQotICAg
ICAgICBza2lwcGVkX2ZpbGVzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VsZi5fd2Via2l0X2Jhc2Vs
aW5lX3BhdGgoJ21hYycpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ1NraXBwZWQnKSkKLSAgICAgICAgZm9yIGZpbGVuYW1lIGluIHNraXBwZWRfZmlsZXM6Ci0g
ICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZSk6Ci0gICAgICAgICAgICAgICAg
ZiA9IGZpbGUoZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgZm9yIGwgaW4gZi5yZWFkbGluZXMo
KToKLSAgICAgICAgICAgICAgICAgICAgbCA9IGwuc3RyaXAoKQotICAgICAgICAgICAgICAgICAg
ICBpZiBub3QgbC5zdGFydHN3aXRoKCcjJykgYW5kIGxlbihsKToKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGwgPSAnQlVHX1NLSVBQRUQgU0tJUCA6ICcgKyBsICsgJyA9IEZBSUwnCi0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiBsIG5vdCBpbiBleHBlY3RhdGlvbnM6Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXhwZWN0YXRpb25zLmFwcGVuZChsKQotICAgICAgICAgICAgICAgIGYu
Y2xvc2UoKQotCi0gICAgICAgICMgVE9ETyAtIGZpZ3VyZSBvdXQgaG93IHRvIGNoZWNrIGZvciB0
aGVzZSBkeW5hbWljYWxseQotICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5kKCdCVUdfU0tJUFBF
RCBTS0lQIDogZmFzdC93Y3NzID0gRkFJTCcpCi0gICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQo
J0JVR19TS0lQUEVEIFNLSVAgOiBmYXN0L3hodG1sbXAgPSBGQUlMJykKLSAgICAgICAgZXhwZWN0
YXRpb25zLmFwcGVuZCgnQlVHX1NLSVBQRUQgU0tJUCA6IGh0dHAvdGVzdHMvd21sID0gRkFJTCcp
Ci0gICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQoJ0JVR19TS0lQUEVEIFNLSVAgOiBtYXRobWwg
PSBGQUlMJykKLSAgICAgICAgZXhwZWN0YXRpb25zLmFwcGVuZCgnQlVHX1NLSVBQRUQgU0tJUCA6
IHBsYXRmb3JtL2Nocm9taXVtID0gRkFJTCcpCi0gICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQo
J0JVR19TS0lQUEVEIFNLSVAgOiBwbGF0Zm9ybS9ndGsgPSBGQUlMJykKLSAgICAgICAgZXhwZWN0
YXRpb25zLmFwcGVuZCgnQlVHX1NLSVBQRUQgU0tJUCA6IHBsYXRmb3JtL3F0ID0gRkFJTCcpCi0g
ICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQoJ0JVR19TS0lQUEVEIFNLSVAgOiBwbGF0Zm9ybS93
aW4gPSBGQUlMJykKLSAgICAgICAgZXhwZWN0YXRpb25zLmFwcGVuZCgnQlVHX1NLSVBQRUQgU0tJ
UCA6IHdtbCA9IEZBSUwnKQotCi0gICAgICAgICMgVE9ETyAtIGZpZ3VyZSBvdXQgaG93IHRvIGhh
bmRsZSB3ZWJhcmNoaXZlIHRlc3RzCi0gICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQoJ0JVR19T
S0lQUEVEIFNLSVAgOiB3ZWJhcmNoaXZlID0gUEFTUycpCi0gICAgICAgIGV4cGVjdGF0aW9ucy5h
cHBlbmQoJ0JVR19TS0lQUEVEIFNLSVAgOiBzdmcvd2ViYXJjaGl2ZSA9IFBBU1MnKQotICAgICAg
ICBleHBlY3RhdGlvbnMuYXBwZW5kKCdCVUdfU0tJUFBFRCBTS0lQIDogaHR0cC90ZXN0cy93ZWJh
cmNoaXZlID0gUEFTUycpCi0gICAgICAgIGV4cGVjdGF0aW9ucy5hcHBlbmQoJ0JVR19TS0lQUEVE
IFNLSVAgOiBzdmcvY3VzdG9tLycKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW1hZ2Ut
d2l0aC1wcmVmaXgtaW4td2ViYXJjaGl2ZS5zdmcgPSBQQVNTJykKLQotICAgICAgICBleHBlY3Rh
dGlvbnNfc3RyID0gJ1xuJy5qb2luKGV4cGVjdGF0aW9ucykKLSAgICAgICAgcmV0dXJuIGV4cGVj
dGF0aW9uc19zdHIKKyAgICAgICAgdGVzdHNfdG9fc2tpcCA9IHNldChzZWxmLl9leHBlY3RhdGlv
bnNfZnJvbV9za2lwcGVkX2ZpbGVzKCkpICMgVXNlIGEgc2V0IHRvIGFsbG93IGR1cGxpY2F0ZXMK
KyAgICAgICAgdGVzdHNfdG9fc2tpcC51cGRhdGUoc2VsZi5fdGVzdHNfZm9yX290aGVyX3BsYXRm
b3JtcygpKQorICAgICAgICB0ZXN0c190b19za2lwLnVwZGF0ZShzZWxmLl90ZXN0c19mb3JfZGlz
YWJsZWRfZmVhdHVyZXMoKSkKKyAgICAgICAgZXhwZWN0YXRpb25zID0gbWFwKGxhbWJkYSB0ZXN0
X3BhdGg6ICJCVUdfU0tJUFBFRCBTS0lQIDogJXMgPSBGQUlMIiAlIHRlc3RfcGF0aCwgdGVzdHNf
dG9fc2tpcCkKKyAgICAgICAgcmV0dXJuICJcbiIuam9pbihleHBlY3RhdGlvbnMpCiAKICAgICBk
ZWYgdGVzdF9wbGF0Zm9ybV9uYW1lKHNlbGYpOgogICAgICAgICAjIEF0IHRoZSBtb21lbnQgd2Ug
ZG9uJ3QgdXNlIHRlc3QgcGxhdGZvcm0gbmFtZXMsIGJ1dCB3ZSBoYXZlCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21hY191bml0dGVz
dC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvbWFj
X3VuaXR0ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0N2E0YTQK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L21hY191bml0dGVzdC5weQpAQCAtMCwwICsxLDY2IEBACisjIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgbWFjCitpbXBvcnQgU3RyaW5nSU8KKworY2xhc3Mg
TWFjVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9za2lwcGVkX2ZpbGVf
cGF0aHMoc2VsZik6CisgICAgICAgIHBvcnQgPSBtYWMuTWFjUG9ydCgpCisgICAgICAgIHNraXBw
ZWRfcGF0aHMgPSBwb3J0Ll9za2lwcGVkX2ZpbGVfcGF0aHMoKQorICAgICAgICAjIEZJWE1FOiBf
c2tpcHBlZF9maWxlX3BhdGhzIHNob3VsZCByZXR1cm4gV2ViS2l0LXJlbGF0aXZlIHBhdGhzLgor
ICAgICAgICAjIFNvIHRvIG1ha2UgaXQgdW5pdCB0ZXN0YWJsZSwgd2Ugc3RyaXAgdGhlIFdlYktp
dCBkaXJlY3RvcnkgZnJvbSB0aGUgcGF0aC4KKyAgICAgICAgcmVsYXRpdmVfcGF0aHMgPSBbcGF0
aFtsZW4ocG9ydC5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoKSk6XSBmb3IgcGF0aCBpbiBza2lwcGVk
X3BhdGhzXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlbGF0aXZlX3BhdGhzLCBbJ0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQnLCAnTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQnXSkKKworICAgIGV4YW1wbGVfc2tpcHBlZF9maWxlID0gIiIiCisjIDxy
ZGFyOi8vcHJvYmxlbS81NjQ3OTUyPiBmYXN0L2V2ZW50cy9tb3VzZW91dC1vbi13aW5kb3cuaHRt
bCBuZWVkcyBtYWMgRFJUIHRvIGlzc3VlIG1vdXNlIG91dCBldmVudHMKK2Zhc3QvZXZlbnRzL21v
dXNlb3V0LW9uLXdpbmRvdy5odG1sCisKKyMgPHJkYXI6Ly9wcm9ibGVtLzU2NDM2NzU+IHdpbmRv
dy5zY3JvbGxUbyBzY3JvbGxzIGEgd2luZG93IHdpdGggbm8gc2Nyb2xsYmFycworZmFzdC9ldmVu
dHMvYXR0ZW1wdC1zY3JvbGwtd2l0aC1uby1zY3JvbGxiYXJzLmh0bWwKKworIyBzZWUgYnVnIDxy
ZGFyOi8vcHJvYmxlbS81NjQ2NDM3PiBSRUdSRVNTSU9OIChyMjgwMTUpOiBzdmcvYmF0aWsvdGV4
dC9zbWFsbEZvbnRzIGZhaWxzCitzdmcvYmF0aWsvdGV4dC9zbWFsbEZvbnRzLnN2ZworIiIiCisg
ICAgZXhhbXBsZV9za2lwcGVkX3Rlc3RzID0gWworICAgICAgICAiZmFzdC9ldmVudHMvbW91c2Vv
dXQtb24td2luZG93Lmh0bWwiLAorICAgICAgICAiZmFzdC9ldmVudHMvYXR0ZW1wdC1zY3JvbGwt
d2l0aC1uby1zY3JvbGxiYXJzLmh0bWwiLAorICAgICAgICAic3ZnL2JhdGlrL3RleHQvc21hbGxG
b250cy5zdmciLAorICAgIF0KKworICAgIGRlZiB0ZXN0X3NraXBwZWRfZmlsZV9wYXRocyhzZWxm
KToKKyAgICAgICAgcG9ydCA9IG1hYy5NYWNQb3J0KCkKKyAgICAgICAgc2tpcHBlZF9maWxlID0g
U3RyaW5nSU8uU3RyaW5nSU8oc2VsZi5leGFtcGxlX3NraXBwZWRfZmlsZSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChwb3J0Ll90ZXN0c19mcm9tX3NraXBwZWRfZmlsZShza2lwcGVkX2ZpbGUp
LCBzZWxmLmV4YW1wbGVfc2tpcHBlZF90ZXN0cykKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>
<flag name="review"
          id="31562"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>