<?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>153478</bug_id>
          
          <creation_ts>2016-01-25 23:17:18 -0800</creation_ts>
          <short_desc>[GTK][EFL] Switch FTL to B3</short_desc>
          <delta_ts>2016-02-09 08:40:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=150279</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=153739</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>153644</dependson>
    
    <dependson>153647</dependson>
    
    <dependson>153720</dependson>
    
    <dependson>154031</dependson>
          <blocked>152248</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>fpizlo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jfbastien</cc>
    
    <cc>jh718.park</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1158726</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-25 23:17:18 -0800</bug_when>
    <thetext>Mac already did that in r195562. At the moment B3 doesn&apos;t even build, but since we have enabled FTL with LLVM for the first this cycle, we should probably witch to B3 before the next stable release, or disable FTL for now again to avoid introducing a dependency that we will remove soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158786</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-01-26 03:59:38 -0800</bug_when>
    <thetext>It should build fine, see bug153456 for details.

But unfortunately there are zillion crashes, see bug153422 for details.
Before this serious regression there were only 6 crashes. (bug152248)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160062</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-01-29 01:40:26 -0800</bug_when>
    <thetext>Now there is only one JSC test failure with B3 based FTL JIT: bug153644
Once this bug is fixed, we can enable it by default and start removing
LLVM dependency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160063</commentid>
    <comment_count>3</comment_count>
      <attachid>270193</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-01-29 01:42:34 -0800</bug_when>
    <thetext>Created attachment 270193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160117</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-29 07:19:38 -0800</bug_when>
    <thetext>Since LLVM will now only be used by the iOS, I think we should get rid of FindLLVM.cmake and all the LLVM goo from the the JavaScriptCore CMake files as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160553</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-30 15:25:48 -0800</bug_when>
    <thetext>Certainly we need the build to not fail when LLVM is not installed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160554</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-30 15:29:56 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Since LLVM will now only be used by the iOS, I think we should get rid of
&gt; FindLLVM.cmake and all the LLVM goo from the the JavaScriptCore CMake files
&gt; as well.

I didn&apos;t realize that EFL supported FTL on AArch64. I don&apos;t know why EFL supports this but not GTK.

Anyway, I guess we need to leave the LLVM CMake goo around for that case, unless you want to drop support for FTL or AArch64, but we should stop using it at least when it&apos;s not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160607</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-30 18:22:13 -0800</bug_when>
    <thetext>*** Bug 153720 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160618</commentid>
    <comment_count>8</comment_count>
      <attachid>270333</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-30 20:13:46 -0800</bug_when>
    <thetext>Created attachment 270333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160619</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-30 20:15:04 -0800</bug_when>
    <thetext>This patch seems to work in both Epiphany and MiniBrowser, but I couldn&apos;t immediately figure out how to get JSC tests working, so....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160622</commentid>
    <comment_count>10</comment_count>
      <attachid>270334</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-30 20:18:56 -0800</bug_when>
    <thetext>Created attachment 270334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160628</commentid>
    <comment_count>11</comment_count>
      <attachid>270337</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-30 20:36:22 -0800</bug_when>
    <thetext>Created attachment 270337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160646</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-31 03:16:29 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; Since LLVM will now only be used by the iOS, I think we should get rid of
&gt; &gt; FindLLVM.cmake and all the LLVM goo from the the JavaScriptCore CMake files
&gt; &gt; as well.
&gt; 
&gt; I didn&apos;t realize that EFL supported FTL on AArch64. I don&apos;t know why EFL
&gt; supports this but not GTK.

IIRC, LLVM needed some patches for AArch64 that were not in LLVM 3.7. EFL enabled it adding those patches in jhbuild. But that doesn&apos;t work for us in production, so we were waiting for those patches to land in LLVM and require the new version for AArch64.

&gt; Anyway, I guess we need to leave the LLVM CMake goo around for that case,
&gt; unless you want to drop support for FTL or AArch64, but we should stop using
&gt; it at least when it&apos;s not needed.

I think it&apos;s indeed simpler to just disable FTL on AArch64 for now, but maybe EFL guys have a good reason to keep using LLVM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160809</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-01 02:36:18 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; Since LLVM will now only be used by the iOS, I think we should get rid of
&gt; &gt; &gt; FindLLVM.cmake and all the LLVM goo from the the JavaScriptCore CMake files
&gt; &gt; &gt; as well.
&gt; &gt; 
&gt; &gt; I didn&apos;t realize that EFL supported FTL on AArch64. I don&apos;t know why EFL
&gt; &gt; supports this but not GTK.
&gt; 
&gt; IIRC, LLVM needed some patches for AArch64 that were not in LLVM 3.7. EFL
&gt; enabled it adding those patches in jhbuild. But that doesn&apos;t work for us in
&gt; production, so we were waiting for those patches to land in LLVM and require
&gt; the new version for AArch64.

FTL JIT worked more or less with the patched LLVM 3.5 on AArch64,
but it wasn&apos;t enabled by default ever, because there were a few
JSC stress test crashes. Bumping to LLVM 3.6 wasn&apos;t possible,
because LLVM stucked in an infinite loop during compiling.
(didn&apos;t investigate what was the problem)

First and last, it isn&apos;t showstopper to remove the LLVM dependency
and enable B3-FTL by default on X86_64 Linux platforms. And we can
enable it on AArch64 once it is ready.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160811</commentid>
    <comment_count>14</comment_count>
      <attachid>270337</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-01 03:00:50 -0800</bug_when>
    <thetext>Comment on attachment 270337
Patch

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

In general it looks good to me with some changes.

&gt; Source/JavaScriptCore/CMakeLists.txt:-1074
&gt; -        llvm/InitializeLLVM.cpp
&gt; -        llvm/InitializeLLVMLinux.cpp
&gt; -        llvm/InitializeLLVMPOSIX.cpp

I think we will need these files for LLVMDisassembler, but I can fix it later.

&gt; Source/JavaScriptCore/ftl/FTLState.cpp:52
&gt; +#if !FTL_USES_B3
&gt;      , context(llvm-&gt;ContextCreate())
&gt; +#endif

In this case context member would be uninitialized and unused.
Let&apos;s add guard for it in the header file too.

&gt; Source/WTF/wtf/Platform.h:794
&gt;  

We can remove these lines from Platform.h:

#if PLATFORM(GTK) &amp;&amp; HAVE(LLVM) &amp;&amp; ENABLE(JIT) &amp;&amp; !defined(ENABLE_FTL_JIT) &amp;&amp; CPU(X86_64)
#define ENABLE_FTL_JIT 1
#endif

&gt; Source/cmake/FindLLVM.cmake:-1
&gt; -#

Please don&apos;t remove Source/cmake/FindLLVM.cmake, because LLVMDisassembler still needs LLVM.

&gt; Source/cmake/OptionsEfl.cmake:280
&gt; +if (ENABLE_FTL_JIT AND NOT WTF_CPU_X86_64)
&gt; +    message(FATAL_ERROR &quot;FTL JIT is only available on X86_64 architecture.&quot;)

It would be great if we can enable FTL JIT explicitly with command line option on AArch64 too for testing purposes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160965</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-01 11:57:06 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; I think we will need these files for LLVMDisassembler, but I can fix it
&gt; later.

I didn&apos;t know about LLVMDisassembler. OK.

&gt; In this case context member would be uninitialized and unused.
&gt; Let&apos;s add guard for it in the header file too.

OK.

&gt; We can remove these lines from Platform.h:
&gt; 
&gt; #if PLATFORM(GTK) &amp;&amp; HAVE(LLVM) &amp;&amp; ENABLE(JIT) &amp;&amp; !defined(ENABLE_FTL_JIT)
&gt; &amp;&amp; CPU(X86_64)
&gt; #define ENABLE_FTL_JIT 1
&gt; #endif

Yeah, ENABLE_FTL_JIT is guaranteed to be defined for a long time now, that so condition will never be hit.

&gt; &gt; Source/cmake/FindLLVM.cmake:-1
&gt; &gt; -#
&gt; 
&gt; Please don&apos;t remove Source/cmake/FindLLVM.cmake, because LLVMDisassembler
&gt; still needs LLVM.

OK.

&gt; It would be great if we can enable FTL JIT explicitly with command line
&gt; option on AArch64 too for testing purposes.

OK, let&apos;s allow it when DEVELOPER_MODE is on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161220</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-02 00:54:12 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; &gt; It would be great if we can enable FTL JIT explicitly with command line
&gt; &gt; option on AArch64 too for testing purposes.
&gt; 
&gt; OK, let&apos;s allow it when DEVELOPER_MODE is on.

I didn&apos;t mean enabling by default, because it isn&apos;t stable at all.
Without FTL JIT we have 20-40 crashes long time ago on AArch64: bug151486,
and ~120 crashes with enabled B3 FTL JIT.

94    WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTL_JIT PUBLIC ${WTF_CPU_X86_64})
This line enables FTL JIT on X86_64 by default, it&apos;s correct. But we didn&apos;t
want to enable it on AArch64 yet, because JSC in itself it is unstable
on AArch64 Linux a half year ago. We don&apos;t want to have more problem
until somebody fixes bug151486.

279    if (ENABLE_FTL_JIT AND NOT WTF_CPU_X86_64)
280        message(FATAL_ERROR &quot;FTL JIT is only available on X86_64 architecture.&quot;)

I simply meant that we shouldn&apos;t trigger fatal error if a developer would 
like to enable FTL JIT on AArch64 with --ftl-jit command line option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161298</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-02 10:01:12 -0800</bug_when>
    <thetext>Right, I understood. I am planning to do this:

if (ENABLE_FTL_JIT AND NOT WTF_CPU_X86_64 AND NOT DEVELOPER_MODE)
    message(FATAL_ERROR &quot;FTL JIT is only available on X86_64 architecture.&quot;)
endif ()

So if you pass -DENABLE_FTL_JIT and -DDEVELOPER_MODE (which should be passed by build-webkit) you can get FTL on AArch64, but otherwise you&apos;ll get stopped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161482</commentid>
    <comment_count>18</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-02 18:51:13 -0800</bug_when>
    <thetext>(In reply to comment #14) 
&gt; In this case context member would be uninitialized and unused.
&gt; Let&apos;s add guard for it in the header file too.

It gets used from various places... let&apos;s initialize it to nullptr and see if that works....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161525</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-02 21:12:25 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; This patch seems to work in both Epiphany and MiniBrowser, but I couldn&apos;t
&gt; immediately figure out how to get JSC tests working, so....

I ran &apos;run-javascriptcore-tests --debug --ftl&apos; and got 30787/30787 passes. Some tests were disabled due to &quot;missing Ruby features&quot; but seems good enough to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161540</commentid>
    <comment_count>20</comment_count>
      <attachid>270550</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-02 21:44:37 -0800</bug_when>
    <thetext>Created attachment 270550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161593</commentid>
    <comment_count>21</comment_count>
      <attachid>270560</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 00:30:23 -0800</bug_when>
    <thetext>Created attachment 270560
Rebased patch

Just made it apply on current trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161604</commentid>
    <comment_count>22</comment_count>
      <attachid>270562</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 00:50:20 -0800</bug_when>
    <thetext>Created attachment 270562
Try again

Same patch again now that build fix landed in r196057</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161613</commentid>
    <comment_count>23</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 01:24:29 -0800</bug_when>
    <thetext>I&apos;ve just tried the patch but got a couple of failures:

modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules: Segmentation fault
modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules: ERROR: Unexpected exit code: 139
modules.yaml/modules/namespace.js.ftl-eager-modules: Segmentation fault
modules.yaml/modules/namespace.js.ftl-eager-modules: ERROR: Unexpected exit code: 139
30901/30901 (failed 2)         

** The following JSC stress test failures have been introduced:
	modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules
	modules.yaml/modules/namespace.js.ftl-eager-modules

Results for JSC stress tests:
    2 failures found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161614</commentid>
    <comment_count>24</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 01:49:28 -0800</bug_when>
    <thetext>I&apos;ve run Kraken, Octane, JetStream and Speedometer without problems, though, and getting significant better results with B3 in all cases expect Speedometer that I got the very same score with LLVM. I&apos;m currently running my browser with B3 too, without problems so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161633</commentid>
    <comment_count>25</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-03 03:57:12 -0800</bug_when>
    <thetext>Results on EFL port:

** The following JSC stress test failures have been introduced:
	modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules

Results for JSC stress tests:
    1 failure found.


Maybe it is a flakiness or a new regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161651</commentid>
    <comment_count>26</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-03 05:38:53 -0800</bug_when>
    <thetext>We will need to add the following lines to Options&lt;Efl|Gtk&gt;.cmake :

+if (USE_LLVM_DISASSEMBLER)
+    find_package(LLVM REQUIRED)
+    SET_AND_EXPOSE_TO_BUILD(HAVE_LLVM TRUE)
+endif()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161652</commentid>
    <comment_count>27</comment_count>
      <attachid>270562</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-03 05:52:52 -0800</bug_when>
    <thetext>Comment on attachment 270562
Try again

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

&gt; Source/JavaScriptCore/CMakeLists.txt:1076
&gt; +    list(APPEND JavaScriptCore_SOURCES
&gt; +        disassembler/LLVMDisassembler.cpp
&gt; +        disassembler/X86Disassembler.cpp

We can remove these lines, these sources are added to JavaScriptCore_SOURCES unconditionally.

&gt; Source/JavaScriptCore/dfg/DFGPlan.cpp:458
&gt; +#if !FTL_USES_B3 || USE(LLVM_DISASSEMBLER)

How is this file related to LLVM_DISASSEMBLER?

&gt; Source/JavaScriptCore/dfg/DFGPlan.cpp:464
&gt; +#if !FTL_USES_B3 || USE(LLVM_DISASSEMBLER)

ditto

&gt; Source/JavaScriptCore/dfg/DFGPlan.cpp:471
&gt; +#if !FTL_USES_B3 || USE(LLVM_DISASSEMBLER)

ditto

&gt; Source/JavaScriptCore/ftl/FTLState.cpp:41
&gt; +#if !FTL_USES_B3
&gt; +#include &lt;llvm/InitializeLLVM.h&gt;
&gt; +#endif

llvm/InitializeLLVM.h is guarded properly, we don&apos;t need conditional include.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161655</commentid>
    <comment_count>28</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 06:09:35 -0800</bug_when>
    <thetext>We also need to change if (ENABLE_FTL_JIT) with if (USE_LLVM_DISASSEMBLER) in PlatformGTK.cmake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161656</commentid>
    <comment_count>29</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 06:24:35 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Results on EFL port:
&gt; 
&gt; ** The following JSC stress test failures have been introduced:
&gt; 	modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules
&gt; 
&gt; Results for JSC stress tests:
&gt;     1 failure found.
&gt; 
&gt; 
&gt; Maybe it is a flakiness or a new regression.

Yes, maybe, I&apos;ve just run it again and I got this one only as well. I&apos;m using it in my browser without problems, so I think we can land the patch and fix tests failing afterwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161664</commentid>
    <comment_count>30</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-02-03 07:47:12 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Results on EFL port:
&gt; 
&gt; ** The following JSC stress test failures have been introduced:
&gt; 	modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules
&gt; 
&gt; Results for JSC stress tests:
&gt;     1 failure found.
&gt; 
&gt; 
&gt; Maybe it is a flakiness or a new regression.

Is it caused before enabling B3?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161670</commentid>
    <comment_count>31</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-03 08:09:23 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; (In reply to comment #25)
&gt; &gt; Results on EFL port:
&gt; &gt; 
&gt; &gt; ** The following JSC stress test failures have been introduced:
&gt; &gt; 	modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules
&gt; &gt; 
&gt; &gt; Results for JSC stress tests:
&gt; &gt;     1 failure found.
&gt; &gt; 
&gt; &gt; 
&gt; &gt; Maybe it is a flakiness or a new regression.
&gt; 
&gt; Is it caused before enabling B3?

Linux platforms still use LLVM-FTL without any failures, but 
we got this crash with the proposed patch which tries to enable B3.

But previously (near a week before) I haven&apos;t seen any failures
with enabled B3, that&apos;s why I think it can be a regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161671</commentid>
    <comment_count>32</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 08:18:26 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #30)
&gt; &gt; (In reply to comment #25)
&gt; &gt; &gt; Results on EFL port:
&gt; &gt; &gt; 
&gt; &gt; &gt; ** The following JSC stress test failures have been introduced:
&gt; &gt; &gt; 	modules.yaml/modules/execution-order-self.js.ftl-eager-no-cjit-modules
&gt; &gt; &gt; 
&gt; &gt; &gt; Results for JSC stress tests:
&gt; &gt; &gt;     1 failure found.
&gt; &gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; Maybe it is a flakiness or a new regression.
&gt; &gt; 
&gt; &gt; Is it caused before enabling B3?
&gt; 
&gt; Linux platforms still use LLVM-FTL without any failures, but 
&gt; we got this crash with the proposed patch which tries to enable B3.
&gt; 
&gt; But previously (near a week before) I haven&apos;t seen any failures
&gt; with enabled B3, that&apos;s why I think it can be a regression.

And that&apos;s why I think we should land this in trunk asap, while the patch is hanging here new regressions in linux might be introduced without nobody noticing it :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161674</commentid>
    <comment_count>33</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-02-03 08:41:06 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; And that&apos;s why I think we should land this in trunk asap, while the patch is
&gt; hanging here new regressions in linux might be introduced without nobody
&gt; noticing it :-)

Yeah, landing this patch is very nice to me too ;)
I&apos;ve just applied this patch, and built JSC and execute it infinitely by &quot;test.rb&quot;
loop {
    system &quot;WebKitBuild/Release/bin/jsc -m Source/JavaScriptCore/tests/modules/execution-order-self.js&quot;
}

But I didn&apos;t see any segv yet. Once it is caused, is it possible to paste its stack trace? (A separated issue is nice).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161684</commentid>
    <comment_count>34</comment_count>
      <attachid>270579</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 09:32:54 -0800</bug_when>
    <thetext>Created attachment 270579
Addressed review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161686</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-03 09:34:46 -0800</bug_when>
    <thetext>Attachment 270579 did not pass style-queue:


ERROR: Source/cmake/OptionsEfl.cmake:282:  One space between command &quot;endif&quot; and its parentheses, should be &quot;endif (&quot;  [whitespace/parentheses] [5]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161688</commentid>
    <comment_count>36</comment_count>
      <attachid>270580</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-03 09:37:22 -0800</bug_when>
    <thetext>Created attachment 270580
Fix &quot;coding&quot; style in EFL cmake file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161750</commentid>
    <comment_count>37</comment_count>
      <attachid>270580</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-03 12:32:56 -0800</bug_when>
    <thetext>Comment on attachment 270580
Fix &quot;coding&quot; style in EFL cmake file

LGTM, let&apos;s do the B3!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161760</commentid>
    <comment_count>38</comment_count>
      <attachid>270580</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-03 13:21:51 -0800</bug_when>
    <thetext>Comment on attachment 270580
Fix &quot;coding&quot; style in EFL cmake file

Clearing flags on attachment: 270580

Committed r196077: &lt;http://trac.webkit.org/changeset/196077&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161761</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-03 13:21:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1161941</commentid>
    <comment_count>40</comment_count>
      <attachid>270580</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-04 02:07:55 -0800</bug_when>
    <thetext>Comment on attachment 270580
Fix &quot;coding&quot; style in EFL cmake file

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

&gt; Source/cmake/OptionsEfl.cmake:94
&gt; -WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTL_JIT PUBLIC ${ENABLE_FTL_DEFAULT})
&gt; +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTL_JIT PUBLIC ${WTF_CPU_X86_64})

It didn&apos;t work on non X86_64, because WTF_CPU_X86_64 is undefined, not OFF.
Reverted this part of the patch in https://trac.webkit.org/changeset/196113</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270193</attachid>
            <date>2016-01-29 01:42:34 -0800</date>
            <delta_ts>2016-01-30 20:13:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153478-20160129104208.patch</filename>
            <type>text/plain</type>
            <size>2460</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1ODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YjFjNzUwMTdmMjcyYmYyNTA2NGYyNDkxZjJkMzQ3YjRhNWJhMTQ3Li41YjIwMmE3MWY4MWJlYzE0
ZWZmMDM4MTY5ZGNmNTEyNzZkZjdkMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNi0wMS0yOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFtHVEtdW0VGTF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkZmcvREZHQ29tbW9uLmg6CisK
IDIwMTYtMDEtMjggIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAg
ICAgICAgW0IzXSBSRUdSRVNTSU9OKHIxOTUzOTUpOiB0ZXN0Q29tcGxleCg2NCwgMTI4KSBhc3Nl
cnRzIG9uIExpbnV4IHdpdGggR0NDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk0MTE4ZGY4NTE5MDEyYTUyMjA5ZGQzNzhiNjIz
NjM3MTZmYTQxNTUuLjdkNDNkNDJkMzNjMGIwYTE2YmZiNTg5NjYyOTMyMzY0MDk1YzQ4ZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDEtMjkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KKworICAgICAgICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTYtMDEtMjggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBlcXVhbElnbm9yaW5nQ2FzZSBzaW5jZSBhbGwgY2FsbGVycyByZWFsbHkgd2Fu
dGVkIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ29tbW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1v
bi5oCmluZGV4IDczNGU5NjJkZjYwNzcxNTcxMTE3MGE0ZjU4ODI3MDA4MGJhNmUzNTkuLjJmNzBh
M2JjMWU0MTJkZGE2NjEyMDIxOTJjYmNiN2ViMGRlZWY5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDb21tb24uaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIERGRyB7CiAKIC8vIFdlIGFyZSBpbiB0aGUgbWlkZGxlIG9mIGEgdHJhbnNpdGlvbiBmcm9t
IExMVk0gdG8gQjMgYXMgdGhlIGJhY2tlbmQgZm9yIHRoZSBGVEwuIFRoaXMgZmxhZyB3aWxsIGdv
CiAvLyBhd2F5IG9uY2UgdGhhdCB0cmFuc2l0aW9uIGlzIGZpbmlzaGVkLiBGb3Igbm93LCB3ZSBl
bmFibGUgQjMgb25seSBvbiBzb21lIHBsYXRmb3Jtcy4KLSNpZiBDUFUoWDg2XzY0KSAmJiBQTEFU
Rk9STShNQUMpCisjaWYgQ1BVKFg4Nl82NCkgJiYgRU5BQkxFKEZUTF9KSVQpCiAjZGVmaW5lIEZU
TF9VU0VTX0IzIDEKICNlbHNlCiAjZGVmaW5lIEZUTF9VU0VTX0IzIDAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4
IGViOTZmZDYyMWQzZTMxNDI2MjAxMzFjNThkYjIwODEzNzNiYzIyMzcuLjUyMDZlOGE5ZTg0Y2Nm
ZDM1MmUyMGZhZTgzMzU1ODVlMWMzNzQ1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtNzgzLDcgKzc4Myw3
IEBACiAKIC8qIFRoZSBCMyBjb21waWxlciBpcyBhbiBleHBlcmltZW50YWwgYmFja2VuZCB0aGF0
IGlzIHN0aWxsIGluIGRldmVsb3BtZW50LiBXZSB3aWxsIGtlZXAgaXQgYnVpbGRpbmcKICAgIG9u
IE1hYy94ODYtNjQgZm9yIG5vdywgdGhvdWdoIGl0IGlzIHVudXNlZCBleGNlcHQgZm9yIHRlc3Rz
LiAqLwotI2lmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykpICYmIChDUFUoWDg2XzY0
KSB8fCBDUFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJVCkKKyNpZiAoQ1BVKFg4Nl82NCkgfHwg
Q1BVKEFSTTY0KSkgJiYgRU5BQkxFKEZUTF9KSVQpCiAjZGVmaW5lIEVOQUJMRV9CM19KSVQgMQog
I2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270333</attachid>
            <date>2016-01-30 20:13:46 -0800</date>
            <delta_ts>2016-01-30 20:18:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153478-20160130221320.patch</filename>
            <type>text/plain</type>
            <size>18680</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDAxNjk0MjA0ODQ2NDdiZjA2MmZmZTNhODc5NDJkMDVjM2MxZDBmLi43YmNkNzM0M2U3ZGZkZjgz
Mzc4NjMyOGNlYzY4YjMwNTU3OTAzMDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNi0wMS0zMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bRUZMXSBTd2l0Y2ggRlRMIHRvIEIzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OiBSZW1vdmUgc3VwcG9ydCBmb3IgYnVpbGRpbmcgTExWTSBGVEwuCisgICAgICAgICogZGZnL0RG
R0NvbW1vbi5oOiBTZXQgRlRMX1VTRVNfQjMgb24gYWx3YXlzIG9uIHg4Nl82NC4KKyAgICAgICAg
KiBkZmcvREZHUGxhbi5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6UGxhbjo6Y29tcGlsZUluVGhy
ZWFkSW1wbCk6IERvIG5vdCBpbml0aWFsaXplIExMVk0gd2hlbiBGVExfVVNFU19CMyBpcyBlbmFi
bGVkLgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmg6IFNhYm90YWdlIHR5cGVk
ZWZzIHRvIExMVk0gYWJicmV2aWF0ZWQgdHlwZXMgc28gdGhleSBjYW4gYmUKKyAgICAgICAgdXNl
ZCB3aGVuIExMVk0gaXMgbm90IGluc3RhbGxlZC4gVGhpcyByZWxpZXMgb24gdGhlIGFzc3VtcHRp
b24gdGhhdCBhbGwgdXNlcyBvZiB0aGVzZSB0eXBlcworICAgICAgICB3aWxsIGJlIG5vLW9wcyB3
aGVuIEZUTF9VU0VTX0IzIGlzIGVuYWJsZWQuIEl0IHdvdWxkIGJlIGJldHRlciB0byByZW1vdmUg
dGhlc2UgZW50aXJlbGx5LgorICAgICAgICAqIGZ0bC9GVExGYWlsLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpmYWlsKTogRG9uJ3QgY2FsbCBsbHZtLT5EaXNwb3NlTW9kdWxlIHdoZW4gRlRMX1VT
RVNfQjMgaXMgZW5hYmxlZC4KKyAgICAgICAgKiBmdGwvRlRMU3RhdGUuY3BwOgorICAgICAgICAo
SlNDOjpGVEw6OlN0YXRlOjpTdGF0ZSk6IERvbid0IGNhbGwgbGx2bS0+Q29udGV4dENyZWF0ZSB3
aGVuIEZUTF9VU0VTX0IzIGlzIGVuYWJsZWQuCisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6On5T
dGF0ZSk6IERvbid0IGNhbGwgbGx2bS0+Q29udGV4dERpc3Bvc2Ugd2hlbiBGVExfVVNFU19CMyBp
cyBlbmFibGVkLgorCiAyMDE2LTAxLTMwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk1Nzk5IGFuZCBy
MTk1ODI4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwppbmRleCBhMDEyNjhkNzQyMWQ3YTRjOTJhNGI1ZmU2YzQ3NGZlZDM0NzI2NDBiLi5k
YTc3OWIzMDJhZDExMzhhMTM4N2JjZjMzOTIyM2I1M2UzZDVkZWEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE2LTAxLTMwICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCBFTkFCTEVfQjNfSklUIGJ5IGRl
ZmF1bHQgd2hlbiBGVEwgaXMgZW5hYmxlZC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgor
CiAyMDE2LTAxLTMwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk1OTExLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGY0MmI2Njk2YzIwNWVmZDA2OGYxMzQwNjhhMzcwZGMxMWIw
YjE0MGEuLmEzMTAzYzI1NzNiYWY3OGFiNzhiOTkxYjRkZDYzMDRiYmMwMWNlZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk4OCwyOSArOTg4LDcgQEAgbGlzdChBUFBF
TkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
Y3BwCiApCiAKLQogaWYgKEVOQUJMRV9GVExfSklUKQotICAgICMgQ29uZmlndXJlIGxsdm1Gb3JK
U0Muc28KLSAgICBzZXQobGx2bUZvckpTQ19TT1VSQ0VTCi0gICAgICAgIGxsdm0vbGlicmFyeS9M
TFZNQW5jaG9yLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCi0gICAg
ICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAotICAgICkKLSAgICBzZXQobGx2bUZv
ckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9Ci0g
ICAgICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgotICAgICkKLQot
ICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VT
X0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oCi0gICAgICAgIENP
TU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0b3VjaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NS
SVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAotICAgICAgICBWRVJCQVRJTSkK
LQotICAgICMgQWRkZWQgZXh0cmEgaXRlbXMgZm9yIEphdmFTY3JpcHRDb3JlCi0gICAgbGlzdChB
UFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAg
JHtMTFZNX0lOQ0xVREVfRElSU30KLSAgICApCi0KICAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0
Q29yZV9TT1VSQ0VTCiAgICAgICAgIGRmZy9ERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxs
YmFjay5jcHAKICAgICAgICAgZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2suY3BwCkBAIC0xMDY4LDExICsxMDQ2LDYgQEAgaWYgKEVOQUJMRV9GVExfSklU
KQogICAgICAgICBmdGwvRlRMVGh1bmtzLmNwcAogICAgICAgICBmdGwvRlRMVW53aW5kSW5mby5j
cHAKICAgICAgICAgZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCi0KLSAgICAgICAgbGx2bS9Jbml0aWFs
aXplTExWTS5jcHAKLSAgICAgICAgbGx2bS9Jbml0aWFsaXplTExWTUxpbnV4LmNwcAotICAgICAg
ICBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCi0gICAgICAgIGxsdm0vTExWTUFQSS5jcHAK
ICAgICApCiBlbmRpZiAoKQogCkBAIC0xMzUzLDI1ICsxMzI2LDYgQEAgZW5kaWYgKCkKIAogV0VC
S0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAKLWlmIChFTkFCTEVfRlRMX0pJ
VCkKLSAgICBpZiAoTk9UIGxsdm1Gb3JKU0NfTElCUkFSSUVTKQotICAgICAgICBzZXQobGx2bUZv
ckpTQ19MSUJSQVJJRVMgJHtMTFZNX1NUQVRJQ19MSUJSQVJJRVN9KQotICAgIGVuZGlmICgpCi0g
ICAgaWYgKE5PVCBsbHZtRm9ySlNDX0xJQlJBUklFUykKLSAgICAgICAgbWVzc2FnZShGQVRBTF9F
UlJPUiAiTm8gTExWTSBsaWJzIGZvdW5kLCBidXQgRlRMIGlzIGVuYWJsZWQuIFN0b3BwaW5nIGJ1
aWxkLiIpCi0gICAgZW5kaWYgKCkKLQotICAgIFdFQktJVF9XUkFQX1NPVVJDRUxJU1QoJHtsbHZt
Rm9ySlNDX1NPVVJDRVN9KQotICAgIGFkZF9saWJyYXJ5KGxsdm1Gb3JKU0MgU0hBUkVEICR7bGx2
bUZvckpTQ19TT1VSQ0VTfSAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dl
YktpdExMVk1MaWJyYXJ5VG9rZW4uaCkKLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMobGx2bUZv
ckpTQyAke2xsdm1Gb3JKU0NfTElCUkFSSUVTfSAke0xMVk1fU1lTVEVNX0xJQlJBUklFU30pCi0g
ICAgaWYgKE5PVCBDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJEYXJ3aW4iKQotICAgICAgICBB
RERfVEFSR0VUX1BST1BFUlRJRVMobGx2bUZvckpTQyBMSU5LX0ZMQUdTICItV2wsLS12ZXJzaW9u
LXNjcmlwdD0ke0pBVkFTQ1JJUFRDT1JFX0RJUn0vbGx2bS9saWJyYXJ5L2xpYmxsdm1Gb3JKU0Mu
dmVyc2lvbiIpCi0gICAgZW5kaWYgKCkKLSAgICBpZiAobGx2bUZvckpTQ19JTlNUQUxMX0RJUikK
LSAgICAgICAgaW5zdGFsbChUQVJHRVRTIGxsdm1Gb3JKU0MgREVTVElOQVRJT04gIiR7bGx2bUZv
ckpTQ19JTlNUQUxMX0RJUn0iKQotICAgIGVuZGlmICgpCi1lbmRpZiAoKQotCiBXRUJLSVRfQ1JF
QVRFX0ZPUldBUkRJTkdfSEVBREVSUyhKYXZhU2NyaXB0Q29yZSBESVJFQ1RPUklFUyAke0phdmFT
Y3JpcHRDb3JlX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RPUklFU30gRklMRVMgJHtKYXZhU2Ny
aXB0Q29yZV9GT1JXQVJESU5HX0hFQURFUlNfRklMRVN9KQogCiAKQEAgLTE0MDMsMTAgKzEzNTcs
NiBAQCBpZiAoJHtKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZUEV9IFNUUkVRVUFMICJTSEFSRUQi
KQogICAgIGluc3RhbGwoVEFSR0VUUyBKYXZhU2NyaXB0Q29yZSBERVNUSU5BVElPTiAiJHtMSUJf
SU5TVEFMTF9ESVJ9IikKIGVuZGlmICgpCiAKLWlmIChFTkFCTEVfRlRMX0pJVCkKLSAgICBhZGRf
ZGVwZW5kZW5jaWVzKEphdmFTY3JpcHRDb3JlIGxsdm1Gb3JKU0MpCi1lbmRpZiAoKQotCiAjIEZv
cmNlIHN0YWdpbmcgb2Ygc2hhcmVkIHNjcmlwdHMsIGV2ZW4gaWYgdGhleSBhcmVuJ3QgZGlyZWN0
bHkgdXNlZCB0byBidWlsZCBKYXZhU2NyaXB0Q29yZS4KIAogYWRkX2N1c3RvbV90YXJnZXQoc3Rh
Z2VTaGFyZWRTY3JpcHRzIERFUEVORFMgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTfSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCmluZGV4IDczNGU5NjJkZjYwNzcxNTcxMTE3MGE0
ZjU4ODI3MDA4MGJhNmUzNTkuLjJmNzBhM2JjMWU0MTJkZGE2NjEyMDIxOTJjYmNiN2ViMGRlZWY5
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaApAQCAtMzcsNyArMzcsNyBA
QCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIC8vIFdlIGFyZSBpbiB0aGUgbWlk
ZGxlIG9mIGEgdHJhbnNpdGlvbiBmcm9tIExMVk0gdG8gQjMgYXMgdGhlIGJhY2tlbmQgZm9yIHRo
ZSBGVEwuIFRoaXMgZmxhZyB3aWxsIGdvCiAvLyBhd2F5IG9uY2UgdGhhdCB0cmFuc2l0aW9uIGlz
IGZpbmlzaGVkLiBGb3Igbm93LCB3ZSBlbmFibGUgQjMgb25seSBvbiBzb21lIHBsYXRmb3Jtcy4K
LSNpZiBDUFUoWDg2XzY0KSAmJiBQTEFURk9STShNQUMpCisjaWYgQ1BVKFg4Nl82NCkgJiYgRU5B
QkxFKEZUTF9KSVQpCiAjZGVmaW5lIEZUTF9VU0VTX0IzIDEKICNlbHNlCiAjZGVmaW5lIEZUTF9V
U0VTX0IzIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCmluZGV4IDUxMmY0NDdk
NWZmMWU2NTM0MDE0ZjllZmVmYzFiNzI4YzU4Y2VjNjAuLjIzOTAzMDZkYjgxOTViZDA5ZWQ5YmY1
OTc3MzA4MWFkMDNjZjE1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcApA
QCAtNDU1LDE1ICs0NTUsMjAgQEAgUGxhbjo6Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJ
blRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0YXRlKQogCiAgICAgICAgIGR1
bXBBbmRWZXJpZnlHcmFwaChkZmcsICJHcmFwaCBqdXN0IGJlZm9yZSBGVEwgbG93ZXJpbmc6Iiwg
c2hvdWxkRHVtcERpc2Fzc2VtYmx5KG1vZGUpKTsKICAgICAgICAgCisjaWYgIUZUTF9VU0VTX0Iz
CiAgICAgICAgIGJvb2wgaGF2ZUxMVk07CisjZW5kaWYKICAgICAgICAgU2FmZXBvaW50OjpSZXN1
bHQgc2FmZXBvaW50UmVzdWx0OwogICAgICAgICB7CiAgICAgICAgICAgICBHcmFwaFNhZmVwb2lu
dCBzYWZlcG9pbnQoZGZnLCBzYWZlcG9pbnRSZXN1bHQpOworI2lmICFGVExfVVNFU19CMwogICAg
ICAgICAgICAgaGF2ZUxMVk0gPSBpbml0aWFsaXplTExWTSgpOworI2VuZGlmCiAgICAgICAgIH0K
ICAgICAgICAgaWYgKHNhZmVwb2ludFJlc3VsdC5kaWRHZXRDYW5jZWxsZWQoKSkKICAgICAgICAg
ICAgIHJldHVybiBDYW5jZWxQYXRoOwotICAgICAgICAKKworI2lmICFGVExfVVNFU19CMwogICAg
ICAgICBpZiAoIWhhdmVMTFZNKSB7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6ZnRsQ3Jhc2hl
c0lmQ2FudEluaXRpYWxpemVMTFZNKCkpIHsKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJMTFZN
IGNhbid0IGJlIGluaXRpYWxpemVkLlxuIik7CkBAIC00NzIsNiArNDc3LDcgQEAgUGxhbjo6Q29t
cGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxv
bmdMaXZlZFN0YXRlKQogICAgICAgICAgICAgZmluYWxpemVyID0gc3RkOjptYWtlX3VuaXF1ZTxG
YWlsZWRGaW5hbGl6ZXI+KCp0aGlzKTsKICAgICAgICAgICAgIHJldHVybiBGYWlsUGF0aDsKICAg
ICAgICAgfQorI2VuZGlmCiAKICAgICAgICAgRlRMOjpTdGF0ZSBzdGF0ZShkZmcpOwogICAgICAg
ICBGVEw6Omxvd2VyREZHVG9MTFZNKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKaW5kZXggOWJhNDZiMmQxZjRkMGUxMjQwM2MxZDJj
OTAxMjE1MTNkMTc2YzU0NC4uYTUxN2E5ZWRjZWVhNjc2ZTE1ZjUzZTdiMTg1YzRjNWY1MGRiZTg2
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5
cGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVz
LmgKQEAgLTQzLDExICs0MywyMCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiB0
eXBlZGVmIEIzOjpCYXNpY0Jsb2NrKiBMQmFzaWNCbG9jazsKIHR5cGVkZWYgQjM6OlR5cGUgTFR5
cGU7CiB0eXBlZGVmIEIzOjpWYWx1ZSogTFZhbHVlOworCit0eXBlZGVmIHZvaWQqIExBdG9taWNP
cmRlcmluZzsKK3R5cGVkZWYgdm9pZCogTEJ1aWxkZXI7Cit0eXBlZGVmIHZvaWQqIExDYWxsQ29u
djsKK3R5cGVkZWYgdm9pZCogTENvbnRleHQ7Cit0eXBlZGVmIHZvaWQqIExJbnRQcmVkaWNhdGU7
Cit0eXBlZGVmIHZvaWQqIExMaW5rYWdlOwordHlwZWRlZiB2b2lkKiBMTW9kdWxlOwordHlwZWRl
ZiB2b2lkKiBMUmVhbFByZWRpY2F0ZTsKK3R5cGVkZWYgdm9pZCogTE1lbW9yeUJ1ZmZlcjsKICNl
bHNlCiB0eXBlZGVmIExMVk1CYXNpY0Jsb2NrUmVmIExCYXNpY0Jsb2NrOwogdHlwZWRlZiBMTFZN
VHlwZVJlZiBMVHlwZTsKIHR5cGVkZWYgTExWTVZhbHVlUmVmIExWYWx1ZTsKLSNlbmRpZgogCiB0
eXBlZGVmIExMVk1BdG9taWNPcmRlcmluZyBMQXRvbWljT3JkZXJpbmc7CiB0eXBlZGVmIExMVk1C
dWlsZGVyUmVmIExCdWlsZGVyOwpAQCAtNTgsNiArNjcsNyBAQCB0eXBlZGVmIExMVk1MaW5rYWdl
IExMaW5rYWdlOwogdHlwZWRlZiBMTFZNTW9kdWxlUmVmIExNb2R1bGU7CiB0eXBlZGVmIExMVk1S
ZWFsUHJlZGljYXRlIExSZWFsUHJlZGljYXRlOwogdHlwZWRlZiBMTFZNTWVtb3J5QnVmZmVyUmVm
IExNZW1vcnlCdWZmZXI7CisjZW5kaWYKIAogZW51bSBTeW5jaHJvbml6YXRpb25TY29wZSB7IFNp
bmdsZVRocmVhZCwgQ3Jvc3NUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExGYWlsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFp
bC5jcHAKaW5kZXggYWMyZmMwN2ViYTFlNDNjZGMwYzQyYWVhMTM4ZTVjNmUzODBhNDU5My4uZDE1
NGViZDFhOGY5YzQ3Mjg3YTQ4M2ZmOWE5MGRkMzMxMGY3MjdhNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExGYWlsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEZhaWwuY3BwCkBAIC00MCw4ICs0MCwxMCBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0
YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPEZhaWxlZEZpbmFsaXplcj4oc3RhdGUuZ3JhcGgubV9wbGFuKTsKICAgICAKKyNpZiAhRlRM
X1VTRVNfQjMKICAgICBpZiAoc3RhdGUubW9kdWxlKQogICAgICAgICBsbHZtLT5EaXNwb3NlTW9k
dWxlKHN0YXRlLm1vZHVsZSk7CisjZW5kaWYKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZU
TApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAppbmRleCAyZWFjNDA5NTA4OWQ2
MmU3MDg5MzY0NTJlNjAxNGNiZDNkYTFmZjY4Li40NDQ1MzczMTQ4NTYxZTkwZjk0ZGYwZDQ4YWE2
YThhYzg0ODg3OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0
YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcApAQCAt
MzQsOSArMzQsMTIgQEAKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiRlRMSklU
RmluYWxpemVyLmgiCiAjaW5jbHVkZSAiRlRMUGF0Y2hwb2ludEV4Y2VwdGlvbkhhbmRsZS5oIgot
I2luY2x1ZGUgPGxsdm0vSW5pdGlhbGl6ZUxMVk0uaD4KICNpbmNsdWRlIDxzdGRpby5oPgogCisj
aWYgIUZUTF9VU0VTX0IzCisjaW5jbHVkZSA8bGx2bS9Jbml0aWFsaXplTExWTS5oPgorI2VuZGlm
CisKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIAogdXNpbmcgbmFtZXNwYWNlIEIz
OwpAQCAtNDQsNyArNDcsOSBAQCB1c2luZyBuYW1lc3BhY2UgREZHOwogCiBTdGF0ZTo6U3RhdGUo
R3JhcGgmIGdyYXBoKQogICAgIDogZ3JhcGgoZ3JhcGgpCisjaWYgIUZUTF9VU0VTX0IzCiAgICAg
LCBjb250ZXh0KGxsdm0tPkNvbnRleHRDcmVhdGUoKSkKKyNlbmRpZgogICAgICwgbW9kdWxlKDAp
CiAgICAgLCBmdW5jdGlvbigwKQogICAgICwgZ2VuZXJhdGVkRnVuY3Rpb24oMCkKQEAgLTg1LDcg
KzkwLDkgQEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKIAogU3RhdGU6On5TdGF0ZSgpCiB7
CisjaWYgIUZUTF9VU0VTX0IzCiAgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBTdGF0ZTo6ZHVtcFN0YXRlKGNvbnN0IGNoYXIqIHdoZW4pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaAppbmRleCBlNWRjMDk1N2VkNzBhMzFjZDE2OTNjYmRkNDdiM2QxMmIzOTViMjBhLi5jMDNk
ZmFmNGVlYjllMmQ5ZTZlNmJiN2U5ZjllMmE4OWRjYTk5MWJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTc4
Nyw5ICs3ODcsOCBAQAogI2RlZmluZSBFTkFCTEVfQ09OQ1VSUkVOVF9KSVQgMQogI2VuZGlmCiAK
LS8qIFRoZSBCMyBjb21waWxlciBpcyBhbiBleHBlcmltZW50YWwgYmFja2VuZCB0aGF0IGlzIHN0
aWxsIGluIGRldmVsb3BtZW50LiBXZSB3aWxsIGtlZXAgaXQgYnVpbGRpbmcKLSAgIG9uIE1hYy94
ODYtNjQgZm9yIG5vdywgdGhvdWdoIGl0IGlzIHVudXNlZCBleGNlcHQgZm9yIHRlc3RzLiAqLwot
I2lmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykpICYmIChDUFUoWDg2XzY0KSB8fCBD
UFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJVCkKKy8qIFRoaXMgY29udHJvbHMgd2hldGhlciBC
MyBpcyBidWlsdC4gSXQgd2lsbCBub3QgYmUgdXNlZCB1bmxlc3MgRlRMX1VTRVNfQjMgaXMgZW5h
YmxlZC4gKi8KKyNpZiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSkgJiYgRU5BQkxFKEZUTF9K
SVQpCiAjZGVmaW5lIEVOQUJMRV9CM19KSVQgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9GaW5kTExWTS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kTExWTS5jbWFrZQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExYWMyMDQ5NzE2YWRmZjJiOTM0YjBjMWRkNzY2
MDc1MTUwODY4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvY21ha2UvRmluZExMVk0uY21ha2UKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCww
IEBACi0jCi0jIENoZWNrIGlmIHRoZSBsbHZtLWNvbmZpZyBnaXZlcyB1cyB0aGUgcGF0aCBmb3Ig
dGhlIGxsdm0gbGlicy4KLSMKLSMgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNldDoKLSMg
IExMVk1fQ09ORklHX0VYRQotIyAgTExWTV9WRVJTSU9OCi0jICBMTFZNX0lOQ0xVREVfRElSUyAt
IGluY2x1ZGUgZGlyZWN0b3JpZXMgZm9yIHRoZSBsbHZtIGhlYWRlcnMuCi0jICBMTFZNX1NUQVRJ
Q19MSUJSQVJJRVMgLSBsaXN0IG9mIHBhdGhzIGZvciB0aGUgc3RhdGljIGxsdm0gbGlicmFyaWVz
LgotCi0KLWZvcmVhY2ggKF9wcm9ncmFtX25hbWUgbGx2bS1jb25maWcgbGx2bS1jb25maWctMy43
IGxsdm0tY29uZmlnLTMuNiBsbHZtLWNvbmZpZy0zLjUpCi0gICAgZmluZF9wcm9ncmFtKExMVk1f
Q09ORklHX0VYRSBOQU1FUyAke19wcm9ncmFtX25hbWV9KQotICAgIGlmIChMTFZNX0NPTkZJR19F
WEUpCi0gICAgICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAt
LXZlcnNpb24gT1VUUFVUX1ZBUklBQkxFIExMVk1fVkVSU0lPTiBPVVRQVVRfU1RSSVBfVFJBSUxJ
TkdfV0hJVEVTUEFDRSkKLSAgICAgICAgaWYgKCIke0xMVk1fVkVSU0lPTn0iIFZFUlNJT05fTEVT
UyAiJHtMTFZNX0ZJTkRfVkVSU0lPTn0iKQotICAgICAgICAgICAgdW5zZXQoTExWTV9DT05GSUdf
RVhFIENBQ0hFKQotICAgICAgICBlbHNlICgpCi0gICAgICAgICAgICBicmVhayAoKQotICAgICAg
ICBlbmRpZiAoKQotICAgIGVuZGlmICgpCi1lbmRmb3JlYWNoICgpCi0KLWV4ZWN1dGVfcHJvY2Vz
cyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAtLWluY2x1ZGVkaXIgT1VUUFVUX1ZBUklBQkxF
IExMVk1fSU5DTFVERV9ESVJTIE9VVFBVVF9TVFJJUF9UUkFJTElOR19XSElURVNQQUNFKQotZXhl
Y3V0ZV9wcm9jZXNzKENPTU1BTkQgJHtMTFZNX0NPTkZJR19FWEV9IC0tbGliZmlsZXMgT1VUUFVU
X1ZBUklBQkxFIExMVk1fU1RBVElDX0xJQlJBUklFUyBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJ
VEVTUEFDRSkKLWV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAtLXN5
c3RlbS1saWJzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX1NZU1RFTV9MSUJSQVJJRVMgT1VUUFVUX1NU
UklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke0xMVk1f
Q09ORklHX0VYRX0gLS1saWJkaXIgT1VUUFVUX1ZBUklBQkxFIExMVk1fTElCU19ESVJFQ1RPUlkg
T1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFO
RCAke0xMVk1fQ09ORklHX0VYRX0gLS1saWJzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX0xJQlMgT1VU
UFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAk
e0xMVk1fQ09ORklHX0VYRX0gLS1sZGZsYWdzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX0xERkxBR1Mg
T1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi0KLSMgRGVwZW5kaW5nIG9uIGhvdyBs
bHZtIHdhcyBidWlsdCwgd2UgY291bGQgaGF2ZSBlaXRoZXIgYSBnbG9iYWwgLnNvIGZpbGUgd2hl
biBidWlsdCB1c2luZyBhdXRvdG9vbHMsCi0jIG9yIG11bHRpcGxlIC5zbyBmaWxlcyBmb3IgZWFj
aCBzdGF0aWMgbGlicmFyeSB3aGVuIGJ1aWx0IHVzaW5nIENNYWtlLiBTbywgd2Ugc2V0IHRoZSBM
TFZNX0xJQlNfRElSRUNUT1JZCi0jIHZhcmlhYmxlIGhlcmUgYWNjb3JkaW5nbHkgZm9yIGVhY2gg
Y2FzZS4KLSMgV2UgbmVlZCB0byBidWlsZCB0aGUgc29uYW1lIG1hbnVhbGx5IGluIGFueSBjYXNl
LCBzaW5jZSB0aGVyZSdzIGN1cnJlbnRseSBubyB3YXkgdG8gZ2V0IGl0IGZyb20gbGx2bS1jb25m
aWcuCi1zZXQoTExWTV9TT05BTUUgIkxMVk0tJHtMTFZNX1ZFUlNJT059IikKLWlmIChFWElTVFMg
IiR7TExWTV9MSUJTX0RJUkVDVE9SWX0vbGliJHtMTFZNX1NPTkFNRX0uc28iKQotICAgIHNldChM
TFZNX0xJQlJBUklFUyAiJHtMTFZNX0xERkxBR1N9IC1sJHtMTFZNX1NPTkFNRX0iKQotZWxzZSAo
KQotICAgIHNldChMTFZNX0xJQlJBUklFUyAiJHtMTFZNX0xERkxBR1N9ICR7TExWTV9MSUJTfSIp
Ci1lbmRpZiAoKQotCi0jIGNvbnZlcnQgdGhlIGxpc3Qgb2YgcGF0aHMgaW50byBhIGNtYWtlIGxp
c3QKLXNlcGFyYXRlX2FyZ3VtZW50cyhMTFZNX1NUQVRJQ19MSUJSQVJJRVMpCi0KLWluY2x1ZGUo
RmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCi1maW5kX3BhY2thZ2VfaGFuZGxlX3N0YW5k
YXJkX2FyZ3MoTExWTQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFUVVJUkVE
X1ZBUlMgTExWTV9WRVJTSU9OIExMVk1fSU5DTFVERV9ESVJTIExMVk1fTElCUkFSSUVTIExMVk1f
U1RBVElDX0xJQlJBUklFUwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJ
T05fVkFSIExMVk1fVkVSU0lPTikKLQotbWFya19hc19hZHZhbmNlZChMTFZNX1ZFUlNJT04gTExW
TV9JTkNMVURFX0RJUlMgTExWTV9MSUJSQVJJRVMgTExWTV9TVEFUSUNfTElCUkFSSUVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQppbmRleCAyNDM4YzYzNWVjMjFlMzIzMDUxOGQxMjM3YjRlMWFlNDhjMWNm
ZGNhLi5hMDg4NTU2NzZiYzE1NTk4MzUwNjcyY2E5OWZjNTlkNjgzOTVlMTUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0VmbC5jbWFrZQpAQCAtNjksMTIgKzY5LDYgQEAgZWxzZSAoKQogICAgIHNldChXZWJLaXQyX1ZF
UlNJT05fU0NSSVBUICItV2wsLS12ZXJzaW9uLXNjcmlwdCwke0NNQUtFX01PRFVMRV9QQVRIfS9l
ZmxzeW1ib2xzLmZpbHRlciIpCiBlbmRpZiAoKQogCi1pZiAoV1RGX0NQVV9YODZfNjQpCi0gICAg
c2V0KEVOQUJMRV9GVExfREVGQVVMVCBPTikKLWVsc2UgKCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9E
RUZBVUxUIE9GRikKLWVuZGlmICgpCi0KIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9BQ0NFU1NJQklMSVRZIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BTExJTk9ORV9CVUlMRCBQVUJMSUMgT0ZGKQpAQCAt
OTcsNyArOTEsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRFJB
R19TVVBQT1JUIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9FTkNSWVBURURfTUVESUEgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIgUFVCTElDIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBQVUJMSUMgT0ZG
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFVCTElD
ICR7RU5BQkxFX0ZUTF9ERUZBVUxUfSkKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9GVExfSklUIFBVQkxJQyAke1dURl9DUFVfWDg2XzY0fSkKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSBQVUJMSUMgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfR0FNRVBBRCBQVUJMSUMgT0ZGKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCBQVUJMSUMgT04pCkBAIC0yODIsMTggKzI3Niw4IEBAIGlmIChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykKICAgICBmaW5kX3BhY2thZ2UoRXNwZWFrIFJFUVVJUkVEKQogZW5kaWYgKCkKIAotaWYg
KEVOQUJMRV9GVExfSklUKQotICAgIGlmIChXVEZfQ1BVX1g4Nl82NCkKLSAgICAgICAgZmluZF9w
YWNrYWdlKExMVk0gMy42LjAgUkVRVUlSRUQpCi0gICAgZWxzZWlmIChXVEZfQ1BVX0FSTTY0KQot
ICAgICAgICBmaW5kX3BhY2thZ2UoTExWTSBSRVFVSVJFRCkKLSAgICAgICAgaWYgKE5PVCAiJHtM
TFZNX1ZFUlNJT059IiBTVFJFUVVBTCAiMy41LjBmdGwiKQotICAgICAgICAgICAgbWVzc2FnZShG
QVRBTF9FUlJPUiAiRlRMIEpJVCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBBQXJjaDY0IGFyY2hpdGVj
dHVyZSB3aXRoIHBhdGNoZWQgTExWTSAzLjUuMCwgdXNlIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdl
YmtpdGVmbC1saWJzIGxsdm0tMy41LWZvci1BQXJjaDY0IHRvIGJ1aWxkIGl0LiIpCi0gICAgICAg
IGVuZGlmICgpCi0gICAgZWxzZSAoKQotICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJGVEwg
SklUIGlzIG9ubHkgYXZhaWxhYmxlIG9uIFg4Nl82NCBhbmQgQUFyY2g2NCBhcmNoaXRlY3R1cmVz
LiIpCi0gICAgZW5kaWYgKCkKLSAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xMVk0g
VFJVRSkKK2lmIChFTkFCTEVfRlRMX0pJVCBBTkQgTk9UIFdURl9DUFVfeDg2XzY0KQorICAgIG1l
c3NhZ2UoRkFUQUxfRVJST1IgIkZUTCBKSVQgaXMgb25seSBhdmFpbGFibGUgb24gWDg2XzY0IGFy
Y2hpdGVjdHVyZS4iKQogZW5kaWYgKCkKIAogaWYgKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKQpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZQppbmRleCBmYmQzYzdmYjVmNTc0OTljODBiMTMyMGVhZWIxOWZjNDVhYmEw
ZjQ0Li41ZDU0OTdkNmYyNWVhOTBkZjI0MWZjNzI4Y2VkODJkNmFlNTBmZjg4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZQpAQCAtNjYsMTIgKzY2LDYgQEAgaWYgKE5PVCBPUEVOR0xfRk9VTkQgQU5EIE9Q
RU5HTEVTMl9GT1VORCkKICAgICBzZXQoRU5BQkxFX0dMRVMyX0RFRkFVTFQgT04pCiBlbmRpZiAo
KQogCi1pZiAoV1RGX0NQVV9YODZfNjQpCi0gICAgc2V0KEVOQUJMRV9GVExfREVGQVVMVCBPTikK
LWVsc2UgKCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9ERUZBVUxUIE9GRikKLWVuZGlmICgpCi0KICMg
UHVibGljIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIEdUSysgcG9ydC4gRG8gbm90IGFkZCBhbnkg
b3B0aW9ucyBoZXJlIHVubGVzcwogIyB0aGVyZSBpcyBhIHN0cm9uZyByZWFzb24gd2Ugc2hvdWxk
IHN1cHBvcnQgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIHRoZSBvcHRpb24sCiAjIGFuZCB0aGUgb3B0
aW9uIGlzIG5vdCByZWxldmFudCB0byBhbnkgb3RoZXIgV2ViS2l0IHBvcnRzLgpAQCAtMTMzLDcg
KzEyNyw2IEBAIGVuZGlmICgpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFIFBVQkxJQyBPTikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EUkFHX1NVUFBPUlQgUFVCTElDIE9O
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFVCTElD
ICR7RU5BQkxFX0ZUTF9ERUZBVUxUfSkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9HRU9MT0NBVElPTiBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfSUNPTkRBVEFCQVNFIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9KSVQgUFVCTElDIE9OKQpAQCAtMTUzLDYgKzE0Niw3IEBA
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VUIFBS
SVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1JF
R0lPTlMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFCQVNFX1BST0NFU1MgUFJJVkFURSBPTikKK1dFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBSSVZBVEUgJHtXVEZfQ1BV
X1g4Nl82NH0pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlRQRElS
IFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSBQUklWQVRFIE9OKQpAQCAtMjM0LDE4ICsyMjgsNiBA
QCBpZiAoRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRSkKICAgICBlbmRpZiAoKQogZW5kaWYgKCkK
IAotaWYgKEVOQUJMRV9GVExfSklUKQotICAgIGlmIChXVEZfQ1BVX1g4Nl82NCkKLSAgICAgICAg
ZmluZF9wYWNrYWdlKExMVk0gMy43KQotICAgICAgICBpZiAoTk9UIExMVk1fRk9VTkQpCi0gICAg
ICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJMTFZNIDMuNyBpcyByZXF1aXJlZCBmb3IgRU5B
QkxFX0ZUTF9KSVQiKQotICAgICAgICBlbmRpZiAoKQotICAgICAgICBTRVRfQU5EX0VYUE9TRV9U
T19CVUlMRChIQVZFX0xMVk0gVFJVRSkKLSAgICBlbHNlICgpCi0gICAgICAgIG1lc3NhZ2UoRkFU
QUxfRVJST1IgIkZUTCBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgWDg2XzY0IikKLSAgICBlbmRpZiAo
KQotZW5kaWYgKCkKLQogaWYgKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpCiAgICAgZmluZF9w
YWNrYWdlKEdVZGV2KQogICAgIGlmIChOT1QgR1VERVZfRk9VTkQpCmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZTkzYWRhMDg2NDk0MWRlNTljNTkzZDAwMzBhOWMzYThi
MWI4Yzc3OC4uZmVmMzljN2MwM2NkZTgzMmJlNzc1ZjMwM2ExNTQzMmU4YTA2YzAyMSAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTAx
LTMwICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAg
ICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBMTFZNIGZyb20gdGhlIENNYWtlIGJ1aWxkIHN5
c3RlbS4gRlRMIEpJVCBub3cgcmVxdWlyZXMgQjMgaW5zdGVhZC4KKworICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9GaW5kTExWTS5jbWFrZTogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2UvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFr
ZTogTWFrZSBFTkFCTEVfRlRMX0pJVCBhIHByaXZhdGUgb3B0aW9uLiBOb3cgdGhhdCB0aGUgTExW
TQorICAgICAgICBkZXBlbmRlbmN5IGlzIGdvbmUsIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIGFsbG93
IHVzZXJzIHRvIHR1cm4gRlRMIG9uIG9yIG9mZi4gQWNjb3JkaW5nbHksCisgICAgICAgIHJlbW92
ZSB0aGUgZmF0YWwgZXJyb3Igd2hlbiBGVEwgaXMgZW5hYmxlZCBvbiBub24teDg2XzY0LiBTaW5j
ZSBpdCdzIGEgcHJpdmF0ZSBvcHRpb24sIHdlCisgICAgICAgIGNhbiBhc3N1bWUgYW55b25lIGVu
YWJsaW5nIEZUTCBtYW51YWxseSBpcyB0cnlpbmcgdG8gaGFjayBvbiBpdC4KKwogMjAxNi0wMS0z
MCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBFbmFi
bGUgU2FtcGxpbmdQcm9maWxlciBvbiBQT1NJWCBlbnZpcm9ubWVudAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270334</attachid>
            <date>2016-01-30 20:18:56 -0800</date>
            <delta_ts>2016-01-30 20:36:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153478-20160130221830.patch</filename>
            <type>text/plain</type>
            <size>18117</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDAxNjk0MjA0ODQ2NDdiZjA2MmZmZTNhODc5NDJkMDVjM2MxZDBmLi43YmNkNzM0M2U3ZGZkZjgz
Mzc4NjMyOGNlYzY4YjMwNTU3OTAzMDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNi0wMS0zMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bRUZMXSBTd2l0Y2ggRlRMIHRvIEIzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OiBSZW1vdmUgc3VwcG9ydCBmb3IgYnVpbGRpbmcgTExWTSBGVEwuCisgICAgICAgICogZGZnL0RG
R0NvbW1vbi5oOiBTZXQgRlRMX1VTRVNfQjMgb24gYWx3YXlzIG9uIHg4Nl82NC4KKyAgICAgICAg
KiBkZmcvREZHUGxhbi5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6UGxhbjo6Y29tcGlsZUluVGhy
ZWFkSW1wbCk6IERvIG5vdCBpbml0aWFsaXplIExMVk0gd2hlbiBGVExfVVNFU19CMyBpcyBlbmFi
bGVkLgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmg6IFNhYm90YWdlIHR5cGVk
ZWZzIHRvIExMVk0gYWJicmV2aWF0ZWQgdHlwZXMgc28gdGhleSBjYW4gYmUKKyAgICAgICAgdXNl
ZCB3aGVuIExMVk0gaXMgbm90IGluc3RhbGxlZC4gVGhpcyByZWxpZXMgb24gdGhlIGFzc3VtcHRp
b24gdGhhdCBhbGwgdXNlcyBvZiB0aGVzZSB0eXBlcworICAgICAgICB3aWxsIGJlIG5vLW9wcyB3
aGVuIEZUTF9VU0VTX0IzIGlzIGVuYWJsZWQuIEl0IHdvdWxkIGJlIGJldHRlciB0byByZW1vdmUg
dGhlc2UgZW50aXJlbGx5LgorICAgICAgICAqIGZ0bC9GVExGYWlsLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpmYWlsKTogRG9uJ3QgY2FsbCBsbHZtLT5EaXNwb3NlTW9kdWxlIHdoZW4gRlRMX1VT
RVNfQjMgaXMgZW5hYmxlZC4KKyAgICAgICAgKiBmdGwvRlRMU3RhdGUuY3BwOgorICAgICAgICAo
SlNDOjpGVEw6OlN0YXRlOjpTdGF0ZSk6IERvbid0IGNhbGwgbGx2bS0+Q29udGV4dENyZWF0ZSB3
aGVuIEZUTF9VU0VTX0IzIGlzIGVuYWJsZWQuCisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6On5T
dGF0ZSk6IERvbid0IGNhbGwgbGx2bS0+Q29udGV4dERpc3Bvc2Ugd2hlbiBGVExfVVNFU19CMyBp
cyBlbmFibGVkLgorCiAyMDE2LTAxLTMwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk1Nzk5IGFuZCBy
MTk1ODI4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwppbmRleCBhMDEyNjhkNzQyMWQ3YTRjOTJhNGI1ZmU2YzQ3NGZlZDM0NzI2NDBiLi5k
YTc3OWIzMDJhZDExMzhhMTM4N2JjZjMzOTIyM2I1M2UzZDVkZWEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE2LTAxLTMwICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCBFTkFCTEVfQjNfSklUIGJ5IGRl
ZmF1bHQgd2hlbiBGVEwgaXMgZW5hYmxlZC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgor
CiAyMDE2LTAxLTMwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk1OTExLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGY0MmI2Njk2YzIwNWVmZDA2OGYxMzQwNjhhMzcwZGMxMWIw
YjE0MGEuLmEzMTAzYzI1NzNiYWY3OGFiNzhiOTkxYjRkZDYzMDRiYmMwMWNlZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk4OCwyOSArOTg4LDcgQEAgbGlzdChBUFBF
TkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
Y3BwCiApCiAKLQogaWYgKEVOQUJMRV9GVExfSklUKQotICAgICMgQ29uZmlndXJlIGxsdm1Gb3JK
U0Muc28KLSAgICBzZXQobGx2bUZvckpTQ19TT1VSQ0VTCi0gICAgICAgIGxsdm0vbGlicmFyeS9M
TFZNQW5jaG9yLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCi0gICAg
ICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAotICAgICkKLSAgICBzZXQobGx2bUZv
ckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9Ci0g
ICAgICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgotICAgICkKLQot
ICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VT
X0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oCi0gICAgICAgIENP
TU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0b3VjaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NS
SVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAotICAgICAgICBWRVJCQVRJTSkK
LQotICAgICMgQWRkZWQgZXh0cmEgaXRlbXMgZm9yIEphdmFTY3JpcHRDb3JlCi0gICAgbGlzdChB
UFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAg
JHtMTFZNX0lOQ0xVREVfRElSU30KLSAgICApCi0KICAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0
Q29yZV9TT1VSQ0VTCiAgICAgICAgIGRmZy9ERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxs
YmFjay5jcHAKICAgICAgICAgZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2suY3BwCkBAIC0xMDY4LDExICsxMDQ2LDYgQEAgaWYgKEVOQUJMRV9GVExfSklU
KQogICAgICAgICBmdGwvRlRMVGh1bmtzLmNwcAogICAgICAgICBmdGwvRlRMVW53aW5kSW5mby5j
cHAKICAgICAgICAgZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCi0KLSAgICAgICAgbGx2bS9Jbml0aWFs
aXplTExWTS5jcHAKLSAgICAgICAgbGx2bS9Jbml0aWFsaXplTExWTUxpbnV4LmNwcAotICAgICAg
ICBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCi0gICAgICAgIGxsdm0vTExWTUFQSS5jcHAK
ICAgICApCiBlbmRpZiAoKQogCkBAIC0xMzUzLDI1ICsxMzI2LDYgQEAgZW5kaWYgKCkKIAogV0VC
S0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAKLWlmIChFTkFCTEVfRlRMX0pJ
VCkKLSAgICBpZiAoTk9UIGxsdm1Gb3JKU0NfTElCUkFSSUVTKQotICAgICAgICBzZXQobGx2bUZv
ckpTQ19MSUJSQVJJRVMgJHtMTFZNX1NUQVRJQ19MSUJSQVJJRVN9KQotICAgIGVuZGlmICgpCi0g
ICAgaWYgKE5PVCBsbHZtRm9ySlNDX0xJQlJBUklFUykKLSAgICAgICAgbWVzc2FnZShGQVRBTF9F
UlJPUiAiTm8gTExWTSBsaWJzIGZvdW5kLCBidXQgRlRMIGlzIGVuYWJsZWQuIFN0b3BwaW5nIGJ1
aWxkLiIpCi0gICAgZW5kaWYgKCkKLQotICAgIFdFQktJVF9XUkFQX1NPVVJDRUxJU1QoJHtsbHZt
Rm9ySlNDX1NPVVJDRVN9KQotICAgIGFkZF9saWJyYXJ5KGxsdm1Gb3JKU0MgU0hBUkVEICR7bGx2
bUZvckpTQ19TT1VSQ0VTfSAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dl
YktpdExMVk1MaWJyYXJ5VG9rZW4uaCkKLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMobGx2bUZv
ckpTQyAke2xsdm1Gb3JKU0NfTElCUkFSSUVTfSAke0xMVk1fU1lTVEVNX0xJQlJBUklFU30pCi0g
ICAgaWYgKE5PVCBDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJEYXJ3aW4iKQotICAgICAgICBB
RERfVEFSR0VUX1BST1BFUlRJRVMobGx2bUZvckpTQyBMSU5LX0ZMQUdTICItV2wsLS12ZXJzaW9u
LXNjcmlwdD0ke0pBVkFTQ1JJUFRDT1JFX0RJUn0vbGx2bS9saWJyYXJ5L2xpYmxsdm1Gb3JKU0Mu
dmVyc2lvbiIpCi0gICAgZW5kaWYgKCkKLSAgICBpZiAobGx2bUZvckpTQ19JTlNUQUxMX0RJUikK
LSAgICAgICAgaW5zdGFsbChUQVJHRVRTIGxsdm1Gb3JKU0MgREVTVElOQVRJT04gIiR7bGx2bUZv
ckpTQ19JTlNUQUxMX0RJUn0iKQotICAgIGVuZGlmICgpCi1lbmRpZiAoKQotCiBXRUJLSVRfQ1JF
QVRFX0ZPUldBUkRJTkdfSEVBREVSUyhKYXZhU2NyaXB0Q29yZSBESVJFQ1RPUklFUyAke0phdmFT
Y3JpcHRDb3JlX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RPUklFU30gRklMRVMgJHtKYXZhU2Ny
aXB0Q29yZV9GT1JXQVJESU5HX0hFQURFUlNfRklMRVN9KQogCiAKQEAgLTE0MDMsMTAgKzEzNTcs
NiBAQCBpZiAoJHtKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZUEV9IFNUUkVRVUFMICJTSEFSRUQi
KQogICAgIGluc3RhbGwoVEFSR0VUUyBKYXZhU2NyaXB0Q29yZSBERVNUSU5BVElPTiAiJHtMSUJf
SU5TVEFMTF9ESVJ9IikKIGVuZGlmICgpCiAKLWlmIChFTkFCTEVfRlRMX0pJVCkKLSAgICBhZGRf
ZGVwZW5kZW5jaWVzKEphdmFTY3JpcHRDb3JlIGxsdm1Gb3JKU0MpCi1lbmRpZiAoKQotCiAjIEZv
cmNlIHN0YWdpbmcgb2Ygc2hhcmVkIHNjcmlwdHMsIGV2ZW4gaWYgdGhleSBhcmVuJ3QgZGlyZWN0
bHkgdXNlZCB0byBidWlsZCBKYXZhU2NyaXB0Q29yZS4KIAogYWRkX2N1c3RvbV90YXJnZXQoc3Rh
Z2VTaGFyZWRTY3JpcHRzIERFUEVORFMgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTfSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCmluZGV4IDczNGU5NjJkZjYwNzcxNTcxMTE3MGE0
ZjU4ODI3MDA4MGJhNmUzNTkuLjJmNzBhM2JjMWU0MTJkZGE2NjEyMDIxOTJjYmNiN2ViMGRlZWY5
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaApAQCAtMzcsNyArMzcsNyBA
QCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIC8vIFdlIGFyZSBpbiB0aGUgbWlk
ZGxlIG9mIGEgdHJhbnNpdGlvbiBmcm9tIExMVk0gdG8gQjMgYXMgdGhlIGJhY2tlbmQgZm9yIHRo
ZSBGVEwuIFRoaXMgZmxhZyB3aWxsIGdvCiAvLyBhd2F5IG9uY2UgdGhhdCB0cmFuc2l0aW9uIGlz
IGZpbmlzaGVkLiBGb3Igbm93LCB3ZSBlbmFibGUgQjMgb25seSBvbiBzb21lIHBsYXRmb3Jtcy4K
LSNpZiBDUFUoWDg2XzY0KSAmJiBQTEFURk9STShNQUMpCisjaWYgQ1BVKFg4Nl82NCkgJiYgRU5B
QkxFKEZUTF9KSVQpCiAjZGVmaW5lIEZUTF9VU0VTX0IzIDEKICNlbHNlCiAjZGVmaW5lIEZUTF9V
U0VTX0IzIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCmluZGV4IDUxMmY0NDdk
NWZmMWU2NTM0MDE0ZjllZmVmYzFiNzI4YzU4Y2VjNjAuLjIzOTAzMDZkYjgxOTViZDA5ZWQ5YmY1
OTc3MzA4MWFkMDNjZjE1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcApA
QCAtNDU1LDE1ICs0NTUsMjAgQEAgUGxhbjo6Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJ
blRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0YXRlKQogCiAgICAgICAgIGR1
bXBBbmRWZXJpZnlHcmFwaChkZmcsICJHcmFwaCBqdXN0IGJlZm9yZSBGVEwgbG93ZXJpbmc6Iiwg
c2hvdWxkRHVtcERpc2Fzc2VtYmx5KG1vZGUpKTsKICAgICAgICAgCisjaWYgIUZUTF9VU0VTX0Iz
CiAgICAgICAgIGJvb2wgaGF2ZUxMVk07CisjZW5kaWYKICAgICAgICAgU2FmZXBvaW50OjpSZXN1
bHQgc2FmZXBvaW50UmVzdWx0OwogICAgICAgICB7CiAgICAgICAgICAgICBHcmFwaFNhZmVwb2lu
dCBzYWZlcG9pbnQoZGZnLCBzYWZlcG9pbnRSZXN1bHQpOworI2lmICFGVExfVVNFU19CMwogICAg
ICAgICAgICAgaGF2ZUxMVk0gPSBpbml0aWFsaXplTExWTSgpOworI2VuZGlmCiAgICAgICAgIH0K
ICAgICAgICAgaWYgKHNhZmVwb2ludFJlc3VsdC5kaWRHZXRDYW5jZWxsZWQoKSkKICAgICAgICAg
ICAgIHJldHVybiBDYW5jZWxQYXRoOwotICAgICAgICAKKworI2lmICFGVExfVVNFU19CMwogICAg
ICAgICBpZiAoIWhhdmVMTFZNKSB7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6ZnRsQ3Jhc2hl
c0lmQ2FudEluaXRpYWxpemVMTFZNKCkpIHsKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJMTFZN
IGNhbid0IGJlIGluaXRpYWxpemVkLlxuIik7CkBAIC00NzIsNiArNDc3LDcgQEAgUGxhbjo6Q29t
cGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxv
bmdMaXZlZFN0YXRlKQogICAgICAgICAgICAgZmluYWxpemVyID0gc3RkOjptYWtlX3VuaXF1ZTxG
YWlsZWRGaW5hbGl6ZXI+KCp0aGlzKTsKICAgICAgICAgICAgIHJldHVybiBGYWlsUGF0aDsKICAg
ICAgICAgfQorI2VuZGlmCiAKICAgICAgICAgRlRMOjpTdGF0ZSBzdGF0ZShkZmcpOwogICAgICAg
ICBGVEw6Omxvd2VyREZHVG9MTFZNKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKaW5kZXggOWJhNDZiMmQxZjRkMGUxMjQwM2MxZDJj
OTAxMjE1MTNkMTc2YzU0NC4uYTUxN2E5ZWRjZWVhNjc2ZTE1ZjUzZTdiMTg1YzRjNWY1MGRiZTg2
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5
cGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVz
LmgKQEAgLTQzLDExICs0MywyMCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiB0
eXBlZGVmIEIzOjpCYXNpY0Jsb2NrKiBMQmFzaWNCbG9jazsKIHR5cGVkZWYgQjM6OlR5cGUgTFR5
cGU7CiB0eXBlZGVmIEIzOjpWYWx1ZSogTFZhbHVlOworCit0eXBlZGVmIHZvaWQqIExBdG9taWNP
cmRlcmluZzsKK3R5cGVkZWYgdm9pZCogTEJ1aWxkZXI7Cit0eXBlZGVmIHZvaWQqIExDYWxsQ29u
djsKK3R5cGVkZWYgdm9pZCogTENvbnRleHQ7Cit0eXBlZGVmIHZvaWQqIExJbnRQcmVkaWNhdGU7
Cit0eXBlZGVmIHZvaWQqIExMaW5rYWdlOwordHlwZWRlZiB2b2lkKiBMTW9kdWxlOwordHlwZWRl
ZiB2b2lkKiBMUmVhbFByZWRpY2F0ZTsKK3R5cGVkZWYgdm9pZCogTE1lbW9yeUJ1ZmZlcjsKICNl
bHNlCiB0eXBlZGVmIExMVk1CYXNpY0Jsb2NrUmVmIExCYXNpY0Jsb2NrOwogdHlwZWRlZiBMTFZN
VHlwZVJlZiBMVHlwZTsKIHR5cGVkZWYgTExWTVZhbHVlUmVmIExWYWx1ZTsKLSNlbmRpZgogCiB0
eXBlZGVmIExMVk1BdG9taWNPcmRlcmluZyBMQXRvbWljT3JkZXJpbmc7CiB0eXBlZGVmIExMVk1C
dWlsZGVyUmVmIExCdWlsZGVyOwpAQCAtNTgsNiArNjcsNyBAQCB0eXBlZGVmIExMVk1MaW5rYWdl
IExMaW5rYWdlOwogdHlwZWRlZiBMTFZNTW9kdWxlUmVmIExNb2R1bGU7CiB0eXBlZGVmIExMVk1S
ZWFsUHJlZGljYXRlIExSZWFsUHJlZGljYXRlOwogdHlwZWRlZiBMTFZNTWVtb3J5QnVmZmVyUmVm
IExNZW1vcnlCdWZmZXI7CisjZW5kaWYKIAogZW51bSBTeW5jaHJvbml6YXRpb25TY29wZSB7IFNp
bmdsZVRocmVhZCwgQ3Jvc3NUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExGYWlsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFp
bC5jcHAKaW5kZXggYWMyZmMwN2ViYTFlNDNjZGMwYzQyYWVhMTM4ZTVjNmUzODBhNDU5My4uZDE1
NGViZDFhOGY5YzQ3Mjg3YTQ4M2ZmOWE5MGRkMzMxMGY3MjdhNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExGYWlsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEZhaWwuY3BwCkBAIC00MCw4ICs0MCwxMCBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0
YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPEZhaWxlZEZpbmFsaXplcj4oc3RhdGUuZ3JhcGgubV9wbGFuKTsKICAgICAKKyNpZiAhRlRM
X1VTRVNfQjMKICAgICBpZiAoc3RhdGUubW9kdWxlKQogICAgICAgICBsbHZtLT5EaXNwb3NlTW9k
dWxlKHN0YXRlLm1vZHVsZSk7CisjZW5kaWYKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZU
TApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAppbmRleCAyZWFjNDA5NTA4OWQ2
MmU3MDg5MzY0NTJlNjAxNGNiZDNkYTFmZjY4Li40NDQ1MzczMTQ4NTYxZTkwZjk0ZGYwZDQ4YWE2
YThhYzg0ODg3OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0
YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcApAQCAt
MzQsOSArMzQsMTIgQEAKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiRlRMSklU
RmluYWxpemVyLmgiCiAjaW5jbHVkZSAiRlRMUGF0Y2hwb2ludEV4Y2VwdGlvbkhhbmRsZS5oIgot
I2luY2x1ZGUgPGxsdm0vSW5pdGlhbGl6ZUxMVk0uaD4KICNpbmNsdWRlIDxzdGRpby5oPgogCisj
aWYgIUZUTF9VU0VTX0IzCisjaW5jbHVkZSA8bGx2bS9Jbml0aWFsaXplTExWTS5oPgorI2VuZGlm
CisKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIAogdXNpbmcgbmFtZXNwYWNlIEIz
OwpAQCAtNDQsNyArNDcsOSBAQCB1c2luZyBuYW1lc3BhY2UgREZHOwogCiBTdGF0ZTo6U3RhdGUo
R3JhcGgmIGdyYXBoKQogICAgIDogZ3JhcGgoZ3JhcGgpCisjaWYgIUZUTF9VU0VTX0IzCiAgICAg
LCBjb250ZXh0KGxsdm0tPkNvbnRleHRDcmVhdGUoKSkKKyNlbmRpZgogICAgICwgbW9kdWxlKDAp
CiAgICAgLCBmdW5jdGlvbigwKQogICAgICwgZ2VuZXJhdGVkRnVuY3Rpb24oMCkKQEAgLTg1LDcg
KzkwLDkgQEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKIAogU3RhdGU6On5TdGF0ZSgpCiB7
CisjaWYgIUZUTF9VU0VTX0IzCiAgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBTdGF0ZTo6ZHVtcFN0YXRlKGNvbnN0IGNoYXIqIHdoZW4pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaAppbmRleCBlNWRjMDk1N2VkNzBhMzFjZDE2OTNjYmRkNDdiM2QxMmIzOTViMjBhLi5jMDNk
ZmFmNGVlYjllMmQ5ZTZlNmJiN2U5ZjllMmE4OWRjYTk5MWJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTc4
Nyw5ICs3ODcsOCBAQAogI2RlZmluZSBFTkFCTEVfQ09OQ1VSUkVOVF9KSVQgMQogI2VuZGlmCiAK
LS8qIFRoZSBCMyBjb21waWxlciBpcyBhbiBleHBlcmltZW50YWwgYmFja2VuZCB0aGF0IGlzIHN0
aWxsIGluIGRldmVsb3BtZW50LiBXZSB3aWxsIGtlZXAgaXQgYnVpbGRpbmcKLSAgIG9uIE1hYy94
ODYtNjQgZm9yIG5vdywgdGhvdWdoIGl0IGlzIHVudXNlZCBleGNlcHQgZm9yIHRlc3RzLiAqLwot
I2lmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykpICYmIChDUFUoWDg2XzY0KSB8fCBD
UFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJVCkKKy8qIFRoaXMgY29udHJvbHMgd2hldGhlciBC
MyBpcyBidWlsdC4gSXQgd2lsbCBub3QgYmUgdXNlZCB1bmxlc3MgRlRMX1VTRVNfQjMgaXMgZW5h
YmxlZC4gKi8KKyNpZiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSkgJiYgRU5BQkxFKEZUTF9K
SVQpCiAjZGVmaW5lIEVOQUJMRV9CM19KSVQgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9GaW5kTExWTS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kTExWTS5jbWFrZQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExYWMyMDQ5NzE2YWRmZjJiOTM0YjBjMWRkNzY2
MDc1MTUwODY4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvY21ha2UvRmluZExMVk0uY21ha2UKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCww
IEBACi0jCi0jIENoZWNrIGlmIHRoZSBsbHZtLWNvbmZpZyBnaXZlcyB1cyB0aGUgcGF0aCBmb3Ig
dGhlIGxsdm0gbGlicy4KLSMKLSMgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNldDoKLSMg
IExMVk1fQ09ORklHX0VYRQotIyAgTExWTV9WRVJTSU9OCi0jICBMTFZNX0lOQ0xVREVfRElSUyAt
IGluY2x1ZGUgZGlyZWN0b3JpZXMgZm9yIHRoZSBsbHZtIGhlYWRlcnMuCi0jICBMTFZNX1NUQVRJ
Q19MSUJSQVJJRVMgLSBsaXN0IG9mIHBhdGhzIGZvciB0aGUgc3RhdGljIGxsdm0gbGlicmFyaWVz
LgotCi0KLWZvcmVhY2ggKF9wcm9ncmFtX25hbWUgbGx2bS1jb25maWcgbGx2bS1jb25maWctMy43
IGxsdm0tY29uZmlnLTMuNiBsbHZtLWNvbmZpZy0zLjUpCi0gICAgZmluZF9wcm9ncmFtKExMVk1f
Q09ORklHX0VYRSBOQU1FUyAke19wcm9ncmFtX25hbWV9KQotICAgIGlmIChMTFZNX0NPTkZJR19F
WEUpCi0gICAgICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAt
LXZlcnNpb24gT1VUUFVUX1ZBUklBQkxFIExMVk1fVkVSU0lPTiBPVVRQVVRfU1RSSVBfVFJBSUxJ
TkdfV0hJVEVTUEFDRSkKLSAgICAgICAgaWYgKCIke0xMVk1fVkVSU0lPTn0iIFZFUlNJT05fTEVT
UyAiJHtMTFZNX0ZJTkRfVkVSU0lPTn0iKQotICAgICAgICAgICAgdW5zZXQoTExWTV9DT05GSUdf
RVhFIENBQ0hFKQotICAgICAgICBlbHNlICgpCi0gICAgICAgICAgICBicmVhayAoKQotICAgICAg
ICBlbmRpZiAoKQotICAgIGVuZGlmICgpCi1lbmRmb3JlYWNoICgpCi0KLWV4ZWN1dGVfcHJvY2Vz
cyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAtLWluY2x1ZGVkaXIgT1VUUFVUX1ZBUklBQkxF
IExMVk1fSU5DTFVERV9ESVJTIE9VVFBVVF9TVFJJUF9UUkFJTElOR19XSElURVNQQUNFKQotZXhl
Y3V0ZV9wcm9jZXNzKENPTU1BTkQgJHtMTFZNX0NPTkZJR19FWEV9IC0tbGliZmlsZXMgT1VUUFVU
X1ZBUklBQkxFIExMVk1fU1RBVElDX0xJQlJBUklFUyBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJ
VEVTUEFDRSkKLWV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAtLXN5
c3RlbS1saWJzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX1NZU1RFTV9MSUJSQVJJRVMgT1VUUFVUX1NU
UklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke0xMVk1f
Q09ORklHX0VYRX0gLS1saWJkaXIgT1VUUFVUX1ZBUklBQkxFIExMVk1fTElCU19ESVJFQ1RPUlkg
T1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFO
RCAke0xMVk1fQ09ORklHX0VYRX0gLS1saWJzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX0xJQlMgT1VU
UFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAk
e0xMVk1fQ09ORklHX0VYRX0gLS1sZGZsYWdzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX0xERkxBR1Mg
T1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi0KLSMgRGVwZW5kaW5nIG9uIGhvdyBs
bHZtIHdhcyBidWlsdCwgd2UgY291bGQgaGF2ZSBlaXRoZXIgYSBnbG9iYWwgLnNvIGZpbGUgd2hl
biBidWlsdCB1c2luZyBhdXRvdG9vbHMsCi0jIG9yIG11bHRpcGxlIC5zbyBmaWxlcyBmb3IgZWFj
aCBzdGF0aWMgbGlicmFyeSB3aGVuIGJ1aWx0IHVzaW5nIENNYWtlLiBTbywgd2Ugc2V0IHRoZSBM
TFZNX0xJQlNfRElSRUNUT1JZCi0jIHZhcmlhYmxlIGhlcmUgYWNjb3JkaW5nbHkgZm9yIGVhY2gg
Y2FzZS4KLSMgV2UgbmVlZCB0byBidWlsZCB0aGUgc29uYW1lIG1hbnVhbGx5IGluIGFueSBjYXNl
LCBzaW5jZSB0aGVyZSdzIGN1cnJlbnRseSBubyB3YXkgdG8gZ2V0IGl0IGZyb20gbGx2bS1jb25m
aWcuCi1zZXQoTExWTV9TT05BTUUgIkxMVk0tJHtMTFZNX1ZFUlNJT059IikKLWlmIChFWElTVFMg
IiR7TExWTV9MSUJTX0RJUkVDVE9SWX0vbGliJHtMTFZNX1NPTkFNRX0uc28iKQotICAgIHNldChM
TFZNX0xJQlJBUklFUyAiJHtMTFZNX0xERkxBR1N9IC1sJHtMTFZNX1NPTkFNRX0iKQotZWxzZSAo
KQotICAgIHNldChMTFZNX0xJQlJBUklFUyAiJHtMTFZNX0xERkxBR1N9ICR7TExWTV9MSUJTfSIp
Ci1lbmRpZiAoKQotCi0jIGNvbnZlcnQgdGhlIGxpc3Qgb2YgcGF0aHMgaW50byBhIGNtYWtlIGxp
c3QKLXNlcGFyYXRlX2FyZ3VtZW50cyhMTFZNX1NUQVRJQ19MSUJSQVJJRVMpCi0KLWluY2x1ZGUo
RmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCi1maW5kX3BhY2thZ2VfaGFuZGxlX3N0YW5k
YXJkX2FyZ3MoTExWTQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFUVVJUkVE
X1ZBUlMgTExWTV9WRVJTSU9OIExMVk1fSU5DTFVERV9ESVJTIExMVk1fTElCUkFSSUVTIExMVk1f
U1RBVElDX0xJQlJBUklFUwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJ
T05fVkFSIExMVk1fVkVSU0lPTikKLQotbWFya19hc19hZHZhbmNlZChMTFZNX1ZFUlNJT04gTExW
TV9JTkNMVURFX0RJUlMgTExWTV9MSUJSQVJJRVMgTExWTV9TVEFUSUNfTElCUkFSSUVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQppbmRleCAyNDM4YzYzNWVjMjFlMzIzMDUxOGQxMjM3YjRlMWFlNDhjMWNm
ZGNhLi44Zjg5NzdiMjM0ZjNhOWIyZDBiN2ZiNWQ1ZTY2ODViYjJlMmNiOTUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0VmbC5jbWFrZQpAQCAtMjgyLDE4ICsyODIsOCBAQCBpZiAoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpCiAgICAgZmluZF9wYWNrYWdlKEVzcGVhayBSRVFVSVJFRCkKIGVuZGlmICgpCiAKLWlmIChF
TkFCTEVfRlRMX0pJVCkKLSAgICBpZiAoV1RGX0NQVV9YODZfNjQpCi0gICAgICAgIGZpbmRfcGFj
a2FnZShMTFZNIDMuNi4wIFJFUVVJUkVEKQotICAgIGVsc2VpZiAoV1RGX0NQVV9BUk02NCkKLSAg
ICAgICAgZmluZF9wYWNrYWdlKExMVk0gUkVRVUlSRUQpCi0gICAgICAgIGlmIChOT1QgIiR7TExW
TV9WRVJTSU9OfSIgU1RSRVFVQUwgIjMuNS4wZnRsIikKLSAgICAgICAgICAgIG1lc3NhZ2UoRkFU
QUxfRVJST1IgIkZUTCBKSVQgaXMgb25seSBhdmFpbGFibGUgb24gQUFyY2g2NCBhcmNoaXRlY3R1
cmUgd2l0aCBwYXRjaGVkIExMVk0gMy41LjAsIHVzZSBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJr
aXRlZmwtbGlicyBsbHZtLTMuNS1mb3ItQUFyY2g2NCB0byBidWlsZCBpdC4iKQotICAgICAgICBl
bmRpZiAoKQotICAgIGVsc2UgKCkKLSAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiRlRMIEpJ
VCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBYODZfNjQgYW5kIEFBcmNoNjQgYXJjaGl0ZWN0dXJlcy4i
KQotICAgIGVuZGlmICgpCi0gICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoSEFWRV9MTFZNIFRS
VUUpCitpZiAoRU5BQkxFX0ZUTF9KSVQgQU5EIE5PVCBXVEZfQ1BVX3g4Nl82NCkKKyAgICBtZXNz
YWdlKEZBVEFMX0VSUk9SICJGVEwgSklUIGlzIG9ubHkgYXZhaWxhYmxlIG9uIFg4Nl82NCBhcmNo
aXRlY3R1cmUuIikKIGVuZGlmICgpCiAKIGlmIChFTkFCTEVfU1VCVExFX0NSWVBUTykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlv
bnNHVEsuY21ha2UKaW5kZXggZmJkM2M3ZmI1ZjU3NDk5YzgwYjEzMjBlYWViMTlmYzQ1YWJhMGY0
NC4uMTkzOTMwNjk3NDNmNjRjZTU0YzdmY2QxMGM5ZmUwNWViMzNkOGY4NSAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNH
VEsuY21ha2UKQEAgLTY2LDEyICs2Niw2IEBAIGlmIChOT1QgT1BFTkdMX0ZPVU5EIEFORCBPUEVO
R0xFUzJfRk9VTkQpCiAgICAgc2V0KEVOQUJMRV9HTEVTMl9ERUZBVUxUIE9OKQogZW5kaWYgKCkK
IAotaWYgKFdURl9DUFVfWDg2XzY0KQotICAgIHNldChFTkFCTEVfRlRMX0RFRkFVTFQgT04pCi1l
bHNlICgpCi0gICAgc2V0KEVOQUJMRV9GVExfREVGQVVMVCBPRkYpCi1lbmRpZiAoKQotCiAjIFB1
YmxpYyBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSBHVEsrIHBvcnQuIERvIG5vdCBhZGQgYW55IG9w
dGlvbnMgaGVyZSB1bmxlc3MKICMgdGhlcmUgaXMgYSBzdHJvbmcgcmVhc29uIHdlIHNob3VsZCBz
dXBwb3J0IGNoYW5naW5nIHRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9uLAogIyBhbmQgdGhlIG9wdGlv
biBpcyBub3QgcmVsZXZhbnQgdG8gYW55IG90aGVyIFdlYktpdCBwb3J0cy4KQEAgLTEzMyw3ICsx
MjcsNiBAQCBlbmRpZiAoKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRSBQVUJMSUMgT04pCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRFJBR19TVVBQT1JUIFBVQkxJQyBPTikK
LVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBVQkxJQyAk
e0VOQUJMRV9GVExfREVGQVVMVH0pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfR0VPTE9DQVRJT04gUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0lDT05EQVRBQkFTRSBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfSklUIFBVQkxJQyBPTikKQEAgLTE0Myw2ICsxMzYsMTIgQEAg
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJREVPIFBVQkxJQyBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJfQVVESU8gUFVCTElD
IE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoVVNFX1NZU1RFTV9NQUxMT0Mg
UFVCTElDIE9GRikKIAoraWYgKFdURl9DUFVfWDg2XzY0KQorICAgIHNldChFTkFCTEVfRlRMX0RF
RkFVTFQgT04pCitlbHNlICgpCisgICAgc2V0KEVOQUJMRV9GVExfREVGQVVMVCBPRkYpCitlbmRp
ZiAoKQorCiAjIFByaXZhdGUgb3B0aW9ucyBzaGFyZWQgd2l0aCBvdGhlciBXZWJLaXQgcG9ydHMu
IEFkZCBvcHRpb25zIGhlcmUgd2hlbgogIyB3ZSBuZWVkIGEgdmFsdWUgZGlmZmVyZW50IGZyb20g
dGhlIGRlZmF1bHQgZGVmaW5lZCBpbiBXZWJLaXRGZWF0dXJlcy5jbWFrZS4KICMgQ2hhbmdpbmcg
dGhlc2Ugb3B0aW9ucyBpcyBjb21wbGV0ZWx5IHVuc3VwcG9ydGVkLgpAQCAtMTUzLDYgKzE1Miw3
IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VU
IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NT
X1JFR0lPTlMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFCQVNFX1BST0NFU1MgUFJJVkFURSBPTikKK1dFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBSSVZBVEUgJHtFTkFC
TEVfRlRMX0RFRkFVTFR9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0ZUUERJUiBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9GVUxMU0NSRUVOX0FQSSBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0lOREVYRURfREFUQUJBU0UgUFJJVkFURSBPTikKQEAgLTIzNCwxOCAr
MjM0LDYgQEAgaWYgKEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UpCiAgICAgZW5kaWYgKCkKIGVu
ZGlmICgpCiAKLWlmIChFTkFCTEVfRlRMX0pJVCkKLSAgICBpZiAoV1RGX0NQVV9YODZfNjQpCi0g
ICAgICAgIGZpbmRfcGFja2FnZShMTFZNIDMuNykKLSAgICAgICAgaWYgKE5PVCBMTFZNX0ZPVU5E
KQotICAgICAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTExWTSAzLjcgaXMgcmVxdWlyZWQg
Zm9yIEVOQUJMRV9GVExfSklUIikKLSAgICAgICAgZW5kaWYgKCkKLSAgICAgICAgU0VUX0FORF9F
WFBPU0VfVE9fQlVJTEQoSEFWRV9MTFZNIFRSVUUpCi0gICAgZWxzZSAoKQotICAgICAgICBtZXNz
YWdlKEZBVEFMX0VSUk9SICJGVEwgaXMgb25seSBzdXBwb3J0ZWQgZm9yIFg4Nl82NCIpCi0gICAg
ZW5kaWYgKCkKLWVuZGlmICgpCi0KIGlmIChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKQogICAg
IGZpbmRfcGFja2FnZShHVWRldikKICAgICBpZiAoTk9UIEdVREVWX0ZPVU5EKQpkaWZmIC0tZ2l0
IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGU5M2FkYTA4NjQ5NDFkZTU5YzU5M2QwMDMw
YTljM2E4YjFiOGM3NzguLmZlZjM5YzdjMDNjZGU4MzJiZTc3NWYzMDNhMTU0MzJlOGEwNmMwMjEg
MTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxNi0wMS0zMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bRUZMXSBTd2l0Y2ggRlRMIHRvIEIzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0NzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgTExWTSBmcm9tIHRoZSBDTWFrZSBi
dWlsZCBzeXN0ZW0uIEZUTCBKSVQgbm93IHJlcXVpcmVzIEIzIGluc3RlYWQuCisKKyAgICAgICAg
KiBTb3VyY2UvY21ha2UvRmluZExMVk0uY21ha2U6IFJlbW92ZWQuCisgICAgICAgICogU291cmNl
L2NtYWtlL09wdGlvbnNFZmwuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNH
VEsuY21ha2U6IE1ha2UgRU5BQkxFX0ZUTF9KSVQgYSBwcml2YXRlIG9wdGlvbi4gTm93IHRoYXQg
dGhlIExMVk0KKyAgICAgICAgZGVwZW5kZW5jeSBpcyBnb25lLCB0aGVyZSdzIG5vIHJlYXNvbiB0
byBhbGxvdyB1c2VycyB0byB0dXJuIEZUTCBvbiBvciBvZmYuIEFjY29yZGluZ2x5LAorICAgICAg
ICByZW1vdmUgdGhlIGZhdGFsIGVycm9yIHdoZW4gRlRMIGlzIGVuYWJsZWQgb24gbm9uLXg4Nl82
NC4gU2luY2UgaXQncyBhIHByaXZhdGUgb3B0aW9uLCB3ZQorICAgICAgICBjYW4gYXNzdW1lIGFu
eW9uZSBlbmFibGluZyBGVEwgbWFudWFsbHkgaXMgdHJ5aW5nIHRvIGhhY2sgb24gaXQuCisKIDIw
MTYtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAg
ICAgRW5hYmxlIFNhbXBsaW5nUHJvZmlsZXIgb24gUE9TSVggZW52aXJvbm1lbnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270337</attachid>
            <date>2016-01-30 20:36:22 -0800</date>
            <delta_ts>2016-02-02 21:44:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153478-20160130223557.patch</filename>
            <type>text/plain</type>
            <size>18680</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDAxNjk0MjA0ODQ2NDdiZjA2MmZmZTNhODc5NDJkMDVjM2MxZDBmLi43YmNkNzM0M2U3ZGZkZjgz
Mzc4NjMyOGNlYzY4YjMwNTU3OTAzMDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNi0wMS0zMCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bRUZMXSBTd2l0Y2ggRlRMIHRvIEIzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OiBSZW1vdmUgc3VwcG9ydCBmb3IgYnVpbGRpbmcgTExWTSBGVEwuCisgICAgICAgICogZGZnL0RG
R0NvbW1vbi5oOiBTZXQgRlRMX1VTRVNfQjMgb24gYWx3YXlzIG9uIHg4Nl82NC4KKyAgICAgICAg
KiBkZmcvREZHUGxhbi5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6UGxhbjo6Y29tcGlsZUluVGhy
ZWFkSW1wbCk6IERvIG5vdCBpbml0aWFsaXplIExMVk0gd2hlbiBGVExfVVNFU19CMyBpcyBlbmFi
bGVkLgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmg6IFNhYm90YWdlIHR5cGVk
ZWZzIHRvIExMVk0gYWJicmV2aWF0ZWQgdHlwZXMgc28gdGhleSBjYW4gYmUKKyAgICAgICAgdXNl
ZCB3aGVuIExMVk0gaXMgbm90IGluc3RhbGxlZC4gVGhpcyByZWxpZXMgb24gdGhlIGFzc3VtcHRp
b24gdGhhdCBhbGwgdXNlcyBvZiB0aGVzZSB0eXBlcworICAgICAgICB3aWxsIGJlIG5vLW9wcyB3
aGVuIEZUTF9VU0VTX0IzIGlzIGVuYWJsZWQuIEl0IHdvdWxkIGJlIGJldHRlciB0byByZW1vdmUg
dGhlc2UgZW50aXJlbGx5LgorICAgICAgICAqIGZ0bC9GVExGYWlsLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpmYWlsKTogRG9uJ3QgY2FsbCBsbHZtLT5EaXNwb3NlTW9kdWxlIHdoZW4gRlRMX1VT
RVNfQjMgaXMgZW5hYmxlZC4KKyAgICAgICAgKiBmdGwvRlRMU3RhdGUuY3BwOgorICAgICAgICAo
SlNDOjpGVEw6OlN0YXRlOjpTdGF0ZSk6IERvbid0IGNhbGwgbGx2bS0+Q29udGV4dENyZWF0ZSB3
aGVuIEZUTF9VU0VTX0IzIGlzIGVuYWJsZWQuCisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6On5T
dGF0ZSk6IERvbid0IGNhbGwgbGx2bS0+Q29udGV4dERpc3Bvc2Ugd2hlbiBGVExfVVNFU19CMyBp
cyBlbmFibGVkLgorCiAyMDE2LTAxLTMwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk1Nzk5IGFuZCBy
MTk1ODI4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0No
YW5nZUxvZwppbmRleCBhMDEyNjhkNzQyMWQ3YTRjOTJhNGI1ZmU2YzQ3NGZlZDM0NzI2NDBiLi5k
YTc3OWIzMDJhZDExMzhhMTM4N2JjZjMzOTIyM2I1M2UzZDVkZWEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE2LTAxLTMwICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNv
bT4KKworICAgICAgICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldCBFTkFCTEVfQjNfSklUIGJ5IGRl
ZmF1bHQgd2hlbiBGVEwgaXMgZW5hYmxlZC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgor
CiAyMDE2LTAxLTMwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk1OTExLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGY0MmI2Njk2YzIwNWVmZDA2OGYxMzQwNjhhMzcwZGMxMWIw
YjE0MGEuLmEzMTAzYzI1NzNiYWY3OGFiNzhiOTkxYjRkZDYzMDRiYmMwMWNlZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk4OCwyOSArOTg4LDcgQEAgbGlzdChBUFBF
TkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
Y3BwCiApCiAKLQogaWYgKEVOQUJMRV9GVExfSklUKQotICAgICMgQ29uZmlndXJlIGxsdm1Gb3JK
U0Muc28KLSAgICBzZXQobGx2bUZvckpTQ19TT1VSQ0VTCi0gICAgICAgIGxsdm0vbGlicmFyeS9M
TFZNQW5jaG9yLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCi0gICAg
ICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAotICAgICkKLSAgICBzZXQobGx2bUZv
ckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9Ci0g
ICAgICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgotICAgICkKLQot
ICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VT
X0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oCi0gICAgICAgIENP
TU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0b3VjaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NS
SVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAotICAgICAgICBWRVJCQVRJTSkK
LQotICAgICMgQWRkZWQgZXh0cmEgaXRlbXMgZm9yIEphdmFTY3JpcHRDb3JlCi0gICAgbGlzdChB
UFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAg
JHtMTFZNX0lOQ0xVREVfRElSU30KLSAgICApCi0KICAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0
Q29yZV9TT1VSQ0VTCiAgICAgICAgIGRmZy9ERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxs
YmFjay5jcHAKICAgICAgICAgZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0
aW9uQ2FsbGJhY2suY3BwCkBAIC0xMDY4LDExICsxMDQ2LDYgQEAgaWYgKEVOQUJMRV9GVExfSklU
KQogICAgICAgICBmdGwvRlRMVGh1bmtzLmNwcAogICAgICAgICBmdGwvRlRMVW53aW5kSW5mby5j
cHAKICAgICAgICAgZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCi0KLSAgICAgICAgbGx2bS9Jbml0aWFs
aXplTExWTS5jcHAKLSAgICAgICAgbGx2bS9Jbml0aWFsaXplTExWTUxpbnV4LmNwcAotICAgICAg
ICBsbHZtL0luaXRpYWxpemVMTFZNUE9TSVguY3BwCi0gICAgICAgIGxsdm0vTExWTUFQSS5jcHAK
ICAgICApCiBlbmRpZiAoKQogCkBAIC0xMzUzLDI1ICsxMzI2LDYgQEAgZW5kaWYgKCkKIAogV0VC
S0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAKLWlmIChFTkFCTEVfRlRMX0pJ
VCkKLSAgICBpZiAoTk9UIGxsdm1Gb3JKU0NfTElCUkFSSUVTKQotICAgICAgICBzZXQobGx2bUZv
ckpTQ19MSUJSQVJJRVMgJHtMTFZNX1NUQVRJQ19MSUJSQVJJRVN9KQotICAgIGVuZGlmICgpCi0g
ICAgaWYgKE5PVCBsbHZtRm9ySlNDX0xJQlJBUklFUykKLSAgICAgICAgbWVzc2FnZShGQVRBTF9F
UlJPUiAiTm8gTExWTSBsaWJzIGZvdW5kLCBidXQgRlRMIGlzIGVuYWJsZWQuIFN0b3BwaW5nIGJ1
aWxkLiIpCi0gICAgZW5kaWYgKCkKLQotICAgIFdFQktJVF9XUkFQX1NPVVJDRUxJU1QoJHtsbHZt
Rm9ySlNDX1NPVVJDRVN9KQotICAgIGFkZF9saWJyYXJ5KGxsdm1Gb3JKU0MgU0hBUkVEICR7bGx2
bUZvckpTQ19TT1VSQ0VTfSAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dl
YktpdExMVk1MaWJyYXJ5VG9rZW4uaCkKLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMobGx2bUZv
ckpTQyAke2xsdm1Gb3JKU0NfTElCUkFSSUVTfSAke0xMVk1fU1lTVEVNX0xJQlJBUklFU30pCi0g
ICAgaWYgKE5PVCBDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJEYXJ3aW4iKQotICAgICAgICBB
RERfVEFSR0VUX1BST1BFUlRJRVMobGx2bUZvckpTQyBMSU5LX0ZMQUdTICItV2wsLS12ZXJzaW9u
LXNjcmlwdD0ke0pBVkFTQ1JJUFRDT1JFX0RJUn0vbGx2bS9saWJyYXJ5L2xpYmxsdm1Gb3JKU0Mu
dmVyc2lvbiIpCi0gICAgZW5kaWYgKCkKLSAgICBpZiAobGx2bUZvckpTQ19JTlNUQUxMX0RJUikK
LSAgICAgICAgaW5zdGFsbChUQVJHRVRTIGxsdm1Gb3JKU0MgREVTVElOQVRJT04gIiR7bGx2bUZv
ckpTQ19JTlNUQUxMX0RJUn0iKQotICAgIGVuZGlmICgpCi1lbmRpZiAoKQotCiBXRUJLSVRfQ1JF
QVRFX0ZPUldBUkRJTkdfSEVBREVSUyhKYXZhU2NyaXB0Q29yZSBESVJFQ1RPUklFUyAke0phdmFT
Y3JpcHRDb3JlX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RPUklFU30gRklMRVMgJHtKYXZhU2Ny
aXB0Q29yZV9GT1JXQVJESU5HX0hFQURFUlNfRklMRVN9KQogCiAKQEAgLTE0MDMsMTAgKzEzNTcs
NiBAQCBpZiAoJHtKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZUEV9IFNUUkVRVUFMICJTSEFSRUQi
KQogICAgIGluc3RhbGwoVEFSR0VUUyBKYXZhU2NyaXB0Q29yZSBERVNUSU5BVElPTiAiJHtMSUJf
SU5TVEFMTF9ESVJ9IikKIGVuZGlmICgpCiAKLWlmIChFTkFCTEVfRlRMX0pJVCkKLSAgICBhZGRf
ZGVwZW5kZW5jaWVzKEphdmFTY3JpcHRDb3JlIGxsdm1Gb3JKU0MpCi1lbmRpZiAoKQotCiAjIEZv
cmNlIHN0YWdpbmcgb2Ygc2hhcmVkIHNjcmlwdHMsIGV2ZW4gaWYgdGhleSBhcmVuJ3QgZGlyZWN0
bHkgdXNlZCB0byBidWlsZCBKYXZhU2NyaXB0Q29yZS4KIAogYWRkX2N1c3RvbV90YXJnZXQoc3Rh
Z2VTaGFyZWRTY3JpcHRzIERFUEVORFMgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTfSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCmluZGV4IDczNGU5NjJkZjYwNzcxNTcxMTE3MGE0
ZjU4ODI3MDA4MGJhNmUzNTkuLjJmNzBhM2JjMWU0MTJkZGE2NjEyMDIxOTJjYmNiN2ViMGRlZWY5
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaApAQCAtMzcsNyArMzcsNyBA
QCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIC8vIFdlIGFyZSBpbiB0aGUgbWlk
ZGxlIG9mIGEgdHJhbnNpdGlvbiBmcm9tIExMVk0gdG8gQjMgYXMgdGhlIGJhY2tlbmQgZm9yIHRo
ZSBGVEwuIFRoaXMgZmxhZyB3aWxsIGdvCiAvLyBhd2F5IG9uY2UgdGhhdCB0cmFuc2l0aW9uIGlz
IGZpbmlzaGVkLiBGb3Igbm93LCB3ZSBlbmFibGUgQjMgb25seSBvbiBzb21lIHBsYXRmb3Jtcy4K
LSNpZiBDUFUoWDg2XzY0KSAmJiBQTEFURk9STShNQUMpCisjaWYgQ1BVKFg4Nl82NCkgJiYgRU5B
QkxFKEZUTF9KSVQpCiAjZGVmaW5lIEZUTF9VU0VTX0IzIDEKICNlbHNlCiAjZGVmaW5lIEZUTF9V
U0VTX0IzIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCmluZGV4IDUxMmY0NDdk
NWZmMWU2NTM0MDE0ZjllZmVmYzFiNzI4YzU4Y2VjNjAuLjIzOTAzMDZkYjgxOTViZDA5ZWQ5YmY1
OTc3MzA4MWFkMDNjZjE1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcApA
QCAtNDU1LDE1ICs0NTUsMjAgQEAgUGxhbjo6Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJ
blRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0YXRlKQogCiAgICAgICAgIGR1
bXBBbmRWZXJpZnlHcmFwaChkZmcsICJHcmFwaCBqdXN0IGJlZm9yZSBGVEwgbG93ZXJpbmc6Iiwg
c2hvdWxkRHVtcERpc2Fzc2VtYmx5KG1vZGUpKTsKICAgICAgICAgCisjaWYgIUZUTF9VU0VTX0Iz
CiAgICAgICAgIGJvb2wgaGF2ZUxMVk07CisjZW5kaWYKICAgICAgICAgU2FmZXBvaW50OjpSZXN1
bHQgc2FmZXBvaW50UmVzdWx0OwogICAgICAgICB7CiAgICAgICAgICAgICBHcmFwaFNhZmVwb2lu
dCBzYWZlcG9pbnQoZGZnLCBzYWZlcG9pbnRSZXN1bHQpOworI2lmICFGVExfVVNFU19CMwogICAg
ICAgICAgICAgaGF2ZUxMVk0gPSBpbml0aWFsaXplTExWTSgpOworI2VuZGlmCiAgICAgICAgIH0K
ICAgICAgICAgaWYgKHNhZmVwb2ludFJlc3VsdC5kaWRHZXRDYW5jZWxsZWQoKSkKICAgICAgICAg
ICAgIHJldHVybiBDYW5jZWxQYXRoOwotICAgICAgICAKKworI2lmICFGVExfVVNFU19CMwogICAg
ICAgICBpZiAoIWhhdmVMTFZNKSB7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6ZnRsQ3Jhc2hl
c0lmQ2FudEluaXRpYWxpemVMTFZNKCkpIHsKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJMTFZN
IGNhbid0IGJlIGluaXRpYWxpemVkLlxuIik7CkBAIC00NzIsNiArNDc3LDcgQEAgUGxhbjo6Q29t
cGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxv
bmdMaXZlZFN0YXRlKQogICAgICAgICAgICAgZmluYWxpemVyID0gc3RkOjptYWtlX3VuaXF1ZTxG
YWlsZWRGaW5hbGl6ZXI+KCp0aGlzKTsKICAgICAgICAgICAgIHJldHVybiBGYWlsUGF0aDsKICAg
ICAgICAgfQorI2VuZGlmCiAKICAgICAgICAgRlRMOjpTdGF0ZSBzdGF0ZShkZmcpOwogICAgICAg
ICBGVEw6Omxvd2VyREZHVG9MTFZNKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKaW5kZXggOWJhNDZiMmQxZjRkMGUxMjQwM2MxZDJj
OTAxMjE1MTNkMTc2YzU0NC4uYTUxN2E5ZWRjZWVhNjc2ZTE1ZjUzZTdiMTg1YzRjNWY1MGRiZTg2
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5
cGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVz
LmgKQEAgLTQzLDExICs0MywyMCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiB0
eXBlZGVmIEIzOjpCYXNpY0Jsb2NrKiBMQmFzaWNCbG9jazsKIHR5cGVkZWYgQjM6OlR5cGUgTFR5
cGU7CiB0eXBlZGVmIEIzOjpWYWx1ZSogTFZhbHVlOworCit0eXBlZGVmIHZvaWQqIExBdG9taWNP
cmRlcmluZzsKK3R5cGVkZWYgdm9pZCogTEJ1aWxkZXI7Cit0eXBlZGVmIHZvaWQqIExDYWxsQ29u
djsKK3R5cGVkZWYgdm9pZCogTENvbnRleHQ7Cit0eXBlZGVmIHZvaWQqIExJbnRQcmVkaWNhdGU7
Cit0eXBlZGVmIHZvaWQqIExMaW5rYWdlOwordHlwZWRlZiB2b2lkKiBMTW9kdWxlOwordHlwZWRl
ZiB2b2lkKiBMUmVhbFByZWRpY2F0ZTsKK3R5cGVkZWYgdm9pZCogTE1lbW9yeUJ1ZmZlcjsKICNl
bHNlCiB0eXBlZGVmIExMVk1CYXNpY0Jsb2NrUmVmIExCYXNpY0Jsb2NrOwogdHlwZWRlZiBMTFZN
VHlwZVJlZiBMVHlwZTsKIHR5cGVkZWYgTExWTVZhbHVlUmVmIExWYWx1ZTsKLSNlbmRpZgogCiB0
eXBlZGVmIExMVk1BdG9taWNPcmRlcmluZyBMQXRvbWljT3JkZXJpbmc7CiB0eXBlZGVmIExMVk1C
dWlsZGVyUmVmIExCdWlsZGVyOwpAQCAtNTgsNiArNjcsNyBAQCB0eXBlZGVmIExMVk1MaW5rYWdl
IExMaW5rYWdlOwogdHlwZWRlZiBMTFZNTW9kdWxlUmVmIExNb2R1bGU7CiB0eXBlZGVmIExMVk1S
ZWFsUHJlZGljYXRlIExSZWFsUHJlZGljYXRlOwogdHlwZWRlZiBMTFZNTWVtb3J5QnVmZmVyUmVm
IExNZW1vcnlCdWZmZXI7CisjZW5kaWYKIAogZW51bSBTeW5jaHJvbml6YXRpb25TY29wZSB7IFNp
bmdsZVRocmVhZCwgQ3Jvc3NUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExGYWlsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFp
bC5jcHAKaW5kZXggYWMyZmMwN2ViYTFlNDNjZGMwYzQyYWVhMTM4ZTVjNmUzODBhNDU5My4uZDE1
NGViZDFhOGY5YzQ3Mjg3YTQ4M2ZmOWE5MGRkMzMxMGY3MjdhNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExGYWlsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEZhaWwuY3BwCkBAIC00MCw4ICs0MCwxMCBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0
YXRlKQogewogICAgIHN0YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPEZhaWxlZEZpbmFsaXplcj4oc3RhdGUuZ3JhcGgubV9wbGFuKTsKICAgICAKKyNpZiAhRlRM
X1VTRVNfQjMKICAgICBpZiAoc3RhdGUubW9kdWxlKQogICAgICAgICBsbHZtLT5EaXNwb3NlTW9k
dWxlKHN0YXRlLm1vZHVsZSk7CisjZW5kaWYKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZU
TApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcAppbmRleCAyZWFjNDA5NTA4OWQ2
MmU3MDg5MzY0NTJlNjAxNGNiZDNkYTFmZjY4Li40NDQ1MzczMTQ4NTYxZTkwZjk0ZGYwZDQ4YWE2
YThhYzg0ODg3OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0
YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmNwcApAQCAt
MzQsOSArMzQsMTIgQEAKICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiRlRMSklU
RmluYWxpemVyLmgiCiAjaW5jbHVkZSAiRlRMUGF0Y2hwb2ludEV4Y2VwdGlvbkhhbmRsZS5oIgot
I2luY2x1ZGUgPGxsdm0vSW5pdGlhbGl6ZUxMVk0uaD4KICNpbmNsdWRlIDxzdGRpby5oPgogCisj
aWYgIUZUTF9VU0VTX0IzCisjaW5jbHVkZSA8bGx2bS9Jbml0aWFsaXplTExWTS5oPgorI2VuZGlm
CisKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIAogdXNpbmcgbmFtZXNwYWNlIEIz
OwpAQCAtNDQsNyArNDcsOSBAQCB1c2luZyBuYW1lc3BhY2UgREZHOwogCiBTdGF0ZTo6U3RhdGUo
R3JhcGgmIGdyYXBoKQogICAgIDogZ3JhcGgoZ3JhcGgpCisjaWYgIUZUTF9VU0VTX0IzCiAgICAg
LCBjb250ZXh0KGxsdm0tPkNvbnRleHRDcmVhdGUoKSkKKyNlbmRpZgogICAgICwgbW9kdWxlKDAp
CiAgICAgLCBmdW5jdGlvbigwKQogICAgICwgZ2VuZXJhdGVkRnVuY3Rpb24oMCkKQEAgLTg1LDcg
KzkwLDkgQEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKIAogU3RhdGU6On5TdGF0ZSgpCiB7
CisjaWYgIUZUTF9VU0VTX0IzCiAgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7Cisj
ZW5kaWYKIH0KIAogdm9pZCBTdGF0ZTo6ZHVtcFN0YXRlKGNvbnN0IGNoYXIqIHdoZW4pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaAppbmRleCBlNWRjMDk1N2VkNzBhMzFjZDE2OTNjYmRkNDdiM2QxMmIzOTViMjBhLi5jMDNk
ZmFmNGVlYjllMmQ5ZTZlNmJiN2U5ZjllMmE4OWRjYTk5MWJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTc4
Nyw5ICs3ODcsOCBAQAogI2RlZmluZSBFTkFCTEVfQ09OQ1VSUkVOVF9KSVQgMQogI2VuZGlmCiAK
LS8qIFRoZSBCMyBjb21waWxlciBpcyBhbiBleHBlcmltZW50YWwgYmFja2VuZCB0aGF0IGlzIHN0
aWxsIGluIGRldmVsb3BtZW50LiBXZSB3aWxsIGtlZXAgaXQgYnVpbGRpbmcKLSAgIG9uIE1hYy94
ODYtNjQgZm9yIG5vdywgdGhvdWdoIGl0IGlzIHVudXNlZCBleGNlcHQgZm9yIHRlc3RzLiAqLwot
I2lmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykpICYmIChDUFUoWDg2XzY0KSB8fCBD
UFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJVCkKKy8qIFRoaXMgY29udHJvbHMgd2hldGhlciBC
MyBpcyBidWlsdC4gSXQgd2lsbCBub3QgYmUgdXNlZCB1bmxlc3MgRlRMX1VTRVNfQjMgaXMgZW5h
YmxlZC4gKi8KKyNpZiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTTY0KSkgJiYgRU5BQkxFKEZUTF9K
SVQpCiAjZGVmaW5lIEVOQUJMRV9CM19KSVQgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9GaW5kTExWTS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kTExWTS5jbWFrZQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExYWMyMDQ5NzE2YWRmZjJiOTM0YjBjMWRkNzY2
MDc1MTUwODY4OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvY21ha2UvRmluZExMVk0uY21ha2UKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCww
IEBACi0jCi0jIENoZWNrIGlmIHRoZSBsbHZtLWNvbmZpZyBnaXZlcyB1cyB0aGUgcGF0aCBmb3Ig
dGhlIGxsdm0gbGlicy4KLSMKLSMgVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgYXJlIHNldDoKLSMg
IExMVk1fQ09ORklHX0VYRQotIyAgTExWTV9WRVJTSU9OCi0jICBMTFZNX0lOQ0xVREVfRElSUyAt
IGluY2x1ZGUgZGlyZWN0b3JpZXMgZm9yIHRoZSBsbHZtIGhlYWRlcnMuCi0jICBMTFZNX1NUQVRJ
Q19MSUJSQVJJRVMgLSBsaXN0IG9mIHBhdGhzIGZvciB0aGUgc3RhdGljIGxsdm0gbGlicmFyaWVz
LgotCi0KLWZvcmVhY2ggKF9wcm9ncmFtX25hbWUgbGx2bS1jb25maWcgbGx2bS1jb25maWctMy43
IGxsdm0tY29uZmlnLTMuNiBsbHZtLWNvbmZpZy0zLjUpCi0gICAgZmluZF9wcm9ncmFtKExMVk1f
Q09ORklHX0VYRSBOQU1FUyAke19wcm9ncmFtX25hbWV9KQotICAgIGlmIChMTFZNX0NPTkZJR19F
WEUpCi0gICAgICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAt
LXZlcnNpb24gT1VUUFVUX1ZBUklBQkxFIExMVk1fVkVSU0lPTiBPVVRQVVRfU1RSSVBfVFJBSUxJ
TkdfV0hJVEVTUEFDRSkKLSAgICAgICAgaWYgKCIke0xMVk1fVkVSU0lPTn0iIFZFUlNJT05fTEVT
UyAiJHtMTFZNX0ZJTkRfVkVSU0lPTn0iKQotICAgICAgICAgICAgdW5zZXQoTExWTV9DT05GSUdf
RVhFIENBQ0hFKQotICAgICAgICBlbHNlICgpCi0gICAgICAgICAgICBicmVhayAoKQotICAgICAg
ICBlbmRpZiAoKQotICAgIGVuZGlmICgpCi1lbmRmb3JlYWNoICgpCi0KLWV4ZWN1dGVfcHJvY2Vz
cyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAtLWluY2x1ZGVkaXIgT1VUUFVUX1ZBUklBQkxF
IExMVk1fSU5DTFVERV9ESVJTIE9VVFBVVF9TVFJJUF9UUkFJTElOR19XSElURVNQQUNFKQotZXhl
Y3V0ZV9wcm9jZXNzKENPTU1BTkQgJHtMTFZNX0NPTkZJR19FWEV9IC0tbGliZmlsZXMgT1VUUFVU
X1ZBUklBQkxFIExMVk1fU1RBVElDX0xJQlJBUklFUyBPVVRQVVRfU1RSSVBfVFJBSUxJTkdfV0hJ
VEVTUEFDRSkKLWV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7TExWTV9DT05GSUdfRVhFfSAtLXN5
c3RlbS1saWJzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX1NZU1RFTV9MSUJSQVJJRVMgT1VUUFVUX1NU
UklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke0xMVk1f
Q09ORklHX0VYRX0gLS1saWJkaXIgT1VUUFVUX1ZBUklBQkxFIExMVk1fTElCU19ESVJFQ1RPUlkg
T1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFO
RCAke0xMVk1fQ09ORklHX0VYRX0gLS1saWJzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX0xJQlMgT1VU
UFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi1leGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAk
e0xMVk1fQ09ORklHX0VYRX0gLS1sZGZsYWdzIE9VVFBVVF9WQVJJQUJMRSBMTFZNX0xERkxBR1Mg
T1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UpCi0KLSMgRGVwZW5kaW5nIG9uIGhvdyBs
bHZtIHdhcyBidWlsdCwgd2UgY291bGQgaGF2ZSBlaXRoZXIgYSBnbG9iYWwgLnNvIGZpbGUgd2hl
biBidWlsdCB1c2luZyBhdXRvdG9vbHMsCi0jIG9yIG11bHRpcGxlIC5zbyBmaWxlcyBmb3IgZWFj
aCBzdGF0aWMgbGlicmFyeSB3aGVuIGJ1aWx0IHVzaW5nIENNYWtlLiBTbywgd2Ugc2V0IHRoZSBM
TFZNX0xJQlNfRElSRUNUT1JZCi0jIHZhcmlhYmxlIGhlcmUgYWNjb3JkaW5nbHkgZm9yIGVhY2gg
Y2FzZS4KLSMgV2UgbmVlZCB0byBidWlsZCB0aGUgc29uYW1lIG1hbnVhbGx5IGluIGFueSBjYXNl
LCBzaW5jZSB0aGVyZSdzIGN1cnJlbnRseSBubyB3YXkgdG8gZ2V0IGl0IGZyb20gbGx2bS1jb25m
aWcuCi1zZXQoTExWTV9TT05BTUUgIkxMVk0tJHtMTFZNX1ZFUlNJT059IikKLWlmIChFWElTVFMg
IiR7TExWTV9MSUJTX0RJUkVDVE9SWX0vbGliJHtMTFZNX1NPTkFNRX0uc28iKQotICAgIHNldChM
TFZNX0xJQlJBUklFUyAiJHtMTFZNX0xERkxBR1N9IC1sJHtMTFZNX1NPTkFNRX0iKQotZWxzZSAo
KQotICAgIHNldChMTFZNX0xJQlJBUklFUyAiJHtMTFZNX0xERkxBR1N9ICR7TExWTV9MSUJTfSIp
Ci1lbmRpZiAoKQotCi0jIGNvbnZlcnQgdGhlIGxpc3Qgb2YgcGF0aHMgaW50byBhIGNtYWtlIGxp
c3QKLXNlcGFyYXRlX2FyZ3VtZW50cyhMTFZNX1NUQVRJQ19MSUJSQVJJRVMpCi0KLWluY2x1ZGUo
RmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCi1maW5kX3BhY2thZ2VfaGFuZGxlX3N0YW5k
YXJkX2FyZ3MoTExWTQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFUVVJUkVE
X1ZBUlMgTExWTV9WRVJTSU9OIExMVk1fSU5DTFVERV9ESVJTIExMVk1fTElCUkFSSUVTIExMVk1f
U1RBVElDX0xJQlJBUklFUwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUlNJ
T05fVkFSIExMVk1fVkVSU0lPTikKLQotbWFya19hc19hZHZhbmNlZChMTFZNX1ZFUlNJT04gTExW
TV9JTkNMVURFX0RJUlMgTExWTV9MSUJSQVJJRVMgTExWTV9TVEFUSUNfTElCUkFSSUVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQppbmRleCAyNDM4YzYzNWVjMjFlMzIzMDUxOGQxMjM3YjRlMWFlNDhjMWNm
ZGNhLi42YzZiOWM3M2FhMzUzZjE2NzJmNTBmNmU2OTUyOWJmZTg3ZjQ2MDY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0VmbC5jbWFrZQpAQCAtNjksMTIgKzY5LDYgQEAgZWxzZSAoKQogICAgIHNldChXZWJLaXQyX1ZF
UlNJT05fU0NSSVBUICItV2wsLS12ZXJzaW9uLXNjcmlwdCwke0NNQUtFX01PRFVMRV9QQVRIfS9l
ZmxzeW1ib2xzLmZpbHRlciIpCiBlbmRpZiAoKQogCi1pZiAoV1RGX0NQVV9YODZfNjQpCi0gICAg
c2V0KEVOQUJMRV9GVExfREVGQVVMVCBPTikKLWVsc2UgKCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9E
RUZBVUxUIE9GRikKLWVuZGlmICgpCi0KIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9BQ0NFU1NJQklMSVRZIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BTExJTk9ORV9CVUlMRCBQVUJMSUMgT0ZGKQpAQCAt
OTcsNyArOTEsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRFJB
R19TVVBQT1JUIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9FTkNSWVBURURfTUVESUEgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIgUFVCTElDIE9OKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBQVUJMSUMgT0ZG
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFVCTElD
ICR7RU5BQkxFX0ZUTF9ERUZBVUxUfSkKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9GVExfSklUIFBVQkxJQyAke1dURl9DUFVfWDg2XzY0fSkKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSBQVUJMSUMgT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfR0FNRVBBRCBQVUJMSUMgT0ZGKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCBQVUJMSUMgT04pCkBAIC0yODIsMTggKzI3Niw4IEBAIGlmIChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykKICAgICBmaW5kX3BhY2thZ2UoRXNwZWFrIFJFUVVJUkVEKQogZW5kaWYgKCkKIAotaWYg
KEVOQUJMRV9GVExfSklUKQotICAgIGlmIChXVEZfQ1BVX1g4Nl82NCkKLSAgICAgICAgZmluZF9w
YWNrYWdlKExMVk0gMy42LjAgUkVRVUlSRUQpCi0gICAgZWxzZWlmIChXVEZfQ1BVX0FSTTY0KQot
ICAgICAgICBmaW5kX3BhY2thZ2UoTExWTSBSRVFVSVJFRCkKLSAgICAgICAgaWYgKE5PVCAiJHtM
TFZNX1ZFUlNJT059IiBTVFJFUVVBTCAiMy41LjBmdGwiKQotICAgICAgICAgICAgbWVzc2FnZShG
QVRBTF9FUlJPUiAiRlRMIEpJVCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBBQXJjaDY0IGFyY2hpdGVj
dHVyZSB3aXRoIHBhdGNoZWQgTExWTSAzLjUuMCwgdXNlIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdl
YmtpdGVmbC1saWJzIGxsdm0tMy41LWZvci1BQXJjaDY0IHRvIGJ1aWxkIGl0LiIpCi0gICAgICAg
IGVuZGlmICgpCi0gICAgZWxzZSAoKQotICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJGVEwg
SklUIGlzIG9ubHkgYXZhaWxhYmxlIG9uIFg4Nl82NCBhbmQgQUFyY2g2NCBhcmNoaXRlY3R1cmVz
LiIpCi0gICAgZW5kaWYgKCkKLSAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xMVk0g
VFJVRSkKK2lmIChFTkFCTEVfRlRMX0pJVCBBTkQgTk9UIFdURl9DUFVfWDg2XzY0KQorICAgIG1l
c3NhZ2UoRkFUQUxfRVJST1IgIkZUTCBKSVQgaXMgb25seSBhdmFpbGFibGUgb24gWDg2XzY0IGFy
Y2hpdGVjdHVyZS4iKQogZW5kaWYgKCkKIAogaWYgKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKQpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZQppbmRleCBmYmQzYzdmYjVmNTc0OTljODBiMTMyMGVhZWIxOWZjNDVhYmEw
ZjQ0Li41ZDU0OTdkNmYyNWVhOTBkZjI0MWZjNzI4Y2VkODJkNmFlNTBmZjg4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZQpAQCAtNjYsMTIgKzY2LDYgQEAgaWYgKE5PVCBPUEVOR0xfRk9VTkQgQU5EIE9Q
RU5HTEVTMl9GT1VORCkKICAgICBzZXQoRU5BQkxFX0dMRVMyX0RFRkFVTFQgT04pCiBlbmRpZiAo
KQogCi1pZiAoV1RGX0NQVV9YODZfNjQpCi0gICAgc2V0KEVOQUJMRV9GVExfREVGQVVMVCBPTikK
LWVsc2UgKCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9ERUZBVUxUIE9GRikKLWVuZGlmICgpCi0KICMg
UHVibGljIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIEdUSysgcG9ydC4gRG8gbm90IGFkZCBhbnkg
b3B0aW9ucyBoZXJlIHVubGVzcwogIyB0aGVyZSBpcyBhIHN0cm9uZyByZWFzb24gd2Ugc2hvdWxk
IHN1cHBvcnQgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIHRoZSBvcHRpb24sCiAjIGFuZCB0aGUgb3B0
aW9uIGlzIG5vdCByZWxldmFudCB0byBhbnkgb3RoZXIgV2ViS2l0IHBvcnRzLgpAQCAtMTMzLDcg
KzEyNyw2IEBAIGVuZGlmICgpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFIFBVQkxJQyBPTikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EUkFHX1NVUFBPUlQgUFVCTElDIE9O
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFVCTElD
ICR7RU5BQkxFX0ZUTF9ERUZBVUxUfSkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9HRU9MT0NBVElPTiBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfSUNPTkRBVEFCQVNFIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9KSVQgUFVCTElDIE9OKQpAQCAtMTUzLDYgKzE0Niw3IEBA
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VUIFBS
SVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1JF
R0lPTlMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFCQVNFX1BST0NFU1MgUFJJVkFURSBPTikKK1dFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBSSVZBVEUgJHtXVEZfQ1BV
X1g4Nl82NH0pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlRQRElS
IFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSBQUklWQVRFIE9OKQpAQCAtMjM0LDE4ICsyMjgsNiBA
QCBpZiAoRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRSkKICAgICBlbmRpZiAoKQogZW5kaWYgKCkK
IAotaWYgKEVOQUJMRV9GVExfSklUKQotICAgIGlmIChXVEZfQ1BVX1g4Nl82NCkKLSAgICAgICAg
ZmluZF9wYWNrYWdlKExMVk0gMy43KQotICAgICAgICBpZiAoTk9UIExMVk1fRk9VTkQpCi0gICAg
ICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJMTFZNIDMuNyBpcyByZXF1aXJlZCBmb3IgRU5B
QkxFX0ZUTF9KSVQiKQotICAgICAgICBlbmRpZiAoKQotICAgICAgICBTRVRfQU5EX0VYUE9TRV9U
T19CVUlMRChIQVZFX0xMVk0gVFJVRSkKLSAgICBlbHNlICgpCi0gICAgICAgIG1lc3NhZ2UoRkFU
QUxfRVJST1IgIkZUTCBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgWDg2XzY0IikKLSAgICBlbmRpZiAo
KQotZW5kaWYgKCkKLQogaWYgKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpCiAgICAgZmluZF9w
YWNrYWdlKEdVZGV2KQogICAgIGlmIChOT1QgR1VERVZfRk9VTkQpCmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZTkzYWRhMDg2NDk0MWRlNTljNTkzZDAwMzBhOWMzYThi
MWI4Yzc3OC4uZmVmMzljN2MwM2NkZTgzMmJlNzc1ZjMwM2ExNTQzMmU4YTA2YzAyMSAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTAx
LTMwICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAg
ICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBMTFZNIGZyb20gdGhlIENNYWtlIGJ1aWxkIHN5
c3RlbS4gRlRMIEpJVCBub3cgcmVxdWlyZXMgQjMgaW5zdGVhZC4KKworICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9GaW5kTExWTS5jbWFrZTogUmVtb3ZlZC4KKyAgICAgICAgKiBTb3VyY2UvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFr
ZTogTWFrZSBFTkFCTEVfRlRMX0pJVCBhIHByaXZhdGUgb3B0aW9uLiBOb3cgdGhhdCB0aGUgTExW
TQorICAgICAgICBkZXBlbmRlbmN5IGlzIGdvbmUsIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIGFsbG93
IHVzZXJzIHRvIHR1cm4gRlRMIG9uIG9yIG9mZi4gQWNjb3JkaW5nbHksCisgICAgICAgIHJlbW92
ZSB0aGUgZmF0YWwgZXJyb3Igd2hlbiBGVEwgaXMgZW5hYmxlZCBvbiBub24teDg2XzY0LiBTaW5j
ZSBpdCdzIGEgcHJpdmF0ZSBvcHRpb24sIHdlCisgICAgICAgIGNhbiBhc3N1bWUgYW55b25lIGVu
YWJsaW5nIEZUTCBtYW51YWxseSBpcyB0cnlpbmcgdG8gaGFjayBvbiBpdC4KKwogMjAxNi0wMS0z
MCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBFbmFi
bGUgU2FtcGxpbmdQcm9maWxlciBvbiBQT1NJWCBlbnZpcm9ubWVudAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270550</attachid>
            <date>2016-02-02 21:44:37 -0800</date>
            <delta_ts>2016-02-03 00:30:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153478-20160202234413.patch</filename>
            <type>text/plain</type>
            <size>15633</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1OTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZDAxNjk0MjA0ODQ2NDdiZjA2MmZmZTNhODc5NDJkMDVjM2MxZDBmLi4zZTk1NGM3MjM2MmJhYmM0
NzBhYTk0MGM4Mjk3YTIxZDZlMTA3MjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNi0wMi0wMiAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bRUZMXSBTd2l0Y2ggRlRMIHRvIEIzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb25kaXRpb25hbGl6ZSBj
b2RlIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgRlRMIGNvbXBsZXRlbHkgd2l0aG91dCBM
TFZNLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogZGZnL0RGR0NvbW1v
bi5oOgorICAgICAgICAqIGRmZy9ERkdQbGFuLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpQbGFu
Ojpjb21waWxlSW5UaHJlYWRJbXBsKToKKyAgICAgICAgKiBmdGwvRlRMQWJicmV2aWF0ZWRUeXBl
cy5oOgorICAgICAgICAqIGZ0bC9GVExGYWlsLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpmYWls
KToKKyAgICAgICAgKiBmdGwvRlRMU3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OlN0YXRl
OjpTdGF0ZSk6CisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6On5TdGF0ZSk6CisKIDIwMTYtMDEt
MzAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTU3OTkgYW5kIHIxOTU4MjguCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGEwMTI2OGQ3
NDIxZDdhNGM5MmE0YjVmZTZjNDc0ZmVkMzQ3MjY0MGIuLjg4OTJmN2ZjOThlNzBkN2IxNDNiOTVi
YjM2NTFiZDJiNDRjMjUxODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDItMDIgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW0VG
TF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRW5hYmxlIEIzIGJ5IGRlZmF1bHQgb24gYWxsIHg4Ni4KKworICAgICAgICAq
IHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE2LTAxLTMwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk1OTEx
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGY0MmI2Njk2YzIwNWVmZDA2
OGYxMzQwNjhhMzcwZGMxMWIwYjE0MGEuLjZkNGNkMjkxMjY1N2FmYmM0Yjk1N2NhZDVjY2E5ZjRm
MDc3YTNhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk4OCwzNiAr
OTg4LDExIEBAIGxpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBsbGludC9M
b3dMZXZlbEludGVycHJldGVyLmNwcAogKQogCi0KIGlmIChFTkFCTEVfRlRMX0pJVCkKLSAgICAj
IENvbmZpZ3VyZSBsbHZtRm9ySlNDLnNvCi0gICAgc2V0KGxsdm1Gb3JKU0NfU09VUkNFUwotICAg
ICAgICBsbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAKLSAgICAgICAgbGx2bS9saWJyYXJ5L0xM
Vk1FeHBvcnRzLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTU92ZXJyaWRlcy5jcHAKLSAg
ICApCi0gICAgc2V0KGxsdm1Gb3JKU0NfSU5DTFVERV9ESVJFQ1RPUklFUwotICAgICAgICAke0xM
Vk1fSU5DTFVERV9ESVJTfQotICAgICAgICAiJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENP
UkVfRElSfSIKLSAgICApCi0KLSAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgICAgIE9VVFBV
VCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5
VG9rZW4uaAotICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgdG91Y2ggJHtERVJJ
VkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9XZWJLaXRMTFZNTGlicmFyeVRva2VuLmgK
LSAgICAgICAgVkVSQkFUSU0pCi0KLSAgICAjIEFkZGVkIGV4dHJhIGl0ZW1zIGZvciBKYXZhU2Ny
aXB0Q29yZQotICAgIGxpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX1NZU1RFTV9JTkNMVURFX0RJ
UkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9Ci0gICAgKQotCiAgICAgbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgICAgICBkZmcvREZHVG9GVExEZWZl
cnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwCiAgICAgICAgIGRmZy9ERkdUb0ZUTEZvck9TUkVu
dHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcAogCi0gICAgICAgIGRpc2Fzc2VtYmxl
ci9MTFZNRGlzYXNzZW1ibGVyLmNwcAotICAgICAgICBkaXNhc3NlbWJsZXIvWDg2RGlzYXNzZW1i
bGVyLmNwcAotCiAgICAgICAgIGZ0bC9GVExBYnN0cmFjdEhlYXAuY3BwCiAgICAgICAgIGZ0bC9G
VExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAogICAgICAgICBmdGwvRlRMQXZhaWxhYmxlUmVj
b3ZlcnkuY3BwCkBAIC0xMDY4LDYgKzEwNDMsMzQgQEAgaWYgKEVOQUJMRV9GVExfSklUKQogICAg
ICAgICBmdGwvRlRMVGh1bmtzLmNwcAogICAgICAgICBmdGwvRlRMVW53aW5kSW5mby5jcHAKICAg
ICAgICAgZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCisgICAgKQorZW5kaWYgKCkKKworaWYgKFVTRV9M
TFZNX0RJU0FTU0VNQkxFUikKKyAgICAjIENvbmZpZ3VyZSBsbHZtRm9ySlNDLnNvCisgICAgc2V0
KGxsdm1Gb3JKU0NfU09VUkNFUworICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUFuY2hvci5jcHAK
KyAgICAgICAgbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcAorICAgICAgICBsbHZtL2xpYnJh
cnkvTExWTU92ZXJyaWRlcy5jcHAKKyAgICApCisgICAgc2V0KGxsdm1Gb3JKU0NfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICAgICAke0xMVk1fSU5DTFVERV9ESVJTfQorICAgICAgICAiJHtERVJJ
VkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfSIKKyAgICApCisKKyAgICBhZGRfY3VzdG9t
X2NvbW1hbmQoCisgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09S
RV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAorICAgICAgICBDT01NQU5EICR7Q01BS0Vf
Q09NTUFORH0gLUUgdG91Y2ggJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9X
ZWJLaXRMTFZNTGlicmFyeVRva2VuLmgKKyAgICAgICAgVkVSQkFUSU0pCisKKyAgICAjIEFkZGVk
IGV4dHJhIGl0ZW1zIGZvciBKYXZhU2NyaXB0Q29yZQorICAgIGxpc3QoQVBQRU5EIEphdmFTY3Jp
cHRDb3JlX1NZU1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTCisgICAgICAgICR7TExWTV9JTkNMVURF
X0RJUlN9CisgICAgKQorCisgICAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwor
ICAgICAgICBkaXNhc3NlbWJsZXIvTExWTURpc2Fzc2VtYmxlci5jcHAKKyAgICAgICAgZGlzYXNz
ZW1ibGVyL1g4NkRpc2Fzc2VtYmxlci5jcHAKIAogICAgICAgICBsbHZtL0luaXRpYWxpemVMTFZN
LmNwcAogICAgICAgICBsbHZtL0luaXRpYWxpemVMTFZNTGludXguY3BwCkBAIC0xMzUzLDEyICsx
MzU2LDEyIEBAIGVuZGlmICgpCiAKIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElT
VFMoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQpCitpZiAoVVNFX0xMVk1fRElTQVNTRU1CTEVSKQog
ICAgIGlmIChOT1QgbGx2bUZvckpTQ19MSUJSQVJJRVMpCiAgICAgICAgIHNldChsbHZtRm9ySlND
X0xJQlJBUklFUyAke0xMVk1fU1RBVElDX0xJQlJBUklFU30pCiAgICAgZW5kaWYgKCkKICAgICBp
ZiAoTk9UIGxsdm1Gb3JKU0NfTElCUkFSSUVTKQotICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9S
ICJObyBMTFZNIGxpYnMgZm91bmQsIGJ1dCBGVEwgaXMgZW5hYmxlZC4gU3RvcHBpbmcgYnVpbGQu
IikKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTm8gTExWTSBsaWJzIGZvdW5kLCBidXQg
TExWTSBkaXNhc3NlbWJsZXIgaXMgZW5hYmxlZC4gU3RvcHBpbmcgYnVpbGQuIikKICAgICBlbmRp
ZiAoKQogCiAgICAgV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2xsdm1Gb3JKU0NfU09VUkNFU30p
CkBAIC0xNDAzLDcgKzE0MDYsNyBAQCBpZiAoJHtKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZUEV9
IFNUUkVRVUFMICJTSEFSRUQiKQogICAgIGluc3RhbGwoVEFSR0VUUyBKYXZhU2NyaXB0Q29yZSBE
RVNUSU5BVElPTiAiJHtMSUJfSU5TVEFMTF9ESVJ9IikKIGVuZGlmICgpCiAKLWlmIChFTkFCTEVf
RlRMX0pJVCkKK2lmIChVU0VfTExWTV9ESVNBU1NFTUJMRVIpCiAgICAgYWRkX2RlcGVuZGVuY2ll
cyhKYXZhU2NyaXB0Q29yZSBsbHZtRm9ySlNDKQogZW5kaWYgKCkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ29tbW9uLmgKaW5kZXggNzM0ZTk2MmRmNjA3NzE1NzExMTcwYTRmNTg4MjcwMDgw
YmE2ZTM1OS4uMmY3MGEzYmMxZTQxMmRkYTY2MTIwMjE5MmNiY2I3ZWIwZGVlZjllMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAogLy8gV2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgYSB0
cmFuc2l0aW9uIGZyb20gTExWTSB0byBCMyBhcyB0aGUgYmFja2VuZCBmb3IgdGhlIEZUTC4gVGhp
cyBmbGFnIHdpbGwgZ28KIC8vIGF3YXkgb25jZSB0aGF0IHRyYW5zaXRpb24gaXMgZmluaXNoZWQu
IEZvciBub3csIHdlIGVuYWJsZSBCMyBvbmx5IG9uIHNvbWUgcGxhdGZvcm1zLgotI2lmIENQVShY
ODZfNjQpICYmIFBMQVRGT1JNKE1BQykKKyNpZiBDUFUoWDg2XzY0KSAmJiBFTkFCTEUoRlRMX0pJ
VCkKICNkZWZpbmUgRlRMX1VTRVNfQjMgMQogI2Vsc2UKICNkZWZpbmUgRlRMX1VTRVNfQjMgMApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKaW5kZXggNTEyZjQ0N2Q1ZmYxZTY1MzQw
MTRmOWVmZWZjMWI3MjhjNThjZWM2MC4uMGRmMTlkMzA3MzM3OTA1MmEzMDA1ZmNmNjRlYTA5ZTJj
ZGYyYWY2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCkBAIC00NTUsMTUg
KzQ1NSwyMCBAQCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29tcGlsZUluVGhyZWFkSW1w
bChMb25nTGl2ZWRTdGF0ZSYgbG9uZ0xpdmVkU3RhdGUpCiAKICAgICAgICAgZHVtcEFuZFZlcmlm
eUdyYXBoKGRmZywgIkdyYXBoIGp1c3QgYmVmb3JlIEZUTCBsb3dlcmluZzoiLCBzaG91bGREdW1w
RGlzYXNzZW1ibHkobW9kZSkpOwogICAgICAgICAKKyNpZiAhRlRMX1VTRVNfQjMgfHwgVVNFKExM
Vk1fRElTQVNTRU1CTEVSKQogICAgICAgICBib29sIGhhdmVMTFZNOworI2VuZGlmCiAgICAgICAg
IFNhZmVwb2ludDo6UmVzdWx0IHNhZmVwb2ludFJlc3VsdDsKICAgICAgICAgewogICAgICAgICAg
ICAgR3JhcGhTYWZlcG9pbnQgc2FmZXBvaW50KGRmZywgc2FmZXBvaW50UmVzdWx0KTsKKyNpZiAh
RlRMX1VTRVNfQjMgfHwgVVNFKExMVk1fRElTQVNTRU1CTEVSKQogICAgICAgICAgICAgaGF2ZUxM
Vk0gPSBpbml0aWFsaXplTExWTSgpOworI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgaWYgKHNh
ZmVwb2ludFJlc3VsdC5kaWRHZXRDYW5jZWxsZWQoKSkKICAgICAgICAgICAgIHJldHVybiBDYW5j
ZWxQYXRoOwotICAgICAgICAKKworI2lmICFGVExfVVNFU19CMyB8fCBVU0UoTExWTV9ESVNBU1NF
TUJMRVIpCiAgICAgICAgIGlmICghaGF2ZUxMVk0pIHsKICAgICAgICAgICAgIGlmIChPcHRpb25z
OjpmdGxDcmFzaGVzSWZDYW50SW5pdGlhbGl6ZUxMVk0oKSkgewogICAgICAgICAgICAgICAgIGRh
dGFMb2coIkxMVk0gY2FuJ3QgYmUgaW5pdGlhbGl6ZWQuXG4iKTsKQEAgLTQ3Miw2ICs0NzcsNyBA
QCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29tcGlsZUluVGhyZWFkSW1wbChMb25nTGl2
ZWRTdGF0ZSYgbG9uZ0xpdmVkU3RhdGUpCiAgICAgICAgICAgICBmaW5hbGl6ZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPEZhaWxlZEZpbmFsaXplcj4oKnRoaXMpOwogICAgICAgICAgICAgcmV0dXJuIEZh
aWxQYXRoOwogICAgICAgICB9CisjZW5kaWYKIAogICAgICAgICBGVEw6OlN0YXRlIHN0YXRlKGRm
Zyk7CiAgICAgICAgIEZUTDo6bG93ZXJERkdUb0xMVk0oc3RhdGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGVkVHlwZXMuaAppbmRleCA5YmE0NmIyZDFmNGQw
ZTEyNDAzYzFkMmM5MDEyMTUxM2QxNzZjNTQ0Li5hNTE3YTllZGNlZWE2NzZlMTVmNTNlN2IxODVj
NGM1ZjUwZGJlODZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFi
YnJldmlhdGVkVHlwZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJl
dmlhdGVkVHlwZXMuaApAQCAtNDMsMTEgKzQzLDIwIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3Bh
Y2UgRlRMIHsKIHR5cGVkZWYgQjM6OkJhc2ljQmxvY2sqIExCYXNpY0Jsb2NrOwogdHlwZWRlZiBC
Mzo6VHlwZSBMVHlwZTsKIHR5cGVkZWYgQjM6OlZhbHVlKiBMVmFsdWU7CisKK3R5cGVkZWYgdm9p
ZCogTEF0b21pY09yZGVyaW5nOwordHlwZWRlZiB2b2lkKiBMQnVpbGRlcjsKK3R5cGVkZWYgdm9p
ZCogTENhbGxDb252OwordHlwZWRlZiB2b2lkKiBMQ29udGV4dDsKK3R5cGVkZWYgdm9pZCogTElu
dFByZWRpY2F0ZTsKK3R5cGVkZWYgdm9pZCogTExpbmthZ2U7Cit0eXBlZGVmIHZvaWQqIExNb2R1
bGU7Cit0eXBlZGVmIHZvaWQqIExSZWFsUHJlZGljYXRlOwordHlwZWRlZiB2b2lkKiBMTWVtb3J5
QnVmZmVyOwogI2Vsc2UKIHR5cGVkZWYgTExWTUJhc2ljQmxvY2tSZWYgTEJhc2ljQmxvY2s7CiB0
eXBlZGVmIExMVk1UeXBlUmVmIExUeXBlOwogdHlwZWRlZiBMTFZNVmFsdWVSZWYgTFZhbHVlOwot
I2VuZGlmCiAKIHR5cGVkZWYgTExWTUF0b21pY09yZGVyaW5nIExBdG9taWNPcmRlcmluZzsKIHR5
cGVkZWYgTExWTUJ1aWxkZXJSZWYgTEJ1aWxkZXI7CkBAIC01OCw2ICs2Nyw3IEBAIHR5cGVkZWYg
TExWTUxpbmthZ2UgTExpbmthZ2U7CiB0eXBlZGVmIExMVk1Nb2R1bGVSZWYgTE1vZHVsZTsKIHR5
cGVkZWYgTExWTVJlYWxQcmVkaWNhdGUgTFJlYWxQcmVkaWNhdGU7CiB0eXBlZGVmIExMVk1NZW1v
cnlCdWZmZXJSZWYgTE1lbW9yeUJ1ZmZlcjsKKyNlbmRpZgogCiBlbnVtIFN5bmNocm9uaXphdGlv
blNjb3BlIHsgU2luZ2xlVGhyZWFkLCBDcm9zc1RocmVhZCB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEZhaWwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExGYWlsLmNwcAppbmRleCBhYzJmYzA3ZWJhMWU0M2NkYzBjNDJhZWExMzhlNWM2ZTM4
MGE0NTkzLi5kMTU0ZWJkMWE4ZjljNDcyODdhNDgzZmY5YTkwZGQzMzEwZjcyN2E0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEZhaWwuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAKQEAgLTQwLDggKzQwLDEwIEBAIHZvaWQgZmFp
bChTdGF0ZSYgc3RhdGUpCiB7CiAgICAgc3RhdGUuZ3JhcGgubV9wbGFuLmZpbmFsaXplciA9IHN0
ZDo6bWFrZV91bmlxdWU8RmFpbGVkRmluYWxpemVyPihzdGF0ZS5ncmFwaC5tX3BsYW4pOwogICAg
IAorI2lmICFGVExfVVNFU19CMwogICAgIGlmIChzdGF0ZS5tb2R1bGUpCiAgICAgICAgIGxsdm0t
PkRpc3Bvc2VNb2R1bGUoc3RhdGUubW9kdWxlKTsKKyNlbmRpZgogfQogCiB9IH0gLy8gbmFtZXNw
YWNlIEpTQzo6RlRMCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0
YXRlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCmluZGV4IDJl
YWM0MDk1MDg5ZDYyZTcwODkzNjQ1MmU2MDE0Y2JkM2RhMWZmNjguLmMyNjI1YzU2ZTQ5Y2VlNTYz
MmUwNmM1ZTI4NDM4NDYzOGI3ZGIxOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3Rh
dGUuY3BwCkBAIC0zNCw5ICszNCwxMiBAQAogI2luY2x1ZGUgIkZUTEpJVENvZGUuaCIKICNpbmNs
dWRlICJGVExKSVRGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJGVExQYXRjaHBvaW50RXhjZXB0aW9u
SGFuZGxlLmgiCi0jaW5jbHVkZSA8bGx2bS9Jbml0aWFsaXplTExWTS5oPgogI2luY2x1ZGUgPHN0
ZGlvLmg+CiAKKyNpZiAhRlRMX1VTRVNfQjMKKyNpbmNsdWRlIDxsbHZtL0luaXRpYWxpemVMTFZN
Lmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCiB1c2luZyBu
YW1lc3BhY2UgQjM7CkBAIC00NCw3ICs0NywxMSBAQCB1c2luZyBuYW1lc3BhY2UgREZHOwogCiBT
dGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBoKQogICAgIDogZ3JhcGgoZ3JhcGgpCisjaWYgRlRMX1VT
RVNfQjMKKyAgICAsIGNvbnRleHQobnVsbHB0cikKKyNlbHNlCiAgICAgLCBjb250ZXh0KGxsdm0t
PkNvbnRleHRDcmVhdGUoKSkKKyNlbmRpZgogICAgICwgbW9kdWxlKDApCiAgICAgLCBmdW5jdGlv
bigwKQogICAgICwgZ2VuZXJhdGVkRnVuY3Rpb24oMCkKQEAgLTg1LDcgKzkyLDkgQEAgU3RhdGU6
OlN0YXRlKEdyYXBoJiBncmFwaCkKIAogU3RhdGU6On5TdGF0ZSgpCiB7CisjaWYgIUZUTF9VU0VT
X0IzCiAgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7CisjZW5kaWYKIH0KIAogdm9p
ZCBTdGF0ZTo6ZHVtcFN0YXRlKGNvbnN0IGNoYXIqIHdoZW4pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBlNWRj
MDk1N2VkNzBhMzFjZDE2OTNjYmRkNDdiM2QxMmIzOTViMjBhLi45NTQyZjE4MThkMjhjNDRjNGUx
MWY5NGNkMDQzMzExYWVhMzFlZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTcxOCwxMCArNzE4LDYgQEAK
ICNkZWZpbmUgSEFWRV9MTFZNIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oR1RLKSAmJiBIQVZF
KExMVk0pICYmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9GVExfSklUKSAmJiBDUFUo
WDg2XzY0KQotI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAxCi0jZW5kaWYKLQogLyogVGhlIEZUTCAq
ZG9lcyBub3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNv
bWVvbmUgYXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAj
dW5kZWYgRU5BQkxFX0ZUTF9KSVQKQEAgLTc4Nyw5ICs3ODMsOCBAQAogI2RlZmluZSBFTkFCTEVf
Q09OQ1VSUkVOVF9KSVQgMQogI2VuZGlmCiAKLS8qIFRoZSBCMyBjb21waWxlciBpcyBhbiBleHBl
cmltZW50YWwgYmFja2VuZCB0aGF0IGlzIHN0aWxsIGluIGRldmVsb3BtZW50LiBXZSB3aWxsIGtl
ZXAgaXQgYnVpbGRpbmcKLSAgIG9uIE1hYy94ODYtNjQgZm9yIG5vdywgdGhvdWdoIGl0IGlzIHVu
dXNlZCBleGNlcHQgZm9yIHRlc3RzLiAqLwotI2lmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KElPUykpICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJVCkK
Ky8qIFRoaXMgY29udHJvbHMgd2hldGhlciBCMyBpcyBidWlsdC4gSXQgd2lsbCBub3QgYmUgdXNl
ZCB1bmxlc3MgRlRMX1VTRVNfQjMgaXMgZW5hYmxlZC4gKi8KKyNpZiAoQ1BVKFg4Nl82NCkgfHwg
Q1BVKEFSTTY0KSkgJiYgRU5BQkxFKEZUTF9KSVQpCiAjZGVmaW5lIEVOQUJMRV9CM19KSVQgMQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291
cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggMjQzOGM2MzVlYzIxZTMyMzA1MThkMTIz
N2I0ZTFhZTQ4YzFjZmRjYS4uN2M3OTliYzkzNmRhNDE2ZWEyNDdkMDY5OGQyZmUwYWQyYzFlMmQ3
ZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNl
L2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTY5LDEyICs2OSw2IEBAIGVsc2UgKCkKICAgICBz
ZXQoV2ViS2l0Ml9WRVJTSU9OX1NDUklQVCAiLVdsLC0tdmVyc2lvbi1zY3JpcHQsJHtDTUFLRV9N
T0RVTEVfUEFUSH0vZWZsc3ltYm9scy5maWx0ZXIiKQogZW5kaWYgKCkKIAotaWYgKFdURl9DUFVf
WDg2XzY0KQotICAgIHNldChFTkFCTEVfRlRMX0RFRkFVTFQgT04pCi1lbHNlICgpCi0gICAgc2V0
KEVOQUJMRV9GVExfREVGQVVMVCBPRkYpCi1lbmRpZiAoKQotCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfM0RfVFJBTlNGT1JNUyBQVUJMSUMgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBQVUJMSUMgT04pCiBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUxMSU5PTkVfQlVJTEQgUFVC
TElDIE9GRikKQEAgLTk3LDcgKzkxLDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0RSQUdfU1VQUE9SVCBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyIFBVQkxJQyBP
TikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9G
VExfSklUIFBVQkxJQyAke0VOQUJMRV9GVExfREVGQVVMVH0pCitXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfRlRMX0pJVCBQVUJMSUMgJHtXVEZfQ1BVX1g4Nl82NH0pCiBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlVMTFNDUkVFTl9BUEkgUFVC
TElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQUQg
UFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQgUFVCTElDIE9OKQpAQCAtMjgyLDE4ICsyNzYsOCBAQCBpZiAoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpCiAgICAgZmluZF9wYWNrYWdlKEVzcGVhayBSRVFVSVJFRCkKIGVu
ZGlmICgpCiAKLWlmIChFTkFCTEVfRlRMX0pJVCkKLSAgICBpZiAoV1RGX0NQVV9YODZfNjQpCi0g
ICAgICAgIGZpbmRfcGFja2FnZShMTFZNIDMuNi4wIFJFUVVJUkVEKQotICAgIGVsc2VpZiAoV1RG
X0NQVV9BUk02NCkKLSAgICAgICAgZmluZF9wYWNrYWdlKExMVk0gUkVRVUlSRUQpCi0gICAgICAg
IGlmIChOT1QgIiR7TExWTV9WRVJTSU9OfSIgU1RSRVFVQUwgIjMuNS4wZnRsIikKLSAgICAgICAg
ICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkZUTCBKSVQgaXMgb25seSBhdmFpbGFibGUgb24gQUFy
Y2g2NCBhcmNoaXRlY3R1cmUgd2l0aCBwYXRjaGVkIExMVk0gMy41LjAsIHVzZSBUb29scy9TY3Jp
cHRzL3VwZGF0ZS13ZWJraXRlZmwtbGlicyBsbHZtLTMuNS1mb3ItQUFyY2g2NCB0byBidWlsZCBp
dC4iKQotICAgICAgICBlbmRpZiAoKQotICAgIGVsc2UgKCkKLSAgICAgICAgbWVzc2FnZShGQVRB
TF9FUlJPUiAiRlRMIEpJVCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBYODZfNjQgYW5kIEFBcmNoNjQg
YXJjaGl0ZWN0dXJlcy4iKQotICAgIGVuZGlmICgpCi0gICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJ
TEQoSEFWRV9MTFZNIFRSVUUpCitpZiAoRU5BQkxFX0ZUTF9KSVQgQU5EIE5PVCBXVEZfQ1BVX1g4
Nl82NCBBTkQgTk9UIERFVkVMT1BFUl9NT0RFKQorICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkZU
TCBKSVQgaXMgb25seSBhdmFpbGFibGUgb24gWDg2XzY0IGFyY2hpdGVjdHVyZS4iKQogZW5kaWYg
KCkKIAogaWYgKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQppbmRleCBm
YmQzYzdmYjVmNTc0OTljODBiMTMyMGVhZWIxOWZjNDVhYmEwZjQ0Li41ZDU0OTdkNmYyNWVhOTBk
ZjI0MWZjNzI4Y2VkODJkNmFlNTBmZjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtNjYsMTIg
KzY2LDYgQEAgaWYgKE5PVCBPUEVOR0xfRk9VTkQgQU5EIE9QRU5HTEVTMl9GT1VORCkKICAgICBz
ZXQoRU5BQkxFX0dMRVMyX0RFRkFVTFQgT04pCiBlbmRpZiAoKQogCi1pZiAoV1RGX0NQVV9YODZf
NjQpCi0gICAgc2V0KEVOQUJMRV9GVExfREVGQVVMVCBPTikKLWVsc2UgKCkKLSAgICBzZXQoRU5B
QkxFX0ZUTF9ERUZBVUxUIE9GRikKLWVuZGlmICgpCi0KICMgUHVibGljIG9wdGlvbnMgc3BlY2lm
aWMgdG8gdGhlIEdUSysgcG9ydC4gRG8gbm90IGFkZCBhbnkgb3B0aW9ucyBoZXJlIHVubGVzcwog
IyB0aGVyZSBpcyBhIHN0cm9uZyByZWFzb24gd2Ugc2hvdWxkIHN1cHBvcnQgY2hhbmdpbmcgdGhl
IHZhbHVlIG9mIHRoZSBvcHRpb24sCiAjIGFuZCB0aGUgb3B0aW9uIGlzIG5vdCByZWxldmFudCB0
byBhbnkgb3RoZXIgV2ViS2l0IHBvcnRzLgpAQCAtMTMzLDcgKzEyNyw2IEBAIGVuZGlmICgpCiBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
Q1JFREVOVElBTF9TVE9SQUdFIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9EUkFHX1NVUFBPUlQgUFVCTElDIE9OKQotV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFVCTElDICR7RU5BQkxFX0ZUTF9ERUZBVUxU
fSkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9HRU9MT0NBVElPTiBQ
VUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSUNPTkRB
VEFCQVNFIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9KSVQgUFVCTElDIE9OKQpAQCAtMTUzLDYgKzE0Niw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VUIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1JFR0lPTlMgUFJJVkFURSBPTikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RB
VEFCQVNFX1BST0NFU1MgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9GVExfSklUIFBSSVZBVEUgJHtXVEZfQ1BVX1g4Nl82NH0pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlRQRElSIFBSSVZBVEUgT0ZGKQogV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIFBSSVZBVEUg
T04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSBQUklWQVRFIE9OKQpAQCAtMjM0LDE4ICsyMjgsNiBAQCBpZiAoRU5BQkxFX0NSRURFTlRJ
QUxfU1RPUkFHRSkKICAgICBlbmRpZiAoKQogZW5kaWYgKCkKIAotaWYgKEVOQUJMRV9GVExfSklU
KQotICAgIGlmIChXVEZfQ1BVX1g4Nl82NCkKLSAgICAgICAgZmluZF9wYWNrYWdlKExMVk0gMy43
KQotICAgICAgICBpZiAoTk9UIExMVk1fRk9VTkQpCi0gICAgICAgICAgICBtZXNzYWdlKEZBVEFM
X0VSUk9SICJMTFZNIDMuNyBpcyByZXF1aXJlZCBmb3IgRU5BQkxFX0ZUTF9KSVQiKQotICAgICAg
ICBlbmRpZiAoKQotICAgICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xMVk0gVFJV
RSkKLSAgICBlbHNlICgpCi0gICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkZUTCBpcyBvbmx5
IHN1cHBvcnRlZCBmb3IgWDg2XzY0IikKLSAgICBlbmRpZiAoKQotZW5kaWYgKCkKLQogaWYgKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpCiAgICAgZmluZF9wYWNrYWdlKEdVZGV2KQogICAgIGlm
IChOT1QgR1VERVZfRk9VTkQpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5k
ZXggZTkzYWRhMDg2NDk0MWRlNTljNTkzZDAwMzBhOWMzYThiMWI4Yzc3OC4uMmUwNWJiMzk2NWIx
YTMxOTc4M2E4Y2Y5Mzc5Yjk3NWQ5Zjk2ODU1ZSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBi
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTAyLTAyICBNaWNoYWVsIENhdGFuemFy
byAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtFRkxdIFN3aXRjaCBG
VEwgdG8gQjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1MzQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6CisgICAgICAgICogU291cmNlL2NtYWtl
L09wdGlvbnNHVEsuY21ha2U6CisKIDIwMTYtMDEtMzAgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5l
LnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgRW5hYmxlIFNhbXBsaW5nUHJvZmlsZXIgb24gUE9T
SVggZW52aXJvbm1lbnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270560</attachid>
            <date>2016-02-03 00:30:23 -0800</date>
            <delta_ts>2016-02-03 00:50:20 -0800</delta_ts>
            <desc>Rebased patch</desc>
            <filename>jsc-b3.diff</filename>
            <type>text/plain</type>
            <size>14907</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5ZTIzMGMwLi5iM2MwYmY4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTYtMDItMDMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdW0VGTF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAxNi0w
Mi0wMiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgYXR0ZW1wdCB0byBmaXggTWFjIENNYWtlIGJ1aWxkIGFmdGVyIHIxOTU5OTkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTliNTlmNi4uNGU3MDg2YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTkxLDM2ICs5OTEsMTEgQEAgbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwCiApCiAKLQogaWYgKEVOQUJMRV9GVExfSklUKQotICAgICMgQ29uZmlndXJlIGxs
dm1Gb3JKU0Muc28KLSAgICBzZXQobGx2bUZvckpTQ19TT1VSQ0VTCi0gICAgICAgIGxsdm0vbGli
cmFyeS9MTFZNQW5jaG9yLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3Bw
Ci0gICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAotICAgICkKLSAgICBzZXQo
bGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJ
UlN9Ci0gICAgICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgotICAg
ICkKLQotICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgICAgT1VUUFVUICR7REVSSVZFRF9T
T1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oCi0gICAg
ICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0b3VjaCAke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAotICAgICAgICBWRVJC
QVRJTSkKLQotICAgICMgQWRkZWQgZXh0cmEgaXRlbXMgZm9yIEphdmFTY3JpcHRDb3JlCi0gICAg
bGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAg
ICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KLSAgICApCi0KICAgICBsaXN0KEFQUEVORCBKYXZh
U2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgICAgIGRmZy9ERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjay5jcHAKICAgICAgICAgZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwCiAKLSAgICAgICAgZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3Nl
bWJsZXIuY3BwCi0gICAgICAgIGRpc2Fzc2VtYmxlci9YODZEaXNhc3NlbWJsZXIuY3BwCi0KICAg
ICAgICAgZnRsL0ZUTEFic3RyYWN0SGVhcC5jcHAKICAgICAgICAgZnRsL0ZUTEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuY3BwCiAgICAgICAgIGZ0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAKQEAg
LTEwNzEsNiArMTA0NiwzNCBAQCBpZiAoRU5BQkxFX0ZUTF9KSVQpCiAgICAgICAgIGZ0bC9GVExU
aHVua3MuY3BwCiAgICAgICAgIGZ0bC9GVExVbndpbmRJbmZvLmNwcAogICAgICAgICBmdGwvRlRM
VmFsdWVSYW5nZS5jcHAKKyAgICApCitlbmRpZiAoKQorCitpZiAoVVNFX0xMVk1fRElTQVNTRU1C
TEVSKQorICAgICMgQ29uZmlndXJlIGxsdm1Gb3JKU0Muc28KKyAgICBzZXQobGx2bUZvckpTQ19T
T1VSQ0VTCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNQW5jaG9yLmNwcAorICAgICAgICBsbHZt
L2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJp
ZGVzLmNwcAorICAgICkKKyAgICBzZXQobGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCisg
ICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9CisgICAgICAgICIke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9IgorICAgICkKKworICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAg
ICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0
TExWTUxpYnJhcnlUb2tlbi5oCisgICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0
b3VjaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJy
YXJ5VG9rZW4uaAorICAgICAgICBWRVJCQVRJTSkKKworICAgICMgQWRkZWQgZXh0cmEgaXRlbXMg
Zm9yIEphdmFTY3JpcHRDb3JlCisgICAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVN
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KKyAgICAp
CisKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCisgICAgICAgIGRpc2Fz
c2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcAorICAgICAgICBkaXNhc3NlbWJsZXIvWDg2RGlz
YXNzZW1ibGVyLmNwcAogCiAgICAgICAgIGxsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCiAgICAgICAg
IGxsdm0vTExWTUFQSS5jcHAKQEAgLTEzNjYsMTIgKzEzNjksMTIgQEAgZW5kaWYgKCkKIAogV0VC
S0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAKLWlmIChFTkFCTEVfRlRMX0pJ
VCBBTkQgTk9UIFdJTjMyKQoraWYgKFVTRV9MTFZNX0RJU0FTU0VNQkxFUiBBTkQgTk9UIFdJTjMy
KQogICAgIGlmIChOT1QgbGx2bUZvckpTQ19MSUJSQVJJRVMpCiAgICAgICAgIHNldChsbHZtRm9y
SlNDX0xJQlJBUklFUyAke0xMVk1fU1RBVElDX0xJQlJBUklFU30pCiAgICAgZW5kaWYgKCkKICAg
ICBpZiAoTk9UIGxsdm1Gb3JKU0NfTElCUkFSSUVTKQotICAgICAgICBtZXNzYWdlKEZBVEFMX0VS
Uk9SICJObyBMTFZNIGxpYnMgZm91bmQsIGJ1dCBGVEwgaXMgZW5hYmxlZC4gU3RvcHBpbmcgYnVp
bGQuIikKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTm8gTExWTSBsaWJzIGZvdW5kLCBi
dXQgTExWTSBkaXNhc3NlbWJsZXIgaXMgZW5hYmxlZC4gU3RvcHBpbmcgYnVpbGQuIikKICAgICBl
bmRpZiAoKQogCiAgICAgV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2xsdm1Gb3JKU0NfU09VUkNF
U30pCkBAIC0xNDE2LDcgKzE0MTksNyBAQCBpZiAoJHtKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZ
UEV9IFNUUkVRVUFMICJTSEFSRUQiKQogICAgIGluc3RhbGwoVEFSR0VUUyBKYXZhU2NyaXB0Q29y
ZSBERVNUSU5BVElPTiAiJHtMSUJfSU5TVEFMTF9ESVJ9IikKIGVuZGlmICgpCiAKLWlmIChFTkFC
TEVfRlRMX0pJVCkKK2lmIChVU0VfTExWTV9ESVNBU1NFTUJMRVIpCiAgICAgYWRkX2RlcGVuZGVu
Y2llcyhKYXZhU2NyaXB0Q29yZSBsbHZtRm9ySlNDKQogZW5kaWYgKCkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggZTE2NDAzNC4uZDgyNjQyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTYtMDItMDMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFu
emFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW0VGTF0gU3dpdGNoIEZUTCB0byBCMwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uZGl0aW9u
YWxpemUgY29kZSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIEZUTCBjb21wbGV0ZWx5IHdp
dGhvdXQgTExWTS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIGRmZy9E
RkdDb21tb24uaDoKKyAgICAgICAgKiBkZmcvREZHUGxhbi5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6UGxhbjo6Y29tcGlsZUluVGhyZWFkSW1wbCk6CisgICAgICAgICogZnRsL0ZUTEFiYnJldmlh
dGVkVHlwZXMuaDoKKyAgICAgICAgKiBmdGwvRlRMRmFpbC5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6ZmFpbCk6CisgICAgICAgICogZnRsL0ZUTFN0YXRlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRM
OjpTdGF0ZTo6U3RhdGUpOgorICAgICAgICAoSlNDOjpGVEw6OlN0YXRlOjp+U3RhdGUpOgorCiAy
MDE2LTAyLTAyICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CiAKICAgICAgICAg
SlNTeW1ib2xUYWJsZU9iamVjdDo6ZGVsZXRlUHJvcGVydHkoKSBjcmFzaGVzIGRlbGV0aW5nIFN5
bWJvbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCmluZGV4IDU1NTNkMTAuLjc4
MTYyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaApAQCAtMzcsNyArMzcs
NyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIC8vIFdlIGFyZSBpbiB0aGUg
bWlkZGxlIG9mIGEgdHJhbnNpdGlvbiBmcm9tIExMVk0gdG8gQjMgYXMgdGhlIGJhY2tlbmQgZm9y
IHRoZSBGVEwuIFRoaXMgZmxhZyB3aWxsIGdvCiAvLyBhd2F5IG9uY2UgdGhhdCB0cmFuc2l0aW9u
IGlzIGZpbmlzaGVkLiBGb3Igbm93LCB3ZSBlbmFibGUgQjMgb25seSBvbiBzb21lIHBsYXRmb3Jt
cy4KLSNpZiBDUFUoWDg2XzY0KSAmJiBQTEFURk9STShNQUMpICYmIEVOQUJMRShGVExfSklUKQor
I2lmIENQVShYODZfNjQpICYmIEVOQUJMRShGVExfSklUKQogI2RlZmluZSBGVExfVVNFU19CMyAx
CiAjZWxzZQogI2RlZmluZSBGVExfVVNFU19CMyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
bGFuLmNwcAppbmRleCA1MTJmNDQ3Li4wZGYxOWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUGxhbi5jcHAKQEAgLTQ1NSwxNSArNDU1LDIwIEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQ
bGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkK
IAogICAgICAgICBkdW1wQW5kVmVyaWZ5R3JhcGgoZGZnLCAiR3JhcGgganVzdCBiZWZvcmUgRlRM
IGxvd2VyaW5nOiIsIHNob3VsZER1bXBEaXNhc3NlbWJseShtb2RlKSk7CiAgICAgICAgIAorI2lm
ICFGVExfVVNFU19CMyB8fCBVU0UoTExWTV9ESVNBU1NFTUJMRVIpCiAgICAgICAgIGJvb2wgaGF2
ZUxMVk07CisjZW5kaWYKICAgICAgICAgU2FmZXBvaW50OjpSZXN1bHQgc2FmZXBvaW50UmVzdWx0
OwogICAgICAgICB7CiAgICAgICAgICAgICBHcmFwaFNhZmVwb2ludCBzYWZlcG9pbnQoZGZnLCBz
YWZlcG9pbnRSZXN1bHQpOworI2lmICFGVExfVVNFU19CMyB8fCBVU0UoTExWTV9ESVNBU1NFTUJM
RVIpCiAgICAgICAgICAgICBoYXZlTExWTSA9IGluaXRpYWxpemVMTFZNKCk7CisjZW5kaWYKICAg
ICAgICAgfQogICAgICAgICBpZiAoc2FmZXBvaW50UmVzdWx0LmRpZEdldENhbmNlbGxlZCgpKQog
ICAgICAgICAgICAgcmV0dXJuIENhbmNlbFBhdGg7Ci0gICAgICAgIAorCisjaWYgIUZUTF9VU0VT
X0IzIHx8IFVTRShMTFZNX0RJU0FTU0VNQkxFUikKICAgICAgICAgaWYgKCFoYXZlTExWTSkgewog
ICAgICAgICAgICAgaWYgKE9wdGlvbnM6OmZ0bENyYXNoZXNJZkNhbnRJbml0aWFsaXplTExWTSgp
KSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygiTExWTSBjYW4ndCBiZSBpbml0aWFsaXplZC5c
biIpOwpAQCAtNDcyLDYgKzQ3Nyw3IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21w
aWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkKICAgICAgICAg
ICAgIGZpbmFsaXplciA9IHN0ZDo6bWFrZV91bmlxdWU8RmFpbGVkRmluYWxpemVyPigqdGhpcyk7
CiAgICAgICAgICAgICByZXR1cm4gRmFpbFBhdGg7CiAgICAgICAgIH0KKyNlbmRpZgogCiAgICAg
ICAgIEZUTDo6U3RhdGUgc3RhdGUoZGZnKTsKICAgICAgICAgRlRMOjpsb3dlckRGR1RvTExWTShz
dGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlh
dGVkVHlwZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBl
cy5oCmluZGV4IDliYTQ2YjIuLmE1MTdhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oCkBAIC00MywxMSArNDMsMjAgQEAgbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBGVEwgewogdHlwZWRlZiBCMzo6QmFzaWNCbG9jayogTEJhc2ljQmxv
Y2s7CiB0eXBlZGVmIEIzOjpUeXBlIExUeXBlOwogdHlwZWRlZiBCMzo6VmFsdWUqIExWYWx1ZTsK
KwordHlwZWRlZiB2b2lkKiBMQXRvbWljT3JkZXJpbmc7Cit0eXBlZGVmIHZvaWQqIExCdWlsZGVy
OwordHlwZWRlZiB2b2lkKiBMQ2FsbENvbnY7Cit0eXBlZGVmIHZvaWQqIExDb250ZXh0OwordHlw
ZWRlZiB2b2lkKiBMSW50UHJlZGljYXRlOwordHlwZWRlZiB2b2lkKiBMTGlua2FnZTsKK3R5cGVk
ZWYgdm9pZCogTE1vZHVsZTsKK3R5cGVkZWYgdm9pZCogTFJlYWxQcmVkaWNhdGU7Cit0eXBlZGVm
IHZvaWQqIExNZW1vcnlCdWZmZXI7CiAjZWxzZQogdHlwZWRlZiBMTFZNQmFzaWNCbG9ja1JlZiBM
QmFzaWNCbG9jazsKIHR5cGVkZWYgTExWTVR5cGVSZWYgTFR5cGU7CiB0eXBlZGVmIExMVk1WYWx1
ZVJlZiBMVmFsdWU7Ci0jZW5kaWYKIAogdHlwZWRlZiBMTFZNQXRvbWljT3JkZXJpbmcgTEF0b21p
Y09yZGVyaW5nOwogdHlwZWRlZiBMTFZNQnVpbGRlclJlZiBMQnVpbGRlcjsKQEAgLTU4LDYgKzY3
LDcgQEAgdHlwZWRlZiBMTFZNTGlua2FnZSBMTGlua2FnZTsKIHR5cGVkZWYgTExWTU1vZHVsZVJl
ZiBMTW9kdWxlOwogdHlwZWRlZiBMTFZNUmVhbFByZWRpY2F0ZSBMUmVhbFByZWRpY2F0ZTsKIHR5
cGVkZWYgTExWTU1lbW9yeUJ1ZmZlclJlZiBMTWVtb3J5QnVmZmVyOworI2VuZGlmCiAKIGVudW0g
U3luY2hyb25pemF0aW9uU2NvcGUgeyBTaW5nbGVUaHJlYWQsIENyb3NzVGhyZWFkIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEZhaWwuY3BwCmluZGV4IGFjMmZjMDcuLmQxNTRlYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExGYWlsLmNwcApAQCAtNDAsOCArNDAsMTAgQEAgdm9p
ZCBmYWlsKFN0YXRlJiBzdGF0ZSkKIHsKICAgICBzdGF0ZS5ncmFwaC5tX3BsYW4uZmluYWxpemVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxGYWlsZWRGaW5hbGl6ZXI+KHN0YXRlLmdyYXBoLm1fcGxhbik7
CiAgICAgCisjaWYgIUZUTF9VU0VTX0IzCiAgICAgaWYgKHN0YXRlLm1vZHVsZSkKICAgICAgICAg
bGx2bS0+RGlzcG9zZU1vZHVsZShzdGF0ZS5tb2R1bGUpOworI2VuZGlmCiB9CiAKIH0gfSAvLyBu
YW1lc3BhY2UgSlNDOjpGVEwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMU3RhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKaW5k
ZXggMmVhYzQwOS4uYzI2MjVjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExTdGF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5j
cHAKQEAgLTM0LDkgKzM0LDEyIEBACiAjaW5jbHVkZSAiRlRMSklUQ29kZS5oIgogI2luY2x1ZGUg
IkZUTEpJVEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTFBhdGNocG9pbnRFeGNlcHRpb25IYW5k
bGUuaCIKLSNpbmNsdWRlIDxsbHZtL0luaXRpYWxpemVMTFZNLmg+CiAjaW5jbHVkZSA8c3RkaW8u
aD4KIAorI2lmICFGVExfVVNFU19CMworI2luY2x1ZGUgPGxsdm0vSW5pdGlhbGl6ZUxMVk0uaD4K
KyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBCMzsKQEAgLTQ0LDcgKzQ3LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBERkc7CiAKIFN0YXRl
OjpTdGF0ZShHcmFwaCYgZ3JhcGgpCiAgICAgOiBncmFwaChncmFwaCkKKyNpZiBGVExfVVNFU19C
MworICAgICwgY29udGV4dChudWxscHRyKQorI2Vsc2UKICAgICAsIGNvbnRleHQobGx2bS0+Q29u
dGV4dENyZWF0ZSgpKQorI2VuZGlmCiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9uKDAp
CiAgICAgLCBnZW5lcmF0ZWRGdW5jdGlvbigwKQpAQCAtODUsNyArOTIsOSBAQCBTdGF0ZTo6U3Rh
dGUoR3JhcGgmIGdyYXBoKQogCiBTdGF0ZTo6flN0YXRlKCkKIHsKKyNpZiAhRlRMX1VTRVNfQjMK
ICAgICBsbHZtLT5Db250ZXh0RGlzcG9zZShjb250ZXh0KTsKKyNlbmRpZgogfQogCiB2b2lkIFN0
YXRlOjpkdW1wU3RhdGUoY29uc3QgY2hhciogd2hlbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggNWVkN2JmYi4uNzJhNWM3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wMi0wMyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0
YW56YXJvQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bRUZMXSBTd2l0Y2ggRlRMIHRvIEIz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0NzgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUg
QjMgYnkgZGVmYXVsdCBvbiBhbGwgeDg2LgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTYtMDItMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4K
IAogICAgICAgICBDYWNoZSB0aGUgUGF0aCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGl0IGV2ZXJ5IHRp
bWUgaXQgaXMgcmVxdWlyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGYxODRmNTkuLjg2MTUzOWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaApAQCAtNzE2LDEwICs3MTYsNiBAQAogI2RlZmluZSBIQVZFX0xMVk0gMQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShHVEspICYmIEhBVkUoTExWTSkgJiYgRU5BQkxFKEpJVCkgJiYgIWRl
ZmluZWQoRU5BQkxFX0ZUTF9KSVQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIEVOQUJMRV9GVExf
SklUIDEKLSNlbmRpZgotCiAvKiBUaGUgRlRMICpkb2VzIG5vdCogd29yayBvbiAzMi1iaXQgcGxh
dGZvcm1zLiBEaXNhYmxlIGl0IGV2ZW4gaWYgc29tZW9uZSBhc2tlZCB1cyB0byBlbmFibGUgaXQu
ICovCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICN1bmRlZiBFTkFCTEVfRlRMX0pJVApAQCAtNzg1
LDkgKzc4MSw4IEBACiAjZGVmaW5lIEVOQUJMRV9DT05DVVJSRU5UX0pJVCAxCiAjZW5kaWYKIAot
LyogVGhlIEIzIGNvbXBpbGVyIGlzIGFuIGV4cGVyaW1lbnRhbCBiYWNrZW5kIHRoYXQgaXMgc3Rp
bGwgaW4gZGV2ZWxvcG1lbnQuIFdlIHdpbGwga2VlcCBpdCBidWlsZGluZwotICAgb24gTWFjL3g4
Ni02NCBmb3Igbm93LCB0aG91Z2ggaXQgaXMgdW51c2VkIGV4Y2VwdCBmb3IgdGVzdHMuICovCi0j
aWYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSkgJiYgKENQVShYODZfNjQpIHx8IENQ
VShBUk02NCkpICYmIEVOQUJMRShGVExfSklUKQorLyogVGhpcyBjb250cm9scyB3aGV0aGVyIEIz
IGlzIGJ1aWx0LiBJdCB3aWxsIG5vdCBiZSB1c2VkIHVubGVzcyBGVExfVVNFU19CMyBpcyBlbmFi
bGVkLiAqLworI2lmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJ
VCkKICNkZWZpbmUgRU5BQkxFX0IzX0pJVCAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpp
bmRleCAyNDM4YzYzLi43Yzc5OWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNjksMTIgKzY5
LDYgQEAgZWxzZSAoKQogICAgIHNldChXZWJLaXQyX1ZFUlNJT05fU0NSSVBUICItV2wsLS12ZXJz
aW9uLXNjcmlwdCwke0NNQUtFX01PRFVMRV9QQVRIfS9lZmxzeW1ib2xzLmZpbHRlciIpCiBlbmRp
ZiAoKQogCi1pZiAoV1RGX0NQVV9YODZfNjQpCi0gICAgc2V0KEVOQUJMRV9GVExfREVGQVVMVCBP
TikKLWVsc2UgKCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9ERUZBVUxUIE9GRikKLWVuZGlmICgpCi0K
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8zRF9UUkFOU0ZPUk1TIFBV
QkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9BTExJTk9ORV9CVUlMRCBQVUJMSUMgT0ZGKQpAQCAtOTcsNyArOTEsNyBAQCBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRFJBR19TVVBQT1JUIFBVQkxJQyBPTikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFVC
TElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBQVUJMSUMgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFVCTElDICR7RU5BQkxFX0ZUTF9ERUZBVUxUfSkK
K1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBVQkxJQyAk
e1dURl9DUFVfWDg2XzY0fSkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfR0FNRVBBRCBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBQVUJMSUMgT04pCkBAIC0yODIsMTgg
KzI3Niw4IEBAIGlmIChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykKICAgICBmaW5kX3BhY2thZ2Uo
RXNwZWFrIFJFUVVJUkVEKQogZW5kaWYgKCkKIAotaWYgKEVOQUJMRV9GVExfSklUKQotICAgIGlm
IChXVEZfQ1BVX1g4Nl82NCkKLSAgICAgICAgZmluZF9wYWNrYWdlKExMVk0gMy42LjAgUkVRVUlS
RUQpCi0gICAgZWxzZWlmIChXVEZfQ1BVX0FSTTY0KQotICAgICAgICBmaW5kX3BhY2thZ2UoTExW
TSBSRVFVSVJFRCkKLSAgICAgICAgaWYgKE5PVCAiJHtMTFZNX1ZFUlNJT059IiBTVFJFUVVBTCAi
My41LjBmdGwiKQotICAgICAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiRlRMIEpJVCBpcyBv
bmx5IGF2YWlsYWJsZSBvbiBBQXJjaDY0IGFyY2hpdGVjdHVyZSB3aXRoIHBhdGNoZWQgTExWTSAz
LjUuMCwgdXNlIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGVmbC1saWJzIGxsdm0tMy41LWZv
ci1BQXJjaDY0IHRvIGJ1aWxkIGl0LiIpCi0gICAgICAgIGVuZGlmICgpCi0gICAgZWxzZSAoKQot
ICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJGVEwgSklUIGlzIG9ubHkgYXZhaWxhYmxlIG9u
IFg4Nl82NCBhbmQgQUFyY2g2NCBhcmNoaXRlY3R1cmVzLiIpCi0gICAgZW5kaWYgKCkKLSAgICBT
RVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xMVk0gVFJVRSkKK2lmIChFTkFCTEVfRlRMX0pJ
VCBBTkQgTk9UIFdURl9DUFVfWDg2XzY0IEFORCBOT1QgREVWRUxPUEVSX01PREUpCisgICAgbWVz
c2FnZShGQVRBTF9FUlJPUiAiRlRMIEpJVCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBYODZfNjQgYXJj
aGl0ZWN0dXJlLiIpCiBlbmRpZiAoKQogCiBpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zR1RLLmNtYWtlCmluZGV4IGZiZDNjN2YuLjVkNTQ5N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9j
bWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtl
CkBAIC02NiwxMiArNjYsNiBAQCBpZiAoTk9UIE9QRU5HTF9GT1VORCBBTkQgT1BFTkdMRVMyX0ZP
VU5EKQogICAgIHNldChFTkFCTEVfR0xFUzJfREVGQVVMVCBPTikKIGVuZGlmICgpCiAKLWlmIChX
VEZfQ1BVX1g4Nl82NCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9ERUZBVUxUIE9OKQotZWxzZSAoKQot
ICAgIHNldChFTkFCTEVfRlRMX0RFRkFVTFQgT0ZGKQotZW5kaWYgKCkKLQogIyBQdWJsaWMgb3B0
aW9ucyBzcGVjaWZpYyB0byB0aGUgR1RLKyBwb3J0LiBEbyBub3QgYWRkIGFueSBvcHRpb25zIGhl
cmUgdW5sZXNzCiAjIHRoZXJlIGlzIGEgc3Ryb25nIHJlYXNvbiB3ZSBzaG91bGQgc3VwcG9ydCBj
aGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIG9wdGlvbiwKICMgYW5kIHRoZSBvcHRpb24gaXMgbm90
IHJlbGV2YW50IHRvIGFueSBvdGhlciBXZWJLaXQgcG9ydHMuCkBAIC0xMzMsNyArMTI3LDYgQEAg
ZW5kaWYgKCkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RSQUdfU1VQUE9SVCBQVUJMSUMgT04pCi1XRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlRMX0pJVCBQVUJMSUMgJHtFTkFCTEVf
RlRMX0RFRkFVTFR9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dF
T0xPQ0FUSU9OIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9JQ09OREFUQUJBU0UgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0pJVCBQVUJMSUMgT04pCkBAIC0xNTMsNiArMTQ2LDcgQEAgV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19JTUFHRV9TRVQgUFJJVkFURSBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfUkVHSU9OUyBQUklW
QVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfREFUQUJBU0VfUFJPQ0VTUyBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFJJVkFURSAke1dURl9DUFVfWDg2XzY0fSkK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgUFJJVkFURSBP
RkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlVMTFNDUkVFTl9B
UEkgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFIFBSSVZBVEUgT04pCkBAIC0yMzQsMTggKzIyOCw2IEBAIGlmIChFTkFC
TEVfQ1JFREVOVElBTF9TVE9SQUdFKQogICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCi1pZiAoRU5B
QkxFX0ZUTF9KSVQpCi0gICAgaWYgKFdURl9DUFVfWDg2XzY0KQotICAgICAgICBmaW5kX3BhY2th
Z2UoTExWTSAzLjcpCi0gICAgICAgIGlmIChOT1QgTExWTV9GT1VORCkKLSAgICAgICAgICAgIG1l
c3NhZ2UoRkFUQUxfRVJST1IgIkxMVk0gMy43IGlzIHJlcXVpcmVkIGZvciBFTkFCTEVfRlRMX0pJ
VCIpCi0gICAgICAgIGVuZGlmICgpCi0gICAgICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhB
VkVfTExWTSBUUlVFKQotICAgIGVsc2UgKCkKLSAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAi
RlRMIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBYODZfNjQiKQotICAgIGVuZGlmICgpCi1lbmRpZiAo
KQotCiBpZiAoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkKICAgICBmaW5kX3BhY2thZ2UoR1Vk
ZXYpCiAgICAgaWYgKE5PVCBHVURFVl9GT1VORCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270562</attachid>
            <date>2016-02-03 00:50:20 -0800</date>
            <delta_ts>2016-02-03 09:32:54 -0800</delta_ts>
            <desc>Try again</desc>
            <filename>jsc-b3.diff</filename>
            <type>text/plain</type>
            <size>14907</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5ZTIzMGMwLi5iM2MwYmY4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTYtMDItMDMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdW0VGTF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAxNi0w
Mi0wMiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgYXR0ZW1wdCB0byBmaXggTWFjIENNYWtlIGJ1aWxkIGFmdGVyIHIxOTU5OTkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTliNTlmNi4uNGU3MDg2YSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTkxLDM2ICs5OTEsMTEgQEAgbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwCiApCiAKLQogaWYgKEVOQUJMRV9GVExfSklUKQotICAgICMgQ29uZmlndXJlIGxs
dm1Gb3JKU0Muc28KLSAgICBzZXQobGx2bUZvckpTQ19TT1VSQ0VTCi0gICAgICAgIGxsdm0vbGli
cmFyeS9MTFZNQW5jaG9yLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3Bw
Ci0gICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAotICAgICkKLSAgICBzZXQo
bGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJ
UlN9Ci0gICAgICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgotICAg
ICkKLQotICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgICAgT1VUUFVUICR7REVSSVZFRF9T
T1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oCi0gICAg
ICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0b3VjaCAke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAotICAgICAgICBWRVJC
QVRJTSkKLQotICAgICMgQWRkZWQgZXh0cmEgaXRlbXMgZm9yIEphdmFTY3JpcHRDb3JlCi0gICAg
bGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAg
ICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KLSAgICApCi0KICAgICBsaXN0KEFQUEVORCBKYXZh
U2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgICAgIGRmZy9ERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjay5jcHAKICAgICAgICAgZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwCiAKLSAgICAgICAgZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3Nl
bWJsZXIuY3BwCi0gICAgICAgIGRpc2Fzc2VtYmxlci9YODZEaXNhc3NlbWJsZXIuY3BwCi0KICAg
ICAgICAgZnRsL0ZUTEFic3RyYWN0SGVhcC5jcHAKICAgICAgICAgZnRsL0ZUTEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuY3BwCiAgICAgICAgIGZ0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAKQEAg
LTEwNzEsNiArMTA0NiwzNCBAQCBpZiAoRU5BQkxFX0ZUTF9KSVQpCiAgICAgICAgIGZ0bC9GVExU
aHVua3MuY3BwCiAgICAgICAgIGZ0bC9GVExVbndpbmRJbmZvLmNwcAogICAgICAgICBmdGwvRlRM
VmFsdWVSYW5nZS5jcHAKKyAgICApCitlbmRpZiAoKQorCitpZiAoVVNFX0xMVk1fRElTQVNTRU1C
TEVSKQorICAgICMgQ29uZmlndXJlIGxsdm1Gb3JKU0Muc28KKyAgICBzZXQobGx2bUZvckpTQ19T
T1VSQ0VTCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNQW5jaG9yLmNwcAorICAgICAgICBsbHZt
L2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJp
ZGVzLmNwcAorICAgICkKKyAgICBzZXQobGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCisg
ICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9CisgICAgICAgICIke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9IgorICAgICkKKworICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAg
ICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0
TExWTUxpYnJhcnlUb2tlbi5oCisgICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0
b3VjaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJy
YXJ5VG9rZW4uaAorICAgICAgICBWRVJCQVRJTSkKKworICAgICMgQWRkZWQgZXh0cmEgaXRlbXMg
Zm9yIEphdmFTY3JpcHRDb3JlCisgICAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVN
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KKyAgICAp
CisKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCisgICAgICAgIGRpc2Fz
c2VtYmxlci9MTFZNRGlzYXNzZW1ibGVyLmNwcAorICAgICAgICBkaXNhc3NlbWJsZXIvWDg2RGlz
YXNzZW1ibGVyLmNwcAogCiAgICAgICAgIGxsdm0vSW5pdGlhbGl6ZUxMVk0uY3BwCiAgICAgICAg
IGxsdm0vTExWTUFQSS5jcHAKQEAgLTEzNjYsMTIgKzEzNjksMTIgQEAgZW5kaWYgKCkKIAogV0VC
S0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAKLWlmIChFTkFCTEVfRlRMX0pJ
VCBBTkQgTk9UIFdJTjMyKQoraWYgKFVTRV9MTFZNX0RJU0FTU0VNQkxFUiBBTkQgTk9UIFdJTjMy
KQogICAgIGlmIChOT1QgbGx2bUZvckpTQ19MSUJSQVJJRVMpCiAgICAgICAgIHNldChsbHZtRm9y
SlNDX0xJQlJBUklFUyAke0xMVk1fU1RBVElDX0xJQlJBUklFU30pCiAgICAgZW5kaWYgKCkKICAg
ICBpZiAoTk9UIGxsdm1Gb3JKU0NfTElCUkFSSUVTKQotICAgICAgICBtZXNzYWdlKEZBVEFMX0VS
Uk9SICJObyBMTFZNIGxpYnMgZm91bmQsIGJ1dCBGVEwgaXMgZW5hYmxlZC4gU3RvcHBpbmcgYnVp
bGQuIikKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTm8gTExWTSBsaWJzIGZvdW5kLCBi
dXQgTExWTSBkaXNhc3NlbWJsZXIgaXMgZW5hYmxlZC4gU3RvcHBpbmcgYnVpbGQuIikKICAgICBl
bmRpZiAoKQogCiAgICAgV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2xsdm1Gb3JKU0NfU09VUkNF
U30pCkBAIC0xNDE2LDcgKzE0MTksNyBAQCBpZiAoJHtKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZ
UEV9IFNUUkVRVUFMICJTSEFSRUQiKQogICAgIGluc3RhbGwoVEFSR0VUUyBKYXZhU2NyaXB0Q29y
ZSBERVNUSU5BVElPTiAiJHtMSUJfSU5TVEFMTF9ESVJ9IikKIGVuZGlmICgpCiAKLWlmIChFTkFC
TEVfRlRMX0pJVCkKK2lmIChVU0VfTExWTV9ESVNBU1NFTUJMRVIpCiAgICAgYWRkX2RlcGVuZGVu
Y2llcyhKYXZhU2NyaXB0Q29yZSBsbHZtRm9ySlNDKQogZW5kaWYgKCkKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggZTE2NDAzNC4uZDgyNjQyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMTYtMDItMDMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFu
emFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW0VGTF0gU3dpdGNoIEZUTCB0byBCMwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uZGl0aW9u
YWxpemUgY29kZSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIEZUTCBjb21wbGV0ZWx5IHdp
dGhvdXQgTExWTS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIGRmZy9E
RkdDb21tb24uaDoKKyAgICAgICAgKiBkZmcvREZHUGxhbi5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6UGxhbjo6Y29tcGlsZUluVGhyZWFkSW1wbCk6CisgICAgICAgICogZnRsL0ZUTEFiYnJldmlh
dGVkVHlwZXMuaDoKKyAgICAgICAgKiBmdGwvRlRMRmFpbC5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6ZmFpbCk6CisgICAgICAgICogZnRsL0ZUTFN0YXRlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRM
OjpTdGF0ZTo6U3RhdGUpOgorICAgICAgICAoSlNDOjpGVEw6OlN0YXRlOjp+U3RhdGUpOgorCiAy
MDE2LTAyLTAyICBDYWl0bGluIFBvdHRlciAgPGNhaXRwQGlnYWxpYS5jb20+CiAKICAgICAgICAg
SlNTeW1ib2xUYWJsZU9iamVjdDo6ZGVsZXRlUHJvcGVydHkoKSBjcmFzaGVzIGRlbGV0aW5nIFN5
bWJvbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCmluZGV4IDU1NTNkMTAuLjc4
MTYyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaApAQCAtMzcsNyArMzcs
NyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIC8vIFdlIGFyZSBpbiB0aGUg
bWlkZGxlIG9mIGEgdHJhbnNpdGlvbiBmcm9tIExMVk0gdG8gQjMgYXMgdGhlIGJhY2tlbmQgZm9y
IHRoZSBGVEwuIFRoaXMgZmxhZyB3aWxsIGdvCiAvLyBhd2F5IG9uY2UgdGhhdCB0cmFuc2l0aW9u
IGlzIGZpbmlzaGVkLiBGb3Igbm93LCB3ZSBlbmFibGUgQjMgb25seSBvbiBzb21lIHBsYXRmb3Jt
cy4KLSNpZiBDUFUoWDg2XzY0KSAmJiBQTEFURk9STShNQUMpICYmIEVOQUJMRShGVExfSklUKQor
I2lmIENQVShYODZfNjQpICYmIEVOQUJMRShGVExfSklUKQogI2RlZmluZSBGVExfVVNFU19CMyAx
CiAjZWxzZQogI2RlZmluZSBGVExfVVNFU19CMyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
bGFuLmNwcAppbmRleCA1MTJmNDQ3Li4wZGYxOWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUGxhbi5jcHAKQEAgLTQ1NSwxNSArNDU1LDIwIEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQ
bGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkK
IAogICAgICAgICBkdW1wQW5kVmVyaWZ5R3JhcGgoZGZnLCAiR3JhcGgganVzdCBiZWZvcmUgRlRM
IGxvd2VyaW5nOiIsIHNob3VsZER1bXBEaXNhc3NlbWJseShtb2RlKSk7CiAgICAgICAgIAorI2lm
ICFGVExfVVNFU19CMyB8fCBVU0UoTExWTV9ESVNBU1NFTUJMRVIpCiAgICAgICAgIGJvb2wgaGF2
ZUxMVk07CisjZW5kaWYKICAgICAgICAgU2FmZXBvaW50OjpSZXN1bHQgc2FmZXBvaW50UmVzdWx0
OwogICAgICAgICB7CiAgICAgICAgICAgICBHcmFwaFNhZmVwb2ludCBzYWZlcG9pbnQoZGZnLCBz
YWZlcG9pbnRSZXN1bHQpOworI2lmICFGVExfVVNFU19CMyB8fCBVU0UoTExWTV9ESVNBU1NFTUJM
RVIpCiAgICAgICAgICAgICBoYXZlTExWTSA9IGluaXRpYWxpemVMTFZNKCk7CisjZW5kaWYKICAg
ICAgICAgfQogICAgICAgICBpZiAoc2FmZXBvaW50UmVzdWx0LmRpZEdldENhbmNlbGxlZCgpKQog
ICAgICAgICAgICAgcmV0dXJuIENhbmNlbFBhdGg7Ci0gICAgICAgIAorCisjaWYgIUZUTF9VU0VT
X0IzIHx8IFVTRShMTFZNX0RJU0FTU0VNQkxFUikKICAgICAgICAgaWYgKCFoYXZlTExWTSkgewog
ICAgICAgICAgICAgaWYgKE9wdGlvbnM6OmZ0bENyYXNoZXNJZkNhbnRJbml0aWFsaXplTExWTSgp
KSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygiTExWTSBjYW4ndCBiZSBpbml0aWFsaXplZC5c
biIpOwpAQCAtNDcyLDYgKzQ3Nyw3IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21w
aWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkKICAgICAgICAg
ICAgIGZpbmFsaXplciA9IHN0ZDo6bWFrZV91bmlxdWU8RmFpbGVkRmluYWxpemVyPigqdGhpcyk7
CiAgICAgICAgICAgICByZXR1cm4gRmFpbFBhdGg7CiAgICAgICAgIH0KKyNlbmRpZgogCiAgICAg
ICAgIEZUTDo6U3RhdGUgc3RhdGUoZGZnKTsKICAgICAgICAgRlRMOjpsb3dlckRGR1RvTExWTShz
dGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlh
dGVkVHlwZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBl
cy5oCmluZGV4IDliYTQ2YjIuLmE1MTdhOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oCkBAIC00MywxMSArNDMsMjAgQEAgbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBGVEwgewogdHlwZWRlZiBCMzo6QmFzaWNCbG9jayogTEJhc2ljQmxv
Y2s7CiB0eXBlZGVmIEIzOjpUeXBlIExUeXBlOwogdHlwZWRlZiBCMzo6VmFsdWUqIExWYWx1ZTsK
KwordHlwZWRlZiB2b2lkKiBMQXRvbWljT3JkZXJpbmc7Cit0eXBlZGVmIHZvaWQqIExCdWlsZGVy
OwordHlwZWRlZiB2b2lkKiBMQ2FsbENvbnY7Cit0eXBlZGVmIHZvaWQqIExDb250ZXh0OwordHlw
ZWRlZiB2b2lkKiBMSW50UHJlZGljYXRlOwordHlwZWRlZiB2b2lkKiBMTGlua2FnZTsKK3R5cGVk
ZWYgdm9pZCogTE1vZHVsZTsKK3R5cGVkZWYgdm9pZCogTFJlYWxQcmVkaWNhdGU7Cit0eXBlZGVm
IHZvaWQqIExNZW1vcnlCdWZmZXI7CiAjZWxzZQogdHlwZWRlZiBMTFZNQmFzaWNCbG9ja1JlZiBM
QmFzaWNCbG9jazsKIHR5cGVkZWYgTExWTVR5cGVSZWYgTFR5cGU7CiB0eXBlZGVmIExMVk1WYWx1
ZVJlZiBMVmFsdWU7Ci0jZW5kaWYKIAogdHlwZWRlZiBMTFZNQXRvbWljT3JkZXJpbmcgTEF0b21p
Y09yZGVyaW5nOwogdHlwZWRlZiBMTFZNQnVpbGRlclJlZiBMQnVpbGRlcjsKQEAgLTU4LDYgKzY3
LDcgQEAgdHlwZWRlZiBMTFZNTGlua2FnZSBMTGlua2FnZTsKIHR5cGVkZWYgTExWTU1vZHVsZVJl
ZiBMTW9kdWxlOwogdHlwZWRlZiBMTFZNUmVhbFByZWRpY2F0ZSBMUmVhbFByZWRpY2F0ZTsKIHR5
cGVkZWYgTExWTU1lbW9yeUJ1ZmZlclJlZiBMTWVtb3J5QnVmZmVyOworI2VuZGlmCiAKIGVudW0g
U3luY2hyb25pemF0aW9uU2NvcGUgeyBTaW5nbGVUaHJlYWQsIENyb3NzVGhyZWFkIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEZhaWwuY3BwCmluZGV4IGFjMmZjMDcuLmQxNTRlYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExGYWlsLmNwcApAQCAtNDAsOCArNDAsMTAgQEAgdm9p
ZCBmYWlsKFN0YXRlJiBzdGF0ZSkKIHsKICAgICBzdGF0ZS5ncmFwaC5tX3BsYW4uZmluYWxpemVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxGYWlsZWRGaW5hbGl6ZXI+KHN0YXRlLmdyYXBoLm1fcGxhbik7
CiAgICAgCisjaWYgIUZUTF9VU0VTX0IzCiAgICAgaWYgKHN0YXRlLm1vZHVsZSkKICAgICAgICAg
bGx2bS0+RGlzcG9zZU1vZHVsZShzdGF0ZS5tb2R1bGUpOworI2VuZGlmCiB9CiAKIH0gfSAvLyBu
YW1lc3BhY2UgSlNDOjpGVEwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMU3RhdGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKaW5k
ZXggMmVhYzQwOS4uYzI2MjVjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExTdGF0ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5j
cHAKQEAgLTM0LDkgKzM0LDEyIEBACiAjaW5jbHVkZSAiRlRMSklUQ29kZS5oIgogI2luY2x1ZGUg
IkZUTEpJVEZpbmFsaXplci5oIgogI2luY2x1ZGUgIkZUTFBhdGNocG9pbnRFeGNlcHRpb25IYW5k
bGUuaCIKLSNpbmNsdWRlIDxsbHZtL0luaXRpYWxpemVMTFZNLmg+CiAjaW5jbHVkZSA8c3RkaW8u
aD4KIAorI2lmICFGVExfVVNFU19CMworI2luY2x1ZGUgPGxsdm0vSW5pdGlhbGl6ZUxMVk0uaD4K
KyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKIHVzaW5nIG5hbWVz
cGFjZSBCMzsKQEAgLTQ0LDcgKzQ3LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBERkc7CiAKIFN0YXRl
OjpTdGF0ZShHcmFwaCYgZ3JhcGgpCiAgICAgOiBncmFwaChncmFwaCkKKyNpZiBGVExfVVNFU19C
MworICAgICwgY29udGV4dChudWxscHRyKQorI2Vsc2UKICAgICAsIGNvbnRleHQobGx2bS0+Q29u
dGV4dENyZWF0ZSgpKQorI2VuZGlmCiAgICAgLCBtb2R1bGUoMCkKICAgICAsIGZ1bmN0aW9uKDAp
CiAgICAgLCBnZW5lcmF0ZWRGdW5jdGlvbigwKQpAQCAtODUsNyArOTIsOSBAQCBTdGF0ZTo6U3Rh
dGUoR3JhcGgmIGdyYXBoKQogCiBTdGF0ZTo6flN0YXRlKCkKIHsKKyNpZiAhRlRMX1VTRVNfQjMK
ICAgICBsbHZtLT5Db250ZXh0RGlzcG9zZShjb250ZXh0KTsKKyNlbmRpZgogfQogCiB2b2lkIFN0
YXRlOjpkdW1wU3RhdGUoY29uc3QgY2hhciogd2hlbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggNWVkN2JmYi4uNzJhNWM3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wMi0wMyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0
YW56YXJvQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bRUZMXSBTd2l0Y2ggRlRMIHRvIEIz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM0NzgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUg
QjMgYnkgZGVmYXVsdCBvbiBhbGwgeDg2LgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTYtMDItMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4K
IAogICAgICAgICBDYWNoZSB0aGUgUGF0aCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGl0IGV2ZXJ5IHRp
bWUgaXQgaXMgcmVxdWlyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGYxODRmNTkuLjg2MTUzOWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaApAQCAtNzE2LDEwICs3MTYsNiBAQAogI2RlZmluZSBIQVZFX0xMVk0gMQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShHVEspICYmIEhBVkUoTExWTSkgJiYgRU5BQkxFKEpJVCkgJiYgIWRl
ZmluZWQoRU5BQkxFX0ZUTF9KSVQpICYmIENQVShYODZfNjQpCi0jZGVmaW5lIEVOQUJMRV9GVExf
SklUIDEKLSNlbmRpZgotCiAvKiBUaGUgRlRMICpkb2VzIG5vdCogd29yayBvbiAzMi1iaXQgcGxh
dGZvcm1zLiBEaXNhYmxlIGl0IGV2ZW4gaWYgc29tZW9uZSBhc2tlZCB1cyB0byBlbmFibGUgaXQu
ICovCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICN1bmRlZiBFTkFCTEVfRlRMX0pJVApAQCAtNzg1
LDkgKzc4MSw4IEBACiAjZGVmaW5lIEVOQUJMRV9DT05DVVJSRU5UX0pJVCAxCiAjZW5kaWYKIAot
LyogVGhlIEIzIGNvbXBpbGVyIGlzIGFuIGV4cGVyaW1lbnRhbCBiYWNrZW5kIHRoYXQgaXMgc3Rp
bGwgaW4gZGV2ZWxvcG1lbnQuIFdlIHdpbGwga2VlcCBpdCBidWlsZGluZwotICAgb24gTWFjL3g4
Ni02NCBmb3Igbm93LCB0aG91Z2ggaXQgaXMgdW51c2VkIGV4Y2VwdCBmb3IgdGVzdHMuICovCi0j
aWYgKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSkgJiYgKENQVShYODZfNjQpIHx8IENQ
VShBUk02NCkpICYmIEVOQUJMRShGVExfSklUKQorLyogVGhpcyBjb250cm9scyB3aGV0aGVyIEIz
IGlzIGJ1aWx0LiBJdCB3aWxsIG5vdCBiZSB1c2VkIHVubGVzcyBGVExfVVNFU19CMyBpcyBlbmFi
bGVkLiAqLworI2lmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJ
VCkKICNkZWZpbmUgRU5BQkxFX0IzX0pJVCAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpp
bmRleCAyNDM4YzYzLi43Yzc5OWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNjksMTIgKzY5
LDYgQEAgZWxzZSAoKQogICAgIHNldChXZWJLaXQyX1ZFUlNJT05fU0NSSVBUICItV2wsLS12ZXJz
aW9uLXNjcmlwdCwke0NNQUtFX01PRFVMRV9QQVRIfS9lZmxzeW1ib2xzLmZpbHRlciIpCiBlbmRp
ZiAoKQogCi1pZiAoV1RGX0NQVV9YODZfNjQpCi0gICAgc2V0KEVOQUJMRV9GVExfREVGQVVMVCBP
TikKLWVsc2UgKCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9ERUZBVUxUIE9GRikKLWVuZGlmICgpCi0K
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8zRF9UUkFOU0ZPUk1TIFBV
QkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFU1NJ
QklMSVRZIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9BTExJTk9ORV9CVUlMRCBQVUJMSUMgT0ZGKQpAQCAtOTcsNyArOTEsNyBAQCBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRFJBR19TVVBQT1JUIFBVQkxJQyBPTikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFVC
TElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBQVUJMSUMgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFVCTElDICR7RU5BQkxFX0ZUTF9ERUZBVUxUfSkK
K1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBVQkxJQyAk
e1dURl9DUFVfWDg2XzY0fSkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfR0FNRVBBRCBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBQVUJMSUMgT04pCkBAIC0yODIsMTgg
KzI3Niw4IEBAIGlmIChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykKICAgICBmaW5kX3BhY2thZ2Uo
RXNwZWFrIFJFUVVJUkVEKQogZW5kaWYgKCkKIAotaWYgKEVOQUJMRV9GVExfSklUKQotICAgIGlm
IChXVEZfQ1BVX1g4Nl82NCkKLSAgICAgICAgZmluZF9wYWNrYWdlKExMVk0gMy42LjAgUkVRVUlS
RUQpCi0gICAgZWxzZWlmIChXVEZfQ1BVX0FSTTY0KQotICAgICAgICBmaW5kX3BhY2thZ2UoTExW
TSBSRVFVSVJFRCkKLSAgICAgICAgaWYgKE5PVCAiJHtMTFZNX1ZFUlNJT059IiBTVFJFUVVBTCAi
My41LjBmdGwiKQotICAgICAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiRlRMIEpJVCBpcyBv
bmx5IGF2YWlsYWJsZSBvbiBBQXJjaDY0IGFyY2hpdGVjdHVyZSB3aXRoIHBhdGNoZWQgTExWTSAz
LjUuMCwgdXNlIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGVmbC1saWJzIGxsdm0tMy41LWZv
ci1BQXJjaDY0IHRvIGJ1aWxkIGl0LiIpCi0gICAgICAgIGVuZGlmICgpCi0gICAgZWxzZSAoKQot
ICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJGVEwgSklUIGlzIG9ubHkgYXZhaWxhYmxlIG9u
IFg4Nl82NCBhbmQgQUFyY2g2NCBhcmNoaXRlY3R1cmVzLiIpCi0gICAgZW5kaWYgKCkKLSAgICBT
RVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xMVk0gVFJVRSkKK2lmIChFTkFCTEVfRlRMX0pJ
VCBBTkQgTk9UIFdURl9DUFVfWDg2XzY0IEFORCBOT1QgREVWRUxPUEVSX01PREUpCisgICAgbWVz
c2FnZShGQVRBTF9FUlJPUiAiRlRMIEpJVCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBYODZfNjQgYXJj
aGl0ZWN0dXJlLiIpCiBlbmRpZiAoKQogCiBpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zR1RLLmNtYWtlCmluZGV4IGZiZDNjN2YuLjVkNTQ5N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9j
bWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtl
CkBAIC02NiwxMiArNjYsNiBAQCBpZiAoTk9UIE9QRU5HTF9GT1VORCBBTkQgT1BFTkdMRVMyX0ZP
VU5EKQogICAgIHNldChFTkFCTEVfR0xFUzJfREVGQVVMVCBPTikKIGVuZGlmICgpCiAKLWlmIChX
VEZfQ1BVX1g4Nl82NCkKLSAgICBzZXQoRU5BQkxFX0ZUTF9ERUZBVUxUIE9OKQotZWxzZSAoKQot
ICAgIHNldChFTkFCTEVfRlRMX0RFRkFVTFQgT0ZGKQotZW5kaWYgKCkKLQogIyBQdWJsaWMgb3B0
aW9ucyBzcGVjaWZpYyB0byB0aGUgR1RLKyBwb3J0LiBEbyBub3QgYWRkIGFueSBvcHRpb25zIGhl
cmUgdW5sZXNzCiAjIHRoZXJlIGlzIGEgc3Ryb25nIHJlYXNvbiB3ZSBzaG91bGQgc3VwcG9ydCBj
aGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIG9wdGlvbiwKICMgYW5kIHRoZSBvcHRpb24gaXMgbm90
IHJlbGV2YW50IHRvIGFueSBvdGhlciBXZWJLaXQgcG9ydHMuCkBAIC0xMzMsNyArMTI3LDYgQEAg
ZW5kaWYgKCkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RSQUdfU1VQUE9SVCBQVUJMSUMgT04pCi1XRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlRMX0pJVCBQVUJMSUMgJHtFTkFCTEVf
RlRMX0RFRkFVTFR9KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dF
T0xPQ0FUSU9OIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9JQ09OREFUQUJBU0UgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0pJVCBQVUJMSUMgT04pCkBAIC0xNTMsNiArMTQ2LDcgQEAgV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19JTUFHRV9TRVQgUFJJVkFURSBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfUkVHSU9OUyBQUklW
QVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0IFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfREFUQUJBU0VfUFJPQ0VTUyBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUTF9KSVQgUFJJVkFURSAke1dURl9DUFVfWDg2XzY0fSkK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgUFJJVkFURSBP
RkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlVMTFNDUkVFTl9B
UEkgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFIFBSSVZBVEUgT04pCkBAIC0yMzQsMTggKzIyOCw2IEBAIGlmIChFTkFC
TEVfQ1JFREVOVElBTF9TVE9SQUdFKQogICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCi1pZiAoRU5B
QkxFX0ZUTF9KSVQpCi0gICAgaWYgKFdURl9DUFVfWDg2XzY0KQotICAgICAgICBmaW5kX3BhY2th
Z2UoTExWTSAzLjcpCi0gICAgICAgIGlmIChOT1QgTExWTV9GT1VORCkKLSAgICAgICAgICAgIG1l
c3NhZ2UoRkFUQUxfRVJST1IgIkxMVk0gMy43IGlzIHJlcXVpcmVkIGZvciBFTkFCTEVfRlRMX0pJ
VCIpCi0gICAgICAgIGVuZGlmICgpCi0gICAgICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhB
VkVfTExWTSBUUlVFKQotICAgIGVsc2UgKCkKLSAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAi
RlRMIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBYODZfNjQiKQotICAgIGVuZGlmICgpCi1lbmRpZiAo
KQotCiBpZiAoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkKICAgICBmaW5kX3BhY2thZ2UoR1Vk
ZXYpCiAgICAgaWYgKE5PVCBHVURFVl9GT1VORCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270579</attachid>
            <date>2016-02-03 09:32:54 -0800</date>
            <delta_ts>2016-02-03 09:37:22 -0800</delta_ts>
            <desc>Addressed review comments</desc>
            <filename>jsc-b3.diff</filename>
            <type>text/plain</type>
            <size>14997</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5ZTIzMGMwLi5iM2MwYmY4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTYtMDItMDMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdW0VGTF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAxNi0w
Mi0wMiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgYXR0ZW1wdCB0byBmaXggTWFjIENNYWtlIGJ1aWxkIGFmdGVyIHIxOTU5OTkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTliNTlmNi4uZDM5N2Q1NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTkxLDM2ICs5OTEsMTEgQEAgbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwCiApCiAKLQogaWYgKEVOQUJMRV9GVExfSklUKQotICAgICMgQ29uZmlndXJlIGxs
dm1Gb3JKU0Muc28KLSAgICBzZXQobGx2bUZvckpTQ19TT1VSQ0VTCi0gICAgICAgIGxsdm0vbGli
cmFyeS9MTFZNQW5jaG9yLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3Bw
Ci0gICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAotICAgICkKLSAgICBzZXQo
bGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJ
UlN9Ci0gICAgICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgotICAg
ICkKLQotICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgICAgT1VUUFVUICR7REVSSVZFRF9T
T1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oCi0gICAg
ICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0b3VjaCAke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAotICAgICAgICBWRVJC
QVRJTSkKLQotICAgICMgQWRkZWQgZXh0cmEgaXRlbXMgZm9yIEphdmFTY3JpcHRDb3JlCi0gICAg
bGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAg
ICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KLSAgICApCi0KICAgICBsaXN0KEFQUEVORCBKYXZh
U2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgICAgIGRmZy9ERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjay5jcHAKICAgICAgICAgZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwCiAKLSAgICAgICAgZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3Nl
bWJsZXIuY3BwCi0gICAgICAgIGRpc2Fzc2VtYmxlci9YODZEaXNhc3NlbWJsZXIuY3BwCi0KICAg
ICAgICAgZnRsL0ZUTEFic3RyYWN0SGVhcC5jcHAKICAgICAgICAgZnRsL0ZUTEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuY3BwCiAgICAgICAgIGZ0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAKQEAg
LTEwNzEsNyArMTA0NiwzMiBAQCBpZiAoRU5BQkxFX0ZUTF9KSVQpCiAgICAgICAgIGZ0bC9GVExU
aHVua3MuY3BwCiAgICAgICAgIGZ0bC9GVExVbndpbmRJbmZvLmNwcAogICAgICAgICBmdGwvRlRM
VmFsdWVSYW5nZS5jcHAKKyAgICApCitlbmRpZiAoKQorCitpZiAoVVNFX0xMVk1fRElTQVNTRU1C
TEVSKQorICAgICMgQ29uZmlndXJlIGxsdm1Gb3JKU0Muc28KKyAgICBzZXQobGx2bUZvckpTQ19T
T1VSQ0VTCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNQW5jaG9yLmNwcAorICAgICAgICBsbHZt
L2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJp
ZGVzLmNwcAorICAgICkKKyAgICBzZXQobGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCisg
ICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9CisgICAgICAgICIke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9IgorICAgICkKIAorICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAg
ICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0
TExWTUxpYnJhcnlUb2tlbi5oCisgICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0
b3VjaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJy
YXJ5VG9rZW4uaAorICAgICAgICBWRVJCQVRJTSkKKworICAgICMgQWRkZWQgZXh0cmEgaXRlbXMg
Zm9yIEphdmFTY3JpcHRDb3JlCisgICAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVN
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KKyAgICAp
CisKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgICAgIGxsdm0v
SW5pdGlhbGl6ZUxMVk0uY3BwCiAgICAgICAgIGxsdm0vTExWTUFQSS5jcHAKICAgICApCkBAIC0x
MzY2LDEyICsxMzY2LDEyIEBAIGVuZGlmICgpCiAKIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxF
U19JRl9FWElTVFMoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQgQU5EIE5PVCBXSU4zMikKK2lmIChV
U0VfTExWTV9ESVNBU1NFTUJMRVIgQU5EIE5PVCBXSU4zMikKICAgICBpZiAoTk9UIGxsdm1Gb3JK
U0NfTElCUkFSSUVTKQogICAgICAgICBzZXQobGx2bUZvckpTQ19MSUJSQVJJRVMgJHtMTFZNX1NU
QVRJQ19MSUJSQVJJRVN9KQogICAgIGVuZGlmICgpCiAgICAgaWYgKE5PVCBsbHZtRm9ySlNDX0xJ
QlJBUklFUykKLSAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTm8gTExWTSBsaWJzIGZvdW5k
LCBidXQgRlRMIGlzIGVuYWJsZWQuIFN0b3BwaW5nIGJ1aWxkLiIpCisgICAgICAgIG1lc3NhZ2Uo
RkFUQUxfRVJST1IgIk5vIExMVk0gbGlicyBmb3VuZCwgYnV0IExMVk0gZGlzYXNzZW1ibGVyIGlz
IGVuYWJsZWQuIFN0b3BwaW5nIGJ1aWxkLiIpCiAgICAgZW5kaWYgKCkKIAogICAgIFdFQktJVF9X
UkFQX1NPVVJDRUxJU1QoJHtsbHZtRm9ySlNDX1NPVVJDRVN9KQpAQCAtMTQxNiw3ICsxNDE2LDcg
QEAgaWYgKCR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9UWVBFfSBTVFJFUVVBTCAiU0hBUkVEIikK
ICAgICBpbnN0YWxsKFRBUkdFVFMgSmF2YVNjcmlwdENvcmUgREVTVElOQVRJT04gIiR7TElCX0lO
U1RBTExfRElSfSIpCiBlbmRpZiAoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQpCitpZiAoVVNFX0xM
Vk1fRElTQVNTRU1CTEVSKQogICAgIGFkZF9kZXBlbmRlbmNpZXMoSmF2YVNjcmlwdENvcmUgbGx2
bUZvckpTQykKIGVuZGlmICgpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJlYjI2MGUu
LmUxMmE2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2
LTAyLTAzICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbmRpdGlvbmFsaXplIGNvZGUgdG8gbWFrZSBpdCBw
b3NzaWJsZSB0byBidWlsZCBGVEwgY29tcGxldGVseSB3aXRob3V0IExMVk0uCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBkZmcvREZHQ29tbW9uLmg6CisgICAgICAgICog
ZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVh
ZEltcGwpOgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmg6CisgICAgICAgICog
ZnRsL0ZUTEZhaWwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmZhaWwpOgorICAgICAgICAqIGZ0
bC9GVExTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6OlN0YXRlKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpTdGF0ZTo6flN0YXRlKToKKwogMjAxNi0wMi0wMyAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4
IEphdmFTY3JpcHRDb3JlIGJ1aWxkIHdpdGggQjMgZW5hYmxlZC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAyZmI3ODkzLi5iZGNmYjM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0zOCw3ICszOCw3IEBAIGlmIChFTkFCTEVf
SU5UUk9TUEVDVElPTikKICAgICApCiBlbmRpZiAoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQpCitp
ZiAoVVNFX0xMVk1fRElTQVNTRU1CTEVSKQogICAgIHNldChsbHZtRm9ySlNDX0xJQlJBUklFUyAk
e0xMVk1fTElCUkFSSUVTfSkKICAgICBzZXQobGx2bUZvckpTQ19JTlNUQUxMX0RJUiAiJHtMSUJf
SU5TVEFMTF9ESVJ9L2phdmFzY3JpcHRjb3JlZ3RrLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfSIp
CiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21t
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKaW5kZXggNTU1M2Qx
MC4uNzgxNjJlYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21t
b24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCkBAIC0zNyw3
ICszNyw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAogLy8gV2UgYXJlIGlu
IHRoZSBtaWRkbGUgb2YgYSB0cmFuc2l0aW9uIGZyb20gTExWTSB0byBCMyBhcyB0aGUgYmFja2Vu
ZCBmb3IgdGhlIEZUTC4gVGhpcyBmbGFnIHdpbGwgZ28KIC8vIGF3YXkgb25jZSB0aGF0IHRyYW5z
aXRpb24gaXMgZmluaXNoZWQuIEZvciBub3csIHdlIGVuYWJsZSBCMyBvbmx5IG9uIHNvbWUgcGxh
dGZvcm1zLgotI2lmIENQVShYODZfNjQpICYmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKEZUTF9K
SVQpCisjaWYgQ1BVKFg4Nl82NCkgJiYgRU5BQkxFKEZUTF9KSVQpCiAjZGVmaW5lIEZUTF9VU0VT
X0IzIDEKICNlbHNlCiAjZGVmaW5lIEZUTF9VU0VTX0IzIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1BsYW4uY3BwCmluZGV4IDUxMmY0NDcuLmM3ZDg5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQbGFuLmNwcApAQCAtNDU1LDE1ICs0NTUsMjAgQEAgUGxhbjo6Q29tcGlsYXRpb25Q
YXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0
YXRlKQogCiAgICAgICAgIGR1bXBBbmRWZXJpZnlHcmFwaChkZmcsICJHcmFwaCBqdXN0IGJlZm9y
ZSBGVEwgbG93ZXJpbmc6Iiwgc2hvdWxkRHVtcERpc2Fzc2VtYmx5KG1vZGUpKTsKICAgICAgICAg
CisjaWYgSEFWRShMTFZNKSAmJiAhRlRMX1VTRVNfQjMKICAgICAgICAgYm9vbCBoYXZlTExWTTsK
KyNlbmRpZgogICAgICAgICBTYWZlcG9pbnQ6OlJlc3VsdCBzYWZlcG9pbnRSZXN1bHQ7CiAgICAg
ICAgIHsKICAgICAgICAgICAgIEdyYXBoU2FmZXBvaW50IHNhZmVwb2ludChkZmcsIHNhZmVwb2lu
dFJlc3VsdCk7CisjaWYgSEFWRShMTFZNKSAmJiAhRlRMX1VTRVNfQjMKICAgICAgICAgICAgIGhh
dmVMTFZNID0gaW5pdGlhbGl6ZUxMVk0oKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIGlm
IChzYWZlcG9pbnRSZXN1bHQuZGlkR2V0Q2FuY2VsbGVkKCkpCiAgICAgICAgICAgICByZXR1cm4g
Q2FuY2VsUGF0aDsKLSAgICAgICAgCisKKyNpZiBIQVZFKExMVk0pICYmICFGVExfVVNFU19CMwog
ICAgICAgICBpZiAoIWhhdmVMTFZNKSB7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6ZnRsQ3Jh
c2hlc0lmQ2FudEluaXRpYWxpemVMTFZNKCkpIHsKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJM
TFZNIGNhbid0IGJlIGluaXRpYWxpemVkLlxuIik7CkBAIC00NzIsNiArNDc3LDcgQEAgUGxhbjo6
Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUm
IGxvbmdMaXZlZFN0YXRlKQogICAgICAgICAgICAgZmluYWxpemVyID0gc3RkOjptYWtlX3VuaXF1
ZTxGYWlsZWRGaW5hbGl6ZXI+KCp0aGlzKTsKICAgICAgICAgICAgIHJldHVybiBGYWlsUGF0aDsK
ICAgICAgICAgfQorI2VuZGlmCiAKICAgICAgICAgRlRMOjpTdGF0ZSBzdGF0ZShkZmcpOwogICAg
ICAgICBGVEw6Omxvd2VyREZHVG9MTFZNKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKaW5kZXggOWJhNDZiMi4uYTUxN2E5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKQEAg
LTQzLDExICs0MywyMCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiB0eXBlZGVm
IEIzOjpCYXNpY0Jsb2NrKiBMQmFzaWNCbG9jazsKIHR5cGVkZWYgQjM6OlR5cGUgTFR5cGU7CiB0
eXBlZGVmIEIzOjpWYWx1ZSogTFZhbHVlOworCit0eXBlZGVmIHZvaWQqIExBdG9taWNPcmRlcmlu
ZzsKK3R5cGVkZWYgdm9pZCogTEJ1aWxkZXI7Cit0eXBlZGVmIHZvaWQqIExDYWxsQ29udjsKK3R5
cGVkZWYgdm9pZCogTENvbnRleHQ7Cit0eXBlZGVmIHZvaWQqIExJbnRQcmVkaWNhdGU7Cit0eXBl
ZGVmIHZvaWQqIExMaW5rYWdlOwordHlwZWRlZiB2b2lkKiBMTW9kdWxlOwordHlwZWRlZiB2b2lk
KiBMUmVhbFByZWRpY2F0ZTsKK3R5cGVkZWYgdm9pZCogTE1lbW9yeUJ1ZmZlcjsKICNlbHNlCiB0
eXBlZGVmIExMVk1CYXNpY0Jsb2NrUmVmIExCYXNpY0Jsb2NrOwogdHlwZWRlZiBMTFZNVHlwZVJl
ZiBMVHlwZTsKIHR5cGVkZWYgTExWTVZhbHVlUmVmIExWYWx1ZTsKLSNlbmRpZgogCiB0eXBlZGVm
IExMVk1BdG9taWNPcmRlcmluZyBMQXRvbWljT3JkZXJpbmc7CiB0eXBlZGVmIExMVk1CdWlsZGVy
UmVmIExCdWlsZGVyOwpAQCAtNTgsNiArNjcsNyBAQCB0eXBlZGVmIExMVk1MaW5rYWdlIExMaW5r
YWdlOwogdHlwZWRlZiBMTFZNTW9kdWxlUmVmIExNb2R1bGU7CiB0eXBlZGVmIExMVk1SZWFsUHJl
ZGljYXRlIExSZWFsUHJlZGljYXRlOwogdHlwZWRlZiBMTFZNTWVtb3J5QnVmZmVyUmVmIExNZW1v
cnlCdWZmZXI7CisjZW5kaWYKIAogZW51bSBTeW5jaHJvbml6YXRpb25TY29wZSB7IFNpbmdsZVRo
cmVhZCwgQ3Jvc3NUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExGYWlsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAK
aW5kZXggYWMyZmMwNy4uZDE1NGViZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExGYWlsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEZhaWwu
Y3BwCkBAIC00MCw4ICs0MCwxMCBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0YXRlKQogewogICAgIHN0
YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEZhaWxlZEZpbmFs
aXplcj4oc3RhdGUuZ3JhcGgubV9wbGFuKTsKICAgICAKKyNpZiAhRlRMX1VTRVNfQjMKICAgICBp
ZiAoc3RhdGUubW9kdWxlKQogICAgICAgICBsbHZtLT5EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVs
ZSk7CisjZW5kaWYKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFN0YXRlLmNwcAppbmRleCAyZWFjNDA5Li5lMTdlODBjMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCkBAIC00NCw3ICs0NCwxMSBAQCB1c2luZyBu
YW1lc3BhY2UgREZHOwogCiBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBoKQogICAgIDogZ3JhcGgo
Z3JhcGgpCisjaWYgRlRMX1VTRVNfQjMKKyAgICAsIGNvbnRleHQobnVsbHB0cikKKyNlbHNlCiAg
ICAgLCBjb250ZXh0KGxsdm0tPkNvbnRleHRDcmVhdGUoKSkKKyNlbmRpZgogICAgICwgbW9kdWxl
KDApCiAgICAgLCBmdW5jdGlvbigwKQogICAgICwgZ2VuZXJhdGVkRnVuY3Rpb24oMCkKQEAgLTg1
LDcgKzg5LDkgQEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKIAogU3RhdGU6On5TdGF0ZSgp
CiB7CisjaWYgIUZUTF9VU0VTX0IzCiAgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7
CisjZW5kaWYKIH0KIAogdm9pZCBTdGF0ZTo6ZHVtcFN0YXRlKGNvbnN0IGNoYXIqIHdoZW4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IDVlZDdiZmIuLjcyYTVjNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDItMDMgIE1p
Y2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtd
W0VGTF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRW5hYmxlIEIzIGJ5IGRlZmF1bHQgb24gYWxsIHg4Ni4KKworICAgICAg
ICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE2LTAyLTAxICBTYWlkIEFib3UtSGFsbGF3YSAgPHNh
Ym91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FjaGUgdGhlIFBhdGggaW5zdGVhZCBv
ZiBjcmVhdGluZyBpdCBldmVyeSB0aW1lIGl0IGlzIHJlcXVpcmVkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBm
MTg0ZjU5Li44NjE1MzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTcxNiwxMCArNzE2LDYgQEAKICNkZWZp
bmUgSEFWRV9MTFZNIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oR1RLKSAmJiBIQVZFKExMVk0p
ICYmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9GVExfSklUKSAmJiBDUFUoWDg2XzY0
KQotI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAxCi0jZW5kaWYKLQogLyogVGhlIEZUTCAqZG9lcyBu
b3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNvbWVvbmUg
YXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjdW5kZWYg
RU5BQkxFX0ZUTF9KSVQKQEAgLTc4NSw5ICs3ODEsOCBAQAogI2RlZmluZSBFTkFCTEVfQ09OQ1VS
UkVOVF9KSVQgMQogI2VuZGlmCiAKLS8qIFRoZSBCMyBjb21waWxlciBpcyBhbiBleHBlcmltZW50
YWwgYmFja2VuZCB0aGF0IGlzIHN0aWxsIGluIGRldmVsb3BtZW50LiBXZSB3aWxsIGtlZXAgaXQg
YnVpbGRpbmcKLSAgIG9uIE1hYy94ODYtNjQgZm9yIG5vdywgdGhvdWdoIGl0IGlzIHVudXNlZCBl
eGNlcHQgZm9yIHRlc3RzLiAqLwotI2lmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykp
ICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJVCkKKy8qIFRo
aXMgY29udHJvbHMgd2hldGhlciBCMyBpcyBidWlsdC4gSXQgd2lsbCBub3QgYmUgdXNlZCB1bmxl
c3MgRlRMX1VTRVNfQjMgaXMgZW5hYmxlZC4gKi8KKyNpZiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFS
TTY0KSkgJiYgRU5BQkxFKEZUTF9KSVQpCiAjZGVmaW5lIEVOQUJMRV9CM19KSVQgMQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggMjQzOGM2My4uNTljOGE5NSAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNF
ZmwuY21ha2UKQEAgLTY5LDEyICs2OSw2IEBAIGVsc2UgKCkKICAgICBzZXQoV2ViS2l0Ml9WRVJT
SU9OX1NDUklQVCAiLVdsLC0tdmVyc2lvbi1zY3JpcHQsJHtDTUFLRV9NT0RVTEVfUEFUSH0vZWZs
c3ltYm9scy5maWx0ZXIiKQogZW5kaWYgKCkKIAotaWYgKFdURl9DUFVfWDg2XzY0KQotICAgIHNl
dChFTkFCTEVfRlRMX0RFRkFVTFQgT04pCi1lbHNlICgpCi0gICAgc2V0KEVOQUJMRV9GVExfREVG
QVVMVCBPRkYpCi1lbmRpZiAoKQotCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfM0RfVFJBTlNGT1JNUyBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUxMSU5PTkVfQlVJTEQgUFVCTElDIE9GRikKQEAgLTk3
LDcgKzkxLDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RSQUdf
U1VQUE9SVCBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfRU5DUllQVEVEX01FRElBIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIgUFVCTElDIE9GRikK
LVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBVQkxJQyAk
e0VOQUJMRV9GVExfREVGQVVMVH0pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfRlRMX0pJVCBQVUJMSUMgJHtXVEZfQ1BVX1g4Nl82NH0pCiBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlVMTFNDUkVFTl9BUEkgUFVCTElDIE9OKQogV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQUQgUFVCTElDIE9GRikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQg
UFVCTElDIE9OKQpAQCAtMjgyLDE4ICsyNzYsMTMgQEAgaWYgKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKQogICAgIGZpbmRfcGFja2FnZShFc3BlYWsgUkVRVUlSRUQpCiBlbmRpZiAoKQogCi1pZiAo
RU5BQkxFX0ZUTF9KSVQpCi0gICAgaWYgKFdURl9DUFVfWDg2XzY0KQotICAgICAgICBmaW5kX3Bh
Y2thZ2UoTExWTSAzLjYuMCBSRVFVSVJFRCkKLSAgICBlbHNlaWYgKFdURl9DUFVfQVJNNjQpCi0g
ICAgICAgIGZpbmRfcGFja2FnZShMTFZNIFJFUVVJUkVEKQotICAgICAgICBpZiAoTk9UICIke0xM
Vk1fVkVSU0lPTn0iIFNUUkVRVUFMICIzLjUuMGZ0bCIpCi0gICAgICAgICAgICBtZXNzYWdlKEZB
VEFMX0VSUk9SICJGVEwgSklUIGlzIG9ubHkgYXZhaWxhYmxlIG9uIEFBcmNoNjQgYXJjaGl0ZWN0
dXJlIHdpdGggcGF0Y2hlZCBMTFZNIDMuNS4wLCB1c2UgVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Vi
a2l0ZWZsLWxpYnMgbGx2bS0zLjUtZm9yLUFBcmNoNjQgdG8gYnVpbGQgaXQuIikKLSAgICAgICAg
ZW5kaWYgKCkKLSAgICBlbHNlICgpCi0gICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkZUTCBK
SVQgaXMgb25seSBhdmFpbGFibGUgb24gWDg2XzY0IGFuZCBBQXJjaDY0IGFyY2hpdGVjdHVyZXMu
IikKLSAgICBlbmRpZiAoKQoraWYgKFVTRV9MTFZNX0RJU0FTU0VNQkxFUikKKyAgICBmaW5kX3Bh
Y2thZ2UoTExWTSBSRVFVSVJFRCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xM
Vk0gVFJVRSkKK2VuZGlmKCkKKworaWYgKEVOQUJMRV9GVExfSklUIEFORCBOT1QgV1RGX0NQVV9Y
ODZfNjQgQU5EIE5PVCBERVZFTE9QRVJfTU9ERSkKKyAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJG
VEwgSklUIGlzIG9ubHkgYXZhaWxhYmxlIG9uIFg4Nl82NCBhcmNoaXRlY3R1cmUuIikKIGVuZGlm
ICgpCiAKIGlmIChFTkFCTEVfU1VCVExFX0NSWVBUTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFr
ZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXgg
ZmJkM2M3Zi4uYWVmZTNlMiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTY2LDEyICs2Niw2IEBA
IGlmIChOT1QgT1BFTkdMX0ZPVU5EIEFORCBPUEVOR0xFUzJfRk9VTkQpCiAgICAgc2V0KEVOQUJM
RV9HTEVTMl9ERUZBVUxUIE9OKQogZW5kaWYgKCkKIAotaWYgKFdURl9DUFVfWDg2XzY0KQotICAg
IHNldChFTkFCTEVfRlRMX0RFRkFVTFQgT04pCi1lbHNlICgpCi0gICAgc2V0KEVOQUJMRV9GVExf
REVGQVVMVCBPRkYpCi1lbmRpZiAoKQotCiAjIFB1YmxpYyBvcHRpb25zIHNwZWNpZmljIHRvIHRo
ZSBHVEsrIHBvcnQuIERvIG5vdCBhZGQgYW55IG9wdGlvbnMgaGVyZSB1bmxlc3MKICMgdGhlcmUg
aXMgYSBzdHJvbmcgcmVhc29uIHdlIHNob3VsZCBzdXBwb3J0IGNoYW5naW5nIHRoZSB2YWx1ZSBv
ZiB0aGUgb3B0aW9uLAogIyBhbmQgdGhlIG9wdGlvbiBpcyBub3QgcmVsZXZhbnQgdG8gYW55IG90
aGVyIFdlYktpdCBwb3J0cy4KQEAgLTEzMyw3ICsxMjcsNiBAQCBlbmRpZiAoKQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBQVUJM
SUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NSRURFTlRJ
QUxfU1RPUkFHRSBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfRFJBR19TVVBQT1JUIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9GVExfSklUIFBVQkxJQyAke0VOQUJMRV9GVExfREVGQVVMVH0pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfR0VPTE9DQVRJT04gUFVCTElDIE9O
KQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lDT05EQVRBQkFTRSBQ
VUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSklUIFBV
QkxJQyBPTikKQEAgLTE1Myw2ICsxNDYsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfQ1NTX0lNQUdFX1NFVCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19SRUdJT05TIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQgUFJJVkFU
RSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBQkFTRV9Q
Uk9DRVNTIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfRlRMX0pJVCBQUklWQVRFICR7V1RGX0NQVV9YODZfNjR9KQogV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZUUERJUiBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSBQUklWQVRFIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOREVYRURfREFUQUJBU0UgUFJJ
VkFURSBPTikKQEAgLTIzNCwxMSArMjI4LDExIEBAIGlmIChFTkFCTEVfQ1JFREVOVElBTF9TVE9S
QUdFKQogICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQpCitpZiAo
VVNFX0xMVk1fRElTQVNTRU1CTEVSKQogICAgIGlmIChXVEZfQ1BVX1g4Nl82NCkKICAgICAgICAg
ZmluZF9wYWNrYWdlKExMVk0gMy43KQogICAgICAgICBpZiAoTk9UIExMVk1fRk9VTkQpCi0gICAg
ICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJMTFZNIDMuNyBpcyByZXF1aXJlZCBmb3IgRU5B
QkxFX0ZUTF9KSVQiKQorICAgICAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTExWTSAzLjcg
aXMgcmVxdWlyZWQgZm9yIFVTRV9MTFZNX0RJU0FTU0VNQkxFUiIpCiAgICAgICAgIGVuZGlmICgp
CiAgICAgICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfTExWTSBUUlVFKQogICAgIGVs
c2UgKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270580</attachid>
            <date>2016-02-03 09:37:22 -0800</date>
            <delta_ts>2016-02-03 13:21:51 -0800</delta_ts>
            <desc>Fix &quot;coding&quot; style in EFL cmake file</desc>
            <filename>jsc-b3.diff</filename>
            <type>text/plain</type>
            <size>15049</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5ZTIzMGMwLi5iM2MwYmY4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTYtMDItMDMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdW0VGTF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAxNi0w
Mi0wMiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgYXR0ZW1wdCB0byBmaXggTWFjIENNYWtlIGJ1aWxkIGFmdGVyIHIxOTU5OTkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTliNTlmNi4uZDM5N2Q1NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTkxLDM2ICs5OTEsMTEgQEAgbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwCiApCiAKLQogaWYgKEVOQUJMRV9GVExfSklUKQotICAgICMgQ29uZmlndXJlIGxs
dm1Gb3JKU0Muc28KLSAgICBzZXQobGx2bUZvckpTQ19TT1VSQ0VTCi0gICAgICAgIGxsdm0vbGli
cmFyeS9MTFZNQW5jaG9yLmNwcAotICAgICAgICBsbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3Bw
Ci0gICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJpZGVzLmNwcAotICAgICkKLSAgICBzZXQo
bGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCi0gICAgICAgICR7TExWTV9JTkNMVURFX0RJ
UlN9Ci0gICAgICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgotICAg
ICkKLQotICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAgICAgT1VUUFVUICR7REVSSVZFRF9T
T1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0TExWTUxpYnJhcnlUb2tlbi5oCi0gICAg
ICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0b3VjaCAke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJyYXJ5VG9rZW4uaAotICAgICAgICBWRVJC
QVRJTSkKLQotICAgICMgQWRkZWQgZXh0cmEgaXRlbXMgZm9yIEphdmFTY3JpcHRDb3JlCi0gICAg
bGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAg
ICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KLSAgICApCi0KICAgICBsaXN0KEFQUEVORCBKYXZh
U2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgICAgIGRmZy9ERkdUb0ZUTERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjay5jcHAKICAgICAgICAgZGZnL0RGR1RvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suY3BwCiAKLSAgICAgICAgZGlzYXNzZW1ibGVyL0xMVk1EaXNhc3Nl
bWJsZXIuY3BwCi0gICAgICAgIGRpc2Fzc2VtYmxlci9YODZEaXNhc3NlbWJsZXIuY3BwCi0KICAg
ICAgICAgZnRsL0ZUTEFic3RyYWN0SGVhcC5jcHAKICAgICAgICAgZnRsL0ZUTEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuY3BwCiAgICAgICAgIGZ0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAKQEAg
LTEwNzEsNyArMTA0NiwzMiBAQCBpZiAoRU5BQkxFX0ZUTF9KSVQpCiAgICAgICAgIGZ0bC9GVExU
aHVua3MuY3BwCiAgICAgICAgIGZ0bC9GVExVbndpbmRJbmZvLmNwcAogICAgICAgICBmdGwvRlRM
VmFsdWVSYW5nZS5jcHAKKyAgICApCitlbmRpZiAoKQorCitpZiAoVVNFX0xMVk1fRElTQVNTRU1C
TEVSKQorICAgICMgQ29uZmlndXJlIGxsdm1Gb3JKU0Muc28KKyAgICBzZXQobGx2bUZvckpTQ19T
T1VSQ0VTCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNQW5jaG9yLmNwcAorICAgICAgICBsbHZt
L2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCisgICAgICAgIGxsdm0vbGlicmFyeS9MTFZNT3ZlcnJp
ZGVzLmNwcAorICAgICkKKyAgICBzZXQobGx2bUZvckpTQ19JTkNMVURFX0RJUkVDVE9SSUVTCisg
ICAgICAgICR7TExWTV9JTkNMVURFX0RJUlN9CisgICAgICAgICIke0RFUklWRURfU09VUkNFU19K
QVZBU0NSSVBUQ09SRV9ESVJ9IgorICAgICkKIAorICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAg
ICAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vV2ViS2l0
TExWTUxpYnJhcnlUb2tlbi5oCisgICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSB0
b3VjaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1dlYktpdExMVk1MaWJy
YXJ5VG9rZW4uaAorICAgICAgICBWRVJCQVRJTSkKKworICAgICMgQWRkZWQgZXh0cmEgaXRlbXMg
Zm9yIEphdmFTY3JpcHRDb3JlCisgICAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU1lTVEVN
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgJHtMTFZNX0lOQ0xVREVfRElSU30KKyAgICAp
CisKKyAgICBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgICAgIGxsdm0v
SW5pdGlhbGl6ZUxMVk0uY3BwCiAgICAgICAgIGxsdm0vTExWTUFQSS5jcHAKICAgICApCkBAIC0x
MzY2LDEyICsxMzY2LDEyIEBAIGVuZGlmICgpCiAKIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxF
U19JRl9FWElTVFMoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQgQU5EIE5PVCBXSU4zMikKK2lmIChV
U0VfTExWTV9ESVNBU1NFTUJMRVIgQU5EIE5PVCBXSU4zMikKICAgICBpZiAoTk9UIGxsdm1Gb3JK
U0NfTElCUkFSSUVTKQogICAgICAgICBzZXQobGx2bUZvckpTQ19MSUJSQVJJRVMgJHtMTFZNX1NU
QVRJQ19MSUJSQVJJRVN9KQogICAgIGVuZGlmICgpCiAgICAgaWYgKE5PVCBsbHZtRm9ySlNDX0xJ
QlJBUklFUykKLSAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTm8gTExWTSBsaWJzIGZvdW5k
LCBidXQgRlRMIGlzIGVuYWJsZWQuIFN0b3BwaW5nIGJ1aWxkLiIpCisgICAgICAgIG1lc3NhZ2Uo
RkFUQUxfRVJST1IgIk5vIExMVk0gbGlicyBmb3VuZCwgYnV0IExMVk0gZGlzYXNzZW1ibGVyIGlz
IGVuYWJsZWQuIFN0b3BwaW5nIGJ1aWxkLiIpCiAgICAgZW5kaWYgKCkKIAogICAgIFdFQktJVF9X
UkFQX1NPVVJDRUxJU1QoJHtsbHZtRm9ySlNDX1NPVVJDRVN9KQpAQCAtMTQxNiw3ICsxNDE2LDcg
QEAgaWYgKCR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9UWVBFfSBTVFJFUVVBTCAiU0hBUkVEIikK
ICAgICBpbnN0YWxsKFRBUkdFVFMgSmF2YVNjcmlwdENvcmUgREVTVElOQVRJT04gIiR7TElCX0lO
U1RBTExfRElSfSIpCiBlbmRpZiAoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQpCitpZiAoVVNFX0xM
Vk1fRElTQVNTRU1CTEVSKQogICAgIGFkZF9kZXBlbmRlbmNpZXMoSmF2YVNjcmlwdENvcmUgbGx2
bUZvckpTQykKIGVuZGlmICgpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJlYjI2MGUu
LmUxMmE2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2
LTAyLTAzICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1RLXVtFRkxdIFN3aXRjaCBGVEwgdG8gQjMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbmRpdGlvbmFsaXplIGNvZGUgdG8gbWFrZSBpdCBw
b3NzaWJsZSB0byBidWlsZCBGVEwgY29tcGxldGVseSB3aXRob3V0IExMVk0uCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBkZmcvREZHQ29tbW9uLmg6CisgICAgICAgICog
ZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVh
ZEltcGwpOgorICAgICAgICAqIGZ0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmg6CisgICAgICAgICog
ZnRsL0ZUTEZhaWwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmZhaWwpOgorICAgICAgICAqIGZ0
bC9GVExTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6U3RhdGU6OlN0YXRlKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpTdGF0ZTo6flN0YXRlKToKKwogMjAxNi0wMi0wMyAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4
IEphdmFTY3JpcHRDb3JlIGJ1aWxkIHdpdGggQjMgZW5hYmxlZC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAyZmI3ODkzLi5iZGNmYjM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0zOCw3ICszOCw3IEBAIGlmIChFTkFCTEVf
SU5UUk9TUEVDVElPTikKICAgICApCiBlbmRpZiAoKQogCi1pZiAoRU5BQkxFX0ZUTF9KSVQpCitp
ZiAoVVNFX0xMVk1fRElTQVNTRU1CTEVSKQogICAgIHNldChsbHZtRm9ySlNDX0xJQlJBUklFUyAk
e0xMVk1fTElCUkFSSUVTfSkKICAgICBzZXQobGx2bUZvckpTQ19JTlNUQUxMX0RJUiAiJHtMSUJf
SU5TVEFMTF9ESVJ9L2phdmFzY3JpcHRjb3JlZ3RrLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfSIp
CiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21t
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKaW5kZXggNTU1M2Qx
MC4uNzgxNjJlYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21t
b24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCkBAIC0zNyw3
ICszNyw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAogLy8gV2UgYXJlIGlu
IHRoZSBtaWRkbGUgb2YgYSB0cmFuc2l0aW9uIGZyb20gTExWTSB0byBCMyBhcyB0aGUgYmFja2Vu
ZCBmb3IgdGhlIEZUTC4gVGhpcyBmbGFnIHdpbGwgZ28KIC8vIGF3YXkgb25jZSB0aGF0IHRyYW5z
aXRpb24gaXMgZmluaXNoZWQuIEZvciBub3csIHdlIGVuYWJsZSBCMyBvbmx5IG9uIHNvbWUgcGxh
dGZvcm1zLgotI2lmIENQVShYODZfNjQpICYmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKEZUTF9K
SVQpCisjaWYgQ1BVKFg4Nl82NCkgJiYgRU5BQkxFKEZUTF9KSVQpCiAjZGVmaW5lIEZUTF9VU0VT
X0IzIDEKICNlbHNlCiAjZGVmaW5lIEZUTF9VU0VTX0IzIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1BsYW4uY3BwCmluZGV4IDUxMmY0NDcuLmM3ZDg5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQbGFuLmNwcApAQCAtNDU1LDE1ICs0NTUsMjAgQEAgUGxhbjo6Q29tcGlsYXRpb25Q
YXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0
YXRlKQogCiAgICAgICAgIGR1bXBBbmRWZXJpZnlHcmFwaChkZmcsICJHcmFwaCBqdXN0IGJlZm9y
ZSBGVEwgbG93ZXJpbmc6Iiwgc2hvdWxkRHVtcERpc2Fzc2VtYmx5KG1vZGUpKTsKICAgICAgICAg
CisjaWYgSEFWRShMTFZNKSAmJiAhRlRMX1VTRVNfQjMKICAgICAgICAgYm9vbCBoYXZlTExWTTsK
KyNlbmRpZgogICAgICAgICBTYWZlcG9pbnQ6OlJlc3VsdCBzYWZlcG9pbnRSZXN1bHQ7CiAgICAg
ICAgIHsKICAgICAgICAgICAgIEdyYXBoU2FmZXBvaW50IHNhZmVwb2ludChkZmcsIHNhZmVwb2lu
dFJlc3VsdCk7CisjaWYgSEFWRShMTFZNKSAmJiAhRlRMX1VTRVNfQjMKICAgICAgICAgICAgIGhh
dmVMTFZNID0gaW5pdGlhbGl6ZUxMVk0oKTsKKyNlbmRpZgogICAgICAgICB9CiAgICAgICAgIGlm
IChzYWZlcG9pbnRSZXN1bHQuZGlkR2V0Q2FuY2VsbGVkKCkpCiAgICAgICAgICAgICByZXR1cm4g
Q2FuY2VsUGF0aDsKLSAgICAgICAgCisKKyNpZiBIQVZFKExMVk0pICYmICFGVExfVVNFU19CMwog
ICAgICAgICBpZiAoIWhhdmVMTFZNKSB7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6ZnRsQ3Jh
c2hlc0lmQ2FudEluaXRpYWxpemVMTFZNKCkpIHsKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJM
TFZNIGNhbid0IGJlIGluaXRpYWxpemVkLlxuIik7CkBAIC00NzIsNiArNDc3LDcgQEAgUGxhbjo6
Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJblRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUm
IGxvbmdMaXZlZFN0YXRlKQogICAgICAgICAgICAgZmluYWxpemVyID0gc3RkOjptYWtlX3VuaXF1
ZTxGYWlsZWRGaW5hbGl6ZXI+KCp0aGlzKTsKICAgICAgICAgICAgIHJldHVybiBGYWlsUGF0aDsK
ICAgICAgICAgfQorI2VuZGlmCiAKICAgICAgICAgRlRMOjpTdGF0ZSBzdGF0ZShkZmcpOwogICAg
ICAgICBGVEw6Omxvd2VyREZHVG9MTFZNKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQWJicmV2aWF0ZWRUeXBlcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKaW5kZXggOWJhNDZiMi4uYTUxN2E5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZpYXRlZFR5cGVzLmgKQEAg
LTQzLDExICs0MywyMCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiB0eXBlZGVm
IEIzOjpCYXNpY0Jsb2NrKiBMQmFzaWNCbG9jazsKIHR5cGVkZWYgQjM6OlR5cGUgTFR5cGU7CiB0
eXBlZGVmIEIzOjpWYWx1ZSogTFZhbHVlOworCit0eXBlZGVmIHZvaWQqIExBdG9taWNPcmRlcmlu
ZzsKK3R5cGVkZWYgdm9pZCogTEJ1aWxkZXI7Cit0eXBlZGVmIHZvaWQqIExDYWxsQ29udjsKK3R5
cGVkZWYgdm9pZCogTENvbnRleHQ7Cit0eXBlZGVmIHZvaWQqIExJbnRQcmVkaWNhdGU7Cit0eXBl
ZGVmIHZvaWQqIExMaW5rYWdlOwordHlwZWRlZiB2b2lkKiBMTW9kdWxlOwordHlwZWRlZiB2b2lk
KiBMUmVhbFByZWRpY2F0ZTsKK3R5cGVkZWYgdm9pZCogTE1lbW9yeUJ1ZmZlcjsKICNlbHNlCiB0
eXBlZGVmIExMVk1CYXNpY0Jsb2NrUmVmIExCYXNpY0Jsb2NrOwogdHlwZWRlZiBMTFZNVHlwZVJl
ZiBMVHlwZTsKIHR5cGVkZWYgTExWTVZhbHVlUmVmIExWYWx1ZTsKLSNlbmRpZgogCiB0eXBlZGVm
IExMVk1BdG9taWNPcmRlcmluZyBMQXRvbWljT3JkZXJpbmc7CiB0eXBlZGVmIExMVk1CdWlsZGVy
UmVmIExCdWlsZGVyOwpAQCAtNTgsNiArNjcsNyBAQCB0eXBlZGVmIExMVk1MaW5rYWdlIExMaW5r
YWdlOwogdHlwZWRlZiBMTFZNTW9kdWxlUmVmIExNb2R1bGU7CiB0eXBlZGVmIExMVk1SZWFsUHJl
ZGljYXRlIExSZWFsUHJlZGljYXRlOwogdHlwZWRlZiBMTFZNTWVtb3J5QnVmZmVyUmVmIExNZW1v
cnlCdWZmZXI7CisjZW5kaWYKIAogZW51bSBTeW5jaHJvbml6YXRpb25TY29wZSB7IFNpbmdsZVRo
cmVhZCwgQ3Jvc3NUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExGYWlsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRmFpbC5jcHAK
aW5kZXggYWMyZmMwNy4uZDE1NGViZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExGYWlsLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEZhaWwu
Y3BwCkBAIC00MCw4ICs0MCwxMCBAQCB2b2lkIGZhaWwoU3RhdGUmIHN0YXRlKQogewogICAgIHN0
YXRlLmdyYXBoLm1fcGxhbi5maW5hbGl6ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEZhaWxlZEZpbmFs
aXplcj4oc3RhdGUuZ3JhcGgubV9wbGFuKTsKICAgICAKKyNpZiAhRlRMX1VTRVNfQjMKICAgICBp
ZiAoc3RhdGUubW9kdWxlKQogICAgICAgICBsbHZtLT5EaXNwb3NlTW9kdWxlKHN0YXRlLm1vZHVs
ZSk7CisjZW5kaWYKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFN0YXRlLmNwcAppbmRleCAyZWFjNDA5Li5lMTdlODBjMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwCkBAIC00NCw3ICs0NCwxMSBAQCB1c2luZyBu
YW1lc3BhY2UgREZHOwogCiBTdGF0ZTo6U3RhdGUoR3JhcGgmIGdyYXBoKQogICAgIDogZ3JhcGgo
Z3JhcGgpCisjaWYgRlRMX1VTRVNfQjMKKyAgICAsIGNvbnRleHQobnVsbHB0cikKKyNlbHNlCiAg
ICAgLCBjb250ZXh0KGxsdm0tPkNvbnRleHRDcmVhdGUoKSkKKyNlbmRpZgogICAgICwgbW9kdWxl
KDApCiAgICAgLCBmdW5jdGlvbigwKQogICAgICwgZ2VuZXJhdGVkRnVuY3Rpb24oMCkKQEAgLTg1
LDcgKzg5LDkgQEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKIAogU3RhdGU6On5TdGF0ZSgp
CiB7CisjaWYgIUZUTF9VU0VTX0IzCiAgICAgbGx2bS0+Q29udGV4dERpc3Bvc2UoY29udGV4dCk7
CisjZW5kaWYKIH0KIAogdm9pZCBTdGF0ZTo6ZHVtcFN0YXRlKGNvbnN0IGNoYXIqIHdoZW4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IDVlZDdiZmIuLjcyYTVjNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDItMDMgIE1p
Y2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtd
W0VGTF0gU3dpdGNoIEZUTCB0byBCMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUzNDc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRW5hYmxlIEIzIGJ5IGRlZmF1bHQgb24gYWxsIHg4Ni4KKworICAgICAg
ICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE2LTAyLTAxICBTYWlkIEFib3UtSGFsbGF3YSAgPHNh
Ym91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FjaGUgdGhlIFBhdGggaW5zdGVhZCBv
ZiBjcmVhdGluZyBpdCBldmVyeSB0aW1lIGl0IGlzIHJlcXVpcmVkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBm
MTg0ZjU5Li44NjE1MzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTcxNiwxMCArNzE2LDYgQEAKICNkZWZp
bmUgSEFWRV9MTFZNIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oR1RLKSAmJiBIQVZFKExMVk0p
ICYmIEVOQUJMRShKSVQpICYmICFkZWZpbmVkKEVOQUJMRV9GVExfSklUKSAmJiBDUFUoWDg2XzY0
KQotI2RlZmluZSBFTkFCTEVfRlRMX0pJVCAxCi0jZW5kaWYKLQogLyogVGhlIEZUTCAqZG9lcyBu
b3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNvbWVvbmUg
YXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjdW5kZWYg
RU5BQkxFX0ZUTF9KSVQKQEAgLTc4NSw5ICs3ODEsOCBAQAogI2RlZmluZSBFTkFCTEVfQ09OQ1VS
UkVOVF9KSVQgMQogI2VuZGlmCiAKLS8qIFRoZSBCMyBjb21waWxlciBpcyBhbiBleHBlcmltZW50
YWwgYmFja2VuZCB0aGF0IGlzIHN0aWxsIGluIGRldmVsb3BtZW50LiBXZSB3aWxsIGtlZXAgaXQg
YnVpbGRpbmcKLSAgIG9uIE1hYy94ODYtNjQgZm9yIG5vdywgdGhvdWdoIGl0IGlzIHVudXNlZCBl
eGNlcHQgZm9yIHRlc3RzLiAqLwotI2lmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykp
ICYmIChDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpKSAmJiBFTkFCTEUoRlRMX0pJVCkKKy8qIFRo
aXMgY29udHJvbHMgd2hldGhlciBCMyBpcyBidWlsdC4gSXQgd2lsbCBub3QgYmUgdXNlZCB1bmxl
c3MgRlRMX1VTRVNfQjMgaXMgZW5hYmxlZC4gKi8KKyNpZiAoQ1BVKFg4Nl82NCkgfHwgQ1BVKEFS
TTY0KSkgJiYgRU5BQkxFKEZUTF9KSVQpCiAjZGVmaW5lIEVOQUJMRV9CM19KSVQgMQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggMjQzOGM2My4uYzE5NGNmZSAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNF
ZmwuY21ha2UKQEAgLTY5LDEyICs2OSw2IEBAIGVsc2UgKCkKICAgICBzZXQoV2ViS2l0Ml9WRVJT
SU9OX1NDUklQVCAiLVdsLC0tdmVyc2lvbi1zY3JpcHQsJHtDTUFLRV9NT0RVTEVfUEFUSH0vZWZs
c3ltYm9scy5maWx0ZXIiKQogZW5kaWYgKCkKIAotaWYgKFdURl9DUFVfWDg2XzY0KQotICAgIHNl
dChFTkFCTEVfRlRMX0RFRkFVTFQgT04pCi1lbHNlICgpCi0gICAgc2V0KEVOQUJMRV9GVExfREVG
QVVMVCBPRkYpCi1lbmRpZiAoKQotCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfM0RfVFJBTlNGT1JNUyBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUxMSU5PTkVfQlVJTEQgUFVCTElDIE9GRikKQEAgLTk3
LDcgKzkxLDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RSQUdf
U1VQUE9SVCBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfRU5DUllQVEVEX01FRElBIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIgUFVCTElDIE9GRikK
LVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVExfSklUIFBVQkxJQyAk
e0VOQUJMRV9GVExfREVGQVVMVH0pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfRlRMX0pJVCBQVUJMSUMgJHtXVEZfQ1BVX1g4Nl82NH0pCiBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlVMTFNDUkVFTl9BUEkgUFVCTElDIE9OKQogV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQUQgUFVCTElDIE9GRikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQg
UFVCTElDIE9OKQpAQCAtMjgyLDIwICsyNzYsMTUgQEAgaWYgKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKQogICAgIGZpbmRfcGFja2FnZShFc3BlYWsgUkVRVUlSRUQpCiBlbmRpZiAoKQogCi1pZiAo
RU5BQkxFX0ZUTF9KSVQpCi0gICAgaWYgKFdURl9DUFVfWDg2XzY0KQotICAgICAgICBmaW5kX3Bh
Y2thZ2UoTExWTSAzLjYuMCBSRVFVSVJFRCkKLSAgICBlbHNlaWYgKFdURl9DUFVfQVJNNjQpCi0g
ICAgICAgIGZpbmRfcGFja2FnZShMTFZNIFJFUVVJUkVEKQotICAgICAgICBpZiAoTk9UICIke0xM
Vk1fVkVSU0lPTn0iIFNUUkVRVUFMICIzLjUuMGZ0bCIpCi0gICAgICAgICAgICBtZXNzYWdlKEZB
VEFMX0VSUk9SICJGVEwgSklUIGlzIG9ubHkgYXZhaWxhYmxlIG9uIEFBcmNoNjQgYXJjaGl0ZWN0
dXJlIHdpdGggcGF0Y2hlZCBMTFZNIDMuNS4wLCB1c2UgVG9vbHMvU2NyaXB0cy91cGRhdGUtd2Vi
a2l0ZWZsLWxpYnMgbGx2bS0zLjUtZm9yLUFBcmNoNjQgdG8gYnVpbGQgaXQuIikKLSAgICAgICAg
ZW5kaWYgKCkKLSAgICBlbHNlICgpCi0gICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkZUTCBK
SVQgaXMgb25seSBhdmFpbGFibGUgb24gWDg2XzY0IGFuZCBBQXJjaDY0IGFyY2hpdGVjdHVyZXMu
IikKLSAgICBlbmRpZiAoKQoraWYgKFVTRV9MTFZNX0RJU0FTU0VNQkxFUikKKyAgICBmaW5kX3Bh
Y2thZ2UoTExWTSBSRVFVSVJFRCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xM
Vk0gVFJVRSkKIGVuZGlmICgpCiAKK2lmIChFTkFCTEVfRlRMX0pJVCBBTkQgTk9UIFdURl9DUFVf
WDg2XzY0IEFORCBOT1QgREVWRUxPUEVSX01PREUpCisgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAi
RlRMIEpJVCBpcyBvbmx5IGF2YWlsYWJsZSBvbiBYODZfNjQgYXJjaGl0ZWN0dXJlLiIpCitlbmRp
ZiAoKQorCiBpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8pCiAgICAgZmluZF9wYWNrYWdlKEdudVRM
UyAzLjAuMCBSRVFVSVJFRCkKIGVuZGlmICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IGZiZDNj
N2YuLmFlZmUzZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCisr
KyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC02NiwxMiArNjYsNiBAQCBpZiAo
Tk9UIE9QRU5HTF9GT1VORCBBTkQgT1BFTkdMRVMyX0ZPVU5EKQogICAgIHNldChFTkFCTEVfR0xF
UzJfREVGQVVMVCBPTikKIGVuZGlmICgpCiAKLWlmIChXVEZfQ1BVX1g4Nl82NCkKLSAgICBzZXQo
RU5BQkxFX0ZUTF9ERUZBVUxUIE9OKQotZWxzZSAoKQotICAgIHNldChFTkFCTEVfRlRMX0RFRkFV
TFQgT0ZGKQotZW5kaWYgKCkKLQogIyBQdWJsaWMgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgR1RL
KyBwb3J0LiBEbyBub3QgYWRkIGFueSBvcHRpb25zIGhlcmUgdW5sZXNzCiAjIHRoZXJlIGlzIGEg
c3Ryb25nIHJlYXNvbiB3ZSBzaG91bGQgc3VwcG9ydCBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhl
IG9wdGlvbiwKICMgYW5kIHRoZSBvcHRpb24gaXMgbm90IHJlbGV2YW50IHRvIGFueSBvdGhlciBX
ZWJLaXQgcG9ydHMuCkBAIC0xMzMsNyArMTI3LDYgQEAgZW5kaWYgKCkKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgUFVCTElDIE9G
RikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DUkVERU5USUFMX1NU
T1JBR0UgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0RSQUdfU1VQUE9SVCBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfRlRMX0pJVCBQVUJMSUMgJHtFTkFCTEVfRlRMX0RFRkFVTFR9KQogV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dFT0xPQ0FUSU9OIFBVQkxJQyBPTikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JQ09OREFUQUJBU0UgUFVCTElD
IE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0pJVCBQVUJMSUMg
T04pCkBAIC0xNTMsNiArMTQ2LDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0NTU19JTUFHRV9TRVQgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9DU1NfUkVHSU9OUyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0IFBSSVZBVEUgT04p
CiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfREFUQUJBU0VfUFJPQ0VT
UyBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZU
TF9KSVQgUFJJVkFURSAke1dURl9DUFVfWDg2XzY0fSkKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgUFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfRlVMTFNDUkVFTl9BUEkgUFJJVkFURSBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIFBSSVZBVEUg
T04pCkBAIC0yMzQsMTEgKzIyOCwxMSBAQCBpZiAoRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRSkK
ICAgICBlbmRpZiAoKQogZW5kaWYgKCkKIAotaWYgKEVOQUJMRV9GVExfSklUKQoraWYgKFVTRV9M
TFZNX0RJU0FTU0VNQkxFUikKICAgICBpZiAoV1RGX0NQVV9YODZfNjQpCiAgICAgICAgIGZpbmRf
cGFja2FnZShMTFZNIDMuNykKICAgICAgICAgaWYgKE5PVCBMTFZNX0ZPVU5EKQotICAgICAgICAg
ICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiTExWTSAzLjcgaXMgcmVxdWlyZWQgZm9yIEVOQUJMRV9G
VExfSklUIikKKyAgICAgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkxMVk0gMy43IGlzIHJl
cXVpcmVkIGZvciBVU0VfTExWTV9ESVNBU1NFTUJMRVIiKQogICAgICAgICBlbmRpZiAoKQogICAg
ICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX0xMVk0gVFJVRSkKICAgICBlbHNlICgp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>