<?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>27289</bug_id>
          
          <creation_ts>2009-07-14 22:18:00 -0700</creation_ts>
          <short_desc>Click/releases on scrollbars misbehave when mouse move is missed</short_desc>
          <delta_ts>2009-07-23 09:56: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Viet-Trung Luu">viettrungluu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>hyatt</cc>
    
    <cc>manyoso</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131808</commentid>
    <comment_count>0</comment_count>
      <attachid>32765</attachid>
    <who name="Viet-Trung Luu">viettrungluu</who>
    <bug_when>2009-07-14 22:18:00 -0700</bug_when>
    <thetext>Created attachment 32765
Demonstrates bug.

The bug is in WebKit/WebCore/page/EventHandler.cpp.

When a mouse click occurs on a scrollbar, but is not preceded by a mouse move onto that scrollbar, the release is not processed correctly.

This occurs in a number of situations:
- when you move the mouse after activating a context menu, and refocus onto the scrollbar without moving the mouse again after the context menu is gone (this is Google Chromium bug 6823 &lt;http://code.google.com/p/chromium/issues/detail?id=6823&gt;;
- when a scrollbar appears due to some event (and your mouse just happens to be in the right place to click).

This applies to enabled and disabled scrollbars; see also bug 19033 &lt;https://bugs.webkit.org/show_bug.cgi?id=19033&gt;.

The &quot;context menu&quot; incarnation happens on all current (including dev) versions of Chromium, on Safari 3.x and 4.x on Windows; it does not occur on Safari 4.x on Mac (don&apos;t know about 3.x; perhaps a Safari developer &quot;fixed&quot; it by creating a mouse move event after the context menu is dismissed?).

The &quot;appearing scrollbar&quot; incarnation happens on everything I&apos;ve tried (Chromium, Safari).

Patch coming in a jiffy, as soon as I&apos;ve run tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131817</commentid>
    <comment_count>1</comment_count>
      <attachid>32769</attachid>
    <who name="Viet-Trung Luu">viettrungluu</who>
    <bug_when>2009-07-14 23:32:00 -0700</bug_when>
    <thetext>Created attachment 32769
Fixes bug 27289 by updating m_lastScrollbarUnderMouse on mouse down.

EventHandler::m_lastScrollbarUnderMouse is currently only updated on mouse move and not on mouse down, which makes it fail (or at least behave oddly) when a mouse down on a scrollbar occurs without a mouse move onto the scrollbar; this patch fixes this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132285</commentid>
    <comment_count>2</comment_count>
      <attachid>32881</attachid>
    <who name="Viet-Trung Luu">viettrungluu</who>
    <bug_when>2009-07-16 09:41:43 -0700</bug_when>
    <thetext>Created attachment 32881
Fixes bug 27289 (same as previous version of patch) and adds test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132289</commentid>
    <comment_count>3</comment_count>
      <attachid>32882</attachid>
    <who name="Viet-Trung Luu">viettrungluu</who>
    <bug_when>2009-07-16 09:54:33 -0700</bug_when>
    <thetext>Created attachment 32882
Patch and test cases for bug 27289.

Got rid of duplicate Changelog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132855</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-17 23:05:46 -0700</bug_when>
    <thetext>This bug drives me nuts.  I think Hyatt is the expert on scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133804</commentid>
    <comment_count>5</comment_count>
      <attachid>32882</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-07-22 10:53:40 -0700</bug_when>
    <thetext>Comment on attachment 32882
Patch and test cases for bug 27289.

One minor comment.  You repeat the same if statement block twice. Can you make that into a helper function, e.g., something like updateLastScrollbarUnderMouse?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133889</commentid>
    <comment_count>6</comment_count>
      <attachid>33287</attachid>
    <who name="Viet-Trung Luu">viettrungluu</who>
    <bug_when>2009-07-22 13:55:22 -0700</bug_when>
    <thetext>Created attachment 33287
Patch and test cases for bug 27289

Added a helper method to avoid repeating code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133910</commentid>
    <comment_count>7</comment_count>
      <attachid>33287</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-07-22 14:34:23 -0700</bug_when>
    <thetext>Comment on attachment 33287
Patch and test cases for bug 27289

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134135</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-07-23 09:56:12 -0700</bug_when>
    <thetext>Landed with r46273.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>32765</attachid>
            <date>2009-07-14 22:18:00 -0700</date>
            <delta_ts>2009-07-14 22:18:00 -0700</delta_ts>
            <desc>Demonstrates bug.</desc>
            <filename>foo.html</filename>
            <type>text/html</type>
            <size>1510</size>
            <attacher name="Viet-Trung Luu">viettrungluu</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgICA8aGVhZD4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICBmdW5jdGlvbiBo
aWRlRGl2KCkgewogICAgICAgICAgICAgICAgdmFyIGR2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2R2Jyk7CiAgICAgICAgICAgICAgICBkdi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAg
ICAgICAgICAgICAgc2V0VGltZW91dCgic2hvd0RpdigpIiwgNTAwKTsKICAgICAgICAgICAgfQog
ICAgICAgICAgICBmdW5jdGlvbiBzaG93RGl2KCkgewogICAgICAgICAgICAgICAgdmFyIGR2ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R2Jyk7CiAgICAgICAgICAgICAgICBkdi5zdHlsZS5k
aXNwbGF5ID0gIiI7CiAgICAgICAgICAgICAgICBkdi5vbm1vdXNlZG93biA9ICIiOwogICAgICAg
ICAgICB9CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2hlYWQ+CiAgICA8Ym9keT4KICAgICAgICBD
bGljayAoYW5kIHJlbGVhc2UpIG9uIHRoZSBzbGlkZXIgYmFyIHBhcnQgb2YgdGhlIHNjcm9sbGJh
ciwKICAgICAgICB3YWl0IGhhbGYgYSBzZWNvbmQgKG5vdCBtb3ZpbmcgdGhlIG1vdXNlKSwgY2xp
Y2sgYW5kIHJlbGVhc2UKICAgICAgICBhZ2FpbiB3aGVuIGl0IHJlYXBwZWFycywgYW5kIG1vdmUg
dGhlIG1vdXNlICh2ZXJ0aWNhbGx5KS4KICAgICAgICBDbGVhcmx5LCB0aGUgc2Nyb2xsYmFyIHNo
b3VsZCBub3QgbW92ZS4gKFNpbWlsYXJseSBpZiB5b3UgY2xpY2sKICAgICAgICBvbiB0aGUgZG93
bi1hcnJvdyBwYXJ0IG9mIHRoZSBzY3JvbGxiYXIuKSBSZWxvYWQgdG8gcmVzdGFydC4KICAgICAg
ICA8ZGl2IGlkPSJkdiIgc3R5bGU9Im92ZXJmbG93OiBhdXRvOyB3aWR0aDogMTAwcHg7IGhlaWdo
dDogMTAwcHg7IiBvbm1vdXNlZG93bj0iaGlkZURpdigpIj4KICAgICAgICAgICAgPGRpdiBzdHls
ZT0iaGVpZ2h0OiAyMDBweCI+PC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxocj4KICAg
ICAgICBSZWxvYWQgdGhlIHBhZ2UsIHJpZ2h0IGNsaWNrIChhbmQgcmVsZWFzZSkgaW4gc29tZSBi
bGFuayBhcmVhIHRvCiAgICAgICAgZ2V0IGEgY29udGV4dCBtZW51LCB3aXRob3V0IGNsb3Npbmcg
dGhlIG1lbnUsIG1vdmUgdG8gdGhlIGRvd24KICAgICAgICBhcnJvdyBvZiB0aGUgdGV4dCBib3gn
cyBzY3JvbGxiYXIgYW5kIGNsaWNrIG9uY2UgYW5kIHJlbGVhc2UgKG9uCiAgICAgICAgV2luZG93
cykgb3IgdHdpY2UgKG9uIGEgTWFjLCB3aXRob3V0IG1vdmluZyB0aGUgbW91c2UgaW4KICAgICAg
ICBiZXR3ZWVuKS4gVGhlIGRvd24gYXJyb3cgc3RheXMgZG93bi4gT29wcy4KICAgICAgICA8Zm9y
bSBuYW1lPSJmb3JtMSI+IAogICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJ0ZXh0MSIgcm93cz0iMTAi
IGNvbHM9IjEwIiBkaXNhYmxlZD10cnVlPgpmb28KYmFyCmJhegpxdXV4CnF1dXV4CjEKMgozCjQK
NQo2CjcKOAo5CjEwCjExCjEyCjEzCjE0CjE1CiAgICAgICAgPC90ZXh0YXJlYT4KICAgICAgICA8
L2Zvcm0+IAogICAgPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32769</attachid>
            <date>2009-07-14 23:32:00 -0700</date>
            <delta_ts>2009-07-16 09:41:43 -0700</delta_ts>
            <desc>Fixes bug 27289 by updating m_lastScrollbarUnderMouse on mouse down.</desc>
            <filename>patch-bug27289-1.txt</filename>
            <type>text/plain</type>
            <size>2865</size>
            <attacher name="Viet-Trung Luu">viettrungluu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTg5MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDctMTQgIFZpZXQtVHJ1bmcgTHV1ICA8dmlldHRydW5nbHV1
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODkKKyAgICAg
ICAgV2hlbiBhIG1vdXNlIGNsaWNrIG9jY3VycyBvbiBhIHNjcm9sbGJhciB3aXRob3V0IGEgcHJl
Y2VkaW5nIG1vdXNlIG1vdmUKKyAgICAgICAgb250byBpdCwgdGhlIHJlbGVhc2UgaXNuJ3QgaGFu
ZGxlZCBjb3JyZWN0bHkgKHNpbmNlCisgICAgICAgIEV2ZW50SGFuZGxlcjo6bV9sYXN0U2Nyb2xs
YmFyVW5kZXJNb3VzZSBpc24ndCBzZXQgb24gbW91c2UgZG93biwgYnV0CisgICAgICAgIG9ubHkg
b24gbW91c2UgbW92ZSkuIChTaWRlIGNvbW1lbnQ6IFRoYXQgc2Nyb2xsYmFyLWhhbmRsaW5nIGNv
ZGUKKyAgICAgICAgaW4gRXZlbnRIYW5kbGVyIGlzIHVnbHkuIEl0IHNob3VsZCBiZSBmaXhlZCBw
cm9wZXJseS4pCisKKyAgICAgICAgVGVzdDogSSB3b3VsZCwgYnV0IEkgZG9uJ3Qga25vdyBob3cu
IE1heWJlIEknbGwgbGVhcm4gaWYgc29tZW9uZQorICAgICAgICBpbnNpc3RzLgorCisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOgorCiAyMDA5LTA3LTE0ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCklu
ZGV4OiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNpb24gNDU4ODcpCisrKyBXZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE5NSw4ICsxMTk1LDE4IEBAIGJv
b2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKIAogICAgIGlmIChzd2FsbG93
RXZlbnQpIHsKICAgICAgICAgLy8gc2Nyb2xsYmFycyBzaG91bGQgZ2V0IGV2ZW50cyBhbnl3YXks
IGV2ZW4gZGlzYWJsZWQgY29udHJvbHMgbWlnaHQgYmUgc2Nyb2xsYWJsZQotICAgICAgICBpZiAo
bWV2LnNjcm9sbGJhcigpKQotICAgICAgICAgICAgcGFzc01vdXNlUHJlc3NFdmVudFRvU2Nyb2xs
YmFyKG1ldiwgbWV2LnNjcm9sbGJhcigpKTsKKyAgICAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIg
PSBtZXYuc2Nyb2xsYmFyKCk7CisKKyAgICAgICAgLy8gSW4gY2FzZSB3ZSBtaXNzZWQgYSBtb3Vz
ZSBtb3ZlLCB1cGRhdGUgbV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZS4KKyAgICAgICAgaWYgKG1f
bGFzdFNjcm9sbGJhclVuZGVyTW91c2UgIT0gc2Nyb2xsYmFyKSB7CisgICAgICAgICAgICAvLyBT
ZW5kIG1vdXNlIGV4aXRlZCB0byB0aGUgb2xkIHNjcm9sbGJhci4KKyAgICAgICAgICAgIGlmICht
X2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlKQorICAgICAgICAgICAgICAgIG1fbGFzdFNjcm9sbGJh
clVuZGVyTW91c2UtPm1vdXNlRXhpdGVkKCk7CisgICAgICAgICAgICBtX2xhc3RTY3JvbGxiYXJV
bmRlck1vdXNlID0gc2Nyb2xsYmFyOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHNjcm9sbGJh
cikKKyAgICAgICAgICAgIHBhc3NNb3VzZVByZXNzRXZlbnRUb1Njcm9sbGJhcihtZXYsIHNjcm9s
bGJhcik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gUmVmZXRjaCB0aGUgZXZlbnQgdGFyZ2V0
IG5vZGUgaWYgaXQgY3VycmVudGx5IGlzIHRoZSBzaGFkb3cgbm9kZSBpbnNpZGUgYW4gPGlucHV0
PiBlbGVtZW50LgogICAgICAgICAvLyBJZiBhIG1vdXNlIGV2ZW50IGhhbmRsZXIgY2hhbmdlcyB0
aGUgaW5wdXQgZWxlbWVudCB0eXBlIHRvIG9uZSB0aGF0IGhhcyBhIHdpZGdldCBhc3NvY2lhdGVk
LApAQCAtMTIxMSw2ICsxMjIxLDE1IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVBy
ZXNzRXZlbnQKICAgICAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSB2aWV3ID8gdmlldy0+c2Ny
b2xsYmFyQXRQb2ludChtb3VzZUV2ZW50LnBvcygpKSA6IDA7CiAgICAgICAgIGlmICghc2Nyb2xs
YmFyKQogICAgICAgICAgICAgc2Nyb2xsYmFyID0gbWV2LnNjcm9sbGJhcigpOworCisgICAgICAg
IC8vIEluIGNhc2Ugd2UgbWlzc2VkIGEgbW91c2UgbW92ZSwgdXBkYXRlIG1fbGFzdFNjcm9sbGJh
clVuZGVyTW91c2UuCisgICAgICAgIGlmIChtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlICE9IHNj
cm9sbGJhcikgeworICAgICAgICAgICAgLy8gU2VuZCBtb3VzZSBleGl0ZWQgdG8gdGhlIG9sZCBz
Y3JvbGxiYXIuCisgICAgICAgICAgICBpZiAobV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZSkKKyAg
ICAgICAgICAgICAgICBtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlLT5tb3VzZUV4aXRlZCgpOwor
ICAgICAgICAgICAgbV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZSA9IHNjcm9sbGJhcjsKKyAgICAg
ICAgfQorCiAgICAgICAgIGlmIChzY3JvbGxiYXIgJiYgcGFzc01vdXNlUHJlc3NFdmVudFRvU2Ny
b2xsYmFyKG1ldiwgc2Nyb2xsYmFyKSkKICAgICAgICAgICAgIHN3YWxsb3dFdmVudCA9IHRydWU7
CiAgICAgICAgIGVsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32881</attachid>
            <date>2009-07-16 09:41:43 -0700</date>
            <delta_ts>2009-07-16 09:56:04 -0700</delta_ts>
            <desc>Fixes bug 27289 (same as previous version of patch) and adds test cases.</desc>
            <filename>patch-bug27289-2.txt</filename>
            <type>text/plain</type>
            <size>9510</size>
            <attacher name="Viet-Trung Luu">viettrungluu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTk3NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMDktMDctMTYgIFZpZXQtVHJ1bmcgTHV1ICA8dmlldHRydW5nbHV1
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODkKKyAgICAg
ICAgV2hlbiBhIG1vdXNlIGNsaWNrIG9jY3VycyBvbiBhIHNjcm9sbGJhciB3aXRob3V0IGEgcHJl
Y2VkaW5nIG1vdXNlIG1vdmUKKyAgICAgICAgb250byBpdCwgdGhlIHJlbGVhc2UgaXNuJ3QgaGFu
ZGxlZCBjb3JyZWN0bHkgKHNpbmNlCisgICAgICAgIEV2ZW50SGFuZGxlcjo6bV9sYXN0U2Nyb2xs
YmFyVW5kZXJNb3VzZSBpc24ndCBzZXQgb24gbW91c2UgZG93biwgYnV0CisgICAgICAgIG9ubHkg
b24gbW91c2UgbW92ZSkuIChTaWRlIGNvbW1lbnQ6IFRoYXQgc2Nyb2xsYmFyLWhhbmRsaW5nIGNv
ZGUKKyAgICAgICAgaW4gRXZlbnRIYW5kbGVyIGlzIHVnbHkuIEl0IHNob3VsZCBiZSBmaXhlZCBw
cm9wZXJseS4pCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAo
T09QUyEpCisKKyAgICAgICAgVGVzdHM6IHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vt
b3ZlLmh0bWwKKyAgICAgICAgICAgICAgIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vt
b3ZlLWRpc2FibGVkLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKwor
MjAwOS0wNy0xNCAgVmlldC1UcnVuZyBMdXUgIDx2aWV0dHJ1bmdsdXVAZ21haWwuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzI4OQorICAgICAgICBXaGVuIGEgbW91c2Ug
Y2xpY2sgb2NjdXJzIG9uIGEgc2Nyb2xsYmFyIHdpdGhvdXQgYSBwcmVjZWRpbmcgbW91c2UgbW92
ZQorICAgICAgICBvbnRvIGl0LCB0aGUgcmVsZWFzZSBpc24ndCBoYW5kbGVkIGNvcnJlY3RseSAo
c2luY2UKKyAgICAgICAgRXZlbnRIYW5kbGVyOjptX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlIGlz
bid0IHNldCBvbiBtb3VzZSBkb3duLCBidXQKKyAgICAgICAgb25seSBvbiBtb3VzZSBtb3ZlKS4g
KFNpZGUgY29tbWVudDogVGhhdCBzY3JvbGxiYXItaGFuZGxpbmcgY29kZQorICAgICAgICBpbiBF
dmVudEhhbmRsZXIgaXMgdWdseS4gSXQgc2hvdWxkIGJlIGZpeGVkIHByb3Blcmx5LikKKworICAg
ICAgICBUZXN0OiBJIHdvdWxkLCBidXQgSSBkb24ndCBrbm93IGhvdy4gTWF5YmUgSSdsbCBsZWFy
biBpZiBzb21lb25lCisgICAgICAgIGluc2lzdHMuCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFu
ZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJl
c3NFdmVudCk6CisKIDIwMDktMDctMTUgIEpha3ViIFdpZWN6b3JlayAgPGZhdzIxN0BnbWFpbC5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAkocmV2aXNpb24gNDU4ODcpCisrKyBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE5NSw4ICsxMTk1LDE4IEBAIGJvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKIAogICAgIGlmIChzd2FsbG93RXZlbnQpIHsKICAg
ICAgICAgLy8gc2Nyb2xsYmFycyBzaG91bGQgZ2V0IGV2ZW50cyBhbnl3YXksIGV2ZW4gZGlzYWJs
ZWQgY29udHJvbHMgbWlnaHQgYmUgc2Nyb2xsYWJsZQotICAgICAgICBpZiAobWV2LnNjcm9sbGJh
cigpKQotICAgICAgICAgICAgcGFzc01vdXNlUHJlc3NFdmVudFRvU2Nyb2xsYmFyKG1ldiwgbWV2
LnNjcm9sbGJhcigpKTsKKyAgICAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSBtZXYuc2Nyb2xs
YmFyKCk7CisKKyAgICAgICAgLy8gSW4gY2FzZSB3ZSBtaXNzZWQgYSBtb3VzZSBtb3ZlLCB1cGRh
dGUgbV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZS4KKyAgICAgICAgaWYgKG1fbGFzdFNjcm9sbGJh
clVuZGVyTW91c2UgIT0gc2Nyb2xsYmFyKSB7CisgICAgICAgICAgICAvLyBTZW5kIG1vdXNlIGV4
aXRlZCB0byB0aGUgb2xkIHNjcm9sbGJhci4KKyAgICAgICAgICAgIGlmIChtX2xhc3RTY3JvbGxi
YXJVbmRlck1vdXNlKQorICAgICAgICAgICAgICAgIG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2Ut
Pm1vdXNlRXhpdGVkKCk7CisgICAgICAgICAgICBtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlID0g
c2Nyb2xsYmFyOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHNjcm9sbGJhcikKKyAgICAgICAg
ICAgIHBhc3NNb3VzZVByZXNzRXZlbnRUb1Njcm9sbGJhcihtZXYsIHNjcm9sbGJhcik7CiAgICAg
fSBlbHNlIHsKICAgICAgICAgLy8gUmVmZXRjaCB0aGUgZXZlbnQgdGFyZ2V0IG5vZGUgaWYgaXQg
Y3VycmVudGx5IGlzIHRoZSBzaGFkb3cgbm9kZSBpbnNpZGUgYW4gPGlucHV0PiBlbGVtZW50Lgog
ICAgICAgICAvLyBJZiBhIG1vdXNlIGV2ZW50IGhhbmRsZXIgY2hhbmdlcyB0aGUgaW5wdXQgZWxl
bWVudCB0eXBlIHRvIG9uZSB0aGF0IGhhcyBhIHdpZGdldCBhc3NvY2lhdGVkLApAQCAtMTIxMSw2
ICsxMjIxLDE1IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQKICAg
ICAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSB2aWV3ID8gdmlldy0+c2Nyb2xsYmFyQXRQb2lu
dChtb3VzZUV2ZW50LnBvcygpKSA6IDA7CiAgICAgICAgIGlmICghc2Nyb2xsYmFyKQogICAgICAg
ICAgICAgc2Nyb2xsYmFyID0gbWV2LnNjcm9sbGJhcigpOworCisgICAgICAgIC8vIEluIGNhc2Ug
d2UgbWlzc2VkIGEgbW91c2UgbW92ZSwgdXBkYXRlIG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2Uu
CisgICAgICAgIGlmIChtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlICE9IHNjcm9sbGJhcikgewor
ICAgICAgICAgICAgLy8gU2VuZCBtb3VzZSBleGl0ZWQgdG8gdGhlIG9sZCBzY3JvbGxiYXIuCisg
ICAgICAgICAgICBpZiAobV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZSkKKyAgICAgICAgICAgICAg
ICBtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlLT5tb3VzZUV4aXRlZCgpOworICAgICAgICAgICAg
bV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZSA9IHNjcm9sbGJhcjsKKyAgICAgICAgfQorCiAgICAg
ICAgIGlmIChzY3JvbGxiYXIgJiYgcGFzc01vdXNlUHJlc3NFdmVudFRvU2Nyb2xsYmFyKG1ldiwg
c2Nyb2xsYmFyKSkKICAgICAgICAgICAgIHN3YWxsb3dFdmVudCA9IHRydWU7CiAgICAgICAgIGVs
c2UKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1OTc0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDctMTYgIFZpZXQtVHJ1bmcgTHV1
ICA8dmlldHRydW5nbHV1QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjcyODkKKyAgICAgICAgVGVzdHMgdGhhdCBtb3VzZSBjbGlja3MvcmVsZWFzZXMgYXJlIGhh
bmRsZWQgcHJvcGVybHkgb24gc2Nyb2xsYmFycworICAgICAgICBldmVuIHdoZW4gdGhlcmUgaXMg
bm8gbW91c2UgbW92ZSBvbnRvIHRoZSBzY3JvbGxiYXIgKHR3byBjYXNlczogZW5hYmxlZAorICAg
ICAgICBhbmQgZGlzYWJsZWQgY29udHJvbHMpLgorCisgICAgICAgICogc2Nyb2xsYmFycy9zY3Jv
bGxiYXItbWlzcy1tb3VzZW1vdmUtZGlzYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBzY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1kaXNhYmxlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBzY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91
c2Vtb3ZlLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA3LTE2ICBEZWFuIE1jTmFtZWUgIDxkZWFubUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBM
YXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1kaXNhYmxlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxi
YXItbWlzcy1tb3VzZW1vdmUtZGlzYWJsZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItbWlzcy1tb3VzZW1vdmUtZGlzYWJsZWQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKworVGVzdCBmb3IgYnVn
IDI3Mjg5OiBUaGlzIHRlc3RzIHRoYXQgbW91c2UgY2xpY2tzL3JlbGVhc2VzIG9uIHNjcm9sbGJh
cnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgZXZlbiBpcyB0aGVyZSB3YXMgbm8gbW91c2UgbW92ZSBv
bnRvIHRoZSBzY3JvbGxiYXI7IHRoaXMgaXMgdGhlIGRpc2FibGVkIGNvbnRyb2wgY2FzZS4gT24g
c3VjY2VzcywgdGhlIHRleHQgc2hvdWxkIGJlZ2luIHdpdGggInp4Ii4KKworVGV4dCBpcyAiengg
eSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5
IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkg
eSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5
IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgIgpJbmRleDogTGF5b3V0VGVzdHMvc2Nyb2xsYmFy
cy9zY3JvbGxiYXItbWlzcy1tb3VzZW1vdmUtZGlzYWJsZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1kaXNhYmxlZC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItbWlz
cy1tb3VzZW1vdmUtZGlzYWJsZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNDYgQEAK
KzxodG1sPgorPGJvZHkgc3R5bGU9Im1hcmdpbjowIj4KKzxzY3JpcHQ+CitpZiAobGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+Cis8
Zm9ybSBuYW1lPSJmb3JtMSI+IAorPHRleHRhcmVhIG5hbWU9InRleHQxIiBzdHlsZT0iYm9yZGVy
OjJweCBzb2xpZCBibGFjaztvdmVyZmxvdzphdXRvO2hlaWdodDo0MDBweDt3aWR0aDo0MDBweDsg
cG9zaXRpb246YWJzb2x1dGU7Ij4KK3gKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kK
K3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kK
K3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kK
K3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kK
K3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kK
K3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKK3kKKzwvdGV4dGFyZWE+Cis8L2Zvcm0+
IAorPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI3Mjg5Ij5idWcKKzI3Mjg5PC9hPjogVGhpcyB0ZXN0cyB0aGF0IG1vdXNlIGNsaWNr
cy9yZWxlYXNlcyBvbiBzY3JvbGxiYXJzIGFyZSBoYW5kbGVkCitwcm9wZXJseSBldmVuIGlzIHRo
ZXJlIHdhcyBubyBtb3VzZSBtb3ZlIG9udG8gdGhlIHNjcm9sbGJhcjsgdGhpcyBpcyB0aGUKK2Rp
c2FibGVkIGNvbnRyb2wgY2FzZS4gT24gc3VjY2VzcywgdGhlIHRleHQgc2hvdWxkIGJlZ2luIHdp
dGggInp4Ii48cC8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitpZiAoZXZl
bnRTZW5kZXIpIHsKKyAgICBkb2N1bWVudC5mb3JtMS50ZXh0MS5kaXNhYmxlZCA9IHRydWU7Cisg
ICAgZG9jdW1lbnQuZm9ybTEuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbygzOTAsIDEwKTsKKyAgICBkb2N1bWVudC5mb3JtMS5zdHlsZS5kaXNwbGF5
ID0gIiI7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91
c2VVcCgpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDM5MCwgMzUwKTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyg0LDM1MCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7
CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KDQsNCk7CisgICAgZG9jdW1lbnQuZm9ybTEudGV4dDEuZGlzYWJsZWQgPSBmYWxzZTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAg
ZXZlbnRTZW5kZXIua2V5RG93bigneicpOworICAgIHNldFRpbWVvdXQoZmluaXNoZWQsIDUwMCk7
Cit9CisKK2Z1bmN0aW9uIGZpbmlzaGVkKCkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY29uc29sZScpLmlubmVySFRNTAorICAgICAgICA9ICJUZXh0IGlzIFwiIiArIGRvY3VtZW50
LmZvcm0xLnRleHQxLnZhbHVlICsgIlwiIjsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3JvbGxiYXItbWlzcy1t
b3VzZW1vdmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc2Nyb2xs
YmFycy9zY3JvbGxiYXItbWlzcy1tb3VzZW1vdmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDMgQEAKK1Rlc3QgZm9yIGJ1ZyAyNzI4OTogVGhpcyB0ZXN0cyB0aGF0IG1vdXNl
IGNsaWNrcy9yZWxlYXNlcyBvbiBzY3JvbGxiYXJzIGFyZSBoYW5kbGVkIHByb3Blcmx5IGV2ZW4g
aXMgdGhlcmUgd2FzIG5vIG1vdXNlIG1vdmUgb250byB0aGUgc2Nyb2xsYmFyOyB0aGlzIGlzIHRo
ZSBlbmFibGVkIGNvbnRyb2wgY2FzZS4gT24gc3VjY2VzcywgdGhlIG9mZnNldCBzaG91bGQgYmUg
MC4KKworU2Nyb2xsIG9mZnNldCBpcyAwCkluZGV4OiBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Nj
cm9sbGJhci1taXNzLW1vdXNlbW92ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDM3IEBACis8aHRtbD4KKzxib2R5IHN0eWxlPSJtYXJnaW46MCI+
Cis8c2NyaXB0PgoraWYgKGxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKK30KKzwvc2NyaXB0PgorPGRpdiBpZD0ib3ZlcmZsb3ciIHN0eWxlPSJib3JkZXI6
MnB4IHNvbGlkIGJsYWNrO292ZXJmbG93OmF1dG87aGVpZ2h0OjQwMHB4O3dpZHRoOjQwMHB4OyBw
b3NpdGlvbjphYnNvbHV0ZTsiPgorPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpncmVlbjto
ZWlnaHQ6MTAwMHB4Ij48L2Rpdj4KKzxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmVkO2hl
aWdodDoxMDAwcHgiPjwvZGl2PgorPC9kaXY+Cis8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODkiPmJ1ZworMjcyODk8L2E+OiBU
aGlzIHRlc3RzIHRoYXQgbW91c2UgY2xpY2tzL3JlbGVhc2VzIG9uIHNjcm9sbGJhcnMgYXJlIGhh
bmRsZWQKK3Byb3Blcmx5IGV2ZW4gaXMgdGhlcmUgd2FzIG5vIG1vdXNlIG1vdmUgb250byB0aGUg
c2Nyb2xsYmFyOyB0aGlzIGlzIHRoZQorZW5hYmxlZCBjb250cm9sIGNhc2UuIE9uIHN1Y2Nlc3Ms
IHRoZSBvZmZzZXQgc2hvdWxkIGJlIDAuPHAvPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgoraWYgKGV2ZW50U2VuZGVyKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J292ZXJmbG93Jykuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbygzOTAsIDEwKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3ZlcmZsb3cn
KS5zdHlsZS5kaXNwbGF5ID0gIiI7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDM5MCwg
MzUwKTsKKyAgICBzZXRUaW1lb3V0KGZpbmlzaGVkLCA1MDApOworfQorCitmdW5jdGlvbiBmaW5p
c2hlZCgpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lckhU
TUwKKyAgICAgICAgPSAiU2Nyb2xsIG9mZnNldCBpcyAiICsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ292ZXJmbG93Jykuc2Nyb2xsVG9wOworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32882</attachid>
            <date>2009-07-16 09:54:33 -0700</date>
            <delta_ts>2009-07-22 13:55:22 -0700</delta_ts>
            <desc>Patch and test cases for bug 27289.</desc>
            <filename>patch-bug27289-3.txt</filename>
            <type>text/plain</type>
            <size>8813</size>
            <attacher name="Viet-Trung Luu">viettrungluu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTk3NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDctMTYgIFZpZXQtVHJ1bmcgTHV1ICA8dmlldHRydW5nbHV1
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODkKKyAgICAg
ICAgV2hlbiBhIG1vdXNlIGNsaWNrIG9jY3VycyBvbiBhIHNjcm9sbGJhciB3aXRob3V0IGEgcHJl
Y2VkaW5nIG1vdXNlIG1vdmUKKyAgICAgICAgb250byBpdCwgdGhlIHJlbGVhc2UgaXNuJ3QgaGFu
ZGxlZCBjb3JyZWN0bHkgKHNpbmNlCisgICAgICAgIEV2ZW50SGFuZGxlcjo6bV9sYXN0U2Nyb2xs
YmFyVW5kZXJNb3VzZSBpc24ndCBzZXQgb24gbW91c2UgZG93biwgYnV0CisgICAgICAgIG9ubHkg
b24gbW91c2UgbW92ZSkuIChTaWRlIGNvbW1lbnQ6IFRoYXQgc2Nyb2xsYmFyLWhhbmRsaW5nIGNv
ZGUKKyAgICAgICAgaW4gRXZlbnRIYW5kbGVyIGlzIHVnbHkuIEl0IHNob3VsZCBiZSBmaXhlZCBw
cm9wZXJseS4pCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAo
T09QUyEpCisKKyAgICAgICAgVGVzdHM6IHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vt
b3ZlLmh0bWwKKyAgICAgICAgICAgICAgIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vt
b3ZlLWRpc2FibGVkLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKwog
MjAwOS0wNy0xNSAgSmFrdWIgV2llY3pvcmVrICA8ZmF3MjE3QGdtYWlsLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCShy
ZXZpc2lvbiA0NTg4NykKKysrIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTk1LDggKzExOTUsMTggQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1v
dXNlUHJlc3NFdmVudAogCiAgICAgaWYgKHN3YWxsb3dFdmVudCkgewogICAgICAgICAvLyBzY3Jv
bGxiYXJzIHNob3VsZCBnZXQgZXZlbnRzIGFueXdheSwgZXZlbiBkaXNhYmxlZCBjb250cm9scyBt
aWdodCBiZSBzY3JvbGxhYmxlCi0gICAgICAgIGlmIChtZXYuc2Nyb2xsYmFyKCkpCi0gICAgICAg
ICAgICBwYXNzTW91c2VQcmVzc0V2ZW50VG9TY3JvbGxiYXIobWV2LCBtZXYuc2Nyb2xsYmFyKCkp
OworICAgICAgICBTY3JvbGxiYXIqIHNjcm9sbGJhciA9IG1ldi5zY3JvbGxiYXIoKTsKKworICAg
ICAgICAvLyBJbiBjYXNlIHdlIG1pc3NlZCBhIG1vdXNlIG1vdmUsIHVwZGF0ZSBtX2xhc3RTY3Jv
bGxiYXJVbmRlck1vdXNlLgorICAgICAgICBpZiAobV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZSAh
PSBzY3JvbGxiYXIpIHsKKyAgICAgICAgICAgIC8vIFNlbmQgbW91c2UgZXhpdGVkIHRvIHRoZSBv
bGQgc2Nyb2xsYmFyLgorICAgICAgICAgICAgaWYgKG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2Up
CisgICAgICAgICAgICAgICAgbV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZS0+bW91c2VFeGl0ZWQo
KTsKKyAgICAgICAgICAgIG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2UgPSBzY3JvbGxiYXI7Cisg
ICAgICAgIH0KKworICAgICAgICBpZiAoc2Nyb2xsYmFyKQorICAgICAgICAgICAgcGFzc01vdXNl
UHJlc3NFdmVudFRvU2Nyb2xsYmFyKG1ldiwgc2Nyb2xsYmFyKTsKICAgICB9IGVsc2UgewogICAg
ICAgICAvLyBSZWZldGNoIHRoZSBldmVudCB0YXJnZXQgbm9kZSBpZiBpdCBjdXJyZW50bHkgaXMg
dGhlIHNoYWRvdyBub2RlIGluc2lkZSBhbiA8aW5wdXQ+IGVsZW1lbnQuCiAgICAgICAgIC8vIElm
IGEgbW91c2UgZXZlbnQgaGFuZGxlciBjaGFuZ2VzIHRoZSBpbnB1dCBlbGVtZW50IHR5cGUgdG8g
b25lIHRoYXQgaGFzIGEgd2lkZ2V0IGFzc29jaWF0ZWQsCkBAIC0xMjExLDYgKzEyMjEsMTUgQEAg
Ym9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudAogICAgICAgICBTY3JvbGxi
YXIqIHNjcm9sbGJhciA9IHZpZXcgPyB2aWV3LT5zY3JvbGxiYXJBdFBvaW50KG1vdXNlRXZlbnQu
cG9zKCkpIDogMDsKICAgICAgICAgaWYgKCFzY3JvbGxiYXIpCiAgICAgICAgICAgICBzY3JvbGxi
YXIgPSBtZXYuc2Nyb2xsYmFyKCk7CisKKyAgICAgICAgLy8gSW4gY2FzZSB3ZSBtaXNzZWQgYSBt
b3VzZSBtb3ZlLCB1cGRhdGUgbV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZS4KKyAgICAgICAgaWYg
KG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2UgIT0gc2Nyb2xsYmFyKSB7CisgICAgICAgICAgICAv
LyBTZW5kIG1vdXNlIGV4aXRlZCB0byB0aGUgb2xkIHNjcm9sbGJhci4KKyAgICAgICAgICAgIGlm
IChtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlKQorICAgICAgICAgICAgICAgIG1fbGFzdFNjcm9s
bGJhclVuZGVyTW91c2UtPm1vdXNlRXhpdGVkKCk7CisgICAgICAgICAgICBtX2xhc3RTY3JvbGxi
YXJVbmRlck1vdXNlID0gc2Nyb2xsYmFyOworICAgICAgICB9CisKICAgICAgICAgaWYgKHNjcm9s
bGJhciAmJiBwYXNzTW91c2VQcmVzc0V2ZW50VG9TY3JvbGxiYXIobWV2LCBzY3JvbGxiYXIpKQog
ICAgICAgICAgICAgc3dhbGxvd0V2ZW50ID0gdHJ1ZTsKICAgICAgICAgZWxzZQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gNDU5NzQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNyBAQAorMjAwOS0wNy0xNiAgVmlldC1UcnVuZyBMdXUgIDx2aWV0dHJ1bmds
dXVAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzI4OQorICAg
ICAgICBUZXN0cyB0aGF0IG1vdXNlIGNsaWNrcy9yZWxlYXNlcyBhcmUgaGFuZGxlZCBwcm9wZXJs
eSBvbiBzY3JvbGxiYXJzCisgICAgICAgIGV2ZW4gd2hlbiB0aGVyZSBpcyBubyBtb3VzZSBtb3Zl
IG9udG8gdGhlIHNjcm9sbGJhciAodHdvIGNhc2VzOiBlbmFibGVkCisgICAgICAgIGFuZCBkaXNh
YmxlZCBjb250cm9scykuCisKKyAgICAgICAgKiBzY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1v
dXNlbW92ZS1kaXNhYmxlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHNjcm9sbGJh
cnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogc2Nyb2xsYmFycy9zY3JvbGxiYXItbWlzcy1tb3VzZW1vdmUuaHRtbDog
QWRkZWQuCisKIDIwMDktMDctMTYgIERlYW4gTWNOYW1lZSAgPGRlYW5tQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNl
bW92ZS1kaXNhYmxlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
Y3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1kaXNhYmxlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorCitUZXN0IGZvciBidWcgMjcyODk6IFRoaXMg
dGVzdHMgdGhhdCBtb3VzZSBjbGlja3MvcmVsZWFzZXMgb24gc2Nyb2xsYmFycyBhcmUgaGFuZGxl
ZCBwcm9wZXJseSBldmVuIGlzIHRoZXJlIHdhcyBubyBtb3VzZSBtb3ZlIG9udG8gdGhlIHNjcm9s
bGJhcjsgdGhpcyBpcyB0aGUgZGlzYWJsZWQgY29udHJvbCBjYXNlLiBPbiBzdWNjZXNzLCB0aGUg
dGV4dCBzaG91bGQgYmVnaW4gd2l0aCAiengiLgorCitUZXh0IGlzICJ6eCB5IHkgeSB5IHkgeSB5
IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkg
eSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5
IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkg
eSB5IHkgeSB5IHkgeSAiCkluZGV4OiBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1t
aXNzLW1vdXNlbW92ZS1kaXNhYmxlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1k
aXNhYmxlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0NiBAQAorPGh0bWw+Cis8Ym9k
eSBzdHlsZT0ibWFyZ2luOjAiPgorPHNjcmlwdD4KK2lmIChsYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxmb3JtIG5hbWU9ImZv
cm0xIj4gCis8dGV4dGFyZWEgbmFtZT0idGV4dDEiIHN0eWxlPSJib3JkZXI6MnB4IHNvbGlkIGJs
YWNrO292ZXJmbG93OmF1dG87aGVpZ2h0OjQwMHB4O3dpZHRoOjQwMHB4OyBwb3NpdGlvbjphYnNv
bHV0ZTsiPgoreAoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQorPC90ZXh0YXJlYT4KKzwvZm9ybT4gCis8cD5UZXN0IGZv
ciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODki
PmJ1ZworMjcyODk8L2E+OiBUaGlzIHRlc3RzIHRoYXQgbW91c2UgY2xpY2tzL3JlbGVhc2VzIG9u
IHNjcm9sbGJhcnMgYXJlIGhhbmRsZWQKK3Byb3Blcmx5IGV2ZW4gaXMgdGhlcmUgd2FzIG5vIG1v
dXNlIG1vdmUgb250byB0aGUgc2Nyb2xsYmFyOyB0aGlzIGlzIHRoZQorZGlzYWJsZWQgY29udHJv
bCBjYXNlLiBPbiBzdWNjZXNzLCB0aGUgdGV4dCBzaG91bGQgYmVnaW4gd2l0aCAiengiLjxwLz4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2lmIChldmVudFNlbmRlcikgewor
ICAgIGRvY3VtZW50LmZvcm0xLnRleHQxLmRpc2FibGVkID0gdHJ1ZTsKKyAgICBkb2N1bWVudC5m
b3JtMS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KDM5MCwgMTApOworICAgIGRvY3VtZW50LmZvcm0xLnN0eWxlLmRpc3BsYXkgPSAiIjsKKyAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMzkwLCAzNTApOworICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKDQsMzUwKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNl
bmRlci5tb3VzZVVwKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oNCw0KTsKKyAgICBk
b2N1bWVudC5mb3JtMS50ZXh0MS5kaXNhYmxlZCA9IGZhbHNlOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBldmVudFNlbmRlci5r
ZXlEb3duKCd6Jyk7CisgICAgc2V0VGltZW91dChmaW5pc2hlZCwgNTAwKTsKK30KKworZnVuY3Rp
b24gZmluaXNoZWQoKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyku
aW5uZXJIVE1MCisgICAgICAgID0gIlRleHQgaXMgXCIiICsgZG9jdW1lbnQuZm9ybTEudGV4dDEu
dmFsdWUgKyAiXCIiOworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJh
ci1taXNzLW1vdXNlbW92ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBA
QAorVGVzdCBmb3IgYnVnIDI3Mjg5OiBUaGlzIHRlc3RzIHRoYXQgbW91c2UgY2xpY2tzL3JlbGVh
c2VzIG9uIHNjcm9sbGJhcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgZXZlbiBpcyB0aGVyZSB3YXMg
bm8gbW91c2UgbW92ZSBvbnRvIHRoZSBzY3JvbGxiYXI7IHRoaXMgaXMgdGhlIGVuYWJsZWQgY29u
dHJvbCBjYXNlLiBPbiBzdWNjZXNzLCB0aGUgb2Zmc2V0IHNob3VsZCBiZSAwLgorCitTY3JvbGwg
b2Zmc2V0IGlzIDAKSW5kZXg6IExheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3Mt
bW91c2Vtb3ZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3Jv
bGxiYXItbWlzcy1tb3VzZW1vdmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzcgQEAKKzxodG1sPgorPGJvZHkgc3R5bGU9Im1hcmdpbjowIj4KKzxzY3JpcHQ+Citp
ZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQor
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJvdmVyZmxvdyIgc3R5bGU9ImJvcmRlcjoycHggc29saWQgYmxh
Y2s7b3ZlcmZsb3c6YXV0bztoZWlnaHQ6NDAwcHg7d2lkdGg6NDAwcHg7IHBvc2l0aW9uOmFic29s
dXRlOyI+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmdyZWVuO2hlaWdodDoxMDAwcHgi
PjwvZGl2PgorPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZWQ7aGVpZ2h0OjEwMDBweCI+
PC9kaXY+Cis8L2Rpdj4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNzI4OSI+YnVnCisyNzI4OTwvYT46IFRoaXMgdGVzdHMgdGhh
dCBtb3VzZSBjbGlja3MvcmVsZWFzZXMgb24gc2Nyb2xsYmFycyBhcmUgaGFuZGxlZAorcHJvcGVy
bHkgZXZlbiBpcyB0aGVyZSB3YXMgbm8gbW91c2UgbW92ZSBvbnRvIHRoZSBzY3JvbGxiYXI7IHRo
aXMgaXMgdGhlCitlbmFibGVkIGNvbnRyb2wgY2FzZS4gT24gc3VjY2VzcywgdGhlIG9mZnNldCBz
aG91bGQgYmUgMC48cC8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitpZiAo
ZXZlbnRTZW5kZXIpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3ZlcmZsb3cnKS5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDM5MCwg
MTApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvdmVyZmxvdycpLnN0eWxlLmRpc3Bs
YXkgPSAiIjsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZVVwKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMzkwLCAzNTApOworICAgIHNl
dFRpbWVvdXQoZmluaXNoZWQsIDUwMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaGVkKCkKK3sKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmlubmVySFRNTAorICAgICAgICA9
ICJTY3JvbGwgb2Zmc2V0IGlzICIgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3ZlcmZsb3cn
KS5zY3JvbGxUb3A7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="17233"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33287</attachid>
            <date>2009-07-22 13:55:22 -0700</date>
            <delta_ts>2009-07-22 14:34:23 -0700</delta_ts>
            <desc>Patch and test cases for bug 27289</desc>
            <filename>patch-bug27289-4.txt</filename>
            <type>text/plain</type>
            <size>9953</size>
            <attacher name="Viet-Trung Luu">viettrungluu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjIzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMDctMjIgIFZpZXQtVHJ1bmcgTHV1ICA8dmlldHRydW5nbHV1
QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODkKKyAgICAg
ICAgV2hlbiBhIG1vdXNlIGNsaWNrIG9jY3VycyBvbiBhIHNjcm9sbGJhciB3aXRob3V0IGEgcHJl
Y2VkaW5nIG1vdXNlIG1vdmUKKyAgICAgICAgb250byBpdCwgdGhlIHJlbGVhc2UgaXNuJ3QgaGFu
ZGxlZCBjb3JyZWN0bHkgKHNpbmNlCisgICAgICAgIEV2ZW50SGFuZGxlcjo6bV9sYXN0U2Nyb2xs
YmFyVW5kZXJNb3VzZSBpc24ndCBzZXQgb24gbW91c2UgZG93biwgYnV0CisgICAgICAgIG9ubHkg
b24gbW91c2UgbW92ZSkuIChTaWRlIGNvbW1lbnQ6IFRoYXQgc2Nyb2xsYmFyLWhhbmRsaW5nIGNv
ZGUKKyAgICAgICAgaW4gRXZlbnRIYW5kbGVyIGlzIHVnbHkuIEl0IHNob3VsZCBiZSBmaXhlZCBw
cm9wZXJseS4pCisKKyAgICAgICAgVGVzdHM6IHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91
c2Vtb3ZlLmh0bWwKKyAgICAgICAgICAgICAgIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91
c2Vtb3ZlLWRpc2FibGVkLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp1cGRhdGVMYXN0U2Nyb2xsYmFyVW5kZXJN
b3VzZSk6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKwogMjAwOS0wNy0yMiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiA0NTg4NykKKysrIFdl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTk1LDggKzEx
OTUsMTIgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudAogCiAgICAg
aWYgKHN3YWxsb3dFdmVudCkgewogICAgICAgICAvLyBzY3JvbGxiYXJzIHNob3VsZCBnZXQgZXZl
bnRzIGFueXdheSwgZXZlbiBkaXNhYmxlZCBjb250cm9scyBtaWdodCBiZSBzY3JvbGxhYmxlCi0g
ICAgICAgIGlmIChtZXYuc2Nyb2xsYmFyKCkpCi0gICAgICAgICAgICBwYXNzTW91c2VQcmVzc0V2
ZW50VG9TY3JvbGxiYXIobWV2LCBtZXYuc2Nyb2xsYmFyKCkpOworICAgICAgICBTY3JvbGxiYXIq
IHNjcm9sbGJhciA9IG1ldi5zY3JvbGxiYXIoKTsKKworICAgICAgICB1cGRhdGVMYXN0U2Nyb2xs
YmFyVW5kZXJNb3VzZShzY3JvbGxiYXIsIHRydWUpOworCisgICAgICAgIGlmIChzY3JvbGxiYXIp
CisgICAgICAgICAgICBwYXNzTW91c2VQcmVzc0V2ZW50VG9TY3JvbGxiYXIobWV2LCBzY3JvbGxi
YXIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFJlZmV0Y2ggdGhlIGV2ZW50IHRhcmdldCBu
b2RlIGlmIGl0IGN1cnJlbnRseSBpcyB0aGUgc2hhZG93IG5vZGUgaW5zaWRlIGFuIDxpbnB1dD4g
ZWxlbWVudC4KICAgICAgICAgLy8gSWYgYSBtb3VzZSBldmVudCBoYW5kbGVyIGNoYW5nZXMgdGhl
IGlucHV0IGVsZW1lbnQgdHlwZSB0byBvbmUgdGhhdCBoYXMgYSB3aWRnZXQgYXNzb2NpYXRlZCwK
QEAgLTEyMTEsNiArMTIxNSw5IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnQKICAgICAgICAgU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSB2aWV3ID8gdmlldy0+c2Nyb2xs
YmFyQXRQb2ludChtb3VzZUV2ZW50LnBvcygpKSA6IDA7CiAgICAgICAgIGlmICghc2Nyb2xsYmFy
KQogICAgICAgICAgICAgc2Nyb2xsYmFyID0gbWV2LnNjcm9sbGJhcigpOworCisgICAgICAgIHVw
ZGF0ZUxhc3RTY3JvbGxiYXJVbmRlck1vdXNlKHNjcm9sbGJhciwgdHJ1ZSk7CisKICAgICAgICAg
aWYgKHNjcm9sbGJhciAmJiBwYXNzTW91c2VQcmVzc0V2ZW50VG9TY3JvbGxiYXIobWV2LCBzY3Jv
bGxiYXIpKQogICAgICAgICAgICAgc3dhbGxvd0V2ZW50ID0gdHJ1ZTsKICAgICAgICAgZWxzZQpA
QCAtMTMyNywxMiArMTMzNCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVF
dmVudCgKICAgICAgICAgaWYgKCFzY3JvbGxiYXIpCiAgICAgICAgICAgICBzY3JvbGxiYXIgPSBt
ZXYuc2Nyb2xsYmFyKCk7CiAKLSAgICAgICAgaWYgKG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2Ug
IT0gc2Nyb2xsYmFyKSB7Ci0gICAgICAgICAgICAvLyBTZW5kIG1vdXNlIGV4aXRlZCB0byB0aGUg
b2xkIHNjcm9sbGJhci4KLSAgICAgICAgICAgIGlmIChtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNl
KQotICAgICAgICAgICAgICAgIG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2UtPm1vdXNlRXhpdGVk
KCk7Ci0gICAgICAgICAgICBtX2xhc3RTY3JvbGxiYXJVbmRlck1vdXNlID0gbV9tb3VzZVByZXNz
ZWQgPyAwIDogc2Nyb2xsYmFyOwotICAgICAgICB9CisgICAgICAgIHVwZGF0ZUxhc3RTY3JvbGxi
YXJVbmRlck1vdXNlKHNjcm9sbGJhciwgIW1fbW91c2VQcmVzc2VkKTsKICAgICB9CiAKICAgICBi
b29sIHN3YWxsb3dFdmVudCA9IGZhbHNlOwpAQCAtMjQyMiw0ICsyNDI0LDE2IEBAIGJvb2wgRXZl
bnRIYW5kbGVyOjpwYXNzTW91c2VQcmVzc0V2ZW50VG8KICAgICByZXR1cm4gc2Nyb2xsYmFyLT5t
b3VzZURvd24obWV2LmV2ZW50KCkpOwogfQogCisvLyBJZiBzY3JvbGxiYXIgKHVuZGVyIG1vdXNl
KSBpcyBkaWZmZXJlbnQgZnJvbSBsYXN0LCBzZW5kIGEgbW91c2UgZXhpdGVkLiBTZXQKKy8vIGxh
c3QgdG8gc2Nyb2xsYmFyIGlmIHNldExhc3QgaXMgdHJ1ZTsgZWxzZSBzZXQgbGFzdCB0byAwLgor
dm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZUxhc3RTY3JvbGxiYXJVbmRlck1vdXNlKFNjcm9sbGJh
ciogc2Nyb2xsYmFyLCBib29sIHNldExhc3QpCit7CisgICAgaWYgKG1fbGFzdFNjcm9sbGJhclVu
ZGVyTW91c2UgIT0gc2Nyb2xsYmFyKSB7CisgICAgICAgIC8vIFNlbmQgbW91c2UgZXhpdGVkIHRv
IHRoZSBvbGQgc2Nyb2xsYmFyLgorICAgICAgICBpZiAobV9sYXN0U2Nyb2xsYmFyVW5kZXJNb3Vz
ZSkKKyAgICAgICAgICAgIG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2UtPm1vdXNlRXhpdGVkKCk7
CisgICAgICAgIG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2UgPSBzZXRMYXN0ID8gc2Nyb2xsYmFy
IDogMDsKKyAgICB9Cit9CisKIH0KSW5kZXg6IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgJKHJldmlzaW9uIDQ1ODg3
KQorKysgV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEs
NiArMjcxLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdXBkYXRlU2VsZWN0aW9uRm9yTW91c2VE
cmFnKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEludFBvaW50JiBsb2NhbFBvaW50KTsKIAorICAg
IHZvaWQgdXBkYXRlTGFzdFNjcm9sbGJhclVuZGVyTW91c2UoU2Nyb2xsYmFyKiwgYm9vbCk7CisK
ICAgICBib29sIGNhcHR1cmVzRHJhZ2dpbmcoKSBjb25zdCB7IHJldHVybiBtX2NhcHR1cmVzRHJh
Z2dpbmc7IH0KIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgZGVmaW5lZChfX09CSkNfXykKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDQ2MjM4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDctMjIgIFZpZXQtVHJ1bmcgTHV1ICA8dmlldHRy
dW5nbHV1QGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODkK
KyAgICAgICAgVGVzdHMgdGhhdCBtb3VzZSBjbGlja3MvcmVsZWFzZXMgYXJlIGhhbmRsZWQgcHJv
cGVybHkgb24gc2Nyb2xsYmFycworICAgICAgICBldmVuIHdoZW4gdGhlcmUgaXMgbm8gbW91c2Ug
bW92ZSBvbnRvIHRoZSBzY3JvbGxiYXIgKHR3byBjYXNlczogZW5hYmxlZAorICAgICAgICBhbmQg
ZGlzYWJsZWQgY29udHJvbHMpLgorCisgICAgICAgICogc2Nyb2xsYmFycy9zY3JvbGxiYXItbWlz
cy1tb3VzZW1vdmUtZGlzYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzY3Jv
bGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1kaXNhYmxlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBzY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLmh0
bWw6IEFkZGVkLgorCiAyMDA5LTA3LTIyICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNl
bW92ZS1kaXNhYmxlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
Y3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1kaXNhYmxlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorCitUZXN0IGZvciBidWcgMjcyODk6IFRoaXMg
dGVzdHMgdGhhdCBtb3VzZSBjbGlja3MvcmVsZWFzZXMgb24gc2Nyb2xsYmFycyBhcmUgaGFuZGxl
ZCBwcm9wZXJseSBldmVuIGlzIHRoZXJlIHdhcyBubyBtb3VzZSBtb3ZlIG9udG8gdGhlIHNjcm9s
bGJhcjsgdGhpcyBpcyB0aGUgZGlzYWJsZWQgY29udHJvbCBjYXNlLiBPbiBzdWNjZXNzLCB0aGUg
dGV4dCBzaG91bGQgYmVnaW4gd2l0aCAiengiLgorCitUZXh0IGlzICJ6eCB5IHkgeSB5IHkgeSB5
IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkg
eSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5
IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkgeSB5IHkg
eSB5IHkgeSB5IHkgeSAiCkluZGV4OiBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1t
aXNzLW1vdXNlbW92ZS1kaXNhYmxlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1k
aXNhYmxlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0NiBAQAorPGh0bWw+Cis8Ym9k
eSBzdHlsZT0ibWFyZ2luOjAiPgorPHNjcmlwdD4KK2lmIChsYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzxmb3JtIG5hbWU9ImZv
cm0xIj4gCis8dGV4dGFyZWEgbmFtZT0idGV4dDEiIHN0eWxlPSJib3JkZXI6MnB4IHNvbGlkIGJs
YWNrO292ZXJmbG93OmF1dG87aGVpZ2h0OjQwMHB4O3dpZHRoOjQwMHB4OyBwb3NpdGlvbjphYnNv
bHV0ZTsiPgoreAoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQoreQor
eQoreQoreQoreQoreQoreQoreQoreQorPC90ZXh0YXJlYT4KKzwvZm9ybT4gCis8cD5UZXN0IGZv
ciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjcyODki
PmJ1ZworMjcyODk8L2E+OiBUaGlzIHRlc3RzIHRoYXQgbW91c2UgY2xpY2tzL3JlbGVhc2VzIG9u
IHNjcm9sbGJhcnMgYXJlIGhhbmRsZWQKK3Byb3Blcmx5IGV2ZW4gaXMgdGhlcmUgd2FzIG5vIG1v
dXNlIG1vdmUgb250byB0aGUgc2Nyb2xsYmFyOyB0aGlzIGlzIHRoZQorZGlzYWJsZWQgY29udHJv
bCBjYXNlLiBPbiBzdWNjZXNzLCB0aGUgdGV4dCBzaG91bGQgYmVnaW4gd2l0aCAiengiLjxwLz4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2lmIChldmVudFNlbmRlcikgewor
ICAgIGRvY3VtZW50LmZvcm0xLnRleHQxLmRpc2FibGVkID0gdHJ1ZTsKKyAgICBkb2N1bWVudC5m
b3JtMS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KDM5MCwgMTApOworICAgIGRvY3VtZW50LmZvcm0xLnN0eWxlLmRpc3BsYXkgPSAiIjsKKyAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMzkwLCAzNTApOworICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKDQsMzUwKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNl
bmRlci5tb3VzZVVwKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oNCw0KTsKKyAgICBk
b2N1bWVudC5mb3JtMS50ZXh0MS5kaXNhYmxlZCA9IGZhbHNlOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBldmVudFNlbmRlci5r
ZXlEb3duKCd6Jyk7CisgICAgc2V0VGltZW91dChmaW5pc2hlZCwgNTAwKTsKK30KKworZnVuY3Rp
b24gZmluaXNoZWQoKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyku
aW5uZXJIVE1MCisgICAgICAgID0gIlRleHQgaXMgXCIiICsgZG9jdW1lbnQuZm9ybTEudGV4dDEu
dmFsdWUgKyAiXCIiOworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJhci1taXNzLW1vdXNlbW92ZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zY3JvbGxiYXJzL3Njcm9sbGJh
ci1taXNzLW1vdXNlbW92ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBA
QAorVGVzdCBmb3IgYnVnIDI3Mjg5OiBUaGlzIHRlc3RzIHRoYXQgbW91c2UgY2xpY2tzL3JlbGVh
c2VzIG9uIHNjcm9sbGJhcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgZXZlbiBpcyB0aGVyZSB3YXMg
bm8gbW91c2UgbW92ZSBvbnRvIHRoZSBzY3JvbGxiYXI7IHRoaXMgaXMgdGhlIGVuYWJsZWQgY29u
dHJvbCBjYXNlLiBPbiBzdWNjZXNzLCB0aGUgb2Zmc2V0IHNob3VsZCBiZSAwLgorCitTY3JvbGwg
b2Zmc2V0IGlzIDAKSW5kZXg6IExheW91dFRlc3RzL3Njcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3Mt
bW91c2Vtb3ZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9zY3Jv
bGxiYXItbWlzcy1tb3VzZW1vdmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Nj
cm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3MtbW91c2Vtb3ZlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzcgQEAKKzxodG1sPgorPGJvZHkgc3R5bGU9Im1hcmdpbjowIj4KKzxzY3JpcHQ+Citp
ZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworfQor
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJvdmVyZmxvdyIgc3R5bGU9ImJvcmRlcjoycHggc29saWQgYmxh
Y2s7b3ZlcmZsb3c6YXV0bztoZWlnaHQ6NDAwcHg7d2lkdGg6NDAwcHg7IHBvc2l0aW9uOmFic29s
dXRlOyI+Cis8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmdyZWVuO2hlaWdodDoxMDAwcHgi
PjwvZGl2PgorPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZWQ7aGVpZ2h0OjEwMDBweCI+
PC9kaXY+Cis8L2Rpdj4KKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNzI4OSI+YnVnCisyNzI4OTwvYT46IFRoaXMgdGVzdHMgdGhh
dCBtb3VzZSBjbGlja3MvcmVsZWFzZXMgb24gc2Nyb2xsYmFycyBhcmUgaGFuZGxlZAorcHJvcGVy
bHkgZXZlbiBpcyB0aGVyZSB3YXMgbm8gbW91c2UgbW92ZSBvbnRvIHRoZSBzY3JvbGxiYXI7IHRo
aXMgaXMgdGhlCitlbmFibGVkIGNvbnRyb2wgY2FzZS4gT24gc3VjY2VzcywgdGhlIG9mZnNldCBz
aG91bGQgYmUgMC48cC8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitpZiAo
ZXZlbnRTZW5kZXIpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3ZlcmZsb3cnKS5z
dHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDM5MCwg
MTApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvdmVyZmxvdycpLnN0eWxlLmRpc3Bs
YXkgPSAiIjsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZVVwKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMzkwLCAzNTApOworICAgIHNl
dFRpbWVvdXQoZmluaXNoZWQsIDUwMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaGVkKCkKK3sKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmlubmVySFRNTAorICAgICAgICA9
ICJTY3JvbGwgb2Zmc2V0IGlzICIgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3ZlcmZsb3cn
KS5zY3JvbGxUb3A7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="17592"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>