<?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>45294</bug_id>
          
          <creation_ts>2010-09-07 07:05:21 -0700</creation_ts>
          <short_desc>Web Inspector: add a sanity test for storage panel</short_desc>
          <delta_ts>2010-09-08 23:59:17 -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>Web Inspector (Deprecated)</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>podivilov</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>275013</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-07 07:05:21 -0700</bug_when>
    <thetext>Web Inspector: add a sanity test for storage panel</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275017</commentid>
    <comment_count>1</comment_count>
      <attachid>66718</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-07 07:09:21 -0700</bug_when>
    <thetext>Created attachment 66718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275026</commentid>
    <comment_count>2</comment_count>
      <attachid>66720</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-07 07:35:01 -0700</bug_when>
    <thetext>Created attachment 66720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275029</commentid>
    <comment_count>3</comment_count>
      <attachid>66718</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-09-07 07:45:54 -0700</bug_when>
    <thetext>Comment on attachment 66718
Patch

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

&gt; LayoutTests/inspector/storage-panel-show.html:27
&gt; +    function printStorageEntries(storage, entries) {
Looks like this function is not used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275035</commentid>
    <comment_count>4</comment_count>
      <attachid>66721</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-07 07:58:18 -0700</bug_when>
    <thetext>Created attachment 66721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275036</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-07 07:59:31 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 66718 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=66718&amp;action=prettypatch
&gt; 
&gt; &gt; LayoutTests/inspector/storage-panel-show.html:27
&gt; &gt; +    function printStorageEntries(storage, entries) {
&gt; Looks like this function is not used.

Thanks. Removed the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275129</commentid>
    <comment_count>6</comment_count>
      <attachid>66721</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-07 10:23:37 -0700</bug_when>
    <thetext>Comment on attachment 66721
Patch

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

&gt; LayoutTests/inspector/storage-panel-show-expected.txt:1
&gt; +Test that storage panel is present and that it contains correct datat for local and session DOM storages.

Typo: &quot;datat&quot; =&gt; &quot;data&quot;


&gt; LayoutTests/inspector/storage-panel-show.html

This tests only the DOM Storage aspect of the Storage panel. Maybe
this file name is a bit too general, unless there are immediate
plans to test other parts of the panel (Databases, Cookies,
Application Caches).


&gt; LayoutTests/inspector/storage-panel-show.html:12
&gt; +        localStorage[&quot;_a&quot; + i] = i;
&gt; +        sessionStorage[&quot;_b&quot; + i] = i+10;

These lines are a bit misleading, since they are actually stored as strings. I think
eventually they will be stored as Structured Clones. Should be fine, but something
to keep in mind.


&gt; WebKit/chromium/src/js/Tests.js:-224
&gt; -TestSuite.prototype.testHostIsPresent = function()
&gt; -TestSuite.prototype.testElementsTreeRoot = function()
&gt; -TestSuite.prototype.testMainResource = function()

A bit weird removing these tests, as they have nothing to do with this patch.
Probably would have been better to have its own patch.


However, there is nothing really wrong with this patch, and its a good
test =). Do you agree with any of the comments above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275637</commentid>
    <comment_count>7</comment_count>
      <attachid>66849</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-07 23:34:48 -0700</bug_when>
    <thetext>Created attachment 66849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275640</commentid>
    <comment_count>8</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-07 23:39:27 -0700</bug_when>
    <thetext>Thanks for reviewing this!

(In reply to comment #6)
&gt; (From update of attachment 66721 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=66721&amp;action=prettypatch
&gt; 
&gt; &gt; LayoutTests/inspector/storage-panel-show-expected.txt:1
&gt; &gt; +Test that storage panel is present and that it contains correct datat for local and session DOM storages.
&gt; 
&gt; Typo: &quot;datat&quot; =&gt; &quot;data&quot;
&gt; 
Done.

 
&gt; &gt; LayoutTests/inspector/storage-panel-show.html
&gt; 
&gt; This tests only the DOM Storage aspect of the Storage panel. Maybe
&gt; this file name is a bit too general, unless there are immediate
&gt; plans to test other parts of the panel (Databases, Cookies,
&gt; Application Caches).
&gt;
Renamed the test to storage-panel-dom-storage.html
 

&gt; &gt; LayoutTests/inspector/storage-panel-show.html:12
&gt; &gt; +        localStorage[&quot;_a&quot; + i] = i;
&gt; &gt; +        sessionStorage[&quot;_b&quot; + i] = i+10;
&gt; 
&gt; These lines are a bit misleading, since they are actually stored as strings. I think
&gt; eventually they will be stored as Structured Clones. Should be fine, but something
&gt; to keep in mind.
&gt;
Changed the values to strings. This way ability to store  JS objects in the dom storage shouldn&apos;t affect this test.

 
&gt; 
&gt; &gt; WebKit/chromium/src/js/Tests.js:-224
&gt; &gt; -TestSuite.prototype.testHostIsPresent = function()
&gt; &gt; -TestSuite.prototype.testElementsTreeRoot = function()
&gt; &gt; -TestSuite.prototype.testMainResource = function()
&gt; 
&gt; A bit weird removing these tests, as they have nothing to do with this patch.
&gt; Probably would have been better to have its own patch.
&gt; 
Ok, excluded this change from this patch. I was too lazy to file a new bug just too remove obsolete code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275875</commentid>
    <comment_count>9</comment_count>
      <attachid>66849</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-08 09:29:01 -0700</bug_when>
    <thetext>Comment on attachment 66849
Patch

Thanks for those making those changes.

r=me as long as those key/value pair orderings will always happen.
It would be bad if the order changed in some iterations causing
a flakey test. You could probably just check using --iterations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275884</commentid>
    <comment_count>10</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-08 09:33:54 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 66849 [details])
&gt; Thanks for those making those changes.
&gt; 
&gt; r=me as long as those key/value pair orderings will always happen.
&gt; It would be bad if the order changed in some iterations causing
&gt; a flakey test. You could probably just check using --iterations.

The order was steady for 100 iterations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275921</commentid>
    <comment_count>11</comment_count>
      <attachid>66849</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-08 10:34:07 -0700</bug_when>
    <thetext>Comment on attachment 66849
Patch

Rejecting patch 66849 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--wait-for-httpd&apos;, &apos;--ignore-tests&apos;, &apos;compositing,media&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 20939 test cases.
animations/combo-transform-translate+scale.html -&gt; failed

Exiting early after 1 failures. 99 tests run.
20.27s total testing time

98 test cases (98%) succeeded
1 test case (1%) had incorrect layout

Full output: http://queues.webkit.org/results/3914322</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276336</commentid>
    <comment_count>12</comment_count>
      <attachid>66849</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-08 23:59:05 -0700</bug_when>
    <thetext>Comment on attachment 66849
Patch

Clearing flags on attachment: 66849

Committed r67067: &lt;http://trac.webkit.org/changeset/67067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276337</commentid>
    <comment_count>13</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-08 23:59:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66718</attachid>
            <date>2010-09-07 07:09:21 -0700</date>
            <delta_ts>2010-09-07 07:45:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45294-20100907180918.patch</filename>
            <type>text/plain</type>
            <size>6011</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZDBiNzFiZDVmYWUyNDM4ZjMyNzU4ZGEwYzAzMGU5ZjAzNTE0NDUxLi4xYWFlN2U5
NDM5ODVjNDI3MWM2MTUyNDkyYzY1MWU2N2QzZmRmZTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMDcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGEgc2FuaXR5IHRlc3QgZm9yIHN0b3JhZ2UgcGFuZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1Mjk0CisKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc3RvcmFnZS1wYW5lbC1zaG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5z
cGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy5odG1sOiBBZGRlZC4KKwogMjAxMC0wOS0wNiAgUGhp
bGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgc2tpcHBpbmcgYSBjcmFzaGluZyBtZWRpYSB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
M2RmZGZjN2YzYzU5OGJjNDdmNWVjMTEzMzkxNjNjYjIyMGY1OGYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMSBAQAorVGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2VudCBhbmQg
dGhhdCBpdCBjb250YWlucyBjb3JyZWN0IGRhdGF0IGZvciBsb2NhbCBhbmQgc2Vzc2lvbiBET00g
c3RvcmFnZXMuCisKK1BvcHVsYXRlZCBsb2NhbCBhbmQgc2Vzc2lvbiBzdG9yYWdlCitEaWQgc2hv
dzogTG9jYWwgc3RvcmFnZQorRGlkIHNob3c6IFNlc3Npb24gc3RvcmFnZQorTG9jYWwgc3RvcmFn
ZSBjb250ZW50OiAKK0tleVZhbHVlX2EyMl9hNDRfYTAwX2E1NV9hNzdfYTg4X2ExMV9hNjZfYTMz
X2E5OQorU2Vzc2lvbiBzdG9yYWdlIGNvbnRlbnQ6IAorS2V5VmFsdWVfYjkxOV9iNjE2X2IyMTJf
YjUxNV9iMzEzX2IxMTFfYjgxOF9iNzE3X2IwMTBfYjQxNAorRE9ORQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE0ZmE3NWY5
ZWQyMWM5NjM1NmQwYTA3N2Q3OGMwZWY0MGVkY2NhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVsLXNob3cuaHRtbApAQCAtMCwwICsxLDY0IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXItdGVzdDIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rp
b24gcG9wdWxhdGVET01TdG9yYWdlKCkKK3sKKyAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTsKKyAg
ICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkr
KykgeworICAgICAgICBsb2NhbFN0b3JhZ2VbIl9hIiArIGldID0gaTsKKyAgICAgICAgc2Vzc2lv
blN0b3JhZ2VbIl9iIiArIGldID0gaSsxMDsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInN0b3JhZ2UiKTsKKworICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInBvcHVsYXRlRE9NU3RvcmFnZSgpIiwgZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQb3B1bGF0ZWQgbG9j
YWwgYW5kIHNlc3Npb24gc3RvcmFnZSIpOworICAgIH0pOworICAgIGZ1bmN0aW9uIG5hbWUoc3Rv
cmFnZSkgeworICAgICAgICByZXR1cm4gc3RvcmFnZS5pc0xvY2FsU3RvcmFnZSA/ICJMb2NhbCBz
dG9yYWdlIiA6ICJTZXNzaW9uIHN0b3JhZ2UiOworICAgIH0KKyAgICBmdW5jdGlvbiBwcmludFN0
b3JhZ2VFbnRyaWVzKHN0b3JhZ2UsIGVudHJpZXMpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQobmFtZShzdG9yYWdlKSArICIgZW50cmllczogIik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KGVudHJpZXMpOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFm
dGVyUGVuZGluZ0Rpc3BhdGNoZXMoZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBzdG9yYWdlcyA9
IFdlYkluc3BlY3Rvci5wYW5lbHMuc3RvcmFnZS5fZG9tU3RvcmFnZTsKKyAgICAgICAgaWYgKHN0
b3JhZ2VzKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0b3JhZ2VzLmxlbmd0
aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgdmFyIHN0b3JhZ2UgPSBzdG9yYWdlc1tpXTsKKyAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsLnNob3dET01TdG9yYWdlKHN0
b3JhZ2UpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEaWQgc2hv
dzogIiArIG5hbWUoc3RvcmFnZSkpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMOiBubyBET00gc3RvcmFnZXMg
Zm91bmQuIik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRj
aGVzKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVjdG9y
LnBhbmVscy5zdG9yYWdlLl9kb21TdG9yYWdlOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBzdG9yYWdlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgICAgIHZhciBzdG9yYWdl
ID0gc3RvcmFnZXNbaV07CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
bmFtZShzdG9yYWdlKSArICIgY29udGVudDogIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoc3RvcmFnZS5fZG9tU3RvcmFnZVZpZXcuZWxlbWVudC50ZXh0Q29udGVu
dCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
RE9ORSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAg
ICAgfSk7CisgICAgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQgYW5k
IHRoYXQgaXQgY29udGFpbnMgY29ycmVjdCBkYXRhdCBmb3IgbG9jYWwgYW5kIHNlc3Npb24gRE9N
IHN0b3JhZ2VzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2Mzc4
ZTYzMjljMTVhNDE4NTAzYzdlMTlkMjkwNzgwYzVkMGYzYTQ2Li5iNjU1NmM1ODRkM2U2ODRlZTI1
YzZhZDQ0NDQ3NzY2MzI1MDRiMGMwIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
MC0wOS0wNyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
ZGQgYSBzYW5pdHkgdGVzdCBmb3Igc3RvcmFnZSBwYW5lbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyOTQKKworICAgICAgICAqIHNyYy9qcy9UZXN0
cy5qczogcmVtb3ZlZCB0ZXN0U3RvcmFnZVBhbmVsIHdoaWNoIHdhcyBzdXBlcnNlZGVkIGJ5IGxh
eW91dCB0ZXN0IHN0b3JhZ2UtcGFuZWwtc2hvdy5odG1sCisKIDIwMTAtMDktMDYgIEFudG9uIE11
aGluICA8YW50b25tQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9UZXN0cy5qcyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvanMvVGVzdHMuanMKaW5kZXggNDE1NzRiNDNmZmEyOTY3NDJiN2IwYzNh
YmQwNzI5MDQ4MWQ1MzM4OC4uMGEzNmMzNDQ0ODE0MjdjNzVhMGQ1ZmQwNmMxYjllMmIzZmQ5MDc5
MiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9UZXN0cy5qcworKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL2pzL1Rlc3RzLmpzCkBAIC0xNDM1LDQzICsxNDM1LDYgQEAgVGVzdFN1
aXRlLnByb3RvdHlwZS50ZXN0TWVzc2FnZUxvb3BSZWVudHJhbnQgPSBmdW5jdGlvbigpCiAKIAog
LyoqCi0gKiBUZXN0cyB0aGF0IFN0b3JhZ2UgcGFuZWwgY2FuIGJlIG9wZW4gYW5kIHRoYXQgbG9j
YWwgRE9NIHN0b3JhZ2UgaXMgYWRkZWQKLSAqIHRvIHRoZSBwYW5lbC4KLSAqLwotVGVzdFN1aXRl
LnByb3RvdHlwZS50ZXN0U2hvd1N0b3JhZ2VQYW5lbCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIg
dGVzdCA9IHRoaXM7Ci0gICAgdGhpcy5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5wYW5lbHMuc3Rv
cmFnZSwgImFkZERPTVN0b3JhZ2UiLAotICAgICAgICBmdW5jdGlvbihzdG9yYWdlKSB7Ci0gICAg
ICAgICAgICB2YXIgb3JpZyA9IHN0b3JhZ2UuZ2V0RW50cmllczsKLSAgICAgICAgICAgIHN0b3Jh
Z2UuZ2V0RW50cmllcyA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7Ci0gICAgICAgICAgICAgICAgb3Jp
Zy5jYWxsKHRoaXMsIGZ1bmN0aW9uKGVudHJpZXMpIHsKLSAgICAgICAgICAgICAgICAgICAgY2Fs
bGJhY2soZW50cmllcyk7Ci0gICAgICAgICAgICAgICAgICAgIHRlc3QucmVsZWFzZUNvbnRyb2wo
KTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICB0cnkg
ewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50UGFuZWwuc2VsZWN0RE9NU3Rv
cmFnZShzdG9yYWdlLmlkKTsKLSAgICAgICAgICAgICAgICBzdG9yYWdlLmdldEVudHJpZXMgPSBv
cmlnOwotICAgICAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgICAgIHRlc3QuZmFp
bCgiRXhjZXB0aW9uIGluIHNlbGVjdERPTVN0b3JhZ2U6ICIgKyBlKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfSk7Ci0gICAgdGhpcy5zaG93UGFuZWwoInN0b3JhZ2UiKTsKLQotICAgIC8vIEFj
Y2VzcyBsb2NhbFN0b3JhZ2Ugc28gdGhhdCBpdCdzIHB1c2hlZCB0byB0aGUgZnJvbnRlbmQuCi0g
ICAgdGhpcy5ldmFsdWF0ZUluQ29uc29sZV8oCi0gICAgICAgICdzZXRUaW1lb3V0KCJsb2NhbFN0
b3JhZ2UueCA9IDEwIiAsIDApJywKLSAgICAgICAgZnVuY3Rpb24ocmVzdWx0VGV4dCkgewotICAg
ICAgICAgICAgdGVzdC5hc3NlcnRUcnVlKCFpc05hTihyZXN1bHRUZXh0KSwgIkZhaWxlZCB0byBn
ZXQgdGltZXIgaWQ6ICIgKyByZXN1bHRUZXh0KTsKLSAgICAgICAgfSk7Ci0KLSAgICAvLyBXYWl0
IHVudGlsIERPTSBzdG9yYWdlIGlzIGFkZGVkIHRvIHRoZSBwYW5lbC4KLSAgICB0aGlzLnRha2VD
b250cm9sKCk7Ci19OwotCi0KLS8qKgogICogVGVzdCBydW5uZXIgZm9yIHRoZSB0ZXN0IHN1aXRl
LgogICovCiB2YXIgdWlUZXN0cyA9IHt9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66720</attachid>
            <date>2010-09-07 07:35:01 -0700</date>
            <delta_ts>2010-09-07 07:58:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45294-20100907183458.patch</filename>
            <type>text/plain</type>
            <size>7221</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZDBiNzFiZDVmYWUyNDM4ZjMyNzU4ZGEwYzAzMGU5ZjAzNTE0NDUxLi4xYWFlN2U5
NDM5ODVjNDI3MWM2MTUyNDkyYzY1MWU2N2QzZmRmZTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMDcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGEgc2FuaXR5IHRlc3QgZm9yIHN0b3JhZ2UgcGFuZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1Mjk0CisKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc3RvcmFnZS1wYW5lbC1zaG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5z
cGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy5odG1sOiBBZGRlZC4KKwogMjAxMC0wOS0wNiAgUGhp
bGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgc2tpcHBpbmcgYSBjcmFzaGluZyBtZWRpYSB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
M2RmZGZjN2YzYzU5OGJjNDdmNWVjMTEzMzkxNjNjYjIyMGY1OGYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMSBAQAorVGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2VudCBhbmQg
dGhhdCBpdCBjb250YWlucyBjb3JyZWN0IGRhdGF0IGZvciBsb2NhbCBhbmQgc2Vzc2lvbiBET00g
c3RvcmFnZXMuCisKK1BvcHVsYXRlZCBsb2NhbCBhbmQgc2Vzc2lvbiBzdG9yYWdlCitEaWQgc2hv
dzogTG9jYWwgc3RvcmFnZQorRGlkIHNob3c6IFNlc3Npb24gc3RvcmFnZQorTG9jYWwgc3RvcmFn
ZSBjb250ZW50OiAKK0tleVZhbHVlX2EyMl9hNDRfYTAwX2E1NV9hNzdfYTg4X2ExMV9hNjZfYTMz
X2E5OQorU2Vzc2lvbiBzdG9yYWdlIGNvbnRlbnQ6IAorS2V5VmFsdWVfYjkxOV9iNjE2X2IyMTJf
YjUxNV9iMzEzX2IxMTFfYjgxOF9iNzE3X2IwMTBfYjQxNAorRE9ORQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE0ZmE3NWY5
ZWQyMWM5NjM1NmQwYTA3N2Q3OGMwZWY0MGVkY2NhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVsLXNob3cuaHRtbApAQCAtMCwwICsxLDY0IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXItdGVzdDIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rp
b24gcG9wdWxhdGVET01TdG9yYWdlKCkKK3sKKyAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTsKKyAg
ICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkr
KykgeworICAgICAgICBsb2NhbFN0b3JhZ2VbIl9hIiArIGldID0gaTsKKyAgICAgICAgc2Vzc2lv
blN0b3JhZ2VbIl9iIiArIGldID0gaSsxMDsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInN0b3JhZ2UiKTsKKworICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInBvcHVsYXRlRE9NU3RvcmFnZSgpIiwgZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQb3B1bGF0ZWQgbG9j
YWwgYW5kIHNlc3Npb24gc3RvcmFnZSIpOworICAgIH0pOworICAgIGZ1bmN0aW9uIG5hbWUoc3Rv
cmFnZSkgeworICAgICAgICByZXR1cm4gc3RvcmFnZS5pc0xvY2FsU3RvcmFnZSA/ICJMb2NhbCBz
dG9yYWdlIiA6ICJTZXNzaW9uIHN0b3JhZ2UiOworICAgIH0KKyAgICBmdW5jdGlvbiBwcmludFN0
b3JhZ2VFbnRyaWVzKHN0b3JhZ2UsIGVudHJpZXMpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQobmFtZShzdG9yYWdlKSArICIgZW50cmllczogIik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KGVudHJpZXMpOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFm
dGVyUGVuZGluZ0Rpc3BhdGNoZXMoZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBzdG9yYWdlcyA9
IFdlYkluc3BlY3Rvci5wYW5lbHMuc3RvcmFnZS5fZG9tU3RvcmFnZTsKKyAgICAgICAgaWYgKHN0
b3JhZ2VzKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0b3JhZ2VzLmxlbmd0
aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgdmFyIHN0b3JhZ2UgPSBzdG9yYWdlc1tpXTsKKyAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsLnNob3dET01TdG9yYWdlKHN0
b3JhZ2UpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEaWQgc2hv
dzogIiArIG5hbWUoc3RvcmFnZSkpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMOiBubyBET00gc3RvcmFnZXMg
Zm91bmQuIik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNwYXRj
aGVzKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVjdG9y
LnBhbmVscy5zdG9yYWdlLl9kb21TdG9yYWdlOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBzdG9yYWdlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgICAgIHZhciBzdG9yYWdl
ID0gc3RvcmFnZXNbaV07CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
bmFtZShzdG9yYWdlKSArICIgY29udGVudDogIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoc3RvcmFnZS5fZG9tU3RvcmFnZVZpZXcuZWxlbWVudC50ZXh0Q29udGVu
dCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
RE9ORSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAg
ICAgfSk7CisgICAgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQgYW5k
IHRoYXQgaXQgY29udGFpbnMgY29ycmVjdCBkYXRhdCBmb3IgbG9jYWwgYW5kIHNlc3Npb24gRE9N
IHN0b3JhZ2VzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2Mzc4
ZTYzMjljMTVhNDE4NTAzYzdlMTlkMjkwNzgwYzVkMGYzYTQ2Li44NzNkZTM5OWM2NzBmMWQyZmIz
ZDY2M2FkZGIzYjgyMzExYjA0ZWZjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
MC0wOS0wNyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
ZGQgYSBzYW5pdHkgdGVzdCBmb3Igc3RvcmFnZSBwYW5lbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyOTQKKworICAgICAgICAqIHNyYy9qcy9UZXN0
cy5qczogcmVtb3ZlZCB0ZXN0U3RvcmFnZVBhbmVsLCB0ZXN0SG9zdElzUHJlc2VudCwgdGVzdEVs
ZW1lbnRzVHJlZVJvb3QsIHRlc3RNYWluUmVzb3VyY2UKKyAgICAgICAgd2hpY2ggd2VyZSBzdXBl
cnNlZGVkIGJ5IGluc3BlY3RvciBsYXlvdXQgdGVzdHMuCisKIDIwMTAtMDktMDYgIEFudG9uIE11
aGluICA8YW50b25tQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9UZXN0cy5qcyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvanMvVGVzdHMuanMKaW5kZXggNDE1NzRiNDNmZmEyOTY3NDJiN2IwYzNh
YmQwNzI5MDQ4MWQ1MzM4OC4uZjc2MTk3NDI0YWU1OWIwMjg0YWI5YmEwYTViNzgwMTE4N2ZiNzA3
NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9UZXN0cy5qcworKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL2pzL1Rlc3RzLmpzCkBAIC0yMTksNDAgKzIxOSw2IEBAIFRlc3RTdWl0
ZS5wcm90b3R5cGUuYWRkU25pZmZlciA9IGZ1bmN0aW9uKHJlY2VpdmVyLCBtZXRob2ROYW1lLCBv
dmVycmlkZSwgb3B0X3N0CiAKIAogLyoqCi0gKiBUZXN0cyB0aGF0IHRoZSByZWFsIGluamVjdGVk
IGhvc3QgaXMgcHJlc2VudCBpbiB0aGUgY29udGV4dC4KLSAqLwotVGVzdFN1aXRlLnByb3RvdHlw
ZS50ZXN0SG9zdElzUHJlc2VudCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB0aGlzLmFzc2VydFRydWUo
dHlwZW9mIEluc3BlY3RvckZyb250ZW5kSG9zdCA9PT0gIm9iamVjdCIgJiYgIUluc3BlY3RvckZy
b250ZW5kSG9zdC5pc1N0dWIpOwotfTsKLQotCi0vKioKLSAqIFRlc3RzIGVsZW1lbnRzIHRyZWUg
aGFzIGFuICJIVE1MIiByb290LgotICovCi1UZXN0U3VpdGUucHJvdG90eXBlLnRlc3RFbGVtZW50
c1RyZWVSb290ID0gZnVuY3Rpb24oKQotewotICAgIHZhciBkb2MgPSBXZWJJbnNwZWN0b3IuZG9t
QWdlbnQuZG9jdW1lbnQ7Ci0gICAgdGhpcy5hc3NlcnRFcXVhbHMoIkhUTUwiLCBkb2MuZG9jdW1l
bnRFbGVtZW50Lm5vZGVOYW1lKTsKLSAgICB0aGlzLmFzc2VydFRydWUoZG9jLmRvY3VtZW50RWxl
bWVudC5oYXNDaGlsZE5vZGVzKCkpOwotfTsKLQotCi0vKioKLSAqIFRlc3RzIHRoYXQgbWFpbiBy
ZXNvdXJjZSBpcyBwcmVzZW50IGluIHRoZSBzeXN0ZW0gYW5kIHRoYXQgaXQgaXMKLSAqIHRoZSBv
bmx5IHJlc291cmNlLgotICovCi1UZXN0U3VpdGUucHJvdG90eXBlLnRlc3RNYWluUmVzb3VyY2Ug
PSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIHRva2VucyA9IFtdOwotICAgIHZhciByZXNvdXJjZXMg
PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VzOwotICAgIGZvciAodmFyIGlkIGluIHJlc291cmNlcykK
LSAgICAgICAgdG9rZW5zLnB1c2gocmVzb3VyY2VzW2lkXS5sYXN0UGF0aENvbXBvbmVudCk7Ci0g
ICAgdGhpcy5hc3NlcnRFcXVhbHMoInNpbXBsZV9wYWdlLmh0bWwiLCB0b2tlbnMuam9pbigiLCIp
KTsKLX07Ci0KLQotLyoqCiAgKiBUZXN0cyB0aGF0IHJlc291cmNlcyB0YWIgaXMgZW5hYmxlZCB3
aGVuIGNvcnJlc3BvbmRpbmcgaXRlbSBpcyBzZWxlY3RlZC4KICAqLwogVGVzdFN1aXRlLnByb3Rv
dHlwZS50ZXN0RW5hYmxlUmVzb3VyY2VzVGFiID0gZnVuY3Rpb24oKQpAQCAtMTQzNSw0MyArMTQw
MSw2IEBAIFRlc3RTdWl0ZS5wcm90b3R5cGUudGVzdE1lc3NhZ2VMb29wUmVlbnRyYW50ID0gZnVu
Y3Rpb24oKQogCiAKIC8qKgotICogVGVzdHMgdGhhdCBTdG9yYWdlIHBhbmVsIGNhbiBiZSBvcGVu
IGFuZCB0aGF0IGxvY2FsIERPTSBzdG9yYWdlIGlzIGFkZGVkCi0gKiB0byB0aGUgcGFuZWwuCi0g
Ki8KLVRlc3RTdWl0ZS5wcm90b3R5cGUudGVzdFNob3dTdG9yYWdlUGFuZWwgPSBmdW5jdGlvbigp
Ci17Ci0gICAgdmFyIHRlc3QgPSB0aGlzOwotICAgIHRoaXMuYWRkU25pZmZlcihXZWJJbnNwZWN0
b3IucGFuZWxzLnN0b3JhZ2UsICJhZGRET01TdG9yYWdlIiwKLSAgICAgICAgZnVuY3Rpb24oc3Rv
cmFnZSkgewotICAgICAgICAgICAgdmFyIG9yaWcgPSBzdG9yYWdlLmdldEVudHJpZXM7Ci0gICAg
ICAgICAgICBzdG9yYWdlLmdldEVudHJpZXMgPSBmdW5jdGlvbihjYWxsYmFjaykgewotICAgICAg
ICAgICAgICAgIG9yaWcuY2FsbCh0aGlzLCBmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGNhbGxiYWNrKGVudHJpZXMpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0LnJl
bGVhc2VDb250cm9sKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9OwotICAg
ICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVs
LnNlbGVjdERPTVN0b3JhZ2Uoc3RvcmFnZS5pZCk7Ci0gICAgICAgICAgICAgICAgc3RvcmFnZS5n
ZXRFbnRyaWVzID0gb3JpZzsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAg
ICAgICB0ZXN0LmZhaWwoIkV4Y2VwdGlvbiBpbiBzZWxlY3RET01TdG9yYWdlOiAiICsgZSk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0pOwotICAgIHRoaXMuc2hvd1BhbmVsKCJzdG9yYWdlIik7
Ci0KLSAgICAvLyBBY2Nlc3MgbG9jYWxTdG9yYWdlIHNvIHRoYXQgaXQncyBwdXNoZWQgdG8gdGhl
IGZyb250ZW5kLgotICAgIHRoaXMuZXZhbHVhdGVJbkNvbnNvbGVfKAotICAgICAgICAnc2V0VGlt
ZW91dCgibG9jYWxTdG9yYWdlLnggPSAxMCIgLCAwKScsCi0gICAgICAgIGZ1bmN0aW9uKHJlc3Vs
dFRleHQpIHsKLSAgICAgICAgICAgIHRlc3QuYXNzZXJ0VHJ1ZSghaXNOYU4ocmVzdWx0VGV4dCks
ICJGYWlsZWQgdG8gZ2V0IHRpbWVyIGlkOiAiICsgcmVzdWx0VGV4dCk7Ci0gICAgICAgIH0pOwot
Ci0gICAgLy8gV2FpdCB1bnRpbCBET00gc3RvcmFnZSBpcyBhZGRlZCB0byB0aGUgcGFuZWwuCi0g
ICAgdGhpcy50YWtlQ29udHJvbCgpOwotfTsKLQotCi0vKioKICAqIFRlc3QgcnVubmVyIGZvciB0
aGUgdGVzdCBzdWl0ZS4KICAqLwogdmFyIHVpVGVzdHMgPSB7fTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66721</attachid>
            <date>2010-09-07 07:58:18 -0700</date>
            <delta_ts>2010-09-07 23:34:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45294-20100907185815.patch</filename>
            <type>text/plain</type>
            <size>7053</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZDBiNzFiZDVmYWUyNDM4ZjMyNzU4ZGEwYzAzMGU5ZjAzNTE0NDUxLi4xYWFlN2U5
NDM5ODVjNDI3MWM2MTUyNDkyYzY1MWU2N2QzZmRmZTlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMDcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGEgc2FuaXR5IHRlc3QgZm9yIHN0b3JhZ2UgcGFuZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1Mjk0CisKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc3RvcmFnZS1wYW5lbC1zaG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5z
cGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy5odG1sOiBBZGRlZC4KKwogMjAxMC0wOS0wNiAgUGhp
bGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgc2tpcHBpbmcgYSBjcmFzaGluZyBtZWRpYSB0ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
M2RmZGZjN2YzYzU5OGJjNDdmNWVjMTEzMzkxNjNjYjIyMGY1OGYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFuZWwtc2hvdy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMSBAQAorVGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2VudCBhbmQg
dGhhdCBpdCBjb250YWlucyBjb3JyZWN0IGRhdGF0IGZvciBsb2NhbCBhbmQgc2Vzc2lvbiBET00g
c3RvcmFnZXMuCisKK1BvcHVsYXRlZCBsb2NhbCBhbmQgc2Vzc2lvbiBzdG9yYWdlCitEaWQgc2hv
dzogTG9jYWwgc3RvcmFnZQorRGlkIHNob3c6IFNlc3Npb24gc3RvcmFnZQorTG9jYWwgc3RvcmFn
ZSBjb250ZW50OiAKK0tleVZhbHVlX2EyMl9hNDRfYTAwX2E1NV9hNzdfYTg4X2ExMV9hNjZfYTMz
X2E5OQorU2Vzc2lvbiBzdG9yYWdlIGNvbnRlbnQ6IAorS2V5VmFsdWVfYjkxOV9iNjE2X2IyMTJf
YjUxNV9iMzEzX2IxMTFfYjgxOF9iNzE3X2IwMTBfYjQxNAorRE9ORQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1zaG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDYxMzE2NTk1
YzllYTUzMjlhNTdmNzNjNmI1ZTgzODNlYTQ0MDQ5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVsLXNob3cuaHRtbApAQCAtMCwwICsxLDYwIEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2lu
c3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXItdGVzdDIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rp
b24gcG9wdWxhdGVET01TdG9yYWdlKCkKK3sKKyAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTsKKyAg
ICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkr
KykgeworICAgICAgICBsb2NhbFN0b3JhZ2VbIl9hIiArIGldID0gaTsKKyAgICAgICAgc2Vzc2lv
blN0b3JhZ2VbIl9iIiArIGldID0gaSsxMDsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInN0b3JhZ2UiKTsKKworICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInBvcHVsYXRlRE9NU3RvcmFnZSgpIiwgZnVuY3Rpb24o
cmVzdWx0KSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJQb3B1bGF0ZWQgbG9j
YWwgYW5kIHNlc3Npb24gc3RvcmFnZSIpOworICAgIH0pOworICAgIGZ1bmN0aW9uIG5hbWUoc3Rv
cmFnZSkgeworICAgICAgICByZXR1cm4gc3RvcmFnZS5pc0xvY2FsU3RvcmFnZSA/ICJMb2NhbCBz
dG9yYWdlIiA6ICJTZXNzaW9uIHN0b3JhZ2UiOworICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LnJ1
bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBzdG9yYWdl
cyA9IFdlYkluc3BlY3Rvci5wYW5lbHMuc3RvcmFnZS5fZG9tU3RvcmFnZTsKKyAgICAgICAgaWYg
KHN0b3JhZ2VzKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0b3JhZ2VzLmxl
bmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgdmFyIHN0b3JhZ2UgPSBzdG9yYWdlc1tpXTsK
KyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsLnNob3dET01TdG9yYWdl
KHN0b3JhZ2UpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEaWQg
c2hvdzogIiArIG5hbWUoc3RvcmFnZSkpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJGQUlMOiBubyBET00gc3RvcmFn
ZXMgZm91bmQuIik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBlbmRpbmdEaXNw
YXRjaGVzKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVj
dG9yLnBhbmVscy5zdG9yYWdlLl9kb21TdG9yYWdlOworICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzdG9yYWdlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgICAgIHZhciBzdG9y
YWdlID0gc3RvcmFnZXNbaV07CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQobmFtZShzdG9yYWdlKSArICIgY29udGVudDogIik7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoc3RvcmFnZS5fZG9tU3RvcmFnZVZpZXcuZWxlbWVudC50ZXh0Q29u
dGVudCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiRE9ORSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICAgICAgfSk7CisgICAgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3QgdGhhdCBzdG9yYWdlIHBhbmVsIGlzIHByZXNlbnQg
YW5kIHRoYXQgaXQgY29udGFpbnMgY29ycmVjdCBkYXRhdCBmb3IgbG9jYWwgYW5kIHNlc3Npb24g
RE9NIHN0b3JhZ2VzLgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2
Mzc4ZTYzMjljMTVhNDE4NTAzYzdlMTlkMjkwNzgwYzVkMGYzYTQ2Li44NzNkZTM5OWM2NzBmMWQy
ZmIzZDY2M2FkZGIzYjgyMzExYjA0ZWZjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxMC0wOS0wNyAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBhZGQgYSBzYW5pdHkgdGVzdCBmb3Igc3RvcmFnZSBwYW5lbAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyOTQKKworICAgICAgICAqIHNyYy9qcy9U
ZXN0cy5qczogcmVtb3ZlZCB0ZXN0U3RvcmFnZVBhbmVsLCB0ZXN0SG9zdElzUHJlc2VudCwgdGVz
dEVsZW1lbnRzVHJlZVJvb3QsIHRlc3RNYWluUmVzb3VyY2UKKyAgICAgICAgd2hpY2ggd2VyZSBz
dXBlcnNlZGVkIGJ5IGluc3BlY3RvciBsYXlvdXQgdGVzdHMuCisKIDIwMTAtMDktMDYgIEFudG9u
IE11aGluICA8YW50b25tQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFt
IEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9UZXN0cy5qcyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvanMvVGVzdHMuanMKaW5kZXggNDE1NzRiNDNmZmEyOTY3NDJiN2Iw
YzNhYmQwNzI5MDQ4MWQ1MzM4OC4uZjc2MTk3NDI0YWU1OWIwMjg0YWI5YmEwYTViNzgwMTE4N2Zi
NzA3NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9UZXN0cy5qcworKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL2pzL1Rlc3RzLmpzCkBAIC0yMTksNDAgKzIxOSw2IEBAIFRlc3RT
dWl0ZS5wcm90b3R5cGUuYWRkU25pZmZlciA9IGZ1bmN0aW9uKHJlY2VpdmVyLCBtZXRob2ROYW1l
LCBvdmVycmlkZSwgb3B0X3N0CiAKIAogLyoqCi0gKiBUZXN0cyB0aGF0IHRoZSByZWFsIGluamVj
dGVkIGhvc3QgaXMgcHJlc2VudCBpbiB0aGUgY29udGV4dC4KLSAqLwotVGVzdFN1aXRlLnByb3Rv
dHlwZS50ZXN0SG9zdElzUHJlc2VudCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB0aGlzLmFzc2VydFRy
dWUodHlwZW9mIEluc3BlY3RvckZyb250ZW5kSG9zdCA9PT0gIm9iamVjdCIgJiYgIUluc3BlY3Rv
ckZyb250ZW5kSG9zdC5pc1N0dWIpOwotfTsKLQotCi0vKioKLSAqIFRlc3RzIGVsZW1lbnRzIHRy
ZWUgaGFzIGFuICJIVE1MIiByb290LgotICovCi1UZXN0U3VpdGUucHJvdG90eXBlLnRlc3RFbGVt
ZW50c1RyZWVSb290ID0gZnVuY3Rpb24oKQotewotICAgIHZhciBkb2MgPSBXZWJJbnNwZWN0b3Iu
ZG9tQWdlbnQuZG9jdW1lbnQ7Ci0gICAgdGhpcy5hc3NlcnRFcXVhbHMoIkhUTUwiLCBkb2MuZG9j
dW1lbnRFbGVtZW50Lm5vZGVOYW1lKTsKLSAgICB0aGlzLmFzc2VydFRydWUoZG9jLmRvY3VtZW50
RWxlbWVudC5oYXNDaGlsZE5vZGVzKCkpOwotfTsKLQotCi0vKioKLSAqIFRlc3RzIHRoYXQgbWFp
biByZXNvdXJjZSBpcyBwcmVzZW50IGluIHRoZSBzeXN0ZW0gYW5kIHRoYXQgaXQgaXMKLSAqIHRo
ZSBvbmx5IHJlc291cmNlLgotICovCi1UZXN0U3VpdGUucHJvdG90eXBlLnRlc3RNYWluUmVzb3Vy
Y2UgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIHRva2VucyA9IFtdOwotICAgIHZhciByZXNvdXJj
ZXMgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VzOwotICAgIGZvciAodmFyIGlkIGluIHJlc291cmNl
cykKLSAgICAgICAgdG9rZW5zLnB1c2gocmVzb3VyY2VzW2lkXS5sYXN0UGF0aENvbXBvbmVudCk7
Ci0gICAgdGhpcy5hc3NlcnRFcXVhbHMoInNpbXBsZV9wYWdlLmh0bWwiLCB0b2tlbnMuam9pbigi
LCIpKTsKLX07Ci0KLQotLyoqCiAgKiBUZXN0cyB0aGF0IHJlc291cmNlcyB0YWIgaXMgZW5hYmxl
ZCB3aGVuIGNvcnJlc3BvbmRpbmcgaXRlbSBpcyBzZWxlY3RlZC4KICAqLwogVGVzdFN1aXRlLnBy
b3RvdHlwZS50ZXN0RW5hYmxlUmVzb3VyY2VzVGFiID0gZnVuY3Rpb24oKQpAQCAtMTQzNSw0MyAr
MTQwMSw2IEBAIFRlc3RTdWl0ZS5wcm90b3R5cGUudGVzdE1lc3NhZ2VMb29wUmVlbnRyYW50ID0g
ZnVuY3Rpb24oKQogCiAKIC8qKgotICogVGVzdHMgdGhhdCBTdG9yYWdlIHBhbmVsIGNhbiBiZSBv
cGVuIGFuZCB0aGF0IGxvY2FsIERPTSBzdG9yYWdlIGlzIGFkZGVkCi0gKiB0byB0aGUgcGFuZWwu
Ci0gKi8KLVRlc3RTdWl0ZS5wcm90b3R5cGUudGVzdFNob3dTdG9yYWdlUGFuZWwgPSBmdW5jdGlv
bigpCi17Ci0gICAgdmFyIHRlc3QgPSB0aGlzOwotICAgIHRoaXMuYWRkU25pZmZlcihXZWJJbnNw
ZWN0b3IucGFuZWxzLnN0b3JhZ2UsICJhZGRET01TdG9yYWdlIiwKLSAgICAgICAgZnVuY3Rpb24o
c3RvcmFnZSkgewotICAgICAgICAgICAgdmFyIG9yaWcgPSBzdG9yYWdlLmdldEVudHJpZXM7Ci0g
ICAgICAgICAgICBzdG9yYWdlLmdldEVudHJpZXMgPSBmdW5jdGlvbihjYWxsYmFjaykgewotICAg
ICAgICAgICAgICAgIG9yaWcuY2FsbCh0aGlzLCBmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKGVudHJpZXMpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0
LnJlbGVhc2VDb250cm9sKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9Owot
ICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBh
bmVsLnNlbGVjdERPTVN0b3JhZ2Uoc3RvcmFnZS5pZCk7Ci0gICAgICAgICAgICAgICAgc3RvcmFn
ZS5nZXRFbnRyaWVzID0gb3JpZzsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAg
ICAgICAgICB0ZXN0LmZhaWwoIkV4Y2VwdGlvbiBpbiBzZWxlY3RET01TdG9yYWdlOiAiICsgZSk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0pOwotICAgIHRoaXMuc2hvd1BhbmVsKCJzdG9yYWdl
Iik7Ci0KLSAgICAvLyBBY2Nlc3MgbG9jYWxTdG9yYWdlIHNvIHRoYXQgaXQncyBwdXNoZWQgdG8g
dGhlIGZyb250ZW5kLgotICAgIHRoaXMuZXZhbHVhdGVJbkNvbnNvbGVfKAotICAgICAgICAnc2V0
VGltZW91dCgibG9jYWxTdG9yYWdlLnggPSAxMCIgLCAwKScsCi0gICAgICAgIGZ1bmN0aW9uKHJl
c3VsdFRleHQpIHsKLSAgICAgICAgICAgIHRlc3QuYXNzZXJ0VHJ1ZSghaXNOYU4ocmVzdWx0VGV4
dCksICJGYWlsZWQgdG8gZ2V0IHRpbWVyIGlkOiAiICsgcmVzdWx0VGV4dCk7Ci0gICAgICAgIH0p
OwotCi0gICAgLy8gV2FpdCB1bnRpbCBET00gc3RvcmFnZSBpcyBhZGRlZCB0byB0aGUgcGFuZWwu
Ci0gICAgdGhpcy50YWtlQ29udHJvbCgpOwotfTsKLQotCi0vKioKICAqIFRlc3QgcnVubmVyIGZv
ciB0aGUgdGVzdCBzdWl0ZS4KICAqLwogdmFyIHVpVGVzdHMgPSB7fTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66849</attachid>
            <date>2010-09-07 23:34:48 -0700</date>
            <delta_ts>2010-09-08 23:59:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45294-20100908103446.patch</filename>
            <type>text/plain</type>
            <size>6174</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZDBiNzFiZDVmYWUyNDM4ZjMyNzU4ZGEwYzAzMGU5ZjAzNTE0NDUxLi5jNDllNjc2
NjE5MDhkNmNjNGY1ZjBmODViMDJjY2VkMThmZjliMDNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMDktMDcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGEgc2FuaXR5IHRlc3QgZm9yIERPTSBzdG9yYWdlIHZpZXcgaW4gdGhlIHN0b3JhZ2Ug
cGFuZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1
Mjk0CisKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zdG9yYWdlLXBhbmVsLWRvbS1z
dG9yYWdlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTA2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5v
cm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBza2lwcGluZyBhIGNyYXNo
aW5nIG1lZGlhIHRlc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFn
ZS1wYW5lbC1kb20tc3RvcmFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3RvcmFnZS1wYW5lbC1kb20tc3RvcmFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdkMjEw
ZjFiMzQ0NGNmY2YxODU3MWYxOTNjZGY3ZWJkMDU2YzhjOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9zdG9yYWdlLXBhbmVsLWRvbS1zdG9yYWdlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDExIEBACitUZXN0IHRoYXQgc3RvcmFnZSBwYW5lbCBpcyBwcmVzZW50IGFu
ZCB0aGF0IGl0IGNvbnRhaW5zIGNvcnJlY3QgZGF0YSBmb3IgbG9jYWwgYW5kIHNlc3Npb24gRE9N
IHN0b3JhZ2VzLgorCitQb3B1bGF0ZWQgbG9jYWwgYW5kIHNlc3Npb24gc3RvcmFnZQorRGlkIHNo
b3c6IExvY2FsIHN0b3JhZ2UKK0RpZCBzaG93OiBTZXNzaW9uIHN0b3JhZ2UKK0xvY2FsIHN0b3Jh
Z2UgY29udGVudDogCitLZXlWYWx1ZWEwPXZhbHVlMCwgYTY9dmFsdWU2LCBhOD12YWx1ZTgsIGE0
PXZhbHVlNCwgYTI9dmFsdWUyLCBhMT12YWx1ZTEsIGE5PXZhbHVlOSwgYTM9dmFsdWUzLCBhNz12
YWx1ZTcsIGE1PXZhbHVlNSwgCitTZXNzaW9uIHN0b3JhZ2UgY29udGVudDogCitLZXlWYWx1ZWI1
PXZhbHVlMTUsIGI0PXZhbHVlMTQsIGIzPXZhbHVlMTMsIGI2PXZhbHVlMTYsIGI3PXZhbHVlMTcs
IGIwPXZhbHVlMTAsIGI5PXZhbHVlMTksIGI4PXZhbHVlMTgsIGIyPXZhbHVlMTIsIGIxPXZhbHVl
MTEsIAorRE9ORQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3RvcmFnZS1w
YW5lbC1kb20tc3RvcmFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0b3JhZ2UtcGFu
ZWwtZG9tLXN0b3JhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Mzk4OGJmMzIxMjNiODg4ZTA3MGI2M2Fi
N2RjZjkwMmVlMGEwNzdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N0b3JhZ2UtcGFuZWwtZG9tLXN0b3JhZ2UuaHRtbApAQCAtMCwwICsxLDYxIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXItdGVzdDIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gcG9wdWxh
dGVET01TdG9yYWdlKCkKK3sKKyAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTsKKyAgICBzZXNzaW9u
U3RvcmFnZS5jbGVhcigpOworICAgIC8vIEZpbGwgbG9jYWwgYW5kIHNlc3Npb24gc3RvcmFnZSB3
aXRoIHNvbWUgcmFuZG9tIHN0cmluZ3MuCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsr
KSB7CisgICAgICAgIGxvY2FsU3RvcmFnZVsiYSIgKyBpXSA9ICI9dmFsdWUiICsgaSArICIsICI7
CisgICAgICAgIHNlc3Npb25TdG9yYWdlWyJiIiArIGldID0gIj12YWx1ZSIgKyAoaSsxMCkgKyAi
LCAiOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgV2ViSW5zcGVjdG9yLnNo
b3dQYW5lbCgic3RvcmFnZSIpOworCisgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29s
ZSgicG9wdWxhdGVET01TdG9yYWdlKCkiLCBmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIlBvcHVsYXRlZCBsb2NhbCBhbmQgc2Vzc2lvbiBzdG9yYWdl
Iik7CisgICAgfSk7CisgICAgZnVuY3Rpb24gbmFtZShzdG9yYWdlKSB7CisgICAgICAgIHJldHVy
biBzdG9yYWdlLmlzTG9jYWxTdG9yYWdlID8gIkxvY2FsIHN0b3JhZ2UiIDogIlNlc3Npb24gc3Rv
cmFnZSI7CisgICAgfQorICAgIEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hl
cyhmdW5jdGlvbigpIHsKKyAgICAgICAgdmFyIHN0b3JhZ2VzID0gV2ViSW5zcGVjdG9yLnBhbmVs
cy5zdG9yYWdlLl9kb21TdG9yYWdlOworICAgICAgICBpZiAoc3RvcmFnZXMpIHsKKyAgICAgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RvcmFnZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAg
ICAgICAgICB2YXIgc3RvcmFnZSA9IHN0b3JhZ2VzW2ldOworICAgICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5jdXJyZW50UGFuZWwuc2hvd0RPTVN0b3JhZ2Uoc3RvcmFnZSk7CisgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRpZCBzaG93OiAiICsgbmFtZShzdG9yYWdl
KSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIkZBSUw6IG5vIERPTSBzdG9yYWdlcyBmb3VuZC4iKTsKKworICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMoZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICB2YXIgc3RvcmFnZXMgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnN0b3JhZ2UuX2Rv
bVN0b3JhZ2U7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0b3JhZ2VzLmxlbmd0
aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgdmFyIHN0b3JhZ2UgPSBzdG9yYWdlc1tpXTsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChuYW1lKHN0b3JhZ2UpICsgIiBj
b250ZW50OiAiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChzdG9y
YWdlLl9kb21TdG9yYWdlVmlldy5lbGVtZW50LnRleHRDb250ZW50KTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJET05FIik7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICB9KTsKKyAgICB9KTsKK30K
KworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgor
VGVzdCB0aGF0IHN0b3JhZ2UgcGFuZWwgaXMgcHJlc2VudCBhbmQgdGhhdCBpdCBjb250YWlucyBj
b3JyZWN0IGRhdGEgZm9yIGxvY2FsIGFuZCBzZXNzaW9uIERPTSBzdG9yYWdlcy4KKzwvcD4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNjM3OGU2MzI5YzE1YTQxODUwM2M3ZTE5
ZDI5MDc4MGM1ZDBmM2E0Ni4uZGIyYWVmNzE3MDFiMzEyZjJlMDM3YTIxMjE1NzNmYmM1OWJkM2Nh
MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTAtMDktMDcgIFl1cnkgU2VtaWto
YXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGEgc2FuaXR5IHRlc3QgZm9y
IERPTSBzdG9yYWdlIHZpZXcgaW4gdGhlIHN0b3JhZ2UgcGFuZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1Mjk0CisKKyAgICAgICAgKiBzcmMvanMv
VGVzdHMuanM6IHJlbW92ZWQgdGVzdFN0b3JhZ2VQYW5lbCB3aGljaCB3YXMgc3VwZXJzZWRlZCBi
eSBpbnNwZWN0b3IgbGF5b3V0IHRlc3RzLgorCiAyMDEwLTA5LTA2ICBBbnRvbiBNdWhpbiAgPGFu
dG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvanMvVGVzdHMuanMgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL2pzL1Rlc3RzLmpzCmluZGV4IDQxNTc0YjQzZmZhMjk2NzQyYjdiMGMzYWJkMDcyOTA0
ODFkNTMzODguLjBhMzZjMzQ0NDgxNDI3Yzc1YTBkNWZkMDZjMWI5ZTJiM2ZkOTA3OTIgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvanMvVGVzdHMuanMKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9qcy9UZXN0cy5qcwpAQCAtMTQzNSw0MyArMTQzNSw2IEBAIFRlc3RTdWl0ZS5wcm90
b3R5cGUudGVzdE1lc3NhZ2VMb29wUmVlbnRyYW50ID0gZnVuY3Rpb24oKQogCiAKIC8qKgotICog
VGVzdHMgdGhhdCBTdG9yYWdlIHBhbmVsIGNhbiBiZSBvcGVuIGFuZCB0aGF0IGxvY2FsIERPTSBz
dG9yYWdlIGlzIGFkZGVkCi0gKiB0byB0aGUgcGFuZWwuCi0gKi8KLVRlc3RTdWl0ZS5wcm90b3R5
cGUudGVzdFNob3dTdG9yYWdlUGFuZWwgPSBmdW5jdGlvbigpCi17Ci0gICAgdmFyIHRlc3QgPSB0
aGlzOwotICAgIHRoaXMuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IucGFuZWxzLnN0b3JhZ2UsICJh
ZGRET01TdG9yYWdlIiwKLSAgICAgICAgZnVuY3Rpb24oc3RvcmFnZSkgewotICAgICAgICAgICAg
dmFyIG9yaWcgPSBzdG9yYWdlLmdldEVudHJpZXM7Ci0gICAgICAgICAgICBzdG9yYWdlLmdldEVu
dHJpZXMgPSBmdW5jdGlvbihjYWxsYmFjaykgewotICAgICAgICAgICAgICAgIG9yaWcuY2FsbCh0
aGlzLCBmdW5jdGlvbihlbnRyaWVzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGVu
dHJpZXMpOwotICAgICAgICAgICAgICAgICAgICB0ZXN0LnJlbGVhc2VDb250cm9sKCk7Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsLnNlbGVjdERPTVN0b3JhZ2Uoc3Rv
cmFnZS5pZCk7Ci0gICAgICAgICAgICAgICAgc3RvcmFnZS5nZXRFbnRyaWVzID0gb3JpZzsKLSAg
ICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgICB0ZXN0LmZhaWwoIkV4Y2Vw
dGlvbiBpbiBzZWxlY3RET01TdG9yYWdlOiAiICsgZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0pOwotICAgIHRoaXMuc2hvd1BhbmVsKCJzdG9yYWdlIik7Ci0KLSAgICAvLyBBY2Nlc3MgbG9j
YWxTdG9yYWdlIHNvIHRoYXQgaXQncyBwdXNoZWQgdG8gdGhlIGZyb250ZW5kLgotICAgIHRoaXMu
ZXZhbHVhdGVJbkNvbnNvbGVfKAotICAgICAgICAnc2V0VGltZW91dCgibG9jYWxTdG9yYWdlLngg
PSAxMCIgLCAwKScsCi0gICAgICAgIGZ1bmN0aW9uKHJlc3VsdFRleHQpIHsKLSAgICAgICAgICAg
IHRlc3QuYXNzZXJ0VHJ1ZSghaXNOYU4ocmVzdWx0VGV4dCksICJGYWlsZWQgdG8gZ2V0IHRpbWVy
IGlkOiAiICsgcmVzdWx0VGV4dCk7Ci0gICAgICAgIH0pOwotCi0gICAgLy8gV2FpdCB1bnRpbCBE
T00gc3RvcmFnZSBpcyBhZGRlZCB0byB0aGUgcGFuZWwuCi0gICAgdGhpcy50YWtlQ29udHJvbCgp
OwotfTsKLQotCi0vKioKICAqIFRlc3QgcnVubmVyIGZvciB0aGUgdGVzdCBzdWl0ZS4KICAqLwog
dmFyIHVpVGVzdHMgPSB7fTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>