<?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>117667</bug_id>
          
          <creation_ts>2013-06-14 18:05:51 -0700</creation_ts>
          <short_desc>Expose a getMediaType method in WebKit</short_desc>
          <delta_ts>2013-06-18 18:02:36 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ruth Fong">ruthiecftg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>bdakin</cc>
    
    <cc>beidson</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kadam</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>ruthiecftg</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zarvai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>900719</commentid>
    <comment_count>0</comment_count>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-14 18:05:51 -0700</bug_when>
    <thetext>Provide hooks in WebKit to detect whether a media element is a &lt;video&gt; element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900721</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-06-14 18:08:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/14163408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900722</commentid>
    <comment_count>2</comment_count>
      <attachid>204752</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-14 18:24:23 -0700</bug_when>
    <thetext>Created attachment 204752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901120</commentid>
    <comment_count>3</comment_count>
      <attachid>204752</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-06-17 11:28:00 -0700</bug_when>
    <thetext>Comment on attachment 204752
Patch

Style seems fine here, but I&apos;m not convinced this API is the way to go.

Asking a WKBundleHitTestResult if the media is video for a non-media element is kind of weird.  Of course it&apos;s not video - It&apos;s a div, or a img!

The client would have to first determine that the hit test result represents a media element by getting the media src URL (which is kind of a weird way to determine that...) and then use this API.

The new API should probably be a general purpose &quot;what kind of media element is this?&quot; call.  To start with it could return:
kWKMediaTypeAudio
kWKMediaTypeVideo
kWKMediaTypeNone

This removes some burden on the client and is also expandable in the future when we add &lt;smell&gt;, &lt;taste&gt;, or &lt;touch&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901151</commentid>
    <comment_count>4</comment_count>
      <attachid>204851</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-17 13:24:32 -0700</bug_when>
    <thetext>Created attachment 204851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901168</commentid>
    <comment_count>5</comment_count>
      <attachid>204851</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-06-17 14:35:29 -0700</bug_when>
    <thetext>Comment on attachment 204851
Patch

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

Great first swipe.

My feedback should be pretty straightforward to address.

How did you test this?  I have a *vague* concern that we&apos;re getting at the wrong Node from the hit test result, but am not sure.

&gt; Source/WebCore/ChangeLog:4
&gt; +        Expose the mediaIsVideo method in WebKit
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=117667

s/in WebKit/to WebKit/

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests added.

Generally isn&apos;t necessary with patches that obviously have no behavior change in WebCore, especially when they don&apos;t even touch actual source files in WebCore.

&gt; Source/WebKit2/ChangeLog:4
&gt; +        Expose the mediaIsVideo method in WebKit
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=117667

The WK2 API being exposed is no longer mediaIsVideo.

&gt; Source/WebKit2/ChangeLog:10
&gt; +        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
&gt; +        (WKBundleHitTestResultGetMediaType): Added to return what type, if any,
&gt; +        a media element is.

The WK* functions that implement the API are generally meant to be as thin and simple as possible.  Usually they just call directly to their impl class.

So this function should just call through...

&gt; Source/WebKit2/ChangeLog:16
&gt; +        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
&gt; +        (WebKit::InjectedBundleHitTestResult::mediaIsVideo): Added to hook into WebCore
&gt; +        method HitTestResult::mediaIsVideo().

...to this function, which should be InjectedBundleHitTestResult::getMediaType

Also please adjust the descriptions as necessary.

&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:106
&gt; +bool InjectedBundleHitTestResult::mediaIsVideo() const

As mentioned above, this should be renamed and most the work moved here.

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:85
&gt; +WKBundleHitTestResultMediaType WKBundleHitTestResultGetMediaType(WKBundleHitTestResultRef hitTestResultRef)

As mentioned above, this should just be a thin layer that calls directly to InjectedBundleHitTest

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:92
&gt; +    WebCore::Node* node = toImpl(hitTestResultRef)-&gt;coreHitTestResult().innerNonSharedNode();
&gt; +    if (node-&gt;nodeType() != Node::ELEMENT_NODE)
&gt; +        return kWKBundleHitTestResultMediaTypeNone;
&gt; +    
&gt; +    if (!((Element*)node)-&gt;isMediaElement())
&gt; +        return kWKBundleHitTestResultMediaTypeNone;

After we banged this out, I recalled there&apos;s a convenience method in WebCore for casting Node-&gt;Element

See &quot;toElement()&quot; in WebCore/Element.h.   Use that instead.  :)

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:97
&gt; +    if (toImpl(hitTestResultRef)-&gt;mediaIsVideo())
&gt; +        return kWKBundleHitTestResultMediaTypeVideo;
&gt; +    
&gt; +    return kWKBundleHitTestResultMediaTypeAudio;

This is fine.

An alternate way to write it would be:

return toImpl(hitTestResultRef)-&gt;mediaIsVideo() ? kWKBundleHitTestResultMediaTypeVideo : kWKBundleHitTestResultMediaTypeAudio;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901179</commentid>
    <comment_count>6</comment_count>
      <attachid>204859</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-17 15:11:55 -0700</bug_when>
    <thetext>Created attachment 204859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901180</commentid>
    <comment_count>7</comment_count>
      <attachid>204860</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-17 15:14:14 -0700</bug_when>
    <thetext>Created attachment 204860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901188</commentid>
    <comment_count>8</comment_count>
      <attachid>204860</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-06-17 15:53:50 -0700</bug_when>
    <thetext>Comment on attachment 204860
Patch

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:111
&gt; +    if (node-&gt;nodeType() != Node::ELEMENT_NODE)
&gt; +        return kWKBundleHitTestResultMediaTypeNone;

This should probably be if (node-&gt;isElementNode()) instead.  Sorry for not catching that earlier.

&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:32
&gt;  #include &lt;WebCore/HitTestResult.h&gt;
&gt; +#include &lt;WebKit2/WKBundleHitTestResult.h&gt;
&gt;  #include &lt;wtf/Forward.h&gt;

Seeing this in the flesh set off a red flag - We shouldn&apos;t be directly including API headers in implementation files when we can avoid it.

I&apos;ve suggested to Ruth on IRC a path forward with an API set of enums, an impl set of enums, and API casting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901201</commentid>
    <comment_count>9</comment_count>
      <attachid>204866</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-17 16:47:58 -0700</bug_when>
    <thetext>Created attachment 204866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901203</commentid>
    <comment_count>10</comment_count>
      <attachid>204866</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-17 16:56:03 -0700</bug_when>
    <thetext>Comment on attachment 204866
Patch

Attachment 204866 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/921395</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901204</commentid>
    <comment_count>11</comment_count>
      <attachid>204867</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-17 16:56:34 -0700</bug_when>
    <thetext>Created attachment 204867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901207</commentid>
    <comment_count>12</comment_count>
      <attachid>204867</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-17 17:01:34 -0700</bug_when>
    <thetext>Comment on attachment 204867
Patch

Attachment 204867 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/884135</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901214</commentid>
    <comment_count>13</comment_count>
      <attachid>204869</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-17 17:21:12 -0700</bug_when>
    <thetext>Created attachment 204869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901218</commentid>
    <comment_count>14</comment_count>
      <attachid>204869</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-17 17:29:05 -0700</bug_when>
    <thetext>Comment on attachment 204869
Patch

Attachment 204869 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/950175</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901464</commentid>
    <comment_count>15</comment_count>
      <attachid>204869</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-06-18 11:45:34 -0700</bug_when>
    <thetext>Comment on attachment 204869
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKAPICast.h:176
&gt; +    
&gt; +    return kWKBundleHitTestResultMediaTypeNone;

ASSERT_NOT_REACHED() here also, right?

&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:32
&gt; +#include &lt;WebKit2/InjectedBundleHitTestResultMediaType.h&gt;
&gt; +#include &lt;WebKit2/WKBundleHitTestResult.h&gt;

These headers are local to the WK2 project, so it should just be #include &quot;InjectedBundleHitTestResultMediaType.h&quot; under the APIObject include.

And the WKBundleHitTestResult.h include isn&apos;t needed at all - that&apos;s what we&apos;re avoiding with all these casts and such!

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:84
&gt; +    return toImpl(hitTestResultRef)-&gt;getMediaType();

This needs to be:
return toAPI(toImpl(hitTestResultRef)-&gt;getMediaType()) to perform the InjectedBundle* -&gt; WKBundle* cast</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901475</commentid>
    <comment_count>16</comment_count>
      <attachid>204869</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-18 12:33:51 -0700</bug_when>
    <thetext>Comment on attachment 204869
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/WKAPICast.h:176
&gt;&gt; +    return kWKBundleHitTestResultMediaTypeNone;
&gt; 
&gt; ASSERT_NOT_REACHED() here also, right?

None of the other toAPI methods include the ASSERT_NOT_REACHED() (not sure why)

&gt;&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:32
&gt;&gt; +#include &lt;WebKit2/WKBundleHitTestResult.h&gt;
&gt; 
&gt; These headers are local to the WK2 project, so it should just be #include &quot;InjectedBundleHitTestResultMediaType.h&quot; under the APIObject include.
&gt; 
&gt; And the WKBundleHitTestResult.h include isn&apos;t needed at all - that&apos;s what we&apos;re avoiding with all these casts and such!

Got it.

&gt;&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:84
&gt;&gt; +    return toImpl(hitTestResultRef)-&gt;getMediaType();
&gt; 
&gt; This needs to be:
&gt; return toAPI(toImpl(hitTestResultRef)-&gt;getMediaType()) to perform the InjectedBundle* -&gt; WKBundle* cast

Got it (it seemed to work without the cast...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901478</commentid>
    <comment_count>17</comment_count>
      <attachid>204931</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-18 12:39:09 -0700</bug_when>
    <thetext>Created attachment 204931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901485</commentid>
    <comment_count>18</comment_count>
      <attachid>204934</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-18 12:47:31 -0700</bug_when>
    <thetext>Created attachment 204934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901490</commentid>
    <comment_count>19</comment_count>
      <attachid>204934</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-18 13:06:39 -0700</bug_when>
    <thetext>Comment on attachment 204934
Patch

Attachment 204934 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/948047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901530</commentid>
    <comment_count>20</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2013-06-18 14:40:35 -0700</bug_when>
    <thetext>Committed Ruth&apos;s patch: http://trac.webkit.org/changeset/151699</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901533</commentid>
    <comment_count>21</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-06-18 14:43:05 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 204934 [details])
&gt; Attachment 204934 [details] did not pass efl-wk2-ews (efl-wk2):
&gt; Output: http://webkit-queues.appspot.com/results/948047

This build failure is bizarre.  It&apos;s in WebKitTestRunner and TestWebKitAPI with regards to WKAPICast.h.

In those failures, WKAPICast.h includes other WK2 internal headers.  For the other ~6 it includes, they are found without issue.  For the newly added header, it is not found.

There&apos;s no build system file we can find that includes those other headers.  It doesn&apos;t seem like we missed a build system.

Our only theory is that EFL copies all the Shared/ headers (and therefore gets those other ones) but doesn&apos;t copy the InjectedBundle/ headers.

If that&apos;s what&apos;s going on, that&apos;s a failure with the EFL build system, as this new header is in the right place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901604</commentid>
    <comment_count>22</comment_count>
      <attachid>204934</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-06-18 17:41:31 -0700</bug_when>
    <thetext>Comment on attachment 204934
Patch

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

&gt; Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:56
&gt; +    BundleHitTestResultMediaType getMediaType() const;

WebKit coding style says this should be named mediaType(), not getMediaType().

&gt; Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:55
&gt; +WK_EXPORT WKBundleHitTestResultMediaType WKBundleHitTestResultGetMediaType(WKBundleHitTestResultRef hitTestResult);

Here it is fine to use the name WKBundleHitTestResultGetMediaType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901605</commentid>
    <comment_count>23</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-06-18 17:42:37 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Committed Ruth&apos;s patch: http://trac.webkit.org/changeset/151699

It broke the !ENABLE(VIDEO) platforms because of a missing ifdef guard:
/home/webkitbuildbot/slaves/armQt5Release-buildonly/buildslave/qt5-linux-armv7-release/build/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: In member function &apos;WebKit::BundleHitTestResultMediaType WebKit::InjectedBundleHitTestResult::getMediaType() const&apos;:
/home/webkitbuildbot/slaves/armQt5Release-buildonly/buildslave/qt5-linux-armv7-release/build/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:113:27: error: &apos;class WebCore::Element&apos; has no member named &apos;isMediaElement&apos;


Could you check and fix it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901606</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-06-18 17:43:38 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Committed Ruth&apos;s patch: http://trac.webkit.org/changeset/151699

The patch landed, so can we close the bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901611</commentid>
    <comment_count>25</comment_count>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-18 18:02:36 -0700</bug_when>
    <thetext>Closed this bug.

Bug 117765 is now tracking the revisions to this patch: namely the renaming of the getMediaType functions and fixing the patch for !ENABLE(VIDEO) platforms.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204752</attachid>
            <date>2013-06-14 18:24:23 -0700</date>
            <delta_ts>2013-06-17 13:24:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130614182241.patch</filename>
            <type>text/plain</type>
            <size>5878</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTYxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA2LTE0ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSB0aGUgbWVkaWFJc1Zp
ZGVvIG1ldGhvZCBpbiBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNzY2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOiBVcGRhdGVkIHRvIGV4cG9zZSBIaXRUZXN0UmVzdWx0OjptZWRpYUlzVmlkZW8gbWV0aG9k
CisgICAgICAgIGFuZCBhbHBoYWJldGl6ZSB0aGUgbGlzdCBvZiBleHBvc2VkIG1ldGhvZHMuCisK
IDIwMTMtMDYtMTQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBU
aHJlYWRlZCBIVE1MIHBhcnNlciBjYW4gQVNTRVJUIGluIHNvbWUgc2l0dWF0aW9ucwpJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcwLDE2ICsxMzcwLDE3IEBAIF9fWk5L
N1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMGlzU2VsZWN0ZWQKIF9fWk5LN1dlYkNvcmUxM0hpdFRl
c3RSZXN1bHQxMXRhcmdldEZyYW1lRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMXRl
eHRDb250ZW50RXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMmlubmVyRWxlbWVudEV2
CitfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTJtZWRpYUlzVmlkZW9FdgogX19aTks3V2Vi
Q29yZTEzSGl0VGVzdFJlc3VsdDE0YWJzb2x1dGVQREZVUkxFdgogX19aTks3V2ViQ29yZTEzSGl0
VGVzdFJlc3VsdDE0aW5uZXJOb2RlRnJhbWVFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3Vs
dDE1YWJzb2x1dGVMaW5rVVJMRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNXNwZWxs
aW5nVG9vbFRpcEVSTlNfMTNUZXh0RGlyZWN0aW9uRQogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJl
c3VsdDE2YWJzb2x1dGVJbWFnZVVSTEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZh
YnNvbHV0ZU1lZGlhVVJMRXYKLV9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOW1lZGlhSXNJ
bkZ1bGxzY3JlZW5FdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE2YWx0RGlzcGxheVN0
cmluZ0V2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTdpc0NvbnRlbnRFZGl0YWJsZUV2
CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTh0aXRsZURpc3BsYXlTdHJpbmdFdgorX19a
Tks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdX
ZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTlyZWN0QmFzZWRUZXN0UmVzdWx0RXYKIF9fWk5LN1dlYkNv
cmUxM0hpdFRlc3RSZXN1bHQ1aW1hZ2VFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDV0
aXRsZUVSTlNfMTNUZXh0RGlyZWN0aW9uRQpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxNjEx
KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjIgQEAKKzIwMTMtMDYtMTQgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAg
ICAgICAgRXhwb3NlIHRoZSBtZWRpYUlzVmlkZW8gbWV0aG9kIGluIFdlYktpdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjY3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXS0J1
bmRsZUhpdFRlc3RSZXN1bHRNZWRpYUlzVmlkZW8pOiBBZGRlZCB0byBob29rIGludG8gbmV3IGFk
ZGVkIAorICAgICAgICBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbygp
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhp
dFRlc3RSZXN1bHQuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0OjptZWRpYUlzVmlkZW8pOiBBZGRlZCB0byBob29rIGludG8gV2Vi
Q29yZQorICAgICAgICBtZXRob2QgSGl0VGVzdFJlc3VsdDo6bWVkaWFJc1ZpZGVvKCkuCisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJl
c3VsdC5oOgorCiAyMDEzLTA2LTE0ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+
CiAKICAgICAgICAgV0tQYWdlRmluZFN0cmluZ01hdGNoZXMgaWdub3JlcyB0aGUga1dLRmluZE9w
dGlvbnNCYWNrd2FyZHMgb3B0aW9uLgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNiArMTAzLDExIEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0OjptZWRpYUkKICAgICByZXR1cm4gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJ
bkZ1bGxzY3JlZW4oKTsKIH0KIAorYm9vbCBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Om1l
ZGlhSXNWaWRlbygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faGl0VGVzdFJlc3VsdC5tZWRpYUlz
VmlkZW8oKTsKK30KKwogU3RyaW5nIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6bGlua0xh
YmVsKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9oaXRUZXN0UmVzdWx0LnRleHRDb250ZW50KCk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHJldmlz
aW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUy
LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBhYnNvbHV0ZUxpbmtVUkwoKSBjb25zdDsKICAgICBT
dHJpbmcgYWJzb2x1dGVNZWRpYVVSTCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFJc0luRnVsbHNj
cmVlbigpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJc1ZpZGVvKCkgY29uc3Q7CiAKICAgICBTdHJp
bmcgbGlua0xhYmVsKCkgY29uc3Q7CiAgICAgU3RyaW5nIGxpbmtUaXRsZSgpIGNvbnN0OwpJbmRl
eDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNp
b24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3
OSwxMSBAQCBib29sIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhSXNJbkZ1bGxzCiAgICAgcmV0
dXJuIHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+bWVkaWFJc0luRnVsbHNjcmVlbigpOwogfQog
Citib29sIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhSXNWaWRlbyhXS0J1bmRsZUhpdFRlc3RS
ZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKGhpdFRlc3RS
ZXN1bHRSZWYpLT5tZWRpYUlzVmlkZW8oKTsKK30KKwogV0tSZWN0IFdLQnVuZGxlSGl0VGVzdFJl
c3VsdEdldEltYWdlUmVjdChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJl
ZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5pbWFnZVJl
Y3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJ
KHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1
LDYgKzQ1LDcgQEAgV0tfRVhQT1JUIFdLVVJMUmVmIFdLQnVuZGxlSGl0VGVzdFJlc3VsdAogV0tf
RVhQT1JUIFdLVVJMUmVmIFdLQnVuZGxlSGl0VGVzdFJlc3VsdENvcHlBYnNvbHV0ZUxpbmtVUkwo
V0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIFdLVVJM
UmVmIFdLQnVuZGxlSGl0VGVzdFJlc3VsdENvcHlBYnNvbHV0ZU1lZGlhVVJMKFdLQnVuZGxlSGl0
VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSGl0
VGVzdFJlc3VsdE1lZGlhSXNJbkZ1bGxzY3JlZW4oV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhp
dFRlc3RSZXN1bHQpOworV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFJ
c1ZpZGVvKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIAogV0tfRVhQ
T1JUIFdLUmVjdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRJbWFnZVJlY3QoV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0R2V0SXNTZWxlY3RlZChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJl
c3VsdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204851</attachid>
            <date>2013-06-17 13:24:32 -0700</date>
            <delta_ts>2013-06-17 15:11:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130617132256.patch</filename>
            <type>text/plain</type>
            <size>7036</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA2LTE3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSB0aGUgbWVkaWFJc1Zp
ZGVvIG1ldGhvZCBpbiBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNzY2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOiBVcGRhdGVkIHRvIGV4cG9zZSBIaXRUZXN0UmVzdWx0OjptZWRpYUlzVmlkZW8gbWV0aG9k
CisgICAgICAgIGFuZCBhbHBoYWJldGl6ZSB0aGUgbGlzdCBvZiBleHBvc2VkIG1ldGhvZHMuCisK
IDIwMTMtMDYtMTcgIElnb3IgT2xpdmVpcmEgIDxpZ29yLm9Ac2lzYS5zYW1zdW5nLmNvbT4KIAog
ICAgICAgICBbQ1NTIFJlZ2lvbnNdIDo6YmVmb3JlIGFuZCA6OmFmdGVyIHBzZXVkby1lbGVtZW50
cyBhcmUgbm90IGRpc3BsYXllZCBmb3IgcmVnaW9ucwpJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4J
KHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzcwLDE2ICsxMzcwLDE3IEBAIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RS
ZXN1bHQxMGlzU2VsZWN0ZWQKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMXRhcmdldEZy
YW1lRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMXRleHRDb250ZW50RXYKIF9fWk5L
N1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMmlubmVyRWxlbWVudEV2CitfX1pOSzdXZWJDb3JlMTNI
aXRUZXN0UmVzdWx0MTJtZWRpYUlzVmlkZW9FdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3Vs
dDE0YWJzb2x1dGVQREZVUkxFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE0aW5uZXJO
b2RlRnJhbWVFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE1YWJzb2x1dGVMaW5rVVJM
RXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNXNwZWxsaW5nVG9vbFRpcEVSTlNfMTNU
ZXh0RGlyZWN0aW9uRQogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE2YWJzb2x1dGVJbWFn
ZVVSTEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZhYnNvbHV0ZU1lZGlhVVJMRXYK
LV9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOW1lZGlhSXNJbkZ1bGxzY3JlZW5FdgogX19a
Tks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE2YWx0RGlzcGxheVN0cmluZ0V2CiBfX1pOSzdXZWJD
b3JlMTNIaXRUZXN0UmVzdWx0MTdpc0NvbnRlbnRFZGl0YWJsZUV2CiBfX1pOSzdXZWJDb3JlMTNI
aXRUZXN0UmVzdWx0MTh0aXRsZURpc3BsYXlTdHJpbmdFdgorX19aTks3V2ViQ29yZTEzSGl0VGVz
dFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVz
dWx0MTlyZWN0QmFzZWRUZXN0UmVzdWx0RXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQ1
aW1hZ2VFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDV0aXRsZUVSTlNfMTNUZXh0RGly
ZWN0aW9uRQpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxNjUxKQorKysgU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTMtMDYtMTcg
IFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIHRoZSBt
ZWRpYUlzVmlkZW8gbWV0aG9kIGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXS0J1bmRsZUhpdFRlc3RSZXN1bHRH
ZXRNZWRpYVR5cGUpOiBBZGRlZCB0byByZXR1cm4gd2hhdCB0eXBlLCBpZiBhbnksCisgICAgICAg
IGEgbWVkaWEgZWxlbWVudCBpcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6bWVkaWFJc1ZpZGVvKTogQWRk
ZWQgdG8gaG9vayBpbnRvIFdlYkNvcmUKKyAgICAgICAgbWV0aG9kIEhpdFRlc3RSZXN1bHQ6Om1l
ZGlhSXNWaWRlbygpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaDoKKwogMjAxMy0wNi0xNyAgTWFyayBSb3dlICA8bXJv
d2VAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzE0NTAxND4gQWxsb3cg
Q29yZUlQQyBtZXNzYWdlcyB0byB0cmFuc21pdCBpbXBvcnRhbmNlIGJvb3N0cwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gMTUx
NTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNiArMTAzLDEx
IEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjptZWRpYUkKICAgICByZXR1cm4g
bV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJbkZ1bGxzY3JlZW4oKTsKIH0KIAorYm9vbCBJbmplY3Rl
ZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1faGl0VGVzdFJlc3VsdC5tZWRpYUlzVmlkZW8oKTsKK30KKwogU3RyaW5nIEluamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdDo6bGlua0xhYmVsKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9oaXRU
ZXN0UmVzdWx0LnRleHRDb250ZW50KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIFN0cmluZyBhYnNvbHV0
ZUxpbmtVUkwoKSBjb25zdDsKICAgICBTdHJpbmcgYWJzb2x1dGVNZWRpYVVSTCgpIGNvbnN0Owog
ICAgIGJvb2wgbWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJc1Zp
ZGVvKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgbGlua0xhYmVsKCkgY29uc3Q7CiAgICAgU3RyaW5n
IGxpbmtUaXRsZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVI
aXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCwxMCBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxl
Tm9kZUhhbmRsZS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldLQnVuZGxl
QVBJQ2FzdC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvRWxlbWVudC5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvTm9kZS5oPgogCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKIFdLVHlwZUlEIFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldFR5cGVJRCgpCkBAIC03
OSw2ICs4MiwyMSBAQCBib29sIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhSXNJbkZ1bGxzCiAg
ICAgcmV0dXJuIHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+bWVkaWFJc0luRnVsbHNjcmVlbigp
OwogfQogCitXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgV0tCdW5kbGVIaXRUZXN0UmVz
dWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0UmVm
KQoreworICAgIFdlYkNvcmU6Ok5vZGUqIG5vZGUgPSB0b0ltcGwoaGl0VGVzdFJlc3VsdFJlZikt
PmNvcmVIaXRUZXN0UmVzdWx0KCkuaW5uZXJOb25TaGFyZWROb2RlKCk7CisgICAgaWYgKG5vZGUt
Pm5vZGVUeXBlKCkgIT0gTm9kZTo6RUxFTUVOVF9OT0RFKQorICAgICAgICByZXR1cm4ga1dLQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU7CisgICAgCisgICAgaWYgKCEoKEVsZW1lbnQq
KW5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQorICAgICAgICByZXR1cm4ga1dLQnVuZGxlSGl0VGVz
dFJlc3VsdE1lZGlhVHlwZU5vbmU7CisgICAgCisgICAgaWYgKHRvSW1wbChoaXRUZXN0UmVzdWx0
UmVmKS0+bWVkaWFJc1ZpZGVvKCkpCisgICAgICAgIHJldHVybiBrV0tCdW5kbGVIaXRUZXN0UmVz
dWx0TWVkaWFUeXBlVmlkZW87CisgICAgCisgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYVR5cGVBdWRpbzsKK30KKwogV0tSZWN0IFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldElt
YWdlUmVjdChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKIHsKICAg
ICByZXR1cm4gdG9BUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5pbWFnZVJlY3QoKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9u
IDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDEz
IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCitlbnVtIHsKKyAgICBrV0tCdW5kbGVIaXRUZXN0
UmVzdWx0TWVkaWFUeXBlTm9uZSwKKyAgICBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBl
QXVkaW8sCisgICAga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZVZpZGVvCit9OwordHlw
ZWRlZiB1aW50MzJfdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGU7CisKIFdLX0VYUE9S
VCBXS1R5cGVJRCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRUeXBlSUQoKTsKIAogV0tfRVhQT1JU
IFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5Tm9kZUhhbmRs
ZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CkBAIC00NSw2ICs1Miw3
IEBAIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHQKIFdLX0VYUE9SVCBX
S1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVMaW5rVVJMKFdLQnVuZGxl
SGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1
bmRsZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVNZWRpYVVSTChXS0J1bmRsZUhpdFRlc3RSZXN1
bHRSZWYgaGl0VGVzdFJlc3VsdCk7CiBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYUlzSW5GdWxsc2NyZWVuKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVz
dWx0KTsKK1dLX0VYUE9SVCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgV0tCdW5kbGVI
aXRUZXN0UmVzdWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0
UmVzdWx0KTsKIAogV0tfRVhQT1JUIFdLUmVjdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRJbWFn
ZVJlY3QoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JU
IGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0SXNTZWxlY3RlZChXS0J1bmRsZUhpdFRlc3RS
ZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204859</attachid>
            <date>2013-06-17 15:11:55 -0700</date>
            <delta_ts>2013-06-17 15:14:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130617151019.patch</filename>
            <type>text/plain</type>
            <size>7754</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTE3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlhVHlw
ZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBVcGRhdGVkIHRvIGFkZCBhIHN5bWJvbCBmb3Ig
CisgICAgICAgIEhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyBtZXRob2QKKyAgICAgICAgYW5k
IGFscGhhYmV0aXplIHRoZSBsaXN0IG9mIGV4cG9zZWQgbWV0aG9kcy4KKwogMjAxMy0wNi0xNyAg
UnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBJ
bXBvcnRhbnQgY29udHJvbHMgYXJlIG1pc3NpbmcgZnJvbSA8dmlkZW8+IGVsZW1lbnQgVUksIHdo
ZW4gY29tcGFyZWQgdG8gUXVpY2tUaW1lCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNp
b24gMTUxNTc0KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29w
eSkKQEAgLTEzNzAsMTYgKzEzNzAsMTcgQEAgX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDEw
aXNTZWxlY3RlZAogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGFyZ2V0RnJhbWVFdgog
X19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGV4dENvbnRlbnRFdgogX19aTks3V2ViQ29y
ZTEzSGl0VGVzdFJlc3VsdDEyaW5uZXJFbGVtZW50RXYKK19fWk5LN1dlYkNvcmUxM0hpdFRlc3RS
ZXN1bHQxMm1lZGlhSXNWaWRlb0V2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRhYnNv
bHV0ZVBERlVSTEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRpbm5lck5vZGVGcmFt
ZUV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTVhYnNvbHV0ZUxpbmtVUkxFdgogX19a
Tks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE1c3BlbGxpbmdUb29sVGlwRVJOU18xM1RleHREaXJl
Y3Rpb25FCiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZhYnNvbHV0ZUltYWdlVVJMRXYK
IF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFic29sdXRlTWVkaWFVUkxFdgotX19aTks3
V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdXZWJD
b3JlMTNIaXRUZXN0UmVzdWx0MTZhbHREaXNwbGF5U3RyaW5nRXYKIF9fWk5LN1dlYkNvcmUxM0hp
dFRlc3RSZXN1bHQxN2lzQ29udGVudEVkaXRhYmxlRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RS
ZXN1bHQxOHRpdGxlRGlzcGxheVN0cmluZ0V2CitfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0
MTltZWRpYUlzSW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOXJl
Y3RCYXNlZFRlc3RSZXN1bHRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDVpbWFnZUV2
CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0NXRpdGxlRVJOU18xM1RleHREaXJlY3Rpb25F
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTE2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzOSBAQAorMjAxMy0wNi0xNyAgUnV0aCBG
b25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KKworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV0tCdW5kbGVIaXRUZXN0UmVzdWx0
R2V0TWVkaWFUeXBlKTogQWRkZWQgdG8gcmV0dXJuIHdoYXQgdHlwZSwgaWYgYW55LAorICAgICAg
ICBhIG1lZGlhIGVsZW1lbnQgaXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oOgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyk6IEFk
ZGVkIHRvIGhvb2sgaW50byBXZWJDb3JlCisgICAgICAgIG1ldGhvZCBIaXRUZXN0UmVzdWx0Ojpt
ZWRpYUlzVmlkZW8oKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0Lmg6CisKKzIwMTMtMDYtMTcgIFJ1dGggRm9uZyAgPHJ1
dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgRXhwb3NlIGEgZ2V0TWVkaWFUeXBlIG1ldGhv
ZCBpbiBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExNzY2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1
bHQuY3BwOgorICAgICAgICAoV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0TWVkaWFUeXBlKTogRXhw
b3NlcyB0aGUgbWV0aG9kIGdldE1lZGlhVHlwZSBhbmQKKyAgICAgICAgaG9va3MgaW50byBJbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmdldE1lZGlhVHlwZS4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0Lmg6CisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJl
c3VsdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6
Z2V0TWVkaWFUeXBlKTogQWRkZWQgdG8gcmV0dXJuIAorICAgICAgICB3aGF0IHR5cGUsIGlmIGFu
eSwgYSBtZWRpYSBlbGVtZW50IGlzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaDoKKwogMjAxMy0wNi0xNyAgUnV0aCBG
b25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KIAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiAxNTE1NzQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJl
c3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJXZWJG
cmFtZS5oIgogI2luY2x1ZGUgIldlYkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9Eb2N1bWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRWxlbWVudC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KQEAgLTEwMyw2ICsxMDQsMTggQEAgYm9vbCBJbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Om1lZGlhSQogICAgIHJldHVybiBtX2hpdFRlc3RSZXN1
bHQubWVkaWFJc0luRnVsbHNjcmVlbigpOwogfQogCitXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGUgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpnZXRNZWRpYVR5cGUoKSBjb25zdAor
eworICAgIFdlYkNvcmU6Ok5vZGUqIG5vZGUgPSBtX2hpdFRlc3RSZXN1bHQuaW5uZXJOb25TaGFy
ZWROb2RlKCk7CisgICAgaWYgKG5vZGUtPm5vZGVUeXBlKCkgIT0gTm9kZTo6RUxFTUVOVF9OT0RF
KQorICAgICAgICByZXR1cm4ga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU7Cisg
ICAgCisgICAgaWYgKCF0b0VsZW1lbnQobm9kZSktPmlzTWVkaWFFbGVtZW50KCkpCisgICAgICAg
IHJldHVybiBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICAKKyAgICBy
ZXR1cm4gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNWaWRlbygpID8ga1dLQnVuZGxlSGl0VGVzdFJl
c3VsdE1lZGlhVHlwZVZpZGVvIDoga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZUF1ZGlv
OyAgICAKK30KKwogU3RyaW5nIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6bGlua0xhYmVs
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9oaXRUZXN0UmVzdWx0LnRleHRDb250ZW50KCk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9u
IDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcg
QEAKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvSGl0VGVzdFJl
c3VsdC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVIaXRUZXN0UmVzdWx0Lmg+CiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUyLDYgKzUzLDcgQEAgcHVibGljOgogICAgIFN0cmluZyBh
YnNvbHV0ZUxpbmtVUkwoKSBjb25zdDsKICAgICBTdHJpbmcgYWJzb2x1dGVNZWRpYVVSTCgpIGNv
bnN0OwogICAgIGJvb2wgbWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0OworICAgIFdLQnVuZGxl
SGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBnZXRNZWRpYVR5cGUoKSBjb25zdDsKIAogICAgIFN0cmlu
ZyBsaW5rTGFiZWwoKSBjb25zdDsKICAgICBTdHJpbmcgbGlua1RpdGxlKCkgY29uc3Q7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
SGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lv
biAxNTE1NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5
LDExIEBAIGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFJc0luRnVsbHMKICAgICByZXR1
cm4gdG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5tZWRpYUlzSW5GdWxsc2NyZWVuKCk7CiB9CiAK
K1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRN
ZWRpYVR5cGUoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHRSZWYpCit7Cisg
ICAgcmV0dXJuIHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+Z2V0TWVkaWFUeXBlKCk7Cit9CisK
IFdLUmVjdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRJbWFnZVJlY3QoV0tCdW5kbGVIaXRUZXN0
UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHRSZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbCho
aXRUZXN0UmVzdWx0UmVmKS0+aW1hZ2VSZWN0KCkpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3Vs
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMywxMyBAQAogZXh0ZXJuICJDIiB7CiAjZW5k
aWYKIAorZW51bSB7CisgICAga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmUsCisg
ICAga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZUF1ZGlvLAorICAgIGtXS0J1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbworfTsKK3R5cGVkZWYgdWludDMyX3QgV0tCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFUeXBlOworCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0R2V0VHlwZUlEKCk7CiAKIFdLX0VYUE9SVCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYg
V0tCdW5kbGVIaXRUZXN0UmVzdWx0Q29weU5vZGVIYW5kbGUoV0tCdW5kbGVIaXRUZXN0UmVzdWx0
UmVmIGhpdFRlc3RSZXN1bHQpOwpAQCAtNDUsNiArNTIsNyBAQCBXS19FWFBPUlQgV0tVUkxSZWYg
V0tCdW5kbGVIaXRUZXN0UmVzdWx0CiBXS19FWFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVIaXRUZXN0
UmVzdWx0Q29weUFic29sdXRlTGlua1VSTChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVz
dFJlc3VsdCk7CiBXS19FWFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVIaXRUZXN0UmVzdWx0Q29weUFi
c29sdXRlTWVkaWFVUkwoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwog
V0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFJc0luRnVsbHNjcmVlbihX
S0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CitXS19FWFBPUlQgV0tCdW5k
bGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldE1lZGlhVHlw
ZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CiAKIFdLX0VYUE9SVCBX
S1JlY3QgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0SW1hZ2VSZWN0KFdLQnVuZGxlSGl0VGVzdFJl
c3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSGl0VGVzdFJl
c3VsdEdldElzU2VsZWN0ZWQoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204860</attachid>
            <date>2013-06-17 15:14:14 -0700</date>
            <delta_ts>2013-06-17 16:47:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130617151238.patch</filename>
            <type>text/plain</type>
            <size>7237</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTE3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlhVHlw
ZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBVcGRhdGVkIHRvIGFkZCBhIHN5bWJvbCBmb3Ig
CisgICAgICAgIEhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyBtZXRob2QKKyAgICAgICAgYW5k
IGFscGhhYmV0aXplIHRoZSBsaXN0IG9mIGV4cG9zZWQgbWV0aG9kcy4KKwogMjAxMy0wNi0xNyAg
UnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBJ
bXBvcnRhbnQgY29udHJvbHMgYXJlIG1pc3NpbmcgZnJvbSA8dmlkZW8+IGVsZW1lbnQgVUksIHdo
ZW4gY29tcGFyZWQgdG8gUXVpY2tUaW1lCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNp
b24gMTUxNTc0KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29w
eSkKQEAgLTEzNzAsMTYgKzEzNzAsMTcgQEAgX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDEw
aXNTZWxlY3RlZAogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGFyZ2V0RnJhbWVFdgog
X19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGV4dENvbnRlbnRFdgogX19aTks3V2ViQ29y
ZTEzSGl0VGVzdFJlc3VsdDEyaW5uZXJFbGVtZW50RXYKK19fWk5LN1dlYkNvcmUxM0hpdFRlc3RS
ZXN1bHQxMm1lZGlhSXNWaWRlb0V2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRhYnNv
bHV0ZVBERlVSTEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRpbm5lck5vZGVGcmFt
ZUV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTVhYnNvbHV0ZUxpbmtVUkxFdgogX19a
Tks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE1c3BlbGxpbmdUb29sVGlwRVJOU18xM1RleHREaXJl
Y3Rpb25FCiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZhYnNvbHV0ZUltYWdlVVJMRXYK
IF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFic29sdXRlTWVkaWFVUkxFdgotX19aTks3
V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdXZWJD
b3JlMTNIaXRUZXN0UmVzdWx0MTZhbHREaXNwbGF5U3RyaW5nRXYKIF9fWk5LN1dlYkNvcmUxM0hp
dFRlc3RSZXN1bHQxN2lzQ29udGVudEVkaXRhYmxlRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RS
ZXN1bHQxOHRpdGxlRGlzcGxheVN0cmluZ0V2CitfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0
MTltZWRpYUlzSW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOXJl
Y3RCYXNlZFRlc3RSZXN1bHRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDVpbWFnZUV2
CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0NXRpdGxlRVJOU18xM1RleHREaXJlY3Rpb25F
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTE2NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0wNi0xNyAgUnV0aCBG
b25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgYSBnZXRNZWRpYVR5
cGUgbWV0aG9kIGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE3NjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0
VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRNZWRpYVR5
cGUpOiBFeHBvc2VzIHRoZSBtZXRob2QgZ2V0TWVkaWFUeXBlIGFuZAorICAgICAgICBob29rcyBp
bnRvIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6Z2V0TWVkaWFUeXBlLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQu
aDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0OjpnZXRNZWRpYVR5cGUpOiBBZGRlZCB0byByZXR1cm4gCisgICAgICAgIHdoYXQgdHlw
ZSwgaWYgYW55LCBhIG1lZGlhIGVsZW1lbnQgaXMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oOgorCiAyMDEzLTA2LTE3
ICBSdXRoIEZvbmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046
IEltcG9ydGFudCBjb250cm9scyBhcmUgbWlzc2luZyBmcm9tIDx2aWRlbz4gZWxlbWVudCBVSSwg
d2hlbiBjb21wYXJlZCB0byBRdWlja1RpbWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIldlYkZyYW1l
LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0RvY3VtZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9FbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgpAQCAtMTAzLDYgKzEwNCwxOCBAQCBib29sIEluamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdDo6bWVkaWFJCiAgICAgcmV0dXJuIG1faGl0VGVzdFJlc3VsdC5t
ZWRpYUlzSW5GdWxsc2NyZWVuKCk7CiB9CiAKK1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmdldE1lZGlhVHlwZSgpIGNvbnN0Cit7Cisg
ICAgV2ViQ29yZTo6Tm9kZSogbm9kZSA9IG1faGl0VGVzdFJlc3VsdC5pbm5lck5vblNoYXJlZE5v
ZGUoKTsKKyAgICBpZiAobm9kZS0+bm9kZVR5cGUoKSAhPSBOb2RlOjpFTEVNRU5UX05PREUpCisg
ICAgICAgIHJldHVybiBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICAK
KyAgICBpZiAoIXRvRWxlbWVudChub2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgcmV0
dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworICAgIAorICAgIHJldHVy
biBtX2hpdFRlc3RSZXN1bHQubWVkaWFJc1ZpZGVvKCkgPyBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0
TWVkaWFUeXBlVmlkZW8gOiBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW87ICAg
IAorfQorCiBTdHJpbmcgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpsaW5rTGFiZWwoKSBj
b25zdAogewogICAgIHJldHVybiBtX2hpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gMTUx
NTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAog
CiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0
Lmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgpAQCAtNTIsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGFic29s
dXRlTGlua1VSTCgpIGNvbnN0OwogICAgIFN0cmluZyBhYnNvbHV0ZU1lZGlhVVJMKCkgY29uc3Q7
CiAgICAgYm9vbCBtZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3Q7CisgICAgV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0TWVkaWFUeXBlIGdldE1lZGlhVHlwZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIGxp
bmtMYWJlbCgpIGNvbnN0OwogICAgIFN0cmluZyBsaW5rVGl0bGUoKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE1
MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksMTEg
QEAgYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYUlzSW5GdWxscwogICAgIHJldHVybiB0
b0ltcGwoaGl0VGVzdFJlc3VsdFJlZiktPm1lZGlhSXNJbkZ1bGxzY3JlZW4oKTsKIH0KIAorV0tC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldE1lZGlh
VHlwZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKK3sKKyAgICBy
ZXR1cm4gdG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5nZXRNZWRpYVR5cGUoKTsKK30KKwogV0tS
ZWN0IFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldEltYWdlUmVjdChXS0J1bmRsZUhpdFRlc3RSZXN1
bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGhpdFRl
c3RSZXN1bHRSZWYpLT5pbWFnZVJlY3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVIaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDEzIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgog
CitlbnVtIHsKKyAgICBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZSwKKyAgICBr
V0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW8sCisgICAga1dLQnVuZGxlSGl0VGVz
dFJlc3VsdE1lZGlhVHlwZVZpZGVvCit9OwordHlwZWRlZiB1aW50MzJfdCBXS0J1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGU7CisKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS0J1bmRsZUhpdFRlc3RS
ZXN1bHRHZXRUeXBlSUQoKTsKIAogV0tfRVhQT1JUIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBXS0J1
bmRsZUhpdFRlc3RSZXN1bHRDb3B5Tm9kZUhhbmRsZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYg
aGl0VGVzdFJlc3VsdCk7CkBAIC00NSw2ICs1Miw3IEBAIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1
bmRsZUhpdFRlc3RSZXN1bHQKIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1
bHRDb3B5QWJzb2x1dGVMaW5rVVJMKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVz
dWx0KTsKIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1
dGVNZWRpYVVSTChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CiBXS19F
WFBPUlQgYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYUlzSW5GdWxsc2NyZWVuKFdLQnVu
ZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKK1dLX0VYUE9SVCBXS0J1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGUgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0TWVkaWFUeXBlKFdL
QnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIAogV0tfRVhQT1JUIFdLUmVj
dCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRJbWFnZVJlY3QoV0tCdW5kbGVIaXRUZXN0UmVzdWx0
UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0
R2V0SXNTZWxlY3RlZChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204866</attachid>
            <date>2013-06-17 16:47:58 -0700</date>
            <delta_ts>2013-06-17 16:56:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130617164623.patch</filename>
            <type>text/plain</type>
            <size>15767</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTE3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlhVHlw
ZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBVcGRhdGVkIHRvIGFkZCBhIHN5bWJvbCBmb3Ig
CisgICAgICAgIEhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyBtZXRob2QKKyAgICAgICAgYW5k
IGFscGhhYmV0aXplIHRoZSBsaXN0IG9mIGV4cG9zZWQgbWV0aG9kcy4KKwogMjAxMy0wNi0xNyAg
TWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gbG9h
ZFBlbmRpbmdTaGFkZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gMTUxNTc0
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEz
NzAsMTYgKzEzNzAsMTcgQEAgX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDEwaXNTZWxlY3Rl
ZAogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGFyZ2V0RnJhbWVFdgogX19aTks3V2Vi
Q29yZTEzSGl0VGVzdFJlc3VsdDExdGV4dENvbnRlbnRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVz
dFJlc3VsdDEyaW5uZXJFbGVtZW50RXYKK19fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMm1l
ZGlhSXNWaWRlb0V2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRhYnNvbHV0ZVBERlVS
TEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRpbm5lck5vZGVGcmFtZUV2CiBfX1pO
SzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTVhYnNvbHV0ZUxpbmtVUkxFdgogX19aTks3V2ViQ29y
ZTEzSGl0VGVzdFJlc3VsdDE1c3BlbGxpbmdUb29sVGlwRVJOU18xM1RleHREaXJlY3Rpb25FCiBf
X1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZhYnNvbHV0ZUltYWdlVVJMRXYKIF9fWk5LN1dl
YkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFic29sdXRlTWVkaWFVUkxFdgotX19aTks3V2ViQ29yZTEz
SGl0VGVzdFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdXZWJDb3JlMTNIaXRU
ZXN0UmVzdWx0MTZhbHREaXNwbGF5U3RyaW5nRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1
bHQxN2lzQ29udGVudEVkaXRhYmxlRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOHRp
dGxlRGlzcGxheVN0cmluZ0V2CitfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTltZWRpYUlz
SW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOXJlY3RCYXNlZFRl
c3RSZXN1bHRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDVpbWFnZUV2CiBfX1pOSzdX
ZWJDb3JlMTNIaXRUZXN0UmVzdWx0NXRpdGxlRVJOU18xM1RleHREaXJlY3Rpb25FCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTE2NTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzNCBAQAorMjAxMy0wNi0xNyAgUnV0aCBGb25nICA8cnV0
aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgYSBnZXRNZWRpYVR5cGUgbWV0aG9k
IGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE3NjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSk6CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAg
ICAgICAgQWRkZWQgbWV0aG9kcyB0byBjb252ZXJ0IGJldHdlZW4gQnVuZGxlSGl0VGVzdFJlc3Vs
dE1lZGlhVHlwZQorICAgICAgICBhbmQgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLgor
CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBVcGRhdGVkIHRv
IGluY2x1ZGUKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgg
aW4gdGhlIFdlYktpdDIgcHJvamVjdC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdLQnVuZGxl
SGl0VGVzdFJlc3VsdEdldE1lZGlhVHlwZSk6IEV4cG9zZXMgdGhlIG1ldGhvZCBnZXRNZWRpYVR5
cGUgYW5kCisgICAgICAgIGhvb2tzIGludG8gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0Ojpn
ZXRNZWRpYVR5cGUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmdldE1lZGlhVHlwZSk6IEFkZGVkIHRvIHJl
dHVybiAKKyAgICAgICAgd2hhdCB0eXBlLCBpZiBhbnksIGEgbWVkaWEgZWxlbWVudCBpcy4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oOiBBZGRlZAorICAgICAgICB0byBjb250YWlu
IG5ldyBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIGVudW1zLgorCiAyMDEzLTA2LTE3ICBS
dXRoIEZvbmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IElt
cG9ydGFudCBjb250cm9scyBhcmUgbWlzc2luZyBmcm9tIDx2aWRlbz4gZWxlbWVudCBVSSwgd2hl
biBjb21wYXJlZCB0byBRdWlja1RpbWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0FQSUNhc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tBUElDYXN0LmgJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsMTEg
QEAKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiRm9udFNtb290aGluZ0xldmVs
LmgiCiAjaW5jbHVkZSAiSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oIgorI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIgogI2luY2x1ZGUgIlBsdWdpbk1vZHVs
ZUluZm8uaCIKICNpbmNsdWRlICJQcm9jZXNzTW9kZWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZUNh
Y2hlc1RvQ2xlYXIuaCIKKyNpbmNsdWRlICJXS0J1bmRsZUhpdFRlc3RSZXN1bHQuaCIKICNpbmNs
dWRlICJXS0NvbnRleHQuaCIKICNpbmNsdWRlICJXS0Nvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRl
ICJXS0NyZWRlbnRpYWxUeXBlcy5oIgpAQCAtMTAzLDYgKzEwNSw3IEBAIFdLX0FERF9BUElfTUFQ
UElORyhXS0JhY2tGb3J3YXJkTGlzdEl0ZW0KIFdLX0FERF9BUElfTUFQUElORyhXS0JhY2tGb3J3
YXJkTGlzdFJlZiwgV2ViQmFja0ZvcndhcmRMaXN0KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQmF0
dGVyeU1hbmFnZXJSZWYsIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHkpCiBXS19BRERfQVBJX01BUFBJ
TkcoV0tCYXR0ZXJ5U3RhdHVzUmVmLCBXZWJCYXR0ZXJ5U3RhdHVzKQorV0tfQUREX0FQSV9NQVBQ
SU5HKFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSwgQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZSkKIFdLX0FERF9BUElfTUFQUElORyhXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmLCBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29udGV4dFJlZiwgV2ViQ29udGV4dCkKQEAgLTE0NCw2
ICsxNDcsMzUgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLSW5zcGVjdG9yUmVmLCBXZWJJbgogCiAv
KiBFbnVtIGNvbnZlcnNpb25zICovCiAKK2lubGluZSBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlIHRvQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGUgd2tNZWRpYVR5cGUpCit7CisgICAgc3dpdGNoICh3a01lZGlhVHlwZSkgeworICAg
IGNhc2Uga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU6CisgICAgICAgIHJldHVy
biBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICBjYXNlIGtXS0J1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzoKKyAgICAgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGVBdWRpbzsKKyAgICBjYXNlIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGVWaWRlbzoKKyAgICAgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVW
aWRlbzsKKyAgICB9CisgICAgCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworfQorICAgIAoraW5saW5lIFdLQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSB0b0FQSShCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlIG1lZGlhVHlwZSkKK3sKKyAgICBzd2l0Y2ggKG1lZGlhVHlwZSkgeworICAgIGNhc2UgQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU6CisgICAgICAgIHJldHVybiBrV0tCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICBjYXNlIEJ1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGVBdWRpbzoKKyAgICAgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGVBdWRpbzsKKyAgICBjYXNlIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzoK
KyAgICAgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzsKKyAg
ICB9CisgICAgCisgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25l
OworfQorCiBpbmxpbmUgQ2FjaGVNb2RlbCB0b0NhY2hlTW9kZWwoV0tDYWNoZU1vZGVsIHdrQ2Fj
aGVNb2RlbCkKIHsKICAgICBzd2l0Y2ggKHdrQ2FjaGVNb2RlbCkgewpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTgsNiArNTk4LDcgQEAKIAkJN0NGNDdGRkIxNzI3NUM1
NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkY5MTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVyLmgg
Ki87IH07CiAJCTdDRjQ3RkZFMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0
N0ZGQzE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLm1tICovOyB9Owog
CQk3Q0Y0N0ZGRjE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZGRDE3Mjc2
QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODQ0Nzc4NTMxNzZGQ0MwODAwQ0RDN0JC
IC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JC
IC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovOyB9OwogCQk4Q0ZF
Q0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9yU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOENGRUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8q
IEVkaXRvclN0YXRlLmNwcCAqLzsgfTsKIAkJOERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIElu
Zm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcgLyogSW5mb1BsaXN0LnN0cmluZ3MgKi87
IH07CiAJCTkwOTg1NEVDMTJCQzRFMTcwMDBBRDA4MCAvKiBXZWJNZW1vcnlTYW1wbGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwNTYyMEU4MTJC
QzI0OEIwMDA3OTlCNiAvKiBXZWJNZW1vcnlTYW1wbGVyLmNwcCAqLzsgfTsKQEAgLTIwODUsNiAr
MjA4Niw3IEBACiAJCTdDRjQ3RkY5MTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VCYW5uZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0NGNDdGRkMxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFn
ZUJhbm5lck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdL
QnVuZGxlUGFnZUJhbm5lck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NG
NDdGRkQxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOENGRUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRv
clN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRvclN0
YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOERDMkVGNUEwNDg2QTY5NDAw
OThCMjE2IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IElu
Zm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThEQzJFRjVCMDQ4NkE2OTQw
MDk4QjIxNiAvKiBXZWJLaXQyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0g
MDsgcGF0aCA9IFdlYktpdDIuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OwpAQCAtNDQyNiw2ICs0NDI4LDcgQEAKIAkJCQlCQzE0REY3NjEyMEI1Qjc5MDA4MjZD
MEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5jcHAgKi8sCiAJCQkJQkMxNERGNzUxMjBC
NUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCAqLywKIAkJCQlCQ0Iw
QjBERDEyMzA1QThDMDBCMTM0MUUgLyogSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5o
ICovLAorCQkJCTg0NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gSW5qZWN0ZWRCdW5kbGU7
CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNTg0MCw2ICs1ODQzLDcgQEAKIAkJCQlF
MTRBOTU0QTE2RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzk4QzdBMTZFNjgxODgwMDI0MDEzOSAvKiBOZXR3
b3JrQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTUyNTUxQjE3MDExODE5MDAz
RDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg0NDc3ODUzMTc2RkNDMDgwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gMTUxNTc0KQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiV2ViRnJh
bWUuaCIKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvRG9jdW1lbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0VsZW1lbnQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0ZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CkBAIC0xMDMsNiArMTA0LDE4IEBAIGJvb2wgSW5qZWN0
ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjptZWRpYUkKICAgICByZXR1cm4gbV9oaXRUZXN0UmVzdWx0
Lm1lZGlhSXNJbkZ1bGxzY3JlZW4oKTsKIH0KIAorQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmdldE1lZGlhVHlwZSgpIGNvbnN0Cit7Cisg
ICAgV2ViQ29yZTo6Tm9kZSogbm9kZSA9IG1faGl0VGVzdFJlc3VsdC5pbm5lck5vblNoYXJlZE5v
ZGUoKTsKKyAgICBpZiAobm9kZS0+bm9kZVR5cGUoKSAhPSBOb2RlOjpFTEVNRU5UX05PREUpCisg
ICAgICAgIHJldHVybiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICAKKyAg
ICBpZiAoIXRvRWxlbWVudChub2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJu
IEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworICAgIAorICAgIHJldHVybiBtX2hp
dFRlc3RSZXN1bHQubWVkaWFJc1ZpZGVvKCkgPyBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBl
VmlkZW8gOiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW87ICAgIAorfQorCiBTdHJp
bmcgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpsaW5rTGFiZWwoKSBjb25zdAogewogICAg
IHJldHVybiBtX2hpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gMTUxNTc0KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaW5jbHVkZSAi
QVBJT2JqZWN0LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0Lmg+CisjaW5jbHVk
ZSA8V2ViS2l0Mi9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaD4KKyNpbmNs
dWRlIDxXZWJLaXQyL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CkBAIC01Miw2ICs1NCw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgYWJzb2x1dGVMaW5rVVJM
KCkgY29uc3Q7CiAgICAgU3RyaW5nIGFic29sdXRlTWVkaWFVUkwoKSBjb25zdDsKICAgICBib29s
IG1lZGlhSXNJbkZ1bGxzY3JlZW4oKSBjb25zdDsKKyAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVk
aWFUeXBlIGdldE1lZGlhVHlwZSgpIGNvbnN0OwogCiAgICAgU3RyaW5nIGxpbmtMYWJlbCgpIGNv
bnN0OwogICAgIFN0cmluZyBsaW5rVGl0bGUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVk
aWFUeXBlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworI2lmbmRlZiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5
cGVfaAorI2RlZmluZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVfaAorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIHsK
KyAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZSwKKyAgICBCdW5kbGVIaXRUZXN0
UmVzdWx0TWVkaWFUeXBlQXVkaW8sCisgICAgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZVZp
ZGVvCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEluamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZV9oCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3Vs
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDExIEBAIGJvb2wgV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0TWVkaWFJc0luRnVsbHMKICAgICByZXR1cm4gdG9JbXBsKGhpdFRlc3RSZXN1bHRS
ZWYpLT5tZWRpYUlzSW5GdWxsc2NyZWVuKCk7CiB9CiAKK1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZSBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRNZWRpYVR5cGUoV0tCdW5kbGVIaXRUZXN0
UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHRSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChoaXRUZXN0
UmVzdWx0UmVmKS0+Z2V0TWVkaWFUeXBlKCk7Cit9CisKIFdLUmVjdCBXS0J1bmRsZUhpdFRlc3RS
ZXN1bHRHZXRJbWFnZVJlY3QoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHRS
ZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+aW1hZ2VS
ZWN0KCkpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5o
CShyZXZpc2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
Myw2ICszMywxMyBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorZW51bSB7CisgICAga1dLQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmUsCisgICAga1dLQnVuZGxlSGl0VGVzdFJlc3Vs
dE1lZGlhVHlwZUF1ZGlvLAorICAgIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRl
bworfTsKK3R5cGVkZWYgdWludDMyX3QgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlOwor
CiBXS19FWFBPUlQgV0tUeXBlSUQgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0VHlwZUlEKCk7CiAK
IFdLX0VYUE9SVCBXS0J1bmRsZU5vZGVIYW5kbGVSZWYgV0tCdW5kbGVIaXRUZXN0UmVzdWx0Q29w
eU5vZGVIYW5kbGUoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwpAQCAt
NDUsNiArNTIsNyBAQCBXS19FWFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVIaXRUZXN0UmVzdWx0CiBX
S19FWFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVIaXRUZXN0UmVzdWx0Q29weUFic29sdXRlTGlua1VS
TChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CiBXS19FWFBPUlQgV0tV
UkxSZWYgV0tCdW5kbGVIaXRUZXN0UmVzdWx0Q29weUFic29sdXRlTWVkaWFVUkwoV0tCdW5kbGVI
aXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFJc0luRnVsbHNjcmVlbihXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYg
aGl0VGVzdFJlc3VsdCk7CitXS19FWFBPUlQgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBl
IFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldE1lZGlhVHlwZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRS
ZWYgaGl0VGVzdFJlc3VsdCk7CiAKIFdLX0VYUE9SVCBXS1JlY3QgV0tCdW5kbGVIaXRUZXN0UmVz
dWx0R2V0SW1hZ2VSZWN0KFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsK
IFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldElzU2VsZWN0ZWQoV0tCdW5k
bGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204867</attachid>
            <date>2013-06-17 16:56:34 -0700</date>
            <delta_ts>2013-06-17 17:21:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130617165459.patch</filename>
            <type>text/plain</type>
            <size>15751</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTE3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlhVHlw
ZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBVcGRhdGVkIHRvIGFkZCBhIHN5bWJvbCBmb3Ig
CisgICAgICAgIEhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyBtZXRob2QKKyAgICAgICAgYW5k
IGFscGhhYmV0aXplIHRoZSBsaXN0IG9mIGV4cG9zZWQgbWV0aG9kcy4KKwogMjAxMy0wNi0xNyAg
TWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gbG9h
ZFBlbmRpbmdTaGFkZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gMTUxNTc0
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEz
NzAsMTYgKzEzNzAsMTcgQEAgX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDEwaXNTZWxlY3Rl
ZAogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGFyZ2V0RnJhbWVFdgogX19aTks3V2Vi
Q29yZTEzSGl0VGVzdFJlc3VsdDExdGV4dENvbnRlbnRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVz
dFJlc3VsdDEyaW5uZXJFbGVtZW50RXYKK19fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMm1l
ZGlhSXNWaWRlb0V2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRhYnNvbHV0ZVBERlVS
TEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRpbm5lck5vZGVGcmFtZUV2CiBfX1pO
SzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTVhYnNvbHV0ZUxpbmtVUkxFdgogX19aTks3V2ViQ29y
ZTEzSGl0VGVzdFJlc3VsdDE1c3BlbGxpbmdUb29sVGlwRVJOU18xM1RleHREaXJlY3Rpb25FCiBf
X1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZhYnNvbHV0ZUltYWdlVVJMRXYKIF9fWk5LN1dl
YkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFic29sdXRlTWVkaWFVUkxFdgotX19aTks3V2ViQ29yZTEz
SGl0VGVzdFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdXZWJDb3JlMTNIaXRU
ZXN0UmVzdWx0MTZhbHREaXNwbGF5U3RyaW5nRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1
bHQxN2lzQ29udGVudEVkaXRhYmxlRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOHRp
dGxlRGlzcGxheVN0cmluZ0V2CitfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTltZWRpYUlz
SW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOXJlY3RCYXNlZFRl
c3RSZXN1bHRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDVpbWFnZUV2CiBfX1pOSzdX
ZWJDb3JlMTNIaXRUZXN0UmVzdWx0NXRpdGxlRVJOU18xM1RleHREaXJlY3Rpb25FCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTE2NTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzNCBAQAorMjAxMy0wNi0xNyAgUnV0aCBGb25nICA8cnV0
aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgYSBnZXRNZWRpYVR5cGUgbWV0aG9k
IGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE3NjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSk6CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAg
ICAgICAgQWRkZWQgbWV0aG9kcyB0byBjb252ZXJ0IGJldHdlZW4gQnVuZGxlSGl0VGVzdFJlc3Vs
dE1lZGlhVHlwZQorICAgICAgICBhbmQgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLgor
CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBVcGRhdGVkIHRv
IGluY2x1ZGUKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgg
aW4gdGhlIFdlYktpdDIgcHJvamVjdC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdLQnVuZGxl
SGl0VGVzdFJlc3VsdEdldE1lZGlhVHlwZSk6IEV4cG9zZXMgdGhlIG1ldGhvZCBnZXRNZWRpYVR5
cGUgYW5kCisgICAgICAgIGhvb2tzIGludG8gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0Ojpn
ZXRNZWRpYVR5cGUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmdldE1lZGlhVHlwZSk6IEFkZGVkIHRvIHJl
dHVybiAKKyAgICAgICAgd2hhdCB0eXBlLCBpZiBhbnksIGEgbWVkaWEgZWxlbWVudCBpcy4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oOiBBZGRlZAorICAgICAgICB0byBjb250YWlu
IG5ldyBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIGVudW1zLgorCiAyMDEzLTA2LTE3ICBS
dXRoIEZvbmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IElt
cG9ydGFudCBjb250cm9scyBhcmUgbWlzc2luZyBmcm9tIDx2aWRlbz4gZWxlbWVudCBVSSwgd2hl
biBjb21wYXJlZCB0byBRdWlja1RpbWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0FQSUNhc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tBUElDYXN0LmgJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsMTEg
QEAKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiRm9udFNtb290aGluZ0xldmVs
LmgiCiAjaW5jbHVkZSAiSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oIgorI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIgogI2luY2x1ZGUgIlBsdWdpbk1vZHVs
ZUluZm8uaCIKICNpbmNsdWRlICJQcm9jZXNzTW9kZWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZUNh
Y2hlc1RvQ2xlYXIuaCIKKyNpbmNsdWRlICJXS0J1bmRsZUhpdFRlc3RSZXN1bHQuaCIKICNpbmNs
dWRlICJXS0NvbnRleHQuaCIKICNpbmNsdWRlICJXS0Nvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRl
ICJXS0NyZWRlbnRpYWxUeXBlcy5oIgpAQCAtMTAzLDYgKzEwNSw3IEBAIFdLX0FERF9BUElfTUFQ
UElORyhXS0JhY2tGb3J3YXJkTGlzdEl0ZW0KIFdLX0FERF9BUElfTUFQUElORyhXS0JhY2tGb3J3
YXJkTGlzdFJlZiwgV2ViQmFja0ZvcndhcmRMaXN0KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQmF0
dGVyeU1hbmFnZXJSZWYsIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHkpCiBXS19BRERfQVBJX01BUFBJ
TkcoV0tCYXR0ZXJ5U3RhdHVzUmVmLCBXZWJCYXR0ZXJ5U3RhdHVzKQorV0tfQUREX0FQSV9NQVBQ
SU5HKFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSwgQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZSkKIFdLX0FERF9BUElfTUFQUElORyhXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVmLCBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwgV2ViQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5
KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29udGV4dFJlZiwgV2ViQ29udGV4dCkKQEAgLTE0NCw2
ICsxNDcsMzUgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdLSW5zcGVjdG9yUmVmLCBXZWJJbgogCiAv
KiBFbnVtIGNvbnZlcnNpb25zICovCiAKK2lubGluZSBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlIHRvQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGUgd2tNZWRpYVR5cGUpCit7CisgICAgc3dpdGNoICh3a01lZGlhVHlwZSkgeworICAg
IGNhc2Uga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU6CisgICAgICAgIHJldHVy
biBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICBjYXNlIGtXS0J1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzoKKyAgICAgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGVBdWRpbzsKKyAgICBjYXNlIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGVWaWRlbzoKKyAgICAgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVW
aWRlbzsKKyAgICB9CisgICAgCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworfQorICAgIAoraW5saW5lIFdLQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSB0b0FQSShCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlIG1lZGlhVHlwZSkKK3sKKyAgICBzd2l0Y2ggKG1lZGlhVHlwZSkgeworICAgIGNhc2UgQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU6CisgICAgICAgIHJldHVybiBrV0tCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICBjYXNlIEJ1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGVBdWRpbzoKKyAgICAgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGVBdWRpbzsKKyAgICBjYXNlIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzoK
KyAgICAgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzsKKyAg
ICB9CisgICAgCisgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25l
OworfQorCiBpbmxpbmUgQ2FjaGVNb2RlbCB0b0NhY2hlTW9kZWwoV0tDYWNoZU1vZGVsIHdrQ2Fj
aGVNb2RlbCkKIHsKICAgICBzd2l0Y2ggKHdrQ2FjaGVNb2RlbCkgewpJbmRleDogU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTgsNiArNTk4LDcgQEAKIAkJN0NGNDdGRkIxNzI3NUM1
NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkY5MTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVyLmgg
Ki87IH07CiAJCTdDRjQ3RkZFMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0
N0ZGQzE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLm1tICovOyB9Owog
CQk3Q0Y0N0ZGRjE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZGRDE3Mjc2
QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODQ0Nzc4NTMxNzZGQ0MwODAwQ0RDN0JC
IC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JC
IC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovOyB9OwogCQk4Q0ZF
Q0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9yU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOENGRUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8q
IEVkaXRvclN0YXRlLmNwcCAqLzsgfTsKIAkJOERDMkVGNTMwNDg2QTY5NDAwOThCMjE2IC8qIElu
Zm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcgLyogSW5mb1BsaXN0LnN0cmluZ3MgKi87
IH07CiAJCTkwOTg1NEVDMTJCQzRFMTcwMDBBRDA4MCAvKiBXZWJNZW1vcnlTYW1wbGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwNTYyMEU4MTJC
QzI0OEIwMDA3OTlCNiAvKiBXZWJNZW1vcnlTYW1wbGVyLmNwcCAqLzsgfTsKQEAgLTIwODUsNiAr
MjA4Niw3IEBACiAJCTdDRjQ3RkY5MTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhZ2VCYW5uZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0NGNDdGRkMxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFn
ZUJhbm5lck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdL
QnVuZGxlUGFnZUJhbm5lck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NG
NDdGRkQxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOENGRUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRv
clN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRvclN0
YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOERDMkVGNUEwNDg2QTY5NDAw
OThCMjE2IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IElu
Zm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThEQzJFRjVCMDQ4NkE2OTQw
MDk4QjIxNiAvKiBXZWJLaXQyLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0g
MDsgcGF0aCA9IFdlYktpdDIuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNf
RElSOyB9OwpAQCAtNDQyNiw2ICs0NDI4LDcgQEAKIAkJCQlCQzE0REY3NjEyMEI1Qjc5MDA4MjZD
MEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5jcHAgKi8sCiAJCQkJQkMxNERGNzUxMjBC
NUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCAqLywKIAkJCQlCQ0Iw
QjBERDEyMzA1QThDMDBCMTM0MUUgLyogSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5o
ICovLAorCQkJCTg0NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGUuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gSW5qZWN0ZWRCdW5kbGU7
CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNTg0MCw2ICs1ODQzLDcgQEAKIAkJCQlF
MTRBOTU0QTE2RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzk4QzdBMTZFNjgxODgwMDI0MDEzOSAvKiBOZXR3
b3JrQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTUyNTUxQjE3MDExODE5MDAz
RDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTg0NDc3ODUzMTc2RkNDMDgwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gMTUxNTc0KQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiV2ViRnJh
bWUuaCIKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvRG9jdW1lbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0VsZW1lbnQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0ZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlci5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CkBAIC0xMDMsNiArMTA0LDE4IEBAIGJvb2wgSW5qZWN0
ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjptZWRpYUkKICAgICByZXR1cm4gbV9oaXRUZXN0UmVzdWx0
Lm1lZGlhSXNJbkZ1bGxzY3JlZW4oKTsKIH0KIAorQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmdldE1lZGlhVHlwZSgpIGNvbnN0Cit7Cisg
ICAgV2ViQ29yZTo6Tm9kZSogbm9kZSA9IG1faGl0VGVzdFJlc3VsdC5pbm5lck5vblNoYXJlZE5v
ZGUoKTsKKyAgICBpZiAoIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgcmV0dXJuIEJ1
bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworICAgIAorICAgIGlmICghdG9FbGVtZW50
KG5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gQnVuZGxlSGl0VGVzdFJl
c3VsdE1lZGlhVHlwZU5vbmU7CisgICAgCisgICAgcmV0dXJuIG1faGl0VGVzdFJlc3VsdC5tZWRp
YUlzVmlkZW8oKSA/IEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbyA6IEJ1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzsgICAgCit9CisKIFN0cmluZyBJbmplY3RlZEJ1bmRs
ZUhpdFRlc3RSZXN1bHQ6OmxpbmtMYWJlbCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1faGl0VGVz
dFJlc3VsdC50ZXh0Q29udGVudCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
SGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0hpdFRlc3RSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL0luamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvV0tC
dW5kbGVIaXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUyLDYgKzU0
LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBhYnNvbHV0ZUxpbmtVUkwoKSBjb25zdDsKICAgICBT
dHJpbmcgYWJzb2x1dGVNZWRpYVVSTCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFJc0luRnVsbHNj
cmVlbigpIGNvbnN0OworICAgIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgZ2V0TWVkaWFU
eXBlKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgbGlua0xhYmVsKCkgY29uc3Q7CiAgICAgU3RyaW5n
IGxpbmtUaXRsZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYVR5cGUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisj
aWZuZGVmIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZV9oCisjZGVmaW5lIElu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZV9oCisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitlbnVtIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgeworICAgIEJ1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGVOb25lLAorICAgIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVB
dWRpbywKKyAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlVmlkZW8KK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
TWVkaWFUeXBlX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJl
c3VsdC5jcHAJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzksNiArNzksMTEgQEAgYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYUlz
SW5GdWxscwogICAgIHJldHVybiB0b0ltcGwoaGl0VGVzdFJlc3VsdFJlZiktPm1lZGlhSXNJbkZ1
bGxzY3JlZW4oKTsKIH0KIAorV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIFdLQnVuZGxl
SGl0VGVzdFJlc3VsdEdldE1lZGlhVHlwZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVz
dFJlc3VsdFJlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5nZXRN
ZWRpYVR5cGUoKTsKK30KKwogV0tSZWN0IFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldEltYWdlUmVj
dChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKIHsKICAgICByZXR1
cm4gdG9BUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5pbWFnZVJlY3QoKSk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0
VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDE1MTU3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDEzIEBACiBl
eHRlcm4gIkMiIHsKICNlbmRpZgogCitlbnVtIHsKKyAgICBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0
TWVkaWFUeXBlTm9uZSwKKyAgICBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW8s
CisgICAga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZVZpZGVvCit9OwordHlwZWRlZiB1
aW50MzJfdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGU7CisKIFdLX0VYUE9SVCBXS1R5
cGVJRCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRUeXBlSUQoKTsKIAogV0tfRVhQT1JUIFdLQnVu
ZGxlTm9kZUhhbmRsZVJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5Tm9kZUhhbmRsZShXS0J1
bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CkBAIC00NSw2ICs1Miw3IEBAIFdL
X0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHQKIFdLX0VYUE9SVCBXS1VSTFJl
ZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVMaW5rVVJMKFdLQnVuZGxlSGl0VGVz
dFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhp
dFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVNZWRpYVVSTChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYg
aGl0VGVzdFJlc3VsdCk7CiBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YUlzSW5GdWxsc2NyZWVuKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsK
K1dLX0VYUE9SVCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgV0tCdW5kbGVIaXRUZXN0
UmVzdWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0
KTsKIAogV0tfRVhQT1JUIFdLUmVjdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRJbWFnZVJlY3Qo
V0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIGJvb2wg
V0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0SXNTZWxlY3RlZChXS0J1bmRsZUhpdFRlc3RSZXN1bHRS
ZWYgaGl0VGVzdFJlc3VsdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204869</attachid>
            <date>2013-06-17 17:21:12 -0700</date>
            <delta_ts>2013-06-18 12:39:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130617171937.patch</filename>
            <type>text/plain</type>
            <size>17428</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTE3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlhVHlw
ZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBVcGRhdGVkIHRvIGFkZCBhIHN5bWJvbCBmb3Ig
CisgICAgICAgIEhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyBtZXRob2QKKyAgICAgICAgYW5k
IGFscGhhYmV0aXplIHRoZSBsaXN0IG9mIGV4cG9zZWQgbWV0aG9kcy4KKwogMjAxMy0wNi0xNyAg
TWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gbG9h
ZFBlbmRpbmdTaGFkZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gMTUxNTc0
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEz
NzAsMTYgKzEzNzAsMTcgQEAgX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDEwaXNTZWxlY3Rl
ZAogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGFyZ2V0RnJhbWVFdgogX19aTks3V2Vi
Q29yZTEzSGl0VGVzdFJlc3VsdDExdGV4dENvbnRlbnRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVz
dFJlc3VsdDEyaW5uZXJFbGVtZW50RXYKK19fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMm1l
ZGlhSXNWaWRlb0V2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRhYnNvbHV0ZVBERlVS
TEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRpbm5lck5vZGVGcmFtZUV2CiBfX1pO
SzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTVhYnNvbHV0ZUxpbmtVUkxFdgogX19aTks3V2ViQ29y
ZTEzSGl0VGVzdFJlc3VsdDE1c3BlbGxpbmdUb29sVGlwRVJOU18xM1RleHREaXJlY3Rpb25FCiBf
X1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZhYnNvbHV0ZUltYWdlVVJMRXYKIF9fWk5LN1dl
YkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFic29sdXRlTWVkaWFVUkxFdgotX19aTks3V2ViQ29yZTEz
SGl0VGVzdFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdXZWJDb3JlMTNIaXRU
ZXN0UmVzdWx0MTZhbHREaXNwbGF5U3RyaW5nRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1
bHQxN2lzQ29udGVudEVkaXRhYmxlRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOHRp
dGxlRGlzcGxheVN0cmluZ0V2CitfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTltZWRpYUlz
SW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOXJlY3RCYXNlZFRl
c3RSZXN1bHRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDVpbWFnZUV2CiBfX1pOSzdX
ZWJDb3JlMTNIaXRUZXN0UmVzdWx0NXRpdGxlRVJOU18xM1RleHREaXJlY3Rpb25FCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTE2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzOCBAQAorMjAxMy0wNi0xNyAgUnV0aCBGb25nICA8cnV0
aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgYSBnZXRNZWRpYVR5cGUgbWV0aG9k
IGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE3NjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAg
IFVwZGF0ZWQgdG8gaW5jbHVkZSB0aGUgYWRkZWQgaGVhZGVyIGZpbGUgSW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgKKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0J1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGUpOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIEFkZGVkIG1ldGhv
ZHMgdG8gY29udmVydCBiZXR3ZWVuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUKKyAgICAg
ICAgYW5kIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS4KKworICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlZCB0byBpbmNsdWRlCisgICAgICAg
IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIGluIHRoZSBXZWJLaXQyIHBy
b2plY3QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRN
ZWRpYVR5cGUpOiBFeHBvc2VzIHRoZSBtZXRob2QgZ2V0TWVkaWFUeXBlIGFuZAorICAgICAgICBo
b29rcyBpbnRvIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6Z2V0TWVkaWFUeXBlLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RS
ZXN1bHQuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0OjpnZXRNZWRpYVR5cGUpOiBBZGRlZCB0byByZXR1cm4gCisgICAgICAgIHdo
YXQgdHlwZSwgaWYgYW55LCBhIG1lZGlhIGVsZW1lbnQgaXMuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oOgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYVR5cGUuaDogQWRkZWQKKyAgICAgICAgdG8gY29udGFpbiBuZXcgQnVuZGxlSGl0VGVz
dFJlc3VsdE1lZGlhVHlwZSBlbnVtcy4KKwogMjAxMy0wNi0xNyAgUnV0aCBGb25nICA8cnV0aF9m
b25nQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBJbXBvcnRhbnQgY29udHJvbHMg
YXJlIG1pc3NpbmcgZnJvbSA8dmlkZW8+IGVsZW1lbnQgVUksIHdoZW4gY29tcGFyZWQgdG8gUXVp
Y2tUaW1lCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDE1MTU3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkK
QEAgLTEwNzMsNiArMTA3Myw3IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVu
c2lvbi5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmggXAorCVNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVz
dWx0TWVkaWFUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24u
aCBcCiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHAgXApJbmRleDogU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCShyZXZpc2lv
biAxNTE1NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBA
IC0zMTAsNiArMzEwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oIFwKICAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggXAogICAgIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmggXAorICAgIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBl
LmggXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0
aW9uQWN0aW9uLmggXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIFwKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgJKHJldmlzaW9uIDE1MTU3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5j
bHVkZSAiRm9udFNtb290aGluZ0xldmVsLmgiCiAjaW5jbHVkZSAiSFRUUENvb2tpZUFjY2VwdFBv
bGljeS5oIgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5o
IgogI2luY2x1ZGUgIlBsdWdpbk1vZHVsZUluZm8uaCIKICNpbmNsdWRlICJQcm9jZXNzTW9kZWwu
aCIKICNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKKyNpbmNsdWRlICJXS0J1bmRs
ZUhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJXS0NvbnRleHQuaCIKICNpbmNsdWRlICJXS0Nv
b2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXS0NyZWRlbnRpYWxUeXBlcy5oIgpAQCAtMTAzLDYg
KzEwNSw3IEBAIFdLX0FERF9BUElfTUFQUElORyhXS0JhY2tGb3J3YXJkTGlzdEl0ZW0KIFdLX0FE
RF9BUElfTUFQUElORyhXS0JhY2tGb3J3YXJkTGlzdFJlZiwgV2ViQmFja0ZvcndhcmRMaXN0KQog
V0tfQUREX0FQSV9NQVBQSU5HKFdLQmF0dGVyeU1hbmFnZXJSZWYsIFdlYkJhdHRlcnlNYW5hZ2Vy
UHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tCYXR0ZXJ5U3RhdHVzUmVmLCBXZWJCYXR0ZXJ5
U3RhdHVzKQorV0tfQUREX0FQSV9NQVBQSU5HKFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZSwgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSkKIFdLX0FERF9BUElfTUFQUElORyhXS1Jl
c291cmNlQ2FjaGVNYW5hZ2VyUmVmLCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KQogV0tf
QUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwgV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29udGV4dFJl
ZiwgV2ViQ29udGV4dCkKQEAgLTE0NCw2ICsxNDcsMzUgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdL
SW5zcGVjdG9yUmVmLCBXZWJJbgogCiAvKiBFbnVtIGNvbnZlcnNpb25zICovCiAKK2lubGluZSBC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIHRvQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgd2tNZWRpYVR5cGUpCit7CisgICAgc3dp
dGNoICh3a01lZGlhVHlwZSkgeworICAgIGNhc2Uga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlh
VHlwZU5vbmU6CisgICAgICAgIHJldHVybiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9u
ZTsKKyAgICBjYXNlIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzoKKyAgICAg
ICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzsKKyAgICBjYXNlIGtX
S0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzoKKyAgICAgICAgcmV0dXJuIEJ1bmRs
ZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzsKKyAgICB9CisgICAgCisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25l
OworfQorICAgIAoraW5saW5lIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSB0b0FQSShC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIG1lZGlhVHlwZSkKK3sKKyAgICBzd2l0Y2ggKG1l
ZGlhVHlwZSkgeworICAgIGNhc2UgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU6Cisg
ICAgICAgIHJldHVybiBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICBj
YXNlIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzoKKyAgICAgICAgcmV0dXJuIGtX
S0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzsKKyAgICBjYXNlIEJ1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGVWaWRlbzoKKyAgICAgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGVWaWRlbzsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGtXS0J1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworfQorCiBpbmxpbmUgQ2FjaGVNb2RlbCB0b0NhY2hl
TW9kZWwoV0tDYWNoZU1vZGVsIHdrQ2FjaGVNb2RlbCkKIHsKICAgICBzd2l0Y2ggKHdrQ2FjaGVN
b2RlbCkgewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTgsNiArNTk4
LDcgQEAKIAkJN0NGNDdGRkIxNzI3NUM1NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkY5MTcyNzVDNTcw
MDhBQ0I5MSAvKiBQYWdlQmFubmVyLmggKi87IH07CiAJCTdDRjQ3RkZFMTcyNzZBRTMwMDhBQ0I5
MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZGQzE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQ
YWdlQmFubmVyTWFjLm1tICovOyB9OwogCQk3Q0Y0N0ZGRjE3Mjc2QUUzMDA4QUNCOTEgLyogV0tC
dW5kbGVQYWdlQmFubmVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0Y0N0ZGRDE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVy
TWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
ODQ0Nzc4NTMxNzZGQ0MwODAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZS5oICovOyB9OwogCQk4Q0ZFQ0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9yU3Rh
dGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOENG
RUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCAqLzsgfTsKIAkJOERDMkVG
NTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcg
LyogSW5mb1BsaXN0LnN0cmluZ3MgKi87IH07CiAJCTkwOTg1NEVDMTJCQzRFMTcwMDBBRDA4MCAv
KiBXZWJNZW1vcnlTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkwNTYyMEU4MTJCQzI0OEIwMDA3OTlCNiAvKiBXZWJNZW1vcnlTYW1wbGVy
LmNwcCAqLzsgfTsKQEAgLTIwODUsNiArMjA4Niw3IEBACiAJCTdDRjQ3RkY5MTcyNzVDNTcwMDhB
Q0I5MSAvKiBQYWdlQmFubmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
Z2VCYW5uZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NGNDdGRkMxNzI3NkFF
MzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQnVuZGxlUGFnZUJhbm5lck1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NGNDdGRkQxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxl
UGFnZUJhbm5lck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRs
ZVBhZ2VCYW5uZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODQ0Nzc4NTEx
NzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOENGRUNFOTMx
NDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEVkaXRvclN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOERDMkVGNUEwNDg2QTY5NDAwOThCMjE2IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCThEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQyLmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFt
ZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFdlYktpdDIuZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtNDQyNiw2ICs0NDI4LDcgQEAKIAkJ
CQlCQzE0REY3NjEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5j
cHAgKi8sCiAJCQkJQkMxNERGNzUxMjBCNUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2Ny
aXB0V29ybGQuaCAqLywKIAkJCQlCQ0IwQjBERDEyMzA1QThDMDBCMTM0MUUgLyogSW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oICovLAorCQkJCTg0NDc3ODUxMTc2RkNBQzEwMENEQzdC
QiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gSW5qZWN0ZWRCdW5kbGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAt
NTg0MCw2ICs1ODQzLDcgQEAKIAkJCQlFMTRBOTU0QTE2RTAxNkE0MDA2OERFODIgLyogTmV0d29y
a1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzk4QzdB
MTZFNjgxODgwMDI0MDEzOSAvKiBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTUyNTUxQjE3MDExODE5MDAzRDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg0NDc3ODUzMTc2RkNDMDgwMENEQzdCQiAvKiBJ
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNp
b24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICsz
MCw3IEBACiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L0VsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9GcmFtZUxvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CkBAIC0xMDMs
NiArMTA0LDE4IEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjptZWRpYUkKICAg
ICByZXR1cm4gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJbkZ1bGxzY3JlZW4oKTsKIH0KIAorQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Omdl
dE1lZGlhVHlwZSgpIGNvbnN0Cit7CisgICAgV2ViQ29yZTo6Tm9kZSogbm9kZSA9IG1faGl0VGVz
dFJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKTsKKyAgICBpZiAoIW5vZGUtPmlzRWxlbWVudE5v
ZGUoKSkKKyAgICAgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOwor
ICAgIAorICAgIGlmICghdG9FbGVtZW50KG5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQorICAgICAg
ICByZXR1cm4gQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU7CisgICAgCisgICAgcmV0
dXJuIG1faGl0VGVzdFJlc3VsdC5tZWRpYUlzVmlkZW8oKSA/IEJ1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGVWaWRlbyA6IEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzsgICAgCit9
CisKIFN0cmluZyBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmxpbmtMYWJlbCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1faGl0VGVzdFJlc3VsdC50ZXh0Q29udGVudCgpOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTE1NzQp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw4IEBACiAKICNp
bmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0hpdFRlc3RSZXN1bHQuaD4K
KyNpbmNsdWRlIDxXZWJLaXQyL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5o
PgorI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVIaXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KQEAgLTUyLDYgKzU0LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBhYnNvbHV0
ZUxpbmtVUkwoKSBjb25zdDsKICAgICBTdHJpbmcgYWJzb2x1dGVNZWRpYVVSTCgpIGNvbnN0Owog
ICAgIGJvb2wgbWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0OworICAgIEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGUgZ2V0TWVkaWFUeXBlKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgbGlua0xh
YmVsKCkgY29uc3Q7CiAgICAgU3RyaW5nIGxpbmtUaXRsZSgpIGNvbnN0OwpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisjaWZuZGVmIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3Vs
dE1lZGlhVHlwZV9oCisjZGVmaW5lIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZV9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGUgeworICAgIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lLAorICAgIEJ1bmRs
ZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbywKKyAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVk
aWFUeXBlVmlkZW8KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksMTEgQEAgYm9vbCBXS0J1
bmRsZUhpdFRlc3RSZXN1bHRNZWRpYUlzSW5GdWxscwogICAgIHJldHVybiB0b0ltcGwoaGl0VGVz
dFJlc3VsdFJlZiktPm1lZGlhSXNJbkZ1bGxzY3JlZW4oKTsKIH0KIAorV0tCdW5kbGVIaXRUZXN0
UmVzdWx0TWVkaWFUeXBlIFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldE1lZGlhVHlwZShXS0J1bmRs
ZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKK3sKKyAgICByZXR1cm4gdG9JbXBs
KGhpdFRlc3RSZXN1bHRSZWYpLT5nZXRNZWRpYVR5cGUoKTsKK30KKwogV0tSZWN0IFdLQnVuZGxl
SGl0VGVzdFJlc3VsdEdldEltYWdlUmVjdChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVz
dFJlc3VsdFJlZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYp
LT5pbWFnZVJlY3QoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0
UmVzdWx0LmgJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMzLDYgKzMzLDEzIEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCitlbnVtIHsKKyAg
ICBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZSwKKyAgICBrV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW8sCisgICAga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlh
VHlwZVZpZGVvCit9OwordHlwZWRlZiB1aW50MzJfdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGU7CisKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRUeXBl
SUQoKTsKIAogV0tfRVhQT1JUIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBXS0J1bmRsZUhpdFRlc3RS
ZXN1bHRDb3B5Tm9kZUhhbmRsZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3Vs
dCk7CkBAIC00NSw2ICs1Miw3IEBAIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RS
ZXN1bHQKIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1
dGVMaW5rVVJMKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIFdLX0VY
UE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVNZWRpYVVSTChX
S0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CiBXS19FWFBPUlQgYm9vbCBX
S0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYUlzSW5GdWxsc2NyZWVuKFdLQnVuZGxlSGl0VGVzdFJl
c3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKK1dLX0VYUE9SVCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGUgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVz
dFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIAogV0tfRVhQT1JUIFdLUmVjdCBXS0J1bmRsZUhp
dFRlc3RSZXN1bHRHZXRJbWFnZVJlY3QoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RS
ZXN1bHQpOwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0SXNTZWxlY3Rl
ZChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204931</attachid>
            <date>2013-06-18 12:39:09 -0700</date>
            <delta_ts>2013-06-18 12:47:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130618123735.patch</filename>
            <type>text/plain</type>
            <size>17397</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTE3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlhVHlw
ZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBVcGRhdGVkIHRvIGFkZCBhIHN5bWJvbCBmb3Ig
CisgICAgICAgIEhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyBtZXRob2QKKyAgICAgICAgYW5k
IGFscGhhYmV0aXplIHRoZSBsaXN0IG9mIGV4cG9zZWQgbWV0aG9kcy4KKwogMjAxMy0wNi0xNyAg
TWF4IFZ1am92aWMgIDxtdnVqb3ZpY0BhZG9iZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gbG9h
ZFBlbmRpbmdTaGFkZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gMTUxNTc0
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEz
NzAsMTYgKzEzNzAsMTcgQEAgX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDEwaXNTZWxlY3Rl
ZAogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDExdGFyZ2V0RnJhbWVFdgogX19aTks3V2Vi
Q29yZTEzSGl0VGVzdFJlc3VsdDExdGV4dENvbnRlbnRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVz
dFJlc3VsdDEyaW5uZXJFbGVtZW50RXYKK19fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxMm1l
ZGlhSXNWaWRlb0V2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRhYnNvbHV0ZVBERlVS
TEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTRpbm5lck5vZGVGcmFtZUV2CiBfX1pO
SzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTVhYnNvbHV0ZUxpbmtVUkxFdgogX19aTks3V2ViQ29y
ZTEzSGl0VGVzdFJlc3VsdDE1c3BlbGxpbmdUb29sVGlwRVJOU18xM1RleHREaXJlY3Rpb25FCiBf
X1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTZhYnNvbHV0ZUltYWdlVVJMRXYKIF9fWk5LN1dl
YkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFic29sdXRlTWVkaWFVUkxFdgotX19aTks3V2ViQ29yZTEz
SGl0VGVzdFJlc3VsdDE5bWVkaWFJc0luRnVsbHNjcmVlbkV2CiBfX1pOSzdXZWJDb3JlMTNIaXRU
ZXN0UmVzdWx0MTZhbHREaXNwbGF5U3RyaW5nRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1
bHQxN2lzQ29udGVudEVkaXRhYmxlRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOHRp
dGxlRGlzcGxheVN0cmluZ0V2CitfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTltZWRpYUlz
SW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxOXJlY3RCYXNlZFRl
c3RSZXN1bHRFdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDVpbWFnZUV2CiBfX1pOSzdX
ZWJDb3JlMTNIaXRUZXN0UmVzdWx0NXRpdGxlRVJOU18xM1RleHREaXJlY3Rpb25FCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTE2NTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzOCBAQAorMjAxMy0wNi0xNyAgUnV0aCBGb25nICA8cnV0
aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBFeHBvc2UgYSBnZXRNZWRpYVR5cGUgbWV0aG9k
IGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE3NjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAg
IFVwZGF0ZWQgdG8gaW5jbHVkZSB0aGUgYWRkZWQgaGVhZGVyIGZpbGUgSW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgKKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0b0J1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGUpOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIEFkZGVkIG1ldGhv
ZHMgdG8gY29udmVydCBiZXR3ZWVuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUKKyAgICAg
ICAgYW5kIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS4KKworICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlZCB0byBpbmNsdWRlCisgICAgICAg
IEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIGluIHRoZSBXZWJLaXQyIHBy
b2plY3QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRN
ZWRpYVR5cGUpOiBFeHBvc2VzIHRoZSBtZXRob2QgZ2V0TWVkaWFUeXBlIGFuZAorICAgICAgICBo
b29rcyBpbnRvIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6Z2V0TWVkaWFUeXBlLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RS
ZXN1bHQuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0OjpnZXRNZWRpYVR5cGUpOiBBZGRlZCB0byByZXR1cm4gCisgICAgICAgIHdo
YXQgdHlwZSwgaWYgYW55LCBhIG1lZGlhIGVsZW1lbnQgaXMuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oOgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHRNZWRpYVR5cGUuaDogQWRkZWQKKyAgICAgICAgdG8gY29udGFpbiBuZXcgQnVuZGxlSGl0VGVz
dFJlc3VsdE1lZGlhVHlwZSBlbnVtcy4KKwogMjAxMy0wNi0xNyAgUnV0aCBGb25nICA8cnV0aF9m
b25nQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBJbXBvcnRhbnQgY29udHJvbHMg
YXJlIG1pc3NpbmcgZnJvbSA8dmlkZW8+IGVsZW1lbnQgVUksIHdoZW4gY29tcGFyZWQgdG8gUXVp
Y2tUaW1lCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDE1MTU3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkK
QEAgLTEwNzMsNiArMTA3Myw3IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVu
c2lvbi5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmggXAorCVNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVz
dWx0TWVkaWFUeXBlLmggXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24u
aCBcCiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHAgXApJbmRleDogU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCShyZXZpc2lv
biAxNTE1NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBA
IC0zMTAsNiArMzEwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oIFwKICAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggXAogICAgIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmggXAorICAgIFdlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBl
LmggXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0
aW9uQWN0aW9uLmggXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVQYWdlQ29udGV4dE1lbnVDbGllbnQuaCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIFwKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgJKHJldmlzaW9uIDE1MTU3
NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5j
bHVkZSAiRm9udFNtb290aGluZ0xldmVsLmgiCiAjaW5jbHVkZSAiSFRUUENvb2tpZUFjY2VwdFBv
bGljeS5oIgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5o
IgogI2luY2x1ZGUgIlBsdWdpbk1vZHVsZUluZm8uaCIKICNpbmNsdWRlICJQcm9jZXNzTW9kZWwu
aCIKICNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKKyNpbmNsdWRlICJXS0J1bmRs
ZUhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJXS0NvbnRleHQuaCIKICNpbmNsdWRlICJXS0Nv
b2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXS0NyZWRlbnRpYWxUeXBlcy5oIgpAQCAtMTAzLDYg
KzEwNSw3IEBAIFdLX0FERF9BUElfTUFQUElORyhXS0JhY2tGb3J3YXJkTGlzdEl0ZW0KIFdLX0FE
RF9BUElfTUFQUElORyhXS0JhY2tGb3J3YXJkTGlzdFJlZiwgV2ViQmFja0ZvcndhcmRMaXN0KQog
V0tfQUREX0FQSV9NQVBQSU5HKFdLQmF0dGVyeU1hbmFnZXJSZWYsIFdlYkJhdHRlcnlNYW5hZ2Vy
UHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tCYXR0ZXJ5U3RhdHVzUmVmLCBXZWJCYXR0ZXJ5
U3RhdHVzKQorV0tfQUREX0FQSV9NQVBQSU5HKFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZSwgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSkKIFdLX0FERF9BUElfTUFQUElORyhXS1Jl
c291cmNlQ2FjaGVNYW5hZ2VyUmVmLCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KQogV0tf
QUREX0FQSV9NQVBQSU5HKFdLQ29sb3JQaWNrZXJSZXN1bHRMaXN0ZW5lclJlZiwgV2ViQ29sb3JQ
aWNrZXJSZXN1bHRMaXN0ZW5lclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQ29udGV4dFJl
ZiwgV2ViQ29udGV4dCkKQEAgLTE0NCw2ICsxNDcsMzUgQEAgV0tfQUREX0FQSV9NQVBQSU5HKFdL
SW5zcGVjdG9yUmVmLCBXZWJJbgogCiAvKiBFbnVtIGNvbnZlcnNpb25zICovCiAKK2lubGluZSBC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIHRvQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlw
ZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgd2tNZWRpYVR5cGUpCit7CisgICAgc3dp
dGNoICh3a01lZGlhVHlwZSkgeworICAgIGNhc2Uga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlh
VHlwZU5vbmU6CisgICAgICAgIHJldHVybiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9u
ZTsKKyAgICBjYXNlIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzoKKyAgICAg
ICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzsKKyAgICBjYXNlIGtX
S0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzoKKyAgICAgICAgcmV0dXJuIEJ1bmRs
ZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbzsKKyAgICB9CisgICAgCisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25l
OworfQorICAgIAoraW5saW5lIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSB0b0FQSShC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIG1lZGlhVHlwZSkKK3sKKyAgICBzd2l0Y2ggKG1l
ZGlhVHlwZSkgeworICAgIGNhc2UgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU6Cisg
ICAgICAgIHJldHVybiBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKKyAgICBj
YXNlIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzoKKyAgICAgICAgcmV0dXJuIGtX
S0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzsKKyAgICBjYXNlIEJ1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGVWaWRlbzoKKyAgICAgICAgcmV0dXJuIGtXS0J1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGVWaWRlbzsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGtXS0J1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworfQorCiBpbmxpbmUgQ2FjaGVNb2RlbCB0b0NhY2hl
TW9kZWwoV0tDYWNoZU1vZGVsIHdrQ2FjaGVNb2RlbCkKIHsKICAgICBzd2l0Y2ggKHdrQ2FjaGVN
b2RlbCkgewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTgsNiArNTk4
LDcgQEAKIAkJN0NGNDdGRkIxNzI3NUM1NzAwOEFDQjkxIC8qIFBhZ2VCYW5uZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRjQ3RkY5MTcyNzVDNTcw
MDhBQ0I5MSAvKiBQYWdlQmFubmVyLmggKi87IH07CiAJCTdDRjQ3RkZFMTcyNzZBRTMwMDhBQ0I5
MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZGQzE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQ
YWdlQmFubmVyTWFjLm1tICovOyB9OwogCQk3Q0Y0N0ZGRjE3Mjc2QUUzMDA4QUNCOTEgLyogV0tC
dW5kbGVQYWdlQmFubmVyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0Y0N0ZGRDE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVy
TWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
ODQ0Nzc4NTMxNzZGQ0MwODAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODQ0Nzc4NTExNzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZS5oICovOyB9OwogCQk4Q0ZFQ0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9yU3Rh
dGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOENG
RUNFOTMxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCAqLzsgfTsKIAkJOERDMkVG
NTMwNDg2QTY5NDAwOThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcg
LyogSW5mb1BsaXN0LnN0cmluZ3MgKi87IH07CiAJCTkwOTg1NEVDMTJCQzRFMTcwMDBBRDA4MCAv
KiBXZWJNZW1vcnlTYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkwNTYyMEU4MTJCQzI0OEIwMDA3OTlCNiAvKiBXZWJNZW1vcnlTYW1wbGVy
LmNwcCAqLzsgfTsKQEAgLTIwODUsNiArMjA4Niw3IEBACiAJCTdDRjQ3RkY5MTcyNzVDNTcwMDhB
Q0I5MSAvKiBQYWdlQmFubmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
Z2VCYW5uZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NGNDdGRkMxNzI3NkFF
MzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQnVuZGxlUGFnZUJhbm5lck1hYy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NGNDdGRkQxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxl
UGFnZUJhbm5lck1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRs
ZVBhZ2VCYW5uZXJNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODQ0Nzc4NTEx
NzZGQ0FDMTAwQ0RDN0JCIC8qIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOENGRUNFOTMx
NDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEVkaXRvclN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOERDMkVGNUEwNDg2QTY5NDAwOThCMjE2IC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnBsaXN0LnhtbDsgcGF0aCA9IEluZm8ucGxpc3Q7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCThEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQyLmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFt
ZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFdlYktpdDIuZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtNDQyNiw2ICs0NDI4LDcgQEAKIAkJ
CQlCQzE0REY3NjEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5j
cHAgKi8sCiAJCQkJQkMxNERGNzUxMjBCNUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2Ny
aXB0V29ybGQuaCAqLywKIAkJCQlCQ0IwQjBERDEyMzA1QThDMDBCMTM0MUUgLyogSW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oICovLAorCQkJCTg0NDc3ODUxMTc2RkNBQzEwMENEQzdC
QiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gSW5qZWN0ZWRCdW5kbGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAt
NTg0MCw2ICs1ODQzLDcgQEAKIAkJCQlFMTRBOTU0QTE2RTAxNkE0MDA2OERFODIgLyogTmV0d29y
a1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzk4QzdB
MTZFNjgxODgwMDI0MDEzOSAvKiBOZXR3b3JrQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTUyNTUxQjE3MDExODE5MDAzRDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTg0NDc3ODUzMTc2RkNDMDgwMENEQzdCQiAvKiBJ
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNp
b24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICsz
MCw3IEBACiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L0VsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9GcmFtZUxvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CkBAIC0xMDMs
NiArMTA0LDE4IEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjptZWRpYUkKICAg
ICByZXR1cm4gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJbkZ1bGxzY3JlZW4oKTsKIH0KIAorQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Omdl
dE1lZGlhVHlwZSgpIGNvbnN0Cit7CisgICAgV2ViQ29yZTo6Tm9kZSogbm9kZSA9IG1faGl0VGVz
dFJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKTsKKyAgICBpZiAoIW5vZGUtPmlzRWxlbWVudE5v
ZGUoKSkKKyAgICAgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOwor
ICAgIAorICAgIGlmICghdG9FbGVtZW50KG5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQorICAgICAg
ICByZXR1cm4gQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU7CisgICAgCisgICAgcmV0
dXJuIG1faGl0VGVzdFJlc3VsdC5tZWRpYUlzVmlkZW8oKSA/IEJ1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGVWaWRlbyA6IEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbzsgICAgCit9
CisKIFN0cmluZyBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmxpbmtMYWJlbCgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1faGl0VGVzdFJlc3VsdC50ZXh0Q29udGVudCgpOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTE1NzQp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVm
aW5lIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdF9oCiAKICNpbmNsdWRlICJBUElPYmplY3Qu
aCIKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0hpdFRlc3RSZXN1bHQuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01Miw2ICs1Myw3IEBAIHB1YmxpYzoK
ICAgICBTdHJpbmcgYWJzb2x1dGVMaW5rVVJMKCkgY29uc3Q7CiAgICAgU3RyaW5nIGFic29sdXRl
TWVkaWFVUkwoKSBjb25zdDsKICAgICBib29sIG1lZGlhSXNJbkZ1bGxzY3JlZW4oKSBjb25zdDsK
KyAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIGdldE1lZGlhVHlwZSgpIGNvbnN0Owog
CiAgICAgU3RyaW5nIGxpbmtMYWJlbCgpIGNvbnN0OwogICAgIFN0cmluZyBsaW5rVGl0bGUoKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGUuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2lmbmRlZiBJbmplY3Rl
ZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVfaAorI2RlZmluZSBJbmplY3RlZEJ1bmRsZUhp
dFRlc3RSZXN1bHRNZWRpYVR5cGVfaAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBCdW5k
bGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIHsKKyAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlTm9uZSwKKyAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW8sCisgICAgQnVu
ZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZVZpZGVvCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZV9oCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCShyZXZp
c2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYg
Kzc5LDExIEBAIGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFJc0luRnVsbHMKICAgICBy
ZXR1cm4gdG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5tZWRpYUlzSW5GdWxsc2NyZWVuKCk7CiB9
CiAKK1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBXS0J1bmRsZUhpdFRlc3RSZXN1bHRH
ZXRNZWRpYVR5cGUoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHRSZWYpCit7
CisgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+Z2V0TWVkaWFUeXBl
KCkpOworfQorCiBXS1JlY3QgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0SW1hZ2VSZWN0KFdLQnVu
ZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0UmVmKQogewogICAgIHJldHVybiB0b0FQ
SSh0b0ltcGwoaGl0VGVzdFJlc3VsdFJlZiktPmltYWdlUmVjdCgpKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVz
dWx0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gMTUxNTc0KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhp
dFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsMTMgQEAKIGV4dGVybiAi
QyIgewogI2VuZGlmCiAKK2VudW0geworICAgIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5
cGVOb25lLAorICAgIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVBdWRpbywKKyAgICBr
V0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlVmlkZW8KK307Cit0eXBlZGVmIHVpbnQzMl90
IFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZTsKKwogV0tfRVhQT1JUIFdLVHlwZUlEIFdL
QnVuZGxlSGl0VGVzdFJlc3VsdEdldFR5cGVJRCgpOwogCiBXS19FWFBPUlQgV0tCdW5kbGVOb2Rl
SGFuZGxlUmVmIFdLQnVuZGxlSGl0VGVzdFJlc3VsdENvcHlOb2RlSGFuZGxlKFdLQnVuZGxlSGl0
VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKQEAgLTQ1LDYgKzUyLDcgQEAgV0tfRVhQT1JU
IFdLVVJMUmVmIFdLQnVuZGxlSGl0VGVzdFJlc3VsdAogV0tfRVhQT1JUIFdLVVJMUmVmIFdLQnVu
ZGxlSGl0VGVzdFJlc3VsdENvcHlBYnNvbHV0ZUxpbmtVUkwoV0tCdW5kbGVIaXRUZXN0UmVzdWx0
UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIFdLVVJMUmVmIFdLQnVuZGxlSGl0VGVzdFJl
c3VsdENvcHlBYnNvbHV0ZU1lZGlhVVJMKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0
UmVzdWx0KTsKIFdLX0VYUE9SVCBib29sIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhSXNJbkZ1
bGxzY3JlZW4oV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOworV0tfRVhQ
T1JUIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBXS0J1bmRsZUhpdFRlc3RSZXN1bHRH
ZXRNZWRpYVR5cGUoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogCiBX
S19FWFBPUlQgV0tSZWN0IFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldEltYWdlUmVjdChXS0J1bmRs
ZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CiBXS19FWFBPUlQgYm9vbCBXS0J1bmRs
ZUhpdFRlc3RSZXN1bHRHZXRJc1NlbGVjdGVkKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRU
ZXN0UmVzdWx0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204934</attachid>
            <date>2013-06-18 12:47:31 -0700</date>
            <delta_ts>2013-06-18 17:41:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117667-20130618124556.patch</filename>
            <type>text/plain</type>
            <size>17407</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTE4ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlhVHlw
ZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBVcGRhdGVkIHRvIGFkZCBhIHN5bWJvbCBmb3Ig
CisgICAgICAgIEhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNWaWRlbyBtZXRob2QKKyAgICAgICAgYW5k
IGFscGhhYmV0aXplIHRoZSBsaXN0IG9mIGV4cG9zZWQgbWV0aG9kcy4KKwogMjAxMy0wNi0xOCAg
Q29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjE1MTU0OS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZp
c2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBj
b3B5KQpAQCAtMTM3MCwxNiArMTM3MCwxNyBAQCBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0
MTBpc1NlbGVjdGVkCiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTF0YXJnZXRGcmFtZUV2
CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTF0ZXh0Q29udGVudEV2CiBfX1pOSzdXZWJD
b3JlMTNIaXRUZXN0UmVzdWx0MTJpbm5lckVsZW1lbnRFdgorX19aTks3V2ViQ29yZTEzSGl0VGVz
dFJlc3VsdDEybWVkaWFJc1ZpZGVvRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNGFi
c29sdXRlUERGVVJMRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNGlubmVyTm9kZUZy
YW1lRXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNWFic29sdXRlTGlua1VSTEV2CiBf
X1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTVzcGVsbGluZ1Rvb2xUaXBFUk5TXzEzVGV4dERp
cmVjdGlvbkUKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFic29sdXRlSW1hZ2VVUkxF
dgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE2YWJzb2x1dGVNZWRpYVVSTEV2Ci1fX1pO
SzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0MTltZWRpYUlzSW5GdWxsc2NyZWVuRXYKIF9fWk5LN1dl
YkNvcmUxM0hpdFRlc3RSZXN1bHQxNmFsdERpc3BsYXlTdHJpbmdFdgogX19aTks3V2ViQ29yZTEz
SGl0VGVzdFJlc3VsdDE3aXNDb250ZW50RWRpdGFibGVFdgogX19aTks3V2ViQ29yZTEzSGl0VGVz
dFJlc3VsdDE4dGl0bGVEaXNwbGF5U3RyaW5nRXYKK19fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1
bHQxOW1lZGlhSXNJbkZ1bGxzY3JlZW5FdgogX19aTks3V2ViQ29yZTEzSGl0VGVzdFJlc3VsdDE5
cmVjdEJhc2VkVGVzdFJlc3VsdEV2CiBfX1pOSzdXZWJDb3JlMTNIaXRUZXN0UmVzdWx0NWltYWdl
RXYKIF9fWk5LN1dlYkNvcmUxM0hpdFRlc3RSZXN1bHQ1dGl0bGVFUk5TXzEzVGV4dERpcmVjdGlv
bkUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTY4OCkKKysrIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEzLTA2LTE4ICBSdXRo
IEZvbmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGdldE1lZGlh
VHlwZSBtZXRob2QgaW4gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTc2NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnBy
aToKKyAgICAgICAgVXBkYXRlZCB0byBpbmNsdWRlIHRoZSBhZGRlZCBoZWFkZXIgZmlsZSBJbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaAorICAgICAgICAKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvQnVuZGxlSGl0
VGVzdFJlc3VsdE1lZGlhVHlwZSk6CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAg
QWRkZWQgbWV0aG9kcyB0byBjb252ZXJ0IGJldHdlZW4gQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlh
VHlwZQorICAgICAgICBhbmQgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLgorCisgICAg
ICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBVcGRhdGVkIHRvIGluY2x1
ZGUKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggaW4gdGhl
IFdlYktpdDIgcHJvamVjdC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdLQnVuZGxlSGl0VGVz
dFJlc3VsdEdldE1lZGlhVHlwZSk6IEV4cG9zZXMgdGhlIG1ldGhvZCBnZXRNZWRpYVR5cGUgYW5k
CisgICAgICAgIGhvb2tzIGludG8gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpnZXRNZWRp
YVR5cGUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlSGl0VGVzdFJlc3VsdC5oOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmdldE1lZGlhVHlwZSk6IEFkZGVkIHRvIHJldHVybiAK
KyAgICAgICAgd2hhdCB0eXBlLCBpZiBhbnksIGEgbWVkaWEgZWxlbWVudCBpcy4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
Lmg6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
SGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oOiBBZGRlZAorICAgICAgICB0byBjb250YWluIG5ldyBC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIGVudW1zLgorCiAyMDEzLTA2LTE3ICBTYW50b3No
IE1haHRvICA8c2FudG9zaC5tYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBFeHRyYSB3aGl0ZXNw
YWNlIGluIGJsYW5rIGxpbmUgaW4gUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcApJbmRleDogU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xMDczLDYgKzEwNzMs
NyBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCBcCiAJU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RS
ZXN1bHQuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
TmF2aWdhdGlvbkFjdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmggXAogCVNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlQ29udGV4dE1l
bnVDbGllbnQuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQkocmV2aXNpb24gMTUxNTc0KQorKysgU291
cmNlL1dlYktpdDIvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMzEwLDYgKzMxMCw3IEBA
IEhFQURFUlMgKz0gXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVDbGllbnQuaCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZURPTVdpbmRvd0V4dGVuc2lvbi5oIFwKICAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKyAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oIFwKICAgICBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIFwKICAg
ICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUNvbnRleHRNZW51
Q2xpZW50LmggXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCShyZXZpc2lvbiAxNTE1NzQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDkg
KzMwLDExIEBACiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIkZvbnRTbW9vdGhp
bmdMZXZlbC5oIgogI2luY2x1ZGUgIkhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCIKKyNpbmNsdWRl
ICJJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUuaCIKICNpbmNsdWRlICJQbHVn
aW5Nb2R1bGVJbmZvLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc01vZGVsLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VDYWNoZXNUb0NsZWFyLmgiCisjaW5jbHVkZSAiV0tCdW5kbGVIaXRUZXN0UmVzdWx0Lmgi
CiAjaW5jbHVkZSAiV0tDb250ZXh0LmgiCiAjaW5jbHVkZSAiV0tDb29raWVNYW5hZ2VyLmgiCiAj
aW5jbHVkZSAiV0tDcmVkZW50aWFsVHlwZXMuaCIKQEAgLTEwMyw2ICsxMDUsNyBAQCBXS19BRERf
QVBJX01BUFBJTkcoV0tCYWNrRm9yd2FyZExpc3RJdGVtCiBXS19BRERfQVBJX01BUFBJTkcoV0tC
YWNrRm9yd2FyZExpc3RSZWYsIFdlYkJhY2tGb3J3YXJkTGlzdCkKIFdLX0FERF9BUElfTUFQUElO
RyhXS0JhdHRlcnlNYW5hZ2VyUmVmLCBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5KQogV0tfQUREX0FQ
SV9NQVBQSU5HKFdLQmF0dGVyeVN0YXR1c1JlZiwgV2ViQmF0dGVyeVN0YXR1cykKK1dLX0FERF9B
UElfTUFQUElORyhXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUsIEJ1bmRsZUhpdFRlc3RS
ZXN1bHRNZWRpYVR5cGUpCiBXS19BRERfQVBJX01BUFBJTkcoV0tSZXNvdXJjZUNhY2hlTWFuYWdl
clJlZiwgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhX
S0NvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXJSZWYsIFdlYkNvbG9yUGlja2VyUmVzdWx0TGlzdGVu
ZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0NvbnRleHRSZWYsIFdlYkNvbnRleHQpCkBA
IC0xNDQsNiArMTQ3LDM2IEBAIFdLX0FERF9BUElfTUFQUElORyhXS0luc3BlY3RvclJlZiwgV2Vi
SW4KIAogLyogRW51bSBjb252ZXJzaW9ucyAqLwogCitpbmxpbmUgQnVuZGxlSGl0VGVzdFJlc3Vs
dE1lZGlhVHlwZSB0b0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUoV0tCdW5kbGVIaXRUZXN0
UmVzdWx0TWVkaWFUeXBlIHdrTWVkaWFUeXBlKQoreworICAgIHN3aXRjaCAod2tNZWRpYVR5cGUp
IHsKKyAgICBjYXNlIGtXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOgorICAgICAg
ICByZXR1cm4gQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU7CisgICAgY2FzZSBrV0tC
dW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW86CisgICAgICAgIHJldHVybiBCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVkaW87CisgICAgY2FzZSBrV0tCdW5kbGVIaXRUZXN0UmVz
dWx0TWVkaWFUeXBlVmlkZW86CisgICAgICAgIHJldHVybiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVk
aWFUeXBlVmlkZW87CisgICAgfQorICAgIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKK30KKyAgICAKK2lubGlu
ZSBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgdG9BUEkoQnVuZGxlSGl0VGVzdFJlc3Vs
dE1lZGlhVHlwZSBtZWRpYVR5cGUpCit7CisgICAgc3dpdGNoIChtZWRpYVR5cGUpIHsKKyAgICBj
YXNlIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOgorICAgICAgICByZXR1cm4ga1dL
QnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZU5vbmU7CisgICAgY2FzZSBCdW5kbGVIaXRUZXN0
UmVzdWx0TWVkaWFUeXBlQXVkaW86CisgICAgICAgIHJldHVybiBrV0tCdW5kbGVIaXRUZXN0UmVz
dWx0TWVkaWFUeXBlQXVkaW87CisgICAgY2FzZSBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBl
VmlkZW86CisgICAgICAgIHJldHVybiBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlVmlk
ZW87CisgICAgfQorICAgIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBr
V0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlTm9uZTsKK30KKwogaW5saW5lIENhY2hlTW9k
ZWwgdG9DYWNoZU1vZGVsKFdLQ2FjaGVNb2RlbCB3a0NhY2hlTW9kZWwpCiB7CiAgICAgc3dpdGNo
ICh3a0NhY2hlTW9kZWwpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAt
NTk4LDYgKzU5OCw3IEBACiAJCTdDRjQ3RkZCMTcyNzVDNTcwMDhBQ0I5MSAvKiBQYWdlQmFubmVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Y0N0ZG
OTE3Mjc1QzU3MDA4QUNCOTEgLyogUGFnZUJhbm5lci5oICovOyB9OwogCQk3Q0Y0N0ZGRTE3Mjc2
QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NGNDdGRkMxNzI3NkFFMzAwOEFDQjkxIC8q
IFdLQnVuZGxlUGFnZUJhbm5lck1hYy5tbSAqLzsgfTsKIAkJN0NGNDdGRkYxNzI3NkFFMzAwOEFD
QjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0NGNDdGRkQxNzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxl
UGFnZUJhbm5lck1hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTg0NDc3ODUzMTc2RkNDMDgwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg0NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYVR5cGUuaCAqLzsgfTsKIAkJOENGRUNFOTQxNDkwRjE0MDAwMkFBQTMyIC8q
IEVkaXRvclN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDhDRkVDRTkzMTQ5MEYxNDAwMDJBQUEzMiAvKiBFZGl0b3JTdGF0ZS5jcHAgKi87IH07
CiAJCThEQzJFRjUzMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvUGxpc3Quc3RyaW5ncyBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg5QzE2NjZGRTg0MTE1
OEMwMkFBQzA3IC8qIEluZm9QbGlzdC5zdHJpbmdzICovOyB9OwogCQk5MDk4NTRFQzEyQkM0RTE3
MDAwQUQwODAgLyogV2ViTWVtb3J5U2FtcGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDU2MjBFODEyQkMyNDhCMDAwNzk5QjYgLyogV2ViTWVt
b3J5U2FtcGxlci5jcHAgKi87IH07CkBAIC0yMDg1LDYgKzIwODYsNyBAQAogCQk3Q0Y0N0ZGOTE3
Mjc1QzU3MDA4QUNCOTEgLyogUGFnZUJhbm5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQYWdlQmFubmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDRjQ3
RkZDMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDRjQ3RkZEMTcyNzZBRTMwMDhBQ0I5MSAv
KiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tCdW5kbGVQYWdlQmFubmVyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg0NDc3ODUxMTc2RkNBQzEwMENEQzdCQiAvKiBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CThDRkVDRTkzMTQ5MEYxNDAwMDJBQUEzMiAvKiBFZGl0b3JTdGF0ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFZGl0b3JTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCThEQzJFRjVBMDQ4NkE2OTQwMDk4QjIxNiAvKiBJbmZvLnBsaXN0ICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSBJbmZvLnBsaXN0OyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0Mi5mcmFt
ZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdy
YXBwZXIuZnJhbWV3b3JrOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBXZWJLaXQyLmZyYW1l
d29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTQ0MjYsNiArNDQy
OCw3IEBACiAJCQkJQkMxNERGNzYxMjBCNUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2Ny
aXB0V29ybGQuY3BwICovLAogCQkJCUJDMTRERjc1MTIwQjVCNzkwMDgyNkMwQyAvKiBJbmplY3Rl
ZEJ1bmRsZVNjcmlwdFdvcmxkLmggKi8sCiAJCQkJQkNCMEIwREQxMjMwNUE4QzAwQjEzNDFFIC8q
IEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCAqLywKKwkJCQk4NDQ3Nzg1MTE3NkZD
QUMxMDBDREM3QkIgLyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggKi8s
CiAJCQkpOwogCQkJcGF0aCA9IEluamVjdGVkQnVuZGxlOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTU4NDAsNiArNTg0Myw3IEBACiAJCQkJRTE0QTk1NEExNkUwMTZBNDAwNjhERTgy
IC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTc5OEM3QTE2RTY4MTg4MDAyNDAxMzkgLyogTmV0d29ya0Jsb2JSZWdpc3RyeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTE1MjU1MUIxNzAxMTgxOTAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NDQ3Nzg1MzE3NkZDQzA4MDBD
REM3QkIgLyogSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5j
cHAJKHJldmlzaW9uIDE1MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViRnJh
bWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RvY3VtZW50Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9FbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5o
PgpAQCAtMTAzLDYgKzEwNCwxOCBAQCBib29sIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6
bWVkaWFJCiAgICAgcmV0dXJuIG1faGl0VGVzdFJlc3VsdC5tZWRpYUlzSW5GdWxsc2NyZWVuKCk7
CiB9CiAKK0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0OjpnZXRNZWRpYVR5cGUoKSBjb25zdAoreworICAgIFdlYkNvcmU6Ok5vZGUqIG5vZGUg
PSBtX2hpdFRlc3RSZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCk7CisgICAgaWYgKCFub2RlLT5p
c0VsZW1lbnROb2RlKCkpCisgICAgICAgIHJldHVybiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlTm9uZTsKKyAgICAKKyAgICBpZiAoIXRvRWxlbWVudChub2RlKS0+aXNNZWRpYUVsZW1lbnQo
KSkKKyAgICAgICAgcmV0dXJuIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVOb25lOworICAg
IAorICAgIHJldHVybiBtX2hpdFRlc3RSZXN1bHQubWVkaWFJc1ZpZGVvKCkgPyBCdW5kbGVIaXRU
ZXN0UmVzdWx0TWVkaWFUeXBlVmlkZW8gOiBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVk
aW87ICAgIAorfQorCiBTdHJpbmcgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjpsaW5rTGFi
ZWwoKSBjb25zdAogewogICAgIHJldHVybiBtX2hpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaAkocmV2aXNp
b24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcs
NyBAQAogI2RlZmluZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRfaAogCiAjaW5jbHVkZSAi
QVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFU
eXBlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9IaXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNTIsNiArNTMsNyBA
QCBwdWJsaWM6CiAgICAgU3RyaW5nIGFic29sdXRlTGlua1VSTCgpIGNvbnN0OwogICAgIFN0cmlu
ZyBhYnNvbHV0ZU1lZGlhVVJMKCkgY29uc3Q7CiAgICAgYm9vbCBtZWRpYUlzSW5GdWxsc2NyZWVu
KCkgY29uc3Q7CisgICAgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBnZXRNZWRpYVR5cGUo
KSBjb25zdDsKIAogICAgIFN0cmluZyBsaW5rTGFiZWwoKSBjb25zdDsKICAgICBTdHJpbmcgbGlu
a1RpdGxlKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdE1l
ZGlhVHlwZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyNpZm5k
ZWYgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlX2gKKyNkZWZpbmUgSW5qZWN0
ZWRCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlX2gKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2VudW0gQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSB7CisgICAgQnVuZGxlSGl0VGVzdFJl
c3VsdE1lZGlhVHlwZU5vbmUsCisgICAgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZUF1ZGlv
LAorICAgIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGVWaWRlbworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRp
YVR5cGVfaApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0
LmNwcAkocmV2aXNpb24gMTUxNTc0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw2ICs3OSwxMSBAQCBib29sIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhSXNJbkZ1
bGxzCiAgICAgcmV0dXJuIHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+bWVkaWFJc0luRnVsbHNj
cmVlbigpOwogfQogCitXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVz
dWx0UmVmKQoreworICAgIHJldHVybiB0b0FQSSh0b0ltcGwoaGl0VGVzdFJlc3VsdFJlZiktPmdl
dE1lZGlhVHlwZSgpKTsKK30KKwogV0tSZWN0IFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldEltYWdl
UmVjdChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdFJlZikKIHsKICAgICBy
ZXR1cm4gdG9BUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5pbWFnZVJlY3QoKSk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
SGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDE1
MTU3NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDEzIEBA
CiBleHRlcm4gIkMiIHsKICNlbmRpZgogCitlbnVtIHsKKyAgICBrV0tCdW5kbGVIaXRUZXN0UmVz
dWx0TWVkaWFUeXBlTm9uZSwKKyAgICBrV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlQXVk
aW8sCisgICAga1dLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZVZpZGVvCit9OwordHlwZWRl
ZiB1aW50MzJfdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGU7CisKIFdLX0VYUE9SVCBX
S1R5cGVJRCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRUeXBlSUQoKTsKIAogV0tfRVhQT1JUIFdL
QnVuZGxlTm9kZUhhbmRsZVJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5Tm9kZUhhbmRsZShX
S0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CkBAIC00NSw2ICs1Miw3IEBA
IFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHQKIFdLX0VYUE9SVCBXS1VS
TFJlZiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVMaW5rVVJMKFdLQnVuZGxlSGl0
VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIFdLX0VYUE9SVCBXS1VSTFJlZiBXS0J1bmRs
ZUhpdFRlc3RSZXN1bHRDb3B5QWJzb2x1dGVNZWRpYVVSTChXS0J1bmRsZUhpdFRlc3RSZXN1bHRS
ZWYgaGl0VGVzdFJlc3VsdCk7CiBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRN
ZWRpYUlzSW5GdWxsc2NyZWVuKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0
KTsKK1dLX0VYUE9SVCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVz
dWx0KTsKIAogV0tfRVhQT1JUIFdLUmVjdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRJbWFnZVJl
Y3QoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIGJv
b2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0SXNTZWxlY3RlZChXS0J1bmRsZUhpdFRlc3RSZXN1
bHRSZWYgaGl0VGVzdFJlc3VsdCk7Cg==
</data>
<flag name="review"
          id="226352"
          type_id="1"
          status="+"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="226353"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>