<?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>146554</bug_id>
          
          <creation_ts>2015-07-02 12:00:20 -0700</creation_ts>
          <short_desc>Ensure media playback is stopped during page close</short_desc>
          <delta_ts>2015-07-20 11:47:08 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>146573</dependson>
    
    <dependson>146668</dependson>
    
    <dependson>147116</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1106433</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 12:00:20 -0700</bug_when>
    <thetext>Depending on how a user closes a WebKit page, the media elements are not always stopped immediately. This can lead to audio playback continuing for a few seconds after the tab is closed.

The Page::close method should instruct the media elements to stop playback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106435</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 12:00:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/18033944&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106465</commentid>
    <comment_count>2</comment_count>
      <attachid>256035</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 14:05:53 -0700</bug_when>
    <thetext>Created attachment 256035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106478</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 14:53:39 -0700</bug_when>
    <thetext>Eric Carlson reviewed the media aspects of this in person. We just need a WK2 review now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106486</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 15:07:46 -0700</bug_when>
    <thetext>WK2 suggested just doing everything in the WebCore::Page destructor instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106487</commentid>
    <comment_count>5</comment_count>
      <attachid>256039</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 15:10:07 -0700</bug_when>
    <thetext>Created attachment 256039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106488</commentid>
    <comment_count>6</comment_count>
      <attachid>256040</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 15:10:50 -0700</bug_when>
    <thetext>Created attachment 256040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106494</commentid>
    <comment_count>7</comment_count>
      <attachid>256040</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-07-02 15:29:09 -0700</bug_when>
    <thetext>Comment on attachment 256040
Patch

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

&gt; Source/WebCore/page/Page.cpp:252
&gt; +    PlatformMediaSessionManager::sharedManager().stopAllMediaPlayback();

This isn&apos;t right. You can have &gt; 1 Page in a process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106548</commentid>
    <comment_count>8</comment_count>
      <attachid>256052</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 17:10:40 -0700</bug_when>
    <thetext>Created attachment 256052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106550</commentid>
    <comment_count>9</comment_count>
      <attachid>256054</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 17:38:19 -0700</bug_when>
    <thetext>Created attachment 256054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106584</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 18:45:37 -0700</bug_when>
    <thetext>Committed r186251: &lt;http://trac.webkit.org/changeset/186251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106597</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-02 19:39:43 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 146573</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106618</commentid>
    <comment_count>12</comment_count>
      <attachid>256073</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 22:42:57 -0700</bug_when>
    <thetext>Created attachment 256073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106621</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 22:52:34 -0700</bug_when>
    <thetext>Testing revealed a crash when attempting to suspend certain WebAudio session. This was because the DestinationAudioNodes logic returns a nullptr for its current execution context when the node is being stopped. This pointer is not null-checked before being used.

In the test case, although the WebAudio session is still marked as Playing, the DestinationAudioNode is marked as &apos;stopping&apos;. When this happens, the (null) pointer is dereferenced resulting in a crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106622</commentid>
    <comment_count>14</comment_count>
      <attachid>256076</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 22:53:36 -0700</bug_when>
    <thetext>Created attachment 256076
Patch (correct test failure)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106625</commentid>
    <comment_count>15</comment_count>
      <attachid>256077</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 23:05:56 -0700</bug_when>
    <thetext>Created attachment 256077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106626</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-02 23:08:01 -0700</bug_when>
    <thetext>I think the latest patch actually creates a progression in &apos;webaudio/mediastreamaudiodestinationnode.html&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106752</commentid>
    <comment_count>17</comment_count>
      <attachid>256116</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-03 12:45:31 -0700</bug_when>
    <thetext>Created attachment 256116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106753</commentid>
    <comment_count>18</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-03 12:46:25 -0700</bug_when>
    <thetext>Revised patch again. Media cleanup must happen at Page destruction time. If we do it when the Document is destroyed, the document has already been cleared out of we lose the ability to use that as the key to find the relevant media sessions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106756</commentid>
    <comment_count>19</comment_count>
      <attachid>256116</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-07-03 12:57:29 -0700</bug_when>
    <thetext>Comment on attachment 256116
Patch

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

&gt; Source/WebCore/ChangeLog:7
&gt; +        Reviewed by Zalan Bujtas.

Please take care to update this line with the name of the actual reviewer before you land this change.

&gt; Source/WebCore/ChangeLog:13
&gt; +        (WebCore::WebAudio::hostingDocument): Added.

Is &quot;hosting document&quot; existing jargon in the area of media sessions? If not then I suggest we name this function to according to the purpose of its return value, which is to be a key to identify a media session. Maybe mediaSessionKey?

&gt; Source/WebCore/Modules/webaudio/AudioContext.h:93
&gt; +    Document* hostingDocument() const override { return document(); }

Although not written in the WebKit Code Style Guidelines, I thought we were moving towards making methods be non-const when returning a non-const pointer from the email thread that started from &lt;https://lists.webkit.org/pipermail/webkit-dev/2011-May/016872.html&gt;. This can addressed in a follow up patch if needed.

As aforementioned, I suggest we come up with a more descriptive name for this function (or at least add a comment) so as to better describe the purpose of this function from document(). I am assuming we only want to use hostingDocument() as a way to identify a media session and use document() for all other purposes. That is, I assume we do not want to advertise to people to use hostingDocument() as a means to circumvent the assertion check in document().

&gt; Source/WebCore/html/HTMLMediaElement.h:151
&gt; +    Document* hostingDocument() const override { return &amp;document(); }

Ditto.

&gt; Source/WebCore/page/Page.cpp:1772
&gt; +    for (auto* frame = static_cast&lt;Frame*&gt;(&amp;mainFrame()); frame; frame = frame-&gt;tree().traverseNext())

I don&apos;t see the value of using auto here given that we need to perform a static_cast&lt;Frame*&gt; to hint to the compiler that auto refer to data type Frame* instead of MainFrame*. I suggest we substitute &quot;Frame*&quot; for &quot;auto*&quot;. Then we can remove the static_cast&lt;Frame*&gt;().

&gt; Source/WebCore/platform/audio/PlatformMediaSession.h:183
&gt; +    virtual Document* hostingDocument() const = 0;

See my remark for AudioContext::hostingDocument().

&gt; Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:335
&gt; +    for (auto session : m_sessions) {

For your consideration, I suggest we use &quot;auto*&quot; instead of &quot;auto&quot; so as to make it explicit to a reader that it&apos;s acceptable to perform a copy of each element in m_sessions (since m_sessions is a collection of pointers) among other benefits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106757</commentid>
    <comment_count>20</comment_count>
      <attachid>256116</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-07-03 13:00:19 -0700</bug_when>
    <thetext>Comment on attachment 256116
Patch

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

&gt;&gt; Source/WebCore/Modules/webaudio/AudioContext.h:93
&gt;&gt; +    Document* hostingDocument() const override { return document(); }
&gt; 
&gt; Although not written in the WebKit Code Style Guidelines, I thought we were moving towards making methods be non-const when returning a non-const pointer from the email thread that started from &lt;https://lists.webkit.org/pipermail/webkit-dev/2011-May/016872.html&gt;. This can addressed in a follow up patch if needed.
&gt; 
&gt; As aforementioned, I suggest we come up with a more descriptive name for this function (or at least add a comment) so as to better describe the purpose of this function from document(). I am assuming we only want to use hostingDocument() as a way to identify a media session and use document() for all other purposes. That is, I assume we do not want to advertise to people to use hostingDocument() as a means to circumvent the assertion check in document().

Can we return a const pointer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106760</commentid>
    <comment_count>21</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-07-03 13:01:22 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Can we return a const pointer?

*a pointer to a const Document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106797</commentid>
    <comment_count>22</comment_count>
      <attachid>256116</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-03 17:53:34 -0700</bug_when>
    <thetext>Comment on attachment 256116
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        (WebCore::WebAudio::hostingDocument): Added.
&gt; 
&gt; Is &quot;hosting document&quot; existing jargon in the area of media sessions? If not then I suggest we name this function to according to the purpose of its return value, which is to be a key to identify a media session. Maybe mediaSessionKey?

I guess it is a key, in the sense that we want to find all media sessions that match a particular document. But the MediaSessions are not stored uniquely by this &quot;key&quot;; rather -- some set of MediaSessions are part of a document. In that sense, I think &quot;hostingDocument&quot; seems reasonable, though I&apos;m far from an expert in good API design or naming schemes.

&gt;&gt;&gt; Source/WebCore/Modules/webaudio/AudioContext.h:93
&gt;&gt;&gt; +    Document* hostingDocument() const override { return document(); }
&gt;&gt; 
&gt;&gt; Although not written in the WebKit Code Style Guidelines, I thought we were moving towards making methods be non-const when returning a non-const pointer from the email thread that started from &lt;https://lists.webkit.org/pipermail/webkit-dev/2011-May/016872.html&gt;. This can addressed in a follow up patch if needed.
&gt;&gt; 
&gt;&gt; As aforementioned, I suggest we come up with a more descriptive name for this function (or at least add a comment) so as to better describe the purpose of this function from document(). I am assuming we only want to use hostingDocument() as a way to identify a media session and use document() for all other purposes. That is, I assume we do not want to advertise to people to use hostingDocument() as a means to circumvent the assertion check in document().
&gt; 
&gt; Can we return a const pointer?

Yes -- this can return a const pointer.

I&apos;m less enamored of changing the name of &quot;hostingDocument&quot; to &quot;...Key&quot; or similar; conceptually, we want to only pause playback on those items that are part of a given Document. I needed to distinguish from the default &quot;document()&quot; because HTMLMediaElements return Document&amp;, and this function returns Document*. The Document* member of AudioContext can be nullptr in some cases, so it&apos;s not safe to return as reference.

Maybe it could be a private method, and let PlatformMediaSession be a friend.

&gt;&gt; Source/WebCore/page/Page.cpp:1772
&gt;&gt; +    for (auto* frame = static_cast&lt;Frame*&gt;(&amp;mainFrame()); frame; frame = frame-&gt;tree().traverseNext())
&gt; 
&gt; I don&apos;t see the value of using auto here given that we need to perform a static_cast&lt;Frame*&gt; to hint to the compiler that auto refer to data type Frame* instead of MainFrame*. I suggest we substitute &quot;Frame*&quot; for &quot;auto*&quot;. Then we can remove the static_cast&lt;Frame*&gt;().

Seems reasonable. I&apos;ll switch to Frame*.

&gt;&gt; Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp:335
&gt;&gt; +    for (auto session : m_sessions) {
&gt; 
&gt; For your consideration, I suggest we use &quot;auto*&quot; instead of &quot;auto&quot; so as to make it explicit to a reader that it&apos;s acceptable to perform a copy of each element in m_sessions (since m_sessions is a collection of pointers) among other benefits.

Ok -- seems like a reasonable change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106914</commentid>
    <comment_count>23</comment_count>
      <attachid>256166</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-04 19:21:36 -0700</bug_when>
    <thetext>Created attachment 256166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106924</commentid>
    <comment_count>24</comment_count>
      <attachid>256169</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-04 21:04:37 -0700</bug_when>
    <thetext>Created attachment 256169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106953</commentid>
    <comment_count>25</comment_count>
      <attachid>256169</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-07-05 10:27:06 -0700</bug_when>
    <thetext>Comment on attachment 256169
Patch

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

&gt; Source/WebCore/page/Page.cpp:1773
&gt; +        PlatformMediaSessionManager::sharedManager().stopAllMediaPlaybackForDocument(*frame-&gt;document());

What guarantees all the documents are non-null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106967</commentid>
    <comment_count>26</comment_count>
      <attachid>256169</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-05 11:24:55 -0700</bug_when>
    <thetext>Comment on attachment 256169
Patch

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

&gt;&gt; Source/WebCore/page/Page.cpp:1773
&gt;&gt; +        PlatformMediaSessionManager::sharedManager().stopAllMediaPlaybackForDocument(*frame-&gt;document());
&gt; 
&gt; What guarantees all the documents are non-null?

Hmmm. Good point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106976</commentid>
    <comment_count>27</comment_count>
      <attachid>256184</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-05 13:56:48 -0700</bug_when>
    <thetext>Created attachment 256184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106978</commentid>
    <comment_count>28</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-05 14:01:22 -0700</bug_when>
    <thetext>Debugging (and logging) shows that the WebProcess can be disconnected from the UIProcess *before* the WebPage::Close message is sent. When this happens, the WebProcess chugs merrily along, playing video content until the WebProcess realizes it&apos;s orphaned and shuts down.

I added logic to the &quot;didClose&quot; handler in WebProcess to deal with the disconnected case, so that we pause media when this happens. This addresses the remaining testing failures I encountered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107127</commentid>
    <comment_count>29</comment_count>
      <attachid>256184</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-07-06 10:17:05 -0700</bug_when>
    <thetext>Comment on attachment 256184
Patch

This looks good to me, thanks Brent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107166</commentid>
    <comment_count>30</comment_count>
      <attachid>256184</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-07-06 11:52:45 -0700</bug_when>
    <thetext>Comment on attachment 256184
Patch

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

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:662
&gt; +    PlatformMediaSessionManager::sharedManager().stopAllMediaPlaybackForProcess();

As I mentioned in person, this seems wrong.  The line below should be shutting down the process.  If that is not happening, that is the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107255</commentid>
    <comment_count>31</comment_count>
      <attachid>256248</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-06 15:57:41 -0700</bug_when>
    <thetext>Created attachment 256248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107257</commentid>
    <comment_count>32</comment_count>
      <attachid>256248</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-07-06 16:02:01 -0700</bug_when>
    <thetext>Comment on attachment 256248
Patch

I looked at this in person with Brent a bit. The issue with the process not shutting down as quickly as we&apos;d expect is bizarre and can&apos;t be figured out right now.

As suggested in person earlier, he filed a bug and referenced it in a FIXME near the necessary shutdown code.

An unfortunate r+ from me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107275</commentid>
    <comment_count>33</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-06 16:42:25 -0700</bug_when>
    <thetext>Committed r186385: &lt;http://trac.webkit.org/changeset/186385&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107336</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-06 18:38:49 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 146668</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107349</commentid>
    <comment_count>35</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-06 19:54:41 -0700</bug_when>
    <thetext>This was rolled out, in r186394: &lt;http://trac.webkit.org/changeset/186394&gt;.

Three tests were failing because part of an earlier patch was improperly lost when doing the final checking. I&apos;ll correct and re-land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1107355</commentid>
    <comment_count>36</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-06 20:41:21 -0700</bug_when>
    <thetext>Committed r186396: &lt;http://trac.webkit.org/changeset/186396&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256035</attachid>
            <date>2015-07-02 14:05:53 -0700</date>
            <delta_ts>2015-07-02 15:10:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150702140459.patch</filename>
            <type>text/plain</type>
            <size>5832</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjIzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbWV0aG9kIHRvIFBhZ2UgY2xhc3MgdG8gc3RvcCBhbGwgbWVkaWEgcGxheWJh
Y2suIEl0IGp1c3QgdXNlcyB0aGUgcHJvY2VzcworICAgICAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
IHNpbmdsZXRvbiB0byBpbmZvcm0gYWxsIG1lZGlhIHRvIHN0b3AuCisKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RvcEFsbE1lZGlhUGxheWJhY2sp
OiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFjayk6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgor
CiAyMDE1LTA3LTAyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgcHJlZmVyZW5jZSB0byBkaXNhYmxlIGFsbCBodHRwLWVxdWl2LgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCShyZXZpc2lvbiAxODYyMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiUGFnZUdyb3Vw
LmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFnZVRo
cm90dGxlci5oIgorI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2lu
Y2x1ZGUgIlBsdWdJbkNsaWVudC5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEuaCIKICNpbmNsdWRl
ICJQbHVnaW5WaWV3QmFzZS5oIgpAQCAtNzY3LDYgKzc2OCwxMSBAQCB2b2lkIFBhZ2U6OnNldE1l
ZGlhVm9sdW1lKGZsb2F0IHZvbHVtZSkKICAgICB9CiB9CiAKK3ZvaWQgUGFnZTo6c3RvcEFsbE1l
ZGlhUGxheWJhY2soKQoreworICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVk
TWFuYWdlcigpLnN0b3BBbGxNZWRpYVBsYXliYWNrKCk7Cit9CisKIHZvaWQgUGFnZTo6c2V0Wm9v
bWVkT3V0UGFnZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlKQogewogICAgIGlmIChtX3pvb21lZE91
dFBhZ2VTY2FsZUZhY3RvciA9PSBzY2FsZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAx
ODYyMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAt
NDYzLDYgKzQ2Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyVHJpZ2dlcigpIHsgbV90ZXN0
VHJpZ2dlciA9IG51bGxwdHI7IH0KICAgICBib29sIGV4cGVjdHNXaGVlbEV2ZW50VHJpZ2dlcnMo
KSBjb25zdCB7IHJldHVybiAhIW1fdGVzdFRyaWdnZXI7IH0KIAorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2soKTsKKwogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGluaXRHcm91cCgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAJ
KHJldmlzaW9uIDE4NjIwNSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyOSw2ICszMjks
MTIgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmF1ZGlvTwogICAgIHVwZGF0
ZVNlc3Npb25TdGF0ZSgpOwogfQogCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6
c3RvcEFsbE1lZGlhUGxheWJhY2soKQoreworICAgIGZvciAoYXV0byBzZXNzaW9uIDogbV9zZXNz
aW9ucykKKyAgICAgICAgc2Vzc2lvbi0+cGF1c2VTZXNzaW9uKCk7Cit9CisKIH0KIAogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTg2MjA1KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKCkgY29uc3Q7CiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckJhY2tncm91bmQoKSBjb25zdDsKIAor
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2soKTsKKwogICAgIGVu
dW0gU2Vzc2lvblJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAs
CiAgICAgICAgIENvbmN1cnJlbnRQbGF5YmFja05vdFBlcm1pdHRlZCA9IDEgPDwgMCwKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4NjIzMCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA3LTAyICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5YmFjayBp
cyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4MDMz
OTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpjbG9zZSk6IENhbGwgbmV3ICdzdG9wQWxsTWVkaWFQbGF5YmFjaycgbWV0aG9kLgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpzdG9wQWxsTWVkaWFQbGF5YmFjayk6IEFkZGVkLiBBc2sgV2Vi
Q29yZTo6UGFnZSB0bworICAgICAgICBzdG9wIGFsbCBtZWRpYSBwbGF5YmFjay4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorCiAyMDE1LTA3LTAyICBNYXJrIExhbSAg
PG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBXS1dlYlZpZXcgZXZhbHVhdGVKYXZhU2Ny
aXB0OmNvbXBsZXRpb25IYW5kbGVyOiBzaG91bGQgcmV1c2UgaXRzIEpTQ29udGV4dCBpbnN0YW5j
ZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAJKHJldmlzaW9uIDE4NjIwNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTE3LDYgKzkxNyw4IEBAIHZvaWQgV2Vi
UGFnZTo6Y2xvc2UoKQogCiAgICAgbV9pc0Nsb3NlZCA9IHRydWU7CiAKKyAgICBzdG9wQWxsTWVk
aWFQbGF5YmFjaygpOworCiAgICAgLy8gSWYgdGhlcmUgaXMgc3RpbGwgbm8gVVJMLCB0aGVuIHdl
IG5ldmVyIGxvYWRlZCBhbnl0aGluZyBpbiB0aGlzIHBhZ2UsIHNvIG5vdGhpbmcgdG8gcmVwb3J0
LgogICAgIGlmICghbWFpbldlYkZyYW1lKCktPnVybCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmVw
b3J0VXNlZEZlYXR1cmVzKCk7CkBAIC01MDA0LDQgKzUwMDYsMTIgQEAgdm9pZCBXZWJQYWdlOjpz
ZXRVc2VyQ29udGVudEV4dGVuc2lvbnNFbgogICAgIG1fcGFnZS0+c2V0VXNlckNvbnRlbnRFeHRl
bnNpb25zRW5hYmxlZCh1c2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVkKTsKIH0KIAordm9pZCBX
ZWJQYWdlOjpzdG9wQWxsTWVkaWFQbGF5YmFjaygpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBtX3BhZ2UtPnN0b3BBbGxNZWRpYVBsYXliYWNrKCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiAxODYyMDUpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTMtMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTExMzcsNiArMTEzNyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRTaG91
bGRTY2FsZVZpZXdUb0ZpdERvY3VtZW50KGJvb2wpOwogICAgIHZvaWQgc2V0VXNlckNvbnRlbnRF
eHRlbnNpb25zRW5hYmxlZChib29sKTsKIAorICAgIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2so
KTsKKwogICAgIHVpbnQ2NF90IG1fcGFnZUlEOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OlBhZ2U+IG1fcGFnZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256039</attachid>
            <date>2015-07-02 15:10:07 -0700</date>
            <delta_ts>2015-07-02 15:10:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150702150914.patch</filename>
            <type>text/plain</type>
            <size>2908</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjIzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbWV0aG9kIHRvIFBhZ2UgY2xhc3MgdG8gc3RvcCBhbGwgbWVkaWEgcGxheWJh
Y2suIEl0IGp1c3QgdXNlcyB0aGUgcHJvY2VzcworICAgICAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
IHNpbmdsZXRvbiB0byBpbmZvcm0gYWxsIG1lZGlhIHRvIHN0b3AuCisKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6flBhZ2UpOiBDYWxsIHRoZSBuZXcg
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFjaworICAgICAg
ICBtZXRob2Qgb24gcGFnZSBjbG9zZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFjayk6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDE1LTA3
LTAyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcHJl
ZmVyZW5jZSB0byBkaXNhYmxlIGFsbCBodHRwLWVxdWl2LgpJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CShyZXZpc2lvbiAxODYyMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5j
bHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5o
IgorI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlBs
dWdJbkNsaWVudC5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEuaCIKICNpbmNsdWRlICJQbHVnaW5W
aWV3QmFzZS5oIgpAQCAtMjQ4LDYgKzI0OSw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRp
b24mIHBhZ2VDb25maWcKIAogUGFnZTo6flBhZ2UoKQogeworICAgIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnN0b3BBbGxNZWRpYVBsYXliYWNrKCk7CiAgICAg
bV9tYWluRnJhbWUtPnNldFZpZXcobnVsbHB0cik7CiAgICAgc2V0R3JvdXBOYW1lKFN0cmluZygp
KTsKICAgICBhbGxQYWdlcy0+cmVtb3ZlKHRoaXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwCShyZXZpc2lvbiAxODYyMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjks
NiArMzI5LDEyIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjphdWRpb08KICAg
ICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnN0b3BBbGxNZWRpYVBsYXliYWNrKCkKK3sKKyAgICBmb3IgKGF1dG8gc2Vzc2lvbiA6
IG1fc2Vzc2lvbnMpCisgICAgICAgIHNlc3Npb24tPnBhdXNlU2Vzc2lvbigpOworfQorCiB9CiAK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHJldmlzaW9uIDE4NjIzNSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJCYWNrZ3JvdW5kKCkgY29u
c3Q7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3BBbGxNZWRpYVBsYXliYWNrKCk7CisK
ICAgICBlbnVtIFNlc3Npb25SZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlv
bnMgPSAwLAogICAgICAgICBDb25jdXJyZW50UGxheWJhY2tOb3RQZXJtaXR0ZWQgPSAxIDw8IDAs
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256040</attachid>
            <date>2015-07-02 15:10:50 -0700</date>
            <delta_ts>2015-07-02 17:10:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150702150956.patch</filename>
            <type>text/plain</type>
            <size>2893</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjIzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbWV0aG9kIHRvIFBhZ2UgY2xhc3MgdG8gc3RvcCBhbGwgbWVkaWEgcGxheWJh
Y2suIEl0IGp1c3QgdXNlcyB0aGUgcHJvY2VzcworICAgICAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
IHNpbmdsZXRvbiB0byBpbmZvcm0gYWxsIG1lZGlhIHRvIHN0b3AuCisKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6flBhZ2UpOiBDYWxsIHRoZSBuZXcg
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFjaworICAgICAg
ICBtZXRob2Qgb24gcGFnZSBjbG9zZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFjayk6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDE1LTA3
LTAyICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcHJl
ZmVyZW5jZSB0byBkaXNhYmxlIGFsbCBodHRwLWVxdWl2LgpJbmRleDogU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CShyZXZpc2lvbiAxODYyMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5j
bHVkZSAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFnZVRocm90dGxlci5o
IgorI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlBs
dWdJbkNsaWVudC5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGEuaCIKICNpbmNsdWRlICJQbHVnaW5W
aWV3QmFzZS5oIgpAQCAtMjQ4LDYgKzI0OSw3IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRp
b24mIHBhZ2VDb25maWcKIAogUGFnZTo6flBhZ2UoKQogeworICAgIFBsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnN0b3BBbGxNZWRpYVBsYXliYWNrKCk7CiAgICAg
bV9tYWluRnJhbWUtPnNldFZpZXcobnVsbHB0cik7CiAgICAgc2V0R3JvdXBOYW1lKFN0cmluZygp
KTsKICAgICBhbGxQYWdlcy0+cmVtb3ZlKHRoaXMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwCShyZXZpc2lvbiAxODYyMzUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjks
NiArMzI5LDEyIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjphdWRpb08KICAg
ICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXI6OnN0b3BBbGxNZWRpYVBsYXliYWNrKCkKK3sKKyAgICBmb3IgKGF1dG8gc2Vzc2lvbiA6
IG1fc2Vzc2lvbnMpCisgICAgICAgIHNlc3Npb24tPnBhdXNlU2Vzc2lvbigpOworfQorCiB9CiAK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHJldmlzaW9uIDE4NjIzNSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJCYWNrZ3JvdW5kKCkgY29u
c3Q7CiAKKyAgICB2b2lkIHN0b3BBbGxNZWRpYVBsYXliYWNrKCk7CisKICAgICBlbnVtIFNlc3Np
b25SZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLAogICAgICAg
ICBDb25jdXJyZW50UGxheWJhY2tOb3RQZXJtaXR0ZWQgPSAxIDw8IDAsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256052</attachid>
            <date>2015-07-02 17:10:40 -0700</date>
            <delta_ts>2015-07-02 17:38:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150702170946.patch</filename>
            <type>text/plain</type>
            <size>7256</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbWV0aG9kIHRvIFBhZ2UgY2xhc3MgdG8gc3RvcCBhbGwgbWVkaWEgcGxheWJh
Y2suIEl0IGp1c3QgdXNlcyB0aGUgcHJvY2VzcworICAgICAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
IHNpbmdsZXRvbiB0byBpbmZvcm0gYWxsIGhvc3RlZCBpbiBhIHBhcnRpY3VsYXIgZG9jdW1lbnQg
dG8gc3RvcC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJBdWRpbzo6aG9zdGluZ0RvY3VtZW50KTogQWRkZWQuCisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50Ojpob3N0aW5nRG9jdW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6flBhZ2UpOiBDYWxsIHRoZSBuZXcgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFjaworICAgICAgICBtZXRo
b2Qgb24gcGFnZSBjbG9zZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbi5oOgorICAgICAgICBNYWRlIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciBhIGZy
aWVuZCBzbyBpdCBjYW4gYWNjZXNzIHRoZSBwcm90ZWN0ZWQgJ2NsaWVudCcgYWNjZXNzb3IuCisg
ICAgICAgIFVwZGF0ZWQgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQgdG8gcmVxdWlyZSBjbGll
bnRzIHRvIGhhdmUgYSAiaG9zdGluZ0RvY3VtZW50IiBtZW1iZXIuCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3RvcEFsbE1lZGlhUGxheWJhY2tGb3JE
b2N1bWVudCk6IEFkZGVkLiBPbmx5IHBhdXNlcworICAgICAgICBwbGF5YmFjayBvbiBlbGVtZW50
cyB0aGF0IG1hdGNoIHRoZSBwcm92aWRlZCBkb2N1bWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaDoKKwogMjAxNS0wNy0wMiAgRGVhbiBK
YWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IHNob3VsZCB1c2UgODAl
IHdoaXRlIGJhY2tncm91bmQgZm9yIFBpUCBpbmRpY2F0b3IKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkocmV2aXNpb24gMTg2MjQ0KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAKICAgICBEb2N1bWVudCogZG9jdW1l
bnQoKSBjb25zdDsgLy8gQVNTRVJUcyBpZiBkb2N1bWVudCBubyBsb25nZXIgZXhpc3RzLgogCisg
ICAgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGRv
Y3VtZW50KCk7IH0KKwogICAgIEF1ZGlvRGVzdGluYXRpb25Ob2RlKiBkZXN0aW5hdGlvbigpIHsg
cmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLmdldCgpOyB9CiAgICAgc2l6ZV90IGN1cnJlbnRTYW1w
bGVGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLT5jdXJyZW50U2FtcGxl
RnJhbWUoKTsgfQogICAgIGRvdWJsZSBjdXJyZW50VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVz
dGluYXRpb25Ob2RlLT5jdXJyZW50VGltZSgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gMTg2MjQ0KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Nyw3ICsxNDcsOSBAQCBw
dWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBl
KCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBpbkFjdGl2ZURvY3VtZW50KCkgY29uc3QgeyByZXR1
cm4gbV9pbkFjdGl2ZURvY3VtZW50OyB9Ci0gICAgCisKKyAgICBEb2N1bWVudCogaG9zdGluZ0Rv
Y3VtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gJmRvY3VtZW50KCk7IH0KKwogLy8gRE9N
IEFQSQogLy8gZXJyb3Igc3RhdGUKICAgICBQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGVycm9yKCkg
Y29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDE4NjI0NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAK
ICNpbmNsdWRlICJEcmFnQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkVkaXRvci5oIgogI2luY2x1
ZGUgIkVkaXRvckNsaWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5oIgogI2luY2x1
ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKQEAgLTQ5LDYgKzUwLDcgQEAKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIkhU
TUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0b3J5Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgpAQCAt
NjUsNiArNjcsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VPdmVy
bGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBhZ2VUaHJvdHRsZXIuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJQbHVnSW5DbGllbnQuaCIK
ICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlld0Jhc2UuaCIKQEAg
LTI0OCw2ICsyNTEsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9uJiBwYWdlQ29uZmln
CiAKIFBhZ2U6On5QYWdlKCkKIHsKKyAgICBzdG9wQWxsTWVkaWFQbGF5YmFjaygpOwogICAgIG1f
bWFpbkZyYW1lLT5zZXRWaWV3KG51bGxwdHIpOwogICAgIHNldEdyb3VwTmFtZShTdHJpbmcoKSk7
CiAgICAgYWxsUGFnZXMtPnJlbW92ZSh0aGlzKTsKQEAgLTE3NjQsNCArMTc2OCwxMCBAQCBXaGVl
bEV2ZW50VGVzdFRyaWdnZXImIFBhZ2U6OmVuc3VyZVRlc3RUCiAgICAgcmV0dXJuICptX3Rlc3RU
cmlnZ2VyOwogfQogCit2b2lkIFBhZ2U6OnN0b3BBbGxNZWRpYVBsYXliYWNrKCkKK3sKKyAgICBm
b3IgKGF1dG8qIGZyYW1lID0gc3RhdGljX2Nhc3Q8RnJhbWUqPigmbWFpbkZyYW1lKCkpOyBmcmFt
ZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKQorICAgICAgICBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5zdG9wQWxsTWVkaWFQbGF5YmFj
a0ZvckRvY3VtZW50KCpmcmFtZS0+ZG9jdW1lbnQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAxODYyNDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDg4LDYgKzQ4OCw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3RhdGVDaGFuZ2VkKCk7
CiAgICAgdm9pZCBzZXRUaW1lclRocm90dGxpbmdFbmFibGVkKGJvb2wpOwogCisgICAgdm9pZCBz
dG9wQWxsTWVkaWFQbGF5YmFjaygpOworICAgIAogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxD
aHJvbWU+IG1fY2hyb21lOwogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxEcmFnQ2FyZXRDb250
cm9sbGVyPiBtX2RyYWdDYXJldENvbnRyb2xsZXI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAkocmV2aXNpb24g
MTg2MjQ0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIERvY3VtZW50OwogY2xhc3MgTWVkaWFQbGF5YmFja1RhcmdldDsKIGNs
YXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50OwogCkBAIC0xNDUsNiArMTQ2LDggQEAgcHJp
dmF0ZToKICAgICBTdGF0ZSBtX3N0YXRlVG9SZXN0b3JlOwogICAgIGludCBtX2ludGVycnVwdGlv
bkNvdW50IHsgMCB9OwogICAgIGJvb2wgbV9ub3RpZnlpbmdDbGllbnQ7CisKKyAgICBmcmllbmQg
Y2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOwogfTsKIAogY2xhc3MgUGxhdGZvcm1N
ZWRpYVNlc3Npb25DbGllbnQgewpAQCAtMTc3LDYgKzE4MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGJvb2wgaXNQbGF5aW5nVG9XaXJlbGVzc1BsYXliYWNrVGFyZ2V0KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkUGxheVRvUGxheWJhY2tUYXJn
ZXQoYm9vbCkgeyB9CiAKKyAgICB2aXJ0dWFsIERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBj
b25zdCA9IDA7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5QbGF0Zm9ybU1lZGlhU2Vzc2lv
bkNsaWVudCgpIHsgfQogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAkocmV2aXNp
b24gMTg2MjQ0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lm
IEVOQUJMRShWSURFTykKIAogI2luY2x1ZGUgIkF1ZGlvU2Vzc2lvbi5oIgorI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb24uaCIKQEAgLTMyOSw2ICszMzAsMTQg
QEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmF1ZGlvTwogICAgIHVwZGF0ZVNl
c3Npb25TdGF0ZSgpOwogfQogCit2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3Rv
cEFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChEb2N1bWVudCYgZG9jdW1lbnQpCit7CisgICAg
Zm9yIChhdXRvIHNlc3Npb24gOiBtX3Nlc3Npb25zKSB7CisgICAgICAgIGlmIChzZXNzaW9uLT5j
bGllbnQoKS5ob3N0aW5nRG9jdW1lbnQoKSA9PSAmZG9jdW1lbnQpCisgICAgICAgICAgICBzZXNz
aW9uLT5wYXVzZVNlc3Npb24oKTsKKyAgICB9Cit9CisKIH0KIAogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTg2MjQ0KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVu
dDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjsK
IGNsYXNzIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjsKQEAgLTU2LDYgKzU3LDggQEAgcHVibGljOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKCkg
Y29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckJhY2tn
cm91bmQoKSBjb25zdDsKIAorICAgIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVu
dChEb2N1bWVudCYpOworCiAgICAgZW51bSBTZXNzaW9uUmVzdHJpY3Rpb25GbGFncyB7CiAgICAg
ICAgIE5vUmVzdHJpY3Rpb25zID0gMCwKICAgICAgICAgQ29uY3VycmVudFBsYXliYWNrTm90UGVy
bWl0dGVkID0gMSA8PCAwLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256054</attachid>
            <date>2015-07-02 17:38:19 -0700</date>
            <delta_ts>2015-07-02 22:42:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150702173725.patch</filename>
            <type>text/plain</type>
            <size>6144</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbWV0aG9kIHRvIFBhZ2UgY2xhc3MgdG8gc3RvcCBhbGwgbWVkaWEgcGxheWJh
Y2suIEl0IGp1c3QgdXNlcyB0aGUgcHJvY2VzcworICAgICAgICBNZWRpYVNlc3Npb25NYW5hZ2Vy
IHNpbmdsZXRvbiB0byBpbmZvcm0gYWxsIGhvc3RlZCBpbiBhIHBhcnRpY3VsYXIgZG9jdW1lbnQg
dG8gc3RvcC4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJBdWRpbzo6aG9zdGluZ0RvY3VtZW50KTogQWRkZWQuCisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50Ojpob3N0aW5nRG9jdW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNvbW1vblRlYXJkb3duKTogQ2Fs
bCB0aGUgbmV3IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c3RvcEFsbE1lZGlhUGxheWJh
Y2tGb3JEb2N1bWVudAorICAgICAgICBtZXRob2Qgb24gZG9jdW1lbnQgY2xlYW51cC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICBNYWRl
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlciBhIGZyaWVuZCBzbyBpdCBjYW4gYWNjZXNzIHRo
ZSBwcm90ZWN0ZWQgJ2NsaWVudCcgYWNjZXNzb3IuCisgICAgICAgIFVwZGF0ZWQgUGxhdGZvcm1N
ZWRpYVNlc3Npb25DbGllbnQgdG8gcmVxdWlyZSBjbGllbnRzIHRvIGhhdmUgYSAiaG9zdGluZ0Rv
Y3VtZW50IiBtZW1iZXIuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlcjo6c3RvcEFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCk6IEFkZGVkLiBPbmx5IHBh
dXNlcworICAgICAgICBwbGF5YmFjayBvbiBlbGVtZW50cyB0aGF0IG1hdGNoIHRoZSBwcm92aWRl
ZCBkb2N1bWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuaDoKKwogMjAxNS0wNy0wMiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViS2l0IHNob3VsZCB1c2UgODAlIHdoaXRlIGJhY2tncm91bmQgZm9yIFBp
UCBpbmRpY2F0b3IKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaAkocmV2aXNpb24gMTg2MjQ0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsOCBA
QCBwdWJsaWM6CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25zdDsgLy8gQVNTRVJUcyBp
ZiBkb2N1bWVudCBubyBsb25nZXIgZXhpc3RzLgogCisgICAgRG9jdW1lbnQqIGhvc3RpbmdEb2N1
bWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGRvY3VtZW50KCk7IH0KKwogICAgIEF1ZGlv
RGVzdGluYXRpb25Ob2RlKiBkZXN0aW5hdGlvbigpIHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2Rl
LmdldCgpOyB9CiAgICAgc2l6ZV90IGN1cnJlbnRTYW1wbGVGcmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZGVzdGluYXRpb25Ob2RlLT5jdXJyZW50U2FtcGxlRnJhbWUoKTsgfQogICAgIGRvdWJsZSBj
dXJyZW50VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLT5jdXJyZW50VGlt
ZSgpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE4NjI0NCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2
ICsxMTIsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0
aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgorI2luY2x1ZGUgIlBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5o
IgogI2luY2x1ZGUgIlBsdWdJbnNSZXNvdXJjZXMuaCIKICNpbmNsdWRlICJQbHVnaW5Eb2N1bWVu
dC5oIgpAQCAtNzAwLDYgKzcwMSw4IEBAIHZvaWQgRG9jdW1lbnQ6OmNvbW1vblRlYXJkb3duKCkK
ICAgICBpZiAoc3ZnRXh0ZW5zaW9ucygpKQogICAgICAgICBhY2Nlc3NTVkdFeHRlbnNpb25zKCku
cGF1c2VBbmltYXRpb25zKCk7CiAKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNo
YXJlZE1hbmFnZXIoKS5zdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KCp0aGlzKTsKKwog
I2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAgICBjbGVhclNjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlcigpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gMTg2MjQ0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Nyw3ICsxNDcsOSBAQCBwdWJs
aWM6CiAgICAgTWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKCkg
Y29uc3Q7CiAgICAgCiAgICAgYm9vbCBpbkFjdGl2ZURvY3VtZW50KCkgY29uc3QgeyByZXR1cm4g
bV9pbkFjdGl2ZURvY3VtZW50OyB9Ci0gICAgCisKKyAgICBEb2N1bWVudCogaG9zdGluZ0RvY3Vt
ZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gJmRvY3VtZW50KCk7IH0KKwogLy8gRE9NIEFQ
SQogLy8gZXJyb3Igc3RhdGUKICAgICBQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGVycm9yKCkgY29u
c3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmgJKHJldmlzaW9uIDE4NjI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDYgKzM3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKIGNs
YXNzIE1lZGlhUGxheWJhY2tUYXJnZXQ7CiBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVu
dDsKIApAQCAtMTQ1LDYgKzE0Niw4IEBAIHByaXZhdGU6CiAgICAgU3RhdGUgbV9zdGF0ZVRvUmVz
dG9yZTsKICAgICBpbnQgbV9pbnRlcnJ1cHRpb25Db3VudCB7IDAgfTsKICAgICBib29sIG1fbm90
aWZ5aW5nQ2xpZW50OworCisgICAgZnJpZW5kIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjsKIH07CiAKIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IHsKQEAgLTE3Nyw2
ICsxODAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUGxheWluZ1RvV2lyZWxlc3NQ
bGF5YmFja1RhcmdldCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lk
IHNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGJvb2wpIHsgfQogCisgICAgdmlydHVhbCBE
b2N1bWVudCogaG9zdGluZ0RvY3VtZW50KCkgY29uc3QgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB+UGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQoKSB7IH0KIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5jcHAJKHJldmlzaW9uIDE4NjI0NCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNsdWRlICJB
dWRpb1Nlc3Npb24uaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFT
ZXNzaW9uLmgiCkBAIC0zMjksNiArMzMwLDE0IEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjphdWRpb08KICAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAordm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQo
RG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGZvciAoYXV0byBzZXNzaW9uIDogbV9zZXNzaW9u
cykgeworICAgICAgICBpZiAoc2Vzc2lvbi0+Y2xpZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0g
JmRvY3VtZW50KQorICAgICAgICAgICAgc2Vzc2lvbi0+cGF1c2VTZXNzaW9uKCk7CisgICAgfQor
fQorCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHJldmlzaW9uIDE4
NjI0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MTWVkaWFFbGVtZW50Owog
Y2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb247CiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXI7
CkBAIC01Niw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGxp
Y2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgYXBwbGljYXRpb25XaWxsRW50ZXJCYWNrZ3JvdW5kKCkgY29uc3Q7CiAKKyAgICB2b2lkIHN0
b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnQmKTsKKwogICAgIGVudW0gU2Vz
c2lvblJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCiAgICAg
ICAgIENvbmN1cnJlbnRQbGF5YmFja05vdFBlcm1pdHRlZCA9IDEgPDwgMCwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256073</attachid>
            <date>2015-07-02 22:42:57 -0700</date>
            <delta_ts>2015-07-02 22:53:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150702224202.patch</filename>
            <type>text/plain</type>
            <size>7078</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAg
ICBBZGQgbmV3IG1ldGhvZCB0byBQYWdlIGNsYXNzIHRvIHN0b3AgYWxsIG1lZGlhIHBsYXliYWNr
LiBJdCBqdXN0IHVzZXMgdGhlIHByb2Nlc3MKKyAgICAgICAgTWVkaWFTZXNzaW9uTWFuYWdlciBz
aW5nbGV0b24gdG8gaW5mb3JtIGFsbCBob3N0ZWQgaW4gYSBwYXJ0aWN1bGFyIGRvY3VtZW50IHRv
IHN0b3AuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQXVkaW86Omhvc3RpbmdEb2N1bWVudCk6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3VzcGVuZCk6IFBy
ZXZlbnQgY3Jhc2ggZHVyaW5nIHN1c3BlbmQgd2hlbiB0aGUgbm9kZSBpcworICAgICAgICBtYXJr
ZWQgdG8gYmUgc3RvcHBlZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Omhvc3RpbmdEb2N1bWVudCk6IEFkZGVk
LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6Y29tbW9uVGVhcmRvd24pOiBDYWxsIHRoZSBuZXcgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50CisgICAgICAgIG1ldGhvZCBvbiBk
b2N1bWVudCBjbGVhbnVwLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmg6CisgICAgICAgIE1hZGUgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyIGEgZnJp
ZW5kIHNvIGl0IGNhbiBhY2Nlc3MgdGhlIHByb3RlY3RlZCAnY2xpZW50JyBhY2Nlc3Nvci4KKyAg
ICAgICAgVXBkYXRlZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB0byByZXF1aXJlIGNsaWVu
dHMgdG8gaGF2ZSBhICJob3N0aW5nRG9jdW1lbnQiIG1lbWJlci4KKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRv
Y3VtZW50KTogQWRkZWQuIE9ubHkgcGF1c2VzCisgICAgICAgIHBsYXliYWNrIG9uIGVsZW1lbnRz
IHRoYXQgbWF0Y2ggdGhlIHByb3ZpZGVkIGRvY3VtZW50LgorICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDE1LTA3LTAyICBEb3VnIFJ1
c3NlbGwgIDxkX3J1c3NlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBTZWxlY3Rpb24gY2hh
bmdlIGFzIGEgcmVzdWx0IG9mIGZvY3VzaW5nIGFuIGVsZW1lbnQgc2hvdWxkIGluY2x1ZGUgdGhh
dCAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaAkocmV2aXNpb24gMTg2MjU2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6
CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25zdDsgLy8gQVNTRVJUcyBpZiBkb2N1bWVu
dCBubyBsb25nZXIgZXhpc3RzLgogCisgICAgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGRvY3VtZW50KCk7IH0KKwogICAgIEF1ZGlvRGVzdGluYXRp
b25Ob2RlKiBkZXN0aW5hdGlvbigpIHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLmdldCgpOyB9
CiAgICAgc2l6ZV90IGN1cnJlbnRTYW1wbGVGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGlu
YXRpb25Ob2RlLT5jdXJyZW50U2FtcGxlRnJhbWUoKTsgfQogICAgIGRvdWJsZSBjdXJyZW50VGlt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLT5jdXJyZW50VGltZSgpOyB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCShyZXZpc2lvbiAxODYyNTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksOCBAQCB2b2lkIERlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZTo6c3VzcGVuCiAgICAgQVNTRVJUKGlzSW5pdGlhbGl6ZWQoKSk7CiAg
ICAgaWYgKGlzSW5pdGlhbGl6ZWQoKSkKICAgICAgICAgbV9kZXN0aW5hdGlvbi0+c3RvcCgpOwot
ICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhmdW5jdGlv
bik7CisgICAgaWYgKGF1dG8qIGV4ZWN1dGlvbkNvbnRleHQgPSBjb250ZXh0KCktPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgZXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soZnVu
Y3Rpb24pOwogfQogCiB2b2lkIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y2xvc2Uoc3Rk
OjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDcgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIK
ICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2Nh
bGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnSW5zUmVzb3VyY2VzLmgiCiAj
aW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQuaCIKQEAgLTcwMCw2ICs3MDEsOCBAQCB2b2lkIERvY3Vt
ZW50Ojpjb21tb25UZWFyZG93bigpCiAgICAgaWYgKHN2Z0V4dGVuc2lvbnMoKSkKICAgICAgICAg
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnBhdXNlQW5pbWF0aW9ucygpOwogCisgICAgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc3RvcEFsbE1lZGlhUGxheWJhY2tG
b3JEb2N1bWVudCgqdGhpcyk7CisKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
CiAgICAgY2xlYXJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKICNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDE4NjI1NikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDcsNyArMTQ3LDkgQEAgcHVibGljOgogICAgIE1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9h
ZFR5cGUgbW92aWVMb2FkVHlwZSgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgaW5BY3RpdmVEb2N1
bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5BY3RpdmVEb2N1bWVudDsgfQotICAgIAorCisgICAg
RG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICZkb2N1
bWVudCgpOyB9CisKIC8vIERPTSBBUEkKIC8vIGVycm9yIHN0YXRlCiAgICAgUGFzc1JlZlB0cjxN
ZWRpYUVycm9yPiBlcnJvcigpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCShyZXZpc2lvbiAxODYyNTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVBsYXliYWNrVGFyZ2V0OwogY2xhc3MgUGxh
dGZvcm1NZWRpYVNlc3Npb25DbGllbnQ7CiAKQEAgLTE0NSw2ICsxNDYsOCBAQCBwcml2YXRlOgog
ICAgIFN0YXRlIG1fc3RhdGVUb1Jlc3RvcmU7CiAgICAgaW50IG1faW50ZXJydXB0aW9uQ291bnQg
eyAwIH07CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKKworICAgIGZyaWVuZCBjbGFzcyBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CiB9OwogCiBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbkNsaWVudCB7CkBAIC0xNzcsNiArMTgwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29s
KSB7IH0KIAorICAgIHZpcnR1YWwgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNvbnN0ID0g
MDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50
KCkgeyB9CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxODYy
NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxF
KFZJREVPKQogCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIgpAQCAtMzI5LDYgKzMzMCwxNCBAQCB2b2lk
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6YXVkaW9PCiAgICAgdXBkYXRlU2Vzc2lvblN0
YXRlKCk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVk
aWFQbGF5YmFja0ZvckRvY3VtZW50KERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBmb3IgKGF1
dG8gc2Vzc2lvbiA6IG1fc2Vzc2lvbnMpIHsKKyAgICAgICAgaWYgKHNlc3Npb24tPmNsaWVudCgp
Lmhvc3RpbmdEb2N1bWVudCgpID09ICZkb2N1bWVudCkKKyAgICAgICAgICAgIHNlc3Npb24tPnBh
dXNlU2Vzc2lvbigpOworICAgIH0KK30KKwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5oCShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzYs
NiArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERvY3VtZW50OwogY2xh
c3MgSFRNTE1lZGlhRWxlbWVudDsKIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uOwogY2xhc3Mg
UmVtb3RlQ29tbWFuZExpc3RlbmVyOwpAQCAtNTYsNiArNTcsOCBAQCBwdWJsaWM6CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKSBjb25zdDsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyQmFja2dyb3VuZCgp
IGNvbnN0OwogCisgICAgdm9pZCBzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KERvY3Vt
ZW50Jik7CisKICAgICBlbnVtIFNlc3Npb25SZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9S
ZXN0cmljdGlvbnMgPSAwLAogICAgICAgICBDb25jdXJyZW50UGxheWJhY2tOb3RQZXJtaXR0ZWQg
PSAxIDw8IDAsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256076</attachid>
            <date>2015-07-02 22:53:36 -0700</date>
            <delta_ts>2015-07-02 23:05:51 -0700</delta_ts>
            <desc>Patch (correct test failure)</desc>
            <filename>bug-146554-20150702225242.patch</filename>
            <type>text/plain</type>
            <size>7167</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAg
ICBBZGQgbmV3IG1ldGhvZCB0byBQYWdlIGNsYXNzIHRvIHN0b3AgYWxsIG1lZGlhIHBsYXliYWNr
LiBJdCBqdXN0IHVzZXMgdGhlIHByb2Nlc3MKKyAgICAgICAgTWVkaWFTZXNzaW9uTWFuYWdlciBz
aW5nbGV0b24gdG8gaW5mb3JtIGFsbCBob3N0ZWQgaW4gYSBwYXJ0aWN1bGFyIGRvY3VtZW50IHRv
IHN0b3AuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQXVkaW86Omhvc3RpbmdEb2N1bWVudCk6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3VzcGVuZCk6IFBy
ZXZlbnQgY3Jhc2ggZHVyaW5nIHN1c3BlbmQgd2hlbiB0aGUgbm9kZSBpcworICAgICAgICBtYXJr
ZWQgdG8gYmUgc3RvcHBlZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Omhvc3RpbmdEb2N1bWVudCk6IEFkZGVk
LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6Y29tbW9uVGVhcmRvd24pOiBDYWxsIHRoZSBuZXcgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50CisgICAgICAgIG1ldGhvZCBvbiBk
b2N1bWVudCBjbGVhbnVwLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmg6CisgICAgICAgIE1hZGUgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyIGEgZnJp
ZW5kIHNvIGl0IGNhbiBhY2Nlc3MgdGhlIHByb3RlY3RlZCAnY2xpZW50JyBhY2Nlc3Nvci4KKyAg
ICAgICAgVXBkYXRlZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB0byByZXF1aXJlIGNsaWVu
dHMgdG8gaGF2ZSBhICJob3N0aW5nRG9jdW1lbnQiIG1lbWJlci4KKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRv
Y3VtZW50KTogQWRkZWQuIE9ubHkgcGF1c2VzCisgICAgICAgIHBsYXliYWNrIG9uIGVsZW1lbnRz
IHRoYXQgbWF0Y2ggdGhlIHByb3ZpZGVkIGRvY3VtZW50LgorICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDE1LTA3LTAyICBEb3VnIFJ1
c3NlbGwgIDxkX3J1c3NlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBTZWxlY3Rpb24gY2hh
bmdlIGFzIGEgcmVzdWx0IG9mIGZvY3VzaW5nIGFuIGVsZW1lbnQgc2hvdWxkIGluY2x1ZGUgdGhh
dCAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaAkocmV2aXNpb24gMTg2MjU2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6
CiAKICAgICBEb2N1bWVudCogZG9jdW1lbnQoKSBjb25zdDsgLy8gQVNTRVJUcyBpZiBkb2N1bWVu
dCBubyBsb25nZXIgZXhpc3RzLgogCisgICAgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGRvY3VtZW50KCk7IH0KKwogICAgIEF1ZGlvRGVzdGluYXRp
b25Ob2RlKiBkZXN0aW5hdGlvbigpIHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLmdldCgpOyB9
CiAgICAgc2l6ZV90IGN1cnJlbnRTYW1wbGVGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGlu
YXRpb25Ob2RlLT5jdXJyZW50U2FtcGxlRnJhbWUoKTsgfQogICAgIGRvdWJsZSBjdXJyZW50VGlt
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLT5jdXJyZW50VGltZSgpOyB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCShyZXZpc2lvbiAxODYyNTYpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9k
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksOCBAQCB2b2lkIERlZmF1bHRBdWRp
b0Rlc3RpbmF0aW9uTm9kZTo6c3VzcGVuCiAgICAgQVNTRVJUKGlzSW5pdGlhbGl6ZWQoKSk7CiAg
ICAgaWYgKGlzSW5pdGlhbGl6ZWQoKSkKICAgICAgICAgbV9kZXN0aW5hdGlvbi0+c3RvcCgpOwot
ICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhmdW5jdGlv
bik7CisgICAgaWYgKGF1dG8qIGV4ZWN1dGlvbkNvbnRleHQgPSBjb250ZXh0KCktPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgZXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soZnVu
Y3Rpb24pOwogfQogCiB2b2lkIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y2xvc2Uoc3Rk
OjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDcgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIK
ICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Mb2Nh
bGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnSW5zUmVzb3VyY2VzLmgiCiAj
aW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQuaCIKQEAgLTcwMCw2ICs3MDEsOCBAQCB2b2lkIERvY3Vt
ZW50Ojpjb21tb25UZWFyZG93bigpCiAgICAgaWYgKHN2Z0V4dGVuc2lvbnMoKSkKICAgICAgICAg
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnBhdXNlQW5pbWF0aW9ucygpOwogCisgICAgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc3RvcEFsbE1lZGlhUGxheWJhY2tG
b3JEb2N1bWVudCgqdGhpcyk7CisKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
CiAgICAgY2xlYXJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKICNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDE4NjI1NikKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDcsNyArMTQ3LDkgQEAgcHVibGljOgogICAgIE1lZGlhUGxheWVyRW51bXM6Ok1vdmllTG9h
ZFR5cGUgbW92aWVMb2FkVHlwZSgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgaW5BY3RpdmVEb2N1
bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5BY3RpdmVEb2N1bWVudDsgfQotICAgIAorCisgICAg
RG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICZkb2N1
bWVudCgpOyB9CisKIC8vIERPTSBBUEkKIC8vIGVycm9yIHN0YXRlCiAgICAgUGFzc1JlZlB0cjxN
ZWRpYUVycm9yPiBlcnJvcigpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCShyZXZpc2lvbiAxODYyNTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVBsYXliYWNrVGFyZ2V0OwogY2xhc3MgUGxh
dGZvcm1NZWRpYVNlc3Npb25DbGllbnQ7CiAKQEAgLTE0NSw2ICsxNDYsOCBAQCBwcml2YXRlOgog
ICAgIFN0YXRlIG1fc3RhdGVUb1Jlc3RvcmU7CiAgICAgaW50IG1faW50ZXJydXB0aW9uQ291bnQg
eyAwIH07CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKKworICAgIGZyaWVuZCBjbGFzcyBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CiB9OwogCiBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbkNsaWVudCB7CkBAIC0xNzcsNiArMTgwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1RhcmdldChib29s
KSB7IH0KIAorICAgIHZpcnR1YWwgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNvbnN0ID0g
MDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50
KCkgeyB9CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxODYy
NTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxF
KFZJREVPKQogCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIgpAQCAtMzI5LDYgKzMzMCwxNyBAQCB2b2lk
IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6YXVkaW9PCiAgICAgdXBkYXRlU2Vzc2lvblN0
YXRlKCk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVk
aWFQbGF5YmFja0ZvckRvY3VtZW50KERvY3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICBmb3IgKGF1
dG8gc2Vzc2lvbiA6IG1fc2Vzc2lvbnMpIHsKKyAgICAgICAgaWYgKHNlc3Npb24tPnN0YXRlKCkg
IT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlpbmcpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBpZiAoc2Vzc2lvbi0+Y2xpZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0gJmRv
Y3VtZW50KQorICAgICAgICAgICAgc2Vzc2lvbi0+cGF1c2VTZXNzaW9uKCk7CisgICAgfQorfQor
CiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHJldmlzaW9uIDE4NjI1
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MTWVkaWFFbGVtZW50OwogY2xh
c3MgUGxhdGZvcm1NZWRpYVNlc3Npb247CiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXI7CkBA
IC01Niw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGxpY2F0
aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
YXBwbGljYXRpb25XaWxsRW50ZXJCYWNrZ3JvdW5kKCkgY29uc3Q7CiAKKyAgICB2b2lkIHN0b3BB
bGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnQmKTsKKwogICAgIGVudW0gU2Vzc2lv
blJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCiAgICAgICAg
IENvbmN1cnJlbnRQbGF5YmFja05vdFBlcm1pdHRlZCA9IDEgPDwgMCwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256077</attachid>
            <date>2015-07-02 23:05:56 -0700</date>
            <delta_ts>2015-07-03 12:45:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150702230502.patch</filename>
            <type>text/plain</type>
            <size>8100</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAg
ICBBZGQgbmV3IG1ldGhvZCB0byBQYWdlIGNsYXNzIHRvIHN0b3AgYWxsIG1lZGlhIHBsYXliYWNr
LiBJdCBqdXN0IHVzZXMgdGhlIHByb2Nlc3MKKyAgICAgICAgTWVkaWFTZXNzaW9uTWFuYWdlciBz
aW5nbGV0b24gdG8gaW5mb3JtIGFsbCBob3N0ZWQgaW4gYSBwYXJ0aWN1bGFyIGRvY3VtZW50IHRv
IHN0b3AuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJBdWRpbzo6aG9zdGluZ0RvY3VtZW50KTogQWRkZWQuIFRoaXMg
dmVyc2lvbiBkb2Vzbid0IGFzc2VydCBvbiBudWxsIGRvY3VtZW50LCBzaW5jZQorICAgICAgICBp
dCdzIGp1c3QgYmVpbmcgdXNlZCBhcyBhIGtleSB0byBmaW5kIHRoZSBjb3JyZWN0IFBsYXRmb3Jt
TWVkaWFTZXNzaW9ucy4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5o
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3Vz
cGVuZCk6IFByZXZlbnQgY3Jhc2ggZHVyaW5nIHN1c3BlbmQgd2hlbiB0aGUgbm9kZSBpcworICAg
ICAgICBtYXJrZWQgdG8gYmUgc3RvcHBlZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Omhvc3RpbmdEb2N1bWVu
dCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6Y29tbW9uVGVhcmRvd24pOiBDYWxsIHRoZSBuZXcgUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50CisgICAgICAgIG1l
dGhvZCBvbiBkb2N1bWVudCBjbGVhbnVwLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmg6CisgICAgICAgIE1hZGUgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyIGEgZnJpZW5kIHNvIGl0IGNhbiBhY2Nlc3MgdGhlIHByb3RlY3RlZCAnY2xpZW50JyBhY2Nl
c3Nvci4KKyAgICAgICAgVXBkYXRlZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB0byByZXF1
aXJlIGNsaWVudHMgdG8gaGF2ZSBhICJob3N0aW5nRG9jdW1lbnQiIG1lbWJlci4KKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5
YmFja0ZvckRvY3VtZW50KTogQWRkZWQuIE9ubHkgcGF1c2VzCisgICAgICAgIHBsYXliYWNrIG9u
IGVsZW1lbnRzIHRoYXQgbWF0Y2ggdGhlIHByb3ZpZGVkIGRvY3VtZW50LgorICAgICAgICAqIHBs
YXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDE1LTA3LTAy
ICBEb3VnIFJ1c3NlbGwgIDxkX3J1c3NlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBTZWxl
Y3Rpb24gY2hhbmdlIGFzIGEgcmVzdWx0IG9mIGZvY3VzaW5nIGFuIGVsZW1lbnQgc2hvdWxkIGlu
Y2x1ZGUgdGhhdCAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0F1ZGlvQ29udGV4dC5jcHAJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcwLDYg
KzM3MCwxMSBAQCBEb2N1bWVudCogQXVkaW9Db250ZXh0Ojpkb2N1bWVudCgpIGNvbnN0CiAgICAg
cmV0dXJuIGRvd25jYXN0PERvY3VtZW50PihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwogfQog
CitEb2N1bWVudCogQXVkaW9Db250ZXh0Ojpob3N0aW5nRG9jdW1lbnQoKSBjb25zdAoreworICAg
IHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKK30K
KwogUGFzc1JlZlB0cjxBdWRpb0J1ZmZlcj4gQXVkaW9Db250ZXh0OjpjcmVhdGVCdWZmZXIodW5z
aWduZWQgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IG51bWJlck9mRnJhbWVzLCBmbG9hdCBzYW1w
bGVSYXRlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8QXVkaW9CdWZmZXI+IGF1
ZGlvQnVmZmVyID0gQXVkaW9CdWZmZXI6OmNyZWF0ZShudW1iZXJPZkNoYW5uZWxzLCBudW1iZXJP
ZkZyYW1lcywgc2FtcGxlUmF0ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmgJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTkw
LDYgKzkwLDggQEAgcHVibGljOgogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Q7IC8v
IEFTU0VSVHMgaWYgZG9jdW1lbnQgbm8gbG9uZ2VyIGV4aXN0cy4KIAorICAgIERvY3VtZW50KiBo
b3N0aW5nRG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKKwogICAgIEF1ZGlvRGVzdGlu
YXRpb25Ob2RlKiBkZXN0aW5hdGlvbigpIHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLmdldCgp
OyB9CiAgICAgc2l6ZV90IGN1cnJlbnRTYW1wbGVGcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVz
dGluYXRpb25Ob2RlLT5jdXJyZW50U2FtcGxlRnJhbWUoKTsgfQogICAgIGRvdWJsZSBjdXJyZW50
VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVzdGluYXRpb25Ob2RlLT5jdXJyZW50VGltZSgpOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9EZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCShyZXZpc2lvbiAxODYyNTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlZmF1bHRBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksOCBAQCB2b2lkIERlZmF1bHRB
dWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3VzcGVuCiAgICAgQVNTRVJUKGlzSW5pdGlhbGl6ZWQoKSk7
CiAgICAgaWYgKGlzSW5pdGlhbGl6ZWQoKSkKICAgICAgICAgbV9kZXN0aW5hdGlvbi0+c3RvcCgp
OwotICAgIGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5wb3N0VGFzayhmdW5j
dGlvbik7CisgICAgaWYgKGF1dG8qIGV4ZWN1dGlvbkNvbnRleHQgPSBjb250ZXh0KCktPnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgZXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2so
ZnVuY3Rpb24pOwogfQogCiB2b2lkIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6Y2xvc2Uo
c3RkOjpmdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDcgQEAKICNpbmNsdWRlICJQYWdlR3JvdXAu
aCIKICNpbmNsdWRlICJQYWdlVHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1M
b2NhbGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnSW5zUmVzb3VyY2VzLmgi
CiAjaW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQuaCIKQEAgLTcwMCw2ICs3MDEsOCBAQCB2b2lkIERv
Y3VtZW50Ojpjb21tb25UZWFyZG93bigpCiAgICAgaWYgKHN2Z0V4dGVuc2lvbnMoKSkKICAgICAg
ICAgYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnBhdXNlQW5pbWF0aW9ucygpOwogCisgICAgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc3RvcEFsbE1lZGlhUGxheWJh
Y2tGb3JEb2N1bWVudCgqdGhpcyk7CisKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpCiAgICAgY2xlYXJTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDE4NjI1NikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDcsNyArMTQ3LDkgQEAgcHVibGljOgogICAgIE1lZGlhUGxheWVyRW51bXM6Ok1vdmll
TG9hZFR5cGUgbW92aWVMb2FkVHlwZSgpIGNvbnN0OwogICAgIAogICAgIGJvb2wgaW5BY3RpdmVE
b2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5BY3RpdmVEb2N1bWVudDsgfQotICAgIAorCisg
ICAgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0
dXJuICZkb2N1bWVudCgpOyB9CisKIC8vIERPTSBBUEkKIC8vIGVycm9yIHN0YXRlCiAgICAgUGFz
c1JlZlB0cjxNZWRpYUVycm9yPiBlcnJvcigpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCShyZXZpc2lv
biAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVBsYXliYWNrVGFyZ2V0Owog
Y2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQ7CiAKQEAgLTE0NSw2ICsxNDYsOCBAQCBw
cml2YXRlOgogICAgIFN0YXRlIG1fc3RhdGVUb1Jlc3RvcmU7CiAgICAgaW50IG1faW50ZXJydXB0
aW9uQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKKworICAgIGZyaWVu
ZCBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CiB9OwogCiBjbGFzcyBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbkNsaWVudCB7CkBAIC0xNzcsNiArMTgwLDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5YmFja1Rh
cmdldChib29sKSB7IH0KIAorICAgIHZpcnR1YWwgRG9jdW1lbnQqIGhvc3RpbmdEb2N1bWVudCgp
IGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflBsYXRmb3JtTWVkaWFTZXNz
aW9uQ2xpZW50KCkgeyB9CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCShyZXZp
c2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAj
aWYgRU5BQkxFKFZJREVPKQogCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCisjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50
ZWQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIgpAQCAtMzI5LDYgKzMzMCwx
NyBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6YXVkaW9PCiAgICAgdXBkYXRl
U2Vzc2lvblN0YXRlKCk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
dG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkK
K3sKKyAgICBmb3IgKGF1dG8gc2Vzc2lvbiA6IG1fc2Vzc2lvbnMpIHsKKyAgICAgICAgaWYgKHNl
c3Npb24tPnN0YXRlKCkgIT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlpbmcpCisgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAoc2Vzc2lvbi0+Y2xpZW50KCkuaG9zdGluZ0Rv
Y3VtZW50KCkgPT0gJmRvY3VtZW50KQorICAgICAgICAgICAgc2Vzc2lvbi0+cGF1c2VTZXNzaW9u
KCk7CisgICAgfQorfQorCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJ
KHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MTWVk
aWFFbGVtZW50OwogY2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb247CiBjbGFzcyBSZW1vdGVDb21t
YW5kTGlzdGVuZXI7CkBAIC01Niw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJCYWNrZ3JvdW5kKCkgY29uc3Q7CiAK
KyAgICB2b2lkIHN0b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQm
KTsKKwogICAgIGVudW0gU2Vzc2lvblJlc3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3Ry
aWN0aW9ucyA9IDAsCiAgICAgICAgIENvbmN1cnJlbnRQbGF5YmFja05vdFBlcm1pdHRlZCA9IDEg
PDwgMCwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256116</attachid>
            <date>2015-07-03 12:45:31 -0700</date>
            <delta_ts>2015-07-04 19:21:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150703124438.patch</filename>
            <type>text/plain</type>
            <size>6993</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA3LTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAg
ICBBZGQgbmV3IG1ldGhvZCB0byBQYWdlIGNsYXNzIHRvIHN0b3AgYWxsIG1lZGlhIHBsYXliYWNr
LiBJdCBqdXN0IHVzZXMgdGhlIHByb2Nlc3MKKyAgICAgICAgTWVkaWFTZXNzaW9uTWFuYWdlciBz
aW5nbGV0b24gdG8gaW5mb3JtIGFsbCBob3N0ZWQgaW4gYSBwYXJ0aWN1bGFyIGRvY3VtZW50IHRv
IHN0b3AuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQXVkaW86Omhvc3RpbmdEb2N1bWVudCk6IEFkZGVkLgorICAgICAg
ICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6aG9zdGluZ0RvY3VtZW50KTogQWRkZWQuCisgICAgICAgICogZG9tL1BhZ2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6IENhbGwgbmV3ICdzdG9w
QWxsTWVkaWFQbGF5YmFjaycgYXQgZGVzdHJ1Y3Rpb24gdGltZS4KKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpzdG9wQWxsTWVkaWFQbGF5YmFjayk6IENhbGwgdGhlIG5ldyBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQKKyAgICAg
ICAgbWV0aG9kIG9uIGRvY3VtZW50IGNsZWFudXAuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgTWFkZSBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXIgYSBmcmllbmQgc28gaXQgY2FuIGFjY2VzcyB0aGUgcHJvdGVjdGVkICdjbGllbnQn
IGFjY2Vzc29yLgorICAgICAgICBVcGRhdGVkIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IHRv
IHJlcXVpcmUgY2xpZW50cyB0byBoYXZlIGEgImhvc3RpbmdEb2N1bWVudCIgbWVtYmVyLgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxNZWRp
YVBsYXliYWNrRm9yRG9jdW1lbnQpOiBBZGRlZC4gT25seSBwYXVzZXMKKyAgICAgICAgcGxheWJh
Y2sgb24gZWxlbWVudHMgdGhhdCBtYXRjaCB0aGUgcHJvdmlkZWQgZG9jdW1lbnQuCisgICAgICAg
ICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKIDIwMTUt
MDctMDIgIERvdWcgUnVzc2VsbCAgPGRfcnVzc2VsbEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6
IFNlbGVjdGlvbiBjaGFuZ2UgYXMgYSByZXN1bHQgb2YgZm9jdXNpbmcgYW4gZWxlbWVudCBzaG91
bGQgaW5jbHVkZSB0aGF0IApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5oCShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC05MCw2ICs5
MCw4IEBAIHB1YmxpYzoKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OyAvLyBBU1NF
UlRzIGlmIGRvY3VtZW50IG5vIGxvbmdlciBleGlzdHMuCiAKKyAgICBEb2N1bWVudCogaG9zdGlu
Z0RvY3VtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZG9jdW1lbnQoKTsgfQorCiAgICAg
QXVkaW9EZXN0aW5hdGlvbk5vZGUqIGRlc3RpbmF0aW9uKCkgeyByZXR1cm4gbV9kZXN0aW5hdGlv
bk5vZGUuZ2V0KCk7IH0KICAgICBzaXplX3QgY3VycmVudFNhbXBsZUZyYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUtPmN1cnJlbnRTYW1wbGVGcmFtZSgpOyB9CiAgICAgZG91
YmxlIGN1cnJlbnRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUtPmN1cnJl
bnRUaW1lKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShy
ZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQ3LDcgKzE0Nyw5IEBAIHB1YmxpYzoKICAgICBNZWRpYVBs
YXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1vdmllTG9hZFR5cGUoKSBjb25zdDsKICAgICAKICAg
ICBib29sIGluQWN0aXZlRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2luQWN0aXZlRG9jdW1l
bnQ7IH0KLSAgICAKKworICAgIERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiAmZG9jdW1lbnQoKTsgfQorCiAvLyBET00gQVBJCiAvLyBlcnJvciBzdGF0
ZQogICAgIFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4gZXJyb3IoKSBjb25zdDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAkocmV2aXNpb24gMTg2MjU2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91
cC5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBhZ2VU
aHJvdHRsZXIuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNp
bmNsdWRlICJQbHVnSW5DbGllbnQuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAjaW5jbHVk
ZSAiUGx1Z2luVmlld0Jhc2UuaCIKQEAgLTI0OCw2ICsyNDksOCBAQCBQYWdlOjpQYWdlKFBhZ2VD
b25maWd1cmF0aW9uJiBwYWdlQ29uZmlnCiAKIFBhZ2U6On5QYWdlKCkKIHsKKyAgICBzdG9wQWxs
TWVkaWFQbGF5YmFjaygpOworCiAgICAgbV9tYWluRnJhbWUtPnNldFZpZXcobnVsbHB0cik7CiAg
ICAgc2V0R3JvdXBOYW1lKFN0cmluZygpKTsKICAgICBhbGxQYWdlcy0+cmVtb3ZlKHRoaXMpOwpA
QCAtMTc2NCw0ICsxNzY3LDEwIEBAIFdoZWVsRXZlbnRUZXN0VHJpZ2dlciYgUGFnZTo6ZW5zdXJl
VGVzdFQKICAgICByZXR1cm4gKm1fdGVzdFRyaWdnZXI7CiB9CiAKK3ZvaWQgUGFnZTo6c3RvcEFs
bE1lZGlhUGxheWJhY2soKQoreworICAgIGZvciAoYXV0byogZnJhbWUgPSBzdGF0aWNfY2FzdDxG
cmFtZSo+KCZtYWluRnJhbWUoKSk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVy
c2VOZXh0KCkpCisgICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFu
YWdlcigpLnN0b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoKmZyYW1lLT5kb2N1bWVudCgp
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlz
aW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00ODgsNiArNDg4LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGhpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdTdGF0ZUNoYW5nZWQoKTsKICAgICB2b2lkIHNldFRpbWVyVGhyb3R0bGluZ0Vu
YWJsZWQoYm9vbCk7CiAKKyAgICB2b2lkIHN0b3BBbGxNZWRpYVBsYXliYWNrKCk7CisKICAgICBj
b25zdCBzdGQ6OnVuaXF1ZV9wdHI8Q2hyb21lPiBtX2Nocm9tZTsKICAgICBjb25zdCBzdGQ6OnVu
aXF1ZV9wdHI8RHJhZ0NhcmV0Q29udHJvbGxlcj4gbV9kcmFnQ2FyZXRDb250cm9sbGVyOwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uLmgJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1l
ZGlhUGxheWJhY2tUYXJnZXQ7CiBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudDsKIApA
QCAtMTQ1LDYgKzE0Niw4IEBAIHByaXZhdGU6CiAgICAgU3RhdGUgbV9zdGF0ZVRvUmVzdG9yZTsK
ICAgICBpbnQgbV9pbnRlcnJ1cHRpb25Db3VudCB7IDAgfTsKICAgICBib29sIG1fbm90aWZ5aW5n
Q2xpZW50OworCisgICAgZnJpZW5kIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjsK
IH07CiAKIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IHsKQEAgLTE3Nyw2ICsxODAs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFj
a1RhcmdldCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFNo
b3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGJvb2wpIHsgfQogCisgICAgdmlydHVhbCBEb2N1bWVu
dCogaG9zdGluZ0RvY3VtZW50KCkgY29uc3QgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCB+UGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQoKSB7IH0KIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uTWFuYWdlci5jcHAJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNsdWRlICJBdWRpb1Nl
c3Npb24uaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9u
LmgiCkBAIC0zMjksNiArMzMwLDE0IEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
OjphdWRpb08KICAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAordm9pZCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1l
bnQmIGRvY3VtZW50KQoreworICAgIGZvciAoYXV0byBzZXNzaW9uIDogbV9zZXNzaW9ucykgewor
ICAgICAgICBpZiAoc2Vzc2lvbi0+Y2xpZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0gJmRvY3Vt
ZW50KQorICAgICAgICAgICAgc2Vzc2lvbi0+cGF1c2VTZXNzaW9uKCk7CisgICAgfQorfQorCiB9
CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHJldmlzaW9uIDE4NjI1NikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MTWVkaWFFbGVtZW50OwogY2xhc3Mg
UGxhdGZvcm1NZWRpYVNlc3Npb247CiBjbGFzcyBSZW1vdGVDb21tYW5kTGlzdGVuZXI7CkBAIC01
Niw2ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGxpY2F0aW9u
V2lsbEVudGVyRm9yZWdyb3VuZCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBw
bGljYXRpb25XaWxsRW50ZXJCYWNrZ3JvdW5kKCkgY29uc3Q7CiAKKyAgICB2b2lkIHN0b3BBbGxN
ZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQoRG9jdW1lbnQmKTsKKwogICAgIGVudW0gU2Vzc2lvblJl
c3RyaWN0aW9uRmxhZ3MgewogICAgICAgICBOb1Jlc3RyaWN0aW9ucyA9IDAsCiAgICAgICAgIENv
bmN1cnJlbnRQbGF5YmFja05vdFBlcm1pdHRlZCA9IDEgPDwgMCwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256166</attachid>
            <date>2015-07-04 19:21:36 -0700</date>
            <delta_ts>2015-07-04 21:04:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150704192039.patch</filename>
            <type>text/plain</type>
            <size>6758</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA3LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkF1ZGlvOjpob3N0aW5nRG9jdW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Omhvc3Rp
bmdEb2N1bWVudCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6On5QYWdlKTogQ2FsbCBuZXcgJ3N0b3BBbGxNZWRpYVBsYXliYWNrJyBhdCBk
ZXN0cnVjdGlvbiB0aW1lLgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RvcEFsbE1lZGlhUGxh
eWJhY2spOiBDYWxsIHRoZSBuZXcgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50CisgICAgICAgIG1ldGhvZCBvbiBkb2N1bWVudCBjbGVh
bnVwLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg6Cisg
ICAgICAgIE1hZGUgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyIGEgZnJpZW5kIHNvIGl0IGNh
biBhY2Nlc3MgdGhlIHByb3RlY3RlZCAnY2xpZW50JyBhY2Nlc3Nvci4KKyAgICAgICAgVXBkYXRl
ZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB0byByZXF1aXJlIGNsaWVudHMgdG8gaGF2ZSBh
ICJob3N0aW5nRG9jdW1lbnQiIG1lbWJlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KTogQWRk
ZWQuIE9ubHkgcGF1c2VzCisgICAgICAgIHBsYXliYWNrIG9uIGVsZW1lbnRzIHRoYXQgbWF0Y2gg
dGhlIHByb3ZpZGVkIGRvY3VtZW50LgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDE1LTA3LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBXaW5kb3dzIGJ1aWxkIGZpeCBhZnRl
ciByMTg2Mjc5LgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5oCShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC05MCw2ICs5MCw4IEBA
IHB1YmxpYzoKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OyAvLyBBU1NFUlRzIGlm
IGRvY3VtZW50IG5vIGxvbmdlciBleGlzdHMuCiAKKyAgICBjb25zdCBEb2N1bWVudCogaG9zdGlu
Z0RvY3VtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZG9jdW1lbnQoKTsgfQorCiAgICAg
QXVkaW9EZXN0aW5hdGlvbk5vZGUqIGRlc3RpbmF0aW9uKCkgeyByZXR1cm4gbV9kZXN0aW5hdGlv
bk5vZGUuZ2V0KCk7IH0KICAgICBzaXplX3QgY3VycmVudFNhbXBsZUZyYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUtPmN1cnJlbnRTYW1wbGVGcmFtZSgpOyB9CiAgICAgZG91
YmxlIGN1cnJlbnRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUtPmN1cnJl
bnRUaW1lKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShy
ZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQ3LDcgKzE0Nyw5IEBAIHB1YmxpYzoKICAgICBNZWRpYVBs
YXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1vdmllTG9hZFR5cGUoKSBjb25zdDsKICAgICAKICAg
ICBib29sIGluQWN0aXZlRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2luQWN0aXZlRG9jdW1l
bnQ7IH0KLSAgICAKKworICAgIGNvbnN0IERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiAmZG9jdW1lbnQoKTsgfQorCiAvLyBET00gQVBJCiAvLyBlcnJv
ciBzdGF0ZQogICAgIFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4gZXJyb3IoKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMTg2MjU2KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIlBh
Z2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlBhZ2VUaHJvdHRsZXIuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCIKICNpbmNsdWRlICJQbHVnSW5DbGllbnQuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAj
aW5jbHVkZSAiUGx1Z2luVmlld0Jhc2UuaCIKQEAgLTI0OCw2ICsyNDksOCBAQCBQYWdlOjpQYWdl
KFBhZ2VDb25maWd1cmF0aW9uJiBwYWdlQ29uZmlnCiAKIFBhZ2U6On5QYWdlKCkKIHsKKyAgICBz
dG9wQWxsTWVkaWFQbGF5YmFjaygpOworCiAgICAgbV9tYWluRnJhbWUtPnNldFZpZXcobnVsbHB0
cik7CiAgICAgc2V0R3JvdXBOYW1lKFN0cmluZygpKTsKICAgICBhbGxQYWdlcy0+cmVtb3ZlKHRo
aXMpOwpAQCAtMTc2NCw0ICsxNzY3LDEwIEBAIFdoZWVsRXZlbnRUZXN0VHJpZ2dlciYgUGFnZTo6
ZW5zdXJlVGVzdFQKICAgICByZXR1cm4gKm1fdGVzdFRyaWdnZXI7CiB9CiAKK3ZvaWQgUGFnZTo6
c3RvcEFsbE1lZGlhUGxheWJhY2soKQoreworICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1haW5G
cmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKQorICAg
ICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5zdG9wQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KCpmcmFtZS0+ZG9jdW1lbnQoKSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAxODYyNTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDg4LDYgKzQ4
OCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3Rh
dGVDaGFuZ2VkKCk7CiAgICAgdm9pZCBzZXRUaW1lclRocm90dGxpbmdFbmFibGVkKGJvb2wpOwog
CisgICAgdm9pZCBzdG9wQWxsTWVkaWFQbGF5YmFjaygpOworCiAgICAgY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENocm9tZT4gbV9jaHJvbWU7CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPERyYWdD
YXJldENvbnRyb2xsZXI+IG1fZHJhZ0NhcmV0Q29udHJvbGxlcjsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCShy
ZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVBsYXliYWNrVGFy
Z2V0OwogY2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQ7CiAKQEAgLTE0NSw2ICsxNDYs
OCBAQCBwcml2YXRlOgogICAgIFN0YXRlIG1fc3RhdGVUb1Jlc3RvcmU7CiAgICAgaW50IG1faW50
ZXJydXB0aW9uQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKKworICAg
IGZyaWVuZCBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CiB9OwogCiBjbGFzcyBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB7CkBAIC0xNzcsNiArMTgwLDggQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5
YmFja1RhcmdldChib29sKSB7IH0KIAorICAgIHZpcnR1YWwgY29uc3QgRG9jdW1lbnQqIGhvc3Rp
bmdEb2N1bWVudCgpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflBsYXRm
b3JtTWVkaWFTZXNzaW9uQ2xpZW50KCkgeyB9CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwCShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw3IEBACiAjaWYgRU5BQkxFKFZJREVPKQogCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgi
CisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIgpAQCAt
MzI5LDYgKzMzMCwxNCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6YXVkaW9P
CiAgICAgdXBkYXRlU2Vzc2lvblN0YXRlKCk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KERvY3VtZW50JiBkb2N1
bWVudCkKK3sKKyAgICBmb3IgKGF1dG8qIHNlc3Npb24gOiBtX3Nlc3Npb25zKSB7CisgICAgICAg
IGlmIChzZXNzaW9uLT5jbGllbnQoKS5ob3N0aW5nRG9jdW1lbnQoKSA9PSAmZG9jdW1lbnQpCisg
ICAgICAgICAgICBzZXNzaW9uLT5wYXVzZVNlc3Npb24oKTsKKyAgICB9Cit9CisKIH0KIAogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTg2MjU2KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CitjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjsKIGNsYXNzIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjsKQEAgLTU2LDYgKzU3
LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBsaWNhdGlv
bldpbGxFbnRlckJhY2tncm91bmQoKSBjb25zdDsKIAorICAgIHZvaWQgc3RvcEFsbE1lZGlhUGxh
eWJhY2tGb3JEb2N1bWVudChEb2N1bWVudCYpOworCiAgICAgZW51bSBTZXNzaW9uUmVzdHJpY3Rp
b25GbGFncyB7CiAgICAgICAgIE5vUmVzdHJpY3Rpb25zID0gMCwKICAgICAgICAgQ29uY3VycmVu
dFBsYXliYWNrTm90UGVybWl0dGVkID0gMSA8PCAwLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256169</attachid>
            <date>2015-07-04 21:04:37 -0700</date>
            <delta_ts>2015-07-05 13:56:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150704210341.patch</filename>
            <type>text/plain</type>
            <size>6770</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA3LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkF1ZGlvOjpob3N0aW5nRG9jdW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Omhvc3Rp
bmdEb2N1bWVudCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6On5QYWdlKTogQ2FsbCBuZXcgJ3N0b3BBbGxNZWRpYVBsYXliYWNrJyBhdCBk
ZXN0cnVjdGlvbiB0aW1lLgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RvcEFsbE1lZGlhUGxh
eWJhY2spOiBDYWxsIHRoZSBuZXcgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50CisgICAgICAgIG1ldGhvZCBvbiBkb2N1bWVudCBjbGVh
bnVwLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg6Cisg
ICAgICAgIE1hZGUgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyIGEgZnJpZW5kIHNvIGl0IGNh
biBhY2Nlc3MgdGhlIHByb3RlY3RlZCAnY2xpZW50JyBhY2Nlc3Nvci4KKyAgICAgICAgVXBkYXRl
ZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB0byByZXF1aXJlIGNsaWVudHMgdG8gaGF2ZSBh
ICJob3N0aW5nRG9jdW1lbnQiIG1lbWJlci4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KTogQWRk
ZWQuIE9ubHkgcGF1c2VzCisgICAgICAgIHBsYXliYWNrIG9uIGVsZW1lbnRzIHRoYXQgbWF0Y2gg
dGhlIHByb3ZpZGVkIGRvY3VtZW50LgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5oOgorCiAyMDE1LTA3LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBXaW5kb3dzIGJ1aWxkIGZpeCBhZnRl
ciByMTg2Mjc5LgpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5oCShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC05MCw2ICs5MCw4IEBA
IHB1YmxpYzoKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OyAvLyBBU1NFUlRzIGlm
IGRvY3VtZW50IG5vIGxvbmdlciBleGlzdHMuCiAKKyAgICBjb25zdCBEb2N1bWVudCogaG9zdGlu
Z0RvY3VtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZG9jdW1lbnQoKTsgfQorCiAgICAg
QXVkaW9EZXN0aW5hdGlvbk5vZGUqIGRlc3RpbmF0aW9uKCkgeyByZXR1cm4gbV9kZXN0aW5hdGlv
bk5vZGUuZ2V0KCk7IH0KICAgICBzaXplX3QgY3VycmVudFNhbXBsZUZyYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUtPmN1cnJlbnRTYW1wbGVGcmFtZSgpOyB9CiAgICAgZG91
YmxlIGN1cnJlbnRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9kZXN0aW5hdGlvbk5vZGUtPmN1cnJl
bnRUaW1lKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShy
ZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQ3LDcgKzE0Nyw5IEBAIHB1YmxpYzoKICAgICBNZWRpYVBs
YXllckVudW1zOjpNb3ZpZUxvYWRUeXBlIG1vdmllTG9hZFR5cGUoKSBjb25zdDsKICAgICAKICAg
ICBib29sIGluQWN0aXZlRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2luQWN0aXZlRG9jdW1l
bnQ7IH0KLSAgICAKKworICAgIGNvbnN0IERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiAmZG9jdW1lbnQoKTsgfQorCiAvLyBET00gQVBJCiAvLyBlcnJv
ciBzdGF0ZQogICAgIFBhc3NSZWZQdHI8TWVkaWFFcnJvcj4gZXJyb3IoKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gMTg2MjU2KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIlBh
Z2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlBhZ2VUaHJvdHRsZXIuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aCIKICNpbmNsdWRlICJQbHVnSW5DbGllbnQuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAj
aW5jbHVkZSAiUGx1Z2luVmlld0Jhc2UuaCIKQEAgLTI0OCw2ICsyNDksOCBAQCBQYWdlOjpQYWdl
KFBhZ2VDb25maWd1cmF0aW9uJiBwYWdlQ29uZmlnCiAKIFBhZ2U6On5QYWdlKCkKIHsKKyAgICBz
dG9wQWxsTWVkaWFQbGF5YmFjaygpOworCiAgICAgbV9tYWluRnJhbWUtPnNldFZpZXcobnVsbHB0
cik7CiAgICAgc2V0R3JvdXBOYW1lKFN0cmluZygpKTsKICAgICBhbGxQYWdlcy0+cmVtb3ZlKHRo
aXMpOwpAQCAtMTc2NCw0ICsxNzY3LDEwIEBAIFdoZWVsRXZlbnRUZXN0VHJpZ2dlciYgUGFnZTo6
ZW5zdXJlVGVzdFQKICAgICByZXR1cm4gKm1fdGVzdFRyaWdnZXI7CiB9CiAKK3ZvaWQgUGFnZTo6
c3RvcEFsbE1lZGlhUGxheWJhY2soKQoreworICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1haW5G
cmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKQorICAg
ICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5zdG9wQWxs
TWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KCpmcmFtZS0+ZG9jdW1lbnQoKSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiAxODYyNTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDg4LDYgKzQ4
OCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nU3Rh
dGVDaGFuZ2VkKCk7CiAgICAgdm9pZCBzZXRUaW1lclRocm90dGxpbmdFbmFibGVkKGJvb2wpOwog
CisgICAgdm9pZCBzdG9wQWxsTWVkaWFQbGF5YmFjaygpOworCiAgICAgY29uc3Qgc3RkOjp1bmlx
dWVfcHRyPENocm9tZT4gbV9jaHJvbWU7CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPERyYWdD
YXJldENvbnRyb2xsZXI+IG1fZHJhZ0NhcmV0Q29udHJvbGxlcjsKIApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCShy
ZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVBsYXliYWNrVGFy
Z2V0OwogY2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQ7CiAKQEAgLTE0NSw2ICsxNDYs
OCBAQCBwcml2YXRlOgogICAgIFN0YXRlIG1fc3RhdGVUb1Jlc3RvcmU7CiAgICAgaW50IG1faW50
ZXJydXB0aW9uQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX25vdGlmeWluZ0NsaWVudDsKKworICAg
IGZyaWVuZCBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CiB9OwogCiBjbGFzcyBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudCB7CkBAIC0xNzcsNiArMTgwLDggQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBpc1BsYXlpbmdUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRQbGF5VG9QbGF5
YmFja1RhcmdldChib29sKSB7IH0KIAorICAgIHZpcnR1YWwgY29uc3QgRG9jdW1lbnQqIGhvc3Rp
bmdEb2N1bWVudCgpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflBsYXRm
b3JtTWVkaWFTZXNzaW9uQ2xpZW50KCkgeyB9CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwCShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw3IEBACiAjaWYgRU5BQkxFKFZJREVPKQogCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgi
CisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oIgpAQCAt
MzI5LDYgKzMzMCwxNCBAQCB2b2lkIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6YXVkaW9P
CiAgICAgdXBkYXRlU2Vzc2lvblN0YXRlKCk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvckRvY3VtZW50KGNvbnN0IERvY3VtZW50
JiBkb2N1bWVudCkKK3sKKyAgICBmb3IgKGF1dG8qIHNlc3Npb24gOiBtX3Nlc3Npb25zKSB7Cisg
ICAgICAgIGlmIChzZXNzaW9uLT5jbGllbnQoKS5ob3N0aW5nRG9jdW1lbnQoKSA9PSAmZG9jdW1l
bnQpCisgICAgICAgICAgICBzZXNzaW9uLT5wYXVzZVNlc3Npb24oKTsKKyAgICB9Cit9CisKIH0K
IAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTg2MjU2KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjsKIGNsYXNzIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjsKQEAgLTU2
LDYgKzU3LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbGljYXRpb25X
aWxsRW50ZXJGb3JlZ3JvdW5kKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBs
aWNhdGlvbldpbGxFbnRlckJhY2tncm91bmQoKSBjb25zdDsKIAorICAgIHZvaWQgc3RvcEFsbE1l
ZGlhUGxheWJhY2tGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYpOworCiAgICAgZW51bSBTZXNz
aW9uUmVzdHJpY3Rpb25GbGFncyB7CiAgICAgICAgIE5vUmVzdHJpY3Rpb25zID0gMCwKICAgICAg
ICAgQ29uY3VycmVudFBsYXliYWNrTm90UGVybWl0dGVkID0gMSA8PCAwLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256184</attachid>
            <date>2015-07-05 13:56:48 -0700</date>
            <delta_ts>2015-07-06 15:57:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150705135551.patch</filename>
            <type>text/plain</type>
            <size>8621</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjI4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA3LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkF1ZGlvOjpob3N0aW5nRG9jdW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Omhvc3Rp
bmdEb2N1bWVudCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KTogQ2FsbCBuZXcgJ3N0b3BBbGxNZWRpYVBs
YXliYWNrRm9yRG9jdW1lbnQnIGF0IGRlc3RydWN0aW9uIHRpbWUuCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgTWFkZSBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIgYSBmcmllbmQgc28gaXQgY2FuIGFjY2VzcyB0aGUgcHJvdGVjdGVk
ICdjbGllbnQnIGFjY2Vzc29yLgorICAgICAgICBVcGRhdGVkIFBsYXRmb3JtTWVkaWFTZXNzaW9u
Q2xpZW50IHRvIHJlcXVpcmUgY2xpZW50cyB0byBoYXZlIGEgImhvc3RpbmdEb2N1bWVudCIgbWVt
YmVyLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0
b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQpOiBBZGRlZC4gT25seSBwYXVzZXMKKyAgICAg
ICAgcGxheWJhY2sgb24gZWxlbWVudHMgdGhhdCBtYXRjaCB0aGUgcHJvdmlkZWQgZG9jdW1lbnQu
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxN
ZWRpYVBsYXliYWNrRm9yUHJvY2Vzcyk6IEFkZGVkLiBQYXVzZXMgcGxheWJhY2sKKyAgICAgICAg
b24gYWxsIGVsZW1lbnRzIGluIHRoZSBjdXJyZW50IHByb2Nlc3MuCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKIDIwMTUtMDctMDQgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIFdpbmRv
d3MgYnVpbGQgZml4IGFmdGVyIHIxODYyNzkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTkwLDYgKzkwLDggQEAgcHVibGljOgogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29u
c3Q7IC8vIEFTU0VSVHMgaWYgZG9jdW1lbnQgbm8gbG9uZ2VyIGV4aXN0cy4KIAorICAgIGNvbnN0
IERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBkb2N1
bWVudCgpOyB9CisKICAgICBBdWRpb0Rlc3RpbmF0aW9uTm9kZSogZGVzdGluYXRpb24oKSB7IHJl
dHVybiBtX2Rlc3RpbmF0aW9uTm9kZS5nZXQoKTsgfQogICAgIHNpemVfdCBjdXJyZW50U2FtcGxl
RnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc3RpbmF0aW9uTm9kZS0+Y3VycmVudFNhbXBsZUZy
YW1lKCk7IH0KICAgICBkb3VibGUgY3VycmVudFRpbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc3Rp
bmF0aW9uTm9kZS0+Y3VycmVudFRpbWUoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiAxODYyNTYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogICogICAgICAgICAgIChDKSAxOTk5IEFudHRp
IEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDAxIERpcmsg
TXVlbGxlciAobXVlbGxlckBrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDA2IEFsZXhleSBQ
cm9za3VyeWFrb3YgKGFwQHdlYmtpdC5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUs
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTEsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1v
YmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNv
bS8pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKQEAgLTExMiw2ICsxMTIsNyBAQAogI2lu
Y2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VUcmFuc2l0aW9uRXZlbnQuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlBs
dWdJbnNSZXNvdXJjZXMuaCIKICNpbmNsdWRlICJQbHVnaW5Eb2N1bWVudC5oIgpAQCAtNjMyLDYg
KzYzMyw4IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAgIGlmIChtX2NhY2hlZFJlc291cmNl
TG9hZGVyLT5kb2N1bWVudCgpID09IHRoaXMpCiAgICAgICAgIG1fY2FjaGVkUmVzb3VyY2VMb2Fk
ZXItPnNldERvY3VtZW50KG51bGxwdHIpOwogCisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpzaGFyZWRNYW5hZ2VyKCkuc3RvcEFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudCh0aGlz
KTsKKyAgICAKICAgICAvLyBXZSBtdXN0IGNhbGwgY2xlYXJSYXJlRGF0YSgpIGhlcmUgc2luY2Ug
YSBEb2N1bWVudCBjbGFzcyBpbmhlcml0cyBUcmVlU2NvcGUKICAgICAvLyBhcyB3ZWxsIGFzIE5v
ZGUuIFNlZSBhIGNvbW1lbnQgb24gVHJlZVNjb3BlLmggZm9yIHRoZSByZWFzb24uCiAgICAgaWYg
KGhhc1JhcmVEYXRhKCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAkocmV2aXNpb24gMTg2MjU2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Nyw3ICsxNDcsOSBAQCBwdWJsaWM6CiAgICAgTWVk
aWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKCkgY29uc3Q7CiAgICAg
CiAgICAgYm9vbCBpbkFjdGl2ZURvY3VtZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbkFjdGl2ZURv
Y3VtZW50OyB9Ci0gICAgCisKKyAgICBjb25zdCBEb2N1bWVudCogaG9zdGluZ0RvY3VtZW50KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gJmRvY3VtZW50KCk7IH0KKwogLy8gRE9NIEFQSQogLy8g
ZXJyb3Igc3RhdGUKICAgICBQYXNzUmVmUHRyPE1lZGlhRXJyb3I+IGVycm9yKCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uLmgJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1l
ZGlhUGxheWJhY2tUYXJnZXQ7CiBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNsaWVudDsKIApA
QCAtMTQ1LDYgKzE0Niw4IEBAIHByaXZhdGU6CiAgICAgU3RhdGUgbV9zdGF0ZVRvUmVzdG9yZTsK
ICAgICBpbnQgbV9pbnRlcnJ1cHRpb25Db3VudCB7IDAgfTsKICAgICBib29sIG1fbm90aWZ5aW5n
Q2xpZW50OworCisgICAgZnJpZW5kIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjsK
IH07CiAKIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xpZW50IHsKQEAgLTE3Nyw2ICsxODAs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUGxheWluZ1RvV2lyZWxlc3NQbGF5YmFj
a1RhcmdldCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFNo
b3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGJvb2wpIHsgfQogCisgICAgdmlydHVhbCBjb25zdCBE
b2N1bWVudCogaG9zdGluZ0RvY3VtZW50KCkgY29uc3QgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB+UGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQoKSB7IH0KIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5jcHAJKHJldmlzaW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoVklERU8pCiAKICNpbmNsdWRlICJB
dWRpb1Nlc3Npb24uaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFT
ZXNzaW9uLmgiCkBAIC0zMjksNiArMzMwLDIyIEBAIHZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjphdWRpb08KICAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKIH0KIAordm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQo
Y29uc3QgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIFZlY3RvcjxQbGF0Zm9ybU1lZGlhU2Vz
c2lvbio+IHNlc3Npb25zID0gbV9zZXNzaW9uczsKKyAgICBmb3IgKGF1dG8qIHNlc3Npb24gOiBz
ZXNzaW9ucykgeworICAgICAgICBpZiAoc2Vzc2lvbi0+Y2xpZW50KCkuaG9zdGluZ0RvY3VtZW50
KCkgPT0gZG9jdW1lbnQpCisgICAgICAgICAgICBzZXNzaW9uLT5wYXVzZVNlc3Npb24oKTsKKyAg
ICB9Cit9CisKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzdG9wQWxsTWVkaWFQ
bGF5YmFja0ZvclByb2Nlc3MoKQoreworICAgIFZlY3RvcjxQbGF0Zm9ybU1lZGlhU2Vzc2lvbio+
IHNlc3Npb25zID0gbV9zZXNzaW9uczsKKyAgICBmb3IgKGF1dG8qIHNlc3Npb24gOiBzZXNzaW9u
cykKKyAgICAgICAgc2Vzc2lvbi0+cGF1c2VTZXNzaW9uKCk7Cit9CisKIH0KIAogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1h
bmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24gMTg2MjU2KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBEb2N1bWVudDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CiBjbGFzcyBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjsKIGNsYXNzIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcjsKQEAgLTU2LDYgKzU3LDkgQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJGb3Jl
Z3JvdW5kKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhcHBsaWNhdGlvbldpbGxF
bnRlckJhY2tncm91bmQoKSBjb25zdDsKIAorICAgIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2tG
b3JEb2N1bWVudChjb25zdCBEb2N1bWVudCopOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3Rv
cEFsbE1lZGlhUGxheWJhY2tGb3JQcm9jZXNzKCk7CisKICAgICBlbnVtIFNlc3Npb25SZXN0cmlj
dGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlvbnMgPSAwLAogICAgICAgICBDb25jdXJy
ZW50UGxheWJhY2tOb3RQZXJtaXR0ZWQgPSAxIDw8IDAsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lv
biAxODYyOTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNSBAQAorMjAxNS0wNy0wNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KKworICAgICAgICBFbnN1cmUgbWVkaWEgcGxheWJhY2sgaXMgc3RvcHBlZCBkdXJpbmcg
cGFnZSBjbG9zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ2NTU0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xODAzMzk0ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRpZENsb3NlKTogTWFrZSBz
dXJlIHRvIGNsZWFuIHVwIGFueSBydW5uaW5nIG1lZGlhIHNlc3Npb25zIHdoZW4KKyAgICAgICAg
dGhlIHByb2Nlc3MgaXMgYmVpbmcgc2h1dCBkb3duLgorCiAyMDE1LTA3LTA0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBSZWZQdHI6OmNsZWFyKCkgbWV0
aG9kCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlz
aW9uIDE4NjI1NikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFn
ZUdyb3VwLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY2hlbWVSZWdp
c3RyeS5oPgpAQCAtNjU4LDYgKzY1OSw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW8KICAgICBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuc2V0RGlzYWJsZWQodHJ1
ZSk7CiAjZW5kaWYgICAgCiAKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJl
ZE1hbmFnZXIoKS5zdG9wQWxsTWVkaWFQbGF5YmFja0ZvclByb2Nlc3MoKTsKKwogICAgIC8vIFRo
ZSBVSSBwcm9jZXNzIGNsb3NlZCB0aGlzIGNvbm5lY3Rpb24sIHNodXQgZG93bi4KICAgICBzdG9w
UnVuTG9vcCgpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256248</attachid>
            <date>2015-07-06 15:57:41 -0700</date>
            <delta_ts>2015-07-06 16:02:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146554-20150706155643.patch</filename>
            <type>text/plain</type>
            <size>8758</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjM4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA3LTA2ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBwbGF5
YmFjayBpcyBzdG9wcGVkIGR1cmluZyBwYWdlIGNsb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY1NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzE4MDMzOTQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYkF1ZGlvOjpob3N0aW5nRG9jdW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Omhvc3Rp
bmdEb2N1bWVudCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KTogQ2FsbCBuZXcgJ3N0b3BBbGxNZWRpYVBs
YXliYWNrRm9yRG9jdW1lbnQnIGF0IGRlc3RydWN0aW9uIHRpbWUuCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgTWFkZSBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIgYSBmcmllbmQgc28gaXQgY2FuIGFjY2VzcyB0aGUgcHJvdGVjdGVk
ICdjbGllbnQnIGFjY2Vzc29yLgorICAgICAgICBVcGRhdGVkIFBsYXRmb3JtTWVkaWFTZXNzaW9u
Q2xpZW50IHRvIHJlcXVpcmUgY2xpZW50cyB0byBoYXZlIGEgImhvc3RpbmdEb2N1bWVudCIgbWVt
YmVyLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0
b3BBbGxNZWRpYVBsYXliYWNrRm9yRG9jdW1lbnQpOiBBZGRlZC4gT25seSBwYXVzZXMKKyAgICAg
ICAgcGxheWJhY2sgb24gZWxlbWVudHMgdGhhdCBtYXRjaCB0aGUgcHJvdmlkZWQgZG9jdW1lbnQu
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxN
ZWRpYVBsYXliYWNrRm9yUHJvY2Vzcyk6IEFkZGVkLiBQYXVzZXMgcGxheWJhY2sKKyAgICAgICAg
b24gYWxsIGVsZW1lbnRzIGluIHRoZSBjdXJyZW50IHByb2Nlc3MuCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisKIDIwMTUtMDctMDYgIERl
YW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIE1lbW9yeSBjb3JydXB0aW9u
IGluIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6c2ltdWxhdGVWZXJ0ZXhBdHRyaWIwCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgJKHJldmlz
aW9uIDE4NjM4MCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTkwLDYgKzkwLDggQEAgcHVibGljOgogCiAgICAgRG9j
dW1lbnQqIGRvY3VtZW50KCkgY29uc3Q7IC8vIEFTU0VSVHMgaWYgZG9jdW1lbnQgbm8gbG9uZ2Vy
IGV4aXN0cy4KIAorICAgIGNvbnN0IERvY3VtZW50KiBob3N0aW5nRG9jdW1lbnQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBkb2N1bWVudCgpOyB9CisKICAgICBBdWRpb0Rlc3RpbmF0aW9uTm9k
ZSogZGVzdGluYXRpb24oKSB7IHJldHVybiBtX2Rlc3RpbmF0aW9uTm9kZS5nZXQoKTsgfQogICAg
IHNpemVfdCBjdXJyZW50U2FtcGxlRnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2Rlc3RpbmF0aW9u
Tm9kZS0+Y3VycmVudFNhbXBsZUZyYW1lKCk7IH0KICAgICBkb3VibGUgY3VycmVudFRpbWUoKSBj
b25zdCB7IHJldHVybiBtX2Rlc3RpbmF0aW9uTm9kZS0+Y3VycmVudFRpbWUoKTsgfQpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxODYzODApCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogICogICAg
ICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQogICogICAg
ICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQogICogICAgICAg
ICAgIChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQHdlYmtpdC5vcmcpCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTEsIDIwMTIs
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA0LTIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRw
Oi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIw
MTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKQEAg
LTExMiw2ICsxMTIsNyBAQAogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBhZ2VU
cmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxvY2FsZS5oIgorI2luY2x1ZGUg
IlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRl
Z2llcy5oIgogI2luY2x1ZGUgIlBsdWdJbnNSZXNvdXJjZXMuaCIKICNpbmNsdWRlICJQbHVnaW5E
b2N1bWVudC5oIgpAQCAtNjMyLDYgKzYzMyw4IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAg
IGlmIChtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5kb2N1bWVudCgpID09IHRoaXMpCiAgICAgICAg
IG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPnNldERvY3VtZW50KG51bGxwdHIpOwogCisgICAgUGxh
dGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc3RvcEFsbE1lZGlhUGxh
eWJhY2tGb3JEb2N1bWVudCh0aGlzKTsKKyAgICAKICAgICAvLyBXZSBtdXN0IGNhbGwgY2xlYXJS
YXJlRGF0YSgpIGhlcmUgc2luY2UgYSBEb2N1bWVudCBjbGFzcyBpbmhlcml0cyBUcmVlU2NvcGUK
ICAgICAvLyBhcyB3ZWxsIGFzIE5vZGUuIFNlZSBhIGNvbW1lbnQgb24gVHJlZVNjb3BlLmggZm9y
IHRoZSByZWFzb24uCiAgICAgaWYgKGhhc1JhcmVEYXRhKCkpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gMTg2MzgwKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Nyw3ICsxNDcs
OSBAQCBwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJFbnVtczo6TW92aWVMb2FkVHlwZSBtb3ZpZUxv
YWRUeXBlKCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBpbkFjdGl2ZURvY3VtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9pbkFjdGl2ZURvY3VtZW50OyB9Ci0gICAgCisKKyAgICBjb25zdCBEb2N1bWVu
dCogaG9zdGluZ0RvY3VtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gJmRvY3VtZW50KCk7
IH0KKwogLy8gRE9NIEFQSQogLy8gZXJyb3Igc3RhdGUKICAgICBQYXNzUmVmUHRyPE1lZGlhRXJy
b3I+IGVycm9yKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgJKHJldmlzaW9uIDE4NjM4MCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFz
cyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhUGxheWJhY2tUYXJnZXQ7CiBjbGFzcyBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbkNsaWVudDsKIApAQCAtMTQ1LDYgKzE0Niw4IEBAIHByaXZhdGU6CiAgICAgU3Rh
dGUgbV9zdGF0ZVRvUmVzdG9yZTsKICAgICBpbnQgbV9pbnRlcnJ1cHRpb25Db3VudCB7IDAgfTsK
ICAgICBib29sIG1fbm90aWZ5aW5nQ2xpZW50OworCisgICAgZnJpZW5kIGNsYXNzIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjsKIH07CiAKIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xp
ZW50IHsKQEAgLTE3Nyw2ICsxODAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUGxh
eWluZ1RvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgdmlydHVhbCB2b2lkIHNldFNob3VsZFBsYXlUb1BsYXliYWNrVGFyZ2V0KGJvb2wpIHsgfQog
CisgICAgdmlydHVhbCBjb25zdCBEb2N1bWVudCogaG9zdGluZ0RvY3VtZW50KCkgY29uc3QgPSAw
OworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+UGxhdGZvcm1NZWRpYVNlc3Npb25DbGllbnQo
KSB7IH0KIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAJKHJldmlzaW9uIDE4NjM4
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUo
VklERU8pCiAKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKKyNpbmNsdWRlICJEb2N1bWVudC5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uLmgiCkBAIC0zMjksNiArMzMwLDIyIEBAIHZvaWQg
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjphdWRpb08KICAgICB1cGRhdGVTZXNzaW9uU3Rh
dGUoKTsKIH0KIAordm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnN0b3BBbGxNZWRp
YVBsYXliYWNrRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIFZl
Y3RvcjxQbGF0Zm9ybU1lZGlhU2Vzc2lvbio+IHNlc3Npb25zID0gbV9zZXNzaW9uczsKKyAgICBm
b3IgKGF1dG8qIHNlc3Npb24gOiBzZXNzaW9ucykgeworICAgICAgICBpZiAoc2Vzc2lvbi0+Y2xp
ZW50KCkuaG9zdGluZ0RvY3VtZW50KCkgPT0gZG9jdW1lbnQpCisgICAgICAgICAgICBzZXNzaW9u
LT5wYXVzZVNlc3Npb24oKTsKKyAgICB9Cit9CisKK3ZvaWQgUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyOjpzdG9wQWxsTWVkaWFQbGF5YmFja0ZvclByb2Nlc3MoKQoreworICAgIFZlY3RvcjxQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbio+IHNlc3Npb25zID0gbV9zZXNzaW9uczsKKyAgICBmb3IgKGF1
dG8qIHNlc3Npb24gOiBzZXNzaW9ucykKKyAgICAgICAgc2Vzc2lvbi0+cGF1c2VTZXNzaW9uKCk7
Cit9CisKIH0KIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAkocmV2aXNpb24g
MTg2MzgwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7
CiBjbGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjsKIGNsYXNzIFJlbW90ZUNvbW1hbmRMaXN0ZW5l
cjsKQEAgLTU2LDYgKzU3LDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYXBw
bGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckJhY2tncm91bmQoKSBjb25zdDsKIAorICAgIHZvaWQg
c3RvcEFsbE1lZGlhUGxheWJhY2tGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCopOworICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc3RvcEFsbE1lZGlhUGxheWJhY2tGb3JQcm9jZXNzKCk7CisKICAg
ICBlbnVtIFNlc3Npb25SZXN0cmljdGlvbkZsYWdzIHsKICAgICAgICAgTm9SZXN0cmljdGlvbnMg
PSAwLAogICAgICAgICBDb25jdXJyZW50UGxheWJhY2tOb3RQZXJtaXR0ZWQgPSAxIDw8IDAsCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODYzODApCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNy0wNiAgQnJlbnQgRnVs
Z2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBFbnN1cmUgbWVkaWEgcGxheWJh
Y2sgaXMgc3RvcHBlZCBkdXJpbmcgcGFnZSBjbG9zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NTU0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8x
ODAzMzk0ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OmRpZENsb3NlKTogTWFrZSBzdXJlIHRvIGNsZWFuIHVwIGFueSBydW5uaW5nIG1lZGlhIHNl
c3Npb25zIHdoZW4KKyAgICAgICAgdGhlIHByb2Nlc3MgaXMgYmVpbmcgc2h1dCBkb3duLgorCiAy
MDE1LTA3LTA2ICBZb25nanVuIFpoYW5nICA8eW9uZ2p1bl96aGFuZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQWxsb3cgVUlEZWxlZ2F0ZSB0byBjdXN0b21pemUgbGluayBhY3Rpb25zIGluIHByZXZp
ZXcuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlz
aW9uIDE4NjM4MCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFn
ZUdyb3VwLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY2hlbWVSZWdp
c3RyeS5oPgpAQCAtNjU4LDYgKzY1OSw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoSVBD
OjpDb25uZWN0aW8KICAgICBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuc2V0RGlzYWJsZWQodHJ1
ZSk7CiAjZW5kaWYgICAgCiAKKyAgICAvLyBGSVhNRSgxNDY2NTcpOiBUaGlzIGV4cGxpY2l0IG1l
ZGlhIHN0b3AgY29tbWFuZCBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeQorICAgIFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnN0b3BBbGxNZWRpYVBsYXliYWNrRm9y
UHJvY2VzcygpOworCiAgICAgLy8gVGhlIFVJIHByb2Nlc3MgY2xvc2VkIHRoaXMgY29ubmVjdGlv
biwgc2h1dCBkb3duLgogICAgIHN0b3BSdW5Mb29wKCk7CiB9Cg==
</data>
<flag name="review"
          id="281321"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>