<?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>59953</bug_id>
          
          <creation_ts>2011-05-02 12:12:58 -0700</creation_ts>
          <short_desc>Port Mozilla&apos;s IndexedDB tests: adding and removing values</short_desc>
          <delta_ts>2011-05-02 18:51:43 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>pilgrim</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>396539</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 12:12:58 -0700</bug_when>
    <thetext>Original test: http://mxr.mozilla.org/mozilla2.0/source/dom/indexedDB/test/test_objectStore_remove_values.html?raw=1

This is a port of a test from Mozilla&apos;s IndexedDB test suite. It adds, gets, deletes, and re-gets a record in a variety of different object store configurations.

WebKit passes this test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396540</commentid>
    <comment_count>1</comment_count>
      <attachid>91954</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 12:15:04 -0700</bug_when>
    <thetext>Created attachment 91954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396553</commentid>
    <comment_count>2</comment_count>
      <attachid>91954</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-05-02 12:30:25 -0700</bug_when>
    <thetext>Comment on attachment 91954
Patch

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

&gt; LayoutTests/storage/indexeddb/mozilla/object-store-remove-values.html:20
&gt; +description(&quot;Test IndexedDB&apos;s creating and deleting indexes&quot;);

Is this description correct?  I would just use the text from comment 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396604</commentid>
    <comment_count>3</comment_count>
      <attachid>91969</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 13:35:19 -0700</bug_when>
    <thetext>Created attachment 91969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396605</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 13:35:48 -0700</bug_when>
    <thetext>Fixed description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396618</commentid>
    <comment_count>5</comment_count>
      <attachid>91973</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 13:45:25 -0700</bug_when>
    <thetext>Created attachment 91973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396619</commentid>
    <comment_count>6</comment_count>
      <attachid>91973</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 13:46:44 -0700</bug_when>
    <thetext>Comment on attachment 91973
Patch

webkit-patch screwed up and attached a patch to the wrong bug, hang on a second.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396633</commentid>
    <comment_count>7</comment_count>
      <attachid>91976</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-05-02 13:57:32 -0700</bug_when>
    <thetext>Created attachment 91976
Updated test description

This is the correct patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396888</commentid>
    <comment_count>8</comment_count>
      <attachid>91976</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-02 18:51:38 -0700</bug_when>
    <thetext>Comment on attachment 91976
Updated test description

Clearing flags on attachment: 91976

Committed r85574: &lt;http://trac.webkit.org/changeset/85574&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396889</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-02 18:51:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91954</attachid>
            <date>2011-05-02 12:15:04 -0700</date>
            <delta_ts>2011-05-02 13:35:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59953-20110502151501.patch</filename>
            <type>text/plain</type>
            <size>8437</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg1NTAxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMDIgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogYWRkaW5nIGFuZCBy
ZW1vdmluZyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU5OTUzCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVj
dC1zdG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sOiBB
ZGRlZC4KKwogMjAxMS0wNS0wMiAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1z
dG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgwIEBACitUZXN0IEluZGV4ZWRE
QidzIGNyZWF0aW5nIGFuZCBkZWxldGluZyBpbmRleGVzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJ
bmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsKK1BBU1MgaW5kZXhlZERCID09IG51bGwg
aXMgZmFsc2UKK2luZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKQorZGIgPSBldmVudC50
YXJnZXQucmVzdWx0CitkYXRhID0gWworICAgICAgICB7IG5hbWU6ICdpbmxpbmUga2V5OyBrZXkg
Z2VuZXJhdG9yJywKKyAgICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlLAorICAgICAgICAgIHN0
b3JlZE9iamVjdDoge25hbWU6ICdMaW5jb2xuJ30sCisgICAgICAgICAga2V5TmFtZTogJ2lkJywK
KyAgICAgICAgICBrZXlWYWx1ZTogdW5kZWZpbmVkLAorICAgICAgICB9LAorICAgICAgICB7IG5h
bWU6ICdpbmxpbmUga2V5OyBubyBrZXkgZ2VuZXJhdG9yJywKKyAgICAgICAgICBhdXRvSW5jcmVt
ZW50OiBmYWxzZSwKKyAgICAgICAgICBzdG9yZWRPYmplY3Q6IHtpZDogMSwgbmFtZTogJ0xpbmNv
bG4nfSwKKyAgICAgICAgICBrZXlOYW1lOiAnaWQnLAorICAgICAgICAgIGtleVZhbHVlOiB1bmRl
ZmluZWQsCisgICAgICAgIH0sCisgICAgICAgIHsgbmFtZTogJ291dCBvZiBsaW5lIGtleTsga2V5
IGdlbmVyYXRvcicsCisgICAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1ZSwKKyAgICAgICAgICBz
dG9yZWRPYmplY3Q6IHtuYW1lOiAnTGluY29sbid9LAorICAgICAgICAgIGtleU5hbWU6IHVuZGVm
aW5lZCwKKyAgICAgICAgICBrZXlWYWx1ZTogdW5kZWZpbmVkLAorICAgICAgICB9LAorICAgICAg
ICB7IG5hbWU6ICdvdXQgb2YgbGluZSBrZXk7IG5vIGtleSBnZW5lcmF0b3InLAorICAgICAgICAg
IGF1dG9JbmNyZW1lbnQ6IGZhbHNlLAorICAgICAgICAgIHN0b3JlZE9iamVjdDoge25hbWU6ICdM
aW5jb2xuJ30sCisgICAgICAgICAga2V5TmFtZTogdW5kZWZpbmVkLAorICAgICAgICAgIGtleVZh
bHVlOiAxLAorICAgICAgICB9CisgICAgXTsKK2kgPSAwOworcmVxdWVzdCA9IGRiLnNldFZlcnNp
b24oJzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3Jl
YXRlT2JqZWN0U3RvcmUodGVzdC5uYW1lLCB7IGtleVBhdGg6IHRlc3Qua2V5TmFtZSwgYXV0b0lu
Y3JlbWVudDogdGVzdC5hdXRvSW5jcmVtZW50IH0pOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFk
ZCh0ZXN0LnN0b3JlZE9iamVjdCk7CitpZCA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CityZXF1ZXN0
ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsKK1BBU1MgdGVzdC5zdG9yZWRPYmplY3QubmFtZSBpcyBl
dmVudC50YXJnZXQucmVzdWx0Lm5hbWUKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5kZWxldGUoaWQp
OworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmdldChpZCk7CitQQVNTIGV2ZW50LnRhcmdldC5yZXN1
bHQgPT09IHVuZGVmaW5lZCBpcyB0cnVlCityZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitE
ZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RT
dG9yZSh0ZXN0Lm5hbWUsIHsga2V5UGF0aDogdGVzdC5rZXlOYW1lLCBhdXRvSW5jcmVtZW50OiB0
ZXN0LmF1dG9JbmNyZW1lbnQgfSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHRlc3Quc3Rv
cmVkT2JqZWN0KTsKK2lkID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK3JlcXVlc3QgPSBvYmplY3RT
dG9yZS5nZXQoaWQpOworUEFTUyB0ZXN0LnN0b3JlZE9iamVjdC5uYW1lIGlzIGV2ZW50LnRhcmdl
dC5yZXN1bHQubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmRlbGV0ZShpZCk7CityZXF1ZXN0
ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gdW5k
ZWZpbmVkIGlzIHRydWUKK3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK0RlbGV0ZWQgYWxs
IG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKHRlc3Qu
bmFtZSwgeyBhdXRvSW5jcmVtZW50OiB0ZXN0LmF1dG9JbmNyZW1lbnQgfSk7CityZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuYWRkKHRlc3Quc3RvcmVkT2JqZWN0KTsKK2lkID0gZXZlbnQudGFyZ2V0LnJl
c3VsdDsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyB0ZXN0LnN0b3JlZE9i
amVjdC5uYW1lIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0
b3JlLmRlbGV0ZShpZCk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsKK1BBU1MgZXZl
bnQudGFyZ2V0LnJlc3VsdCA9PT0gdW5kZWZpbmVkIGlzIHRydWUKK3JlcXVlc3QgPSBkYi5zZXRW
ZXJzaW9uKCcxJykKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKHRlc3QubmFtZSwgeyBhdXRvSW5jcmVtZW50OiB0ZXN0LmF1dG9J
bmNyZW1lbnQgfSk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHRlc3Quc3RvcmVkT2JqZWN0
LCB0ZXN0LmtleVZhbHVlKTsKK2lkID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK3JlcXVlc3QgPSBv
YmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyB0ZXN0LnN0b3JlZE9iamVjdC5uYW1lIGlzIGV2ZW50
LnRhcmdldC5yZXN1bHQubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmRlbGV0ZShpZCk7City
ZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCA9
PT0gdW5kZWZpbmVkIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qtc3RvcmUtcmVtb3ZlLXZhbHVl
cy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9vYmplY3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tCisgIG9yaWdpbmFsIHRlc3Q6IGh0dHA6
Ly9teHIubW96aWxsYS5vcmcvbW96aWxsYTIuMC9zb3VyY2UvZG9tL2luZGV4ZWREQi90ZXN0L3Rl
c3RfcmVtb3ZlX2luZGV4Lmh0bWwKKyAgbGljZW5zZSBvZiBvcmlnaW5hbCB0ZXN0OgorICAgICIg
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgICAgICBo
dHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvICIKKy0tPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3MgY3Jl
YXRpbmcgYW5kIGRlbGV0aW5nIGluZGV4ZXMiKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBpbmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3
aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1veklu
ZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOworCisg
ICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBkZXNjcmlwdGlvbiA9ICJN
eSBUZXN0IERhdGFiYXNlIjsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3Vj
Y2VzczsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30K
KworZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQoreworICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CisKKyAgICBkYXRhID0gZXZhbEFuZExvZygiZGF0YSA9IFtc
biIgKworIiAgICAgICAgeyBuYW1lOiAnaW5saW5lIGtleTsga2V5IGdlbmVyYXRvcicsXG4iICsK
KyIgICAgICAgICAgYXV0b0luY3JlbWVudDogdHJ1ZSxcbiIgKworIiAgICAgICAgICBzdG9yZWRP
YmplY3Q6IHtuYW1lOiAnTGluY29sbid9LFxuIiArCisiICAgICAgICAgIGtleU5hbWU6ICdpZCcs
XG4iICsKKyIgICAgICAgICAga2V5VmFsdWU6IHVuZGVmaW5lZCxcbiIgKworIiAgICAgICAgfSxc
biIgKworIiAgICAgICAgeyBuYW1lOiAnaW5saW5lIGtleTsgbm8ga2V5IGdlbmVyYXRvcicsXG4i
ICsKKyIgICAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UsXG4iICsKKyIgICAgICAgICAgc3Rv
cmVkT2JqZWN0OiB7aWQ6IDEsIG5hbWU6ICdMaW5jb2xuJ30sXG4iICsKKyIgICAgICAgICAga2V5
TmFtZTogJ2lkJyxcbiIgKworIiAgICAgICAgICBrZXlWYWx1ZTogdW5kZWZpbmVkLFxuIiArCisi
ICAgICAgICB9LFxuIiArCisiICAgICAgICB7IG5hbWU6ICdvdXQgb2YgbGluZSBrZXk7IGtleSBn
ZW5lcmF0b3InLFxuIiArCisiICAgICAgICAgIGF1dG9JbmNyZW1lbnQ6IHRydWUsXG4iICsKKyIg
ICAgICAgICAgc3RvcmVkT2JqZWN0OiB7bmFtZTogJ0xpbmNvbG4nfSxcbiIgKworIiAgICAgICAg
ICBrZXlOYW1lOiB1bmRlZmluZWQsXG4iICsKKyIgICAgICAgICAga2V5VmFsdWU6IHVuZGVmaW5l
ZCxcbiIgKworIiAgICAgICAgfSxcbiIgKworIiAgICAgICAgeyBuYW1lOiAnb3V0IG9mIGxpbmUg
a2V5OyBubyBrZXkgZ2VuZXJhdG9yJyxcbiIgKworIiAgICAgICAgICBhdXRvSW5jcmVtZW50OiBm
YWxzZSxcbiIgKworIiAgICAgICAgICBzdG9yZWRPYmplY3Q6IHtuYW1lOiAnTGluY29sbid9LFxu
IiArCisiICAgICAgICAgIGtleU5hbWU6IHVuZGVmaW5lZCxcbiIgKworIiAgICAgICAgICBrZXlW
YWx1ZTogMSxcbiIgKworIiAgICAgICAgfVxuIiArCisiICAgIF07Iik7CisKKyAgICBpID0gZXZh
bEFuZExvZygiaSA9IDA7Iik7CisgICAgc2V0VmVyc2lvbigpOworfQorCitmdW5jdGlvbiBzZXRW
ZXJzaW9uKCkKK3sKKyAgICBpZiAoaSA8IGRhdGEubGVuZ3RoKSB7CisgICAgICAgIHRlc3QgPSBk
YXRhW2ldOworICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZl
cnNpb24oJzEnKSIpOworICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGNyZWF0ZU9iamVjdFN0
b3JlOworICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
KyAgICB9IGVsc2UgeworICAgICAgICBkb25lKCk7CisgICAgfQorfQorCitmdW5jdGlvbiBjcmVh
dGVPYmplY3RTdG9yZSgpCit7CisgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKKworICAg
IGlmICh0ZXN0LmtleU5hbWUpIHsKKyAgICAgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJv
YmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKHRlc3QubmFtZSwgeyBrZXlQYXRoOiB0
ZXN0LmtleU5hbWUsIGF1dG9JbmNyZW1lbnQ6IHRlc3QuYXV0b0luY3JlbWVudCB9KTsiKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUodGVzdC5uYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRlc3Qu
YXV0b0luY3JlbWVudCB9KTsiKTsKKyAgICB9CisgICAgaWYgKHRlc3Qua2V5VmFsdWUpIHsKKyAg
ICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQodGVz
dC5zdG9yZWRPYmplY3QsIHRlc3Qua2V5VmFsdWUpOyIpOworICAgIH0gZWxzZSB7CisgICAgICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHRlc3Quc3Rv
cmVkT2JqZWN0KTsiKTsKKyAgICB9CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBnZXRSZWNvcmQ7
CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1
bmN0aW9uIGdldFJlY29yZCgpCit7CisgICAgaWQgPSBldmFsQW5kTG9nKCJpZCA9IGV2ZW50LnRh
cmdldC5yZXN1bHQ7Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmpl
Y3RTdG9yZS5nZXQoaWQpOyIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlUmVjb3JkOworfQorCitm
dW5jdGlvbiBkZWxldGVSZWNvcmQoKQoreworICAgIHNob3VsZEJlKCJ0ZXN0LnN0b3JlZE9iamVj
dC5uYW1lIiwgImV2ZW50LnRhcmdldC5yZXN1bHQubmFtZSIpOworCisgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5kZWxldGUoaWQpOyIpOworICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gZ2V0UmVjb3JkQWdhaW47Cit9CisKK2Z1bmN0aW9uIGdldFJlY29yZEFnYWluKCkKK3sK
KyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmdldChpZCk7
Iik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaW5hbENoZWNrOworfQorCitmdW5jdGlvbiBmaW5hbENoZWNr
KCkKK3sKKyAgICBzaG91bGRCZVRydWUoImV2ZW50LnRhcmdldC5yZXN1bHQgPT09IHVuZGVmaW5l
ZCIpOworICAgIGkrKzsKKyAgICBzZXRWZXJzaW9uKCk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworCit0ZXN0KCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgor
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91969</attachid>
            <date>2011-05-02 13:35:19 -0700</date>
            <delta_ts>2011-05-02 13:45:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59953-20110502163517.patch</filename>
            <type>text/plain</type>
            <size>8588</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg1NTAxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMDIgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogYWRkaW5nIGFuZCBy
ZW1vdmluZyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU5OTUzCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVj
dC1zdG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sOiBB
ZGRlZC4KKwogMjAxMS0wNS0wMiAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1z
dG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgwIEBACitUZXN0IEluZGV4ZWRE
QjogYWRkcywgZ2V0cywgZGVsZXRlcywgYW5kIHJlLWdldHMgYSByZWNvcmQgaW4gYSB2YXJpZXR5
IG9mIGRpZmZlcmVudCBvYmplY3Qgc3RvcmUgY29uZmlndXJhdGlvbnMKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93
LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBpbmRleGVkREIg
PT0gbnVsbCBpcyBmYWxzZQoraW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pCitkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQKK2RhdGEgPSBbCisgICAgICAgIHsgbmFtZTogJ2lubGluZSBr
ZXk7IGtleSBnZW5lcmF0b3InLAorICAgICAgICAgIGF1dG9JbmNyZW1lbnQ6IHRydWUsCisgICAg
ICAgICAgc3RvcmVkT2JqZWN0OiB7bmFtZTogJ0xpbmNvbG4nfSwKKyAgICAgICAgICBrZXlOYW1l
OiAnaWQnLAorICAgICAgICAgIGtleVZhbHVlOiB1bmRlZmluZWQsCisgICAgICAgIH0sCisgICAg
ICAgIHsgbmFtZTogJ2lubGluZSBrZXk7IG5vIGtleSBnZW5lcmF0b3InLAorICAgICAgICAgIGF1
dG9JbmNyZW1lbnQ6IGZhbHNlLAorICAgICAgICAgIHN0b3JlZE9iamVjdDoge2lkOiAxLCBuYW1l
OiAnTGluY29sbid9LAorICAgICAgICAgIGtleU5hbWU6ICdpZCcsCisgICAgICAgICAga2V5VmFs
dWU6IHVuZGVmaW5lZCwKKyAgICAgICAgfSwKKyAgICAgICAgeyBuYW1lOiAnb3V0IG9mIGxpbmUg
a2V5OyBrZXkgZ2VuZXJhdG9yJywKKyAgICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlLAorICAg
ICAgICAgIHN0b3JlZE9iamVjdDoge25hbWU6ICdMaW5jb2xuJ30sCisgICAgICAgICAga2V5TmFt
ZTogdW5kZWZpbmVkLAorICAgICAgICAgIGtleVZhbHVlOiB1bmRlZmluZWQsCisgICAgICAgIH0s
CisgICAgICAgIHsgbmFtZTogJ291dCBvZiBsaW5lIGtleTsgbm8ga2V5IGdlbmVyYXRvcicsCisg
ICAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UsCisgICAgICAgICAgc3RvcmVkT2JqZWN0OiB7
bmFtZTogJ0xpbmNvbG4nfSwKKyAgICAgICAgICBrZXlOYW1lOiB1bmRlZmluZWQsCisgICAgICAg
ICAga2V5VmFsdWU6IDEsCisgICAgICAgIH0KKyAgICBdOworaSA9IDA7CityZXF1ZXN0ID0gZGIu
c2V0VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2JqZWN0U3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSh0ZXN0Lm5hbWUsIHsga2V5UGF0aDogdGVzdC5rZXlOYW1l
LCBhdXRvSW5jcmVtZW50OiB0ZXN0LmF1dG9JbmNyZW1lbnQgfSk7CityZXF1ZXN0ID0gb2JqZWN0
U3RvcmUuYWRkKHRlc3Quc3RvcmVkT2JqZWN0KTsKK2lkID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
K3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyB0ZXN0LnN0b3JlZE9iamVjdC5u
YW1lIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmRl
bGV0ZShpZCk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsKK1BBU1MgZXZlbnQudGFy
Z2V0LnJlc3VsdCA9PT0gdW5kZWZpbmVkIGlzIHRydWUKK3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9u
KCcxJykKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKHRlc3QubmFtZSwgeyBrZXlQYXRoOiB0ZXN0LmtleU5hbWUsIGF1dG9JbmNy
ZW1lbnQ6IHRlc3QuYXV0b0luY3JlbWVudCB9KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQo
dGVzdC5zdG9yZWRPYmplY3QpOworaWQgPSBldmVudC50YXJnZXQucmVzdWx0OworcmVxdWVzdCA9
IG9iamVjdFN0b3JlLmdldChpZCk7CitQQVNTIHRlc3Quc3RvcmVkT2JqZWN0Lm5hbWUgaXMgZXZl
bnQudGFyZ2V0LnJlc3VsdC5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZGVsZXRlKGlkKTsK
K3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyBldmVudC50YXJnZXQucmVzdWx0
ID09PSB1bmRlZmluZWQgaXMgdHJ1ZQorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQorRGVs
ZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3Rv
cmUodGVzdC5uYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRlc3QuYXV0b0luY3JlbWVudCB9KTsKK3Jl
cXVlc3QgPSBvYmplY3RTdG9yZS5hZGQodGVzdC5zdG9yZWRPYmplY3QpOworaWQgPSBldmVudC50
YXJnZXQucmVzdWx0OworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmdldChpZCk7CitQQVNTIHRlc3Qu
c3RvcmVkT2JqZWN0Lm5hbWUgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5uYW1lCityZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuZGVsZXRlKGlkKTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOwor
UEFTUyBldmVudC50YXJnZXQucmVzdWx0ID09PSB1bmRlZmluZWQgaXMgdHJ1ZQorcmVxdWVzdCA9
IGRiLnNldFZlcnNpb24oJzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUodGVzdC5uYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRl
c3QuYXV0b0luY3JlbWVudCB9KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQodGVzdC5zdG9y
ZWRPYmplY3QsIHRlc3Qua2V5VmFsdWUpOworaWQgPSBldmVudC50YXJnZXQucmVzdWx0OworcmVx
dWVzdCA9IG9iamVjdFN0b3JlLmdldChpZCk7CitQQVNTIHRlc3Quc3RvcmVkT2JqZWN0Lm5hbWUg
aXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZGVsZXRl
KGlkKTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0ID09PSB1bmRlZmluZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1v
dmUtdmFsdWVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0KKyAgb3JpZ2luYWwgdGVz
dDogaHR0cDovL214ci5tb3ppbGxhLm9yZy9tb3ppbGxhMi4wL3NvdXJjZS9kb20vaW5kZXhlZERC
L3Rlc3QvdGVzdF9vYmplY3RTdG9yZV9yZW1vdmVfdmFsdWVzLmh0bWw/Zm9yY2U9MQorICBsaWNl
bnNlIG9mIG9yaWdpbmFsIHRlc3Q6CisgICAgIiBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0
byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1
YmxpY2RvbWFpbi96ZXJvLzEuMC8gIgorLS0+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNj
cmlwdGlvbigiVGVzdCBJbmRleGVkREI6IGFkZHMsIGdldHMsIGRlbGV0ZXMsIGFuZCByZS1nZXRz
IGEgcmVjb3JkIGluIGEgdmFyaWV0eSBvZiBkaWZmZXJlbnQgb2JqZWN0IHN0b3JlIGNvbmZpZ3Vy
YXRpb25zIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
aW5kZXhlZERCID0gZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3
aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CisgICAgc2hv
dWxkQmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsKKworICAgIG5hbWUgPSB3aW5kb3cubG9j
YXRpb24ucGF0aG5hbWU7CisgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7Cisg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CisgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNj
ZXNzKCkKK3sKKyAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworCisgICAgZGF0YSA9IGV2YWxBbmRMb2coImRhdGEgPSBbXG4iICsKKyIgICAgICAgIHsgbmFt
ZTogJ2lubGluZSBrZXk7IGtleSBnZW5lcmF0b3InLFxuIiArCisiICAgICAgICAgIGF1dG9JbmNy
ZW1lbnQ6IHRydWUsXG4iICsKKyIgICAgICAgICAgc3RvcmVkT2JqZWN0OiB7bmFtZTogJ0xpbmNv
bG4nfSxcbiIgKworIiAgICAgICAgICBrZXlOYW1lOiAnaWQnLFxuIiArCisiICAgICAgICAgIGtl
eVZhbHVlOiB1bmRlZmluZWQsXG4iICsKKyIgICAgICAgIH0sXG4iICsKKyIgICAgICAgIHsgbmFt
ZTogJ2lubGluZSBrZXk7IG5vIGtleSBnZW5lcmF0b3InLFxuIiArCisiICAgICAgICAgIGF1dG9J
bmNyZW1lbnQ6IGZhbHNlLFxuIiArCisiICAgICAgICAgIHN0b3JlZE9iamVjdDoge2lkOiAxLCBu
YW1lOiAnTGluY29sbid9LFxuIiArCisiICAgICAgICAgIGtleU5hbWU6ICdpZCcsXG4iICsKKyIg
ICAgICAgICAga2V5VmFsdWU6IHVuZGVmaW5lZCxcbiIgKworIiAgICAgICAgfSxcbiIgKworIiAg
ICAgICAgeyBuYW1lOiAnb3V0IG9mIGxpbmUga2V5OyBrZXkgZ2VuZXJhdG9yJyxcbiIgKworIiAg
ICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlLFxuIiArCisiICAgICAgICAgIHN0b3JlZE9iamVj
dDoge25hbWU6ICdMaW5jb2xuJ30sXG4iICsKKyIgICAgICAgICAga2V5TmFtZTogdW5kZWZpbmVk
LFxuIiArCisiICAgICAgICAgIGtleVZhbHVlOiB1bmRlZmluZWQsXG4iICsKKyIgICAgICAgIH0s
XG4iICsKKyIgICAgICAgIHsgbmFtZTogJ291dCBvZiBsaW5lIGtleTsgbm8ga2V5IGdlbmVyYXRv
cicsXG4iICsKKyIgICAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UsXG4iICsKKyIgICAgICAg
ICAgc3RvcmVkT2JqZWN0OiB7bmFtZTogJ0xpbmNvbG4nfSxcbiIgKworIiAgICAgICAgICBrZXlO
YW1lOiB1bmRlZmluZWQsXG4iICsKKyIgICAgICAgICAga2V5VmFsdWU6IDEsXG4iICsKKyIgICAg
ICAgIH1cbiIgKworIiAgICBdOyIpOworCisgICAgaSA9IGV2YWxBbmRMb2coImkgPSAwOyIpOwor
ICAgIHNldFZlcnNpb24oKTsKK30KKworZnVuY3Rpb24gc2V0VmVyc2lvbigpCit7CisgICAgaWYg
KGkgPCBkYXRhLmxlbmd0aCkgeworICAgICAgICB0ZXN0ID0gZGF0YVtpXTsKKyAgICAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAgICAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjcmVhdGVPYmplY3RTdG9yZTsKKyAgICAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgZG9uZSgpOworICAgIH0KK30KKworZnVuY3Rpb24gY3JlYXRlT2JqZWN0U3RvcmUoKQorewor
ICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisKKyAgICBpZiAodGVzdC5rZXlOYW1lKSB7
CisgICAgICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVh
dGVPYmplY3RTdG9yZSh0ZXN0Lm5hbWUsIHsga2V5UGF0aDogdGVzdC5rZXlOYW1lLCBhdXRvSW5j
cmVtZW50OiB0ZXN0LmF1dG9JbmNyZW1lbnQgfSk7Iik7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
b2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0
b3JlKHRlc3QubmFtZSwgeyBhdXRvSW5jcmVtZW50OiB0ZXN0LmF1dG9JbmNyZW1lbnQgfSk7Iik7
CisgICAgfQorICAgIGlmICh0ZXN0LmtleVZhbHVlKSB7CisgICAgICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHRlc3Quc3RvcmVkT2JqZWN0LCB0ZXN0
LmtleVZhbHVlKTsiKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh0ZXN0LnN0b3JlZE9iamVjdCk7Iik7CisgICAg
fQorICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0UmVjb3JkOworICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBnZXRSZWNvcmQoKQor
eworICAgIGlkID0gZXZhbEFuZExvZygiaWQgPSBldmVudC50YXJnZXQucmVzdWx0OyIpOworICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsiKTsK
KyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGRlbGV0ZVJlY29yZDsKK30KKworZnVuY3Rpb24gZGVsZXRlUmVjb3Jk
KCkKK3sKKyAgICBzaG91bGRCZSgidGVzdC5zdG9yZWRPYmplY3QubmFtZSIsICJldmVudC50YXJn
ZXQucmVzdWx0Lm5hbWUiKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuZGVsZXRlKGlkKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGdldFJlY29yZEFnYWlu
OworfQorCitmdW5jdGlvbiBnZXRSZWNvcmRBZ2FpbigpCit7CisgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOyIpOworICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
ZmluYWxDaGVjazsKK30KKworZnVuY3Rpb24gZmluYWxDaGVjaygpCit7CisgICAgc2hvdWxkQmVU
cnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSB1bmRlZmluZWQiKTsKKyAgICBpKys7CisgICAg
c2V0VmVyc2lvbigpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwordGVz
dCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91973</attachid>
            <date>2011-05-02 13:45:25 -0700</date>
            <delta_ts>2011-05-02 13:46:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59953-20110502164523.patch</filename>
            <type>text/plain</type>
            <size>11722</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg1NTAxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDUtMDIgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogYWRkaW5nIGFuZCBy
ZW1vdmluZyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU5OTUzCisKKyAgICAgICAgVGhpcyBpcyBhIHRlc3QgY2FzZSAqYWRhcHRlZCogZnJv
bSBhIHRlc3QgaW4gTW96aWxsYSdzIEluZGV4ZWREQgorICAgICAgICB0ZXN0IHN1aXRlLiBUaGUg
b3JpZ2luYWwgdGVzdCBjaGVja2VkIGN1cnNvciBtdXRhdGlvbiB3aGlsZSBpdGVyYXRpbmcKKyAg
ICAgICAgYW4gaW5kZXggY3Vyc29yICh0cmFja2VkIGFzIGJ1ZyA1OTgyMikuIFRoaXMgdGVzdCBj
aGVja3Mgd2hldGhlciB0aGUKKyAgICAgICAgY3Vyc29yIG11dGF0aW9uIGlzIHN1Y2Nlc3NmdWxs
eSByZWNvZ25pemVkIHdoaWxlIGl0ZXJhdGluZyBhIHN0cmFpZ2h0CisgICAgICAgIG9iamVjdHN0
b3JlIGN1cnNvci4gU3BlY2lmaWNhbGx5LCBpdCBkZWxldGVzIGEgcmVjb3JkIHRoYXQncyBhbHJl
YWR5CisgICAgICAgIGJlZW4gaXRlcmF0ZWQsIHRoZW4gYWRkcyBhIHJlY29yZCB0byB0aGUgb2Jq
ZWN0c3RvcmUgZHVyaW5nIGl0ZXJhdGlvbiwKKyAgICAgICAgdGhlbiBjaGVja3MgdGhhdCBubyBy
ZWNvcmRzIHdlcmUgc2tpcHBlZCBhbmQgdGhhdCB0aGUgYWRkZWQgcmVjb3JkIGlzCisgICAgICAg
IGV2ZW50dWFsbHkgZm91bmQgZHVyaW5nIGl0ZXJhdGlvbi4KKworICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9y
ZS1yZW1vdmUtdmFsdWVzLmh0bWw6IEFkZGVkLgorCiAyMDExLTA1LTAyICBBYmhpc2hlayBBcnlh
ICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KSW5kZXg6IExh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0aW9uLW9iamVj
dHN0b3JlLW9ubHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0aW9uLW9iamVjdHN0b3JlLW9ubHktZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTE5IEBACitUZXN0IEluZGV4ZWREQidzIGN1cnNvciBtdXRh
dGlvbiBkdXJpbmcgb2JqZWN0IHN0b3JlIGN1cnNvciBpdGVyYXRpb24KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93
LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBpbmRleGVkREIg
PT0gbnVsbCBpcyBmYWxzZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJh
c2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uOworUEFTUyBJ
REJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2FjdGlvbiA9IHdp
bmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rpb247CitQQVNT
IElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UKK2luZGV4ZWREQi5vcGVuKG5hbWUsIGRl
c2NyaXB0aW9uKQorb3BlblN1Y2Nlc3MoKToKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVx
dWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQorc2V0dXBPYmplY3RTdG9yZSgpOgorRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2Zv
bycsIHsga2V5UGF0aDogJ3NzJyB9KTsKK29iamVjdFN0b3JlRGF0YSA9IFsKKyAgICAgICAgeyBz
czogJzIzNy0yMy03NzMyJywgbmFtZTogJ0JvYicgfSwKKyAgICAgICAgeyBzczogJzIzNy0yMy03
NzMzJywgbmFtZTogJ0FubicgfSwKKyAgICAgICAgeyBzczogJzIzNy0yMy03NzM0JywgbmFtZTog
J1JvbicgfSwKKyAgICAgICAgeyBzczogJzIzNy0yMy03NzM1JywgbmFtZTogJ1N1ZScgfSwKKyAg
ICAgICAgeyBzczogJzIzNy0yMy03NzM2JywgbmFtZTogJ0pvZScgfSwKKyAgICAgICAgeyBzczog
JzIzNy0yMy03NzM3JywgbmFtZTogJ1BhdCcgfQorICAgIF07CitvYmplY3RTdG9yZS5hZGQob2Jq
ZWN0U3RvcmVEYXRhW2ldKTsKK29iamVjdFN0b3JlLmFkZChvYmplY3RTdG9yZURhdGFbaV0pOwor
b2JqZWN0U3RvcmUuYWRkKG9iamVjdFN0b3JlRGF0YVtpXSk7CitvYmplY3RTdG9yZS5hZGQob2Jq
ZWN0U3RvcmVEYXRhW2ldKTsKK29iamVjdFN0b3JlLmFkZChvYmplY3RTdG9yZURhdGFbaV0pOwor
Y291bnQgPSAwOworc2F3QWRkZWQgPSBmYWxzZTsKK3Nhd1JlbW92ZWQgPSBmYWxzZTsKK3JlcXVl
c3QgPSBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7CitpdGVyYXRlQ3Vyc29yKCk6CitldmVudC50
YXJnZXQudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGNoZWNrQ3Vyc29yUmVzdWx0c0FuZFNldHVw
TXV0YXRpbmdDdXJzb3I7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Oworc2F3UmVtb3Zl
ZCA9IHRydWU7Citjb3VudCsrOworY3Vyc29yLmNvbnRpbnVlKCk7CitpdGVyYXRlQ3Vyc29yKCk6
CitldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGNoZWNrQ3Vyc29yUmVzdWx0
c0FuZFNldHVwTXV0YXRpbmdDdXJzb3I7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
Y291bnQrKzsKK2N1cnNvci5jb250aW51ZSgpOworaXRlcmF0ZUN1cnNvcigpOgorZXZlbnQudGFy
Z2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBjaGVja0N1cnNvclJlc3VsdHNBbmRTZXR1cE11
dGF0aW5nQ3Vyc29yOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK2NvdW50Kys7Citj
dXJzb3IuY29udGludWUoKTsKK2l0ZXJhdGVDdXJzb3IoKToKK2V2ZW50LnRhcmdldC50cmFuc2Fj
dGlvbi5vbmNvbXBsZXRlID0gY2hlY2tDdXJzb3JSZXN1bHRzQW5kU2V0dXBNdXRhdGluZ0N1cnNv
cjsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Citjb3VudCsrOworY3Vyc29yLmNvbnRp
bnVlKCk7CitpdGVyYXRlQ3Vyc29yKCk6CitldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub25jb21w
bGV0ZSA9IGNoZWNrQ3Vyc29yUmVzdWx0c0FuZFNldHVwTXV0YXRpbmdDdXJzb3I7CitjdXJzb3Ig
PSBldmVudC50YXJnZXQucmVzdWx0OworY291bnQrKzsKK2N1cnNvci5jb250aW51ZSgpOworaXRl
cmF0ZUN1cnNvcigpOgorZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBjaGVj
a0N1cnNvclJlc3VsdHNBbmRTZXR1cE11dGF0aW5nQ3Vyc29yOworY3Vyc29yID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKK2NoZWNrQ3Vyc29yUmVzdWx0c0FuZFNldHVwTXV0YXRpbmdDdXJzb3IoKToK
K1BBU1MgY291bnQgaXMgb2JqZWN0U3RvcmVEYXRhLmxlbmd0aCAtIDEKK1BBU1Mgc2F3QWRkZWQg
aXMgZmFsc2UKK1BBU1Mgc2F3UmVtb3ZlZCBpcyB0cnVlCitjb3VudCA9IDA7CitzYXdBZGRlZCA9
IGZhbHNlOworc2F3UmVtb3ZlZCA9IGZhbHNlOworcmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKCdm
b28nLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZSgnZm9vJykub3BlbkN1
cnNvcigpOworaXRlcmF0ZU11dGF0aW5nQ3Vyc29yKCk6CitldmVudC50YXJnZXQudHJhbnNhY3Rp
b24ub25jb21wbGV0ZSA9IGNoZWNrTXV0YXRpbmdDdXJzb3JSZXN1bHRzOworY3Vyc29yID0gZXZl
bnQudGFyZ2V0LnJlc3VsdDsKK3Nhd1JlbW92ZWQgPSB0cnVlOworUEFTUyBjdXJzb3IudmFsdWUu
bmFtZSBpcyAnQm9iJworY291bnQrKworb2JqZWN0U3RvcmUgPSBldmVudC50YXJnZXQudHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ2ZvbycpOworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmRlbGV0ZShv
YmplY3RTdG9yZURhdGFbMF0uc3MpOworYWRkRmluYWxEYXRhKCk6CityZXF1ZXN0ID0gb2JqZWN0
U3RvcmUuYWRkKG9iamVjdFN0b3JlRGF0YVtvYmplY3RTdG9yZURhdGEubGVuZ3RoIC0gMV0pOwor
aXRlcmF0ZU11dGF0aW5nQ3Vyc29yKCk6CitldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub25jb21w
bGV0ZSA9IGNoZWNrTXV0YXRpbmdDdXJzb3JSZXN1bHRzOworY3Vyc29yID0gZXZlbnQudGFyZ2V0
LnJlc3VsdDsKK1BBU1MgY3Vyc29yLnZhbHVlLm5hbWUgaXMgJ0FubicKK2NvdW50KysKK2l0ZXJh
dGVNdXRhdGluZ0N1cnNvcigpOgorZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUg
PSBjaGVja011dGF0aW5nQ3Vyc29yUmVzdWx0czsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1
bHQ7CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzICdSb24nCitjb3VudCsrCitpdGVyYXRlTXV0
YXRpbmdDdXJzb3IoKToKK2V2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gY2hl
Y2tNdXRhdGluZ0N1cnNvclJlc3VsdHM7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0Owor
UEFTUyBjdXJzb3IudmFsdWUubmFtZSBpcyAnU3VlJworY291bnQrKworaXRlcmF0ZU11dGF0aW5n
Q3Vyc29yKCk6CitldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGNoZWNrTXV0
YXRpbmdDdXJzb3JSZXN1bHRzOworY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKK1BBU1Mg
Y3Vyc29yLnZhbHVlLm5hbWUgaXMgJ0pvZScKK2NvdW50KysKK2l0ZXJhdGVNdXRhdGluZ0N1cnNv
cigpOgorZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBjaGVja011dGF0aW5n
Q3Vyc29yUmVzdWx0czsKK2N1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CitzYXdBZGRlZCA9
IHRydWU7CitQQVNTIGN1cnNvci52YWx1ZS5uYW1lIGlzICdQYXQnCitjb3VudCsrCitpdGVyYXRl
TXV0YXRpbmdDdXJzb3IoKToKK2V2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0g
Y2hlY2tNdXRhdGluZ0N1cnNvclJlc3VsdHM7CitjdXJzb3IgPSBldmVudC50YXJnZXQucmVzdWx0
OworY2hlY2tNdXRhdGluZ0N1cnNvclJlc3VsdHMoKToKK1BBU1MgY291bnQgaXMgb2JqZWN0U3Rv
cmVEYXRhLmxlbmd0aAorUEFTUyBzYXdBZGRlZCBpcyB0cnVlCitQQVNTIHNhd1JlbW92ZWQgaXMg
dHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
SW5kZXg6IExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0
aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0KKyAgb3JpZ2luYWwgdGVzdDogaHR0
cDovL214ci5tb3ppbGxhLm9yZy9tb3ppbGxhMi4wL3NvdXJjZS9kb20vaW5kZXhlZERCL3Rlc3Qv
dGVzdF9jdXJzb3JfbXV0YXRpb24uaHRtbD9mb3JjZT0xCisgIGxpY2Vuc2Ugb2Ygb3JpZ2luYWwg
dGVzdDoKKyAgICAiIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9t
YWluLgorICAgICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8v
MS4wLyAiCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1
bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2hhcmVkLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IElu
ZGV4ZWREQidzIGN1cnNvciBtdXRhdGlvbiBkdXJpbmcgb2JqZWN0IHN0b3JlIGN1cnNvciBpdGVy
YXRpb24iKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBp
bmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdp
bmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsiKTsKKyAgICBzaG91
bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOworICAgIElEQkRhdGFiYXNlRXhjZXB0aW9u
ID0gZXZhbEFuZExvZygiSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURCRGF0YWJhc2VF
eGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uOyIpOworICAgIHNo
b3VsZEJlRmFsc2UoIklEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwiKTsKKyAgICBJREJUcmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coIklEQlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0
aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFuc2FjdGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNl
KCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7CisKKyAgICBuYW1lID0gd2luZG93LmxvY2F0aW9u
LnBhdGhuYW1lOworICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOworICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsK
KyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOworICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBvcGVuU3VjY2Vzcygp
Cit7CisgICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6Iik7CisgICAgZGIgPSBldmFsQW5kTG9nKCJk
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJy
ZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBz
ZXR1cE9iamVjdFN0b3JlOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOworfQorCitmdW5jdGlvbiBzZXR1cE9iamVjdFN0b3JlKCkKK3sKKyAgICBkZWJ1Zygi
c2V0dXBPYmplY3RTdG9yZSgpOiIpOworICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisK
KyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ2ZvbycsIHsga2V5UGF0aDogJ3NzJyB9KTsiKTsKKyAgICBvYmplY3RTdG9yZURh
dGEgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZURhdGEgPSBbXG4iICsgCisiICAgICAgICB7IHNz
OiAnMjM3LTIzLTc3MzInLCBuYW1lOiAnQm9iJyB9LFxuIiArIAorCisiICAgICAgICB7IHNzOiAn
MjM3LTIzLTc3MzMnLCBuYW1lOiAnQW5uJyB9LFxuIiArCisiICAgICAgICB7IHNzOiAnMjM3LTIz
LTc3MzQnLCBuYW1lOiAnUm9uJyB9LFxuIiArCisiICAgICAgICB7IHNzOiAnMjM3LTIzLTc3MzUn
LCBuYW1lOiAnU3VlJyB9LFxuIiArCisiICAgICAgICB7IHNzOiAnMjM3LTIzLTc3MzYnLCBuYW1l
OiAnSm9lJyB9LFxuIiArCisKKyIgICAgICAgIHsgc3M6ICcyMzctMjMtNzczNycsIG5hbWU6ICdQ
YXQnIH1cbiIgKworIiAgICBdOyIpOworCisgICAgZm9yIChpID0gMDsgaSA8IG9iamVjdFN0b3Jl
RGF0YS5sZW5ndGggLSAxOyBpKyspIHsKKyAgICAgICAgZXZhbEFuZExvZygib2JqZWN0U3RvcmUu
YWRkKG9iamVjdFN0b3JlRGF0YVtpXSk7Iik7CisgICAgfQorCisgICAgY291bnQgPSBldmFsQW5k
TG9nKCJjb3VudCA9IDA7Iik7CisgICAgc2F3QWRkZWQgPSBldmFsQW5kTG9nKCJzYXdBZGRlZCA9
IGZhbHNlOyIpOworICAgIHNhd1JlbW92ZWQgPSBldmFsQW5kTG9nKCJzYXdSZW1vdmVkID0gZmFs
c2U7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3Jl
Lm9wZW5DdXJzb3IoKTsiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGl0ZXJhdGVDdXJzb3I7
CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1
bmN0aW9uIGl0ZXJhdGVDdXJzb3IoKQoreworICAgIGRlYnVnKCJpdGVyYXRlQ3Vyc29yKCk6Iik7
CisgICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBj
aGVja0N1cnNvclJlc3VsdHNBbmRTZXR1cE11dGF0aW5nQ3Vyc29yOyIpOworICAgIGN1cnNvciA9
IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7Iik7CisgICAgaWYgKGN1
cnNvcikgeworICAgICAgICBpZiAoY3Vyc29yLnZhbHVlLm5hbWUgPT0gb2JqZWN0U3RvcmVEYXRh
WzBdLm5hbWUpIHsKKyAgICAgICAgICAgIHNhd1JlbW92ZWQgPSBldmFsQW5kTG9nKCJzYXdSZW1v
dmVkID0gdHJ1ZTsiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoY3Vyc29yLnZhbHVlLm5hbWUg
PT0gb2JqZWN0U3RvcmVEYXRhW29iamVjdFN0b3JlRGF0YS5sZW5ndGggLSAxXS5uYW1lKSB7Cisg
ICAgICAgICAgICBzYXdBZGRlZCA9IGV2YWxBbmRMb2coInNhd0FkZGVkID0gdHJ1ZTsiKTsKKyAg
ICAgICAgfQorICAgICAgICBldmFsQW5kTG9nKCJjb3VudCsrOyIpOworICAgICAgICBldmFsQW5k
TG9nKCJjdXJzb3IuY29udGludWUoKTsiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrQ3Vy
c29yUmVzdWx0c0FuZFNldHVwTXV0YXRpbmdDdXJzb3IoKQoreworICAgIGRlYnVnKCJjaGVja0N1
cnNvclJlc3VsdHNBbmRTZXR1cE11dGF0aW5nQ3Vyc29yKCk6Iik7CisgICAgc2hvdWxkQmUoImNv
dW50IiwgIm9iamVjdFN0b3JlRGF0YS5sZW5ndGggLSAxIik7CisgICAgc2hvdWxkQmUoInNhd0Fk
ZGVkIiwgImZhbHNlIik7CisgICAgc2hvdWxkQmUoInNhd1JlbW92ZWQiLCAidHJ1ZSIpOworCisg
ICAgY291bnQgPSBldmFsQW5kTG9nKCJjb3VudCA9IDA7Iik7CisgICAgc2F3QWRkZWQgPSBldmFs
QW5kTG9nKCJzYXdBZGRlZCA9IGZhbHNlOyIpOworICAgIHNhd1JlbW92ZWQgPSBldmFsQW5kTG9n
KCJzYXdSZW1vdmVkID0gZmFsc2U7Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVx
dWVzdCA9IGRiLnRyYW5zYWN0aW9uKCdmb28nLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5v
YmplY3RTdG9yZSgnZm9vJykub3BlbkN1cnNvcigpOyIpOworICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gaXRlcmF0ZU11dGF0aW5nQ3Vyc29yOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBpdGVyYXRlTXV0YXRpbmdDdXJzb3IoKQor
eworICAgIGRlYnVnKCJpdGVyYXRlTXV0YXRpbmdDdXJzb3IoKToiKTsKKyAgICBldmFsQW5kTG9n
KCJldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGNoZWNrTXV0YXRpbmdDdXJz
b3JSZXN1bHRzOyIpOworICAgIGN1cnNvciA9IGV2YWxBbmRMb2coImN1cnNvciA9IGV2ZW50LnRh
cmdldC5yZXN1bHQ7Iik7CisgICAgaWYgKGN1cnNvcikgeworICAgICAgICBpZiAoY3Vyc29yLnZh
bHVlLm5hbWUgPT0gb2JqZWN0U3RvcmVEYXRhWzBdLm5hbWUpIHsKKyAgICAgICAgICAgIHNhd1Jl
bW92ZWQgPSBldmFsQW5kTG9nKCJzYXdSZW1vdmVkID0gdHJ1ZTsiKTsKKyAgICAgICAgfQorICAg
ICAgICBpZiAoY3Vyc29yLnZhbHVlLm5hbWUgPT0gb2JqZWN0U3RvcmVEYXRhW29iamVjdFN0b3Jl
RGF0YS5sZW5ndGggLSAxXS5uYW1lKSB7CisgICAgICAgICAgICBzYXdBZGRlZCA9IGV2YWxBbmRM
b2coInNhd0FkZGVkID0gdHJ1ZTsiKTsKKyAgICAgICAgfQorICAgICAgICBzaG91bGRCZSgiY3Vy
c29yLnZhbHVlLm5hbWUiLCAiJyIgKyBvYmplY3RTdG9yZURhdGFbY291bnRdLm5hbWUgKyAiJyIp
OworICAgICAgICBldmFsQW5kTG9nKCJjb3VudCsrIik7CisKKyAgICAgICAgaWYgKGNvdW50ID09
IDEpIHsKKyAgICAgICAgICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUg
PSBldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ2ZvbycpOyIpOworICAgICAg
ICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5kZWxldGUo
b2JqZWN0U3RvcmVEYXRhWzBdLnNzKTsiKTsKKyAgICAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gYWRkRmluYWxEYXRhOworICAgICAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBjdXJzb3IuY29u
dGludWUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKworZnVuY3Rpb24gYWRkRmluYWxEYXRhKCkK
K3sKKyAgICBkZWJ1ZygiYWRkRmluYWxEYXRhKCk6Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQob2JqZWN0U3RvcmVEYXRhW29iamVjdFN0b3Jl
RGF0YS5sZW5ndGggLSAxXSk7Iik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAo
KSB7IGN1cnNvci5jb250aW51ZSgpOyB9CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIGNoZWNrTXV0YXRpbmdDdXJzb3JSZXN1bHRz
KCkKK3sKKyAgICBkZWJ1ZygiY2hlY2tNdXRhdGluZ0N1cnNvclJlc3VsdHMoKToiKTsKKyAgICBz
aG91bGRCZSgiY291bnQiLCAib2JqZWN0U3RvcmVEYXRhLmxlbmd0aCIpOworICAgIHNob3VsZEJl
KCJzYXdBZGRlZCIsICJ0cnVlIik7CisgICAgc2hvdWxkQmUoInNhd1JlbW92ZWQiLCAidHJ1ZSIp
OworICAgIGRvbmUoKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKK3Rl
c3QoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91976</attachid>
            <date>2011-05-02 13:57:32 -0700</date>
            <delta_ts>2011-05-02 18:51:38 -0700</delta_ts>
            <desc>Updated test description</desc>
            <filename>bug-59953.patch</filename>
            <type>text/plain</type>
            <size>8588</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg1NTAxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDUtMDIgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogYWRkaW5nIGFuZCBy
ZW1vdmluZyB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU5OTUzCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVj
dC1zdG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qtc3RvcmUtcmVtb3ZlLXZhbHVlcy5odG1sOiBB
ZGRlZC4KKwogMjAxMS0wNS0wMiAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1z
dG9yZS1yZW1vdmUtdmFsdWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgwIEBACitUZXN0IEluZGV4ZWRE
QjogYWRkcywgZ2V0cywgZGVsZXRlcywgYW5kIHJlLWdldHMgYSByZWNvcmQgaW4gYSB2YXJpZXR5
IG9mIGRpZmZlcmVudCBvYmplY3Qgc3RvcmUgY29uZmlndXJhdGlvbnMKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93
LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBpbmRleGVkREIg
PT0gbnVsbCBpcyBmYWxzZQoraW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pCitkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQKK2RhdGEgPSBbCisgICAgICAgIHsgbmFtZTogJ2lubGluZSBr
ZXk7IGtleSBnZW5lcmF0b3InLAorICAgICAgICAgIGF1dG9JbmNyZW1lbnQ6IHRydWUsCisgICAg
ICAgICAgc3RvcmVkT2JqZWN0OiB7bmFtZTogJ0xpbmNvbG4nfSwKKyAgICAgICAgICBrZXlOYW1l
OiAnaWQnLAorICAgICAgICAgIGtleVZhbHVlOiB1bmRlZmluZWQsCisgICAgICAgIH0sCisgICAg
ICAgIHsgbmFtZTogJ2lubGluZSBrZXk7IG5vIGtleSBnZW5lcmF0b3InLAorICAgICAgICAgIGF1
dG9JbmNyZW1lbnQ6IGZhbHNlLAorICAgICAgICAgIHN0b3JlZE9iamVjdDoge2lkOiAxLCBuYW1l
OiAnTGluY29sbid9LAorICAgICAgICAgIGtleU5hbWU6ICdpZCcsCisgICAgICAgICAga2V5VmFs
dWU6IHVuZGVmaW5lZCwKKyAgICAgICAgfSwKKyAgICAgICAgeyBuYW1lOiAnb3V0IG9mIGxpbmUg
a2V5OyBrZXkgZ2VuZXJhdG9yJywKKyAgICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlLAorICAg
ICAgICAgIHN0b3JlZE9iamVjdDoge25hbWU6ICdMaW5jb2xuJ30sCisgICAgICAgICAga2V5TmFt
ZTogdW5kZWZpbmVkLAorICAgICAgICAgIGtleVZhbHVlOiB1bmRlZmluZWQsCisgICAgICAgIH0s
CisgICAgICAgIHsgbmFtZTogJ291dCBvZiBsaW5lIGtleTsgbm8ga2V5IGdlbmVyYXRvcicsCisg
ICAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UsCisgICAgICAgICAgc3RvcmVkT2JqZWN0OiB7
bmFtZTogJ0xpbmNvbG4nfSwKKyAgICAgICAgICBrZXlOYW1lOiB1bmRlZmluZWQsCisgICAgICAg
ICAga2V5VmFsdWU6IDEsCisgICAgICAgIH0KKyAgICBdOworaSA9IDA7CityZXF1ZXN0ID0gZGIu
c2V0VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorb2JqZWN0U3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSh0ZXN0Lm5hbWUsIHsga2V5UGF0aDogdGVzdC5rZXlOYW1l
LCBhdXRvSW5jcmVtZW50OiB0ZXN0LmF1dG9JbmNyZW1lbnQgfSk7CityZXF1ZXN0ID0gb2JqZWN0
U3RvcmUuYWRkKHRlc3Quc3RvcmVkT2JqZWN0KTsKK2lkID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsK
K3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyB0ZXN0LnN0b3JlZE9iamVjdC5u
YW1lIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQubmFtZQorcmVxdWVzdCA9IG9iamVjdFN0b3JlLmRl
bGV0ZShpZCk7CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsKK1BBU1MgZXZlbnQudGFy
Z2V0LnJlc3VsdCA9PT0gdW5kZWZpbmVkIGlzIHRydWUKK3JlcXVlc3QgPSBkYi5zZXRWZXJzaW9u
KCcxJykKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKHRlc3QubmFtZSwgeyBrZXlQYXRoOiB0ZXN0LmtleU5hbWUsIGF1dG9JbmNy
ZW1lbnQ6IHRlc3QuYXV0b0luY3JlbWVudCB9KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQo
dGVzdC5zdG9yZWRPYmplY3QpOworaWQgPSBldmVudC50YXJnZXQucmVzdWx0OworcmVxdWVzdCA9
IG9iamVjdFN0b3JlLmdldChpZCk7CitQQVNTIHRlc3Quc3RvcmVkT2JqZWN0Lm5hbWUgaXMgZXZl
bnQudGFyZ2V0LnJlc3VsdC5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZGVsZXRlKGlkKTsK
K3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyBldmVudC50YXJnZXQucmVzdWx0
ID09PSB1bmRlZmluZWQgaXMgdHJ1ZQorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQorRGVs
ZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3Rv
cmUodGVzdC5uYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRlc3QuYXV0b0luY3JlbWVudCB9KTsKK3Jl
cXVlc3QgPSBvYmplY3RTdG9yZS5hZGQodGVzdC5zdG9yZWRPYmplY3QpOworaWQgPSBldmVudC50
YXJnZXQucmVzdWx0OworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmdldChpZCk7CitQQVNTIHRlc3Qu
c3RvcmVkT2JqZWN0Lm5hbWUgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5uYW1lCityZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuZGVsZXRlKGlkKTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOwor
UEFTUyBldmVudC50YXJnZXQucmVzdWx0ID09PSB1bmRlZmluZWQgaXMgdHJ1ZQorcmVxdWVzdCA9
IGRiLnNldFZlcnNpb24oJzEnKQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUodGVzdC5uYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRl
c3QuYXV0b0luY3JlbWVudCB9KTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQodGVzdC5zdG9y
ZWRPYmplY3QsIHRlc3Qua2V5VmFsdWUpOworaWQgPSBldmVudC50YXJnZXQucmVzdWx0OworcmVx
dWVzdCA9IG9iamVjdFN0b3JlLmdldChpZCk7CitQQVNTIHRlc3Quc3RvcmVkT2JqZWN0Lm5hbWUg
aXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5uYW1lCityZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZGVsZXRl
KGlkKTsKK3JlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOworUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0ID09PSB1bmRlZmluZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvb2JqZWN0LXN0b3JlLXJlbW92ZS12YWx1ZXMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1v
dmUtdmFsdWVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL29iamVjdC1zdG9yZS1yZW1vdmUtdmFsdWVzLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0KKyAgb3JpZ2luYWwgdGVz
dDogaHR0cDovL214ci5tb3ppbGxhLm9yZy9tb3ppbGxhMi4wL3NvdXJjZS9kb20vaW5kZXhlZERC
L3Rlc3QvdGVzdF9vYmplY3RTdG9yZV9yZW1vdmVfdmFsdWVzLmh0bWw/Zm9yY2U9MQorICBsaWNl
bnNlIG9mIG9yaWdpbmFsIHRlc3Q6CisgICAgIiBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0
byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1
YmxpY2RvbWFpbi96ZXJvLzEuMC8gIgorLS0+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNj
cmlwdGlvbigiVGVzdCBJbmRleGVkREI6IGFkZHMsIGdldHMsIGRlbGV0ZXMsIGFuZCByZS1nZXRz
IGEgcmVjb3JkIGluIGEgdmFyaWV0eSBvZiBkaWZmZXJlbnQgb2JqZWN0IHN0b3JlIGNvbmZpZ3Vy
YXRpb25zIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
aW5kZXhlZERCID0gZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3
aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CisgICAgc2hv
dWxkQmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsKKworICAgIG5hbWUgPSB3aW5kb3cubG9j
YXRpb24ucGF0aG5hbWU7CisgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7Cisg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9u
KSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CisgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNj
ZXNzKCkKK3sKKyAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OworCisgICAgZGF0YSA9IGV2YWxBbmRMb2coImRhdGEgPSBbXG4iICsKKyIgICAgICAgIHsgbmFt
ZTogJ2lubGluZSBrZXk7IGtleSBnZW5lcmF0b3InLFxuIiArCisiICAgICAgICAgIGF1dG9JbmNy
ZW1lbnQ6IHRydWUsXG4iICsKKyIgICAgICAgICAgc3RvcmVkT2JqZWN0OiB7bmFtZTogJ0xpbmNv
bG4nfSxcbiIgKworIiAgICAgICAgICBrZXlOYW1lOiAnaWQnLFxuIiArCisiICAgICAgICAgIGtl
eVZhbHVlOiB1bmRlZmluZWQsXG4iICsKKyIgICAgICAgIH0sXG4iICsKKyIgICAgICAgIHsgbmFt
ZTogJ2lubGluZSBrZXk7IG5vIGtleSBnZW5lcmF0b3InLFxuIiArCisiICAgICAgICAgIGF1dG9J
bmNyZW1lbnQ6IGZhbHNlLFxuIiArCisiICAgICAgICAgIHN0b3JlZE9iamVjdDoge2lkOiAxLCBu
YW1lOiAnTGluY29sbid9LFxuIiArCisiICAgICAgICAgIGtleU5hbWU6ICdpZCcsXG4iICsKKyIg
ICAgICAgICAga2V5VmFsdWU6IHVuZGVmaW5lZCxcbiIgKworIiAgICAgICAgfSxcbiIgKworIiAg
ICAgICAgeyBuYW1lOiAnb3V0IG9mIGxpbmUga2V5OyBrZXkgZ2VuZXJhdG9yJyxcbiIgKworIiAg
ICAgICAgICBhdXRvSW5jcmVtZW50OiB0cnVlLFxuIiArCisiICAgICAgICAgIHN0b3JlZE9iamVj
dDoge25hbWU6ICdMaW5jb2xuJ30sXG4iICsKKyIgICAgICAgICAga2V5TmFtZTogdW5kZWZpbmVk
LFxuIiArCisiICAgICAgICAgIGtleVZhbHVlOiB1bmRlZmluZWQsXG4iICsKKyIgICAgICAgIH0s
XG4iICsKKyIgICAgICAgIHsgbmFtZTogJ291dCBvZiBsaW5lIGtleTsgbm8ga2V5IGdlbmVyYXRv
cicsXG4iICsKKyIgICAgICAgICAgYXV0b0luY3JlbWVudDogZmFsc2UsXG4iICsKKyIgICAgICAg
ICAgc3RvcmVkT2JqZWN0OiB7bmFtZTogJ0xpbmNvbG4nfSxcbiIgKworIiAgICAgICAgICBrZXlO
YW1lOiB1bmRlZmluZWQsXG4iICsKKyIgICAgICAgICAga2V5VmFsdWU6IDEsXG4iICsKKyIgICAg
ICAgIH1cbiIgKworIiAgICBdOyIpOworCisgICAgaSA9IGV2YWxBbmRMb2coImkgPSAwOyIpOwor
ICAgIHNldFZlcnNpb24oKTsKK30KKworZnVuY3Rpb24gc2V0VmVyc2lvbigpCit7CisgICAgaWYg
KGkgPCBkYXRhLmxlbmd0aCkgeworICAgICAgICB0ZXN0ID0gZGF0YVtpXTsKKyAgICAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAgICAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjcmVhdGVPYmplY3RTdG9yZTsKKyAgICAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgZG9uZSgpOworICAgIH0KK30KKworZnVuY3Rpb24gY3JlYXRlT2JqZWN0U3RvcmUoKQorewor
ICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisKKyAgICBpZiAodGVzdC5rZXlOYW1lKSB7
CisgICAgICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVh
dGVPYmplY3RTdG9yZSh0ZXN0Lm5hbWUsIHsga2V5UGF0aDogdGVzdC5rZXlOYW1lLCBhdXRvSW5j
cmVtZW50OiB0ZXN0LmF1dG9JbmNyZW1lbnQgfSk7Iik7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
b2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0
b3JlKHRlc3QubmFtZSwgeyBhdXRvSW5jcmVtZW50OiB0ZXN0LmF1dG9JbmNyZW1lbnQgfSk7Iik7
CisgICAgfQorICAgIGlmICh0ZXN0LmtleVZhbHVlKSB7CisgICAgICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHRlc3Quc3RvcmVkT2JqZWN0LCB0ZXN0
LmtleVZhbHVlKTsiKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh0ZXN0LnN0b3JlZE9iamVjdCk7Iik7CisgICAg
fQorICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZ2V0UmVjb3JkOworICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBnZXRSZWNvcmQoKQor
eworICAgIGlkID0gZXZhbEFuZExvZygiaWQgPSBldmVudC50YXJnZXQucmVzdWx0OyIpOworICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZ2V0KGlkKTsiKTsK
KyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGRlbGV0ZVJlY29yZDsKK30KKworZnVuY3Rpb24gZGVsZXRlUmVjb3Jk
KCkKK3sKKyAgICBzaG91bGRCZSgidGVzdC5zdG9yZWRPYmplY3QubmFtZSIsICJldmVudC50YXJn
ZXQucmVzdWx0Lm5hbWUiKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
b2JqZWN0U3RvcmUuZGVsZXRlKGlkKTsiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGdldFJlY29yZEFnYWlu
OworfQorCitmdW5jdGlvbiBnZXRSZWNvcmRBZ2FpbigpCit7CisgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5nZXQoaWQpOyIpOworICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
ZmluYWxDaGVjazsKK30KKworZnVuY3Rpb24gZmluYWxDaGVjaygpCit7CisgICAgc2hvdWxkQmVU
cnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSB1bmRlZmluZWQiKTsKKyAgICBpKys7CisgICAg
c2V0VmVyc2lvbigpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwordGVz
dCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>