<?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>45400</bug_id>
          
          <creation_ts>2010-09-08 10:54:48 -0700</creation_ts>
          <short_desc>chromium/mac: let image layer data row order match skia</short_desc>
          <delta_ts>2010-09-14 14:02:53 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nico Weber">thakis</reporter>
          <assigned_to name="Nico Weber">thakis</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>275934</commentid>
    <comment_count>0</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-08 10:54:48 -0700</bug_when>
    <thetext>chromium/mac: let image layer data row order match skia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275936</commentid>
    <comment_count>1</comment_count>
      <attachid>66915</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-08 10:58:21 -0700</bug_when>
    <thetext>Created attachment 66915
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275939</commentid>
    <comment_count>2</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-08 10:59:21 -0700</bug_when>
    <thetext>With this, images are no longer upside down when using the compositor with chrome mac.

This is http://crbug.com/54834</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275942</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-08 11:05:48 -0700</bug_when>
    <thetext>What layout test does this fix?

If none, please add one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275943</commentid>
    <comment_count>4</comment_count>
      <attachid>66915</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-08 11:06:32 -0700</bug_when>
    <thetext>Comment on attachment 66915
Patch

See comment in bug. (If this fixes an existing layout test, add the info to the bug.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275950</commentid>
    <comment_count>5</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-08 11:12:30 -0700</bug_when>
    <thetext>This happens on a lot of images (every image with a css transform i believe), so I&apos;m pretty sure this is covered by existing layout tests. The problem is that we don&apos;t run layout tests with compositing enabled yet, which is why this wasn&apos;t caught by tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275953</commentid>
    <comment_count>6</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-09-08 11:17:04 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This happens on a lot of images (every image with a css transform i believe), so I&apos;m pretty sure this is covered by existing layout tests. The problem is that we don&apos;t run layout tests with compositing enabled yet, which is why this wasn&apos;t caught by tests.

Pls say something simple in the ChangeLog (and I&apos;ll gladly r+ it).

Something like
&quot;Test: This will be caught by layout tests that have images with a css transform when the compositor is turned on for layout tests.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275956</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-08 11:20:10 -0700</bug_when>
    <thetext>There is already Core Graphics-specific logic in ContentLayerChromium (see ContentLayerChromium::SharedValues::SharedValues(), fragmentShaderString) which performs a vertical flip. The origin difference between CG and Skia also affects scrolling; see LayerRendererChromium::drawLayers. Have these been taken into consideration with this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276035</commentid>
    <comment_count>8</comment_count>
      <attachid>66934</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-08 13:50:40 -0700</bug_when>
    <thetext>Created attachment 66934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276037</commentid>
    <comment_count>9</comment_count>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-08 13:52:43 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; There is already Core Graphics-specific logic in ContentLayerChromium (see ContentLayerChromium::SharedValues::SharedValues(), fragmentShaderString) which performs a vertical flip. The origin difference between CG and Skia also affects scrolling; see LayerRendererChromium::drawLayers. Have these been taken into consideration with this patch?

It hasn&apos;t. I just noticed that stuff looked wrong, and with this patch it looks right. After looking at things, it seems to be much cleaner to have the in-memory representation for skia and cg be identical and then remove all these tweaks (like we do in the software path). I&apos;ve uploaded a revised patch that does this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276049</commentid>
    <comment_count>10</comment_count>
      <attachid>66934</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-08 14:04:13 -0700</bug_when>
    <thetext>Comment on attachment 66934
Patch

Please wait with reviewing this in detail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278571</commentid>
    <comment_count>11</comment_count>
      <attachid>66934</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-13 16:43:51 -0700</bug_when>
    <thetext>Comment on attachment 66934
Patch

I&apos;m not sure why this is not necessary for ImageLayerChromium too, but ImageCG.cpp calls     CGContextScaleCTM(context, 1, -1) as well, so I suppose CGImageRefs are already flipped for some reason.

This change is ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278587</commentid>
    <comment_count>12</comment_count>
      <attachid>66934</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-13 17:20:56 -0700</bug_when>
    <thetext>Comment on attachment 66934
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=66934&amp;action=prettypatch

Thanks for cleaning this up. Would appreciate it if you could clean up two very minor things before commit.

&gt; WebCore/ChangeLog:20
&gt; +        (WebCore::ImageLayerChromium::updateContents):
Could you regenerate the ChangeLog? ImageLayerChromium.cpp isn&apos;t touched in the diffs below.

&gt; WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:-87
&gt; -        &quot;  vec4 texColor = texture2D(s_texture, vec2(v_texCoord.x, 1.0 - v_texCoord.y)); \n&quot;
Could you please clean up the comment at the top of the fragmentShaderString too, in particular the reference to the differences in origin?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278621</commentid>
    <comment_count>13</comment_count>
      <attachid>67500</attachid>
    <who name="Nico Weber">thakis</who>
    <bug_when>2010-09-13 18:20:04 -0700</bug_when>
    <thetext>Created attachment 67500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278639</commentid>
    <comment_count>14</comment_count>
      <attachid>67500</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-09-13 18:46:02 -0700</bug_when>
    <thetext>Comment on attachment 67500
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=67500&amp;action=prettypatch

Looks good to me. The commit queue might reject this because you cq+&apos;d it before it was r+&apos;d; if that happens just cq+ it again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279152</commentid>
    <comment_count>15</comment_count>
      <attachid>67500</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-14 14:02:48 -0700</bug_when>
    <thetext>Comment on attachment 67500
Patch

Clearing flags on attachment: 67500

Committed r67493: &lt;http://trac.webkit.org/changeset/67493&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279153</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-14 14:02:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66915</attachid>
            <date>2010-09-08 10:58:21 -0700</date>
            <delta_ts>2010-09-08 13:50:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45400-20100908105820.patch</filename>
            <type>text/plain</type>
            <size>1741</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWY3NGE5MTVkYTgxZGI0NjJiYjllNTE2MTFmZTY0OGU2MTMzMmZmNy4uZTdkYTJkMjIwMTJkZGFj
Mjk3OTc3NWFmYWMwNjhiMDllODQ1NDg1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wOS0wOCAgTmlj
byBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgY2hyb21pdW0vbWFjOiBsZXQgaW1hZ2UgbGF5ZXIgZGF0
YSByb3cgb3JkZXIgbWF0Y2ggc2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDU0MDAKKworICAgICAgICBDb3JlR3JhcGhpYydzIGNvbnRleHRzIGFy
ZSB1cHNpZGUtZG93biBjb21wYXJlZCB0byBza2lhLCBhbmQKKyAgICAgICAgdXBkYXRlVGV4dHVy
ZVJlY3QoKSBleHBlY3RzIHNraWEgcm93IG9yZGVyLiBTbyBmbGlwIHRoZSBDRyBkYXRhLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29udGVudHMp
OgorCiAyMDEwLTA5LTA3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IENocmlzIE1hcnJpbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vSW1hZ2VMYXllckNocm9taXVtLmNwcAppbmRl
eCAwOWIzODhkOWY5ZGI0NWMyN2QxYzI4NzFhMThjMjVhZGRiMzE4N2U2Li42ODI0YWY5Y2ZmYjBl
NDdiN2Q4NTdhMTcwMjM5NDNjZmE1ZDY5ZTI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0ltYWdlTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9JbWFnZUxheWVyQ2hyb21pdW0uY3BwCkBAIC0xMjYs
NiArMTI2LDggQEAgdm9pZCBJbWFnZUxheWVyQ2hyb21pdW06OnVwZGF0ZUNvbnRlbnRzKCkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29sb3JTcGFjZS5nZXQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0NHSW1hZ2VBbHBo
YVByZW11bHRpcGxpZWRMYXN0KSk7CiAgICAgQ0dDb250ZXh0U2V0QmxlbmRNb2RlKHRlbXBDb250
ZXh0LmdldCgpLCBrQ0dCbGVuZE1vZGVDb3B5KTsKKyAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0o
dGVtcENvbnRleHQuZ2V0KCksIDAsIGhlaWdodCk7CisgICAgQ0dDb250ZXh0U2NhbGVDVE0odGVt
cENvbnRleHQuZ2V0KCksIDEsIC0xKTsKICAgICBDR0NvbnRleHREcmF3SW1hZ2UodGVtcENvbnRl
eHQuZ2V0KCksCiAgICAgICAgICAgICAgICAgICAgICAgIENHUmVjdE1ha2UoMCwgMCwgc3RhdGlj
X2Nhc3Q8Q0dGbG9hdD4od2lkdGgpLCBzdGF0aWNfY2FzdDxDR0Zsb2F0PihoZWlnaHQpKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgY2dJbWFnZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66934</attachid>
            <date>2010-09-08 13:50:40 -0700</date>
            <delta_ts>2010-09-13 18:19:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45400-20100908135038.patch</filename>
            <type>text/plain</type>
            <size>8174</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmNmZjlhZGIwMTY5ZTg0ODIxMGI4OWUzNWMzYTc3ODc2OTgyNjU1ZS4uY2VmYjQ1ZTgwZGRmZWJk
M2IzOWZkZjg2ZTJkYWYxMzkyMDQ1NWM1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0wOS0wOCAgTmlj
byBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgY2hyb21pdW0vbWFjOiBsZXQgaW1hZ2UgbGF5ZXIgZGF0
YSByb3cgb3JkZXIgbWF0Y2ggc2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDU0MDAKKworICAgICAgICBNYWtlIENvcmVHcmFwaGljcyB0ZXh0dXJl
IHJvdyBvcmRlciBtYXRjaCBza2lhJ3Mgcm93IG9yZGVyLCByZW1vdmUgYWxsCisgICAgICAgIGNv
ZGUgdGhhdCB3b3JrZWQgYXJvdW5kIHRoaXMgZGlmZmVyZW5jZS4gVGhpcyBhbHNvIGZpeGVzIGEg
cHJvYmxlbSB3aGVyZQorICAgICAgICBpbWFnZSBsYXllcnMgd291bGQgYmUgZHJhd24gdXBzaWRl
IGRvd24uCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyBsYXlvdXQgdGVzdHMsIGJ1dCB3
ZSBkb24ndCBydW4gdGhlc2Ugd2l0aAorICAgICAgICBjb21wb3NpdGluZyB5ZXQuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50TGF5ZXJDaHJvbWl1bTo6U2hhcmVkVmFsdWVzOjpT
aGFyZWRWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hyb21pdW06OnVw
ZGF0ZUNvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRMYXllckNocm9taXVtOjp1
cGRhdGVUZXh0dXJlUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
SW1hZ2VMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTGF5ZXJDaHJv
bWl1bTo6dXBkYXRlQ29udGVudHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJl
bmRlcmVyQ2hyb21pdW06OnNldFJvb3RMYXllckNhbnZhc1NpemUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3TGF5ZXJzKToKKwogMjAxMC0wOS0wOCAgUGV0
ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2Vk
LCBmYWxsb3V0IGZyb20gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjcwMDEKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVy
Q2hyb21pdW0uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50
TGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggNWM4Yjg2OTNkYTdkZTYzYTIzOTk5ODI4MmQ5YWNmY2Jl
YmNlMWI4My4uZGE0ZDk1YzU5Y2IzODE4ZDJlNzdlNDRiNzQzYTI1N2I5ZjM3MjgyOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJv
bWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50
TGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTgwLDExICs4MCwxMCBAQCBDb250ZW50TGF5ZXJDaHJvbWl1
bTo6U2hhcmVkVmFsdWVzOjpTaGFyZWRWYWx1ZXMoKQogICAgICAgICAidW5pZm9ybSBmbG9hdCBh
bHBoYTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICAgICAidm9pZCBt
YWluKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICAg
ICAieyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu
IgotI2lmIFBMQVRGT1JNKFNLSUEpCiAgICAgICAgICIgIHZlYzQgdGV4Q29sb3IgPSB0ZXh0dXJl
MkQoc190ZXh0dXJlLCB2X3RleENvb3JkKTsgXG4iCisjaWYgUExBVEZPUk0oU0tJQSkKICAgICAg
ICAgIiAgZ2xfRnJhZ0NvbG9yID0gdmVjNCh0ZXhDb2xvci56LCB0ZXhDb2xvci55LCB0ZXhDb2xv
ci54LCB0ZXhDb2xvci53KSAqIGFscGhhOyBcbiIKICNlbGlmIFBMQVRGT1JNKENHKQotICAgICAg
ICAiICB2ZWM0IHRleENvbG9yID0gdGV4dHVyZTJEKHNfdGV4dHVyZSwgdmVjMih2X3RleENvb3Jk
LngsIDEuMCAtIHZfdGV4Q29vcmQueSkpOyBcbiIKICAgICAgICAgIiAgZ2xfRnJhZ0NvbG9yID0g
dmVjNCh0ZXhDb2xvci54LCB0ZXhDb2xvci55LCB0ZXhDb2xvci56LCB0ZXhDb2xvci53KSAqIGFs
cGhhOyBcbiIKICNlbHNlCiAjZXJyb3IgIk5lZWQgdG8gaW1wbGVtZW50IGZvciB5b3VyIHBsYXRm
b3JtLiIKQEAgLTIxMiwxMSArMjExLDEzIEBAIHZvaWQgQ29udGVudExheWVyQ2hyb21pdW06OnVw
ZGF0ZUNvbnRlbnRzKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcnR5UmVjdC53aWR0aCgpLCBkaXJ0eVJlY3Qu
aGVpZ2h0KCksIDgsIHJvd0J5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3JTcGFjZS5nZXQoKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkTGFzdCkpOworICAgIENHQ29udGV4
dFRyYW5zbGF0ZUNUTShjb250ZXh0Q0cuZ2V0KCksIDAsIGRpcnR5UmVjdC5oZWlnaHQoKSk7Cisg
ICAgQ0dDb250ZXh0U2NhbGVDVE0oY29udGV4dENHLmdldCgpLCAxLCAtMSk7CiAKICAgICBHcmFw
aGljc0NvbnRleHQgZ3JhcGhpY3NDb250ZXh0KGNvbnRleHRDRy5nZXQoKSk7CiAgICAgTG9jYWxD
dXJyZW50R3JhcGhpY3NDb250ZXh0IHNjb3BlZE5TR3JhcGhpY3NDb250ZXh0KCZncmFwaGljc0Nv
bnRleHQpOwogCi0gICAgLy8gVHJhbnNsYXRlIHRoZSBncmFwaGljcyBjb250eHQgaW50byB0aGUg
Y29vcmRpbmF0ZSBzeXN0ZW0gb2YgdGhlIGRpcnR5IHJlY3QuCisgICAgLy8gVHJhbnNsYXRlIHRo
ZSBncmFwaGljcyBjb250ZXh0IGludG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIG9mIHRoZSBkaXJ0
eSByZWN0LgogICAgIGdyYXBoaWNzQ29udGV4dC50cmFuc2xhdGUoLWRpcnR5UmVjdC54KCksIC1k
aXJ0eVJlY3QueSgpKTsKIAogICAgIG1fb3duZXItPnBhaW50R3JhcGhpY3NMYXllckNvbnRlbnRz
KGdyYXBoaWNzQ29udGV4dCwgZGlydHlSZWN0KTsKQEAgLTI1MywxNyArMjU0LDcgQEAgdm9pZCBD
b250ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlVGV4dHVyZVJlY3Qodm9pZCogcGl4ZWxzLCBjb25z
dCBJbnRTaXplJiBiaXRtYXAKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQodXBkYXRlUmVj
dC53aWR0aCgpIDw9IG1fYWxsb2NhdGVkVGV4dHVyZVNpemUud2lkdGgoKSAmJiB1cGRhdGVSZWN0
LmhlaWdodCgpIDw9IG1fYWxsb2NhdGVkVGV4dHVyZVNpemUuaGVpZ2h0KCkpOwogICAgICAgICBB
U1NFUlQodXBkYXRlUmVjdC53aWR0aCgpID09IGJpdG1hcFNpemUud2lkdGgoKSAmJiB1cGRhdGVS
ZWN0LmhlaWdodCgpID09IGJpdG1hcFNpemUuaGVpZ2h0KCkpOwotI2lmIFBMQVRGT1JNKENHKQot
ICAgICAgICAvLyBUaGUgb3JpZ2luIGlzIGF0IHRoZSBsb3dlciBsZWZ0IGluIENvcmUgR3JhcGhp
Y3MnIGNvb3JkaW5hdGUgc3lzdGVtLiBXZSBuZWVkIHRvIGNvcnJlY3QgZm9yIHRoaXMgaGVyZS4K
LSAgICAgICAgR0xDKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVwZGF0ZVJlY3QueCgpLCBtX2FsbG9jYXRlZFRleHR1cmVTaXpl
LmhlaWdodCgpIC0gdXBkYXRlUmVjdC5oZWlnaHQoKSAtIHVwZGF0ZVJlY3QueSgpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVJlY3Qud2lkdGgoKSwgdXBkYXRlUmVjdC5oZWln
aHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTF9SR0JBLCBHTF9VTlNJR05FRF9C
WVRFLCBwaXhlbHMpKTsKLSNlbGlmIFBMQVRGT1JNKFNLSUEpCiAgICAgICAgIEdMQyhnbFRleFN1
YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgdXBkYXRlUmVjdC54KCksIHVwZGF0ZVJlY3QueSgp
LCB1cGRhdGVSZWN0LndpZHRoKCksIHVwZGF0ZVJlY3QuaGVpZ2h0KCksIEdMX1JHQkEsIEdMX1VO
U0lHTkVEX0JZVEUsIHBpeGVscykpOwotI2Vsc2UKLSNlcnJvciAiTmVlZCB0byBpbXBsZW1lbnQg
Zm9yIHlvdXIgcGxhdGZvcm0uIgotI2VuZGlmCiAgICAgfQogCiAgICAgbV9kaXJ0eVJlY3Quc2V0
U2l6ZShGbG9hdFNpemUoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXggNzg5Mjk4YWVk
OGNlOTc2MzAyMGNmZTBhZTIyNDhlMzczM2RmMmM4Yy4uYmU1MmI1ZmFkNDEzYThjYWMxMjBjNTU5
MzA2NzdkZWUyMWI3ZWQ4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcApAQCAtMTQxLDYgKzE0
MSw4IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpzZXRSb290TGF5ZXJDYW52YXNTaXpl
KGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCA4LCByb3dC
eXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb2xvclNwYWNlLmdldCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkTGFzdCkpOwor
ICAgIENHQ29udGV4dFRyYW5zbGF0ZUNUTShtX3Jvb3RMYXllckNHQ29udGV4dC5nZXQoKSwgMCwg
c2l6ZS5oZWlnaHQoKSk7CisgICAgQ0dDb250ZXh0U2NhbGVDVE0obV9yb290TGF5ZXJDR0NvbnRl
eHQuZ2V0KCksIDEsIC0xKTsKICAgICBtX3Jvb3RMYXllckdyYXBoaWNzQ29udGV4dCA9IG5ldyBH
cmFwaGljc0NvbnRleHQobV9yb290TGF5ZXJDR0NvbnRleHQuZ2V0KCkpOwogI2Vsc2UKICNlcnJv
ciAiTmVlZCB0byBpbXBsZW1lbnQgZm9yIHlvdXIgcGxhdGZvcm0uIgpAQCAtMjA5LDE5ICsyMTEs
OSBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVycyhjb25zdCBJbnRSZWN0
JiB1cGRhdGVSZWN0LCBjb25zdCBJbnRSZWN0JgogICAgICAgICAvLyByb290IGxheWVyIHRleHR1
cmUuIFRoZSBuZXdseSBleHBvc2VkIGFyZWEgaXMgc3ViZXNxdWVudGx5IGZpbGxlZCBhcyB1c3Vh
bCB3aXRoCiAgICAgICAgIC8vIHRoZSBjb250ZW50cyBvZiB0aGUgdXBkYXRlUmVjdC4KICAgICAg
ICAgVHJhbnNmb3JtYXRpb25NYXRyaXggc2Nyb2xsZWRMYXllck1hdHJpeDsKLSNpZiBQTEFURk9S
TShTS0lBKQotICAgICAgICBmbG9hdCBzY2FsZUZhY3RvciA9IDEuMGY7Ci0jZWxpZiBQTEFURk9S
TShDRykKLSAgICAgICAgLy8gQmVjYXVzZSB0aGUgY29udGVudHMgb2YgdGhlIE9wZW5HTCB0ZXh0
dXJlIGFyZSBpbnZlcnRlZAotICAgICAgICAvLyB2ZXJ0aWNhbGx5IGNvbXBhcmVkIHRvIHRoZSBT
a2lhIGJhY2tlbmQsIHdlIG5lZWQgdG8gbW92ZQotICAgICAgICAvLyB0aGUgYmFja2luZyBzdG9y
ZSBpbiB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLgotICAgICAgICBmbG9hdCBzY2FsZUZhY3RvciA9
IC0xLjBmOwotI2Vsc2UKLSNlcnJvciAiTmVlZCB0byBpbXBsZW1lbnQgZm9yIHlvdXIgcGxhdGZv
cm0uIgotI2VuZGlmCiAKICAgICAgICAgc2Nyb2xsZWRMYXllck1hdHJpeC50cmFuc2xhdGUzZCgw
LjUgKiB2aXNpYmxlUmVjdC53aWR0aCgpIC0gc2Nyb2xsRGVsdGEueCgpLAotICAgICAgICAgICAg
MC41ICogdmlzaWJsZVJlY3QuaGVpZ2h0KCkgKyBzY2FsZUZhY3RvciAqIHNjcm9sbERlbHRhLnko
KSwgMCk7CisgICAgICAgICAgICAwLjUgKiB2aXNpYmxlUmVjdC5oZWlnaHQoKSArIHNjcm9sbERl
bHRhLnkoKSwgMCk7CiAgICAgICAgIHNjcm9sbGVkTGF5ZXJNYXRyaXguc2NhbGUzZCgxLCAtMSwg
MSk7CiAKICAgICAgICAgdXNlU2hhZGVyKG1fc2Nyb2xsU2hhZGVyUHJvZ3JhbSk7CkBAIC0yNTIs
MjMgKzI0NCwxNSBAQCB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVycyhjb25z
dCBJbnRSZWN0JiB1cGRhdGVSZWN0LCBjb25zdCBJbnRSZWN0JgogICAgICAgICBpbnQgcm9vdExh
eWVySGVpZ2h0ID0gYml0bWFwLmhlaWdodCgpOwogICAgICAgICBBU1NFUlQocm9vdExheWVyV2lk
dGggPT0gdXBkYXRlUmVjdC53aWR0aCgpICYmIHJvb3RMYXllckhlaWdodCA9PSB1cGRhdGVSZWN0
LmhlaWdodCgpKTsKICAgICAgICAgdm9pZCogcGl4ZWxzID0gYml0bWFwLmdldFBpeGVscygpOwot
Ci0gICAgICAgIC8vIENvcHkgdGhlIGNvbnRlbnRzIG9mIHRoZSB1cGRhdGVkIHJlY3QgdG8gdGhl
IHJvb3QgbGF5ZXIgdGV4dHVyZS4KLSAgICAgICAgR0xDKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhU
VVJFXzJELCAwLCB1cGRhdGVSZWN0LngoKSwgdXBkYXRlUmVjdC55KCksIHVwZGF0ZVJlY3Qud2lk
dGgoKSwgdXBkYXRlUmVjdC5oZWlnaHQoKSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgcGl4
ZWxzKSk7CiAjZWxpZiBQTEFURk9STShDRykKICAgICAgICAgLy8gR2V0IHRoZSBjb250ZW50cyBv
ZiB0aGUgdXBkYXRlZCByZWN0LgogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihDR0Jp
dG1hcENvbnRleHRHZXRXaWR0aChtX3Jvb3RMYXllckNHQ29udGV4dC5nZXQoKSkpID09IHVwZGF0
ZVJlY3Qud2lkdGgoKSAmJiBzdGF0aWNfY2FzdDxpbnQ+KENHQml0bWFwQ29udGV4dEdldEhlaWdo
dChtX3Jvb3RMYXllckNHQ29udGV4dC5nZXQoKSkpID09IHVwZGF0ZVJlY3QuaGVpZ2h0KCkpOwog
ICAgICAgICB2b2lkKiBwaXhlbHMgPSBtX3Jvb3RMYXllckJhY2tpbmdTdG9yZS5kYXRhKCk7Ci0K
LSAgICAgICAgLy8gQ29weSB0aGUgY29udGVudHMgb2YgdGhlIHVwZGF0ZWQgcmVjdCB0byB0aGUg
cm9vdCBsYXllciB0ZXh0dXJlLgotICAgICAgICAvLyBUaGUgb3JpZ2luIGlzIGF0IHRoZSBsb3dl
ciBsZWZ0IGluIENvcmUgR3JhcGhpY3MnIGNvb3JkaW5hdGUgc3lzdGVtLiBXZSBuZWVkIHRvIGNv
cnJlY3QgZm9yIHRoaXMgaGVyZS4KLSAgICAgICAgR0xDKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhU
VVJFXzJELCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVJlY3QueCgpLCBt
X3Jvb3RMYXllclRleHR1cmVIZWlnaHQgLSB1cGRhdGVSZWN0LnkoKSAtIHVwZGF0ZVJlY3QuaGVp
Z2h0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUmVjdC53aWR0aCgpLCB1
cGRhdGVSZWN0LmhlaWdodCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMX1JHQkEs
IEdMX1VOU0lHTkVEX0JZVEUsIHBpeGVscykpOwogI2Vsc2UKICNlcnJvciAiTmVlZCB0byBpbXBs
ZW1lbnQgZm9yIHlvdXIgcGxhdGZvcm0uIgogI2VuZGlmCisgICAgICAgIC8vIENvcHkgdGhlIGNv
bnRlbnRzIG9mIHRoZSB1cGRhdGVkIHJlY3QgdG8gdGhlIHJvb3QgbGF5ZXIgdGV4dHVyZS4KKyAg
ICAgICAgR0xDKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCB1cGRhdGVSZWN0Lngo
KSwgdXBkYXRlUmVjdC55KCksIHVwZGF0ZVJlY3Qud2lkdGgoKSwgdXBkYXRlUmVjdC5oZWlnaHQo
KSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgcGl4ZWxzKSk7CiAgICAgfQogCiAgICAgZ2xD
bGVhckNvbG9yKDAsIDAsIDEsIDEpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67500</attachid>
            <date>2010-09-13 18:20:04 -0700</date>
            <delta_ts>2010-09-14 14:02:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45400-20100913182000.patch</filename>
            <type>text/plain</type>
            <size>8590</size>
            <attacher name="Nico Weber">thakis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGIwNzU0MzZiN2Y3MWQ4YzNkYjQ2YjMyYTZhMTNiMDU0MjNmM2IyYS4uODRkYTkwMmM0OGM0YjUx
MmZhNzBjMDI0MmJmZmZhOWQyNDY1MDBjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wOS0xMyAgTmlj
byBXZWJlciAgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSdXNzZWxsLgorCisgICAgICAgIFtjaHJvbWl1bV06IE9uIE1hYywgbGV0IGltYWdlIGxh
eWVyIGRhdGEgcm93IG9yZGVyIG1hdGNoIHNraWEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQwMAorCisgICAgICAgIE1ha2UgQ29yZUdyYXBoaWNz
IHRleHR1cmUgcm93IG9yZGVyIG1hdGNoIHNraWEncyByb3cgb3JkZXIsIHJlbW92ZSBhbGwKKyAg
ICAgICAgY29kZSB0aGF0IHdvcmtlZCBhcm91bmQgdGhpcyBkaWZmZXJlbmNlLiBUaGlzIGFsc28g
Zml4ZXMgYSBwcm9ibGVtIHdoZXJlCisgICAgICAgIGltYWdlIGxheWVycyB3b3VsZCBiZSBkcmF3
biB1cHNpZGUgZG93bi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIGxheW91dCB0ZXN0
cywgYnV0IHdlIGRvbid0IHJ1biB0aGVzZSB3aXRoCisgICAgICAgIGNvbXBvc2l0aW5nIHlldC4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRMYXllckNocm9taXVtOjpTaGFyZWRW
YWx1ZXM6OlNoYXJlZFZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50TGF5ZXJDaHJv
bWl1bTo6dXBkYXRlQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudExheWVyQ2hy
b21pdW06OnVwZGF0ZVRleHR1cmVSZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJSZW5kZXJlckNocm9taXVtOjpzZXRSb290TGF5ZXJDYW52YXNTaXplKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVycyk6CisKIDIwMTAtMDktMTMg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0NvbnRlbnRMYXllckNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwCmluZGV4IDQ4MTE5YmJiZmQzMGRiNjA5ZGMz
Mzg4ODAzODM4YTNkZGU4NjEyMGIuLjQ5Mjg4OTgyMTJkZmRjM2IyZTc3NTYzZGQ3MDJhN2U1OWMx
MGE1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29u
dGVudExheWVyQ2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwCkBAIC03MSw4ICs3MSw4IEBAIENvbnRlbnRM
YXllckNocm9taXVtOjpTaGFyZWRWYWx1ZXM6OlNoYXJlZFZhbHVlcygpCiAgICAgICAgICJ9ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIjsKIAogICAgIC8vIE5vdGUgZGlmZmVyZW5jZXMg
YmV0d2VlbiBTa2lhIGFuZCBDb3JlIEdyYXBoaWNzIHZlcnNpb25zOgotICAgIC8vICAtIFNraWEg
dXNlcyBCR1JBIGFuZCBvcmlnaW4gaXMgdXBwZXIgbGVmdAotICAgIC8vICAtIENvcmUgR3JhcGhp
Y3MgdXNlcyBSR0JBIGFuZCBvcmlnaW4gaXMgbG93ZXIgbGVmdAorICAgIC8vICAtIFNraWEgdXNl
cyBCR1JBCisgICAgLy8gIC0gQ29yZSBHcmFwaGljcyB1c2VzIFJHQkEKICAgICBjaGFyIGZyYWdt
ZW50U2hhZGVyU3RyaW5nW10gPQogICAgICAgICAicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgogICAgICAgICAidmFyeWluZyB2ZWMyIHZfdGV4
Q29vcmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgpAQCAtODAsMTEgKzgwLDEwIEBA
IENvbnRlbnRMYXllckNocm9taXVtOjpTaGFyZWRWYWx1ZXM6OlNoYXJlZFZhbHVlcygpCiAgICAg
ICAgICJ1bmlmb3JtIGZsb2F0IGFscGhhOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XG4iCiAgICAgICAgICJ2b2lkIG1haW4oKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXG4iCiAgICAgICAgICJ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXG4iCi0jaWYgUExBVEZPUk0oU0tJQSkKICAgICAgICAgIiAgdmVj
NCB0ZXhDb2xvciA9IHRleHR1cmUyRChzX3RleHR1cmUsIHZfdGV4Q29vcmQpOyBcbiIKKyNpZiBQ
TEFURk9STShTS0lBKQogICAgICAgICAiICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHRleENvbG9yLnos
IHRleENvbG9yLnksIHRleENvbG9yLngsIHRleENvbG9yLncpICogYWxwaGE7IFxuIgogI2VsaWYg
UExBVEZPUk0oQ0cpCi0gICAgICAgICIgIHZlYzQgdGV4Q29sb3IgPSB0ZXh0dXJlMkQoc190ZXh0
dXJlLCB2ZWMyKHZfdGV4Q29vcmQueCwgMS4wIC0gdl90ZXhDb29yZC55KSk7IFxuIgogICAgICAg
ICAiICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHRleENvbG9yLngsIHRleENvbG9yLnksIHRleENvbG9y
LnosIHRleENvbG9yLncpICogYWxwaGE7IFxuIgogI2Vsc2UKICNlcnJvciAiTmVlZCB0byBpbXBs
ZW1lbnQgZm9yIHlvdXIgcGxhdGZvcm0uIgpAQCAtMjA3LDExICsyMDYsMTMgQEAgdm9pZCBDb250
ZW50TGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29udGVudHMoKQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlydHlSZWN0
LndpZHRoKCksIGRpcnR5UmVjdC5oZWlnaHQoKSwgOCwgcm93Qnl0ZXMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b2xvclNwYWNlLmdldCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRM
YXN0KSk7CisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHRDRy5nZXQoKSwgMCwgZGly
dHlSZWN0LmhlaWdodCgpKTsKKyAgICBDR0NvbnRleHRTY2FsZUNUTShjb250ZXh0Q0cuZ2V0KCks
IDEsIC0xKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dCBncmFwaGljc0NvbnRleHQoY29udGV4dENH
LmdldCgpKTsKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgc2NvcGVkTlNHcmFwaGlj
c0NvbnRleHQoJmdyYXBoaWNzQ29udGV4dCk7CiAKLSAgICAvLyBUcmFuc2xhdGUgdGhlIGdyYXBo
aWNzIGNvbnR4dCBpbnRvIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUgZGlydHkgcmVjdC4K
KyAgICAvLyBUcmFuc2xhdGUgdGhlIGdyYXBoaWNzIGNvbnRleHQgaW50byB0aGUgY29vcmRpbmF0
ZSBzeXN0ZW0gb2YgdGhlIGRpcnR5IHJlY3QuCiAgICAgZ3JhcGhpY3NDb250ZXh0LnRyYW5zbGF0
ZSgtZGlydHlSZWN0LngoKSwgLWRpcnR5UmVjdC55KCkpOwogCiAgICAgbV9vd25lci0+cGFpbnRH
cmFwaGljc0xheWVyQ29udGVudHMoZ3JhcGhpY3NDb250ZXh0LCBkaXJ0eVJlY3QpOwpAQCAtMjQ4
LDE3ICsyNDksNyBAQCB2b2lkIENvbnRlbnRMYXllckNocm9taXVtOjp1cGRhdGVUZXh0dXJlUmVj
dCh2b2lkKiBwaXhlbHMsIGNvbnN0IEludFNpemUmIGJpdG1hcAogICAgIH0gZWxzZSB7CiAgICAg
ICAgIEFTU0VSVCh1cGRhdGVSZWN0LndpZHRoKCkgPD0gbV9hbGxvY2F0ZWRUZXh0dXJlU2l6ZS53
aWR0aCgpICYmIHVwZGF0ZVJlY3QuaGVpZ2h0KCkgPD0gbV9hbGxvY2F0ZWRUZXh0dXJlU2l6ZS5o
ZWlnaHQoKSk7CiAgICAgICAgIEFTU0VSVCh1cGRhdGVSZWN0LndpZHRoKCkgPT0gYml0bWFwU2l6
ZS53aWR0aCgpICYmIHVwZGF0ZVJlY3QuaGVpZ2h0KCkgPT0gYml0bWFwU2l6ZS5oZWlnaHQoKSk7
Ci0jaWYgUExBVEZPUk0oQ0cpCi0gICAgICAgIC8vIFRoZSBvcmlnaW4gaXMgYXQgdGhlIGxvd2Vy
IGxlZnQgaW4gQ29yZSBHcmFwaGljcycgY29vcmRpbmF0ZSBzeXN0ZW0uIFdlIG5lZWQgdG8gY29y
cmVjdCBmb3IgdGhpcyBoZXJlLgotICAgICAgICBHTEMoZ2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRV
UkVfMkQsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUmVjdC54KCksIG1f
YWxsb2NhdGVkVGV4dHVyZVNpemUuaGVpZ2h0KCkgLSB1cGRhdGVSZWN0LmhlaWdodCgpIC0gdXBk
YXRlUmVjdC55KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUmVjdC53aWR0
aCgpLCB1cGRhdGVSZWN0LmhlaWdodCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdM
X1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIHBpeGVscykpOwotI2VsaWYgUExBVEZPUk0oU0tJQSkK
ICAgICAgICAgR0xDKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCB1cGRhdGVSZWN0
LngoKSwgdXBkYXRlUmVjdC55KCksIHVwZGF0ZVJlY3Qud2lkdGgoKSwgdXBkYXRlUmVjdC5oZWln
aHQoKSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgcGl4ZWxzKSk7Ci0jZWxzZQotI2Vycm9y
ICJOZWVkIHRvIGltcGxlbWVudCBmb3IgeW91ciBwbGF0Zm9ybS4iCi0jZW5kaWYKICAgICB9CiAK
ICAgICBtX2RpcnR5UmVjdC5zZXRTaXplKEZsb2F0U2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmNwcAppbmRleCA4OTYwODQxMzA5MDQyMzlhMTg2YjIwNzliMTA3YmRmN2QzMWNhMTMwLi44MTE3
YjNmZmIyODRlMmRmZDE3N2FmNjdhZDNlMjFkYWIwYThlNjVhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwCkBAIC0xMzgsNiArMTM4LDggQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OnNl
dFJvb3RMYXllckNhbnZhc1NpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplLndpZHRoKCksIHNp
emUuaGVpZ2h0KCksIDgsIHJvd0J5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yU3BhY2UuZ2V0KCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga0NHSW1hZ2VBbHBoYVBy
ZW11bHRpcGxpZWRMYXN0KSk7CisgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKG1fcm9vdExheWVy
Q0dDb250ZXh0LmdldCgpLCAwLCBzaXplLmhlaWdodCgpKTsKKyAgICBDR0NvbnRleHRTY2FsZUNU
TShtX3Jvb3RMYXllckNHQ29udGV4dC5nZXQoKSwgMSwgLTEpOwogICAgIG1fcm9vdExheWVyR3Jh
cGhpY3NDb250ZXh0ID0gbmV3IEdyYXBoaWNzQ29udGV4dChtX3Jvb3RMYXllckNHQ29udGV4dC5n
ZXQoKSk7CiAjZWxzZQogI2Vycm9yICJOZWVkIHRvIGltcGxlbWVudCBmb3IgeW91ciBwbGF0Zm9y
bS4iCkBAIC0yMDQsMTkgKzIwNiw5IEBAIHZvaWQgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpwcmVw
YXJlVG9EcmF3TGF5ZXJzKGNvbnN0IEludFJlY3QmIHZpc2libGVSZWN0LCBjb25zCiAgICAgICAg
IC8vIHBpeGVscyBvZiB0aGUgY29udGVudCBhcmVhICh2aXNpYmxlIGFyZWEgZXhjbHVkaW5nIHRo
ZSBzY3JvbGwgYmFycykgYmFjayBpbnRvIHRoZQogICAgICAgICAvLyByb290IGxheWVyIHRleHR1
cmUuIFRoZSBuZXdseSBleHBvc2VkIGFyZWEgd2lsbCBiZSBmaWxsZWQgYnkgYSBzdWJzZXF1ZW50
IGRyYXdMYXllcnNJbnRvUmVjdCBjYWxsCiAgICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHNj
cm9sbGVkTGF5ZXJNYXRyaXg7Ci0jaWYgUExBVEZPUk0oU0tJQSkKLSAgICAgICAgZmxvYXQgc2Nh
bGVGYWN0b3IgPSAxLjBmOwotI2VsaWYgUExBVEZPUk0oQ0cpCi0gICAgICAgIC8vIEJlY2F1c2Ug
dGhlIGNvbnRlbnRzIG9mIHRoZSBPcGVuR0wgdGV4dHVyZSBhcmUgaW52ZXJ0ZWQKLSAgICAgICAg
Ly8gdmVydGljYWxseSBjb21wYXJlZCB0byB0aGUgU2tpYSBiYWNrZW5kLCB3ZSBuZWVkIHRvIG1v
dmUKLSAgICAgICAgLy8gdGhlIGJhY2tpbmcgc3RvcmUgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlv
bi4KLSAgICAgICAgZmxvYXQgc2NhbGVGYWN0b3IgPSAtMS4wZjsKLSNlbHNlCi0jZXJyb3IgIk5l
ZWQgdG8gaW1wbGVtZW50IGZvciB5b3VyIHBsYXRmb3JtLiIKLSNlbmRpZgogCiAgICAgICAgIHNj
cm9sbGVkTGF5ZXJNYXRyaXgudHJhbnNsYXRlM2QoMC41ICogdmlzaWJsZVJlY3Qud2lkdGgoKSAt
IHNjcm9sbERlbHRhLngoKSwKLSAgICAgICAgICAgIDAuNSAqIHZpc2libGVSZWN0LmhlaWdodCgp
ICsgc2NhbGVGYWN0b3IgKiBzY3JvbGxEZWx0YS55KCksIDApOworICAgICAgICAgICAgMC41ICog
dmlzaWJsZVJlY3QuaGVpZ2h0KCkgKyBzY3JvbGxEZWx0YS55KCksIDApOwogICAgICAgICBzY3Jv
bGxlZExheWVyTWF0cml4LnNjYWxlM2QoMSwgLTEsIDEpOwogCiAgICAgICAgIHVzZVNoYWRlciht
X3Njcm9sbFNoYWRlclByb2dyYW0pOwpAQCAtMjY1LDIyICsyNTcsMTUgQEAgdm9pZCBMYXllclJl
bmRlcmVyQ2hyb21pdW06OnVwZGF0ZVJvb3RMYXllclRleHR1cmVSZWN0KGNvbnN0IEludFJlY3Qm
IHVwZGF0ZVJlY3QKICAgICBpbnQgYml0bWFwSGVpZ2h0ID0gYml0bWFwLmhlaWdodCgpOwogICAg
IEFTU0VSVChiaXRtYXBXaWR0aCA9PSB1cGRhdGVSZWN0LndpZHRoKCkgJiYgYml0bWFwSGVpZ2h0
ID09IHVwZGF0ZVJlY3QuaGVpZ2h0KCkpOwogICAgIHZvaWQqIHBpeGVscyA9IGJpdG1hcC5nZXRQ
aXhlbHMoKTsKLSAgICAvLyBDb3B5IHRoZSBjb250ZW50cyBvZiB0aGUgdXBkYXRlZCByZWN0IHRv
IHRoZSByb290IGxheWVyIHRleHR1cmUuCi0gICAgR0xDKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhU
VVJFXzJELCAwLCB1cGRhdGVSZWN0LngoKSwgdXBkYXRlUmVjdC55KCksIHVwZGF0ZVJlY3Qud2lk
dGgoKSwgdXBkYXRlUmVjdC5oZWlnaHQoKSwgR0xfUkdCQSwgR0xfVU5TSUdORURfQllURSwgcGl4
ZWxzKSk7CiAjZWxpZiBQTEFURk9STShDRykKICAgICAvLyBHZXQgdGhlIGNvbnRlbnRzIG9mIHRo
ZSB1cGRhdGVkIHJlY3QuCiAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4oQ0dCaXRtYXBDb250
ZXh0R2V0V2lkdGgobV9yb290TGF5ZXJDR0NvbnRleHQuZ2V0KCkpKSA9PSB1cGRhdGVSZWN0Lndp
ZHRoKCkgJiYgc3RhdGljX2Nhc3Q8aW50PihDR0JpdG1hcENvbnRleHRHZXRIZWlnaHQobV9yb290
TGF5ZXJDR0NvbnRleHQuZ2V0KCkpKSA9PSB1cGRhdGVSZWN0LmhlaWdodCgpKTsKICAgICB2b2lk
KiBwaXhlbHMgPSBtX3Jvb3RMYXllckJhY2tpbmdTdG9yZS5kYXRhKCk7Ci0KLSAgICAvLyBDb3B5
IHRoZSBjb250ZW50cyBvZiB0aGUgdXBkYXRlZCByZWN0IHRvIHRoZSByb290IGxheWVyIHRleHR1
cmUuCi0gICAgLy8gVGhlIG9yaWdpbiBpcyBhdCB0aGUgbG93ZXIgbGVmdCBpbiBDb3JlIEdyYXBo
aWNzJyBjb29yZGluYXRlIHN5c3RlbS4gV2UgbmVlZCB0byBjb3JyZWN0IGZvciB0aGlzIGhlcmUu
Ci0gICAgR0xDKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLAotICAgICAgICAgICAg
ICAgICAgICAgICAgdXBkYXRlUmVjdC54KCksIG1fcm9vdExheWVyVGV4dHVyZUhlaWdodCAtIHVw
ZGF0ZVJlY3QueSgpIC0gdXBkYXRlUmVjdC5oZWlnaHQoKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHVwZGF0ZVJlY3Qud2lkdGgoKSwgdXBkYXRlUmVjdC5oZWlnaHQoKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIHBpeGVscykpOwogI2Vsc2UK
ICNlcnJvciAiTmVlZCB0byBpbXBsZW1lbnQgZm9yIHlvdXIgcGxhdGZvcm0uIgogI2VuZGlmCisg
ICAgLy8gQ29weSB0aGUgY29udGVudHMgb2YgdGhlIHVwZGF0ZWQgcmVjdCB0byB0aGUgcm9vdCBs
YXllciB0ZXh0dXJlLgorICAgIEdMQyhnbFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwg
dXBkYXRlUmVjdC54KCksIHVwZGF0ZVJlY3QueSgpLCB1cGRhdGVSZWN0LndpZHRoKCksIHVwZGF0
ZVJlY3QuaGVpZ2h0KCksIEdMX1JHQkEsIEdMX1VOU0lHTkVEX0JZVEUsIHBpeGVscykpOwogfQog
CiB2b2lkIExheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0xheWVycyhjb25zdCBJbnRSZWN0JiB2
aXNpYmxlUmVjdCwgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>