<?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>30245</bug_id>
          
          <creation_ts>2009-10-09 00:15:41 -0700</creation_ts>
          <short_desc>[Chromium] Decoration of &quot;search&quot; input field is wrongly rendered</short_desc>
          <delta_ts>2010-03-06 04:26:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>0</everconfirmed>
          <reporter name="Yuta Kitamura">yutak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153621</commentid>
    <comment_count>0</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2009-10-09 00:15:41 -0700</bug_when>
    <thetext>In LayoutTests/fast/forms/search-transformed.html, Chromium renders decoration of &quot;search&quot; input field (loupe icon and close button) at wrong position.

This is caused due to a bug in WebCore/rendering/RenderThemeChromiumSkia.cpp.

Chromium bug:
Layout Test failure: type=search input has disappearing (x)
http://code.google.com/p/chromium/issues/detail?id=20439</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153622</commentid>
    <comment_count>1</comment_count>
      <attachid>40933</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2009-10-09 00:20:42 -0700</bug_when>
    <thetext>Created attachment 40933
Fix decoration position in search input field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153623</commentid>
    <comment_count>2</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2009-10-09 00:22:48 -0700</bug_when>
    <thetext>FYI: Patch and try result can also be viewed from:
http://codereview.chromium.org/269030/show</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153694</commentid>
    <comment_count>3</comment_count>
      <attachid>40933</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-09 09:20:58 -0700</bug_when>
    <thetext>Comment on attachment 40933
Fix decoration position in search input field.

Where can I see the resulting rendered image of the new search box?

Style:
 154         IntRect calcParentBoxOfSearchFieldItem(RenderObject* o, const IntRect&amp; r);

calc is a strange abbreviation.  Normally we use full english words, although &quot;calc&quot; might be OK.

Again, full words are generally preferred over letters:
 392     IntRect bounds = r;


You&apos;re trying to get the content rect of the parent box in the grandparent&apos;s coordinates?  I feel like there is an easier way to do that...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154278</commentid>
    <comment_count>4</comment_count>
      <attachid>41087</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2009-10-12 23:19:53 -0700</bug_when>
    <thetext>Created attachment 41087
Screenshot of current and fixed rendering</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154280</commentid>
    <comment_count>5</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2009-10-12 23:31:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 40933 [details])
&gt; Where can I see the resulting rendered image of the new search box?

Uploaded.

&gt; 
&gt; Style:
&gt;  154         IntRect calcParentBoxOfSearchFieldItem(RenderObject* o, const
&gt; IntRect&amp; r);
&gt; 
&gt; calc is a strange abbreviation.  Normally we use full english words, although
&gt; &quot;calc&quot; might be OK.
&gt; 

Sure. I&apos;ll update the patch accordingly.

&gt; Again, full words are generally preferred over letters:
&gt;  392     IntRect bounds = r;
&gt; 
&gt; 
&gt; You&apos;re trying to get the content rect of the parent box in the grandparent&apos;s
&gt; coordinates?  I feel like there is an easier way to do that...

We need to find the *drawing position* of parent box. Since the coordinate is relative to the current layer (created by -webkit-transform), it&apos;s not same as the absolute position. I tried to find more adequate way to calculate this but I could not. Suggestions are welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154991</commentid>
    <comment_count>6</comment_count>
      <attachid>41262</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2009-10-15 21:06:59 -0700</bug_when>
    <thetext>Created attachment 41262
Fix decoration position in search input field. (Fixed function name)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155579</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-18 23:12:11 -0700</bug_when>
    <thetext>This patch seems reasonable, but it involves drawing to the screen, which I know nothing about.  Eric, would you be willing to have another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155691</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-19 08:39:52 -0700</bug_when>
    <thetext>You may already be familiar with this, but this is the box model to which I refer:
http://www.w3.org/TR/CSS21/box.html

Most of those accessors are available on RenderObject or RenderBoxModelObject.

I still don&apos;t really like r and o for names.  Particularly r, because it doesn&apos;t tell me anythign about what coordinate system the rect your passing in should be in.

damageRectInLocalCoords would be a much better name if it happens to be the damage rect in content box coordinates relative to &quot;o&quot;.  I&apos;d have to stare harder to figure out what you&apos;re actually trying to do here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158053</commentid>
    <comment_count>9</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2009-10-26 18:17:54 -0700</bug_when>
    <thetext>Thanks, I&apos;ll try to make another patch. Dropping r? flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184962</commentid>
    <comment_count>10</comment_count>
      <attachid>47502</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-01-26 23:27:18 -0800</bug_when>
    <thetext>Created attachment 47502
Fix decoration position in search input field. (v3: Totally rewritten)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186591</commentid>
    <comment_count>11</comment_count>
      <attachid>47502</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-01 15:21:35 -0800</bug_when>
    <thetext>Comment on attachment 47502
Fix decoration position in search input field. (v3: Totally rewritten)

I don&apos;t understand why you&apos;re adding all the const declarations?  That&apos;s unrelated to this patch and should not be part of this.  WebKit seems to have mixed feelings on the value of const anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187296</commentid>
    <comment_count>12</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-02-03 01:44:04 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 47502 [details])
&gt; I don&apos;t understand why you&apos;re adding all the const declarations?  That&apos;s
&gt; unrelated to this patch and should not be part of this.  WebKit seems to have
&gt; mixed feelings on the value of const anyway.

It&apos;s because the first argument of RenderThemeChromiumSkia::convertToPaintingRect 
is marked as const. The signature of this function is originally taken from
RenderThemeMac::convertToPaintingRect, whose first argument is also marked as
const.

I can certainly strip away these consts, but, to be honest, I really think
there is no reason to leave the arguments of offsetContainer non-const.
I believe it&apos;s common and important in C++ to distinguish const pointer variables
from non-const ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187299</commentid>
    <comment_count>13</comment_count>
      <attachid>48005</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-02-03 02:48:30 -0800</bug_when>
    <thetext>Created attachment 48005
Fix decoration position in search input field. (v4: removed consts)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191228</commentid>
    <comment_count>14</comment_count>
      <attachid>48005</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-17 14:41:52 -0800</bug_when>
    <thetext>Comment on attachment 48005
Fix decoration position in search input field. (v4: removed consts)

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192354</commentid>
    <comment_count>15</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-02-21 21:44:05 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 48005 [details])
&gt; OK.

Thank you for your review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196882</commentid>
    <comment_count>16</comment_count>
      <attachid>48005</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-06 04:26:14 -0800</bug_when>
    <thetext>Comment on attachment 48005
Fix decoration position in search input field. (v4: removed consts)

Clearing flags on attachment: 48005

Committed r55617: &lt;http://trac.webkit.org/changeset/55617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196883</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-06 04:26:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40933</attachid>
            <date>2009-10-09 00:20:42 -0700</date>
            <delta_ts>2009-10-15 21:06:54 -0700</delta_ts>
            <desc>Fix decoration position in search input field.</desc>
            <filename>bug-30245-20091009162040.patch</filename>
            <type>text/plain</type>
            <size>5271</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDY3Y2QyNy4uMTZkYThmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwOS0xMC0wOSAgWXV0YSBLaXRhbXVy
YSAgPHl1dGFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggZGVjb3JhdGlvbiBwb3NpdGlvbiBpbiBzZWFyY2ggaW5wdXQg
ZmllbGQuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHJlbmRlcmluZyBvZiBp
bnB1dCBmaWVsZCBvZiAic2VhcmNoIiB0eXBlLCB3aG9zZSBkZWNvcmF0aW9uCisgICAgICAgIChs
b3VwZSBpY29uIGFuZCBjbG9zZSBidXR0b24pIHdhcyB3cm9uZ2x5IHBvc2l0aW9uZWQgd2hlbiB0
aGUgaW5wdXQgZmllbGQgd2FzCisgICAgICAgIGNvbnRhaW5lZCBpbiBhIGJsb2NrIHdpdGggLXdl
YmtpdC10cmFuc2Zvcm0gcHJvcGVydHkuCisgICAgICAgIAorICAgICAgICBDaHJvbWl1bSBidWc6
IGh0dHA6Ly9jcmJ1Zy5jb20vMjA0MzkKKworICAgICAgICBbQ2hyb21pdW1dIERlY29yYXRpb24g
b2YgInNlYXJjaCIgaW5wdXQgZmllbGQgaXMgd3JvbmdseSByZW5kZXJlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyNDUKKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6Y2FsY1BhcmVudEJveE9mU2VhcmNoRmllbGRJdGVtKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZp
ZWxkQ2FuY2VsQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1T
a2lhOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKwogMjAw
OS0xMC0wOCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdp
bmRvd3MgYnVpbGQgZml4OiBhZGRlZCBtaXNzaW5nICNpbmNsdWRlLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCmluZGV4IDNhMzk0MjMuLmE0NzQ5ZjYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNw
cAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKQEAg
LTM3MiwxNiArMzcyLDI3IEBAIHZvaWQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OmFkanVzdFNl
YXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvCiAgICAgc3R5bGUtPnNl
dEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwgRml4ZWQpKTsKIH0KIAotYm9vbCBSZW5k
ZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbihSZW5kZXJP
YmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBpLCBjb25zdCBJbnRSZWN0
JiByKQorSW50UmVjdCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6Y2FsY1BhcmVudEJveE9mU2Vh
cmNoRmllbGRJdGVtKFJlbmRlck9iamVjdCogbywgY29uc3QgSW50UmVjdCYgcikKIHsKLSAgICBJ
bnRSZWN0IGJvdW5kcyA9IHI7CiAgICAgQVNTRVJUKG8tPnBhcmVudCgpKTsKLSAgICBpZiAoIW8t
PnBhcmVudCgpIHx8ICFvLT5wYXJlbnQoKS0+aXNCb3goKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGlmICghby0+aXNCb3goKSB8fCAhby0+cGFyZW50KCkgfHwgIW8tPnBhcmVudCgpLT5p
c0JveCgpKQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCisgICAgUmVuZGVyQm94KiByZW5k
ZXJCb3ggPSB0b1JlbmRlckJveChvKTsKICAgICBSZW5kZXJCb3gqIHBhcmVudFJlbmRlckJveCA9
IHRvUmVuZGVyQm94KG8tPnBhcmVudCgpKTsKIAotICAgIEludFJlY3QgcGFyZW50Qm94ID0gcGFy
ZW50UmVuZGVyQm94LT5hYnNvbHV0ZUNvbnRlbnRCb3goKTsKKyAgICBJbnRQb2ludCBwYXJlbnRC
b3hQb2ludCA9IHIubG9jYXRpb24oKTsKKyAgICBwYXJlbnRCb3hQb2ludC5tb3ZlKC1yZW5kZXJC
b3gtPngoKSwgLXJlbmRlckJveC0+eSgpKTsgIC8vIFJlc3RvcmUgcGFyZW50IGJveCdzIGxvY2F0
aW9uIGZyb20gci4KKyAgICBJbnRSZWN0IHBhcmVudEJveChwYXJlbnRCb3hQb2ludCwgcGFyZW50
UmVuZGVyQm94LT5jb250ZW50Qm94UmVjdCgpLnNpemUoKSk7CisgICAgcmV0dXJuIHBhcmVudEJv
eDsKK30KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZENh
bmNlbEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiBpLCBjb25zdCBJbnRSZWN0JiByKQoreworICAgIEludFJlY3QgYm91bmRzID0gcjsKKyAgICBJ
bnRSZWN0IHBhcmVudEJveCA9IGNhbGNQYXJlbnRCb3hPZlNlYXJjaEZpZWxkSXRlbShvLCByKTsK
KyAgICBpZiAocGFyZW50Qm94LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgYnV0dG9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBm
aXQgaW4gaXRzIHBhcmVudCdzIGJveAogICAgIGJvdW5kcy5zZXRIZWlnaHQoc3RkOjptaW4ocGFy
ZW50Qm94LndpZHRoKCksIHN0ZDo6bWluKHBhcmVudEJveC5oZWlnaHQoKSwgYm91bmRzLmhlaWdo
dCgpKSkpOwpAQCAtNDE3LDEzICs0MjgsMTAgQEAgdm9pZCBSZW5kZXJUaGVtZUNocm9taXVtU2tp
YTo6YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblN0eWxlKENTU1N0eWxlU2UKIGJv
b2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3Jh
dGlvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBpLCBj
b25zdCBJbnRSZWN0JiByKQogewogICAgIEludFJlY3QgYm91bmRzID0gcjsKLSAgICBBU1NFUlQo
by0+cGFyZW50KCkpOwotICAgIGlmICghby0+cGFyZW50KCkgfHwgIW8tPnBhcmVudCgpLT5pc0Jv
eCgpKQorICAgIEludFJlY3QgcGFyZW50Qm94ID0gY2FsY1BhcmVudEJveE9mU2VhcmNoRmllbGRJ
dGVtKG8sIHIpOworICAgIGlmIChwYXJlbnRCb3guaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBSZW5kZXJCb3gqIHBhcmVudFJlbmRlckJveCA9IHRvUmVuZGVyQm94KG8t
PnBhcmVudCgpKTsKLSAgICBJbnRSZWN0IHBhcmVudEJveCA9IHBhcmVudFJlbmRlckJveC0+YWJz
b2x1dGVDb250ZW50Qm94KCk7Ci0KICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNvcmF0
aW9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveAogICAgIGJv
dW5kcy5zZXRIZWlnaHQoc3RkOjptaW4ocGFyZW50Qm94LndpZHRoKCksIHN0ZDo6bWluKHBhcmVu
dEJveC5oZWlnaHQoKSwgYm91bmRzLmhlaWdodCgpKSkpOwogICAgIGJvdW5kcy5zZXRXaWR0aChi
b3VuZHMuaGVpZ2h0KCkpOwpAQCAtNDUxLDE1ICs0NTksMTAgQEAgdm9pZCBSZW5kZXJUaGVtZUNo
cm9taXVtU2tpYTo6YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uU3R5bGUoQ1NTU3R5bGVT
ZWxlY3QKIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8m
IGksIGNvbnN0IEludFJlY3QmIHIpCiB7CiAgICAgSW50UmVjdCBib3VuZHMgPSByOwotICAgIEFT
U0VSVChvLT5wYXJlbnQoKSk7Ci0gICAgaWYgKCFvLT5wYXJlbnQoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGlmICghby0+cGFyZW50KCkgfHwgIW8tPnBhcmVudCgpLT5pc0JveCgpKQor
ICAgIEludFJlY3QgcGFyZW50Qm94ID0gY2FsY1BhcmVudEJveE9mU2VhcmNoRmllbGRJdGVtKG8s
IHIpOworICAgIGlmIChwYXJlbnRCb3guaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBSZW5kZXJCb3gqIHBhcmVudFJlbmRlckJveCA9IHRvUmVuZGVyQm94KG8tPnBhcmVu
dCgpKTsKLSAgICBJbnRSZWN0IHBhcmVudEJveCA9IHBhcmVudFJlbmRlckJveC0+YWJzb2x1dGVD
b250ZW50Qm94KCk7Ci0KICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNvcmF0aW9uIHdp
bGwgZml0IGluIGl0cyBwYXJlbnQncyBib3gKICAgICBib3VuZHMuc2V0SGVpZ2h0KHN0ZDo6bWlu
KHBhcmVudEJveC5oZWlnaHQoKSwgYm91bmRzLmhlaWdodCgpKSk7CiAgICAgYm91bmRzLnNldFdp
ZHRoKHN0ZDo6bWluKHBhcmVudEJveC53aWR0aCgpLCBzdGF0aWNfY2FzdDxpbnQ+KGJvdW5kcy5o
ZWlnaHQoKSAqIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCAvIGRlZmF1bHRT
ZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSkpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCmluZGV4IDk4ZTNhMzUuLjNiZjUyMjMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaApAQCAtMTUxLDYgKzE1MSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcml2YXRlOgogICAgICAgICBpbnQgbWVudUxp
c3RJbnRlcm5hbFBhZGRpbmcoUmVuZGVyU3R5bGUqLCBpbnQgcGFkZGluZ1R5cGUpIGNvbnN0Owog
ICAgICAgICBib29sIHBhaW50TWVkaWFCdXR0b25JbnRlcm5hbChHcmFwaGljc0NvbnRleHQqLCBj
b25zdCBJbnRSZWN0JiwgSW1hZ2UqKTsKKyAgICAgICAgSW50UmVjdCBjYWxjUGFyZW50Qm94T2ZT
ZWFyY2hGaWVsZEl0ZW0oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBJbnRSZWN0JiByKTsKICAgICB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>41087</attachid>
            <date>2009-10-12 23:19:53 -0700</date>
            <delta_ts>2009-10-12 23:19:53 -0700</delta_ts>
            <desc>Screenshot of current and fixed rendering</desc>
            <filename>search-box-fix.png</filename>
            <type>image/png</type>
            <size>32567</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">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
eMULL4wcTu68887yK7RLvv/9M70Ba86cF8455zmzmHu7h02Yp2gY4JOffDpz+y1vmdHYgKWmhpq3
4oqzvAFLx+BHHx0dkKsEzavtSmYWCFWz56pFnlh77VztNdaYpXCj1mpg6SUvma6wpdvuAm5HVDsl
p7jJjBnPr7/+7CuvXKCBuoMPfnbChOk77TTyd0jofj2kJW+6acGaa876xCdG93PdqVG0179+xgUX
jL6UlKj+93/nmPvf/vYZ9iW20kqzfvrThv6l0Y+dh3UigAACJQWCAWvy5Ml2FW7Aeu6556699tr4
2k1s0s/8+fPXWWedPffcM7/8VVdd9dKXvrRkK72LffjDT++3X3YEa/78F9ZZZ/aee47c795212Cb
V3inWeDii5/70Y9GN2Rvv+1tM3T06rb93k1rJaH7u12/XT7UPB2et9oqNuQQQuu2Jd4euZKZXnur
2e1GSy5fbe0KNxov7ve+N1cji2Ylb33rDLunZVZrRrY0HKWBrvgWFYkef3zs5PX73jdTo1B6Suh+
u7bvfnfO8suPBazjjpv34hdPV9o2CyhFKf/ptPghhzz7xjfOsJ3SiOCyy449q1CDBRBAAIEhESg1
B8sNWNZF06e22267VVZZ5SMf+ciVV15p7j/55JOPPPLIn/zkJ5/4xCcWvSn/9OUvf/lHP/rRb37z
mxrKss899thjP/vZz77oRS/acsstd9hhB93/9NNPb7HFFj/84Q/XW2893TALK8l961vf2mWXXfba
a6/Xv/7111xzjVsVHZL33vuZnXd+Rn9Pa/zjnntGhgF0GHj5y6d/9KNPa4Ma37K3zzpr/pe/PFtn
On7wg7k6b/Kv/zrj/PNH/zQ/+eT5Rx457yc/edb++a589rGPjR0ztt567tVXLzCbtrd1kNb6t912
ZG0f+cjTt9wysnUNP+gYeeihI8HrlFPm/8d/zNRpF/NEHah0dkzhRiMWaomee9llIw3Ib9328cwz
52sIQSMHGns44YR5b3jDDB0pTTd//vNnNRY1b97Iwe/hh5/fbru5OrmjZmjcwjzd2zzdbwPWjTcu
UB91fkdDFzpqKqr+93+PdNkFtAdXs86nn35Bp670lPXWm60b5tFrr13wrW/NEexeez2j1uokVKin
rl6+195qhjZaUsbdW9zbVdXOXad6rYEi7UVf+crsAw8cTd5eClfbXcNDD42MYKkumQU0vKToo119
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
1VaLbEXN6F/l4i002+2qASU7VW2PvPhmEx/+8Id10fzQ5sbZtUMPPVRjn932pYx5t+vU8hEEu7au
+uu286qrrnrpS1/aQ6vG85Qy+1JJzK46XmbPMct0y5LfYUJ9LNmv8fDyXAQQQKAqgVJzsNyAZTes
ORbbbbfdKqusolNCds7NySeffOSRR+pLdT7xiU9oyZ/+9Kcvf/nL9XWE+j5BDSRkHs30QdM7dDZB
Z1v0NTuf/OQnTcBSmNNXGe6yyy577bWXvkD6mmuuufDCCw844ABtQl+2c9NNN2mZM888Uw+tu+66
uoi8Tl++4Q1v0KlMfVuiHtIfxyuuuKLO3Tz44IOKFP/93/+tOydNmvTlL395++231/ch6tTnf/zH
f5hv5tGPGrnxxhvrGz/WWGMNLaNhnssuuyzTznwDIiv0diqzwrykvjlbg0DLLrus6cV11133b//2
bxdddJFu5xcObT2D725UAUvOO++889vf/naNSZit6KeSrtnjZYXm+o4mnW384Q9/uN566+mG+aqA
CLvtrItw6aWXFu5LkXVm9t5jjz32s5/9rL6mUwMtO+ywg7bobWRmB9YAsHY8/f2gr5PSC0cvDf0l
o934i1/8olKpimJa7n1xldmX8i8x76ryhc6/0IS800476YWmr6468MADTcNCe44Fz7C4+0CoX27A
CvUx/taReUHxXwQQQKAJAj0GLH0DtI4uegvW35Q64CnfaJKv/iDWAcP0St/5av4M1bcTmsES76Mu
wWc+85nTTjtN92idb3vb2xSSdPuGG27QyjUlS98ju/XWW99+++3/8i//cskll+ghDYzpcGvW8F//
9V/2JOanP/3p//3f/zX3n3322SeeeKJu6HTn97//fWUv3das2/ct+rngggseeuihpZZaatNNNzXL
a+6IDn66oQ3pqxJ1eP773//uNlJZLd+AyAq9nXJX6JXUAsqa73nPe8ySotOXZ+uGd+HI1i2+u0Xd
1mFymWWWufzyyx955BEFLNP9qrpmj5dVmWt/UJjWIdYIKLtLNV5Ht78Wocy+FML07r1KS5qeaLYV
amRmozJXblas1/6s0bWvfvWr73rXu7SbzZw5U2leu5xeR6FdonBfyjfSuypvoTPt1J8ceh0p2atr
N954oxqmyVKhPSezd7ks7j4Q6pcbsLx9LHzryDSA/yKAAAJNEOgxYGmgSCNM+g5m/ey44456/9Uw
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
HOU3x5IIIIAAAggMlUBKAUvXutRlykcupHnweRdcd4/GVDRmo7nYmnelOKUThTqTpeKZk4a6R/eb
e+I/mmz0z//8z7feequ72E9/+lMNKelnk002MalLZyG33377zTbb7F//9V9150033bTsssu+973v
VbAzT9x7773f9773rbXWWtdff31+i4opH/zgB7XCVVdd9d5779UCq6222hJLLPGxj33s5JNPNiNY
2oT+/eQnP/nAAw9ogTlz5nz1q19daqmlNt1000ceeUT33HbbbSuttJKC41ve8pZ58+bZrey+++4v
felLNfymFupOTUfT7eWXX/73v/+9/nv33XcvvfTSZqNXXXXVl770pczW9V8hmCxlcpX919ypR0Ut
cLELXyVQIVSOIloeRwABBBBAYEgFkgxY2x56/qV//builYqmo75ODipOXXHFFbaGum1OGurRv/71
r1t3/tx8882Zau+6666vetWrtLwZ8Zo6daoGhDQlS9Fq3XXX1XQu3fnzn//89a9/vcbGdOdrXvOa
L3zhCzpxdvjhh+uGHtUYj6KSQo8SjJJTfm/SCtUqxZQDDjhgo402Mk9585vfbJZUwFJC+tGPfqSV
b7jhhopQuvOoo47acsstdUMN22effexiBx98cD44/su//IsZwdIm3vWud2ni1OzZs9/+9rfPnz9f
dx522GFqnhqskGeipLt1/Vcx0U6+yqQr3a9eaxmBi134BKwhfbeg2wgggAACpQWSDFg/PGKSDViK
GmeccYbilIKLws0zzzyjf3Vb95xyyikmiChR2YilvOXFufjii9/5znd+9rOfVYzQ5xA1aGQW0/DS
GmusYQKWBq7MnRpn+stf/qIb+rjiJz7xCd3QrK+PfvSjW221lSLRK1/5Sp2pdLdy7bXXvuc97zH3
aC75P/3TPymKZQKWwpBZQFnq+9//vm6svvrqn/vc57TO9dZbTwNXukc5TI30tt8GLE2letOb3qRn
6UeDbZdccolZfv3113/b296mrpn/ZgJWaATLnDfUo3qKCVjCJ2B5S8CdCCCAAAIIWIGUApadg7XT
ryefe809zzw7MjajMaf77rvvyCOPzHyKUP/dZZddNHfbdNWMY4XSlVlGAzyKPpdddtluu+22xRZb
mDtPP/30FVdcUTcUsL75zW+aOxWwbrjhBt2wAUvLKwZpOpf5MeNG9kfpzU6f1/UjNFqm4aVMwLKT
3JXVTMDSU3Ta0azQ5LnIXHgbsE477TSNYNmW6GypaYaymkbgTjrpJPPfTMC64447zAiWHvLOwdL9
Ahe78JmD5RaX2wgggAACCOQFUgpY9lOEu5x4wwnn//XxGXPN5+Y0GqRMoGChaKJ5V/pXc4923nln
ZSxFJTdjefcATW/SuNdIgHjmGZ2zmzZt2i233PL+979fo1Bav0LVIYccokfjAevss8/Wc3WtB+8m
NPajR++//349esIJJ+i0o2489thjGusym3aTkw1YmlC19tpr6yynXWckYCmNmcEqdUdnMDWM57bk
0EMP/frXv658+cY3vlFZKrN1/Vct936KUJFLWU2GohC42IXPpwh5K0EAAQQQQCAukFLAstfB2vWU
O/b/3ZU33vP4vPkjZwB17FfGUkR49NFHNXFK/+oKWIpcmlmljKUJ4DZjeS2OOOKIJZdc8tOf/rQm
rSvcmGUU1PQRP00w17k5c83SeMDSAnvsscdrX/vaVVZZ5cMf/rAGwzLbUq56wxveoItBaHjJzoLX
ZCxNP9cwmDdgzZo1S6NiSmZap5npFQlYmg2mMbCf/OQnWuz//u//9Cydu9S8K53ju/HGGz/0oQ9p
zEwPaT6ZpmGZaft266apSmbe62DpnKYeFbXAxS58roPF2woCCCCAAALtCVjuldz3PeWmkybd9uAT
c+Y/NzLVXRlL5wo1UKRJV/pXPxoZ0ufmfvzjH++4446KXHEF5TN91C5zTQetITQiFVqbuaZ86FG1
yp6ws8soipnZ+qEfBSMlrTL7sZa0c78EohGywitjZbaeuZK7TiMaASGLWuBi50ruZWrBMggggAAC
Qy6Q0giWSuV+F+FP/nDDudfc+9CTc03GyvwoW5iMddddd2lGVGHUGPL9INJ98QpZ1ALnuwjZTxBA
AAEEECgjkFjA0iDWYzPnX3vP06dc9ejh59//04k3Trz87lunzZg+e743ZpUhYJmQgEgFK14hi1rg
Yhe+SsAXEbLbIIAAAgggEBFILGCpJ27G0oDKT06/7bD/u+XMq+67/LbHrr9n+l/unXHD1Jn8jlNA
jMIUqWDFK2RRk654K0EAAQQQQKCkQHoBy81Y+sIWTQna/dS79j71doWAn5858vuLs27nd5wCRlKk
ghWvkEXN2FXJFxWLIYAAAgggkGTAshlL39Zy+nWPaXBFFw4Y+Y5CfYsOv9UJiFSw4hWyqDkzyPsF
AggggAACJQVSDVgmY2nO+12PzJ1858yzrn9cQyz6gjx+KxQQqWDFK2RRM++q5IuKxRBAAAEEEEg4
YJnimZila5DqOu8aZeG3QgGRCpZoxdsEAggggAAC3QokH7C67TDLI4AAAggggAAC/RYgYPVbmPUj
gAACCCCAwNAJELCGruR0GAEEEEAAAQT6LUDA6rcw60cAAQQQQACBoRMgYA1dyekwAggggAACCPRb
gIDVb2HWjwACCCCAAAJDJ0DAGrqS02EEEEAAAQQQ6LcAAavfwqwfAQQQQAABBIZOgIA1dCWnwwgg
gAACCCDQbwECVr+FWT8CCCCAAAIIDJ0AAWvoSk6HEUAAAQQQQKDfAhUErOnTp0da+fTTT99///1a
YNasWc8++6y7ZOShfneb9SOAAAIIIIAAAv0TCAasc845Z+mll54wYcIaa6yx4YYbrrrqquuss84l
l1ySb4oWuP322/P3T5s2TU/cYostdthhh0996lMf+MAHrr76arNY5KH+dZU1I4AAAggggAACgxGI
jWAddthhClgmFb3wwgtbb731S17ykosuusht2Z133vmiF71o8803zzf385///Prrr2/u19O/9rWv
nXrqqea/kYcG0222ggACCCCAAAII9E8gFrCOP/54BaxrrrnGbP6OO+7Qf7/zne+4rdHo1DbbbPOa
17xG5/syrfzwop/58+eb+x955JGjjz7a3I481L+usmYEEEAAAQQQQGAwAl0ErEsvvVQBa88997Qt
mzt3rvKWktMSSyxx8MEHZ1p8wAEHaPkVVljh4YcfLv/QYLrNVhBAAAEEEEAAgf4JlA1YylIrr7zy
m970pvvuu8+25phjjpk0aZL++8UvfvHf//3fdR7Qbejs2bM1PUsZ63Wve93EiRNLPtS/rrJmBBBA
AAEEEEBgMALFAWullVZStNJJPQ1W3XPPPW6zlKtMqLrwwgsVpM4777xMoxcuXLjffvu97GUv0zwt
DWi5j0YeGkzP2QoCCCCAAAIIINAngeKAZedgZVpw5ZVXLr/88vsv+tl3332VotZcc01vK2+44YZ3
vetdSmAnnnhiZoHIQ33qMKtFAAEEEEAAAQT6LdB7wPr617/+pz/96fLFP9/61rc0THXXXXeZFuvT
hU8++aRt/U033aSA9bnPfS7+UL97y/oRQAABBBBAAIEBCMQC1nHHHed+itBtzeOPP67LYrn33H33
3QpYW221lbnzuuuu23HHHd0F3v3ud2vCe/yhAXSYTSCAAAIIIIAAAv0WiAUs8zHAP/7xj/lG7L33
3kcccUTm/mWXXXbJJZc0A1f699WvfrVillnmgQceePGLX3zQQQfFH+p3b1k/AggggAACCCAwAIFg
wDrrrLOWWmopBSxdhF2nAt2m/OY3v9GFrzSCde+999r7zz//fDPRau211zbXZXjf+9634oor6kru
SmO6rRua2G6Wjzw0gD6zCQQQQAABBBBAoK8CFXwXYah9Tz31lB7S9R1uvfVWXbLBXSzyUF97y8oR
QAABBBBAAIEBCPQxYA2g9WwCAQQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEE
EGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frR
egQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQ
tgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkI
IIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAA
AauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBA
AAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr
7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAAC
CCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FF
oUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQ
aKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6
BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2
AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgg
gAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAAB
q4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAA
AQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt
+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAII
IJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWh
SQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBo
oAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoE
EEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYA
ASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCA
AAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGr
gUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAAB
BBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+36
0XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAggg
kLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJ
CCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGig
AAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQ
QAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgAB
K+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAA
AgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauB
RaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEE
EGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frR
egQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQ
tgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkI
IIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAA
AauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBA
AAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr
7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAAC
CCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FF
oUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQ
aKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6
BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2
AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgg
gAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAAB
q4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAA
AQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt
+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAII
IJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWh
SQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBo
oAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoE
EEAAAQQQaKAAAauBRaFJCCCAAAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYA
ASvt+tF6BBBAAAEEEGigAAGrgUWhSQgggAACCCCQtgABK+360XoEEEAAAQQQaKAAAauBRaFJCCCA
AAIIIJC2AAEr7frRegQQQAABBBBooAABq4FFoUkIIIAAAgggkLYAASvt+tF6BBBAAAEEEGigwP8H
6mYah4xS6z0AAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41262</attachid>
            <date>2009-10-15 21:06:59 -0700</date>
            <delta_ts>2010-01-26 23:27:12 -0800</delta_ts>
            <desc>Fix decoration position in search input field. (Fixed function name)</desc>
            <filename>bug-30245-20091016130657.patch</filename>
            <type>text/plain</type>
            <size>5288</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDY4MTM5OS4uMzE5OGQ5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwOS0xMC0xNiAgWXV0YSBLaXRhbXVy
YSAgPHl1dGFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggZGVjb3JhdGlvbiBwb3NpdGlvbiBpbiBzZWFyY2ggaW5wdXQg
ZmllbGQuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHJlbmRlcmluZyBvZiBp
bnB1dCBmaWVsZCBvZiAic2VhcmNoIiB0eXBlLCB3aG9zZSBkZWNvcmF0aW9uCisgICAgICAgIChs
b3VwZSBpY29uIGFuZCBjbG9zZSBidXR0b24pIHdhcyB3cm9uZ2x5IHBvc2l0aW9uZWQgd2hlbiB0
aGUgaW5wdXQgZmllbGQgd2FzCisgICAgICAgIGNvbnRhaW5lZCBpbiBhIGJsb2NrIHdpdGggLXdl
YmtpdC10cmFuc2Zvcm0gcHJvcGVydHkuCisgICAgICAgIAorICAgICAgICBDaHJvbWl1bSBidWc6
IGh0dHA6Ly9jcmJ1Zy5jb20vMjA0MzkKKworICAgICAgICBbQ2hyb21pdW1dIERlY29yYXRpb24g
b2YgInNlYXJjaCIgaW5wdXQgZmllbGQgaXMgd3JvbmdseSByZW5kZXJlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyNDUKKworICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6Y2FsY3VsYXRlUGFyZW50Qm94T2ZTZWFyY2hGaWVsZEl0
ZW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2Vh
cmNoRmllbGRDYW5jZWxCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJv
bWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNC
dXR0b24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oOgor
CiAyMDA5LTEwLTE1ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBObyByZXZpZXcsIHJvbGxpbmcgb3V0IHI0OTY0NC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAppbmRleCBmYjQyYmI3Li40MWQ0YzlhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCkBAIC0zNzIsMTYg
KzM3MiwyNyBAQCB2b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjphZGp1c3RTZWFyY2hGaWVs
ZENhbmNlbEJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0bwogICAgIHN0eWxlLT5zZXRIZWlnaHQo
TGVuZ3RoKGNhbmNlbEJ1dHRvblNpemUsIEZpeGVkKSk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVD
aHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVuZGVyT2JqZWN0KiBv
LCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgaSwgY29uc3QgSW50UmVjdCYgcikKK0lu
dFJlY3QgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OmNhbGN1bGF0ZVBhcmVudEJveE9mU2VhcmNo
RmllbGRJdGVtKFJlbmRlck9iamVjdCogbywgY29uc3QgSW50UmVjdCYgcikKIHsKLSAgICBJbnRS
ZWN0IGJvdW5kcyA9IHI7CiAgICAgQVNTRVJUKG8tPnBhcmVudCgpKTsKLSAgICBpZiAoIW8tPnBh
cmVudCgpIHx8ICFvLT5wYXJlbnQoKS0+aXNCb3goKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmICghby0+aXNCb3goKSB8fCAhby0+cGFyZW50KCkgfHwgIW8tPnBhcmVudCgpLT5pc0Jv
eCgpKQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCisgICAgUmVuZGVyQm94KiByZW5kZXJC
b3ggPSB0b1JlbmRlckJveChvKTsKICAgICBSZW5kZXJCb3gqIHBhcmVudFJlbmRlckJveCA9IHRv
UmVuZGVyQm94KG8tPnBhcmVudCgpKTsKIAotICAgIEludFJlY3QgcGFyZW50Qm94ID0gcGFyZW50
UmVuZGVyQm94LT5hYnNvbHV0ZUNvbnRlbnRCb3goKTsKKyAgICBJbnRQb2ludCBwYXJlbnRCb3hQ
b2ludCA9IHIubG9jYXRpb24oKTsKKyAgICBwYXJlbnRCb3hQb2ludC5tb3ZlKC1yZW5kZXJCb3gt
PngoKSwgLXJlbmRlckJveC0+eSgpKTsgIC8vIFJlc3RvcmUgcGFyZW50IGJveCdzIGxvY2F0aW9u
IGZyb20gci4KKyAgICBJbnRSZWN0IHBhcmVudEJveChwYXJlbnRCb3hQb2ludCwgcGFyZW50UmVu
ZGVyQm94LT5jb250ZW50Qm94UmVjdCgpLnNpemUoKSk7CisgICAgcmV0dXJuIHBhcmVudEJveDsK
K30KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZENhbmNl
bEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBp
LCBjb25zdCBJbnRSZWN0JiByKQoreworICAgIEludFJlY3QgYm91bmRzID0gcjsKKyAgICBJbnRS
ZWN0IHBhcmVudEJveCA9IGNhbGN1bGF0ZVBhcmVudEJveE9mU2VhcmNoRmllbGRJdGVtKG8sIHIp
OworICAgIGlmIChwYXJlbnRCb3guaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBidXR0b24gc3RheXMgc3F1YXJlIGFuZCB3aWxs
IGZpdCBpbiBpdHMgcGFyZW50J3MgYm94CiAgICAgYm91bmRzLnNldEhlaWdodChzdGQ6Om1pbihw
YXJlbnRCb3gud2lkdGgoKSwgc3RkOjptaW4ocGFyZW50Qm94LmhlaWdodCgpLCBib3VuZHMuaGVp
Z2h0KCkpKSk7CkBAIC00MTcsMTMgKzQyOCwxMCBAQCB2b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1T
a2lhOjphZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU3R5bGUoQ1NTU3R5bGVTZQog
Ym9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNv
cmF0aW9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIGks
IGNvbnN0IEludFJlY3QmIHIpCiB7CiAgICAgSW50UmVjdCBib3VuZHMgPSByOwotICAgIEFTU0VS
VChvLT5wYXJlbnQoKSk7Ci0gICAgaWYgKCFvLT5wYXJlbnQoKSB8fCAhby0+cGFyZW50KCktPmlz
Qm94KCkpCisgICAgSW50UmVjdCBwYXJlbnRCb3ggPSBjYWxjdWxhdGVQYXJlbnRCb3hPZlNlYXJj
aEZpZWxkSXRlbShvLCByKTsKKyAgICBpZiAocGFyZW50Qm94LmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgUmVuZGVyQm94KiBwYXJlbnRSZW5kZXJCb3ggPSB0b1JlbmRl
ckJveChvLT5wYXJlbnQoKSk7Ci0gICAgSW50UmVjdCBwYXJlbnRCb3ggPSBwYXJlbnRSZW5kZXJC
b3gtPmFic29sdXRlQ29udGVudEJveCgpOwotCiAgICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQg
ZGVjb3JhdGlvbiBzdGF5cyBzcXVhcmUgYW5kIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBib3gK
ICAgICBib3VuZHMuc2V0SGVpZ2h0KHN0ZDo6bWluKHBhcmVudEJveC53aWR0aCgpLCBzdGQ6Om1p
bihwYXJlbnRCb3guaGVpZ2h0KCksIGJvdW5kcy5oZWlnaHQoKSkpKTsKICAgICBib3VuZHMuc2V0
V2lkdGgoYm91bmRzLmhlaWdodCgpKTsKQEAgLTQ1MSwxNSArNDU5LDEwIEBAIHZvaWQgUmVuZGVy
VGhlbWVDaHJvbWl1bVNraWE6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblN0eWxlKENT
U1N0eWxlU2VsZWN0CiBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZp
ZWxkUmVzdWx0c0J1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiBpLCBjb25zdCBJbnRSZWN0JiByKQogewogICAgIEludFJlY3QgYm91bmRzID0gcjsK
LSAgICBBU1NFUlQoby0+cGFyZW50KCkpOwotICAgIGlmICghby0+cGFyZW50KCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpZiAoIW8tPnBhcmVudCgpIHx8ICFvLT5wYXJlbnQoKS0+aXNC
b3goKSkKKyAgICBJbnRSZWN0IHBhcmVudEJveCA9IGNhbGN1bGF0ZVBhcmVudEJveE9mU2VhcmNo
RmllbGRJdGVtKG8sIHIpOworICAgIGlmIChwYXJlbnRCb3guaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBSZW5kZXJCb3gqIHBhcmVudFJlbmRlckJveCA9IHRvUmVuZGVy
Qm94KG8tPnBhcmVudCgpKTsKLSAgICBJbnRSZWN0IHBhcmVudEJveCA9IHBhcmVudFJlbmRlckJv
eC0+YWJzb2x1dGVDb250ZW50Qm94KCk7Ci0KICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBk
ZWNvcmF0aW9uIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBib3gKICAgICBib3VuZHMuc2V0SGVp
Z2h0KHN0ZDo6bWluKHBhcmVudEJveC5oZWlnaHQoKSwgYm91bmRzLmhlaWdodCgpKSk7CiAgICAg
Ym91bmRzLnNldFdpZHRoKHN0ZDo6bWluKHBhcmVudEJveC53aWR0aCgpLCBzdGF0aWNfY2FzdDxp
bnQ+KGJvdW5kcy5oZWlnaHQoKSAqIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0
aCAvIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSkpKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCmluZGV4IDk4ZTNhMzUuLjQzNDJl
NGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaApAQCAt
MTUxLDYgKzE1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcml2YXRlOgogICAgICAg
ICBpbnQgbWVudUxpc3RJbnRlcm5hbFBhZGRpbmcoUmVuZGVyU3R5bGUqLCBpbnQgcGFkZGluZ1R5
cGUpIGNvbnN0OwogICAgICAgICBib29sIHBhaW50TWVkaWFCdXR0b25JbnRlcm5hbChHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiwgSW1hZ2UqKTsKKyAgICAgICAgSW50UmVjdCBjYWxj
dWxhdGVQYXJlbnRCb3hPZlNlYXJjaEZpZWxkSXRlbShSZW5kZXJPYmplY3QqIG8sIGNvbnN0IElu
dFJlY3QmIHIpOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmU=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47502</attachid>
            <date>2010-01-26 23:27:18 -0800</date>
            <delta_ts>2010-02-03 02:48:25 -0800</delta_ts>
            <desc>Fix decoration position in search input field. (v3: Totally rewritten)</desc>
            <filename>bug-30245-20100127162716.patch</filename>
            <type>text/plain</type>
            <size>17543</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDRlZjU0Zi4uZmJkMGJhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMC0wMS0yNiAgWXV0YSBLaXRhbXVy
YSAgPHl1dGFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggZGVjb3JhdGlvbiBwb3NpdGlvbiBpbiBzZWFyY2ggaW5wdXQg
ZmllbGQuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIGZpeGVzIHJlbmRlcmluZyBvZiBp
bnB1dCBmaWVsZCBvZiAic2VhcmNoIiB0eXBlLCB3aG9zZSBkZWNvcmF0aW9uCisgICAgICAgIChs
b3VwZSBpY29uIGFuZCBjbG9zZSBidXR0b24pIHdhcyB3cm9uZ2x5IHBvc2l0aW9uZWQgd2hlbiB0
aGUgaW5wdXQgZmllbGQgd2FzCisgICAgICAgIGNvbnRhaW5lZCBpbiBhIGJsb2NrIHdpdGggLXdl
YmtpdC10cmFuc2Zvcm0gcHJvcGVydHkuCisgICAgICAgIAorICAgICAgICBDaHJvbWl1bSBidWc6
IGh0dHA6Ly9jcmJ1Zy5jb20vMjA0MzkKKworICAgICAgICBbQ2hyb21pdW1dIERlY29yYXRpb24g
b2YgInNlYXJjaCIgaW5wdXQgZmllbGQgaXMgd3JvbmdseSByZW5kZXJlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAyNDUKKworICAgICAgICBObyBu
ZXcgdGVzdHMsIHNpbmNlIHRoaXMgcGF0Y2ggZml4ZXMgYW4gZXhpc3RpbmcgdGVzdAorICAgICAg
ICAoZmFzdC9mb3Jtcy9zZWFyY2gtdHJhbnNmb3JtZWQuaHRtbCkuCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6b2Zmc2V0
RnJvbUNvbnRhaW5lcik6IFRoZSBhcmd1bWVudCBjYW4gYmUgY29uc3QuCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveC5oOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5s
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklubGluZTo6b2Zmc2V0RnJvbUNvbnRh
aW5lcik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmxpbmUuaDogRGl0dG8u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJPYmplY3Q6Om9mZnNldEZyb21Db250YWluZXIpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck9iamVjdDo6b2Zmc2V0RnJvbUFuY2VzdG9yQ29udGFpbmVyKTogRGl0dG8u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOiBEaXR0by4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRh
YmxlQ2VsbDo6b2Zmc2V0RnJvbUNvbnRhaW5lcik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuaDogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhOjpjb252ZXJ0VG9QYWludGluZ1JlY3QpOiBBZGRlZC4gVGhpcyBtZXRob2QKKyAgICAg
ICAgZG9lcyBhbG1vc3QgdGhlIHNhbWUgdGhpbmcgYXMgUmVuZGVyVGhlbWVNYWM6OmNvbnZlcnRU
b1BhaW50aW5nUmVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
OjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKTogVGhlIHBvc2l0aW9uCisgICAgICAgIG9m
IHRoZSBpY29uIHNob3VsZCBub3QgZGVwZW5kIG9uIGl0cyBhYnNvbHV0ZSBwb3NpdGlvbi4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxk
UmVzdWx0c0RlY29yYXRpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
Q2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbik6IERpdHRvLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oOiBOZXcgbWV0aG9kLgor
CiAyMDEwLTAxLTIyICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2lyaXNoQGZvcndhcmRiaWFzLmlu
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKaW5kZXggMGEzOGVhYi4uYWI0N2EyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBA
IC0xMDI2LDcgKzEwMjYsNyBAQCB2b2lkIFJlbmRlckJveDo6bWFwQWJzb2x1dGVUb0xvY2FsUG9p
bnQoYm9vbCBmaXhlZCwgYm9vbCB1c2VUcmFuc2Zvcm1zLCBUcmFuc2ZvcgogICAgICAgICB0cmFu
c2Zvcm1TdGF0ZS5tb3ZlKC1jb250YWluZXJPZmZzZXQud2lkdGgoKSwgLWNvbnRhaW5lck9mZnNl
dC5oZWlnaHQoKSwgcHJlc2VydmUzRCA/IFRyYW5zZm9ybVN0YXRlOjpBY2N1bXVsYXRlVHJhbnNm
b3JtIDogVHJhbnNmb3JtU3RhdGU6OkZsYXR0ZW5UcmFuc2Zvcm0pOwogfQogCi1JbnRTaXplIFJl
bmRlckJveDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqIG8pIGNvbnN0CitJbnRT
aXplIFJlbmRlckJveDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqIG8p
IGNvbnN0CiB7CiAgICAgQVNTRVJUKG8gPT0gY29udGFpbmVyKCkpOwogCkBAIC0xMDM1LDcgKzEw
MzUsNyBAQCBJbnRTaXplIFJlbmRlckJveDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmpl
Y3QqIG8pIGNvbnN0CiAgICAgICAgIG9mZnNldCArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCk7
CiAKICAgICBpZiAoIWlzSW5saW5lKCkgfHwgaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgIFJlbmRl
ckJsb2NrKiBjYjsKKyAgICAgICAgY29uc3QgUmVuZGVyQmxvY2sqIGNiOwogICAgICAgICBpZiAo
by0+aXNCbG9ja0Zsb3coKSAmJiBzdHlsZSgpLT5wb3NpdGlvbigpICE9IEFic29sdXRlUG9zaXRp
b24gJiYgc3R5bGUoKS0+cG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uCiAgICAgICAgICAgICAg
ICAgJiYgKGNiID0gdG9SZW5kZXJCbG9jayhvKSktPmhhc0NvbHVtbnMoKSkgewogICAgICAgICAg
ICAgSW50UmVjdCByZWN0KHgoKSwgeSgpLCAxLCAxKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXgg
ZDkxZGQxZC4uNTQxMjcwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTE3Myw3ICsxNzMsNyBA
QCBwdWJsaWM6CiAgICAgaW50IG92ZXJyaWRlSGVpZ2h0KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2
b2lkIHNldE92ZXJyaWRlU2l6ZShpbnQpOwogCi0gICAgdmlydHVhbCBJbnRTaXplIG9mZnNldEZy
b21Db250YWluZXIoUmVuZGVyT2JqZWN0KikgY29uc3Q7CisgICAgdmlydHVhbCBJbnRTaXplIG9m
ZnNldEZyb21Db250YWluZXIoY29uc3QgUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAgICAgCiAgICAg
aW50IGNhbGNCb3JkZXJCb3hXaWR0aChpbnQgd2lkdGgpIGNvbnN0OwogICAgIGludCBjYWxjQm9y
ZGVyQm94SGVpZ2h0KGludCBoZWlnaHQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5j
cHAKaW5kZXggOTU3MTc1MS4uMDZjYmY1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW5saW5lLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3Bw
CkBAIC03MTAsNyArNzEwLDcgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmNvbXB1dGVSZWN0Rm9yUmVw
YWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwKICAgICBvLT5jb21w
dXRlUmVjdEZvclJlcGFpbnQocmVwYWludENvbnRhaW5lciwgcmVjdCwgZml4ZWQpOwogfQogCi1J
bnRTaXplIFJlbmRlcklubGluZTo6b2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqIGNv
bnRhaW5lcikgY29uc3QKK0ludFNpemUgUmVuZGVySW5saW5lOjpvZmZzZXRGcm9tQ29udGFpbmVy
KGNvbnN0IFJlbmRlck9iamVjdCogY29udGFpbmVyKSBjb25zdAogewogICAgIEFTU0VSVChjb250
YWluZXIgPT0gdGhpcy0+Y29udGFpbmVyKCkpOwogCkBAIC03MTksNyArNzE5LDcgQEAgSW50U2l6
ZSBSZW5kZXJJbmxpbmU6Om9mZnNldEZyb21Db250YWluZXIoUmVuZGVyT2JqZWN0KiBjb250YWlu
ZXIpIGNvbnN0CiAgICAgICAgIG9mZnNldCArPSByZWxhdGl2ZVBvc2l0aW9uT2Zmc2V0KCk7CiAK
ICAgICBpZiAoIWlzSW5saW5lKCkgfHwgaXNSZXBsYWNlZCgpKSB7Ci0gICAgICAgIFJlbmRlckJs
b2NrKiBjYjsKKyAgICAgICAgY29uc3QgUmVuZGVyQmxvY2sqIGNiOwogICAgICAgICBpZiAoY29u
dGFpbmVyLT5pc0Jsb2NrRmxvdygpICYmIChjYiA9IHRvUmVuZGVyQmxvY2soY29udGFpbmVyKSkt
Pmhhc0NvbHVtbnMoKSkgewogICAgICAgICAgICAgSW50UmVjdCByZWN0KDAsIDAsIDEsIDEpOwog
ICAgICAgICAgICAgY2ItPmFkanVzdFJlY3RGb3JDb2x1bW5zKHJlY3QpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuaAppbmRleCBkMzVhYTg1Li42YjMyMDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuaApAQCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFic29sdXRl
UmVjdHMoVmVjdG9yPEludFJlY3Q+JiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgdm9p
ZCBhYnNvbHV0ZVF1YWRzKFZlY3RvcjxGbG9hdFF1YWQ+Jik7CiAKLSAgICB2aXJ0dWFsIEludFNp
emUgb2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqKSBjb25zdDsKKyAgICB2aXJ0dWFs
IEludFNpemUgb2Zmc2V0RnJvbUNvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqKSBjb25zdDsK
IAogICAgIEludFJlY3QgbGluZXNCb3VuZGluZ0JveCgpIGNvbnN0OwogICAgIEludFJlY3QgbGlu
ZXNWaXNpYmxlT3ZlcmZsb3dCb3VuZGluZ0JveCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAKaW5kZXggYzZjMDE1YS4uNTRhYzEzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCkBAIC0xODI5LDcgKzE4MjksNyBAQCBGbG9hdFF1YWQgUmVuZGVyT2JqZWN0Ojpsb2Nh
bFRvQ29udGFpbmVyUXVhZChjb25zdCBGbG9hdFF1YWQmIGxvY2FsUXVhZCwgUmVuZGVyQgogICAg
IHJldHVybiB0cmFuc2Zvcm1TdGF0ZS5sYXN0UGxhbmFyUXVhZCgpOwogfQogCi1JbnRTaXplIFJl
bmRlck9iamVjdDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqIG8pIGNvbnN0CitJ
bnRTaXplIFJlbmRlck9iamVjdDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihjb25zdCBSZW5kZXJPYmpl
Y3QqIG8pIGNvbnN0CiB7CiAgICAgQVNTRVJUKG8gPT0gY29udGFpbmVyKCkpOwogCkBAIC0xODQw
LDcgKzE4NDAsNyBAQCBJbnRTaXplIFJlbmRlck9iamVjdDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihS
ZW5kZXJPYmplY3QqIG8pIGNvbnN0CiAgICAgcmV0dXJuIG9mZnNldDsKIH0KIAotSW50U2l6ZSBS
ZW5kZXJPYmplY3Q6Om9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5lcihSZW5kZXJPYmplY3QqIGNv
bnRhaW5lcikgY29uc3QKK0ludFNpemUgUmVuZGVyT2JqZWN0OjpvZmZzZXRGcm9tQW5jZXN0b3JD
b250YWluZXIoY29uc3QgUmVuZGVyT2JqZWN0KiBjb250YWluZXIpIGNvbnN0CiB7CiAgICAgSW50
U2l6ZSBvZmZzZXQ7CiAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBjdXJyQ29udGFpbmVyID0gdGhp
czsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggN2Q3YTllZS4uZGUzYjE4OSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTU2MSw5ICs1NjEsOSBAQCBwdWJsaWM6CiAgICAgRmxv
YXRRdWFkIGxvY2FsVG9Db250YWluZXJRdWFkKGNvbnN0IEZsb2F0UXVhZCYsIFJlbmRlckJveE1v
ZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBib29sIGZpeGVkID0gZmFsc2UpIGNvbnN0Owog
CiAgICAgLy8gUmV0dXJuIHRoZSBvZmZzZXQgZnJvbSB0aGUgY29udGFpbmVyKCkgcmVuZGVyZXIg
KGV4Y2x1ZGluZyB0cmFuc2Zvcm1zKQotICAgIHZpcnR1YWwgSW50U2l6ZSBvZmZzZXRGcm9tQ29u
dGFpbmVyKFJlbmRlck9iamVjdCopIGNvbnN0OworICAgIHZpcnR1YWwgSW50U2l6ZSBvZmZzZXRG
cm9tQ29udGFpbmVyKGNvbnN0IFJlbmRlck9iamVjdCopIGNvbnN0OwogICAgIC8vIFJldHVybiB0
aGUgb2Zmc2V0IGZyb20gYW4gb2JqZWN0IHVwIHRoZSBjb250YWluZXIoKSBjaGFpbi4gQXNzZXJ0
cyB0aGF0IG5vbmUgb2YgdGhlIGludGVybWVkaWF0ZSBvYmplY3RzIGhhdmUgdHJhbnNmb3Jtcy4K
LSAgICBJbnRTaXplIG9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5lcihSZW5kZXJPYmplY3QqKSBj
b25zdDsKKyAgICBJbnRTaXplIG9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5lcihjb25zdCBSZW5k
ZXJPYmplY3QqKSBjb25zdDsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgYWJzb2x1dGVSZWN0cyhW
ZWN0b3I8SW50UmVjdD4mLCBpbnQsIGludCkgeyB9CiAgICAgLy8gRklYTUU6IHVzZVRyYW5zZm9y
bXMgc2hvdWxkIGdvIGF3YXkgZXZlbnR1YWxseQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVDZWxsLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2Vs
bC5jcHAKaW5kZXggNTM4ZGMzZi4uMjg5MTU4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVDZWxsLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuY3BwCkBAIC0xNTQsNyArMTU0LDcgQEAgdm9pZCBSZW5kZXJUYWJsZUNlbGw6OnNldE92
ZXJyaWRlU2l6ZShpbnQgc2l6ZSkKICAgICBSZW5kZXJCbG9jazo6c2V0T3ZlcnJpZGVTaXplKHNp
emUpOwogfQogCi1JbnRTaXplIFJlbmRlclRhYmxlQ2VsbDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihS
ZW5kZXJPYmplY3QqIG8pIGNvbnN0CitJbnRTaXplIFJlbmRlclRhYmxlQ2VsbDo6b2Zmc2V0RnJv
bUNvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7CiAgICAgQVNTRVJUKG8g
PT0gY29udGFpbmVyKCkpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZUNlbGwuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCmluZGV4IDg5
ZTJjYmUuLjlmMjJiMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2VsbC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCkBAIC0xMTks
NyArMTE5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRCb3hEZWNvcmF0aW9u
cyhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50TWFz
ayhQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSk7CiAKLSAgICB2aXJ0dWFsIEludFNpemUgb2Zm
c2V0RnJvbUNvbnRhaW5lcihSZW5kZXJPYmplY3QqKSBjb25zdDsKKyAgICB2aXJ0dWFsIEludFNp
emUgb2Zmc2V0RnJvbUNvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqKSBjb25zdDsKICAgICB2
aXJ0dWFsIEludFJlY3QgY2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoUmVuZGVyQm94TW9k
ZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIpOwogICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlUmVj
dEZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIEludFJl
Y3QmLCBib29sIGZpeGVkID0gZmFsc2UpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAKaW5kZXggN2QzYmNlYy4uMDAzOGRmMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcApAQCAtNDAzLDI4ICs0MDMs
NDEgQEAgdm9pZCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YWRqdXN0U2VhcmNoRmllbGRDYW5j
ZWxCdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG8KICAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0
aChjYW5jZWxCdXR0b25TaXplLCBGaXhlZCkpOwogfQogCi1ib29sIFJlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29u
c3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpCitJbnRSZWN0
IFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpjb252ZXJ0VG9QYWludGluZ1JlY3QoY29uc3QgUmVu
ZGVyT2JqZWN0KiBpbnB1dFJlbmRlcmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIHBhcnRSZW5kZXJl
ciwgSW50UmVjdCBwYXJ0UmVjdCwgY29uc3QgSW50UmVjdCYgbG9jYWxPZmZzZXQpIGNvbnN0CiB7
Ci0gICAgSW50UmVjdCBib3VuZHMgPSByOwotICAgIEFTU0VSVChvLT5wYXJlbnQoKSk7Ci0gICAg
aWYgKCFvLT5wYXJlbnQoKSB8fCAhby0+cGFyZW50KCktPmlzQm94KCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIFJlbmRlckJveCogcGFyZW50UmVuZGVyQm94ID0gdG9SZW5kZXJCb3go
by0+cGFyZW50KCkpOworICAgIC8vIENvbXB1dGUgYW4gb2Zmc2V0IGJldHdlZW4gdGhlIHBhcnQg
cmVuZGVyZXIgYW5kIHRoZSBpbnB1dCByZW5kZXJlci4KKyAgICBJbnRTaXplIG9mZnNldEZyb21J
bnB1dFJlbmRlcmVyID0gLShwYXJ0UmVuZGVyZXItPm9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5l
cihpbnB1dFJlbmRlcmVyKSk7CisgICAgLy8gTW92ZSB0aGUgcmVjdCBpbnRvIHBhcnRSZW5kZXJl
cidzIGNvb3Jkcy4KKyAgICBwYXJ0UmVjdC5tb3ZlKG9mZnNldEZyb21JbnB1dFJlbmRlcmVyKTsK
KyAgICAvLyBBY2NvdW50IGZvciB0aGUgbG9jYWwgZHJhd2luZyBvZmZzZXQuCisgICAgcGFydFJl
Y3QubW92ZShsb2NhbE9mZnNldC54KCksIGxvY2FsT2Zmc2V0LnkoKSk7CiAKLSAgICBJbnRSZWN0
IHBhcmVudEJveCA9IHBhcmVudFJlbmRlckJveC0+YWJzb2x1dGVDb250ZW50Qm94KCk7CisgICAg
cmV0dXJuIHBhcnRSZWN0OworfQogCi0gICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgYnV0dG9u
IHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveAotICAgIGJvdW5k
cy5zZXRIZWlnaHQoc3RkOjptaW4ocGFyZW50Qm94LndpZHRoKCksIHN0ZDo6bWluKHBhcmVudEJv
eC5oZWlnaHQoKSwgYm91bmRzLmhlaWdodCgpKSkpOwotICAgIGJvdW5kcy5zZXRXaWR0aChib3Vu
ZHMuaGVpZ2h0KCkpOworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hG
aWVsZENhbmNlbEJ1dHRvbihSZW5kZXJPYmplY3QqIGNhbmNlbEJ1dHRvbk9iamVjdCwgY29uc3Qg
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKK3sK
KyAgICAvLyBHZXQgdGhlIHJlbmRlcmVyIG9mIDxpbnB1dD4gZWxlbWVudC4KKyAgICBOb2RlKiBp
bnB1dCA9IGNhbmNlbEJ1dHRvbk9iamVjdC0+bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsK
KyAgICBpZiAoIWlucHV0LT5yZW5kZXJlcigpLT5pc0JveCgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgUmVuZGVyQm94KiBpbnB1dFJlbmRlckJveCA9IHRvUmVuZGVyQm94KGlucHV0LT5y
ZW5kZXJlcigpKTsKKyAgICBJbnRSZWN0IGlucHV0Q29udGVudEJveCA9IGlucHV0UmVuZGVyQm94
LT5jb250ZW50Qm94UmVjdCgpOwogCisgICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgYnV0dG9u
IHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveC4KKyAgICBpbnQg
Y2FuY2VsQnV0dG9uU2l6ZSA9IHN0ZDo6bWluKGlucHV0Q29udGVudEJveC53aWR0aCgpLCBzdGQ6
Om1pbihpbnB1dENvbnRlbnRCb3guaGVpZ2h0KCksIHIuaGVpZ2h0KCkpKTsKKyAgICAvLyBDYWxj
dWxhdGUgY2FuY2VsIGJ1dHRvbidzIGNvb3JkaW5hdGVzIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBl
bGVtZW50LgogICAgIC8vIENlbnRlciB0aGUgYnV0dG9uIHZlcnRpY2FsbHkuICBSb3VuZCB1cCB0
aG91Z2gsIHNvIGlmIGl0IGhhcyB0byBiZSBvbmUgcGl4ZWwgb2ZmLWNlbnRlciwgaXQgd2lsbAog
ICAgIC8vIGJlIG9uZSBwaXhlbCBjbG9zZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgZmllbGQuICBU
aGlzIHRlbmRzIHRvIGxvb2sgYmV0dGVyIHdpdGggdGhlIHRleHQuCi0gICAgYm91bmRzLnNldFko
cGFyZW50Qm94LnkoKSArIChwYXJlbnRCb3guaGVpZ2h0KCkgLSBib3VuZHMuaGVpZ2h0KCkgKyAx
KSAvIDIpOworICAgIEludFJlY3QgY2FuY2VsQnV0dG9uUmVjdChjYW5jZWxCdXR0b25PYmplY3Qt
Pm9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5lcihpbnB1dFJlbmRlckJveCkud2lkdGgoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRDb250ZW50Qm94LnkoKSArIChpbnB1dENv
bnRlbnRCb3guaGVpZ2h0KCkgLSBjYW5jZWxCdXR0b25TaXplICsgMSkgLyAyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25TaXplLCBjYW5jZWxCdXR0b25TaXplKTsK
KyAgICBJbnRSZWN0IHBhaW50aW5nUmVjdCA9IGNvbnZlcnRUb1BhaW50aW5nUmVjdChpbnB1dFJl
bmRlckJveCwgY2FuY2VsQnV0dG9uT2JqZWN0LCBjYW5jZWxCdXR0b25SZWN0LCByKTsKIAogICAg
IHN0YXRpYyBJbWFnZSogY2FuY2VsSW1hZ2UgPSBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2Uo
InNlYXJjaENhbmNlbCIpLnJlbGVhc2VSZWYoKTsKICAgICBzdGF0aWMgSW1hZ2UqIGNhbmNlbFBy
ZXNzZWRJbWFnZSA9IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSgic2VhcmNoQ2FuY2VsUHJl
c3NlZCIpLnJlbGVhc2VSZWYoKTsKLSAgICBpLmNvbnRleHQtPmRyYXdJbWFnZShpc1ByZXNzZWQo
bykgPyBjYW5jZWxQcmVzc2VkSW1hZ2UgOiBjYW5jZWxJbWFnZSwgby0+c3R5bGUoKS0+Y29sb3JT
cGFjZSgpLCBib3VuZHMpOworICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3SW1hZ2UoaXNQcmVz
c2VkKGNhbmNlbEJ1dHRvbk9iamVjdCkgPyBjYW5jZWxQcmVzc2VkSW1hZ2UgOiBjYW5jZWxJbWFn
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvbk9iamVjdC0+
c3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBwYWludGluZ1JlY3QpOwogICAgIHJldHVybiBmYWxzZTsK
IH0KIApAQCAtNDQ1LDI2ICs0NTgsMjcgQEAgdm9pZCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6
YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblN0eWxlKENTU1N0eWxlU2UKICAgICBz
dHlsZS0+c2V0SGVpZ2h0KExlbmd0aChtYWduaWZpZXJTaXplLCBGaXhlZCkpOwogfQogCi1ib29s
IFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRp
b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgaSwgY29u
c3QgSW50UmVjdCYgcikKK2Jvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNo
RmllbGRSZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmplY3QqIG1hZ25pZmllck9iamVjdCwgY29u
c3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikK
IHsKLSAgICBJbnRSZWN0IGJvdW5kcyA9IHI7Ci0gICAgQVNTRVJUKG8tPnBhcmVudCgpKTsKLSAg
ICBpZiAoIW8tPnBhcmVudCgpIHx8ICFvLT5wYXJlbnQoKS0+aXNCb3goKSkKKyAgICAvLyBHZXQg
dGhlIHJlbmRlcmVyIG9mIDxpbnB1dD4gZWxlbWVudC4KKyAgICBOb2RlKiBpbnB1dCA9IG1hZ25p
Zmllck9iamVjdC0+bm9kZSgpLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICBpZiAoIWlucHV0
LT5yZW5kZXJlcigpLT5pc0JveCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgUmVuZGVy
Qm94KiBpbnB1dFJlbmRlckJveCA9IHRvUmVuZGVyQm94KGlucHV0LT5yZW5kZXJlcigpKTsKKyAg
ICBJbnRSZWN0IGlucHV0Q29udGVudEJveCA9IGlucHV0UmVuZGVyQm94LT5jb250ZW50Qm94UmVj
dCgpOwogCi0gICAgUmVuZGVyQm94KiBwYXJlbnRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChvLT5w
YXJlbnQoKSk7Ci0gICAgSW50UmVjdCBwYXJlbnRCb3ggPSBwYXJlbnRSZW5kZXJCb3gtPmFic29s
dXRlQ29udGVudEJveCgpOwotCi0gICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgZGVjb3JhdGlv
biBzdGF5cyBzcXVhcmUgYW5kIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBib3gKLSAgICBib3Vu
ZHMuc2V0SGVpZ2h0KHN0ZDo6bWluKHBhcmVudEJveC53aWR0aCgpLCBzdGQ6Om1pbihwYXJlbnRC
b3guaGVpZ2h0KCksIGJvdW5kcy5oZWlnaHQoKSkpKTsKLSAgICBib3VuZHMuc2V0V2lkdGgoYm91
bmRzLmhlaWdodCgpKTsKLQorICAgIC8vIE1ha2Ugc3VyZSB0aGUgc2NhbGVkIGRlY29yYXRpb24g
c3RheXMgc3F1YXJlIGFuZCB3aWxsIGZpdCBpbiBpdHMgcGFyZW50J3MgYm94LgorICAgIGludCBt
YWduaWZpZXJTaXplID0gc3RkOjptaW4oaW5wdXRDb250ZW50Qm94LndpZHRoKCksIHN0ZDo6bWlu
KGlucHV0Q29udGVudEJveC5oZWlnaHQoKSwgci5oZWlnaHQoKSkpOworICAgIC8vIENhbGN1bGF0
ZSBkZWNvcmF0aW9uJ3MgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIGlucHV0IGVsZW1lbnQu
CiAgICAgLy8gQ2VudGVyIHRoZSBkZWNvcmF0aW9uIHZlcnRpY2FsbHkuICBSb3VuZCB1cCB0aG91
Z2gsIHNvIGlmIGl0IGhhcyB0byBiZSBvbmUgcGl4ZWwgb2ZmLWNlbnRlciwgaXQgd2lsbAogICAg
IC8vIGJlIG9uZSBwaXhlbCBjbG9zZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgZmllbGQuICBUaGlz
IHRlbmRzIHRvIGxvb2sgYmV0dGVyIHdpdGggdGhlIHRleHQuCi0gICAgYm91bmRzLnNldFkocGFy
ZW50Qm94LnkoKSArIChwYXJlbnRCb3guaGVpZ2h0KCkgLSBib3VuZHMuaGVpZ2h0KCkgKyAxKSAv
IDIpOworICAgIEludFJlY3QgbWFnbmlmaWVyUmVjdChtYWduaWZpZXJPYmplY3QtPm9mZnNldEZy
b21BbmNlc3RvckNvbnRhaW5lcihpbnB1dFJlbmRlckJveCkud2lkdGgoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5wdXRDb250ZW50Qm94LnkoKSArIChpbnB1dENvbnRlbnRCb3guaGVp
Z2h0KCkgLSBtYWduaWZpZXJTaXplICsgMSkgLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICBtYWduaWZpZXJTaXplLCBtYWduaWZpZXJTaXplKTsKKyAgICBJbnRSZWN0IHBhaW50aW5nUmVj
dCA9IGNvbnZlcnRUb1BhaW50aW5nUmVjdChpbnB1dFJlbmRlckJveCwgbWFnbmlmaWVyT2JqZWN0
LCBtYWduaWZpZXJSZWN0LCByKTsKIAogICAgIHN0YXRpYyBJbWFnZSogbWFnbmlmaWVySW1hZ2Ug
PSBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoInNlYXJjaE1hZ25pZmllciIpLnJlbGVhc2VS
ZWYoKTsKLSAgICBpLmNvbnRleHQtPmRyYXdJbWFnZShtYWduaWZpZXJJbWFnZSwgby0+c3R5bGUo
KS0+Y29sb3JTcGFjZSgpLCBib3VuZHMpOworICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3SW1h
Z2UobWFnbmlmaWVySW1hZ2UsIG1hZ25pZmllck9iamVjdC0+c3R5bGUoKS0+Y29sb3JTcGFjZSgp
LCBwYWludGluZ1JlY3QpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNDc5LDI4ICs0OTMs
MjUgQEAgdm9pZCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YWRqdXN0U2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3QKICAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0
aChtYWduaWZpZXJIZWlnaHQsIEZpeGVkKSk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1
bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKFJlbmRlck9iamVjdCogbywgY29u
c3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpCitib29sIFJl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbihSZW5k
ZXJPYmplY3QqIG1hZ25pZmllck9iamVjdCwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKIHsKLSAgICBJbnRSZWN0IGJvdW5kcyA9IHI7
Ci0gICAgQVNTRVJUKG8tPnBhcmVudCgpKTsKLSAgICBpZiAoIW8tPnBhcmVudCgpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFvLT5wYXJlbnQoKSB8fCAhby0+cGFyZW50KCktPmlz
Qm94KCkpCisgICAgLy8gR2V0IHRoZSByZW5kZXJlciBvZiA8aW5wdXQ+IGVsZW1lbnQuCisgICAg
Tm9kZSogaW5wdXQgPSBtYWduaWZpZXJPYmplY3QtPm5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2Rl
KCk7CisgICAgaWYgKCFpbnB1dC0+cmVuZGVyZXIoKS0+aXNCb3goKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIFJlbmRlckJveCogaW5wdXRSZW5kZXJCb3ggPSB0b1JlbmRlckJveChpbnB1
dC0+cmVuZGVyZXIoKSk7CisgICAgSW50UmVjdCBpbnB1dENvbnRlbnRCb3ggPSBpbnB1dFJlbmRl
ckJveC0+Y29udGVudEJveFJlY3QoKTsKIAotICAgIFJlbmRlckJveCogcGFyZW50UmVuZGVyQm94
ID0gdG9SZW5kZXJCb3goby0+cGFyZW50KCkpOwotICAgIEludFJlY3QgcGFyZW50Qm94ID0gcGFy
ZW50UmVuZGVyQm94LT5hYnNvbHV0ZUNvbnRlbnRCb3goKTsKLQotICAgIC8vIE1ha2Ugc3VyZSB0
aGUgc2NhbGVkIGRlY29yYXRpb24gd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveAotICAgIGJv
dW5kcy5zZXRIZWlnaHQoc3RkOjptaW4ocGFyZW50Qm94LmhlaWdodCgpLCBib3VuZHMuaGVpZ2h0
KCkpKTsKLSAgICBib3VuZHMuc2V0V2lkdGgoc3RkOjptaW4ocGFyZW50Qm94LndpZHRoKCksIHN0
YXRpY19jYXN0PGludD4oYm91bmRzLmhlaWdodCgpICogZGVmYXVsdFNlYXJjaEZpZWxkUmVzdWx0
c0J1dHRvbldpZHRoIC8gZGVmYXVsdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplKSkp
OwotCi0gICAgLy8gQ2VudGVyIHRoZSBidXR0b24gdmVydGljYWxseS4gIFJvdW5kIHVwIHRob3Vn
aCwgc28gaWYgaXQgaGFzIHRvIGJlIG9uZSBwaXhlbCBvZmYtY2VudGVyLCBpdCB3aWxsCi0gICAg
Ly8gYmUgb25lIHBpeGVsIGNsb3NlciB0byB0aGUgYm90dG9tIG9mIHRoZSBmaWVsZC4gIFRoaXMg
dGVuZHMgdG8gbG9vayBiZXR0ZXIgd2l0aCB0aGUgdGV4dC4KLSAgICBib3VuZHMuc2V0WShwYXJl
bnRCb3gueSgpICsgKHBhcmVudEJveC5oZWlnaHQoKSAtIGJvdW5kcy5oZWlnaHQoKSArIDEpIC8g
Mik7CisgICAgLy8gTWFrZSBzdXJlIHRoZSBzY2FsZWQgZGVjb3JhdGlvbiB3aWxsIGZpdCBpbiBp
dHMgcGFyZW50J3MgYm94LgorICAgIGludCBtYWduaWZpZXJIZWlnaHQgPSBzdGQ6Om1pbihpbnB1
dENvbnRlbnRCb3guaGVpZ2h0KCksIHIuaGVpZ2h0KCkpOworICAgIGludCBtYWduaWZpZXJXaWR0
aCA9IHN0ZDo6bWluKGlucHV0Q29udGVudEJveC53aWR0aCgpLCBzdGF0aWNfY2FzdDxpbnQ+KG1h
Z25pZmllckhlaWdodCAqIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCAvIGRl
ZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSkpOworICAgIEludFJlY3QgbWFn
bmlmaWVyUmVjdChtYWduaWZpZXJPYmplY3QtPm9mZnNldEZyb21BbmNlc3RvckNvbnRhaW5lcihp
bnB1dFJlbmRlckJveCkud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRD
b250ZW50Qm94LnkoKSArIChpbnB1dENvbnRlbnRCb3guaGVpZ2h0KCkgLSBtYWduaWZpZXJIZWln
aHQgKyAxKSAvIDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ25pZmllcldpZHRoLCBt
YWduaWZpZXJIZWlnaHQpOworICAgIEludFJlY3QgcGFpbnRpbmdSZWN0ID0gY29udmVydFRvUGFp
bnRpbmdSZWN0KGlucHV0UmVuZGVyQm94LCBtYWduaWZpZXJPYmplY3QsIG1hZ25pZmllclJlY3Qs
IHIpOwogCiAgICAgc3RhdGljIEltYWdlKiBtYWduaWZpZXJJbWFnZSA9IEltYWdlOjpsb2FkUGxh
dGZvcm1SZXNvdXJjZSgic2VhcmNoTWFnbmlmaWVyUmVzdWx0cyIpLnJlbGVhc2VSZWYoKTsKLSAg
ICBpLmNvbnRleHQtPmRyYXdJbWFnZShtYWduaWZpZXJJbWFnZSwgby0+c3R5bGUoKS0+Y29sb3JT
cGFjZSgpLCBib3VuZHMpOworICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3SW1hZ2UobWFnbmlm
aWVySW1hZ2UsIG1hZ25pZmllck9iamVjdC0+c3R5bGUoKS0+Y29sb3JTcGFjZSgpLCBwYWludGlu
Z1JlY3QpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lQ2hyb21pdW1Ta2lhLmgKaW5kZXggMThmYTg1OS4uZDgwZDkxYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCkBAIC0xNTMsNiArMTUzLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIGludCBtZW51TGlzdElu
dGVybmFsUGFkZGluZyhSZW5kZXJTdHlsZSosIGludCBwYWRkaW5nVHlwZSkgY29uc3Q7CiAgICAg
ICAgIGJvb2wgcGFpbnRNZWRpYUJ1dHRvbkludGVybmFsKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEludFJlY3QmLCBJbWFnZSopOworICAgICAgICBJbnRSZWN0IGNvbnZlcnRUb1BhaW50aW5nUmVj
dChjb25zdCBSZW5kZXJPYmplY3QqIGlucHV0UmVuZGVyZXIsIGNvbnN0IFJlbmRlck9iamVjdCog
cGFydFJlbmRlcmVyLCBJbnRSZWN0IHBhcnRSZWN0LCBjb25zdCBJbnRSZWN0JiBsb2NhbE9mZnNl
dCkgY29uc3Q7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48005</attachid>
            <date>2010-02-03 02:48:30 -0800</date>
            <delta_ts>2010-03-06 04:26:14 -0800</delta_ts>
            <desc>Fix decoration position in search input field. (v4: removed consts)</desc>
            <filename>bug-30245-20100203194829.patch</filename>
            <type>text/plain</type>
            <size>10728</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTRiNjQ1NC4uN2UwODYzOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wMi0wMyAgWXV0YSBLaXRhbXVy
YSAgPHl1dGFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBGaXggZGVjb3JhdGlvbiBwb3NpdGlvbiBpbiBzZWFyY2ggaW5wdXQg
ZmllbGQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyByZW5kZXJpbmcgb2YgaW5wdXQgZmll
bGQgb2YgInNlYXJjaCIgdHlwZSwgd2hvc2UgZGVjb3JhdGlvbgorICAgICAgICAobG91cGUgaWNv
biBhbmQgY2xvc2UgYnV0dG9uKSB3YXMgd3JvbmdseSBwb3NpdGlvbmVkIHdoZW4gdGhlIGlucHV0
IGZpZWxkIHdhcworICAgICAgICBjb250YWluZWQgaW4gYSBibG9jayB3aXRoIC13ZWJraXQtdHJh
bnNmb3JtIHByb3BlcnR5LgorCisgICAgICAgIENocm9taXVtIGJ1ZzogaHR0cDovL2NyYnVnLmNv
bS8yMDQzOQorCisgICAgICAgIFtDaHJvbWl1bV0gRGVjb3JhdGlvbiBvZiAic2VhcmNoIiBpbnB1
dCBmaWVsZCBpcyB3cm9uZ2x5IHJlbmRlcmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMDI0NQorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgc2luY2Ug
dGhpcyBwYXRjaCBmaXhlcyBhbiBleGlzdGluZyB0ZXN0CisgICAgICAgIChmYXN0L2Zvcm1zL3Nl
YXJjaC10cmFuc2Zvcm1lZC5odG1sKSBpbiBDaHJvbWl1bSBsYXlvdXQgdGVzdHMuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OmNvbnZlcnRUb1BhaW50aW5nUmVjdCk6IEFk
ZGVkLiBUaGlzIG1ldGhvZAorICAgICAgICBkb2VzIGFsbW9zdCB0aGUgc2FtZSB0aGluZyBhcyBS
ZW5kZXJUaGVtZU1hYzo6Y29udmVydFRvUGFpbnRpbmdSZWN0LgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24pOiBU
aGUgcG9zaXRpb24KKyAgICAgICAgb2YgdGhlIGljb24gc2hvdWxkIG5vdCBkZXBlbmQgb24gaXRz
IGFic29sdXRlIHBvc2l0aW9uLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1
bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbik6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhLmg6IEFkZGVkIG5ldyBtZXRob2QuCisKIDIwMTAtMDItMDIgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBI
YXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bVNraWEuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3Bw
CmluZGV4IDdkM2JjZWMuLjc3OWRiNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAKQEAgLTQwMywyOCArNDAzLDQxIEBAIHZvaWQgUmVuZGVyVGhl
bWVDaHJvbWl1bVNraWE6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5
bGVTZWxlY3RvCiAgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwg
Rml4ZWQpKTsKIH0KIAotYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRTZWFyY2hG
aWVsZENhbmNlbEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiBpLCBjb25zdCBJbnRSZWN0JiByKQorSW50UmVjdCBSZW5kZXJUaGVtZUNocm9taXVt
U2tpYTo6Y29udmVydFRvUGFpbnRpbmdSZWN0KFJlbmRlck9iamVjdCogaW5wdXRSZW5kZXJlciwg
Y29uc3QgUmVuZGVyT2JqZWN0KiBwYXJ0UmVuZGVyZXIsIEludFJlY3QgcGFydFJlY3QsIGNvbnN0
IEludFJlY3QmIGxvY2FsT2Zmc2V0KSBjb25zdAogewotICAgIEludFJlY3QgYm91bmRzID0gcjsK
LSAgICBBU1NFUlQoby0+cGFyZW50KCkpOwotICAgIGlmICghby0+cGFyZW50KCkgfHwgIW8tPnBh
cmVudCgpLT5pc0JveCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBSZW5kZXJCb3gq
IHBhcmVudFJlbmRlckJveCA9IHRvUmVuZGVyQm94KG8tPnBhcmVudCgpKTsKKyAgICAvLyBDb21w
dXRlIGFuIG9mZnNldCBiZXR3ZWVuIHRoZSBwYXJ0IHJlbmRlcmVyIGFuZCB0aGUgaW5wdXQgcmVu
ZGVyZXIuCisgICAgSW50U2l6ZSBvZmZzZXRGcm9tSW5wdXRSZW5kZXJlciA9IC0ocGFydFJlbmRl
cmVyLT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIoaW5wdXRSZW5kZXJlcikpOworICAgIC8v
IE1vdmUgdGhlIHJlY3QgaW50byBwYXJ0UmVuZGVyZXIncyBjb29yZHMuCisgICAgcGFydFJlY3Qu
bW92ZShvZmZzZXRGcm9tSW5wdXRSZW5kZXJlcik7CisgICAgLy8gQWNjb3VudCBmb3IgdGhlIGxv
Y2FsIGRyYXdpbmcgb2Zmc2V0LgorICAgIHBhcnRSZWN0Lm1vdmUobG9jYWxPZmZzZXQueCgpLCBs
b2NhbE9mZnNldC55KCkpOwogCi0gICAgSW50UmVjdCBwYXJlbnRCb3ggPSBwYXJlbnRSZW5kZXJC
b3gtPmFic29sdXRlQ29udGVudEJveCgpOworICAgIHJldHVybiBwYXJ0UmVjdDsKK30KIAotICAg
IC8vIE1ha2Ugc3VyZSB0aGUgc2NhbGVkIGJ1dHRvbiBzdGF5cyBzcXVhcmUgYW5kIHdpbGwgZml0
IGluIGl0cyBwYXJlbnQncyBib3gKLSAgICBib3VuZHMuc2V0SGVpZ2h0KHN0ZDo6bWluKHBhcmVu
dEJveC53aWR0aCgpLCBzdGQ6Om1pbihwYXJlbnRCb3guaGVpZ2h0KCksIGJvdW5kcy5oZWlnaHQo
KSkpKTsKLSAgICBib3VuZHMuc2V0V2lkdGgoYm91bmRzLmhlaWdodCgpKTsKK2Jvb2wgUmVuZGVy
VGhlbWVDaHJvbWl1bVNraWE6OnBhaW50U2VhcmNoRmllbGRDYW5jZWxCdXR0b24oUmVuZGVyT2Jq
ZWN0KiBjYW5jZWxCdXR0b25PYmplY3QsIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCit7CisgICAgLy8gR2V0IHRoZSByZW5kZXJlciBv
ZiA8aW5wdXQ+IGVsZW1lbnQuCisgICAgTm9kZSogaW5wdXQgPSBjYW5jZWxCdXR0b25PYmplY3Qt
Pm5vZGUoKS0+c2hhZG93QW5jZXN0b3JOb2RlKCk7CisgICAgaWYgKCFpbnB1dC0+cmVuZGVyZXIo
KS0+aXNCb3goKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIFJlbmRlckJveCogaW5wdXRS
ZW5kZXJCb3ggPSB0b1JlbmRlckJveChpbnB1dC0+cmVuZGVyZXIoKSk7CisgICAgSW50UmVjdCBp
bnB1dENvbnRlbnRCb3ggPSBpbnB1dFJlbmRlckJveC0+Y29udGVudEJveFJlY3QoKTsKIAorICAg
IC8vIE1ha2Ugc3VyZSB0aGUgc2NhbGVkIGJ1dHRvbiBzdGF5cyBzcXVhcmUgYW5kIHdpbGwgZml0
IGluIGl0cyBwYXJlbnQncyBib3guCisgICAgaW50IGNhbmNlbEJ1dHRvblNpemUgPSBzdGQ6Om1p
bihpbnB1dENvbnRlbnRCb3gud2lkdGgoKSwgc3RkOjptaW4oaW5wdXRDb250ZW50Qm94LmhlaWdo
dCgpLCByLmhlaWdodCgpKSk7CisgICAgLy8gQ2FsY3VsYXRlIGNhbmNlbCBidXR0b24ncyBjb29y
ZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgaW5wdXQgZWxlbWVudC4KICAgICAvLyBDZW50ZXIgdGhl
IGJ1dHRvbiB2ZXJ0aWNhbGx5LiAgUm91bmQgdXAgdGhvdWdoLCBzbyBpZiBpdCBoYXMgdG8gYmUg
b25lIHBpeGVsIG9mZi1jZW50ZXIsIGl0IHdpbGwKICAgICAvLyBiZSBvbmUgcGl4ZWwgY2xvc2Vy
IHRvIHRoZSBib3R0b20gb2YgdGhlIGZpZWxkLiAgVGhpcyB0ZW5kcyB0byBsb29rIGJldHRlciB3
aXRoIHRoZSB0ZXh0LgotICAgIGJvdW5kcy5zZXRZKHBhcmVudEJveC55KCkgKyAocGFyZW50Qm94
LmhlaWdodCgpIC0gYm91bmRzLmhlaWdodCgpICsgMSkgLyAyKTsKKyAgICBJbnRSZWN0IGNhbmNl
bEJ1dHRvblJlY3QoY2FuY2VsQnV0dG9uT2JqZWN0LT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWlu
ZXIoaW5wdXRSZW5kZXJCb3gpLndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlucHV0Q29udGVudEJveC55KCkgKyAoaW5wdXRDb250ZW50Qm94LmhlaWdodCgpIC0gY2FuY2Vs
QnV0dG9uU2l6ZSArIDEpIC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2Vs
QnV0dG9uU2l6ZSwgY2FuY2VsQnV0dG9uU2l6ZSk7CisgICAgSW50UmVjdCBwYWludGluZ1JlY3Qg
PSBjb252ZXJ0VG9QYWludGluZ1JlY3QoaW5wdXRSZW5kZXJCb3gsIGNhbmNlbEJ1dHRvbk9iamVj
dCwgY2FuY2VsQnV0dG9uUmVjdCwgcik7CiAKICAgICBzdGF0aWMgSW1hZ2UqIGNhbmNlbEltYWdl
ID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKCJzZWFyY2hDYW5jZWwiKS5yZWxlYXNlUmVm
KCk7CiAgICAgc3RhdGljIEltYWdlKiBjYW5jZWxQcmVzc2VkSW1hZ2UgPSBJbWFnZTo6bG9hZFBs
YXRmb3JtUmVzb3VyY2UoInNlYXJjaENhbmNlbFByZXNzZWQiKS5yZWxlYXNlUmVmKCk7Ci0gICAg
aS5jb250ZXh0LT5kcmF3SW1hZ2UoaXNQcmVzc2VkKG8pID8gY2FuY2VsUHJlc3NlZEltYWdlIDog
Y2FuY2VsSW1hZ2UsIG8tPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgYm91bmRzKTsKKyAgICBwYWlu
dEluZm8uY29udGV4dC0+ZHJhd0ltYWdlKGlzUHJlc3NlZChjYW5jZWxCdXR0b25PYmplY3QpID8g
Y2FuY2VsUHJlc3NlZEltYWdlIDogY2FuY2VsSW1hZ2UsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjYW5jZWxCdXR0b25PYmplY3QtPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgcGFp
bnRpbmdSZWN0KTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTQ0NSwyNiArNDU4LDI3IEBA
IHZvaWQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0Rl
Y29yYXRpb25TdHlsZShDU1NTdHlsZVNlCiAgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgobWFn
bmlmaWVyU2l6ZSwgRml4ZWQpKTsKIH0KIAotYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6
cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKFJlbmRlck9iamVjdCogbywgY29uc3Qg
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpCitib29sIFJlbmRl
clRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb24oUmVu
ZGVyT2JqZWN0KiBtYWduaWZpZXJPYmplY3QsIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCiB7Ci0gICAgSW50UmVjdCBib3VuZHMgPSBy
OwotICAgIEFTU0VSVChvLT5wYXJlbnQoKSk7Ci0gICAgaWYgKCFvLT5wYXJlbnQoKSB8fCAhby0+
cGFyZW50KCktPmlzQm94KCkpCisgICAgLy8gR2V0IHRoZSByZW5kZXJlciBvZiA8aW5wdXQ+IGVs
ZW1lbnQuCisgICAgTm9kZSogaW5wdXQgPSBtYWduaWZpZXJPYmplY3QtPm5vZGUoKS0+c2hhZG93
QW5jZXN0b3JOb2RlKCk7CisgICAgaWYgKCFpbnB1dC0+cmVuZGVyZXIoKS0+aXNCb3goKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIFJlbmRlckJveCogaW5wdXRSZW5kZXJCb3ggPSB0b1Jl
bmRlckJveChpbnB1dC0+cmVuZGVyZXIoKSk7CisgICAgSW50UmVjdCBpbnB1dENvbnRlbnRCb3gg
PSBpbnB1dFJlbmRlckJveC0+Y29udGVudEJveFJlY3QoKTsKIAotICAgIFJlbmRlckJveCogcGFy
ZW50UmVuZGVyQm94ID0gdG9SZW5kZXJCb3goby0+cGFyZW50KCkpOwotICAgIEludFJlY3QgcGFy
ZW50Qm94ID0gcGFyZW50UmVuZGVyQm94LT5hYnNvbHV0ZUNvbnRlbnRCb3goKTsKLQotICAgIC8v
IE1ha2Ugc3VyZSB0aGUgc2NhbGVkIGRlY29yYXRpb24gc3RheXMgc3F1YXJlIGFuZCB3aWxsIGZp
dCBpbiBpdHMgcGFyZW50J3MgYm94Ci0gICAgYm91bmRzLnNldEhlaWdodChzdGQ6Om1pbihwYXJl
bnRCb3gud2lkdGgoKSwgc3RkOjptaW4ocGFyZW50Qm94LmhlaWdodCgpLCBib3VuZHMuaGVpZ2h0
KCkpKSk7Ci0gICAgYm91bmRzLnNldFdpZHRoKGJvdW5kcy5oZWlnaHQoKSk7Ci0KKyAgICAvLyBN
YWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNvcmF0aW9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQg
aW4gaXRzIHBhcmVudCdzIGJveC4KKyAgICBpbnQgbWFnbmlmaWVyU2l6ZSA9IHN0ZDo6bWluKGlu
cHV0Q29udGVudEJveC53aWR0aCgpLCBzdGQ6Om1pbihpbnB1dENvbnRlbnRCb3guaGVpZ2h0KCks
IHIuaGVpZ2h0KCkpKTsKKyAgICAvLyBDYWxjdWxhdGUgZGVjb3JhdGlvbidzIGNvb3JkaW5hdGVz
IHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBlbGVtZW50LgogICAgIC8vIENlbnRlciB0aGUgZGVjb3Jh
dGlvbiB2ZXJ0aWNhbGx5LiAgUm91bmQgdXAgdGhvdWdoLCBzbyBpZiBpdCBoYXMgdG8gYmUgb25l
IHBpeGVsIG9mZi1jZW50ZXIsIGl0IHdpbGwKICAgICAvLyBiZSBvbmUgcGl4ZWwgY2xvc2VyIHRv
IHRoZSBib3R0b20gb2YgdGhlIGZpZWxkLiAgVGhpcyB0ZW5kcyB0byBsb29rIGJldHRlciB3aXRo
IHRoZSB0ZXh0LgotICAgIGJvdW5kcy5zZXRZKHBhcmVudEJveC55KCkgKyAocGFyZW50Qm94Lmhl
aWdodCgpIC0gYm91bmRzLmhlaWdodCgpICsgMSkgLyAyKTsKKyAgICBJbnRSZWN0IG1hZ25pZmll
clJlY3QobWFnbmlmaWVyT2JqZWN0LT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIoaW5wdXRS
ZW5kZXJCb3gpLndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Q29udGVu
dEJveC55KCkgKyAoaW5wdXRDb250ZW50Qm94LmhlaWdodCgpIC0gbWFnbmlmaWVyU2l6ZSArIDEp
IC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnbmlmaWVyU2l6ZSwgbWFnbmlmaWVy
U2l6ZSk7CisgICAgSW50UmVjdCBwYWludGluZ1JlY3QgPSBjb252ZXJ0VG9QYWludGluZ1JlY3Qo
aW5wdXRSZW5kZXJCb3gsIG1hZ25pZmllck9iamVjdCwgbWFnbmlmaWVyUmVjdCwgcik7CiAKICAg
ICBzdGF0aWMgSW1hZ2UqIG1hZ25pZmllckltYWdlID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291
cmNlKCJzZWFyY2hNYWduaWZpZXIiKS5yZWxlYXNlUmVmKCk7Ci0gICAgaS5jb250ZXh0LT5kcmF3
SW1hZ2UobWFnbmlmaWVySW1hZ2UsIG8tPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgYm91bmRzKTsK
KyAgICBwYWludEluZm8uY29udGV4dC0+ZHJhd0ltYWdlKG1hZ25pZmllckltYWdlLCBtYWduaWZp
ZXJPYmplY3QtPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgcGFpbnRpbmdSZWN0KTsKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKQEAgLTQ3OSwyOCArNDkzLDI1IEBAIHZvaWQgUmVuZGVyVGhlbWVDaHJv
bWl1bVNraWE6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblN0eWxlKENTU1N0eWxlU2Vs
ZWN0CiAgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgobWFnbmlmaWVySGVpZ2h0LCBGaXhlZCkp
OwogfQogCi1ib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiBpLCBjb25zdCBJbnRSZWN0JiByKQorYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFp
bnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oUmVuZGVyT2JqZWN0KiBtYWduaWZpZXJPYmplY3Qs
IGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3Qm
IHIpCiB7Ci0gICAgSW50UmVjdCBib3VuZHMgPSByOwotICAgIEFTU0VSVChvLT5wYXJlbnQoKSk7
Ci0gICAgaWYgKCFvLT5wYXJlbnQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICgh
by0+cGFyZW50KCkgfHwgIW8tPnBhcmVudCgpLT5pc0JveCgpKQorICAgIC8vIEdldCB0aGUgcmVu
ZGVyZXIgb2YgPGlucHV0PiBlbGVtZW50LgorICAgIE5vZGUqIGlucHV0ID0gbWFnbmlmaWVyT2Jq
ZWN0LT5ub2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOworICAgIGlmICghaW5wdXQtPnJlbmRl
cmVyKCktPmlzQm94KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBSZW5kZXJCb3gqIGlu
cHV0UmVuZGVyQm94ID0gdG9SZW5kZXJCb3goaW5wdXQtPnJlbmRlcmVyKCkpOworICAgIEludFJl
Y3QgaW5wdXRDb250ZW50Qm94ID0gaW5wdXRSZW5kZXJCb3gtPmNvbnRlbnRCb3hSZWN0KCk7CiAK
LSAgICBSZW5kZXJCb3gqIHBhcmVudFJlbmRlckJveCA9IHRvUmVuZGVyQm94KG8tPnBhcmVudCgp
KTsKLSAgICBJbnRSZWN0IHBhcmVudEJveCA9IHBhcmVudFJlbmRlckJveC0+YWJzb2x1dGVDb250
ZW50Qm94KCk7Ci0KLSAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNvcmF0aW9uIHdpbGwg
Zml0IGluIGl0cyBwYXJlbnQncyBib3gKLSAgICBib3VuZHMuc2V0SGVpZ2h0KHN0ZDo6bWluKHBh
cmVudEJveC5oZWlnaHQoKSwgYm91bmRzLmhlaWdodCgpKSk7Ci0gICAgYm91bmRzLnNldFdpZHRo
KHN0ZDo6bWluKHBhcmVudEJveC53aWR0aCgpLCBzdGF0aWNfY2FzdDxpbnQ+KGJvdW5kcy5oZWln
aHQoKSAqIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCAvIGRlZmF1bHRTZWFy
Y2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSkpKTsKLQotICAgIC8vIENlbnRlciB0aGUgYnV0
dG9uIHZlcnRpY2FsbHkuICBSb3VuZCB1cCB0aG91Z2gsIHNvIGlmIGl0IGhhcyB0byBiZSBvbmUg
cGl4ZWwgb2ZmLWNlbnRlciwgaXQgd2lsbAotICAgIC8vIGJlIG9uZSBwaXhlbCBjbG9zZXIgdG8g
dGhlIGJvdHRvbSBvZiB0aGUgZmllbGQuICBUaGlzIHRlbmRzIHRvIGxvb2sgYmV0dGVyIHdpdGgg
dGhlIHRleHQuCi0gICAgYm91bmRzLnNldFkocGFyZW50Qm94LnkoKSArIChwYXJlbnRCb3guaGVp
Z2h0KCkgLSBib3VuZHMuaGVpZ2h0KCkgKyAxKSAvIDIpOworICAgIC8vIE1ha2Ugc3VyZSB0aGUg
c2NhbGVkIGRlY29yYXRpb24gd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveC4KKyAgICBpbnQg
bWFnbmlmaWVySGVpZ2h0ID0gc3RkOjptaW4oaW5wdXRDb250ZW50Qm94LmhlaWdodCgpLCByLmhl
aWdodCgpKTsKKyAgICBpbnQgbWFnbmlmaWVyV2lkdGggPSBzdGQ6Om1pbihpbnB1dENvbnRlbnRC
b3gud2lkdGgoKSwgc3RhdGljX2Nhc3Q8aW50PihtYWduaWZpZXJIZWlnaHQgKiBkZWZhdWx0U2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uV2lkdGggLyBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblNpemUpKTsKKyAgICBJbnRSZWN0IG1hZ25pZmllclJlY3QobWFnbmlmaWVyT2JqZWN0
LT5vZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIoaW5wdXRSZW5kZXJCb3gpLndpZHRoKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0Q29udGVudEJveC55KCkgKyAoaW5wdXRDb250
ZW50Qm94LmhlaWdodCgpIC0gbWFnbmlmaWVySGVpZ2h0ICsgMSkgLyAyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBtYWduaWZpZXJXaWR0aCwgbWFnbmlmaWVySGVpZ2h0KTsKKyAgICBJbnRS
ZWN0IHBhaW50aW5nUmVjdCA9IGNvbnZlcnRUb1BhaW50aW5nUmVjdChpbnB1dFJlbmRlckJveCwg
bWFnbmlmaWVyT2JqZWN0LCBtYWduaWZpZXJSZWN0LCByKTsKIAogICAgIHN0YXRpYyBJbWFnZSog
bWFnbmlmaWVySW1hZ2UgPSBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoInNlYXJjaE1hZ25p
ZmllclJlc3VsdHMiKS5yZWxlYXNlUmVmKCk7Ci0gICAgaS5jb250ZXh0LT5kcmF3SW1hZ2UobWFn
bmlmaWVySW1hZ2UsIG8tPnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgYm91bmRzKTsKKyAgICBwYWlu
dEluZm8uY29udGV4dC0+ZHJhd0ltYWdlKG1hZ25pZmllckltYWdlLCBtYWduaWZpZXJPYmplY3Qt
PnN0eWxlKCktPmNvbG9yU3BhY2UoKSwgcGFpbnRpbmdSZWN0KTsKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1T
a2lhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCmluZGV4
IDE4ZmE4NTkuLjVjOTMzY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1Ta2lhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bVNraWEuaApAQCAtMTUzLDYgKzE1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBw
cml2YXRlOgogICAgICAgICBpbnQgbWVudUxpc3RJbnRlcm5hbFBhZGRpbmcoUmVuZGVyU3R5bGUq
LCBpbnQgcGFkZGluZ1R5cGUpIGNvbnN0OwogICAgICAgICBib29sIHBhaW50TWVkaWFCdXR0b25J
bnRlcm5hbChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiwgSW1hZ2UqKTsKKyAgICAg
ICAgSW50UmVjdCBjb252ZXJ0VG9QYWludGluZ1JlY3QoUmVuZGVyT2JqZWN0KiBpbnB1dFJlbmRl
cmVyLCBjb25zdCBSZW5kZXJPYmplY3QqIHBhcnRSZW5kZXJlciwgSW50UmVjdCBwYXJ0UmVjdCwg
Y29uc3QgSW50UmVjdCYgbG9jYWxPZmZzZXQpIGNvbnN0OwogICAgIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>