<?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>53747</bug_id>
          
          <creation_ts>2011-02-03 18:46:35 -0800</creation_ts>
          <short_desc>Add some dynamic annotations to JavaScriptCore/wtf</short_desc>
          <delta_ts>2011-03-30 22:14:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timur Iskhodzhanov">timurrrr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>jamesr</cc>
    
    <cc>kcc</cc>
    
    <cc>levin</cc>
    
    <cc>mrowe</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>345245</commentid>
    <comment_count>0</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-02-03 18:46:35 -0800</bug_when>
    <thetext>Add some dynamic annotations to JavaScriptCore/wtf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345249</commentid>
    <comment_count>1</comment_count>
      <attachid>81171</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-02-03 18:54:18 -0800</bug_when>
    <thetext>Created attachment 81171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345253</commentid>
    <comment_count>2</comment_count>
      <attachid>81172</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-02-03 19:05:33 -0800</bug_when>
    <thetext>Created attachment 81172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345278</commentid>
    <comment_count>3</comment_count>
      <attachid>81172</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-03 20:07:59 -0800</bug_when>
    <thetext>Comment on attachment 81172
Patch

Looks good to me!  I think having these annotations available will be quite useful and we&apos;ve already found some WebKit bugs using this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345336</commentid>
    <comment_count>4</comment_count>
      <attachid>81172</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-03 21:30:30 -0800</bug_when>
    <thetext>Comment on attachment 81172
Patch

Rejecting attachment 81172 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-4&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
g file Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
patching file Source/JavaScriptCore/wtf/CMakeLists.txt
patching file Source/JavaScriptCore/wtf/DynamicAnnotations.c
patching file Source/JavaScriptCore/wtf/DynamicAnnotations.h
patching file Source/JavaScriptCore/wtf/ThreadSafeShared.h
patching file Source/JavaScriptCore/wtf/text/StringStatics.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;James Robinson&apos;, u&apos;--f...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7691872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345351</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-02-03 22:00:54 -0800</bug_when>
    <thetext>The patch is against r77582 and the last change to WTF.vcproj was r77062 according to http://trac.webkit.org/browser/trunk/Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj so I have no idea why it failed to apply.  Eric/Adam, any thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345354</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-03 22:12:18 -0800</bug_when>
    <thetext>It&apos;s an svn-apply bug.  See https://bugs.webkit.org/show_bug.cgi?id=39607 and related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345445</commentid>
    <comment_count>7</comment_count>
      <attachid>81172</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-02-04 05:09:57 -0800</bug_when>
    <thetext>Comment on attachment 81172
Patch

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

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:27
&gt; + * Author: Kostya Serebryany

We don’t list author information in source files.  The version control system tracks this information.

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:31
&gt; +#define DynamicAnnotations_h

The convention in the wtf directory appears to be to use WTF_FileName_h as the include guard.

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:33
&gt; +#include &quot;Platform.h&quot;

This include should not be present.

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:35
&gt; +/* This file defines dynamic annotations for use with dynamic analysis

IMO the term “dynamic annotations” is far too generic to clearly communicate what it is that this file provides.  Is there some clearer term that can be used instead?

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:63
&gt; +#define ANNOTATE_HAPPENS_AFTER(obj) WebKitAnnotateCondVarWait(__FILE__, __LINE__, obj, 0)

The naming of these two macros is confusing to me.  The names don’t appear to communicate what their purpose is.  Something happens before or after something else?  Can we come up with self-documenting names so that we don’t need to add multi-line comments at every use?

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:71
&gt; +void WebKitAnnotateCondVarWait(const char *file, int line, const volatile void *cv, const volatile void *lock);

The WebKit prefix on these functions seems less than ideal given that they are in WTF.  A WTF prefix would be more in line with other straight C functions in WTF.

The functions should be updated to match the WebKit style guide: Abbreviations shouldn’t be used in the names, the * for pointers should be next to the type name, and argument names shouldn’t be abbreviated.

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:80
&gt; +#define ANNOTATE_HAPPENS_AFTER(obj) /* empty */

It’s not clear to me that the comments here add any value.

&gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:65
&gt; +#include &lt;wtf/DynamicAnnotations.h&gt;

Given that ThreadSafeShared.h is included by projects outside of JavaScriptCore (e.g., by WebCore) I suspect that this #include will break the Mac build unless you add a forwarding header.

&gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:108
&gt; +        // See http://code.google.com/p/data-race-test/wiki/DynamicAnnotations#Reference_counting

I can’t help but feel that if the macro names were clearer then we wouldn’t need comments like this where they’re used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345446</commentid>
    <comment_count>8</comment_count>
      <attachid>81172</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-02-04 05:10:46 -0800</bug_when>
    <thetext>Comment on attachment 81172
Patch

Setting to r- since it’s very likely that this will break the Mac build (see comment above about ThreadSafeShared.h).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345453</commentid>
    <comment_count>9</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-02-04 06:12:41 -0800</bug_when>
    <thetext>Nit:  * and &amp;, etc. pair with the type in WebKit style and opposed to the variable. This patch is consistently not following this.

i.e. &quot;const char *&quot; should be &quot;const char*&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345618</commentid>
    <comment_count>10</comment_count>
      <attachid>81246</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-02-04 10:59:48 -0800</bug_when>
    <thetext>Created attachment 81246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345641</commentid>
    <comment_count>11</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-02-04 11:32:43 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 81172 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81172&amp;action=review

Mark, thanks for your review!
I&apos;ve addressed most of your comments in my new patch though I have a couple of questions to ask.

So, the structure of my reply is:
1) Done, done, done
2) A couple of questions
3) A couple of comments I did not address on purpose

1.
&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:33
&gt; &gt; +#include &quot;Platform.h&quot;
&gt; 
&gt; This include should not be present.
Done.
I&apos;m slightly worried that some files may not include config.h/Platform.h before DynamicAnnotations.h but it would violate your convention. 

&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:71
&gt; &gt; +void WebKitAnnotateCondVarWait(const char *file, int line, const volatile void *cv, const volatile void *lock);
&gt; 
&gt; The WebKit prefix on these functions seems less than ideal given that they are in WTF.  A WTF prefix would be more in line with other straight C functions in WTF.
Done.

&gt; The functions should be updated to match the WebKit style guide: Abbreviations shouldn’t be used in the names, the * for pointers should be next to the type name, and argument names shouldn’t be abbreviated.
Done except for abbrevations in the function names.
These dynamic analysis tools intercept annotations based on their names (disregarding the prefix), for example they do intercept
AnnotateCondVarSignal, WTFAnnotateCondVarSignal, WhatEverAnnotateCondVarSignal but they won&apos;t intercept AnnotateConditionVariableSignal.
In order to fix this we&apos;ll need to patch the tools upstream. This will take some extra time to roll new binaries everywhere and I&apos;m not sure it&apos;s worth the effort, especially because developers are discouraged to use these functions directly.  

&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:80
&gt; &gt; +#define ANNOTATE_HAPPENS_AFTER(obj) /* empty */
&gt; 
&gt; It’s not clear to me that the comments here add any value.
Done - I wrote a new comment for the whole bunch of these macros with some explanation. 

&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:27
&gt; &gt; + * Author: Kostya Serebryany
&gt; We don’t list author information in source files.  The version control system tracks this information.
After all, I&apos;m not Kostya Serebryany :)
I&apos;ll talked to him and he removed that line upstream; I&apos;ve updated the patch

2.
&gt; &gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:65
&gt; &gt; +#include &lt;wtf/DynamicAnnotations.h&gt;
&gt; 
&gt; Given that ThreadSafeShared.h is included by projects outside of JavaScriptCore (e.g., by WebCore) I suspect that this #include will break the Mac build unless you add a forwarding header.
Good catch!
I think build-webkit was succeeding locally on my MacBook but anyways I&apos;ve added these files (similar to the forwarding headers for wtf/Atomics.h)
Should I also add these forwarding headers to some Makefiles/gyp/xcode/etc? If so - where?  

3.
A little background:
the files I&apos;m trying to add are based on
http://code.google.com/p/data-race-test/source/browse/trunk/dynamic_annotations/dynamic_annotations.h
and
http://code.google.com/p/data-race-test/source/browse/trunk/dynamic_annotations/dynamic_annotations.c

We&apos;ve been using those files at Google for more than two years already, including open-source projects like Chromium, NativeClient and more.

&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:35
&gt; &gt; +/* This file defines dynamic annotations for use with dynamic analysis
&gt; 
&gt; IMO the term “dynamic annotations” is far too generic to clearly communicate what it is that this file provides.  Is there some clearer term that can be used instead?
&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.h:63
&gt; &gt; +#define ANNOTATE_HAPPENS_AFTER(obj) WebKitAnnotateCondVarWait(__FILE__, __LINE__, obj, 0)
&gt; The naming of these two macros is confusing to me.  The names don’t appear to communicate what their purpose is.  Something happens before or after something else?  Can we come up with self-documenting names so that we don’t need to add multi-line comments at every use?
&gt; &gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:108
&gt; &gt; +        // See http://code.google.com/p/data-race-test/wiki/DynamicAnnotations#Reference_counting
&gt; I can’t help but feel that if the macro names were clearer then we wouldn’t need comments like this where they’re used.
Yeah, naming of this stuff is a tough thing.
Personally, I totally agree with you.
The problem is that to really understand what these macros are doing you have to know the guts of data race detection tools which is not what we expect from the developers...
We&apos;ve already tried renaming them a couple of times discussing them people working in this domain (including Mike Burrows, author of one of the first production-quality race detector) and what we have now is the best we could advance.
ANNOTATE_HAPPENS_BEFORE/AFTER is not confusing too much in my mind :) At least everyone understands that something happens-before something else and we give a link to a comprehensive explanation why it should be done that way.

Looking forward for your comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345643</commentid>
    <comment_count>12</comment_count>
      <attachid>81253</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-02-04 11:34:13 -0800</bug_when>
    <thetext>Created attachment 81253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345648</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-04 11:40:12 -0800</bug_when>
    <thetext>Attachment 81246 did not build on chromium:
Build output: http://queues.webkit.org/results/7701083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345662</commentid>
    <comment_count>14</comment_count>
    <who name="Kostya Serebryany">kcc</who>
    <bug_when>2011-02-04 11:55:19 -0800</bug_when>
    <thetext>I wonder if we can put these files into WebKit unchanged (maybe some kind of third_party directory or something). 
We already maintain a handful of different copies of dynamic_annotations.[ch] in different projects. 
Maintainance pain grows too fast with each extra copy, if the copy differs from the original.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345688</commentid>
    <comment_count>15</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-04 12:27:13 -0800</bug_when>
    <thetext>Attachment 81246 did not build on win:
Build output: http://queues.webkit.org/results/7692967</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345731</commentid>
    <comment_count>16</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-04 13:18:53 -0800</bug_when>
    <thetext>Attachment 81253 did not build on win:
Build output: http://queues.webkit.org/results/7697646</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345746</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-04 13:32:18 -0800</bug_when>
    <thetext>Attachment 81253 did not build on chromium:
Build output: http://queues.webkit.org/results/7698607</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345785</commentid>
    <comment_count>18</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-04 14:08:50 -0800</bug_when>
    <thetext>Attachment 81253 did not build on win:
Build output: http://queues.webkit.org/results/7702114</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360764</commentid>
    <comment_count>19</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-02 06:28:43 -0800</bug_when>
    <thetext>Sorry for the delay, I was travelling and then had some other things to do.

So, the Chromium build problem arises from the following:
a) WebKit --chromium includes some Chromium headers that have their own (upstream!) copy of dynamic_annotations.h
  As a result, there are two inclusions: DynamicAnnotations.h, then dynamic_annotations.h and they have different include gueards.
  Chromium (presumably) includes WebKit headers as well in a different orders.
  Possible options are:
    - Upload upstream dynamic_annotations headers to WebKit third_party/
       I was told this this may be extremely difficult given the number of project generators used in WebKit and the fact that there&apos;s only one third_party project in WebKit atm (ANGLE)
    - Make a _full_ copy of dynamic_annotations and put them into wtf/ following WebKit codestyle.
       I think this is very fragile and also it will make updating these annotations a nightmare (WebKit headers will be sometimes used in Chromium instead of Chromium ones - ouch!).
    - Rename the WebKit annotations macros to WTF_ANNOTATE_BLA_BLA_BLA
I&apos;m going to try the latter

b) Win - I&apos;ve no idea what to do.
First, I&apos;ve searched for all references to Atomics.h (in the directory structure as well as in project files) and added similar references to DynamicAnnotations.h but looks like it&apos;s not enough
Second, I can&apos;t get my only VS2005-enabled Windows machine to build a clean WebKit checkout to understand what happens...

Precaution: Maybe I&apos;ll upload a few updated version of this patch to see how the try queue bots do with them</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360766</commentid>
    <comment_count>20</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-02 06:35:11 -0800</bug_when>
    <thetext>Ah, the Windows failures now make [no] sense to me:
http://queues.webkit.org/results/7702114
&quot;22&gt;------ Build started: Project: MiniBrowser, Configuration: Debug Win32 ------
22&gt;Performing Pre-Build Event...
22&gt;Project : error PRJ0002 : Error result 1 returned from &apos;C:\Windows\system32\cmd.exe&apos;.
22&gt;Project : warning PRJ0018 : The following environment variables were not found:
22&gt;$(PRODUCTION)&quot;

I&apos;m seeing exactly the same failure when trying to do a build of a clean WebKit checkout.
I&apos;m going to disregard the windows failures unless asked otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360933</commentid>
    <comment_count>21</comment_count>
      <attachid>84441</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-02 11:17:13 -0800</bug_when>
    <thetext>Created attachment 84441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361010</commentid>
    <comment_count>22</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-02 13:02:17 -0800</bug_when>
    <thetext>Mark, David, James,

I think I&apos;ve addressed your comments and it has passed on the bots (except for those that failed to &quot;svn apply&quot; -&gt; how can I clobber them?)
Also, &quot;Tools/Scripts/build-webkit [--chromium]&quot; succeeded for me locally on Mac.

Should I do anything else with this patch?

Thanks,
Timur Iskhodzhanov</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361487</commentid>
    <comment_count>23</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-03 03:12:13 -0800</bug_when>
    <thetext>Attachment 84441 did not build on win:
Build output: http://queues.webkit.org/results/8084278</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361511</commentid>
    <comment_count>24</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-03 04:07:52 -0800</bug_when>
    <thetext>Windows failures are still unrelated

22&gt;Project : error PRJ0002 : Error result 1 returned from &apos;C:\Windows\system32\cmd.exe&apos;.
22&gt;Project : warning PRJ0018 : The following environment variables were not found:
22&gt;$(PRODUCTION)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361710</commentid>
    <comment_count>25</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-03-03 10:13:54 -0800</bug_when>
    <thetext>The Windows failure is most certainly not unrelated:

&gt; 14&gt;C:\cygwin\home\buildbot\Webkit\WebKitBuild\Debug\Include\private\JavaScriptCore/ThreadSafeShared.h(65) : fatal error C1083: Cannot open include file: &apos;wtf/DynamicAnnotations.h&apos;: No such file or directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361712</commentid>
    <comment_count>26</comment_count>
      <attachid>84441</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-03-03 10:15:36 -0800</bug_when>
    <thetext>Comment on attachment 84441
Patch

Marking as r- since this breaks the Windows build and includes random unrelated changes inside the Tools directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361751</commentid>
    <comment_count>27</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-03 11:06:26 -0800</bug_when>
    <thetext>Ouch!

Sorry for the Tools/ changes introduced - webkit-patch had problems accessing my keychain on Mac for some reason so I temporary hacked the scripts and didn&apos;t notice that.
Maybe I&apos;ll try to do a clean checkout and upload a patch from there...

Regarding Windows failures - any ideas or tips how/where to fix that?
I have only one Windows machine with VS2005 and it fails to build a clean checkout with same &quot;$(PRODUCTION)&quot; errors all over the place.

Sorry for the mess with this patch, I&apos;m not yet familiar with all WebKit contributing specifics and don&apos;t know the build system / webkit-update internals to work around the issues that shouldn&apos;t be there in the first place IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361764</commentid>
    <comment_count>28</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-03 11:14:54 -0800</bug_when>
    <thetext>The $(PRODUCTION) messages are not fatal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361778</commentid>
    <comment_count>29</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-03-03 11:23:02 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; The $(PRODUCTION) messages are not fatal.

Correct.  They even helpfully start with “warning” rather than “error” to indicate this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361791</commentid>
    <comment_count>30</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-03 11:38:02 -0800</bug_when>
    <thetext>22&gt;------ Build started: Project: MiniBrowser, Configuration: Debug Win32 ------
22&gt;Project : error PRJ0002 : Error result 1 returned from &apos;C:\Windows\system32\cmd.exe&apos;.
22&gt;Project : warning PRJ0018 : The following environment variables were not found:
22&gt;$(PRODUCTION)
22&gt;MiniBrowser - 1 error(s), 0 warning(s)
&lt;- That didn&apos;t look like non-fatal to me: &quot;error&quot; was mentioned two times...

Can you please give me a hint where should I add a reference to wtf/DynamicAnnotations.h to be copied to a location required by
14&gt;Webkit\WebKitBuild\Debug\Include\private\JavaScriptCore/ThreadSafeShared.h(65) : fatal error C1083: Cannot open include file: &apos;wtf/DynamicAnnotations.h&apos;:
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361797</commentid>
    <comment_count>31</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-03 11:43:21 -0800</bug_when>
    <thetext>... especially given that from the Windows log

1&gt; xcopy /y /d &quot;..\..\wtf\*.h&quot; &quot;%ConfigurationBuildDir%\include\private\JavaScriptCore&quot;
1&gt;..\..\wtf\DynamicAnnotations.h
1&gt;..\..\wtf\ThreadSafeShared.h
&lt;- should have copied the DynamicAnnotations.h to the same dir as &quot;ThreadSafeShared.h&quot;

Should I replace 
#include &lt;wtf/Atomics.h&gt;
#include &lt;wtf/DynamicAnnotations.h&gt;
#include &lt;wtf/ThreadingPrimitives.h&gt;
with
#include &lt;DynamicAnnotations.h&gt;
#include &lt;wtf/Atomics.h&gt;
#include &lt;wtf/ThreadingPrimitives.h&gt;
?
(I don&apos;t think so)

I can find neither &quot;Atomics.h&quot; nor &quot;ThreadingPrimitives.h&quot; in the windows log to do to the same xcopy command for my new header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361834</commentid>
    <comment_count>32</comment_count>
      <attachid>84607</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-03 12:29:40 -0800</bug_when>
    <thetext>Created attachment 84607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361836</commentid>
    <comment_count>33</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-03 12:32:29 -0800</bug_when>
    <thetext>Just found that I was probably missing a reference to my forwarding header in 
Source/JavaScriptGlue/gyp/JavaScriptGlue.gypi
(uploaded a new patch)

Do you use this GYP file on Windows?

Now my &quot;grep -R -H&quot; and &quot;find .&quot; for Atomics.h and DynamicAnnotations.h and ThreadingPrimitives.h are the equal...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362071</commentid>
    <comment_count>34</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-03 16:32:59 -0800</bug_when>
    <thetext>Attachment 84607 did not build on win:
Build output: http://queues.webkit.org/results/8087364</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365177</commentid>
    <comment_count>35</comment_count>
      <attachid>85329</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-10 07:53:40 -0800</bug_when>
    <thetext>Created attachment 85329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365185</commentid>
    <comment_count>36</comment_count>
      <attachid>85333</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-10 08:08:37 -0800</bug_when>
    <thetext>Created attachment 85333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365188</commentid>
    <comment_count>37</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-10 08:10:49 -0800</bug_when>
    <thetext>Looks like I&apos;ve finally found the missing Forwarding header - it should have been in Tools/DumpRenderTree.
It&apos;s {no surprise,sad} I was not searching for the headers in Tools/ ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365250</commentid>
    <comment_count>38</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-10 09:40:32 -0800</bug_when>
    <thetext>My patch finally passed the Windows bots.

Anything else I should do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365861</commentid>
    <comment_count>39</comment_count>
      <attachid>85441</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-11 00:46:44 -0800</bug_when>
    <thetext>Created attachment 85441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367331</commentid>
    <comment_count>40</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-14 16:17:26 -0700</bug_when>
    <thetext>This seems pretty good to me - do you have any other comments, Mark, now that it&apos;s compiling on Windows?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369975</commentid>
    <comment_count>41</comment_count>
      <attachid>85441</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-18 15:49:04 -0700</bug_when>
    <thetext>Comment on attachment 85441
Patch

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

Seems fine to me to have this. I hesitate to say r+ because I suspect that this breaks Mac build.

&gt; Source/JavaScriptCore/ChangeLog:19
&gt; +        * wtf/DynamicAnnotations.c: Added.

Is there a reason for this to be a plain C file? Most people working on WebKit are more comfortable with C++.

&gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:1173
&gt; +		D75AF59612F8CB9500FC0ADF /* DynamicAnnotations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicAnnotations.h; sourceTree = &quot;&lt;group&gt;&quot;; };

Did you verify that Mac build isn&apos;t broken? The header doesn&apos;t have a Private designation as far as I can tell, so it won&apos;t be visible from WebCore even with a forwarding header.

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.c:2
&gt; +/* Copyright (c) 2011, Google Inc.
&gt; + * All rights reserved.

Please put these on one line.

&gt; Source/JavaScriptCore/wtf/DynamicAnnotations.c:33
&gt; +void WTFAnnotateBenignRaceSized(const char*, int, const volatile void*, long, const char*) {}
&gt; +void WTFAnnotateHappensBefore(const char*, int, const volatile void*) {}
&gt; +void WTFAnnotateHappensAfter(const char*, int, const volatile void*) {}

We normally add spaces in &quot;{ }&quot;.

&gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:109
&gt; +        // The atomic decrement should be annotated to be understood
&gt; +        // by data race detection tools, e.g. ThreadSanitizer.
&gt; +        // See http://code.google.com/p/data-race-test/wiki/DynamicAnnotations#Reference_counting
&gt; +        WTF_ANNOTATE_HAPPENS_BEFORE(&amp;m_refCount);

I don&apos;t see how adding three lines of comments each time we want to use WTF_ANNOTATE_HAPPENS_BEFORE is a good thing. Can this comment just be removed?

&gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:112
&gt; +        if (atomicDecrement(&amp;m_refCount) &lt;= 0) {
&gt; +            WTF_ANNOTATE_HAPPENS_AFTER(&amp;m_refCount);
&gt;              return true;

When is WTF_ANNOTATE_HAPPENS_AFTER called otherwise? Does it need to be?

&gt; Tools/DumpRenderTree/ForwardingHeaders/wtf/DynamicAnnotations.h:1
&gt; +#include &lt;JavaScriptCore/DynamicAnnotations.h&gt;

I suspect that you need to add forwarding headers in WebKit, WebKit2 and other projects which probably include ThreadSafeShared indirectly. I wish EWS could tell us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369977</commentid>
    <comment_count>42</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-03-18 15:54:44 -0700</bug_when>
    <thetext>I pointed out via email that this patch also doesn’t update the case where atomic operations are not used in ThreadSafeShared.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370098</commentid>
    <comment_count>43</comment_count>
    <who name="Kostya Serebryany">kcc</who>
    <bug_when>2011-03-18 23:27:57 -0700</bug_when>
    <thetext>FYI: 

Similar annotations are already present in a similar code in libstdc++. 
Search for _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER in these files: 
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00780_source.html
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00769_source.html
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01030_source.html

The documentation in libstdc++ contains a paragraph about race detection:
http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug.html#debug.races
The doc mentions support for 3 different tools (DRD , Helgrind , ThreadSanitizer). In reality, at least 4 tools are supported (these three and Intel Parallel Inspector).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371446</commentid>
    <comment_count>44</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-22 10:15:08 -0700</bug_when>
    <thetext>Thank you very much for your feedback.

Currently I&apos;m running build-webkit locally on a newer version of the patch.
Besides addressing your comments (except for the comments comment) I&apos;ve found one more place where these annotations should be added: wtf/ThreadSafeRefCounted.h, derefBase().
The code looks like a very precise copy of wtf/ThreadSafeShared.h there.

I&apos;ll upload a newer version as soon as build-webkit passes.

(In reply to comment #41)
&gt; (From update of attachment 85441 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=85441&amp;action=review
&gt; 
&gt; Seems fine to me to have this. I hesitate to say r+ because I suspect that this breaks Mac build.
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:19
&gt; &gt; +        * wtf/DynamicAnnotations.c: Added.
&gt; 
&gt; Is there a reason for this to be a plain C file? Most people working on WebKit are more comfortable with C++.
The original dynamic_annotations.c file is a C file. We don&apos;t need any C++ features there and also we want to avoid mangling. Of course this can be done with `extern &quot;C&quot;`.
Do you think it&apos;s worth changing to C++? 
After all, we don&apos;t plan to change it often.

&gt; &gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:1173
&gt; &gt; +		D75AF59612F8CB9500FC0ADF /* DynamicAnnotations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicAnnotations.h; sourceTree = &quot;&lt;group&gt;&quot;; };
&gt; 
&gt; Did you verify that Mac build isn&apos;t broken? The header doesn&apos;t have a Private designation as far as I can tell, so it won&apos;t be visible from WebCore even with a forwarding header.
Very good catch!
Interestingly, it was working fine (./Tools/Scripts/build-webkit)
but started failing when I&apos;ve added the annotations to another file: wtf/ThreadSafeRefCounted.h (to be added in the next patch)

&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.c:2
&gt; &gt; +/* Copyright (c) 2011, Google Inc.
&gt; &gt; + * All rights reserved.
&gt; Please put these on one line.
Done
 
&gt; &gt; Source/JavaScriptCore/wtf/DynamicAnnotations.c:33
&gt; &gt; +void WTFAnnotateBenignRaceSized(const char*, int, const volatile void*, long, const char*) {}
&gt; &gt; +void WTFAnnotateHappensBefore(const char*, int, const volatile void*) {}
&gt; &gt; +void WTFAnnotateHappensAfter(const char*, int, const volatile void*) {}
&gt; 
&gt; We normally add spaces in &quot;{ }&quot;.
Done.

&gt; &gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:109
&gt; &gt; +        // The atomic decrement should be annotated to be understood
&gt; &gt; +        // by data race detection tools, e.g. ThreadSanitizer.
&gt; &gt; +        // See http://code.google.com/p/data-race-test/wiki/DynamicAnnotations#Reference_counting
&gt; &gt; +        WTF_ANNOTATE_HAPPENS_BEFORE(&amp;m_refCount);
&gt; 
&gt; I don&apos;t see how adding three lines of comments each time we want to use WTF_ANNOTATE_HAPPENS_BEFORE is a good thing. Can this comment just be removed?
Mark pointed out that the annotations may be unreadable for non-experts.
This is one of the reasons to keep at least *some* comments.
Do it&apos;s enough to have only the link in the comments?
I can add some extra info on that wiki page if you like. 

&gt; &gt; Source/JavaScriptCore/wtf/ThreadSafeShared.h:112
&gt; &gt; +        if (atomicDecrement(&amp;m_refCount) &lt;= 0) {
&gt; &gt; +            WTF_ANNOTATE_HAPPENS_AFTER(&amp;m_refCount);
&gt; &gt;              return true;
&gt; When is WTF_ANNOTATE_HAPPENS_AFTER called otherwise? Does it need to be?
Can you please re-phrase the question? I don&apos;t quite get it.
We need to call HAPPENS_BEFORE(&amp;ref) on each deref()
and call HAPPENS_AFTER(&amp;ref) before calling free()/operator delete.
You may read this as &quot;free/delete happens-after all calls to deref()&quot;.

&gt; &gt; Tools/DumpRenderTree/ForwardingHeaders/wtf/DynamicAnnotations.h:1
&gt; &gt; +#include &lt;JavaScriptCore/DynamicAnnotations.h&gt;
&gt; 
&gt; I suspect that you need to add forwarding headers in WebKit, WebKit2 and other projects which probably include ThreadSafeShared indirectly. I wish EWS could tell us.
How can I do that?
Is there an automated tool to do that?
We already have 4 .h files in the patch, I&apos;m starting to get confused with them :)

(In reply to comment #42)
&gt; I pointed out via email that this patch also doesn’t update the case where atomic operations are not used in ThreadSafeShared.h.
You mean when synchronization is done using a mutex?
We don&apos;t need annotations in this case.
Data race detection tools usually work fine except for rare cases when synchronization is done using atomics - and that&apos;s why we use annotations in the atomic version of derefBase().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371452</commentid>
    <comment_count>45</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-22 10:20:44 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; Thank you very much for your feedback.
&gt; 
&gt; Currently I&apos;m running build-webkit locally on a newer version of the patch.
&gt; Besides addressing your comments (except for the comments comment) I&apos;ve found one more place where these annotations should be added: wtf/ThreadSafeRefCounted.h, derefBase().
&gt; The code looks like a very precise copy of wtf/ThreadSafeShared.h there.

wtf/ThreadSafeShared.h was renamed to wtf/ThreadSafeRefCounted.h this past weekend.
wtf/ThreadSafeShared.h is no longer around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371455</commentid>
    <comment_count>46</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-22 10:25:28 -0700</bug_when>
    <thetext>(In reply to comment #45)
&gt; (In reply to comment #44)
&gt; &gt; Thank you very much for your feedback.
&gt; &gt; 
&gt; &gt; Currently I&apos;m running build-webkit locally on a newer version of the patch.
&gt; &gt; Besides addressing your comments (except for the comments comment) I&apos;ve found one more place where these annotations should be added: wtf/ThreadSafeRefCounted.h, derefBase().
&gt; &gt; The code looks like a very precise copy of wtf/ThreadSafeShared.h there.
&gt; 
&gt; wtf/ThreadSafeShared.h was renamed to wtf/ThreadSafeRefCounted.h this past weekend.
&gt; wtf/ThreadSafeShared.h is no longer around.
Thanks David,
I had a gut feeling that this is the case :)
I wonder why update-webkit didn&apos;t bark though...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371468</commentid>
    <comment_count>47</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-22 10:37:43 -0700</bug_when>
    <thetext>&gt; Do you think it&apos;s worth changing to C++? 

Yes. Keeping it as C would be an exception, and let&apos;s not make an exception if that&apos;s not required.

&gt; Mark pointed out that the annotations may be unreadable for non-experts.
&gt; This is one of the reasons to keep at least *some* comments.

If one sees a mysterious WTF_ANNOTATE_HAPPENS_BEFORE macro, they should jump to definition and read a comment there. A comment at call site can explain why we need it here in particular, not what it is.

I don&apos;t think that an external link is a particularly good thing to have in WebKit sources, but it&apos;s OK.

&gt; and call HAPPENS_AFTER(&amp;ref) before calling free()/operator delete.

OK. The &quot;before&quot;/&quot;after&quot; names are pretty misleading then - you need to call &quot;before&quot; before doing something, but you don&apos;t need to call &quot;after&quot; after doing that - instead, you call it before doing something else.

&gt; How can I do that?
&gt; Is there an automated tool to do that?

There is no automated tool to add forwarding headers. You just need to build on Mac, and add necessary headers in each project complaining that it can&apos;t find them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374370</commentid>
    <comment_count>48</comment_count>
      <attachid>87120</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-28 03:05:09 -0700</bug_when>
    <thetext>Created attachment 87120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374392</commentid>
    <comment_count>49</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-28 04:00:44 -0700</bug_when>
    <thetext>(In reply to comment #47)
&gt; &gt; Do you think it&apos;s worth changing to C++? 
&gt; 
&gt; Yes. Keeping it as C would be an exception, and let&apos;s not make an exception if that&apos;s not required.
Done

&gt; &gt; Mark pointed out that the annotations may be unreadable for non-experts.
&gt; &gt; This is one of the reasons to keep at least *some* comments.
&gt; If one sees a mysterious WTF_ANNOTATE_HAPPENS_BEFORE macro, they should jump to definition and read a comment there. A comment at call site can explain why we need it here in particular, not what it is.
&gt; I don&apos;t think that an external link is a particularly good thing to have in WebKit sources, but it&apos;s OK.
Done - removed the comment from ThreadSafeRefcounted.h, added more comments to DynamicAnnotations.h

&gt; &gt; &gt; I suspect that you need to add forwarding headers in WebKit, WebKit2 and other projects
&gt; &gt; &gt; which probably include ThreadSafeShared indirectly. I wish EWS could tell us.
How can I do that?
&gt; &gt; How can I do that?
&gt; &gt; Is there an automated tool to do that?
&gt; There is no automated tool to add forwarding headers. You just need to build on Mac, and add necessary headers in each project complaining that it can&apos;t find them.

$ ./Tools/Scripts/build-webkit
...
** BUILD SUCCEEDED **
===========================================================
 WebKit is now built (1h:10m:36s). 
 To run Safari with this newly-built code, use the
 &quot;Tools/Scripts/run-safari&quot; script.
===========================================================

How can I test &quot;WebKit2 and other projects&quot; locally?
Should I?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374734</commentid>
    <comment_count>50</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-28 13:38:27 -0700</bug_when>
    <thetext>Alexey,
Thank you for your review!

Should I wait for Mark to review as well
or go ask someone with commit access (or commit-bot) to commit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374739</commentid>
    <comment_count>51</comment_count>
      <attachid>87120</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-28 13:46:58 -0700</bug_when>
    <thetext>Comment on attachment 87120
Patch

Mark&apos;s comment was addressed (and he seems to have stopped commenting) plus the cq will catch a Mac build break if there would be one.

So setting cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374743</commentid>
    <comment_count>52</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-28 13:49:51 -0700</bug_when>
    <thetext>David,
Thank you very much!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375030</commentid>
    <comment_count>53</comment_count>
      <attachid>87120</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-28 23:05:28 -0700</bug_when>
    <thetext>Comment on attachment 87120
Patch

Rejecting attachment 87120 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sf&apos;, &apos;ap...&quot; exit_code: 2

Last 500 characters of output:
atching file Source/JavaScriptGlue/ForwardingHeaders/wtf/DynamicAnnotations.h
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/ForwardingHeaders/wtf/DynamicAnnotations.h
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/DumpRenderTree/ForwardingHeaders/wtf/DynamicAnnotations.h

Failed to run &quot;[u&apos;/Projects/CommitQueue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Alexey Proskuryakov&apos;, u&apos;--for...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8281085</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375591</commentid>
    <comment_count>54</comment_count>
      <attachid>87377</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-29 11:37:15 -0700</bug_when>
    <thetext>Created attachment 87377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375595</commentid>
    <comment_count>55</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-29 11:39:38 -0700</bug_when>
    <thetext>I&apos;ve no idea why the commit bot failed - there&apos;s nothing relevant in the last 500 characters of logs.

I just did update-webkit and then upload-webkit to rebase and it did not show any conflicts (except for auto-merged ChangeLog conflicts)

Any ideas what could go wrong / what should I do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375612</commentid>
    <comment_count>56</comment_count>
      <attachid>87377</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-29 11:52:58 -0700</bug_when>
    <thetext>Comment on attachment 87377
Patch

OK, let&apos;s try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375618</commentid>
    <comment_count>57</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-03-29 11:56:38 -0700</bug_when>
    <thetext>I wonder if this is getting bit by the svn-apply with windows line endings bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375631</commentid>
    <comment_count>58</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-29 12:01:00 -0700</bug_when>
    <thetext>(In reply to comment #57)
&gt; I wonder if this is getting bit by the svn-apply with windows line endings bug.
I don&apos;t think I ever used Windows while preparing this patch

Also, the win/linux &quot;try&quot; bots (or how you call them?) are fine</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375832</commentid>
    <comment_count>59</comment_count>
      <attachid>87377</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 15:55:32 -0700</bug_when>
    <thetext>Comment on attachment 87377
Patch

Rejecting attachment 87377 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
atching file Source/JavaScriptGlue/ForwardingHeaders/wtf/DynamicAnnotations.h
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/ForwardingHeaders/wtf/DynamicAnnotations.h
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/DumpRenderTree/ForwardingHeaders/wtf/DynamicAnnotations.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Alexey Proskuryakov&apos;, ...&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8283528</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376615</commentid>
    <comment_count>60</comment_count>
      <attachid>87603</attachid>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-30 13:15:18 -0700</bug_when>
    <thetext>Created attachment 87603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376619</commentid>
    <comment_count>61</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-30 13:17:42 -0700</bug_when>
    <thetext>(In reply to comment #57)
&gt; I wonder if this is getting bit by the svn-apply with windows line endings bug.
How can I check?

Any ideas how to work-around the commit-bot issue?

FTR,
I&apos;ve changed the first ChangeLog line to &quot;Reviewed by Alexey Proskuryakov.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376626</commentid>
    <comment_count>62</comment_count>
      <attachid>87603</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-30 13:25:16 -0700</bug_when>
    <thetext>Comment on attachment 87603
Patch

This doesn&apos;t need review. It just need a friend to land it.... I&apos;ll see if I can do that soon if no one else does it first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376690</commentid>
    <comment_count>63</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-30 14:43:03 -0700</bug_when>
    <thetext>(In reply to comment #57)
&gt; I wonder if this is getting bit by the svn-apply with windows line endings bug.

Yep.

Hunk #1 FAILED at 613.
1 out of 1 hunk FAILED -- saving rejects to file Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj.rej
Calling &quot;patch -p0&quot; for file &quot;Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTF.vcproj&quot; returned status 1.  Pass --force to ignore patch failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376740</commentid>
    <comment_count>64</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-30 15:37:01 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/82508

(In reply to comment #47)
&gt; &gt; and call HAPPENS_AFTER(&amp;ref) before calling free()/operator delete.
&gt; 
&gt; OK. The &quot;before&quot;/&quot;after&quot; names are pretty misleading then - you need to call &quot;before&quot; before doing something, but you don&apos;t need to call &quot;after&quot; after doing that - instead, you call it before doing something else.

btw, I have to agree that not seeing an AFTER call is confusing in this case. It looked like a bug in the patch to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376802</commentid>
    <comment_count>65</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-30 17:31:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82511 might have broken Leopard Intel Release (Tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376809</commentid>
    <comment_count>66</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-30 17:34:58 -0700</bug_when>
    <thetext>(In reply to comment #65)
&gt; http://trac.webkit.org/changeset/82511 might have broken Leopard Intel Release (Tests)

Badly reported due to bad commit entry and that change was only for vsprop files so it seems extremely unlikely to have broken the Leopard build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376947</commentid>
    <comment_count>67</comment_count>
    <who name="Timur Iskhodzhanov">timurrrr</who>
    <bug_when>2011-03-30 22:14:00 -0700</bug_when>
    <thetext>(In reply to comment #64)
&gt; Committed as http://trac.webkit.org/changeset/82508

Thank you so much David!
We&apos;ve made it under 2 months per patch :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81171</attachid>
            <date>2011-02-03 18:54:18 -0800</date>
            <delta_ts>2011-02-03 19:05:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110203185417.patch</filename>
            <type>text/plain</type>
            <size>13928</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTEtMDItMDMgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3
dGYvRHluYW1pY0Fubm90YXRpb25zLmM6IEFkZGVkLgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVC
ZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKToK
KyAgICAgICAgKFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQpOgorICAgICAgICAqIHd0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogd3RmL1RocmVhZFNhZmVTaGFyZWQu
aDoKKyAgICAgICAgKFdURjo6VGhyZWFkU2FmZVNoYXJlZEJhc2U6OmRlcmVmQmFzZSk6CisgICAg
ICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmVtcHR5KToKKwogMjAxMS0wMi0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1Myw2ICs0NTMsOCBA
QCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Rpc2FsbG93Q1R5cGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvRHluYW1pY0Fubm90YXRpb25zLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRW5j
b2Rlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcCBcCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkocmV2aXNpb24gNzc1ODIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpA
QCAtMzgyLDYgKzM4Miw4IEBACiAgICAgICAgICAgICAnd3RmL0Rpc2FsbG93Q1R5cGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL2R0b2EuY3BwJywKICAgICAgICAgICAgICd3dGYvZHRvYS5oJywKKyAg
ICAgICAgICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25zLmMnLAorICAgICAgICAgICAgJ3d0Zi9E
eW5hbWljQW5ub3RhdGlvbnMuaCcsCiAgICAgICAgICAgICAnd3RmL0Zhc3RBbGxvY0Jhc2UuaCcs
CiAgICAgICAgICAgICAnd3RmL0Zhc3RNYWxsb2MuY3BwJywKICAgICAgICAgICAgICd3dGYvRmFz
dE1hbGxvYy5oJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkocmV2aXNpb24gNzc1ODIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNiArNTkzLDE0IEBACiAJCQk+CiAJCTwvRmlsZT4K
IAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0aW9ucy5j
IgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxE
eW5hbWljQW5ub3RhdGlvbnMuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlx3dGZcRW5jb2Rlci5oIgogCQkJPgogCQk8L0ZpbGU+CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTE2OCw2ICsxMTY4LDggQEAKIAkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1
IC8qIE5vdEZvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEZvdW5k
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFENDMxMEMwMEVENzlC
NiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlv
bnMuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25z
LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFE
RiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRHluYW1pY0Fubm90YXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURE
Mzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQml0bWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERTgy
QUQxMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHQ0hhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCURERTgyQUQyMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHQ0hhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTUyNSw2ICsxNTI3LDggQEAKIAkJNjUxNjJFRjEwOEU2QTIxQzAwNzU1NkNEIC8qIHd0
ZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRDc1QUY1
OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jICovLAorCQkJCUQ3NUFG
NTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLywKIAkJCQk1MTM1
RkFENTEyRDI2ODU2MDAzQzA4M0IgLyogRGVjb2Rlci5oICovLAogCQkJCTUxMzVGQUQ2MTJEMjY4
NTYwMDNDMDgzQiAvKiBFbmNvZGVyLmggKi8sCiAJCQkJOTNBQTRGNzcwOTU3MjUxRjAwODRCM0E3
IC8qIEFsd2F5c0lubGluZS5oICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiA3NzU4MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1LDYgKzE1LDcgQEAgU0VUKFdU
Rl9IRUFERVJTCiAgICAgRGVjb2Rlci5oCiAgICAgRGVxdWUuaAogICAgIERpc2FsbG93Q1R5cGUu
aAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5oCiAgICAgRW5jb2Rlci5oCiAgICAgRmFzdEFsbG9j
QmFzZS5oCiAgICAgRmFzdE1hbGxvYy5oCkBAIC0xMDYsNiArMTA3LDcgQEAgU0VUKFdURl9TT1VS
Q0VTCiAgICAgQnl0ZUFycmF5LmNwcAogICAgIEN1cnJlbnRUaW1lLmNwcAogICAgIERlY2ltYWxO
dW1iZXIuY3BwCisgICAgRHluYW1pY0Fubm90YXRpb25zLmMKICAgICBGYXN0TWFsbG9jLmNwcAog
ICAgIEhhc2hUYWJsZS5jcHAKICAgICBNYWluVGhyZWFkLmNwcApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzNiBAQAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBHb29nbGUgSW5jLgor
ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqCisgKiAtLS0KKyAqIEF1dGhvcjogS29zdHlhIFNlcmVicnlhbnkK
KyAqLworCisjaW5jbHVkZSAiRHluYW1pY0Fubm90YXRpb25zLmgiCisKKyNpZiBVU0UoRFlOQU1J
Q19BTk5PVEFUSU9OUykKK3ZvaWQgV2ViS2l0QW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoY29uc3Qg
Y2hhciAqLCBpbnQsIGNvbnN0IHZvbGF0aWxlIHZvaWQgKiwgbG9uZywgY29uc3QgY2hhciAqKSB7
fQordm9pZCBXZWJLaXRBbm5vdGF0ZUNvbmRWYXJTaWduYWwoY29uc3QgY2hhciAqLCBpbnQsIGNv
bnN0IHZvbGF0aWxlIHZvaWQgKikge30KK3ZvaWQgV2ViS2l0QW5ub3RhdGVDb25kVmFyV2FpdChj
b25zdCBjaGFyICosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCAqLCBjb25zdCB2b2xhdGlsZSB2
b2lkICopIHt9CisjZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgzIEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdvb2ds
ZSBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIC0tLQorICogQXV0aG9yOiBLb3N0eWEgU2Vy
ZWJyeWFueQorICovCisKKyNpZm5kZWYgRHluYW1pY0Fubm90YXRpb25zX2gKKyNkZWZpbmUgRHlu
YW1pY0Fubm90YXRpb25zX2gKKworI2luY2x1ZGUgIlBsYXRmb3JtLmgiCisKKy8qIFRoaXMgZmls
ZSBkZWZpbmVzIGR5bmFtaWMgYW5ub3RhdGlvbnMgZm9yIHVzZSB3aXRoIGR5bmFtaWMgYW5hbHlz
aXMKKyAqIHRvb2wgc3VjaCBhcyBUaHJlYWRTYW5pdGl6ZXIsIFZhbGdyaW5kLCBldGMuCisgKgor
ICogRHluYW1pYyBhbm5vdGF0aW9uIGlzIGEgc291cmNlIGNvZGUgYW5ub3RhdGlvbiB0aGF0IGFm
ZmVjdHMKKyAqIHRoZSBnZW5lcmF0ZWQgY29kZSAodGhhdCBpcywgdGhlIGFubm90YXRpb24gaXMg
bm90IGEgY29tbWVudCkuCisgKiBFYWNoIHN1Y2ggYW5ub3RhdGlvbiBpcyBhdHRhY2hlZCB0byBh
IHBhcnRpY3VsYXIKKyAqIGluc3RydWN0aW9uIGFuZC9vciB0byBhIHBhcnRpY3VsYXIgb2JqZWN0
IChhZGRyZXNzKSBpbiB0aGUgcHJvZ3JhbS4KKyAqCisgKiBCeSB1c2luZyBkeW5hbWljIGFubm90
YXRpb25zIGEgZGV2ZWxvcGVyIGNhbiBnaXZlIG1vcmUgZGV0YWlscyB0byB0aGUgZHluYW1pYwor
ICogYW5hbHlzaXMgdG9vbCB0byBpbXByb3ZlIGl0cyBwcmVjaXNpb24uCisgKgorICogSW4gQy9D
KysgcHJvZ3JhbSB0aGUgYW5ub3RhdGlvbnMgYXJlIHJlcHJlc2VudGVkIGFzIEMgbWFjcm9zLgor
ICogV2l0aCB0aGUgZGVmYXVsdCBidWlsZCBmbGFncywgdGhlc2UgbWFjcm9zIGFyZSBlbXB0eSwg
aGVuY2UgZG9uJ3QgYWZmZWN0CisgKiBwZXJmb3JtYW5jZSBvZiBhIGNvbXBpbGVkIGJpbmFyeS4K
KyAqIElmIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIGVuYWJsZWQsIHRoZXkganVzdCBjYWxsIG5v
LW9wIGZ1bmN0aW9ucy4KKyAqIFRoZSBkeW5hbWljIGFuYWx5c2lzIHRvb2xzIGNhbiBpbnRlcmNl
cHQgdGhlc2UgZnVuY3Rpb25zIGFuZCByZXBsYWNlIHRoZW0KKyAqIHdpdGggdGhlaXIgb3duIGlt
cGxlbWVudGF0aW9ucy4KKyAqCisgKiBTZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2RhdGEt
cmFjZS10ZXN0L3dpa2kvRHluYW1pY0Fubm90YXRpb25zIGZvciBtb3JlIGluZm9ybWF0aW9uLgor
ICovCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKy8qIFRlbGwgZGF0YSByYWNlIGRl
dGVjdG9yIHRoYXQgd2UncmUgbm90IGludGVyZXN0ZWQgaW4gcmVwb3J0cyBvbiB0aGUgZ2l2ZW4g
YWRkcmVzcyByYW5nZS4gKi8KKyNkZWZpbmUgQU5OT1RBVEVfQkVOSUdOX1JBQ0VfU0laRUQoYWRk
cmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pIFdlYktpdEFubm90YXRlQmVuaWduUmFjZVNpemVkKF9f
RklMRV9fLCBfX0xJTkVfXywgYWRkcmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pCisjZGVmaW5lIEFO
Tk9UQVRFX0JFTklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKSBXZWJLaXRBbm5vdGF0ZUJl
bmlnblJhY2VTaXplZChfX0ZJTEVfXywgX19MSU5FX18sIHBvaW50ZXIsIHNpemVvZigqKHBvaW50
ZXIpKSwgZGVzY3JpcHRpb24pCisKKy8qIEFubm90YXRpb25zIGZvciB1c2VyLWRlZmluZWQgc3lu
Y2hyb25pemF0aW9uIG1lY2hhbmlzbXMuICovCisjZGVmaW5lIEFOTk9UQVRFX0hBUFBFTlNfQkVG
T1JFKG9iaikgV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKF9fRklMRV9fLCBfX0xJTkVfXywg
b2JqKQorI2RlZmluZSBBTk5PVEFURV9IQVBQRU5TX0FGVEVSKG9iaikgV2ViS2l0QW5ub3RhdGVD
b25kVmFyV2FpdChfX0ZJTEVfXywgX19MSU5FX18sIG9iaiwgMCkKKworI2lmZGVmIF9fY3BsdXNw
bHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorLyogRG9uJ3QgdXNlIHRoZXNlIGRpcmVjdGx5LCB1
c2UgdGhlIGFib3ZlIG1hY3JvcyBpbnN0ZWFkLiAqLwordm9pZCBXZWJLaXRBbm5vdGF0ZUJlbmln
blJhY2VTaXplZChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3Qgdm9sYXRpbGUgdm9p
ZCAqbWVtLCBsb25nIHNpemUsIGNvbnN0IGNoYXIgKmRlc2NyaXB0aW9uKTsKK3ZvaWQgV2ViS2l0
QW5ub3RhdGVDb25kVmFyU2lnbmFsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCB2
b2xhdGlsZSB2b2lkICpjdik7Cit2b2lkIFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQoY29uc3Qg
Y2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQgKmN2LCBjb25zdCB2b2xh
dGlsZSB2b2lkICpsb2NrKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfSAvLyBleHRlcm4gIkMiCisj
ZW5kaWYKKworI2Vsc2UgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisjZGVmaW5lIEFOTk9U
QVRFX0JFTklHTl9SQUNFX1NJWkVEKGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKSAvKiBlbXB0
eSAqLworI2RlZmluZSBBTk5PVEFURV9CRU5JR05fUkFDRShwb2ludGVyLCBkZXNjcmlwdGlvbikg
LyogZW1wdHkgKi8KKyNkZWZpbmUgQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUob2JqKSAvKiBlbXB0
eSAqLworI2RlZmluZSBBTk5PVEFURV9IQVBQRU5TX0FGVEVSKG9iaikgLyogZW1wdHkgKi8KKyNl
bmRpZiAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKworI2VuZGlmIC8vIER5bmFtaWNBbm5v
dGF0aW9uc19oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFy
ZWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVT
aGFyZWQuaAkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZFNhZmVTaGFyZWQuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1
ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgorI2luY2x1ZGUgPHd0
Zi9EeW5hbWljQW5ub3RhdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZl
cy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTEwMiw5ICsxMDMsMTYgQEAgcHJvdGVjdGVkOgog
ICAgIGJvb2wgZGVyZWZCYXNlKCkKICAgICB7CiAjaWYgVVNFKExPQ0tGUkVFX1RIUkVBRFNBRkVT
SEFSRUQpCi0gICAgICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQpIDw9IDApCisg
ICAgICAgIC8vIFRoZSBhdG9taWMgZGVjcmVtZW50IHNob3VsZCBiZSBhbm5vdGF0ZWQgdG8gYmUg
dW5kZXJzdG9vZAorICAgICAgICAvLyBieSBkYXRhIHJhY2UgZGV0ZWN0aW9uIHRvb2xzLCBlLmcu
IFRocmVhZFNhbml0aXplci4KKyAgICAgICAgLy8gU2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20v
cC9kYXRhLXJhY2UtdGVzdC93aWtpL0R5bmFtaWNBbm5vdGF0aW9ucyNSZWZlcmVuY2VfY291bnRp
bmcKKyAgICAgICAgQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUoJm1fcmVmQ291bnQpOworICAgICAg
ICBpZiAoYXRvbWljRGVjcmVtZW50KCZtX3JlZkNvdW50KSA8PSAwKSB7CisgICAgICAgICAgICBB
Tk5PVEFURV9IQVBQRU5TX0FGVEVSKCZtX3JlZkNvdW50KTsKICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CiAjZWxzZQorI3dhcm5pbmcgT09QUyBOT04tQVRPTUlDCiAgICAgICAg
IGludCByZWZDb3VudDsKICAgICAgICAgewogICAgICAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2Vy
KG1fbXV0ZXgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ1N0
YXRpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdTdGF0aWNzLmNwcAkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMw
LDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiRHlu
YW1pY0Fubm90YXRpb25zLmgiCiAjaW5jbHVkZSAiU3RhdGljQ29uc3RydWN0b3JzLmgiCiAjaW5j
bHVkZSAiU3RyaW5nSW1wbC5oIgogCkBAIC00Niw2ICs0Nyw3IEBAIFN0cmluZ0ltcGwqIFN0cmlu
Z0ltcGw6OmVtcHR5KCkKICAgICAvLyBQQ1JFIGdvZXMgYXdheS4KICAgICBzdGF0aWMgVUNoYXIg
ZW1wdHlVQ2hhckRhdGEgPSAwOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nSW1wbCwg
ZW1wdHlTdHJpbmcsICgmZW1wdHlVQ2hhckRhdGEsIDAsIENvbnN0cnVjdFN0YXRpY1N0cmluZykp
OworICAgIEFOTk9UQVRFX0JFTklHTl9SQUNFKCZlbXB0eVN0cmluZywgIkJlbmlnbiByYWNlIG9u
IFN0cmluZ0ltcGw6OmVtcHR5U3RyaW5nIHJlZmVyZW5jZSBjb3VudGVyIik7CiAgICAgcmV0dXJu
ICZlbXB0eVN0cmluZzsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81172</attachid>
            <date>2011-02-03 19:05:33 -0800</date>
            <delta_ts>2011-02-04 10:59:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110203190530.patch</filename>
            <type>text/plain</type>
            <size>13860</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTEtMDItMDMgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3
dGYvRHluYW1pY0Fubm90YXRpb25zLmM6IEFkZGVkLgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVC
ZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKToK
KyAgICAgICAgKFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQpOgorICAgICAgICAqIHd0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogd3RmL1RocmVhZFNhZmVTaGFyZWQu
aDoKKyAgICAgICAgKFdURjo6VGhyZWFkU2FmZVNoYXJlZEJhc2U6OmRlcmVmQmFzZSk6CisgICAg
ICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmVtcHR5KToKKwogMjAxMS0wMi0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1Myw2ICs0NTMsOCBA
QCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Rpc2FsbG93Q1R5cGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvRHluYW1pY0Fubm90YXRpb25zLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRW5j
b2Rlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcCBcCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkocmV2aXNpb24gNzc1ODIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpA
QCAtMzgyLDYgKzM4Miw4IEBACiAgICAgICAgICAgICAnd3RmL0Rpc2FsbG93Q1R5cGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL2R0b2EuY3BwJywKICAgICAgICAgICAgICd3dGYvZHRvYS5oJywKKyAg
ICAgICAgICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25zLmMnLAorICAgICAgICAgICAgJ3d0Zi9E
eW5hbWljQW5ub3RhdGlvbnMuaCcsCiAgICAgICAgICAgICAnd3RmL0Zhc3RBbGxvY0Jhc2UuaCcs
CiAgICAgICAgICAgICAnd3RmL0Zhc3RNYWxsb2MuY3BwJywKICAgICAgICAgICAgICd3dGYvRmFz
dE1hbGxvYy5oJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkocmV2aXNpb24gNzc1ODIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNiArNTkzLDE0IEBACiAJCQk+CiAJCTwvRmlsZT4K
IAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0aW9ucy5j
IgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxE
eW5hbWljQW5ub3RhdGlvbnMuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlx3dGZcRW5jb2Rlci5oIgogCQkJPgogCQk8L0ZpbGU+CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTE2OCw2ICsxMTY4LDggQEAKIAkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1
IC8qIE5vdEZvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEZvdW5k
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFENDMxMEMwMEVENzlC
NiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlv
bnMuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25z
LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFE
RiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRHluYW1pY0Fubm90YXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURE
Mzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQml0bWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERTgy
QUQxMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHQ0hhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCURERTgyQUQyMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHQ0hhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTUyNSw2ICsxNTI3LDggQEAKIAkJNjUxNjJFRjEwOEU2QTIxQzAwNzU1NkNEIC8qIHd0
ZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRDc1QUY1
OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jICovLAorCQkJCUQ3NUFG
NTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLywKIAkJCQk1MTM1
RkFENTEyRDI2ODU2MDAzQzA4M0IgLyogRGVjb2Rlci5oICovLAogCQkJCTUxMzVGQUQ2MTJEMjY4
NTYwMDNDMDgzQiAvKiBFbmNvZGVyLmggKi8sCiAJCQkJOTNBQTRGNzcwOTU3MjUxRjAwODRCM0E3
IC8qIEFsd2F5c0lubGluZS5oICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiA3NzU4MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1LDYgKzE1LDcgQEAgU0VUKFdU
Rl9IRUFERVJTCiAgICAgRGVjb2Rlci5oCiAgICAgRGVxdWUuaAogICAgIERpc2FsbG93Q1R5cGUu
aAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5oCiAgICAgRW5jb2Rlci5oCiAgICAgRmFzdEFsbG9j
QmFzZS5oCiAgICAgRmFzdE1hbGxvYy5oCkBAIC0xMDYsNiArMTA3LDcgQEAgU0VUKFdURl9TT1VS
Q0VTCiAgICAgQnl0ZUFycmF5LmNwcAogICAgIEN1cnJlbnRUaW1lLmNwcAogICAgIERlY2ltYWxO
dW1iZXIuY3BwCisgICAgRHluYW1pY0Fubm90YXRpb25zLmMKICAgICBGYXN0TWFsbG9jLmNwcAog
ICAgIEhhc2hUYWJsZS5jcHAKICAgICBNYWluVGhyZWFkLmNwcApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzNiBAQAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBHb29nbGUgSW5jLgor
ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqCisgKiAtLS0KKyAqIEF1dGhvcjogS29zdHlhIFNlcmVicnlhbnkK
KyAqLworCisjaW5jbHVkZSAiRHluYW1pY0Fubm90YXRpb25zLmgiCisKKyNpZiBVU0UoRFlOQU1J
Q19BTk5PVEFUSU9OUykKK3ZvaWQgV2ViS2l0QW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoY29uc3Qg
Y2hhciAqLCBpbnQsIGNvbnN0IHZvbGF0aWxlIHZvaWQgKiwgbG9uZywgY29uc3QgY2hhciAqKSB7
fQordm9pZCBXZWJLaXRBbm5vdGF0ZUNvbmRWYXJTaWduYWwoY29uc3QgY2hhciAqLCBpbnQsIGNv
bnN0IHZvbGF0aWxlIHZvaWQgKikge30KK3ZvaWQgV2ViS2l0QW5ub3RhdGVDb25kVmFyV2FpdChj
b25zdCBjaGFyICosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCAqLCBjb25zdCB2b2xhdGlsZSB2
b2lkICopIHt9CisjZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgzIEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdvb2ds
ZSBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIC0tLQorICogQXV0aG9yOiBLb3N0eWEgU2Vy
ZWJyeWFueQorICovCisKKyNpZm5kZWYgRHluYW1pY0Fubm90YXRpb25zX2gKKyNkZWZpbmUgRHlu
YW1pY0Fubm90YXRpb25zX2gKKworI2luY2x1ZGUgIlBsYXRmb3JtLmgiCisKKy8qIFRoaXMgZmls
ZSBkZWZpbmVzIGR5bmFtaWMgYW5ub3RhdGlvbnMgZm9yIHVzZSB3aXRoIGR5bmFtaWMgYW5hbHlz
aXMKKyAqIHRvb2wgc3VjaCBhcyBUaHJlYWRTYW5pdGl6ZXIsIFZhbGdyaW5kLCBldGMuCisgKgor
ICogRHluYW1pYyBhbm5vdGF0aW9uIGlzIGEgc291cmNlIGNvZGUgYW5ub3RhdGlvbiB0aGF0IGFm
ZmVjdHMKKyAqIHRoZSBnZW5lcmF0ZWQgY29kZSAodGhhdCBpcywgdGhlIGFubm90YXRpb24gaXMg
bm90IGEgY29tbWVudCkuCisgKiBFYWNoIHN1Y2ggYW5ub3RhdGlvbiBpcyBhdHRhY2hlZCB0byBh
IHBhcnRpY3VsYXIKKyAqIGluc3RydWN0aW9uIGFuZC9vciB0byBhIHBhcnRpY3VsYXIgb2JqZWN0
IChhZGRyZXNzKSBpbiB0aGUgcHJvZ3JhbS4KKyAqCisgKiBCeSB1c2luZyBkeW5hbWljIGFubm90
YXRpb25zIGEgZGV2ZWxvcGVyIGNhbiBnaXZlIG1vcmUgZGV0YWlscyB0byB0aGUgZHluYW1pYwor
ICogYW5hbHlzaXMgdG9vbCB0byBpbXByb3ZlIGl0cyBwcmVjaXNpb24uCisgKgorICogSW4gQy9D
KysgcHJvZ3JhbSB0aGUgYW5ub3RhdGlvbnMgYXJlIHJlcHJlc2VudGVkIGFzIEMgbWFjcm9zLgor
ICogV2l0aCB0aGUgZGVmYXVsdCBidWlsZCBmbGFncywgdGhlc2UgbWFjcm9zIGFyZSBlbXB0eSwg
aGVuY2UgZG9uJ3QgYWZmZWN0CisgKiBwZXJmb3JtYW5jZSBvZiBhIGNvbXBpbGVkIGJpbmFyeS4K
KyAqIElmIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIGVuYWJsZWQsIHRoZXkganVzdCBjYWxsIG5v
LW9wIGZ1bmN0aW9ucy4KKyAqIFRoZSBkeW5hbWljIGFuYWx5c2lzIHRvb2xzIGNhbiBpbnRlcmNl
cHQgdGhlc2UgZnVuY3Rpb25zIGFuZCByZXBsYWNlIHRoZW0KKyAqIHdpdGggdGhlaXIgb3duIGlt
cGxlbWVudGF0aW9ucy4KKyAqCisgKiBTZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2RhdGEt
cmFjZS10ZXN0L3dpa2kvRHluYW1pY0Fubm90YXRpb25zIGZvciBtb3JlIGluZm9ybWF0aW9uLgor
ICovCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKy8qIFRlbGwgZGF0YSByYWNlIGRl
dGVjdG9yIHRoYXQgd2UncmUgbm90IGludGVyZXN0ZWQgaW4gcmVwb3J0cyBvbiB0aGUgZ2l2ZW4g
YWRkcmVzcyByYW5nZS4gKi8KKyNkZWZpbmUgQU5OT1RBVEVfQkVOSUdOX1JBQ0VfU0laRUQoYWRk
cmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pIFdlYktpdEFubm90YXRlQmVuaWduUmFjZVNpemVkKF9f
RklMRV9fLCBfX0xJTkVfXywgYWRkcmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pCisjZGVmaW5lIEFO
Tk9UQVRFX0JFTklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKSBXZWJLaXRBbm5vdGF0ZUJl
bmlnblJhY2VTaXplZChfX0ZJTEVfXywgX19MSU5FX18sIHBvaW50ZXIsIHNpemVvZigqKHBvaW50
ZXIpKSwgZGVzY3JpcHRpb24pCisKKy8qIEFubm90YXRpb25zIGZvciB1c2VyLWRlZmluZWQgc3lu
Y2hyb25pemF0aW9uIG1lY2hhbmlzbXMuICovCisjZGVmaW5lIEFOTk9UQVRFX0hBUFBFTlNfQkVG
T1JFKG9iaikgV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKF9fRklMRV9fLCBfX0xJTkVfXywg
b2JqKQorI2RlZmluZSBBTk5PVEFURV9IQVBQRU5TX0FGVEVSKG9iaikgV2ViS2l0QW5ub3RhdGVD
b25kVmFyV2FpdChfX0ZJTEVfXywgX19MSU5FX18sIG9iaiwgMCkKKworI2lmZGVmIF9fY3BsdXNw
bHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorLyogRG9uJ3QgdXNlIHRoZXNlIGRpcmVjdGx5LCB1
c2UgdGhlIGFib3ZlIG1hY3JvcyBpbnN0ZWFkLiAqLwordm9pZCBXZWJLaXRBbm5vdGF0ZUJlbmln
blJhY2VTaXplZChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3Qgdm9sYXRpbGUgdm9p
ZCAqbWVtLCBsb25nIHNpemUsIGNvbnN0IGNoYXIgKmRlc2NyaXB0aW9uKTsKK3ZvaWQgV2ViS2l0
QW5ub3RhdGVDb25kVmFyU2lnbmFsKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCB2
b2xhdGlsZSB2b2lkICpjdik7Cit2b2lkIFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQoY29uc3Qg
Y2hhciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQgKmN2LCBjb25zdCB2b2xh
dGlsZSB2b2lkICpsb2NrKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfSAvLyBleHRlcm4gIkMiCisj
ZW5kaWYKKworI2Vsc2UgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisjZGVmaW5lIEFOTk9U
QVRFX0JFTklHTl9SQUNFX1NJWkVEKGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKSAvKiBlbXB0
eSAqLworI2RlZmluZSBBTk5PVEFURV9CRU5JR05fUkFDRShwb2ludGVyLCBkZXNjcmlwdGlvbikg
LyogZW1wdHkgKi8KKyNkZWZpbmUgQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUob2JqKSAvKiBlbXB0
eSAqLworI2RlZmluZSBBTk5PVEFURV9IQVBQRU5TX0FGVEVSKG9iaikgLyogZW1wdHkgKi8KKyNl
bmRpZiAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKworI2VuZGlmIC8vIER5bmFtaWNBbm5v
dGF0aW9uc19oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFy
ZWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVT
aGFyZWQuaAkocmV2aXNpb24gNzc1ODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZFNhZmVTaGFyZWQuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1
ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgorI2luY2x1ZGUgPHd0
Zi9EeW5hbWljQW5ub3RhdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZl
cy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTEwMiw4ICsxMDMsMTQgQEAgcHJvdGVjdGVkOgog
ICAgIGJvb2wgZGVyZWZCYXNlKCkKICAgICB7CiAjaWYgVVNFKExPQ0tGUkVFX1RIUkVBRFNBRkVT
SEFSRUQpCi0gICAgICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQpIDw9IDApCisg
ICAgICAgIC8vIFRoZSBhdG9taWMgZGVjcmVtZW50IHNob3VsZCBiZSBhbm5vdGF0ZWQgdG8gYmUg
dW5kZXJzdG9vZAorICAgICAgICAvLyBieSBkYXRhIHJhY2UgZGV0ZWN0aW9uIHRvb2xzLCBlLmcu
IFRocmVhZFNhbml0aXplci4KKyAgICAgICAgLy8gU2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20v
cC9kYXRhLXJhY2UtdGVzdC93aWtpL0R5bmFtaWNBbm5vdGF0aW9ucyNSZWZlcmVuY2VfY291bnRp
bmcKKyAgICAgICAgQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUoJm1fcmVmQ291bnQpOworICAgICAg
ICBpZiAoYXRvbWljRGVjcmVtZW50KCZtX3JlZkNvdW50KSA8PSAwKSB7CisgICAgICAgICAgICBB
Tk5PVEFURV9IQVBQRU5TX0FGVEVSKCZtX3JlZkNvdW50KTsKICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CiAjZWxzZQogICAgICAgICBpbnQgcmVmQ291bnQ7CiAgICAgICAgIHsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nU3RhdGlj
cy5jcHAJKHJldmlzaW9uIDc3NTgyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0
L1N0cmluZ1N0YXRpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjZW5k
aWYKIAogI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgorI2luY2x1ZGUgIkR5bmFtaWNBbm5vdGF0
aW9ucy5oIgogI2luY2x1ZGUgIlN0YXRpY0NvbnN0cnVjdG9ycy5oIgogI2luY2x1ZGUgIlN0cmlu
Z0ltcGwuaCIKIApAQCAtNDYsNiArNDcsNyBAQCBTdHJpbmdJbXBsKiBTdHJpbmdJbXBsOjplbXB0
eSgpCiAgICAgLy8gUENSRSBnb2VzIGF3YXkuCiAgICAgc3RhdGljIFVDaGFyIGVtcHR5VUNoYXJE
YXRhID0gMDsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZ0ltcGwsIGVtcHR5U3RyaW5n
LCAoJmVtcHR5VUNoYXJEYXRhLCAwLCBDb25zdHJ1Y3RTdGF0aWNTdHJpbmcpKTsKKyAgICBBTk5P
VEFURV9CRU5JR05fUkFDRSgmZW1wdHlTdHJpbmcsICJCZW5pZ24gcmFjZSBvbiBTdHJpbmdJbXBs
OjplbXB0eVN0cmluZyByZWZlcmVuY2UgY291bnRlciIpOwogICAgIHJldHVybiAmZW1wdHlTdHJp
bmc7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81246</attachid>
            <date>2011-02-04 10:59:48 -0800</date>
            <delta_ts>2011-02-04 11:34:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110204105946.patch</filename>
            <type>text/plain</type>
            <size>14784</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzc2MDUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTEtMDItMDMgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3
dGYvRHluYW1pY0Fubm90YXRpb25zLmM6IEFkZGVkLgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVC
ZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKToK
KyAgICAgICAgKFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQpOgorICAgICAgICAqIHd0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogd3RmL1RocmVhZFNhZmVTaGFyZWQu
aDoKKyAgICAgICAgKFdURjo6VGhyZWFkU2FmZVNoYXJlZEJhc2U6OmRlcmVmQmFzZSk6CisgICAg
ICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmVtcHR5KToKKwogMjAxMS0wMi0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzc2MDUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1Myw2ICs0NTMsOCBA
QCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Rpc2FsbG93Q1R5cGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvRHluYW1pY0Fubm90YXRpb25zLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRW5j
b2Rlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcCBcCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkocmV2aXNpb24gNzc2MDUpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpA
QCAtMzgyLDYgKzM4Miw4IEBACiAgICAgICAgICAgICAnd3RmL0Rpc2FsbG93Q1R5cGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL2R0b2EuY3BwJywKICAgICAgICAgICAgICd3dGYvZHRvYS5oJywKKyAg
ICAgICAgICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25zLmMnLAorICAgICAgICAgICAgJ3d0Zi9E
eW5hbWljQW5ub3RhdGlvbnMuaCcsCiAgICAgICAgICAgICAnd3RmL0Zhc3RBbGxvY0Jhc2UuaCcs
CiAgICAgICAgICAgICAnd3RmL0Zhc3RNYWxsb2MuY3BwJywKICAgICAgICAgICAgICd3dGYvRmFz
dE1hbGxvYy5oJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkocmV2aXNpb24gNzc2MDUpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNiArNTkzLDE0IEBACiAJCQk+CiAJCTwvRmlsZT4K
IAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0aW9ucy5j
IgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxE
eW5hbWljQW5ub3RhdGlvbnMuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlx3dGZcRW5jb2Rlci5oIgogCQkJPgogCQk8L0ZpbGU+CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNzc2MDUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTE2OCw2ICsxMTY4LDggQEAKIAkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1
IC8qIE5vdEZvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEZvdW5k
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFENDMxMEMwMEVENzlC
NiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlv
bnMuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25z
LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFE
RiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRHluYW1pY0Fubm90YXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURE
Mzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQml0bWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERTgy
QUQxMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHQ0hhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCURERTgyQUQyMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHQ0hhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTUyNSw2ICsxNTI3LDggQEAKIAkJNjUxNjJFRjEwOEU2QTIxQzAwNzU1NkNEIC8qIHd0
ZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRDc1QUY1
OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jICovLAorCQkJCUQ3NUFG
NTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLywKIAkJCQk1MTM1
RkFENTEyRDI2ODU2MDAzQzA4M0IgLyogRGVjb2Rlci5oICovLAogCQkJCTUxMzVGQUQ2MTJEMjY4
NTYwMDNDMDgzQiAvKiBFbmNvZGVyLmggKi8sCiAJCQkJOTNBQTRGNzcwOTU3MjUxRjAwODRCM0E3
IC8qIEFsd2F5c0lubGluZS5oICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiA3NzYwNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1LDYgKzE1LDcgQEAgU0VUKFdU
Rl9IRUFERVJTCiAgICAgRGVjb2Rlci5oCiAgICAgRGVxdWUuaAogICAgIERpc2FsbG93Q1R5cGUu
aAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5oCiAgICAgRW5jb2Rlci5oCiAgICAgRmFzdEFsbG9j
QmFzZS5oCiAgICAgRmFzdE1hbGxvYy5oCkBAIC0xMDYsNiArMTA3LDcgQEAgU0VUKFdURl9TT1VS
Q0VTCiAgICAgQnl0ZUFycmF5LmNwcAogICAgIEN1cnJlbnRUaW1lLmNwcAogICAgIERlY2ltYWxO
dW1iZXIuY3BwCisgICAgRHluYW1pY0Fubm90YXRpb25zLmMKICAgICBGYXN0TWFsbG9jLmNwcAog
ICAgIEhhc2hUYWJsZS5jcHAKICAgICBNYWluVGhyZWFkLmNwcApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzNyBAQAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBHb29nbGUgSW5jLgor
ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqCisgKiAtLS0KKyAqIEF1dGhvcjogS29zdHlhIFNlcmVicnlhbnkK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRHluYW1pY0Fubm90YXRpb25z
LmgiCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKK3ZvaWQgV1RGQW5ub3RhdGVCZW5p
Z25SYWNlU2l6ZWQoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCosIGxvbmcs
IGNvbnN0IGNoYXIqKSB7fQordm9pZCBXVEZBbm5vdGF0ZUNvbmRWYXJTaWduYWwoY29uc3QgY2hh
ciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCopIHt9Cit2b2lkIFdURkFubm90YXRlQ29uZFZh
cldhaXQoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCosIGNvbnN0IHZvbGF0
aWxlIHZvaWQqKSB7fQorI2VuZGlmIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MyBAQAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBH
b29nbGUgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiAtLS0KKyAqIEF1dGhvcjogS29zdHlh
IFNlcmVicnlhbnkKKyAqLworCisjaWZuZGVmIFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaAorI2Rl
ZmluZSBXVEZfRHluYW1pY0Fubm90YXRpb25zX2gKKworLyogVGhpcyBmaWxlIGRlZmluZXMgZHlu
YW1pYyBhbm5vdGF0aW9ucyBmb3IgdXNlIHdpdGggZHluYW1pYyBhbmFseXNpcworICogdG9vbCBz
dWNoIGFzIFRocmVhZFNhbml0aXplciwgVmFsZ3JpbmQsIGV0Yy4KKyAqCisgKiBEeW5hbWljIGFu
bm90YXRpb24gaXMgYSBzb3VyY2UgY29kZSBhbm5vdGF0aW9uIHRoYXQgYWZmZWN0cworICogdGhl
IGdlbmVyYXRlZCBjb2RlICh0aGF0IGlzLCB0aGUgYW5ub3RhdGlvbiBpcyBub3QgYSBjb21tZW50
KS4KKyAqIEVhY2ggc3VjaCBhbm5vdGF0aW9uIGlzIGF0dGFjaGVkIHRvIGEgcGFydGljdWxhcgor
ICogaW5zdHJ1Y3Rpb24gYW5kL29yIHRvIGEgcGFydGljdWxhciBvYmplY3QgKGFkZHJlc3MpIGlu
IHRoZSBwcm9ncmFtLgorICoKKyAqIEJ5IHVzaW5nIGR5bmFtaWMgYW5ub3RhdGlvbnMgYSBkZXZl
bG9wZXIgY2FuIGdpdmUgbW9yZSBkZXRhaWxzIHRvIHRoZSBkeW5hbWljCisgKiBhbmFseXNpcyB0
b29sIHRvIGltcHJvdmUgaXRzIHByZWNpc2lvbi4KKyAqCisgKiBJbiBDL0MrKyBwcm9ncmFtIHRo
ZSBhbm5vdGF0aW9ucyBhcmUgcmVwcmVzZW50ZWQgYXMgQyBtYWNyb3MuCisgKiBXaXRoIHRoZSBk
ZWZhdWx0IGJ1aWxkIGZsYWdzLCB0aGVzZSBtYWNyb3MgYXJlIGVtcHR5LCBoZW5jZSBkb24ndCBh
ZmZlY3QKKyAqIHBlcmZvcm1hbmNlIG9mIGEgY29tcGlsZWQgYmluYXJ5LgorICogSWYgZHluYW1p
YyBhbm5vdGF0aW9ucyBhcmUgZW5hYmxlZCwgdGhleSBqdXN0IGNhbGwgbm8tb3AgZnVuY3Rpb25z
LgorICogVGhlIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMgY2FuIGludGVyY2VwdCB0aGVzZSBmdW5j
dGlvbnMgYW5kIHJlcGxhY2UgdGhlbQorICogd2l0aCB0aGVpciBvd24gaW1wbGVtZW50YXRpb25z
LgorICoKKyAqIFNlZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZGF0YS1yYWNlLXRlc3Qvd2lr
aS9EeW5hbWljQW5ub3RhdGlvbnMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKworI2lmIFVT
RShEWU5BTUlDX0FOTk9UQVRJT05TKQorLyogVGVsbCBkYXRhIHJhY2UgZGV0ZWN0b3IgdGhhdCB3
ZSdyZSBub3QgaW50ZXJlc3RlZCBpbiByZXBvcnRzIG9uIHRoZSBnaXZlbiBhZGRyZXNzIHJhbmdl
LiAqLworI2RlZmluZSBBTk5PVEFURV9CRU5JR05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXplLCBk
ZXNjcmlwdGlvbikgV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoX19GSUxFX18sIF9fTElORV9f
LCBhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgQU5OT1RBVEVfQkVOSUdOX1JB
Q0UocG9pbnRlciwgZGVzY3JpcHRpb24pIFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKF9fRklM
RV9fLCBfX0xJTkVfXywgcG9pbnRlciwgc2l6ZW9mKCoocG9pbnRlcikpLCBkZXNjcmlwdGlvbikK
KworLyogQW5ub3RhdGlvbnMgZm9yIHVzZXItZGVmaW5lZCBzeW5jaHJvbml6YXRpb24gbWVjaGFu
aXNtcy4gKi8KKyNkZWZpbmUgQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUob2JqKSBXVEZBbm5vdGF0
ZUNvbmRWYXJTaWduYWwoX19GSUxFX18sIF9fTElORV9fLCBvYmopCisjZGVmaW5lIEFOTk9UQVRF
X0hBUFBFTlNfQUZURVIob2JqKSBXVEZBbm5vdGF0ZUNvbmRWYXJXYWl0KF9fRklMRV9fLCBfX0xJ
TkVfXywgb2JqLCAwKQorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlm
CisvKiBEb24ndCB1c2UgdGhlc2UgZGlyZWN0bHksIHVzZSB0aGUgYWJvdmUgbWFjcm9zIGluc3Rl
YWQuICovCit2b2lkIFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKGNvbnN0IGNoYXIqIGZpbGUs
IGludCBsaW5lLCBjb25zdCB2b2xhdGlsZSB2b2lkKiBtZW1vcnksIGxvbmcgc2l6ZSwgY29uc3Qg
Y2hhciogZGVzY3JpcHRpb24pOwordm9pZCBXVEZBbm5vdGF0ZUNvbmRWYXJTaWduYWwoY29uc3Qg
Y2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQqIGNvbmRpdGlvblZhcmlh
YmxlQWRkcmVzcyk7Cit2b2lkIFdURkFubm90YXRlQ29uZFZhcldhaXQoY29uc3QgY2hhciogZmls
ZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQqIGNvbmRpdGlvblZhcmlhYmxlQWRkcmVz
cywgY29uc3Qgdm9sYXRpbGUgdm9pZCogbG9jayk7CisjaWZkZWYgX19jcGx1c3BsdXMKK30gLy8g
ZXh0ZXJuICJDIgorI2VuZGlmCisKKyNlbHNlIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQor
LyogVGhlc2UgbWFjcm9zIGFyZSBlbXB0eSB3aGVuIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIG5v
dCBlbmFibGVkIHNvIHlvdSBjYW4KKyAqIHVzZSB0aGVtIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBw
ZXJmb3JtYW5jZSBvZiByZWxlYXNlIGJpbmFyaWVzLiAqLworI2RlZmluZSBBTk5PVEFURV9CRU5J
R05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgQU5OT1RB
VEVfQkVOSUdOX1JBQ0UocG9pbnRlciwgZGVzY3JpcHRpb24pCisjZGVmaW5lIEFOTk9UQVRFX0hB
UFBFTlNfQkVGT1JFKG9iaikKKyNkZWZpbmUgQU5OT1RBVEVfSEFQUEVOU19BRlRFUihvYmopCisj
ZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisKKyNlbmRpZiAvLyBXVEZfRHluYW1p
Y0Fubm90YXRpb25zX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFk
U2FmZVNoYXJlZC5oCShyZXZpc2lvbiA3NzYwNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU2FmZVNoYXJlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBACiAj
aW5jbHVkZSAiUGxhdGZvcm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVk
ZSA8d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmlt
aXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtMTAyLDggKzEwMywxNCBAQCBwcm90ZWN0
ZWQ6CiAgICAgYm9vbCBkZXJlZkJhc2UoKQogICAgIHsKICNpZiBVU0UoTE9DS0ZSRUVfVEhSRUFE
U0FGRVNIQVJFRCkKLSAgICAgICAgaWYgKGF0b21pY0RlY3JlbWVudCgmbV9yZWZDb3VudCkgPD0g
MCkKKyAgICAgICAgLy8gVGhlIGF0b21pYyBkZWNyZW1lbnQgc2hvdWxkIGJlIGFubm90YXRlZCB0
byBiZSB1bmRlcnN0b29kCisgICAgICAgIC8vIGJ5IGRhdGEgcmFjZSBkZXRlY3Rpb24gdG9vbHMs
IGUuZy4gVGhyZWFkU2FuaXRpemVyLgorICAgICAgICAvLyBTZWUgaHR0cDovL2NvZGUuZ29vZ2xl
LmNvbS9wL2RhdGEtcmFjZS10ZXN0L3dpa2kvRHluYW1pY0Fubm90YXRpb25zI1JlZmVyZW5jZV9j
b3VudGluZworICAgICAgICBBTk5PVEFURV9IQVBQRU5TX0JFRk9SRSgmbV9yZWZDb3VudCk7Cisg
ICAgICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQpIDw9IDApIHsKKyAgICAgICAg
ICAgIEFOTk9UQVRFX0hBUFBFTlNfQUZURVIoJm1fcmVmQ291bnQpOwogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KICNlbHNlCiAgICAgICAgIGludCByZWZDb3VudDsKICAgICAg
ICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdT
dGF0aWNzLmNwcAkocmV2aXNpb24gNzc2MDUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nU3RhdGljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAK
ICNlbmRpZgogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiRHluYW1pY0Fu
bm90YXRpb25zLmgiCiAjaW5jbHVkZSAiU3RhdGljQ29uc3RydWN0b3JzLmgiCiAjaW5jbHVkZSAi
U3RyaW5nSW1wbC5oIgogCkBAIC00Niw2ICs0Nyw3IEBAIFN0cmluZ0ltcGwqIFN0cmluZ0ltcGw6
OmVtcHR5KCkKICAgICAvLyBQQ1JFIGdvZXMgYXdheS4KICAgICBzdGF0aWMgVUNoYXIgZW1wdHlV
Q2hhckRhdGEgPSAwOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nSW1wbCwgZW1wdHlT
dHJpbmcsICgmZW1wdHlVQ2hhckRhdGEsIDAsIENvbnN0cnVjdFN0YXRpY1N0cmluZykpOworICAg
IEFOTk9UQVRFX0JFTklHTl9SQUNFKCZlbXB0eVN0cmluZywgIkJlbmlnbiByYWNlIG9uIFN0cmlu
Z0ltcGw6OmVtcHR5U3RyaW5nIHJlZmVyZW5jZSBjb3VudGVyIik7CiAgICAgcmV0dXJuICZlbXB0
eVN0cmluZzsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9E
eW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgpJbmRleDogU291cmNlL1dlYkNv
cmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlv
bnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0
Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACisjaWZu
ZGVmIFdlYkNvcmVfRldEX0R5bmFtaWNBbm5vdGF0aW9uc19oCisjZGVmaW5lIFdlYkNvcmVfRldE
X0R5bmFtaWNBbm5vdGF0aW9uc19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fu
bm90YXRpb25zLmg+CisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81253</attachid>
            <date>2011-02-04 11:34:13 -0800</date>
            <delta_ts>2011-03-02 11:16:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110204113412.patch</filename>
            <type>text/plain</type>
            <size>14700</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzc2MDUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTEtMDItMDMgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3
dGYvRHluYW1pY0Fubm90YXRpb25zLmM6IEFkZGVkLgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVC
ZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKToK
KyAgICAgICAgKFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQpOgorICAgICAgICAqIHd0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogd3RmL1RocmVhZFNhZmVTaGFyZWQu
aDoKKyAgICAgICAgKFdURjo6VGhyZWFkU2FmZVNoYXJlZEJhc2U6OmRlcmVmQmFzZSk6CisgICAg
ICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmVtcHR5KToKKwogMjAxMS0wMi0wMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzc2MDUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1Myw2ICs0NTMsOCBA
QCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Rpc2FsbG93Q1R5cGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvRHluYW1pY0Fubm90YXRpb25zLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRW5j
b2Rlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9jLmNwcCBcCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkocmV2aXNpb24gNzc2MDUpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpA
QCAtMzgyLDYgKzM4Miw4IEBACiAgICAgICAgICAgICAnd3RmL0Rpc2FsbG93Q1R5cGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL2R0b2EuY3BwJywKICAgICAgICAgICAgICd3dGYvZHRvYS5oJywKKyAg
ICAgICAgICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25zLmMnLAorICAgICAgICAgICAgJ3d0Zi9E
eW5hbWljQW5ub3RhdGlvbnMuaCcsCiAgICAgICAgICAgICAnd3RmL0Zhc3RBbGxvY0Jhc2UuaCcs
CiAgICAgICAgICAgICAnd3RmL0Zhc3RNYWxsb2MuY3BwJywKICAgICAgICAgICAgICd3dGYvRmFz
dE1hbGxvYy5oJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkocmV2aXNpb24gNzc2MDUpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNiArNTkzLDE0IEBACiAJCQk+CiAJCTwvRmlsZT4K
IAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0aW9ucy5j
IgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxE
eW5hbWljQW5ub3RhdGlvbnMuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRp
dmVQYXRoPSIuLlwuLlx3dGZcRW5jb2Rlci5oIgogCQkJPgogCQk8L0ZpbGU+CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNzc2MDUpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTE2OCw2ICsxMTY4LDggQEAKIAkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1
IC8qIE5vdEZvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEZvdW5k
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFENDMxMEMwMEVENzlC
NiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
MjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlv
bnMuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25z
LmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFE
RiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRHluYW1pY0Fubm90YXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURE
Mzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQml0bWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERTgy
QUQxMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHQ0hhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCURERTgyQUQyMTIwOUQ5NTUwMDVDMTc1NiAvKiBHQ0hhbmRsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHQ0hhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTUyNSw2ICsxNTI3LDggQEAKIAkJNjUxNjJFRjEwOEU2QTIxQzAwNzU1NkNEIC8qIHd0
ZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRDc1QUY1
OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jICovLAorCQkJCUQ3NUFG
NTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLywKIAkJCQk1MTM1
RkFENTEyRDI2ODU2MDAzQzA4M0IgLyogRGVjb2Rlci5oICovLAogCQkJCTUxMzVGQUQ2MTJEMjY4
NTYwMDNDMDgzQiAvKiBFbmNvZGVyLmggKi8sCiAJCQkJOTNBQTRGNzcwOTU3MjUxRjAwODRCM0E3
IC8qIEFsd2F5c0lubGluZS5oICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiA3NzYwNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1LDYgKzE1LDcgQEAgU0VUKFdU
Rl9IRUFERVJTCiAgICAgRGVjb2Rlci5oCiAgICAgRGVxdWUuaAogICAgIERpc2FsbG93Q1R5cGUu
aAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5oCiAgICAgRW5jb2Rlci5oCiAgICAgRmFzdEFsbG9j
QmFzZS5oCiAgICAgRmFzdE1hbGxvYy5oCkBAIC0xMDYsNiArMTA3LDcgQEAgU0VUKFdURl9TT1VS
Q0VTCiAgICAgQnl0ZUFycmF5LmNwcAogICAgIEN1cnJlbnRUaW1lLmNwcAogICAgIERlY2ltYWxO
dW1iZXIuY3BwCisgICAgRHluYW1pY0Fubm90YXRpb25zLmMKICAgICBGYXN0TWFsbG9jLmNwcAog
ICAgIEhhc2hUYWJsZS5jcHAKICAgICBNYWluVGhyZWFkLmNwcApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzNCBAQAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBHb29nbGUgSW5jLgor
ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRHlu
YW1pY0Fubm90YXRpb25zLmgiCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKK3ZvaWQg
V1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRp
bGUgdm9pZCosIGxvbmcsIGNvbnN0IGNoYXIqKSB7fQordm9pZCBXVEZBbm5vdGF0ZUNvbmRWYXJT
aWduYWwoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCopIHt9Cit2b2lkIFdU
RkFubm90YXRlQ29uZFZhcldhaXQoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9p
ZCosIGNvbnN0IHZvbGF0aWxlIHZvaWQqKSB7fQorI2VuZGlmIC8vIFVTRShEWU5BTUlDX0FOTk9U
QVRJT05TKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlv
bnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5v
dGF0aW9ucy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MCBAQAorLyogQ29weXJp
Z2h0IChjKSAyMDExLCBHb29nbGUgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaAorI2RlZmluZSBXVEZfRHluYW1pY0Fubm90YXRpb25z
X2gKKworLyogVGhpcyBmaWxlIGRlZmluZXMgZHluYW1pYyBhbm5vdGF0aW9ucyBmb3IgdXNlIHdp
dGggZHluYW1pYyBhbmFseXNpcworICogdG9vbCBzdWNoIGFzIFRocmVhZFNhbml0aXplciwgVmFs
Z3JpbmQsIGV0Yy4KKyAqCisgKiBEeW5hbWljIGFubm90YXRpb24gaXMgYSBzb3VyY2UgY29kZSBh
bm5vdGF0aW9uIHRoYXQgYWZmZWN0cworICogdGhlIGdlbmVyYXRlZCBjb2RlICh0aGF0IGlzLCB0
aGUgYW5ub3RhdGlvbiBpcyBub3QgYSBjb21tZW50KS4KKyAqIEVhY2ggc3VjaCBhbm5vdGF0aW9u
IGlzIGF0dGFjaGVkIHRvIGEgcGFydGljdWxhcgorICogaW5zdHJ1Y3Rpb24gYW5kL29yIHRvIGEg
cGFydGljdWxhciBvYmplY3QgKGFkZHJlc3MpIGluIHRoZSBwcm9ncmFtLgorICoKKyAqIEJ5IHVz
aW5nIGR5bmFtaWMgYW5ub3RhdGlvbnMgYSBkZXZlbG9wZXIgY2FuIGdpdmUgbW9yZSBkZXRhaWxz
IHRvIHRoZSBkeW5hbWljCisgKiBhbmFseXNpcyB0b29sIHRvIGltcHJvdmUgaXRzIHByZWNpc2lv
bi4KKyAqCisgKiBJbiBDL0MrKyBwcm9ncmFtIHRoZSBhbm5vdGF0aW9ucyBhcmUgcmVwcmVzZW50
ZWQgYXMgQyBtYWNyb3MuCisgKiBXaXRoIHRoZSBkZWZhdWx0IGJ1aWxkIGZsYWdzLCB0aGVzZSBt
YWNyb3MgYXJlIGVtcHR5LCBoZW5jZSBkb24ndCBhZmZlY3QKKyAqIHBlcmZvcm1hbmNlIG9mIGEg
Y29tcGlsZWQgYmluYXJ5LgorICogSWYgZHluYW1pYyBhbm5vdGF0aW9ucyBhcmUgZW5hYmxlZCwg
dGhleSBqdXN0IGNhbGwgbm8tb3AgZnVuY3Rpb25zLgorICogVGhlIGR5bmFtaWMgYW5hbHlzaXMg
dG9vbHMgY2FuIGludGVyY2VwdCB0aGVzZSBmdW5jdGlvbnMgYW5kIHJlcGxhY2UgdGhlbQorICog
d2l0aCB0aGVpciBvd24gaW1wbGVtZW50YXRpb25zLgorICoKKyAqIFNlZSBodHRwOi8vY29kZS5n
b29nbGUuY29tL3AvZGF0YS1yYWNlLXRlc3Qvd2lraS9EeW5hbWljQW5ub3RhdGlvbnMgZm9yIG1v
cmUgaW5mb3JtYXRpb24uCisgKi8KKworI2lmIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQorLyog
VGVsbCBkYXRhIHJhY2UgZGV0ZWN0b3IgdGhhdCB3ZSdyZSBub3QgaW50ZXJlc3RlZCBpbiByZXBv
cnRzIG9uIHRoZSBnaXZlbiBhZGRyZXNzIHJhbmdlLiAqLworI2RlZmluZSBBTk5PVEFURV9CRU5J
R05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikgV1RGQW5ub3RhdGVCZW5p
Z25SYWNlU2l6ZWQoX19GSUxFX18sIF9fTElORV9fLCBhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlv
bikKKyNkZWZpbmUgQU5OT1RBVEVfQkVOSUdOX1JBQ0UocG9pbnRlciwgZGVzY3JpcHRpb24pIFdU
RkFubm90YXRlQmVuaWduUmFjZVNpemVkKF9fRklMRV9fLCBfX0xJTkVfXywgcG9pbnRlciwgc2l6
ZW9mKCoocG9pbnRlcikpLCBkZXNjcmlwdGlvbikKKworLyogQW5ub3RhdGlvbnMgZm9yIHVzZXIt
ZGVmaW5lZCBzeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtcy4gKi8KKyNkZWZpbmUgQU5OT1RBVEVf
SEFQUEVOU19CRUZPUkUob2JqKSBXVEZBbm5vdGF0ZUNvbmRWYXJTaWduYWwoX19GSUxFX18sIF9f
TElORV9fLCBvYmopCisjZGVmaW5lIEFOTk9UQVRFX0hBUFBFTlNfQUZURVIob2JqKSBXVEZBbm5v
dGF0ZUNvbmRWYXJXYWl0KF9fRklMRV9fLCBfX0xJTkVfXywgb2JqLCAwKQorCisjaWZkZWYgX19j
cGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisvKiBEb24ndCB1c2UgdGhlc2UgZGlyZWN0
bHksIHVzZSB0aGUgYWJvdmUgbWFjcm9zIGluc3RlYWQuICovCit2b2lkIFdURkFubm90YXRlQmVu
aWduUmFjZVNpemVkKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCB2b2xhdGlsZSB2
b2lkKiBtZW1vcnksIGxvbmcgc2l6ZSwgY29uc3QgY2hhciogZGVzY3JpcHRpb24pOwordm9pZCBX
VEZBbm5vdGF0ZUNvbmRWYXJTaWduYWwoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0
IHZvbGF0aWxlIHZvaWQqIGNvbmRpdGlvblZhcmlhYmxlQWRkcmVzcyk7Cit2b2lkIFdURkFubm90
YXRlQ29uZFZhcldhaXQoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxl
IHZvaWQqIGNvbmRpdGlvblZhcmlhYmxlQWRkcmVzcywgY29uc3Qgdm9sYXRpbGUgdm9pZCogbG9j
ayk7CisjaWZkZWYgX19jcGx1c3BsdXMKK30gLy8gZXh0ZXJuICJDIgorI2VuZGlmCisKKyNlbHNl
IC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQorLyogVGhlc2UgbWFjcm9zIGFyZSBlbXB0eSB3
aGVuIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIG5vdCBlbmFibGVkIHNvIHlvdSBjYW4KKyAqIHVz
ZSB0aGVtIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBwZXJmb3JtYW5jZSBvZiByZWxlYXNlIGJpbmFy
aWVzLiAqLworI2RlZmluZSBBTk5PVEFURV9CRU5JR05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXpl
LCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgQU5OT1RBVEVfQkVOSUdOX1JBQ0UocG9pbnRlciwgZGVz
Y3JpcHRpb24pCisjZGVmaW5lIEFOTk9UQVRFX0hBUFBFTlNfQkVGT1JFKG9iaikKKyNkZWZpbmUg
QU5OT1RBVEVfSEFQUEVOU19BRlRFUihvYmopCisjZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RB
VElPTlMpCisKKyNlbmRpZiAvLyBXVEZfRHluYW1pY0Fubm90YXRpb25zX2gKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCShyZXZpc2lvbiA3NzYw
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAogI2lu
Y2x1ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewpAQCAtMTAyLDggKzEwMywxNCBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBkZXJlZkJhc2UoKQog
ICAgIHsKICNpZiBVU0UoTE9DS0ZSRUVfVEhSRUFEU0FGRVNIQVJFRCkKLSAgICAgICAgaWYgKGF0
b21pY0RlY3JlbWVudCgmbV9yZWZDb3VudCkgPD0gMCkKKyAgICAgICAgLy8gVGhlIGF0b21pYyBk
ZWNyZW1lbnQgc2hvdWxkIGJlIGFubm90YXRlZCB0byBiZSB1bmRlcnN0b29kCisgICAgICAgIC8v
IGJ5IGRhdGEgcmFjZSBkZXRlY3Rpb24gdG9vbHMsIGUuZy4gVGhyZWFkU2FuaXRpemVyLgorICAg
ICAgICAvLyBTZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2RhdGEtcmFjZS10ZXN0L3dpa2kv
RHluYW1pY0Fubm90YXRpb25zI1JlZmVyZW5jZV9jb3VudGluZworICAgICAgICBBTk5PVEFURV9I
QVBQRU5TX0JFRk9SRSgmbV9yZWZDb3VudCk7CisgICAgICAgIGlmIChhdG9taWNEZWNyZW1lbnQo
Jm1fcmVmQ291bnQpIDw9IDApIHsKKyAgICAgICAgICAgIEFOTk9UQVRFX0hBUFBFTlNfQUZURVIo
Jm1fcmVmQ291bnQpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KICNlbHNl
CiAgICAgICAgIGludCByZWZDb3VudDsKICAgICAgICAgewpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAkocmV2aXNpb24gNzc2MDUp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAiQXRvbWlj
U3RyaW5nLmgiCisjaW5jbHVkZSAiRHluYW1pY0Fubm90YXRpb25zLmgiCiAjaW5jbHVkZSAiU3Rh
dGljQ29uc3RydWN0b3JzLmgiCiAjaW5jbHVkZSAiU3RyaW5nSW1wbC5oIgogCkBAIC00Niw2ICs0
Nyw3IEBAIFN0cmluZ0ltcGwqIFN0cmluZ0ltcGw6OmVtcHR5KCkKICAgICAvLyBQQ1JFIGdvZXMg
YXdheS4KICAgICBzdGF0aWMgVUNoYXIgZW1wdHlVQ2hhckRhdGEgPSAwOwogICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nSW1wbCwgZW1wdHlTdHJpbmcsICgmZW1wdHlVQ2hhckRhdGEsIDAs
IENvbnN0cnVjdFN0YXRpY1N0cmluZykpOworICAgIEFOTk9UQVRFX0JFTklHTl9SQUNFKCZlbXB0
eVN0cmluZywgIkJlbmlnbiByYWNlIG9uIFN0cmluZ0ltcGw6OmVtcHR5U3RyaW5nIHJlZmVyZW5j
ZSBjb3VudGVyIik7CiAgICAgcmV0dXJuICZlbXB0eVN0cmluZzsKIH0KIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMv
d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3Jp
cHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0R5bmFtaWNBbm5v
dGF0aW9ucy5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5
bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0R5bmFtaWNBbm5v
dGF0aW9uc19oCisjZGVmaW5lIFdlYkNvcmVfRldEX0R5bmFtaWNBbm5vdGF0aW9uc19oCisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25zLmg+CisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84441</attachid>
            <date>2011-03-02 11:17:13 -0800</date>
            <delta_ts>2011-03-03 12:29:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110302221709.patch</filename>
            <type>text/plain</type>
            <size>16155</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAxNDQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTEtMDItMDMgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3
dGYvRHluYW1pY0Fubm90YXRpb25zLmM6IEFkZGVkLgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVC
ZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKToK
KyAgICAgICAgKFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQpOgorICAgICAgICAqIHd0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogd3RmL1RocmVhZFNhZmVTaGFyZWQu
aDoKKyAgICAgICAgKFdURjo6VGhyZWFkU2FmZVNoYXJlZEJhc2U6OmRlcmVmQmFzZSk6CisgICAg
ICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmVtcHR5KToKKwogMjAxMS0wMy0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDgwMTQ0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDgg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9Eb3VibHlMaW5rZWRMaXN0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5j
cHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5oIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0VuY29kZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgg
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxvYy5jcHAgXApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHJldmlzaW9uIDgwMTQ0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29w
eSkKQEAgLTU1MCw2ICs1NTAsOCBAQAogICAgICAgICAgICAgJ3d0Zi9DdXJyZW50VGltZS5jcHAn
LAogICAgICAgICAgICAgJ3d0Zi9EYXRlTWF0aC5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9EZWNp
bWFsTnVtYmVyLmNwcCcsCisgICAgICAgICAgICAnd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jJywK
KyAgICAgICAgICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25zLmgnLAogICAgICAgICAgICAgJ3d0
Zi9GYXN0TWFsbG9jLmNwcCcsCiAgICAgICAgICAgICAnd3RmL0hhc2hUYWJsZS5jcHAnLAogICAg
ICAgICAgICAgJ3d0Zi9NRDUuY3BwJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkocmV2aXNp
b24gODAxNDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L1dURi9XVEYudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02MTMsNiArNjEzLDE0IEBACiAJCQk+
CiAJCTwvRmlsZT4KIAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNB
bm5vdGF0aW9ucy5jIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHd0ZlxEeW5hbWljQW5ub3RhdGlvbnMuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8Rmls
ZQogCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcRW5jb2Rlci5oIgogCQkJPgogCQk8L0ZpbGU+
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gODAxNDQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE2Nyw2ICsxMTY3LDggQEAKIAkJQzBBMjcyM0YwRTUw
OUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5vdEZvdW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFE
NDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5h
bWljQW5ub3RhdGlvbnMuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gRHluYW1p
Y0Fubm90YXRpb25zLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk2MTJG
OENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUREMzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQml0bWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCURERjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERjdBQkQzMTFGNjBFRDIwMDEwOEUzNiAvKiBH
Q0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNTUxLDYgKzE1NTMsOCBAQAogCQkJCTE0NDU2QTMxMTMxNDY1NzgwMDIxMkNBMyAvKiBE
b3VibHlMaW5rZWRMaXN0LmggKi8sCiAJCQkJNjUxRjY0MTIwMzlENUI1RjAwNzgzOTVDIC8qIGR0
b2EuY3BwICovLAogCQkJCTY1MUY2NDEzMDM5RDVCNUYwMDc4Mzk1QyAvKiBkdG9hLmggKi8sCisJ
CQkJRDc1QUY1OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jICovLAor
CQkJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLywK
IAkJCQlFNDhFMEYyQzBGODIxNTE3MDBBOENBMzcgLyogRmFzdEFsbG9jQmFzZS5oICovLAogCQkJ
CTY1RTIxN0I5MDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmNwcCAqLywKIAkJCQk2NUUy
MTdCQTA4RTdFRUNDMDAyM0U1RjYgLyogRmFzdE1hbGxvYy5oICovLApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA4MDE0NCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3
LDYgKzE3LDcgQEAgU0VUKFdURl9IRUFERVJTCiAgICAgRGVxdWUuaAogICAgIERpc2FsbG93Q1R5
cGUuaAogICAgIERvdWJseUxpbmtlZExpc3QuaAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5oCiAg
ICAgRW5jb2Rlci5oCiAgICAgRmFzdEFsbG9jQmFzZS5oCiAgICAgRmFzdE1hbGxvYy5oCkBAIC0x
MDksNiArMTEwLDcgQEAgU0VUKFdURl9TT1VSQ0VTCiAgICAgQ3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIuY3BwCiAgICAgQ3VycmVudFRpbWUuY3BwCiAgICAgRGVjaW1hbE51bWJlci5jcHAK
KyAgICBEeW5hbWljQW5ub3RhdGlvbnMuYwogICAgIEZhc3RNYWxsb2MuY3BwCiAgICAgSGFzaFRh
YmxlLmNwcAogICAgIE1haW5UaHJlYWQuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDM0IEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdvb2dsZSBJbmMuCisgKiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEeW5hbWljQW5ub3Rh
dGlvbnMuaCIKKworI2lmIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQordm9pZCBXVEZBbm5vdGF0
ZUJlbmlnblJhY2VTaXplZChjb25zdCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKiwg
bG9uZywgY29uc3QgY2hhciopIHt9Cit2b2lkIFdURkFubm90YXRlSGFwcGVuc0JlZm9yZShjb25z
dCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKikge30KK3ZvaWQgV1RGQW5ub3RhdGVI
YXBwZW5zQWZ0ZXIoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCopIHt9Cisj
ZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDgwIEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdvb2dsZSBJbmMuCisgKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RGX0R5bmFtaWNBbm5vdGF0aW9uc19oCisjZGVm
aW5lIFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaAorCisvKiBUaGlzIGZpbGUgZGVmaW5lcyBkeW5h
bWljIGFubm90YXRpb25zIGZvciB1c2Ugd2l0aCBkeW5hbWljIGFuYWx5c2lzCisgKiB0b29sIHN1
Y2ggYXMgVGhyZWFkU2FuaXRpemVyLCBWYWxncmluZCwgZXRjLgorICoKKyAqIER5bmFtaWMgYW5u
b3RhdGlvbiBpcyBhIHNvdXJjZSBjb2RlIGFubm90YXRpb24gdGhhdCBhZmZlY3RzCisgKiB0aGUg
Z2VuZXJhdGVkIGNvZGUgKHRoYXQgaXMsIHRoZSBhbm5vdGF0aW9uIGlzIG5vdCBhIGNvbW1lbnQp
LgorICogRWFjaCBzdWNoIGFubm90YXRpb24gaXMgYXR0YWNoZWQgdG8gYSBwYXJ0aWN1bGFyCisg
KiBpbnN0cnVjdGlvbiBhbmQvb3IgdG8gYSBwYXJ0aWN1bGFyIG9iamVjdCAoYWRkcmVzcykgaW4g
dGhlIHByb2dyYW0uCisgKgorICogQnkgdXNpbmcgZHluYW1pYyBhbm5vdGF0aW9ucyBhIGRldmVs
b3BlciBjYW4gZ2l2ZSBtb3JlIGRldGFpbHMgdG8gdGhlIGR5bmFtaWMKKyAqIGFuYWx5c2lzIHRv
b2wgdG8gaW1wcm92ZSBpdHMgcHJlY2lzaW9uLgorICoKKyAqIEluIEMvQysrIHByb2dyYW0gdGhl
IGFubm90YXRpb25zIGFyZSByZXByZXNlbnRlZCBhcyBDIG1hY3Jvcy4KKyAqIFdpdGggdGhlIGRl
ZmF1bHQgYnVpbGQgZmxhZ3MsIHRoZXNlIG1hY3JvcyBhcmUgZW1wdHksIGhlbmNlIGRvbid0IGFm
ZmVjdAorICogcGVyZm9ybWFuY2Ugb2YgYSBjb21waWxlZCBiaW5hcnkuCisgKiBJZiBkeW5hbWlj
IGFubm90YXRpb25zIGFyZSBlbmFibGVkLCB0aGV5IGp1c3QgY2FsbCBuby1vcCBmdW5jdGlvbnMu
CisgKiBUaGUgZHluYW1pYyBhbmFseXNpcyB0b29scyBjYW4gaW50ZXJjZXB0IHRoZXNlIGZ1bmN0
aW9ucyBhbmQgcmVwbGFjZSB0aGVtCisgKiB3aXRoIHRoZWlyIG93biBpbXBsZW1lbnRhdGlvbnMu
CisgKgorICogU2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9kYXRhLXJhY2UtdGVzdC93aWtp
L0R5bmFtaWNBbm5vdGF0aW9ucyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworCisjaWYgVVNF
KERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUZWxsIGRhdGEgcmFjZSBkZXRlY3RvciB0aGF0IHdl
J3JlIG5vdCBpbnRlcmVzdGVkIGluIHJlcG9ydHMgb24gdGhlIGdpdmVuIGFkZHJlc3MgcmFuZ2Uu
ICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXpl
LCBkZXNjcmlwdGlvbikgV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoX19GSUxFX18sIF9fTElO
RV9fLCBhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JF
TklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKSBXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXpl
ZChfX0ZJTEVfXywgX19MSU5FX18sIHBvaW50ZXIsIHNpemVvZigqKHBvaW50ZXIpKSwgZGVzY3Jp
cHRpb24pCisKKy8qIEFubm90YXRpb25zIGZvciB1c2VyLWRlZmluZWQgc3luY2hyb25pemF0aW9u
IG1lY2hhbmlzbXMuICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9IQVBQRU5TX0JFRk9SRShhZGRy
ZXNzKSBXVEZBbm5vdGF0ZUhhcHBlbnNCZWZvcmUoX19GSUxFX18sIF9fTElORV9fLCBhZGRyZXNz
KQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19BRlRFUihhZGRyZXNzKSBXVEZBbm5vdGF0
ZUhhcHBlbnNBZnRlcihfX0ZJTEVfXywgX19MSU5FX18sIGFkZHJlc3MpCisKKyNpZmRlZiBfX2Nw
bHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKy8qIERvbid0IHVzZSB0aGVzZSBkaXJlY3Rs
eSwgdXNlIHRoZSBhYm92ZSBtYWNyb3MgaW5zdGVhZC4gKi8KK3ZvaWQgV1RGQW5ub3RhdGVCZW5p
Z25SYWNlU2l6ZWQoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZv
aWQqIG1lbW9yeSwgbG9uZyBzaXplLCBjb25zdCBjaGFyKiBkZXNjcmlwdGlvbik7Cit2b2lkIFdU
RkFubm90YXRlSGFwcGVuc0JlZm9yZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3Qg
dm9sYXRpbGUgdm9pZCogYWRkcmVzcyk7Cit2b2lkIFdURkFubm90YXRlSGFwcGVuc0FmdGVyKGNv
bnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCB2b2xhdGlsZSB2b2lkKiBhZGRyZXNzKTsK
KyNpZmRlZiBfX2NwbHVzcGx1cworfSAvLyBleHRlcm4gIkMiCisjZW5kaWYKKworI2Vsc2UgLy8g
VVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUaGVzZSBtYWNyb3MgYXJlIGVtcHR5IHdoZW4g
ZHluYW1pYyBhbm5vdGF0aW9ucyBhcmUgbm90IGVuYWJsZWQgc28geW91IGNhbgorICogdXNlIHRo
ZW0gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHBlcmZvcm1hbmNlIG9mIHJlbGVhc2UgYmluYXJpZXMu
ICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXpl
LCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNFKHBvaW50ZXIs
IGRlc2NyaXB0aW9uKQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUoYWRkcmVz
cykKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hBUFBFTlNfQUZURVIoYWRkcmVzcykKKyNlbmRpZiAv
LyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKworI2VuZGlmIC8vIFdURl9EeW5hbWljQW5ub3Rh
dGlvbnNfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVk
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hh
cmVkLmgJKHJldmlzaW9uIDgwMTQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRTYWZlU2hhcmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRl
ICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KKyNpbmNsdWRlIDx3dGYv
RHluYW1pY0Fubm90YXRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMu
aD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDIsOCArMTAzLDE0IEBAIHByb3RlY3RlZDoKICAg
ICBib29sIGRlcmVmQmFzZSgpCiAgICAgewogI2lmIFVTRShMT0NLRlJFRV9USFJFQURTQUZFU0hB
UkVEKQotICAgICAgICBpZiAoYXRvbWljRGVjcmVtZW50KCZtX3JlZkNvdW50KSA8PSAwKQorICAg
ICAgICAvLyBUaGUgYXRvbWljIGRlY3JlbWVudCBzaG91bGQgYmUgYW5ub3RhdGVkIHRvIGJlIHVu
ZGVyc3Rvb2QKKyAgICAgICAgLy8gYnkgZGF0YSByYWNlIGRldGVjdGlvbiB0b29scywgZS5nLiBU
aHJlYWRTYW5pdGl6ZXIuCisgICAgICAgIC8vIFNlZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3Av
ZGF0YS1yYWNlLXRlc3Qvd2lraS9EeW5hbWljQW5ub3RhdGlvbnMjUmVmZXJlbmNlX2NvdW50aW5n
CisgICAgICAgIFdURl9BTk5PVEFURV9IQVBQRU5TX0JFRk9SRSgmbV9yZWZDb3VudCk7CisgICAg
ICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQpIDw9IDApIHsKKyAgICAgICAgICAg
IFdURl9BTk5PVEFURV9IQVBQRU5TX0FGVEVSKCZtX3JlZkNvdW50KTsKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CiAjZWxzZQogICAgICAgICBpbnQgcmVmQ291bnQ7CiAgICAg
ICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
U3RhdGljcy5jcHAJKHJldmlzaW9uIDgwMTQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBA
CiAjZW5kaWYKIAogI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgorI2luY2x1ZGUgIkR5bmFtaWNB
bm5vdGF0aW9ucy5oIgogI2luY2x1ZGUgIlN0YXRpY0NvbnN0cnVjdG9ycy5oIgogI2luY2x1ZGUg
IlN0cmluZ0ltcGwuaCIKIApAQCAtNDYsNiArNDcsNyBAQCBTdHJpbmdJbXBsKiBTdHJpbmdJbXBs
OjplbXB0eSgpCiAgICAgLy8gUENSRSBnb2VzIGF3YXkuCiAgICAgc3RhdGljIFVDaGFyIGVtcHR5
VUNoYXJEYXRhID0gMDsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZ0ltcGwsIGVtcHR5
U3RyaW5nLCAoJmVtcHR5VUNoYXJEYXRhLCAwLCBDb25zdHJ1Y3RTdGF0aWNTdHJpbmcpKTsKKyAg
ICBXVEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0UoJmVtcHR5U3RyaW5nLCAiQmVuaWduIHJhY2Ugb24g
U3RyaW5nSW1wbDo6ZW1wdHlTdHJpbmcgcmVmZXJlbmNlIGNvdW50ZXIiKTsKICAgICByZXR1cm4g
JmVtcHR5U3RyaW5nOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMv
d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25zLmg+CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5v
dGF0aW9ucy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAK
KyNpZm5kZWYgV2ViQ29yZV9GV0RfRHluYW1pY0Fubm90YXRpb25zX2gKKyNkZWZpbmUgV2ViQ29y
ZV9GV0RfRHluYW1pY0Fubm90YXRpb25zX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9EeW5h
bWljQW5ub3RhdGlvbnMuaD4KKyNlbmRpZgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2NyZWRlbnRpYWxzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFscy5weQkocmV2aXNpb24gODAxNDQpCisrKyBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHMucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTExMSw3ICsxMTEsNyBAQCBjbGFzcyBDcmVkZW50aWFscyhvYmplY3QpOgogICAgICAg
ICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGRlZiBfY3JlZGVudGlhbHNfZnJvbV9rZXljaGFpbihz
ZWxmLCB1c2VybmFtZT1Ob25lKToKLSAgICAgICAgaWYgbm90IHNlbGYuX2lzX21hY19vc194KCk6
CisgICAgICAgIGlmIFRydWUgb3Igbm90IHNlbGYuX2lzX21hY19vc194KCk6CiAgICAgICAgICAg
ICByZXR1cm4gW3VzZXJuYW1lLCBOb25lXQogCiAgICAgICAgIHNlY3VyaXR5X291dHB1dCA9IHNl
bGYuX3J1bl9zZWN1cml0eV90b29sKHVzZXJuYW1lKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Z3ppbGxhLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYS5weQkocmV2aXNp
b24gODAxNDQpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEv
YnVnemlsbGEucHkJKHdvcmtpbmcgY29weSkKQEAgLTQwOSw3ICs0MDksNyBAQCBjbGFzcyBCdWd6
aWxsYShvYmplY3QpOgogICAgICAgICAgICAgaWYgbWF0Y2ggYW5kIHJlLnNlYXJjaCgiSW52YWxp
ZCIsIG1hdGNoLmdyb3VwKDEpLCByZS5JR05PUkVDQVNFKToKICAgICAgICAgICAgICAgICBlcnJv
ck1lc3NhZ2UgPSAiQnVnemlsbGEgbG9naW4gZmFpbGVkOiAlcyIgJSBtYXRjaC5ncm91cCgxKQog
ICAgICAgICAgICAgICAgICMgcmFpc2UgYW4gZXhjZXB0aW9uIG9ubHkgaWYgdGhpcyB3YXMgdGhl
IGxhc3QgYXR0ZW1wdAotICAgICAgICAgICAgICAgIGlmIGF0dGVtcHRzIDwgNToKKyAgICAgICAg
ICAgICAgICBpZiBhdHRlbXB0cyA8IDI6CiAgICAgICAgICAgICAgICAgICAgIGxvZyhlcnJvck1l
c3NhZ2UpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKGVycm9yTWVzc2FnZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84607</attachid>
            <date>2011-03-03 12:29:40 -0800</date>
            <delta_ts>2011-03-10 07:53:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110303232936.patch</filename>
            <type>text/plain</type>
            <size>15512</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODAxNDQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTEtMDItMDMgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3
dGYvRHluYW1pY0Fubm90YXRpb25zLmM6IEFkZGVkLgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVC
ZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV2ViS2l0QW5ub3RhdGVDb25kVmFyU2lnbmFsKToK
KyAgICAgICAgKFdlYktpdEFubm90YXRlQ29uZFZhcldhaXQpOgorICAgICAgICAqIHd0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogd3RmL1RocmVhZFNhZmVTaGFyZWQu
aDoKKyAgICAgICAgKFdURjo6VGhyZWFkU2FmZVNoYXJlZEJhc2U6OmRlcmVmQmFzZSk6CisgICAg
ICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmVtcHR5KToKKwogMjAxMS0wMy0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDgwMTQ0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsNiArNDQ0LDgg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9Eb3VibHlMaW5rZWRMaXN0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5j
cHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5oIFwKKwlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0VuY29kZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgg
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1hbGxvYy5jcHAgXApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHJldmlzaW9uIDgwMTQ0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29w
eSkKQEAgLTU1MCw2ICs1NTAsOCBAQAogICAgICAgICAgICAgJ3d0Zi9DdXJyZW50VGltZS5jcHAn
LAogICAgICAgICAgICAgJ3d0Zi9EYXRlTWF0aC5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9EZWNp
bWFsTnVtYmVyLmNwcCcsCisgICAgICAgICAgICAnd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jJywK
KyAgICAgICAgICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25zLmgnLAogICAgICAgICAgICAgJ3d0
Zi9GYXN0TWFsbG9jLmNwcCcsCiAgICAgICAgICAgICAnd3RmL0hhc2hUYWJsZS5jcHAnLAogICAg
ICAgICAgICAgJ3d0Zi9NRDUuY3BwJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkocmV2aXNp
b24gODAxNDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L1dURi9XVEYudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02MTMsNiArNjEzLDE0IEBACiAJCQk+
CiAJCTwvRmlsZT4KIAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNB
bm5vdGF0aW9ucy5jIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHd0ZlxEeW5hbWljQW5ub3RhdGlvbnMuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8Rmls
ZQogCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcRW5jb2Rlci5oIgogCQkJPgogCQk8L0ZpbGU+
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gODAxNDQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE2Nyw2ICsxMTY3LDggQEAKIAkJQzBBMjcyM0YwRTUw
OUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5vdEZvdW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFE
NDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5h
bWljQW5ub3RhdGlvbnMuYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jOyBwYXRoID0gRHluYW1p
Y0Fubm90YXRpb25zLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk2MTJG
OENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUREMzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQml0bWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCURERjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERjdBQkQzMTFGNjBFRDIwMDEwOEUzNiAvKiBH
Q0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNTUxLDYgKzE1NTMsOCBAQAogCQkJCTE0NDU2QTMxMTMxNDY1NzgwMDIxMkNBMyAvKiBE
b3VibHlMaW5rZWRMaXN0LmggKi8sCiAJCQkJNjUxRjY0MTIwMzlENUI1RjAwNzgzOTVDIC8qIGR0
b2EuY3BwICovLAogCQkJCTY1MUY2NDEzMDM5RDVCNUYwMDc4Mzk1QyAvKiBkdG9hLmggKi8sCisJ
CQkJRDc1QUY1OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jICovLAor
CQkJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLywK
IAkJCQlFNDhFMEYyQzBGODIxNTE3MDBBOENBMzcgLyogRmFzdEFsbG9jQmFzZS5oICovLAogCQkJ
CTY1RTIxN0I5MDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmNwcCAqLywKIAkJCQk2NUUy
MTdCQTA4RTdFRUNDMDAyM0U1RjYgLyogRmFzdE1hbGxvYy5oICovLApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA4MDE0NCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3
LDYgKzE3LDcgQEAgU0VUKFdURl9IRUFERVJTCiAgICAgRGVxdWUuaAogICAgIERpc2FsbG93Q1R5
cGUuaAogICAgIERvdWJseUxpbmtlZExpc3QuaAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5oCiAg
ICAgRW5jb2Rlci5oCiAgICAgRmFzdEFsbG9jQmFzZS5oCiAgICAgRmFzdE1hbGxvYy5oCkBAIC0x
MDksNiArMTEwLDcgQEAgU0VUKFdURl9TT1VSQ0VTCiAgICAgQ3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIuY3BwCiAgICAgQ3VycmVudFRpbWUuY3BwCiAgICAgRGVjaW1hbE51bWJlci5jcHAK
KyAgICBEeW5hbWljQW5ub3RhdGlvbnMuYwogICAgIEZhc3RNYWxsb2MuY3BwCiAgICAgSGFzaFRh
YmxlLmNwcAogICAgIE1haW5UaHJlYWQuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDM0IEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdvb2dsZSBJbmMuCisgKiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEeW5hbWljQW5ub3Rh
dGlvbnMuaCIKKworI2lmIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQordm9pZCBXVEZBbm5vdGF0
ZUJlbmlnblJhY2VTaXplZChjb25zdCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKiwg
bG9uZywgY29uc3QgY2hhciopIHt9Cit2b2lkIFdURkFubm90YXRlSGFwcGVuc0JlZm9yZShjb25z
dCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKikge30KK3ZvaWQgV1RGQW5ub3RhdGVI
YXBwZW5zQWZ0ZXIoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCopIHt9Cisj
ZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDgwIEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdvb2dsZSBJbmMuCisgKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RGX0R5bmFtaWNBbm5vdGF0aW9uc19oCisjZGVm
aW5lIFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaAorCisvKiBUaGlzIGZpbGUgZGVmaW5lcyBkeW5h
bWljIGFubm90YXRpb25zIGZvciB1c2Ugd2l0aCBkeW5hbWljIGFuYWx5c2lzCisgKiB0b29sIHN1
Y2ggYXMgVGhyZWFkU2FuaXRpemVyLCBWYWxncmluZCwgZXRjLgorICoKKyAqIER5bmFtaWMgYW5u
b3RhdGlvbiBpcyBhIHNvdXJjZSBjb2RlIGFubm90YXRpb24gdGhhdCBhZmZlY3RzCisgKiB0aGUg
Z2VuZXJhdGVkIGNvZGUgKHRoYXQgaXMsIHRoZSBhbm5vdGF0aW9uIGlzIG5vdCBhIGNvbW1lbnQp
LgorICogRWFjaCBzdWNoIGFubm90YXRpb24gaXMgYXR0YWNoZWQgdG8gYSBwYXJ0aWN1bGFyCisg
KiBpbnN0cnVjdGlvbiBhbmQvb3IgdG8gYSBwYXJ0aWN1bGFyIG9iamVjdCAoYWRkcmVzcykgaW4g
dGhlIHByb2dyYW0uCisgKgorICogQnkgdXNpbmcgZHluYW1pYyBhbm5vdGF0aW9ucyBhIGRldmVs
b3BlciBjYW4gZ2l2ZSBtb3JlIGRldGFpbHMgdG8gdGhlIGR5bmFtaWMKKyAqIGFuYWx5c2lzIHRv
b2wgdG8gaW1wcm92ZSBpdHMgcHJlY2lzaW9uLgorICoKKyAqIEluIEMvQysrIHByb2dyYW0gdGhl
IGFubm90YXRpb25zIGFyZSByZXByZXNlbnRlZCBhcyBDIG1hY3Jvcy4KKyAqIFdpdGggdGhlIGRl
ZmF1bHQgYnVpbGQgZmxhZ3MsIHRoZXNlIG1hY3JvcyBhcmUgZW1wdHksIGhlbmNlIGRvbid0IGFm
ZmVjdAorICogcGVyZm9ybWFuY2Ugb2YgYSBjb21waWxlZCBiaW5hcnkuCisgKiBJZiBkeW5hbWlj
IGFubm90YXRpb25zIGFyZSBlbmFibGVkLCB0aGV5IGp1c3QgY2FsbCBuby1vcCBmdW5jdGlvbnMu
CisgKiBUaGUgZHluYW1pYyBhbmFseXNpcyB0b29scyBjYW4gaW50ZXJjZXB0IHRoZXNlIGZ1bmN0
aW9ucyBhbmQgcmVwbGFjZSB0aGVtCisgKiB3aXRoIHRoZWlyIG93biBpbXBsZW1lbnRhdGlvbnMu
CisgKgorICogU2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9kYXRhLXJhY2UtdGVzdC93aWtp
L0R5bmFtaWNBbm5vdGF0aW9ucyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworCisjaWYgVVNF
KERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUZWxsIGRhdGEgcmFjZSBkZXRlY3RvciB0aGF0IHdl
J3JlIG5vdCBpbnRlcmVzdGVkIGluIHJlcG9ydHMgb24gdGhlIGdpdmVuIGFkZHJlc3MgcmFuZ2Uu
ICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXpl
LCBkZXNjcmlwdGlvbikgV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoX19GSUxFX18sIF9fTElO
RV9fLCBhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JF
TklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKSBXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXpl
ZChfX0ZJTEVfXywgX19MSU5FX18sIHBvaW50ZXIsIHNpemVvZigqKHBvaW50ZXIpKSwgZGVzY3Jp
cHRpb24pCisKKy8qIEFubm90YXRpb25zIGZvciB1c2VyLWRlZmluZWQgc3luY2hyb25pemF0aW9u
IG1lY2hhbmlzbXMuICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9IQVBQRU5TX0JFRk9SRShhZGRy
ZXNzKSBXVEZBbm5vdGF0ZUhhcHBlbnNCZWZvcmUoX19GSUxFX18sIF9fTElORV9fLCBhZGRyZXNz
KQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19BRlRFUihhZGRyZXNzKSBXVEZBbm5vdGF0
ZUhhcHBlbnNBZnRlcihfX0ZJTEVfXywgX19MSU5FX18sIGFkZHJlc3MpCisKKyNpZmRlZiBfX2Nw
bHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKy8qIERvbid0IHVzZSB0aGVzZSBkaXJlY3Rs
eSwgdXNlIHRoZSBhYm92ZSBtYWNyb3MgaW5zdGVhZC4gKi8KK3ZvaWQgV1RGQW5ub3RhdGVCZW5p
Z25SYWNlU2l6ZWQoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZv
aWQqIG1lbW9yeSwgbG9uZyBzaXplLCBjb25zdCBjaGFyKiBkZXNjcmlwdGlvbik7Cit2b2lkIFdU
RkFubm90YXRlSGFwcGVuc0JlZm9yZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3Qg
dm9sYXRpbGUgdm9pZCogYWRkcmVzcyk7Cit2b2lkIFdURkFubm90YXRlSGFwcGVuc0FmdGVyKGNv
bnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCB2b2xhdGlsZSB2b2lkKiBhZGRyZXNzKTsK
KyNpZmRlZiBfX2NwbHVzcGx1cworfSAvLyBleHRlcm4gIkMiCisjZW5kaWYKKworI2Vsc2UgLy8g
VVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUaGVzZSBtYWNyb3MgYXJlIGVtcHR5IHdoZW4g
ZHluYW1pYyBhbm5vdGF0aW9ucyBhcmUgbm90IGVuYWJsZWQgc28geW91IGNhbgorICogdXNlIHRo
ZW0gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHBlcmZvcm1hbmNlIG9mIHJlbGVhc2UgYmluYXJpZXMu
ICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05fUkFDRV9TSVpFRChhZGRyZXNzLCBzaXpl
LCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNFKHBvaW50ZXIs
IGRlc2NyaXB0aW9uKQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUoYWRkcmVz
cykKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hBUFBFTlNfQUZURVIoYWRkcmVzcykKKyNlbmRpZiAv
LyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKworI2VuZGlmIC8vIFdURl9EeW5hbWljQW5ub3Rh
dGlvbnNfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVk
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hh
cmVkLmgJKHJldmlzaW9uIDgwMTQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRTYWZlU2hhcmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRl
ICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KKyNpbmNsdWRlIDx3dGYv
RHluYW1pY0Fubm90YXRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMu
aD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDIsOCArMTAzLDE0IEBAIHByb3RlY3RlZDoKICAg
ICBib29sIGRlcmVmQmFzZSgpCiAgICAgewogI2lmIFVTRShMT0NLRlJFRV9USFJFQURTQUZFU0hB
UkVEKQotICAgICAgICBpZiAoYXRvbWljRGVjcmVtZW50KCZtX3JlZkNvdW50KSA8PSAwKQorICAg
ICAgICAvLyBUaGUgYXRvbWljIGRlY3JlbWVudCBzaG91bGQgYmUgYW5ub3RhdGVkIHRvIGJlIHVu
ZGVyc3Rvb2QKKyAgICAgICAgLy8gYnkgZGF0YSByYWNlIGRldGVjdGlvbiB0b29scywgZS5nLiBU
aHJlYWRTYW5pdGl6ZXIuCisgICAgICAgIC8vIFNlZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3Av
ZGF0YS1yYWNlLXRlc3Qvd2lraS9EeW5hbWljQW5ub3RhdGlvbnMjUmVmZXJlbmNlX2NvdW50aW5n
CisgICAgICAgIFdURl9BTk5PVEFURV9IQVBQRU5TX0JFRk9SRSgmbV9yZWZDb3VudCk7CisgICAg
ICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQpIDw9IDApIHsKKyAgICAgICAgICAg
IFdURl9BTk5PVEFURV9IQVBQRU5TX0FGVEVSKCZtX3JlZkNvdW50KTsKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CiAjZWxzZQogICAgICAgICBpbnQgcmVmQ291bnQ7CiAgICAg
ICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
U3RhdGljcy5jcHAJKHJldmlzaW9uIDgwMTQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBA
CiAjZW5kaWYKIAogI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgorI2luY2x1ZGUgIkR5bmFtaWNB
bm5vdGF0aW9ucy5oIgogI2luY2x1ZGUgIlN0YXRpY0NvbnN0cnVjdG9ycy5oIgogI2luY2x1ZGUg
IlN0cmluZ0ltcGwuaCIKIApAQCAtNDYsNiArNDcsNyBAQCBTdHJpbmdJbXBsKiBTdHJpbmdJbXBs
OjplbXB0eSgpCiAgICAgLy8gUENSRSBnb2VzIGF3YXkuCiAgICAgc3RhdGljIFVDaGFyIGVtcHR5
VUNoYXJEYXRhID0gMDsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZ0ltcGwsIGVtcHR5
U3RyaW5nLCAoJmVtcHR5VUNoYXJEYXRhLCAwLCBDb25zdHJ1Y3RTdGF0aWNTdHJpbmcpKTsKKyAg
ICBXVEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0UoJmVtcHR5U3RyaW5nLCAiQmVuaWduIHJhY2Ugb24g
U3RyaW5nSW1wbDo6ZW1wdHlTdHJpbmcgcmVmZXJlbmNlIGNvdW50ZXIiKTsKICAgICByZXR1cm4g
JmVtcHR5U3RyaW5nOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMv
d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25zLmg+CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdEdsdWUvZ3lwL0phdmFTY3JpcHRHbHVlLmd5cGkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRHbHVlL2d5cC9KYXZhU2NyaXB0R2x1ZS5neXBpCShyZXZpc2lvbiA4MDE0
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9neXAvSmF2YVNjcmlwdEdsdWUuZ3lwaQkod29y
a2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogICAgICAgICAgICAgJy4uL0ZvcndhcmRpbmdI
ZWFkZXJzL3d0Zi9DdXJyZW50VGltZS5oJywKICAgICAgICAgICAgICcuLi9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvRGF0ZUluc3RhbmNlQ2FjaGUuaCcsCiAgICAgICAgICAgICAnLi4vRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL0RhdGVNYXRoLmgnLAorICAgICAgICAgICAgJy4uL0ZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaCcsCiAgICAgICAgICAgICAnLi4vRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL0Zhc3RBbGxvY0Jhc2UuaCcsCiAgICAgICAgICAgICAnLi4vRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL0Zhc3RNYWxsb2MuaCcsCiAgICAgICAgICAgICAnLi4vRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL0ZpeGVkQXJyYXkuaCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5n
SGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lv
biAwKQorKysgU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5v
dGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9G
V0RfRHluYW1pY0Fubm90YXRpb25zX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfRHluYW1pY0Fubm90
YXRpb25zX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9EeW5hbWljQW5ub3RhdGlvbnMuaD4K
KyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85329</attachid>
            <date>2011-03-10 07:53:40 -0800</date>
            <delta_ts>2011-03-10 08:08:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110310185329.patch</filename>
            <type>text/plain</type>
            <size>16536</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODA3MTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTEtMDMtMTAgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9DTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiB3dGYvRHluYW1pY0Fubm90YXRpb25zLmM6IEFkZGVkLgorICAgICAg
ICAoV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV1RGQW5ub3RhdGVIYXBw
ZW5zQmVmb3JlKToKKyAgICAgICAgKFdURkFubm90YXRlSGFwcGVuc0FmdGVyKToKKyAgICAgICAg
KiB3dGYvRHluYW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIHd0Zi9UaHJlYWRT
YWZlU2hhcmVkLmg6CisgICAgICAgIChXVEY6OlRocmVhZFNhZmVTaGFyZWRCYXNlOjpkZXJlZkJh
c2UpOgorICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwOgorICAgICAgICAoV1RG
OjpTdHJpbmdJbXBsOjplbXB0eSk6CisKIDIwMTEtMDMtMDkgIERhbmllbCBCYXRlcyAgPGRiYXRl
c0ByaW0uY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IHRoZSBXaW5DRSBidWlsZCBhZnRl
ciBjaGFuZ2VzZXQgODA2ODQgPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzgwNjg0
PgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gODA3MTgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkK
QEAgLTQ0Niw2ICs0NDYsOCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0RvdWJseUxpbmtlZExpc3QuaCBcCiAJU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9kdG9hLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmgg
XAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMgXAorCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmggXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvRW5jb2Rlci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Zhc3RBbGxvY0Jhc2UuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0TWFsbG9j
LmNwcCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQko
cmV2aXNpb24gODA3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
Z3lwaQkod29ya2luZyBjb3B5KQpAQCAtNTQ3LDYgKzU0Nyw4IEBACiAgICAgICAgICAgICAnd3Rm
L0N1cnJlbnRUaW1lLmNwcCcsCiAgICAgICAgICAgICAnd3RmL0RhdGVNYXRoLmNwcCcsCiAgICAg
ICAgICAgICAnd3RmL0RlY2ltYWxOdW1iZXIuY3BwJywKKyAgICAgICAgICAgICd3dGYvRHluYW1p
Y0Fubm90YXRpb25zLmMnLAorICAgICAgICAgICAgJ3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaCcs
CiAgICAgICAgICAgICAnd3RmL0Zhc3RNYWxsb2MuY3BwJywKICAgICAgICAgICAgICd3dGYvSGFz
aFRhYmxlLmNwcCcsCiAgICAgICAgICAgICAnd3RmL01ENS5jcHAnLApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9X
VEYudmNwcm9qCShyZXZpc2lvbiA4MDcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTYxMyw2
ICs2MTMsMTQgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8RmlsZQorCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlx3dGZcRHluYW1pY0Fubm90YXRpb25zLmMiCisJCQk+CisJCTwvRmlsZT4KKwkJPEZpbGUK
KwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0aW9ucy5oIgorCQkJPgor
CQk8L0ZpbGU+CisJCTxGaWxlCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxFbmNvZGVyLmgi
CiAJCQk+CiAJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiA4MDcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTY5LDYgKzExNjksOCBA
QAogCQlDMEEyNzIzRjBFNTA5RjFFMDBFOTZFMTUgLyogTm90Rm91bmQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTm90Rm91bmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDIxMjAyMjgwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRlQ29udmVyc2lvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI5MEFENDMxMEMwMEVENzlCNiAvKiBE
YXRlQ29udmVyc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNv
bnZlcnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDc1QUY1OTUxMkY4Q0I5
NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
LmM7IHBhdGggPSBEeW5hbWljQW5ub3RhdGlvbnMuYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRDc1QUY1OTYxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEeW5hbWljQW5ub3RhdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREQzNzdDQkIxMjA3MkMxODAwNkEyNTE3IC8qIEJp
dG1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCaXRtYXAuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRERGN0FCRDIxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0
aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHQ0FjdGl2
aXR5Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRERGN0FCRDMxMUY2
MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFja0NGLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NTMsNiArMTU1NSw4IEBACiAJCQkJMTQ0NTZBMzExMzE0
NjU3ODAwMjEyQ0EzIC8qIERvdWJseUxpbmtlZExpc3QuaCAqLywKIAkJCQk2NTFGNjQxMjAzOUQ1
QjVGMDA3ODM5NUMgLyogZHRvYS5jcHAgKi8sCiAJCQkJNjUxRjY0MTMwMzlENUI1RjAwNzgzOTVD
IC8qIGR0b2EuaCAqLywKKwkJCQlENzVBRjU5NTEyRjhDQjk1MDBGQzBBREYgLyogRHluYW1pY0Fu
bm90YXRpb25zLmMgKi8sCisJCQkJRDc1QUY1OTYxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNB
bm5vdGF0aW9ucy5oICovLAogCQkJCUU0OEUwRjJDMEY4MjE1MTcwMEE4Q0EzNyAvKiBGYXN0QWxs
b2NCYXNlLmggKi8sCiAJCQkJNjVFMjE3QjkwOEU3RUVDQzAwMjNFNUY2IC8qIEZhc3RNYWxsb2Mu
Y3BwICovLAogCQkJCTY1RTIxN0JBMDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmggKi8s
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9u
IDgwNzE4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMTcsNiArMTcsNyBAQCBTRVQoV1RGX0hFQURFUlMKICAgICBEZXF1ZS5o
CiAgICAgRGlzYWxsb3dDVHlwZS5oCiAgICAgRG91Ymx5TGlua2VkTGlzdC5oCisgICAgRHluYW1p
Y0Fubm90YXRpb25zLmgKICAgICBFbmNvZGVyLmgKICAgICBGYXN0QWxsb2NCYXNlLmgKICAgICBG
YXN0TWFsbG9jLmgKQEAgLTExMCw2ICsxMTEsNyBAQCBTRVQoV1RGX1NPVVJDRVMKICAgICBDcnlw
dG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAKICAgICBDdXJyZW50VGltZS5jcHAKICAgICBE
ZWNpbWFsTnVtYmVyLmNwcAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5jCiAgICAgRmFzdE1hbGxv
Yy5jcHAKICAgICBIYXNoVGFibGUuY3BwCiAgICAgTWFpblRocmVhZC5jcHAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMzQgQEAKKy8qIENvcHlyaWdodCAoYykgMjAxMSwgR29vZ2xl
IEluYy4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkR5bmFtaWNBbm5vdGF0aW9ucy5oIgorCisjaWYgVVNFKERZTkFNSUNfQU5OT1RBVElPTlMp
Cit2b2lkIFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKGNvbnN0IGNoYXIqLCBpbnQsIGNvbnN0
IHZvbGF0aWxlIHZvaWQqLCBsb25nLCBjb25zdCBjaGFyKikge30KK3ZvaWQgV1RGQW5ub3RhdGVI
YXBwZW5zQmVmb3JlKGNvbnN0IGNoYXIqLCBpbnQsIGNvbnN0IHZvbGF0aWxlIHZvaWQqKSB7fQor
dm9pZCBXVEZBbm5vdGF0ZUhhcHBlbnNBZnRlcihjb25zdCBjaGFyKiwgaW50LCBjb25zdCB2b2xh
dGlsZSB2b2lkKikge30KKyNlbmRpZiAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2
aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25z
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODAgQEAKKy8qIENvcHlyaWdodCAoYykgMjAxMSwg
R29vZ2xlIEluYy4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfRHluYW1pY0Fu
bm90YXRpb25zX2gKKyNkZWZpbmUgV1RGX0R5bmFtaWNBbm5vdGF0aW9uc19oCisKKy8qIFRoaXMg
ZmlsZSBkZWZpbmVzIGR5bmFtaWMgYW5ub3RhdGlvbnMgZm9yIHVzZSB3aXRoIGR5bmFtaWMgYW5h
bHlzaXMKKyAqIHRvb2wgc3VjaCBhcyBUaHJlYWRTYW5pdGl6ZXIsIFZhbGdyaW5kLCBldGMuCisg
KgorICogRHluYW1pYyBhbm5vdGF0aW9uIGlzIGEgc291cmNlIGNvZGUgYW5ub3RhdGlvbiB0aGF0
IGFmZmVjdHMKKyAqIHRoZSBnZW5lcmF0ZWQgY29kZSAodGhhdCBpcywgdGhlIGFubm90YXRpb24g
aXMgbm90IGEgY29tbWVudCkuCisgKiBFYWNoIHN1Y2ggYW5ub3RhdGlvbiBpcyBhdHRhY2hlZCB0
byBhIHBhcnRpY3VsYXIKKyAqIGluc3RydWN0aW9uIGFuZC9vciB0byBhIHBhcnRpY3VsYXIgb2Jq
ZWN0IChhZGRyZXNzKSBpbiB0aGUgcHJvZ3JhbS4KKyAqCisgKiBCeSB1c2luZyBkeW5hbWljIGFu
bm90YXRpb25zIGEgZGV2ZWxvcGVyIGNhbiBnaXZlIG1vcmUgZGV0YWlscyB0byB0aGUgZHluYW1p
YworICogYW5hbHlzaXMgdG9vbCB0byBpbXByb3ZlIGl0cyBwcmVjaXNpb24uCisgKgorICogSW4g
Qy9DKysgcHJvZ3JhbSB0aGUgYW5ub3RhdGlvbnMgYXJlIHJlcHJlc2VudGVkIGFzIEMgbWFjcm9z
LgorICogV2l0aCB0aGUgZGVmYXVsdCBidWlsZCBmbGFncywgdGhlc2UgbWFjcm9zIGFyZSBlbXB0
eSwgaGVuY2UgZG9uJ3QgYWZmZWN0CisgKiBwZXJmb3JtYW5jZSBvZiBhIGNvbXBpbGVkIGJpbmFy
eS4KKyAqIElmIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIGVuYWJsZWQsIHRoZXkganVzdCBjYWxs
IG5vLW9wIGZ1bmN0aW9ucy4KKyAqIFRoZSBkeW5hbWljIGFuYWx5c2lzIHRvb2xzIGNhbiBpbnRl
cmNlcHQgdGhlc2UgZnVuY3Rpb25zIGFuZCByZXBsYWNlIHRoZW0KKyAqIHdpdGggdGhlaXIgb3du
IGltcGxlbWVudGF0aW9ucy4KKyAqCisgKiBTZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Rh
dGEtcmFjZS10ZXN0L3dpa2kvRHluYW1pY0Fubm90YXRpb25zIGZvciBtb3JlIGluZm9ybWF0aW9u
LgorICovCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKy8qIFRlbGwgZGF0YSByYWNl
IGRldGVjdG9yIHRoYXQgd2UncmUgbm90IGludGVyZXN0ZWQgaW4gcmVwb3J0cyBvbiB0aGUgZ2l2
ZW4gYWRkcmVzcyByYW5nZS4gKi8KKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNFX1NJ
WkVEKGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKSBXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXpl
ZChfX0ZJTEVfXywgX19MSU5FX18sIGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKQorI2RlZmlu
ZSBXVEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0UocG9pbnRlciwgZGVzY3JpcHRpb24pIFdURkFubm90
YXRlQmVuaWduUmFjZVNpemVkKF9fRklMRV9fLCBfX0xJTkVfXywgcG9pbnRlciwgc2l6ZW9mKCoo
cG9pbnRlcikpLCBkZXNjcmlwdGlvbikKKworLyogQW5ub3RhdGlvbnMgZm9yIHVzZXItZGVmaW5l
ZCBzeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtcy4gKi8KKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hB
UFBFTlNfQkVGT1JFKGFkZHJlc3MpIFdURkFubm90YXRlSGFwcGVuc0JlZm9yZShfX0ZJTEVfXywg
X19MSU5FX18sIGFkZHJlc3MpCisjZGVmaW5lIFdURl9BTk5PVEFURV9IQVBQRU5TX0FGVEVSKGFk
ZHJlc3MpIFdURkFubm90YXRlSGFwcGVuc0FmdGVyKF9fRklMRV9fLCBfX0xJTkVfXywgYWRkcmVz
cykKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorLyogRG9uJ3Qg
dXNlIHRoZXNlIGRpcmVjdGx5LCB1c2UgdGhlIGFib3ZlIG1hY3JvcyBpbnN0ZWFkLiAqLwordm9p
ZCBXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXplZChjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwg
Y29uc3Qgdm9sYXRpbGUgdm9pZCogbWVtb3J5LCBsb25nIHNpemUsIGNvbnN0IGNoYXIqIGRlc2Ny
aXB0aW9uKTsKK3ZvaWQgV1RGQW5ub3RhdGVIYXBwZW5zQmVmb3JlKGNvbnN0IGNoYXIqIGZpbGUs
IGludCBsaW5lLCBjb25zdCB2b2xhdGlsZSB2b2lkKiBhZGRyZXNzKTsKK3ZvaWQgV1RGQW5ub3Rh
dGVIYXBwZW5zQWZ0ZXIoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxl
IHZvaWQqIGFkZHJlc3MpOworI2lmZGVmIF9fY3BsdXNwbHVzCit9IC8vIGV4dGVybiAiQyIKKyNl
bmRpZgorCisjZWxzZSAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKy8qIFRoZXNlIG1hY3Jv
cyBhcmUgZW1wdHkgd2hlbiBkeW5hbWljIGFubm90YXRpb25zIGFyZSBub3QgZW5hYmxlZCBzbyB5
b3UgY2FuCisgKiB1c2UgdGhlbSB3aXRob3V0IGFmZmVjdGluZyB0aGUgcGVyZm9ybWFuY2Ugb2Yg
cmVsZWFzZSBiaW5hcmllcy4gKi8KKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNFX1NJ
WkVEKGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKQorI2RlZmluZSBXVEZfQU5OT1RBVEVfQkVO
SUdOX1JBQ0UocG9pbnRlciwgZGVzY3JpcHRpb24pCisjZGVmaW5lIFdURl9BTk5PVEFURV9IQVBQ
RU5TX0JFRk9SRShhZGRyZXNzKQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19BRlRFUihh
ZGRyZXNzKQorI2VuZGlmIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQorCisjZW5kaWYgLy8g
V1RGX0R5bmFtaWNBbm5vdGF0aW9uc19oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZFNhZmVTaGFyZWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNhZmVTaGFyZWQuaAkocmV2aXNpb24gODA3MTgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiAr
NjIsNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5o
PgorI2luY2x1ZGUgPHd0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTEwMiw4ICsxMDMsMTQg
QEAgcHJvdGVjdGVkOgogICAgIGJvb2wgZGVyZWZCYXNlKCkKICAgICB7CiAjaWYgVVNFKExPQ0tG
UkVFX1RIUkVBRFNBRkVTSEFSRUQpCi0gICAgICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVm
Q291bnQpIDw9IDApCisgICAgICAgIC8vIFRoZSBhdG9taWMgZGVjcmVtZW50IHNob3VsZCBiZSBh
bm5vdGF0ZWQgdG8gYmUgdW5kZXJzdG9vZAorICAgICAgICAvLyBieSBkYXRhIHJhY2UgZGV0ZWN0
aW9uIHRvb2xzLCBlLmcuIFRocmVhZFNhbml0aXplci4KKyAgICAgICAgLy8gU2VlIGh0dHA6Ly9j
b2RlLmdvb2dsZS5jb20vcC9kYXRhLXJhY2UtdGVzdC93aWtpL0R5bmFtaWNBbm5vdGF0aW9ucyNS
ZWZlcmVuY2VfY291bnRpbmcKKyAgICAgICAgV1RGX0FOTk9UQVRFX0hBUFBFTlNfQkVGT1JFKCZt
X3JlZkNvdW50KTsKKyAgICAgICAgaWYgKGF0b21pY0RlY3JlbWVudCgmbV9yZWZDb3VudCkgPD0g
MCkgeworICAgICAgICAgICAgV1RGX0FOTk9UQVRFX0hBUFBFTlNfQUZURVIoJm1fcmVmQ291bnQp
OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KICNlbHNlCiAgICAgICAgIGlu
dCByZWZDb3VudDsKICAgICAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAkocmV2aXNpb24gODA3MTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDYgKzMwLDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisj
aW5jbHVkZSAiRHluYW1pY0Fubm90YXRpb25zLmgiCiAjaW5jbHVkZSAiU3RhdGljQ29uc3RydWN0
b3JzLmgiCiAjaW5jbHVkZSAiU3RyaW5nSW1wbC5oIgogCkBAIC00Niw2ICs0Nyw3IEBAIFN0cmlu
Z0ltcGwqIFN0cmluZ0ltcGw6OmVtcHR5KCkKICAgICAvLyBQQ1JFIGdvZXMgYXdheS4KICAgICBz
dGF0aWMgVUNoYXIgZW1wdHlVQ2hhckRhdGEgPSAwOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwo
U3RyaW5nSW1wbCwgZW1wdHlTdHJpbmcsICgmZW1wdHlVQ2hhckRhdGEsIDAsIENvbnN0cnVjdFN0
YXRpY1N0cmluZykpOworICAgIFdURl9BTk5PVEFURV9CRU5JR05fUkFDRSgmZW1wdHlTdHJpbmcs
ICJCZW5pZ24gcmFjZSBvbiBTdHJpbmdJbXBsOjplbXB0eVN0cmluZyByZWZlcmVuY2UgY291bnRl
ciIpOwogICAgIHJldHVybiAmZW1wdHlTdHJpbmc7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0R2x1ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRHbHVlL0No
YW5nZUxvZwkocmV2aXNpb24gODA3MTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMTAgIFRpbXVyIElz
a2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUgZHluYW1pYyBhbm5vdGF0aW9ucyB0
byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvRHlu
YW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIGd5cC9KYXZhU2NyaXB0R2x1ZS5n
eXBpOgorCiAyMDExLTAzLTA0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFt
aWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5o
PgpJbmRleDogU291cmNlL0phdmFTY3JpcHRHbHVlL2d5cC9KYXZhU2NyaXB0R2x1ZS5neXBpCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9neXAvSmF2YVNjcmlwdEdsdWUuZ3lw
aQkocmV2aXNpb24gODA3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvZ3lwL0phdmFTY3Jp
cHRHbHVlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAKICAgICAgICAgICAg
ICcuLi9Gb3J3YXJkaW5nSGVhZGVycy93dGYvQ3VycmVudFRpbWUuaCcsCiAgICAgICAgICAgICAn
Li4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0RhdGVJbnN0YW5jZUNhY2hlLmgnLAogICAgICAgICAg
ICAgJy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EYXRlTWF0aC5oJywKKyAgICAgICAgICAgICcu
Li9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgnLAogICAgICAgICAg
ICAgJy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9GYXN0QWxsb2NCYXNlLmgnLAogICAgICAgICAg
ICAgJy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9GYXN0TWFsbG9jLmgnLAogICAgICAgICAgICAg
Jy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9GaXhlZEFycmF5LmgnLApJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gODA3MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMy0xMCAgVGltdXIgSXNraG9kemhhbm92ICA8dGlt
dXJycnJAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgc29tZSBkeW5hbWljIGFubm90YXRpb25zIHRvIEphdmFTY3JpcHRDb3Jl
L3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM3
NDcKKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIEZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisKIDIwMTEtMDMtMTAg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpJbmRleDogU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3Rh
dGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldE
X0R5bmFtaWNBbm5vdGF0aW9uc19oCisjZGVmaW5lIFdlYkNvcmVfRldEX0R5bmFtaWNBbm5vdGF0
aW9uc19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25zLmg+Cisj
ZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85333</attachid>
            <date>2011-03-10 08:08:37 -0800</date>
            <delta_ts>2011-03-11 00:46:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110310190834.patch</filename>
            <type>text/plain</type>
            <size>18813</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODA3MjApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDMtMTAgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgVGhlc2UgZmlsZXMgZG9uJ3QgYWRkIG5l
dyBmdW5jdGlvbmFsaXR5LCBzbyBkb24ndCBuZWVkIGV4dHJhIHRlc3RzLgorCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2o6CisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jOiBBZGRlZC4KKyAg
ICAgICAgKFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKToKKyAgICAgICAgKFdURkFubm90YXRl
SGFwcGVuc0JlZm9yZSk6CisgICAgICAgIChXVEZBbm5vdGF0ZUhhcHBlbnNBZnRlcik6CisgICAg
ICAgICogd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiB3dGYvVGhy
ZWFkU2FmZVNoYXJlZC5oOgorICAgICAgICAoV1RGOjpUaHJlYWRTYWZlU2hhcmVkQmFzZTo6ZGVy
ZWZCYXNlKToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcDoKKyAgICAgICAg
KFdURjo6U3RyaW5nSW1wbDo6ZW1wdHkpOgorCiAyMDExLTAzLTA5ICBEYW5pZWwgQmF0ZXMgIDxk
YmF0ZXNAcmltLmNvbT4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0aGUgV2luQ0UgYnVpbGQg
YWZ0ZXIgY2hhbmdlc2V0IDgwNjg0IDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC84
MDY4ND4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDgw
NzE4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNv
cHkpCkBAIC00NDYsNiArNDQ2LDggQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Eb3VibHlMaW5rZWRMaXN0LmggXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvZHRvYS5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRv
YS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0VuY29kZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9GYXN0QWxsb2NCYXNlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdE1h
bGxvYy5jcHAgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkJKHJldmlzaW9uIDgwNzE4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU0Nyw2ICs1NDcsOCBAQAogICAgICAgICAgICAg
J3d0Zi9DdXJyZW50VGltZS5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9EYXRlTWF0aC5jcHAnLAog
ICAgICAgICAgICAgJ3d0Zi9EZWNpbWFsTnVtYmVyLmNwcCcsCisgICAgICAgICAgICAnd3RmL0R5
bmFtaWNBbm5vdGF0aW9ucy5jJywKKyAgICAgICAgICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25z
LmgnLAogICAgICAgICAgICAgJ3d0Zi9GYXN0TWFsbG9jLmNwcCcsCiAgICAgICAgICAgICAnd3Rm
L0hhc2hUYWJsZS5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9NRDUuY3BwJywKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9X
VEYvV1RGLnZjcHJvagkocmV2aXNpb24gODA3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
MTMsNiArNjEzLDE0IEBACiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0aW9ucy5jIgorCQkJPgorCQk8L0ZpbGU+CisJCTxG
aWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxEeW5hbWljQW5ub3RhdGlvbnMuaCIKKwkJ
CT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcRW5jb2Rl
ci5oIgogCQkJPgogCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gODA3MTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE2OSw2ICsxMTY5
LDggQEAKIAkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5kLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEZvdW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUQyMTIwMjI4MEFENDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYg
LyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERh
dGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk1MTJG
OENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuYyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5jOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25zLmM7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUREMzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAv
KiBCaXRtYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQml0bWFwLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBH
Q0FjdGl2aXR5Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NB
Y3Rpdml0eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURERjdBQkQz
MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTUzLDYgKzE1NTUsOCBAQAogCQkJCTE0NDU2QTMx
MTMxNDY1NzgwMDIxMkNBMyAvKiBEb3VibHlMaW5rZWRMaXN0LmggKi8sCiAJCQkJNjUxRjY0MTIw
MzlENUI1RjAwNzgzOTVDIC8qIGR0b2EuY3BwICovLAogCQkJCTY1MUY2NDEzMDM5RDVCNUYwMDc4
Mzk1QyAvKiBkdG9hLmggKi8sCisJCQkJRDc1QUY1OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFt
aWNBbm5vdGF0aW9ucy5jICovLAorCQkJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5h
bWljQW5ub3RhdGlvbnMuaCAqLywKIAkJCQlFNDhFMEYyQzBGODIxNTE3MDBBOENBMzcgLyogRmFz
dEFsbG9jQmFzZS5oICovLAogCQkJCTY1RTIxN0I5MDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFs
bG9jLmNwcCAqLywKIAkJCQk2NUUyMTdCQTA4RTdFRUNDMDAyM0U1RjYgLyogRmFzdE1hbGxvYy5o
ICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CShyZXZp
c2lvbiA4MDcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDcgQEAgU0VUKFdURl9IRUFERVJTCiAgICAgRGVx
dWUuaAogICAgIERpc2FsbG93Q1R5cGUuaAogICAgIERvdWJseUxpbmtlZExpc3QuaAorICAgIER5
bmFtaWNBbm5vdGF0aW9ucy5oCiAgICAgRW5jb2Rlci5oCiAgICAgRmFzdEFsbG9jQmFzZS5oCiAg
ICAgRmFzdE1hbGxvYy5oCkBAIC0xMTAsNiArMTExLDcgQEAgU0VUKFdURl9TT1VSQ0VTCiAgICAg
Q3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwCiAgICAgQ3VycmVudFRpbWUuY3BwCiAg
ICAgRGVjaW1hbE51bWJlci5jcHAKKyAgICBEeW5hbWljQW5ub3RhdGlvbnMuYwogICAgIEZhc3RN
YWxsb2MuY3BwCiAgICAgSGFzaFRhYmxlLmNwcAogICAgIE1haW5UaHJlYWQuY3BwCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmMJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5j
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM0IEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdv
b2dsZSBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJEeW5hbWljQW5ub3RhdGlvbnMuaCIKKworI2lmIFVTRShEWU5BTUlDX0FOTk9UQVRJ
T05TKQordm9pZCBXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXplZChjb25zdCBjaGFyKiwgaW50LCBj
b25zdCB2b2xhdGlsZSB2b2lkKiwgbG9uZywgY29uc3QgY2hhciopIHt9Cit2b2lkIFdURkFubm90
YXRlSGFwcGVuc0JlZm9yZShjb25zdCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKikg
e30KK3ZvaWQgV1RGQW5ub3RhdGVIYXBwZW5zQWZ0ZXIoY29uc3QgY2hhciosIGludCwgY29uc3Qg
dm9sYXRpbGUgdm9pZCopIHt9CisjZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0
aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgwIEBACisvKiBDb3B5cmlnaHQgKGMpIDIw
MTEsIEdvb2dsZSBJbmMuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RGX0R5bmFt
aWNBbm5vdGF0aW9uc19oCisjZGVmaW5lIFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaAorCisvKiBU
aGlzIGZpbGUgZGVmaW5lcyBkeW5hbWljIGFubm90YXRpb25zIGZvciB1c2Ugd2l0aCBkeW5hbWlj
IGFuYWx5c2lzCisgKiB0b29sIHN1Y2ggYXMgVGhyZWFkU2FuaXRpemVyLCBWYWxncmluZCwgZXRj
LgorICoKKyAqIER5bmFtaWMgYW5ub3RhdGlvbiBpcyBhIHNvdXJjZSBjb2RlIGFubm90YXRpb24g
dGhhdCBhZmZlY3RzCisgKiB0aGUgZ2VuZXJhdGVkIGNvZGUgKHRoYXQgaXMsIHRoZSBhbm5vdGF0
aW9uIGlzIG5vdCBhIGNvbW1lbnQpLgorICogRWFjaCBzdWNoIGFubm90YXRpb24gaXMgYXR0YWNo
ZWQgdG8gYSBwYXJ0aWN1bGFyCisgKiBpbnN0cnVjdGlvbiBhbmQvb3IgdG8gYSBwYXJ0aWN1bGFy
IG9iamVjdCAoYWRkcmVzcykgaW4gdGhlIHByb2dyYW0uCisgKgorICogQnkgdXNpbmcgZHluYW1p
YyBhbm5vdGF0aW9ucyBhIGRldmVsb3BlciBjYW4gZ2l2ZSBtb3JlIGRldGFpbHMgdG8gdGhlIGR5
bmFtaWMKKyAqIGFuYWx5c2lzIHRvb2wgdG8gaW1wcm92ZSBpdHMgcHJlY2lzaW9uLgorICoKKyAq
IEluIEMvQysrIHByb2dyYW0gdGhlIGFubm90YXRpb25zIGFyZSByZXByZXNlbnRlZCBhcyBDIG1h
Y3Jvcy4KKyAqIFdpdGggdGhlIGRlZmF1bHQgYnVpbGQgZmxhZ3MsIHRoZXNlIG1hY3JvcyBhcmUg
ZW1wdHksIGhlbmNlIGRvbid0IGFmZmVjdAorICogcGVyZm9ybWFuY2Ugb2YgYSBjb21waWxlZCBi
aW5hcnkuCisgKiBJZiBkeW5hbWljIGFubm90YXRpb25zIGFyZSBlbmFibGVkLCB0aGV5IGp1c3Qg
Y2FsbCBuby1vcCBmdW5jdGlvbnMuCisgKiBUaGUgZHluYW1pYyBhbmFseXNpcyB0b29scyBjYW4g
aW50ZXJjZXB0IHRoZXNlIGZ1bmN0aW9ucyBhbmQgcmVwbGFjZSB0aGVtCisgKiB3aXRoIHRoZWly
IG93biBpbXBsZW1lbnRhdGlvbnMuCisgKgorICogU2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20v
cC9kYXRhLXJhY2UtdGVzdC93aWtpL0R5bmFtaWNBbm5vdGF0aW9ucyBmb3IgbW9yZSBpbmZvcm1h
dGlvbi4KKyAqLworCisjaWYgVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUZWxsIGRhdGEg
cmFjZSBkZXRlY3RvciB0aGF0IHdlJ3JlIG5vdCBpbnRlcmVzdGVkIGluIHJlcG9ydHMgb24gdGhl
IGdpdmVuIGFkZHJlc3MgcmFuZ2UuICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05fUkFD
RV9TSVpFRChhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikgV1RGQW5ub3RhdGVCZW5pZ25SYWNl
U2l6ZWQoX19GSUxFX18sIF9fTElORV9fLCBhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNk
ZWZpbmUgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKSBXVEZB
bm5vdGF0ZUJlbmlnblJhY2VTaXplZChfX0ZJTEVfXywgX19MSU5FX18sIHBvaW50ZXIsIHNpemVv
ZigqKHBvaW50ZXIpKSwgZGVzY3JpcHRpb24pCisKKy8qIEFubm90YXRpb25zIGZvciB1c2VyLWRl
ZmluZWQgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbXMuICovCisjZGVmaW5lIFdURl9BTk5PVEFU
RV9IQVBQRU5TX0JFRk9SRShhZGRyZXNzKSBXVEZBbm5vdGF0ZUhhcHBlbnNCZWZvcmUoX19GSUxF
X18sIF9fTElORV9fLCBhZGRyZXNzKQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19BRlRF
UihhZGRyZXNzKSBXVEZBbm5vdGF0ZUhhcHBlbnNBZnRlcihfX0ZJTEVfXywgX19MSU5FX18sIGFk
ZHJlc3MpCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKy8qIERv
bid0IHVzZSB0aGVzZSBkaXJlY3RseSwgdXNlIHRoZSBhYm92ZSBtYWNyb3MgaW5zdGVhZC4gKi8K
K3ZvaWQgV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoY29uc3QgY2hhciogZmlsZSwgaW50IGxp
bmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQqIG1lbW9yeSwgbG9uZyBzaXplLCBjb25zdCBjaGFyKiBk
ZXNjcmlwdGlvbik7Cit2b2lkIFdURkFubm90YXRlSGFwcGVuc0JlZm9yZShjb25zdCBjaGFyKiBm
aWxlLCBpbnQgbGluZSwgY29uc3Qgdm9sYXRpbGUgdm9pZCogYWRkcmVzcyk7Cit2b2lkIFdURkFu
bm90YXRlSGFwcGVuc0FmdGVyKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCB2b2xh
dGlsZSB2b2lkKiBhZGRyZXNzKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfSAvLyBleHRlcm4gIkMi
CisjZW5kaWYKKworI2Vsc2UgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUaGVzZSBt
YWNyb3MgYXJlIGVtcHR5IHdoZW4gZHluYW1pYyBhbm5vdGF0aW9ucyBhcmUgbm90IGVuYWJsZWQg
c28geW91IGNhbgorICogdXNlIHRoZW0gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHBlcmZvcm1hbmNl
IG9mIHJlbGVhc2UgYmluYXJpZXMuICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05fUkFD
RV9TSVpFRChhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9UQVRF
X0JFTklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKQorI2RlZmluZSBXVEZfQU5OT1RBVEVf
SEFQUEVOU19CRUZPUkUoYWRkcmVzcykKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hBUFBFTlNfQUZU
RVIoYWRkcmVzcykKKyNlbmRpZiAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKworI2VuZGlm
IC8vIFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgJKHJldmlzaW9uIDgwNzE4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTYy
LDYgKzYyLDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21p
Y3MuaD4KKyNpbmNsdWRlIDx3dGYvRHluYW1pY0Fubm90YXRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDIsOCArMTAz
LDE0IEBAIHByb3RlY3RlZDoKICAgICBib29sIGRlcmVmQmFzZSgpCiAgICAgewogI2lmIFVTRShM
T0NLRlJFRV9USFJFQURTQUZFU0hBUkVEKQotICAgICAgICBpZiAoYXRvbWljRGVjcmVtZW50KCZt
X3JlZkNvdW50KSA8PSAwKQorICAgICAgICAvLyBUaGUgYXRvbWljIGRlY3JlbWVudCBzaG91bGQg
YmUgYW5ub3RhdGVkIHRvIGJlIHVuZGVyc3Rvb2QKKyAgICAgICAgLy8gYnkgZGF0YSByYWNlIGRl
dGVjdGlvbiB0b29scywgZS5nLiBUaHJlYWRTYW5pdGl6ZXIuCisgICAgICAgIC8vIFNlZSBodHRw
Oi8vY29kZS5nb29nbGUuY29tL3AvZGF0YS1yYWNlLXRlc3Qvd2lraS9EeW5hbWljQW5ub3RhdGlv
bnMjUmVmZXJlbmNlX2NvdW50aW5nCisgICAgICAgIFdURl9BTk5PVEFURV9IQVBQRU5TX0JFRk9S
RSgmbV9yZWZDb3VudCk7CisgICAgICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQp
IDw9IDApIHsKKyAgICAgICAgICAgIFdURl9BTk5PVEFURV9IQVBQRU5TX0FGVEVSKCZtX3JlZkNv
dW50KTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CiAjZWxzZQogICAgICAg
ICBpbnQgcmVmQ291bnQ7CiAgICAgICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAJKHJldmlzaW9uIDgwNzE4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw2ICszMCw3IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgIkF0b21pY1N0cmluZy5o
IgorI2luY2x1ZGUgIkR5bmFtaWNBbm5vdGF0aW9ucy5oIgogI2luY2x1ZGUgIlN0YXRpY0NvbnN0
cnVjdG9ycy5oIgogI2luY2x1ZGUgIlN0cmluZ0ltcGwuaCIKIApAQCAtNDYsNiArNDcsNyBAQCBT
dHJpbmdJbXBsKiBTdHJpbmdJbXBsOjplbXB0eSgpCiAgICAgLy8gUENSRSBnb2VzIGF3YXkuCiAg
ICAgc3RhdGljIFVDaGFyIGVtcHR5VUNoYXJEYXRhID0gMDsKICAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0cmluZ0ltcGwsIGVtcHR5U3RyaW5nLCAoJmVtcHR5VUNoYXJEYXRhLCAwLCBDb25zdHJ1
Y3RTdGF0aWNTdHJpbmcpKTsKKyAgICBXVEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0UoJmVtcHR5U3Ry
aW5nLCAiQmVuaWduIHJhY2Ugb24gU3RyaW5nSW1wbDo6ZW1wdHlTdHJpbmcgcmVmZXJlbmNlIGNv
dW50ZXIiKTsKICAgICByZXR1cm4gJmVtcHR5U3RyaW5nOwogfQogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0R2x1
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwNzIwKQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTAzLTEwICBUaW11
ciBJc2tob2R6aGFub3YgIDx0aW11cnJyckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIGR5bmFtaWMgYW5ub3RhdGlv
bnMgdG8gSmF2YVNjcmlwdENvcmUvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01Mzc0NworCisgICAgICAgIEJ5IHVzaW5nIHRoZXNlIGFubm90YXRp
b25zIHdlIGNhbiBpbXByb3ZlIHRoZSBwcmVjaXNpb24gb2YgZmluZGluZworICAgICAgICBXZWJL
aXQgZXJyb3JzIHVzaW5nIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMgbGlrZSBUaHJlYWRTYW5pdGl6
ZXIgYW5kIFZhbGdyaW5kLgorICAgICAgICBUaGVzZSBhbm5vdGF0aW9ucyBkb24ndCBhZmZlY3Qg
dGhlIGNvbXBpbGVkIGJpbmFyaWVzIHVubGVzcyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykgaXMg
IjEiLgorCisgICAgICAgIFRoZXNlIGZpbGVzIGRvbid0IGFkZCBuZXcgZnVuY3Rpb25hbGl0eSwg
c28gZG9uJ3QgbmVlZCBleHRyYSB0ZXN0cy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICogZ3lwL0phdmFTY3Jp
cHRHbHVlLmd5cGk6CisKIDIwMTEtMDMtMDQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93
dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxIEBACisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90
YXRpb25zLmg+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvZ3lwL0phdmFTY3JpcHRHbHVl
Lmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRHbHVlL2d5cC9KYXZhU2NyaXB0
R2x1ZS5neXBpCShyZXZpc2lvbiA4MDcxOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9neXAv
SmF2YVNjcmlwdEdsdWUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogICAg
ICAgICAgICAgJy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9DdXJyZW50VGltZS5oJywKICAgICAg
ICAgICAgICcuLi9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRGF0ZUluc3RhbmNlQ2FjaGUuaCcsCiAg
ICAgICAgICAgICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0RhdGVNYXRoLmgnLAorICAgICAg
ICAgICAgJy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaCcsCiAg
ICAgICAgICAgICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0Zhc3RBbGxvY0Jhc2UuaCcsCiAg
ICAgICAgICAgICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0Zhc3RNYWxsb2MuaCcsCiAgICAg
ICAgICAgICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0ZpeGVkQXJyYXkuaCcsCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiA4MDcyMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTEwICBUaW11ciBJc2tob2R6aGFu
b3YgIDx0aW11cnJyckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIGR5bmFtaWMgYW5ub3RhdGlvbnMgdG8gSmF2YVNj
cmlwdENvcmUvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01Mzc0NworCisgICAgICAgIEJ5IHVzaW5nIHRoZXNlIGFubm90YXRpb25zIHdlIGNhbiBp
bXByb3ZlIHRoZSBwcmVjaXNpb24gb2YgZmluZGluZworICAgICAgICBXZWJLaXQgZXJyb3JzIHVz
aW5nIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMgbGlrZSBUaHJlYWRTYW5pdGl6ZXIgYW5kIFZhbGdy
aW5kLgorICAgICAgICBUaGVzZSBhbm5vdGF0aW9ucyBkb24ndCBhZmZlY3QgdGhlIGNvbXBpbGVk
IGJpbmFyaWVzIHVubGVzcyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykgaXMgIjEiLgorCisgICAg
ICAgIFRoZXNlIGZpbGVzIGRvbid0IGFkZCBuZXcgZnVuY3Rpb25hbGl0eSwgc28gZG9uJ3QgbmVl
ZCBleHRyYSB0ZXN0cy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWlj
QW5ub3RhdGlvbnMuaDogQWRkZWQuCisKIDIwMTEtMDMtMTAgIFFpIFpoYW5nICA8cWkuMi56aGFu
Z0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHlu
YW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9EeW5hbWljQW5ub3RhdGlvbnNfaAorI2RlZmlu
ZSBXZWJDb3JlX0ZXRF9EeW5hbWljQW5ub3RhdGlvbnNfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgorI2VuZGlmCkluZGV4OiBUb29scy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MDcyMCkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTEwICBU
aW11ciBJc2tob2R6aGFub3YgIDx0aW11cnJyckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIGR5bmFtaWMgYW5ub3Rh
dGlvbnMgdG8gSmF2YVNjcmlwdENvcmUvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01Mzc0NworCisgICAgICAgIEJ5IHVzaW5nIHRoZXNlIGFubm90
YXRpb25zIHdlIGNhbiBpbXByb3ZlIHRoZSBwcmVjaXNpb24gb2YgZmluZGluZworICAgICAgICBX
ZWJLaXQgZXJyb3JzIHVzaW5nIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMgbGlrZSBUaHJlYWRTYW5p
dGl6ZXIgYW5kIFZhbGdyaW5kLgorICAgICAgICBUaGVzZSBhbm5vdGF0aW9ucyBkb24ndCBhZmZl
Y3QgdGhlIGNvbXBpbGVkIGJpbmFyaWVzIHVubGVzcyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykg
aXMgIjEiLgorCisgICAgICAgIFRoZXNlIGZpbGVzIGRvbid0IGFkZCBuZXcgZnVuY3Rpb25hbGl0
eSwgc28gZG9uJ3QgbmVlZCBleHRyYSB0ZXN0cy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisKIDIw
MTEtMDMtMTAgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KSW5kZXg6IFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHlu
YW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEgQEAKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9EeW5hbWljQW5ub3RhdGlvbnMu
aD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85441</attachid>
            <date>2011-03-11 00:46:44 -0800</date>
            <delta_ts>2011-03-28 03:05:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110311114641.patch</filename>
            <type>text/plain</type>
            <size>18737</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODA4MzApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDMtMTAgIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgVGhlc2UgZmlsZXMgZG9uJ3QgYWRkIG5l
dyBmdW5jdGlvbmFsaXR5LCBzbyBkb24ndCBuZWVkIGV4dHJhIHRlc3RzLgorCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2o6CisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jOiBBZGRlZC4KKyAg
ICAgICAgKFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKToKKyAgICAgICAgKFdURkFubm90YXRl
SGFwcGVuc0JlZm9yZSk6CisgICAgICAgIChXVEZBbm5vdGF0ZUhhcHBlbnNBZnRlcik6CisgICAg
ICAgICogd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oOiBBZGRlZC4KKyAgICAgICAgKiB3dGYvVGhy
ZWFkU2FmZVNoYXJlZC5oOgorICAgICAgICAoV1RGOjpUaHJlYWRTYWZlU2hhcmVkQmFzZTo6ZGVy
ZWZCYXNlKToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcDoKKyAgICAgICAg
KFdURjo6U3RyaW5nSW1wbDo6ZW1wdHkpOgorCiAyMDExLTAzLTEwICBPbGl2ZXIgSHVudCAgPG9s
aXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2gu
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA4MDgzMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpA
QCAtNDQ2LDYgKzQ0Niw4IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvRG91Ymx5TGlua2VkTGlzdC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuaCBc
CisJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYyBcCisJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9FbmNvZGVyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
RmFzdEFsbG9jQmFzZS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RNYWxsb2Mu
Y3BwIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShy
ZXZpc2lvbiA4MDgzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5n
eXBpCSh3b3JraW5nIGNvcHkpCkBAIC01NDcsNiArNTQ3LDggQEAKICAgICAgICAgICAgICd3dGYv
Q3VycmVudFRpbWUuY3BwJywKICAgICAgICAgICAgICd3dGYvRGF0ZU1hdGguY3BwJywKICAgICAg
ICAgICAgICd3dGYvRGVjaW1hbE51bWJlci5jcHAnLAorICAgICAgICAgICAgJ3d0Zi9EeW5hbWlj
QW5ub3RhdGlvbnMuYycsCisgICAgICAgICAgICAnd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oJywK
ICAgICAgICAgICAgICd3dGYvRmFzdE1hbGxvYy5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9IYXNo
VGFibGUuY3BwJywKICAgICAgICAgICAgICd3dGYvTUQ1LmNwcCcsCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dU
Ri52Y3Byb2oJKHJldmlzaW9uIDgwODMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNjEzLDYg
KzYxMywxNCBAQAogCQkJPgogCQk8L0ZpbGU+CiAJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHd0ZlxEeW5hbWljQW5ub3RhdGlvbnMuYyIKKwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQor
CQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcRHluYW1pY0Fubm90YXRpb25zLmgiCisJCQk+CisJ
CTwvRmlsZT4KKwkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXEVuY29kZXIuaCIK
IAkJCT4KIAkJPC9GaWxlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDgwODMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTExNjksNiArMTE2OSw4IEBA
CiAJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUxNSAvKiBOb3RGb3VuZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOb3RGb3VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEMjEyMDIyODBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDIxMjAyMjkwQUQ0MzEwQzAwRUQ3OUI2IC8qIERh
dGVDb252ZXJzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlQ29u
dmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENzVBRjU5NTEyRjhDQjk1
MDBGQzBBREYgLyogRHluYW1pY0Fubm90YXRpb25zLmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
YzsgcGF0aCA9IER5bmFtaWNBbm5vdGF0aW9ucy5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlENzVBRjU5NjEyRjhDQjk1MDBGQzBBREYgLyogRHluYW1pY0Fubm90YXRpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER5bmFtaWNBbm5vdGF0aW9ucy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERDM3N0NCQjEyMDcyQzE4MDA2QTI1MTcgLyogQml0
bWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJpdG1hcC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlEREY3QUJEMjExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rp
dml0eUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdDQWN0aXZp
dHlDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEREY3QUJEMzExRjYw
RUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTU1Myw2ICsxNTU1LDggQEAKIAkJCQkxNDQ1NkEzMTEzMTQ2
NTc4MDAyMTJDQTMgLyogRG91Ymx5TGlua2VkTGlzdC5oICovLAogCQkJCTY1MUY2NDEyMDM5RDVC
NUYwMDc4Mzk1QyAvKiBkdG9hLmNwcCAqLywKIAkJCQk2NTFGNjQxMzAzOUQ1QjVGMDA3ODM5NUMg
LyogZHRvYS5oICovLAorCQkJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5u
b3RhdGlvbnMuYyAqLywKKwkJCQlENzVBRjU5NjEyRjhDQjk1MDBGQzBBREYgLyogRHluYW1pY0Fu
bm90YXRpb25zLmggKi8sCiAJCQkJRTQ4RTBGMkMwRjgyMTUxNzAwQThDQTM3IC8qIEZhc3RBbGxv
Y0Jhc2UuaCAqLywKIAkJCQk2NUUyMTdCOTA4RTdFRUNDMDAyM0U1RjYgLyogRmFzdE1hbGxvYy5j
cHAgKi8sCiAJCQkJNjVFMjE3QkEwOEU3RUVDQzAwMjNFNUY2IC8qIEZhc3RNYWxsb2MuaCAqLywK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
ODA4MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNyw2ICsxNyw3IEBAIFNFVChXVEZfSEVBREVSUwogICAgIERlcXVlLmgK
ICAgICBEaXNhbGxvd0NUeXBlLmgKICAgICBEb3VibHlMaW5rZWRMaXN0LmgKKyAgICBEeW5hbWlj
QW5ub3RhdGlvbnMuaAogICAgIEVuY29kZXIuaAogICAgIEZhc3RBbGxvY0Jhc2UuaAogICAgIEZh
c3RNYWxsb2MuaApAQCAtMTEwLDYgKzExMSw3IEBAIFNFVChXVEZfU09VUkNFUwogICAgIENyeXB0
b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmNwcAogICAgIEN1cnJlbnRUaW1lLmNwcAogICAgIERl
Y2ltYWxOdW1iZXIuY3BwCisgICAgRHluYW1pY0Fubm90YXRpb25zLmMKICAgICBGYXN0TWFsbG9j
LmNwcAogICAgIEhhc2hUYWJsZS5jcHAKICAgICBNYWluVGhyZWFkLmNwcApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jCShyZXZpc2lvbiAw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuYwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBHb29nbGUg
SW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiRHluYW1pY0Fubm90YXRpb25zLmgiCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykK
K3ZvaWQgV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoY29uc3QgY2hhciosIGludCwgY29uc3Qg
dm9sYXRpbGUgdm9pZCosIGxvbmcsIGNvbnN0IGNoYXIqKSB7fQordm9pZCBXVEZBbm5vdGF0ZUhh
cHBlbnNCZWZvcmUoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCopIHt9Cit2
b2lkIFdURkFubm90YXRlSGFwcGVuc0FmdGVyKGNvbnN0IGNoYXIqLCBpbnQsIGNvbnN0IHZvbGF0
aWxlIHZvaWQqKSB7fQorI2VuZGlmIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZp
c2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MCBAQAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBH
b29nbGUgSW5jLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdURl9EeW5hbWljQW5u
b3RhdGlvbnNfaAorI2RlZmluZSBXVEZfRHluYW1pY0Fubm90YXRpb25zX2gKKworLyogVGhpcyBm
aWxlIGRlZmluZXMgZHluYW1pYyBhbm5vdGF0aW9ucyBmb3IgdXNlIHdpdGggZHluYW1pYyBhbmFs
eXNpcworICogdG9vbCBzdWNoIGFzIFRocmVhZFNhbml0aXplciwgVmFsZ3JpbmQsIGV0Yy4KKyAq
CisgKiBEeW5hbWljIGFubm90YXRpb24gaXMgYSBzb3VyY2UgY29kZSBhbm5vdGF0aW9uIHRoYXQg
YWZmZWN0cworICogdGhlIGdlbmVyYXRlZCBjb2RlICh0aGF0IGlzLCB0aGUgYW5ub3RhdGlvbiBp
cyBub3QgYSBjb21tZW50KS4KKyAqIEVhY2ggc3VjaCBhbm5vdGF0aW9uIGlzIGF0dGFjaGVkIHRv
IGEgcGFydGljdWxhcgorICogaW5zdHJ1Y3Rpb24gYW5kL29yIHRvIGEgcGFydGljdWxhciBvYmpl
Y3QgKGFkZHJlc3MpIGluIHRoZSBwcm9ncmFtLgorICoKKyAqIEJ5IHVzaW5nIGR5bmFtaWMgYW5u
b3RhdGlvbnMgYSBkZXZlbG9wZXIgY2FuIGdpdmUgbW9yZSBkZXRhaWxzIHRvIHRoZSBkeW5hbWlj
CisgKiBhbmFseXNpcyB0b29sIHRvIGltcHJvdmUgaXRzIHByZWNpc2lvbi4KKyAqCisgKiBJbiBD
L0MrKyBwcm9ncmFtIHRoZSBhbm5vdGF0aW9ucyBhcmUgcmVwcmVzZW50ZWQgYXMgQyBtYWNyb3Mu
CisgKiBXaXRoIHRoZSBkZWZhdWx0IGJ1aWxkIGZsYWdzLCB0aGVzZSBtYWNyb3MgYXJlIGVtcHR5
LCBoZW5jZSBkb24ndCBhZmZlY3QKKyAqIHBlcmZvcm1hbmNlIG9mIGEgY29tcGlsZWQgYmluYXJ5
LgorICogSWYgZHluYW1pYyBhbm5vdGF0aW9ucyBhcmUgZW5hYmxlZCwgdGhleSBqdXN0IGNhbGwg
bm8tb3AgZnVuY3Rpb25zLgorICogVGhlIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMgY2FuIGludGVy
Y2VwdCB0aGVzZSBmdW5jdGlvbnMgYW5kIHJlcGxhY2UgdGhlbQorICogd2l0aCB0aGVpciBvd24g
aW1wbGVtZW50YXRpb25zLgorICoKKyAqIFNlZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZGF0
YS1yYWNlLXRlc3Qvd2lraS9EeW5hbWljQW5ub3RhdGlvbnMgZm9yIG1vcmUgaW5mb3JtYXRpb24u
CisgKi8KKworI2lmIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQorLyogVGVsbCBkYXRhIHJhY2Ug
ZGV0ZWN0b3IgdGhhdCB3ZSdyZSBub3QgaW50ZXJlc3RlZCBpbiByZXBvcnRzIG9uIHRoZSBnaXZl
biBhZGRyZXNzIHJhbmdlLiAqLworI2RlZmluZSBXVEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0VfU0la
RUQoYWRkcmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pIFdURkFubm90YXRlQmVuaWduUmFjZVNpemVk
KF9fRklMRV9fLCBfX0xJTkVfXywgYWRkcmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pCisjZGVmaW5l
IFdURl9BTk5PVEFURV9CRU5JR05fUkFDRShwb2ludGVyLCBkZXNjcmlwdGlvbikgV1RGQW5ub3Rh
dGVCZW5pZ25SYWNlU2l6ZWQoX19GSUxFX18sIF9fTElORV9fLCBwb2ludGVyLCBzaXplb2YoKihw
b2ludGVyKSksIGRlc2NyaXB0aW9uKQorCisvKiBBbm5vdGF0aW9ucyBmb3IgdXNlci1kZWZpbmVk
IHN5bmNocm9uaXphdGlvbiBtZWNoYW5pc21zLiAqLworI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQ
UEVOU19CRUZPUkUoYWRkcmVzcykgV1RGQW5ub3RhdGVIYXBwZW5zQmVmb3JlKF9fRklMRV9fLCBf
X0xJTkVfXywgYWRkcmVzcykKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hBUFBFTlNfQUZURVIoYWRk
cmVzcykgV1RGQW5ub3RhdGVIYXBwZW5zQWZ0ZXIoX19GSUxFX18sIF9fTElORV9fLCBhZGRyZXNz
KQorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisvKiBEb24ndCB1
c2UgdGhlc2UgZGlyZWN0bHksIHVzZSB0aGUgYWJvdmUgbWFjcm9zIGluc3RlYWQuICovCit2b2lk
IFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBj
b25zdCB2b2xhdGlsZSB2b2lkKiBtZW1vcnksIGxvbmcgc2l6ZSwgY29uc3QgY2hhciogZGVzY3Jp
cHRpb24pOwordm9pZCBXVEZBbm5vdGF0ZUhhcHBlbnNCZWZvcmUoY29uc3QgY2hhciogZmlsZSwg
aW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQqIGFkZHJlc3MpOwordm9pZCBXVEZBbm5vdGF0
ZUhhcHBlbnNBZnRlcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3Qgdm9sYXRpbGUg
dm9pZCogYWRkcmVzcyk7CisjaWZkZWYgX19jcGx1c3BsdXMKK30gLy8gZXh0ZXJuICJDIgorI2Vu
ZGlmCisKKyNlbHNlIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQorLyogVGhlc2UgbWFjcm9z
IGFyZSBlbXB0eSB3aGVuIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIG5vdCBlbmFibGVkIHNvIHlv
dSBjYW4KKyAqIHVzZSB0aGVtIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBwZXJmb3JtYW5jZSBvZiBy
ZWxlYXNlIGJpbmFyaWVzLiAqLworI2RlZmluZSBXVEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0VfU0la
RUQoYWRkcmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5J
R05fUkFDRShwb2ludGVyLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hBUFBF
TlNfQkVGT1JFKGFkZHJlc3MpCisjZGVmaW5lIFdURl9BTk5PVEFURV9IQVBQRU5TX0FGVEVSKGFk
ZHJlc3MpCisjZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisKKyNlbmRpZiAvLyBX
VEZfRHluYW1pY0Fubm90YXRpb25zX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU2FmZVNoYXJlZC5oCShyZXZpc2lvbiA4MDgzMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2
Miw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+
CisjaW5jbHVkZSA8d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtMTAyLDggKzEwMywxNCBA
QCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBkZXJlZkJhc2UoKQogICAgIHsKICNpZiBVU0UoTE9DS0ZS
RUVfVEhSRUFEU0FGRVNIQVJFRCkKLSAgICAgICAgaWYgKGF0b21pY0RlY3JlbWVudCgmbV9yZWZD
b3VudCkgPD0gMCkKKyAgICAgICAgLy8gVGhlIGF0b21pYyBkZWNyZW1lbnQgc2hvdWxkIGJlIGFu
bm90YXRlZCB0byBiZSB1bmRlcnN0b29kCisgICAgICAgIC8vIGJ5IGRhdGEgcmFjZSBkZXRlY3Rp
b24gdG9vbHMsIGUuZy4gVGhyZWFkU2FuaXRpemVyLgorICAgICAgICAvLyBTZWUgaHR0cDovL2Nv
ZGUuZ29vZ2xlLmNvbS9wL2RhdGEtcmFjZS10ZXN0L3dpa2kvRHluYW1pY0Fubm90YXRpb25zI1Jl
ZmVyZW5jZV9jb3VudGluZworICAgICAgICBXVEZfQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUoJm1f
cmVmQ291bnQpOworICAgICAgICBpZiAoYXRvbWljRGVjcmVtZW50KCZtX3JlZkNvdW50KSA8PSAw
KSB7CisgICAgICAgICAgICBXVEZfQU5OT1RBVEVfSEFQUEVOU19BRlRFUigmbV9yZWZDb3VudCk7
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogI2Vsc2UKICAgICAgICAgaW50
IHJlZkNvdW50OwogICAgICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3Rl
eHQvU3RyaW5nU3RhdGljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCShyZXZpc2lvbiA4MDgzMCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNiArMzAsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNp
bmNsdWRlICJEeW5hbWljQW5ub3RhdGlvbnMuaCIKICNpbmNsdWRlICJTdGF0aWNDb25zdHJ1Y3Rv
cnMuaCIKICNpbmNsdWRlICJTdHJpbmdJbXBsLmgiCiAKQEAgLTQ2LDYgKzQ3LDcgQEAgU3RyaW5n
SW1wbCogU3RyaW5nSW1wbDo6ZW1wdHkoKQogICAgIC8vIFBDUkUgZ29lcyBhd2F5LgogICAgIHN0
YXRpYyBVQ2hhciBlbXB0eVVDaGFyRGF0YSA9IDA7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChT
dHJpbmdJbXBsLCBlbXB0eVN0cmluZywgKCZlbXB0eVVDaGFyRGF0YSwgMCwgQ29uc3RydWN0U3Rh
dGljU3RyaW5nKSk7CisgICAgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNFKCZlbXB0eVN0cmluZywg
IkJlbmlnbiByYWNlIG9uIFN0cmluZ0ltcGw6OmVtcHR5U3RyaW5nIHJlZmVyZW5jZSBjb3VudGVy
Iik7CiAgICAgcmV0dXJuICZlbXB0eVN0cmluZzsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRHbHVlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCShyZXZpc2lvbiA4MDgzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wMy0xMCAgVGltdXIgSXNr
aG9kemhhbm92ICA8dGltdXJycnJAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc29tZSBkeW5hbWljIGFubm90YXRpb25zIHRv
IEphdmFTY3JpcHRDb3JlL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTM3NDcKKworICAgICAgICBCeSB1c2luZyB0aGVzZSBhbm5vdGF0aW9ucyB3
ZSBjYW4gaW1wcm92ZSB0aGUgcHJlY2lzaW9uIG9mIGZpbmRpbmcKKyAgICAgICAgV2ViS2l0IGVy
cm9ycyB1c2luZyBkeW5hbWljIGFuYWx5c2lzIHRvb2xzIGxpa2UgVGhyZWFkU2FuaXRpemVyIGFu
ZCBWYWxncmluZC4KKyAgICAgICAgVGhlc2UgYW5ub3RhdGlvbnMgZG9uJ3QgYWZmZWN0IHRoZSBj
b21waWxlZCBiaW5hcmllcyB1bmxlc3MgVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpIGlzICIxIi4K
KworICAgICAgICBUaGVzZSBmaWxlcyBkb24ndCBhZGQgbmV3IGZ1bmN0aW9uYWxpdHksIHNvIGRv
bid0IG5lZWQgZXh0cmEgdGVzdHMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
RHluYW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIGd5cC9KYXZhU2NyaXB0R2x1
ZS5neXBpOgorCiAyMDExLTAzLTEwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHlu
YW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUv
Rm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxIEBACisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25z
Lmg+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvZ3lwL0phdmFTY3JpcHRHbHVlLmd5cGkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRHbHVlL2d5cC9KYXZhU2NyaXB0R2x1ZS5n
eXBpCShyZXZpc2lvbiA4MDgzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9neXAvSmF2YVNj
cmlwdEdsdWUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogICAgICAgICAg
ICAgJy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9DdXJyZW50VGltZS5oJywKICAgICAgICAgICAg
ICcuLi9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRGF0ZUluc3RhbmNlQ2FjaGUuaCcsCiAgICAgICAg
ICAgICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0RhdGVNYXRoLmgnLAorICAgICAgICAgICAg
Jy4uL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaCcsCiAgICAgICAg
ICAgICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0Zhc3RBbGxvY0Jhc2UuaCcsCiAgICAgICAg
ICAgICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0Zhc3RNYWxsb2MuaCcsCiAgICAgICAgICAg
ICAnLi4vRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0ZpeGVkQXJyYXkuaCcsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA4MDgzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTEwICBUaW11ciBJc2tob2R6aGFub3YgIDx0
aW11cnJyckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBzb21lIGR5bmFtaWMgYW5ub3RhdGlvbnMgdG8gSmF2YVNjcmlwdENv
cmUvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
Mzc0NworCisgICAgICAgIEJ5IHVzaW5nIHRoZXNlIGFubm90YXRpb25zIHdlIGNhbiBpbXByb3Zl
IHRoZSBwcmVjaXNpb24gb2YgZmluZGluZworICAgICAgICBXZWJLaXQgZXJyb3JzIHVzaW5nIGR5
bmFtaWMgYW5hbHlzaXMgdG9vbHMgbGlrZSBUaHJlYWRTYW5pdGl6ZXIgYW5kIFZhbGdyaW5kLgor
ICAgICAgICBUaGVzZSBhbm5vdGF0aW9ucyBkb24ndCBhZmZlY3QgdGhlIGNvbXBpbGVkIGJpbmFy
aWVzIHVubGVzcyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykgaXMgIjEiLgorCisgICAgICAgIFRo
ZXNlIGZpbGVzIGRvbid0IGFkZCBuZXcgZnVuY3Rpb25hbGl0eSwgc28gZG9uJ3QgbmVlZCBleHRy
YSB0ZXN0cy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3Rh
dGlvbnMuaDogQWRkZWQuCisKIDIwMTEtMDMtMTEgIEJyaWFuIFNhbG9tb24gIDxic2Fsb21vbkBn
b29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHlu
YW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNCBAQAorI2lmbmRlZiBXZWJDb3JlX0ZXRF9EeW5hbWljQW5ub3RhdGlvbnNfaAorI2RlZmlu
ZSBXZWJDb3JlX0ZXRF9EeW5hbWljQW5ub3RhdGlvbnNfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgorI2VuZGlmCkluZGV4OiBUb29scy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MDgzMCkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTEwICBU
aW11ciBJc2tob2R6aGFub3YgIDx0aW11cnJyckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIGR5bmFtaWMgYW5ub3Rh
dGlvbnMgdG8gSmF2YVNjcmlwdENvcmUvd3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01Mzc0NworCisgICAgICAgIEJ5IHVzaW5nIHRoZXNlIGFubm90
YXRpb25zIHdlIGNhbiBpbXByb3ZlIHRoZSBwcmVjaXNpb24gb2YgZmluZGluZworICAgICAgICBX
ZWJLaXQgZXJyb3JzIHVzaW5nIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMgbGlrZSBUaHJlYWRTYW5p
dGl6ZXIgYW5kIFZhbGdyaW5kLgorICAgICAgICBUaGVzZSBhbm5vdGF0aW9ucyBkb24ndCBhZmZl
Y3QgdGhlIGNvbXBpbGVkIGJpbmFyaWVzIHVubGVzcyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykg
aXMgIjEiLgorCisgICAgICAgIFRoZXNlIGZpbGVzIGRvbid0IGFkZCBuZXcgZnVuY3Rpb25hbGl0
eSwgc28gZG9uJ3QgbmVlZCBleHRyYSB0ZXN0cy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisKIDIw
MTEtMDMtMTEgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBPamFuIFZhZmFpLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAko
cmV2aXNpb24gMCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0
Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87120</attachid>
            <date>2011-03-28 03:05:09 -0700</date>
            <delta_ts>2011-03-29 11:37:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110328140506.patch</filename>
            <type>text/plain</type>
            <size>20222</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODIwODkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDMtMjggIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgVGhlc2UgZmlsZXMgZG9uJ3QgYWRkIG5l
dyBmdW5jdGlvbmFsaXR5LCBzbyBkb24ndCBuZWVkIGV4dHJhIHRlc3RzLgorCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2o6CisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jcHA6IEFkZGVkLgor
ICAgICAgICAoV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV1RGQW5ub3Rh
dGVIYXBwZW5zQmVmb3JlKToKKyAgICAgICAgKFdURkFubm90YXRlSGFwcGVuc0FmdGVyKToKKyAg
ICAgICAgKiB3dGYvRHluYW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIHd0Zi9U
aHJlYWRTYWZlUmVmQ291bnRlZC5oOgorICAgICAgICAoV1RGOjpUaHJlYWRTYWZlUmVmQ291bnRl
ZEJhc2U6OmRlcmVmQmFzZSk6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6
CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmVtcHR5KToKKwogMjAxMS0wMy0yNyAgQmVuIFRh
eWxvciAgPGJlbnRheWxvci5zb2x4ODZAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxl
LmFtCShyZXZpc2lvbiA4MjA4OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQkod29ya2luZyBjb3B5KQpAQCAtNDUwLDYgKzQ1MCw4IEBAIGphdmFzY3JpcHRjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRG91Ymx5TGlua2VkTGlzdC5o
IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIFwKIAlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL2R0b2EuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWlj
QW5ub3RhdGlvbnMuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5v
dGF0aW9ucy5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0VuY29kZXIuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmggXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvRmFzdE1hbGxvYy5jcHAgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkJKHJldmlzaW9uIDgyMDg5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU3Nyw2ICs1Nzcs
OCBAQAogICAgICAgICAgICAgJ3d0Zi9DdXJyZW50VGltZS5jcHAnLAogICAgICAgICAgICAgJ3d0
Zi9EYXRlTWF0aC5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9EZWNpbWFsTnVtYmVyLmNwcCcsCisg
ICAgICAgICAgICAnd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jcHAnLAorICAgICAgICAgICAgJ3d0
Zi9EeW5hbWljQW5ub3RhdGlvbnMuaCcsCiAgICAgICAgICAgICAnd3RmL0Zhc3RNYWxsb2MuY3Bw
JywKICAgICAgICAgICAgICd3dGYvSGFzaFRhYmxlLmNwcCcsCiAgICAgICAgICAgICAnd3RmL01E
NS5jcHAnLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJv
ai9XVEYvV1RGLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZpc2lvbiA4MjA4OSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTYxMyw2ICs2MTMsMTQgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8
RmlsZQorCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcRHluYW1pY0Fubm90YXRpb25zLmNwcCIK
KwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQorCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcRHlu
YW1pY0Fubm90YXRpb25zLmgiCisJCQk+CisJCTwvRmlsZT4KKwkJPEZpbGUKIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXEVuY29kZXIuaCIKIAkJCT4KIAkJPC9GaWxlPgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDgyMDg5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTU3OSw2ICs1NzksNyBAQAogCQlCQ0ZEOEM5MjBFRUIyRUU3MDAyODM4NDggLyog
SnVtcFRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRkQ4QzkwMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3BwICovOyB9OwogCQlC
Q0ZEOEM5MzBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0ZEOEM5MTBFRUIyRUU3MDAyODM4NDggLyog
SnVtcFRhYmxlLmggKi87IH07CiAJCUMwQTI3MjYzMEU1MEEwNjMwMEU5NkUxNSAvKiBOb3RGb3Vu
ZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBBMjcy
M0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5kLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRDdBNDZBNEYxMzM4RkZFQTAwRUQ2OTVDIC8qIER5
bmFtaWNBbm5vdGF0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRDc1QUY1OTYxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUREMzc3
Q0JDMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEREMzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlEREY3
QUJENDExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEREY3QUJEMjExRjYwRUQyMDAxMDhF
MzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRERGN0FCRDUxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZp
dHlDYWxsYmFja0NGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IERERjdBQkQzMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5j
cHAgKi87IH07CkBAIC0xMjE4LDYgKzEyMTksOCBAQAogCQlDMEEyNzIzRjBFNTA5RjFFMDBFOTZF
MTUgLyogTm90Rm91bmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm90Rm91
bmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDIxMjAyMjgwQUQ0MzEwQzAwRUQ3
OUI2IC8qIERhdGVDb252ZXJzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEYXRlQ29udmVyc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQyMTIwMjI5MEFENDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDc1QUY1OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0
aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEeW5hbWljQW5u
b3RhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENzVBRjU5NjEyRjhD
Qjk1MDBGQzBBREYgLyogRHluYW1pY0Fubm90YXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IER5bmFtaWNBbm5vdGF0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlERDM3N0NCQjEyMDcyQzE4MDA2QTI1MTcgLyogQml0bWFwLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJpdG1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEREY3QUJEMjExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEREY3QUJEMzExRjYwRUQyMDAxMDhFMzYgLyogR0NB
Y3Rpdml0eUNhbGxiYWNrQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTYwMyw2ICsxNjA2LDggQEAKIAkJCQkxNDQ1NkEzMTEzMTQ2NTc4MDAyMTJDQTMgLyogRG91
Ymx5TGlua2VkTGlzdC5oICovLAogCQkJCTY1MUY2NDEyMDM5RDVCNUYwMDc4Mzk1QyAvKiBkdG9h
LmNwcCAqLywKIAkJCQk2NTFGNjQxMzAzOUQ1QjVGMDA3ODM5NUMgLyogZHRvYS5oICovLAorCQkJ
CUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuY3BwICovLAor
CQkJCUQ3NUFGNTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLywK
IAkJCQlFNDhFMEYyQzBGODIxNTE3MDBBOENBMzcgLyogRmFzdEFsbG9jQmFzZS5oICovLAogCQkJ
CTY1RTIxN0I5MDhFN0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmNwcCAqLywKIAkJCQk2NUUy
MTdCQTA4RTdFRUNDMDAyM0U1RjYgLyogRmFzdE1hbGxvYy5oICovLApAQCAtMjI2Miw2ICsyMjY3
LDcgQEAKIAkJCQlCQzE4QzNGRDBFMTZGNUNEMDBCMzQ0NjAgLyogRGlzYWxsb3dDVHlwZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMTQ0NTZBMzIxMzE0NjU3ODAwMjEyQ0EzIC8qIERvdWJseUxpbmtl
ZExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDM0ZFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBk
dG9hLmggaW4gSGVhZGVycyAqLywKKwkJCQlEN0E0NkE0RjEzMzhGRkVBMDBFRDY5NUMgLyogRHlu
YW1pY0Fubm90YXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTM1RkFGMzEyRDI2QUQxMDAz
QzA4M0IgLyogRW5jb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzMDQ2MDcwRTFGNDk3RjAw
MzIzMkNGIC8qIEVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAyRTkwRDBFMTgzOURCMDAw
RjkyOTcgLyogRXJyb3JDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDgyMDg5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MTcsNiArMTcsNyBAQCBTRVQoV1RGX0hFQURFUlMKICAgICBEZXF1ZS5oCiAgICAgRGlzYWxsb3dD
VHlwZS5oCiAgICAgRG91Ymx5TGlua2VkTGlzdC5oCisgICAgRHluYW1pY0Fubm90YXRpb25zLmgK
ICAgICBFbmNvZGVyLmgKICAgICBGYXN0QWxsb2NCYXNlLmgKICAgICBGYXN0TWFsbG9jLmgKQEAg
LTExMSw2ICsxMTIsNyBAQCBTRVQoV1RGX1NPVVJDRVMKICAgICBDcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlci5jcHAKICAgICBDdXJyZW50VGltZS5jcHAKICAgICBEZWNpbWFsTnVtYmVyLmNw
cAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5jcHAKICAgICBGYXN0TWFsbG9jLmNwcAogICAgIEhh
c2hUYWJsZS5jcHAKICAgICBNYWluVGhyZWFkLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmNwcAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmNwcAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzNCBAQAorLyogCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEsIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkR5
bmFtaWNBbm5vdGF0aW9ucy5oIgorCisjaWYgVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCit2b2lk
IFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKGNvbnN0IGNoYXIqLCBpbnQsIGNvbnN0IHZvbGF0
aWxlIHZvaWQqLCBsb25nLCBjb25zdCBjaGFyKikgeyB9Cit2b2lkIFdURkFubm90YXRlSGFwcGVu
c0JlZm9yZShjb25zdCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKikgeyB9Cit2b2lk
IFdURkFubm90YXRlSGFwcGVuc0FmdGVyKGNvbnN0IGNoYXIqLCBpbnQsIGNvbnN0IHZvbGF0aWxl
IHZvaWQqKSB7IH0KKyNlbmRpZiAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEs
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfRHluYW1pY0Fubm90
YXRpb25zX2gKKyNkZWZpbmUgV1RGX0R5bmFtaWNBbm5vdGF0aW9uc19oCisKKy8qIFRoaXMgZmls
ZSBkZWZpbmVzIGR5bmFtaWMgYW5ub3RhdGlvbnMgZm9yIHVzZSB3aXRoIGR5bmFtaWMgYW5hbHlz
aXMKKyAqIHRvb2wgc3VjaCBhcyBUaHJlYWRTYW5pdGl6ZXIsIFZhbGdyaW5kLCBldGMuCisgKgor
ICogRHluYW1pYyBhbm5vdGF0aW9uIGlzIGEgc291cmNlIGNvZGUgYW5ub3RhdGlvbiB0aGF0IGFm
ZmVjdHMKKyAqIHRoZSBnZW5lcmF0ZWQgY29kZSAodGhhdCBpcywgdGhlIGFubm90YXRpb24gaXMg
bm90IGEgY29tbWVudCkuCisgKiBFYWNoIHN1Y2ggYW5ub3RhdGlvbiBpcyBhdHRhY2hlZCB0byBh
IHBhcnRpY3VsYXIKKyAqIGluc3RydWN0aW9uIGFuZC9vciB0byBhIHBhcnRpY3VsYXIgb2JqZWN0
IChhZGRyZXNzKSBpbiB0aGUgcHJvZ3JhbS4KKyAqCisgKiBCeSB1c2luZyBkeW5hbWljIGFubm90
YXRpb25zIGEgZGV2ZWxvcGVyIGNhbiBnaXZlIG1vcmUgZGV0YWlscyB0byB0aGUgZHluYW1pYwor
ICogYW5hbHlzaXMgdG9vbCB0byBpbXByb3ZlIGl0cyBwcmVjaXNpb24uCisgKgorICogSW4gQy9D
KysgcHJvZ3JhbSB0aGUgYW5ub3RhdGlvbnMgYXJlIHJlcHJlc2VudGVkIGFzIEMgbWFjcm9zLgor
ICogV2l0aCB0aGUgZGVmYXVsdCBidWlsZCBmbGFncywgdGhlc2UgbWFjcm9zIGFyZSBlbXB0eSwg
aGVuY2UgZG9uJ3QgYWZmZWN0CisgKiBwZXJmb3JtYW5jZSBvZiBhIGNvbXBpbGVkIGJpbmFyeS4K
KyAqIElmIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIGVuYWJsZWQsIHRoZXkganVzdCBjYWxsIG5v
LW9wIGZ1bmN0aW9ucy4KKyAqIFRoZSBkeW5hbWljIGFuYWx5c2lzIHRvb2xzIGNhbiBpbnRlcmNl
cHQgdGhlc2UgZnVuY3Rpb25zIGFuZCByZXBsYWNlIHRoZW0KKyAqIHdpdGggdGhlaXIgb3duIGlt
cGxlbWVudGF0aW9ucy4KKyAqCisgKiBTZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2RhdGEt
cmFjZS10ZXN0L3dpa2kvRHluYW1pY0Fubm90YXRpb25zIGZvciBtb3JlIGluZm9ybWF0aW9uLgor
ICovCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKy8qIFRlbGwgZGF0YSByYWNlIGRl
dGVjdG9yIHRoYXQgd2UncmUgbm90IGludGVyZXN0ZWQgaW4gcmVwb3J0cyBvbiB0aGUgZ2l2ZW4g
YWRkcmVzcyByYW5nZS4gKi8KKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNFX1NJWkVE
KGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKSBXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXplZChf
X0ZJTEVfXywgX19MSU5FX18sIGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKQorI2RlZmluZSBX
VEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0UocG9pbnRlciwgZGVzY3JpcHRpb24pIFdURkFubm90YXRl
QmVuaWduUmFjZVNpemVkKF9fRklMRV9fLCBfX0xJTkVfXywgcG9pbnRlciwgc2l6ZW9mKCoocG9p
bnRlcikpLCBkZXNjcmlwdGlvbikKKworLyogQW5ub3RhdGlvbnMgZm9yIHVzZXItZGVmaW5lZCBz
eW5jaHJvbml6YXRpb24gbWVjaGFuaXNtcy4KKyAqIFRoZXNlIGFubm90YXRpb25zIGNhbiBiZSB1
c2VkIHRvIGRlZmluZSBoYXBwZW5zLWJlZm9yZSBhcmNzIGluIHVzZXItZGVmaW5lZAorICogc3lu
Y2hyb25pemF0aW9uIG1lY2hhbmlzbXM6IHRoZSByYWNlIGRldGVjdG9yIHdpbGwgaW5mZXIgYW4g
YXJjIGZyb20KKyAqIHRoZSBmb3JtZXIgdG8gdGhlIGxhdHRlciB3aGVuIHRoZXkgc2hhcmUgdGhl
IHNhbWUgYXJndW1lbnQgcG9pbnRlci4KKyAqCisgKiBUaGUgbW9zdCBjb21tb24gY2FzZSByZXF1
aXJpbmcgYW5ub3RhdGlvbnMgaXMgYXRvbWljIHJlZmVyZW5jZSBjb3VudGluZzoKKyAqIGJvb2wg
ZGVyZWYoKSB7CisgKiAgICAgQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUoJm1fcmVmQ291bnQpOwor
ICogICAgIGlmICghYXRvbWljRGVjcmVtZW50KCZtX3JlZkNvdW50KSkgeworICogICAgICAgICAv
LyBtX3JlZkNvdW50IGlzIG5vdyAwCisgKiAgICAgICAgIEFOTk9UQVRFX0hBUFBFTlNfQUZURVIo
Jm1fcmVmQ291bnQpOworICogICAgICAgICAvLyAicmV0dXJuIHRydWU7IGhhcHBlbnMtYWZ0ZXIg
ZWFjaCBhdG9taWNEZWNyZW1lbnQgb2YgbV9yZWZDb3VudCIKKyAqICAgICAgICAgcmV0dXJuIHRy
dWU7CisgKiAgICAgfQorICogICAgIHJldHVybiBmYWxzZTsKKyAqIH0KKyAqLworI2RlZmluZSBX
VEZfQU5OT1RBVEVfSEFQUEVOU19CRUZPUkUoYWRkcmVzcykgV1RGQW5ub3RhdGVIYXBwZW5zQmVm
b3JlKF9fRklMRV9fLCBfX0xJTkVfXywgYWRkcmVzcykKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hB
UFBFTlNfQUZURVIoYWRkcmVzcykgV1RGQW5ub3RhdGVIYXBwZW5zQWZ0ZXIoX19GSUxFX18sIF9f
TElORV9fLCBhZGRyZXNzKQorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2Vu
ZGlmCisvKiBEb24ndCB1c2UgdGhlc2UgZGlyZWN0bHksIHVzZSB0aGUgYWJvdmUgbWFjcm9zIGlu
c3RlYWQuICovCit2b2lkIFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKGNvbnN0IGNoYXIqIGZp
bGUsIGludCBsaW5lLCBjb25zdCB2b2xhdGlsZSB2b2lkKiBtZW1vcnksIGxvbmcgc2l6ZSwgY29u
c3QgY2hhciogZGVzY3JpcHRpb24pOwordm9pZCBXVEZBbm5vdGF0ZUhhcHBlbnNCZWZvcmUoY29u
c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQqIGFkZHJlc3MpOwor
dm9pZCBXVEZBbm5vdGF0ZUhhcHBlbnNBZnRlcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwg
Y29uc3Qgdm9sYXRpbGUgdm9pZCogYWRkcmVzcyk7CisjaWZkZWYgX19jcGx1c3BsdXMKK30gLy8g
ZXh0ZXJuICJDIgorI2VuZGlmCisKKyNlbHNlIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQor
LyogVGhlc2UgbWFjcm9zIGFyZSBlbXB0eSB3aGVuIGR5bmFtaWMgYW5ub3RhdGlvbnMgYXJlIG5v
dCBlbmFibGVkIHNvIHlvdSBjYW4KKyAqIHVzZSB0aGVtIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBw
ZXJmb3JtYW5jZSBvZiByZWxlYXNlIGJpbmFyaWVzLiAqLworI2RlZmluZSBXVEZfQU5OT1RBVEVf
QkVOSUdOX1JBQ0VfU0laRUQoYWRkcmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pCisjZGVmaW5lIFdU
Rl9BTk5PVEFURV9CRU5JR05fUkFDRShwb2ludGVyLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RG
X0FOTk9UQVRFX0hBUFBFTlNfQkVGT1JFKGFkZHJlc3MpCisjZGVmaW5lIFdURl9BTk5PVEFURV9I
QVBQRU5TX0FGVEVSKGFkZHJlc3MpCisjZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMp
CisKKyNlbmRpZiAvLyBXVEZfRHluYW1pY0Fubm90YXRpb25zX2gKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmgJKHJldmlzaW9uIDgy
MDg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIK
IAogI2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL0R5bmFtaWNBbm5vdGF0
aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFj
ZSBXVEYgewpAQCAtMTAzLDggKzEwNCwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBkZXJlZkJh
c2UoKQogICAgIHsKICNpZiBVU0UoTE9DS0ZSRUVfVEhSRUFEU0FGRVJFRkNPVU5URUQpCi0gICAg
ICAgIGlmIChhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQpIDw9IDApCisgICAgICAgIFdURl9B
Tk5PVEFURV9IQVBQRU5TX0JFRk9SRSgmbV9yZWZDb3VudCk7CisgICAgICAgIGlmIChhdG9taWNE
ZWNyZW1lbnQoJm1fcmVmQ291bnQpIDw9IDApIHsKKyAgICAgICAgICAgIFdURl9BTk5PVEFURV9I
QVBQRU5TX0FGVEVSKCZtX3JlZkNvdW50KTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICB9CiAjZWxzZQogICAgICAgICBpbnQgcmVmQ291bnQ7CiAgICAgICAgIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAJKHJl
dmlzaW9uIDgyMDg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ1N0
YXRpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAjZW5kaWYKIAogI2lu
Y2x1ZGUgIkF0b21pY1N0cmluZy5oIgorI2luY2x1ZGUgIkR5bmFtaWNBbm5vdGF0aW9ucy5oIgog
I2luY2x1ZGUgIlN0YXRpY0NvbnN0cnVjdG9ycy5oIgogI2luY2x1ZGUgIlN0cmluZ0ltcGwuaCIK
IApAQCAtNDYsNiArNDcsNyBAQCBTdHJpbmdJbXBsKiBTdHJpbmdJbXBsOjplbXB0eSgpCiAgICAg
Ly8gUENSRSBnb2VzIGF3YXkuCiAgICAgc3RhdGljIFVDaGFyIGVtcHR5VUNoYXJEYXRhID0gMDsK
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZ0ltcGwsIGVtcHR5U3RyaW5nLCAoJmVtcHR5
VUNoYXJEYXRhLCAwLCBDb25zdHJ1Y3RTdGF0aWNTdHJpbmcpKTsKKyAgICBXVEZfQU5OT1RBVEVf
QkVOSUdOX1JBQ0UoJmVtcHR5U3RyaW5nLCAiQmVuaWduIHJhY2Ugb24gU3RyaW5nSW1wbDo6ZW1w
dHlTdHJpbmcgcmVmZXJlbmNlIGNvdW50ZXIiKTsKICAgICByZXR1cm4gJmVtcHR5U3RyaW5nOwog
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyMDg5KQorKysgU291
cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4
IEBACisyMDExLTAzLTI4ICBUaW11ciBJc2tob2R6aGFub3YgIDx0aW11cnJyckBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBz
b21lIGR5bmFtaWMgYW5ub3RhdGlvbnMgdG8gSmF2YVNjcmlwdENvcmUvd3RmCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzc0NworCisgICAgICAgIEJ5
IHVzaW5nIHRoZXNlIGFubm90YXRpb25zIHdlIGNhbiBpbXByb3ZlIHRoZSBwcmVjaXNpb24gb2Yg
ZmluZGluZworICAgICAgICBXZWJLaXQgZXJyb3JzIHVzaW5nIGR5bmFtaWMgYW5hbHlzaXMgdG9v
bHMgbGlrZSBUaHJlYWRTYW5pdGl6ZXIgYW5kIFZhbGdyaW5kLgorICAgICAgICBUaGVzZSBhbm5v
dGF0aW9ucyBkb24ndCBhZmZlY3QgdGhlIGNvbXBpbGVkIGJpbmFyaWVzIHVubGVzcyBVU0UoRFlO
QU1JQ19BTk5PVEFUSU9OUykgaXMgIjEiLgorCisgICAgICAgIFRoZXNlIGZpbGVzIGRvbid0IGFk
ZCBuZXcgZnVuY3Rpb25hbGl0eSwgc28gZG9uJ3QgbmVlZCBleHRyYSB0ZXN0cy4KKworICAgICAg
ICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisK
IDIwMTEtMDMtMjYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZW1vdmUgdGhlIEphdmFTY3JpcHRHbHVlIEdZUCBidWlsZC4gIFdlJ3JlIG5vdCBnb2luZyB0byB1
c2UgR1lQIGZvcgpJbmRleDogU291cmNlL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lv
biAwKQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5h
bWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gODIwODkpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxOCBAQAorMjAxMS0wMy0yOCAgVGltdXIgSXNraG9kemhhbm92ICA8dGltdXJycnJA
Z29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgc29tZSBkeW5hbWljIGFubm90YXRpb25zIHRvIEphdmFTY3JpcHRDb3JlL3d0Zgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM3NDcKKwor
ICAgICAgICBCeSB1c2luZyB0aGVzZSBhbm5vdGF0aW9ucyB3ZSBjYW4gaW1wcm92ZSB0aGUgcHJl
Y2lzaW9uIG9mIGZpbmRpbmcKKyAgICAgICAgV2ViS2l0IGVycm9ycyB1c2luZyBkeW5hbWljIGFu
YWx5c2lzIHRvb2xzIGxpa2UgVGhyZWFkU2FuaXRpemVyIGFuZCBWYWxncmluZC4KKyAgICAgICAg
VGhlc2UgYW5ub3RhdGlvbnMgZG9uJ3QgYWZmZWN0IHRoZSBjb21waWxlZCBiaW5hcmllcyB1bmxl
c3MgVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpIGlzICIxIi4KKworICAgICAgICBUaGVzZSBmaWxl
cyBkb24ndCBhZGQgbmV3IGZ1bmN0aW9uYWxpdHksIHNvIGRvbid0IG5lZWQgZXh0cmEgdGVzdHMu
CisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmg6
IEFkZGVkLgorCiAyMDExLTAzLTI3ICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNB
bm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQg
QEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfRHluYW1pY0Fubm90YXRpb25zX2gKKyNkZWZpbmUgV2Vi
Q29yZV9GV0RfRHluYW1pY0Fubm90YXRpb25zX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9E
eW5hbWljQW5ub3RhdGlvbnMuaD4KKyNlbmRpZgpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gODIwODkpCisrKyBUb29scy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMy0yOCAgVGltdXIg
SXNraG9kemhhbm92ICA8dGltdXJycnJAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc29tZSBkeW5hbWljIGFubm90YXRpb25z
IHRvIEphdmFTY3JpcHRDb3JlL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTM3NDcKKworICAgICAgICBCeSB1c2luZyB0aGVzZSBhbm5vdGF0aW9u
cyB3ZSBjYW4gaW1wcm92ZSB0aGUgcHJlY2lzaW9uIG9mIGZpbmRpbmcKKyAgICAgICAgV2ViS2l0
IGVycm9ycyB1c2luZyBkeW5hbWljIGFuYWx5c2lzIHRvb2xzIGxpa2UgVGhyZWFkU2FuaXRpemVy
IGFuZCBWYWxncmluZC4KKyAgICAgICAgVGhlc2UgYW5ub3RhdGlvbnMgZG9uJ3QgYWZmZWN0IHRo
ZSBjb21waWxlZCBiaW5hcmllcyB1bmxlc3MgVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpIGlzICIx
Ii4KKworICAgICAgICBUaGVzZSBmaWxlcyBkb24ndCBhZGQgbmV3IGZ1bmN0aW9uYWxpdHksIHNv
IGRvbid0IG5lZWQgZXh0cmEgdGVzdHMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9Gb3J3
YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorCiAyMDExLTAz
LTI3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE1hY2llaiBTdGFjaG93aWFrLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMu
aAkocmV2aXNpb24gMCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87377</attachid>
            <date>2011-03-29 11:37:15 -0700</date>
            <delta_ts>2011-03-30 13:15:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110329223714.patch</filename>
            <type>text/plain</type>
            <size>20152</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODIyODcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDMtMjggIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUg
ZHluYW1pYyBhbm5vdGF0aW9ucyB0byBKYXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNp
bmcgdGhlc2UgYW5ub3RhdGlvbnMgd2UgY2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5k
aW5nCisgICAgICAgIFdlYktpdCBlcnJvcnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBs
aWtlIFRocmVhZFNhbml0aXplciBhbmQgVmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRp
b25zIGRvbid0IGFmZmVjdCB0aGUgY29tcGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlD
X0FOTk9UQVRJT05TKSBpcyAiMSIuCisKKyAgICAgICAgVGhlc2UgZmlsZXMgZG9uJ3QgYWRkIG5l
dyBmdW5jdGlvbmFsaXR5LCBzbyBkb24ndCBuZWVkIGV4dHJhIHRlc3RzLgorCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2o6CisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jcHA6IEFkZGVkLgor
ICAgICAgICAoV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQpOgorICAgICAgICAoV1RGQW5ub3Rh
dGVIYXBwZW5zQmVmb3JlKToKKyAgICAgICAgKFdURkFubm90YXRlSGFwcGVuc0FmdGVyKToKKyAg
ICAgICAgKiB3dGYvRHluYW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorICAgICAgICAqIHd0Zi9U
aHJlYWRTYWZlUmVmQ291bnRlZC5oOgorICAgICAgICAoV1RGOjpUaHJlYWRTYWZlUmVmQ291bnRl
ZEJhc2U6OmRlcmVmQmFzZSk6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHA6
CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmVtcHR5KToKKwogMjAxMS0wMy0yOSAgU3RldmUg
RmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNp
b24gODIyODcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtp
bmcgY29weSkKQEAgLTQ1MCw2ICs0NTAsOCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RvdWJseUxpbmtlZExpc3QuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9kdG9hLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25z
LmNwcCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaCBc
CiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9FbmNvZGVyLmggXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Zhc3RNYWxsb2MuY3BwIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5neXBpCShyZXZpc2lvbiA4MjI4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC01NzcsNiArNTc3LDggQEAKICAgICAg
ICAgICAgICd3dGYvQ3VycmVudFRpbWUuY3BwJywKICAgICAgICAgICAgICd3dGYvRGF0ZU1hdGgu
Y3BwJywKICAgICAgICAgICAgICd3dGYvRGVjaW1hbE51bWJlci5jcHAnLAorICAgICAgICAgICAg
J3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuY3BwJywKKyAgICAgICAgICAgICd3dGYvRHluYW1pY0Fu
bm90YXRpb25zLmgnLAogICAgICAgICAgICAgJ3d0Zi9GYXN0TWFsbG9jLmNwcCcsCiAgICAgICAg
ICAgICAnd3RmL0hhc2hUYWJsZS5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9NRDUuY3BwJywKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52
Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjcHJvai9XVEYvV1RGLnZjcHJvagkocmV2aXNpb24gODIyODcpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC02MTMsNiArNjEzLDE0IEBACiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKKwkJCVJl
bGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0aW9ucy5jcHAiCisJCQk+CisJCTwv
RmlsZT4KKwkJPEZpbGUKKwkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXER5bmFtaWNBbm5vdGF0
aW9ucy5oIgorCQkJPgorCQk8L0ZpbGU+CisJCTxGaWxlCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4u
XHd0ZlxFbmNvZGVyLmgiCiAJCQk+CiAJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiA4MjI4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01
NzksNiArNTc5LDcgQEAKIAkJQkNGRDhDOTIwRUVCMkVFNzAwMjgzODQ4IC8qIEp1bXBUYWJsZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0ZEOEM5
MDBFRUIyRUU3MDAyODM4NDggLyogSnVtcFRhYmxlLmNwcCAqLzsgfTsKIAkJQkNGRDhDOTMwRUVC
MkVFNzAwMjgzODQ4IC8qIEp1bXBUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNGRDhDOTEwRUVCMkVFNzAwMjgzODQ4IC8qIEp1bXBUYWJsZS5o
ICovOyB9OwogCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwQTI3MjNGMEU1MDlGMUUw
MEU5NkUxNSAvKiBOb3RGb3VuZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUQ3QTQ2QTRGMTMzOEZGRUEwMEVENjk1QyAvKiBEeW5hbWljQW5ub3Rh
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3
NUFGNTk2MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlERDM3N0NCQzEyMDcyQzE4
MDA2QTI1MTcgLyogQml0bWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBERDM3N0NCQjEyMDcyQzE4MDA2QTI1MTcgLyogQml0bWFwLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRERGN0FCRDQxMUY2MEVE
MjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERGN0FCRDIxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0
aXZpdHlDYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCURERjdBQkQ1MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tD
Ri5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEREY3
QUJEMzExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwICovOyB9OwpA
QCAtMTIxOCw2ICsxMjE5LDggQEAKIAkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZv
dW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEZvdW5kLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI4MEFENDMxMEMwMEVENzlCNiAvKiBEYXRl
Q29udmVyc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0
ZUNvbnZlcnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMjEyMDIyOTBB
RDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQ3NUFGNTk1MTJGOENCOTUwMEZDMEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRHluYW1pY0Fubm90YXRpb25zLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDc1QUY1OTYxMkY4Q0I5NTAwRkMwQURG
IC8qIER5bmFtaWNBbm5vdGF0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEeW5hbWljQW5ub3RhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREQz
NzdDQkIxMjA3MkMxODAwNkEyNTE3IC8qIEJpdG1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBCaXRtYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRERGN0FC
RDIxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRERGN0FCRDMxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxs
YmFja0NGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZp
dHlDYWxsYmFja0NGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MDMsNiAr
MTYwNiw4IEBACiAJCQkJMTQ0NTZBMzExMzE0NjU3ODAwMjEyQ0EzIC8qIERvdWJseUxpbmtlZExp
c3QuaCAqLywKIAkJCQk2NTFGNjQxMjAzOUQ1QjVGMDA3ODM5NUMgLyogZHRvYS5jcHAgKi8sCiAJ
CQkJNjUxRjY0MTMwMzlENUI1RjAwNzgzOTVDIC8qIGR0b2EuaCAqLywKKwkJCQlENzVBRjU5NTEy
RjhDQjk1MDBGQzBBREYgLyogRHluYW1pY0Fubm90YXRpb25zLmNwcCAqLywKKwkJCQlENzVBRjU5
NjEyRjhDQjk1MDBGQzBBREYgLyogRHluYW1pY0Fubm90YXRpb25zLmggKi8sCiAJCQkJRTQ4RTBG
MkMwRjgyMTUxNzAwQThDQTM3IC8qIEZhc3RBbGxvY0Jhc2UuaCAqLywKIAkJCQk2NUUyMTdCOTA4
RTdFRUNDMDAyM0U1RjYgLyogRmFzdE1hbGxvYy5jcHAgKi8sCiAJCQkJNjVFMjE3QkEwOEU3RUVD
QzAwMjNFNUY2IC8qIEZhc3RNYWxsb2MuaCAqLywKQEAgLTIyNjIsNiArMjI2Nyw3IEBACiAJCQkJ
QkMxOEMzRkQwRTE2RjVDRDAwQjM0NDYwIC8qIERpc2FsbG93Q1R5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTE0NDU2QTMyMTMxNDY1NzgwMDIxMkNBMyAvKiBEb3VibHlMaW5rZWRMaXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzE4QzNGRTBFMTZGNUNEMDBCMzQ0NjAgLyogZHRvYS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRDdBNDZBNEYxMzM4RkZFQTAwRUQ2OTVDIC8qIER5bmFtaWNBbm5vdGF0
aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEzNUZBRjMxMkQyNkFEMTAwM0MwODNCIC8qIEVu
Y29kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzA0NjA3MEUxRjQ5N0YwMDMyMzJDRiAvKiBF
cnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMkU5MEQwRTE4MzlEQjAwMEY5Mjk3IC8qIEVy
cm9yQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA4MjI4NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDcg
QEAgU0VUKFdURl9IRUFERVJTCiAgICAgRGVxdWUuaAogICAgIERpc2FsbG93Q1R5cGUuaAogICAg
IERvdWJseUxpbmtlZExpc3QuaAorICAgIER5bmFtaWNBbm5vdGF0aW9ucy5oCiAgICAgRW5jb2Rl
ci5oCiAgICAgRmFzdEFsbG9jQmFzZS5oCiAgICAgRmFzdE1hbGxvYy5oCkBAIC0xMTEsNiArMTEy
LDcgQEAgU0VUKFdURl9TT1VSQ0VTCiAgICAgQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIu
Y3BwCiAgICAgQ3VycmVudFRpbWUuY3BwCiAgICAgRGVjaW1hbE51bWJlci5jcHAKKyAgICBEeW5h
bWljQW5ub3RhdGlvbnMuY3BwCiAgICAgRmFzdE1hbGxvYy5jcHAKICAgICBIYXNoVGFibGUuY3Bw
CiAgICAgTWFpblRocmVhZC5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHlu
YW1pY0Fubm90YXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMzQgQEAKKy8qIAorICogQ29weXJpZ2h0IChjKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEeW5hbWljQW5ub3Rh
dGlvbnMuaCIKKworI2lmIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQordm9pZCBXVEZBbm5vdGF0
ZUJlbmlnblJhY2VTaXplZChjb25zdCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKiwg
bG9uZywgY29uc3QgY2hhciopIHsgfQordm9pZCBXVEZBbm5vdGF0ZUhhcHBlbnNCZWZvcmUoY29u
c3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCopIHsgfQordm9pZCBXVEZBbm5vdGF0
ZUhhcHBlbnNBZnRlcihjb25zdCBjaGFyKiwgaW50LCBjb25zdCB2b2xhdGlsZSB2b2lkKikgeyB9
CisjZW5kaWYgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDk2IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDExLCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RGX0R5bmFtaWNBbm5vdGF0aW9uc19oCisj
ZGVmaW5lIFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaAorCisvKiBUaGlzIGZpbGUgZGVmaW5lcyBk
eW5hbWljIGFubm90YXRpb25zIGZvciB1c2Ugd2l0aCBkeW5hbWljIGFuYWx5c2lzCisgKiB0b29s
IHN1Y2ggYXMgVGhyZWFkU2FuaXRpemVyLCBWYWxncmluZCwgZXRjLgorICoKKyAqIER5bmFtaWMg
YW5ub3RhdGlvbiBpcyBhIHNvdXJjZSBjb2RlIGFubm90YXRpb24gdGhhdCBhZmZlY3RzCisgKiB0
aGUgZ2VuZXJhdGVkIGNvZGUgKHRoYXQgaXMsIHRoZSBhbm5vdGF0aW9uIGlzIG5vdCBhIGNvbW1l
bnQpLgorICogRWFjaCBzdWNoIGFubm90YXRpb24gaXMgYXR0YWNoZWQgdG8gYSBwYXJ0aWN1bGFy
CisgKiBpbnN0cnVjdGlvbiBhbmQvb3IgdG8gYSBwYXJ0aWN1bGFyIG9iamVjdCAoYWRkcmVzcykg
aW4gdGhlIHByb2dyYW0uCisgKgorICogQnkgdXNpbmcgZHluYW1pYyBhbm5vdGF0aW9ucyBhIGRl
dmVsb3BlciBjYW4gZ2l2ZSBtb3JlIGRldGFpbHMgdG8gdGhlIGR5bmFtaWMKKyAqIGFuYWx5c2lz
IHRvb2wgdG8gaW1wcm92ZSBpdHMgcHJlY2lzaW9uLgorICoKKyAqIEluIEMvQysrIHByb2dyYW0g
dGhlIGFubm90YXRpb25zIGFyZSByZXByZXNlbnRlZCBhcyBDIG1hY3Jvcy4KKyAqIFdpdGggdGhl
IGRlZmF1bHQgYnVpbGQgZmxhZ3MsIHRoZXNlIG1hY3JvcyBhcmUgZW1wdHksIGhlbmNlIGRvbid0
IGFmZmVjdAorICogcGVyZm9ybWFuY2Ugb2YgYSBjb21waWxlZCBiaW5hcnkuCisgKiBJZiBkeW5h
bWljIGFubm90YXRpb25zIGFyZSBlbmFibGVkLCB0aGV5IGp1c3QgY2FsbCBuby1vcCBmdW5jdGlv
bnMuCisgKiBUaGUgZHluYW1pYyBhbmFseXNpcyB0b29scyBjYW4gaW50ZXJjZXB0IHRoZXNlIGZ1
bmN0aW9ucyBhbmQgcmVwbGFjZSB0aGVtCisgKiB3aXRoIHRoZWlyIG93biBpbXBsZW1lbnRhdGlv
bnMuCisgKgorICogU2VlIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9kYXRhLXJhY2UtdGVzdC93
aWtpL0R5bmFtaWNBbm5vdGF0aW9ucyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworCisjaWYg
VVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUZWxsIGRhdGEgcmFjZSBkZXRlY3RvciB0aGF0
IHdlJ3JlIG5vdCBpbnRlcmVzdGVkIGluIHJlcG9ydHMgb24gdGhlIGdpdmVuIGFkZHJlc3MgcmFu
Z2UuICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05fUkFDRV9TSVpFRChhZGRyZXNzLCBz
aXplLCBkZXNjcmlwdGlvbikgV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoX19GSUxFX18sIF9f
TElORV9fLCBhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9UQVRF
X0JFTklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKSBXVEZBbm5vdGF0ZUJlbmlnblJhY2VT
aXplZChfX0ZJTEVfXywgX19MSU5FX18sIHBvaW50ZXIsIHNpemVvZigqKHBvaW50ZXIpKSwgZGVz
Y3JpcHRpb24pCisKKy8qIEFubm90YXRpb25zIGZvciB1c2VyLWRlZmluZWQgc3luY2hyb25pemF0
aW9uIG1lY2hhbmlzbXMuCisgKiBUaGVzZSBhbm5vdGF0aW9ucyBjYW4gYmUgdXNlZCB0byBkZWZp
bmUgaGFwcGVucy1iZWZvcmUgYXJjcyBpbiB1c2VyLWRlZmluZWQKKyAqIHN5bmNocm9uaXphdGlv
biBtZWNoYW5pc21zOiB0aGUgcmFjZSBkZXRlY3RvciB3aWxsIGluZmVyIGFuIGFyYyBmcm9tCisg
KiB0aGUgZm9ybWVyIHRvIHRoZSBsYXR0ZXIgd2hlbiB0aGV5IHNoYXJlIHRoZSBzYW1lIGFyZ3Vt
ZW50IHBvaW50ZXIuCisgKgorICogVGhlIG1vc3QgY29tbW9uIGNhc2UgcmVxdWlyaW5nIGFubm90
YXRpb25zIGlzIGF0b21pYyByZWZlcmVuY2UgY291bnRpbmc6CisgKiBib29sIGRlcmVmKCkgewor
ICogICAgIEFOTk9UQVRFX0hBUFBFTlNfQkVGT1JFKCZtX3JlZkNvdW50KTsKKyAqICAgICBpZiAo
IWF0b21pY0RlY3JlbWVudCgmbV9yZWZDb3VudCkpIHsKKyAqICAgICAgICAgLy8gbV9yZWZDb3Vu
dCBpcyBub3cgMAorICogICAgICAgICBBTk5PVEFURV9IQVBQRU5TX0FGVEVSKCZtX3JlZkNvdW50
KTsKKyAqICAgICAgICAgLy8gInJldHVybiB0cnVlOyBoYXBwZW5zLWFmdGVyIGVhY2ggYXRvbWlj
RGVjcmVtZW50IG9mIG1fcmVmQ291bnQiCisgKiAgICAgICAgIHJldHVybiB0cnVlOworICogICAg
IH0KKyAqICAgICByZXR1cm4gZmFsc2U7CisgKiB9CisgKi8KKyNkZWZpbmUgV1RGX0FOTk9UQVRF
X0hBUFBFTlNfQkVGT1JFKGFkZHJlc3MpIFdURkFubm90YXRlSGFwcGVuc0JlZm9yZShfX0ZJTEVf
XywgX19MSU5FX18sIGFkZHJlc3MpCisjZGVmaW5lIFdURl9BTk5PVEFURV9IQVBQRU5TX0FGVEVS
KGFkZHJlc3MpIFdURkFubm90YXRlSGFwcGVuc0FmdGVyKF9fRklMRV9fLCBfX0xJTkVfXywgYWRk
cmVzcykKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorLyogRG9u
J3QgdXNlIHRoZXNlIGRpcmVjdGx5LCB1c2UgdGhlIGFib3ZlIG1hY3JvcyBpbnN0ZWFkLiAqLwor
dm9pZCBXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXplZChjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGlu
ZSwgY29uc3Qgdm9sYXRpbGUgdm9pZCogbWVtb3J5LCBsb25nIHNpemUsIGNvbnN0IGNoYXIqIGRl
c2NyaXB0aW9uKTsKK3ZvaWQgV1RGQW5ub3RhdGVIYXBwZW5zQmVmb3JlKGNvbnN0IGNoYXIqIGZp
bGUsIGludCBsaW5lLCBjb25zdCB2b2xhdGlsZSB2b2lkKiBhZGRyZXNzKTsKK3ZvaWQgV1RGQW5u
b3RhdGVIYXBwZW5zQWZ0ZXIoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IHZvbGF0
aWxlIHZvaWQqIGFkZHJlc3MpOworI2lmZGVmIF9fY3BsdXNwbHVzCit9IC8vIGV4dGVybiAiQyIK
KyNlbmRpZgorCisjZWxzZSAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKy8qIFRoZXNlIG1h
Y3JvcyBhcmUgZW1wdHkgd2hlbiBkeW5hbWljIGFubm90YXRpb25zIGFyZSBub3QgZW5hYmxlZCBz
byB5b3UgY2FuCisgKiB1c2UgdGhlbSB3aXRob3V0IGFmZmVjdGluZyB0aGUgcGVyZm9ybWFuY2Ug
b2YgcmVsZWFzZSBiaW5hcmllcy4gKi8KKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNF
X1NJWkVEKGFkZHJlc3MsIHNpemUsIGRlc2NyaXB0aW9uKQorI2RlZmluZSBXVEZfQU5OT1RBVEVf
QkVOSUdOX1JBQ0UocG9pbnRlciwgZGVzY3JpcHRpb24pCisjZGVmaW5lIFdURl9BTk5PVEFURV9I
QVBQRU5TX0JFRk9SRShhZGRyZXNzKQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19BRlRF
UihhZGRyZXNzKQorI2VuZGlmIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQorCisjZW5kaWYg
Ly8gV1RGX0R5bmFtaWNBbm5vdGF0aW9uc19oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oCShyZXZpc2lvbiA4MjI4NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaAkod29ya2luZyBj
b3B5KQpAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRl
IDx3dGYvQXRvbWljcy5oPgorI2luY2x1ZGUgPHd0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAg
LTEwMyw4ICsxMDQsMTEgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgZGVyZWZCYXNlKCkKICAgICB7
CiAjaWYgVVNFKExPQ0tGUkVFX1RIUkVBRFNBRkVSRUZDT1VOVEVEKQotICAgICAgICBpZiAoYXRv
bWljRGVjcmVtZW50KCZtX3JlZkNvdW50KSA8PSAwKQorICAgICAgICBXVEZfQU5OT1RBVEVfSEFQ
UEVOU19CRUZPUkUoJm1fcmVmQ291bnQpOworICAgICAgICBpZiAoYXRvbWljRGVjcmVtZW50KCZt
X3JlZkNvdW50KSA8PSAwKSB7CisgICAgICAgICAgICBXVEZfQU5OT1RBVEVfSEFQUEVOU19BRlRF
UigmbV9yZWZDb3VudCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogI2Vs
c2UKICAgICAgICAgaW50IHJlZkNvdW50OwogICAgICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCShyZXZpc2lvbiA4MjI4
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJBdG9t
aWNTdHJpbmcuaCIKKyNpbmNsdWRlICJEeW5hbWljQW5ub3RhdGlvbnMuaCIKICNpbmNsdWRlICJT
dGF0aWNDb25zdHJ1Y3RvcnMuaCIKICNpbmNsdWRlICJTdHJpbmdJbXBsLmgiCiAKQEAgLTQ2LDYg
KzQ3LDcgQEAgU3RyaW5nSW1wbCogU3RyaW5nSW1wbDo6ZW1wdHkoKQogICAgIC8vIFBDUkUgZ29l
cyBhd2F5LgogICAgIHN0YXRpYyBVQ2hhciBlbXB0eVVDaGFyRGF0YSA9IDA7CiAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHJpbmdJbXBsLCBlbXB0eVN0cmluZywgKCZlbXB0eVVDaGFyRGF0YSwg
MCwgQ29uc3RydWN0U3RhdGljU3RyaW5nKSk7CisgICAgV1RGX0FOTk9UQVRFX0JFTklHTl9SQUNF
KCZlbXB0eVN0cmluZywgIkJlbmlnbiByYWNlIG9uIFN0cmluZ0ltcGw6OmVtcHR5U3RyaW5nIHJl
ZmVyZW5jZSBjb3VudGVyIik7CiAgICAgcmV0dXJuICZlbXB0eVN0cmluZzsKIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MjI4NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0R2x1ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0w
My0yOCAgVGltdXIgSXNraG9kemhhbm92ICA8dGltdXJycnJAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc29tZSBkeW5hbWlj
IGFubm90YXRpb25zIHRvIEphdmFTY3JpcHRDb3JlL3d0ZgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM3NDcKKworICAgICAgICBCeSB1c2luZyB0aGVz
ZSBhbm5vdGF0aW9ucyB3ZSBjYW4gaW1wcm92ZSB0aGUgcHJlY2lzaW9uIG9mIGZpbmRpbmcKKyAg
ICAgICAgV2ViS2l0IGVycm9ycyB1c2luZyBkeW5hbWljIGFuYWx5c2lzIHRvb2xzIGxpa2UgVGhy
ZWFkU2FuaXRpemVyIGFuZCBWYWxncmluZC4KKyAgICAgICAgVGhlc2UgYW5ub3RhdGlvbnMgZG9u
J3QgYWZmZWN0IHRoZSBjb21waWxlZCBiaW5hcmllcyB1bmxlc3MgVVNFKERZTkFNSUNfQU5OT1RB
VElPTlMpIGlzICIxIi4KKworICAgICAgICBUaGVzZSBmaWxlcyBkb24ndCBhZGQgbmV3IGZ1bmN0
aW9uYWxpdHksIHNvIGRvbid0IG5lZWQgZXh0cmEgdGVzdHMuCisKKyAgICAgICAgKiBGb3J3YXJk
aW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorCiAyMDExLTAzLTI1
ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
R2VvZmZyZXkgR2FyZW4uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmgJKHJl
dmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3Rm
L0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25zLmg+CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA4MjI4NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTI4ICBUaW11ciBJc2tob2R6aGFub3YgIDx0aW11
cnJyckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBzb21lIGR5bmFtaWMgYW5ub3RhdGlvbnMgdG8gSmF2YVNjcmlwdENvcmUv
d3RmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzc0
NworCisgICAgICAgIEJ5IHVzaW5nIHRoZXNlIGFubm90YXRpb25zIHdlIGNhbiBpbXByb3ZlIHRo
ZSBwcmVjaXNpb24gb2YgZmluZGluZworICAgICAgICBXZWJLaXQgZXJyb3JzIHVzaW5nIGR5bmFt
aWMgYW5hbHlzaXMgdG9vbHMgbGlrZSBUaHJlYWRTYW5pdGl6ZXIgYW5kIFZhbGdyaW5kLgorICAg
ICAgICBUaGVzZSBhbm5vdGF0aW9ucyBkb24ndCBhZmZlY3QgdGhlIGNvbXBpbGVkIGJpbmFyaWVz
IHVubGVzcyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykgaXMgIjEiLgorCisgICAgICAgIFRoZXNl
IGZpbGVzIGRvbid0IGFkZCBuZXcgZnVuY3Rpb25hbGl0eSwgc28gZG9uJ3QgbmVlZCBleHRyYSB0
ZXN0cy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlv
bnMuaDogQWRkZWQuCisKIDIwMTEtMDMtMjkgIEFuZHJhcyBCZWNzaSAgPGFiZWNzaUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL1dl
YkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3Rh
dGlvbnMuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACisj
aWZuZGVmIFdlYkNvcmVfRldEX0R5bmFtaWNBbm5vdGF0aW9uc19oCisjZGVmaW5lIFdlYkNvcmVf
RldEX0R5bmFtaWNBbm5vdGF0aW9uc19oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1p
Y0Fubm90YXRpb25zLmg+CisjZW5kaWYKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyMjg3KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDMtMjggIFRpbXVyIElza2hv
ZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNvbWUgZHluYW1pYyBhbm5vdGF0aW9ucyB0byBK
YXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNpbmcgdGhlc2UgYW5ub3RhdGlvbnMgd2Ug
Y2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5kaW5nCisgICAgICAgIFdlYktpdCBlcnJv
cnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBsaWtlIFRocmVhZFNhbml0aXplciBhbmQg
VmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRpb25zIGRvbid0IGFmZmVjdCB0aGUgY29t
cGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKSBpcyAiMSIuCisK
KyAgICAgICAgVGhlc2UgZmlsZXMgZG9uJ3QgYWRkIG5ldyBmdW5jdGlvbmFsaXR5LCBzbyBkb24n
dCBuZWVkIGV4dHJhIHRlc3RzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oOiBBZGRlZC4KKwogMjAxMS0wMy0yOSAg
VG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9q
YW4gVmFmYWkuCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93
dGYvRHluYW1pY0Fubm90YXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRy
ZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAw
KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNB
bm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25zLmg+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87603</attachid>
            <date>2011-03-30 13:15:18 -0700</date>
            <delta_ts>2011-03-30 13:25:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53747-20110331001512.patch</filename>
            <type>text/plain</type>
            <size>20177</size>
            <attacher name="Timur Iskhodzhanov">timurrrr</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODI0ODgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDMtMjggIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBBZGQg
c29tZSBkeW5hbWljIGFubm90YXRpb25zIHRvIEphdmFTY3JpcHRDb3JlL3d0ZgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM3NDcKKworICAgICAgICBC
eSB1c2luZyB0aGVzZSBhbm5vdGF0aW9ucyB3ZSBjYW4gaW1wcm92ZSB0aGUgcHJlY2lzaW9uIG9m
IGZpbmRpbmcKKyAgICAgICAgV2ViS2l0IGVycm9ycyB1c2luZyBkeW5hbWljIGFuYWx5c2lzIHRv
b2xzIGxpa2UgVGhyZWFkU2FuaXRpemVyIGFuZCBWYWxncmluZC4KKyAgICAgICAgVGhlc2UgYW5u
b3RhdGlvbnMgZG9uJ3QgYWZmZWN0IHRoZSBjb21waWxlZCBiaW5hcmllcyB1bmxlc3MgVVNFKERZ
TkFNSUNfQU5OT1RBVElPTlMpIGlzICIxIi4KKworICAgICAgICBUaGVzZSBmaWxlcyBkb24ndCBh
ZGQgbmV3IGZ1bmN0aW9uYWxpdHksIHNvIGRvbid0IG5lZWQgZXh0cmEgdGVzdHMuCisKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAg
ICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9D
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvRHluYW1pY0Fubm90YXRpb25zLmNwcDogQWRk
ZWQuCisgICAgICAgIChXVEZBbm5vdGF0ZUJlbmlnblJhY2VTaXplZCk6CisgICAgICAgIChXVEZB
bm5vdGF0ZUhhcHBlbnNCZWZvcmUpOgorICAgICAgICAoV1RGQW5ub3RhdGVIYXBwZW5zQWZ0ZXIp
OgorICAgICAgICAqIHd0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaDogQWRkZWQuCisgICAgICAgICog
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg6CisgICAgICAgIChXVEY6OlRocmVhZFNhZmVSZWZD
b3VudGVkQmFzZTo6ZGVyZWZCYXNlKToKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdTdGF0aWNz
LmNwcDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6ZW1wdHkpOgorCiAyMDExLTAzLTMwICBT
dGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBSb2Jlbi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5h
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHJl
dmlzaW9uIDgyNDg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3
b3JraW5nIGNvcHkpCkBAIC00NTAsNiArNDUwLDggQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Eb3VibHlMaW5rZWRMaXN0LmggXAogCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvZHRvYS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0
aW9ucy5jcHAgXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRHluYW1pY0Fubm90YXRpb25z
LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRW5jb2Rlci5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9GYXN0TWFsbG9jLmNwcCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZ3lwaQkocmV2aXNpb24gODI0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNTc3LDYgKzU3Nyw4IEBACiAg
ICAgICAgICAgICAnd3RmL0N1cnJlbnRUaW1lLmNwcCcsCiAgICAgICAgICAgICAnd3RmL0RhdGVN
YXRoLmNwcCcsCiAgICAgICAgICAgICAnd3RmL0RlY2ltYWxOdW1iZXIuY3BwJywKKyAgICAgICAg
ICAgICd3dGYvRHluYW1pY0Fubm90YXRpb25zLmNwcCcsCisgICAgICAgICAgICAnd3RmL0R5bmFt
aWNBbm5vdGF0aW9ucy5oJywKICAgICAgICAgICAgICd3dGYvRmFzdE1hbGxvYy5jcHAnLAogICAg
ICAgICAgICAgJ3d0Zi9IYXNoVGFibGUuY3BwJywKICAgICAgICAgICAgICd3dGYvTUQ1LmNwcCcs
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9X
VEYudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oJKHJldmlzaW9uIDgyNDg4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtNjEzLDYgKzYxMywxNCBAQAogCQkJPgogCQk8L0ZpbGU+CiAJCTxGaWxlCisJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxEeW5hbWljQW5ub3RhdGlvbnMuY3BwIgorCQkJPgor
CQk8L0ZpbGU+CisJCTxGaWxlCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxEeW5hbWljQW5u
b3RhdGlvbnMuaCIKKwkJCT4KKwkJPC9GaWxlPgorCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIu
LlwuLlx3dGZcRW5jb2Rlci5oIgogCQkJPgogCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gODI0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtNTc5LDYgKzU3OSw3IEBACiAJCUJDRkQ4QzkyMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFi
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNG
RDhDOTAwRUVCMkVFNzAwMjgzODQ4IC8qIEp1bXBUYWJsZS5jcHAgKi87IH07CiAJCUJDRkQ4Qzkz
MEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRkQ4QzkxMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFi
bGUuaCAqLzsgfTsKIAkJQzBBMjcyNjMwRTUwQTA2MzAwRTk2RTE1IC8qIE5vdEZvdW5kLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEEyNzIzRjBFNTA5
RjFFMDBFOTZFMTUgLyogTm90Rm91bmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlEN0E0NkE0RjEzMzhGRkVBMDBFRDY5NUMgLyogRHluYW1pY0Fu
bm90YXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBENzVBRjU5NjEyRjhDQjk1MDBGQzBBREYgLyogRHluYW1pY0Fubm90YXRpb25zLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJREQzNzdDQkMxMjA3
MkMxODAwNkEyNTE3IC8qIEJpdG1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gREQzNzdDQkIxMjA3MkMxODAwNkEyNTE3IC8qIEJpdG1hcC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCURERjdBQkQ0MTFG
NjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERERjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBH
Q0FjdGl2aXR5Q2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlEREY3QUJENTExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxi
YWNrQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RERGN0FCRDMxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCAqLzsg
fTsKQEAgLTEyMTgsNiArMTIxOSw4IEBACiAJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUxNSAvKiBO
b3RGb3VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb3RGb3VuZC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMjEyMDIyODBBRDQzMTBDMDBFRDc5QjYgLyog
RGF0ZUNvbnZlcnNpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IERhdGVDb252ZXJzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDIxMjAy
MjkwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEYXRlQ29udmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlENzVBRjU5NTEyRjhDQjk1MDBGQzBBREYgLyogRHluYW1pY0Fubm90YXRpb25zLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IER5bmFtaWNBbm5vdGF0aW9u
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ3NUFGNTk2MTJGOENCOTUwMEZD
MEFERiAvKiBEeW5hbWljQW5ub3RhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRHluYW1pY0Fubm90YXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUREMzc3Q0JCMTIwNzJDMTgwMDZBMjUxNyAvKiBCaXRtYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQml0bWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURE
RjdBQkQyMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR0NBY3Rpdml0eUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCURERjdBQkQzMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2tDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ0Fj
dGl2aXR5Q2FsbGJhY2tDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjAz
LDYgKzE2MDYsOCBAQAogCQkJCTE0NDU2QTMxMTMxNDY1NzgwMDIxMkNBMyAvKiBEb3VibHlMaW5r
ZWRMaXN0LmggKi8sCiAJCQkJNjUxRjY0MTIwMzlENUI1RjAwNzgzOTVDIC8qIGR0b2EuY3BwICov
LAogCQkJCTY1MUY2NDEzMDM5RDVCNUYwMDc4Mzk1QyAvKiBkdG9hLmggKi8sCisJCQkJRDc1QUY1
OTUxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5jcHAgKi8sCisJCQkJRDc1
QUY1OTYxMkY4Q0I5NTAwRkMwQURGIC8qIER5bmFtaWNBbm5vdGF0aW9ucy5oICovLAogCQkJCUU0
OEUwRjJDMEY4MjE1MTcwMEE4Q0EzNyAvKiBGYXN0QWxsb2NCYXNlLmggKi8sCiAJCQkJNjVFMjE3
QjkwOEU3RUVDQzAwMjNFNUY2IC8qIEZhc3RNYWxsb2MuY3BwICovLAogCQkJCTY1RTIxN0JBMDhF
N0VFQ0MwMDIzRTVGNiAvKiBGYXN0TWFsbG9jLmggKi8sCkBAIC0yMjYyLDYgKzIyNjcsNyBAQAog
CQkJCUJDMThDM0ZEMEUxNkY1Q0QwMEIzNDQ2MCAvKiBEaXNhbGxvd0NUeXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxNDQ1NkEzMjEzMTQ2NTc4MDAyMTJDQTMgLyogRG91Ymx5TGlua2VkTGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEMzRkUwRTE2RjVDRDAwQjM0NDYwIC8qIGR0b2EuaCBp
biBIZWFkZXJzICovLAorCQkJCUQ3QTQ2QTRGMTMzOEZGRUEwMEVENjk1QyAvKiBEeW5hbWljQW5u
b3RhdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMzVGQUYzMTJEMjZBRDEwMDNDMDgzQiAv
KiBFbmNvZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzMwNDYwNzBFMUY0OTdGMDAzMjMyQ0Yg
LyogRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDJFOTBEMEUxODM5REIwMDBGOTI5NyAv
KiBFcnJvckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gODI0ODgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNyw2ICsx
Nyw3IEBAIFNFVChXVEZfSEVBREVSUwogICAgIERlcXVlLmgKICAgICBEaXNhbGxvd0NUeXBlLmgK
ICAgICBEb3VibHlMaW5rZWRMaXN0LmgKKyAgICBEeW5hbWljQW5ub3RhdGlvbnMuaAogICAgIEVu
Y29kZXIuaAogICAgIEZhc3RBbGxvY0Jhc2UuaAogICAgIEZhc3RNYWxsb2MuaApAQCAtMTExLDYg
KzExMiw3IEBAIFNFVChXVEZfU09VUkNFUwogICAgIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVt
YmVyLmNwcAogICAgIEN1cnJlbnRUaW1lLmNwcAogICAgIERlY2ltYWxOdW1iZXIuY3BwCisgICAg
RHluYW1pY0Fubm90YXRpb25zLmNwcAogICAgIEZhc3RNYWxsb2MuY3BwCiAgICAgSGFzaFRhYmxl
LmNwcAogICAgIE1haW5UaHJlYWQuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0R5bmFtaWNBbm5vdGF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDM0IEBACisvKiAKKyAqIENvcHlyaWdodCAoYykgMjAxMSwgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRHluYW1pY0Fu
bm90YXRpb25zLmgiCisKKyNpZiBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKK3ZvaWQgV1RGQW5u
b3RhdGVCZW5pZ25SYWNlU2l6ZWQoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9p
ZCosIGxvbmcsIGNvbnN0IGNoYXIqKSB7IH0KK3ZvaWQgV1RGQW5ub3RhdGVIYXBwZW5zQmVmb3Jl
KGNvbnN0IGNoYXIqLCBpbnQsIGNvbnN0IHZvbGF0aWxlIHZvaWQqKSB7IH0KK3ZvaWQgV1RGQW5u
b3RhdGVIYXBwZW5zQWZ0ZXIoY29uc3QgY2hhciosIGludCwgY29uc3Qgdm9sYXRpbGUgdm9pZCop
IHsgfQorI2VuZGlmIC8vIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMSwgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdURl9EeW5hbWljQW5ub3RhdGlvbnNf
aAorI2RlZmluZSBXVEZfRHluYW1pY0Fubm90YXRpb25zX2gKKworLyogVGhpcyBmaWxlIGRlZmlu
ZXMgZHluYW1pYyBhbm5vdGF0aW9ucyBmb3IgdXNlIHdpdGggZHluYW1pYyBhbmFseXNpcworICog
dG9vbCBzdWNoIGFzIFRocmVhZFNhbml0aXplciwgVmFsZ3JpbmQsIGV0Yy4KKyAqCisgKiBEeW5h
bWljIGFubm90YXRpb24gaXMgYSBzb3VyY2UgY29kZSBhbm5vdGF0aW9uIHRoYXQgYWZmZWN0cwor
ICogdGhlIGdlbmVyYXRlZCBjb2RlICh0aGF0IGlzLCB0aGUgYW5ub3RhdGlvbiBpcyBub3QgYSBj
b21tZW50KS4KKyAqIEVhY2ggc3VjaCBhbm5vdGF0aW9uIGlzIGF0dGFjaGVkIHRvIGEgcGFydGlj
dWxhcgorICogaW5zdHJ1Y3Rpb24gYW5kL29yIHRvIGEgcGFydGljdWxhciBvYmplY3QgKGFkZHJl
c3MpIGluIHRoZSBwcm9ncmFtLgorICoKKyAqIEJ5IHVzaW5nIGR5bmFtaWMgYW5ub3RhdGlvbnMg
YSBkZXZlbG9wZXIgY2FuIGdpdmUgbW9yZSBkZXRhaWxzIHRvIHRoZSBkeW5hbWljCisgKiBhbmFs
eXNpcyB0b29sIHRvIGltcHJvdmUgaXRzIHByZWNpc2lvbi4KKyAqCisgKiBJbiBDL0MrKyBwcm9n
cmFtIHRoZSBhbm5vdGF0aW9ucyBhcmUgcmVwcmVzZW50ZWQgYXMgQyBtYWNyb3MuCisgKiBXaXRo
IHRoZSBkZWZhdWx0IGJ1aWxkIGZsYWdzLCB0aGVzZSBtYWNyb3MgYXJlIGVtcHR5LCBoZW5jZSBk
b24ndCBhZmZlY3QKKyAqIHBlcmZvcm1hbmNlIG9mIGEgY29tcGlsZWQgYmluYXJ5LgorICogSWYg
ZHluYW1pYyBhbm5vdGF0aW9ucyBhcmUgZW5hYmxlZCwgdGhleSBqdXN0IGNhbGwgbm8tb3AgZnVu
Y3Rpb25zLgorICogVGhlIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMgY2FuIGludGVyY2VwdCB0aGVz
ZSBmdW5jdGlvbnMgYW5kIHJlcGxhY2UgdGhlbQorICogd2l0aCB0aGVpciBvd24gaW1wbGVtZW50
YXRpb25zLgorICoKKyAqIFNlZSBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZGF0YS1yYWNlLXRl
c3Qvd2lraS9EeW5hbWljQW5ub3RhdGlvbnMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKwor
I2lmIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKQorLyogVGVsbCBkYXRhIHJhY2UgZGV0ZWN0b3Ig
dGhhdCB3ZSdyZSBub3QgaW50ZXJlc3RlZCBpbiByZXBvcnRzIG9uIHRoZSBnaXZlbiBhZGRyZXNz
IHJhbmdlLiAqLworI2RlZmluZSBXVEZfQU5OT1RBVEVfQkVOSUdOX1JBQ0VfU0laRUQoYWRkcmVz
cywgc2l6ZSwgZGVzY3JpcHRpb24pIFdURkFubm90YXRlQmVuaWduUmFjZVNpemVkKF9fRklMRV9f
LCBfX0xJTkVfXywgYWRkcmVzcywgc2l6ZSwgZGVzY3JpcHRpb24pCisjZGVmaW5lIFdURl9BTk5P
VEFURV9CRU5JR05fUkFDRShwb2ludGVyLCBkZXNjcmlwdGlvbikgV1RGQW5ub3RhdGVCZW5pZ25S
YWNlU2l6ZWQoX19GSUxFX18sIF9fTElORV9fLCBwb2ludGVyLCBzaXplb2YoKihwb2ludGVyKSks
IGRlc2NyaXB0aW9uKQorCisvKiBBbm5vdGF0aW9ucyBmb3IgdXNlci1kZWZpbmVkIHN5bmNocm9u
aXphdGlvbiBtZWNoYW5pc21zLgorICogVGhlc2UgYW5ub3RhdGlvbnMgY2FuIGJlIHVzZWQgdG8g
ZGVmaW5lIGhhcHBlbnMtYmVmb3JlIGFyY3MgaW4gdXNlci1kZWZpbmVkCisgKiBzeW5jaHJvbml6
YXRpb24gbWVjaGFuaXNtczogdGhlIHJhY2UgZGV0ZWN0b3Igd2lsbCBpbmZlciBhbiBhcmMgZnJv
bQorICogdGhlIGZvcm1lciB0byB0aGUgbGF0dGVyIHdoZW4gdGhleSBzaGFyZSB0aGUgc2FtZSBh
cmd1bWVudCBwb2ludGVyLgorICoKKyAqIFRoZSBtb3N0IGNvbW1vbiBjYXNlIHJlcXVpcmluZyBh
bm5vdGF0aW9ucyBpcyBhdG9taWMgcmVmZXJlbmNlIGNvdW50aW5nOgorICogYm9vbCBkZXJlZigp
IHsKKyAqICAgICBBTk5PVEFURV9IQVBQRU5TX0JFRk9SRSgmbV9yZWZDb3VudCk7CisgKiAgICAg
aWYgKCFhdG9taWNEZWNyZW1lbnQoJm1fcmVmQ291bnQpKSB7CisgKiAgICAgICAgIC8vIG1fcmVm
Q291bnQgaXMgbm93IDAKKyAqICAgICAgICAgQU5OT1RBVEVfSEFQUEVOU19BRlRFUigmbV9yZWZD
b3VudCk7CisgKiAgICAgICAgIC8vICJyZXR1cm4gdHJ1ZTsgaGFwcGVucy1hZnRlciBlYWNoIGF0
b21pY0RlY3JlbWVudCBvZiBtX3JlZkNvdW50IgorICogICAgICAgICByZXR1cm4gdHJ1ZTsKKyAq
ICAgICB9CisgKiAgICAgcmV0dXJuIGZhbHNlOworICogfQorICovCisjZGVmaW5lIFdURl9BTk5P
VEFURV9IQVBQRU5TX0JFRk9SRShhZGRyZXNzKSBXVEZBbm5vdGF0ZUhhcHBlbnNCZWZvcmUoX19G
SUxFX18sIF9fTElORV9fLCBhZGRyZXNzKQorI2RlZmluZSBXVEZfQU5OT1RBVEVfSEFQUEVOU19B
RlRFUihhZGRyZXNzKSBXVEZBbm5vdGF0ZUhhcHBlbnNBZnRlcihfX0ZJTEVfXywgX19MSU5FX18s
IGFkZHJlc3MpCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKy8q
IERvbid0IHVzZSB0aGVzZSBkaXJlY3RseSwgdXNlIHRoZSBhYm92ZSBtYWNyb3MgaW5zdGVhZC4g
Ki8KK3ZvaWQgV1RGQW5ub3RhdGVCZW5pZ25SYWNlU2l6ZWQoY29uc3QgY2hhciogZmlsZSwgaW50
IGxpbmUsIGNvbnN0IHZvbGF0aWxlIHZvaWQqIG1lbW9yeSwgbG9uZyBzaXplLCBjb25zdCBjaGFy
KiBkZXNjcmlwdGlvbik7Cit2b2lkIFdURkFubm90YXRlSGFwcGVuc0JlZm9yZShjb25zdCBjaGFy
KiBmaWxlLCBpbnQgbGluZSwgY29uc3Qgdm9sYXRpbGUgdm9pZCogYWRkcmVzcyk7Cit2b2lkIFdU
RkFubm90YXRlSGFwcGVuc0FmdGVyKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCB2
b2xhdGlsZSB2b2lkKiBhZGRyZXNzKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfSAvLyBleHRlcm4g
IkMiCisjZW5kaWYKKworI2Vsc2UgLy8gVVNFKERZTkFNSUNfQU5OT1RBVElPTlMpCisvKiBUaGVz
ZSBtYWNyb3MgYXJlIGVtcHR5IHdoZW4gZHluYW1pYyBhbm5vdGF0aW9ucyBhcmUgbm90IGVuYWJs
ZWQgc28geW91IGNhbgorICogdXNlIHRoZW0gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHBlcmZvcm1h
bmNlIG9mIHJlbGVhc2UgYmluYXJpZXMuICovCisjZGVmaW5lIFdURl9BTk5PVEFURV9CRU5JR05f
UkFDRV9TSVpFRChhZGRyZXNzLCBzaXplLCBkZXNjcmlwdGlvbikKKyNkZWZpbmUgV1RGX0FOTk9U
QVRFX0JFTklHTl9SQUNFKHBvaW50ZXIsIGRlc2NyaXB0aW9uKQorI2RlZmluZSBXVEZfQU5OT1RB
VEVfSEFQUEVOU19CRUZPUkUoYWRkcmVzcykKKyNkZWZpbmUgV1RGX0FOTk9UQVRFX0hBUFBFTlNf
QUZURVIoYWRkcmVzcykKKyNlbmRpZiAvLyBVU0UoRFlOQU1JQ19BTk5PVEFUSU9OUykKKworI2Vu
ZGlmIC8vIFdURl9EeW5hbWljQW5ub3RhdGlvbnNfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaAkocmV2aXNpb24gODI0ODgpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmgJKHdvcmtp
bmcgY29weSkKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5j
bHVkZSA8d3RmL0F0b21pY3MuaD4KKyNpbmNsdWRlIDx3dGYvRHluYW1pY0Fubm90YXRpb25zLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIFdURiB7
CkBAIC0xMDMsOCArMTA0LDExIEBAIHByb3RlY3RlZDoKICAgICBib29sIGRlcmVmQmFzZSgpCiAg
ICAgewogI2lmIFVTRShMT0NLRlJFRV9USFJFQURTQUZFUkVGQ09VTlRFRCkKLSAgICAgICAgaWYg
KGF0b21pY0RlY3JlbWVudCgmbV9yZWZDb3VudCkgPD0gMCkKKyAgICAgICAgV1RGX0FOTk9UQVRF
X0hBUFBFTlNfQkVGT1JFKCZtX3JlZkNvdW50KTsKKyAgICAgICAgaWYgKGF0b21pY0RlY3JlbWVu
dCgmbV9yZWZDb3VudCkgPD0gMCkgeworICAgICAgICAgICAgV1RGX0FOTk9UQVRFX0hBUFBFTlNf
QUZURVIoJm1fcmVmQ291bnQpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
ICNlbHNlCiAgICAgICAgIGludCByZWZDb3VudDsKICAgICAgICAgewpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcAkocmV2aXNpb24g
ODI0ODgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nU3RhdGljcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAi
QXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiRHluYW1pY0Fubm90YXRpb25zLmgiCiAjaW5jbHVk
ZSAiU3RhdGljQ29uc3RydWN0b3JzLmgiCiAjaW5jbHVkZSAiU3RyaW5nSW1wbC5oIgogCkBAIC00
Niw2ICs0Nyw3IEBAIFN0cmluZ0ltcGwqIFN0cmluZ0ltcGw6OmVtcHR5KCkKICAgICAvLyBQQ1JF
IGdvZXMgYXdheS4KICAgICBzdGF0aWMgVUNoYXIgZW1wdHlVQ2hhckRhdGEgPSAwOwogICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3RyaW5nSW1wbCwgZW1wdHlTdHJpbmcsICgmZW1wdHlVQ2hhckRh
dGEsIDAsIENvbnN0cnVjdFN0YXRpY1N0cmluZykpOworICAgIFdURl9BTk5PVEFURV9CRU5JR05f
UkFDRSgmZW1wdHlTdHJpbmcsICJCZW5pZ24gcmFjZSBvbiBTdHJpbmdJbXBsOjplbXB0eVN0cmlu
ZyByZWZlcmVuY2UgY291bnRlciIpOwogICAgIHJldHVybiAmZW1wdHlTdHJpbmc7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwkocmV2aXNpb24gODI0ODgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTEtMDMtMjggIFRpbXVyIElza2hvZHpoYW5vdiAgPHRpbXVycnJyQGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBBZGQgc29t
ZSBkeW5hbWljIGFubm90YXRpb25zIHRvIEphdmFTY3JpcHRDb3JlL3d0ZgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM3NDcKKworICAgICAgICBCeSB1
c2luZyB0aGVzZSBhbm5vdGF0aW9ucyB3ZSBjYW4gaW1wcm92ZSB0aGUgcHJlY2lzaW9uIG9mIGZp
bmRpbmcKKyAgICAgICAgV2ViS2l0IGVycm9ycyB1c2luZyBkeW5hbWljIGFuYWx5c2lzIHRvb2xz
IGxpa2UgVGhyZWFkU2FuaXRpemVyIGFuZCBWYWxncmluZC4KKyAgICAgICAgVGhlc2UgYW5ub3Rh
dGlvbnMgZG9uJ3QgYWZmZWN0IHRoZSBjb21waWxlZCBiaW5hcmllcyB1bmxlc3MgVVNFKERZTkFN
SUNfQU5OT1RBVElPTlMpIGlzICIxIi4KKworICAgICAgICBUaGVzZSBmaWxlcyBkb24ndCBhZGQg
bmV3IGZ1bmN0aW9uYWxpdHksIHNvIGRvbid0IG5lZWQgZXh0cmEgdGVzdHMuCisKKyAgICAgICAg
KiBGb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRpb25zLmg6IEFkZGVkLgorCiAy
MDExLTAzLTI1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fubm90YXRp
b25zLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBA
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRHluYW1pY0Fubm90YXRpb25zLmg+CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiA4MjQ4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTI4ICBUaW11ciBJc2tob2R6aGFu
b3YgIDx0aW11cnJyckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCisKKyAgICAgICAgQWRkIHNvbWUgZHluYW1pYyBhbm5vdGF0aW9ucyB0byBK
YXZhU2NyaXB0Q29yZS93dGYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUzNzQ3CisKKyAgICAgICAgQnkgdXNpbmcgdGhlc2UgYW5ub3RhdGlvbnMgd2Ug
Y2FuIGltcHJvdmUgdGhlIHByZWNpc2lvbiBvZiBmaW5kaW5nCisgICAgICAgIFdlYktpdCBlcnJv
cnMgdXNpbmcgZHluYW1pYyBhbmFseXNpcyB0b29scyBsaWtlIFRocmVhZFNhbml0aXplciBhbmQg
VmFsZ3JpbmQuCisgICAgICAgIFRoZXNlIGFubm90YXRpb25zIGRvbid0IGFmZmVjdCB0aGUgY29t
cGlsZWQgYmluYXJpZXMgdW5sZXNzIFVTRShEWU5BTUlDX0FOTk9UQVRJT05TKSBpcyAiMSIuCisK
KyAgICAgICAgVGhlc2UgZmlsZXMgZG9uJ3QgYWRkIG5ldyBmdW5jdGlvbmFsaXR5LCBzbyBkb24n
dCBuZWVkIGV4dHJhIHRlc3RzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5
bmFtaWNBbm5vdGF0aW9ucy5oOiBBZGRlZC4KKwogMjAxMS0wMy0zMCAgQnJpYW4gV2VpbnN0ZWlu
ICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRHluYW1pY0Fu
bm90YXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfRHluYW1pY0Fubm90YXRpb25z
X2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfRHluYW1pY0Fubm90YXRpb25zX2gKKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9EeW5hbWljQW5ub3RhdGlvbnMuaD4KKyNlbmRpZgpJbmRleDogVG9vbHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gODI0ODgp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAx
MS0wMy0yOCAgVGltdXIgSXNraG9kemhhbm92ICA8dGltdXJycnJAZ29vZ2xlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIEFkZCBzb21l
IGR5bmFtaWMgYW5ub3RhdGlvbnMgdG8gSmF2YVNjcmlwdENvcmUvd3RmCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzc0NworCisgICAgICAgIEJ5IHVz
aW5nIHRoZXNlIGFubm90YXRpb25zIHdlIGNhbiBpbXByb3ZlIHRoZSBwcmVjaXNpb24gb2YgZmlu
ZGluZworICAgICAgICBXZWJLaXQgZXJyb3JzIHVzaW5nIGR5bmFtaWMgYW5hbHlzaXMgdG9vbHMg
bGlrZSBUaHJlYWRTYW5pdGl6ZXIgYW5kIFZhbGdyaW5kLgorICAgICAgICBUaGVzZSBhbm5vdGF0
aW9ucyBkb24ndCBhZmZlY3QgdGhlIGNvbXBpbGVkIGJpbmFyaWVzIHVubGVzcyBVU0UoRFlOQU1J
Q19BTk5PVEFUSU9OUykgaXMgIjEiLgorCisgICAgICAgIFRoZXNlIGZpbGVzIGRvbid0IGFkZCBu
ZXcgZnVuY3Rpb25hbGl0eSwgc28gZG9uJ3QgbmVlZCBleHRyYSB0ZXN0cy4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMu
aDogQWRkZWQuCisKIDIwMTEtMDMtMzAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogVG9vbHMvRHVtcFJlbmRl
clRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0R5bmFtaWNBbm5vdGF0aW9ucy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWlj
QW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi9EeW5hbWljQW5ub3RhdGlvbnMuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSBAQAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0R5bmFtaWNBbm5vdGF0aW9ucy5oPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>