<?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>75910</bug_id>
          
          <creation_ts>2012-01-09 16:39:48 -0800</creation_ts>
          <short_desc>[Qt][Texmap] LayoutTests/compositing/masks/masked-ancestor does not render correctly.</short_desc>
          <delta_ts>2012-01-11 11:50:01 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75918</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>532645</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-09 16:39:48 -0800</bug_when>
    <thetext>Masks do not render correctly with intermediate surfaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532650</commentid>
    <comment_count>1</comment_count>
      <attachid>121759</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-09 16:42:04 -0800</bug_when>
    <thetext>Created attachment 121759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533848</commentid>
    <comment_count>2</comment_count>
      <attachid>121759</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-11 06:25:28 -0800</bug_when>
    <thetext>Comment on attachment 121759
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:278
&gt; +    int tiles = 0;
&gt; +
&gt; +#if USE(TILED_BACKING_STORE)
&gt; +    if (m_state.tileOwnership == ExternallyManagedTiles) {
&gt; +        HashMap&lt;int, ExternallyManagedTile&gt;::const_iterator end = m_externallyManagedTiles.end();
&gt; +        for (HashMap&lt;int, ExternallyManagedTile&gt;::const_iterator it = m_externallyManagedTiles.begin(); it != end; ++it) {
&gt; +            if (it-&gt;second.frontBuffer.texture) {
&gt; +                if (++tiles &gt; 1)
&gt; +                    return true;
&gt; +            }
&gt; +        }
&gt; +
&gt; +        return false;
&gt; +    }
&gt; +#endif
&gt; +
&gt; +    for (size_t i = 0; i &lt; m_ownedTiles.size(); ++i) {
&gt; +        if (m_ownedTiles[i].texture) {
&gt; +            if (++tiles &gt; 1)
&gt; +                return true;
&gt; +        }
&gt; +    }
&gt; +
&gt; +    return false;
&gt; +}

Do you really need the tiles variable? :)

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:574
&gt; +        TextureMapperPaintOptions optionsForMask(options);
&gt; +        optionsForMask.isSurface = true;
&gt; +        m_state.maskLayer-&gt;paintSelf(options);

Shouldn&apos;t the call to paintSelf pass optionsForMask instead of options?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533851</commentid>
    <comment_count>3</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-11 06:29:43 -0800</bug_when>
    <thetext>
&gt; Do you really need the tiles variable? :)
Guess it could be a boolean, but I don&apos;t see what that would buy. We need to see if there is more than one tile with contents, so we have to maintain at one variable after we find the first tile with content.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:574
&gt; &gt; +        TextureMapperPaintOptions optionsForMask(options);
&gt; &gt; +        optionsForMask.isSurface = true;
&gt; &gt; +        m_state.maskLayer-&gt;paintSelf(options);
&gt; 
&gt; Shouldn&apos;t the call to paintSelf pass optionsForMask instead of options?
Right, my oversight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533859</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-11 06:38:19 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Do you really need the tiles variable? :)
&gt; Guess it could be a boolean, but I don&apos;t see what that would buy. We need to see if there is more than one tile with contents, so we have to maintain at one variable after we find the first tile with content.

Ah right, I misread &gt; 1 as &gt;= 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533860</commentid>
    <comment_count>5</comment_count>
      <attachid>121759</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-11 06:38:58 -0800</bug_when>
    <thetext>Comment on attachment 121759
Patch

r=me with the options parameter fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534011</commentid>
    <comment_count>6</comment_count>
      <attachid>122048</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-01-11 10:30:08 -0800</bug_when>
    <thetext>Created attachment 122048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534082</commentid>
    <comment_count>7</comment_count>
      <attachid>122048</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 11:49:57 -0800</bug_when>
    <thetext>Comment on attachment 122048
Patch

Clearing flags on attachment: 122048

Committed r104728: &lt;http://trac.webkit.org/changeset/104728&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534083</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 11:50:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121759</attachid>
            <date>2012-01-09 16:42:04 -0800</date>
            <delta_ts>2012-01-11 10:30:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75910-20120109164202.patch</filename>
            <type>text/plain</type>
            <size>6744</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTk3NTQ4NGYwY2M1ZTk1
MjZmNTEwYmFkOWEyMDhhZjg2M2ZmZjliZC4uYTQ2YTJlNDg0NjliODk3YTM2ZThhMmMwODM5ZTA2
MThlNTAyNDU4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAxLTA5ICBObydh
bSBSb3NlbnRoYWwgIDxub2FtLnJvc2VudGhhbEBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtU
ZXhtYXBdIExheW91dFRlc3RzL2NvbXBvc2l0aW5nL21hc2tzL21hc2tlZC1hbmNlc3RvciBkb2Vz
IG5vdCByZW5kZXIgY29ycmVjdGx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzU5MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBIYW5kbGUgdGhlIG1hc2sgc3VyZmFjZSBjb3JyZWN0bHkgd2hlbiBkcmF3
aW5nIGluIHR3byBwYXNzZXMuIEFsc28sIGltcHJvdmUgdGhlIHJlYWRhYmlsaXR5CisgICAgICAg
IG9mIHRoZSBjb2RlIHRoYXQgZGVjaWRlcyB3aGV0aGVyIHRvIGRyYXcgaW4gdHdvIHBhc3Nlcy4K
KworICAgICAgICBMYXlvdXRUZXN0cy9jb21wb3NpdGluZy9tYXNrcy9tYXNrZWQtYW5jZXN0b3Iu
aHRtbCB0ZXN0cyB0aGlzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJOb2Rl
Ojpjb21wdXRlQWxsVHJhbnNmb3Jtcyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVy
Tm9kZTo6aGFzTW9yZVRoYW5PbmVUaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBw
ZXJOb2RlOjpwYWludFJlY3Vyc2l2ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJOb2RlLmg6CisKIDIwMTItMDEtMDkgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIxMDQ0MTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJOb2RlLmNwcAppbmRleCAxNWRmZjVhZWIxMmJj
OTlkYzk4OTliYmU4OTRkMWI2ZjhhMjFhYmM0Li5hMjExNDA3MThlZGRmNGFmZmUwNjIyMWFmMjU4
NTY5Y2MyZTBjZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTm9kZS5jcHAKQEAgLTExMiwxNCArMTEy
LDE1IEBAIHZvaWQgVGV4dHVyZU1hcHBlck5vZGU6OmNvbXB1dGVBbGxUcmFuc2Zvcm1zKCkKICAg
ICBjb21wdXRlUmVwbGljYVRyYW5zZm9ybUlmTmVlZGVkKCk7CiAgICAgY29tcHV0ZVBlcnNwZWN0
aXZlVHJhbnNmb3JtSWZOZWVkZWQoKTsKIAotICAgIG1fdHJhbnNmb3Jtcy50YXJnZXQgPSBUcmFu
c2Zvcm1hdGlvbk1hdHJpeChtX3BhcmVudCA/IG1fcGFyZW50LT5tX3RyYW5zZm9ybXMuZm9yRGVz
Y2VuZGFudHMgOiBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKS5tdWx0aXBseShtX3RyYW5zZm9ybXMu
bG9jYWwpOworICAgIFRleHR1cmVNYXBwZXJOb2RlKiBwYXJlbnQgPSBtX3BhcmVudCA/IG1fcGFy
ZW50IDogbV9lZmZlY3RUYXJnZXQ7CisgICAgbV90cmFuc2Zvcm1zLnRhcmdldCA9IFRyYW5zZm9y
bWF0aW9uTWF0cml4KHBhcmVudCA/IHBhcmVudC0+bV90cmFuc2Zvcm1zLmZvckRlc2NlbmRhbnRz
IDogVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkubXVsdGlwbHkobV90cmFuc2Zvcm1zLmxvY2FsKTsK
IAogICAgIG1fc3RhdGUudmlzaWJsZSA9IG1fc3RhdGUuYmFja2ZhY2VWaXNpYmlsaXR5IHx8IG1f
dHJhbnNmb3Jtcy50YXJnZXQuaW52ZXJzZSgpLm0zMygpID49IDA7CiAgICAgaWYgKCFtX3N0YXRl
LnZpc2libGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFRoaXMgdHJhbnNmb3JtIGlzIG9u
bHkgYXBwbGllZCBpZiB1c2luZyBhIHR3by1wYXNzIGZvciB0aGUgcmVwbGljYSwgYmVjYXVzZSB0
aGUgdHJhbnNmb3JtIG5lZWRzIHRvIGJlIGFkanVzdGVkIHRvIHRoZSBzaXplIG9mIHRoZSBpbnRl
cm1lZGlhdGUgc3VyZmFjZSwgaW5zdGVhZiBvZiB0aGUgc2l6ZSBvZiB0aGUgY29udGVudCBsYXll
ci4KLSAgICBpZiAobV9wYXJlbnQgJiYgbV9wYXJlbnQtPm1fc3RhdGUucHJlc2VydmVzM0QpCisg
ICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPm1fc3RhdGUucHJlc2VydmVzM0QpCiAgICAgICAgIG1f
dHJhbnNmb3Jtcy5jZW50ZXJaID0gbV90cmFuc2Zvcm1zLnRhcmdldC5tYXBQb2ludChGbG9hdFBv
aW50M0QobV9zaXplLndpZHRoKCkgLyAyLCBtX3NpemUuaGVpZ2h0KCkgLyAyLCAwKSkueigpOwog
CiAgICAgaWYgKCFtX2NoaWxkcmVuLnNpemUoKSkKQEAgLTI0OCw2ICsyNDksMzUgQEAgYm9vbCBU
ZXh0dXJlTWFwcGVyTm9kZTo6Y29sbGVjdFZpc2libGVDb250ZW50c1JlY3RzKE5vZGVSZWN0TWFw
JiByZWN0TWFwLCBjb25zdAogfQogI2VuZGlmCiAKK2Jvb2wgVGV4dHVyZU1hcHBlck5vZGU6Omhh
c01vcmVUaGFuT25lVGlsZSgpIGNvbnN0Cit7CisgICAgaW50IHRpbGVzID0gMDsKKworI2lmIFVT
RShUSUxFRF9CQUNLSU5HX1NUT1JFKQorICAgIGlmIChtX3N0YXRlLnRpbGVPd25lcnNoaXAgPT0g
RXh0ZXJuYWxseU1hbmFnZWRUaWxlcykgeworICAgICAgICBIYXNoTWFwPGludCwgRXh0ZXJuYWxs
eU1hbmFnZWRUaWxlPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9leHRlcm5hbGx5TWFuYWdlZFRp
bGVzLmVuZCgpOworICAgICAgICBmb3IgKEhhc2hNYXA8aW50LCBFeHRlcm5hbGx5TWFuYWdlZFRp
bGU+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fZXh0ZXJuYWxseU1hbmFnZWRUaWxlcy5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgICAgIGlmIChpdC0+c2Vjb25kLmZyb250QnVm
ZmVyLnRleHR1cmUpIHsKKyAgICAgICAgICAgICAgICBpZiAoKyt0aWxlcyA+IDEpCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyNlbmRpZgorCisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtX293bmVkVGlsZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKG1fb3duZWRU
aWxlc1tpXS50ZXh0dXJlKSB7CisgICAgICAgICAgICBpZiAoKyt0aWxlcyA+IDEpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKKwogdm9pZCBUZXh0dXJlTWFwcGVyTm9kZTo6cmVuZGVyQ29udGVudChUZXh0dXJl
TWFwcGVyKiB0ZXh0dXJlTWFwcGVyLCBHcmFwaGljc0xheWVyKiBsYXllcikKIHsKICNpZiBVU0Uo
VElMRURfQkFDS0lOR19TVE9SRSkKQEAgLTUxNSw4ICs1NDUsMTQgQEAgdm9pZCBUZXh0dXJlTWFw
cGVyTm9kZTo6cGFpbnRSZWN1cnNpdmUoVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyBvcHRpb25z
KQogCiAgICAgb3B0aW9ucy5vcGFjaXR5ICo9IG1fb3BhY2l0eTsKICAgICBSZWZQdHI8Qml0bWFw
VGV4dHVyZT4gc3VyZmFjZTsKLSAgICBjb25zdCBib29sIG5lZWRzVHdvUGFzcyA9ICgobV9zdGF0
ZS5yZXBsaWNhTGF5ZXIgfHwgbV9zdGF0ZS5tYXNrTGF5ZXIpICYmICFtX2NoaWxkcmVuLmlzRW1w
dHkoKSkgfHwgKG1fb3BhY2l0eSA8IDAuOTkgJiYgbV9zdGF0ZS5taWdodEhhdmVPdmVybGFwcykg
fHwgKG1fb3BhY2l0eSA8IDAuOTkgJiYgbV9zdGF0ZS5yZXBsaWNhTGF5ZXIpOworCisgICAgYm9v
bCBoYXNSZXBsaWNhID0gbV9zdGF0ZS5yZXBsaWNhTGF5ZXI7CisgICAgYm9vbCBoYXNNYXNrID0g
bV9zdGF0ZS5tYXNrTGF5ZXI7CisgICAgYm9vbCBuZWVkc0JsZW5kaW5nID0gbV9vcGFjaXR5IDwg
MC45OSB8fCBoYXNNYXNrOworICAgIGJvb2wgcGFpbnRzTW9yZVRoYW5PbmVUZXh0dXJlID0gIW1f
Y2hpbGRyZW4uaXNFbXB0eSgpIHx8IGhhc01vcmVUaGFuT25lVGlsZSgpIHx8IChoYXNNYXNrICYm
IG1fc3RhdGUubWFza0xheWVyLT5oYXNNb3JlVGhhbk9uZVRpbGUoKSk7CisgICAgYm9vbCBoYXNP
dmVybGFwcyA9IG1fc3RhdGUubWlnaHRIYXZlT3ZlcmxhcHMgfHwgaGFzUmVwbGljYTsKICAgICBj
b25zdCBJbnRTaXplIHZpZXdwb3J0U2l6ZSA9IG9wdGlvbnMudGV4dHVyZU1hcHBlci0+dmlld3Bv
cnRTaXplKCk7CisgICAgYm9vbCBuZWVkc1R3b1Bhc3MgPSAoKGhhc1JlcGxpY2EgfHwgaGFzTWFz
aykgJiYgcGFpbnRzTW9yZVRoYW5PbmVUZXh0dXJlKSB8fCAobmVlZHNCbGVuZGluZyAmJiBoYXNP
dmVybGFwcyk7CiAgICAgb3B0aW9ucy5pc1N1cmZhY2UgPSBmYWxzZTsKIAogICAgIFRleHR1cmVN
YXBwZXJQYWludE9wdGlvbnMgb3B0aW9uc0ZvckRlc2NlbmRhbnRzKG9wdGlvbnMpOwpAQCAtNTMw
LDExICs1NjYsMTIgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTm9kZTo6cGFpbnRSZWN1cnNpdmUoVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyBvcHRpb25zKQogCiAgICAgUmVmUHRyPEJpdG1hcFRleHR1
cmU+IG1hc2tTdXJmYWNlOwogCi0gICAgLy8gVGhlIG1hc2sgaGFzIHRvIGJlIGFkanVzdGVkIHRv
IHRhcmdldCBjb29yZGluYXRlcy4KICAgICBpZiAobV9zdGF0ZS5tYXNrTGF5ZXIpIHsKICAgICAg
ICAgbWFza1N1cmZhY2UgPSBvcHRpb25zLnRleHR1cmVNYXBwZXItPmFjcXVpcmVUZXh0dXJlRnJv
bVBvb2wob3B0aW9ucy50ZXh0dXJlTWFwcGVyLT52aWV3cG9ydFNpemUoKSk7CiAgICAgICAgIG9w
dGlvbnMudGV4dHVyZU1hcHBlci0+YmluZFN1cmZhY2UobWFza1N1cmZhY2UuZ2V0KCkpOwotICAg
ICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXItPmRyYXdUZXh0dXJlKCptX3N0YXRlLm1hc2tMYXll
ci0+dGV4dHVyZSgpLCBlbnRpcmVSZWN0KCksIG1fdHJhbnNmb3Jtcy50YXJnZXQsIDEuMCwgMCk7
CisgICAgICAgIFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMgb3B0aW9uc0Zvck1hc2sob3B0aW9u
cyk7CisgICAgICAgIG9wdGlvbnNGb3JNYXNrLmlzU3VyZmFjZSA9IHRydWU7CisgICAgICAgIG1f
c3RhdGUubWFza0xheWVyLT5wYWludFNlbGYob3B0aW9ucyk7CiAgICAgfQogCiAgICAgc3VyZmFj
ZSA9IG9wdGlvbnMudGV4dHVyZU1hcHBlci0+YWNxdWlyZVRleHR1cmVGcm9tUG9vbChvcHRpb25z
LnRleHR1cmVNYXBwZXItPnZpZXdwb3J0U2l6ZSgpKTsKQEAgLTU0Nyw3ICs1ODQsNyBAQCB2b2lk
IFRleHR1cmVNYXBwZXJOb2RlOjpwYWludFJlY3Vyc2l2ZShUZXh0dXJlTWFwcGVyUGFpbnRPcHRp
b25zIG9wdGlvbnMpCiAKICAgICBpZiAoIXBhaW50UmVmbGVjdGlvbihvcHRpb25zLCBzdXJmYWNl
LmdldCgpKSkgewogICAgICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXItPmJpbmRTdXJmYWNlKG9w
dGlvbnMuc3VyZmFjZSk7Ci0gICAgICAgIG9wdGlvbnMudGV4dHVyZU1hcHBlci0+ZHJhd1RleHR1
cmUoKnN1cmZhY2UuZ2V0KCksIHZpZXdwb3J0UmVjdCwgVHJhbnNmb3JtYXRpb25NYXRyaXgoKSwg
b3B0aW9ucy5vcGFjaXR5LCAwKTsKKyAgICAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLT5kcmF3
VGV4dHVyZSgqc3VyZmFjZS5nZXQoKSwgdmlld3BvcnRSZWN0LCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCgpLCBvcHRpb25zLm9wYWNpdHksIG1hc2tTdXJmYWNlLmdldCgpKTsKICAgICB9CiAKICAgICBv
cHRpb25zLnRleHR1cmVNYXBwZXItPnJlbGVhc2VUZXh0dXJlVG9Qb29sKHN1cmZhY2UuZ2V0KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlck5vZGUuaAppbmRleCBiNDBjZDVkMzhmNTU4ZmE5YTU0NjI4NjhmZWU0
ZmFmMDI1MDBiNmRlLi40ZWUzNzU3NDc0NmZlZjc0MmE4NmNlOWFlYTk4NDcwYTI0MTQ2YzgyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlck5vZGUuaApAQCAtMjA2LDcgKzIwNiw3IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBhcHBseVRyYW5zZm9ybUFuaW1hdGlvbihjb25zdCBUZXh0dXJlTWFwcGVyQW5pbWF0aW9u
JiwgY29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyogc3RhcnQsIGNvbnN0IFRyYW5zZm9ybU9wZXJh
dGlvbnMqIGVuZCwgZG91YmxlKTsKICAgICBib29sIGhhc09wYWNpdHlBbmltYXRpb24oKSBjb25z
dDsKICAgICBib29sIGhhc1RyYW5zZm9ybUFuaW1hdGlvbigpIGNvbnN0OwotCisgICAgYm9vbCBo
YXNNb3JlVGhhbk9uZVRpbGUoKSBjb25zdDsKICAgICBzdHJ1Y3QgVHJhbnNmb3JtRGF0YSB7CiAg
ICAgICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IHRhcmdldDsKICAgICAgICAgVHJhbnNmb3JtYXRp
b25NYXRyaXggcmVwbGljYTsK
</data>
<flag name="review"
          id="122361"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="122701"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122048</attachid>
            <date>2012-01-11 10:30:08 -0800</date>
            <delta_ts>2012-01-11 11:49:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>6575</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyZTQ1NDJlLi4zYTU1NzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTItMDEtMTEgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdW1RleG1hcF0gTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbWFza3Mv
bWFza2VkLWFuY2VzdG9yIGRvZXMgbm90IHJlbmRlciBjb3JyZWN0bHkuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxMAorCisgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgorCisgICAgICAgIEhhbmRsZSB0aGUgbWFzayBzdXJmYWNl
IGNvcnJlY3RseSB3aGVuIGRyYXdpbmcgaW4gdHdvIHBhc3Nlcy4gQWxzbywgaW1wcm92ZSB0aGUg
cmVhZGFiaWxpdHkKKyAgICAgICAgb2YgdGhlIGNvZGUgdGhhdCBkZWNpZGVzIHdoZXRoZXIgdG8g
ZHJhdyBpbiB0d28gcGFzc2VzLgorCisgICAgICAgIExheW91dFRlc3RzL2NvbXBvc2l0aW5nL21h
c2tzL21hc2tlZC1hbmNlc3Rvci5odG1sIHRlc3RzIHRoaXMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dHVyZU1hcHBlck5vZGU6OmNvbXB1dGVBbGxUcmFuc2Zvcm1zKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJOb2RlOjpoYXNNb3JlVGhhbk9uZVRpbGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dHVyZU1hcHBlck5vZGU6OnBhaW50UmVjdXJzaXZlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlck5vZGUuaDoKKwogMjAxMi0wMS0x
MSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9z
c2Eub3JnPgogCiAgICAgICAgIFVzZSBIYXNoTWFwPE93blB0cj4gZm9yIFJlbmRlckJveFJlZ2lv
bkluZm8gbWFwIGluIFJlbmRlclJlZ2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTm9kZS5jcHAKaW5kZXgg
MTVkZmY1YS4uNjIzMTRhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlck5vZGUuY3BwCkBAIC0xMTIsMTQg
KzExMiwxNSBAQCB2b2lkIFRleHR1cmVNYXBwZXJOb2RlOjpjb21wdXRlQWxsVHJhbnNmb3Jtcygp
CiAgICAgY29tcHV0ZVJlcGxpY2FUcmFuc2Zvcm1JZk5lZWRlZCgpOwogICAgIGNvbXB1dGVQZXJz
cGVjdGl2ZVRyYW5zZm9ybUlmTmVlZGVkKCk7CiAKLSAgICBtX3RyYW5zZm9ybXMudGFyZ2V0ID0g
VHJhbnNmb3JtYXRpb25NYXRyaXgobV9wYXJlbnQgPyBtX3BhcmVudC0+bV90cmFuc2Zvcm1zLmZv
ckRlc2NlbmRhbnRzIDogVHJhbnNmb3JtYXRpb25NYXRyaXgoKSkubXVsdGlwbHkobV90cmFuc2Zv
cm1zLmxvY2FsKTsKKyAgICBUZXh0dXJlTWFwcGVyTm9kZSogcGFyZW50ID0gbV9wYXJlbnQgPyBt
X3BhcmVudCA6IG1fZWZmZWN0VGFyZ2V0OworICAgIG1fdHJhbnNmb3Jtcy50YXJnZXQgPSBUcmFu
c2Zvcm1hdGlvbk1hdHJpeChwYXJlbnQgPyBwYXJlbnQtPm1fdHJhbnNmb3Jtcy5mb3JEZXNjZW5k
YW50cyA6IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpLm11bHRpcGx5KG1fdHJhbnNmb3Jtcy5sb2Nh
bCk7CiAKICAgICBtX3N0YXRlLnZpc2libGUgPSBtX3N0YXRlLmJhY2tmYWNlVmlzaWJpbGl0eSB8
fCBtX3RyYW5zZm9ybXMudGFyZ2V0LmludmVyc2UoKS5tMzMoKSA+PSAwOwogICAgIGlmICghbV9z
dGF0ZS52aXNpYmxlKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBUaGlzIHRyYW5zZm9ybSBp
cyBvbmx5IGFwcGxpZWQgaWYgdXNpbmcgYSB0d28tcGFzcyBmb3IgdGhlIHJlcGxpY2EsIGJlY2F1
c2UgdGhlIHRyYW5zZm9ybSBuZWVkcyB0byBiZSBhZGp1c3RlZCB0byB0aGUgc2l6ZSBvZiB0aGUg
aW50ZXJtZWRpYXRlIHN1cmZhY2UsIGluc3RlYWYgb2YgdGhlIHNpemUgb2YgdGhlIGNvbnRlbnQg
bGF5ZXIuCi0gICAgaWYgKG1fcGFyZW50ICYmIG1fcGFyZW50LT5tX3N0YXRlLnByZXNlcnZlczNE
KQorICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5tX3N0YXRlLnByZXNlcnZlczNEKQogICAgICAg
ICBtX3RyYW5zZm9ybXMuY2VudGVyWiA9IG1fdHJhbnNmb3Jtcy50YXJnZXQubWFwUG9pbnQoRmxv
YXRQb2ludDNEKG1fc2l6ZS53aWR0aCgpIC8gMiwgbV9zaXplLmhlaWdodCgpIC8gMiwgMCkpLnoo
KTsKIAogICAgIGlmICghbV9jaGlsZHJlbi5zaXplKCkpCkBAIC0yNDgsNiArMjQ5LDM1IEBAIGJv
b2wgVGV4dHVyZU1hcHBlck5vZGU6OmNvbGxlY3RWaXNpYmxlQ29udGVudHNSZWN0cyhOb2RlUmVj
dE1hcCYgcmVjdE1hcCwgY29uc3QKIH0KICNlbmRpZgogCitib29sIFRleHR1cmVNYXBwZXJOb2Rl
OjpoYXNNb3JlVGhhbk9uZVRpbGUoKSBjb25zdAoreworICAgIGludCB0aWxlcyA9IDA7CisKKyNp
ZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKKyAgICBpZiAobV9zdGF0ZS50aWxlT3duZXJzaGlw
ID09IEV4dGVybmFsbHlNYW5hZ2VkVGlsZXMpIHsKKyAgICAgICAgSGFzaE1hcDxpbnQsIEV4dGVy
bmFsbHlNYW5hZ2VkVGlsZT46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fZXh0ZXJuYWxseU1hbmFn
ZWRUaWxlcy5lbmQoKTsKKyAgICAgICAgZm9yIChIYXNoTWFwPGludCwgRXh0ZXJuYWxseU1hbmFn
ZWRUaWxlPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2V4dGVybmFsbHlNYW5hZ2VkVGlsZXMuYmVn
aW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgICAgICBpZiAoaXQtPnNlY29uZC5mcm9u
dEJ1ZmZlci50ZXh0dXJlKSB7CisgICAgICAgICAgICAgICAgaWYgKCsrdGlsZXMgPiAxKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisjZW5kaWYKKworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbV9vd25lZFRpbGVzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChtX293
bmVkVGlsZXNbaV0udGV4dHVyZSkgeworICAgICAgICAgICAgaWYgKCsrdGlsZXMgPiAxKQorICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJu
IGZhbHNlOworfQorCisKIHZvaWQgVGV4dHVyZU1hcHBlck5vZGU6OnJlbmRlckNvbnRlbnQoVGV4
dHVyZU1hcHBlciogdGV4dHVyZU1hcHBlciwgR3JhcGhpY3NMYXllciogbGF5ZXIpCiB7CiAjaWYg
VVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCkBAIC01MTUsOCArNTQ1LDE0IEBAIHZvaWQgVGV4dHVy
ZU1hcHBlck5vZGU6OnBhaW50UmVjdXJzaXZlKFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMgb3B0
aW9ucykKIAogICAgIG9wdGlvbnMub3BhY2l0eSAqPSBtX29wYWNpdHk7CiAgICAgUmVmUHRyPEJp
dG1hcFRleHR1cmU+IHN1cmZhY2U7Ci0gICAgY29uc3QgYm9vbCBuZWVkc1R3b1Bhc3MgPSAoKG1f
c3RhdGUucmVwbGljYUxheWVyIHx8IG1fc3RhdGUubWFza0xheWVyKSAmJiAhbV9jaGlsZHJlbi5p
c0VtcHR5KCkpIHx8IChtX29wYWNpdHkgPCAwLjk5ICYmIG1fc3RhdGUubWlnaHRIYXZlT3Zlcmxh
cHMpIHx8IChtX29wYWNpdHkgPCAwLjk5ICYmIG1fc3RhdGUucmVwbGljYUxheWVyKTsKKworICAg
IGJvb2wgaGFzUmVwbGljYSA9IG1fc3RhdGUucmVwbGljYUxheWVyOworICAgIGJvb2wgaGFzTWFz
ayA9IG1fc3RhdGUubWFza0xheWVyOworICAgIGJvb2wgbmVlZHNCbGVuZGluZyA9IG1fb3BhY2l0
eSA8IDAuOTkgfHwgaGFzTWFzazsKKyAgICBib29sIHBhaW50c01vcmVUaGFuT25lVGV4dHVyZSA9
ICFtX2NoaWxkcmVuLmlzRW1wdHkoKSB8fCBoYXNNb3JlVGhhbk9uZVRpbGUoKSB8fCAoaGFzTWFz
ayAmJiBtX3N0YXRlLm1hc2tMYXllci0+aGFzTW9yZVRoYW5PbmVUaWxlKCkpOworICAgIGJvb2wg
aGFzT3ZlcmxhcHMgPSBtX3N0YXRlLm1pZ2h0SGF2ZU92ZXJsYXBzIHx8IGhhc1JlcGxpY2E7CiAg
ICAgY29uc3QgSW50U2l6ZSB2aWV3cG9ydFNpemUgPSBvcHRpb25zLnRleHR1cmVNYXBwZXItPnZp
ZXdwb3J0U2l6ZSgpOworICAgIGJvb2wgbmVlZHNUd29QYXNzID0gKChoYXNSZXBsaWNhIHx8IGhh
c01hc2spICYmIHBhaW50c01vcmVUaGFuT25lVGV4dHVyZSkgfHwgKG5lZWRzQmxlbmRpbmcgJiYg
aGFzT3ZlcmxhcHMpOwogICAgIG9wdGlvbnMuaXNTdXJmYWNlID0gZmFsc2U7CiAKICAgICBUZXh0
dXJlTWFwcGVyUGFpbnRPcHRpb25zIG9wdGlvbnNGb3JEZXNjZW5kYW50cyhvcHRpb25zKTsKQEAg
LTUzMCwxMSArNTY2LDEyIEBAIHZvaWQgVGV4dHVyZU1hcHBlck5vZGU6OnBhaW50UmVjdXJzaXZl
KFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMgb3B0aW9ucykKIAogICAgIFJlZlB0cjxCaXRtYXBU
ZXh0dXJlPiBtYXNrU3VyZmFjZTsKIAotICAgIC8vIFRoZSBtYXNrIGhhcyB0byBiZSBhZGp1c3Rl
ZCB0byB0YXJnZXQgY29vcmRpbmF0ZXMuCiAgICAgaWYgKG1fc3RhdGUubWFza0xheWVyKSB7CiAg
ICAgICAgIG1hc2tTdXJmYWNlID0gb3B0aW9ucy50ZXh0dXJlTWFwcGVyLT5hY3F1aXJlVGV4dHVy
ZUZyb21Qb29sKG9wdGlvbnMudGV4dHVyZU1hcHBlci0+dmlld3BvcnRTaXplKCkpOwogICAgICAg
ICBvcHRpb25zLnRleHR1cmVNYXBwZXItPmJpbmRTdXJmYWNlKG1hc2tTdXJmYWNlLmdldCgpKTsK
LSAgICAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLT5kcmF3VGV4dHVyZSgqbV9zdGF0ZS5tYXNr
TGF5ZXItPnRleHR1cmUoKSwgZW50aXJlUmVjdCgpLCBtX3RyYW5zZm9ybXMudGFyZ2V0LCAxLjAs
IDApOworICAgICAgICBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zIG9wdGlvbnNGb3JNYXNrKG9w
dGlvbnMpOworICAgICAgICBvcHRpb25zRm9yTWFzay5pc1N1cmZhY2UgPSB0cnVlOworICAgICAg
ICBtX3N0YXRlLm1hc2tMYXllci0+cGFpbnRTZWxmKG9wdGlvbnNGb3JNYXNrKTsKICAgICB9CiAK
ICAgICBzdXJmYWNlID0gb3B0aW9ucy50ZXh0dXJlTWFwcGVyLT5hY3F1aXJlVGV4dHVyZUZyb21Q
b29sKG9wdGlvbnMudGV4dHVyZU1hcHBlci0+dmlld3BvcnRTaXplKCkpOwpAQCAtNTQ3LDcgKzU4
NCw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlck5vZGU6OnBhaW50UmVjdXJzaXZlKFRleHR1cmVNYXBw
ZXJQYWludE9wdGlvbnMgb3B0aW9ucykKIAogICAgIGlmICghcGFpbnRSZWZsZWN0aW9uKG9wdGlv
bnMsIHN1cmZhY2UuZ2V0KCkpKSB7CiAgICAgICAgIG9wdGlvbnMudGV4dHVyZU1hcHBlci0+Ymlu
ZFN1cmZhY2Uob3B0aW9ucy5zdXJmYWNlKTsKLSAgICAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVy
LT5kcmF3VGV4dHVyZSgqc3VyZmFjZS5nZXQoKSwgdmlld3BvcnRSZWN0LCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCgpLCBvcHRpb25zLm9wYWNpdHksIDApOworICAgICAgICBvcHRpb25zLnRleHR1cmVN
YXBwZXItPmRyYXdUZXh0dXJlKCpzdXJmYWNlLmdldCgpLCB2aWV3cG9ydFJlY3QsIFRyYW5zZm9y
bWF0aW9uTWF0cml4KCksIG9wdGlvbnMub3BhY2l0eSwgbWFza1N1cmZhY2UuZ2V0KCkpOwogICAg
IH0KIAogICAgIG9wdGlvbnMudGV4dHVyZU1hcHBlci0+cmVsZWFzZVRleHR1cmVUb1Bvb2woc3Vy
ZmFjZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTm9kZS5oCmluZGV4IGI0MGNkNWQuLjRlZTM3NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTm9kZS5oCkBAIC0yMDYsNyArMjA2LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGFwcGx5VHJhbnNmb3JtQW5pbWF0aW9uKGNvbnN0IFRleHR1cmVNYXBwZXJBbmltYXRp
b24mLCBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zKiBzdGFydCwgY29uc3QgVHJhbnNmb3JtT3Bl
cmF0aW9ucyogZW5kLCBkb3VibGUpOwogICAgIGJvb2wgaGFzT3BhY2l0eUFuaW1hdGlvbigpIGNv
bnN0OwogICAgIGJvb2wgaGFzVHJhbnNmb3JtQW5pbWF0aW9uKCkgY29uc3Q7Ci0KKyAgICBib29s
IGhhc01vcmVUaGFuT25lVGlsZSgpIGNvbnN0OwogICAgIHN0cnVjdCBUcmFuc2Zvcm1EYXRhIHsK
ICAgICAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdGFyZ2V0OwogICAgICAgICBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCByZXBsaWNhOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>