<?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>51005</bug_id>
          
          <creation_ts>2010-12-13 21:08:40 -0800</creation_ts>
          <short_desc>Range::extractContents needs more tests</short_desc>
          <delta_ts>2010-12-14 19:07:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>51006</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>eae</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>321652</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-13 21:08:40 -0800</bug_when>
    <thetext>Currently, editing/execCommand/4920742-2.html is the only layout test that calls extractContents (as far as I checked on Finder).  However, the feature is far from trivial and requires much more rigorous testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322128</commentid>
    <comment_count>1</comment_count>
      <attachid>76559</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2010-12-14 12:46:04 -0800</bug_when>
    <thetext>Created attachment 76559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322139</commentid>
    <comment_count>2</comment_count>
      <attachid>76559</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-14 13:02:01 -0800</bug_when>
    <thetext>Comment on attachment 76559
Patch

It’s great to have more coverage.

However, textContent is an imprecise way to log the extracted fragment. These tests would be stronger if they used something that shows the details of the DOM nodes of the created fragment rather than just the concatenated text.

I think we have something for dumping markup that Ojan worked on a while back. Or even outerHTML might be better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322144</commentid>
    <comment_count>3</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2010-12-14 13:05:36 -0800</bug_when>
    <thetext>That&apos;s a good idea, I&apos;ll see how other tests deal with it and rework it. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322166</commentid>
    <comment_count>4</comment_count>
      <attachid>76565</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2010-12-14 13:35:01 -0800</bug_when>
    <thetext>Created attachment 76565
Patch

Changed test to compare outerHTML instead of textContent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322185</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-14 14:00:18 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=76565) [details]
&gt; Patch
&gt; 
&gt; Changed test to compare outerHTML instead of textContent.

We should just use dump-as-markup.js here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322281</commentid>
    <comment_count>6</comment_count>
      <attachid>76559</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 15:21:07 -0800</bug_when>
    <thetext>Comment on attachment 76559
Patch

Cleared Darin Adler&apos;s review+ from obsolete attachment 76559 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322285</commentid>
    <comment_count>7</comment_count>
      <attachid>76580</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-14 15:24:16 -0800</bug_when>
    <thetext>Created attachment 76580
adds a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322443</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-14 19:03:37 -0800</bug_when>
    <thetext>Thanks for the review, Darin.

(In reply to comment #7)
&gt; Created an attachment (id=76580) [details]
&gt; adds a test

Per discussion with Ojan, I&apos;m adding a comment to dump-as-markup.js as in:
     // FIXME: Have this respect layoutTestController.dumpChildFramesAsText?
     // FIXME: Should we care about framesets?
-    var iframes = node.getElementsByTagName(&apos;iframe&apos;);
-    for (var i = 0; i &lt; iframes.length; i++) {
-        markup += &apos;\n\nFRAME &apos; + i + &apos;:\n&apos;
-        try {
-            markup += Markup.get(iframes[i].contentDocument.body.parentElement);
-        } catch (e) {
-            markup += &apos;FIXME: Add method to layout test controller to get access to cross-origin frames.&apos;;
+    // DocumentFragment doesn&apos;t have a getElementsByTagName method.
+    if (node.getElementsByTagName) {
+        var iframes = node.getElementsByTagName(&apos;iframe&apos;);
+        for (var i = 0; i &lt; iframes.length; i++) {
+            markup += &apos;\n\nFRAME &apos; + i + &apos;:\n&apos;
+            try {
+                markup += Markup.get(iframes[i].contentDocument.body.parentElement);
+            } catch (e) {
+                markup += &apos;FIXME: Add method to layout test controller to get access to cross-origin frames.&apos;;
+            }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322446</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-14 19:06:37 -0800</bug_when>
    <thetext>Committed r74094: &lt;http://trac.webkit.org/changeset/74094&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76559</attachid>
            <date>2010-12-14 12:46:04 -0800</date>
            <delta_ts>2010-12-14 15:21:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>51005.patch</filename>
            <type>text/plain</type>
            <size>8786</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDc0MDQ5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMTQgIEVtaWwgRWtsdW5kICA8ZWFl
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdHMgZm9yIFJhbmdlOjpleHRyYWN0Q29udGVudHMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTAwNQorCisgICAgICAgICog
ZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLWV4cGVjdGVkLnR4dDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRl
bnRzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0
Q29udGVudHMtY3Jhc2guaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFu
Z2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9kb20vUmFuZ2Uv
cmFuZ2UtZXh0cmFjdENvbnRlbnRzLWV4cGVjdGVkLnR4dDogUmVwbGFjZWQuCisgICAgICAgICog
ZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLmh0bWw6IFJlcGxhY2VkLgorCiAy
MDEwLTEyLTE0ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3Jh
bmdlLWV4dHJhY3RDb250ZW50cy1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3Jhbmdl
LWV4dHJhY3RDb250ZW50cy1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEgQEAKK1BBU1M6IE5vIGNyYXNoLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uv
cmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0Q29udGVu
dHMtY3Jhc2guaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
KyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykKKyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7
CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICBkb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udCcpLmlubmVySFRN
TCA9ICcnOworICAgICAgICAgICAgfSwgZmFsc2UpOworCisgICAgICAgICAgICB2YXIgciA9IGRv
Y3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
IHIuc2V0U3RhcnRCZWZvcmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXJ0JykpOworICAg
ICAgICAgICAgICAgIHIuc2V0RW5kQWZ0ZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VuZCcp
KTsKKyAgICAgICAgICAgICAgICB2YXIgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOwor
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpOworICAg
ICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsb2coJ1BB
U1M6IE5vIGNyYXNoLicpOworICAgICAgICB9CisKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgorICAgIDxwIGlkPSJjb250Ij4KKyAgICAgICAgPHNw
YW4+VGhpcyA8c3BhbiBpZD0ic3RhcnQiPnRlc3RzPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgPHNw
YW4+dGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIG11dGF0aW5nIHRoZSBkb20gZHVyaW5nPC9zcGFu
PgorICAgICAgICA8c3Bhbj5hbiA8Y29kZSBpZD0iZW5kIj5leHRyYWN0Q29udGVudHM8L2NvZGU+
IGNhbGwuPC9zcGFuPgorICAgIDwvcD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWV4dHJhY3RDb250ZW50cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRl
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzM5ODkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9SYW5nZS9yYW5nZS1leHRyYWN0Q29udGVudHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xICsxLDEyIEBACi1QQVNTOiBObyBjcmFzaC4KK1BBU1MgZnJhZ21lbnQudGV4dENvbnRl
bnQgaXMgIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0IgorUEFTUyBmcmFnbWVudC50ZXh0Q29u
dGVudCBpcyAiYWRpcGlzY2luZyIKK1BBU1MgZnJhZ21lbnQudGV4dENvbnRlbnQgaXMgIi4gRnVz
Y2UgaW4gYXVjdG9yIGVuaW0uIgorUEFTUyBmcmFnbWVudC50ZXh0Q29udGVudCBpcyAiTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQuIEZ1c2NlIGluIGF1Y3RvciBlbmltLiIKK1BBU1MgdHJpbShm
cmFnbWVudC50ZXh0Q29udGVudCkgaXMgInJ1cyBhbGlxdWV0IHZpdGFlIGNvbW1vZG8gZGlhbSBy
aG9uY3VzLiBOdWxsYW0gc2NlbGVyaXNxdWUgbGFvcmVldCB0ZWxsdXMsIGFjIG1vbGxpcyBsaWd1
bGEgc2FnaXR0aXMgc2VkLiBEbyIKK1BBU1MgdHJpbShmcmFnbWVudC50ZXh0Q29udGVudCkgaXMg
InB1bmUiCitQQVNTIHRyaW0oZnJhZ21lbnQudGV4dENvbnRlbnQpIGlzICJldWlzbW9kIHVsdHJp
Y2llcy4gYyBzb2RhbGUiCitQQVNTIHRyaW0oZnJhZ21lbnQudGV4dENvbnRlbnQpIGlzICJlbGl0
TG9yZW1kb2xvcmlwc3Vtc2l0YW1ldC5GdXNjZWluYXVjdG9yZW5pbS4gUXVpc3F1ZSIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0Q29udGVudHMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0Q29udGVudHMu
aHRtbAkocmV2aXNpb24gNzM5ODkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5n
ZS1leHRyYWN0Q29udGVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSw4OCBAQAog
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KLSAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykKLSAgICAgICAgewotICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSht
c2cgKyAnXG4nKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi0gICAg
ICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29u
dCcpLmlubmVySFRNTCA9ICcnOwotICAgICAgICAgICAgfSwgZmFsc2UpOwotCi0gICAgICAgICAg
ICB2YXIgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Ci0gICAgICAgICAgICB0cnkgewotICAg
ICAgICAgICAgICAgIHIuc2V0U3RhcnRCZWZvcmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0
YXJ0JykpOwotICAgICAgICAgICAgICAgIHIuc2V0RW5kQWZ0ZXIoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2VuZCcpKTsKLSAgICAgICAgICAgICAgICB2YXIgZnJhZ21lbnQgPSByLmV4dHJhY3RD
b250ZW50cygpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJh
Z21lbnQpOwotICAgICAgICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBsb2coJ1BBU1M6IE5vIGNyYXNoLicpOwotICAgICAgICB9Ci0KLSAgICA8L3NjcmlwdD4K
IDwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgotICAgIDxwIGlkPSJjb250Ij4K
LSAgICAgICAgPHNwYW4+VGhpcyA8c3BhbiBpZD0ic3RhcnQiPnRlc3RzPC9zcGFuPjwvc3Bhbj4K
LSAgICAgICAgPHNwYW4+dGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIG11dGF0aW5nIHRoZSBkb20g
ZHVyaW5nPC9zcGFuPgotICAgICAgICA8c3Bhbj5hbiA8Y29kZSBpZD0iZW5kIj5leHRyYWN0Q29u
dGVudHM8L2NvZGU+IGNhbGwuPC9zcGFuPgotICAgIDwvcD4KKzxib2R5PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJ0ZXN0QXJlYSI+Cis8cD5Mb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBGdXNjZSBpbiBhdWN0b3IgZW5p
bS48L3A+Cis8cD5RdWlzcXVlIHF1aXMgYXVndWUgdG9ydG9yLiBNYWVjZW5hcyBhdWN0b3IgaXBz
dW0gc2VkIG1hdXJpcyBldWlzbW9kIHVsdHJpY2llcy48L3A+Cis8cD5Eb25lYyB1bHRyaWNpZXMg
bmlzbCBhIDxzcGFuPnB1cnVzPC9zcGFuPiBhbGlxdWV0IHZpdGFlIGNvbW1vZG8gPHNwYW4+ZGlh
bTwvc3Bhbj4gcmhvbmN1cy48L3A+Cis8cD5OdWxsYW0gPHNwYW4+c2NlbGVyaXNxdWU8L3NwYW4+
IGxhb3JlZXQgdGVsbHVzLCBhYyBtb2xsaXMgbGlndWxhIHNhZ2l0dGlzIHNlZC4gPGI+RG9uZWM8
L2I+IHNvZGFsZXMgY29uc2VjdGV0dXIgPGk+ZG9sb3I8L2k+IG5vbiB0aW5jaWR1bnQuPC9wPgor
PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworICAgIGZ1bmN0aW9u
IHRyaW0oc3RyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9bIFxyXG5cdF0r
L2csICcgJyk7CisgICAgfQorCisgICAgdmFyIHIgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwor
CisgICAgLy8gVGVzdCByYW5nZXMgd2l0aGluIGEgc2luZ2xlIGVsZW1lbnQuIAorICAgIHZhciBw
YXJhZ3JhcGhzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RBcmVhJykuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ3AnKTsKKyAgICByLnNldFN0YXJ0KHBhcmFncmFwaHNbMF0uZmlyc3RDaGls
ZCwgMCk7CisgICAgci5zZXRFbmQocGFyYWdyYXBoc1swXS5maXJzdENoaWxkLCAyNik7CisgICAg
dmFyIGZyYWdtZW50ID0gci5leHRyYWN0Q29udGVudHMoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImZyYWdtZW50LnRleHRDb250ZW50IiwgIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
Iik7CisgICAgcGFyYWdyYXBoc1swXS5hcHBlbmRDaGlsZChmcmFnbWVudCk7CisKKyAgICByLnNl
dFN0YXJ0KHBhcmFncmFwaHNbMF0uZmlyc3RDaGlsZCwgMTQpOworICAgIHIuc2V0RW5kKHBhcmFn
cmFwaHNbMF0uZmlyc3RDaGlsZCwgMjQpOworICAgIGZyYWdtZW50ID0gci5leHRyYWN0Q29udGVu
dHMoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZyYWdtZW50LnRleHRDb250ZW50Iiwg
ImFkaXBpc2NpbmciKTsKKworICAgIHIuc2V0U3RhcnQocGFyYWdyYXBoc1swXS5maXJzdENoaWxk
LCAxOSk7CisgICAgci5zZXRFbmQocGFyYWdyYXBoc1swXS5maXJzdENoaWxkLCA0Mik7CisgICAg
ZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZnJhZ21lbnQudGV4dENvbnRlbnQiLCAiLiBGdXNjZSBpbiBhdWN0b3IgZW5pbS4iKTsKKyAg
ICBwYXJhZ3JhcGhzWzBdLmFwcGVuZENoaWxkKGZyYWdtZW50KTsKKworICAgIHIuc2V0U3RhcnQo
cGFyYWdyYXBoc1swXS5maXJzdENoaWxkLCAxOSk7CisgICAgci5zZXRFbmRBZnRlcihwYXJhZ3Jh
cGhzWzBdLmxhc3RDaGlsZCk7CisgICAgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZnJhZ21lbnQudGV4dENvbnRlbnQiLCAiTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQuIEZ1c2NlIGluIGF1Y3RvciBlbmltLiIpOworICAgIHBhcmFn
cmFwaHNbMF0uYXBwZW5kQ2hpbGQoZnJhZ21lbnQpOworCisgICAgLy8gVGVzdCByYW5nZXMgc3Bh
bm5pbmcgbXVsdGlwbGUgZWxlbWVudHMuCisgICAgci5zZXRTdGFydChwYXJhZ3JhcGhzWzJdLmNo
aWxkTm9kZXNbMV0uZmlyc3RDaGlsZCwgMik7CisgICAgci5zZXRFbmQocGFyYWdyYXBoc1szXS5j
aGlsZE5vZGVzWzNdLmZpcnN0Q2hpbGQsIDIpOworICAgIGZyYWdtZW50ID0gci5leHRyYWN0Q29u
dGVudHMoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRyaW0oZnJhZ21lbnQudGV4dENv
bnRlbnQpIiwgInJ1cyBhbGlxdWV0IHZpdGFlIGNvbW1vZG8gZGlhbSByaG9uY3VzLiBOdWxsYW0g
c2NlbGVyaXNxdWUgbGFvcmVldCB0ZWxsdXMsIGFjIG1vbGxpcyBsaWd1bGEgc2FnaXR0aXMgc2Vk
LiBEbyIpOworCisgICAgci5zZXRTdGFydChwYXJhZ3JhcGhzWzJdLmNoaWxkTm9kZXNbMV0uZmly
c3RDaGlsZCwgMCk7CisgICAgci5zZXRFbmQocGFyYWdyYXBoc1szXS5jaGlsZE5vZGVzWzBdLmZp
cnN0Q2hpbGQsIDIpOworICAgIGZyYWdtZW50ID0gci5leHRyYWN0Q29udGVudHMoKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInRyaW0oZnJhZ21lbnQudGV4dENvbnRlbnQpIiwgInB1bmUi
KTsKKworICAgIC8vIFRlc3QgbW9kaWZ5aW5nIGVsZW1lbnRzIGluIHJhbmdlLgorICAgIHIuc2V0
U3RhcnQocGFyYWdyYXBoc1sxXS5maXJzdENoaWxkLCA2MCk7CisgICAgci5zZXRFbmQocGFyYWdy
YXBoc1szXS5jaGlsZE5vZGVzWzFdLCA3KTsKKyAgICBwYXJhZ3JhcGhzWzJdLnBhcmVudE5vZGUu
cmVtb3ZlQ2hpbGQocGFyYWdyYXBoc1syXSk7CisgICAgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250
ZW50cygpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidHJpbShmcmFnbWVudC50ZXh0Q29u
dGVudCkiLCAiZXVpc21vZCB1bHRyaWNpZXMuIGMgc29kYWxlIik7CisKKyAgICB2YXIgd29yZHMg
PSBwYXJhZ3JhcGhzWzBdLnRleHRDb250ZW50LnNwbGl0KCcgJyk7CisgICAgdmFyIGh0bWwgPSAn
JzsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHdvcmRzLmxlbmd0aDsgaSsrKQorICAgICAgICBo
dG1sICs9ICc8c3Bhbj4nICsgd29yZHNbaV0gKyAnPC9zcGFuPic7CisgICAgcGFyYWdyYXBoc1sw
XS5pbm5lckhUTUwgPSBodG1sOworCisgICAgci5zZXRTdGFydChwYXJhZ3JhcGhzWzBdLmNoaWxk
Tm9kZXNbMl0sIDApOworICAgIHIuc2V0RW5kKHBhcmFncmFwaHNbMV0uZmlyc3RDaGlsZCwgNyk7
CisgICAgcGFyYWdyYXBoc1swXS5jaGlsZE5vZGVzWzNdLmFwcGVuZENoaWxkKHBhcmFncmFwaHNb
MF0uY2hpbGROb2Rlc1s1XSk7CisgICAgcGFyYWdyYXBoc1swXS5jaGlsZE5vZGVzWzFdLmFwcGVu
ZENoaWxkKHBhcmFncmFwaHNbMF0uY2hpbGROb2Rlc1syXSk7CisgICAgZnJhZ21lbnQgPSByLmV4
dHJhY3RDb250ZW50cygpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidHJpbShmcmFnbWVu
dC50ZXh0Q29udGVudCkiLCAiZWxpdExvcmVtZG9sb3JpcHN1bXNpdGFtZXQuRnVzY2VpbmF1Y3Rv
cmVuaW0uIFF1aXNxdWUiKTsKKworICAgIC8vIFJlbW92ZSByZW1haW5pbmcgY29udGVudC4KKyAg
ICByLnNldFN0YXJ0KHBhcmFncmFwaHNbMF0sIDApOworICAgIHIuc2V0RW5kKHBhcmFncmFwaHNb
Ml0ubGFzdENoaWxkLCAxNSk7CisgICAgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOwor
CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76565</attachid>
            <date>2010-12-14 13:35:01 -0800</date>
            <delta_ts>2010-12-14 15:24:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>51005.patch</filename>
            <type>text/plain</type>
            <size>9579</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDc0MDQ5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMTQgIEVtaWwgRWtsdW5kICA8ZWFl
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdHMgZm9yIFJhbmdlOjpleHRyYWN0Q29udGVudHMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTAwNQorCisgICAgICAgICog
ZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLWV4cGVjdGVkLnR4dDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRl
bnRzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0
Q29udGVudHMtY3Jhc2guaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFu
Z2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLmh0bWwuCisgICAgICAgICogZmFzdC9kb20vUmFuZ2Uv
cmFuZ2UtZXh0cmFjdENvbnRlbnRzLWV4cGVjdGVkLnR4dDogUmVwbGFjZWQuCisgICAgICAgICog
ZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLmh0bWw6IFJlcGxhY2VkLgorCiAy
MDEwLTEyLTE0ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3Jh
bmdlLWV4dHJhY3RDb250ZW50cy1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3Jhbmdl
LWV4dHJhY3RDb250ZW50cy1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEgQEAKK1BBU1M6IE5vIGNyYXNoLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uv
cmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLWNyYXNoLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0Q29udGVu
dHMtY3Jhc2guaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
KyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykKKyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7
CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICBkb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udCcpLmlubmVySFRN
TCA9ICcnOworICAgICAgICAgICAgfSwgZmFsc2UpOworCisgICAgICAgICAgICB2YXIgciA9IGRv
Y3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
IHIuc2V0U3RhcnRCZWZvcmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXJ0JykpOworICAg
ICAgICAgICAgICAgIHIuc2V0RW5kQWZ0ZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VuZCcp
KTsKKyAgICAgICAgICAgICAgICB2YXIgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOwor
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpOworICAg
ICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsb2coJ1BB
U1M6IE5vIGNyYXNoLicpOworICAgICAgICB9CisKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdHMoKTsiPgorICAgIDxwIGlkPSJjb250Ij4KKyAgICAgICAgPHNw
YW4+VGhpcyA8c3BhbiBpZD0ic3RhcnQiPnRlc3RzPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgPHNw
YW4+dGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIG11dGF0aW5nIHRoZSBkb20gZHVyaW5nPC9zcGFu
PgorICAgICAgICA8c3Bhbj5hbiA8Y29kZSBpZD0iZW5kIj5leHRyYWN0Q29udGVudHM8L2NvZGU+
IGNhbGwuPC9zcGFuPgorICAgIDwvcD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWV4dHJhY3RDb250ZW50cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRl
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzM5ODkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9SYW5nZS9yYW5nZS1leHRyYWN0Q29udGVudHMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xICsxLDEyIEBACi1QQVNTOiBObyBjcmFzaC4KK1BBU1MgdG9IVE1MKGZyYWdtZW50KSBp
cyAiTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQiCitQQVNTIHRvSFRNTChmcmFnbWVudCkgaXMg
ImFkaXBpc2NpbmciCitQQVNTIHRvSFRNTChmcmFnbWVudCkgaXMgIi4gRnVzY2UgaW4gYXVjdG9y
IGVuaW0uIgorUEFTUyB0b0hUTUwoZnJhZ21lbnQpIGlzICJMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldC4gRnVzY2UgaW4gYXVjdG9yIGVuaW0uIgorUEFTUyB0b0hUTUwoZnJhZ21lbnQpIGlzICI8
cD48c3Bhbj5ydXM8L3NwYW4+IGFsaXF1ZXQgdml0YWUgY29tbW9kbyA8c3Bhbj5kaWFtPC9zcGFu
PiByaG9uY3VzLjwvcD5cbjxwPk51bGxhbSA8c3Bhbj5zY2VsZXJpc3F1ZTwvc3Bhbj4gbGFvcmVl
dCB0ZWxsdXMsIGFjIG1vbGxpcyBsaWd1bGEgc2FnaXR0aXMgc2VkLiA8Yj5EbzwvYj48L3A+Igor
UEFTUyB0b0hUTUwoZnJhZ21lbnQpIGlzICI8cD48c3Bhbj5wdTwvc3Bhbj48L3A+PHA+PGI+bmU8
L2I+PC9wPiIKK1BBU1MgdG9IVE1MKGZyYWdtZW50KSBpcyAiPHA+ZXVpc21vZCB1bHRyaWNpZXMu
PC9wPlxuPHA+PGI+YzwvYj4gc29kYWxlPC9wPiIKK1BBU1MgdG9IVE1MKGZyYWdtZW50KSBpcyAi
PHA+PHNwYW4+ZWxpdExvcmVtPHNwYW4+ZG9sb3I8L3NwYW4+PC9zcGFuPjxzcGFuPmlwc3VtPC9z
cGFuPjxzcGFuPnNpdDwvc3Bhbj48c3Bhbj5hbWV0Ljwvc3Bhbj48c3Bhbj5GdXNjZTwvc3Bhbj48
c3Bhbj5pbjwvc3Bhbj48c3Bhbj5hdWN0b3I8L3NwYW4+PHNwYW4+ZW5pbS48L3NwYW4+PC9wPlxu
PHA+UXVpc3F1ZTwvcD4iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFj
dENvbnRlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uv
cmFuZ2UtZXh0cmFjdENvbnRlbnRzLmh0bWwJKHJldmlzaW9uIDczOTg5KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdENvbnRlbnRzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMzkgKzEsMTAzIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBmdW5jdGlvbiBsb2co
bXNnKQotICAgICAgICB7Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicpKTsKLSAgICAgICAgfQorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgaWQ9InRlc3RBcmVhIj4KKzxw
PkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQu
IEZ1c2NlIGluIGF1Y3RvciBlbmltLjwvcD4KKzxwPlF1aXNxdWUgcXVpcyBhdWd1ZSB0b3J0b3Iu
IE1hZWNlbmFzIGF1Y3RvciBpcHN1bSBzZWQgbWF1cmlzIGV1aXNtb2QgdWx0cmljaWVzLjwvcD4K
KzxwPkRvbmVjIHVsdHJpY2llcyBuaXNsIGEgPHNwYW4+cHVydXM8L3NwYW4+IGFsaXF1ZXQgdml0
YWUgY29tbW9kbyA8c3Bhbj5kaWFtPC9zcGFuPiByaG9uY3VzLjwvcD4KKzxwPk51bGxhbSA8c3Bh
bj5zY2VsZXJpc3F1ZTwvc3Bhbj4gbGFvcmVldCB0ZWxsdXMsIGFjIG1vbGxpcyBsaWd1bGEgc2Fn
aXR0aXMgc2VkLiA8Yj5Eb25lYzwvYj4gc29kYWxlcyBjb25zZWN0ZXR1ciA8aT5kb2xvcjwvaT4g
bm9uIHRpbmNpZHVudC48L3A+Cis8L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgogCi0gICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkKLSAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0KLSAgICAgICAgICAgIGRvY3VtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoIkRPTVN1YnRyZWVNb2RpZmllZCIsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250JykuaW5uZXJIVE1MID0gJyc7
Ci0gICAgICAgICAgICB9LCBmYWxzZSk7Ci0KLSAgICAgICAgICAgIHZhciByID0gZG9jdW1lbnQu
Y3JlYXRlUmFuZ2UoKTsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgci5zZXRT
dGFydEJlZm9yZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhcnQnKSk7Ci0gICAgICAgICAg
ICAgICAgci5zZXRFbmRBZnRlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW5kJykpOwotICAg
ICAgICAgICAgICAgIHZhciBmcmFnbWVudCA9IHIuZXh0cmFjdENvbnRlbnRzKCk7Ci0gICAgICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFnbWVudCk7Ci0gICAgICAgICAg
ICB9IGNhdGNoKGUpIHsKKyAgICBmdW5jdGlvbiB0b0hUTUwoZnJhZ21lbnQpCisgICAgeworICAg
ICAgICB2YXIgaHRtbCA9ICcnOworICAgICAgICBmb3IgKHZhciBub2RlID0gZnJhZ21lbnQuZmly
c3RDaGlsZDsgbm9kZTsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHsKKyAgICAgICAgICAgIHN3
aXRjaCAobm9kZS5ub2RlVHlwZSkgeworICAgICAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAg
ICAgIGh0bWwgKz0gbm9kZS5vdXRlckhUTUw7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBjYXNlIDM6CisgICAgICAgICAgICAgICAgaHRtbCArPSBub2RlLm5vZGVWYWx1ZTsK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICAgICAgaHRtbCArPSAnW1VORVhQRUNURUQgTk9ERSBUWVBFXSc7CiAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBsb2coJ1BBU1M6IE5vIGNyYXNoLicpOwogICAgICAgICB9CisgICAgICAgIHJl
dHVybiBodG1sOworICAgIH0KIAotICAgIDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0cygpOyI+Ci0gICAgPHAgaWQ9ImNvbnQiPgotICAgICAgICA8c3Bhbj5UaGlzIDxz
cGFuIGlkPSJzdGFydCI+dGVzdHM8L3NwYW4+PC9zcGFuPgotICAgICAgICA8c3Bhbj50aGF0IHdl
IGRvbid0IGNyYXNoIHdoZW4gbXV0YXRpbmcgdGhlIGRvbSBkdXJpbmc8L3NwYW4+Ci0gICAgICAg
IDxzcGFuPmFuIDxjb2RlIGlkPSJlbmQiPmV4dHJhY3RDb250ZW50czwvY29kZT4gY2FsbC48L3Nw
YW4+Ci0gICAgPC9wPgorICAgIHZhciByID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKworICAg
IC8vIFRlc3QgcmFuZ2VzIHdpdGhpbiBhIHNpbmdsZSBlbGVtZW50LiAKKyAgICB2YXIgcGFyYWdy
YXBocyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0QXJlYScpLmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdwJyk7CisgICAgci5zZXRTdGFydChwYXJhZ3JhcGhzWzBdLmZpcnN0Q2hpbGQsIDAp
OworICAgIHIuc2V0RW5kKHBhcmFncmFwaHNbMF0uZmlyc3RDaGlsZCwgMjYpOworICAgIHZhciBm
cmFnbWVudCA9IHIuZXh0cmFjdENvbnRlbnRzKCk7CisKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInRvSFRNTChmcmFnbWVudCkiLCAiTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQiKTsKKyAg
ICBwYXJhZ3JhcGhzWzBdLmFwcGVuZENoaWxkKGZyYWdtZW50KTsKKworICAgIHIuc2V0U3RhcnQo
cGFyYWdyYXBoc1swXS5maXJzdENoaWxkLCAxNCk7CisgICAgci5zZXRFbmQocGFyYWdyYXBoc1sw
XS5maXJzdENoaWxkLCAyNCk7CisgICAgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidG9IVE1MKGZyYWdtZW50KSIsICJhZGlwaXNjaW5n
Iik7CisKKyAgICByLnNldFN0YXJ0KHBhcmFncmFwaHNbMF0uZmlyc3RDaGlsZCwgMTkpOworICAg
IHIuc2V0RW5kKHBhcmFncmFwaHNbMF0uZmlyc3RDaGlsZCwgNDIpOworICAgIGZyYWdtZW50ID0g
ci5leHRyYWN0Q29udGVudHMoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInRvSFRNTChm
cmFnbWVudCkiLCAiLiBGdXNjZSBpbiBhdWN0b3IgZW5pbS4iKTsKKyAgICBwYXJhZ3JhcGhzWzBd
LmFwcGVuZENoaWxkKGZyYWdtZW50KTsKKworICAgIHIuc2V0U3RhcnQocGFyYWdyYXBoc1swXS5m
aXJzdENoaWxkLCAxOSk7CisgICAgci5zZXRFbmRBZnRlcihwYXJhZ3JhcGhzWzBdLmxhc3RDaGls
ZCk7CisgICAgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygidG9IVE1MKGZyYWdtZW50KSIsICJMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dC4gRnVzY2UgaW4gYXVjdG9yIGVuaW0uIik7CisgICAgcGFyYWdyYXBoc1swXS5hcHBlbmRDaGls
ZChmcmFnbWVudCk7CisKKyAgICAvLyBUZXN0IHJhbmdlcyBzcGFubmluZyBtdWx0aXBsZSBlbGVt
ZW50cy4KKyAgICByLnNldFN0YXJ0KHBhcmFncmFwaHNbMl0uY2hpbGROb2Rlc1sxXS5maXJzdENo
aWxkLCAyKTsKKyAgICByLnNldEVuZChwYXJhZ3JhcGhzWzNdLmNoaWxkTm9kZXNbM10uZmlyc3RD
aGlsZCwgMik7CisgICAgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygidG9IVE1MKGZyYWdtZW50KSIsICI8cD48c3Bhbj5ydXM8L3NwYW4+
IGFsaXF1ZXQgdml0YWUgY29tbW9kbyA8c3Bhbj5kaWFtPC9zcGFuPiByaG9uY3VzLjwvcD5cbjxw
Pk51bGxhbSA8c3Bhbj5zY2VsZXJpc3F1ZTwvc3Bhbj4gbGFvcmVldCB0ZWxsdXMsIGFjIG1vbGxp
cyBsaWd1bGEgc2FnaXR0aXMgc2VkLiA8Yj5EbzwvYj48L3A+Iik7CisgICAgd2luZG93LmZyYWdt
ZW50ID0gZnJhZ21lbnQ7CisKKyAgICByLnNldFN0YXJ0KHBhcmFncmFwaHNbMl0uY2hpbGROb2Rl
c1sxXS5maXJzdENoaWxkLCAwKTsKKyAgICByLnNldEVuZChwYXJhZ3JhcGhzWzNdLmNoaWxkTm9k
ZXNbMF0uZmlyc3RDaGlsZCwgMik7CisgICAgZnJhZ21lbnQgPSByLmV4dHJhY3RDb250ZW50cygp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidG9IVE1MKGZyYWdtZW50KSIsICI8cD48c3Bh
bj5wdTwvc3Bhbj48L3A+PHA+PGI+bmU8L2I+PC9wPiIpOworCisgICAgLy8gVGVzdCBtb2RpZnlp
bmcgZWxlbWVudHMgaW4gcmFuZ2UuCisgICAgci5zZXRTdGFydChwYXJhZ3JhcGhzWzFdLmZpcnN0
Q2hpbGQsIDYwKTsKKyAgICByLnNldEVuZChwYXJhZ3JhcGhzWzNdLmNoaWxkTm9kZXNbMV0sIDcp
OworICAgIHBhcmFncmFwaHNbMl0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwYXJhZ3JhcGhzWzJd
KTsKKyAgICBmcmFnbWVudCA9IHIuZXh0cmFjdENvbnRlbnRzKCk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0b0hUTUwoZnJhZ21lbnQpIiwgIjxwPmV1aXNtb2QgdWx0cmljaWVzLjwvcD5c
bjxwPjxiPmM8L2I+IHNvZGFsZTwvcD4iKTsKKworICAgIHZhciB3b3JkcyA9IHBhcmFncmFwaHNb
MF0udGV4dENvbnRlbnQuc3BsaXQoJyAnKTsKKyAgICB2YXIgaHRtbCA9ICcnOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgd29yZHMubGVuZ3RoOyBpKyspCisgICAgICAgIGh0bWwgKz0gJzxzcGFu
PicgKyB3b3Jkc1tpXSArICc8L3NwYW4+JzsKKyAgICBwYXJhZ3JhcGhzWzBdLmlubmVySFRNTCA9
IGh0bWw7CisKKyAgICByLnNldFN0YXJ0KHBhcmFncmFwaHNbMF0uY2hpbGROb2Rlc1syXSwgMCk7
CisgICAgci5zZXRFbmQocGFyYWdyYXBoc1sxXS5maXJzdENoaWxkLCA3KTsKKyAgICBwYXJhZ3Jh
cGhzWzBdLmNoaWxkTm9kZXNbM10uYXBwZW5kQ2hpbGQocGFyYWdyYXBoc1swXS5jaGlsZE5vZGVz
WzVdKTsKKyAgICBwYXJhZ3JhcGhzWzBdLmNoaWxkTm9kZXNbMV0uYXBwZW5kQ2hpbGQocGFyYWdy
YXBoc1swXS5jaGlsZE5vZGVzWzJdKTsKKyAgICBmcmFnbWVudCA9IHIuZXh0cmFjdENvbnRlbnRz
KCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0b0hUTUwoZnJhZ21lbnQpIiwgIjxwPjxz
cGFuPmVsaXRMb3JlbTxzcGFuPmRvbG9yPC9zcGFuPjwvc3Bhbj48c3Bhbj5pcHN1bTwvc3Bhbj48
c3Bhbj5zaXQ8L3NwYW4+PHNwYW4+YW1ldC48L3NwYW4+PHNwYW4+RnVzY2U8L3NwYW4+PHNwYW4+
aW48L3NwYW4+PHNwYW4+YXVjdG9yPC9zcGFuPjxzcGFuPmVuaW0uPC9zcGFuPjwvcD5cbjxwPlF1
aXNxdWU8L3A+Iik7CisKKyAgICAvLyBSZW1vdmUgcmVtYWluaW5nIGNvbnRlbnQuCisgICAgci5z
ZXRTdGFydChwYXJhZ3JhcGhzWzBdLCAwKTsKKyAgICByLnNldEVuZChwYXJhZ3JhcGhzWzJdLmxh
c3RDaGlsZCwgMTUpOworICAgIGZyYWdtZW50ID0gci5leHRyYWN0Q29udGVudHMoKTsKKworICAg
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76580</attachid>
            <date>2010-12-14 15:24:16 -0800</date>
            <delta_ts>2010-12-14 17:24:42 -0800</delta_ts>
            <desc>adds a test</desc>
            <filename>bug-51005-20101214152415.patch</filename>
            <type>text/plain</type>
            <size>10281</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmOWIwMjI3MTg3NGE5ODU4NjYzYzA3MjY1NjM4ZWY2N2Y1NWY4ZjJkLi43ZjEzYTdm
MWQ5MjFiMjI2ZjNhOWE0ZDNkOWQxNWM5YWNjZmQ0YmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMTItMTQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmFuZ2U6OmV4dHJhY3RDb250
ZW50cyBuZWVkcyBtb3JlIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MTAwNQorCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBlbnN1cmUgUmFu
Z2U6OmV4dHJhY3RDb250ZW50cyB3b3JrIGFzIGV4cGVjdGVkLgorCisgICAgICAgICogZmFzdC9k
b20vUmFuZ2UvcmFuZ2UtZXh0cmFjdC1jb250ZW50cy1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0Q29udGVudHMt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3JhbmdlLWV4dHJhY3QtY29u
dGVudHMtY3Jhc2guaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZG9tL1Jhbmdl
L3JhbmdlLWV4dHJhY3RDb250ZW50cy5odG1sLgorICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3Jh
bmdlLWV4dHJhY3QtY29udGVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0LWNvbnRlbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHJlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qczoKKyAgICAgICAgKE1hcmt1cC5kdW1wKTogRG9u
J3QgY2FsbCBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lIGlmIGl0IGRvZXNuJ3QgZXhpc3QuCisK
IDIwMTAtMTItMTMgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBCZXRoIERha2luLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdC1jb250ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0LWNvbnRlbnRzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYjMxOWQ3YTQxY2MzMmEyNTA4OGUxYjIxMzBiN2UwMjljOGM5NTEzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvcmFuZ2UtZXh0cmFjdC1j
b250ZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNjIgQEAKK3Rlc3QgY29udGVudHM6Cit8
ICJoZWxsbyB3b3JsZCIKK3wgPHNwYW4+Cit8ICAgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyIK
K3wgICAiV2ViS2l0IgorfCA8ZW0+Cit8ICAgPHNjcmlwdD4KK3wgICAgICJ2YXIgaT0wOyIKK3wg
ICA8Yj4KK3wgICAgIDxjb2RlPgorfCAgICAgICAiVGhpcyIKK3wgICAgICIgaXMiCit8ICAgIiBh
ICIKK3wgICA8dHQ+Cit8ICAgICAidGVzdCAiCit8ICAgICA8d2JyPgorfCAgICAgIm9mICIKK3wg
ICAgIDxibG9ja3F1b3RlPgorfCAgICAgICAiUmFuZ2UncyBleHRyYWN0Q29udGVudHMuIgorfCA8
cT4KK3wgICA8ZGZuPgorfCAgICAgIlRoaXMiCit8IDwhLS0gIHRlc3QgIC0tPgorfCAiICIKK3wg
PGhlYWRlcj4KK3wgICA8aDM+Cit8ICAgICAidGVzdCIKK3wgIiBhbHNvIHdvcmtzIGluIEZpcmVm
b3guIgorCitQQVNTOiBFeHRyYWN0aW5nIGVtcHR5IGNvbnRlbnRzIHlpZWxkczoKK3wgCisKK1BB
U1M6IEV4dHJhY3RpbmcgZW50aXJlIGNvbnRlbnRzIHlpZWxkczoKK3wgImhlbGxvIHdvcmxkIgor
fCA8c3Bhbj4KK3wgICBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7IgorfCAgICJXZWJLaXQiCit8
IDxlbT4KK3wgICA8c2NyaXB0PgorfCAgICAgInZhciBpPTA7IgorfCAgIDxiPgorfCAgICAgPGNv
ZGU+Cit8ICAgICAgICJUaGlzIgorfCAgICAgIiBpcyIKK3wgICAiIGEgIgorfCAgIDx0dD4KK3wg
ICAgICJ0ZXN0ICIKK3wgICAgIDx3YnI+Cit8ICAgICAib2YgIgorfCAgICAgPGJsb2NrcXVvdGU+
Cit8ICAgICAgICJSYW5nZSdzIGV4dHJhY3RDb250ZW50cy4iCit8IDxxPgorfCAgIDxkZm4+Cit8
ICAgICAiVGhpcyIKK3wgPCEtLSAgdGVzdCAgLS0+Cit8ICIgIgorfCA8aGVhZGVyPgorfCAgIDxo
Mz4KK3wgICAgICJ0ZXN0IgorfCAiIGFsc28gd29ya3MgaW4gRmlyZWZveC4iCisKK1BBU1M6IEV4
dHJhY3Rpbmcgc2luZ2xlIHRleHQgbm9kZSB5aWVsZHM6Cit8ICJoZWxsbyB3b3JsZCIKKworUEFT
UzogRXh0cmFjdGluZyBzdWJzdHJpbmcgb2YgYSB0ZXh0IG5vZGUgKDIsIDUpIHlpZWxkczoKK3wg
ImxsbyIKKworUEFTUzogRXh0cmFjdGluZyBzaW5nbGUgdGV4dCBub2RlIGFuZCBzdGFydCBvZiBz
cGFuIHlpZWxkczoKK3wgImhlbGxvIHdvcmxkIgorfCA8c3Bhbj4KK3wgICBzdHlsZT0iZm9udC13
ZWlnaHQ6IGJvbGQ7IgorCitQQVNTOiBFeHRyYWN0aW5nIHNpbmdsZSB0ZXh0IG5vZGUgYW5kIGEg
c3BhbiB5aWVsZHM6Cit8ICJoZWxsbyB3b3JsZCIKK3wgPHNwYW4+Cit8ICAgc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyIKK3wgICAiV2ViS2l0IgorCitQQVNTOiBFeHRyYWN0aW5nIHNwYW4gdGhy
b3VnaCBmaXJzdCBiIHlpZWxkczoKK3wgPHNwYW4+Cit8ICAgc3R5bGU9ImZvbnQtd2VpZ2h0OiBi
b2xkOyIKK3wgICAiV2ViS2l0IgorfCA8ZW0+Cit8ICAgPHNjcmlwdD4KK3wgICAgICJ2YXIgaT0w
OyIKK3wgICA8Yj4KKworUEFTUzogRXh0cmFjdGluZyBjb2RlIHRocm91Z2ggYmxvY2txdW90ZSB5
aWVsZHM6Cit8IDxiPgorfCAgIDxjb2RlPgorfCAgICAgIlRoaXMiCit8ICAgIiBpcyIKK3wgIiBh
ICIKK3wgPHR0PgorfCAgICJ0ZXN0ICIKK3wgICA8d2JyPgorfCAgICJvZiAiCit8ICAgPGJsb2Nr
cXVvdGU+Cit8ICAgICAiUmFuZ2UncyBleHRyYWN0Q29udGVudHMuIgorCitQQVNTOiBFeHRyYWN0
aW5nIHdiciB0aHJvdWdoIGJsb2NrcXVvdGUgeWllbGRzOgorfCA8d2JyPgorfCAib2YgIgorfCA8
YmxvY2txdW90ZT4KK3wgICAiUmFuZ2UncyBleHRyYWN0Q29udGVudHMuIgorCitQQVNTOiBFeHRy
YWN0aW5nIHEgdGhyb3VnaCBoZWFkZXIgeWllbGRzOgorfCA8cT4KK3wgICA8ZGZuPgorfCAgICAg
IlRoaXMiCit8IDwhLS0gIHRlc3QgIC0tPgorfCAiICIKK3wgPGhlYWRlcj4KK3wgICA8aDM+Cit8
ICAgICAidGVzdCIKKworUEFTUzogRXh0cmFjdGluZyBxIHRocm91Z2ggaGVhZGVyIHVzaW5nIG5v
ZGUgaW5kZXggeWllbGRzOgorfCA8cT4KK3wgICA8ZGZuPgorfCAgICAgIlRoaXMiCit8IDwhLS0g
IHRlc3QgIC0tPgorfCAiICIKK3wgPGhlYWRlcj4KK3wgICA8aDM+Cit8ICAgICAidGVzdCIKKwor
UEFTUzogRXh0cmFjdGluZyBkZm4gdGhyb3VnaCBoZWFkZXIgeWllbGRzOgorfCA8cT4KK3wgICA8
ZGZuPgorfCAgICAgIlRoaXMiCit8IDwhLS0gIHRlc3QgIC0tPgorfCAiICIKK3wgPGhlYWRlcj4K
K3wgICA8aDM+Cit8ICAgICAidGVzdCIKKworUEFTUzogRXh0cmFjdGluZyBzY3JpcHQgdGhyb3Vn
aCBkZm4geWllbGRzOgorfCA8ZW0+Cit8ICAgPHNjcmlwdD4KK3wgICAgICJ2YXIgaT0wOyIKK3wg
ICA8Yj4KK3wgICAgIDxjb2RlPgorfCAgICAgICAiVGhpcyIKK3wgICAgICIgaXMiCit8ICAgIiBh
ICIKK3wgICA8dHQ+Cit8ICAgICAidGVzdCAiCit8ICAgICA8d2JyPgorfCAgICAgIm9mICIKK3wg
ICAgIDxibG9ja3F1b3RlPgorfCAgICAgICAiUmFuZ2UncyBleHRyYWN0Q29udGVudHMuIgorfCA8
cT4KK3wgICA8ZGZuPgorfCAgICAgIlRoaXMiCisKK1BBU1M6IEV4dHJhY3RpbmcgYmxvY2txdW90
ZSB0aHJvdWdoIGVtIHlpZWxkczoKK3wgPHR0PgorfCAgIDxibG9ja3F1b3RlPgorfCAgICAgIlJh
bmdlJ3MgZXh0cmFjdENvbnRlbnRzLiIKKworRE9ORQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0LWNvbnRlbnRzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0LWNvbnRlbnRzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmQyZDQ0YzJhYmNiZTc1OTRkNzU1ZjBiZDkzYWIzYjhhYmY1M2JlYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWV4dHJhY3QtY29udGVudHMuaHRt
bApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8ZGl2
IGlkPSJ0ZXN0Ij5oZWxsbyB3b3JsZDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPldl
YktpdDwvc3Bhbj48ZW0+PHNjcmlwdD52YXIgaT0wOzwvc2NyaXB0PjxiPjxjb2RlPlRoaXM8L2Nv
ZGU+IGlzPC91PjwvYj4gYSA8dHQ+dGVzdCA8d2JyPm9mIDxibG9ja3F1b3RlPlJhbmdlJ3MgZXh0
cmFjdENvbnRlbnRzLjwvYmxvY2txdW90ZT48L3R0PjwvZW0+PHE+PGRmbj5UaGlzPC9kZm4+PC9x
PjwhLS0gdGVzdCAtLT4gPGhlYWRlcj48aDM+dGVzdDwvaGVhZGVyPiBhbHNvIHdvcmtzIGluIEZp
cmVmb3guPC9oMz48L2Rpdj4KKzxkaXYgaWQ9ImV4cGVjdGF0aW9ucyI+CisgICAgPGRpdiBpZD0i
dGVzdF9lbXB0eSI+PC9kaXY+CisgICAgPGRpdiBpZD0idGVzdF90ZXh0Ij5oZWxsbyB3b3JsZDwv
ZGl2PgorICAgIDxkaXYgaWQ9InRlc3Rfc3Vic3RyaW5nIj5sbG88L2Rpdj4KKyAgICA8ZGl2IGlk
PSJ0ZXN0X3RleHRfd2l0aF9zdGFydF90YWciPmhlbGxvIHdvcmxkPHNwYW4gc3R5bGU9ImZvbnQt
d2VpZ2h0OiBib2xkOyI+PC9zcGFuPjwvZGl2PgorICAgIDxkaXYgaWQ9InRlc3RfdGV4dF9hbmRf
c3BhbiI+aGVsbG8gd29ybGQ8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5XZWJLaXQ8
L3NwYW4+PC9kaXY+CisgICAgPGRpdiBpZD0idGVzdF9zcGFuX2IiPjxzcGFuIHN0eWxlPSJmb250
LXdlaWdodDogYm9sZDsiPldlYktpdDwvc3Bhbj48ZW0+PHNjcmlwdD52YXIgaT0wOzwvc2NyaXB0
PjxiPjwvYj48L2VtPjwvZGl2PgorICAgIDxkaXYgaWQ9InRlc3RfY29kZV9ibG9ja3F1b3RlIj48
Yj48Y29kZT5UaGlzPC9jb2RlPiBpczwvdT48L2I+IGEgPHR0PnRlc3QgPHdicj5vZiA8YmxvY2tx
dW90ZT5SYW5nZSdzIGV4dHJhY3RDb250ZW50cy48L2Jsb2NrcXVvdGU+PC90dD48L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJ0ZXN0X3dicl9ibG9ja3F1b3RlIj48d2JyPm9mIDxibG9ja3F1b3RlPlJhbmdl
J3MgZXh0cmFjdENvbnRlbnRzLjwvYmxvY2txdW90ZT48L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXN0
X3FfaGVhZGVyIj48cT48ZGZuPlRoaXM8L2Rmbj48L3E+PCEtLSB0ZXN0IC0tPiA8aGVhZGVyPjxo
Mz50ZXN0PC9oMz48L2hlYWRlcj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJ0ZXN0X3NjcmlwdF9kZm4i
PjxlbT48c2NyaXB0PnZhciBpPTA7PC9zY3JpcHQ+PGI+PGNvZGU+VGhpczwvY29kZT4gaXM8L3U+
PC9iPiBhIDx0dD50ZXN0IDx3YnI+b2YgPGJsb2NrcXVvdGU+UmFuZ2UncyBleHRyYWN0Q29udGVu
dHMuPC9ibG9ja3F1b3RlPjwvdHQ+PC9lbT48cT48ZGZuPlRoaXM8L2Rmbj48L2Rpdj4KKyAgICA8
ZGl2IGlkPSJ0ZXN0X2Jsb2NrcXVvdGVfZW0iPjx0dD48YmxvY2txdW90ZT5SYW5nZSdzIGV4dHJh
Y3RDb250ZW50cy48L2Jsb2NrcXVvdGU+PC90dD48L2Rpdj4KKzwvZGl2PgorPHByZSBpZD0iY29u
c29sZSI+PC9wcmU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFy
a3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKSB7Cisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lckhUTUwgKz0gbWVzc2Fn
ZSArICdcbic7Cit9CisKK2Z1bmN0aW9uIHRlc3RFeHRyYWN0Q29udGVudHMoZGVzY3JpcHRpb24s
IHN0YXJ0Q29udGFpbmVyLCBzdGFydE9mZnNldCwgZW5kQ29udGFpbmVyLCBlbmRPZmZzZXQsIGV4
cGVjdGVkQ29udGVudHNJZCkgeworICAgIHZhciB0ZXN0Q29udGVudHMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGVzdCcpLmlubmVySFRNTDsKKworICAgIHZhciByYW5nZSA9IGRvY3VtZW50
LmNyZWF0ZVJhbmdlKCk7CisgICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRDb250YWluZXIsIHN0YXJ0
T2Zmc2V0KTsKKyAgICByYW5nZS5zZXRFbmQoZW5kQ29udGFpbmVyLCBlbmRPZmZzZXQpOworICAg
IHZhciBhY3R1YWxDb250ZW50cyA9IHJhbmdlLmV4dHJhY3RDb250ZW50cygpOworICAgIAorICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0JykuaW5uZXJIVE1MID0gdGVzdENvbnRlbnRz
OworCisgICAgdmFyIGFjdGlvbiA9IGRlc2NyaXB0aW9uICsgJyB5aWVsZHM6XG4nICsgTWFya3Vw
LmdldChhY3R1YWxDb250ZW50cykucmVwbGFjZSgvPC9nLCAnJmx0OycpOworICAgIHZhciBleHBl
Y3RlZENvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZXhwZWN0ZWRDb250ZW50c0lk
KTsKKyAgICBpZiAoTWFya3VwLmdldChhY3R1YWxDb250ZW50cykgPT0gTWFya3VwLmdldChleHBl
Y3RlZENvbnRlbnRzKSkKKyAgICAgICAgbG9nKCdQQVNTOiAnICsgYWN0aW9uKTsKKyAgICBlbHNl
CisgICAgICAgIGxvZygnRkFJTDogJyArIGFjdGlvbiArICdcbiBidXQgZXhwZWN0ZWQ6XG4nICsg
TWFya3VwLmdldChleHBlY3RlZENvbnRlbnRzKS5yZXBsYWNlKC88L2csICcmbHQ7JykpOworCisg
ICAgbG9nKCcnKTsKK30KKworTWFya3VwLm5vQXV0b0R1bXAoKTsKKwordmFyIHRlc3QgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOworbG9nKCd0ZXN0IGNvbnRlbnRzOlxuJyArIE1h
cmt1cC5nZXQodGVzdCkucmVwbGFjZSgvPC9nLCAnJmx0OycpICsgJ1xuJykKKworZnVuY3Rpb24g
Zmlyc3RFbGVtZW50KG5hbWUpIHsKKyAgICByZXR1cm4gdGVzdC5nZXRFbGVtZW50c0J5VGFnTmFt
ZShuYW1lKVswXTsKK30KKwordGVzdEV4dHJhY3RDb250ZW50cygnRXh0cmFjdGluZyBlbXB0eSBj
b250ZW50cycsIHRlc3QsIDAsIHRlc3QsIDAsICd0ZXN0X2VtcHR5Jyk7Cit0ZXN0RXh0cmFjdENv
bnRlbnRzKCdFeHRyYWN0aW5nIGVudGlyZSBjb250ZW50cycsIHRlc3QsIDAsIHRlc3QsIHRlc3Qu
Y2hpbGROb2Rlcy5sZW5ndGgsICd0ZXN0Jyk7Cit0ZXN0RXh0cmFjdENvbnRlbnRzKCdFeHRyYWN0
aW5nIHNpbmdsZSB0ZXh0IG5vZGUnLCB0ZXN0LCAwLCB0ZXN0LCAxLCAndGVzdF90ZXh0JykKK3Rl
c3RFeHRyYWN0Q29udGVudHMoJ0V4dHJhY3Rpbmcgc3Vic3RyaW5nIG9mIGEgdGV4dCBub2RlICgy
LCA1KScsIHRlc3QuZmlyc3RDaGlsZCwgMiwgdGVzdC5maXJzdENoaWxkLCA1LCAndGVzdF9zdWJz
dHJpbmcnKTsKK3Rlc3RFeHRyYWN0Q29udGVudHMoJ0V4dHJhY3Rpbmcgc2luZ2xlIHRleHQgbm9k
ZSBhbmQgc3RhcnQgb2Ygc3BhbicsIHRlc3QsIDAsIHRlc3QuY2hpbGROb2Rlc1sxXSwgMCwgJ3Rl
c3RfdGV4dF93aXRoX3N0YXJ0X3RhZycpOwordGVzdEV4dHJhY3RDb250ZW50cygnRXh0cmFjdGlu
ZyBzaW5nbGUgdGV4dCBub2RlIGFuZCBhIHNwYW4nLCB0ZXN0LCAwLCB0ZXN0LCAyLCAndGVzdF90
ZXh0X2FuZF9zcGFuJyk7Cit0ZXN0RXh0cmFjdENvbnRlbnRzKCdFeHRyYWN0aW5nIHNwYW4gdGhy
b3VnaCBmaXJzdCBiJywgZmlyc3RFbGVtZW50KCdzcGFuJyksIDAsIGZpcnN0RWxlbWVudCgnYicp
LCAwLCAndGVzdF9zcGFuX2InKTsKK3Rlc3RFeHRyYWN0Q29udGVudHMoJ0V4dHJhY3RpbmcgY29k
ZSB0aHJvdWdoIGJsb2NrcXVvdGUnLCBmaXJzdEVsZW1lbnQoJ2NvZGUnKSwgMCwgZmlyc3RFbGVt
ZW50KCdibG9ja3F1b3RlJyksIDEsICd0ZXN0X2NvZGVfYmxvY2txdW90ZScpOwordGVzdEV4dHJh
Y3RDb250ZW50cygnRXh0cmFjdGluZyB3YnIgdGhyb3VnaCBibG9ja3F1b3RlJywgZmlyc3RFbGVt
ZW50KCd3YnInKSwgMCwgZmlyc3RFbGVtZW50KCdibG9ja3F1b3RlJyksIDEsICd0ZXN0X3dicl9i
bG9ja3F1b3RlJyk7Cit0ZXN0RXh0cmFjdENvbnRlbnRzKCdFeHRyYWN0aW5nIHEgdGhyb3VnaCBo
ZWFkZXInLCBmaXJzdEVsZW1lbnQoJ3EnKSwgMCwgZmlyc3RFbGVtZW50KCdoZWFkZXInKSwgMSwg
J3Rlc3RfcV9oZWFkZXInKTsKK3Rlc3RFeHRyYWN0Q29udGVudHMoJ0V4dHJhY3RpbmcgcSB0aHJv
dWdoIGhlYWRlciB1c2luZyBub2RlIGluZGV4JywgdGVzdCwgMywgdGVzdCwgNywgJ3Rlc3RfcV9o
ZWFkZXInKTsKK3Rlc3RFeHRyYWN0Q29udGVudHMoJ0V4dHJhY3RpbmcgZGZuIHRocm91Z2ggaGVh
ZGVyJywgZmlyc3RFbGVtZW50KCdkZm4nKSwgMCwgZmlyc3RFbGVtZW50KCdoZWFkZXInKSwgMSwg
J3Rlc3RfcV9oZWFkZXInKTsKK3Rlc3RFeHRyYWN0Q29udGVudHMoJ0V4dHJhY3Rpbmcgc2NyaXB0
IHRocm91Z2ggZGZuJywgZmlyc3RFbGVtZW50KCdzY3JpcHQnKSwgMCwgZmlyc3RFbGVtZW50KCdk
Zm4nKSwgMSwgJ3Rlc3Rfc2NyaXB0X2RmbicpOwordGVzdEV4dHJhY3RDb250ZW50cygnRXh0cmFj
dGluZyBibG9ja3F1b3RlIHRocm91Z2ggZW0nLCBmaXJzdEVsZW1lbnQoJ2Jsb2NrcXVvdGUnKSwg
MCwgZmlyc3RFbGVtZW50KCdlbScpLCBmaXJzdEVsZW1lbnQoJ2VtJykuY2hpbGROb2Rlcy5sZW5n
dGgsICd0ZXN0X2Jsb2NrcXVvdGVfZW0nKTsKKwordGVzdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUn
OworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdGF0aW9ucycpLnN0eWxlLmRpc3BsYXkg
PSAnbm9uZSc7CisKK2xvZygnRE9ORScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyBiL0xh
eW91dFRlc3RzL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcwppbmRleCA0ZDUzMDZlY2M0YzZl
OGUyMmVlZDE4NjA0ZmYwYWMxMDdhNTFkNGNjLi5kOTA4ZDExNTQwNmEyNDNiYzdkNzQwZTFlZDhm
OGQ1YzQ2YjdlYWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMKKysrIGIvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzCkBA
IC02MywxMyArNjMsMTUgQEAgTWFya3VwLmR1bXAgPSBmdW5jdGlvbihvcHRfbm9kZSwgb3B0X2Rl
c2NyaXB0aW9uKQogCiAgICAgLy8gRklYTUU6IEhhdmUgdGhpcyByZXNwZWN0IGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dD8KICAgICAvLyBGSVhNRTogU2hvdWxkIHdl
IGNhcmUgYWJvdXQgZnJhbWVzZXRzPwotICAgIHZhciBpZnJhbWVzID0gbm9kZS5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnaWZyYW1lJyk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpZnJhbWVzLmxl
bmd0aDsgaSsrKSB7Ci0gICAgICAgIG1hcmt1cCArPSAnXG5cbkZSQU1FICcgKyBpICsgJzpcbicK
LSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIG1hcmt1cCArPSBNYXJrdXAuZ2V0KGlmcmFtZXNb
aV0uY29udGVudERvY3VtZW50LmJvZHkucGFyZW50RWxlbWVudCk7Ci0gICAgICAgIH0gY2F0Y2gg
KGUpIHsKLSAgICAgICAgICAgIG1hcmt1cCArPSAnRklYTUU6IEFkZCBtZXRob2QgdG8gbGF5b3V0
IHRlc3QgY29udHJvbGxlciB0byBnZXQgYWNjZXNzIHRvIGNyb3NzLW9yaWdpbiBmcmFtZXMuJzsK
KyAgICBpZiAobm9kZS5nZXRFbGVtZW50c0J5VGFnTmFtZSkgeworICAgICAgICB2YXIgaWZyYW1l
cyA9IG5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpOworICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGlmcmFtZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIG1hcmt1cCAr
PSAnXG5cbkZSQU1FICcgKyBpICsgJzpcbicKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgbWFya3VwICs9IE1hcmt1cC5nZXQoaWZyYW1lc1tpXS5jb250ZW50RG9jdW1lbnQuYm9k
eS5wYXJlbnRFbGVtZW50KTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAg
ICAgICBtYXJrdXAgKz0gJ0ZJWE1FOiBBZGQgbWV0aG9kIHRvIGxheW91dCB0ZXN0IGNvbnRyb2xs
ZXIgdG8gZ2V0IGFjY2VzcyB0byBjcm9zcy1vcmlnaW4gZnJhbWVzLic7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9CiAK
</data>
<flag name="review"
          id="67554"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>