<?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>59472</bug_id>
          
          <creation_ts>2011-04-26 11:14:37 -0700</creation_ts>
          <short_desc>Port Mozilla&apos;s IndexedDB tests: index cursors</short_desc>
          <delta_ts>2011-04-27 21:56:11 -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>392578</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-26 11:14:37 -0700</bug_when>
    <thetext>Original tests: http://mxr.mozilla.org/mozilla2.0/source/dom/indexedDB/test/test_objectCursors.html?force=1

This is a pair of tests ported from Mozilla&apos;s IndexedDB test suite. It checks some basic properties of index cursors. WebKit passes these tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392582</commentid>
    <comment_count>1</comment_count>
      <attachid>91130</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-26 11:21:45 -0700</bug_when>
    <thetext>Created attachment 91130
patch with changelog and layouttest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393006</commentid>
    <comment_count>2</comment_count>
      <attachid>91130</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-26 16:28:18 -0700</bug_when>
    <thetext>Comment on attachment 91130
patch with changelog and layouttest

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

I suspect the bot will have a hard time landing these patches since the root of the diff isn&apos;t the root of the webkit repo.

&gt; third_party/WebKit/LayoutTests/storage/indexeddb/mozilla/object-cursors-autoincrement.html:20
&gt; +description(&quot;Test IndexedDB&apos;s index cursors&quot;);

Nit: Should this mention autoincrement (to help differentiate it from object-cursors.html)?

&gt; third_party/WebKit/LayoutTests/storage/indexeddb/mozilla/object-cursors.html:1
&gt; +&lt;!DOCTYPE html&gt;

These tests look almost identical.  Can we make it into a single test file to avoid the code repetition?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393752</commentid>
    <comment_count>3</comment_count>
      <attachid>91335</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-27 13:32:25 -0700</bug_when>
    <thetext>Created attachment 91335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393759</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-04-27 13:36:29 -0700</bug_when>
    <thetext>I believe this patch is now rooted properly. I combined the two tests into one file and added logged autoIncrement=true/false statements to differentiate between the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394192</commentid>
    <comment_count>5</comment_count>
      <attachid>91335</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 21:56:06 -0700</bug_when>
    <thetext>Comment on attachment 91335
Patch

Clearing flags on attachment: 91335

Committed r85150: &lt;http://trac.webkit.org/changeset/85150&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394193</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-27 21:56:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91130</attachid>
            <date>2011-04-26 11:21:45 -0700</date>
            <delta_ts>2011-04-27 13:32:18 -0700</delta_ts>
            <desc>patch with changelog and layouttest</desc>
            <filename>bug-59472.patch</filename>
            <type>text/plain</type>
            <size>9653</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IHRoaXJkX3BhcnR5L1dlYktpdC9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gdGhpcmRfcGFydHkvV2ViS2l0L0xheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
ODQ5MzIpCisrKyB0aGlyZF9wYXJ0eS9XZWJLaXQvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQtMjYgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogaW5kZXggY3Vyc29y
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk0NzIK
KworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGE6IEFkZGVkLgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMtYXV0b2luY3JlbWVudC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
b2JqZWN0LWN1cnNvcnMtYXV0b2luY3JlbWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1jdXJzb3JzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1s
OiBBZGRlZC4KKwogMjAxMS0wNC0yNiAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgQWRkIGV4cGVjdGVkIHJlc3VsdHMgZm9yIEdUSyBhbmQgUXQgcG9ydHMgZm9y
IHRoZSB0ZXN0IHBhblNjcm9sbC1jbGljay1oeXBlcmxpbmsuaHRtbApJbmRleDogdGhpcmRfcGFy
dHkvV2ViS2l0L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1
cnNvcnMtYXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGhpcmRfcGFy
dHkvV2ViS2l0L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1
cnNvcnMtYXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyB0aGlyZF9w
YXJ0eS9XZWJLaXQvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3Qt
Y3Vyc29ycy1hdXRvaW5jcmVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyNiBAQAorVGVzdCBJbmRleGVkREIncyBpbmRleCBjdXJzb3JzCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53
ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsKK1BBU1MgaW5kZXhlZERCID09
IG51bGwgaXMgZmFsc2UKK2luZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKQorZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0CityZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitEZWxldGVk
IGFsbCBvYmplY3Qgc3RvcmVzLgorb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgn
YScsIHsga2V5UGF0aDogJ2lkJywgYXV0b0luY3JlbWVudDogdHJ1ZSB9KTsKK29iamVjdFN0b3Jl
LmNyZWF0ZUluZGV4KGluZGV4ZXNbal0ubmFtZSwgJ25hbWUnLCBpbmRleGVzW2pdLm9wdGlvbnMp
Oworb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoaW5kZXhlc1tqXS5uYW1lLCAnbmFtZScsIGluZGV4
ZXNbal0ub3B0aW9ucyk7CitkYXRhID0geyBuYW1lOiAnQmVuJyB9OworcmVxdWVzdCA9IG9iamVj
dFN0b3JlLmFkZChkYXRhKTsKK2luZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgoaW5kZXhlc1tqXS5u
YW1lKTsKK3JlcXVlc3QgPSBpbmRleC5vcGVuQ3Vyc29yKCk7CitpbmRleCA9IG9iamVjdFN0b3Jl
LmluZGV4KGluZGV4ZXNbal0ubmFtZSk7CityZXF1ZXN0ID0gaW5kZXgub3BlbkN1cnNvcigpOwor
UEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLm5hbWUgaXMgJ0JlbicKK1BBU1MgZXZlbnQu
dGFyZ2V0LnJlc3VsdC52YWx1ZS5uYW1lIGlzICdCZW4nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogdGhpcmRfcGFydHkvV2ViS2l0L0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMtYXV0b2lu
Y3JlbWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHRoaXJkX3BhcnR5L1dlYktpdC9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1jdXJzb3JzLWF1dG9pbmNyZW1lbnQu
aHRtbAkocmV2aXNpb24gMCkKKysrIHRoaXJkX3BhcnR5L1dlYktpdC9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1jdXJzb3JzLWF1dG9pbmNyZW1lbnQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tCisgIG9y
aWdpbmFsIHRlc3Q6IGh0dHA6Ly9teHIubW96aWxsYS5vcmcvbW96aWxsYTIuMC9zb3VyY2UvZG9t
L2luZGV4ZWREQi90ZXN0L3Rlc3Rfb2JqZWN0Q3Vyc29ycy5odG1sCisgIGxpY2Vuc2Ugb2Ygb3Jp
Z2luYWwgdGVzdDoKKyAgICAiIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJs
aWMgRG9tYWluLgorICAgICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWlu
L3plcm8vMS4wLyAiCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2hh
cmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJU
ZXN0IEluZGV4ZWREQidzIGluZGV4IGN1cnNvcnMiKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpbmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRleGVkREIg
PSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1v
ekluZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOwor
CisgICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBkZXNjcmlwdGlvbiA9
ICJNeSBUZXN0IERhdGFiYXNlIjsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERC
Lm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVu
U3VjY2VzczsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
K30KKworZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQoreworICAgIGRiID0gZXZhbEFuZExvZygiZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVx
dWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xl
YW5EYXRhYmFzZTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKK30KKworZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCit7CisgICAgZGVsZXRlQWxsT2JqZWN0
U3RvcmVzKGRiKTsKKyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0g
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2EnLCB7IGtleVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6
IHRydWUgfSk7Iik7CisgICAgaW5kZXhlcyA9IFsKKyAgICAgICAgeyBuYW1lOiAiYSIsIG9wdGlv
bnM6IHsgfSB9LAorICAgICAgICB7IG5hbWU6ICJiIiwgb3B0aW9uczogeyB1bmlxdWU6IHRydWUg
fSB9CisgICAgXTsKKyAgICBmb3IgKGogaW4gaW5kZXhlcykgeworICAgICAgICBldmFsQW5kTG9n
KCJvYmplY3RTdG9yZS5jcmVhdGVJbmRleChpbmRleGVzW2pdLm5hbWUsICduYW1lJywgaW5kZXhl
c1tqXS5vcHRpb25zKTsiKTsKKyAgICB9CisgICAgZGF0YSA9IGV2YWxBbmRMb2coImRhdGEgPSB7
IG5hbWU6ICdCZW4nIH07Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBv
YmplY3RTdG9yZS5hZGQoZGF0YSk7Iik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0QWRk
OworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitm
dW5jdGlvbiBwb3N0QWRkKCkKK3sKKyAgICBudW1JbmRleGVzID0gaW5kZXhlcy5sZW5ndGg7Cisg
ICAgaW5kZXhlc0ZpbmlzaGVkID0gMDsKKyAgICBmb3IgKGogaW4gaW5kZXhlcykgeworICAgICAg
ICBpbmRleCA9IGV2YWxBbmRMb2coImluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgoaW5kZXhlc1tq
XS5uYW1lKTsiKTsKKyAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRl
eC5vcGVuQ3Vyc29yKCk7Iik7CisgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOworICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGV2ZW50
KSB7CisgICAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS5uYW1l
IiwgIidCZW4nIik7CisgICAgICAgICAgICBpZiAoKytpbmRleGVzRmluaXNoZWQgPT0gbnVtSW5k
ZXhlcykgeworICAgICAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fTsKKyAgICB9CisKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKK3Rlc3Qo
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IHRoaXJkX3BhcnR5L1dl
YktpdC9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1jdXJzb3Jz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0aGlyZF9wYXJ0eS9XZWJLaXQvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyB0aGlyZF9wYXJ0eS9XZWJLaXQvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMjYgQEAKK1Rlc3QgSW5kZXhlZERCJ3MgaW5kZXggY3Vyc29ycworCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8
fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNTIGlu
ZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCitpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlv
bikKK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEn
KQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ2EnLCB7IGtleVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IGZhbHNlIH0pOwor
b2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoaW5kZXhlc1tqXS5uYW1lLCAnbmFtZScsIGluZGV4ZXNb
al0ub3B0aW9ucyk7CitvYmplY3RTdG9yZS5jcmVhdGVJbmRleChpbmRleGVzW2pdLm5hbWUsICdu
YW1lJywgaW5kZXhlc1tqXS5vcHRpb25zKTsKK2RhdGEgPSB7IG5hbWU6ICdCZW4nLCBpZDogMSB9
OworcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChkYXRhKTsKK2luZGV4ID0gb2JqZWN0U3RvcmUu
aW5kZXgoaW5kZXhlc1tqXS5uYW1lKTsKK3JlcXVlc3QgPSBpbmRleC5vcGVuQ3Vyc29yKCk7Citp
bmRleCA9IG9iamVjdFN0b3JlLmluZGV4KGluZGV4ZXNbal0ubmFtZSk7CityZXF1ZXN0ID0gaW5k
ZXgub3BlbkN1cnNvcigpOworUEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLm5hbWUgaXMg
J0JlbicKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS5uYW1lIGlzICdCZW4nCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogdGhp
cmRfcGFydHkvV2ViS2l0L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2Jq
ZWN0LWN1cnNvcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0aGlyZF9wYXJ0eS9XZWJLaXQvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sCShyZXZp
c2lvbiAwKQorKysgdGhpcmRfcGFydHkvV2ViS2l0L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tCisgIG9yaWdpbmFsIHRlc3Q6IGh0dHA6Ly9teHIu
bW96aWxsYS5vcmcvbW96aWxsYTIuMC9zb3VyY2UvZG9tL2luZGV4ZWREQi90ZXN0L3Rlc3Rfb2Jq
ZWN0Q3Vyc29ycy5odG1sCisgIGxpY2Vuc2Ugb2Ygb3JpZ2luYWwgdGVzdDoKKyAgICAiIEFueSBj
b3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICAgICAgaHR0cDov
L2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLyAiCistLT4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIGluZGV4IGN1
cnNvcnMiKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBp
bmRleGVkREIgPSBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdp
bmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsiKTsKKyAgICBzaG91
bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOworCisgICAgbmFtZSA9IHdpbmRvdy5sb2Nh
dGlvbi5wYXRobmFtZTsKKyAgICBkZXNjcmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKKyAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24p
Iik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKKyAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gb3BlblN1Y2Nl
c3MoKQoreworICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
CisKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEn
KSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2xlYW5EYXRhYmFzZTsKKyAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gY2xlYW5E
YXRhYmFzZSgpCit7CisgICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKKyAgICBvYmplY3RT
dG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2En
LCB7IGtleVBhdGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IGZhbHNlIH0pOyIpOworICAgIGluZGV4
ZXMgPSBbCisgICAgICAgIHsgbmFtZTogImEiLCBvcHRpb25zOiB7IH0gfSwKKyAgICAgICAgeyBu
YW1lOiAiYiIsIG9wdGlvbnM6IHsgdW5pcXVlOiB0cnVlIH0gfQorICAgIF07CisgICAgZm9yIChq
IGluIGluZGV4ZXMpIHsKKyAgICAgICAgZXZhbEFuZExvZygib2JqZWN0U3RvcmUuY3JlYXRlSW5k
ZXgoaW5kZXhlc1tqXS5uYW1lLCAnbmFtZScsIGluZGV4ZXNbal0ub3B0aW9ucyk7Iik7CisgICAg
fQorICAgIGRhdGEgPSBldmFsQW5kTG9nKCJkYXRhID0geyBuYW1lOiAnQmVuJywgaWQ6IDEgfTsi
KTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChk
YXRhKTsiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHBvc3RBZGQ7CisgICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIHBvc3RBZGQo
KQoreworICAgIG51bUluZGV4ZXMgPSBpbmRleGVzLmxlbmd0aDsKKyAgICBpbmRleGVzRmluaXNo
ZWQgPSAwOworICAgIGZvciAoaiBpbiBpbmRleGVzKSB7CisgICAgICAgIGluZGV4ID0gZXZhbEFu
ZExvZygiaW5kZXggPSBvYmplY3RTdG9yZS5pbmRleChpbmRleGVzW2pdLm5hbWUpOyIpOworICAg
ICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4Lm9wZW5DdXJzb3IoKTsi
KTsKKyAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cisg
ICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLm5hbWUiLCAiJ0JlbiciKTsKKyAg
ICAgICAgICAgIGlmICgrK2luZGV4ZXNGaW5pc2hlZCA9PSBudW1JbmRleGVzKSB7CisgICAgICAg
ICAgICAgICAgZG9uZSgpOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgIH0KKworfQor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwordGVzdCgpOworCis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91335</attachid>
            <date>2011-04-27 13:32:25 -0700</date>
            <delta_ts>2011-04-27 21:56:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59472-20110427163223.patch</filename>
            <type>text/plain</type>
            <size>6207</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDg1MDc2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDQtMjcgIE1hcmsgUGlsZ3JpbSAgPHBp
bGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBvcnQgTW96aWxsYSdzIEluZGV4ZWREQiB0ZXN0czogaW5kZXggY3Vyc29y
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk0NzIK
KworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGE6IEFkZGVkLgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2JqZWN0LWN1cnNvcnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1jdXJzb3Jz
Lmh0bWw6IEFkZGVkLgorCiAyMDExLTA0LTIwICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRleDogTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9vYmplY3QtY3Vyc29ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29iamVjdC1jdXJzb3JzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorVGVzdCBJbmRleGVkREIncyBpbmRleCBjdXJz
b3JzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVkREIgPSB3aW5kb3cu
aW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWRE
QjsKK1BBU1MgaW5kZXhlZERCID09IG51bGwgaXMgZmFsc2UKK2luZGV4ZWREQi5vcGVuKG5hbWUs
IGRlc2NyaXB0aW9uKQorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CityZXF1ZXN0ID0gZGIuc2V0
VmVyc2lvbignMScpCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorYXV0b0luY3JlbWVudCA9
IGZhbHNlOworb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnYScsIHsga2V5UGF0
aDogJ2lkJywgYXV0b0luY3JlbWVudDogYXV0b0luY3JlbWVudCB9KTsKK29iamVjdFN0b3JlLmNy
ZWF0ZUluZGV4KGluZGV4ZXNbal0ubmFtZSwgJ25hbWUnLCBpbmRleGVzW2pdLm9wdGlvbnMpOwor
b2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoaW5kZXhlc1tqXS5uYW1lLCAnbmFtZScsIGluZGV4ZXNb
al0ub3B0aW9ucyk7CitkYXRhID0geyBuYW1lOiAnQmVuJywgaWQ6IDEgfTsKK3JlcXVlc3QgPSBv
YmplY3RTdG9yZS5hZGQoZGF0YSk7CitpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KGluZGV4ZXNb
al0ubmFtZSk7CityZXF1ZXN0ID0gaW5kZXgub3BlbkN1cnNvcigpOworaW5kZXggPSBvYmplY3RT
dG9yZS5pbmRleChpbmRleGVzW2pdLm5hbWUpOworcmVxdWVzdCA9IGluZGV4Lm9wZW5DdXJzb3Io
KTsKK1BBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS5uYW1lIGlzICdCZW4nCitQQVNTIGV2
ZW50LnRhcmdldC5yZXN1bHQudmFsdWUubmFtZSBpcyAnQmVuJworYXV0b0luY3JlbWVudCA9IHRy
dWU7CitvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdiJywgeyBrZXlQYXRoOiAn
aWQnLCBhdXRvSW5jcmVtZW50OiBhdXRvSW5jcmVtZW50IH0pOworb2JqZWN0U3RvcmUuY3JlYXRl
SW5kZXgoaW5kZXhlc1tqXS5uYW1lLCAnbmFtZScsIGluZGV4ZXNbal0ub3B0aW9ucyk7CitvYmpl
Y3RTdG9yZS5jcmVhdGVJbmRleChpbmRleGVzW2pdLm5hbWUsICduYW1lJywgaW5kZXhlc1tqXS5v
cHRpb25zKTsKK2RhdGEgPSB7IG5hbWU6ICdCZW4nIH07CityZXF1ZXN0ID0gb2JqZWN0U3RvcmUu
YWRkKGRhdGEpOworaW5kZXggPSBvYmplY3RTdG9yZS5pbmRleChpbmRleGVzW2pdLm5hbWUpOwor
cmVxdWVzdCA9IGluZGV4Lm9wZW5DdXJzb3IoKTsKK2luZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgo
aW5kZXhlc1tqXS5uYW1lKTsKK3JlcXVlc3QgPSBpbmRleC5vcGVuQ3Vyc29yKCk7CitQQVNTIGV2
ZW50LnRhcmdldC5yZXN1bHQudmFsdWUubmFtZSBpcyAnQmVuJworUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0LnZhbHVlLm5hbWUgaXMgJ0JlbicKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL29iamVjdC1jdXJzb3JzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29ycy5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vYmplY3QtY3Vyc29y
cy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
IS0tCisgIG9yaWdpbmFsIHRlc3Q6IGh0dHA6Ly9teHIubW96aWxsYS5vcmcvbW96aWxsYTIuMC9z
b3VyY2UvZG9tL2luZGV4ZWREQi90ZXN0L3Rlc3Rfb2JqZWN0Q3Vyc29ycy5odG1sCisgIGxpY2Vu
c2Ugb2Ygb3JpZ2luYWwgdGVzdDoKKyAgICAiIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRv
IHRoZSBQdWJsaWMgRG9tYWluLgorICAgICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVi
bGljZG9tYWluL3plcm8vMS4wLyAiCistLT4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2Ny
aXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIGluZGV4IGN1cnNvcnMiKTsKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBpbmRleGVkREIgPSBldmFsQW5kTG9nKCJp
bmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwg
d2luZG93Lm1vekluZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0g
bnVsbCIpOworCisgICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKK30KKworZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQoreworICAgIGRiID0gZXZhbEFu
ZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisKKyAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gY2xlYW5EYXRhYmFzZTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCit7CisgICAgZGVsZXRl
QWxsT2JqZWN0U3RvcmVzKGRiKTsKKyAgICBhdXRvSW5jcmVtZW50ID0gZXZhbEFuZExvZygiYXV0
b0luY3JlbWVudCA9IGZhbHNlOyIpOworICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2Jq
ZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnYScsIHsga2V5UGF0aDogJ2lkJywgYXV0
b0luY3JlbWVudDogYXV0b0luY3JlbWVudCB9KTsiKTsKKyAgICBpbmRleGVzID0gWworICAgICAg
ICB7IG5hbWU6ICJhIiwgb3B0aW9uczogeyB9IH0sCisgICAgICAgIHsgbmFtZTogImIiLCBvcHRp
b25zOiB7IHVuaXF1ZTogdHJ1ZSB9IH0KKyAgICBdOworICAgIGZvciAoaiBpbiBpbmRleGVzKSB7
CisgICAgICAgIGV2YWxBbmRMb2coIm9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KGluZGV4ZXNbal0u
bmFtZSwgJ25hbWUnLCBpbmRleGVzW2pdLm9wdGlvbnMpOyIpOworICAgIH0KKyAgICBkYXRhID0g
ZXZhbEFuZExvZygiZGF0YSA9IHsgbmFtZTogJ0JlbicsIGlkOiAxIH07Iik7CisgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoZGF0YSk7Iik7CisgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0QWRkOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBwb3N0QWRkKCkKK3sKKyAgICBudW1J
bmRleGVzID0gaW5kZXhlcy5sZW5ndGg7CisgICAgaW5kZXhlc0ZpbmlzaGVkID0gMDsKKyAgICBm
b3IgKGogaW4gaW5kZXhlcykgeworICAgICAgICBpbmRleCA9IGV2YWxBbmRMb2coImluZGV4ID0g
b2JqZWN0U3RvcmUuaW5kZXgoaW5kZXhlc1tqXS5uYW1lKTsiKTsKKyAgICAgICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleC5vcGVuQ3Vyc29yKCk7Iik7CisgICAgICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAgICBzaG91bGRCZSgiZXZl
bnQudGFyZ2V0LnJlc3VsdC52YWx1ZS5uYW1lIiwgIidCZW4nIik7CisgICAgICAgICAgICBpZiAo
KytpbmRleGVzRmluaXNoZWQgPT0gbnVtSW5kZXhlcykgeworICAgICAgICAgICAgICAgIGlmIChh
dXRvSW5jcmVtZW50KSB7CisgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsKKyAgICAgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBzZXR1cEF1dG9JbmNyZW1lbnQoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgfQorfQor
CitmdW5jdGlvbiBzZXR1cEF1dG9JbmNyZW1lbnQoKQoreworICAgIGF1dG9JbmNyZW1lbnQgPSBl
dmFsQW5kTG9nKCJhdXRvSW5jcmVtZW50ID0gdHJ1ZTsiKTsKKyAgICBvYmplY3RTdG9yZSA9IGV2
YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2InLCB7IGtleVBh
dGg6ICdpZCcsIGF1dG9JbmNyZW1lbnQ6IGF1dG9JbmNyZW1lbnQgfSk7Iik7CisgICAgZm9yIChq
IGluIGluZGV4ZXMpIHsKKyAgICAgICAgZXZhbEFuZExvZygib2JqZWN0U3RvcmUuY3JlYXRlSW5k
ZXgoaW5kZXhlc1tqXS5uYW1lLCAnbmFtZScsIGluZGV4ZXNbal0ub3B0aW9ucyk7Iik7CisgICAg
fQorICAgIGRhdGEgPSBldmFsQW5kTG9nKCJkYXRhID0geyBuYW1lOiAnQmVuJyB9OyIpOworICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGRhdGEpOyIp
OworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gcG9zdEFkZDsKKyAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CisKK3Rlc3QoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>