<?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>28125</bug_id>
          
          <creation_ts>2009-08-09 05:23:21 -0700</creation_ts>
          <short_desc>[Haiku] Adding ScrollbarTheme to WebCore.</short_desc>
          <delta_ts>2009-08-12 13:23:22 -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>Other</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>0</everconfirmed>
          <reporter name="Maxime Simon">simon.maxime</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>leavengood</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>138482</commentid>
    <comment_count>0</comment_count>
    <who name="Maxime Simon">simon.maxime</who>
    <bug_when>2009-08-09 05:23:21 -0700</bug_when>
    <thetext>Patch to add the ScrollbarThemeHaiku.* files to WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138485</commentid>
    <comment_count>1</comment_count>
      <attachid>34410</attachid>
    <who name="Maxime Simon">simon.maxime</who>
    <bug_when>2009-08-09 05:28:42 -0700</bug_when>
    <thetext>Created attachment 34410
Patch to add the ScrollbarTheme files for Haiku.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138514</commentid>
    <comment_count>2</comment_count>
      <attachid>34410</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-09 08:00:41 -0700</bug_when>
    <thetext>Comment on attachment 34410
Patch to add the ScrollbarTheme files for Haiku.

I would have written:
         return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(),
 77                        scrollbar-&gt;width() &lt; 2 * thickness ? scrollbar-&gt;width() / 2 : thickness, thickness);
 78     return IntRect(scrollbar-&gt;x(), scrollbar-&gt;y(),
 79                    thickness, scrollbar-&gt;height() &lt; 2 * thickness ? scrollbar-&gt;height() / 2 : thickness);

As:

int buttonWidth(int scrollbarWidth, int thickness)
{
      return scrollbarWidth &lt; 2 * thickness ? scrollbarWidth / 2 : thickness;
}

IntPoint buttonOrigin(scrollbar-&gt;x(), scrollbar-&gt;y());
IntSize buttonSize = scrollbar-&gt;orientation() == HorizontalScrollbar
                                  ? IntSize(buttonWidth(scrollbar-&gt;width()), thickness)
                                  : IntSize(thickness, buttonWidth(scrollbar-&gt;width());
return IntRect(buttonOrigin, buttonSize);

That way you can re-use buttonWidth() on the next function too.

The code looks OK as is though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138885</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Leavengood">leavengood</who>
    <bug_when>2009-08-10 19:44:45 -0700</bug_when>
    <thetext>Maxime,

You should also add yourself above Apple in the copyright section of this code (and other code you have written or modified.)

Though since Eric alread r+ this, you can make some new patches later to fix up the copyrights. Or consider also making the change Eric suggested and make a new patch. It&apos;s up to you ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138940</commentid>
    <comment_count>4</comment_count>
      <attachid>34550</attachid>
    <who name="Maxime Simon">simon.maxime</who>
    <bug_when>2009-08-11 05:27:46 -0700</bug_when>
    <thetext>Created attachment 34550
Patch to add the ScrollbarTheme files for Haiku.

Make some changes as suggested by Eric and Ryan, even if the previous patches was r+. I also made some style cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138984</commentid>
    <comment_count>5</comment_count>
      <attachid>34564</attachid>
    <who name="Maxime Simon">simon.maxime</who>
    <bug_when>2009-08-11 09:12:37 -0700</bug_when>
    <thetext>Created attachment 34564
Patch to add the ScrollbarTheme files for Haiku.

Sorry, the previous had a mistake. I changed scrollbar-&gt;height() to scrollbar-&gt;width(), so it didn&apos;t display correctly the back button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139406</commentid>
    <comment_count>6</comment_count>
      <attachid>34564</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-12 10:35:15 -0700</bug_when>
    <thetext>Comment on attachment 34564
Patch to add the ScrollbarTheme files for Haiku.

I wouldn&apos;t have bothered to create this variable:

83     IntRect buttonRect(buttonOrigin, buttonSize);
 84 
 85     return buttonRect;

Looks fine though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139495</commentid>
    <comment_count>7</comment_count>
      <attachid>34564</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-12 13:23:19 -0700</bug_when>
    <thetext>Comment on attachment 34564
Patch to add the ScrollbarTheme files for Haiku.

Clearing flags on attachment: 34564

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	A	WebCore/platform/haiku/ScrollbarThemeHaiku.cpp
	A	WebCore/platform/haiku/ScrollbarThemeHaiku.h
Committed r47143
	M	WebCore/ChangeLog
	A	WebCore/platform/haiku/ScrollbarThemeHaiku.cpp
	A	WebCore/platform/haiku/ScrollbarThemeHaiku.h
r47143 = 1e5acb63da2fefd1e799f6c31987d9899a34e057 (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/47143</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139496</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-12 13:23:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34410</attachid>
            <date>2009-08-09 05:28:42 -0700</date>
            <delta_ts>2009-08-11 05:27:46 -0700</delta_ts>
            <desc>Patch to add the ScrollbarTheme files for Haiku.</desc>
            <filename>Adding-the-ScrollbarTheme-files.patch</filename>
            <type>text/plain</type>
            <size>10671</size>
            <attacher name="Maxime Simon">simon.maxime</attacher>
            
              <data encoding="base64">RnJvbSA2NTUwY2I0M2U5YWY2YjM4ZjExY2UzODM1NDc1M2IxNjlmMTQ4ZGYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgU2ltb24gPHNpbW9uLm1heGltZUBnbWFpbC5jb20+
CkRhdGU6IFN1biwgOSBBdWcgMjAwOSAxNDoyNjozOSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZGluZyB0aGUgU2Nyb2xsYmFyVGhlbWUgZmlsZXMuCgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIyICsrKysKIFdlYkNvcmUvcGxhdGZvcm0v
aGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5jcHAgfCAgMTU4ICsrKysrKysrKysrKysrKysrKysr
KysrKwogV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmggICB8ICAg
NTQgKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjM0IGluc2VydGlvbnMoKyksIDAgZGVsZXRp
b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9TY3JvbGxi
YXJUaGVtZUhhaWt1LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvcGxhdGZvcm0vaGFp
a3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMWJhMDQ4Li43ZTMzYjcwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBA
CisyMDA5LTA4LTA5ICBNYXhpbWUgU2ltb24gIDxzaW1vbi5tYXhpbWVAZ21haWwuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtIYWlrdV0gQWRk
aW5nIHRoZSBTY3JvbGxiYXJUaGVtZSBmaWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MTI1CisKKyAgICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9T
Y3JvbGxiYXJUaGVtZUhhaWt1LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxi
YXJUaGVtZTo6bmF0aXZlVGhlbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVI
YWlrdTo6U2Nyb2xsYmFyVGhlbWVIYWlrdSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJU
aGVtZUhhaWt1Ojp+U2Nyb2xsYmFyVGhlbWVIYWlrdSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUhhaWt1OjpzY3JvbGxiYXJUaGlja25lc3MpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWVIYWlrdTo6aGFzQnV0dG9ucyk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUhhaWt1OjpoYXNUaHVtYik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJU
aGVtZUhhaWt1OjpiYWNrQnV0dG9uUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJU
aGVtZUhhaWt1Ojpmb3J3YXJkQnV0dG9uUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxi
YXJUaGVtZUhhaWt1Ojp0cmFja1JlY3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWVIYWlrdTo6cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGJhclRoZW1lSGFpa3U6OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGJhclRoZW1lSGFpa3U6OnBhaW50VGh1bWIpOgorICAgICAgICAqIHBsYXRmb3JtL2hhaWt1L1Nj
cm9sbGJhclRoZW1lSGFpa3UuaDogQWRkZWQuCisKIDIwMDktMDgtMDggIERpbWl0cmkgR2xhemtv
diAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBm
aXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L1Njcm9sbGJhclRoZW1lSGFp
a3UuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNWJhZWI4Ci0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmNwcApAQCAt
MCwwICsxLDE1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVIYWlrdS5o
IgorCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyLmgi
CisKKyNpbmNsdWRlIDxDb250cm9sTG9vay5oPgorI2luY2x1ZGUgPEludGVyZmFjZURlZnMuaD4K
KworI2luY2x1ZGUgPHN0ZGlvLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU2Nyb2xsYmFy
VGhlbWUqIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpCit7CisgICAgc3RhdGljIFNjcm9s
bGJhclRoZW1lSGFpa3UgdGhlbWU7CisgICAgcmV0dXJuICZ0aGVtZTsKK30KKworU2Nyb2xsYmFy
VGhlbWVIYWlrdTo6U2Nyb2xsYmFyVGhlbWVIYWlrdSgpCit7Cit9CisKK1Njcm9sbGJhclRoZW1l
SGFpa3U6On5TY3JvbGxiYXJUaGVtZUhhaWt1KCkKK3sKK30KKworaW50IFNjcm9sbGJhclRoZW1l
SGFpa3U6OnNjcm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6
ZSkKK3sKKyAgICAvLyBGSVhNRTogU2hvdWxkIHdlIG1ha2UgYSBkaXN0aW5jdGlvbiBiZXR3ZWVu
IGEgU21hbGwgYW5kIGEgUmVndWxhciBTY3JvbGxiYXI/CisgICAgcmV0dXJuIDE2OworfQorCiti
b29sIFNjcm9sbGJhclRoZW1lSGFpa3U6Omhhc0J1dHRvbnMoU2Nyb2xsYmFyKiBzY3JvbGxiYXIp
Cit7CisgICAgcmV0dXJuIHNjcm9sbGJhci0+ZW5hYmxlZCgpOworfQorCitib29sIFNjcm9sbGJh
clRoZW1lSGFpa3U6Omhhc1RodW1iKFNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVy
biBzY3JvbGxiYXItPmVuYWJsZWQoKSAmJiB0aHVtYkxlbmd0aChzY3JvbGxiYXIpID4gMDsKK30K
KworSW50UmVjdCBTY3JvbGxiYXJUaGVtZUhhaWt1OjpiYWNrQnV0dG9uUmVjdChTY3JvbGxiYXIq
IHNjcm9sbGJhciwgU2Nyb2xsYmFyUGFydCBwYXJ0LCBib29sKQoreworICAgIGlmIChwYXJ0ID09
IEJhY2tCdXR0b25FbmRQYXJ0KQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOworCisgICAgaW50
IHRoaWNrbmVzcyA9IHNjcm9sbGJhclRoaWNrbmVzcygpOworICAgIGlmIChzY3JvbGxiYXItPm9y
aWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKKyAgICAgICAgcmV0dXJuIEludFJl
Y3Qoc2Nyb2xsYmFyLT54KCksIHNjcm9sbGJhci0+eSgpLAorICAgICAgICAgICAgICAgICAgICAg
ICBzY3JvbGxiYXItPndpZHRoKCkgPCAyICogdGhpY2tuZXNzID8gc2Nyb2xsYmFyLT53aWR0aCgp
IC8gMiA6IHRoaWNrbmVzcywgdGhpY2tuZXNzKTsKKyAgICByZXR1cm4gSW50UmVjdChzY3JvbGxi
YXItPngoKSwgc2Nyb2xsYmFyLT55KCksCisgICAgICAgICAgICAgICAgICAgdGhpY2tuZXNzLCBz
Y3JvbGxiYXItPmhlaWdodCgpIDwgMiAqIHRoaWNrbmVzcyA/IHNjcm9sbGJhci0+aGVpZ2h0KCkg
LyAyIDogdGhpY2tuZXNzKTsKK30KKworSW50UmVjdCBTY3JvbGxiYXJUaGVtZUhhaWt1Ojpmb3J3
YXJkQnV0dG9uUmVjdChTY3JvbGxiYXIqIHNjcm9sbGJhciwgU2Nyb2xsYmFyUGFydCBwYXJ0LCBi
b29sKQoreworICAgIGlmIChwYXJ0ID09IEJhY2tCdXR0b25TdGFydFBhcnQpCisgICAgICAgIHJl
dHVybiBJbnRSZWN0KCk7CisKKyAgICBpbnQgdGhpY2tuZXNzID0gc2Nyb2xsYmFyVGhpY2tuZXNz
KCk7CisgICAgaWYgKHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xs
YmFyKSB7CisgICAgICAgIGludCB3ID0gc2Nyb2xsYmFyLT53aWR0aCgpIDwgMiAqIHRoaWNrbmVz
cyA/IHNjcm9sbGJhci0+d2lkdGgoKSAvIDIgOiB0aGlja25lc3M7CisgICAgICAgIHJldHVybiBJ
bnRSZWN0KHNjcm9sbGJhci0+eCgpICsgc2Nyb2xsYmFyLT53aWR0aCgpIC0gdywgc2Nyb2xsYmFy
LT55KCksIHcsIHRoaWNrbmVzcyk7CisgICAgfQorICAgIAorICAgIGludCBoID0gc2Nyb2xsYmFy
LT5oZWlnaHQoKSA8IDIgKiB0aGlja25lc3MgPyBzY3JvbGxiYXItPmhlaWdodCgpIC8gMiA6IHRo
aWNrbmVzczsKKyAgICByZXR1cm4gSW50UmVjdChzY3JvbGxiYXItPngoKSwgc2Nyb2xsYmFyLT55
KCkgKyBzY3JvbGxiYXItPmhlaWdodCgpIC0gaCwgdGhpY2tuZXNzLCBoKTsKK30KKworSW50UmVj
dCBTY3JvbGxiYXJUaGVtZUhhaWt1Ojp0cmFja1JlY3QoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGJv
b2wpCit7CisgICAgaW50IHRoaWNrbmVzcyA9IHNjcm9sbGJhclRoaWNrbmVzcygpOworICAgIGlm
IChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgeworICAg
ICAgICBpZiAoc2Nyb2xsYmFyLT53aWR0aCgpIDwgMiAqIHRoaWNrbmVzcykKKyAgICAgICAgICAg
IHJldHVybiBJbnRSZWN0KCk7CisgICAgICAgIHJldHVybiBJbnRSZWN0KHNjcm9sbGJhci0+eCgp
ICsgdGhpY2tuZXNzLCBzY3JvbGxiYXItPnkoKSwgc2Nyb2xsYmFyLT53aWR0aCgpIC0gMiAqIHRo
aWNrbmVzcywgdGhpY2tuZXNzKTsKKyAgICB9CisgICAgaWYgKHNjcm9sbGJhci0+aGVpZ2h0KCkg
PCAyICogdGhpY2tuZXNzKQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOworICAgIHJldHVybiBJ
bnRSZWN0KHNjcm9sbGJhci0+eCgpLCBzY3JvbGxiYXItPnkoKSArIHRoaWNrbmVzcywgdGhpY2tu
ZXNzLCBzY3JvbGxiYXItPmhlaWdodCgpIC0gMiAqIHRoaWNrbmVzcyk7Cit9CisKK3ZvaWQgU2Ny
b2xsYmFyVGhlbWVIYWlrdTo6cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgaWYgKCFiZV9jb250cm9s
X2xvb2spCisgICAgICAgIHJldHVybjsKKworICAgIEJSZWN0IHJlY3QgPSB0cmFja1JlY3Qoc2Ny
b2xsYmFyLCBmYWxzZSk7CisgICAgb3JpZW50YXRpb24gc2Nyb2xsYmFyT3JpZW50YXRpb24gPSBz
Y3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhciA/IEJfSE9SSVpP
TlRBTCA6IEJfVkVSVElDQUw7CisKKyAgICBiZV9jb250cm9sX2xvb2stPkRyYXdTY3JvbGxCYXJC
YWNrZ3JvdW5kKGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByZWN0LCByZWN0LCB1aV9jb2xv
cihCX1BBTkVMX0JBQ0tHUk9VTkRfQ09MT1IpLCAwLCBzY3JvbGxiYXJPcmllbnRhdGlvbik7Cit9
CisKK3ZvaWQgU2Nyb2xsYmFyVGhlbWVIYWlrdTo6cGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCwgU2Ny
b2xsYmFyUGFydCBwYXJ0KQoreworICAgIGlmICghYmVfY29udHJvbF9sb29rKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBCUmVjdCBkcmF3UmVjdCA9IEJSZWN0KHJlY3QpOworICAgIEJWaWV3KiB2
aWV3ID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAgcmdiX2NvbG9yIHBhbmVsQmdD
b2xvciA9IHVpX2NvbG9yKEJfUEFORUxfQkFDS0dST1VORF9DT0xPUik7CisgICAgcmdiX2NvbG9y
IGJ1dHRvbkJnQ29sb3IgPSB0aW50X2NvbG9yKHBhbmVsQmdDb2xvciwgQl9MSUdIVEVOXzFfVElO
VCk7CisKKyAgICBiZV9jb250cm9sX2xvb2stPkRyYXdCdXR0b25GcmFtZSh2aWV3LCBkcmF3UmVj
dCwgZHJhd1JlY3QsIGJ1dHRvbkJnQ29sb3IsIHBhbmVsQmdDb2xvcik7CisgICAgYmVfY29udHJv
bF9sb29rLT5EcmF3QnV0dG9uQmFja2dyb3VuZCh2aWV3LCBkcmF3UmVjdCwgZHJhd1JlY3QsIGJ1
dHRvbkJnQ29sb3IpOworCisgICAgaW50IGFycm93RGlyZWN0aW9uOworICAgIGlmIChzY3JvbGxi
YXItPm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWxTY3JvbGxiYXIpCisgICAgICAgIGFycm93RGly
ZWN0aW9uID0gcGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0ID8gQkNvbnRyb2xMb29rOjpCX1VQ
X0FSUk9XIDogQkNvbnRyb2xMb29rOjpCX0RPV05fQVJST1c7CisgICAgZWxzZQorICAgICAgICBh
cnJvd0RpcmVjdGlvbiA9IHBhcnQgPT0gQmFja0J1dHRvblN0YXJ0UGFydCA/IEJDb250cm9sTG9v
azo6Ql9MRUZUX0FSUk9XIDogQkNvbnRyb2xMb29rOjpCX1JJR0hUX0FSUk9XOworCisgICAgYmVf
Y29udHJvbF9sb29rLT5EcmF3QXJyb3dTaGFwZSh2aWV3LCBkcmF3UmVjdCwgZHJhd1JlY3QsIHVp
X2NvbG9yKEJfQ09OVFJPTF9URVhUX0NPTE9SKSwgYXJyb3dEaXJlY3Rpb24pOworfQorCit2b2lk
IFNjcm9sbGJhclRoZW1lSGFpa3U6OnBhaW50VGh1bWIoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIGlmICghYmVfY29udHJv
bF9sb29rKQorICAgICAgICByZXR1cm47CisKKyAgICBCUmVjdCBkcmF3UmVjdCA9IEJSZWN0KHJl
Y3QpOworICAgIEJWaWV3KiB2aWV3ID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAg
cmdiX2NvbG9yIHBhbmVsQmdDb2xvciA9IHVpX2NvbG9yKEJfUEFORUxfQkFDS0dST1VORF9DT0xP
Uik7CisgICAgcmdiX2NvbG9yIGJ1dHRvbkJnQ29sb3IgPSB0aW50X2NvbG9yKHBhbmVsQmdDb2xv
ciwgQl9MSUdIVEVOXzFfVElOVCk7CisKKyAgICBiZV9jb250cm9sX2xvb2stPkRyYXdCdXR0b25G
cmFtZSh2aWV3LCBkcmF3UmVjdCwgZHJhd1JlY3QsIGJ1dHRvbkJnQ29sb3IsIHBhbmVsQmdDb2xv
cik7CisgICAgYmVfY29udHJvbF9sb29rLT5EcmF3QnV0dG9uQmFja2dyb3VuZCh2aWV3LCBkcmF3
UmVjdCwgZHJhd1JlY3QsIGJ1dHRvbkJnQ29sb3IpOworfQorCit9CisKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vaGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uOWIxYTg2MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
aGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBTY3JvbGxiYXJUaGVt
ZUhhaWt1X2gKKyNkZWZpbmUgU2Nyb2xsYmFyVGhlbWVIYWlrdV9oCisKKyNpbmNsdWRlICJTY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgY2xhc3Mg
U2Nyb2xsYmFyOworCitjbGFzcyBTY3JvbGxiYXJUaGVtZUhhaWt1IDogcHVibGljIFNjcm9sbGJh
clRoZW1lQ29tcG9zaXRlIHsKK3B1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZUhhaWt1KCk7Cisg
ICAgdmlydHVhbCB+U2Nyb2xsYmFyVGhlbWVIYWlrdSgpOworCisgICAgdmlydHVhbCBpbnQgc2Ny
b2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplID0gUmVndWxhclNjcm9sbGJhcik7
CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQnV0dG9ucyhTY3JvbGxiYXIqKTsKKyAgICB2aXJ0dWFs
IGJvb2wgaGFzVGh1bWIoU2Nyb2xsYmFyKik7IAorCisgICAgdmlydHVhbCBJbnRSZWN0IGJhY2tC
dXR0b25SZWN0KFNjcm9sbGJhciosIFNjcm9sbGJhclBhcnQsIGJvb2wgcGFpbnRpbmcpOworICAg
IHZpcnR1YWwgSW50UmVjdCBmb3J3YXJkQnV0dG9uUmVjdChTY3JvbGxiYXIqLCBTY3JvbGxiYXJQ
YXJ0LCBib29sIHBhaW50aW5nKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgdHJhY2tSZWN0KFNjcm9s
bGJhciosIGJvb2wgcGFpbnRpbmcpOworCisgICAgdmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsYmFy
QmFja2dyb3VuZChHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqKTsKKyAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVj
dCYsIFNjcm9sbGJhclBhcnQpOworICAgIHZpcnR1YWwgdm9pZCBwYWludFRodW1iKEdyYXBoaWNz
Q29udGV4dCosIFNjcm9sbGJhciosIGNvbnN0IEludFJlY3QmKTsKK307CisKK30KKyNlbmRpZgot
LSAKMS42LjMuMgoK
</data>
<flag name="review"
          id="18589"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34550</attachid>
            <date>2009-08-11 05:27:46 -0700</date>
            <delta_ts>2009-08-11 09:12:37 -0700</delta_ts>
            <desc>Patch to add the ScrollbarTheme files for Haiku.</desc>
            <filename>Adding-the-ScrollbarTheme-files.patch</filename>
            <type>text/plain</type>
            <size>11020</size>
            <attacher name="Maxime Simon">simon.maxime</attacher>
            
              <data encoding="base64">RnJvbSA1MmEwMjc4NDg0NGU5Y2ZhMzZiNzVmNDg1YmZjM2I5ZjhlMzc5MDJlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgU2ltb24gPHNpbW9uLm1heGltZUBnbWFpbC5jb20+
CkRhdGU6IFR1ZSwgMTEgQXVnIDIwMDkgMTQ6MTY6MTcgKzAyMDAKU3ViamVjdDogW1BBVENIXSBB
ZGRpbmcgdGhlIFNjcm9sbGJhclRoZW1lIGZpbGVzLgoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMyArKysrCiBXZWJDb3JlL3BsYXRmb3Jt
L2hhaWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuY3BwIHwgIDE2NCArKysrKysrKysrKysrKysrKysr
KysrKysKIFdlYkNvcmUvcGxhdGZvcm0vaGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oICAgfCAg
IDU1ICsrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI0MiBpbnNlcnRpb25zKCspLCAwIGRlbGV0
aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvcGxhdGZvcm0vaGFpa3UvU2Nyb2xs
YmFyVGhlbWVIYWlrdS5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL3BsYXRmb3JtL2hh
aWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuaAoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAyNTVjMy4uMGY4ZDdlZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAwOS0wOC0xMSAgTWF4aW1lIFNpbW9uICA8c2ltb24ubWF4aW1lQGdtYWlsLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbSGFpa3VdIEFk
ZGluZyB0aGUgU2Nyb2xsYmFyVGhlbWUgZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODEyNQorCisgICAgICAgICogcGxhdGZvcm0vaGFpa3Uv
U2Nyb2xsYmFyVGhlbWVIYWlrdS5jcHA6IEFkZGVkLgorICAgICAgICAoYnV0dG9uV2lkdGgpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSGFpa3U6OlNjcm9sbGJhclRoZW1lSGFpa3UpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6flNjcm9sbGJhclRoZW1lSGFpa3Up
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6c2Nyb2xsYmFyVGhpY2tu
ZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSGFpa3U6Omhhc0J1dHRvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6aGFzVGh1bWIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6YmFja0J1dHRvblJlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6Zm9yd2FyZEJ1dHRvblJlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6dHJhY2tSZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSGFpa3U6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3Vu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUhhaWt1OjpwYWludEJ1dHRvbik6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUhhaWt1OjpwYWludFRodW1iKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1Lmg6IEFkZGVkLgorCiAy
MDA5LTA4LTExICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKGJ1aWxkIGZpeCkuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2hhaWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5iZTFmOWNkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmNwcApAQCAtMCwwICsxLDE2NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgMjAwOSBNYXhpbWUgU2ltb24gPHNpbW9uLm1heGltZUBnbWFpbC5jb20+IEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVIYWlrdS5o
IgorCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyLmgi
CisjaW5jbHVkZSA8Q29udHJvbExvb2suaD4KKyNpbmNsdWRlIDxJbnRlcmZhY2VEZWZzLmg+CisK
KworaW50IGJ1dHRvbldpZHRoKGludCBzY3JvbGxiYXJXaWR0aCwgaW50IHRoaWNrbmVzcykKK3sK
KyAgICByZXR1cm4gc2Nyb2xsYmFyV2lkdGggPCAyICogdGhpY2tuZXNzID8gc2Nyb2xsYmFyV2lk
dGggLyAyIDogdGhpY2tuZXNzOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Njcm9sbGJh
clRoZW1lKiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKQoreworICAgIHN0YXRpYyBTY3Jv
bGxiYXJUaGVtZUhhaWt1IHRoZW1lOworICAgIHJldHVybiAmdGhlbWU7Cit9CisKK1Njcm9sbGJh
clRoZW1lSGFpa3U6OlNjcm9sbGJhclRoZW1lSGFpa3UoKQoreworfQorCitTY3JvbGxiYXJUaGVt
ZUhhaWt1Ojp+U2Nyb2xsYmFyVGhlbWVIYWlrdSgpCit7Cit9CisKK2ludCBTY3JvbGxiYXJUaGVt
ZUhhaWt1OjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNp
emUpCit7CisgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBtYWtlIGEgZGlzdGluY3Rpb24gYmV0d2Vl
biBhIFNtYWxsIGFuZCBhIFJlZ3VsYXIgU2Nyb2xsYmFyPworICAgIHJldHVybiAxNjsKK30KKwor
Ym9vbCBTY3JvbGxiYXJUaGVtZUhhaWt1OjpoYXNCdXR0b25zKFNjcm9sbGJhciogc2Nyb2xsYmFy
KQoreworICAgIHJldHVybiBzY3JvbGxiYXItPmVuYWJsZWQoKTsKK30KKworYm9vbCBTY3JvbGxi
YXJUaGVtZUhhaWt1OjpoYXNUaHVtYihTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1
cm4gc2Nyb2xsYmFyLT5lbmFibGVkKCkgJiYgdGh1bWJMZW5ndGgoc2Nyb2xsYmFyKSA+IDA7Cit9
CisKK0ludFJlY3QgU2Nyb2xsYmFyVGhlbWVIYWlrdTo6YmFja0J1dHRvblJlY3QoU2Nyb2xsYmFy
KiBzY3JvbGxiYXIsIFNjcm9sbGJhclBhcnQgcGFydCwgYm9vbCkKK3sKKyAgICBpZiAocGFydCA9
PSBCYWNrQnV0dG9uRW5kUGFydCkKKyAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKKworICAgIGlu
dCB0aGlja25lc3MgPSBzY3JvbGxiYXJUaGlja25lc3MoKTsKKyAgICBJbnRQb2ludCBidXR0b25P
cmlnaW4oc2Nyb2xsYmFyLT54KCksIHNjcm9sbGJhci0+eSgpKTsKKyAgICBJbnRTaXplIGJ1dHRv
blNpemUgPSBzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcgor
ICAgICAgICA/IEludFNpemUoYnV0dG9uV2lkdGgoc2Nyb2xsYmFyLT53aWR0aCgpLCB0aGlja25l
c3MpLCB0aGlja25lc3MpCisgICAgICAgIDogSW50U2l6ZSh0aGlja25lc3MsIGJ1dHRvbldpZHRo
KHNjcm9sbGJhci0+d2lkdGgoKSwgdGhpY2tuZXNzKSk7CisgICAgSW50UmVjdCBidXR0b25SZWN0
KGJ1dHRvbk9yaWdpbiwgYnV0dG9uU2l6ZSk7CisKKyAgICByZXR1cm4gYnV0dG9uUmVjdDsKK30K
KworSW50UmVjdCBTY3JvbGxiYXJUaGVtZUhhaWt1Ojpmb3J3YXJkQnV0dG9uUmVjdChTY3JvbGxi
YXIqIHNjcm9sbGJhciwgU2Nyb2xsYmFyUGFydCBwYXJ0LCBib29sKQoreworICAgIGlmIChwYXJ0
ID09IEJhY2tCdXR0b25TdGFydFBhcnQpCisgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CisKKyAg
ICBpbnQgdGhpY2tuZXNzID0gc2Nyb2xsYmFyVGhpY2tuZXNzKCk7CisgICAgaWYgKHNjcm9sbGJh
ci0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKSB7CisgICAgICAgIGludCB3
aWR0aCA9IGJ1dHRvbldpZHRoKHNjcm9sbGJhci0+d2lkdGgoKSwgdGhpY2tuZXNzKTsKKyAgICAg
ICAgcmV0dXJuIEludFJlY3Qoc2Nyb2xsYmFyLT54KCkgKyBzY3JvbGxiYXItPndpZHRoKCkgLSB3
aWR0aCwgc2Nyb2xsYmFyLT55KCksIHdpZHRoLCB0aGlja25lc3MpOworICAgIH0KKworICAgIGlu
dCBoZWlnaHQgPSBidXR0b25XaWR0aChzY3JvbGxiYXItPmhlaWdodCgpLCB0aGlja25lc3MpOwor
ICAgIHJldHVybiBJbnRSZWN0KHNjcm9sbGJhci0+eCgpLCBzY3JvbGxiYXItPnkoKSArIHNjcm9s
bGJhci0+aGVpZ2h0KCkgLSBoZWlnaHQsIHRoaWNrbmVzcywgaGVpZ2h0KTsKK30KKworSW50UmVj
dCBTY3JvbGxiYXJUaGVtZUhhaWt1Ojp0cmFja1JlY3QoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGJv
b2wpCit7CisgICAgaW50IHRoaWNrbmVzcyA9IHNjcm9sbGJhclRoaWNrbmVzcygpOworICAgIGlm
IChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgeworICAg
ICAgICBpZiAoc2Nyb2xsYmFyLT53aWR0aCgpIDwgMiAqIHRoaWNrbmVzcykKKyAgICAgICAgICAg
IHJldHVybiBJbnRSZWN0KCk7CisgICAgICAgIHJldHVybiBJbnRSZWN0KHNjcm9sbGJhci0+eCgp
ICsgdGhpY2tuZXNzLCBzY3JvbGxiYXItPnkoKSwgc2Nyb2xsYmFyLT53aWR0aCgpIC0gMiAqIHRo
aWNrbmVzcywgdGhpY2tuZXNzKTsKKyAgICB9CisgICAgaWYgKHNjcm9sbGJhci0+aGVpZ2h0KCkg
PCAyICogdGhpY2tuZXNzKQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOworICAgIHJldHVybiBJ
bnRSZWN0KHNjcm9sbGJhci0+eCgpLCBzY3JvbGxiYXItPnkoKSArIHRoaWNrbmVzcywgdGhpY2tu
ZXNzLCBzY3JvbGxiYXItPmhlaWdodCgpIC0gMiAqIHRoaWNrbmVzcyk7Cit9CisKK3ZvaWQgU2Ny
b2xsYmFyVGhlbWVIYWlrdTo6cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgaWYgKCFiZV9jb250cm9s
X2xvb2spCisgICAgICAgIHJldHVybjsKKworICAgIEJSZWN0IHJlY3QgPSB0cmFja1JlY3Qoc2Ny
b2xsYmFyLCBmYWxzZSk7CisgICAgb3JpZW50YXRpb24gc2Nyb2xsYmFyT3JpZW50YXRpb24gPSBz
Y3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhciA/IEJfSE9SSVpP
TlRBTCA6IEJfVkVSVElDQUw7CisKKyAgICBiZV9jb250cm9sX2xvb2stPkRyYXdTY3JvbGxCYXJC
YWNrZ3JvdW5kKGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCByZWN0LCByZWN0LCB1aV9jb2xv
cihCX1BBTkVMX0JBQ0tHUk9VTkRfQ09MT1IpLCAwLCBzY3JvbGxiYXJPcmllbnRhdGlvbik7Cit9
CisKK3ZvaWQgU2Nyb2xsYmFyVGhlbWVIYWlrdTo6cGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCwgU2Ny
b2xsYmFyUGFydCBwYXJ0KQoreworICAgIGlmICghYmVfY29udHJvbF9sb29rKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBCUmVjdCBkcmF3UmVjdCA9IEJSZWN0KHJlY3QpOworICAgIEJWaWV3KiB2
aWV3ID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAgcmdiX2NvbG9yIHBhbmVsQmdD
b2xvciA9IHVpX2NvbG9yKEJfUEFORUxfQkFDS0dST1VORF9DT0xPUik7CisgICAgcmdiX2NvbG9y
IGJ1dHRvbkJnQ29sb3IgPSB0aW50X2NvbG9yKHBhbmVsQmdDb2xvciwgQl9MSUdIVEVOXzFfVElO
VCk7CisKKyAgICBiZV9jb250cm9sX2xvb2stPkRyYXdCdXR0b25GcmFtZSh2aWV3LCBkcmF3UmVj
dCwgZHJhd1JlY3QsIGJ1dHRvbkJnQ29sb3IsIHBhbmVsQmdDb2xvcik7CisgICAgYmVfY29udHJv
bF9sb29rLT5EcmF3QnV0dG9uQmFja2dyb3VuZCh2aWV3LCBkcmF3UmVjdCwgZHJhd1JlY3QsIGJ1
dHRvbkJnQ29sb3IpOworCisgICAgaW50IGFycm93RGlyZWN0aW9uOworICAgIGlmIChzY3JvbGxi
YXItPm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWxTY3JvbGxiYXIpCisgICAgICAgIGFycm93RGly
ZWN0aW9uID0gcGFydCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0ID8gQkNvbnRyb2xMb29rOjpCX1VQ
X0FSUk9XIDogQkNvbnRyb2xMb29rOjpCX0RPV05fQVJST1c7CisgICAgZWxzZQorICAgICAgICBh
cnJvd0RpcmVjdGlvbiA9IHBhcnQgPT0gQmFja0J1dHRvblN0YXJ0UGFydCA/IEJDb250cm9sTG9v
azo6Ql9MRUZUX0FSUk9XIDogQkNvbnRyb2xMb29rOjpCX1JJR0hUX0FSUk9XOworCisgICAgYmVf
Y29udHJvbF9sb29rLT5EcmF3QXJyb3dTaGFwZSh2aWV3LCBkcmF3UmVjdCwgZHJhd1JlY3QsIHVp
X2NvbG9yKEJfQ09OVFJPTF9URVhUX0NPTE9SKSwgYXJyb3dEaXJlY3Rpb24pOworfQorCit2b2lk
IFNjcm9sbGJhclRoZW1lSGFpa3U6OnBhaW50VGh1bWIoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIGlmICghYmVfY29udHJv
bF9sb29rKQorICAgICAgICByZXR1cm47CisKKyAgICBCUmVjdCBkcmF3UmVjdCA9IEJSZWN0KHJl
Y3QpOworICAgIEJWaWV3KiB2aWV3ID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCk7CisgICAg
cmdiX2NvbG9yIHBhbmVsQmdDb2xvciA9IHVpX2NvbG9yKEJfUEFORUxfQkFDS0dST1VORF9DT0xP
Uik7CisgICAgcmdiX2NvbG9yIGJ1dHRvbkJnQ29sb3IgPSB0aW50X2NvbG9yKHBhbmVsQmdDb2xv
ciwgQl9MSUdIVEVOXzFfVElOVCk7CisKKyAgICBiZV9jb250cm9sX2xvb2stPkRyYXdCdXR0b25G
cmFtZSh2aWV3LCBkcmF3UmVjdCwgZHJhd1JlY3QsIGJ1dHRvbkJnQ29sb3IsIHBhbmVsQmdDb2xv
cik7CisgICAgYmVfY29udHJvbF9sb29rLT5EcmF3QnV0dG9uQmFja2dyb3VuZCh2aWV3LCBkcmF3
UmVjdCwgZHJhd1JlY3QsIGJ1dHRvbkJnQ29sb3IpOworfQorCit9CisKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vaGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMThlMmNjMAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
aGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJp
Z2h0IDIwMDkgTWF4aW1lIFNpbW9uIDxzaW1vbi5tYXhpbWVAZ21haWwuY29tPiBBbGwgUmlnaHRz
IFJlc2VydmVkCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aWZuZGVmIFNjcm9sbGJhclRoZW1lSGFpa3VfaAorI2RlZmluZSBTY3JvbGxiYXJUaGVtZUhhaWt1
X2gKKworI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKyAgICBjbGFzcyBTY3JvbGxiYXI7CisKKyAgICBjbGFzcyBTY3JvbGxiYXJUaGVt
ZUhhaWt1IDogcHVibGljIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIHsKKyAgICAgICAgcHVibGlj
OgorICAgICAgICAgICAgU2Nyb2xsYmFyVGhlbWVIYWlrdSgpOworICAgICAgICAgICAgdmlydHVh
bCB+U2Nyb2xsYmFyVGhlbWVIYWlrdSgpOworCisgICAgICAgICAgICB2aXJ0dWFsIGludCBzY3Jv
bGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUgPSBSZWd1bGFyU2Nyb2xsYmFyKTsK
KworICAgICAgICAgICAgdmlydHVhbCBib29sIGhhc0J1dHRvbnMoU2Nyb2xsYmFyKik7CisgICAg
ICAgICAgICB2aXJ0dWFsIGJvb2wgaGFzVGh1bWIoU2Nyb2xsYmFyKik7CisKKyAgICAgICAgICAg
IHZpcnR1YWwgSW50UmVjdCBiYWNrQnV0dG9uUmVjdChTY3JvbGxiYXIqLCBTY3JvbGxiYXJQYXJ0
LCBib29sIHBhaW50aW5nKTsKKyAgICAgICAgICAgIHZpcnR1YWwgSW50UmVjdCBmb3J3YXJkQnV0
dG9uUmVjdChTY3JvbGxiYXIqLCBTY3JvbGxiYXJQYXJ0LCBib29sIHBhaW50aW5nKTsKKyAgICAg
ICAgICAgIHZpcnR1YWwgSW50UmVjdCB0cmFja1JlY3QoU2Nyb2xsYmFyKiwgYm9vbCBwYWludGlu
Zyk7CisKKyAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBwYWludFNjcm9sbGJhckJhY2tncm91bmQo
R3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKik7CisgICAgICAgICAgICB2aXJ0dWFsIHZvaWQg
cGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYs
IFNjcm9sbGJhclBhcnQpOworICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBhaW50VGh1bWIoR3Jh
cGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOworICAgIH07CisKK30K
KyNlbmRpZgotLSAKMS42LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34564</attachid>
            <date>2009-08-11 09:12:37 -0700</date>
            <delta_ts>2009-08-12 13:23:19 -0700</delta_ts>
            <desc>Patch to add the ScrollbarTheme files for Haiku.</desc>
            <filename>Adding-the-ScrollbarTheme-files.patch</filename>
            <type>text/plain</type>
            <size>11021</size>
            <attacher name="Maxime Simon">simon.maxime</attacher>
            
              <data encoding="base64">RnJvbSA1MmEwMjc4NDg0NGU5Y2ZhMzZiNzVmNDg1YmZjM2I5ZjhlMzc5MDJlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgU2ltb24gPHNpbW9uLm1heGltZUBnbWFpbC5jb20+
CkRhdGU6IFR1ZSwgMTEgQXVnIDIwMDkgMTQ6MTY6MTcgKzAyMDAKU3ViamVjdDogW1BBVENIXSBB
ZGRpbmcgdGhlIFNjcm9sbGJhclRoZW1lIGZpbGVzLgoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMyArKysrCiBXZWJDb3JlL3BsYXRmb3Jt
L2hhaWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuY3BwIHwgIDE2NCArKysrKysrKysrKysrKysrKysr
KysrKysKIFdlYkNvcmUvcGxhdGZvcm0vaGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oICAgfCAg
IDU1ICsrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI0MiBpbnNlcnRpb25zKCspLCAwIGRlbGV0
aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvcGxhdGZvcm0vaGFpa3UvU2Nyb2xs
YmFyVGhlbWVIYWlrdS5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL3BsYXRmb3JtL2hh
aWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuaAoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAyNTVjMy4uMGY4ZDdlZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAwOS0wOC0xMSAgTWF4aW1lIFNpbW9uICA8c2ltb24ubWF4aW1lQGdtYWlsLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbSGFpa3VdIEFk
ZGluZyB0aGUgU2Nyb2xsYmFyVGhlbWUgZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODEyNQorCisgICAgICAgICogcGxhdGZvcm0vaGFpa3Uv
U2Nyb2xsYmFyVGhlbWVIYWlrdS5jcHA6IEFkZGVkLgorICAgICAgICAoYnV0dG9uV2lkdGgpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSGFpa3U6OlNjcm9sbGJhclRoZW1lSGFpa3UpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6flNjcm9sbGJhclRoZW1lSGFpa3Up
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6c2Nyb2xsYmFyVGhpY2tu
ZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSGFpa3U6Omhhc0J1dHRvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6aGFzVGh1bWIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6YmFja0J1dHRvblJlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6Zm9yd2FyZEJ1dHRvblJlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVIYWlrdTo6dHJhY2tSZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSGFpa3U6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3Vu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUhhaWt1OjpwYWludEJ1dHRvbik6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUhhaWt1OjpwYWludFRodW1iKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1Lmg6IEFkZGVkLgorCiAy
MDA5LTA4LTExICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKGJ1aWxkIGZpeCkuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2hhaWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5iZTFmOWNkCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9oYWlrdS9TY3JvbGxiYXJUaGVtZUhhaWt1LmNwcApAQCAtMCwwICsxLDE2NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgMjAwOSBNYXhpbWUgU2ltb24gPHNpbW9uLm1heGltZUBnbWFpbC5jb20+IEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVIYWlrdS5o
IgorCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyLmgi
CisjaW5jbHVkZSA8Q29udHJvbExvb2suaD4KKyNpbmNsdWRlIDxJbnRlcmZhY2VEZWZzLmg+CisK
KworaW50IGJ1dHRvbldpZHRoKGludCBzY3JvbGxiYXJXaWR0aCwgaW50IHRoaWNrbmVzcykKK3sK
KyAgICByZXR1cm4gc2Nyb2xsYmFyV2lkdGggPCAyICogdGhpY2tuZXNzID8gc2Nyb2xsYmFyV2lk
dGggLyAyIDogdGhpY2tuZXNzOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Njcm9sbGJh
clRoZW1lKiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKQoreworICAgIHN0YXRpYyBTY3Jv
bGxiYXJUaGVtZUhhaWt1IHRoZW1lOworICAgIHJldHVybiAmdGhlbWU7Cit9CisKK1Njcm9sbGJh
clRoZW1lSGFpa3U6OlNjcm9sbGJhclRoZW1lSGFpa3UoKQoreworfQorCitTY3JvbGxiYXJUaGVt
ZUhhaWt1Ojp+U2Nyb2xsYmFyVGhlbWVIYWlrdSgpCit7Cit9CisKK2ludCBTY3JvbGxiYXJUaGVt
ZUhhaWt1OjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNp
emUpCit7CisgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBtYWtlIGEgZGlzdGluY3Rpb24gYmV0d2Vl
biBhIFNtYWxsIGFuZCBhIFJlZ3VsYXIgU2Nyb2xsYmFyPworICAgIHJldHVybiAxNjsKK30KKwor
Ym9vbCBTY3JvbGxiYXJUaGVtZUhhaWt1OjpoYXNCdXR0b25zKFNjcm9sbGJhciogc2Nyb2xsYmFy
KQoreworICAgIHJldHVybiBzY3JvbGxiYXItPmVuYWJsZWQoKTsKK30KKworYm9vbCBTY3JvbGxi
YXJUaGVtZUhhaWt1OjpoYXNUaHVtYihTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1
cm4gc2Nyb2xsYmFyLT5lbmFibGVkKCkgJiYgdGh1bWJMZW5ndGgoc2Nyb2xsYmFyKSA+IDA7Cit9
CisKK0ludFJlY3QgU2Nyb2xsYmFyVGhlbWVIYWlrdTo6YmFja0J1dHRvblJlY3QoU2Nyb2xsYmFy
KiBzY3JvbGxiYXIsIFNjcm9sbGJhclBhcnQgcGFydCwgYm9vbCkKK3sKKyAgICBpZiAocGFydCA9
PSBCYWNrQnV0dG9uRW5kUGFydCkKKyAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKKworICAgIGlu
dCB0aGlja25lc3MgPSBzY3JvbGxiYXJUaGlja25lc3MoKTsKKyAgICBJbnRQb2ludCBidXR0b25P
cmlnaW4oc2Nyb2xsYmFyLT54KCksIHNjcm9sbGJhci0+eSgpKTsKKyAgICBJbnRTaXplIGJ1dHRv
blNpemUgPSBzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcgor
ICAgICAgICA/IEludFNpemUoYnV0dG9uV2lkdGgoc2Nyb2xsYmFyLT53aWR0aCgpLCB0aGlja25l
c3MpLCB0aGlja25lc3MpCisgICAgICAgIDogSW50U2l6ZSh0aGlja25lc3MsIGJ1dHRvbldpZHRo
KHNjcm9sbGJhci0+aGVpZ2h0KCksIHRoaWNrbmVzcykpOworICAgIEludFJlY3QgYnV0dG9uUmVj
dChidXR0b25PcmlnaW4sIGJ1dHRvblNpemUpOworCisgICAgcmV0dXJuIGJ1dHRvblJlY3Q7Cit9
CisKK0ludFJlY3QgU2Nyb2xsYmFyVGhlbWVIYWlrdTo6Zm9yd2FyZEJ1dHRvblJlY3QoU2Nyb2xs
YmFyKiBzY3JvbGxiYXIsIFNjcm9sbGJhclBhcnQgcGFydCwgYm9vbCkKK3sKKyAgICBpZiAocGFy
dCA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0KQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOworCisg
ICAgaW50IHRoaWNrbmVzcyA9IHNjcm9sbGJhclRoaWNrbmVzcygpOworICAgIGlmIChzY3JvbGxi
YXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikgeworICAgICAgICBpbnQg
d2lkdGggPSBidXR0b25XaWR0aChzY3JvbGxiYXItPndpZHRoKCksIHRoaWNrbmVzcyk7CisgICAg
ICAgIHJldHVybiBJbnRSZWN0KHNjcm9sbGJhci0+eCgpICsgc2Nyb2xsYmFyLT53aWR0aCgpIC0g
d2lkdGgsIHNjcm9sbGJhci0+eSgpLCB3aWR0aCwgdGhpY2tuZXNzKTsKKyAgICB9CisKKyAgICBp
bnQgaGVpZ2h0ID0gYnV0dG9uV2lkdGgoc2Nyb2xsYmFyLT5oZWlnaHQoKSwgdGhpY2tuZXNzKTsK
KyAgICByZXR1cm4gSW50UmVjdChzY3JvbGxiYXItPngoKSwgc2Nyb2xsYmFyLT55KCkgKyBzY3Jv
bGxiYXItPmhlaWdodCgpIC0gaGVpZ2h0LCB0aGlja25lc3MsIGhlaWdodCk7Cit9CisKK0ludFJl
Y3QgU2Nyb2xsYmFyVGhlbWVIYWlrdTo6dHJhY2tSZWN0KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBi
b29sKQoreworICAgIGludCB0aGlja25lc3MgPSBzY3JvbGxiYXJUaGlja25lc3MoKTsKKyAgICBp
ZiAoc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXIpIHsKKyAg
ICAgICAgaWYgKHNjcm9sbGJhci0+d2lkdGgoKSA8IDIgKiB0aGlja25lc3MpCisgICAgICAgICAg
ICByZXR1cm4gSW50UmVjdCgpOworICAgICAgICByZXR1cm4gSW50UmVjdChzY3JvbGxiYXItPngo
KSArIHRoaWNrbmVzcywgc2Nyb2xsYmFyLT55KCksIHNjcm9sbGJhci0+d2lkdGgoKSAtIDIgKiB0
aGlja25lc3MsIHRoaWNrbmVzcyk7CisgICAgfQorICAgIGlmIChzY3JvbGxiYXItPmhlaWdodCgp
IDwgMiAqIHRoaWNrbmVzcykKKyAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKKyAgICByZXR1cm4g
SW50UmVjdChzY3JvbGxiYXItPngoKSwgc2Nyb2xsYmFyLT55KCkgKyB0aGlja25lc3MsIHRoaWNr
bmVzcywgc2Nyb2xsYmFyLT5oZWlnaHQoKSAtIDIgKiB0aGlja25lc3MpOworfQorCit2b2lkIFNj
cm9sbGJhclRoZW1lSGFpa3U6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIFNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIGlmICghYmVfY29udHJv
bF9sb29rKQorICAgICAgICByZXR1cm47CisKKyAgICBCUmVjdCByZWN0ID0gdHJhY2tSZWN0KHNj
cm9sbGJhciwgZmFsc2UpOworICAgIG9yaWVudGF0aW9uIHNjcm9sbGJhck9yaWVudGF0aW9uID0g
c2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXIgPyBCX0hPUkla
T05UQUwgOiBCX1ZFUlRJQ0FMOworCisgICAgYmVfY29udHJvbF9sb29rLT5EcmF3U2Nyb2xsQmFy
QmFja2dyb3VuZChjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgcmVjdCwgcmVjdCwgdWlfY29s
b3IoQl9QQU5FTF9CQUNLR1JPVU5EX0NPTE9SKSwgMCwgc2Nyb2xsYmFyT3JpZW50YXRpb24pOwor
fQorCit2b2lkIFNjcm9sbGJhclRoZW1lSGFpa3U6OnBhaW50QnV0dG9uKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHJlY3QsIFNj
cm9sbGJhclBhcnQgcGFydCkKK3sKKyAgICBpZiAoIWJlX2NvbnRyb2xfbG9vaykKKyAgICAgICAg
cmV0dXJuOworCisgICAgQlJlY3QgZHJhd1JlY3QgPSBCUmVjdChyZWN0KTsKKyAgICBCVmlldyog
dmlldyA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpOworICAgIHJnYl9jb2xvciBwYW5lbEJn
Q29sb3IgPSB1aV9jb2xvcihCX1BBTkVMX0JBQ0tHUk9VTkRfQ09MT1IpOworICAgIHJnYl9jb2xv
ciBidXR0b25CZ0NvbG9yID0gdGludF9jb2xvcihwYW5lbEJnQ29sb3IsIEJfTElHSFRFTl8xX1RJ
TlQpOworCisgICAgYmVfY29udHJvbF9sb29rLT5EcmF3QnV0dG9uRnJhbWUodmlldywgZHJhd1Jl
Y3QsIGRyYXdSZWN0LCBidXR0b25CZ0NvbG9yLCBwYW5lbEJnQ29sb3IpOworICAgIGJlX2NvbnRy
b2xfbG9vay0+RHJhd0J1dHRvbkJhY2tncm91bmQodmlldywgZHJhd1JlY3QsIGRyYXdSZWN0LCBi
dXR0b25CZ0NvbG9yKTsKKworICAgIGludCBhcnJvd0RpcmVjdGlvbjsKKyAgICBpZiAoc2Nyb2xs
YmFyLT5vcmllbnRhdGlvbigpID09IFZlcnRpY2FsU2Nyb2xsYmFyKQorICAgICAgICBhcnJvd0Rp
cmVjdGlvbiA9IHBhcnQgPT0gQmFja0J1dHRvblN0YXJ0UGFydCA/IEJDb250cm9sTG9vazo6Ql9V
UF9BUlJPVyA6IEJDb250cm9sTG9vazo6Ql9ET1dOX0FSUk9XOworICAgIGVsc2UKKyAgICAgICAg
YXJyb3dEaXJlY3Rpb24gPSBwYXJ0ID09IEJhY2tCdXR0b25TdGFydFBhcnQgPyBCQ29udHJvbExv
b2s6OkJfTEVGVF9BUlJPVyA6IEJDb250cm9sTG9vazo6Ql9SSUdIVF9BUlJPVzsKKworICAgIGJl
X2NvbnRyb2xfbG9vay0+RHJhd0Fycm93U2hhcGUodmlldywgZHJhd1JlY3QsIGRyYXdSZWN0LCB1
aV9jb2xvcihCX0NPTlRST0xfVEVYVF9DT0xPUiksIGFycm93RGlyZWN0aW9uKTsKK30KKwordm9p
ZCBTY3JvbGxiYXJUaGVtZUhhaWt1OjpwYWludFRodW1iKEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBpZiAoIWJlX2NvbnRy
b2xfbG9vaykKKyAgICAgICAgcmV0dXJuOworCisgICAgQlJlY3QgZHJhd1JlY3QgPSBCUmVjdChy
ZWN0KTsKKyAgICBCVmlldyogdmlldyA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpOworICAg
IHJnYl9jb2xvciBwYW5lbEJnQ29sb3IgPSB1aV9jb2xvcihCX1BBTkVMX0JBQ0tHUk9VTkRfQ09M
T1IpOworICAgIHJnYl9jb2xvciBidXR0b25CZ0NvbG9yID0gdGludF9jb2xvcihwYW5lbEJnQ29s
b3IsIEJfTElHSFRFTl8xX1RJTlQpOworCisgICAgYmVfY29udHJvbF9sb29rLT5EcmF3QnV0dG9u
RnJhbWUodmlldywgZHJhd1JlY3QsIGRyYXdSZWN0LCBidXR0b25CZ0NvbG9yLCBwYW5lbEJnQ29s
b3IpOworICAgIGJlX2NvbnRyb2xfbG9vay0+RHJhd0J1dHRvbkJhY2tncm91bmQodmlldywgZHJh
d1JlY3QsIGRyYXdSZWN0LCBidXR0b25CZ0NvbG9yKTsKK30KKworfQorCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2hhaWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vaGFpa3UvU2Nyb2xsYmFyVGhlbWVIYWlrdS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjE4ZTJjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2hhaWt1L1Njcm9sbGJhclRoZW1lSGFpa3UuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHly
aWdodCAyMDA5IE1heGltZSBTaW1vbiA8c2ltb24ubWF4aW1lQGdtYWlsLmNvbT4gQWxsIFJpZ2h0
cyBSZXNlcnZlZAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmbmRlZiBTY3JvbGxiYXJUaGVtZUhhaWt1X2gKKyNkZWZpbmUgU2Nyb2xsYmFyVGhlbWVIYWlr
dV9oCisKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisgICAgY2xhc3MgU2Nyb2xsYmFyOworCisgICAgY2xhc3MgU2Nyb2xsYmFyVGhl
bWVIYWlrdSA6IHB1YmxpYyBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSB7CisgICAgICAgIHB1Ymxp
YzoKKyAgICAgICAgICAgIFNjcm9sbGJhclRoZW1lSGFpa3UoKTsKKyAgICAgICAgICAgIHZpcnR1
YWwgflNjcm9sbGJhclRoZW1lSGFpa3UoKTsKKworICAgICAgICAgICAgdmlydHVhbCBpbnQgc2Ny
b2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplID0gUmVndWxhclNjcm9sbGJhcik7
CisKKyAgICAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNCdXR0b25zKFNjcm9sbGJhciopOworICAg
ICAgICAgICAgdmlydHVhbCBib29sIGhhc1RodW1iKFNjcm9sbGJhciopOworCisgICAgICAgICAg
ICB2aXJ0dWFsIEludFJlY3QgYmFja0J1dHRvblJlY3QoU2Nyb2xsYmFyKiwgU2Nyb2xsYmFyUGFy
dCwgYm9vbCBwYWludGluZyk7CisgICAgICAgICAgICB2aXJ0dWFsIEludFJlY3QgZm9yd2FyZEJ1
dHRvblJlY3QoU2Nyb2xsYmFyKiwgU2Nyb2xsYmFyUGFydCwgYm9vbCBwYWludGluZyk7CisgICAg
ICAgICAgICB2aXJ0dWFsIEludFJlY3QgdHJhY2tSZWN0KFNjcm9sbGJhciosIGJvb2wgcGFpbnRp
bmcpOworCisgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5k
KEdyYXBoaWNzQ29udGV4dCosIFNjcm9sbGJhciopOworICAgICAgICAgICAgdmlydHVhbCB2b2lk
IHBhaW50QnV0dG9uKEdyYXBoaWNzQ29udGV4dCosIFNjcm9sbGJhciosIGNvbnN0IEludFJlY3Qm
LCBTY3JvbGxiYXJQYXJ0KTsKKyAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBwYWludFRodW1iKEdy
YXBoaWNzQ29udGV4dCosIFNjcm9sbGJhciosIGNvbnN0IEludFJlY3QmKTsKKyAgICB9OworCit9
CisjZW5kaWYKLS0gCjEuNi40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>