<?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>11686</bug_id>
          
          <creation_ts>2006-11-23 04:10:27 -0800</creation_ts>
          <short_desc>WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)</short_desc>
          <delta_ts>2025-09-23 23:51:12 -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>SVG</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=211282</see_also>
          <bug_file_loc>http://www.carto.net/papers/svg/gui/tabgroup/index.svg</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>44548</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-11-23 04:10:27 -0800</bug_when>
    <thetext>WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)

http://www.carto.net/papers/svg/gui/tabgroup/index.svg

It looks like there is an issue measuring the text which is causing the tabs to be so small.  Then some text drawing issues, as well as some hit detection issues. The hit detection issues might be related to the measuring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43539</commentid>
    <comment_count>1</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-02 08:19:29 -0800</bug_when>
    <thetext>Hi Eric,

(In reply to comment #0)
&gt; WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)
&gt; 
&gt; http://www.carto.net/papers/svg/gui/tabgroup/index.svg
&gt; 
&gt; It looks like there is an issue measuring the text which is causing the tabs to
&gt; be so small.  Then some text drawing issues, as well as some hit detection
&gt; issues. The hit detection issues might be related to the measuring.

I looked into it and getBBox is wrong on the text element that gets created dynamically. It is
basically an empty rect (0, 0, 0, 0), causing indeed measuring problems. It seems the render object
is created but not layouted. Not sure how to handle this yet...
Cheers,

Rob.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43542</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-12-02 10:40:02 -0800</bug_when>
    <thetext>&gt; I looked into it and getBBox is wrong on the text element that gets created
&gt; dynamically. It is
&gt; basically an empty rect (0, 0, 0, 0), causing indeed measuring problems. It
&gt; seems the render object
&gt; is created but not layouted. Not sure how to handle this yet...


I expect that getBBox just needs to force a layout, similar to how offsetTop works for HTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43516</commentid>
    <comment_count>3</comment_count>
      <attachid>11719</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-03 07:51:36 -0800</bug_when>
    <thetext>Created attachment 11719
First attempt

This could be a hack, but it works. Hyatt mentioned layoutIfNeeded being used a lot like this, but I couldn&apos;t really find it. Also I dislike the const_casts. I am wondering whether html text has the same problem as svg text, where the text is not layouted yet but the text dimensions are queried.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43481</commentid>
    <comment_count>4</comment_count>
      <attachid>11719</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-03 08:15:06 -0800</bug_when>
    <thetext>Comment on attachment 11719
First attempt

You shouldn&apos;t try to force layout of a subtree like that, nor should the check be pushed down to the renderer.

The way it&apos;s done in HTML is that the DOM method that needs layout information ensures that the document is laid out before querying the renderer. See Element::offsetTop() for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43474</commentid>
    <comment_count>5</comment_count>
      <attachid>11721</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-03 08:28:36 -0800</bug_when>
    <thetext>Created attachment 11721
Improved patch

Just what I was looking for, thnx Mitz!
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43468</commentid>
    <comment_count>6</comment_count>
      <attachid>11722</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-03 10:17:34 -0800</bug_when>
    <thetext>Created attachment 11722
Also test paths and images

Mitz was right, same problem can happen with images. This patch fixes it as well as does better testing.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43435</commentid>
    <comment_count>7</comment_count>
      <attachid>11722</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-03 23:04:50 -0800</bug_when>
    <thetext>Comment on attachment 11722
Also test paths and images

I doubt that anything that doesn&apos;t apply to all SVGLocatables is correct and robust. For example, what if your element&apos;s renderer is a RenderSVGContainer? Can&apos;t it have text and image children? It could be my lack of familiarity with this code, but why would the straightforward solution of ensuring layout in SVGLocatable::getBBox not work?

Minor style comments: please avoid &quot;layouted&quot; and use Sentence capitalization in comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43263</commentid>
    <comment_count>8</comment_count>
      <attachid>11735</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-05 01:36:49 -0800</bug_when>
    <thetext>Created attachment 11735
Improved testcase + patch

As Mitz pointed out, may as well make sure there is a layout done for all svg render objects.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43178</commentid>
    <comment_count>9</comment_count>
      <attachid>11744</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-05 13:03:28 -0800</bug_when>
    <thetext>Created attachment 11744
Improved testcase

This patch has a fix in the comment.
Furthermore it always performs the updateLayoutIgnorePendingStylesheets call, since potentially the element could have a parent that just had a display property changed from none.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43180</commentid>
    <comment_count>10</comment_count>
      <attachid>11745</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-05 13:32:52 -0800</bug_when>
    <thetext>Created attachment 11745
Improved patch

Moved the call back into the if since render style updating means the renderer() must be there.
Apart from that some rewording of the WebCore/ChangeLog.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43182</commentid>
    <comment_count>11</comment_count>
      <attachid>11745</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-05 13:38:32 -0800</bug_when>
    <thetext>Comment on attachment 11745
Improved patch

r=me if you uppercase &quot;svg&quot; and change &quot;are layout&quot; to &quot;are laid out&quot; in the ChangeLog. I still don&apos;t like that sentence :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43154</commentid>
    <comment_count>12</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-12-05 17:45:08 -0800</bug_when>
    <thetext>Landed by Rob in r18032.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11719</attachid>
            <date>2006-12-03 07:51:36 -0800</date>
            <delta_ts>2006-12-03 08:28:36 -0800</delta_ts>
            <desc>First attempt</desc>
            <filename>11686.diff</filename>
            <type>text/plain</type>
            <size>3922</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE3OTkzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMDMgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRyYXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFt
cGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZmIGRvZXMgZmluZSkKKworICAgICAgICAqIHN2
Zy9jdXN0b20vdGV4dC1nZXRCQm94LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Zn
L2N1c3RvbS90ZXh0LWdldEJCb3guc3ZnOiBBZGRlZC4KKwogMjAwNi0xMi0wMyAgTmlrb2xhcyBa
aW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlci4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC1nZXRCQm94LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtZ2V0QkJveC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQt
Z2V0QkJveC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKworICAK
KyAgCisgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICB2YXIgdHh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJ0ZXh0Iik7CisgICAgICAgIHR4dC5zZXRBdHRyaWJ1
dGUoIngiLCAiNTAiKTsKKyAgICAgICAgdHh0LnNldEF0dHJpYnV0ZSgieSIsICI1MCIpOworICAg
ICAgICB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiRmFpbGVkIik7Cisg
ICAgICAgIHR4dC5hcHBlbmRDaGlsZCh0ZXh0Tm9kZSk7CisgICAgICAgIGRvY3VtZW50LnJvb3RF
bGVtZW50LmFwcGVuZENoaWxkKHR4dCk7CisgICAgICAgIGlmICh0eHQuZ2V0QkJveCgpLndpZHRo
ID4gMCAmJiB0eHQuZ2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgIHRleHROb2Rl
LmRhdGEgPSAiUGFzc2VkIjsKKyAgICAgICAgfQorICAgIH0KKyAgCisgIAorUGFzc2VkCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtZ2V0QkJveC5zdmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LWdldEJCb3guc3ZnCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LWdldEJCb3guc3ZnCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIG9ubG9hZD0iaW5pdCgpIj4KKyAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICA8IVtDREFUQVsKKyAgICBmdW5jdGlv
biBpbml0KCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAg
IHZhciB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiwgInRleHQiKTsKKyAgICAgICAgdHh0LnNldEF0dHJpYnV0ZSgieCIsICI1MCIpOwor
ICAgICAgICB0eHQuc2V0QXR0cmlidXRlKCJ5IiwgIjUwIik7CisgICAgICAgIHZhciB0ZXh0Tm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJGYWlsZWQiKTsKKyAgICAgICAgdHh0LmFwcGVu
ZENoaWxkKHRleHROb2RlKTsKKyAgICAgICAgZG9jdW1lbnQucm9vdEVsZW1lbnQuYXBwZW5kQ2hp
bGQodHh0KTsKKyAgICAgICAgaWYgKHR4dC5nZXRCQm94KCkud2lkdGggPiAwICYmIHR4dC5nZXRC
Qm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgdGV4dE5vZGUuZGF0YSA9ICJQYXNzZWQi
OworICAgICAgICB9CisgICAgfQorICBdXT4KKyAgPC9zY3JpcHQ+Cis8L3N2Zz4KSW5kZXg6IFdl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biAxNzk5MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMDYtMTItMDMgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNjg2CisgICAgICAgIFdlYktpdCBkcmF3cyBDYXJ0by5uZXQg
dGFiZ3JvdXAgZXhhbXBsZSBjb21wbGV0ZWx5IGluY29ycmVjdGx5IChmZiBkb2VzIGZpbmUpCisK
KyAgICAgICAgTWFrZSBzdXJlIHRoZSBSZW5kZXJTVkdUZXh0IGlzIGxheW91dGVkIGJlZm9yZSBt
ZWFzdXJpbmcgdGhlIHRleHQgdXNpbmcKKyAgICAgICAgZ2V0QkJveC9yZWxhdGl2ZUJCb3guCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdUZXh0OjpyZWxhdGl2ZUJCb3gpOgorCiAyMDA2LTEyLTAzICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xp
dmVyLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAJKHJldmlzaW9uIDE3OTkz
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyNSw2ICsxMjUsMTIgQEAgRmxvYXRSZWN0IFJlbmRlclNWR1RleHQ6OnJlbGF0aXZlQkJv
eChibwogewogICAgIEZsb2F0UmVjdCBib3VuZHNSZWN0OwogICAgIElubGluZUJveCogYm94ID0g
bV9maXJzdExpbmVCb3g7CisgICAgaWYgKCFib3gpIHsKKyAgICAgICAgY29uc3RfY2FzdDxSZW5k
ZXJTVkdUZXh0Kj4odGhpcyktPnNldE1pbk1heEtub3duKGZhbHNlKTsKKyAgICAgICAgY29uc3Rf
Y2FzdDxSZW5kZXJTVkdUZXh0Kj4odGhpcyktPnJlY2FsY01pbk1heFdpZHRocygpOworICAgICAg
ICBjb25zdF9jYXN0PFJlbmRlclNWR1RleHQqPih0aGlzKS0+bGF5b3V0SWZOZWVkZWQoKTsKKyAg
ICAgICAgYm94ID0gbV9maXJzdExpbmVCb3g7CisgICAgfQogICAgIGlmIChib3gpIHsKICAgICAg
ICAgYm91bmRzUmVjdCA9IEZsb2F0UmVjdCh4UG9zKCkgKyBib3gtPnhQb3MoKSwgeVBvcygpICsg
Ym94LT55UG9zKCksIGJveC0+d2lkdGgoKSwgYm94LT5oZWlnaHQoKSk7CiAgICAgICAgIGJvdW5k
c1JlY3QgPSBsb2NhbFRyYW5zZm9ybSgpLm1hcFJlY3QoYm91bmRzUmVjdCk7Cg==
</data>
<flag name="review"
          id="4226"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11721</attachid>
            <date>2006-12-03 08:28:36 -0800</date>
            <delta_ts>2006-12-03 10:17:34 -0800</delta_ts>
            <desc>Improved patch</desc>
            <filename>11686-2.diff</filename>
            <type>text/plain</type>
            <size>3900</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE3OTkzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMDMgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRyYXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFt
cGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZmIGRvZXMgZmluZSkKKworICAgICAgICAqIHN2
Zy9jdXN0b20vdGV4dC1nZXRCQm94LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Zn
L2N1c3RvbS90ZXh0LWdldEJCb3guc3ZnOiBBZGRlZC4KKwogMjAwNi0xMi0wMyAgTmlrb2xhcyBa
aW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlci4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdGV4dC1nZXRCQm94LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtZ2V0QkJveC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQt
Z2V0QkJveC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKworICAK
KyAgCisgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICB2YXIgdHh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJ0ZXh0Iik7CisgICAgICAgIHR4dC5zZXRBdHRyaWJ1
dGUoIngiLCAiNTAiKTsKKyAgICAgICAgdHh0LnNldEF0dHJpYnV0ZSgieSIsICI1MCIpOworICAg
ICAgICB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiRmFpbGVkIik7Cisg
ICAgICAgIHR4dC5hcHBlbmRDaGlsZCh0ZXh0Tm9kZSk7CisgICAgICAgIGRvY3VtZW50LnJvb3RF
bGVtZW50LmFwcGVuZENoaWxkKHR4dCk7CisgICAgICAgIGlmICh0eHQuZ2V0QkJveCgpLndpZHRo
ID4gMCAmJiB0eHQuZ2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgIHRleHROb2Rl
LmRhdGEgPSAiUGFzc2VkIjsKKyAgICAgICAgfQorICAgIH0KKyAgCisgIAorUGFzc2VkCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RleHQtZ2V0QkJveC5zdmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LWdldEJCb3guc3ZnCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90ZXh0LWdldEJCb3guc3ZnCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIG9ubG9hZD0iaW5pdCgpIj4KKyAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICA8IVtDREFUQVsKKyAgICBmdW5jdGlv
biBpbml0KCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAg
IHZhciB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiwgInRleHQiKTsKKyAgICAgICAgdHh0LnNldEF0dHJpYnV0ZSgieCIsICI1MCIpOwor
ICAgICAgICB0eHQuc2V0QXR0cmlidXRlKCJ5IiwgIjUwIik7CisgICAgICAgIHZhciB0ZXh0Tm9k
ZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJGYWlsZWQiKTsKKyAgICAgICAgdHh0LmFwcGVu
ZENoaWxkKHRleHROb2RlKTsKKyAgICAgICAgZG9jdW1lbnQucm9vdEVsZW1lbnQuYXBwZW5kQ2hp
bGQodHh0KTsKKyAgICAgICAgaWYgKHR4dC5nZXRCQm94KCkud2lkdGggPiAwICYmIHR4dC5nZXRC
Qm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgdGV4dE5vZGUuZGF0YSA9ICJQYXNzZWQi
OworICAgICAgICB9CisgICAgfQorICBdXT4KKyAgPC9zY3JpcHQ+Cis8L3N2Zz4KSW5kZXg6IFdl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biAxNzk5MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMDYtMTItMDMgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNjg2CisgICAgICAgIFdlYktpdCBkcmF3cyBDYXJ0by5uZXQg
dGFiZ3JvdXAgZXhhbXBsZSBjb21wbGV0ZWx5IGluY29ycmVjdGx5IChmZiBkb2VzIGZpbmUpCisK
KyAgICAgICAgTWFrZSBzdXJlIHRoZSBSZW5kZXJTVkdUZXh0IGlzIGxheW91dGVkIGJlZm9yZSBt
ZWFzdXJpbmcgdGhlIHRleHQgdXNpbmcKKyAgICAgICAgZ2V0QkJveC9yZWxhdGl2ZUJCb3guCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdUZXh0OjpyZWxhdGl2ZUJCb3gpOgorCiAyMDA2LTEyLTAzICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xp
dmVyLgpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAkocmV2aXNpb24gMTc5
OTMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk5LDExICs5OSwxNyBAQCBTVkdFbGVtZW50KiBTVkdUZXh0RWxlbWVudDo6ZmFydGhl
c3RWaWV3CiAKIEZsb2F0UmVjdCBTVkdUZXh0RWxlbWVudDo6Z2V0QkJveCgpIGNvbnN0CiB7Cisg
ICAgLy8gbmVlZCB0aGlzIHRvIG1ha2Ugc3VyZSB3ZSBoYXZlIHRleHQgZGltZW5zaW9ucworICAg
IC8vIHNlZSBidWcgMTE2ODYKKyAgICBkb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHMoKTsKICAgICByZXR1cm4gU1ZHVHJhbnNmb3JtYWJsZTo6Z2V0QkJveCh0
aGlzKTsKIH0KIAogU1ZHTWF0cml4KiBTVkdUZXh0RWxlbWVudDo6Z2V0U2NyZWVuQ1RNKCkgY29u
c3QKIHsKKyAgICAvLyBuZWVkIHRoaXMgdG8gbWFrZSBzdXJlIHdlIGhhdmUgdGV4dCBkaW1lbnNp
b25zCisgICAgLy8gc2VlIGJ1ZyAxMTY4NgorICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIHJldHVybiBTVkdUcmFuc2Zvcm1hYmxlOjpn
ZXRTY3JlZW5DVE0odGhpcyk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11722</attachid>
            <date>2006-12-03 10:17:34 -0800</date>
            <delta_ts>2006-12-05 01:36:49 -0800</delta_ts>
            <desc>Also test paths and images</desc>
            <filename>11686-3.diff</filename>
            <type>text/plain</type>
            <size>7084</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE3OTkzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMDMgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRyYXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFt
cGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZmIGRvZXMgZmluZSkKKworICAgICAgICAqIHN2
Zy9jdXN0b20vZ2V0QkJveC1qcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vZ2V0QkJveC1qcy5zdmc6IEFkZGVkLgorCiAyMDA2LTEyLTAzICBOaWtvbGFzIFppbW1l
cm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVy
LgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRCQm94LWpzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldEJCb3gtanMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRCQm94LWpzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorCisgIAorICAKKyAgICBm
dW5jdGlvbiBpbml0KCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgIHZhciB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiwgInRleHQiKTsKKyAgICAgICAgdHh0LnNldEF0dHJpYnV0ZSgieCIsICI1
MCIpOworICAgICAgICB0eHQuc2V0QXR0cmlidXRlKCJ5IiwgIjUwIik7CisgICAgICAgIHZhciB0
ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJGYWlsZWQiKTsKKyAgICAgICAgdHh0
LmFwcGVuZENoaWxkKHRleHROb2RlKTsKKyAgICAgICAgZG9jdW1lbnQucm9vdEVsZW1lbnQuYXBw
ZW5kQ2hpbGQodHh0KTsKKyAgICAgICAgaWYgKHR4dC5nZXRCQm94KCkud2lkdGggPiAwICYmIHR4
dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAiaW1hZ2UiKTsK
KyAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoIngiLCAiMCIpOworICAgICAgICAgICAgaW1n
LnNldEF0dHJpYnV0ZSgieSIsICIwIik7CisgICAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCJ3
aWR0aCIsICIxMDAiKTsKKyAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIx
MDAiKTsKKyAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiLCAiaGlkZGVu
Iik7CisgICAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGxpbmsiLCAiaHJlZiIsICJyZXNvdXJjZXMvbWFnbmlmeS5wbmciKTsKKyAgICAgICAgICAg
IGRvY3VtZW50LnJvb3RFbGVtZW50LmFwcGVuZENoaWxkKGltZyk7CisgICAgICAgICAgICBpZiAo
aW1nLmdldEJCb3goKS53aWR0aCA+IDAgJiYgaW1nLmdldEJCb3goKS5oZWlnaHQgPiAwKSB7Cisg
ICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInJlY3QiKTsKKyAgICAgICAgICAgICAgICByZWN0LnNl
dEF0dHJpYnV0ZSgieCIsICIwIik7CisgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUo
InkiLCAiMCIpOworICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIx
MDAiKTsKKyAgICAgICAgICAgICAgICByZWN0LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIp
OworICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ2aXNpYmlsaXR5IiwgImhpZGRl
biIpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LnJvb3RFbGVtZW50LmFwcGVuZENoaWxkKHJl
Y3QpOworICAgICAgICAgICAgICAgIGlmIChyZWN0LmdldEJCb3goKS53aWR0aCA+IDAgJiYgcmVj
dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5k
YXRhID0gIlBhc3NlZCI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfQorICAKKyAgCitQYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20v
Z2V0QkJveC1qcy5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRC
Qm94LWpzLnN2ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJv
eC1qcy5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKzw/eG1sIHZlcnNpb249IjEu
MCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgb25sb2FkPSJpbml0KCkiPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisgIDwhW0NEQVRBWworICAgIGZ1bmN0aW9uIGluaXQoKQorICAgIHsKKyAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdmFyIHR4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAidGV4dCIpOworICAgICAgICB0eHQu
c2V0QXR0cmlidXRlKCJ4IiwgIjUwIik7CisgICAgICAgIHR4dC5zZXRBdHRyaWJ1dGUoInkiLCAi
NTAiKTsKKyAgICAgICAgdmFyIHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkZh
aWxlZCIpOworICAgICAgICB0eHQuYXBwZW5kQ2hpbGQodGV4dE5vZGUpOworICAgICAgICBkb2N1
bWVudC5yb290RWxlbWVudC5hcHBlbmRDaGlsZCh0eHQpOworICAgICAgICBpZiAodHh0LmdldEJC
b3goKS53aWR0aCA+IDAgJiYgdHh0LmdldEJCb3goKS5oZWlnaHQgPiAwKSB7CisgICAgICAgICAg
ICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIsICJpbWFnZSIpOworICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgieCIsICIw
Iik7CisgICAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCJ5IiwgIjAiKTsKKyAgICAgICAgICAg
IGltZy5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEwMCIpOworICAgICAgICAgICAgaW1nLnNldEF0
dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIpOworICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgi
dmlzaWJpbGl0eSIsICJoaWRkZW4iKTsKKyAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGVOUygi
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsICJocmVmIiwgInJlc291cmNlcy9tYWduaWZ5
LnBuZyIpOworICAgICAgICAgICAgZG9jdW1lbnQucm9vdEVsZW1lbnQuYXBwZW5kQ2hpbGQoaW1n
KTsKKyAgICAgICAgICAgIGlmIChpbWcuZ2V0QkJveCgpLndpZHRoID4gMCAmJiBpbWcuZ2V0QkJv
eCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAicmVjdCIpOworICAg
ICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ4IiwgIjAiKTsKKyAgICAgICAgICAgICAg
ICByZWN0LnNldEF0dHJpYnV0ZSgieSIsICIwIik7CisgICAgICAgICAgICAgICAgcmVjdC5zZXRB
dHRyaWJ1dGUoIndpZHRoIiwgIjEwMCIpOworICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmli
dXRlKCJoZWlnaHQiLCAiMTAwIik7CisgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUo
InZpc2liaWxpdHkiLCAiaGlkZGVuIik7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQucm9vdEVs
ZW1lbnQuYXBwZW5kQ2hpbGQocmVjdCk7CisgICAgICAgICAgICAgICAgaWYgKHJlY3QuZ2V0QkJv
eCgpLndpZHRoID4gMCAmJiByZWN0LmdldEJCb3goKS5oZWlnaHQgPiAwKSB7CisgICAgICAgICAg
ICAgICAgICAgIHRleHROb2RlLmRhdGEgPSAiUGFzc2VkIjsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgIF1dPgorICA8L3NjcmlwdD4KKzwvc3Zn
PgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE3OTkzKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAwNi0xMi0wMyAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRyYXdz
IENhcnRvLm5ldCB0YWJncm91cCBleGFtcGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZmIGRv
ZXMgZmluZSkKKworICAgICAgICBNYWtlIHN1cmUgdGhlIFJlbmRlclNWR1RleHQgaXMgbGF5b3V0
ZWQgYmVmb3JlIG1lYXN1cmluZyB0aGUgdGV4dCB1c2luZworICAgICAgICBnZXRCQm94L3JlbGF0
aXZlQkJveC4KKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2VFbGVtZW50OjpnZXRCQm94KToKKyAgICAgICAgKiBrc3Zn
Mi9zdmcvU1ZHSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1RleHRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRFbGVtZW50OjpnZXRCQm94KToKKwog
MjAwNi0xMi0wMyAgTmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE9saXZlci4KSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0lt
YWdlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHSW1hZ2VF
bGVtZW50LmNwcAkocmV2aXNpb24gMTc5OTMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdJbWFn
ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDE0IEBAIHZvaWQgU1ZH
SW1hZ2VFbGVtZW50OjphdHRhY2goKQogICAgICAgICBpbWFnZU9iai0+c2V0Q2FjaGVkSW1hZ2Uo
bV9pbWFnZUxvYWRlci5pbWFnZSgpKTsKIH0KIAorRmxvYXRSZWN0IFNWR0ltYWdlRWxlbWVudDo6
Z2V0QkJveCgpIGNvbnN0Cit7CisgICAgLy8gbmVlZCB0aGlzIHRvIG1ha2Ugc3VyZSB3ZSBoYXZl
IHRleHQgZGltZW5zaW9ucworICAgIC8vIHNlZSBidWcgMTE2ODYKKyAgICBkb2N1bWVudCgpLT51
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICByZXR1cm4gU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6OmdldEJCb3goKTsKK30KKwogfQogCiAvLyB2aW06dHM9
NDpub2V0CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAkocmV2aXNpb24gMTc5
OTMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdJbWFnZUVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtNTUsNyArNTUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogCiAgICAgICAgIHZpcnR1YWwg
Ym9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKiBzdHlsZSkgeyByZXR1cm4gU3R5bGVk
RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChzdHlsZSk7IH0KICAgICAgICAgdmlydHVhbCBSZW5k
ZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLSAg
ICAgICAgCisKKyAgICAgICAgdmlydHVhbCBGbG9hdFJlY3QgZ2V0QkJveCgpIGNvbnN0OworCiAg
ICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIGJvb2wgaGF2ZUxvYWRlZFJlcXVpcmVkUmVz
b3VyY2VzKCk7CiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAJKHJldmlz
aW9uIDE3OTkzKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05OSw2ICs5OSw5IEBAIFNWR0VsZW1lbnQqIFNWR1RleHRFbGVtZW50Ojpm
YXJ0aGVzdFZpZXcKIAogRmxvYXRSZWN0IFNWR1RleHRFbGVtZW50OjpnZXRCQm94KCkgY29uc3QK
IHsKKyAgICAvLyBuZWVkIHRoaXMgdG8gbWFrZSBzdXJlIHdlIGhhdmUgdGV4dCBkaW1lbnNpb25z
CisgICAgLy8gc2VlIGJ1ZyAxMTY4NgorICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dElnbm9y
ZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIHJldHVybiBTVkdUcmFuc2Zvcm1hYmxlOjpnZXRC
Qm94KHRoaXMpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11735</attachid>
            <date>2006-12-05 01:36:49 -0800</date>
            <delta_ts>2006-12-05 13:03:28 -0800</delta_ts>
            <desc>Improved testcase + patch</desc>
            <filename>11686-4.diff</filename>
            <type>text/plain</type>
            <size>6450</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MDE4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMDUgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRyYXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFt
cGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZmIGRvZXMgZmluZSkKKworICAgICAgICAqIHN2
Zy9jdXN0b20vZ2V0QkJveC1qcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vZ2V0QkJveC1qcy5zdmc6IEFkZGVkLgorCiAyMDA2LTEyLTA1ICBBbGV4ZXkgUHJvc2t1
cnlha292ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBSb2IuCkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldEJCb3gtanMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1qcy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldEJCb3gtanMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACisKKyAgCisgIAorICAgIGZ1bmN0aW9u
IGluaXQoKQorICAgIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
dmFyIGcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiwgImciKTsKKyAgICAgICAgZG9jdW1lbnQucm9vdEVsZW1lbnQuYXBwZW5kQ2hpbGQoZyk7
CisgICAgICAgIHZhciB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiwgInRleHQiKTsKKyAgICAgICAgdHh0LnNldEF0dHJpYnV0ZSgieCIs
ICI1MCIpOworICAgICAgICB0eHQuc2V0QXR0cmlidXRlKCJ5IiwgIjUwIik7CisgICAgICAgIHZh
ciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJGYWlsZWQiKTsKKyAgICAgICAg
dHh0LmFwcGVuZENoaWxkKHRleHROb2RlKTsKKyAgICAgICAgZy5hcHBlbmRDaGlsZCh0eHQpOwor
ICAgICAgICBpZiAoZy5nZXRCQm94KCkud2lkdGggPiAwICYmIGcuZ2V0QkJveCgpLmhlaWdodCA+
IDApIHsKKyAgICAgICAgICAgIGlmICh0eHQuZ2V0QkJveCgpLndpZHRoID4gMCAmJiB0eHQuZ2V0
QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgICAgICB2YXIgaW1nID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJpbWFnZSIpOwor
ICAgICAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoIngiLCAiMCIpOworICAgICAgICAgICAg
ICAgIGltZy5zZXRBdHRyaWJ1dGUoInkiLCAiMCIpOworICAgICAgICAgICAgICAgIGltZy5zZXRB
dHRyaWJ1dGUoIndpZHRoIiwgIjEwMCIpOworICAgICAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1
dGUoImhlaWdodCIsICIxMDAiKTsKKyAgICAgICAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCJ2
aXNpYmlsaXR5IiwgImhpZGRlbiIpOworICAgICAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGVO
UygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsICJocmVmIiwgInJlc291cmNlcy9tYWdu
aWZ5LnBuZyIpOworICAgICAgICAgICAgICAgIGcuYXBwZW5kQ2hpbGQoaW1nKTsKKyAgICAgICAg
ICAgICAgICBpZiAoaW1nLmdldEJCb3goKS53aWR0aCA+IDAgJiYgaW1nLmdldEJCb3goKS5oZWln
aHQgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJyZWN0Iik7CisgICAgICAg
ICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ4IiwgIjAiKTsKKyAgICAgICAgICAgICAg
ICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAiMCIpOworICAgICAgICAgICAgICAgICAgICBy
ZWN0LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTAwIik7CisgICAgICAgICAgICAgICAgICAgIHJl
Y3Quc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiMTAwIik7CisgICAgICAgICAgICAgICAgICAgIHJl
Y3Quc2V0QXR0cmlidXRlKCJ2aXNpYmlsaXR5IiwgImhpZGRlbiIpOworICAgICAgICAgICAgICAg
ICAgICBnLmFwcGVuZENoaWxkKHJlY3QpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVjdC5n
ZXRCQm94KCkud2lkdGggPiAwICYmIHJlY3QuZ2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dE5vZGUuZGF0YSA9ICJQYXNzZWQiOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorICAKKyAgCitQYXNzZWQKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1q
cy5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRCQm94LWpzLnN2
ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1qcy5zdmcJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rp
bmc9IlVURi04Ij8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgb25s
b2FkPSJpbml0KCkiPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgIDwhW0NE
QVRBWworICAgIGZ1bmN0aW9uIGluaXQoKQorICAgIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgdmFyIGcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgImciKTsKKyAgICAgICAgZG9jdW1lbnQucm9vdEVsZW1l
bnQuYXBwZW5kQ2hpbGQoZyk7CisgICAgICAgIHZhciB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInRleHQiKTsKKyAgICAgICAgdHh0
LnNldEF0dHJpYnV0ZSgieCIsICI1MCIpOworICAgICAgICB0eHQuc2V0QXR0cmlidXRlKCJ5Iiwg
IjUwIik7CisgICAgICAgIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJG
YWlsZWQiKTsKKyAgICAgICAgdHh0LmFwcGVuZENoaWxkKHRleHROb2RlKTsKKyAgICAgICAgZy5h
cHBlbmRDaGlsZCh0eHQpOworICAgICAgICBpZiAoZy5nZXRCQm94KCkud2lkdGggPiAwICYmIGcu
Z2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgIGlmICh0eHQuZ2V0QkJveCgpLndp
ZHRoID4gMCAmJiB0eHQuZ2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgICAgICB2
YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIsICJpbWFnZSIpOworICAgICAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoIngiLCAi
MCIpOworICAgICAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoInkiLCAiMCIpOworICAgICAg
ICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEwMCIpOworICAgICAgICAgICAg
ICAgIGltZy5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsKKyAgICAgICAgICAgICAgICBp
bWcuc2V0QXR0cmlidXRlKCJ2aXNpYmlsaXR5IiwgImhpZGRlbiIpOworICAgICAgICAgICAgICAg
IGltZy5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsICJocmVm
IiwgInJlc291cmNlcy9tYWduaWZ5LnBuZyIpOworICAgICAgICAgICAgICAgIGcuYXBwZW5kQ2hp
bGQoaW1nKTsKKyAgICAgICAgICAgICAgICBpZiAoaW1nLmdldEJCb3goKS53aWR0aCA+IDAgJiYg
aW1nLmdldEJCb3goKS5oZWlnaHQgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciByZWN0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIs
ICJyZWN0Iik7CisgICAgICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ4IiwgIjAi
KTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAiMCIpOworICAg
ICAgICAgICAgICAgICAgICByZWN0LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTAwIik7CisgICAg
ICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiMTAwIik7CisgICAg
ICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ2aXNpYmlsaXR5IiwgImhpZGRlbiIp
OworICAgICAgICAgICAgICAgICAgICBnLmFwcGVuZENoaWxkKHJlY3QpOworICAgICAgICAgICAg
ICAgICAgICBpZiAocmVjdC5nZXRCQm94KCkud2lkdGggPiAwICYmIHJlY3QuZ2V0QkJveCgpLmhl
aWdodCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgdGV4dE5vZGUuZGF0YSA9ICJQYXNzZWQi
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorICBdXT4KKyAgPC9zY3JpcHQ+Cis8L3N2Zz4KSW5kZXg6IFdl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biAxODAxOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMDYtMTItMDUgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNjg2CisgICAgICAgIFdlYktpdCBkcmF3cyBDYXJ0by5uZXQg
dGFiZ3JvdXAgZXhhbXBsZSBjb21wbGV0ZWx5IGluY29ycmVjdGx5IChmZiBkb2VzIGZpbmUpCisK
KyAgICAgICAgTWFrZSBzdXJlIHRoZSBzdmcgcmVuZGVyIG9iamVjdHMgYXJlIGxheW91dCBiZWZv
cmUgbWVhc3VyaW5nIHRoZSByZW5kZXIKKyAgICAgICAgb2JqZWN0cyBkaW1lbnNpb25zIHVzaW5n
IGdldEJCb3gvcmVsYXRpdmVCQm94LgorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0xvY2F0YWJs
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdMb2NhdGFibGU6OmdldEJCb3gpOgorCiAyMDA2
LTEyLTA1ICBMYXJzIE5hZXNieWUgQ2hyaXN0ZW5zZW4gIDxsYXJzbmFlc2J5ZUBzdHVkLmt1LmRr
PgogCiAgICAgICAgIFJldmlld2VkIGFuZCBsYW5kZWQgYnkgQWxleGV5LgpJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHTG9jYXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdMb2NhdGFibGUuY3BwCShyZXZpc2lvbiAxODAxOCkKKysrIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0xvY2F0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDggKzc2LDExIEBAIFNW
R0VsZW1lbnQqIFNWR0xvY2F0YWJsZTo6ZmFydGhlc3RWaWV3cG8KIEZsb2F0UmVjdCBTVkdMb2Nh
dGFibGU6OmdldEJCb3goY29uc3QgU1ZHU3R5bGVkRWxlbWVudCogZSkKIHsKICAgICBGbG9hdFJl
Y3QgYmJveFJlY3Q7Ci0gICAgCisKICAgICBpZiAoZSAmJiBlLT5yZW5kZXJlcigpKSB7CisgICAg
ICAgIC8vIE5lZWQgdGhpcyB0byBtYWtlIHN1cmUgd2UgaGF2ZSB0ZXh0IGRpbWVuc2lvbnMuCisg
ICAgICAgIC8vIFNlZSBidWcgMTE2ODYuCisgICAgICAgIGUtPmRvY3VtZW50KCktPnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgICAgICBiYm94UmVjdCA9IGUtPnJl
bmRlcmVyKCktPnJlbGF0aXZlQkJveChmYWxzZSk7CiAgICAgICAgIGJib3hSZWN0LnNldFNpemUo
YmJveFJlY3Quc2l6ZSgpIC0gRmxvYXRTaXplKDEsIDEpKTsgLy8gRklYTUU6IFdoeSAtMSBoZXJl
PwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11744</attachid>
            <date>2006-12-05 13:03:28 -0800</date>
            <delta_ts>2006-12-05 13:32:52 -0800</delta_ts>
            <desc>Improved testcase</desc>
            <filename>11686-5.diff</filename>
            <type>text/plain</type>
            <size>6475</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MDI5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMDUgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRyYXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFt
cGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZmIGRvZXMgZmluZSkKKworICAgICAgICAqIHN2
Zy9jdXN0b20vZ2V0QkJveC1qcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vZ2V0QkJveC1qcy5zdmc6IEFkZGVkLgorCiAyMDA2LTEyLTA1ICBLaXJieSBXaGl0ZSAg
PEtXaGl0ZVJpZ2h0QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBhbmQgbGFuZGVkIGJ5
IEFsZXhleS4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1qcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRCQm94LWpzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJv
eC1qcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKworICAKKyAg
CisgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICB2YXIgZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciLCAiZyIpOworICAgICAgICBkb2N1bWVudC5yb290RWxlbWVudC5h
cHBlbmRDaGlsZChnKTsKKyAgICAgICAgdmFyIHR4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRO
UygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAidGV4dCIpOworICAgICAgICB0eHQuc2V0
QXR0cmlidXRlKCJ4IiwgIjUwIik7CisgICAgICAgIHR4dC5zZXRBdHRyaWJ1dGUoInkiLCAiNTAi
KTsKKyAgICAgICAgdmFyIHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkZhaWxl
ZCIpOworICAgICAgICB0eHQuYXBwZW5kQ2hpbGQodGV4dE5vZGUpOworICAgICAgICBnLmFwcGVu
ZENoaWxkKHR4dCk7CisgICAgICAgIGlmIChnLmdldEJCb3goKS53aWR0aCA+IDAgJiYgZy5nZXRC
Qm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgaWYgKHR4dC5nZXRCQm94KCkud2lkdGgg
PiAwICYmIHR4dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgICAgIHZhciBp
bWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiwgImltYWdlIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgieCIsICIwIik7
CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgieSIsICIwIik7CisgICAgICAgICAg
ICAgICAgaW1nLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTAwIik7CisgICAgICAgICAgICAgICAg
aW1nLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIpOworICAgICAgICAgICAgICAgIGltZy5z
ZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7CisgICAgICAgICAgICAgICAgaW1n
LnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwgImhyZWYiLCAi
cmVzb3VyY2VzL21hZ25pZnkucG5nIik7CisgICAgICAgICAgICAgICAgZy5hcHBlbmRDaGlsZChp
bWcpOworICAgICAgICAgICAgICAgIGlmIChpbWcuZ2V0QkJveCgpLndpZHRoID4gMCAmJiBpbWcu
Z2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInJl
Y3QiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoIngiLCAiMCIpOwor
ICAgICAgICAgICAgICAgICAgICByZWN0LnNldEF0dHJpYnV0ZSgieSIsICIwIik7CisgICAgICAg
ICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxMDAiKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7Cisg
ICAgICAgICAgICAgICAgICAgIGcuYXBwZW5kQ2hpbGQocmVjdCk7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChyZWN0LmdldEJCb3goKS53aWR0aCA+IDAgJiYgcmVjdC5nZXRCQm94KCkuaGVpZ2h0
ID4gMCkgeworICAgICAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5kYXRhID0gIlBhc3NlZCI7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CisgIAorICAKK1Bhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9nZXRCQm94LWpzLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2dldEJCb3gtanMuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9n
ZXRCQm94LWpzLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiBvbmxvYWQ9ImluaXQoKSI+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KKyAgPCFbQ0RBVEFbCisgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgeworICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB2YXIgZyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAiZyIpOworICAgICAgICBkb2N1
bWVudC5yb290RWxlbWVudC5hcHBlbmRDaGlsZChnKTsKKyAgICAgICAgdmFyIHR4dCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAidGV4dCIp
OworICAgICAgICB0eHQuc2V0QXR0cmlidXRlKCJ4IiwgIjUwIik7CisgICAgICAgIHR4dC5zZXRB
dHRyaWJ1dGUoInkiLCAiNTAiKTsKKyAgICAgICAgdmFyIHRleHROb2RlID0gZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoIkZhaWxlZCIpOworICAgICAgICB0eHQuYXBwZW5kQ2hpbGQodGV4dE5vZGUp
OworICAgICAgICBnLmFwcGVuZENoaWxkKHR4dCk7CisgICAgICAgIGlmIChnLmdldEJCb3goKS53
aWR0aCA+IDAgJiYgZy5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgaWYgKHR4
dC5nZXRCQm94KCkud2lkdGggPiAwICYmIHR4dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAg
ICAgICAgICAgICAgIHZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiwgImltYWdlIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0
dHJpYnV0ZSgieCIsICIwIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgieSIs
ICIwIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTAwIik7
CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIpOworICAg
ICAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7Cisg
ICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIiwgImhyZWYiLCAicmVzb3VyY2VzL21hZ25pZnkucG5nIik7CisgICAgICAgICAgICAg
ICAgZy5hcHBlbmRDaGlsZChpbWcpOworICAgICAgICAgICAgICAgIGlmIChpbWcuZ2V0QkJveCgp
LndpZHRoID4gMCAmJiBpbWcuZ2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgICAg
ICAgICAgdmFyIHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiwgInJlY3QiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRy
aWJ1dGUoIngiLCAiMCIpOworICAgICAgICAgICAgICAgICAgICByZWN0LnNldEF0dHJpYnV0ZSgi
eSIsICIwIik7CisgICAgICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIs
ICIxMDAiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIs
ICIxMDAiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoInZpc2liaWxp
dHkiLCAiaGlkZGVuIik7CisgICAgICAgICAgICAgICAgICAgIGcuYXBwZW5kQ2hpbGQocmVjdCk7
CisgICAgICAgICAgICAgICAgICAgIGlmIChyZWN0LmdldEJCb3goKS53aWR0aCA+IDAgJiYgcmVj
dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5k
YXRhID0gIlBhc3NlZCI7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgIF1dPgorICA8L3NjcmlwdD4KKzwv
c3ZnPgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDE4MDI5KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNiBAQAorMjAwNi0xMi0wNSAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRy
YXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFtcGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZm
IGRvZXMgZmluZSkKKworICAgICAgICBNYWtlIHN1cmUgdGhlIHN2ZyByZW5kZXIgb2JqZWN0cyBh
cmUgbGF5b3V0IGJlZm9yZSBtZWFzdXJpbmcgdGhlIHJlbmRlcgorICAgICAgICBvYmplY3RzIGRp
bWVuc2lvbnMgdXNpbmcgZ2V0QkJveC9yZWxhdGl2ZUJCb3guCisKKyAgICAgICAgKiBrc3ZnMi9z
dmcvU1ZHTG9jYXRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xvY2F0YWJsZTo6Z2V0
QkJveCk6CisKIDIwMDYtMTItMDUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgICogZG9jOiBSZW1vdmVkIGVtcHR5IGRpcmVjdG9yeS4gSXQncyBub3QgY2xlYXIgdGhp
cyBpcyBhIGdvb2QgcGxhY2UgZm9yCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdMb2NhdGFi
bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xvY2F0YWJsZS5jcHAJ
KHJldmlzaW9uIDE4MDI5KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTG9jYXRhYmxlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsMTAgQEAgU1ZHRWxlbWVudCogU1ZHTG9jYXRhYmxl
OjpmYXJ0aGVzdFZpZXdwbwogRmxvYXRSZWN0IFNWR0xvY2F0YWJsZTo6Z2V0QkJveChjb25zdCBT
VkdTdHlsZWRFbGVtZW50KiBlKQogewogICAgIEZsb2F0UmVjdCBiYm94UmVjdDsKLSAgICAKKwor
ICAgIC8vIE5lZWQgdGhpcyB0byBtYWtlIHN1cmUgd2UgaGF2ZSByZW5kZXIgb2JqZWN0IGRpbWVu
c2lvbnMuCisgICAgLy8gU2VlIGJ1ZyAxMTY4Ni4KKyAgICBlLT5kb2N1bWVudCgpLT51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICBpZiAoZSAmJiBlLT5yZW5kZXJl
cigpKSB7CiAgICAgICAgIGJib3hSZWN0ID0gZS0+cmVuZGVyZXIoKS0+cmVsYXRpdmVCQm94KGZh
bHNlKTsKICAgICAgICAgYmJveFJlY3Quc2V0U2l6ZShiYm94UmVjdC5zaXplKCkgLSBGbG9hdFNp
emUoMSwgMSkpOyAvLyBGSVhNRTogV2h5IC0xIGhlcmU/Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11745</attachid>
            <date>2006-12-05 13:32:52 -0800</date>
            <delta_ts>2006-12-05 13:38:32 -0800</delta_ts>
            <desc>Improved patch</desc>
            <filename>11686-6.diff</filename>
            <type>text/plain</type>
            <size>6421</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MDMwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMTItMDUgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRyYXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFt
cGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZmIGRvZXMgZmluZSkKKworICAgICAgICAqIHN2
Zy9jdXN0b20vZ2V0QkJveC1qcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vZ2V0QkJveC1qcy5zdmc6IEFkZGVkLgorCiAyMDA2LTEyLTA1ICBLaXJieSBXaGl0ZSAg
PEtXaGl0ZVJpZ2h0QGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBhbmQgbGFuZGVkIGJ5
IEFsZXhleS4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJveC1qcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nZXRCQm94LWpzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2V0QkJv
eC1qcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKworICAKKyAg
CisgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICB2YXIgZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciLCAiZyIpOworICAgICAgICBkb2N1bWVudC5yb290RWxlbWVudC5h
cHBlbmRDaGlsZChnKTsKKyAgICAgICAgdmFyIHR4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRO
UygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAidGV4dCIpOworICAgICAgICB0eHQuc2V0
QXR0cmlidXRlKCJ4IiwgIjUwIik7CisgICAgICAgIHR4dC5zZXRBdHRyaWJ1dGUoInkiLCAiNTAi
KTsKKyAgICAgICAgdmFyIHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkZhaWxl
ZCIpOworICAgICAgICB0eHQuYXBwZW5kQ2hpbGQodGV4dE5vZGUpOworICAgICAgICBnLmFwcGVu
ZENoaWxkKHR4dCk7CisgICAgICAgIGlmIChnLmdldEJCb3goKS53aWR0aCA+IDAgJiYgZy5nZXRC
Qm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgaWYgKHR4dC5nZXRCQm94KCkud2lkdGgg
PiAwICYmIHR4dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgICAgIHZhciBp
bWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiwgImltYWdlIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgieCIsICIwIik7
CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgieSIsICIwIik7CisgICAgICAgICAg
ICAgICAgaW1nLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTAwIik7CisgICAgICAgICAgICAgICAg
aW1nLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIpOworICAgICAgICAgICAgICAgIGltZy5z
ZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7CisgICAgICAgICAgICAgICAgaW1n
LnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwgImhyZWYiLCAi
cmVzb3VyY2VzL21hZ25pZnkucG5nIik7CisgICAgICAgICAgICAgICAgZy5hcHBlbmRDaGlsZChp
bWcpOworICAgICAgICAgICAgICAgIGlmIChpbWcuZ2V0QkJveCgpLndpZHRoID4gMCAmJiBpbWcu
Z2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInJl
Y3QiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoIngiLCAiMCIpOwor
ICAgICAgICAgICAgICAgICAgICByZWN0LnNldEF0dHJpYnV0ZSgieSIsICIwIik7CisgICAgICAg
ICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxMDAiKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7Cisg
ICAgICAgICAgICAgICAgICAgIGcuYXBwZW5kQ2hpbGQocmVjdCk7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChyZWN0LmdldEJCb3goKS53aWR0aCA+IDAgJiYgcmVjdC5nZXRCQm94KCkuaGVpZ2h0
ID4gMCkgeworICAgICAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5kYXRhID0gIlBhc3NlZCI7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CisgIAorICAKK1Bhc3NlZApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9nZXRCQm94LWpzLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2dldEJCb3gtanMuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9n
ZXRCQm94LWpzLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NCBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiBvbmxvYWQ9ImluaXQoKSI+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KKyAgPCFbQ0RBVEFbCisgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgeworICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB2YXIgZyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAiZyIpOworICAgICAgICBkb2N1
bWVudC5yb290RWxlbWVudC5hcHBlbmRDaGlsZChnKTsKKyAgICAgICAgdmFyIHR4dCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAidGV4dCIp
OworICAgICAgICB0eHQuc2V0QXR0cmlidXRlKCJ4IiwgIjUwIik7CisgICAgICAgIHR4dC5zZXRB
dHRyaWJ1dGUoInkiLCAiNTAiKTsKKyAgICAgICAgdmFyIHRleHROb2RlID0gZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoIkZhaWxlZCIpOworICAgICAgICB0eHQuYXBwZW5kQ2hpbGQodGV4dE5vZGUp
OworICAgICAgICBnLmFwcGVuZENoaWxkKHR4dCk7CisgICAgICAgIGlmIChnLmdldEJCb3goKS53
aWR0aCA+IDAgJiYgZy5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgaWYgKHR4
dC5nZXRCQm94KCkud2lkdGggPiAwICYmIHR4dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAg
ICAgICAgICAgICAgIHZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiwgImltYWdlIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0
dHJpYnV0ZSgieCIsICIwIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgieSIs
ICIwIik7CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTAwIik7
CisgICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIpOworICAg
ICAgICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoInZpc2liaWxpdHkiLCAiaGlkZGVuIik7Cisg
ICAgICAgICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIiwgImhyZWYiLCAicmVzb3VyY2VzL21hZ25pZnkucG5nIik7CisgICAgICAgICAgICAg
ICAgZy5hcHBlbmRDaGlsZChpbWcpOworICAgICAgICAgICAgICAgIGlmIChpbWcuZ2V0QkJveCgp
LndpZHRoID4gMCAmJiBpbWcuZ2V0QkJveCgpLmhlaWdodCA+IDApIHsKKyAgICAgICAgICAgICAg
ICAgICAgdmFyIHJlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiwgInJlY3QiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRy
aWJ1dGUoIngiLCAiMCIpOworICAgICAgICAgICAgICAgICAgICByZWN0LnNldEF0dHJpYnV0ZSgi
eSIsICIwIik7CisgICAgICAgICAgICAgICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIs
ICIxMDAiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIs
ICIxMDAiKTsKKyAgICAgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoInZpc2liaWxp
dHkiLCAiaGlkZGVuIik7CisgICAgICAgICAgICAgICAgICAgIGcuYXBwZW5kQ2hpbGQocmVjdCk7
CisgICAgICAgICAgICAgICAgICAgIGlmIChyZWN0LmdldEJCb3goKS53aWR0aCA+IDAgJiYgcmVj
dC5nZXRCQm94KCkuaGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5k
YXRhID0gIlBhc3NlZCI7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgIF1dPgorICA8L3NjcmlwdD4KKzwv
c3ZnPgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDE4MDMwKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNiBAQAorMjAwNi0xMi0wNSAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2ODYKKyAgICAgICAgV2ViS2l0IGRy
YXdzIENhcnRvLm5ldCB0YWJncm91cCBleGFtcGxlIGNvbXBsZXRlbHkgaW5jb3JyZWN0bHkgKGZm
IGRvZXMgZmluZSkKKworICAgICAgICBNYWtlIHN1cmUgdGhlIHN2ZyByZW5kZXIgb2JqZWN0cyBh
cmUgbGF5b3V0IGJlZm9yZSBtZWFzdXJpbmcgdGhlaXIgCisgICAgICAgIGRpbWVuc2lvbnMgdXNp
bmcgcmVsYXRpdmVCQm94LgorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0xvY2F0YWJsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdMb2NhdGFibGU6OmdldEJCb3gpOgorCiAyMDA2LTEyLTA1
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBH
ZW9mZi4KSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xvY2F0YWJsZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTG9jYXRhYmxlLmNwcAkocmV2aXNpb24gMTgwMzAp
CisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdMb2NhdGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03Niw4ICs3NiwxMSBAQCBTVkdFbGVtZW50KiBTVkdMb2NhdGFibGU6OmZhcnRoZXN0Vmlld3Bv
CiBGbG9hdFJlY3QgU1ZHTG9jYXRhYmxlOjpnZXRCQm94KGNvbnN0IFNWR1N0eWxlZEVsZW1lbnQq
IGUpCiB7CiAgICAgRmxvYXRSZWN0IGJib3hSZWN0OwotICAgIAorCiAgICAgaWYgKGUgJiYgZS0+
cmVuZGVyZXIoKSkgeworICAgICAgICAvLyBOZWVkIHRoaXMgdG8gbWFrZSBzdXJlIHdlIGhhdmUg
cmVuZGVyIG9iamVjdCBkaW1lbnNpb25zLgorICAgICAgICAvLyBTZWUgYnVnIDExNjg2LgorICAg
ICAgICBlLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
KTsKICAgICAgICAgYmJveFJlY3QgPSBlLT5yZW5kZXJlcigpLT5yZWxhdGl2ZUJCb3goZmFsc2Up
OwogICAgICAgICBiYm94UmVjdC5zZXRTaXplKGJib3hSZWN0LnNpemUoKSAtIEZsb2F0U2l6ZSgx
LCAxKSk7IC8vIEZJWE1FOiBXaHkgLTEgaGVyZT8KICAgICB9Cg==
</data>
<flag name="review"
          id="4247"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>