<?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>118343</bug_id>
          
          <creation_ts>2013-07-03 01:07:31 -0700</creation_ts>
          <short_desc>[WK2][Soup] Support cache model in NetworkProcess</short_desc>
          <delta_ts>2013-12-09 04:03:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>110115</dependson>
    
    <dependson>118388</dependson>
          <blocked>108832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Kwang Yul Seo">skyul</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>905728</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-03 01:07:31 -0700</bug_when>
    <thetext>WebKit::NetworkProcess::platformSetCacheModel and WebKit::NetworkProcess::clearCacheForAllOrigins need to be implemented to support cache model in NetworkProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905744</commentid>
    <comment_count>1</comment_count>
      <attachid>205980</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-03 01:38:01 -0700</bug_when>
    <thetext>Created attachment 205980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909056</commentid>
    <comment_count>2</comment_count>
      <attachid>205980</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-16 16:17:33 -0700</bug_when>
    <thetext>Comment on attachment 205980
Patch

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

&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:81
&gt; +    g_object_set(session, SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
&gt; +        SOUP_SESSION_SSL_STRICT, FALSE, 0);

The last argument of g_object_set should be NULL instead of 0. Otherwise, the compiler warns &quot;missing sentinel in function call  [-Wformat]&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921027</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-26 08:10:16 -0700</bug_when>
    <thetext>just a note: this patch might conflict with the patch in https://bugs.webkit.org/show_bug.cgi?id=118520. Only the Source/WebKit2/GNUmakefile.list.am, it depends on which patch lands eaarlier. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933512</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 08:18:43 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=205980) [details]
&gt; Patch

The patch is still up-to-date. Could you review it please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933517</commentid>
    <comment_count>5</comment_count>
      <attachid>205980</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 08:31:41 -0700</bug_when>
    <thetext>Comment on attachment 205980
Patch

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

&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:79
&gt; +    SoupSession* session = WebCore::ResourceHandle::defaultSession();

Just a note: bug118388 is going to add a session named variable to the same block. 
This one or the other one should be modified/removed before landing.

Maybe the best thing would be to let the other bug define and initialize this variable and simple use it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933524</commentid>
    <comment_count>6</comment_count>
      <attachid>212715</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 09:04:34 -0700</bug_when>
    <thetext>Created attachment 212715
patch

updated: one more include added, avoid the conflict with bug118388</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933527</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-26 09:05:29 -0700</bug_when>
    <thetext>Now it depends on bug118388 too because of session variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934635</commentid>
    <comment_count>8</comment_count>
      <attachid>213006</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-30 09:41:33 -0700</bug_when>
    <thetext>Created attachment 213006
patch

(In reply to comment #2)
&gt; (From update of attachment 205980 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=205980&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:81
&gt; &gt; +    g_object_set(session, SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
&gt; &gt; +        SOUP_SESSION_SSL_STRICT, FALSE, 0);
&gt; 
&gt; The last argument of g_object_set should be NULL instead of 0. Otherwise, the compiler warns &quot;missing sentinel in function call  [-Wformat]&quot;

Fixed this warning too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937116</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-07 10:21:08 -0700</bug_when>
    <thetext>ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937172</commentid>
    <comment_count>10</comment_count>
      <attachid>213006</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-10-07 12:09:42 -0700</bug_when>
    <thetext>Comment on attachment 213006
patch

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

I&apos;m fine with this if Soup reviewers are.

&gt; Source/WebKit2/ChangeLog:15
&gt; +        The following things were fixed by Csaba OsztrogonÃÂ¡c:

Encoding issue in the ChangeLog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938331</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-10 07:31:51 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 213006 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213006&amp;action=review
&gt; 
&gt; I&apos;m fine with this if Soup reviewers are.

cc Carlos as SOUP reviewer. Any objection?
 
&gt; &gt; Source/WebKit2/ChangeLog:15
&gt; &gt; +        The following things were fixed by Csaba OsztrogonÃÂ¡c:
&gt; 
&gt; Encoding issue in the ChangeLog?
No, the bug is in the pretty diff script, not in my name :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938759</commentid>
    <comment_count>12</comment_count>
      <attachid>213006</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-11 03:24:21 -0700</bug_when>
    <thetext>Comment on attachment 213006
patch

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

&gt; Source/WebKit2/GNUmakefile.list.am:483
&gt; +	Source/WebKit2/Shared/soup/CacheModelHelper.cpp \
&gt; +	Source/WebKit2/Shared/soup/CacheModelHelper.h \

I&apos;m going to add the new files to cmake buildsystem too.

&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:38
&gt; +#include &lt;libsoup/soup.h&gt;

ditto

&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:80
&gt; +    // Despite using system CAs to validate certificates we&apos;re
&gt; +    // accepting invalid certificates by default. New API will be
&gt; +    // added later to let client accept/discard invalid certificates.
&gt; +    g_object_set(session, SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
&gt; +        SOUP_SESSION_SSL_STRICT, FALSE, NULL);
&gt; +

Now all unix ports use soup, but it won&apos;t be true in the future
after Nix will switch to curl. That&apos;s why I&apos;m going to add a
USE(SOUP) guard for this block.

&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:86
&gt; +    if (SoupSessionFeature* soupCache = soup_session_get_feature(session, SOUP_TYPE_CACHE)) {
&gt; +        soup_cache_flush(SOUP_CACHE(soupCache));
&gt; +        soup_cache_dump(SOUP_CACHE(soupCache));
&gt; +    }

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938764</commentid>
    <comment_count>13</comment_count>
      <attachid>213980</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-11 03:46:12 -0700</bug_when>
    <thetext>Created attachment 213980
Patch

blind fix, will be built locally a little bit later</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938765</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-11 03:47:13 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; Source/WebKit2/ChangeLog:15
&gt; &gt; +        The following things were fixed by Csaba OsztrogonÃÂ¡c:
&gt; 
&gt; Encoding issue in the ChangeLog?
Ooops, you were right, it was really buggy, I fixed it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938766</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-11 03:47:58 -0700</bug_when>
    <thetext>Attachment 213980 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/GNUmakefile.list.am&apos;, u&apos;Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp&apos;, u&apos;Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp&apos;, u&apos;Source/WebKit2/PlatformEfl.cmake&apos;, u&apos;Source/WebKit2/PlatformGTK.cmake&apos;, u&apos;Source/WebKit2/Shared/soup/CacheModelHelper.cpp&apos;, u&apos;Source/WebKit2/Shared/soup/CacheModelHelper.h&apos;, u&apos;Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp&apos;]&quot; exit_code: 1
Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:82:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938769</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-11 03:58:22 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Attachment 213980 [details] did not pass style-queue:
&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:82:  Use 0 instead of NULL.  [readability/null] [5]
&gt; Total errors found: 1 in 9 files

False positive report, we have to use NULL here to 
avoid build failure, see Comment #2 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938787</commentid>
    <comment_count>17</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-11 06:51:06 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=213980) [details]
&gt; Patch
&gt; 
&gt; blind fix, will be built locally a little bit later

I tested, it builds locally with enabled network process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939505</commentid>
    <comment_count>18</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-14 10:28:13 -0700</bug_when>
    <thetext>Carlos, could you review it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939883</commentid>
    <comment_count>19</comment_count>
      <attachid>213980</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-15 00:23:56 -0700</bug_when>
    <thetext>Comment on attachment 213980
Patch

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

Looks good to me in general, I have a few comments.

&gt; Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp:32
&gt; +#include &quot;Logging.h&quot;

What is logging used for?

&gt; Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp:64
&gt; +    SoupSession* session = WebCore::ResourceHandle::defaultSession();

You don&apos;t need the WebCore:: prefix.

&gt; Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp:87
&gt; +    SoupSession* session = WebCore::ResourceHandle::defaultSession();

Ditto.

&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:81
&gt; +    g_object_set(session, SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,

Where does this session came from?

&gt; Source/WebKit2/Shared/soup/CacheModelHelper.cpp:48
&gt; +    return WebCore::getVolumeFreeSizeForPath(cacheDir.get());

You don&apos;t need the WebCore:: prefix here either.

&gt; Source/WebKit2/Shared/soup/CacheModelHelper.cpp:68
&gt; +uint64_t getMemorySize()
&gt; +{
&gt; +    static uint64_t kDefaultMemorySize = 512;
&gt; +#if !OS(WINDOWS)
&gt; +    long pageSize = sysconf(_SC_PAGESIZE);
&gt; +    if (pageSize == -1)
&gt; +        return kDefaultMemorySize;
&gt; +
&gt; +    long physPages = sysconf(_SC_PHYS_PAGES);
&gt; +    if (physPages == -1)
&gt; +        return kDefaultMemorySize;
&gt; +
&gt; +    return ((pageSize / 1024) * physPages) / 1024;
&gt; +#else
&gt; +    // Fallback to default for other platforms.
&gt; +    return kDefaultMemorySize;
&gt; +#endif
&gt; +}

Mac also has a function to get the memory size duplicated in WebProcessMac.mm and NetworkProcessMac.mm, I think we could add a common interface to WebCore platform with both implementations there, since this method doesn&apos;t depend on any cache model. getCacheDiskFreeSize() is simple enough that we could have it duplicated in WebProcessSoup and NetworkProcessSoup so that we don&apos;t need this new file just for a simple function.

&gt; Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp:-80
&gt; -

I think you should also check in the web process if the network process is in use to not use the disk cache or other network stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939991</commentid>
    <comment_count>20</comment_count>
      <attachid>213980</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-15 09:23:57 -0700</bug_when>
    <thetext>Comment on attachment 213980
Patch

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

&gt;&gt; Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp:32
&gt;&gt; +#include &quot;Logging.h&quot;
&gt; 
&gt; What is logging used for?

We don&apos;t need it, I&apos;ll remove.

&gt;&gt; Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp:64
&gt;&gt; +    SoupSession* session = WebCore::ResourceHandle::defaultSession();
&gt; 
&gt; You don&apos;t need the WebCore:: prefix.

Will remove it.

&gt;&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:81
&gt;&gt; +    g_object_set(session, SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
&gt; 
&gt; Where does this session came from?

Tricky. :) It comes from http://trac.webkit.org/changeset/157406

&gt;&gt; Source/WebKit2/Shared/soup/CacheModelHelper.cpp:48
&gt;&gt; +    return WebCore::getVolumeFreeSizeForPath(cacheDir.get());
&gt; 
&gt; You don&apos;t need the WebCore:: prefix here either.

Will remove.

&gt;&gt; Source/WebKit2/Shared/soup/CacheModelHelper.cpp:68
&gt;&gt; +}
&gt; 
&gt; Mac also has a function to get the memory size duplicated in WebProcessMac.mm and NetworkProcessMac.mm, I think we could add a common interface to WebCore platform with both implementations there, since this method doesn&apos;t depend on any cache model. getCacheDiskFreeSize() is simple enough that we could have it duplicated in WebProcessSoup and NetworkProcessSoup so that we don&apos;t need this new file just for a simple function.

I checked the Mac implementation, they use exactly same memorySize function, and similar
volumeFreeSize() functions. The only difference is the parameter type (NSString* vs const String&amp;)
Additionally they have a same volumeFreeSize implementation (as the WebProcess one) in
Source/WebKit/mac/Misc/WebKitSystemBits.m and an ancient version of memorySize.

I don&apos;t think if we should do this unification here. It can be done as a followup patch,
it must be a low hanging fruit for somebody with Mac build environment.

&gt;&gt; Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp:-80
&gt;&gt; -
&gt; 
&gt; I think you should also check in the web process if the network process is in use to not use the disk cache or other network stuff.

Good point, I&apos;ll fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939993</commentid>
    <comment_count>21</comment_count>
      <attachid>214269</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-15 09:26:53 -0700</bug_when>
    <thetext>Created attachment 214269
patch on top of attachment213980

I&apos;ll integrate it to https://bugs.webkit.org/attachment.cgi?id=213980 immediately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940009</commentid>
    <comment_count>22</comment_count>
      <attachid>214274</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-15 09:43:49 -0700</bug_when>
    <thetext>Created attachment 214274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940010</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 09:45:28 -0700</bug_when>
    <thetext>Attachment 214274 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/GNUmakefile.list.am&apos;, u&apos;Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp&apos;, u&apos;Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp&apos;, u&apos;Source/WebKit2/PlatformEfl.cmake&apos;, u&apos;Source/WebKit2/PlatformGTK.cmake&apos;, u&apos;Source/WebKit2/Shared/soup/CacheModelHelper.cpp&apos;, u&apos;Source/WebKit2/Shared/soup/CacheModelHelper.h&apos;, u&apos;Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp&apos;]&quot; exit_code: 1
Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:95:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941175</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-18 06:48:15 -0700</bug_when>
    <thetext>ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941769</commentid>
    <comment_count>25</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-21 02:14:33 -0700</bug_when>
    <thetext>ping for review please</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942162</commentid>
    <comment_count>26</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-21 23:00:55 -0700</bug_when>
    <thetext>ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942593</commentid>
    <comment_count>27</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-22 23:21:07 -0700</bug_when>
    <thetext>ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944402</commentid>
    <comment_count>28</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-29 06:01:30 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; &gt;&gt; Source/WebKit2/Shared/soup/CacheModelHelper.cpp:68
&gt; &gt;&gt; +}
&gt; &gt; 
&gt; &gt; Mac also has a function to get the memory size duplicated in WebProcessMac.mm and NetworkProcessMac.mm, I think we could add a common interface to WebCore platform with both implementations there, since this method doesn&apos;t depend on any cache model. getCacheDiskFreeSize() is simple enough that we could have it duplicated in WebProcessSoup and NetworkProcessSoup so that we don&apos;t need this new file just for a simple function.
&gt; 
&gt; I checked the Mac implementation, they use exactly same memorySize function, and similar
&gt; volumeFreeSize() functions. The only difference is the parameter type (NSString* vs const String&amp;)
&gt; Additionally they have a same volumeFreeSize implementation (as the WebProcess one) in
&gt; Source/WebKit/mac/Misc/WebKitSystemBits.m and an ancient version of memorySize.
&gt; 
&gt; I don&apos;t think if we should do this unification here. It can be done as a followup patch,
&gt; it must be a low hanging fruit for somebody with Mac build environment.
&gt;

If we are going to do it in a follow up patch, I prefer to duplicate the code for now, instead of adding new files that we are going to remove later. It will make this patch simpler too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944403</commentid>
    <comment_count>29</comment_count>
      <attachid>214274</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-29 06:04:02 -0700</bug_when>
    <thetext>Comment on attachment 214274
Patch

Would it be possible to have m_usesNetworkProcess unconditionally and initialize it to false when !ENABLE(NETWORK_PROCESS) so that we don&apos;t need an #if every time the variable is used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957597</commentid>
    <comment_count>30</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-12-08 04:11:31 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 214274 [details])
&gt; Would it be possible to have m_usesNetworkProcess unconditionally and initialize it to false when !ENABLE(NETWORK_PROCESS) so that we don&apos;t need an #if every time the variable is used?

It sounds good, but it should be a separate refactoring patch because the current convention of guarding m_usesNetworkProcess with ENABLE(NETWORK_PROCESS) is all over WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957822</commentid>
    <comment_count>31</comment_count>
      <attachid>218743</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-12-09 03:07:23 -0800</bug_when>
    <thetext>Created attachment 218743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957823</commentid>
    <comment_count>32</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-12-09 03:08:14 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; If we are going to do it in a follow up patch, I prefer to duplicate the code for now, instead of adding new files that we are going to remove later. It will make this patch simpler too.

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957825</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-09 03:09:45 -0800</bug_when>
    <thetext>Attachment 218743 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp&apos;, u&apos;Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp&apos;, u&apos;Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:95:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957836</commentid>
    <comment_count>34</comment_count>
      <attachid>218743</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-12-09 03:37:29 -0800</bug_when>
    <thetext>Comment on attachment 218743
Patch

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

&gt; Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp:36
&gt; +

Please, remove this empty line

&gt; Source/WebKit2/NetworkProcess/unix/NetworkProcessMainUnix.cpp:40
&gt; +#if USE(SOUP)
&gt; +#include &lt;libsoup/soup.h&gt;
&gt; +#endif

I think we don&apos;t need to keep the alphabetic order for headers added inside an #if block, so I think it&apos;s better to move this below right after the #if PLATFORM(EFL) block

&gt; Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp:104
&gt; +#if ENABLE(NETWORK_PROCESS)
&gt; +    if (!m_usesNetworkProcess) {
&gt; +#endif
&gt; +        SoupSession* session = WebCore::ResourceHandle::defaultSession();
&gt; +        cache = SOUP_CACHE(soup_session_get_feature(session, SOUP_TYPE_CACHE));
&gt; +        diskFreeSize = getCacheDiskFreeSize(cache) / 1024 / 1024;
&gt; +#if ENABLE(NETWORK_PROCESS)
&gt; +    }
&gt; +#endif

I think we could define those unconditionally and return false when network process is not enabled, but if we can probably do it in a follow up patch to not block this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957847</commentid>
    <comment_count>35</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-12-09 04:03:51 -0800</bug_when>
    <thetext>Committed r160307: &lt;http://trac.webkit.org/changeset/160307&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205980</attachid>
            <date>2013-07-03 01:38:01 -0700</date>
            <delta_ts>2013-09-30 09:41:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118343-20130703173535.patch</filename>
            <type>text/plain</type>
            <size>13696</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTJmYjk0YzdiNGI5YWRl
YjVlMjliMGNkOTk1YmZhOTJlNDQ4YTUxMS4uYzgxOTk0MTE1OWNjMDZjNGY3YjgyYTI0NjE4Mjhi
MjFhNGEwMzQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTA3LTAzICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl1bU291cF0g
U3VwcG9ydCBjYWNoZSBtb2RlbCBpbiBOZXR3b3JrUHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MzQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29waWVkIGNhY2hlIG1vZGVsIGNvZGUgZnJv
bSBXZWJQcm9jZXNzLgorCisgICAgICAgIE1vdmVkIGdldENhY2hlRGlza0ZyZWVTaXplIGFuZCBn
ZXRNZW1vcnlTaXplIGludG8gYSBzZXBlcmF0ZSBmaWxlIHNvCisgICAgICAgIHRoZXkgY2FuIGJl
IHNoYXJlZCBiZXR3ZWVuIFdlYlByb2Nlc3MgYW5kIE5ldHdvcmtQcm9jZXNzLgorCisgICAgICAg
IE5ldHdvcmtQcm9jZXNzIGlzIGNvbmZpZ3VyZWQgbm90IHRvIHVzZSB0aGUgV2ViQ29yZSBtZW1v
cnkgY2FjaGUuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAg
ICAgICAgSW5pdGlhbGl6ZSBzb3VwIGNhY2hlLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKToKKyAgICAgICAgQ29waWVkIGNvZGUgZnJvbSBX
ZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwgYnV0IHJlbW92ZWQKKyAgICAgICAgV2Vi
Q29yZSBtZW1vcnkgY2FjaGUgaW5pdGlhbGl6YXRpb24gYmVjYXVzZSBOZXR3b3JrUHJvY2VzcyBk
b2VzIG5vdCB1c2UKKyAgICAgICAgdGhlIFdlYkNvcmUgbWVtb3J5IGNhY2hlLgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMpOgorICAgICAg
ICBDb3BpZWQgY29kZSBmcm9tIFdlYlByb2Nlc3M6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zLgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3VuaXgvTmV0d29ya1Byb2Nlc3NNYWluVW5peC5jcHA6
CisgICAgICAgIENvcGllZCBpbml0aWFsaXphdGlvbiBjb2RlIGZyb20gV2ViUHJvY2Vzc01haW5H
dGsuY3BwLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc01haW4pOgorICAgICAgICAq
IFNoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAuCisgICAgICAg
IChXZWJLaXQ6OmdldENhY2hlRGlza0ZyZWVTaXplKToKKyAgICAgICAgTW92ZWQgZnJvbSBXZWJQ
cm9jZXNzU291cC5jcHAgdG8gc2hhcmUgaXQgYmV0d2VlbiBXZWJQcm9jZXNzIGFuZCBOZXR3b3Jr
UHJvY2Vzcy4KKyAgICAgICAgKFdlYktpdDo6Z2V0TWVtb3J5U2l6ZSk6CisgICAgICAgIE1vdmVk
IGZyb20gV2ViUHJvY2Vzc1NvdXAuY3BwIHRvIHNoYXJlIGl0IGJldHdlZW4gV2ViUHJvY2VzcyBh
bmQgTmV0d29ya1Byb2Nlc3MuCisgICAgICAgICogU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBl
ci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdv
cmtQcm9jZXNzU291cC5jcHAuCisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NT
b3VwLmNwcDoKKwogMjAxMy0wNy0wMSAgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAu
bmV0PgogCiAgICAgICAgIEJ1aWxkIGZpeDogdXNlIG9mIGxvbmcgbG9uZyBpbiBDb3JlSVBDOjpB
cmd1bWVudEVuY29kZXIgYW5kIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggMDA5M2FjOTQzNGYwZDZmMTYxZWQ4Y2Q4ZmQwZGZjMGQ4MWUz
MGZhNS4uNGI4M2M4ZmI5ZDk1NWFjNmQyYzEzNGMwYmI2YjllMTZlZjgwYWUyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01MTUsNiArNTE1LDggQEAgd2Via2l0Ml9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9TdGF0aXN0aWNzRGF0YS5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DYWNoZU1v
ZGVsSGVscGVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhl
bHBlci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0
ZW50U3RvcmFnZVR5cGUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAKaW5kZXggZDhlYmFjYmQwZDdmNDUx
NWNlZDEwYzE3MzRiYzQxN2NlYmJjOWVmNi4uMDEwMDY5Y2Y4ZGE3NjZjMzYxMzBjMGQ5YzZiOTk3
YmU0ZmVmMDU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291
cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcApAQCAtMjgsMjAgKzI4LDQ5IEBACiAjaWYg
RU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogCisj
aW5jbHVkZSAiQ2FjaGVNb2RlbEhlbHBlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIlJlc291
cmNlQ2FjaGVzVG9DbGVhci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CisKKyNpbmNsdWRlIDxsaWJzb3Vw
L3NvdXAuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vz
cyhjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpCit2b2lkIE5ldHdvcmtQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKKyAgICBBU1NFUlQoIXBhcmFt
ZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSk7CisgICAgR1JlZlB0cjxTb3VwQ2Fj
aGU+IHNvdXBDYWNoZSA9IGFkb3B0R1JlZihzb3VwX2NhY2hlX25ldyhwYXJhbWV0ZXJzLmRpc2tD
YWNoZURpcmVjdG9yeS51dGY4KCkuZGF0YSgpLCBTT1VQX0NBQ0hFX1NJTkdMRV9VU0VSKSk7Cisg
ICAgc291cF9zZXNzaW9uX2FkZF9mZWF0dXJlKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZh
dWx0U2Vzc2lvbigpLCBTT1VQX1NFU1NJT05fRkVBVFVSRShzb3VwQ2FjaGUuZ2V0KCkpKTsKKyAg
ICBzb3VwX2NhY2hlX2xvYWQoc291cENhY2hlLmdldCgpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwpCit2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogewotICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsK
KyAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CisgICAgdW5zaWduZWQgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHkgPSAwOworICAgIGRvdWJsZSBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gMDsKKyAgICB1bnNpZ25lZCBwYWdlQ2FjaGVDYXBhY2l0eSA9IDA7CisKKyAg
ICB1bnNpZ25lZCBsb25nIHVybENhY2hlTWVtb3J5Q2FwYWNpdHkgPSAwOworICAgIHVuc2lnbmVk
IGxvbmcgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSAwOworCisgICAgU291cFNlc3Npb24qIHNlc3Np
b24gPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKKyAgICBTb3Vw
Q2FjaGUqIGNhY2hlID0gU09VUF9DQUNIRShzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lv
biwgU09VUF9UWVBFX0NBQ0hFKSk7CisgICAgdWludDY0X3QgZGlza0ZyZWVTaXplID0gZ2V0Q2Fj
aGVEaXNrRnJlZVNpemUoY2FjaGUpIC8gMTAyNCAvIDEwMjQ7CisKKyAgICB1aW50NjRfdCBtZW1T
aXplID0gZ2V0TWVtb3J5U2l6ZSgpOworICAgIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoY2FjaGVNb2Rl
bCwgbWVtU2l6ZSwgZGlza0ZyZWVTaXplLAorICAgICAgICBjYWNoZVRvdGFsQ2FwYWNpdHksIGNh
Y2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCwKKyAgICAgICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5LCB1cmxDYWNo
ZU1lbW9yeUNhcGFjaXR5LCB1cmxDYWNoZURpc2tDYXBhY2l0eSk7CisKKyAgICBpZiAodXJsQ2Fj
aGVEaXNrQ2FwYWNpdHkgPiBzb3VwX2NhY2hlX2dldF9tYXhfc2l6ZShjYWNoZSkpCisgICAgICAg
IHNvdXBfY2FjaGVfc2V0X21heF9zaXplKGNhY2hlLCB1cmxDYWNoZURpc2tDYXBhY2l0eSk7CiB9
CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9y
SG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYpCkBAIC01
MSw3ICs4MCwxMSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0
aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxhdGZvcm1DZXJ0aWZpYwogCiB2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKGNhY2hlc1RvQ2xlYXIgPT0gSW5NZW1vcnlS
ZXNvdXJjZUNhY2hlc09ubHkpCisgICAgICAgIHJldHVybjsKKworICAgIFNvdXBTZXNzaW9uKiBz
ZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7CisgICAg
c291cF9jYWNoZV9jbGVhcihTT1VQX0NBQ0hFKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNz
aW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRm
b3JtVGVybWluYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L3VuaXgvTmV0d29ya1Byb2Nlc3NNYWluVW5peC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy91bml4L05ldHdvcmtQcm9jZXNzTWFpblVuaXguY3BwCmluZGV4IDA0OWNlY2RkMmIx
YjNiN2ZlZWIyZjMyN2UzYjAwZDlmMjVkMWIzY2MuLjcyZWM1OTU3N2IwYTY0MWEyNDE2MzU1ZDRl
NzgwZjZlNDc0Y2RjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L3VuaXgvTmV0d29ya1Byb2Nlc3NNYWluVW5peC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcApAQCAtMzEsOSArMzEs
MTEgQEAKIAogI2luY2x1ZGUgIldLQmFzZS5oIgogI2luY2x1ZGUgIldlYktpdDJJbml0aWFsaXpl
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUnVuTG9vcC5oPgogI2luY2x1ZGUgPFdlYktpdDIvTmV0d29ya1Byb2Nlc3MuaD4KICNpbmNs
dWRlIDxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgogI2luY2x1ZGUgPHJ1bnRp
bWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CkBAIC03MSw4ICs3MywyMCBAQCBXS19FWFBPUlQgaW50IE5ldHdv
cmtQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogCiAgICAgTmV0d29ya1Byb2Nl
c3M6OnNoYXJlZCgpLmluaXRpYWxpemUocGFyYW1ldGVycyk7CiAKKyAgICAvLyBEZXNwaXRlIHVz
aW5nIHN5c3RlbSBDQXMgdG8gdmFsaWRhdGUgY2VydGlmaWNhdGVzIHdlJ3JlCisgICAgLy8gYWNj
ZXB0aW5nIGludmFsaWQgY2VydGlmaWNhdGVzIGJ5IGRlZmF1bHQuIE5ldyBBUEkgd2lsbCBiZQor
ICAgIC8vIGFkZGVkIGxhdGVyIHRvIGxldCBjbGllbnQgYWNjZXB0L2Rpc2NhcmQgaW52YWxpZCBj
ZXJ0aWZpY2F0ZXMuCisgICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKKyAgICBnX29iamVjdF9zZXQoc2Vzc2lvbiwgU09V
UF9TRVNTSU9OX1NTTF9VU0VfU1lTVEVNX0NBX0ZJTEUsIFRSVUUsCisgICAgICAgIFNPVVBfU0VT
U0lPTl9TU0xfU1RSSUNULCBGQUxTRSwgMCk7CisKICAgICBSdW5Mb29wOjpydW4oKTsKIAorICAg
IGlmIChTb3VwU2Vzc2lvbkZlYXR1cmUqIHNvdXBDYWNoZSA9IHNvdXBfc2Vzc2lvbl9nZXRfZmVh
dHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSB7CisgICAgICAgIHNvdXBfY2FjaGVfZmx1
c2goU09VUF9DQUNIRShzb3VwQ2FjaGUpKTsKKyAgICAgICAgc291cF9jYWNoZV9kdW1wKFNPVVBf
Q0FDSEUoc291cENhY2hlKSk7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTJkNWI1NmFkZTYwZWFhMWM5NWY4ZTc4NGNiOWExYzcyY2ZhM2I4NQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwCkBAIC0w
LDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIE1PVE9ST0xBIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIE1P
VE9ST0xBIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhY2hlTW9kZWxI
ZWxwZXIuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPGxp
YnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KKyNpbmNsdWRl
IDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitu
YW1lc3BhY2UgV2ViS2l0IHsKKwordWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENh
Y2hlKiBjYWNoZSkKK3sKKyAgICBBU1NFUlQoY2FjaGUpOworCisgICAgR093blB0cjxjaGFyPiBj
YWNoZURpcjsKKyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2FjaGUpLCAiY2FjaGUtZGlyIiwg
JmNhY2hlRGlyLm91dFB0cigpLCBOVUxMKTsKKyAgICBpZiAoIWNhY2hlRGlyKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIHJldHVybiBXZWJDb3JlOjpnZXRWb2x1bWVGcmVlU2l6ZUZvclBhdGgo
Y2FjaGVEaXIuZ2V0KCkpOworfQorCit1aW50NjRfdCBnZXRNZW1vcnlTaXplKCkKK3sKKyAgICBz
dGF0aWMgdWludDY0X3Qga0RlZmF1bHRNZW1vcnlTaXplID0gNTEyOworI2lmICFPUyhXSU5ET1dT
KQorICAgIGxvbmcgcGFnZVNpemUgPSBzeXNjb25mKF9TQ19QQUdFU0laRSk7CisgICAgaWYgKHBh
Z2VTaXplID09IC0xKQorICAgICAgICByZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAg
bG9uZyBwaHlzUGFnZXMgPSBzeXNjb25mKF9TQ19QSFlTX1BBR0VTKTsKKyAgICBpZiAocGh5c1Bh
Z2VzID09IC0xKQorICAgICAgICByZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAgcmV0
dXJuICgocGFnZVNpemUgLyAxMDI0KSAqIHBoeXNQYWdlcykgLyAxMDI0OworI2Vsc2UKKyAgICAv
LyBGYWxsYmFjayB0byBkZWZhdWx0IGZvciBvdGhlciBwbGF0Zm9ybXMuCisgICAgcmV0dXJuIGtE
ZWZhdWx0TWVtb3J5U2l6ZTsKKyNlbmRpZgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyZTdkMjU3MmY1ZDI5NWQ2NDE4ZTkzNDM2YzUzMjE1NDRmMTAwYzgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmgKQEAg
LTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgTU9UT1JPTEEgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
TU9UT1JPTEEgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhY2hlTW9kZWxIZWxwZXJfaAorI2RlZmluZSBDYWNo
ZU1vZGVsSGVscGVyX2gKKworI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0
ZGludC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJl
ZVNpemUoU291cENhY2hlKik7Cit1aW50NjRfdCBnZXRNZW1vcnlTaXplKCk7CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gQ2FjaGVNb2RlbEhlbHBlcl9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAppbmRleCBjN2Jl
YTkyODY0ZjFjMjhhNzYwMGM2NTNmMDE5Zjg2NWFjZTdlMjlkLi41OWNmYzMzM2QyZDg4NDE1ZGY3
NDdmYmI0OWNmNzRiZDI2MDdkZmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJT
ZWNjb21wRmlsdGVyc1dlYlByb2Nlc3NFZmwuaCIKICNlbmRpZgogCisjaW5jbHVkZSAiQ2FjaGVN
b2RlbEhlbHBlci5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2ViU291cFJlcXVlc3RN
YW5hZ2VyLmgiCkBAIC00MCw0NCArNDEsMTIgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VDYWNo
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxsaWJz
b3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci1zdGF0aWMgdWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKiBjYWNoZSkK
LXsKLSAgICBBU1NFUlQoY2FjaGUpOwotCi0gICAgR093blB0cjxjaGFyPiBjYWNoZURpcjsKLSAg
ICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2FjaGUpLCAiY2FjaGUtZGlyIiwgJmNhY2hlRGlyLm91
dFB0cigpLCBOVUxMKTsKLSAgICBpZiAoIWNhY2hlRGlyKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIHJldHVybiBXZWJDb3JlOjpnZXRWb2x1bWVGcmVlU2l6ZUZvclBhdGgoY2FjaGVEaXIuZ2V0
KCkpOwotfQotCi1zdGF0aWMgdWludDY0X3QgZ2V0TWVtb3J5U2l6ZSgpCi17Ci0gICAgc3RhdGlj
IHVpbnQ2NF90IGtEZWZhdWx0TWVtb3J5U2l6ZSA9IDUxMjsKLSNpZiAhT1MoV0lORE9XUykKLSAg
ICBsb25nIHBhZ2VTaXplID0gc3lzY29uZihfU0NfUEFHRVNJWkUpOwotICAgIGlmIChwYWdlU2l6
ZSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6ZTsKLQotICAgIGxvbmcg
cGh5c1BhZ2VzID0gc3lzY29uZihfU0NfUEhZU19QQUdFUyk7Ci0gICAgaWYgKHBoeXNQYWdlcyA9
PSAtMSkKLSAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6ZTsKLQotICAgIHJldHVybiAo
KHBhZ2VTaXplIC8gMTAyNCkgKiBwaHlzUGFnZXMpIC8gMTAyNDsKLSNlbHNlCi0gICAgLy8gRmFs
bGJhY2sgdG8gZGVmYXVsdCBmb3Igb3RoZXIgcGxhdGZvcm1zLgotICAgIHJldHVybiBrRGVmYXVs
dE1lbW9yeVNpemU7Ci0jZW5kaWYKLX0KLQogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENh
Y2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogewogICAgIHVuc2lnbmVkIGNhY2hlVG90
YWxDYXBhY2l0eSA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212715</attachid>
            <date>2013-09-26 09:04:34 -0700</date>
            <delta_ts>2013-09-30 09:41:33 -0700</delta_ts>
            <desc>patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>15370</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">Y29tbWl0IDhlOWE5Yzc4OWYzYjU5MTgzODM2NTU0YjE5NGViMDJhOGFkMzliNGYKQXV0aG9yOiBD
c2FiYSBPc3p0cm9nb27DoWMgPG9zc3lAd2Via2l0Lm9yZz4KRGF0ZTogICBUaHUgU2VwIDI2IDE4
OjAyOjM3IDIwMTMgKzAyMDAKCiAgICBbV0syXVtTb3VwXSBTdXBwb3J0IGNhY2hlIG1vZGVsIGlu
IE5ldHdvcmtQcm9jZXNzCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE4MzQzCiAgICAKICAgIFBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkx
MDAubmV0PiBvbiAyMDEzLTA5LTI2CiAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICAg
IAogICAgQ29waWVkIGNhY2hlIG1vZGVsIGNvZGUgZnJvbSBXZWJQcm9jZXNzLgogICAgCiAgICBN
b3ZlZCBnZXRDYWNoZURpc2tGcmVlU2l6ZSBhbmQgZ2V0TWVtb3J5U2l6ZSBpbnRvIGEgc2VwZXJh
dGUgZmlsZSBzbwogICAgdGhleSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gV2ViUHJvY2VzcyBhbmQg
TmV0d29ya1Byb2Nlc3MuCiAgICAKICAgIE5ldHdvcmtQcm9jZXNzIGlzIGNvbmZpZ3VyZWQgbm90
IHRvIHVzZSB0aGUgV2ViQ29yZSBtZW1vcnkgY2FjaGUuCiAgICAKICAgIFRoZSBmb2xsb3dpbmcg
dGhpbmdzIHdlcmUgZml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw4PCoWM6CiAgICAtIFJlbW92ZSBz
ZXNzaW9uIHZhcmlhYmxlIG5vdCB0byBoYXZlIGNvbmZsaWN0IHdpdGggaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM4OAogICAgLSBBZGQgR1JlZlB0ci5oIGluY2x1
ZGUuCiAgICAKICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKICAgICogTmV0d29ya1Byb2Nlc3Mv
c291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwOgogICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKICAgIEluaXRpYWxpemUgc291cCBj
YWNoZS4KICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwp
OgogICAgQ29waWVkIGNvZGUgZnJvbSBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwg
YnV0IHJlbW92ZWQKICAgIFdlYkNvcmUgbWVtb3J5IGNhY2hlIGluaXRpYWxpemF0aW9uIGJlY2F1
c2UgTmV0d29ya1Byb2Nlc3MgZG9lcyBub3QgdXNlCiAgICB0aGUgV2ViQ29yZSBtZW1vcnkgY2Fj
aGUuCiAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMp
OgogICAgQ29waWVkIGNvZGUgZnJvbSBXZWJQcm9jZXNzOjpjbGVhckNhY2hlRm9yQWxsT3JpZ2lu
cy4KICAgICogTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcDoK
ICAgIENvcGllZCBpbml0aWFsaXphdGlvbiBjb2RlIGZyb20gV2ViUHJvY2Vzc01haW5HdGsuY3Bw
LgogICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NNYWluKToKICAgICogU2hhcmVkL3NvdXAvQ2Fj
aGVNb2RlbEhlbHBlci5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcC4KICAgIChXZWJLaXQ6OmdldENhY2hlRGlz
a0ZyZWVTaXplKToKICAgIE1vdmVkIGZyb20gV2ViUHJvY2Vzc1NvdXAuY3BwIHRvIHNoYXJlIGl0
IGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCiAgICAoV2ViS2l0OjpnZXRN
ZW1vcnlTaXplKToKICAgIE1vdmVkIGZyb20gV2ViUHJvY2Vzc1NvdXAuY3BwIHRvIHNoYXJlIGl0
IGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCiAgICAqIFNoYXJlZC9zb3Vw
L0NhY2hlTW9kZWxIZWxwZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwLgogICAgKiBXZWJQcm9jZXNzL3NvdXAv
V2ViUHJvY2Vzc1NvdXAuY3BwOgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNTI5N2FkLi5mZmNkY2RmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsNDQgQEAKIDIwMTMtMDktMjYgIEt3YW5nIFl1bCBTZW8gIDxza3l1
bEBjb21wYW55MTAwLm5ldD4KIAorICAgICAgICBbV0syXVtTb3VwXSBTdXBwb3J0IGNhY2hlIG1v
ZGVsIGluIE5ldHdvcmtQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTgzNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDb3BpZWQgY2FjaGUgbW9kZWwgY29kZSBmcm9tIFdlYlByb2Nlc3MuCisK
KyAgICAgICAgTW92ZWQgZ2V0Q2FjaGVEaXNrRnJlZVNpemUgYW5kIGdldE1lbW9yeVNpemUgaW50
byBhIHNlcGVyYXRlIGZpbGUgc28KKyAgICAgICAgdGhleSBjYW4gYmUgc2hhcmVkIGJldHdlZW4g
V2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCisKKyAgICAgICAgTmV0d29ya1Byb2Nlc3Mg
aXMgY29uZmlndXJlZCBub3QgdG8gdXNlIHRoZSBXZWJDb3JlIG1lbW9yeSBjYWNoZS4KKworICAg
ICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENzYWJhIE9zenRyb2dvbsOD
wqFjOgorICAgICAgICAtIFJlbW92ZSBzZXNzaW9uIHZhcmlhYmxlIG5vdCB0byBoYXZlIGNvbmZs
aWN0IHdpdGggaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM4OAor
ICAgICAgICAtIEFkZCBHUmVmUHRyLmggaW5jbHVkZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1Nv
dXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFs
aXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICBJbml0aWFsaXplIHNvdXAgY2FjaGUuCisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwpOgorICAg
ICAgICBDb3BpZWQgY29kZSBmcm9tIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbCBi
dXQgcmVtb3ZlZAorICAgICAgICBXZWJDb3JlIG1lbW9yeSBjYWNoZSBpbml0aWFsaXphdGlvbiBi
ZWNhdXNlIE5ldHdvcmtQcm9jZXNzIGRvZXMgbm90IHVzZQorICAgICAgICB0aGUgV2ViQ29yZSBt
ZW1vcnkgY2FjaGUuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjbGVhckNhY2hl
Rm9yQWxsT3JpZ2lucyk6CisgICAgICAgIENvcGllZCBjb2RlIGZyb20gV2ViUHJvY2Vzczo6Y2xl
YXJDYWNoZUZvckFsbE9yaWdpbnMuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3
b3JrUHJvY2Vzc01haW5Vbml4LmNwcDoKKyAgICAgICAgQ29waWVkIGluaXRpYWxpemF0aW9uIGNv
ZGUgZnJvbSBXZWJQcm9jZXNzTWFpbkd0ay5jcHAuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzTWFpbik6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1By
b2Nlc3NTb3VwLmNwcC4KKyAgICAgICAgKFdlYktpdDo6Z2V0Q2FjaGVEaXNrRnJlZVNpemUpOgor
ICAgICAgICBNb3ZlZCBmcm9tIFdlYlByb2Nlc3NTb3VwLmNwcCB0byBzaGFyZSBpdCBiZXR3ZWVu
IFdlYlByb2Nlc3MgYW5kIE5ldHdvcmtQcm9jZXNzLgorICAgICAgICAoV2ViS2l0OjpnZXRNZW1v
cnlTaXplKToKKyAgICAgICAgTW92ZWQgZnJvbSBXZWJQcm9jZXNzU291cC5jcHAgdG8gc2hhcmUg
aXQgYmV0d2VlbiBXZWJQcm9jZXNzIGFuZCBOZXR3b3JrUHJvY2Vzcy4KKyAgICAgICAgKiBTaGFy
ZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorCisyMDEzLTA5LTI2ICBLd2FuZyBZdWwg
U2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgW1dLMl1bU291cF0gQWRkIHBs
YXRmb3JtIHNwZWNpZmljIHN0dWJzIGZvciBOZXR3b3JrUHJvY2VzcwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTE1CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IDliN2MyNjkuLjhlZjY4ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNDc5LDYgKzQ3OSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGlj
c0RhdGEuaCBcCisJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5j
cHAgXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuaCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9O
ZXR3b3JrUHJvY2Vzc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291
cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwCmluZGV4IGQ4ZWJhY2IuLmE1NDQwNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9j
ZXNzU291cC5jcHAKQEAgLTI4LDIwICsyOCw1MCBAQAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NF
U1MpCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKIAorI2luY2x1ZGUgIkNhY2hlTW9kZWxI
ZWxwZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUhhbmRsZS5oPgorCisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CisjaW5jbHVkZSA8
d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6
ZU5ldHdvcmtQcm9jZXNzKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikK
K3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKGNv
bnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogeworICAg
IEFTU0VSVCghcGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkuaXNFbXB0eSgpKTsKKyAgICBH
UmVmUHRyPFNvdXBDYWNoZT4gc291cENhY2hlID0gYWRvcHRHUmVmKHNvdXBfY2FjaGVfbmV3KHBh
cmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LnV0ZjgoKS5kYXRhKCksIFNPVVBfQ0FDSEVfU0lO
R0xFX1VTRVIpKTsKKyAgICBzb3VwX3Nlc3Npb25fYWRkX2ZlYXR1cmUoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCksIFNPVVBfU0VTU0lPTl9GRUFUVVJFKHNvdXBDYWNo
ZS5nZXQoKSkpOworICAgIHNvdXBfY2FjaGVfbG9hZChzb3VwQ2FjaGUuZ2V0KCkpOwogfQogCi12
b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCkKK3Zv
aWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hl
TW9kZWwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICB1bnNpZ25lZCBjYWNoZVRvdGFs
Q2FwYWNpdHkgPSAwOworICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKKyAg
ICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7CisgICAgZG91YmxlIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSAwOworICAgIHVuc2lnbmVkIHBhZ2VDYWNoZUNhcGFj
aXR5ID0gMDsKKworICAgIHVuc2lnbmVkIGxvbmcgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSA9IDA7
CisgICAgdW5zaWduZWQgbG9uZyB1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDA7CisKKyAgICBTb3Vw
U2Vzc2lvbiogc2Vzc2lvbiA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lv
bigpOworICAgIFNvdXBDYWNoZSogY2FjaGUgPSBTT1VQX0NBQ0hFKHNvdXBfc2Vzc2lvbl9nZXRf
ZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKTsKKyAgICB1aW50NjRfdCBkaXNrRnJl
ZVNpemUgPSBnZXRDYWNoZURpc2tGcmVlU2l6ZShjYWNoZSkgLyAxMDI0IC8gMTAyNDsKKworICAg
IHVpbnQ2NF90IG1lbVNpemUgPSBnZXRNZW1vcnlTaXplKCk7CisgICAgY2FsY3VsYXRlQ2FjaGVT
aXplcyhjYWNoZU1vZGVsLCBtZW1TaXplLCBkaXNrRnJlZVNpemUsCisgICAgICAgIGNhY2hlVG90
YWxDYXBhY2l0eSwgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLAorICAgICAgICAgICAgcGFnZUNhY2hlQ2Fw
YWNpdHksIHVybENhY2hlTWVtb3J5Q2FwYWNpdHksIHVybENhY2hlRGlza0NhcGFjaXR5KTsKKwor
ICAgIGlmICh1cmxDYWNoZURpc2tDYXBhY2l0eSA+IHNvdXBfY2FjaGVfZ2V0X21heF9zaXplKGNh
Y2hlKSkKKyAgICAgICAgc291cF9jYWNoZV9zZXRfbWF4X3NpemUoY2FjaGUsIHVybENhY2hlRGlz
a0NhcGFjaXR5KTsKIH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3Qg
U3RyaW5nJikKQEAgLTUxLDcgKzgxLDExIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljCiAKIHZv
aWQgTmV0d29ya1Byb2Nlc3M6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hl
c1RvQ2xlYXIpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAoY2FjaGVzVG9DbGVh
ciA9PSBJbk1lbW9yeVJlc291cmNlQ2FjaGVzT25seSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
U291cFNlc3Npb24qIHNlc3Npb24gPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNl
c3Npb24oKTsKKyAgICBzb3VwX2NhY2hlX2NsZWFyKFNPVVBfQ0FDSEUoc291cF9zZXNzaW9uX2dl
dF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9DQUNIRSkpKTsKIH0KIAogdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6cGxhdGZvcm1UZXJtaW5hdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL3VuaXgvTmV0d29ya1Byb2Nlc3NNYWluVW5peC5jcHAKaW5k
ZXggYzgyYWY4NC4uZjA5YmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9jZXNzTWFpblVuaXguY3BwCkBAIC0zMSw5
ICszMSwxMSBAQAogCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSAiV2ViS2l0MkluaXRp
YWxpemUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy5oPgog
I2luY2x1ZGUgPGVycm9yLmg+CisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTcwLDggKzcyLDE5IEBAIFdLX0VYUE9SVCBpbnQg
TmV0d29ya1Byb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAKICAgICBOZXR3b3Jr
UHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzKTsKIAorICAgIC8vIERlc3Bp
dGUgdXNpbmcgc3lzdGVtIENBcyB0byB2YWxpZGF0ZSBjZXJ0aWZpY2F0ZXMgd2UncmUKKyAgICAv
LyBhY2NlcHRpbmcgaW52YWxpZCBjZXJ0aWZpY2F0ZXMgYnkgZGVmYXVsdC4gTmV3IEFQSSB3aWxs
IGJlCisgICAgLy8gYWRkZWQgbGF0ZXIgdG8gbGV0IGNsaWVudCBhY2NlcHQvZGlzY2FyZCBpbnZh
bGlkIGNlcnRpZmljYXRlcy4KKyAgICBnX29iamVjdF9zZXQoc2Vzc2lvbiwgU09VUF9TRVNTSU9O
X1NTTF9VU0VfU1lTVEVNX0NBX0ZJTEUsIFRSVUUsCisgICAgICAgIFNPVVBfU0VTU0lPTl9TU0xf
U1RSSUNULCBGQUxTRSwgMCk7CisKICAgICBSdW5Mb29wOjpydW4oKTsKIAorICAgIGlmIChTb3Vw
U2Vzc2lvbkZlYXR1cmUqIHNvdXBDYWNoZSA9IHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNz
aW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSB7CisgICAgICAgIHNvdXBfY2FjaGVfZmx1c2goU09VUF9D
QUNIRShzb3VwQ2FjaGUpKTsKKyAgICAgICAgc291cF9jYWNoZV9kdW1wKFNPVVBfQ0FDSEUoc291
cENhY2hlKSk7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYTJkNWI1NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIE1PVE9ST0xBIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIE1PVE9ST0xBIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhY2hlTW9kZWxIZWxwZXIuaCIKKworI2luY2x1
ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2lu
Y2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVm
UHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsK
KwordWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKiBjYWNoZSkKK3sKKyAg
ICBBU1NFUlQoY2FjaGUpOworCisgICAgR093blB0cjxjaGFyPiBjYWNoZURpcjsKKyAgICBnX29i
amVjdF9nZXQoR19PQkpFQ1QoY2FjaGUpLCAiY2FjaGUtZGlyIiwgJmNhY2hlRGlyLm91dFB0cigp
LCBOVUxMKTsKKyAgICBpZiAoIWNhY2hlRGlyKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJl
dHVybiBXZWJDb3JlOjpnZXRWb2x1bWVGcmVlU2l6ZUZvclBhdGgoY2FjaGVEaXIuZ2V0KCkpOwor
fQorCit1aW50NjRfdCBnZXRNZW1vcnlTaXplKCkKK3sKKyAgICBzdGF0aWMgdWludDY0X3Qga0Rl
ZmF1bHRNZW1vcnlTaXplID0gNTEyOworI2lmICFPUyhXSU5ET1dTKQorICAgIGxvbmcgcGFnZVNp
emUgPSBzeXNjb25mKF9TQ19QQUdFU0laRSk7CisgICAgaWYgKHBhZ2VTaXplID09IC0xKQorICAg
ICAgICByZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAgbG9uZyBwaHlzUGFnZXMgPSBz
eXNjb25mKF9TQ19QSFlTX1BBR0VTKTsKKyAgICBpZiAocGh5c1BhZ2VzID09IC0xKQorICAgICAg
ICByZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAgcmV0dXJuICgocGFnZVNpemUgLyAx
MDI0KSAqIHBoeXNQYWdlcykgLyAxMDI0OworI2Vsc2UKKyAgICAvLyBGYWxsYmFjayB0byBkZWZh
dWx0IGZvciBvdGhlciBwbGF0Zm9ybXMuCisgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6ZTsK
KyNlbmRpZgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjgyZTdkMjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgTU9UT1JPTEEgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgTU9UT1JPTEEgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENh
Y2hlTW9kZWxIZWxwZXJfaAorI2RlZmluZSBDYWNoZU1vZGVsSGVscGVyX2gKKworI2luY2x1ZGUg
PGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKik7Cit1aW50NjRf
dCBnZXRNZW1vcnlTaXplKCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
Q2FjaGVNb2RlbEhlbHBlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3Vw
L1dlYlByb2Nlc3NTb3VwLmNwcAppbmRleCBjN2JlYTkyLi41OWNmYzMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlICJTZWNjb21wRmlsdGVyc1dlYlByb2Nlc3NFZmwuaCIKICNlbmRp
ZgogCisjaW5jbHVkZSAiQ2FjaGVNb2RlbEhlbHBlci5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1h
bmFnZXIuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiV2ViU291cFJlcXVlc3RNYW5hZ2VyLmgiCkBAIC00MCw0NCArNDEsMTIgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL1BhZ2VDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5k
bGUuaD4KICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgdWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNp
emUoU291cENhY2hlKiBjYWNoZSkKLXsKLSAgICBBU1NFUlQoY2FjaGUpOwotCi0gICAgR093blB0
cjxjaGFyPiBjYWNoZURpcjsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2FjaGUpLCAiY2Fj
aGUtZGlyIiwgJmNhY2hlRGlyLm91dFB0cigpLCBOVUxMKTsKLSAgICBpZiAoIWNhY2hlRGlyKQot
ICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBXZWJDb3JlOjpnZXRWb2x1bWVGcmVlU2l6
ZUZvclBhdGgoY2FjaGVEaXIuZ2V0KCkpOwotfQotCi1zdGF0aWMgdWludDY0X3QgZ2V0TWVtb3J5
U2l6ZSgpCi17Ci0gICAgc3RhdGljIHVpbnQ2NF90IGtEZWZhdWx0TWVtb3J5U2l6ZSA9IDUxMjsK
LSNpZiAhT1MoV0lORE9XUykKLSAgICBsb25nIHBhZ2VTaXplID0gc3lzY29uZihfU0NfUEFHRVNJ
WkUpOwotICAgIGlmIChwYWdlU2l6ZSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVt
b3J5U2l6ZTsKLQotICAgIGxvbmcgcGh5c1BhZ2VzID0gc3lzY29uZihfU0NfUEhZU19QQUdFUyk7
Ci0gICAgaWYgKHBoeXNQYWdlcyA9PSAtMSkKLSAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5
U2l6ZTsKLQotICAgIHJldHVybiAoKHBhZ2VTaXplIC8gMTAyNCkgKiBwaHlzUGFnZXMpIC8gMTAy
NDsKLSNlbHNlCi0gICAgLy8gRmFsbGJhY2sgdG8gZGVmYXVsdCBmb3Igb3RoZXIgcGxhdGZvcm1z
LgotICAgIHJldHVybiBrRGVmYXVsdE1lbW9yeVNpemU7Ci0jZW5kaWYKLX0KLQogdm9pZCBXZWJQ
cm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogewog
ICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213006</attachid>
            <date>2013-09-30 09:41:33 -0700</date>
            <delta_ts>2013-10-11 03:46:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>15373</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">Y29tbWl0IDhlOWE5Yzc4OWYzYjU5MTgzODM2NTU0YjE5NGViMDJhOGFkMzliNGYKQXV0aG9yOiBD
c2FiYSBPc3p0cm9nb27DoWMgPG9zc3lAd2Via2l0Lm9yZz4KRGF0ZTogICBUaHUgU2VwIDI2IDE4
OjAyOjM3IDIwMTMgKzAyMDAKCiAgICBbV0syXVtTb3VwXSBTdXBwb3J0IGNhY2hlIG1vZGVsIGlu
IE5ldHdvcmtQcm9jZXNzCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTE4MzQzCiAgICAKICAgIFBhdGNoIGJ5IEt3YW5nIFl1bCBTZW8gPHNreXVsQGNvbXBhbnkx
MDAubmV0PiBvbiAyMDEzLTA5LTI2CiAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICAg
IAogICAgQ29waWVkIGNhY2hlIG1vZGVsIGNvZGUgZnJvbSBXZWJQcm9jZXNzLgogICAgCiAgICBN
b3ZlZCBnZXRDYWNoZURpc2tGcmVlU2l6ZSBhbmQgZ2V0TWVtb3J5U2l6ZSBpbnRvIGEgc2VwZXJh
dGUgZmlsZSBzbwogICAgdGhleSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gV2ViUHJvY2VzcyBhbmQg
TmV0d29ya1Byb2Nlc3MuCiAgICAKICAgIE5ldHdvcmtQcm9jZXNzIGlzIGNvbmZpZ3VyZWQgbm90
IHRvIHVzZSB0aGUgV2ViQ29yZSBtZW1vcnkgY2FjaGUuCiAgICAKICAgIFRoZSBmb2xsb3dpbmcg
dGhpbmdzIHdlcmUgZml4ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw4PCoWM6CiAgICAtIFJlbW92ZSBz
ZXNzaW9uIHZhcmlhYmxlIG5vdCB0byBoYXZlIGNvbmZsaWN0IHdpdGggaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM4OAogICAgLSBBZGQgR1JlZlB0ci5oIGluY2x1
ZGUuCiAgICAKICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKICAgICogTmV0d29ya1Byb2Nlc3Mv
c291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwOgogICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKICAgIEluaXRpYWxpemUgc291cCBj
YWNoZS4KICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwp
OgogICAgQ29waWVkIGNvZGUgZnJvbSBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwg
YnV0IHJlbW92ZWQKICAgIFdlYkNvcmUgbWVtb3J5IGNhY2hlIGluaXRpYWxpemF0aW9uIGJlY2F1
c2UgTmV0d29ya1Byb2Nlc3MgZG9lcyBub3QgdXNlCiAgICB0aGUgV2ViQ29yZSBtZW1vcnkgY2Fj
aGUuCiAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMp
OgogICAgQ29waWVkIGNvZGUgZnJvbSBXZWJQcm9jZXNzOjpjbGVhckNhY2hlRm9yQWxsT3JpZ2lu
cy4KICAgICogTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcDoK
ICAgIENvcGllZCBpbml0aWFsaXphdGlvbiBjb2RlIGZyb20gV2ViUHJvY2Vzc01haW5HdGsuY3Bw
LgogICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NNYWluKToKICAgICogU2hhcmVkL3NvdXAvQ2Fj
aGVNb2RlbEhlbHBlci5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcC4KICAgIChXZWJLaXQ6OmdldENhY2hlRGlz
a0ZyZWVTaXplKToKICAgIE1vdmVkIGZyb20gV2ViUHJvY2Vzc1NvdXAuY3BwIHRvIHNoYXJlIGl0
IGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCiAgICAoV2ViS2l0OjpnZXRN
ZW1vcnlTaXplKToKICAgIE1vdmVkIGZyb20gV2ViUHJvY2Vzc1NvdXAuY3BwIHRvIHNoYXJlIGl0
IGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCiAgICAqIFNoYXJlZC9zb3Vw
L0NhY2hlTW9kZWxIZWxwZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwLgogICAgKiBXZWJQcm9jZXNzL3NvdXAv
V2ViUHJvY2Vzc1NvdXAuY3BwOgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNTI5N2FkLi5mZmNkY2RmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsNDQgQEAKIDIwMTMtMDktMjYgIEt3YW5nIFl1bCBTZW8gIDxza3l1
bEBjb21wYW55MTAwLm5ldD4KIAorICAgICAgICBbV0syXVtTb3VwXSBTdXBwb3J0IGNhY2hlIG1v
ZGVsIGluIE5ldHdvcmtQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTgzNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDb3BpZWQgY2FjaGUgbW9kZWwgY29kZSBmcm9tIFdlYlByb2Nlc3MuCisK
KyAgICAgICAgTW92ZWQgZ2V0Q2FjaGVEaXNrRnJlZVNpemUgYW5kIGdldE1lbW9yeVNpemUgaW50
byBhIHNlcGVyYXRlIGZpbGUgc28KKyAgICAgICAgdGhleSBjYW4gYmUgc2hhcmVkIGJldHdlZW4g
V2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCisKKyAgICAgICAgTmV0d29ya1Byb2Nlc3Mg
aXMgY29uZmlndXJlZCBub3QgdG8gdXNlIHRoZSBXZWJDb3JlIG1lbW9yeSBjYWNoZS4KKworICAg
ICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJlIGZpeGVkIGJ5IENzYWJhIE9zenRyb2dvbsOD
wqFjOgorICAgICAgICAtIFJlbW92ZSBzZXNzaW9uIHZhcmlhYmxlIG5vdCB0byBoYXZlIGNvbmZs
aWN0IHdpdGggaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODM4OAor
ICAgICAgICAtIEFkZCBHUmVmUHRyLmggaW5jbHVkZS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1Nv
dXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFs
aXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICBJbml0aWFsaXplIHNvdXAgY2FjaGUuCisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwpOgorICAg
ICAgICBDb3BpZWQgY29kZSBmcm9tIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbCBi
dXQgcmVtb3ZlZAorICAgICAgICBXZWJDb3JlIG1lbW9yeSBjYWNoZSBpbml0aWFsaXphdGlvbiBi
ZWNhdXNlIE5ldHdvcmtQcm9jZXNzIGRvZXMgbm90IHVzZQorICAgICAgICB0aGUgV2ViQ29yZSBt
ZW1vcnkgY2FjaGUuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjbGVhckNhY2hl
Rm9yQWxsT3JpZ2lucyk6CisgICAgICAgIENvcGllZCBjb2RlIGZyb20gV2ViUHJvY2Vzczo6Y2xl
YXJDYWNoZUZvckFsbE9yaWdpbnMuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3
b3JrUHJvY2Vzc01haW5Vbml4LmNwcDoKKyAgICAgICAgQ29waWVkIGluaXRpYWxpemF0aW9uIGNv
ZGUgZnJvbSBXZWJQcm9jZXNzTWFpbkd0ay5jcHAuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzTWFpbik6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5jcHA6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1By
b2Nlc3NTb3VwLmNwcC4KKyAgICAgICAgKFdlYktpdDo6Z2V0Q2FjaGVEaXNrRnJlZVNpemUpOgor
ICAgICAgICBNb3ZlZCBmcm9tIFdlYlByb2Nlc3NTb3VwLmNwcCB0byBzaGFyZSBpdCBiZXR3ZWVu
IFdlYlByb2Nlc3MgYW5kIE5ldHdvcmtQcm9jZXNzLgorICAgICAgICAoV2ViS2l0OjpnZXRNZW1v
cnlTaXplKToKKyAgICAgICAgTW92ZWQgZnJvbSBXZWJQcm9jZXNzU291cC5jcHAgdG8gc2hhcmUg
aXQgYmV0d2VlbiBXZWJQcm9jZXNzIGFuZCBOZXR3b3JrUHJvY2Vzcy4KKyAgICAgICAgKiBTaGFy
ZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorCisyMDEzLTA5LTI2ICBLd2FuZyBZdWwg
U2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgW1dLMl1bU291cF0gQWRkIHBs
YXRmb3JtIHNwZWNpZmljIHN0dWJzIGZvciBOZXR3b3JrUHJvY2VzcwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTE1CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IDliN2MyNjkuLjhlZjY4ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNDc5LDYgKzQ3OSw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYktpdDIvU2hhcmVkL1Nlc3Npb25TdGF0ZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU3RhdGlzdGljc0RhdGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU3RhdGlzdGlj
c0RhdGEuaCBcCisJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5j
cHAgXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuaCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9O
ZXR3b3JrUHJvY2Vzc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291
cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwCmluZGV4IGQ4ZWJhY2IuLmE1NDQwNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9j
ZXNzU291cC5jcHAKQEAgLTI4LDIwICsyOCw1MCBAQAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NF
U1MpCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKIAorI2luY2x1ZGUgIkNhY2hlTW9kZWxI
ZWxwZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUhhbmRsZS5oPgorCisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CisjaW5jbHVkZSA8
d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6
ZU5ldHdvcmtQcm9jZXNzKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikK
K3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKGNv
bnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogeworICAg
IEFTU0VSVCghcGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkuaXNFbXB0eSgpKTsKKyAgICBH
UmVmUHRyPFNvdXBDYWNoZT4gc291cENhY2hlID0gYWRvcHRHUmVmKHNvdXBfY2FjaGVfbmV3KHBh
cmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LnV0ZjgoKS5kYXRhKCksIFNPVVBfQ0FDSEVfU0lO
R0xFX1VTRVIpKTsKKyAgICBzb3VwX3Nlc3Npb25fYWRkX2ZlYXR1cmUoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCksIFNPVVBfU0VTU0lPTl9GRUFUVVJFKHNvdXBDYWNo
ZS5nZXQoKSkpOworICAgIHNvdXBfY2FjaGVfbG9hZChzb3VwQ2FjaGUuZ2V0KCkpOwogfQogCi12
b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCkKK3Zv
aWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hl
TW9kZWwpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICB1bnNpZ25lZCBjYWNoZVRvdGFs
Q2FwYWNpdHkgPSAwOworICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKKyAg
ICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7CisgICAgZG91YmxlIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSAwOworICAgIHVuc2lnbmVkIHBhZ2VDYWNoZUNhcGFj
aXR5ID0gMDsKKworICAgIHVuc2lnbmVkIGxvbmcgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSA9IDA7
CisgICAgdW5zaWduZWQgbG9uZyB1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDA7CisKKyAgICBTb3Vw
U2Vzc2lvbiogc2Vzc2lvbiA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lv
bigpOworICAgIFNvdXBDYWNoZSogY2FjaGUgPSBTT1VQX0NBQ0hFKHNvdXBfc2Vzc2lvbl9nZXRf
ZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKTsKKyAgICB1aW50NjRfdCBkaXNrRnJl
ZVNpemUgPSBnZXRDYWNoZURpc2tGcmVlU2l6ZShjYWNoZSkgLyAxMDI0IC8gMTAyNDsKKworICAg
IHVpbnQ2NF90IG1lbVNpemUgPSBnZXRNZW1vcnlTaXplKCk7CisgICAgY2FsY3VsYXRlQ2FjaGVT
aXplcyhjYWNoZU1vZGVsLCBtZW1TaXplLCBkaXNrRnJlZVNpemUsCisgICAgICAgIGNhY2hlVG90
YWxDYXBhY2l0eSwgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLAorICAgICAgICAgICAgcGFnZUNhY2hlQ2Fw
YWNpdHksIHVybENhY2hlTWVtb3J5Q2FwYWNpdHksIHVybENhY2hlRGlza0NhcGFjaXR5KTsKKwor
ICAgIGlmICh1cmxDYWNoZURpc2tDYXBhY2l0eSA+IHNvdXBfY2FjaGVfZ2V0X21heF9zaXplKGNh
Y2hlKSkKKyAgICAgICAgc291cF9jYWNoZV9zZXRfbWF4X3NpemUoY2FjaGUsIHVybENhY2hlRGlz
a0NhcGFjaXR5KTsKIH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBT
Q2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiwgY29uc3Qg
U3RyaW5nJikKQEAgLTUxLDcgKzgxLDExIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljCiAKIHZv
aWQgTmV0d29ya1Byb2Nlc3M6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQzMl90IGNhY2hl
c1RvQ2xlYXIpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAoY2FjaGVzVG9DbGVh
ciA9PSBJbk1lbW9yeVJlc291cmNlQ2FjaGVzT25seSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
U291cFNlc3Npb24qIHNlc3Npb24gPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNl
c3Npb24oKTsKKyAgICBzb3VwX2NhY2hlX2NsZWFyKFNPVVBfQ0FDSEUoc291cF9zZXNzaW9uX2dl
dF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9DQUNIRSkpKTsKIH0KIAogdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6cGxhdGZvcm1UZXJtaW5hdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL3VuaXgvTmV0d29ya1Byb2Nlc3NNYWluVW5peC5jcHAKaW5k
ZXggYzgyYWY4NC4uZjA5YmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9jZXNzTWFpblVuaXguY3BwCkBAIC0zMSw5
ICszMSwxMSBAQAogCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSAiV2ViS2l0MkluaXRp
YWxpemUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SdW5Mb29wLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy5oPgog
I2luY2x1ZGUgPGVycm9yLmg+CisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CiAjaW5jbHVkZSA8
cnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTcwLDggKzcyLDE5IEBAIFdLX0VYUE9SVCBpbnQg
TmV0d29ya1Byb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAKICAgICBOZXR3b3Jr
UHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzKTsKIAorICAgIC8vIERlc3Bp
dGUgdXNpbmcgc3lzdGVtIENBcyB0byB2YWxpZGF0ZSBjZXJ0aWZpY2F0ZXMgd2UncmUKKyAgICAv
LyBhY2NlcHRpbmcgaW52YWxpZCBjZXJ0aWZpY2F0ZXMgYnkgZGVmYXVsdC4gTmV3IEFQSSB3aWxs
IGJlCisgICAgLy8gYWRkZWQgbGF0ZXIgdG8gbGV0IGNsaWVudCBhY2NlcHQvZGlzY2FyZCBpbnZh
bGlkIGNlcnRpZmljYXRlcy4KKyAgICBnX29iamVjdF9zZXQoc2Vzc2lvbiwgU09VUF9TRVNTSU9O
X1NTTF9VU0VfU1lTVEVNX0NBX0ZJTEUsIFRSVUUsCisgICAgICAgIFNPVVBfU0VTU0lPTl9TU0xf
U1RSSUNULCBGQUxTRSwgTlVMTCk7CisKICAgICBSdW5Mb29wOjpydW4oKTsKIAorICAgIGlmIChT
b3VwU2Vzc2lvbkZlYXR1cmUqIHNvdXBDYWNoZSA9IHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShz
ZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSB7CisgICAgICAgIHNvdXBfY2FjaGVfZmx1c2goU09V
UF9DQUNIRShzb3VwQ2FjaGUpKTsKKyAgICAgICAgc291cF9jYWNoZV9kdW1wKFNPVVBfQ0FDSEUo
c291cENhY2hlKSk7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYTJkNWI1NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwCkBAIC0wLDAgKzEsNzEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIE1PVE9ST0xBIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIE1PVE9ST0xBIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhY2hlTW9kZWxIZWxwZXIuaCIKKworI2lu
Y2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgor
I2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9H
UmVmUHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKiBjYWNoZSkKK3sK
KyAgICBBU1NFUlQoY2FjaGUpOworCisgICAgR093blB0cjxjaGFyPiBjYWNoZURpcjsKKyAgICBn
X29iamVjdF9nZXQoR19PQkpFQ1QoY2FjaGUpLCAiY2FjaGUtZGlyIiwgJmNhY2hlRGlyLm91dFB0
cigpLCBOVUxMKTsKKyAgICBpZiAoIWNhY2hlRGlyKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IHJldHVybiBXZWJDb3JlOjpnZXRWb2x1bWVGcmVlU2l6ZUZvclBhdGgoY2FjaGVEaXIuZ2V0KCkp
OworfQorCit1aW50NjRfdCBnZXRNZW1vcnlTaXplKCkKK3sKKyAgICBzdGF0aWMgdWludDY0X3Qg
a0RlZmF1bHRNZW1vcnlTaXplID0gNTEyOworI2lmICFPUyhXSU5ET1dTKQorICAgIGxvbmcgcGFn
ZVNpemUgPSBzeXNjb25mKF9TQ19QQUdFU0laRSk7CisgICAgaWYgKHBhZ2VTaXplID09IC0xKQor
ICAgICAgICByZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAgbG9uZyBwaHlzUGFnZXMg
PSBzeXNjb25mKF9TQ19QSFlTX1BBR0VTKTsKKyAgICBpZiAocGh5c1BhZ2VzID09IC0xKQorICAg
ICAgICByZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAgcmV0dXJuICgocGFnZVNpemUg
LyAxMDI0KSAqIHBoeXNQYWdlcykgLyAxMDI0OworI2Vsc2UKKyAgICAvLyBGYWxsYmFjayB0byBk
ZWZhdWx0IGZvciBvdGhlciBwbGF0Zm9ybXMuCisgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6
ZTsKKyNlbmRpZgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjgyZTdkMjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgTU9UT1JPTEEgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgTU9UT1JPTEEgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IENhY2hlTW9kZWxIZWxwZXJfaAorI2RlZmluZSBDYWNoZU1vZGVsSGVscGVyX2gKKworI2luY2x1
ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKwordWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKik7Cit1aW50
NjRfdCBnZXRNZW1vcnlTaXplKCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gQ2FjaGVNb2RlbEhlbHBlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9z
b3VwL1dlYlByb2Nlc3NTb3VwLmNwcAppbmRleCBjN2JlYTkyLi41OWNmYzMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJTZWNjb21wRmlsdGVyc1dlYlByb2Nlc3NFZmwuaCIKICNl
bmRpZgogCisjaW5jbHVkZSAiQ2FjaGVNb2RlbEhlbHBlci5oIgogI2luY2x1ZGUgIldlYkNvb2tp
ZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAj
aW5jbHVkZSAiV2ViU291cFJlcXVlc3RNYW5hZ2VyLmgiCkBAIC00MCw0NCArNDEsMTIgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1BhZ2VDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VI
YW5kbGUuaD4KICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRlIDx3dGYvZ29iamVj
dC9HT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgdWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJl
ZVNpemUoU291cENhY2hlKiBjYWNoZSkKLXsKLSAgICBBU1NFUlQoY2FjaGUpOwotCi0gICAgR093
blB0cjxjaGFyPiBjYWNoZURpcjsKLSAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2FjaGUpLCAi
Y2FjaGUtZGlyIiwgJmNhY2hlRGlyLm91dFB0cigpLCBOVUxMKTsKLSAgICBpZiAoIWNhY2hlRGly
KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBXZWJDb3JlOjpnZXRWb2x1bWVGcmVl
U2l6ZUZvclBhdGgoY2FjaGVEaXIuZ2V0KCkpOwotfQotCi1zdGF0aWMgdWludDY0X3QgZ2V0TWVt
b3J5U2l6ZSgpCi17Ci0gICAgc3RhdGljIHVpbnQ2NF90IGtEZWZhdWx0TWVtb3J5U2l6ZSA9IDUx
MjsKLSNpZiAhT1MoV0lORE9XUykKLSAgICBsb25nIHBhZ2VTaXplID0gc3lzY29uZihfU0NfUEFH
RVNJWkUpOwotICAgIGlmIChwYWdlU2l6ZSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIGtEZWZhdWx0
TWVtb3J5U2l6ZTsKLQotICAgIGxvbmcgcGh5c1BhZ2VzID0gc3lzY29uZihfU0NfUEhZU19QQUdF
Uyk7Ci0gICAgaWYgKHBoeXNQYWdlcyA9PSAtMSkKLSAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVt
b3J5U2l6ZTsKLQotICAgIHJldHVybiAoKHBhZ2VTaXplIC8gMTAyNCkgKiBwaHlzUGFnZXMpIC8g
MTAyNDsKLSNlbHNlCi0gICAgLy8gRmFsbGJhY2sgdG8gZGVmYXVsdCBmb3Igb3RoZXIgcGxhdGZv
cm1zLgotICAgIHJldHVybiBrRGVmYXVsdE1lbW9yeVNpemU7Ci0jZW5kaWYKLX0KLQogdm9pZCBX
ZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQog
ewogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213980</attachid>
            <date>2013-10-11 03:46:12 -0700</date>
            <delta_ts>2013-10-15 09:24:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118343-20131011124632.patch</filename>
            <type>text/plain</type>
            <size>15191</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjJmMDQ5N2YyN2NlYTJm
NDk3MjZhODk4Njg4OWFiOTA5YzE3ZTZlNS4uMzgwNzM4NDMwYjczMzM5MTZjNWU0NDMwMWJkMzEx
YjI2ZjNiNGY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTEwLTExICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dLMl1bU291cF0g
U3VwcG9ydCBjYWNoZSBtb2RlbCBpbiBOZXR3b3JrUHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MzQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVs
IFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+IC4KKworICAgICAgICBDb3BpZWQgY2FjaGUgbW9k
ZWwgY29kZSBmcm9tIFdlYlByb2Nlc3MuCisKKyAgICAgICAgTW92ZWQgZ2V0Q2FjaGVEaXNrRnJl
ZVNpemUgYW5kIGdldE1lbW9yeVNpemUgaW50byBhIHNlcGVyYXRlIGZpbGUgc28KKyAgICAgICAg
dGhleSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3Mu
CisKKyAgICAgICAgTmV0d29ya1Byb2Nlc3MgaXMgY29uZmlndXJlZCBub3QgdG8gdXNlIHRoZSBX
ZWJDb3JlIG1lbW9yeSBjYWNoZS4KKworICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJl
IGZpeGVkIGJ5IENzYWJhIE9zenRyb2dvbsOhYzoKKyAgICAgICAgLSByZW1vdmVkIHNlc3Npb24g
dmFyaWFibGUgbm90IHRvIGhhdmUgY29uZmxpY3Qgd2l0aCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTE4Mzg4CisgICAgICAgIC0gYWRkZWQgR1JlZlB0ci5oIGluY2x1
ZGUKKyAgICAgICAgLSBhZGRlZCBuZXcgZmlsZSB0byBjbWFrZSBmaWxlcyB0b28KKyAgICAgICAg
LSBhZGRlZCB0aGUgbmVjZXNzYXJ5IFVTRShTT1VQKSBndWFyZHMKKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJv
Y2Vzc1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICBJbml0aWFsaXplIHNvdXAgY2FjaGUu
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwp
OgorICAgICAgICBDb3BpZWQgY29kZSBmcm9tIFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVN
b2RlbCBidXQgcmVtb3ZlZAorICAgICAgICBXZWJDb3JlIG1lbW9yeSBjYWNoZSBpbml0aWFsaXph
dGlvbiBiZWNhdXNlIE5ldHdvcmtQcm9jZXNzIGRvZXMgbm90IHVzZQorICAgICAgICB0aGUgV2Vi
Q29yZSBtZW1vcnkgY2FjaGUuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjbGVh
ckNhY2hlRm9yQWxsT3JpZ2lucyk6CisgICAgICAgIENvcGllZCBjb2RlIGZyb20gV2ViUHJvY2Vz
czo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvdW5p
eC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcDoKKyAgICAgICAgQ29waWVkIGluaXRpYWxpemF0
aW9uIGNvZGUgZnJvbSBXZWJQcm9jZXNzTWFpbkd0ay5jcHAuCisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtQcm9jZXNzTWFpbik6CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAg
ICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhl
bHBlci5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAv
TmV0d29ya1Byb2Nlc3NTb3VwLmNwcC4KKyAgICAgICAgKFdlYktpdDo6Z2V0Q2FjaGVEaXNrRnJl
ZVNpemUpOgorICAgICAgICBNb3ZlZCBmcm9tIFdlYlByb2Nlc3NTb3VwLmNwcCB0byBzaGFyZSBp
dCBiZXR3ZWVuIFdlYlByb2Nlc3MgYW5kIE5ldHdvcmtQcm9jZXNzLgorICAgICAgICAoV2ViS2l0
OjpnZXRNZW1vcnlTaXplKToKKyAgICAgICAgTW92ZWQgZnJvbSBXZWJQcm9jZXNzU291cC5jcHAg
dG8gc2hhcmUgaXQgYmV0d2VlbiBXZWJQcm9jZXNzIGFuZCBOZXR3b3JrUHJvY2Vzcy4KKyAgICAg
ICAgKiBTaGFyZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorCiAyMDEzLTEwLTEwICBC
eXVuZ3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJd
IFNlcGFyYXRlIGRpc3BhdGNoIGNvbnRleHQgZnJvbSBXb3JrUXVldWUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCBmN2MwMTQ5MGFjODRkNDQ1YjE2Y2ZkOWM4ODc4NjM5YzRiZDRm
ODI2Li5iMjZiM2EzY2ZlMTM3Y2IyMDRkZTdlNjAzNjY3NjY1ZmYwM2JkNGI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQ4MSw2ICs0ODEsOCBAQCB3ZWJraXQyX3NvdXJjZXMg
Kz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dl
YktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L1N0YXRpc3RpY3NEYXRhLmggXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9k
ZWxIZWxwZXIuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DYWNoZU1vZGVsSGVs
cGVyLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvU291cENvb2tpZVBlcnNpc3Rl
bnRTdG9yYWdlVHlwZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcAppbmRleCBkOGViYWNiZDBkN2Y0NTE1
Y2VkMTBjMTczNGJjNDE3Y2ViYmM5ZWY2Li5hNTQ0MDRiNTE1MjY5MTVhOGQ0M2E0Yjc5YmNlMTQx
NjBiYjkzZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3Vw
L05ldHdvcmtQcm9jZXNzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwCkBAIC0yOCwyMCArMjgsNTAgQEAKICNpZiBF
TkFCTEUoTkVUV09SS19QUk9DRVNTKQogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAKKyNp
bmNsdWRlICJDYWNoZU1vZGVsSGVscGVyLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1
ZGUgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VDYWNoZXNUb0NsZWFyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KKworI2luY2x1ZGUgPGxpYnNvdXAv
c291cC5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi12b2lkIE5ldHdvcmtQcm9jZXNz
OjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxp
emVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKIHsKKyAgICBBU1NFUlQoIXBhcmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5
LmlzRW1wdHkoKSk7CisgICAgR1JlZlB0cjxTb3VwQ2FjaGU+IHNvdXBDYWNoZSA9IGFkb3B0R1Jl
Zihzb3VwX2NhY2hlX25ldyhwYXJhbWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9yeS51dGY4KCkuZGF0
YSgpLCBTT1VQX0NBQ0hFX1NJTkdMRV9VU0VSKSk7CisgICAgc291cF9zZXNzaW9uX2FkZF9mZWF0
dXJlKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpLCBTT1VQX1NFU1NJ
T05fRkVBVFVSRShzb3VwQ2FjaGUuZ2V0KCkpKTsKKyAgICBzb3VwX2NhY2hlX2xvYWQoc291cENh
Y2hlLmdldCgpKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1v
ZGVsKENhY2hlTW9kZWwpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9k
ZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
dW5zaWduZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsKKyAgICB1bnNpZ25lZCBjYWNoZU1pbkRl
YWRDYXBhY2l0eSA9IDA7CisgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwor
ICAgIGRvdWJsZSBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMDsKKyAgICB1bnNp
Z25lZCBwYWdlQ2FjaGVDYXBhY2l0eSA9IDA7CisKKyAgICB1bnNpZ25lZCBsb25nIHVybENhY2hl
TWVtb3J5Q2FwYWNpdHkgPSAwOworICAgIHVuc2lnbmVkIGxvbmcgdXJsQ2FjaGVEaXNrQ2FwYWNp
dHkgPSAwOworCisgICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKKyAgICBTb3VwQ2FjaGUqIGNhY2hlID0gU09VUF9DQUNI
RShzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09VUF9UWVBFX0NBQ0hFKSk7Cisg
ICAgdWludDY0X3QgZGlza0ZyZWVTaXplID0gZ2V0Q2FjaGVEaXNrRnJlZVNpemUoY2FjaGUpIC8g
MTAyNCAvIDEwMjQ7CisKKyAgICB1aW50NjRfdCBtZW1TaXplID0gZ2V0TWVtb3J5U2l6ZSgpOwor
ICAgIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoY2FjaGVNb2RlbCwgbWVtU2l6ZSwgZGlza0ZyZWVTaXpl
LAorICAgICAgICBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNo
ZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwKKyAgICAg
ICAgICAgIHBhZ2VDYWNoZUNhcGFjaXR5LCB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1cmxDYWNo
ZURpc2tDYXBhY2l0eSk7CisKKyAgICBpZiAodXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPiBzb3VwX2Nh
Y2hlX2dldF9tYXhfc2l6ZShjYWNoZSkpCisgICAgICAgIHNvdXBfY2FjaGVfc2V0X21heF9zaXpl
KGNhY2hlLCB1cmxDYWNoZURpc2tDYXBhY2l0eSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYpCkBAIC01MSw3ICs4MSwxMSBAQCB2b2lkIE5ldHdv
cmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgUGxh
dGZvcm1DZXJ0aWZpYwogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckNhY2hlRm9yQWxsT3Jp
Z2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgaWYgKGNhY2hlc1RvQ2xlYXIgPT0gSW5NZW1vcnlSZXNvdXJjZUNhY2hlc09ubHkpCisgICAg
ICAgIHJldHVybjsKKworICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7CisgICAgc291cF9jYWNoZV9jbGVhcihTT1VQX0NB
Q0hFKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSk7
CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtVGVybWluYXRlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3VuaXgvTmV0d29ya1Byb2Nlc3NNYWlu
VW5peC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9j
ZXNzTWFpblVuaXguY3BwCmluZGV4IGM4MmFmODQwZTllNTllZmI4ZGE0ZTRhZDliZWY3YWRkZjRh
ZDk2YjMuLmZhOWVmZWM4M2NkNDBlMzlmN2RhYmVhOTg5NWI0NTA5YzI0MDg1NzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3VuaXgvTmV0d29ya1Byb2Nlc3NNYWlu
VW5peC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3Jr
UHJvY2Vzc01haW5Vbml4LmNwcApAQCAtMzEsOSArMzEsMTMgQEAKIAogI2luY2x1ZGUgIldLQmFz
ZS5oIgogI2luY2x1ZGUgIldlYktpdDJJbml0aWFsaXplLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgogI2luY2x1ZGUg
PFdlYktpdDIvTmV0d29ya1Byb2Nlc3MuaD4KICNpbmNsdWRlIDxlcnJvci5oPgorI2lmIFVTRShT
T1VQKQorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8cnVudGlt
ZS9Jbml0aWFsaXplVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KQEAgLTcwLDggKzc0LDIzIEBAIFdLX0VYUE9SVCBpbnQgTmV0d29y
a1Byb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAKICAgICBOZXR3b3JrUHJvY2Vz
czo6c2hhcmVkKCkuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzKTsKIAorI2lmIFVTRShTT1VQKQorICAg
IC8vIERlc3BpdGUgdXNpbmcgc3lzdGVtIENBcyB0byB2YWxpZGF0ZSBjZXJ0aWZpY2F0ZXMgd2Un
cmUKKyAgICAvLyBhY2NlcHRpbmcgaW52YWxpZCBjZXJ0aWZpY2F0ZXMgYnkgZGVmYXVsdC4gTmV3
IEFQSSB3aWxsIGJlCisgICAgLy8gYWRkZWQgbGF0ZXIgdG8gbGV0IGNsaWVudCBhY2NlcHQvZGlz
Y2FyZCBpbnZhbGlkIGNlcnRpZmljYXRlcy4KKyAgICBnX29iamVjdF9zZXQoc2Vzc2lvbiwgU09V
UF9TRVNTSU9OX1NTTF9VU0VfU1lTVEVNX0NBX0ZJTEUsIFRSVUUsCisgICAgICAgIFNPVVBfU0VT
U0lPTl9TU0xfU1RSSUNULCBGQUxTRSwgTlVMTCk7CisjZW5kaWYKKwogICAgIFJ1bkxvb3A6OnJ1
bigpOwogCisjaWYgVVNFKFNPVVApCisgICAgaWYgKFNvdXBTZXNzaW9uRmVhdHVyZSogc291cENh
Y2hlID0gc291cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9DQUNIRSkp
IHsKKyAgICAgICAgc291cF9jYWNoZV9mbHVzaChTT1VQX0NBQ0hFKHNvdXBDYWNoZSkpOworICAg
ICAgICBzb3VwX2NhY2hlX2R1bXAoU09VUF9DQUNIRShzb3VwQ2FjaGUpKTsKKyAgICB9CisjZW5k
aWYKKwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZj
ZWEyZTE1M2RjYzA4MjlkM2ExMGIwMDViMjA1NTRkYTRjOTQxOTkuLjlmNWE3NWY5M2ZiYWQ1YTk5
OWE2MDllMzY4YTIzM2E0MjU4OGEyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00
Niw2ICs0Niw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51
eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsUG9saWN5LmNwcAogCisgICAgU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBl
ci5jcHAKICAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAKICAgICBT
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlCmluZGV4IGMwYmQwZmE0NGYxNDk5N2IxMzU4ODcxNDdkNGY0OTFkZTc1MDkxMzUu
LjI5OGFkMmQxNDU3MDllZGY5Y2EzZmY2YzA4MWVmZTcwZWRiNmYxYzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtR1RLLmNtYWtlCkBAIC02MSw2ICs2MSw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNF
UwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCisgICAgU2hhcmVkL3Nv
dXAvQ2FjaGVNb2RlbEhlbHBlci5jcHAKICAgICBTaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mby5jcHAKICAgICBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNw
cAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DYWNoZU1vZGVsSGVs
cGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmEyZDViNTZhZGU2MGVhYTFjOTVmOGU3ODRjYjlhMWM3MmNmYTNiODUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DYWNoZU1vZGVsSGVs
cGVyLmNwcApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55
IDEwMCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBN
T1RPUk9MQSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBNT1RPUk9MQSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJDYWNoZU1vZGVsSGVscGVyLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4K
KyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgorCit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VpbnQ2NF90IGdldENhY2hlRGlza0Zy
ZWVTaXplKFNvdXBDYWNoZSogY2FjaGUpCit7CisgICAgQVNTRVJUKGNhY2hlKTsKKworICAgIEdP
d25QdHI8Y2hhcj4gY2FjaGVEaXI7CisgICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKGNhY2hlKSwg
ImNhY2hlLWRpciIsICZjYWNoZURpci5vdXRQdHIoKSwgTlVMTCk7CisgICAgaWYgKCFjYWNoZURp
cikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gV2ViQ29yZTo6Z2V0Vm9sdW1lRnJl
ZVNpemVGb3JQYXRoKGNhY2hlRGlyLmdldCgpKTsKK30KKwordWludDY0X3QgZ2V0TWVtb3J5U2l6
ZSgpCit7CisgICAgc3RhdGljIHVpbnQ2NF90IGtEZWZhdWx0TWVtb3J5U2l6ZSA9IDUxMjsKKyNp
ZiAhT1MoV0lORE9XUykKKyAgICBsb25nIHBhZ2VTaXplID0gc3lzY29uZihfU0NfUEFHRVNJWkUp
OworICAgIGlmIChwYWdlU2l6ZSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5
U2l6ZTsKKworICAgIGxvbmcgcGh5c1BhZ2VzID0gc3lzY29uZihfU0NfUEhZU19QQUdFUyk7Cisg
ICAgaWYgKHBoeXNQYWdlcyA9PSAtMSkKKyAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6
ZTsKKworICAgIHJldHVybiAoKHBhZ2VTaXplIC8gMTAyNCkgKiBwaHlzUGFnZXMpIC8gMTAyNDsK
KyNlbHNlCisgICAgLy8gRmFsbGJhY2sgdG8gZGVmYXVsdCBmb3Igb3RoZXIgcGxhdGZvcm1zLgor
ICAgIHJldHVybiBrRGVmYXVsdE1lbW9yeVNpemU7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hl
TW9kZWxIZWxwZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxw
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MmU3ZDI1NzJmNWQyOTVkNjQxOGU5MzQzNmM1MzIxNTQ0ZjEwMGM4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2Rl
bEhlbHBlci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzIENvbXBh
bnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IE1PVE9ST0xBIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIE1PVE9ST0xBIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDYWNoZU1vZGVsSGVscGVyX2gK
KyNkZWZpbmUgQ2FjaGVNb2RlbEhlbHBlcl9oCisKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
KyNpbmNsdWRlIDxzdGRpbnQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VpbnQ2NF90IGdl
dENhY2hlRGlza0ZyZWVTaXplKFNvdXBDYWNoZSopOwordWludDY0X3QgZ2V0TWVtb3J5U2l6ZSgp
OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIENhY2hlTW9kZWxIZWxwZXJf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NT
b3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5j
cHAKaW5kZXggYzdiZWE5Mjg2NGYxYzI4YTc2MDBjNjUzZjAxOWY4NjVhY2U3ZTI5ZC4uNTljZmMz
MzNkMmQ4ODQxNWRmNzQ3ZmJiNDljZjc0YmQyNjA3ZGZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiU2VjY29tcEZpbHRlcnNXZWJQcm9jZXNzRWZsLmgiCiAjZW5kaWYKIAorI2lu
Y2x1ZGUgIkNhY2hlTW9kZWxIZWxwZXIuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIldl
YlNvdXBSZXF1ZXN0TWFuYWdlci5oIgpAQCAtNDAsNDQgKzQxLDEyIEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9QYWdlQ2FjaGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAj
aW5jbHVkZSA8bGlic291cC9zb3VwLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotc3RhdGljIHVpbnQ2NF90IGdldENhY2hlRGlza0ZyZWVTaXplKFNvdXBD
YWNoZSogY2FjaGUpCi17Ci0gICAgQVNTRVJUKGNhY2hlKTsKLQotICAgIEdPd25QdHI8Y2hhcj4g
Y2FjaGVEaXI7Ci0gICAgZ19vYmplY3RfZ2V0KEdfT0JKRUNUKGNhY2hlKSwgImNhY2hlLWRpciIs
ICZjYWNoZURpci5vdXRQdHIoKSwgTlVMTCk7Ci0gICAgaWYgKCFjYWNoZURpcikKLSAgICAgICAg
cmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gV2ViQ29yZTo6Z2V0Vm9sdW1lRnJlZVNpemVGb3JQYXRo
KGNhY2hlRGlyLmdldCgpKTsKLX0KLQotc3RhdGljIHVpbnQ2NF90IGdldE1lbW9yeVNpemUoKQot
ewotICAgIHN0YXRpYyB1aW50NjRfdCBrRGVmYXVsdE1lbW9yeVNpemUgPSA1MTI7Ci0jaWYgIU9T
KFdJTkRPV1MpCi0gICAgbG9uZyBwYWdlU2l6ZSA9IHN5c2NvbmYoX1NDX1BBR0VTSVpFKTsKLSAg
ICBpZiAocGFnZVNpemUgPT0gLTEpCi0gICAgICAgIHJldHVybiBrRGVmYXVsdE1lbW9yeVNpemU7
Ci0KLSAgICBsb25nIHBoeXNQYWdlcyA9IHN5c2NvbmYoX1NDX1BIWVNfUEFHRVMpOwotICAgIGlm
IChwaHlzUGFnZXMgPT0gLTEpCi0gICAgICAgIHJldHVybiBrRGVmYXVsdE1lbW9yeVNpemU7Ci0K
LSAgICByZXR1cm4gKChwYWdlU2l6ZSAvIDEwMjQpICogcGh5c1BhZ2VzKSAvIDEwMjQ7Ci0jZWxz
ZQotICAgIC8vIEZhbGxiYWNrIHRvIGRlZmF1bHQgZm9yIG90aGVyIHBsYXRmb3Jtcy4KLSAgICBy
ZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOwotI2VuZGlmCi19Ci0KIHZvaWQgV2ViUHJvY2Vzczo6
cGxhdGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKIHsKICAgICB1bnNp
Z25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214269</attachid>
            <date>2013-10-15 09:26:53 -0700</date>
            <delta_ts>2013-10-15 09:43:41 -0700</delta_ts>
            <desc>patch on top of attachment213980</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>5742</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1By
b2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a1Byb2Nlc3NTb3VwLmNwcAppbmRleCBiZGQyMmQzLi5kN2NhYWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAu
Y3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKIAogI2lu
Y2x1ZGUgIkNhY2hlTW9kZWxIZWxwZXIuaCIKLSNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CkBA
IC02MSw3ICs2MCw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2Rl
bChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgdW5zaWduZWQgbG9uZyB1cmxDYWNoZU1lbW9y
eUNhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBsb25nIHVybENhY2hlRGlza0NhcGFjaXR5ID0g
MDsKIAotICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OmRlZmF1bHRTZXNzaW9uKCk7CisgICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBSZXNvdXJjZUhh
bmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKICAgICBTb3VwQ2FjaGUqIGNhY2hlID0gU09VUF9DQUNI
RShzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09VUF9UWVBFX0NBQ0hFKSk7CiAg
ICAgdWludDY0X3QgZGlza0ZyZWVTaXplID0gZ2V0Q2FjaGVEaXNrRnJlZVNpemUoY2FjaGUpIC8g
MTAyNCAvIDEwMjQ7CiAKQEAgLTg0LDcgKzgzLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2xl
YXJDYWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVzVG9DbGVhcikKICAgICBpZiAoY2Fj
aGVzVG9DbGVhciA9PSBJbk1lbW9yeVJlc291cmNlQ2FjaGVzT25seSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6
ZGVmYXVsdFNlc3Npb24oKTsKKyAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IFJlc291cmNlSGFu
ZGxlOjpkZWZhdWx0U2Vzc2lvbigpOwogICAgIHNvdXBfY2FjaGVfY2xlYXIoU09VUF9DQUNIRShz
b3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09VUF9UWVBFX0NBQ0hFKSkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQ
cm9jZXNzTWFpblVuaXguY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvdW5peC9O
ZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcAppbmRleCA1NGEzZmNiLi40ZDI3MzljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9jZXNzTWFp
blVuaXguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3VuaXgvTmV0d29y
a1Byb2Nlc3NNYWluVW5peC5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgV0tfRVhQT1JUIGludCBOZXR3
b3JrUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICBJbml0aWFsaXplV2Vi
S2l0MigpOwogCiAjaWYgVVNFKFNPVVApCi0gICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKKyAgICBTb3VwU2Vzc2lvbiog
c2Vzc2lvbiA9IFJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpOwogI2lmIFBMQVRGT1JN
KEVGTCkKICAgICAvLyBPbmx5IGZvciBFRkwgYmVjYXVzZSBHVEsgcG9ydCB1c2VzIHRoZSBkZWZh
dWx0IHJlc29sdmVyLCB3aGljaCB1c2VzIEdJTydzIHByb3h5IHJlc29sdmVyLgogICAgIGNvbnN0
IGNoYXIqIGh0dHBQcm94eSA9IGdldGVudigiaHR0cF9wcm94eSIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKaW5kZXggNTljZmMzMy4u
Mzc1YmFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlBy
b2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJv
Y2Vzc1NvdXAuY3BwCkBAIC01OCwxMSArNTgsMjAgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9y
bVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGxvbmcg
dXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgbG9uZyB1cmxDYWNoZURp
c2tDYXBhY2l0eSA9IDA7CiAKLSAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IFdlYkNvcmU6OlJl
c291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpOwotICAgIFNvdXBDYWNoZSogY2FjaGUgPSBT
T1VQX0NBQ0hFKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FD
SEUpKTsKLSAgICB1aW50NjRfdCBkaXNrRnJlZVNpemUgPSBnZXRDYWNoZURpc2tGcmVlU2l6ZShj
YWNoZSkgLyAxMDI0IC8gMTAyNDsKKyAgICB1aW50NjRfdCBkaXNrRnJlZVNpemUgPSAgMDsKKyAg
ICBTb3VwQ2FjaGUqIGNhY2hlID0gbnVsbHB0cjsKIAorI2lmIEVOQUJMRShORVRXT1JLX1BST0NF
U1MpCisgICAgaWYgKCFtX3VzZXNOZXR3b3JrUHJvY2VzcykgeworI2VuZGlmCisgICAgICAgIFNv
dXBTZXNzaW9uKiBzZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNz
aW9uKCk7CisgICAgICAgIGNhY2hlID0gU09VUF9DQUNIRShzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1
cmUoc2Vzc2lvbiwgU09VUF9UWVBFX0NBQ0hFKSk7CisgICAgICAgIGRpc2tGcmVlU2l6ZSA9IGdl
dENhY2hlRGlza0ZyZWVTaXplKGNhY2hlKSAvIDEwMjQgLyAxMDI0OworI2lmIEVOQUJMRShORVRX
T1JLX1BST0NFU1MpCisgICAgfQorI2VuZGlmCiAgICAgdWludDY0X3QgbWVtU2l6ZSA9IGdldE1l
bW9yeVNpemUoKTsKKwogICAgIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoY2FjaGVNb2RlbCwgbWVtU2l6
ZSwgZGlza0ZyZWVTaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVUb3RhbENhcGFj
aXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsCiAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlQ2Fj
aGVDYXBhY2l0eSwgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkp
OwpAQCAtNzEsOCArODAsMTQgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9k
ZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIFdlYkNvcmU6Om1lbW9yeUNhY2hlKCktPnNl
dERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoZGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCk7CiAgICAgV2ViQ29yZTo6cGFnZUNhY2hlKCktPnNldENhcGFjaXR5KHBhZ2VDYWNo
ZUNhcGFjaXR5KTsKIAotICAgIGlmICh1cmxDYWNoZURpc2tDYXBhY2l0eSA+IHNvdXBfY2FjaGVf
Z2V0X21heF9zaXplKGNhY2hlKSkKLSAgICAgICAgc291cF9jYWNoZV9zZXRfbWF4X3NpemUoY2Fj
aGUsIHVybENhY2hlRGlza0NhcGFjaXR5KTsKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQor
ICAgIGlmICghbV91c2VzTmV0d29ya1Byb2Nlc3MpIHsKKyNlbmRpZgorICAgICAgICBpZiAodXJs
Q2FjaGVEaXNrQ2FwYWNpdHkgPiBzb3VwX2NhY2hlX2dldF9tYXhfc2l6ZShjYWNoZSkpCisgICAg
ICAgICAgICBzb3VwX2NhY2hlX3NldF9tYXhfc2l6ZShjYWNoZSwgdXJsQ2FjaGVEaXNrQ2FwYWNp
dHkpOworI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAgfQorI2VuZGlmCiB9CiAKIHZv
aWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1DbGVhclJlc291cmNlQ2FjaGVzKFJlc291cmNlQ2FjaGVz
VG9DbGVhciBjYWNoZXNUb0NsZWFyKQpAQCAtODAsNiArOTUsMTIgQEAgdm9pZCBXZWJQcm9jZXNz
OjpwbGF0Zm9ybUNsZWFyUmVzb3VyY2VDYWNoZXMoUmVzb3VyY2VDYWNoZXNUb0NsZWFyIGNhY2hl
c1RvQ2xlYXIKICAgICBpZiAoY2FjaGVzVG9DbGVhciA9PSBJbk1lbW9yeVJlc291cmNlQ2FjaGVz
T25seSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gSWYgd2UncmUgdXNpbmcgdGhlIG5ldHdv
cmsgcHJvY2VzcyB0aGVuIGl0IGlzIHRoZSBvbmx5IG9uZSB0aGF0IG5lZWRzIHRvIGNsZWFyIHRo
ZSBkaXNrIGNhY2hlLgorI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAgaWYgKG1fdXNl
c05ldHdvcmtQcm9jZXNzKQorICAgICAgICByZXR1cm47CisjZW5kaWYKKwogICAgIFNvdXBTZXNz
aW9uKiBzZXNzaW9uID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7
CiAgICAgc291cF9jYWNoZV9jbGVhcihTT1VQX0NBQ0hFKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVy
ZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSk7CiB9CkBAIC0xNDUsMTAgKzE2NiwxNiBAQCB2
b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycwogICAgIH0KICNlbmRpZgogCi0gICAgQVNTRVJUKCFwYXJh
bWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9yeS5pc0VtcHR5KCkpOwotICAgIEdSZWZQdHI8U291cENh
Y2hlPiBzb3VwQ2FjaGUgPSBhZG9wdEdSZWYoc291cF9jYWNoZV9uZXcocGFyYW1ldGVycy5kaXNr
Q2FjaGVEaXJlY3RvcnkudXRmOCgpLmRhdGEoKSwgU09VUF9DQUNIRV9TSU5HTEVfVVNFUikpOwot
ICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVyZShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVm
YXVsdFNlc3Npb24oKSwgU09VUF9TRVNTSU9OX0ZFQVRVUkUoc291cENhY2hlLmdldCgpKSk7Ci0g
ICAgc291cF9jYWNoZV9sb2FkKHNvdXBDYWNoZS5nZXQoKSk7CisjaWYgRU5BQkxFKE5FVFdPUktf
UFJPQ0VTUykKKyAgICBpZiAoIW1fdXNlc05ldHdvcmtQcm9jZXNzKSB7CisjZW5kaWYKKyAgICAg
ICAgQVNTRVJUKCFwYXJhbWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9yeS5pc0VtcHR5KCkpOworICAg
ICAgICBHUmVmUHRyPFNvdXBDYWNoZT4gc291cENhY2hlID0gYWRvcHRHUmVmKHNvdXBfY2FjaGVf
bmV3KHBhcmFtZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LnV0ZjgoKS5kYXRhKCksIFNPVVBfQ0FD
SEVfU0lOR0xFX1VTRVIpKTsKKyAgICAgICAgc291cF9zZXNzaW9uX2FkZF9mZWF0dXJlKFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpLCBTT1VQX1NFU1NJT05fRkVBVFVS
RShzb3VwQ2FjaGUuZ2V0KCkpKTsKKyAgICAgICAgc291cF9jYWNoZV9sb2FkKHNvdXBDYWNoZS5n
ZXQoKSk7CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICB9CisjZW5kaWYKIAogICAg
IGlmICghcGFyYW1ldGVycy5sYW5ndWFnZXMuaXNFbXB0eSgpKQogICAgICAgICBzZXRTb3VwU2Vz
c2lvbkFjY2VwdExhbmd1YWdlKHBhcmFtZXRlcnMubGFuZ3VhZ2VzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214274</attachid>
            <date>2013-10-15 09:43:49 -0700</date>
            <delta_ts>2013-12-09 03:07:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118343-20131015184346.patch</filename>
            <type>text/plain</type>
            <size>19577</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTk0YzMyMzU0ODkwY2M2
NWY3NGY4N2VlOWFjYjE5ZmJmMWMwOTQzZC4uOWE0NTEwMjQ5MjI1OWQyZjBjNDEwMTY5ZDljYzQ5
NjRmMGI3NzAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDEzLTEwLTE1ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKKyAgICAgICAgW1dLMl1bU291cF0g
U3VwcG9ydCBjYWNoZSBtb2RlbCBpbiBOZXR3b3JrUHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MzQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVs
IFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+IC4KKworICAgICAgICBDb3BpZWQgY2FjaGUgbW9k
ZWwgY29kZSBmcm9tIFdlYlByb2Nlc3MuCisKKyAgICAgICAgTW92ZWQgZ2V0Q2FjaGVEaXNrRnJl
ZVNpemUgYW5kIGdldE1lbW9yeVNpemUgaW50byBhIHNlcGVyYXRlIGZpbGUgc28KKyAgICAgICAg
dGhleSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3Mu
CisKKyAgICAgICAgTmV0d29ya1Byb2Nlc3MgaXMgY29uZmlndXJlZCBub3QgdG8gdXNlIHRoZSBX
ZWJDb3JlIG1lbW9yeSBjYWNoZS4KKworICAgICAgICBUaGUgZm9sbG93aW5nIHRoaW5ncyB3ZXJl
IGZpeGVkIGJ5IENzYWJhIE9zenRyb2dvbsOhYzoKKyAgICAgICAgLSByZW1vdmVkIHNlc3Npb24g
dmFyaWFibGUgbm90IHRvIGhhdmUgY29uZmxpY3Qgd2l0aCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTE4Mzg4CisgICAgICAgIC0gYWRkZWQgR1JlZlB0ci5oIGluY2x1
ZGUKKyAgICAgICAgLSBhZGRlZCBuZXcgZmlsZSB0byBjbWFrZSBmaWxlcyB0b28KKyAgICAgICAg
LSBhZGRlZCB0aGUgbmVjZXNzYXJ5IFVTRShTT1VQKSBndWFyZHMKKyAgICAgICAgLSBtaW5vciBj
b2RlIGNsZWFudXAgKHJlbW92ZSB1bm5lY2Vzc2FyeSBpbmNsdWRlLCBuYW1lc3BhY2UpCisgICAg
ICAgIC0gZG9uJ3QgaW5pdGlhbGl6ZS9zZXQvY2xlYXIgdGhlIGRpc2sgY2FjaGUgb24gdGhlIFdl
YlByb2Nlc3Mgc2lkZSBpZiBOZXR3b3JrUHJvY2VzcyBpcyB1c2VkCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1By
b2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgSW5pdGlhbGl6ZSBzb3VwIGNhY2hl
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVs
KToKKyAgICAgICAgQ29waWVkIGNvZGUgZnJvbSBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hl
TW9kZWwgYnV0IHJlbW92ZWQKKyAgICAgICAgV2ViQ29yZSBtZW1vcnkgY2FjaGUgaW5pdGlhbGl6
YXRpb24gYmVjYXVzZSBOZXR3b3JrUHJvY2VzcyBkb2VzIG5vdCB1c2UKKyAgICAgICAgdGhlIFdl
YkNvcmUgbWVtb3J5IGNhY2hlLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2xl
YXJDYWNoZUZvckFsbE9yaWdpbnMpOgorICAgICAgICBDb3BpZWQgY29kZSBmcm9tIFdlYlByb2Nl
c3M6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3Vu
aXgvTmV0d29ya1Byb2Nlc3NNYWluVW5peC5jcHA6CisgICAgICAgIENvcGllZCBpbml0aWFsaXph
dGlvbiBjb2RlIGZyb20gV2ViUHJvY2Vzc01haW5HdGsuY3BwLgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzc01haW4pOgorICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAg
ICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9zb3VwL0NhY2hlTW9kZWxI
ZWxwZXIuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3Vw
L05ldHdvcmtQcm9jZXNzU291cC5jcHAuCisgICAgICAgIChXZWJLaXQ6OmdldENhY2hlRGlza0Zy
ZWVTaXplKToKKyAgICAgICAgTW92ZWQgZnJvbSBXZWJQcm9jZXNzU291cC5jcHAgdG8gc2hhcmUg
aXQgYmV0d2VlbiBXZWJQcm9jZXNzIGFuZCBOZXR3b3JrUHJvY2Vzcy4KKyAgICAgICAgKFdlYktp
dDo6Z2V0TWVtb3J5U2l6ZSk6CisgICAgICAgIE1vdmVkIGZyb20gV2ViUHJvY2Vzc1NvdXAuY3Bw
IHRvIHNoYXJlIGl0IGJldHdlZW4gV2ViUHJvY2VzcyBhbmQgTmV0d29ya1Byb2Nlc3MuCisgICAg
ICAgICogU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKTogRG9uJ3Qgc2V0IHRoZSBkaXNr
IGNhY2hlIGlmIE5ldHdvcmtQcm9jZXNzIGlzIHVzZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OnBsYXRmb3JtQ2xlYXJSZXNvdXJjZUNhY2hlcyk6IERvbid0IGNsZWFyIHRoZSBub24t
ZXhpc3RpbmcgZGlzayBjYWNoZS4gKGlmIE5ldHdvcmtQcm9jZXNzIGlzIHVzZWQpCisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOiBEb24n
dCBpbml0aWFsaXplIHRoZSBkaXNrIGNhY2hlIGlmIE5ldHdvcmtQcm9jZXNzIGlzIHVzZWQuCisK
KzIwMTMtMTAtMTUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwogICAg
ICAgICBbU291cF0gVW5yZXZpZXdlZCBidWlsZGZpeCBhZnRlciByMTU3NDQ1IGZvciBFTkFCTEUo
TkVUV09SS19QUk9DRVNTKSBidWlsZHMuCiAKICAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9zb3Vw
L05ldHdvcmtQcm9jZXNzU291cC5jcHA6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCA3MDZmZTk5MGVhMWQ0ZTk1NzZjNzYxYzI4NzJhMDg2MTZjNjM2NzY0Li41OGE5Y2Q3NjI1N2Jk
MDU4MGQ5OWRmM2RkZGI3YjY4NWIyNTA2OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTQ4MSw2ICs0ODEsOCBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRp
c3RpY3NEYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1N0YXRpc3RpY3NEYXRhLmgg
XAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwIFwKKwlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmggXAogCVNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUuaCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAu
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1Nv
dXAuY3BwCmluZGV4IGJkNGU2YzI5NzJhZDIyMjdiNDU5ZDhiYzI0MDg5MmUxNzU5ZjU3NDkuLmQ3
Y2FhYTIxZWIwNzYzZjQzZDk0MDhiZWE1MDg5YzUxNmZhYzE5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5j
cHAKQEAgLTI4LDIwICsyOCw0OSBAQAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKIAorI2luY2x1ZGUgIkNhY2hlTW9kZWxIZWxwZXIuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUg
IlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50
ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CisKKyNpbmNsdWRlIDxs
aWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1J
bml0aWFsaXplTmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMpCiB7CisgICAgQVNTRVJUKCFwYXJhbWV0ZXJzLmRpc2tDYWNoZURp
cmVjdG9yeS5pc0VtcHR5KCkpOworICAgIEdSZWZQdHI8U291cENhY2hlPiBzb3VwQ2FjaGUgPSBh
ZG9wdEdSZWYoc291cF9jYWNoZV9uZXcocGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkudXRm
OCgpLmRhdGEoKSwgU09VUF9DQUNIRV9TSU5HTEVfVVNFUikpOworICAgIHNvdXBfc2Vzc2lvbl9h
ZGRfZmVhdHVyZShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKSwgU09V
UF9TRVNTSU9OX0ZFQVRVUkUoc291cENhY2hlLmdldCgpKSk7CisgICAgc291cF9jYWNoZV9sb2Fk
KHNvdXBDYWNoZS5nZXQoKSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0
Q2FjaGVNb2RlbChDYWNoZU1vZGVsKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1TZXRD
YWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CisgICAgdW5zaWduZWQgY2Fj
aGVNaW5EZWFkQ2FwYWNpdHkgPSAwOworICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5
ID0gMDsKKyAgICBkb3VibGUgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDA7Cisg
ICAgdW5zaWduZWQgcGFnZUNhY2hlQ2FwYWNpdHkgPSAwOworCisgICAgdW5zaWduZWQgbG9uZyB1
cmxDYWNoZU1lbW9yeUNhcGFjaXR5ID0gMDsKKyAgICB1bnNpZ25lZCBsb25nIHVybENhY2hlRGlz
a0NhcGFjaXR5ID0gMDsKKworICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gUmVzb3VyY2VIYW5k
bGU6OmRlZmF1bHRTZXNzaW9uKCk7CisgICAgU291cENhY2hlKiBjYWNoZSA9IFNPVVBfQ0FDSEUo
c291cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9DQUNIRSkpOworICAg
IHVpbnQ2NF90IGRpc2tGcmVlU2l6ZSA9IGdldENhY2hlRGlza0ZyZWVTaXplKGNhY2hlKSAvIDEw
MjQgLyAxMDI0OworCisgICAgdWludDY0X3QgbWVtU2l6ZSA9IGdldE1lbW9yeVNpemUoKTsKKyAg
ICBjYWxjdWxhdGVDYWNoZVNpemVzKGNhY2hlTW9kZWwsIG1lbVNpemUsIGRpc2tGcmVlU2l6ZSwK
KyAgICAgICAgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVN
YXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsCisgICAgICAg
ICAgICBwYWdlQ2FjaGVDYXBhY2l0eSwgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwgdXJsQ2FjaGVE
aXNrQ2FwYWNpdHkpOworCisgICAgaWYgKHVybENhY2hlRGlza0NhcGFjaXR5ID4gc291cF9jYWNo
ZV9nZXRfbWF4X3NpemUoY2FjaGUpKQorICAgICAgICBzb3VwX2NhY2hlX3NldF9tYXhfc2l6ZShj
YWNoZSwgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjph
bGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiwgY29uc3QgU3RyaW5nJikKQEAgLTUxLDcgKzgwLDExIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBDZXJ0aWZpY2F0ZUlu
Zm8mCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKHVpbnQz
Ml90IGNhY2hlc1RvQ2xlYXIpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAoY2Fj
aGVzVG9DbGVhciA9PSBJbk1lbW9yeVJlc291cmNlQ2FjaGVzT25seSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNl
c3Npb24oKTsKKyAgICBzb3VwX2NhY2hlX2NsZWFyKFNPVVBfQ0FDSEUoc291cF9zZXNzaW9uX2dl
dF9mZWF0dXJlKHNlc3Npb24sIFNPVVBfVFlQRV9DQUNIRSkpKTsKIH0KIAogdm9pZCBOZXR3b3Jr
UHJvY2Vzczo6cGxhdGZvcm1UZXJtaW5hdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL3VuaXgvTmV0d29ya1Byb2Nlc3NNYWluVW5peC5jcHAKaW5k
ZXggZDA4MGI3ODQwYTMyNjNiMTRjOTE4Y2JiN2IxZmM5MmU1M2M3NWNlZi4uNGQyNzM5YzZmYzA0
ZmQ5NzE2ZTFlY2MwNzZiOGUzOWNkMzhhNjZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9jZXNzTWFpblVuaXguY3Bw
CkBAIC0zMiw5ICszMiwxMyBAQAogI2luY2x1ZGUgIlByb3h5UmVzb2x2ZXJTb3VwLmgiCiAjaW5j
bHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSAiV2ViS2l0MkluaXRpYWxpemUuaCIKKyNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW5Mb29wLmg+
CiAjaW5jbHVkZSA8V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy5oPgogI2luY2x1ZGUgPGVycm9yLmg+
CisjaWYgVVNFKFNPVVApCisjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CisjZW5kaWYKICNpbmNs
dWRlIDxydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtNjQsNyArNjgsNyBAQCBXS19FWFBPUlQg
aW50IE5ldHdvcmtQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIEluaXRp
YWxpemVXZWJLaXQyKCk7CiAKICNpZiBVU0UoU09VUCkKLSAgICBTb3VwU2Vzc2lvbiogc2Vzc2lv
biA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpOworICAgIFNvdXBT
ZXNzaW9uKiBzZXNzaW9uID0gUmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7CiAjaWYg
UExBVEZPUk0oRUZMKQogICAgIC8vIE9ubHkgZm9yIEVGTCBiZWNhdXNlIEdUSyBwb3J0IHVzZXMg
dGhlIGRlZmF1bHQgcmVzb2x2ZXIsIHdoaWNoIHVzZXMgR0lPJ3MgcHJveHkgcmVzb2x2ZXIuCiAg
ICAgY29uc3QgY2hhciogaHR0cFByb3h5ID0gZ2V0ZW52KCJodHRwX3Byb3h5Iik7CkBAIC04Myw4
ICs4NywyMyBAQCBXS19FWFBPUlQgaW50IE5ldHdvcmtQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hh
ciogYXJndltdKQogCiAgICAgTmV0d29ya1Byb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemUocGFy
YW1ldGVycyk7CiAKKyNpZiBVU0UoU09VUCkKKyAgICAvLyBEZXNwaXRlIHVzaW5nIHN5c3RlbSBD
QXMgdG8gdmFsaWRhdGUgY2VydGlmaWNhdGVzIHdlJ3JlCisgICAgLy8gYWNjZXB0aW5nIGludmFs
aWQgY2VydGlmaWNhdGVzIGJ5IGRlZmF1bHQuIE5ldyBBUEkgd2lsbCBiZQorICAgIC8vIGFkZGVk
IGxhdGVyIHRvIGxldCBjbGllbnQgYWNjZXB0L2Rpc2NhcmQgaW52YWxpZCBjZXJ0aWZpY2F0ZXMu
CisgICAgZ19vYmplY3Rfc2V0KHNlc3Npb24sIFNPVVBfU0VTU0lPTl9TU0xfVVNFX1NZU1RFTV9D
QV9GSUxFLCBUUlVFLAorICAgICAgICBTT1VQX1NFU1NJT05fU1NMX1NUUklDVCwgRkFMU0UsIE5V
TEwpOworI2VuZGlmCisKICAgICBSdW5Mb29wOjpydW4oKTsKIAorI2lmIFVTRShTT1VQKQorICAg
IGlmIChTb3VwU2Vzc2lvbkZlYXR1cmUqIHNvdXBDYWNoZSA9IHNvdXBfc2Vzc2lvbl9nZXRfZmVh
dHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSB7CisgICAgICAgIHNvdXBfY2FjaGVfZmx1
c2goU09VUF9DQUNIRShzb3VwQ2FjaGUpKTsKKyAgICAgICAgc291cF9jYWNoZV9kdW1wKFNPVVBf
Q0FDSEUoc291cENhY2hlKSk7CisgICAgfQorI2VuZGlmCisKICAgICByZXR1cm4gMDsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAwMDhhODU2ZjUxYzdlNDJmOWRmZjM1YmI5YzE4
MzJmNThhODc5Y2ZkLi45NDdkMjNlYmY1YmRiNWRmYTcyMWQ2YjI3NjIxMGExY2I4YTM0M2M4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDYsNiArNDYsNyBAQCBsaXN0KEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5j
cHAKICAgICBTaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbFBvbGljeS5jcHAKIAor
ICAgIFNoYXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwCiAgICAgU2hhcmVkL3NvdXAvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0Nv
bnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFr
ZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDQxZTU5NzFmN2VmMDE4
ZTBjOTY5M2ZiYTM0OTI4NjYxMzA2YTRhYmYuLjgyZDc2OWQ3MjU4YzhjNTMyYzBlNzVmODY4NWVl
NDE1NWMyYTM2NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw2ICs2MSw3IEBA
IGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxs
UG9saWN5LmNwcAogCisgICAgU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5jcHAKICAgICBT
aGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAogCiAgICAgVUlQcm9jZXNz
L0RlZmF1bHRVbmRvQ29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3Nv
dXAvQ2FjaGVNb2RlbEhlbHBlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJkNWI1NmFkZTYwZWFhMWM5NWY4
ZTc4NGNiOWExYzcyY2ZhM2I4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9zb3VwL0NhY2hlTW9kZWxIZWxwZXIuY3BwCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIE1PVE9ST0xBIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIE1PVE9ST0xBIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhY2hlTW9kZWxIZWxwZXIuaCIKKworI2luY2x1ZGUg
PFdlYkNvcmUvRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1
ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRy
Lmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
dWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKiBjYWNoZSkKK3sKKyAgICBB
U1NFUlQoY2FjaGUpOworCisgICAgR093blB0cjxjaGFyPiBjYWNoZURpcjsKKyAgICBnX29iamVj
dF9nZXQoR19PQkpFQ1QoY2FjaGUpLCAiY2FjaGUtZGlyIiwgJmNhY2hlRGlyLm91dFB0cigpLCBO
VUxMKTsKKyAgICBpZiAoIWNhY2hlRGlyKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVy
biBXZWJDb3JlOjpnZXRWb2x1bWVGcmVlU2l6ZUZvclBhdGgoY2FjaGVEaXIuZ2V0KCkpOworfQor
Cit1aW50NjRfdCBnZXRNZW1vcnlTaXplKCkKK3sKKyAgICBzdGF0aWMgdWludDY0X3Qga0RlZmF1
bHRNZW1vcnlTaXplID0gNTEyOworI2lmICFPUyhXSU5ET1dTKQorICAgIGxvbmcgcGFnZVNpemUg
PSBzeXNjb25mKF9TQ19QQUdFU0laRSk7CisgICAgaWYgKHBhZ2VTaXplID09IC0xKQorICAgICAg
ICByZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAgbG9uZyBwaHlzUGFnZXMgPSBzeXNj
b25mKF9TQ19QSFlTX1BBR0VTKTsKKyAgICBpZiAocGh5c1BhZ2VzID09IC0xKQorICAgICAgICBy
ZXR1cm4ga0RlZmF1bHRNZW1vcnlTaXplOworCisgICAgcmV0dXJuICgocGFnZVNpemUgLyAxMDI0
KSAqIHBoeXNQYWdlcykgLyAxMDI0OworI2Vsc2UKKyAgICAvLyBGYWxsYmFjayB0byBkZWZhdWx0
IGZvciBvdGhlciBwbGF0Zm9ybXMuCisgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6ZTsKKyNl
bmRpZgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvQ2FjaGVNb2RlbEhlbHBlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZTdkMjU3MmY1ZDI5NWQ2
NDE4ZTkzNDM2YzUzMjE1NDRmMTAwYzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvc291cC9DYWNoZU1vZGVsSGVscGVyLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgTU9UT1JPTEEgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgTU9UT1JPTEEgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIENhY2hlTW9kZWxIZWxwZXJfaAorI2RlZmluZSBDYWNoZU1vZGVsSGVscGVyX2gKKworI2lu
Y2x1ZGUgPGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKwordWludDY0X3QgZ2V0Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKik7Cit1
aW50NjRfdCBnZXRNZW1vcnlTaXplKCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gQ2FjaGVNb2RlbEhlbHBlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcAppbmRleCBjN2JlYTkyODY0ZjFjMjhhNzYwMGM2NTNm
MDE5Zjg2NWFjZTdlMjlkLi4zNzViYWE1ZGNiZTVkMzUzNDFmN2U4MmNlNmVkMTRhODViZjg2OGJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1Nv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291
cC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJTZWNjb21wRmlsdGVyc1dlYlByb2Nl
c3NFZmwuaCIKICNlbmRpZgogCisjaW5jbHVkZSAiQ2FjaGVNb2RlbEhlbHBlci5oIgogI2luY2x1
ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2ViU291cFJlcXVlc3RNYW5hZ2VyLmgiCkBAIC00MCw0NCAr
NDEsMTIgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VDYWNoZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KLSNpbmNsdWRl
IDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgdWludDY0X3QgZ2V0
Q2FjaGVEaXNrRnJlZVNpemUoU291cENhY2hlKiBjYWNoZSkKLXsKLSAgICBBU1NFUlQoY2FjaGUp
OwotCi0gICAgR093blB0cjxjaGFyPiBjYWNoZURpcjsKLSAgICBnX29iamVjdF9nZXQoR19PQkpF
Q1QoY2FjaGUpLCAiY2FjaGUtZGlyIiwgJmNhY2hlRGlyLm91dFB0cigpLCBOVUxMKTsKLSAgICBp
ZiAoIWNhY2hlRGlyKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBXZWJDb3JlOjpn
ZXRWb2x1bWVGcmVlU2l6ZUZvclBhdGgoY2FjaGVEaXIuZ2V0KCkpOwotfQotCi1zdGF0aWMgdWlu
dDY0X3QgZ2V0TWVtb3J5U2l6ZSgpCi17Ci0gICAgc3RhdGljIHVpbnQ2NF90IGtEZWZhdWx0TWVt
b3J5U2l6ZSA9IDUxMjsKLSNpZiAhT1MoV0lORE9XUykKLSAgICBsb25nIHBhZ2VTaXplID0gc3lz
Y29uZihfU0NfUEFHRVNJWkUpOwotICAgIGlmIChwYWdlU2l6ZSA9PSAtMSkKLSAgICAgICAgcmV0
dXJuIGtEZWZhdWx0TWVtb3J5U2l6ZTsKLQotICAgIGxvbmcgcGh5c1BhZ2VzID0gc3lzY29uZihf
U0NfUEhZU19QQUdFUyk7Ci0gICAgaWYgKHBoeXNQYWdlcyA9PSAtMSkKLSAgICAgICAgcmV0dXJu
IGtEZWZhdWx0TWVtb3J5U2l6ZTsKLQotICAgIHJldHVybiAoKHBhZ2VTaXplIC8gMTAyNCkgKiBw
aHlzUGFnZXMpIC8gMTAyNDsKLSNlbHNlCi0gICAgLy8gRmFsbGJhY2sgdG8gZGVmYXVsdCBmb3Ig
b3RoZXIgcGxhdGZvcm1zLgotICAgIHJldHVybiBrRGVmYXVsdE1lbW9yeVNpemU7Ci0jZW5kaWYK
LX0KLQogdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsKQogewogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CkBAIC04
OSwxMSArNTgsMjAgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwoQ2Fj
aGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGxvbmcgdXJsQ2FjaGVNZW1vcnlDYXBh
Y2l0eSA9IDA7CiAgICAgdW5zaWduZWQgbG9uZyB1cmxDYWNoZURpc2tDYXBhY2l0eSA9IDA7CiAK
LSAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZh
dWx0U2Vzc2lvbigpOwotICAgIFNvdXBDYWNoZSogY2FjaGUgPSBTT1VQX0NBQ0hFKHNvdXBfc2Vz
c2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKTsKLSAgICB1aW50NjRf
dCBkaXNrRnJlZVNpemUgPSBnZXRDYWNoZURpc2tGcmVlU2l6ZShjYWNoZSkgLyAxMDI0IC8gMTAy
NDsKKyAgICB1aW50NjRfdCBkaXNrRnJlZVNpemUgPSAgMDsKKyAgICBTb3VwQ2FjaGUqIGNhY2hl
ID0gbnVsbHB0cjsKIAorI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAgaWYgKCFtX3Vz
ZXNOZXR3b3JrUHJvY2VzcykgeworI2VuZGlmCisgICAgICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9u
ID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7CisgICAgICAgIGNh
Y2hlID0gU09VUF9DQUNIRShzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09VUF9U
WVBFX0NBQ0hFKSk7CisgICAgICAgIGRpc2tGcmVlU2l6ZSA9IGdldENhY2hlRGlza0ZyZWVTaXpl
KGNhY2hlKSAvIDEwMjQgLyAxMDI0OworI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAg
fQorI2VuZGlmCiAgICAgdWludDY0X3QgbWVtU2l6ZSA9IGdldE1lbW9yeVNpemUoKTsKKwogICAg
IGNhbGN1bGF0ZUNhY2hlU2l6ZXMoY2FjaGVNb2RlbCwgbWVtU2l6ZSwgZGlza0ZyZWVTaXplLAog
ICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRD
YXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwsCiAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlQ2FjaGVDYXBhY2l0eSwgdXJsQ2Fj
aGVNZW1vcnlDYXBhY2l0eSwgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwpAQCAtMTAyLDggKzgwLDE0
IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2Fj
aGVNb2RlbCkKICAgICBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsKGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOwogICAgIFdl
YkNvcmU6OnBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShwYWdlQ2FjaGVDYXBhY2l0eSk7CiAKLSAg
ICBpZiAodXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPiBzb3VwX2NhY2hlX2dldF9tYXhfc2l6ZShjYWNo
ZSkpCi0gICAgICAgIHNvdXBfY2FjaGVfc2V0X21heF9zaXplKGNhY2hlLCB1cmxDYWNoZURpc2tD
YXBhY2l0eSk7CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBpZiAoIW1fdXNlc05l
dHdvcmtQcm9jZXNzKSB7CisjZW5kaWYKKyAgICAgICAgaWYgKHVybENhY2hlRGlza0NhcGFjaXR5
ID4gc291cF9jYWNoZV9nZXRfbWF4X3NpemUoY2FjaGUpKQorICAgICAgICAgICAgc291cF9jYWNo
ZV9zZXRfbWF4X3NpemUoY2FjaGUsIHVybENhY2hlRGlza0NhcGFjaXR5KTsKKyNpZiBFTkFCTEUo
TkVUV09SS19QUk9DRVNTKQorICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3M6OnBs
YXRmb3JtQ2xlYXJSZXNvdXJjZUNhY2hlcyhSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgY2FjaGVzVG9D
bGVhcikKQEAgLTExMSw2ICs5NSwxMiBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtQ2xlYXJS
ZXNvdXJjZUNhY2hlcyhSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgY2FjaGVzVG9DbGVhcgogICAgIGlm
IChjYWNoZXNUb0NsZWFyID09IEluTWVtb3J5UmVzb3VyY2VDYWNoZXNPbmx5KQogICAgICAgICBy
ZXR1cm47CiAKKyAgICAvLyBJZiB3ZSdyZSB1c2luZyB0aGUgbmV0d29yayBwcm9jZXNzIHRoZW4g
aXQgaXMgdGhlIG9ubHkgb25lIHRoYXQgbmVlZHMgdG8gY2xlYXIgdGhlIGRpc2sgY2FjaGUuCisj
aWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3Mp
CisgICAgICAgIHJldHVybjsKKyNlbmRpZgorCiAgICAgU291cFNlc3Npb24qIHNlc3Npb24gPSBX
ZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKICAgICBzb3VwX2NhY2hl
X2NsZWFyKFNPVVBfQ0FDSEUoc291cF9zZXNzaW9uX2dldF9mZWF0dXJlKHNlc3Npb24sIFNPVVBf
VFlQRV9DQUNIRSkpKTsKIH0KQEAgLTE3NiwxMCArMTY2LDE2IEBAIHZvaWQgV2ViUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzCiAgICAgfQogI2VuZGlmCiAKLSAgICBBU1NFUlQoIXBhcmFtZXRlcnMuZGlza0NhY2hl
RGlyZWN0b3J5LmlzRW1wdHkoKSk7Ci0gICAgR1JlZlB0cjxTb3VwQ2FjaGU+IHNvdXBDYWNoZSA9
IGFkb3B0R1JlZihzb3VwX2NhY2hlX25ldyhwYXJhbWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9yeS51
dGY4KCkuZGF0YSgpLCBTT1VQX0NBQ0hFX1NJTkdMRV9VU0VSKSk7Ci0gICAgc291cF9zZXNzaW9u
X2FkZF9mZWF0dXJlKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpLCBT
T1VQX1NFU1NJT05fRkVBVFVSRShzb3VwQ2FjaGUuZ2V0KCkpKTsKLSAgICBzb3VwX2NhY2hlX2xv
YWQoc291cENhY2hlLmdldCgpKTsKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAgIGlm
ICghbV91c2VzTmV0d29ya1Byb2Nlc3MpIHsKKyNlbmRpZgorICAgICAgICBBU1NFUlQoIXBhcmFt
ZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSk7CisgICAgICAgIEdSZWZQdHI8U291
cENhY2hlPiBzb3VwQ2FjaGUgPSBhZG9wdEdSZWYoc291cF9jYWNoZV9uZXcocGFyYW1ldGVycy5k
aXNrQ2FjaGVEaXJlY3RvcnkudXRmOCgpLmRhdGEoKSwgU09VUF9DQUNIRV9TSU5HTEVfVVNFUikp
OworICAgICAgICBzb3VwX3Nlc3Npb25fYWRkX2ZlYXR1cmUoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OmRlZmF1bHRTZXNzaW9uKCksIFNPVVBfU0VTU0lPTl9GRUFUVVJFKHNvdXBDYWNoZS5nZXQo
KSkpOworICAgICAgICBzb3VwX2NhY2hlX2xvYWQoc291cENhY2hlLmdldCgpKTsKKyNpZiBFTkFC
TEUoTkVUV09SS19QUk9DRVNTKQorICAgIH0KKyNlbmRpZgogCiAgICAgaWYgKCFwYXJhbWV0ZXJz
Lmxhbmd1YWdlcy5pc0VtcHR5KCkpCiAgICAgICAgIHNldFNvdXBTZXNzaW9uQWNjZXB0TGFuZ3Vh
Z2UocGFyYW1ldGVycy5sYW5ndWFnZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218743</attachid>
            <date>2013-12-09 03:07:23 -0800</date>
            <delta_ts>2013-12-09 03:37:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118343-20131209200721.patch</filename>
            <type>text/plain</type>
            <size>11084</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjYzNWE5ZmRkOTUyYzA1
Mzk3MDMzN2Q4ZjY0MGQzY2U1OTMzZmI4ZS4uMmQ1YWYzMmUwY2IwZmY2NmVmZjAyMGYxOWFiMGZk
MWQwMTRkNTJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTEyLTA5ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl1bU291cF0g
U3VwcG9ydCBjYWNoZSBtb2RlbCBpbiBOZXR3b3JrUHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4MzQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgS3dhbmcgWXVs
IFNlbyA8c2t5dWxAY29tcGFueTEwMC5uZXQ+IGFuZCBDc2FiYSBPc3p0cm9nb27DoWMgPG9zc3lA
d2Via2l0Lm9yZz4uCisKKyAgICAgICAgQ29waWVkIGNhY2hlIG1vZGVsIGNvZGUgZnJvbSBXZWJQ
cm9jZXNzLgorICAgICAgICBOZXR3b3JrUHJvY2VzcyBpcyBjb25maWd1cmVkIG5vdCB0byB1c2Ug
dGhlIFdlYkNvcmUgbWVtb3J5IGNhY2hlLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc291
cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpnZXRDYWNoZURpc2tG
cmVlU2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OmdldE1lbW9yeVNpemUpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgor
ICAgICAgICBJbml0aWFsaXplIHNvdXAgY2FjaGUuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQ
cm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9kZWwpOgorICAgICAgICBDb3BpZWQgY29kZSBmcm9t
IFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbCBidXQgcmVtb3ZlZAorICAgICAgICBX
ZWJDb3JlIG1lbW9yeSBjYWNoZSBpbml0aWFsaXphdGlvbiBiZWNhdXNlIE5ldHdvcmtQcm9jZXNz
IGRvZXMgbm90IHVzZQorICAgICAgICB0aGUgV2ViQ29yZSBtZW1vcnkgY2FjaGUuCisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyk6CisgICAg
ICAgIENvcGllZCBjb2RlIGZyb20gV2ViUHJvY2Vzczo6Y2xlYXJDYWNoZUZvckFsbE9yaWdpbnMu
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNw
cDoKKyAgICAgICAgQ29waWVkIGluaXRpYWxpemF0aW9uIGNvZGUgZnJvbSBXZWJQcm9jZXNzTWFp
bkd0ay5jcHAuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzTWFpbik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKToKKyAgICAgICAgRG9uJ3Qgc2V0IHRo
ZSBkaXNrIGNhY2hlIGlmIE5ldHdvcmtQcm9jZXNzIGlzIHVzZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnBsYXRmb3JtQ2xlYXJSZXNvdXJjZUNhY2hlcyk6CisgICAgICAgIERvbid0
IGNsZWFyIHRoZSBub24tZXhpc3RpbmcgZGlzayBjYWNoZS4gKGlmIE5ldHdvcmtQcm9jZXNzIGlz
IHVzZWQpCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MpOgorICAgICAgICBEb24ndCBpbml0aWFsaXplIHRoZSBkaXNrIGNhY2hlIGlmIE5l
dHdvcmtQcm9jZXNzIGlzIHVzZWQuCisKIDIwMTMtMTItMDggIEJyaWFuIEhvbHQgIDxicmlhbi5o
b2x0QHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtXSzJdW0d0a10gQWRkIHN1cHBvcnQgZm9yIEVO
QUJMRV9ORVRXT1JLX1BST0NFU1MgdG8gdGhlIGJ1aWxkIHN5c3RlbQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3Bw
CmluZGV4IGJkNGU2YzI5NzJhZDIyMjdiNDU5ZDhiYzI0MDg5MmUxNzU5ZjU3NDkuLjlhZGQ4MGM5
MjM2NjA5OTYxMDdmM2U5ZTQ3MjNjYmJmMzc0ZTk3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAKQEAg
LTI5LDE5ICsyOSw4MCBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAKICNpbmNsdWRl
ICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1ZGUgIlJlc291cmNl
Q2FjaGVzVG9DbGVhci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
SGFuZGxlLmg+CisKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNpbmNsdWRlIDx3dGYvZ29i
amVjdC9HT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgTmV0d29y
a1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKGNvbnN0IE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikKK3N0YXRpYyB1aW50NjRfdCBnZXRDYWNoZURpc2tG
cmVlU2l6ZShTb3VwQ2FjaGUqIGNhY2hlKQogeworICAgIEFTU0VSVChjYWNoZSk7CisKKyAgICBH
T3duUHRyPGNoYXI+IGNhY2hlRGlyOworICAgIGdfb2JqZWN0X2dldChHX09CSkVDVChjYWNoZSks
ICJjYWNoZS1kaXIiLCAmY2FjaGVEaXIub3V0UHRyKCksIE5VTEwpOworICAgIGlmICghY2FjaGVE
aXIpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIFdlYkNvcmU6OmdldFZvbHVtZUZy
ZWVTaXplRm9yUGF0aChjYWNoZURpci5nZXQoKSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6
OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsKQorc3RhdGljIHVpbnQ2NF90IGdldE1l
bW9yeVNpemUoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgc3RhdGljIHVpbnQ2NF90
IGtEZWZhdWx0TWVtb3J5U2l6ZSA9IDUxMjsKKyNpZiAhT1MoV0lORE9XUykKKyAgICBsb25nIHBh
Z2VTaXplID0gc3lzY29uZihfU0NfUEFHRVNJWkUpOworICAgIGlmIChwYWdlU2l6ZSA9PSAtMSkK
KyAgICAgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6ZTsKKworICAgIGxvbmcgcGh5c1BhZ2Vz
ID0gc3lzY29uZihfU0NfUEhZU19QQUdFUyk7CisgICAgaWYgKHBoeXNQYWdlcyA9PSAtMSkKKyAg
ICAgICAgcmV0dXJuIGtEZWZhdWx0TWVtb3J5U2l6ZTsKKworICAgIHJldHVybiAoKHBhZ2VTaXpl
IC8gMTAyNCkgKiBwaHlzUGFnZXMpIC8gMTAyNDsKKyNlbHNlCisgICAgLy8gRmFsbGJhY2sgdG8g
ZGVmYXVsdCBmb3Igb3RoZXIgcGxhdGZvcm1zLgorICAgIHJldHVybiBrRGVmYXVsdE1lbW9yeVNp
emU7CisjZW5kaWYKK30KKwordm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXpl
TmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBh
cmFtZXRlcnMpCit7CisgICAgQVNTRVJUKCFwYXJhbWV0ZXJzLmRpc2tDYWNoZURpcmVjdG9yeS5p
c0VtcHR5KCkpOworICAgIEdSZWZQdHI8U291cENhY2hlPiBzb3VwQ2FjaGUgPSBhZG9wdEdSZWYo
c291cF9jYWNoZV9uZXcocGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkudXRmOCgpLmRhdGEo
KSwgU09VUF9DQUNIRV9TSU5HTEVfVVNFUikpOworICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVy
ZShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKSwgU09VUF9TRVNTSU9O
X0ZFQVRVUkUoc291cENhY2hlLmdldCgpKSk7CisgICAgc291cF9jYWNoZV9sb2FkKHNvdXBDYWNo
ZS5nZXQoKSk7Cit9CisKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2Rl
bChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCit7CisgICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFj
aXR5ID0gMDsKKyAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CisgICAgdW5z
aWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOworICAgIGRvdWJsZSBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gMDsKKyAgICB1bnNpZ25lZCBwYWdlQ2FjaGVDYXBhY2l0eSA9
IDA7CisKKyAgICB1bnNpZ25lZCBsb25nIHVybENhY2hlTWVtb3J5Q2FwYWNpdHkgPSAwOworICAg
IHVuc2lnbmVkIGxvbmcgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkgPSAwOworCisgICAgU291cFNlc3Np
b24qIHNlc3Npb24gPSBSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKKyAgICBTb3Vw
Q2FjaGUqIGNhY2hlID0gU09VUF9DQUNIRShzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lv
biwgU09VUF9UWVBFX0NBQ0hFKSk7CisgICAgdWludDY0X3QgZGlza0ZyZWVTaXplID0gZ2V0Q2Fj
aGVEaXNrRnJlZVNpemUoY2FjaGUpIC8gMTAyNCAvIDEwMjQ7CisKKyAgICB1aW50NjRfdCBtZW1T
aXplID0gZ2V0TWVtb3J5U2l6ZSgpOworICAgIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoY2FjaGVNb2Rl
bCwgbWVtU2l6ZSwgZGlza0ZyZWVTaXplLAorICAgICAgICBjYWNoZVRvdGFsQ2FwYWNpdHksIGNh
Y2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCwKKyAgICAgICAgcGFnZUNhY2hlQ2FwYWNpdHksIHVybENhY2hlTWVt
b3J5Q2FwYWNpdHksIHVybENhY2hlRGlza0NhcGFjaXR5KTsKKworICAgIGlmICh1cmxDYWNoZURp
c2tDYXBhY2l0eSA+IHNvdXBfY2FjaGVfZ2V0X21heF9zaXplKGNhY2hlKSkKKyAgICAgICAgc291
cF9jYWNoZV9zZXRfbWF4X3NpemUoY2FjaGUsIHVybENhY2hlRGlza0NhcGFjaXR5KTsKIH0KIAog
dm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KGNvbnN0IENlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0cmluZyYpCkBAIC01MSw3ICsxMTIsMTEg
QEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6YWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JI
b3N0KGNvbnN0IENlcnRpZmljYXRlSW5mbyYKIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2xlYXJD
YWNoZUZvckFsbE9yaWdpbnModWludDMyX3QgY2FjaGVzVG9DbGVhcikKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIGlmIChjYWNoZXNUb0NsZWFyID09IEluTWVtb3J5UmVzb3VyY2VDYWNo
ZXNPbmx5KQorICAgICAgICByZXR1cm47CisKKyAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IFJl
c291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpOworICAgIHNvdXBfY2FjaGVfY2xlYXIoU09V
UF9DQUNIRShzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09VUF9UWVBFX0NBQ0hF
KSkpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybVRlcm1pbmF0ZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9jZXNz
TWFpblVuaXguY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3Jr
UHJvY2Vzc01haW5Vbml4LmNwcAppbmRleCA3ZTZjZGNjNDU1MWYyODc0OGJhN2E4NTQ5YzMxMDhi
NDNmNTI0YzA2Li4yNTUyYTkxNTgyZTIzYmI2NmMwM2UzZjk4NmY3MjgxZWI4YWJhMDFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9jZXNz
TWFpblVuaXguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3VuaXgvTmV0
d29ya1Byb2Nlc3NNYWluVW5peC5jcHAKQEAgLTM1LDYgKzM1LDkgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy5o
PgogI2luY2x1ZGUgPGVycm9yLmg+CisjaWYgVVNFKFNPVVApCisjaW5jbHVkZSA8bGlic291cC9z
b3VwLmg+CisjZW5kaWYKICNpbmNsdWRlIDxydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaD4K
ICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpAQCAtNjUs
NyArNjgsNyBAQCBXS19FWFBPUlQgaW50IE5ldHdvcmtQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hh
ciogYXJndltdKQogICAgIEluaXRpYWxpemVXZWJLaXQyKCk7CiAKICNpZiBVU0UoU09VUCkKLSAg
ICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0
U2Vzc2lvbigpOworICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gUmVzb3VyY2VIYW5kbGU6OmRl
ZmF1bHRTZXNzaW9uKCk7CiAjaWYgUExBVEZPUk0oRUZMKQogICAgIC8vIE9ubHkgZm9yIEVGTCBi
ZWNhdXNlIEdUSyBwb3J0IHVzZXMgdGhlIGRlZmF1bHQgcmVzb2x2ZXIsIHdoaWNoIHVzZXMgR0lP
J3MgcHJveHkgcmVzb2x2ZXIuCiAgICAgY29uc3QgY2hhciogaHR0cFByb3h5ID0gZ2V0ZW52KCJo
dHRwX3Byb3h5Iik7CkBAIC04NCw4ICs4NywyMyBAQCBXS19FWFBPUlQgaW50IE5ldHdvcmtQcm9j
ZXNzTWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogCiAgICAgTmV0d29ya1Byb2Nlc3M6OnNo
YXJlZCgpLmluaXRpYWxpemUocGFyYW1ldGVycyk7CiAKKyNpZiBVU0UoU09VUCkKKyAgICAvLyBE
ZXNwaXRlIHVzaW5nIHN5c3RlbSBDQXMgdG8gdmFsaWRhdGUgY2VydGlmaWNhdGVzIHdlJ3JlCisg
ICAgLy8gYWNjZXB0aW5nIGludmFsaWQgY2VydGlmaWNhdGVzIGJ5IGRlZmF1bHQuIE5ldyBBUEkg
d2lsbCBiZQorICAgIC8vIGFkZGVkIGxhdGVyIHRvIGxldCBjbGllbnQgYWNjZXB0L2Rpc2NhcmQg
aW52YWxpZCBjZXJ0aWZpY2F0ZXMuCisgICAgZ19vYmplY3Rfc2V0KHNlc3Npb24sIFNPVVBfU0VT
U0lPTl9TU0xfVVNFX1NZU1RFTV9DQV9GSUxFLCBUUlVFLAorICAgICAgICBTT1VQX1NFU1NJT05f
U1NMX1NUUklDVCwgRkFMU0UsIE5VTEwpOworI2VuZGlmCisKICAgICBSdW5Mb29wOjpydW4oKTsK
IAorI2lmIFVTRShTT1VQKQorICAgIGlmIChTb3VwU2Vzc2lvbkZlYXR1cmUqIHNvdXBDYWNoZSA9
IHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKSB7Cisg
ICAgICAgIHNvdXBfY2FjaGVfZmx1c2goU09VUF9DQUNIRShzb3VwQ2FjaGUpKTsKKyAgICAgICAg
c291cF9jYWNoZV9kdW1wKFNPVVBfQ0FDSEUoc291cENhY2hlKSk7CisgICAgfQorI2VuZGlmCisK
ICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291
cC9XZWJQcm9jZXNzU291cC5jcHAKaW5kZXggNjkxZGIzYWRlZjE1ZmM0ZWJjNGNmMDY4ZDQ3NmUy
Zjk1ZGU5Zjc0Zi4uMDU0NDgyOGNkYTJlZjFmY2FjOTZmNzRkM2RjYjg3ZmQ5YjNkNjYwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3Bw
CkBAIC05MCwxMCArOTAsMTggQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybVNldENhY2hlTW9k
ZWwoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGxvbmcgdXJsQ2FjaGVNZW1v
cnlDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgbG9uZyB1cmxDYWNoZURpc2tDYXBhY2l0eSA9
IDA7CiAKLSAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjpkZWZhdWx0U2Vzc2lvbigpOwotICAgIFNvdXBDYWNoZSogY2FjaGUgPSBTT1VQX0NBQ0hFKHNv
dXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZUEVfQ0FDSEUpKTsKLSAgICB1
aW50NjRfdCBkaXNrRnJlZVNpemUgPSBnZXRDYWNoZURpc2tGcmVlU2l6ZShjYWNoZSkgLyAxMDI0
IC8gMTAyNDsKKyAgICB1aW50NjRfdCBkaXNrRnJlZVNpemUgPSAwOworICAgIFNvdXBDYWNoZSog
Y2FjaGUgPSBudWxscHRyOwogCisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBpZiAo
IW1fdXNlc05ldHdvcmtQcm9jZXNzKSB7CisjZW5kaWYKKyAgICAgICAgU291cFNlc3Npb24qIHNl
c3Npb24gPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKTsKKyAgICAg
ICAgY2FjaGUgPSBTT1VQX0NBQ0hFKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBT
T1VQX1RZUEVfQ0FDSEUpKTsKKyAgICAgICAgZGlza0ZyZWVTaXplID0gZ2V0Q2FjaGVEaXNrRnJl
ZVNpemUoY2FjaGUpIC8gMTAyNCAvIDEwMjQ7CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykK
KyAgICB9CisjZW5kaWYKICAgICB1aW50NjRfdCBtZW1TaXplID0gZ2V0TWVtb3J5U2l6ZSgpOwog
ICAgIGNhbGN1bGF0ZUNhY2hlU2l6ZXMoY2FjaGVNb2RlbCwgbWVtU2l6ZSwgZGlza0ZyZWVTaXpl
LAogICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRl
YWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9u
SW50ZXJ2YWwsCkBAIC0xMDMsNiArMTExLDE0IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1T
ZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICBXZWJDb3JlOjptZW1vcnlD
YWNoZSgpLT5zZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKGRlYWREZWNvZGVkRGF0
YURlbGV0aW9uSW50ZXJ2YWwpOwogICAgIFdlYkNvcmU6OnBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0
eShwYWdlQ2FjaGVDYXBhY2l0eSk7CiAKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAg
IGlmICghbV91c2VzTmV0d29ya1Byb2Nlc3MpIHsKKyNlbmRpZgorICAgICAgICBpZiAodXJsQ2Fj
aGVEaXNrQ2FwYWNpdHkgPiBzb3VwX2NhY2hlX2dldF9tYXhfc2l6ZShjYWNoZSkpCisgICAgICAg
ICAgICBzb3VwX2NhY2hlX3NldF9tYXhfc2l6ZShjYWNoZSwgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkp
OworI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisgICAgfQorI2VuZGlmCiAgICAgaWYgKHVy
bENhY2hlRGlza0NhcGFjaXR5ID4gc291cF9jYWNoZV9nZXRfbWF4X3NpemUoY2FjaGUpKQogICAg
ICAgICBzb3VwX2NhY2hlX3NldF9tYXhfc2l6ZShjYWNoZSwgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkp
OwogfQpAQCAtMTEyLDYgKzEyOCwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtQ2xlYXJS
ZXNvdXJjZUNhY2hlcyhSZXNvdXJjZUNhY2hlc1RvQ2xlYXIgY2FjaGVzVG9DbGVhcgogICAgIGlm
IChjYWNoZXNUb0NsZWFyID09IEluTWVtb3J5UmVzb3VyY2VDYWNoZXNPbmx5KQogICAgICAgICBy
ZXR1cm47CiAKKyAgICAvLyBJZiB3ZSdyZSB1c2luZyB0aGUgbmV0d29yayBwcm9jZXNzIHRoZW4g
aXQgaXMgdGhlIG9ubHkgb25lIHRoYXQgbmVlZHMgdG8gY2xlYXIgdGhlIGRpc2sgY2FjaGUuCisj
aWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyAgICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3Mp
CisgICAgICAgIHJldHVybjsKKyNlbmRpZgogICAgIFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGU6OmRlZmF1bHRTZXNzaW9uKCk7CiAgICAgc291cF9jYWNoZV9j
bGVhcihTT1VQX0NBQ0hFKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9uLCBTT1VQX1RZ
UEVfQ0FDSEUpKSk7CiB9CkBAIC0xNzcsMTEgKzE5OCwxNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnBs
YXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycwogICAgIH0KICNlbmRpZgogCi0gICAgQVNTRVJUKCFwYXJhbWV0ZXJzLmRpc2tDYWNoZURp
cmVjdG9yeS5pc0VtcHR5KCkpOwotICAgIEdSZWZQdHI8U291cENhY2hlPiBzb3VwQ2FjaGUgPSBh
ZG9wdEdSZWYoc291cF9jYWNoZV9uZXcocGFyYW1ldGVycy5kaXNrQ2FjaGVEaXJlY3RvcnkudXRm
OCgpLmRhdGEoKSwgU09VUF9DQUNIRV9TSU5HTEVfVVNFUikpOwotICAgIHNvdXBfc2Vzc2lvbl9h
ZGRfZmVhdHVyZShXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6ZGVmYXVsdFNlc3Npb24oKSwgU09V
UF9TRVNTSU9OX0ZFQVRVUkUoc291cENhY2hlLmdldCgpKSk7Ci0gICAgc291cF9jYWNoZV9sb2Fk
KHNvdXBDYWNoZS5nZXQoKSk7Ci0KKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAgIGlm
ICghbV91c2VzTmV0d29ya1Byb2Nlc3MpIHsKKyNlbmRpZgorICAgICAgICBBU1NFUlQoIXBhcmFt
ZXRlcnMuZGlza0NhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSk7CisgICAgICAgIEdSZWZQdHI8U291
cENhY2hlPiBzb3VwQ2FjaGUgPSBhZG9wdEdSZWYoc291cF9jYWNoZV9uZXcocGFyYW1ldGVycy5k
aXNrQ2FjaGVEaXJlY3RvcnkudXRmOCgpLmRhdGEoKSwgU09VUF9DQUNIRV9TSU5HTEVfVVNFUikp
OworICAgICAgICBzb3VwX3Nlc3Npb25fYWRkX2ZlYXR1cmUoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OmRlZmF1bHRTZXNzaW9uKCksIFNPVVBfU0VTU0lPTl9GRUFUVVJFKHNvdXBDYWNoZS5nZXQo
KSkpOworICAgICAgICBzb3VwX2NhY2hlX2xvYWQoc291cENhY2hlLmdldCgpKTsKKyNpZiBFTkFC
TEUoTkVUV09SS19QUk9DRVNTKQorICAgIH0KKyNlbmRpZgogICAgIGlmICghcGFyYW1ldGVycy5s
YW5ndWFnZXMuaXNFbXB0eSgpKQogICAgICAgICBzZXRTb3VwU2Vzc2lvbkFjY2VwdExhbmd1YWdl
KHBhcmFtZXRlcnMubGFuZ3VhZ2VzKTsKIAo=
</data>
<flag name="review"
          id="242239"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>