<?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>112339</bug_id>
          
          <creation_ts>2013-03-14 03:42:47 -0700</creation_ts>
          <short_desc>[WK2] Add C API to copy selected files from WebOpenPanelParameters.</short_desc>
          <delta_ts>2013-04-09 04:12:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Brüning">michael.bruning</reporter>
          <assigned_to name="Michael Brüning">michael.bruning</assigned_to>
          <cc>abecsi</cc>
    
    <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>855116</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-14 03:42:47 -0700</bug_when>
    <thetext>[WK2] Add C API to copy selected files from WebOpenPanelParameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855118</commentid>
    <comment_count>1</comment_count>
      <attachid>193103</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-14 03:51:18 -0700</bug_when>
    <thetext>Created attachment 193103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855122</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-14 03:54:29 -0700</bug_when>
    <thetext>Anders, I cc&apos;ed you as you have reviewed the patch that added the API for copying the accepted mime types. Could you please have a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858265</commentid>
    <comment_count>3</comment_count>
      <attachid>193103</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-19 07:25:38 -0700</bug_when>
    <thetext>Comment on attachment 193103
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKOpenPanelParameters.cpp:60
&gt; +WKArrayRef WKOpenPanelParametersCopySelectedFileNames(WKOpenPanelParametersRef parametersRef)

This needs to be implemented in WebOpenPanelParameters, the API should just forward the call.
This will however ask us to adjust the GTK code to use the C API as well.

&gt; Source/WebKit2/UIProcess/qt/QtWebPageUIClient.cpp:29
&gt;  #include &lt;WKAPICast.h&gt;

I think that you removed the last toImpl(...) call using this header :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859163</commentid>
    <comment_count>4</comment_count>
      <attachid>193999</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-20 01:39:26 -0700</bug_when>
    <thetext>Created attachment 193999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859170</commentid>
    <comment_count>5</comment_count>
      <attachid>193999</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-03-20 01:44:05 -0700</bug_when>
    <thetext>Comment on attachment 193999
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859223</commentid>
    <comment_count>6</comment_count>
      <attachid>193999</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-20 03:38:54 -0700</bug_when>
    <thetext>Comment on attachment 193999
Patch

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

&gt; Source/WebKit2/Shared/WebOpenPanelParameters.h:52
&gt; +    PassRefPtr&lt;ImmutableArray&gt; copySelectedFileNames() const;

I can&apos;t find any Web* classes with &quot;Copy&quot; in their method names, only in the WK* API layer.
I also think that this should replace the existing selectedFileNames() method. The GTK port is the only port left using selectedFileNames(), so we could adjust it to use the RefPtr&lt;ImmutableArray&gt; version, as it already does for acceptMIMETypes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859237</commentid>
    <comment_count>7</comment_count>
      <attachid>194016</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-20 04:17:48 -0700</bug_when>
    <thetext>Created attachment 194016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859239</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-20 04:24:31 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859270</commentid>
    <comment_count>9</comment_count>
      <attachid>194026</attachid>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-20 04:54:06 -0700</bug_when>
    <thetext>Created attachment 194026
Patch

Avoiding deep copy of the String vector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859278</commentid>
    <comment_count>10</comment_count>
      <attachid>194026</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-03-20 05:28:14 -0700</bug_when>
    <thetext>Comment on attachment 194026
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp:349
&gt; -    const Vector&lt;String&gt; selectedFileNames = request-&gt;priv-&gt;parameters-&gt;selectedFileNames();
&gt; -    size_t numOfFiles = selectedFileNames.size();
&gt; +    RefPtr&lt;ImmutableArray&gt; selectedFileNames = request-&gt;priv-&gt;parameters-&gt;selectedFileNames();
&gt; +    size_t numOfFiles = selectedFileNames-&gt;size();

Why duplicating the vector here? Can we just leave two methods, once that duplicates the array returning an Immutable array and another returning a const reference? The duplication is not needed here since we are already duplicating the array to create a GPtrArray</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859320</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-03-20 06:14:44 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 194026 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194026&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp:349
&gt; &gt; -    const Vector&lt;String&gt; selectedFileNames = request-&gt;priv-&gt;parameters-&gt;selectedFileNames();
&gt; &gt; -    size_t numOfFiles = selectedFileNames.size();
&gt; &gt; +    RefPtr&lt;ImmutableArray&gt; selectedFileNames = request-&gt;priv-&gt;parameters-&gt;selectedFileNames();
&gt; &gt; +    size_t numOfFiles = selectedFileNames-&gt;size();
&gt; 
&gt; Why duplicating the vector here? Can we just leave two methods, once that duplicates the array returning an Immutable array and another returning a const reference? The duplication is not needed here since we are already duplicating the array to create a GPtrArray

I understand your concern here, but actually, the amount of duplication with the patch is the same as the one in the current implementation: 
Currently, selectedFileNames is in fact not returning a const reference, but rather creates a copy of the WebOpenPanelParameters::m_settings.selectedFiles Vector and the Strings in it.

The new version returns a reference to a Vector of WebStrings instead of Strings (just as the implementation of acceptMIMETypes does).

So with that in mind, I would propose to change the implementation for the sake of consistency with acceptMIMETypes and better integration with the C APIs. 

I would be very interested hearing in your opinion on this or if you see a better way of solving this and avoiding redundancy in the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859337</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-03-20 06:30:16 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 194026 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194026&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp:349
&gt; &gt; &gt; -    const Vector&lt;String&gt; selectedFileNames = request-&gt;priv-&gt;parameters-&gt;selectedFileNames();
&gt; &gt; &gt; -    size_t numOfFiles = selectedFileNames.size();
&gt; &gt; &gt; +    RefPtr&lt;ImmutableArray&gt; selectedFileNames = request-&gt;priv-&gt;parameters-&gt;selectedFileNames();
&gt; &gt; &gt; +    size_t numOfFiles = selectedFileNames-&gt;size();
&gt; &gt; 
&gt; &gt; Why duplicating the vector here? Can we just leave two methods, once that duplicates the array returning an Immutable array and another returning a const reference? The duplication is not needed here since we are already duplicating the array to create a GPtrArray
&gt; 
&gt; I understand your concern here, but actually, the amount of duplication with the patch is the same as the one in the current implementation: 
&gt; Currently, selectedFileNames is in fact not returning a const reference, but rather creates a copy of the WebOpenPanelParameters::m_settings.selectedFiles Vector and the Strings in it.

Ah, you are right, it returns a copy of the vector.

&gt; The new version returns a reference to a Vector of WebStrings instead of Strings (just as the implementation of acceptMIMETypes does).
&gt; 
&gt; So with that in mind, I would propose to change the implementation for the sake of consistency with acceptMIMETypes and better integration with the C APIs. 
&gt; 
&gt; I would be very interested hearing in your opinion on this or if you see a better way of solving this and avoiding redundancy in the code.

Well, the only way I see to avoid the duplication would be to add a getter to return the WebCore::FileChooserSettings, similar to WebURLRequest/Response do. 
But that would actually be a different issue, so I&apos;m fine with your patch, sorry for the noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860317</commentid>
    <comment_count>13</comment_count>
      <attachid>194026</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-21 07:30:04 -0700</bug_when>
    <thetext>Comment on attachment 194026
Patch

The Qt part looks good to me.

Anders, may I ask you to look at the WK2 part?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868574</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-04-03 03:03:45 -0700</bug_when>
    <thetext>Benjamin, would you like to have a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871570</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-04-09 02:55:59 -0700</bug_when>
    <thetext>Benjamin, Anders, any estimate on when you might be able to look at this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871596</commentid>
    <comment_count>16</comment_count>
      <attachid>194026</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-09 03:57:42 -0700</bug_when>
    <thetext>Comment on attachment 194026
Patch

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

r=me

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp:358
&gt; +        String fileNameString = webFileName-&gt;string();
&gt; +        if (fileNameString.isEmpty())
&gt;              continue;

Do you need the String temporary here?

if (webFileName-&gt;isEmpty())
    continue;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871600</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-04-09 04:04:43 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 194026 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194026&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitFileChooserRequest.cpp:358
&gt; &gt; +        String fileNameString = webFileName-&gt;string();
&gt; &gt; +        if (fileNameString.isEmpty())
&gt; &gt;              continue;
&gt; 
&gt; Do you need the String temporary here?
&gt; 
&gt; if (webFileName-&gt;isEmpty())
&gt;     continue;
Good point, fileNameString is indeed not needed. Will land with this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871603</commentid>
    <comment_count>18</comment_count>
    <who name="Michael Brüning">michael.bruning</who>
    <bug_when>2013-04-09 04:12:22 -0700</bug_when>
    <thetext>Committed r148005: &lt;http://trac.webkit.org/changeset/148005&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193103</attachid>
            <date>2013-03-14 03:51:18 -0700</date>
            <delta_ts>2013-03-20 01:39:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112339-20130314114714.patch</filename>
            <type>text/plain</type>
            <size>4564</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDRhY2Q4MGFiZGMwODJl
OGRjNDVlYzgwYzRjMjJiMjE4YTFkZmE1My4uNTc0YWY3OGUyMjIxYzIxMzhhOWMyNGQ1ZDliNmQ1
ZGY1MmNiYTIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAzLTE0ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbV0sy
XSBBZGQgQyBBUEkgdG8gY29weSBzZWxlY3RlZCBmaWxlcyBmcm9tIFdlYk9wZW5QYW5lbFBhcmFt
ZXRlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTIzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRzIGEgQyBtZXRob2QgdG8gY29weSB0aGUgc2VsZWN0ZWQgZmlsZSBuYW1lcyBmcm9tIHRoZSBX
ZWJPcGVuUGFuZWxQYXJhbWV0ZXJzCisgICAgICAgIGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgZGly
ZWN0IHVzZSBvZiBXZWJLaXQyIGNsYXNzZXMgaW4gY2xpZW50cy4KKworICAgICAgICBUaGUgaW1w
bGVtZW50YXRpb24gaXMgdmVyeSBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gV2ViT3BlblBhbmVsUGFy
YW1ldGVyczo6YWNjZXB0TUlNRVR5cGVzKCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdLT3BlblBhbmVsUGFyYW1ldGVy
c0NvcHlTZWxlY3RlZEZpbGVOYW1lcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLT3Bl
blBhbmVsUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VVSUNs
aWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlF0V2ViUGFnZVVJQ2xpZW50OjpydW5PcGVuUGFu
ZWwpOgorCiAyMDEzLTAzLTE0ICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCB0byBIaXN0b3J5SXRlbSBhIHdheSB0byBrbm93IGlmIGl0cyB1bmRlcmx5aW5n
IENhY2hlZFBhZ2UgaGFzIGV4cGlyZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCmluZGV4IDZhN2M1M2U4ZjJh
MmIzMWQxZmYxMWRiYTRhMzI4ZjEyYWY2NjI5NjAuLjczNGU3YjQ0NjdkYTRlYWY4NjIxNWFjNmVl
YWVjZTIzMzNkYzNhMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC01NiwzICs1NiwxNiBAQCBXS1N0
cmluZ1JlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5Q2FwdHVyZShXS09wZW5QYW5lbFBhcmFt
ZXRlcnNSZWYgcGFyYW1ldGVycwogICAgIHJldHVybiAwOwogI2VuZGlmCiB9CisKK1dLQXJyYXlS
ZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weVNlbGVjdGVkRmlsZU5hbWVzKFdLT3BlblBhbmVs
UGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzUmVmKQoreworICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+
IHNlbGVjdGVkRmlsZU5hbWVzID0gdG9JbXBsKHBhcmFtZXRlcnNSZWYpLT5zZWxlY3RlZEZpbGVO
YW1lcygpOworICAgIHNpemVfdCBzaXplID0gc2VsZWN0ZWRGaWxlTmFtZXMuc2l6ZSgpOworCisg
ICAgVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4gdmVjdG9yOworICAgIHZlY3Rvci5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KHNpemUpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXpl
OyArK2kpCisgICAgICAgIHZlY3Rvci51bmNoZWNrZWRBcHBlbmQoV2ViU3RyaW5nOjpjcmVhdGUo
c2VsZWN0ZWRGaWxlTmFtZXNbaV0pKTsKKyAgICByZXR1cm4gdG9BUEkoSW1tdXRhYmxlQXJyYXk6
OmFkb3B0KHZlY3RvcikubGVha1JlZigpKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaAppbmRleCBkZGNhYWUyNjU2
NjUyYTg1NTVhNzBhNWJjNTJlNjJjNWY0OGE0MzRlLi4zODAxYzJmN2I1YTE5NDkzNjY1NzUyOTIx
ZDc4NjYzNmE4MDIwOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5oCkBAIC00NSw2ICs0NSw4IEBAIFdLX0VYUE9S
VCBXS0FycmF5UmVmIFdLT3BlblBhbmVsUGFyYW1ldGVyc0NvcHlBY2NlcHRlZE1JTUVUeXBlcyhX
S09wZW5QYW5lbFBhcmFtCiAKIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS09wZW5QYW5lbFBhcmFt
ZXRlcnNDb3B5Q2FwdHVyZShXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycyk7CiAK
K1dLX0VYUE9SVCBXS0FycmF5UmVmIFdLT3BlblBhbmVsUGFyYW1ldGVyc0NvcHlTZWxlY3RlZEZp
bGVOYW1lcyhXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVyc1JlZik7CisKICNpZmRl
ZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlVUlDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0V2ViUGFnZVVJQ2xpZW50LmNwcAppbmRleCAzOWUxZTNkMjEwOWY1M2QwZGY4NGE5NmU1
YTY3NWUwMTM2NTBjZTI1Li5iZjVjMWJmY2IzYzk1MjdhZWIxYzA0NGE4NjQxYjA3NzYyN2IxNzNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlVUlDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VVSUNsaWVu
dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3BfcC5oIgog
I2luY2x1ZGUgInF3ZWJwZXJtaXNzaW9ucmVxdWVzdF9wLmgiCiAjaW5jbHVkZSA8V0tBUElDYXN0
Lmg+CisjaW5jbHVkZSA8V0tBcnJheS5oPgogI2luY2x1ZGUgPFdLSGl0VGVzdFJlc3VsdC5oPgog
I2luY2x1ZGUgPFdLT3BlblBhbmVsUGFyYW1ldGVycy5oPgogI2luY2x1ZGUgPFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXIuaD4KQEAgLTEzNiwxMSArMTM3LDEzIEBAIFdLU3RyaW5nUmVmIFF0V2Vi
UGFnZVVJQ2xpZW50OjpydW5KYXZhU2NyaXB0UHJvbXB0KFdLUGFnZVJlZiwgV0tTdHJpbmdSZWYg
bWVzc2FnCiAKIHZvaWQgUXRXZWJQYWdlVUlDbGllbnQ6OnJ1bk9wZW5QYW5lbChXS1BhZ2VSZWYs
IFdLRnJhbWVSZWYsIFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzLCBXS09wZW5Q
YW5lbFJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQog
ewotICAgIFZlY3RvcjxTdHJpbmc+IHdrU2VsZWN0ZWRGaWxlTmFtZXMgPSB0b0ltcGwocGFyYW1l
dGVycyktPnNlbGVjdGVkRmlsZU5hbWVzKCk7Ci0KKyAgICBXS1JldGFpblB0cjxXS0FycmF5UmVm
PiB3a1NlbGVjdGVkRmlsZU5hbWVzID0gYWRvcHRXSyhXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5
U2VsZWN0ZWRGaWxlTmFtZXMocGFyYW1ldGVycykpOwogICAgIFFTdHJpbmdMaXN0IHNlbGVjdGVk
RmlsZU5hbWVzOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgd2tTZWxlY3RlZEZpbGVOYW1l
cy5zaXplKCk7ICsraSkKLSAgICAgICAgc2VsZWN0ZWRGaWxlTmFtZXMgKz0gd2tTZWxlY3RlZEZp
bGVOYW1lcy5hdChpKTsKKyAgICBzaXplX3Qgc2VsZWN0ZWRGaWxlc1NpemUgPSBXS0FycmF5R2V0
U2l6ZSh3a1NlbGVjdGVkRmlsZU5hbWVzLmdldCgpKTsKKyAgICBzZWxlY3RlZEZpbGVOYW1lcy5y
ZXNlcnZlKHNlbGVjdGVkRmlsZXNTaXplKTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
c2VsZWN0ZWRGaWxlc1NpemU7ICsraSkKKyAgICAgICAgc2VsZWN0ZWRGaWxlTmFtZXMgKz0gV0tT
dHJpbmdDb3B5UVN0cmluZyhzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tBcnJheUdldEl0ZW1B
dEluZGV4KHdrU2VsZWN0ZWRGaWxlTmFtZXMuZ2V0KCksIGkpKSk7CiAKICAgICBGaWxlQ2hvb3Nl
clR5cGUgYWxsb3dNdWx0aXBsZUZpbGVzID0gV0tPcGVuUGFuZWxQYXJhbWV0ZXJzR2V0QWxsb3dz
TXVsdGlwbGVGaWxlcyhwYXJhbWV0ZXJzKSA/IE11bHRpcGxlRmlsZXNTZWxlY3Rpb24gOiBTaW5n
bGVGaWxlU2VsZWN0aW9uOwogICAgIHRvUXRXZWJQYWdlVUlDbGllbnQoY2xpZW50SW5mbyktPnJ1
bk9wZW5QYW5lbChsaXN0ZW5lciwgc2VsZWN0ZWRGaWxlTmFtZXMsIGFsbG93TXVsdGlwbGVGaWxl
cyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193999</attachid>
            <date>2013-03-20 01:39:26 -0700</date>
            <delta_ts>2013-03-20 04:17:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112339-20130320093515.patch</filename>
            <type>text/plain</type>
            <size>5900</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDdhMzBlYmI1MjEyZTc1
ZDEwNjEwMDU0ZmI2MzY0OWVhZTg3YWM2Yy4uMTU3ZGUzNThlZWMxYmIxYTU1Yjg4ODU3ZjE1NTQw
OTdiN2Y2MmY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAzLTE5ICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbV0sy
XSBBZGQgQyBBUEkgdG8gY29weSBzZWxlY3RlZCBmaWxlcyBmcm9tIFdlYk9wZW5QYW5lbFBhcmFt
ZXRlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTIzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRzIGEgbWV0aG9kIHRvIGNvcHkgdGhlIHNlbGVjdGVkIGZpbGUgbmFtZXMgdG8gV2ViT3BlblBh
bmVsUGFyYW1ldGVycworICAgICAgICBhbmQgYSBDIEFQSSB0byBleHBvc2UgdGhpcyBtZXRob2Qg
aW4gb3JkZXIgdG8gcmVkdWNlIHRoZSBkaXJlY3QgdXNlIG9mCisgICAgICAgIFdlYktpdDIgY2xh
c3NlcyBpbiBjbGllbnRzLgorCisgICAgICAgIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyB2ZXJ5IHNp
bWlsYXIgdG8gdGhlIG9uZSBpbiBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOjphY2NlcHRNSU1FVHlw
ZXMoKQorCisgICAgICAgICogU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOjpjb3B5U2VsZWN0ZWRGaWxlTmFt
ZXMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViT3BlblBhbmVsUGFy
YW1ldGVycy5oOgorICAgICAgICAoV2ViT3BlblBhbmVsUGFyYW1ldGVycyk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXS09w
ZW5QYW5lbFBhcmFtZXRlcnNDb3B5U2VsZWN0ZWRGaWxlTmFtZXMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlVUlDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpRdFdlYlBhZ2VVSUNs
aWVudDo6cnVuT3BlblBhbmVsKToKKwogMjAxMy0wMy0xOSAgWmFuIERvYmVyc2VrICA8emRvYmVy
c2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gRml4IFdlYktpdDIgYnVpbGRzIGFmdGVy
IHIxNDYxOTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQ
YXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0
ZXJzLmNwcAppbmRleCA3NzI1MDQwNjYxMDZiYTBkZmRmMTk1ZjE3NzQ3ZGZmNmNlOTA2MTJkLi4z
ZTA2ZTQ4ZGI1MzQwMDJhYzFhMDY1MjFjYmFlMGRkN2RlNjRjMWFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC02OCw1ICs2OCwx
OCBAQCBTdHJpbmcgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6Y2FwdHVyZSgpIGNvbnN0CiB9CiAj
ZW5kaWYKIAorUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gV2ViT3BlblBhbmVsUGFyYW1ldGVy
czo6Y29weVNlbGVjdGVkRmlsZU5hbWVzKCkgY29uc3QKK3sKKyAgICBjb25zdCBWZWN0b3I8U3Ry
aW5nPiBzZWxlY3RlZEZpbGVzID0gbV9zZXR0aW5ncy5zZWxlY3RlZEZpbGVzOworICAgIHNpemVf
dCBzaXplID0gc2VsZWN0ZWRGaWxlcy5zaXplKCk7CisKKyAgICBWZWN0b3I8UmVmUHRyPEFQSU9i
amVjdD4gPiB2ZWN0b3I7CisgICAgdmVjdG9yLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6ZSk7
CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAgdmVjdG9y
LnVuY2hlY2tlZEFwcGVuZChXZWJTdHJpbmc6OmNyZWF0ZShzZWxlY3RlZEZpbGVzW2ldKSk7Cisg
ICAgcmV0dXJuIEltbXV0YWJsZUFycmF5OjphZG9wdCh2ZWN0b3IpOworfQorCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVu
UGFuZWxQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFy
YW1ldGVycy5oCmluZGV4IGFiMTJjMGZjMWJlYjM5YmFiZDU4N2ZmOGJiYjJkNTJkM2FmYzIzMmQu
LjI4OGU4OTVhMTY2MTFiNTVjNmFiN2MzZDI0MmI2MmNhZTlmYTM5MWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaApAQCAtNDksNiArNDksNyBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX0NBUFRVUkUpCiAgICAgU3RyaW5nIGNhcHR1cmUo
KSBjb25zdDsKICNlbmRpZgorICAgIFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGNvcHlTZWxl
Y3RlZEZpbGVOYW1lcygpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYk9wZW5Q
YW5lbFBhcmFtZXRlcnMoY29uc3QgV2ViQ29yZTo6RmlsZUNob29zZXJTZXR0aW5ncyYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1l
dGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJh
bWV0ZXJzLmNwcAppbmRleCA2YTdjNTNlOGYyYTJiMzFkMWZmMTFkYmE0YTMyOGYxMmFmNjYyOTYw
Li4yMDBlODkyOWFhMjNhNjcwYzJhZmYzY2M5MzM2ZWRkMGM2MmI4ZjUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJz
LmNwcApAQCAtNTYsMyArNTYsOCBAQCBXS1N0cmluZ1JlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnND
b3B5Q2FwdHVyZShXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycwogICAgIHJldHVy
biAwOwogI2VuZGlmCiB9CisKK1dLQXJyYXlSZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weVNl
bGVjdGVkRmlsZU5hbWVzKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzUmVmKQor
eworICAgIHJldHVybiB0b0FQSSh0b0ltcGwocGFyYW1ldGVyc1JlZiktPmNvcHlTZWxlY3RlZEZp
bGVOYW1lcygpLmxlYWtSZWYoKSk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKaW5kZXggZGRjYWFlMjY1NjY1MmE4
NTU1YTcwYTViYzUyZTYyYzVmNDhhNDM0ZS4uMzgwMWMyZjdiNWExOTQ5MzY2NTc1MjkyMWQ3ODY2
MzZhODAyMDhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
T3BlblBhbmVsUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaApAQCAtNDUsNiArNDUsOCBAQCBXS19FWFBPUlQgV0tB
cnJheVJlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5QWNjZXB0ZWRNSU1FVHlwZXMoV0tPcGVu
UGFuZWxQYXJhbQogCiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJz
Q29weUNhcHR1cmUoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMpOwogCitXS19F
WFBPUlQgV0tBcnJheVJlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5U2VsZWN0ZWRGaWxlTmFt
ZXMoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnNSZWYpOworCiAjaWZkZWYgX19j
cGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0V2ViUGFnZVVJQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlBhZ2VVSUNsaWVudC5jcHAKaW5kZXggMzllMWUzZDIxMDlmNTNkMGRmODRhOTZlNWE2NzVl
MDEzNjUwY2UyNS4uYWY4ODQyM2M2ZGEwZWQ0ZDlhYzUzZWU4M2NhMDZjNDA3MzhiZDg3OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlVUlDbGllbnQuY3Bw
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgiCiAjaW5jbHVk
ZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlICJxd2VicGVybWlzc2lvbnJlcXVlc3Rf
cC5oIgotI2luY2x1ZGUgPFdLQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdLQXJyYXkuaD4KICNpbmNs
dWRlIDxXS0hpdFRlc3RSZXN1bHQuaD4KICNpbmNsdWRlIDxXS09wZW5QYW5lbFBhcmFtZXRlcnMu
aD4KICNpbmNsdWRlIDxXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmg+CkBAIC0xMzYsMTEgKzEz
NiwxMyBAQCBXS1N0cmluZ1JlZiBRdFdlYlBhZ2VVSUNsaWVudDo6cnVuSmF2YVNjcmlwdFByb21w
dChXS1BhZ2VSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZwogCiB2b2lkIFF0V2ViUGFnZVVJQ2xpZW50
OjpydW5PcGVuUGFuZWwoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS09wZW5QYW5lbFBhcmFtZXRl
cnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICBWZWN0b3I8U3RyaW5nPiB3a1NlbGVjdGVk
RmlsZU5hbWVzID0gdG9JbXBsKHBhcmFtZXRlcnMpLT5zZWxlY3RlZEZpbGVOYW1lcygpOwotCisg
ICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gd2tTZWxlY3RlZEZpbGVOYW1lcyA9IGFkb3B0V0so
V0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weVNlbGVjdGVkRmlsZU5hbWVzKHBhcmFtZXRlcnMpKTsK
ICAgICBRU3RyaW5nTGlzdCBzZWxlY3RlZEZpbGVOYW1lczsKLSAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHdrU2VsZWN0ZWRGaWxlTmFtZXMuc2l6ZSgpOyArK2kpCi0gICAgICAgIHNlbGVjdGVk
RmlsZU5hbWVzICs9IHdrU2VsZWN0ZWRGaWxlTmFtZXMuYXQoaSk7CisgICAgc2l6ZV90IHNlbGVj
dGVkRmlsZXNTaXplID0gV0tBcnJheUdldFNpemUod2tTZWxlY3RlZEZpbGVOYW1lcy5nZXQoKSk7
CisgICAgc2VsZWN0ZWRGaWxlTmFtZXMucmVzZXJ2ZShzZWxlY3RlZEZpbGVzU2l6ZSk7CisKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNlbGVjdGVkRmlsZXNTaXplOyArK2kpCisgICAgICAg
IHNlbGVjdGVkRmlsZU5hbWVzICs9IFdLU3RyaW5nQ29weVFTdHJpbmcoc3RhdGljX2Nhc3Q8V0tT
dHJpbmdSZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleCh3a1NlbGVjdGVkRmlsZU5hbWVzLmdldCgp
LCBpKSkpOwogCiAgICAgRmlsZUNob29zZXJUeXBlIGFsbG93TXVsdGlwbGVGaWxlcyA9IFdLT3Bl
blBhbmVsUGFyYW1ldGVyc0dldEFsbG93c011bHRpcGxlRmlsZXMocGFyYW1ldGVycykgPyBNdWx0
aXBsZUZpbGVzU2VsZWN0aW9uIDogU2luZ2xlRmlsZVNlbGVjdGlvbjsKICAgICB0b1F0V2ViUGFn
ZVVJQ2xpZW50KGNsaWVudEluZm8pLT5ydW5PcGVuUGFuZWwobGlzdGVuZXIsIHNlbGVjdGVkRmls
ZU5hbWVzLCBhbGxvd011bHRpcGxlRmlsZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194016</attachid>
            <date>2013-03-20 04:17:48 -0700</date>
            <delta_ts>2013-03-20 04:54:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112339-20130320121337.patch</filename>
            <type>text/plain</type>
            <size>7847</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGNjYmJjYmMxYmIyMTQ1
ODIwNzJjODhkZGQ0NGRjNTAwNTU0ZGY0OS4uMDkwNmFmMzdmMDQ3MDA3YzUxYzVmYTdhMGQwMzQ1
OGI4NzE2YTY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAzLTIwICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbV0sy
XSBBZGQgQyBBUEkgdG8gY29weSBzZWxlY3RlZCBmaWxlcyBmcm9tIFdlYk9wZW5QYW5lbFBhcmFt
ZXRlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTIzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZXBsYWNlcyB0aGUgZXhpc3RpbmcgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6c2VsZWN0ZWRGaWxl
TmFtZXMoKSBtZXRob2QKKyAgICAgICAgdG8gcmV0dXJuIGEgY29weSBvZiB0aGUgc2VsZWN0ZWQg
ZmlsZSBuYW1lcyBhbmQgZXhwb3NlcyBpdCB0aHJvdWdoIHRoZQorICAgICAgICBDIEFQSS4gVGhp
cyBpcyBkb25lIGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgZGlyZWN0IHVzZSBvZiBXZWJLaXQyIGlu
dGVybmFsCisgICAgICAgIGNsYXNzZXMuIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyB2ZXJ5IHNpbWls
YXIgdG8gdGhlIG9uZSBpbiAKKyAgICAgICAgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6YWNjZXB0
TUlNRVR5cGVzKCkuCisKKyAgICAgICAgVGhpcyBhbHNvIHVwZGF0ZXMgdGhlIEdUSyBwb3J0LCB3
aGljaCBpcyB0aGUgb3RoZXIgdXNlciBvZiBzZWxlY3RlZEZpbGVOYW1lcy4KKworICAgICAgICAq
IFNoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
T3BlblBhbmVsUGFyYW1ldGVyczo6c2VsZWN0ZWRGaWxlTmFtZXMpOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oOgorICAgICAgICAo
V2ViT3BlblBhbmVsUGFyYW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLT3Bl
blBhbmVsUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5
U2VsZWN0ZWRGaWxlTmFtZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5l
bFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGaWxlQ2hv
b3NlclJlcXVlc3QuY3BwOgorICAgICAgICAod2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dl
dF9zZWxlY3RlZF9maWxlcyk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UXRXZWJQYWdlVUlDbGllbnQ6OnJ1bk9wZW5QYW5l
bCk6CisKIDIwMTMtMDMtMTkgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3
ZWJraXQub3JnPiBhbmQgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGlu
dGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFNlcGFyYXRlIFdlYlZpZXcgZnVydGhlciBm
cm9tIEV3a1ZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFu
ZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJh
bWV0ZXJzLmNwcAppbmRleCA3NzI1MDQwNjYxMDZiYTBkZmRmMTk1ZjE3NzQ3ZGZmNmNlOTA2MTJk
Li4zODI1MTRkNDJlYTA2MTIxMDliN2I2ZjBiOWQ4MDdkZjVjY2YwMDc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC02OCw1ICs2
OCwxOCBAQCBTdHJpbmcgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6Y2FwdHVyZSgpIGNvbnN0CiB9
CiAjZW5kaWYKIAorUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gV2ViT3BlblBhbmVsUGFyYW1l
dGVyczo6c2VsZWN0ZWRGaWxlTmFtZXMoKSBjb25zdAoreworICAgIGNvbnN0IFZlY3RvcjxTdHJp
bmc+IHNlbGVjdGVkRmlsZXMgPSBtX3NldHRpbmdzLnNlbGVjdGVkRmlsZXM7CisgICAgc2l6ZV90
IHNpemUgPSBzZWxlY3RlZEZpbGVzLnNpemUoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8QVBJT2Jq
ZWN0PiA+IHZlY3RvcjsKKyAgICB2ZWN0b3IucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzaXplKTsK
KworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICB2ZWN0b3Iu
dW5jaGVja2VkQXBwZW5kKFdlYlN0cmluZzo6Y3JlYXRlKHNlbGVjdGVkRmlsZXNbaV0pKTsKKyAg
ICByZXR1cm4gSW1tdXRhYmxlQXJyYXk6OmFkb3B0KHZlY3Rvcik7Cit9CisKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5Q
YW5lbFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJh
bWV0ZXJzLmgKaW5kZXggYWIxMmMwZmMxYmViMzliYWJkNTg3ZmY4YmJiMmQ1MmQzYWZjMjMyZC4u
YjU0Y2MyZDEwZjUxYTc1NGZjYTc2M2MxZmU0YTBlYTJkMGQ1NWM0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oCkBAIC00NSw3ICs0NSw3IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgYWxsb3dNdWx0aXBsZUZpbGVzKCkgY29uc3QgeyByZXR1cm4g
bV9zZXR0aW5ncy5hbGxvd3NNdWx0aXBsZUZpbGVzOyB9IAogICAgIFBhc3NSZWZQdHI8SW1tdXRh
YmxlQXJyYXk+IGFjY2VwdE1JTUVUeXBlcygpIGNvbnN0OwotICAgIFZlY3RvcjxTdHJpbmc+IHNl
bGVjdGVkRmlsZU5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5zZWxlY3RlZEZpbGVz
OyB9CisgICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gc2VsZWN0ZWRGaWxlTmFtZXMoKSBj
b25zdDsKICNpZiBFTkFCTEUoTUVESUFfQ0FQVFVSRSkKICAgICBTdHJpbmcgY2FwdHVyZSgpIGNv
bnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCmluZGV4IDZhN2M1M2U4ZjJhMmIzMWQxZmYxMWRi
YTRhMzI4ZjEyYWY2NjI5NjAuLjI5ZWNmNTQzYjAwNTZhY2RkNjhjNDMwNzhkNTcxNmZlNWJkOTM0
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5l
bFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09w
ZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC01NiwzICs1Niw4IEBAIFdLU3RyaW5nUmVmIFdLT3Bl
blBhbmVsUGFyYW1ldGVyc0NvcHlDYXB0dXJlKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJh
bWV0ZXJzCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKIH0KKworV0tBcnJheVJlZiBXS09wZW5QYW5l
bFBhcmFtZXRlcnNDb3B5U2VsZWN0ZWRGaWxlTmFtZXMoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVm
IHBhcmFtZXRlcnNSZWYpCit7CisgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwYXJhbWV0ZXJzUmVm
KS0+c2VsZWN0ZWRGaWxlTmFtZXMoKS5sZWFrUmVmKCkpOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5oCmluZGV4IGRk
Y2FhZTI2NTY2NTJhODU1NWE3MGE1YmM1MmU2MmM1ZjQ4YTQzNGUuLjM4MDFjMmY3YjVhMTk0OTM2
NjU3NTI5MjFkNzg2NjM2YTgwMjA4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKQEAgLTQ1LDYgKzQ1LDggQEAg
V0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weUFjY2VwdGVkTUlN
RVR5cGVzKFdLT3BlblBhbmVsUGFyYW0KIAogV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLT3BlblBh
bmVsUGFyYW1ldGVyc0NvcHlDYXB0dXJlKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0
ZXJzKTsKIAorV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weVNl
bGVjdGVkRmlsZU5hbWVzKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzUmVmKTsK
KwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QuY3Bw
CmluZGV4IDg1YWUwZWZhMDU5ZDMxZTZmMGNmMTUzODI2NmJmYTQ4ODU4ZjM3MTIuLmQxYWVlNThl
NzU2MjlmNGJmOTAzMTg2YTU5OTlkOTc0MGY1N2EwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0
LmNwcApAQCAtMzQ1LDE0ICszNDUsMTYgQEAgY29uc3QgZ2NoYXIqIGNvbnN0KiB3ZWJraXRfZmls
ZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X3NlbGVjdGVkX2ZpbGVzKFdlYktpdEZpbGVDaG8KICAgICBp
ZiAocmVxdWVzdC0+cHJpdi0+c2VsZWN0ZWRGaWxlcykKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8Z2NoYXIqKj4ocmVxdWVzdC0+cHJpdi0+c2VsZWN0ZWRGaWxlcy0+cGRhdGEpOwog
Ci0gICAgY29uc3QgVmVjdG9yPFN0cmluZz4gc2VsZWN0ZWRGaWxlTmFtZXMgPSByZXF1ZXN0LT5w
cml2LT5wYXJhbWV0ZXJzLT5zZWxlY3RlZEZpbGVOYW1lcygpOwotICAgIHNpemVfdCBudW1PZkZp
bGVzID0gc2VsZWN0ZWRGaWxlTmFtZXMuc2l6ZSgpOworICAgIFJlZlB0cjxJbW11dGFibGVBcnJh
eT4gc2VsZWN0ZWRGaWxlTmFtZXMgPSByZXF1ZXN0LT5wcml2LT5wYXJhbWV0ZXJzLT5zZWxlY3Rl
ZEZpbGVOYW1lcygpOworICAgIHNpemVfdCBudW1PZkZpbGVzID0gc2VsZWN0ZWRGaWxlTmFtZXMt
PnNpemUoKTsKICAgICBpZiAoIW51bU9mRmlsZXMpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAg
cmVxdWVzdC0+cHJpdi0+c2VsZWN0ZWRGaWxlcyA9IGFkb3B0R1JlZihnX3B0cl9hcnJheV9uZXdf
d2l0aF9mcmVlX2Z1bmMoZ19mcmVlKSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1P
ZkZpbGVzOyArK2kpIHsKLSAgICAgICAgaWYgKHNlbGVjdGVkRmlsZU5hbWVzW2ldLmlzRW1wdHko
KSkKKyAgICAgICAgV2ViU3RyaW5nKiB3ZWJGaWxlTmFtZSA9IHN0YXRpY19jYXN0PFdlYlN0cmlu
Zyo+KHNlbGVjdGVkRmlsZU5hbWVzLT5hdChpKSk7CisgICAgICAgIFN0cmluZyBmaWxlTmFtZVN0
cmluZyA9IHdlYkZpbGVOYW1lLT5zdHJpbmcoKTsKKyAgICAgICAgaWYgKGZpbGVOYW1lU3RyaW5n
LmlzRW1wdHkoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBDU3RyaW5nIGZpbGVu
YW1lID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHNlbGVjdGVkRmlsZU5hbWVzW2ldKTsKICAg
ICAgICAgZ19wdHJfYXJyYXlfYWRkKHJlcXVlc3QtPnByaXYtPnNlbGVjdGVkRmlsZXMuZ2V0KCks
IGdfc3RyZHVwKGZpbGVuYW1lLmRhdGEoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdFdlYlBhZ2VVSUNsaWVudC5jcHAKaW5kZXggMzllMWUzZDIxMDlmNTNkMGRmODRh
OTZlNWE2NzVlMDEzNjUwY2UyNS4uYWY4ODQyM2M2ZGEwZWQ0ZDlhYzUzZWU4M2NhMDZjNDA3Mzhi
ZDg3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJ
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlVUlD
bGllbnQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgi
CiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlICJxd2VicGVybWlzc2lv
bnJlcXVlc3RfcC5oIgotI2luY2x1ZGUgPFdLQVBJQ2FzdC5oPgorI2luY2x1ZGUgPFdLQXJyYXku
aD4KICNpbmNsdWRlIDxXS0hpdFRlc3RSZXN1bHQuaD4KICNpbmNsdWRlIDxXS09wZW5QYW5lbFBh
cmFtZXRlcnMuaD4KICNpbmNsdWRlIDxXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmg+CkBAIC0x
MzYsMTEgKzEzNiwxMyBAQCBXS1N0cmluZ1JlZiBRdFdlYlBhZ2VVSUNsaWVudDo6cnVuSmF2YVNj
cmlwdFByb21wdChXS1BhZ2VSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZwogCiB2b2lkIFF0V2ViUGFn
ZVVJQ2xpZW50OjpydW5PcGVuUGFuZWwoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS09wZW5QYW5l
bFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBs
aXN0ZW5lciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICBWZWN0b3I8U3RyaW5nPiB3
a1NlbGVjdGVkRmlsZU5hbWVzID0gdG9JbXBsKHBhcmFtZXRlcnMpLT5zZWxlY3RlZEZpbGVOYW1l
cygpOwotCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gd2tTZWxlY3RlZEZpbGVOYW1lcyA9
IGFkb3B0V0soV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weVNlbGVjdGVkRmlsZU5hbWVzKHBhcmFt
ZXRlcnMpKTsKICAgICBRU3RyaW5nTGlzdCBzZWxlY3RlZEZpbGVOYW1lczsKLSAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHdrU2VsZWN0ZWRGaWxlTmFtZXMuc2l6ZSgpOyArK2kpCi0gICAgICAg
IHNlbGVjdGVkRmlsZU5hbWVzICs9IHdrU2VsZWN0ZWRGaWxlTmFtZXMuYXQoaSk7CisgICAgc2l6
ZV90IHNlbGVjdGVkRmlsZXNTaXplID0gV0tBcnJheUdldFNpemUod2tTZWxlY3RlZEZpbGVOYW1l
cy5nZXQoKSk7CisgICAgc2VsZWN0ZWRGaWxlTmFtZXMucmVzZXJ2ZShzZWxlY3RlZEZpbGVzU2l6
ZSk7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNlbGVjdGVkRmlsZXNTaXplOyArK2kp
CisgICAgICAgIHNlbGVjdGVkRmlsZU5hbWVzICs9IFdLU3RyaW5nQ29weVFTdHJpbmcoc3RhdGlj
X2Nhc3Q8V0tTdHJpbmdSZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleCh3a1NlbGVjdGVkRmlsZU5h
bWVzLmdldCgpLCBpKSkpOwogCiAgICAgRmlsZUNob29zZXJUeXBlIGFsbG93TXVsdGlwbGVGaWxl
cyA9IFdLT3BlblBhbmVsUGFyYW1ldGVyc0dldEFsbG93c011bHRpcGxlRmlsZXMocGFyYW1ldGVy
cykgPyBNdWx0aXBsZUZpbGVzU2VsZWN0aW9uIDogU2luZ2xlRmlsZVNlbGVjdGlvbjsKICAgICB0
b1F0V2ViUGFnZVVJQ2xpZW50KGNsaWVudEluZm8pLT5ydW5PcGVuUGFuZWwobGlzdGVuZXIsIHNl
bGVjdGVkRmlsZU5hbWVzLCBhbGxvd011bHRpcGxlRmlsZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194026</attachid>
            <date>2013-03-20 04:54:06 -0700</date>
            <delta_ts>2013-04-09 03:57:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112339-20130320124955.patch</filename>
            <type>text/plain</type>
            <size>7805</size>
            <attacher name="Michael Brüning">michael.bruning</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGNjYmJjYmMxYmIyMTQ1
ODIwNzJjODhkZGQ0NGRjNTAwNTU0ZGY0OS4uMDkwNmFmMzdmMDQ3MDA3YzUxYzVmYTdhMGQwMzQ1
OGI4NzE2YTY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAzLTIwICBNaWNo
YWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KKworICAgICAgICBbV0sy
XSBBZGQgQyBBUEkgdG8gY29weSBzZWxlY3RlZCBmaWxlcyBmcm9tIFdlYk9wZW5QYW5lbFBhcmFt
ZXRlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTIzMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZXBsYWNlcyB0aGUgZXhpc3RpbmcgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6c2VsZWN0ZWRGaWxl
TmFtZXMoKSBtZXRob2QKKyAgICAgICAgdG8gcmV0dXJuIGEgY29weSBvZiB0aGUgc2VsZWN0ZWQg
ZmlsZSBuYW1lcyBhbmQgZXhwb3NlcyBpdCB0aHJvdWdoIHRoZQorICAgICAgICBDIEFQSS4gVGhp
cyBpcyBkb25lIGluIG9yZGVyIHRvIHJlZHVjZSB0aGUgZGlyZWN0IHVzZSBvZiBXZWJLaXQyIGlu
dGVybmFsCisgICAgICAgIGNsYXNzZXMuIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyB2ZXJ5IHNpbWls
YXIgdG8gdGhlIG9uZSBpbiAKKyAgICAgICAgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6YWNjZXB0
TUlNRVR5cGVzKCkuCisKKyAgICAgICAgVGhpcyBhbHNvIHVwZGF0ZXMgdGhlIEdUSyBwb3J0LCB3
aGljaCBpcyB0aGUgb3RoZXIgdXNlciBvZiBzZWxlY3RlZEZpbGVOYW1lcy4KKworICAgICAgICAq
IFNoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
T3BlblBhbmVsUGFyYW1ldGVyczo6c2VsZWN0ZWRGaWxlTmFtZXMpOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oOgorICAgICAgICAo
V2ViT3BlblBhbmVsUGFyYW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLT3Bl
blBhbmVsUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5
U2VsZWN0ZWRGaWxlTmFtZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5l
bFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGaWxlQ2hv
b3NlclJlcXVlc3QuY3BwOgorICAgICAgICAod2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dl
dF9zZWxlY3RlZF9maWxlcyk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UXRXZWJQYWdlVUlDbGllbnQ6OnJ1bk9wZW5QYW5l
bCk6CisKIDIwMTMtMDMtMTkgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3
ZWJraXQub3JnPiBhbmQgTWlraGFpbCBQb3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGlu
dGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFNlcGFyYXRlIFdlYlZpZXcgZnVydGhlciBm
cm9tIEV3a1ZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFu
ZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJh
bWV0ZXJzLmNwcAppbmRleCA3NzI1MDQwNjYxMDZiYTBkZmRmMTk1ZjE3NzQ3ZGZmNmNlOTA2MTJk
Li5hNWExNDY4YjRhODVlYWVhNDAyMjMxNzc1Y2JiOTJkMGUxNzQzNGI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC02OCw1ICs2
OCwxNyBAQCBTdHJpbmcgV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6Y2FwdHVyZSgpIGNvbnN0CiB9
CiAjZW5kaWYKIAorUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gV2ViT3BlblBhbmVsUGFyYW1l
dGVyczo6c2VsZWN0ZWRGaWxlTmFtZXMoKSBjb25zdAoreyAgICAKKyAgICBzaXplX3Qgc2l6ZSA9
IG1fc2V0dGluZ3Muc2VsZWN0ZWRGaWxlcy5zaXplKCk7CisKKyAgICBWZWN0b3I8UmVmUHRyPEFQ
SU9iamVjdD4gPiB2ZWN0b3I7CisgICAgdmVjdG9yLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6
ZSk7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAgdmVj
dG9yLnVuY2hlY2tlZEFwcGVuZChXZWJTdHJpbmc6OmNyZWF0ZShtX3NldHRpbmdzLnNlbGVjdGVk
RmlsZXNbaV0pKTsKKyAgICByZXR1cm4gSW1tdXRhYmxlQXJyYXk6OmFkb3B0KHZlY3Rvcik7Cit9
CisKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKaW5kZXggYWIxMmMwZmMxYmViMzliYWJkNTg3ZmY4YmJi
MmQ1MmQzYWZjMjMyZC4uYjU0Y2MyZDEwZjUxYTc1NGZjYTc2M2MxZmU0YTBlYTJkMGQ1NWM0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oCkBA
IC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYWxsb3dNdWx0aXBsZUZpbGVzKCkg
Y29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5hbGxvd3NNdWx0aXBsZUZpbGVzOyB9IAogICAgIFBh
c3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGFjY2VwdE1JTUVUeXBlcygpIGNvbnN0OwotICAgIFZl
Y3RvcjxTdHJpbmc+IHNlbGVjdGVkRmlsZU5hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5n
cy5zZWxlY3RlZEZpbGVzOyB9CisgICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gc2VsZWN0
ZWRGaWxlTmFtZXMoKSBjb25zdDsKICNpZiBFTkFCTEUoTUVESUFfQ0FQVFVSRSkKICAgICBTdHJp
bmcgY2FwdHVyZSgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCmluZGV4IDZhN2M1M2U4
ZjJhMmIzMWQxZmYxMWRiYTRhMzI4ZjEyYWY2NjI5NjAuLjI5ZWNmNTQzYjAwNTZhY2RkNjhjNDMw
NzhkNTcxNmZlNWJkOTM0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC01NiwzICs1Niw4IEBAIFdL
U3RyaW5nUmVmIFdLT3BlblBhbmVsUGFyYW1ldGVyc0NvcHlDYXB0dXJlKFdLT3BlblBhbmVsUGFy
YW1ldGVyc1JlZiBwYXJhbWV0ZXJzCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKIH0KKworV0tBcnJh
eVJlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5U2VsZWN0ZWRGaWxlTmFtZXMoV0tPcGVuUGFu
ZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnNSZWYpCit7CisgICAgcmV0dXJuIHRvQVBJKHRvSW1w
bChwYXJhbWV0ZXJzUmVmKS0+c2VsZWN0ZWRGaWxlTmFtZXMoKS5sZWFrUmVmKCkpOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1l
dGVycy5oCmluZGV4IGRkY2FhZTI2NTY2NTJhODU1NWE3MGE1YmM1MmU2MmM1ZjQ4YTQzNGUuLjM4
MDFjMmY3YjVhMTk0OTM2NjU3NTI5MjFkNzg2NjM2YTgwMjA4ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKQEAg
LTQ1LDYgKzQ1LDggQEAgV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJz
Q29weUFjY2VwdGVkTUlNRVR5cGVzKFdLT3BlblBhbmVsUGFyYW0KIAogV0tfRVhQT1JUIFdLU3Ry
aW5nUmVmIFdLT3BlblBhbmVsUGFyYW1ldGVyc0NvcHlDYXB0dXJlKFdLT3BlblBhbmVsUGFyYW1l
dGVyc1JlZiBwYXJhbWV0ZXJzKTsKIAorV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tPcGVuUGFuZWxQ
YXJhbWV0ZXJzQ29weVNlbGVjdGVkRmlsZU5hbWVzKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBw
YXJhbWV0ZXJzUmVmKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbGVDaG9vc2VyUmVx
dWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGaWxlQ2hv
b3NlclJlcXVlc3QuY3BwCmluZGV4IDg1YWUwZWZhMDU5ZDMxZTZmMGNmMTUzODI2NmJmYTQ4ODU4
ZjM3MTIuLmQxYWVlNThlNzU2MjlmNGJmOTAzMTg2YTU5OTlkOTc0MGY1N2EwYzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbGVDaG9vc2VyUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rmls
ZUNob29zZXJSZXF1ZXN0LmNwcApAQCAtMzQ1LDE0ICszNDUsMTYgQEAgY29uc3QgZ2NoYXIqIGNv
bnN0KiB3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X3NlbGVjdGVkX2ZpbGVzKFdlYktp
dEZpbGVDaG8KICAgICBpZiAocmVxdWVzdC0+cHJpdi0+c2VsZWN0ZWRGaWxlcykKICAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Z2NoYXIqKj4ocmVxdWVzdC0+cHJpdi0+c2VsZWN0ZWRG
aWxlcy0+cGRhdGEpOwogCi0gICAgY29uc3QgVmVjdG9yPFN0cmluZz4gc2VsZWN0ZWRGaWxlTmFt
ZXMgPSByZXF1ZXN0LT5wcml2LT5wYXJhbWV0ZXJzLT5zZWxlY3RlZEZpbGVOYW1lcygpOwotICAg
IHNpemVfdCBudW1PZkZpbGVzID0gc2VsZWN0ZWRGaWxlTmFtZXMuc2l6ZSgpOworICAgIFJlZlB0
cjxJbW11dGFibGVBcnJheT4gc2VsZWN0ZWRGaWxlTmFtZXMgPSByZXF1ZXN0LT5wcml2LT5wYXJh
bWV0ZXJzLT5zZWxlY3RlZEZpbGVOYW1lcygpOworICAgIHNpemVfdCBudW1PZkZpbGVzID0gc2Vs
ZWN0ZWRGaWxlTmFtZXMtPnNpemUoKTsKICAgICBpZiAoIW51bU9mRmlsZXMpCiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgcmVxdWVzdC0+cHJpdi0+c2VsZWN0ZWRGaWxlcyA9IGFkb3B0R1JlZihn
X3B0cl9hcnJheV9uZXdfd2l0aF9mcmVlX2Z1bmMoZ19mcmVlKSk7CiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBudW1PZkZpbGVzOyArK2kpIHsKLSAgICAgICAgaWYgKHNlbGVjdGVkRmlsZU5h
bWVzW2ldLmlzRW1wdHkoKSkKKyAgICAgICAgV2ViU3RyaW5nKiB3ZWJGaWxlTmFtZSA9IHN0YXRp
Y19jYXN0PFdlYlN0cmluZyo+KHNlbGVjdGVkRmlsZU5hbWVzLT5hdChpKSk7CisgICAgICAgIFN0
cmluZyBmaWxlTmFtZVN0cmluZyA9IHdlYkZpbGVOYW1lLT5zdHJpbmcoKTsKKyAgICAgICAgaWYg
KGZpbGVOYW1lU3RyaW5nLmlzRW1wdHkoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICBDU3RyaW5nIGZpbGVuYW1lID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHNlbGVjdGVkRmls
ZU5hbWVzW2ldKTsKICAgICAgICAgZ19wdHJfYXJyYXlfYWRkKHJlcXVlc3QtPnByaXYtPnNlbGVj
dGVkRmlsZXMuZ2V0KCksIGdfc3RyZHVwKGZpbGVuYW1lLmRhdGEoKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VVSUNsaWVudC5jcHAKaW5kZXggMzllMWUz
ZDIxMDlmNTNkMGRmODRhOTZlNWE2NzVlMDEzNjUwY2UyNS4uYWY4ODQyM2M2ZGEwZWQ0ZDlhYzUz
ZWU4M2NhMDZjNDA3MzhiZDg3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0V2ViUGFnZVVJQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlVUlDbGllbnQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAicXF1
aWNrd2Vidmlld19wLmgiCiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRl
ICJxd2VicGVybWlzc2lvbnJlcXVlc3RfcC5oIgotI2luY2x1ZGUgPFdLQVBJQ2FzdC5oPgorI2lu
Y2x1ZGUgPFdLQXJyYXkuaD4KICNpbmNsdWRlIDxXS0hpdFRlc3RSZXN1bHQuaD4KICNpbmNsdWRl
IDxXS09wZW5QYW5lbFBhcmFtZXRlcnMuaD4KICNpbmNsdWRlIDxXS09wZW5QYW5lbFJlc3VsdExp
c3RlbmVyLmg+CkBAIC0xMzYsMTEgKzEzNiwxMyBAQCBXS1N0cmluZ1JlZiBRdFdlYlBhZ2VVSUNs
aWVudDo6cnVuSmF2YVNjcmlwdFByb21wdChXS1BhZ2VSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZwog
CiB2b2lkIFF0V2ViUGFnZVVJQ2xpZW50OjpydW5PcGVuUGFuZWwoV0tQYWdlUmVmLCBXS0ZyYW1l
UmVmLCBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycywgV0tPcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICBW
ZWN0b3I8U3RyaW5nPiB3a1NlbGVjdGVkRmlsZU5hbWVzID0gdG9JbXBsKHBhcmFtZXRlcnMpLT5z
ZWxlY3RlZEZpbGVOYW1lcygpOwotCisgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gd2tTZWxl
Y3RlZEZpbGVOYW1lcyA9IGFkb3B0V0soV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weVNlbGVjdGVk
RmlsZU5hbWVzKHBhcmFtZXRlcnMpKTsKICAgICBRU3RyaW5nTGlzdCBzZWxlY3RlZEZpbGVOYW1l
czsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHdrU2VsZWN0ZWRGaWxlTmFtZXMuc2l6ZSgp
OyArK2kpCi0gICAgICAgIHNlbGVjdGVkRmlsZU5hbWVzICs9IHdrU2VsZWN0ZWRGaWxlTmFtZXMu
YXQoaSk7CisgICAgc2l6ZV90IHNlbGVjdGVkRmlsZXNTaXplID0gV0tBcnJheUdldFNpemUod2tT
ZWxlY3RlZEZpbGVOYW1lcy5nZXQoKSk7CisgICAgc2VsZWN0ZWRGaWxlTmFtZXMucmVzZXJ2ZShz
ZWxlY3RlZEZpbGVzU2l6ZSk7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNlbGVjdGVk
RmlsZXNTaXplOyArK2kpCisgICAgICAgIHNlbGVjdGVkRmlsZU5hbWVzICs9IFdLU3RyaW5nQ29w
eVFTdHJpbmcoc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KFdLQXJyYXlHZXRJdGVtQXRJbmRleCh3
a1NlbGVjdGVkRmlsZU5hbWVzLmdldCgpLCBpKSkpOwogCiAgICAgRmlsZUNob29zZXJUeXBlIGFs
bG93TXVsdGlwbGVGaWxlcyA9IFdLT3BlblBhbmVsUGFyYW1ldGVyc0dldEFsbG93c011bHRpcGxl
RmlsZXMocGFyYW1ldGVycykgPyBNdWx0aXBsZUZpbGVzU2VsZWN0aW9uIDogU2luZ2xlRmlsZVNl
bGVjdGlvbjsKICAgICB0b1F0V2ViUGFnZVVJQ2xpZW50KGNsaWVudEluZm8pLT5ydW5PcGVuUGFu
ZWwobGlzdGVuZXIsIHNlbGVjdGVkRmlsZU5hbWVzLCBhbGxvd011bHRpcGxlRmlsZXMpOwo=
</data>
<flag name="review"
          id="215716"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>