<?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>115353</bug_id>
          
          <creation_ts>2013-04-29 07:49:36 -0700</creation_ts>
          <short_desc>[Soup] Add support to disable &quot;Accept-Encoding:&quot; HTTP header on soup ResourceRequest</short_desc>
          <delta_ts>2022-03-01 02:59:05 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>115354</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>115354</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Andre Moreira Magalhaes">andrunko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>danw</cc>
    
    <cc>darin</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>slomo</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>882563</commentid>
    <comment_count>0</comment_count>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-04-29 07:49:36 -0700</bug_when>
    <thetext>If ResourceRequest::setAcceptEncoding(false) is called we make sure the &quot;Accept-Encoding:&quot; header is not added to the soup message, as this could lead to issues where for example the server sends compressed data and the Content-Length (ResourceResponse::expectedContentLength()) is the size of the compressed data, but the data received in ResourceHandle::didReceiveData() is uncompressed (done by SoupContentDecoder), so the data received has a different size from what is actually reported.
    
This is especially needed by the webkit gstreamer source element which needs to rely on the correct data size to download streams.
    
The default value of ResourceRequest::acceptEncoding() is true to keep backwards compatibility.

Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882564</commentid>
    <comment_count>1</comment_count>
      <attachid>200010</attachid>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-04-29 07:50:41 -0700</bug_when>
    <thetext>Created attachment 200010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882652</commentid>
    <comment_count>2</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2013-04-29 09:51:07 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; This is especially needed by the webkit gstreamer source element which needs to rely on the correct data size to download streams.

That seems improbable... what do you do if there&apos;s no Content-Length header at all?

I think the problem is just that the gstreamer source needs to know to not look at the declared Content-Length if the SOUP_MESSAGE_CONTENT_DECODED flag is set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882666</commentid>
    <comment_count>3</comment_count>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-04-29 10:25:44 -0700</bug_when>
    <thetext>What happens here is that:
1 - If we don&apos;t set the size on gst appsrc (set to -1), it will break seek and consider the stream a live stream
2 - if we set the wrong size (in case the content-length has the compressed size opposed to the actual size), gst will consider EOF before the stream ends

We could probably indeed set the size to -1 by checking this flag you mentioned, but seek would be broken for all servers returning compressed data.(In reply to comment #2)
&gt; (In reply to comment #0)
&gt; &gt; This is especially needed by the webkit gstreamer source element which needs to rely on the correct data size to download streams.
&gt; 
&gt; That seems improbable... what do you do if there&apos;s no Content-Length header at all?
&gt; 
&gt; I think the problem is just that the gstreamer source needs to know to not look at the declared Content-Length if the SOUP_MESSAGE_CONTENT_DECODED flag is set.

What happens here is that:
1 - If we don&apos;t set the size on gst appsrc (set to -1), it will break seek and consider the stream a live stream
2 - if we set the wrong size (in case the content-length has the compressed size opposed to the actual size), gst will consider EOF before the stream ends

We could probably indeed set the size to -1 by checking this flag you mentioned, but seek would be &quot;broken&quot; (disabled) for all servers returning compressed data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882668</commentid>
    <comment_count>4</comment_count>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-04-29 10:28:35 -0700</bug_when>
    <thetext>See also https://bugs.webkit.org/show_bug.cgi?id=115354#c13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882694</commentid>
    <comment_count>5</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2013-04-29 11:23:47 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; We could probably indeed set the size to -1 by checking this flag you mentioned, but seek would be broken for all servers returning compressed data.

There&apos;s a bug open about adding an API to SoupMessage to extract the actual content length out of the gzip metadata when the stream is compressed. (https://bugzilla.gnome.org/show_bug.cgi?id=664620). So that would be another solution. But it&apos;s true, as Sebastian notes in the other bug, that multimedia streams ought to already contain compressed data and thus not be usefully compressible anyway...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888177</commentid>
    <comment_count>6</comment_count>
      <attachid>200010</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-05-13 03:44:12 -0700</bug_when>
    <thetext>Comment on attachment 200010
Patch

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

Overall I agree with Dan&apos;s comments, I think they&apos;re quite aligned with my concerns exposed in bug 115354. Likely we should use some libsoup API to provide such information but as we aren&apos;t bumping requirements soon I guess it&apos;s fine.

Anyway, based on the fact that multimedia streams are most of them already compressed data, it shouldn&apos;t hurt not to use compression at HTTP level.

&gt; Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp:61
&gt; +        // Disable SoupContentDecoder as it adds a &quot;Accept-Encoding:&quot; field to the headers

I don&apos;t think this comment is needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891225</commentid>
    <comment_count>7</comment_count>
      <attachid>202285</attachid>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-05-20 10:03:39 -0700</bug_when>
    <thetext>Created attachment 202285
Patch

(In reply to comment #6)
&gt; &gt; Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp:61
&gt; &gt; +        // Disable SoupContentDecoder as it adds a &quot;Accept-Encoding:&quot; field to the headers
&gt; 
&gt; I don&apos;t think this comment is needed
Removed comment.

Also updated Changelog to use the correct format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891238</commentid>
    <comment_count>8</comment_count>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-05-20 10:31:12 -0700</bug_when>
    <thetext>Thanks all for the review, all patches are updated now with comments applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896362</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-06-03 03:17:54 -0700</bug_when>
    <thetext>Adding Gustavo and Martin in CC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896380</commentid>
    <comment_count>10</comment_count>
      <attachid>202285</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-06-03 04:23:58 -0700</bug_when>
    <thetext>Comment on attachment 202285
Patch

It appears that nothing in this patch is actually calling setAcceptEncoding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896384</commentid>
    <comment_count>11</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-06-03 04:34:08 -0700</bug_when>
    <thetext>The patch in bug 115354 does :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896392</commentid>
    <comment_count>12</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-06-03 04:51:32 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; The patch in bug 115354 does :)

This should really be one change instead of pushing a patch that uses dead code. I&apos;m also not sure about the name. Shouldn&apos;t it be something like setCompressionEnabled or similar? I&apos;m also a bit wary of this because it&apos;s a new method on ResourceRequestBase, but only implemented for libsoup. Is this a problem for Qt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896934</commentid>
    <comment_count>13</comment_count>
    <who name="Andre Moreira Magalhaes">andrunko</who>
    <bug_when>2013-06-04 09:50:24 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; The patch in bug 115354 does :)
&gt; 
&gt; This should really be one change instead of pushing a patch that uses dead code. I&apos;m also not sure about the name. Shouldn&apos;t it be something like setCompressionEnabled or similar? I&apos;m also a bit wary of this because it&apos;s a new method on ResourceRequestBase, but only implemented for libsoup. Is this a problem for Qt?

As for the patch split, I am not used to the webkit commit scheme and I usually try to make patches per functionality. In this case one patch is to enable the support to disable AcceptEncoding field on requests (this bug) and the other is to actually disable it on the gstreamer player (bug #115354), hence the separate bugs.

The name chosen was because the header is called Accept-Encoding, but I have no hard preference here.

As for this being a problem with Qt, I don&apos;t think this is the case as the patch keeps the same default behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897024</commentid>
    <comment_count>14</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-06-04 14:01:30 -0700</bug_when>
    <thetext>(In reply to comment #13)

&gt; As for this being a problem with Qt, I don&apos;t think this is the case as the patch keeps the same default behaviour.

What I mean is that there is no implementation of this fix for the Qt networking layer, yet the Qt port uses libsoup. Does this problem affect Qt? If so we need to fix it as well or open a bug. If not, that may lead to the interesting question of &quot;Why not?&quot; and perhaps an alternate fix for this issue. Just some thoughts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897771</commentid>
    <comment_count>15</comment_count>
    <who name="Sebastian Dröge (slomo)">slomo</who>
    <bug_when>2013-06-06 07:26:27 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; 
&gt; &gt; As for this being a problem with Qt, I don&apos;t think this is the case as the patch keeps the same default behaviour.
&gt; 
&gt; What I mean is that there is no implementation of this fix for the Qt networking layer, yet the Qt port uses libsoup. Does this problem affect Qt? If so we need to fix it as well or open a bug. If not, that may lead to the interesting question of &quot;Why not?&quot; and perhaps an alternate fix for this issue. Just some thoughts.

It affects any port, it&apos;s just not *that* bad (with Andre&apos;s other patches) and will not cause any actual problems... other than causing more load on the server to compress something that is already compressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897773</commentid>
    <comment_count>16</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-06-06 07:29:07 -0700</bug_when>
    <thetext>In any case, we should not add a property to a base class that&apos;s only used by a subclass and only called in another patch, thus making it dead code until some future time. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897783</commentid>
    <comment_count>17</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-06-06 07:46:16 -0700</bug_when>
    <thetext>(In reply to comment #14)
 
&gt; What I mean is that there is no implementation of this fix for the Qt networking layer, yet the Qt port uses libsoup. 

danw pointed out that &quot;the Qt port uses libsoup&quot; is wildly inaccurate. That&apos;s because I meant to write &quot;the Qt port uses GStreamer.&quot; I&apos;m just noting this for posterity. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>902903</commentid>
    <comment_count>18</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-06-24 03:27:49 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; In any case, we should not add a property to a base class that&apos;s only used by a subclass and only called in another patch, thus making it dead code until some future time. :)

Sounds fair enough :) Andre can you merge this patch and the one in bug 115354 ? If possible not on top of the one from bug 115352.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915178</commentid>
    <comment_count>19</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-08-07 09:28:24 -0700</bug_when>
    <thetext>I&apos;m working on this merge, I think it makes sense to handle it in the other bug, which talks about the actual change we want to make to behaviour, so closing this one as a dup.

*** This bug has been marked as a duplicate of bug 115354 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200010</attachid>
            <date>2013-04-29 07:50:41 -0700</date>
            <delta_ts>2013-05-20 10:03:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-115353-20130429154947.patch</filename>
            <type>text/plain</type>
            <size>5725</size>
            <attacher name="Andre Moreira Magalhaes">andrunko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4NjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U1MDk4NzVjZGVlMWQ3
NzJkMzI3ZTQ1MzQyZWQzOTQ4MTA3OGY0My4uMGZiOTk0ZGQ1NGEwM2JhNjU4MTA4ZTYxODYzNTBh
NzE1YTAxOWVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTA0LTI5ICBBbmRy
ZSBNb3JlaXJhIE1hZ2FsaGFlcyAgIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGRpc2FibGUgIkFjY2VwdC1FbmNvZGluZzoiIEhUVFAg
aGVhZGVyIG9uIHNvdXAgUmVzb3VyY2VSZXF1ZXN0LgorCisgICAgICAgIElmIFJlc291cmNlUmVx
dWVzdDo6c2V0QWNjZXB0RW5jb2RpbmcoZmFsc2UpIGlzIGNhbGxlZCB3ZSBtYWtlIHN1cmUgdGhl
ICJBY2NlcHQtRW5jb2Rpbmc6IgorICAgICAgICBoZWFkZXIgaXMgbm90IGFkZGVkIHRvIHRoZSBz
b3VwIG1lc3NhZ2UsIGFzIHRoaXMgY291bGQgbGVhZCB0byBpc3N1ZXMgd2hlcmUgZm9yIGV4YW1w
bGUgdGhlIHNlcnZlcgorICAgICAgICBzZW5kcyBjb21wcmVzc2VkIGRhdGEgYW5kIHRoZSBDb250
ZW50LUxlbmd0aCAoUmVzb3VyY2VSZXNwb25zZTo6ZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCkpIGlz
IHRoZQorICAgICAgICBzaXplIG9mIHRoZSBjb21wcmVzc2VkIGRhdGEsIGJ1dCB0aGUgZGF0YSBy
ZWNlaXZlZCBpbiBSZXNvdXJjZUhhbmRsZTo6ZGlkUmVjZWl2ZURhdGEoKSBpcworICAgICAgICB1
bmNvbXByZXNzZWQgKGRvbmUgYnkgU291cENvbnRlbnREZWNvZGVyKSwgc28gdGhlIGRhdGEgcmVj
ZWl2ZWQgaGFzIGEgZGlmZmVyZW50IHNpemUgZnJvbSB3aGF0IGlzCisgICAgICAgIGFjdHVhbGx5
IHJlcG9ydGVkLgorCisgICAgICAgIFRoaXMgaXMgZXNwZWNpYWxseSBuZWVkZWQgYnkgdGhlIHdl
YmtpdCBnc3RyZWFtZXIgc291cmNlIGVsZW1lbnQgd2hpY2ggbmVlZHMgdG8gcmVseSBvbiB0aGUg
Y29ycmVjdAorICAgICAgICBkYXRhIHNpemUgdG8gZG93bmxvYWQgc3RyZWFtcy4KKworICAgICAg
ICBUaGUgZGVmYXVsdCB2YWx1ZSBvZiBSZXNvdXJjZVJlcXVlc3Q6OmFjY2VwdEVuY29kaW5nKCkg
aXMgdHJ1ZSB0byBrZWVwIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgorCisgICAgICAgIEFkZCBz
dXBwb3J0IHRvIGRpc2FibGUgIkFjY2VwdC1FbmNvZGluZzoiIEhUVFAgaGVhZGVyIG9uIHNvdXAg
UmVzb3VyY2VSZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTUzNTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorICAgICAgICAoUmVzb3VyY2VSZXF1ZXN0QmFzZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjphY2NlcHRFbmNvZGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRBY2NlcHRFbmNvZGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXNvdXJjZVJlcXVl
c3RCYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0
U291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVNvdXBN
ZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6dG9Tb3VwTWVzc2Fn
ZSk6CisKIDIwMTMtMDQtMTggIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25AZ21haWwuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRvb2xiYXIgaWNvbnMgYXJlIGRpc3BsYXllZCBpbmNv
cnJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuaAppbmRleCBmYzMyMGI5NTY1NDBkZmY3OWMxNmVlNThhNTRjNGU0MjFj
ODFkZjRiLi5iM2IwM2IwNzJiNDVlMDgyYWUxYWI1MThmZTg1M2Y5NDJlYWZmZTQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaApAQCAtMTE1LDcgKzExNSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
Rm9ybURhdGEqIGh0dHBCb2R5KCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0SFRUUEJvZHkoUGFz
c1JlZlB0cjxGb3JtRGF0YT4gaHR0cEJvZHkpOwotICAgICAgICAKKworICAgICAgICBib29sIGFj
Y2VwdEVuY29kaW5nKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlcHRFbmNvZGluZzsgfQorICAgICAg
ICB2b2lkIHNldEFjY2VwdEVuY29kaW5nKGJvb2wgYWNjZXB0RW5jb2RpbmcpIHsgbV9hY2NlcHRF
bmNvZGluZyA9IGFjY2VwdEVuY29kaW5nOyB9CisKICAgICAgICAgYm9vbCBhbGxvd0Nvb2tpZXMo
KSBjb25zdDsKICAgICAgICAgdm9pZCBzZXRBbGxvd0Nvb2tpZXMoYm9vbCBhbGxvd0Nvb2tpZXMp
OwogCkBAIC0xNDUsNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByb3RlY3Rl
ZDoKICAgICAgICAgLy8gVXNlZCB3aGVuIFJlc291cmNlUmVxdWVzdCBpcyBpbml0aWFsaXplZCBm
cm9tIGEgcGxhdGZvcm0gcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlcXVlc3QKICAgICAgICAgUmVz
b3VyY2VSZXF1ZXN0QmFzZSgpCi0gICAgICAgICAgICA6IG1fcmVzb3VyY2VSZXF1ZXN0VXBkYXRl
ZChmYWxzZSkKKyAgICAgICAgICAgIDogbV9hY2NlcHRFbmNvZGluZyh0cnVlKQorICAgICAgICAg
ICAgLCBtX3Jlc291cmNlUmVxdWVzdFVwZGF0ZWQoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcGxh
dGZvcm1SZXF1ZXN0VXBkYXRlZCh0cnVlKQogICAgICAgICAgICAgLCBtX3Jlc291cmNlUmVxdWVz
dEJvZHlVcGRhdGVkKGZhbHNlKQogICAgICAgICAgICAgLCBtX3BsYXRmb3JtUmVxdWVzdEJvZHlV
cGRhdGVkKHRydWUpCkBAIC0xNjEsNiArMTY1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgLCBtX2NhY2hlUG9saWN5KHBvbGljeSkKICAgICAgICAgICAgICwgbV90aW1lb3V0
SW50ZXJ2YWwoc19kZWZhdWx0VGltZW91dEludGVydmFsKQogICAgICAgICAgICAgLCBtX2h0dHBN
ZXRob2QoIkdFVCIpCisgICAgICAgICAgICAsIG1fYWNjZXB0RW5jb2RpbmcodHJ1ZSkKICAgICAg
ICAgICAgICwgbV9hbGxvd0Nvb2tpZXModHJ1ZSkKICAgICAgICAgICAgICwgbV9yZXNvdXJjZVJl
cXVlc3RVcGRhdGVkKHRydWUpCiAgICAgICAgICAgICAsIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRl
ZChmYWxzZSkKQEAgLTE5MCw2ICsxOTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IEhUVFBIZWFkZXJNYXAgbV9odHRwSGVhZGVyRmllbGRzOwogICAgICAgICBWZWN0b3I8U3RyaW5n
PiBtX3Jlc3BvbnNlQ29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5OwogICAg
ICAgICBSZWZQdHI8Rm9ybURhdGE+IG1faHR0cEJvZHk7CisgICAgICAgIGJvb2wgbV9hY2NlcHRF
bmNvZGluZyA6IDE7CiAgICAgICAgIGJvb2wgbV9hbGxvd0Nvb2tpZXMgOiAxOwogICAgICAgICBt
dXRhYmxlIGJvb2wgbV9yZXNvdXJjZVJlcXVlc3RVcGRhdGVkIDogMTsKICAgICAgICAgbXV0YWJs
ZSBib29sIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5j
cHAKaW5kZXggM2MwY2M2MWY2YjczNTIzNzI4NjcwZDg5NmJmMmEzNGNkNjU2M2Y2MC4uMGI0NTRk
Y2M1YzhiMDVlYWY1ZDdiYWI3MTA3OGUzNDA2MjZkZjlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3Vw
LmNwcApAQCAtNTYsNiArNTYsMTAgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVNvdXBN
ZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkgY29uc3QKICAgICB9CiAKICAgICBzb3Vw
X21lc3NhZ2Vfc2V0X2ZsYWdzKHNvdXBNZXNzYWdlLCBtX3NvdXBGbGFncyk7CisKKyAgICBpZiAo
IWFjY2VwdEVuY29kaW5nKCkpCisgICAgICAgIC8vIERpc2FibGUgU291cENvbnRlbnREZWNvZGVy
IGFzIGl0IGFkZHMgYSAiQWNjZXB0LUVuY29kaW5nOiIgZmllbGQgdG8gdGhlIGhlYWRlcnMKKyAg
ICAgICAgc291cF9tZXNzYWdlX2Rpc2FibGVfZmVhdHVyZShzb3VwTWVzc2FnZSwgU09VUF9UWVBF
X0NPTlRFTlRfREVDT0RFUik7CiB9CiAKIFNvdXBNZXNzYWdlKiBSZXNvdXJjZVJlcXVlc3Q6OnRv
U291cE1lc3NhZ2UoKSBjb25zdApAQCAtNjQsMjEgKzY4LDcgQEAgU291cE1lc3NhZ2UqIFJlc291
cmNlUmVxdWVzdDo6dG9Tb3VwTWVzc2FnZSgpIGNvbnN0CiAgICAgaWYgKCFzb3VwTWVzc2FnZSkK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJzID0g
aHR0cEhlYWRlckZpZWxkcygpOwotICAgIFNvdXBNZXNzYWdlSGVhZGVycyogc291cEhlYWRlcnMg
PSBzb3VwTWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzOwotICAgIGlmICghaGVhZGVycy5pc0VtcHR5
KCkpIHsKLSAgICAgICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gaGVhZGVy
cy5lbmQoKTsKLSAgICAgICAgZm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9
IGhlYWRlcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICAgICAgc291cF9tZXNz
YWdlX2hlYWRlcnNfYXBwZW5kKHNvdXBIZWFkZXJzLCBpdC0+a2V5LnN0cmluZygpLnV0ZjgoKS5k
YXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci0KLSAgICBTdHJpbmcgZmly
c3RQYXJ0eVN0cmluZyA9IGZpcnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5nKCk7Ci0gICAgaWYg
KCFmaXJzdFBhcnR5U3RyaW5nLmlzRW1wdHkoKSkgewotICAgICAgICBHT3duUHRyPFNvdXBVUkk+
IGZpcnN0UGFydHkoc291cF91cmlfbmV3KGZpcnN0UGFydHlTdHJpbmcudXRmOCgpLmRhdGEoKSkp
OwotICAgICAgICBzb3VwX21lc3NhZ2Vfc2V0X2ZpcnN0X3BhcnR5KHNvdXBNZXNzYWdlLCBmaXJz
dFBhcnR5LmdldCgpKTsKLSAgICB9Ci0KLSAgICBzb3VwX21lc3NhZ2Vfc2V0X2ZsYWdzKHNvdXBN
ZXNzYWdlLCBtX3NvdXBGbGFncyk7CisgICAgdXBkYXRlU291cE1lc3NhZ2Uoc291cE1lc3NhZ2Up
OwogCiAgICAgLy8gQm9keSBkYXRhIGlzIG9ubHkgaGFuZGxlZCBhdCBSZXNvdXJjZUhhbmRsZVNv
dXA6OnN0YXJ0SHR0cCBmb3IKICAgICAvLyBub3c7IHRoaXMgaXMgYmVjYXVzZSB0aGlzIG1heSBu
b3QgYmUgYSBnb29kIHBsYWNlIHRvIGdvCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202285</attachid>
            <date>2013-05-20 10:03:39 -0700</date>
            <delta_ts>2022-03-01 02:59:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch_115353.diff</filename>
            <type>text/plain</type>
            <size>5509</size>
            <attacher name="Andre Moreira Magalhaes">andrunko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4NjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U1MDk4NzVjZGVlMWQ3
NzJkMzI3ZTQ1MzQyZWQzOTQ4MTA3OGY0My4uMGZiOTk0ZGQ1NGEwM2JhNjU4MTA4ZTYxODYzNTBh
NzE1YTAxOWVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA0LTI5ICBBbmRy
ZSBNb3JlaXJhIE1hZ2FsaGFlcyAgIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGRpc2FibGUgIkFjY2VwdC1FbmNvZGluZzoiIEhUVFAg
aGVhZGVyIG9uIHNvdXAgUmVzb3VyY2VSZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzNTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJZiBSZXNvdXJjZVJlcXVlc3Q6OnNldEFjY2VwdEVuY29k
aW5nKGZhbHNlKSBpcyBjYWxsZWQgd2UgbWFrZSBzdXJlIHRoZSAiQWNjZXB0LUVuY29kaW5nOiIK
KyAgICAgICAgaGVhZGVyIGlzIG5vdCBhZGRlZCB0byB0aGUgc291cCBtZXNzYWdlLCBhcyB0aGlz
IGNvdWxkIGxlYWQgdG8gaXNzdWVzIHdoZXJlIGZvciBleGFtcGxlIHRoZSBzZXJ2ZXIKKyAgICAg
ICAgc2VuZHMgY29tcHJlc3NlZCBkYXRhIGFuZCB0aGUgQ29udGVudC1MZW5ndGggKFJlc291cmNl
UmVzcG9uc2U6OmV4cGVjdGVkQ29udGVudExlbmd0aCgpKSBpcyB0aGUKKyAgICAgICAgc2l6ZSBv
ZiB0aGUgY29tcHJlc3NlZCBkYXRhLCBidXQgdGhlIGRhdGEgcmVjZWl2ZWQgaW4gUmVzb3VyY2VI
YW5kbGU6OmRpZFJlY2VpdmVEYXRhKCkgaXMKKyAgICAgICAgdW5jb21wcmVzc2VkIChkb25lIGJ5
IFNvdXBDb250ZW50RGVjb2RlciksIHNvIHRoZSBkYXRhIHJlY2VpdmVkIGhhcyBhIGRpZmZlcmVu
dCBzaXplIGZyb20gd2hhdCBpcworICAgICAgICBhY3R1YWxseSByZXBvcnRlZC4KKworICAgICAg
ICBUaGlzIGlzIGVzcGVjaWFsbHkgbmVlZGVkIGJ5IHRoZSB3ZWJraXQgZ3N0cmVhbWVyIHNvdXJj
ZSBlbGVtZW50IHdoaWNoIG5lZWRzIHRvIHJlbHkgb24gdGhlIGNvcnJlY3QKKyAgICAgICAgZGF0
YSBzaXplIHRvIGRvd25sb2FkIHN0cmVhbXMuCisKKyAgICAgICAgVGhlIGRlZmF1bHQgdmFsdWUg
b2YgUmVzb3VyY2VSZXF1ZXN0OjphY2NlcHRFbmNvZGluZygpIGlzIHRydWUgdG8ga2VlcCBiYWNr
d2FyZHMgY29tcGF0aWJpbGl0eS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oOgorICAgICAgICAoUmVzb3VyY2VSZXF1ZXN0QmFzZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjphY2NlcHRFbmNvZGluZyk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRBY2NlcHRFbmNvZGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXNvdXJjZVJlcXVlc3RCYXNlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVNvdXBNZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6dG9Tb3VwTWVzc2FnZSk6CisKIDIw
MTMtMDQtMTggIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25AZ21haWwuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFRvb2xiYXIgaWNvbnMgYXJlIGRpc3BsYXllZCBpbmNvcnJlY3RseQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaAppbmRleCBmYzMyMGI5NTY1NDBkZmY3OWMxNmVlNThhNTRjNGU0MjFjODFkZjRiLi5i
M2IwM2IwNzJiNDVlMDgyYWUxYWI1MThmZTg1M2Y5NDJlYWZmZTQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAt
MTE1LDcgKzExNSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRm9ybURhdGEq
IGh0dHBCb2R5KCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0SFRUUEJvZHkoUGFzc1JlZlB0cjxG
b3JtRGF0YT4gaHR0cEJvZHkpOwotICAgICAgICAKKworICAgICAgICBib29sIGFjY2VwdEVuY29k
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlcHRFbmNvZGluZzsgfQorICAgICAgICB2b2lkIHNl
dEFjY2VwdEVuY29kaW5nKGJvb2wgYWNjZXB0RW5jb2RpbmcpIHsgbV9hY2NlcHRFbmNvZGluZyA9
IGFjY2VwdEVuY29kaW5nOyB9CisKICAgICAgICAgYm9vbCBhbGxvd0Nvb2tpZXMoKSBjb25zdDsK
ICAgICAgICAgdm9pZCBzZXRBbGxvd0Nvb2tpZXMoYm9vbCBhbGxvd0Nvb2tpZXMpOwogCkBAIC0x
NDUsNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgLy8gVXNlZCB3aGVuIFJlc291cmNlUmVxdWVzdCBpcyBpbml0aWFsaXplZCBmcm9tIGEgcGxh
dGZvcm0gcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlcXVlc3QKICAgICAgICAgUmVzb3VyY2VSZXF1
ZXN0QmFzZSgpCi0gICAgICAgICAgICA6IG1fcmVzb3VyY2VSZXF1ZXN0VXBkYXRlZChmYWxzZSkK
KyAgICAgICAgICAgIDogbV9hY2NlcHRFbmNvZGluZyh0cnVlKQorICAgICAgICAgICAgLCBtX3Jl
c291cmNlUmVxdWVzdFVwZGF0ZWQoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcGxhdGZvcm1SZXF1
ZXN0VXBkYXRlZCh0cnVlKQogICAgICAgICAgICAgLCBtX3Jlc291cmNlUmVxdWVzdEJvZHlVcGRh
dGVkKGZhbHNlKQogICAgICAgICAgICAgLCBtX3BsYXRmb3JtUmVxdWVzdEJvZHlVcGRhdGVkKHRy
dWUpCkBAIC0xNjEsNiArMTY1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAg
LCBtX2NhY2hlUG9saWN5KHBvbGljeSkKICAgICAgICAgICAgICwgbV90aW1lb3V0SW50ZXJ2YWwo
c19kZWZhdWx0VGltZW91dEludGVydmFsKQogICAgICAgICAgICAgLCBtX2h0dHBNZXRob2QoIkdF
VCIpCisgICAgICAgICAgICAsIG1fYWNjZXB0RW5jb2RpbmcodHJ1ZSkKICAgICAgICAgICAgICwg
bV9hbGxvd0Nvb2tpZXModHJ1ZSkKICAgICAgICAgICAgICwgbV9yZXNvdXJjZVJlcXVlc3RVcGRh
dGVkKHRydWUpCiAgICAgICAgICAgICAsIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZChmYWxzZSkK
QEAgLTE5MCw2ICsxOTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEhUVFBIZWFk
ZXJNYXAgbV9odHRwSGVhZGVyRmllbGRzOwogICAgICAgICBWZWN0b3I8U3RyaW5nPiBtX3Jlc3Bv
bnNlQ29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5OwogICAgICAgICBSZWZQ
dHI8Rm9ybURhdGE+IG1faHR0cEJvZHk7CisgICAgICAgIGJvb2wgbV9hY2NlcHRFbmNvZGluZyA6
IDE7CiAgICAgICAgIGJvb2wgbV9hbGxvd0Nvb2tpZXMgOiAxOwogICAgICAgICBtdXRhYmxlIGJv
b2wgbV9yZXNvdXJjZVJlcXVlc3RVcGRhdGVkIDogMTsKICAgICAgICAgbXV0YWJsZSBib29sIG1f
cGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXF1ZXN0U291cC5jcHAKaW5kZXgg
M2MwY2M2MWY2YjczNTIzNzI4NjcwZDg5NmJmMmEzNGNkNjU2M2Y2MC4uMGI0NTRkY2M1YzhiMDVl
YWY1ZDdiYWI3MTA3OGUzNDA2MjZkZjlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVxdWVzdFNvdXAuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlcXVlc3RTb3VwLmNwcApAQCAt
NTYsNiArNTYsOSBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6dXBkYXRlU291cE1lc3NhZ2UoU291
cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKSBjb25zdAogICAgIH0KIAogICAgIHNvdXBfbWVzc2FnZV9z
ZXRfZmxhZ3Moc291cE1lc3NhZ2UsIG1fc291cEZsYWdzKTsKKworICAgIGlmICghYWNjZXB0RW5j
b2RpbmcoKSkKKyAgICAgICAgc291cF9tZXNzYWdlX2Rpc2FibGVfZmVhdHVyZShzb3VwTWVzc2Fn
ZSwgU09VUF9UWVBFX0NPTlRFTlRfREVDT0RFUik7CiB9CiAKIFNvdXBNZXNzYWdlKiBSZXNvdXJj
ZVJlcXVlc3Q6OnRvU291cE1lc3NhZ2UoKSBjb25zdApAQCAtNjQsMjEgKzY4LDcgQEAgU291cE1l
c3NhZ2UqIFJlc291cmNlUmVxdWVzdDo6dG9Tb3VwTWVzc2FnZSgpIGNvbnN0CiAgICAgaWYgKCFz
b3VwTWVzc2FnZSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBjb25zdCBIVFRQSGVhZGVyTWFw
JiBoZWFkZXJzID0gaHR0cEhlYWRlckZpZWxkcygpOwotICAgIFNvdXBNZXNzYWdlSGVhZGVycyog
c291cEhlYWRlcnMgPSBzb3VwTWVzc2FnZS0+cmVxdWVzdF9oZWFkZXJzOwotICAgIGlmICghaGVh
ZGVycy5pc0VtcHR5KCkpIHsKLSAgICAgICAgSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3Ig
ZW5kID0gaGVhZGVycy5lbmQoKTsKLSAgICAgICAgZm9yIChIVFRQSGVhZGVyTWFwOjpjb25zdF9p
dGVyYXRvciBpdCA9IGhlYWRlcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICAg
ICAgc291cF9tZXNzYWdlX2hlYWRlcnNfYXBwZW5kKHNvdXBIZWFkZXJzLCBpdC0+a2V5LnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCksIGl0LT52YWx1ZS51dGY4KCkuZGF0YSgpKTsKLSAgICB9Ci0KLSAg
ICBTdHJpbmcgZmlyc3RQYXJ0eVN0cmluZyA9IGZpcnN0UGFydHlGb3JDb29raWVzKCkuc3RyaW5n
KCk7Ci0gICAgaWYgKCFmaXJzdFBhcnR5U3RyaW5nLmlzRW1wdHkoKSkgewotICAgICAgICBHT3du
UHRyPFNvdXBVUkk+IGZpcnN0UGFydHkoc291cF91cmlfbmV3KGZpcnN0UGFydHlTdHJpbmcudXRm
OCgpLmRhdGEoKSkpOwotICAgICAgICBzb3VwX21lc3NhZ2Vfc2V0X2ZpcnN0X3BhcnR5KHNvdXBN
ZXNzYWdlLCBmaXJzdFBhcnR5LmdldCgpKTsKLSAgICB9Ci0KLSAgICBzb3VwX21lc3NhZ2Vfc2V0
X2ZsYWdzKHNvdXBNZXNzYWdlLCBtX3NvdXBGbGFncyk7CisgICAgdXBkYXRlU291cE1lc3NhZ2Uo
c291cE1lc3NhZ2UpOwogCiAgICAgLy8gQm9keSBkYXRhIGlzIG9ubHkgaGFuZGxlZCBhdCBSZXNv
dXJjZUhhbmRsZVNvdXA6OnN0YXJ0SHR0cCBmb3IKICAgICAvLyBub3c7IHRoaXMgaXMgYmVjYXVz
ZSB0aGlzIG1heSBub3QgYmUgYSBnb29kIHBsYWNlIHRvIGdvCg==
</data>
<flag name="review"
          id="223708"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>